PICK: Processing Key Information Extraction from Documents using Improved Graph Learning-Convolutional Networks
研究问题定义
-
关键信息抽取 (Key Information Extraction, KIE)指的是是从文本或者图像中,抽取出关键的信息。针对文档图像的关键信息抽取任务作为OCR的下游任务,存在非常多的实际应用场景,如表单识别、车票信息抽取、身份证信息抽取等。然而,使用人力从这些文档图像中提取或者收集关键信息耗时费力,怎样自动化融合图像中的视觉、布局、文字等特征并完成关键信息抽取是一个价值与挑战并存的问题。
-
对于特定场景的文档图像,其中的关键信息位置、版式等较为固定,因此在研究早期有很多基于模板匹配的方法进行关键信息的抽取,考虑到其流程较为简单,该方法仍然被广泛应用在目前的很多场景中。但是这种基于模板匹配的方法在应用到不同的场景中时,需要耗费大量精力去调整与适配模板,迁移成本较高。
-
文档图像中的KIE一般包含2个子任务:
-
SER: 语义实体识别 (Semantic Entity Recognition),对每一个检测到的文本进行分类,如将其分为姓名,身份证。
-
RE: 关系抽取 (Relation Extraction),对每一个检测到的文本进行分类,如将其分为问题 (key) 和答案 (value) 。然后对每一个问题找到对应的答案,相当于完成key-value的匹配过程。如下图中的红色框和黑色框分别代表问题和答案,黄色线代表问题和答案之间的对应关系。
-
Abstract
- 具有最先进深度学习模型的计算机视觉最近在光学字符识别(OCR)领域(包括文本检测和识别任务)取得了巨大成功。然而,作为 OCR 下游任务的文档关键信息提取(KIE)仍然是一个挑战,在现实世界中拥有大量的使用场景,因为文档不仅具有 OCR 系统提取的文本特征,而且还具有语义视觉特征尚未得到充分利用并在 KIE 中发挥着关键作用。有效充分利用文档的文本和视觉特征的工作太少。在本文中,我们介绍了 PICK,这是一个通过将图学习与图卷积操作相结合来处理 KIE 复杂文档布局的有效且稳健的框架,产生更丰富的语义表示,包含文本和视觉特征以及没有歧义的全局布局。对现实世界数据集进行的广泛实验表明,我们的方法明显优于基线方法。我们的代码可以在 https://github.com/wenwenyu/PICK-pyorch 获取
- 本文通过将图学习与图卷积操作相结合,在处理关键信息提取的复杂文档布局方面有效且表现稳定,产生更丰富的语义表示,包含文本和视觉特征以及无歧义的全局布局。
- 一般的KIE方法基于命名实体识别(Named Entity Recognition,NER)来展开研究,但是此类方法仅使用了文本信息而忽略了位置与视觉特征信息,因此精度受限。近几年大多学者开始融合多个模态的输入信息,进行特征融合,并对多模态信息进行处理,从而提升KIE的精度。主要方法有以下几种
- 基于Grid的方法:此类方法主要关注图像层面多模态信息的融合,文本大多为字符粒度,对文本与结构结构信息的嵌入方式较为简单,如Chargrid等算法。
- 基于Token的方法:此类方法参考NLP中的BERT等方法,将位置、视觉等特征信息共同编码到多模态模型中,并且在大规模数据集上进行预训练,从而在下游任务中,仅需要少量的标注数据便可以获得很好的效果。如LayoutLM, LayoutLMv2, LayoutXLM, StrucText等算法。
- 基于End-to-end的方法:此类方法将现有的OCR文字识别以及KIE信息抽取2个任务放在一个统一的网络中进行共同学习,并在学习过程中相互加强。如Trie等算法。
INTRODUCTION
-
具有最先进深度学习模型的计算机视觉技术最近在 OCR 领域(包括文本检测和文本识别任务)取得了巨大成功。然而,与典型的 OCR 任务相比,作为 OCR 下游任务的文档 KIE 一直是一个很大程度上未被探索的领域,也是一项具有挑战性的任务 。 KIE 的目的是从给定文档中提取多个关键字段的文本,并将文本保存到结构化文档中。 KIE 对于高效归档、快速索引、文档分析等多种技术至关重要,在许多服务和应用程序中发挥着关键作用。
-
大多数 KIE 系统只是将提取任务视为序列标记问题,并通过命名实体识别(NER) 框架实现,将纯文本处理为线性序列,导致忽略大多数有价值的视觉和非序列信息(例如,文本) 、位置、布局和图像)的 KIE 文档。许多研究人员面临的主要挑战是如何充分有效地利用文档的文本和视觉特征来获得更丰富的语义表示,这对于在许多情况下提取没有歧义的关键信息以及方法的可扩展性至关重要。例如,参见下图 ©,其中布局和视觉特征对于区分 TOTAL 的实体类型至关重要。图一显示了文档的不同布局和类型。
-
具有不同布局和类型的文档示例。
-
传统方法使用手工特征(例如正则表达式和模板匹配)来提取关键信息,如下图 (a) 所示。然而,该解决方案仅使用文本和位置信息来提取实体,需要大量特定于任务的知识和人为设计的规则,这并不能扩展到其他类型的文档。大多数现代方法将 KIE 视为序列标记问题并通过 NER 解决,如下图 (b) 所示。与典型的 NER 任务相比,区分机器的无歧义实体和复杂文档更具挑战性。主要原因之一是这样的框架仅对纯文本进行操作,而不是对企业视觉信息和文档的全局布局进行操作以获得更丰富的表示。最近,一些关于 KIE 任务的研究试图充分利用复杂文档中未开发的特征。[LayoutLM: Pre-training of Text and Layout for Document Image Understanding] 受 BERT 的启发,提出了 LayoutLM 方法,使用文本和布局的预训练来理解文档图像。尽管该方法使用图像特征和位置来预训练模型,并且在文档图像理解的下游任务(例如 KIE)上表现良好,但它没有考虑两个文本片段之间的潜在关系。此外,该模型需要足够的数据并且耗时且低效地预训练模型。
-
典型的架构和我们的关键信息提取方法。(a)基于手工特征的方法。 (b)基于自动提取特征的方法。 ©使用更丰富的基于特征的方法。 (d) 我们提出的模型。
-
替代方法 [GraphIE: A graphbased framework for information extraction]、[Graph convolution for multimodal information extraction from visually rich documents] 通过使用图卷积运算预定义一个图来组合文本和视觉信息,如上图 © 所示。对视觉特征和非序列信息的相对重要性进行了争论,文档上的图神经网络建模在提取实体任务上带来了良好的性能。但是[GraphIE]需要先验知识和大量的人力来预定义特定于任务的边类型和图的相邻矩阵。然而,设计图的有效边类型和相邻矩阵是具有挑战性、主观性和耗时的,特别是当文档结构复杂时。 [Graph convolution for multimodal information extraction from visually rich documents]直接定义一个全连接图,然后使用自注意力机制在全连接节点上定义卷积。这种方法可能会忽略节点的噪声,导致聚集无用和冗余的节点信息。
-
在本文中,我们提出了PICK,这是一种如上图(d)所示的稳健有效的方法,使用改进的图学习卷积网络处理文档中的关键信息提取,通过自动充分利用文档中的文本和视觉特征来提高提取能力。 PICK将受[Semi-supervised learning with graph learning-convolutional networks]启发的图学习模块融入现有的图架构中,以学习软相邻矩阵,以有效且高效地细化图上下文结构,指示下游任务的节点之间的关系,而不是人为地预定义图的边类型。此外,PICK通过使用图卷积来充分利用文档的特征,包括文本、图像和位置特征,以获得更丰富的KIE表示。图卷积运算具有利用图学习模块生成的关系的强大能力,并在文档内的节点之间传播信息。学习到的更丰富的表示最终被用于解码器以协助字符级别的序列标记。PICK 将图模块与 KIE 任务的编码器-解码器框架相结合,如上图 (d) 所示。本文的主要贡献可概括如下:
-
在本文中,我们提出了一种新的 KIE 方法,该方法在处理复杂文档布局时更加有效和鲁棒。它充分有效地利用文档的特征(包括文本、位置、布局和图像)来获得更丰富的语义表示,这对于准确提取关键信息至关重要。
-
我们在模型中引入改进的图学习模块,它可以细化复杂文档上的图结构,而不是预先定义图的结构。
-
对现实世界数据集进行的广泛实验表明,我们的方法明显优于基线方法。
-
RELATED WORK
-
现有研究认识到充分利用文档的文本和视觉特征对于提高 KIE 性能所发挥的关键作用。然而,大多数方法通过各种特征提取器(例如单词和字符级别的循环神经网络(RNN)或卷积神经网络(CNN))来关注文本特征。虽然[Eaten]、[Chargrid]使用视觉图像特征来处理提取,但它只关注图像特征而没有考虑文本特征。 [LayoutLM]尝试同时使用文本和视觉特征来理解文档,通过文本和布局的预训练,在一些文档上获得了良好的性能,但没有考虑文档内文本之间的关系。此外,少数其他方法[Extracting relations within and across sentences]、[Field extraction from administrative documents by incremental structural templates]、[A fast and efficient method for extracting text paragraphs and graphics from unconstrained documents]充分利用特征来支持基于人为设计的特征或特定于任务的知识的提取任务,这些任务不可扩展到其他文档。
-
此外,最近使用文本和视觉特征来辅助提取的研究主要依赖于基于图的表示,因为图卷积网络(GCN)在非结构化数据任务中取得了巨大的成功。总体而言,GCN方法可以分为空间卷积和谱卷积方法。我们的框架用于获得更丰富表示的图卷积属于空间卷积类别,通常通过定义对邻居节点组的操作来直接定义图卷积操作。然而,通常基于图的谱表示来定义图卷积运算的谱方法,不利于动态图结构。 [N-ary relation extraction using graph state lstm]、[Crosssentence n-ary relation extraction with graph lstms]提出了 Graph LSTM,它可以在每个存储单元上实现不同数量的传入依赖关系。[Joint extraction of entities and relations based on a novel graph scheme]通过设计有向图模式联合提取实体和关系。 [Encoding sentences with graph convolutional networks for semantic role labeling] 提出了一个适合对句法依赖图进行建模的 GCN 版本,以对句子进行编码以进行语义角色标记。 [A lexicon-based graph neural network for chinese ner]提出了一种基于词典的具有全局语义的 GCN,以避免单词歧义。然而,他们的方法并未将视觉特征纳入模型中。
-
与我们的方法最相关的工作是[GraphIE: A graphbased framework for information extraction]、[Graph convolution for multimodal information extraction from visually rich documents],使用图模块捕获非局部和多模态特征进行提取,但在几个方面仍然与我们的不同。首先,[GraphIE]仅使用文本和位置特征,其中不使用图像,并且需要预定义特定于任务的边缘类型和图节点之间的连接性。尽管如此,我们的方法可以通过图学习模块自动学习节点之间的关系,利用它在没有任何先验知识的情况下有效地细化图的结构,以便通过图卷积聚合更多有用的信息。其次,[Graph convolution for multimodal information extraction from visually rich documents]也没有使用图像特征来提高无歧义提取任务的性能。同时,由于[Graph convolution for multimodal information extraction from visually rich documents]简单而粗略地将图视为完全连通,无论文档多么复杂,图卷积都会聚合节点之间的无用和冗余信息。然而,我们的方法将图学习纳入框架,可以过滤无用的节点,并且可以稳健地记录复杂的布局结构。
METHOD
-
在本节中,我们将详细描述我们提出的方法 PICK。整体架构如下图所示,包含3个模块:
-
PICK 概述。 V l V^l Vl 在第 l l l 个图卷积层中提供节点嵌入。 α l α^l αl 和 H l H^l Hl 分别表示第 l l l 个图卷积层中节点 v i v_i vi 和 v i v_i vi 之间的关系嵌入和隐藏特征。 A是软邻接矩阵。 N、T 和 D 模型分别表示句子片段的数量、句子的最大长度和模型的维度。 ⊕ 表示按元素相加。
-
编码器:该模块使用 Transformer 编码文本片段以获得文本嵌入,使用 CNN 编码图像片段以获得图像嵌入。文本片段和图像片段分别代表文本和形态信息。然后这两种类型的嵌入被组合成一个新的局部表示X,它将用作图形模块的节点输入。张量X为NTD_model,N是语句数目;T为单句的最大token数量;D_model是隐藏层深度。为确保两种embedding能够对应元素相加(即格式完全一致),作者使image embeddings中的W*H=T。
-
图模块:该模块可以捕获节点之间的潜在关系,并通过改进的图学习卷积运算获得更丰富的节点图嵌入表示。同时,包含文档布局上下文的边界框也被建模到图嵌入中,以便图模块可以获得非局部和非序列特征。图卷积网络用于获取文本的全图特征以及节点之间的关系。表示第l层图卷积网络中的node embedding;表示第l层node之间的relation embedding;表示第l层的隐藏特征;A是邻接矩阵(经过softmax)。 在图卷积的过程中,作者考虑了node之间的位置、box宽高比以及语句长度比。这样做的结果就是,模型对同一类型的特征更加敏感。如:医疗票据的价格一般不超过三个数字。
-
解码器:获得文档的图嵌入后,该模块分别使用 BiLSTM 和 CRF 在字符级别对联合非局部句子进行序列标记。这样,我们的模型通过考虑文档的布局信息和全局信息,将关键信息提取任务转化为序列标记问题。BiLstm+CRF,经典NER的方法。
-
为了便于理解,我们的完整模型分为几部分进行描述。首先,我们首先在第 III-A 节中介绍本文使用的符号。我们的编码器表示在第 III-B 节中描述,而建议的图模块机制在第 III-C 节中描述。最后,第 III-D 节展示了如何将图嵌入和文本嵌入结合起来输出结果。
A. Notation
-
给定一个具有 N 个句子/文本段的文档 D,其表示由 S = { s 1 , . . . , s N } S = \{s_1,..., s_N\} S={s1,...,sN},其中 si 是第 i 个句子/文本段的字符集。我们将 s i i s s^{is}_i siis 和 s i b b s^{bb}_i sibb 分别表示为图像片段和位置 i 处的边界框。对于每个句子 s i = ( c 1 ( i ) , . . . , c T ( i ) ) s_i = (c^{(i)}_1 , . . . , c^{(i)}_ T ) si=(c1(i),...,cT(i)),我们使用以下顺序将每个字符标记为 y i = ( y 1 ( i ) , . . . , y T ( i ) ) y_i = (y^{(i)}_1 , . . . , y^{(i)}_ T ) yi=(y1(i),...,yT(i)) ,使用IOB(Inside、Outside、Begin)标记方案,其中T是句子si的长度。
-
文档 D 的附属图用 G = (V, R, E) 表示,其中 V = { v 1 , . . . , v N } V = \{v_1,..., v_N \} V={v1,...,vN} 是 N 个节点的集合, R = { α i 1 , . . . , α i j } R = \{α_{i1}, . .., α_{ij}\} R={αi1,...,αij} , α i j α_{ij} αij 是两个节点之间的关系集合, E ⊂ V × R × V E ⊂ V × R × V E⊂V×R×V 是边集合,每条边 e i j = ( v i , α i j , v j ) ∈ E e_{ij} = (v_i, α_{ij}, v_j) \in E eij=(vi,αij,vj)∈E 表示从节点vi 至 vj存在关系 α i j ∈ R α_{ij} ∈ R αij∈R 。
B. Encoder
-
如上图所示,图中左上角位置是编码器模块,它包含两个分支。与现有的仅使用文本片段或边界框的关键信息工作不同,我们在本文中的关键贡献之一是我们还使用同时包含形态信息的图像片段来提高文档表示性能,这可以是用于帮助关键信息提取任务。
-
Encoder 的一个分支使用 Transformer 的编码器生成文本嵌入,以捕获本地文本上下文。给定一个句子 s i = ( c 1 ( i ) , . . . , c T ( i ) ) s_i = (c^{(i)}_1 , . . . , c^{(i)}_ T ) si=(c1(i),...,cT(i)),句子 si 的文本嵌入定义如下
- t e 1 : T ( i ) = T r a n s f o r m e r E n c o d e r ( c 1 : T ( i ) ; Θ t e n c ) te^{(i)}_{1:T} = TransformerEncoder (c^{(i)}_{1:T} ; Θ_{tenc} ) te1:T(i)=TransformerEncoder(c1:T(i);Θtenc)
-
其中 c 1 : T ( i ) = [ c 1 ( i ) , . . . , c T ( i ) ] T ∈ R T × d m o d e l c^{(i)}_{1:T} = [c^{(i)}_ 1 , . .. , c^{(i)}_ T ]^T ∈ \R^{T ×d_{model}} c1:T(i)=[c1(i),...,cT(i)]T∈RT×dmodel 表示输入序列,c(i) t ∈ Rdmodel 表示每个字符 c(i) t 的 token 嵌入(例如,Word2Vec),dmodel 是模型的维度, t e 1 : T ( i ) = [ t e 1 ( i ) , . . . , t e T ( i ) ] T ∈ R T × d m o d e l te^{(i)}_{1:T} = [te^{(i)}_ 1 , . .. , te^{(i)}_ T ]^T ∈ \R^{T ×d_{model}} te1:T(i)=[te1(i),...,teT(i)]T∈RT×dmodel 表示输出序列, te(i) t ∈ Rdmodel 表示 Transformer 对第 i 个字符 c(i) t 的编码器输出, θtenc 表示 Transformer 的编码器参数。每个句子独立编码,我们可以得到一个文档D文本嵌入,将其定义为
- T E = [ t e ( 1 ) 1 : T ; . . . ; t e ( N ) 1 : T ] ∈ R N × T × d m o d e l . TE = [te(1) 1:T ; . . . ; te(N) 1:T ] ∈ RN×T ×dmodel . TE=[te(1)1:T;...;te(N)1:T]∈RN×T×dmodel.
-
编码器的另一个分支使用 CNN 生成图像嵌入来捕获形态信息。给定图像片段 s i i s s^{is}_i siis ,图像嵌入定义如下
-
e ( i ) = C N N ( s i i s ; Θ c n n ) e^{(i)} = CNN (s_i^{is} ; Θ_{cnn} ) e(i)=CNN(siis;Θcnn)
-
其中 s i i s ∈ R H ‘ × W ‘ × 3 s_i^{is} ∈ \R^{H`×W `×3} siis∈RH‘×W‘×3 表示输入图像片段的向量, H ′ H' H′ 和 W ′ W' W′ 分别表示图像片段 s i i s s^{is}_i siis 的高度和宽度, i e ( i ) ∈ R H × W × d m o d e l ie^{(i)} ∈ \R^{H×W ×d_{model}} ie(i)∈RH×W×dmodel 表示第 i 个图像的 CNN 输出-第图像片段 sisi , θcnn 表示 CNN 参数。我们使用 ResNet 实现 CNN,并在 H × W = T 的条件下调整图像大小,然后单独编码每个图像片段,我们可以获得文档 D 图像嵌入,将其定义为
-
I E = [ i e ( 1 ) ; . . . ; i e ( N ) ] ∈ R N × T × d m o d e l IE = [ie^{(1)}; . . . ; ie^{(N)}] ∈ \R^{N×T ×d_{model}} IE=[ie(1);...;ie(N)]∈RN×T×dmodel
-
最后,我们通过逐元素加法操作将文本嵌入 TE 和图像嵌入 IE 结合起来进行特征融合,然后生成文档 D 的融合嵌入 X,可以表示为
-
X = T E + I E X=TE+IE X=TE+IE
-
其中 X ∈ R N × T × d m o d e l X ∈ \R^{N×T ×d_{model}} X∈RN×T×dmodel 表示图的一组节点,X 将用作 Graph Module 的输入 X’,然后进行池化操作, X ′ ∈ R N × d m o d e l X' ∈ \R^{N×d_{model}} X′∈RN×dmodel。
-
C. Graph Module
-
现有的关键信息工作使用图神经网络对全局布局上下文和非序列信息进行建模,需要先验知识来预先定义图的特定于任务的边类型和相邻矩阵。 [GRAPHIE] 将边缘定义为彼此靠近的水平或垂直连接的节点/文本段,并指定四种类型的相邻矩阵(从左到右、从右到左、从上到下和从下到上 )。但这种方法无法充分利用所有图节点并挖掘文档中相距较远的潜在连接节点。尽管[Graph convolution for multimodal information extraction from visually rich documents]使用了每个节点/文本段都连接的全连接图,但这种操作导致图聚集了无用和冗余的节点信息。
-
通过这种方式,我们将受[Semi-supervised learning with graph learning-convolutional networks]启发的改进的图学习卷积网络融入现有的图架构中,以学习软相邻矩阵 A 来为下游任务建模图上下文,如上图左下角所示。
-
图学习:给定输入 V = [ v 1 , . . . , v N ] T ∈ R N × d m o d e l V = [v_1, . .., v_N ]^T ∈ \R^{N×d_{model}} V=[v1,...,vN]T∈RN×dmodel 的图节点,其中 v i ∈ R d m o d e l v_i ∈ \R^{d_{model}} vi∈Rdmodel 是图的第 i 个节点,V 的初始值等于 X’,Graph Module 生成一个软邻接矩阵 A,表示之间的成对关系权重首先通过图学习操作两个节点,并使用多层感知(MLP)网络为每个节点 vi 提取特征 H,就像[Graph convolution for multimodal information extraction from visually rich documents]一样,在输入 V 和对应关系嵌入 α 上。然后我们对特征H进行图卷积运算,在节点之间传播信息并将这些信息聚合成新的特征表示V’。在数学上,我们使用单层神经网络学习软相邻矩阵 A,如下所示
-
其中 w i ∈ R d m o d e l w_i ∈ R^{d_{model}} wi∈Rdmodel 是可学习的权重向量。为了解决训练阶段梯度消失的问题,我们使用 LeakRelu 代替 Relu 激活函数。对A的每一行进行softmax(·)函数,可以保证学习到的软邻接矩阵A满足以下性质
-
∑ j = 1 N A i j = 1 , A i j ≥ 0 \sum^N_{j=1}A_{ij}=1,A_{ij}\geq0 j=1∑NAij=1,Aij≥0
-
我们使用基于[Semi-supervised learning with graph learning-convolutional networks]的修改损失函数来优化可学习权重向量wi如下
-
L G L = 1 N 2 ∑ i , j = 1 N e x p ( A i j + η ∣ ∣ v i − v j ∣ ∣ 2 2 ) + γ ∣ ∣ A ∣ ∣ F 2 L_{GL}=\frac1{N^2}\sum^N_{i,j=1}exp(A_{ij}+\eta||v_i-v_j||^2_2)+\gamma||A||^2_F LGL=N21i,j=1∑Nexp(Aij+η∣∣vi−vj∣∣22)+γ∣∣A∣∣F2
-
其中 ∣ ∣ ⋅ ∣ ∣ F ||·||_F ∣∣⋅∣∣F 代表 Frobenius-Norm。直观上,第一项意味着节点 vi 和 vj 在更高维度上相距较远,鼓励较小的权重值 Aij,而指数运算可以放大这种效果。类似地,在高维空间中彼此靠近的节点可以具有更强的连接权。这个过程可以防止图卷积聚合噪声节点的信息。 η 是控制图节点重要性的权衡参数。由于不同文档上的节点数量是动态的,我们还对损失进行了平均。第二项用于控制软邻接矩阵A的稀疏性。γ是一个权衡参数,γ越大,图的软邻接矩阵A越稀疏。我们使用 L G L L_{GL} LGL 作为最终损失函数中的正则项,如方程(17)所示,以防止平凡解决方案,即 wi = 0。
-
-
图卷积:图卷积网络(GCN)用于从图中捕获全局视觉信息和节点布局。我们使用的节点-边缘-节点三元组(vi,αij,vj)上执行图卷积,而不是单独在节点vi上执行图卷积。首先,给定输入 V 0 = X 0 ∈ R N × d m o d e l V^0 = X_0 ∈ \R^{N×d_{model}} V0=X0∈RN×dmodel 作为图的初始层输入,节点 vi 和 vj 之间的初始关系嵌入 α i j 0 α^0_{ij} αij0 公式如下
-
a i j 0 = W α 0 [ x i j , y i j , w i h i , h j h i , w j h i , T j T i ] T a^0_{ij}=W^0_\alpha[x_{ij},y_{ij},\frac{w_i}{h_i},\frac{h_j}{h_i}, \frac{w_j}{h_i},\frac{T_j}{T_i}]^T aij0=Wα0[xij,yij,hiwi,hihj,hiwj,TiTj]T
-
其中 W α 0 ∈ R d m o d e l × 6 W^0_α ∈ \R^{d_{model}×6} Wα0∈Rdmodel×6 是可学习的权重矩阵。 xij 和 yij 分别是节点 vi 和 vj 之间的水平和垂直距离。 wi, hi, wj, hj 分别是节点 vi 和 vj 之间的宽度和高度。 w i h i \frac{w_i}{h_i} hiwi 是节点 vi 的长宽比, $\frac{h_j}{h_i} $ 、 w j h i \frac{w_j}{h_i} hiwj 使用节点 vi 的高度进行归一化,具有仿射不变性。与[9]不同的是,我们还使用节点vi和vj之间的句子长度比$\frac{T_j}{T_i} $。直观上,句子的长度包含潜在的重要性信息。例如,在医疗发票中,年龄值实体通常不超过三位数,这对于提高关键信息提取性能起着至关重要的作用。此外,给定句子和图像的长度,模型可以推断出文本片段的粗略字体大小,这使得关系嵌入获得更丰富的表示。
-
-
然后,我们使用第 l 个卷积层中的节点-边缘-节点三元组 (vi, αij, vj) 数据从图中提取节点 vi 和 vj 之间的隐藏特征 hlij,计算公式为
-
h i j l = δ ( W v i h l V i l + W v j h l v j l + α i j l + b l ) h^l_{ij}=\delta(W^l_{v_ih}V_i^l+W^l_{v_jh}v_j^l+\alpha_{ij}^l+b^l) hijl=δ(WvihlVil+Wvjhlvjl+αijl+bl)
-
其中 W v i h l , W v j h l ∈ R d m o d e l × d m o d e l W^l_{v_ih},W^l_{v_jh} ∈ \R^{d_{model}×d_{model}} Wvihl,Wvjhl∈Rdmodel×dmodel 是第 l 个卷积层中的可学习权重矩阵, b l ∈ R d m o d e l b_l ∈ \R^{d_model} bl∈Rdmodel 是偏置参数。 σ(·) = max(0,·) 是非线性激活函数。隐藏特征 h i j l ∈ R d m o d e l h^l_{ij} ∈ \R^{d_{model}} hijl∈Rdmodel 表示视觉特征的总和以及节点 vi 和 vj 之间的关系嵌入,这对于为下游任务聚合更丰富的表示至关重要。
-
-
最后,节点嵌入 v i l + 1 v^{l+1}_ i vil+1 使用图卷积从隐藏特征 hlij 聚合信息来更新节点表示。由于图学习层可以获得最优的自适应图软邻接矩阵A,图卷积层可以通过进行逐层传播规则来获得特定于任务的节点嵌入。对于节点 vi,我们有
-
v i l + 1 = δ ( A i h i l W l ) v^{l+1}_i=\delta(A_ih_i^lW^l) vil+1=δ(AihilWl)
-
其中 W l ∈ R d m o d e l × d m o d e l W^l ∈ \R^{d_{model}×d_{model}} Wl∈Rdmodel×dmodel 是第 l 个卷积层中特定于层的可学习权重矩阵,v(l+1) i ∈ Rdmodel 为第 l + 1 个卷积层中的节点 vi 提供节点嵌入。经过L层后,我们可以得到一个上下文信息vLi,其中包含每个节点vi的全局布局信息和视觉信息。然后vLi被传播到解码器以进行标记任务。节点 vi 的第 l + 1 个卷积层中嵌入 $α^{l+1}_{ij} $ 的关系公式为
-
α i j l + 1 = δ ( W α l h i j l ) \alpha_{ij}^{l+1}=\delta(W^l_\alpha h^l_{ij}) αijl+1=δ(Wαlhijl)
-
其中 W l ∈ R d m o d e l × d m o d e l W^l ∈ \R^{d_{model}×d_{model}} Wl∈Rdmodel×dmodel 是第 l 个卷积层中特定于层的可训练权重矩阵。
-
Decoder
-
上图所示的解码器由Union层、BiLSTM层和CRF层组成,用于关键信息提取。联合层接收从编码器生成的具有可变长度T的输入 X ∈ R N × T × d m o d e l X ∈ \R^{N×T ×d_{model}} X∈RN×T×dmodel,然后打包填充的输入序列并在序列末尾填充填充值,产生打包序列 X ^ ∈ R ( N ⋅ T ) × d m o d e l \hat X ∈ \R^{(N·T )×d_{model}} X^∈R(N⋅T)×dmodel。当使用CRF进行序列标记时,打包序列 X ^ \hat X X^ 可以被视为联合非局部文档表示而不是局部文本段表示。此外,我们将图形模块输出的节点嵌入连接到每个时间戳的打包序列 X ^ \hat X X^ 。直观上,包含文档布局和上下文特征作为辅助信息的节点嵌入可以提高提取的性能而不会产生歧义。 BiLSTM 可以使用过去/左和未来/右上下文信息来形成最终输出。 BiLSTM 的输出由下式给出
-
Z = B i L S T M ( X ^ ; 0 , Θ l s t m ) W z Z = BiLSTM (\hat X ; 0, Θ_{lstm}) W_z Z=BiLSTM(X^;0,Θlstm)Wz
-
其中 Z = [ z 1 , . . . , z N ⋅ T ] N ⋅ T ∈ R ( N ⋅ T ) × d o u t p u t Z = [z_1, ..., z_{N·T} ]^{N·T} ∈ \R^{(N·T )×d_{output}} Z=[z1,...,zN⋅T]N⋅T∈R(N⋅T)×doutput 是 BiLSTM 的输出,表示排放矩阵的得分,doutput 是不同实体的数量,Zt,j 表示第 j 个实体的得分打包序列 ^X 中第 t 个字符 ct 的 0 表示初始隐藏状态且为零,θlstm 表示 BiLSTM 参数。 Wz ∈ Rdmodel×doutput 是可训练的权重矩阵。给定预测 y 的打包序列 ^X,其分数可以定义如下
-
s ( X ^ , y ) = ∑ i = 0 N ⋅ T T y i , y i + 1 + ∑ i = 1 N ⋅ T Z i , y i s(\hat X, y) = \sum ^{N·T}_{i=0} T_{y_i,y_{i+1}} + \sum^{N·T}_{i=1} Z_{i,y_i} s(X^,y)=i=0∑N⋅TTyi,yi+1+i=1∑N⋅TZi,yi
-
-
其中 T ∈ R ( N ⋅ T + 2 ) × ( N ⋅ T + 2 ) T ∈ \R^{(N·T +2)×(N·T +2)} T∈R(N⋅T+2)×(N⋅T+2) 是转移矩阵的分数, y = ( y 1 , . . . , y N ⋅ T ) y = (y_1, ..., y_{N·T} ) y=(y1,...,yN⋅T)。 y0和yN·T+1代表句子的“SOS”和“EOS”实体,分别表示序列的开始和序列的结束。 Ti,j 表示从实体 i 到实体 j 的转换分数。然后序列 CRF 层通过 softmax 为给定 ˆX 的序列 y 生成一系列条件概率,如下所示
-
p ( y ∣ X ^ ) = e s ( X ^ , y ) ∑ y ∈ Y ( X ^ ) e ( X ^ , y ) p(y|\hat X)=\frac{e^{s(\hat X,y)}}{\sum_{y\in Y(\hat X)}e^{(\hat X,y)} } p(y∣X^)=∑y∈Y(X^)e(X^,y)es(X^,y)
-
其中Y(X)是X的所有可能的实体序列。对于 CRF 训练,我们最小化正确实体序列的负对数似然估计,由下式给出
-
我们的整个网络的模型参数通过最小化以下损失函数来联合训练:
-
L t o t a l = L c r f + λ L G L L_{total}=L_{crf}+\lambda L_{GL} Ltotal=Lcrf+λLGL
-
其中 LGL 和 Lcrf 中定义在等式 8 和等式16 分别表示,λ 是一个权衡参数。CRF层的解码就是搜索条件概率最高的输出序列y*
-
y ∗ = a r g m a x p ( y ∣ X ^ ) , y ∈ Y ( X ^ ) y^*=argmaxp(y|\hat X),y\in Y(\hat X) y∗=argmaxp(y∣X^),y∈Y(X^)
-
训练(等式16)和解码(等式18)阶段是耗时的过程,但我们可以使用动态规划算法来提高速度。
-
EXPERIMENTS
-
医疗发票是我们收集的数据集,包含 2,630 张图像。它有医疗保险类型、中资总额、发票号码、社会保障号码、姓名、医院名称等六个关键文本字段。该数据集主要由数字、英文字符和汉字组成。匿名医疗发票的示例如上图(a)所示。医疗发票是可变布局数据集,具有难以辨认的文本和错误的打印字体。对于该数据集,分别使用 2,104 和 526 张图像进行训练和测试。
-
火车票包含中提出的2k真实图像和300k合成图像。每张火车票都有八个关键文本字段,包括车票号、出发车站、车次、目的地车站、日期、票价、座位类别和名称。该数据集主要由数字、英文字符和汉字组成。匿名火车票图像的示例如图(b)所示。火车票是固定布局的数据集,但是它包含背景噪声和图像失真。数据集不提供文本边界框 (bbox) 和每个文本 bbox 的转录本。因此,我们随机选择了 400 张真实图像和 1,530 张合成图像,然后人工注释 bbox 并使用 OCR 系统获取每个文本 bbox 的文字记录。对于带注释的数据集,我们选择的所有合成图像和 320 个真实图像用于训练,其余真实图像用于测试。
-
SROIE 包含 626 个训练收据和 347 个测试收据。每张收据都有四个关键文本字段,包括公司、地址、日期和总计。该数据集主要包含数字和英文字符。图(c)显示了一个示例收据,该数据集具有复杂结构的可变布局。 SROIE数据集提供文本bbox和每个文本bbox的转录本
Implementation Details
-
网络设置在编码器部分,文本片段特征提取器由 Transformer 的编码器模块实现,产生文本嵌入,图像片段特征提取器由 ResNet50 生成图像嵌入实现。我们论文中使用的 Transformer 的超参数与[Attention is all you need]产生的维度 dmodel = 512 的输出相同。然后通过逐元素加法操作将文本嵌入和图像嵌入组合起来进行特征融合,然后作为图的输入模块和解码器。模型的图模块由图学习和图卷积组成。在我们的实验中,图学习损失中的η、γ的默认值分别为1、0.4,图卷积层数L=1。解码器由BiLSTM和CRF层组成。在BiLSTM层中,隐藏层大小设置为512,循环层数为2。解码器中训练损失λ的权衡参数为0.01。
-
评估指标在医疗发票、火车票和SROIE场景中,在出现实体数量可变的情况下,定义为平均实体召回率(mER)、平均实体精度(mEP)和平均实体F-1(mEF)用于对 PICK 的性能进行基准测试。
-
标签生成:对于火车票数据集,我们对 bbox 进行注释,并为每个 bbox 标记预定义的实体类型,然后使用 OCR 系统生成与 bbox 对应的文本。当我们得到bbox以及相应的实体类型和bbox的转录本时,我们枚举bbox的所有转录本并将其转换为IOB格式,用于最小化CRF损失。对于SROIE数据集,由于它只提供了bbox和成绩单,所以我们为每个bbox标注了实体类型,那么剩下的操作就和火车票一样了。与火车票和 SROIE 数据集直接使用人工标注的实体类型生成 IOB 格式标签不同,我们采用[Graph convolution for multimodal information extraction from visually rich documents]中提供的启发式方法来获取医疗发票的标签,因为人工标注的 bbox 可能无法精确匹配 OCR 系统检测到的标签盒子在实际应用过程中。
-
实现 所提出的模型在 PyTorch 中实现,并在 8 个具有 128 GB 内存的 NVIDIA Tesla V100 GPU 上进行训练。我们的模型是使用 Adam 作为优化器从头开始训练的,以最小化 CRF 损失和图学习损失,并且训练阶段的批量大小为 16。整个训练阶段的学习率设置为 10−4。我们还在 BiLSTM 和 Transformer 的编码器上使用比率为 0.1 的 dropout。我们的模型训练了 30 个 epoch,每个 epoch 大约需要 35 分钟。在推理阶段,模型直接预测属于最可能的实体类型的每个文本片段,除了SROIE之外,没有任何后处理操作或约束规则来校正结果。对于提取 SROIE 的任务,我们使用根据训练数据构建的词典来自动更正结果。
-
基线方法为了验证我们提出的方法的性能,我们将带有 CRF 标记器的两层 BiLSTM 应用于基线方法。该架构在 KIE 的先前工作中已被广泛证明和证明是有效的。文档的所有文本段从左到右、从上到下连接,产生一维文本上下文作为执行提取任务的基线的输入。基线BiLSTM的超参数与PICK方法类似。
Experimental Results
-
我们在本节中报告我们的实验结果。在医疗发票场景中,从下表可以看出,比较了baseline和PICK的平均mEF分数,以验证PICK的性能。该表中的数字引人注目的是,PICK 在所有实体中均优于基线,并且总体 mEF 得分提高了 14.7%。进一步分析表明,数据中最引人注目的方面是发票编号 mEF 性能增幅最大。请注意,与其他文本段相比,发票编号具有红色字体的显着视觉特征,如图 (a) 左上角所示。总之,这些结果表明在 KIE 中同时使用视觉特征和布局结构的好处。
-
PICK(我们的)方法与基线方法在医疗发票数据集上的性能比较。 PICK 比基线方法更准确。粗体代表最佳性能。
-
此外,从表二第二列可见,PICK 在火车票场景中比基线方法有显着改进。令人惊讶的是,PICK的mEF在火车票上几乎拿满分。这一结果表明,由于 PICK 具有学习文档的图形结构的能力,因此 PICK 可以很好地处理固定布局文档的提取任务。我们还在 SROIE 数据集上使用在线评估工具1来验证我们的竞争表现。从表二第三列可以看出,我们的模型在仅使用官方提供的训练数据的情况下,在 mEF 指标上取得了有竞争力的结果。请注意,LayoutLM 还使用额外的预训练数据集和文档类监督信息来训练模型。该表中的数据可以与表一中的数据进行比较,表一显示了我们的模型在可变和固定布局文档上的稳健性。
-
SROI 和火车票数据集的结果比较。评估指标是 MEF。
Ablation Studies
-
为了评估模型每个组件的贡献,我们在本节中进行消融研究。如表 III 中所述,当我们从 PICK 中删除图像片段元素时,数据比较中出现的最引人注目的观察结果是 PICK 在医疗发票和火车票数据集上的性能下降。这表明视觉特征可以在解决模糊提取关键信息的问题中发挥重要作用。这个结果并不违反直觉,因为图像片段可以提供更丰富的外观和语义特征,例如字体颜色、背景和方向。此外,图像片段可以帮助图形模块捕获合理的图形结构。此外,改进的图学习模块也使 PICK 的性能有所不同。更具体地说,如表 III 所示,从 PICK 中删除图学习元素会导致两个数据集上的指标分数大幅下降,尤其是在可变布局数据集上。因此,图学习不仅可以处理固定布局,还可以处理可变布局数据集。因此图学习元素擅长处理文档的复杂结构和泛化。
-
我们模型每个组件的结果。评估指标是 MEF。
-
我们进行了另一项消融研究来分析图卷积的不同层数 L 对提取性能的影响。如表 IV 所示,所有最佳结果都是通过 1 层或 2 层模型而不是 3 层或 4 层模型获得的。这个结果有点违反直觉,但这种现象说明了 GCN 的一个特性,即模型越深(层数),就越可能过度拟合。在实践中,我们应该设置特定于任务的图层数。
CONCLUSIONS
-
在本文中,我们研究了如何通过自动充分利用文档中的文本和视觉特征来提高 KIE 能力的问题。我们将改进的图学习模块引入模型中,以在给定视觉丰富上下文的复杂文档上细化图结构。它在所有场景中都显示出卓越的性能,并显示了 KIE 从可变或固定布局的文档中处理的能力。这项研究为从文档中提取结构信息提供了新的视角。文章来源:https://www.toymoban.com/news/detail-762964.html
-
动手学习OCR:aistudio.baidu.com/education/group/info/25207文章来源地址https://www.toymoban.com/news/detail-762964.html
到了这里,关于【读点论文】PICK Processing Key Information Extraction from Documents...实体关系抽取,从图像数据抽取具有自然语义信息的结构化数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!