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.mzph.cn/web/64595.shtml

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

相关文章

小程序信息收集(小迪网络安全笔记~

免责声明:本文章仅用于交流学习,因文章内容而产生的任何违法&未授权行为,与文章作者无关!!! 附:完整笔记目录~ ps:本人小白,笔记均在个人理解基础上整理,…

药片缺陷检测数据集,8625张图片,使用YOLO,PASICAL VOC XML,COCO JSON格式标注,可识别药品是否有缺陷,是否完整

药片缺陷检测数据集,8625张图片,使用YOLO,PASICAL VOC XML,COCO JSON格式标注,可识别药品是否有缺陷,是否完整 有缺陷的标注信息: 无缺陷的标注信息 数据集下载: yolov11:https://d…

【Ubuntu使用技巧】Ubuntu22.04无人值守Crontab工具实战详解

一个愿意伫立在巨人肩膀上的农民...... Crontab是Linux和类Unix操作系统下的一个任务调度工具,用于周期性地执行指定的任务或命令。Crontab允许用户创建和管理计划任务,以便在特定的时间间隔或时间点自动运行命令或脚本。这些任务可以按照分钟、小时、日…

第十六届蓝桥杯模拟赛(第一期)(C语言)

判断质因数 如果一个数p是个质数,同时又是整数a的约数,则p称为a的一个质因数。 请问2024有多少个质因数。 了解 约数,又称因数。整数a整除整数b,b为a的因数(约数)质数,又称素数。只有1和它本身两…

electron在arm64架构交叉编译遇到libnotify/notify.h文件找不到错误记录

问题描述 在按照官方文档进行arm64下electron编译时出现下面的错误,编译环境为ubuntun22.04.5。 问题分析 由于当前目标架构是arm64,所以从上图可知sysroot为build/linux/debian_bullseye_arm64-sysroot,进入到该目录下查看libnotify的头文…

KAFKA入门:原理架构解析

文章目录 一、认识kafka二、架构介绍2.1 工作流程2.2 Kafka可靠性保证2.3 Kafka存储 一、认识kafka Kafka到底是个啥?用来干嘛的? 官方定义如下: Kafka is used for building real-time data pipelines and streaming apps. It is horizont…

论文分享 | PromptFuzz:用于模糊测试驱动程序生成的提示模糊测试

大语言模型拥有的强大能力可以用来辅助多种工作,但如何有效的辅助仍然需要人的精巧设计。分享一篇发表于2024年CCS会议的论文PromptFuzz,它利用模型提示生成模糊测试驱动代码,并将代码片段嵌入到LLVM框架中执行模糊测试。 论文摘要 制作高质…

利用Python爬虫获取1688商品详情的探索之旅

在当今数字化时代,数据已成为一种宝贵的资源。对于电商行业来说,获取商品信息尤为重要。阿里巴巴旗下的1688平台,作为中国领先的B2B电子商务平台,提供了海量的商品信息。本文将带你了解如何使用Python爬虫技术,合法合规…

macOS上怎么制作条形码

推荐使用Barcode Flow APP,目前支持iOS、macOS、iPadOS 大家可以在app store里面搜索 支持几乎所有条形码的格式 gs128、code128、DataMaxitr等等。 导出和打印都可以。 还支持工具规则自动生成。

位运算与操作符应用

一.二进制与进制转化 1.概念解析 我们常常能听见2进制,8进制,16进制这些讲法。他们都是数值的不同表达形式。根据不同的进制大小有着不同的权重比例。我们生活中常用的是10进制数,也就是逢10进1,由此推理至其他进制。例如2进制就…

html+css+js网页设计 美食 美食4个页面带js

htmlcssjs网页设计 美食 美食4个页面带js 网页作品代码简单,可使用任意HTML辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作)。 获取源码 1&#…

边沿检测电路漏检原因分析

边沿检测电路漏检原因分析 常用结构如下&#xff1a; module edge_detect1( input clk, input signal, output pe, //上升沿 output ne, //下降沿 output de //双边沿 );reg reg1;always(posedge clk) beginreg1 < signal; endassign pe (~reg1) & signal; assign…

嵌入式硬件杂谈(七)IGBT MOS管 三极管应用场景与区别

引言&#xff1a;在现代嵌入式硬件设计中&#xff0c;开关元件作为电路中的重要组成部分&#xff0c;起着至关重要的作用。三种主要的开关元件——IGBT&#xff08;绝缘栅双极型晶体管&#xff09;、MOSFET&#xff08;金属氧化物半导体场效应晶体管&#xff09;和三极管&#…

计算机网络•自顶向下方法:网络层介绍、路由器的组成

网络层介绍 网络层服务&#xff1a;网络层为传输层提供主机到主机的通信服务 每一台主机和路由器都运行网络层协议 发送终端&#xff1a;将传输层报文段封装到网络层分组中&#xff0c;发送给边缘路由器路由器&#xff1a;将分组从输入链路转发到输出链路接收终端&#xff1…

Qt监控系统放大招/历经十几年迭代完善/多屏幕辅屏预览/多层级设备树/网络登录和回放

一、前言说明 近期对视频监控系统做了比较大的更新升级&#xff0c;主要就是三点&#xff0c;第一点就是增加了辅屏预览&#xff0c;这个也是好多个客户需要的功能&#xff0c;海康的iVMS-4200客户端就有这个功能&#xff0c;方便在多个屏幕打开不同的视频进行查看&#xff0c…

网络原理(六): UDP 协议

目录 1. UDP 协议 1.1 协议特点 1.2 协议报文格式 1.2.1 UDP 长度 1.2.2 校验和 1. UDP 协议 在进行网络编程时, 我们已经对 UDP 协议进行了简单了解. 并且应用层的很多操作, 需要调用传输层的提供的接口, 基于 socket api 来进行完成的. 1.1 协议特点 UDP 协议具有以…

前端页面展示本电脑的摄像头,并使用js获取摄像头列表

可以通过 JavaScript 使用 navigator.mediaDevices.enumerateDevices() 获取电脑上的摄像头列表。以下是一个示例代码&#xff0c;可以展示摄像头列表并选择进行预览。 HTML JavaScript 实现摄像头列表展示和预览 <!DOCTYPE html> <html lang"zh-CN">…

【漫话机器学习系列】028.CP

Mallows’ Cp&#xff1a;标准化公式解析与应用 Mallows’ Cp 是一种常用的模型选择工具&#xff0c;用于在一系列候选模型中权衡拟合度和复杂性&#xff0c;帮助我们选择性能最优的模型。本文将基于其标准化公式展开详细解析&#xff0c;并探讨其应用场景、实现方法、优点与局…

Visual Studio 中增加的AI功能

前言&#xff1a; 人工智能的发展&#xff0c;在现在&#xff0c;编程技术的IDE里面也融合了AI的基本操做。本例&#xff0c;以微软的Visual Studio中的人工智能的功能介绍例子。 本例的环境&#xff1a; Visual Studio 17.12 1 AI 智能变量检测&#xff1a; 上图展示了一…

江科大学习笔记之——HAL库点亮一个LED灯

HAL三步走&#xff1a;1.建工程。2.设配置。3.写代码 一.建立工程 HAL库写法 点击FinIsh 2.配置时钟 2 、设置配置参数 把模块.C.h单独设置文件 生产代码 三写代码 控制GPIO就三步 1.RCC时钟使能 2.结构体配置GPIO寄存器 3.控制GPIO值 上面的步骤已经把前两步的配置完成了接下…