共计 5271 个字符,预计需要花费 14 分钟才能阅读完成。
摸索图像数据中的暗藏信息:语义实体辨认和关系抽取的微妙之旅
1. 简介
1.1 背景
要害信息抽取 (Key Information Extraction, KIE)指的是是从文本或者图像中,抽取出要害的信息。针对文档图像的要害信息抽取工作作为 OCR 的上游工作,存在十分多的理论利用场景,如表单辨认、车票信息抽取、身份证信息抽取等。然而,应用人力从这些文档图像中提取或者收集要害信息耗时费劲,怎么自动化交融图像中的视觉、布局、文字等特色并实现要害信息抽取是一个价值与挑战并存的问题。
对于特定场景的文档图像,其中的要害信息地位、版式等较为固定,因而在钻研晚期有很多基于模板匹配的办法进行要害信息的抽取,思考到其流程较为简单,该办法依然被广泛应用在目前的很多场景中。然而这种基于模板匹配的办法在利用到不同的场景中时,须要消耗大量精力去调整与适配模板,迁徙老本较高。
文档图像中的 KIE 个别蕴含 2 个子工作,示意图如下图所示。
- (1)SER: 语义实体辨认 (Semantic Entity Recognition),对每一个检测到的文本进行分类,如将其分为姓名,身份证。如下图中的彩色框和红色框。
- (2)RE: 关系抽取 (Relation Extraction),对每一个检测到的文本进行分类,如将其分为问题 (key) 和答案 (value)。而后对每一个问题找到对应的答案,相当于实现 key-value 的匹配过程。如下图中的红色框和彩色框别离代表问题和答案,黄色线代表问题和答案之间的对应关系。
1.2 基于深度学习的支流办法
个别的 KIE 办法基于命名实体辨认 (Named Entity Recognition,NER) 来开展钻研,然而此类办法仅应用了文本信息而疏忽了地位与视觉特色信息,因而精度受限。近几年大多学者开始交融多个模态的输出信息,进行特色交融,并对多模态信息进行解决,从而晋升 KIE 的精度。次要办法有以下几种
- (1)基于 Grid 的办法:此类办法次要关注图像层面多模态信息的交融,文本大多大多为字符粒度,对文本与构造构造信息的嵌入形式较为简单,如 Chargrid[1]等算法。
- (2)基于 Token 的办法:此类办法参考 NLP 中的 BERT 等办法,将地位、视觉等特色信息独特编码到多模态模型中,并且在大规模数据集上进行预训练,从而在上游工作中,仅须要大量的标注数据便能够取得很好的成果。如 LayoutLM[2], LayoutLMv2[3], LayoutXLM[4], StrucText[5]等算法。
- (3)基于 GCN 的办法:此类办法尝试学习图像、文字之间的构造信息,从而能够解决开集信息抽取的问题(训练集中没有见过的模板),如 GCN[6]、SDMGR[7]等算法。
- (4)基于 End-to-end 的办法:此类办法将现有的 OCR 文字辨认以及 KIE 信息抽取 2 个工作放在一个对立的网络中进行独特学习,并在学习过程中互相增强。如 Trie[8]等算法。
更多对于该系列算法的具体介绍,请参考“入手学 OCR·十讲”课程的课节六局部:[文档剖析实践与实际]()。
2. 要害信息抽取工作流程
PaddleOCR 中实现了 LayoutXLM 等算法(基于 Token),同时,在 PP-StructureV2 中,对 LayoutXLM 多模态预训练模型的网络结构进行简化,去除了其中的 Visual backbone 局部,设计了视觉无关的 VI-LayoutXLM 模型,同时引入合乎人类浏览程序的排序逻辑以及 UDML 常识蒸馏策略,最终同时晋升了要害信息抽取模型的精度与推理速度。
上面介绍怎么基于 PaddleOCR 实现要害信息抽取工作。
在非 End-to-end 的 KIE 办法中,实现要害信息抽取,至多须要 2 个步骤:首先应用 OCR 模型,实现文字地位与内容的提取,而后应用 KIE 模型,依据图像、文字地位以及文字内容,提取出其中的要害信息。
2.1 训练 OCR 模型
2.1.1 文本检测
(1)数据
PaddleOCR 中提供的模型大多数为通用模型,在进行文本检测的过程中,相邻文本行的检测个别是依据地位的远近进行辨别,如上图,应用 PP-OCRv3 通用中英文检测模型进行文本检测时,容易将”民族“与“汉”这 2 个代表不同的字段检测到一起,从而减少后续 KIE 工作的难度。因而倡议在做 KIE 工作的过程中,首先训练一个针对该文档数据集的检测模型。
在数据标注时,要害信息的标注须要隔开,比上图中的“民族汉”3 个字相隔较近,此时须要将”民族“与”汉“标注为 2 个文本检测框,否则会减少后续 KIE 工作的难度。
对于上游工作,一般来说,200~300
张的文本训练数据即可保障根本的训练成果,如果没有太多的先验常识,能够先标注 200~300
张图片,进行后续文本检测模型的训练。
(2)模型
在模型抉择方面,举荐应用 PP-OCRv3_det,对于更多对于检测模型的训练方法介绍,请参考:OCR 文本检测模型训练教程与 PP-OCRv3 文本检测模型训练教程。
2.1.2 文本辨认
绝对天然场景,文档图像中的文本内容辨认难度个别绝对较低(背景绝对不太简单),因而 优先倡议 尝试 PaddleOCR 中提供的 PP-OCRv3 通用文本辨认模型(PP-OCRv3 模型库链接)。
(1)数据
然而,在局部文档场景中也会存在一些挑战,如身份证场景中存在着常见字,在发票等场景中的字体比拟非凡,这些问题都会减少文本辨认的难度,此时如果心愿保障或者进一步晋升模型的精度,倡议基于特定文档场景的文本辨认数据集,加载 PP-OCRv3 模型进行微调。
在模型微调的过程中,倡议筹备至多 5000
张垂类场景的文本辨认图像,能够保障根本的模型微调成果。如果心愿晋升模型的精度与泛化能力,能够合成更多与该场景相似的文本辨认数据,从公开数据集中收集通用实在文本辨认数据,一并增加到该场景的文本辨认训练任务过程中。在训练过程中,倡议每个 epoch 的实在垂类数据、合成数据、通用数据比例在 1:1:1
左右,这能够通过设置不同数据源的采样比例进行管制。如有 3 个训练文本文件,别离蕴含 1W、2W、5W 条数据,那么能够在配置文件中设置数据如下:
Train:
dataset:
name: SimpleDataSet
data_dir: ./train_data/
label_file_list:
- ./train_data/train_list_1W.txt
- ./train_data/train_list_2W.txt
- ./train_data/train_list_5W.txt
ratio_list: [1.0, 0.5, 0.2]
...
(2)模型
在模型抉择方面,举荐应用通用中英文文本辨认模型 PP-OCRv3_rec,对于更多对于文本辨认模型的训练方法介绍,请参考:OCR 文本辨认模型训练教程与 PP-OCRv3 文本辨认模型库与配置文件。
2.2 训练 KIE 模型
对于辨认失去的文字进行要害信息抽取,有 2 种次要的办法。
(1)间接应用 SER,获取要害信息的类别:如身份证场景中,将“姓名“与”张三“别离标记为 name_key
与name_value
。最终辨认失去的类别为 name_value
对应的 文本字段 即为咱们所须要的要害信息。
(2)联结 SER 与 RE 进行应用:这种办法中,首先应用 SER,获取图像文字内容中所有的 key 与 value,而后应用 RE 办法,对所有的 key 与 value 进行配对,找到映射关系,从而实现要害信息的抽取。
2.2.1 SER
以身份证场景为例,要害信息个别蕴含 姓名
、 性别
、 民族
等,咱们间接将对应的字段标注为特定的类别即可,如下图所示。
留神:
- 标注过程中,对于无对于 KIE 要害信息的文本内容,均须要将其标注为
other
类别,相当于背景信息。如在身份证场景中,如果咱们不关注性别信息,那么能够将“性别”与“男”这 2 个字段的类别均标注为other
。 - 标注过程中,须要以 文本行 为单位进行标注,无需标注单个字符的地位信息。
数据量方面,一般来说,对于比拟固定的场景,50 张 左右的训练图片即可达到能够承受的成果,能够应用 PPOCRLabel 实现 KIE 的标注过程。
模型方面,举荐应用 PP-StructureV2 中提出的 VI-LayoutXLM 模型,它基于 LayoutXLM 模型进行改良,去除其中的视觉特征提取模块,在精度根本无损的状况下,进一步晋升了模型推理速度。更多教程请参考:VI-LayoutXLM 算法介绍与 KIE 要害信息抽取应用教程。
2.2.2 SER + RE
该过程次要蕴含 SER 与 RE 2 个过程。SER 阶段次要用于辨认出文档图像中的所有 key 与 value,RE 阶段次要用于对所有的 key 与 value 进行匹配。
以身份证场景为例,要害信息个别蕴含 姓名
、 性别
、 民族
等要害信息,在 SER 阶段,咱们须要辨认所有的 question (key) 与 answer (value)。标注如下所示。每个字段的类别信息(label
字段)能够是 question、answer 或者 other(与待抽取的要害信息无关的字段)
在 RE 阶段,须要标注每个字段的的 id 与连贯信息,如下图所示。
每个文本行字段中,须要增加 id
与linking
字段信息,id
记录该文本行的惟一标识,同一张图片中的不同文本内容不能反复,linking
是一个列表,记录了不同文本之间的连贯信息。如字段“出世”的 id 为 0,字段“1996 年 1 月 11 日”的 id 为 1,那么它们均有 [[0, 1]] 的linking
标注,示意该 id= 0 与 id= 1 的字段形成 key-value 的关系(姓名、性别等字段相似,此处不再一一赘述)。
留神:
- 标注过程中,如果 value 是多个字符,那么 linking 中能够新增一个 key-value 对,如
[[0, 1], [0, 2]]
数据量方面,一般来说,对于比拟固定的场景,50 张 左右的训练图片即可达到能够承受的成果,能够应用 PPOCRLabel 实现 KIE 的标注过程。
模型方面,举荐应用 PP-StructureV2 中提出的 VI-LayoutXLM 模型,它基于 LayoutXLM 模型进行改良,去除其中的视觉特征提取模块,在精度根本无损的状况下,进一步晋升了模型推理速度。更多教程请参考:VI-LayoutXLM 算法介绍与 KIE 要害信息抽取应用教程。
3. 参考文献
[1] Katti A R, Reisswig C, Guder C, et al. Chargrid: Towards understanding 2d documents[J]. arXiv preprint arXiv:1809.08799, 2018.
[2] Xu Y, Li M, Cui L, et al. Layoutlm: Pre-training of text and layout for document image understanding[C]//Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2020: 1192-1200.
[3] Xu Y, Xu Y, Lv T, et al. LayoutLMv2: Multi-modal pre-training for visually-rich document understanding[J]. arXiv preprint arXiv:2012.14740, 2020.
[5] Li Y, Qian Y, Yu Y, et al. StrucTexT: Structured Text Understanding with Multi-Modal Transformers[C]//Proceedings of the 29th ACM International Conference on Multimedia. 2021: 1912-1920.
[6] Liu X, Gao F, Zhang Q, et al. Graph convolution for multimodal information extraction from visually rich documents[J]. arXiv preprint arXiv:1903.11279, 2019.
[7] Sun H, Kuang Z, Yue X, et al. Spatial Dual-Modality Graph Reasoning for Key Information Extraction[J]. arXiv preprint arXiv:2103.14470, 2021.
[8] Zhang P, Xu Y, Cheng Z, et al. Trie: End-to-end text reading and information extraction for document understanding[C]//Proceedings of the 28th ACM International Conference on Multimedia. 2020: 1413-1422.
参考链接
https://github.com/PaddlePaddle/PaddleOCR/tree/release/2.7
更多优质内容请关注公号:汀丶人工智能;会提供一些相干的资源和优质文章,收费获取浏览。