AAAI 2025论文分享┆一种接近全监督的无训练文档信息抽取方法:SAIL(文中附代码链接)

本推文详细介绍了一篇上海交通大学乐心怡老师课题组被人工智能顶级会议AAAI 2025录用的的最新论文《SAIL: Sample-Centric In-Context Learning for Document Information Extraction》。论文的第一作者为张金钰。该论文提出了一种无需训练的、以样本为中心的、基于上下文学习的文档信息抽取方法 (SAmple-Centric In-Context Learning for Document Information Extraction,简称SAIL)。该方法为每个测试样本定制个性化提示词,同时引入布局相似性和实体级文本相似性来增加搜索多样化。SAIL的性能优于之前的无训练方法,并且性能接近全监督学习的方法。更为重要的是,SAIL具有良好的泛化性。

本推文由张金钰撰写,审核为乐心怡老师。

原文链接https://arxiv.org/abs/2412.17092

代码链接https://github.com/sky-goldfish/SAIL

1. 会议介绍

第39届AAAI (Annual AAAI Conference on Artificial Intelligence)将于2025年2月25日至3月4日在美国费城隆重举行。AAAI会议起始于 1980 年,是人工智能领域久负盛名且极具影响力的国际顶级学术会议之一,由美国人工智能协会主办。该会议全面覆盖机器学习、自然语言处理、计算机视觉、机器人技术、多智能体系统、知识表示与推理等多项人工智能核心研究领域。AAAI是人工智能领域的顶级会议之一,也是中国计算机学会(CCF)A类会议。

原文链接:https://arxiv.org/abs/2412.17092

代码链接:https://github.com/sky-goldfish/SAIL

2. 研究背景及主要贡献

(1)什么是文档信息抽取?

文档信息抽取旨在从文档中(如收据、表格、发票等)中提取结构化信息。如图1,对一个小票文档,通常需要识别出小票号、各类商品单价、各类商品数量、各类商品价格、总价等信息。

图1 文档信息取任务

解决文档信息抽取的传统方法往往基于全训练学习(如 LayoutLMv3 等)。这些方法在训练数据上表现良好,但在处理未见过的数据时泛化能力有限。因此,研发无需训练的文档信息抽取方法,且使其具备良好的泛化能力,这非常关键。一种可行的思路是利用强大的预训练模型(如大语言模型 LLMs),仅需少量示例即可泛化到不同类型的文档。

(2)挑战与困难

无训练的文档信息抽取方法主要面临两个挑战:

(1)文档内容十分复杂,需要很好地理解文本与布局之间的关系。但是,仅通过少量的示例建立文本与布局之间的关系并提取隐含布局信息非常困难。

(2)预训练模型需要合适的提示词才能发挥最佳性能。之前工作的提示词是针对特定预训练模型特殊设计的,导致在不同模型间转换时性能会显著下降。

(3)本文的解决办法

本文提出了一种以样本为中心的基于上下文学习的文档信息抽取方法SAIL。其贡献可以概括为:

(1)提出了一种以样本为中心的提示词方法,针对每一个测试样本,都会搜索最合适的示例作为上下文学习的提示词。

(2)在搜索最合适的示例时,引入布局相似性(下图中的layout similarity)和实体级文本相似性(下图中的entity-level text similarity),从不同角度对视觉丰富的文档进行全面深入分析,有助于提升大语言模型对文档的理解能力。

(3)构造了规范统一的提示词模板,可以在不同的大语言模型之间实现较好的迁移。


图2 SAIL中使用的三种示例及和GPT-4o结果的对比

3. 方法

图3 SAIL的整体架构

SAIL的整体架构如图3所示。主要包括五个步骤:

(1)通过光学字符识别处理测试文档和训练文档,提取文本和边框(box)信息。

(2)将文本转换为不同类型的嵌入表示,用于选择文档级文本相似性示例、实体级文本相似示例和布局相似示例。

(3)选择示例。

(4)将示例代入提示词模板。

(5)大语言模型根据提示词进行推理,生成预测标签。

其中,选择示例的三种方法如下:

(1)文档级文本相似示例:通过文本语义搜索,使用Sentence - BERT编码文档文本,计算余弦相似度来选择与测试样本最相似的训练文档示例。

(2)实体级文本相似示例:过滤掉仅含数字的文本后,用Sentence - BERT编码实体文本,计算余弦相似度,为每个测试实体选择最相似的实体示例。

(3)布局相似示例:将边框信息绘制在空白图像上,裁剪并调整布局图像大小,通过计算均方误差(MSE)损失来选择布局相似的文档,如图4所示。

图4 布局相似性评估方法

4. 实验

1)实施细节

论文使用开源ChatGLM3(ChatGLM3-6b-32k),闭源GPT-3.5(GPT-3.5-turbo)和GPT-4(GPT-4o)三个大语言模型在FUNSD、CORD、SROIE数据集上评估。采用实体级F1分数、精确率和召回率作为评估指标。

2)实验结果

实验的结果如表1所示。与Baseline的对比,SAIL体现出了更好的性能,具体体现在:

1)首先,SAIL在所有数据集上使用不同大语言模型的表现都稳定优于其他training-free的方法。

2)其次,得益于本文构造的规范统一的提示词模板,SAIL对各种大语言模型具有更好的鲁棒性和适应性。

3)最后,作为training-free的方法,SAIL甚至超越了很多全监督学习的方法。

表1 SAIL与Baseline的对比

在与多模态大语言模型对比方面,本文将SAIL与LLaVA-1.5和GPT-4o进行了对比,实验结果见表2。可以发现,开源的LLaVA的文档信息抽取能力比较有限。其次,闭源的GPT-4o明显优于LLaVA,但与SAIL相比仍然存在很大的不足。

表2 SAIL与多模态LLM的对比

(3)消融实验

表3对比了对所有测试样例都采用固定的examples(Fixed)、对不同的测试样例采用不同的examples(Adaptive)。结果表明,以样本为中心的examples显著超越了固定的examples。

表3 以样本为中心的Adaptive examples显著超越了Fixed examples

表4证明了我们在选择示例时,所采用的三种相似度(结构相似度、文档级别文本相似度、实体级别文本相似度)的有效性。

表4 不同相似度的examples的有效性

5. 总结与展望

论文提出了一种以样本为中心的基于上下文学习的文档信息抽取方法SAIL,用于training-free文档信息抽取任务。SAIL 利用布局相似性和实体级文本相似性与统一的提示词模板相结合,为每个测试样本构建定制化的提示词,使用不同LLM在三个数据集上均展现了优于基线的表现。

6. 更多信息

乐心怡老师本科就读于清华大学,博士毕业于香港中文大学,目前为上海交通大学自动化系副教授,主要研究基于大模型的工业感知方法及系统,个人主页为:https://automation.sjtu.edu.cn/LXY

乐老师课题组计算资源充足,研究方向前沿。目前课题组紧急招收大模型和智能体方向科研实习生。前期工作已中稿NeurIPS 2024希望进一步深化投稿期刊T-PAMIIJCV。具体工作包括协助实现LLM Agent针对复杂任务的评测,包括LLM Agent应用需求调研、数据合成方法设计和主流LLM、VLM、Agent框架评测等。

对于具备如下条件的本科生,也非常欢迎加入:

1.计算机、AI、自动化、软件工程、信息工程等理工科背景本科生;
2.学有余力,能够投入较多时间(请在邮件中注明一周可以投入的时间);
3.熟练掌握python, pytorch等编程语言和编程框架,熟悉基本的软件工程编程规范,能阅读英文论文。
联系方式及方法
请发送邮件至lene90525@gmail.com或lexinyi@sjtu.edu.cn,主题:科研实习_学校+年级+姓名,附上个人简历(学业情况、项目经历、科研经历等)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/498641.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于JSP的健身俱乐部会员管理系统的设计与实现【源码+文档+部署讲解】

基于JSP的健身俱乐部会员管理系统的设计与实现 摘 要 目前我国虽然己经开发出了应用计算机操作的健身俱乐部管理系统,但管理软件,管理方法和管理思想三者往往相脱节。造成我国健身俱乐部信息管理系统极端化的缺陷。在国外健身俱乐部已经有了一整套涉猎了…

2024 年度总结

时光荏苒,2024 年即将画上句号,回顾这一年的写博历程,有付出、有收获、有成长,也有诸多值得回味与反思的瞬间。 一、内容创作 主题涉猎:这一年,我致力于探索多样化的主题,以满足不同读者群体的…

SonarQube相关的maven配置及使用

一、maven 全局配置 <settings><pluginGroups><pluginGroup>org.sonarsource.scanner.maven</pluginGroup></pluginGroups><profiles><profile><id>sonar</id><activation><activeByDefault>true</acti…

Python用K-Means均值聚类、LRFMC模型对航空公司客户数据价值可视化分析指标应用|数据分享...

全文链接&#xff1a;https://tecdat.cn/?p38708 分析师&#xff1a;Yuling Fang 信息时代的来临使得企业营销焦点从产品中心转向客户中心&#xff0c;客户关系管理成为企业的核心问题&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。 客户关系管理的关键是客…

委外加工业务如何调整原材料的消耗-MIGO A11-后续调整

业务背景&#xff1a;用户反馈委外加工业务回收后&#xff0c;产品已经销售&#xff0c;但委外加工结算时要对原材料消耗时行调整。如果没有销售&#xff0c;准备采用收货冲销后重新收货&#xff0c;但现在已经是2024年最后一天了。。。销售业务已经做完。不可能再冲销。其实这…

工作中常用Vim的命令

Hi, 我是你们的老朋友&#xff0c;主要专注于嵌入式软件开发&#xff0c;有兴趣不要忘记点击关注【码思途远】 目录 0. ctags -R 1.认识 Vim的几种工作模式 2.高频使用命令 2.1 修改文件 2.2 关于行号 2.3 删除多行&#xff0c;删除部分 2.4 复制粘贴 2.5 光标移动 2.…

2、redis的持久化

redis的持久化 在redist当中&#xff0c;高可用的技术包括持久化&#xff0c;主从复制&#xff0c;哨兵模式&#xff0c;集群。 持久化是最简单的高可用的方法&#xff0c;作用就是备份数据。即将数据保存到硬盘&#xff0c;防止进程退出导致数据丢失。 redis持久化方式&…

QT----------常用界面组件的使用

一、QComboBox 类 主要功能&#xff1a;提供一个下拉列表&#xff0c;用户可以从中选择一个或多个选项。 #include <QApplication> #include <QComboBox> #include <QVBoxLayout> #include <QWidget> #include <QMessageBox>int main(int argc…

【GridView渐进全解】第四部分GridView分页进阶

目录 一、启用分页 二、修改GridView分页模板 1.进入控件模板修改视图&#xff1a; 2.进入页码模板&#xff08;PagerTemplate&#xff09;视图 3.添加导航按钮控件 4.修改导航控件属性 三、输入页号跳转 1.进入页码模板视图 2.添加文本框及按钮控件 3.编写代码 【接…

单词统计详解---pyhton

有一个.txt的文本文件&#xff0c;对齐单词进行统计&#xff0c;并显示单词重复做多的10个单词 思路&#xff1a; 1将文本文件进行逐行处理&#xff0c;并进行空格分割处理 2新建一个字典&#xff0c;使用get方法将单词一次添加到字典中&#xff0c;并用sorted方法进行排序。…

大数据技术(六)—— Hbase集群安装

目录 一、Hbase安装 1、准备工作 1.1、安装rsync 1.2、编辑脚本 1.3、测试 2、安装Hadoop 3、安装zookeeper 3.1、下载最新稳定版 3.2、安装配置ZK 4、安装Hbase 4.1、解压文件 4.2、hbase-env.sh 4.3、backup-masters 4.4、配置hbase-site.xml 4.5、regionserv…

K8s集群平滑升级(Smooth Upgrade of K8S Cluster)

简介&#xff1a; Kubernetes ‌ &#xff08;简称K8s&#xff09;是一个开源的容器编排和管理平台&#xff0c;由Google开发并维护。它最初是为了解决谷歌内部大规模容器管理的问题而设计的&#xff0c;后来在2014年开源&#xff0c;成为云原生技术的核心组成部分。‌‌1 K8…

结合长短期记忆网络(LSTM)和无迹卡尔曼滤波器(UKF)的技术在机器人导航和状态估计中的应用前景

结合长短期记忆网络(LSTM)和无迹卡尔曼滤波器(UKF)的技术在机器人导航和状态估计中具有广泛的应用前景。如有滤波、导航方面的代码定制需求,可通过文末卡片联系作者获得帮助 文章目录 结合LSTM和UKF的背景结合LSTM和UKF的优势应用实例研究现状MATLAB代码示例结论结合LSTM和…

Spring源码下载与测试

引言 下载了Spring源码想阅读阅读&#xff0c;发现用的是Gradle&#xff0c;原来实习的时候公司用的也是Gradle&#xff0c;但不怎么会用&#xff0c;感觉相比于Maven&#xff0c;Gradle更适合非常大型的项目&#xff0c;因为他的jar包下载的是真快 下载 由于Spring6开始就强…

【HarmonyOS之旅】ArkTS语法(三) -> 渲染控制

目录 1 -> 条件渲染 2 -> 循环渲染 3 -> 数据懒加载 3.1 -> IDataSource类型说明 3.2 -> DataChangeListener类型说明 ArkTS也提供了渲染控制的能力。条件渲染可根据应用的不同状态&#xff0c;渲染对应状态下的UI内容。循环渲染可从数据源中迭代获取数据&…

再见2024,你好2025

再见2024&#xff0c;你好2025 1月2月3月4月5~10月11~12月一些收获读书跑步工作 为了让这篇博客不那么平淡&#xff0c;一句话可以总结为&#xff1a;平平无奇的琐碎&#xff0c;没有亮点成果。 也可以数字化概述&#xff1a;涨了1万粉&#xff0c;赚了10万&#xff0c;跑步300…

阴阳师の新手如何速刷5个SP/SSR?!(急速育成)

目标&#xff1a;攒5个SP/SSR式神&#xff0c;参与急速育成&#xff0c;省四个黑蛋&#xff08;想要快速升级技能而且经常上场的式神在攒够5个式神前先不升级&#xff09;【理论上组成&#xff1a;10蓝40蓝预约召唤福利20修行or抽卡】 关键点&#xff1a;蓝票&#xff0c;新手…

Kerberos用户认证-数据安全-简单了解-230403

hadoop安全模式官方文档&#xff1a;https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SecureMode.html kerberos是什么 kerberos是计算机网络认证协议&#xff0c;用来在非安全网络中&#xff0c;对个人通信以安全的手段进行身份认证。 概念&#…

第 29 章 - ES 源码篇 - 网络 IO 模型及其实现概述

前言 本文介绍了 ES 使用的网络模型&#xff0c;并介绍 transport&#xff0c;http 接收、响应请求的代码入口。 网络 IO 模型 Node 在初始化的时候&#xff0c;会创建网络模块。网络模块会加载 Netty4Plugin plugin。 而后由 Netty4Plugin 创建对应的 transports&#xff0…

SQL 基础教程 - SQL SELECT 语句

SQL SELECT DISTINCT 语句 SELECT DISTINCT 语句用于返回唯一不同的值。 在表中&#xff0c;一个列可能会包含多个重复值&#xff0c;有时您也许希望仅仅列出不同&#xff08;distinct&#xff09;的值。 DISTINCT 关键词用于返回唯一不同的值。 SQL SELECT DISTINCT 语法 …