[1 ]LayoutLM 论文:https://arxiv.org/abs/1912.13318
[2 ]LayoutLM 代码&模型:https://aka.ms/layoutlm
[3 ]DocBank 论文:https://arxiv.org/abs/2006.01038
[4 ]DocBank 数据集&模型:https://github.com/doc-analysis/DocBank
[5 ]TableBank 论文:https://arxiv.org/abs/1903.01949
[6 ]TableBank 数据集&模型:https://github.com/doc-analysis/TableBank
[7 ]“Injecting Artificial Intelligence into Financial Analysis”:https://medium.com/reimagine-banking/injecting-artificial-intelligence-into-financial-analysis-54718fbd5949
[8 ]“Document Visual Question Answering”:https://medium.com/@anishagunjal7/document-visual-question-answering-e6090f3bddee
Paper 1
LayoutLM: Pre-training of Text and Layout for Document Image Understanding
摘要:
利用pre-training技术,在处理一些通用文档的nlp任务时,不但是考虑到文本级别的信息,同时考虑到文本的位置信息,已经图像信息等.即基于多模态的方式去实现,NLP的处理.创新点在于首次充分考虑的布局信息(Layout)和文本等特征的结合.在这个预训练基础上,在几个下游任务进行的测试验证,包括表单理解(70.72 -> 79.27), 票据理解(94.02->95.24),文档图片的分类(93.07->94.42).
主要贡献:
1.将文本信息和文档扫描图的文本布局信息结合到一个框架中,2.使用masked-visual-lanuage model和multi-label document classification做为训练的目标,针对带图像文档分类任务做到sota 3.代码论文公开
具体模型结构:
在此需要提前回顾下bert的内容,1. MLM, 2. NSP.
以下开始细说LayoutLM: 模型主体上还是基于Bert实现,关键在于如何融入富文本信息.两种重要的信息需要被加入:
分别是文档布局信息(Document layout information), 视觉信息(visual information).
文档布局信息: 为了表达文档布局信息,就是在原先bert的输入基础之上,加入2-D位置信息,即bbox的左上(
视觉信息: 包括两个,一个是整个图片的特征矩阵,一个是单个box对应的图像特征矩阵.即Image-Embedding.
2-D position Embedding,针对不同的维度,是有不一样的embedding表的,比如x坐标的都对应x轴的embedding向量,y坐标对应的y轴的一个embedding向量表,这样意思就是有些坐标如
Image Embedding,正如bert的序列向量表达是以[CLS]开始,第一个输出的表示的是整个句子向量,后续的输出才是对应的token的信息.这里也采用同样的逻辑,进行image embedding的构建,第一个是整个图片的特征矩阵,后面才是每个bbox所对应的小图像.
预训练的任务: (task1:Masked Visual-Lanuage Model),也是再MLM基础上提出MVLM,整体思路就是能学习到加入的2-d位置信息.随机mask住几个单词,但是保留这些单词的2-D信息,然后模型根据给定的全文来预测这几个mask住单词.这样就不仅仅利用了文本上下文信息,而且融入了2-D信息.(这里有个疑问:就是全文信息的拼接长度过长是否有办法处理,或者按照段落截断?)
(task2: Multi-label Document Classification),使用IIT-CDP数据集,该数据集每个图片文档都有对应的多个分类标签,该task就是在这个训练集上去训练文本分类的能力,来监督pre-train的过程,但是该任务对数据量的需求会比较大.
实验部分
微调的数据集: FUNSD, The SROIE, The RVL-CDIP.
文档的预处理: 通过ocr拿到text和2-D
模型的pre-training: 1) mask的比例设定 2).加入2-D的(),不是真实值,需要规范化处理,即除以宽或者高.
特定任务的微调:
1.表单理解:该任务分成两个子任务, semantic labeling和semantic linking.将单词作为semantic entity,去打标签.linking则是对semantic entity进行二分类的关系预测.这个任务里只关注semantic labeling,即sequence labeling 问题.
2.收据理解:首先有个预先定义好的semantic slots,根据票据内容的抽取指定的信息,去填充这个semantic slots
3.文档图片理解:结合图像信息用于对带图片的文档进行分类.
后续具体实验结果可以看论文中部分.
Paper 2
DocBank: A Benchmark Dataset for Document Layout Analysis
摘要:
创建了一个数据集用于进行文档布局分析的任务评估.