【文档智能】:GeoLayoutLM:一种用于视觉信息提取(VIE)的预训练模型

news2024/11/25 20:15:18

前言

文章介绍了一种用于视觉信息提取(VIE)的预训练模型:GeoLayoutLM。GeoLayoutLM通过显式建模几何关系和特殊的预训练任务来提高文本和布局的特征表示。该模型能够提高文档信息抽取的性能。

一、提出背景

当前多模态预训练模型在 SER 任务中已取得较好结果,但在 RE 任务中表现仍有待提高。
在这里插入图片描述

LayoutLMv3并没有充分利用有用的几何关系信息:

(a) LayoutLMv3 倾向于链接两个实体,它们更依赖于它们的语义,而不是几何布局;

(b) LayoutLMv3 成功地预测了上半部分的链接,但忽略了下面的链接,尽管这两个链接在几何布局上是相似的。

这两个例子说明了几何信息在关系提取(RE)中的重要性。

在这里插入图片描述

LayoutLMv3通过引入简单的几何限制(在FUNSD数据集上)来提高RE性能:

在这里插入图片描述

二、主要贡献

  1. 显式建模几何关系:GeoLayoutLM通过显式建模文本和布局之间的几何关系来解决现有预训练模型在处理文档时存在的局限性。这种显式建模可以更好地捕捉文本和布局之间的关联,从而提高文档智能的性能。

  2. 特殊的预训练任务:GeoLayoutLM采用了三个特殊的几何相关预训练任务来实现几何预训练,并设计了新的关系头来丰富和增强特征表示。这些预训练任务和关系头有助于GeoLayoutLM更好地处理文档中的几何信息,并提高文本和布局的特征表示。

  3. 端到端的模型架构:GeoLayoutLM的模型架构包括一个独立的视觉模块、一个文本布局模块和交互式的视觉和文本协同注意力层,这些都有助于提高文本和布局的特征表示。GeoLayoutLM的端到端模型架构可以更好地处理文档中的多模态信息,并提高文档智能的性能。

  4. 竞争性能表现:GeoLayoutLM在多个标准的VIE基准测试中取得了高竞争性的性能表现,证明了其在文档智能领域的实用性和有效性。

在这里插入图片描述

三、模型结构

GeoLayoutLM是一个多模态的框架,用于视觉信息提取(VIE)。该结构受双流结构的启发,它的模型结构由三个主要部分组成:独立的视觉模块、文本布局模块和交互式的视觉和文本共同关注层:

  1. 视觉模块:视觉模块用于提取文档图像中的视觉特征。GeoLayoutLM使用ConvNeXt和multi-scale FPN作为视觉模块的主干网络,以提取不同尺度的特征。ConvNeXt是一种卷积神经网络结构,它在多个维度上进行卷积操作,可以提高模型的表达能力。multi-scale FPN是一种特征金字塔网络,可以在不同尺度上提取特征,以适应不同大小的文本。
  2. 文本布局模块:文本布局模块用于提取文档图像中的文本布局信息。GeoLayoutLM使用BROS作为文本布局模块,它是一种基于区域的文本检测和识别方法。BROS可以检测文本区域,并将其分配到相应的文本行和段落中。
  3. 交互式的视觉和文本协同注意力层:交互式的视觉和文本协同注意力层用于将视觉文本信息融合起来,以提高模型的性能。GeoLayoutLM使用transformer解码器层作为协同注意力层,它可以对视觉和文本信息进行交互式的编码和解码,以提取它们之间的关系。

在这里插入图片描述

四、预训练任务

4.1 掩蔽视觉语言模型(MVLM)

为了得到多模态的上下文表示,引入MVLM预训练,可以参考:《LayoutLM: Pre-training of Text and Layout for Document Image Understanding》,损失函数定义为: L M V L M {L}_{MVLM} LMVLM

4.2 自监督几何预训练任务

为了更好地用几何信息表示文档布局,引入了三种几何关系:

GeoPair:两个文本段之间的关系

GeoMPair:多个文本段对之间的关系

GeoTriplet:三个文本段之间的关系

在这里插入图片描述

并且围绕这三种关系设计了三种预训练任务。

a.Direction and Distance Modeling(DDM)

在这里插入图片描述

DDM旨在帮助模型理解文档中两个文本片段之间的相对位置关系。 DDM包含两个子任务:方向建模和距离建模。方向建模是一个9个方向的分类问题,模型预测两个文本片段之间的方向概率。这9个方向包括8个相邻方向1个重叠方向。方向建模使用softmax函数应用于一个线性层,该线性层连接两个文本片段的特征。
P i j d i r e c t = S o f t m a x ( L i n e a r ( [ B i , B j ] ) ) P_{ij}^{direct} = \mathrm{Softmax}(\mathrm{Linear}([B_i, B_j])) Pijdirect=Softmax(Linear([Bi,Bj]))
距离建模是一个二分类问题,用于确定第j个文本片段是否在它们的方向上最接近第i个文本片段。两个片段之间的距离定义为它们的边界框之间的最小距离。距离建模使用sigmoid函数应用于一个双线性层,该双线性层以两个文本片段的特征作为输入。
P i j d i s t = S i g m o i d ( B i l i n e a r ( B i , B j ) ) P_{ij}^{dist} = \mathrm{Sigmoid}(\mathrm{Bilinear}(B_i, B_j)) Pijdist=Sigmoid(Bilinear(Bi,Bj))
损失函数:
L D D M = C r o s s E n t r o p y ( P d i r e c t , Y d i r e c t ) + B C E L o s s ( P d i s t , Y d i s t ) \mathcal{L}_{DDM} = \mathrm{CrossEntropy}(P^{direct},Y^{direct})+ \mathrm{BCELoss}(P^{dist},Y^{dist}) LDDM=CrossEntropy(Pdirect,Ydirect)+BCELoss(Pdist,Ydist)
小结:通过在DDM上进行预训练,GeoLayoutLM学习了建模文本片段之间的几何关系。

b.Detection of Direction Exceptions(DDE)

在这里插入图片描述

DDE用于GeoMPair(多个文本片段对)的几何预训练。该任务旨在帮助模型捕捉文本片段对之间的常见方向模式,增强对文本片段对的特征表示,并发现那些不符合常规方向模式的片段对。DDE任务包括两个子任务:方向建模异常检测。方向建模与DDM任务类似,是一个9个方向的分类问题,模型预测两个文本片段之间的方向概率。异常检测是一个二分类问题,用于确定文本片段对是否符合常规方向模式。如果文本片段对不符合常规方向模式,则被视为异常。异常检测使用sigmoid函数应用于一个双线性层,该双线性层以两个文本片段的特征作为输入。损失函数:
P D D E = R F E ( S p , S ) P^{DDE} = \mathrm{RFE}(S_p,S) PDDE=RFE(Sp,S)

L D D E = B C E L o s s ( P D D E , Y D D E ) \mathcal{L}_{DDE} = \mathrm{BCELoss}(P^{DDE}, Y^{DDE}) LDDE=BCELoss(PDDE,YDDE)

在一个特定的文档区域内的关系通常具有一些共同的几何属性。根据红色键值对的方向,很容易判断绿色的链接方向错误。给定一个超过60%的正集,以及一个样本集,将样本集中的正确对标记为1,而其他方向的对标记为0。

小结:通过在DDE上进行预训练,GeoLayoutLM学习了建模文本片段对之间的几何关系,特别是它们之间的方向关系。

c.Collinearity Identification of Triplet(CIT)

在这里插入图片描述

CIT用于GeoTriplet(三个文本片段对)的几何预训练。该任务旨在帮助模型识别三个文本片段是否共线,即它们是否在同一条直线上。CIT任务包括两个子任务:三元组特征表示共线性识别。三元组特征表示是将三个文本片段的特征相加得到的,因为共线属性是无向的。共线性识别是一个5分类问题,用于确定三个文本片段是否共线。共线性识别使用softmax函数应用于一个线性层,该线性层连接三个文本片段的特征。
P i j k C I T = S o f t m a x ( L i n e a r ( B i + B j + B k ) ) P^{CIT}_{ijk} = \mathrm{Softmax}(\mathrm{Linear}(B_i+B_j+B_k)) PijkCIT=Softmax(Linear(Bi+Bj+Bk))

L C I T = C r o s s E n t r o p y ( P C I T , Y C I T ) \mathcal{L}_{CIT} = \mathrm{CrossEntropy}(P^{CIT}, Y^{CIT}) LCIT=CrossEntropy(PCIT,YCIT)

给定三个文本段 B i B_i Bi B j B_j Bj B k B_k Bk,如果 B i B_i Bi B j B_j Bj B j B_j Bj B k B_k Bk B i B_i Bi B k B_k Bk的方向相同或反相,它们共线;否则不共线的。共线的情况可进一步分为四类:水平线、垂直线、正斜杠和反斜杠。

小结:通过在CIT上进行预训练,GeoLayoutLM学习了建模文本片段之间的几何关系,特别是它们之间的共线关系。

4.3 目标函数

所有预训练任务的总体损失为:
L p t = L M V L M + L D D M + L D D E + L C I T \mathcal{L}_{pt} = \mathcal{L}_{MVLM} + \mathcal{L}_{DDM} + \mathcal{L}_{DDE} + \mathcal{L}_{CIT} Lpt=LMVLM+LDDM+LDDE+LCIT

总结

该文章提出GeoLayoutLM,一个用于VIE的几何预训练框架。定义了三种不同层次的几何关系:GeoPair、GeoMPair和GeoTriplet。相应地,引入了三个专门设计的预训练目标来明确地建模几何关系。相较于LayoutLMv3,在关系抽取上取得了非常好的性能,为文档智能的布局理解提供了新的思路。

参考文献

【1】paper:GeoLayoutLM: Geometric Pre-training for Visual Information Extraction

【2】code:https://github.com/AlibabaResearch/AdvancedLiterateMachinery/tree/main/DocumentUnderstanding/GeoLayoutLM

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

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

相关文章

c/c++中如何输入pi

标准的 C/C 语言中没有π这个符号及常量,一般在开发过程中是通过开发人员自己定义这个常量的,最常见的方式是使用宏定义: 方法1:#define pi 3.1415926 方法2:使用反三角函数const double pi acos(-1.0);

如何使用记事本制作一个简陋的小网页(2)——表格的建立

前情题要&#xff1a;http://t.csdnimg.cn/bK3H9 1.首先在之前的基础上建立一个新的标签页面。 2.使用<body></body>建立背景颜色 3.表格的填充和使用 如图所示&#xff0c;<table></table>是建立一个表格所需要使用的标签&#xff0c;可以使用width来…

Docker 容器跨主机通信 - Flannel

Author&#xff1a;rab 目录 前言一、架构及环境二、服务部署2.1 Etcd 部署2.2 Flannel 部署2.3 Docker 网络配置 三、容器通信验证及路由分析3.1 通信验证3.2 路由转发分析3.3 数据分发分析 总结 前言 今天是中秋佳节&#xff0c;首先在此祝大家“中秋快乐&#xff0c;阖家团…

java mongodb 并表 group 查询 Bson

对mongodb的使用中&#xff0c;需要将发生额表occr期初表open表&#xff0c;进行union的并表操作后&#xff0c;再进行group&#xff0c;sum&#xff0c;排序&#xff0c;分页操作。 查询了一番后&#xff0c;mongodb4.4版本后&#xff0c;新增了一个管道符&#xff0c;$union…

什么是 DNS 泛洪攻击(DNS 泛洪)

什么是 DNS 泛洪攻击&#xff08;DNS 泛洪&#xff09;&#xff1f; 域名系统 &#xff08;DNS&#xff09; 是用于在网站的机器可读地址&#xff08;例如 191.168.0.1&#xff1a;80&#xff09;和人类可读名称&#xff08;例如 radware.com&#xff09;之间进行解析的目录DN…

【HUAWEI】单臂路由

目录 ​ &#x1f96e;写在前面 &#x1f96e;2.1、拓扑图 &#x1f96e;2.2、操作思路 &#x1f96e;2.3、配置操作 &#x1f363;2.3.1、LSW4配置 &#x1f363;2.3.2、R2配置 &#x1f363;2.3.3、测试网络 &#x1f990;博客主页&#xff1a;大虾好吃吗的博客 &…

​面试官:谈谈 Go 泛型编程

大家好&#xff0c;我是木川 泛型编程是一种编程范式&#xff0c;它允许编写具有参数化类型的代码&#xff0c;从而增加代码的复用性和灵活性。在泛型编程中&#xff0c;你可以编写一段代码&#xff0c;使其适用于不同类型的参数&#xff0c;而不需要为每种类型编写不同的实现。…

js 时差计算 根据时间戳获取相差时间 几时几分几秒

上代码 // 如下&#xff1a;封装方法直接调用console.log("根据时间戳差值计算相差几小时几分几秒"); console.log("时间相差", timestampDifference(1695522383442 ,1695521518845)); 根据测试代码段 可以在浏览器控制台打印&#xff1a; 可以看到 &…

No148.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

No150.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

MacBook Pro 电池电量限制充电怎么设置AlDente Pro for Mac最大充电限制工具

通过充电电量限制工具可以更好的保护MacBook Pro的电池&#xff0c;通过 AlDente Pro 您可以设置电池的最大充电百分比设置为 20&#xff05; 至 100&#xff05;&#xff0c;然后&#xff0c;它将保持在所需的电池百分比&#xff0c;然后再次使用电源适配器进行充电。 AlDent…

led灯什么牌子的质量好?Led护眼台灯排行榜

现在我们很多家长对自己孩子的视力十分关心&#xff0c;生怕自己的孩子是近视、远视、弱视等等。对于父母而言&#xff0c;在孩子读书压力大课业重的关键时期&#xff0c;为孩子选择合适的桌椅&#xff0c;保护灯具从而保护孩子的眼睛是非常重要的事情!那么买给孩子读书做功课的…

如何改变讨好型人格,做回真正的自己

讨好型人格虽然说不上疾病那么严重&#xff0c;但是又切实的影响了正常的生活&#xff0c;阻碍了个人的事业发展&#xff0c;在人际关系方面也同样面临诸多不良影响。 根据我这段时间的阅读&#xff0c;尤其是知乎上关于讨好型人格的话题实在太多太多。那么如何才能摆脱讨好型…

Java实现使用多线程,实现复制文件到另一个目录,起不一样的名字,创建100万个数据

目录 1 需求2 实现 1 需求 我现在有一个300MB 的文件&#xff0c;想要根据这个文件&#xff0c;创建100万个大小一样的&#xff0c;名称不一样&#xff0c;如何实现&#xff0c;如何比较快点实现 2 实现 1 先准备好这个文件 2 准备好目录 3 写代码 private static void crea…

大数据分布式处理框架Hadoop

大数据是什么 大数据容量常以TB、PB、甚至EB为单位&#xff0c;远超传统数据库的承载能力&#xff0c;无论入库还是查询都出现性能瓶颈。 Hadoop是什么 Hadoop是开源的分布式计算技术框架&#xff0c;用于处理大规模数据和实现分布式存储。 Hadoop核心组件 HDFS&#xff08;…

PHP8的数据封装(数据隐藏)-PHP8知识详解

面向对象的特点之一就是封装性&#xff0c;也就是数据封装&#xff0c;也被称为数据隐藏。 php8通过限制访问权限来实现数据的封装性&#xff0c;这里用到了public、private、protected、static和final几个关键字。下面来介绍前3个。 1.、public&#xff08;公共成员&#xf…

JavaSE学习之--继承和多态

&#x1f495;"越是不思考的人&#xff0c;越不愿倾听别人说话。"&#x1f495; 作者&#xff1a;Mylvzi 文章主要内容&#xff1a;JavaSE学习之--继承和多态 目录 一.继承(inheritance) 1.为什么要有继承 2.继承的概念 3.继承的语法及代码实现 4.在子类中访…

【1++的Linux】之进程(四)

&#x1f44d;作者主页&#xff1a;进击的1 &#x1f929; 专栏链接&#xff1a;【1的Linux】 文章目录 一&#xff0c;进程创建二&#xff0c;进程等待三&#xff0c;进程终止 一&#xff0c;进程创建 在Linux中我们通过fork来创建一个新的进程。新创建的进程叫做子进程&…

No149.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

No147.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…