别再搞纯文本了!多模文档理解更被时代需要!

文 | Ryan

都已经2021年了,互联网已经今非昔比,20年前纯文本的日子已经一去不复返,文字已经满足不了网页、文章的需求,绝大部分都会有着精心设计的表格、图片,甚至视频。PDF文档这种富文本格式拥有更加复杂的结构信息,其流行程度已经远超TXT。大到工作报告,小到收银条,形形色色的文档充斥着各个角落,如何利用这些文档中丰富的信息呢?智能文档理解成为了许多大厂的关注要点。

ML模型做文档理解的第一步往往是OCR,即Optical Character Recognition,光学字符识别,能将文档图片中的文字转化为计算机可识别的文字。寻常情况下到此为止。然而,平日里形形色色的文档经过OCR之后,只留下单调的字符串,格式布局中蕴含的海量信息并没有得到很好的利用,文档中许多文本以外的信息无法很好地被计算机所理解。

于是MSRA将多模态技术运用到文档图片中,结合3种模态:文本text、图片visual、布局layout,去年提出了LayoutLM。今天介绍的是升级版,LayoutLMv2,通过预训练模型实现智能文档理解,关注文档图片中的 信息抽取类型识别 ,以及 文档问答 ,一举刷新了6个榜单。

多模态预训练已经不是一个新话题了,已经有不少多模态预训练模型,小屋往期也有介绍,不熟悉的同学可以看一下 这里 ,但是针对文档图片的,LayoutLM系列可谓是一个新的尝试。现有的多模态预训练模型大多建立在照片之类的图像,与LayoutLM系列涉及的文档图片有着天壤之别,文档图片中包含的是字符,与NLP更加紧密,让多模态语言建模更加简单直接。

论文题目:

LayoutLMv2: Multi-modal Pre-training for Visually-Rich Document Understanding

论文链接:

https://arxiv.org/abs/2012.14740

Arxiv访问慢的小伙伴也可以在 【 夕小瑶的卖萌屋 】订阅号后台回复关键词 【 0129 】 下载论文PDF~

LayoutLMv2论文主要介绍了三部分:多模态特征提取、相对位置Attention、3个多模态预训练任务。

文档图片的多模态

文档图片既是文档又是图片,平平无奇的一页纸就蕴含了多种特征。当我们将一个文档图片输入到OCR识别后,我们不仅仅能获得文字信息(text),同时得到各个文字所在的位置,是为布局特征(Layout),将图片本身输入视觉模型,就可以得到丰富的视觉信息(visual)。

针对三种特征,LayoutLMv2分别建模:

  • 文字信息,即OCR识别出的文字的内容:基于传统的预训练语言模型,通过tokenizer处理后,直接词向量嵌入。

  • 视觉信息,即文档图片本身:LayoutLMv2利用ResNeXt-FPN对整个文档图片提取特征,将得到的WxH的feature map拉平为WH长的特征序列,并通过线性层映射到固定维度,因为基于CNN的视觉模型无法学习顺序信息,LayoutLM额外加上了和BERT一样的Postion Embedding。

  • 布局信息,即OCR识别出的文字的位置:实际上是标注文字位置的坐标,LayoutLMv2同样通过向量嵌入技术,将坐标归一化到[0, 1000]并取整,再映射到对应的向量,最后将横纵坐标对应的向量相连接。

LayoutLMv2将视觉特征和文本特征融合到一个统一的序列中,通过Segment Embedding加以区别,并与对应的布局特征分别求和。

考虑相对位置的Transformer

得到了融合特征,下一步就是多层Transformer了,不过LayoutLMv2在传统的Transformer中添加了考虑到相对位置的Attention机制,将不同位置之间的Attention权重增加相对应的bias,不同的bias对应位置之间的相对距离。

3个多模态预训练任务

多模态预训练任务不仅需要学习文本本身的特征,更需要利用好文本和其他模态之间的关联。

  • Masked Visual-Language Modeling: 和传统BERT类似,LayoutLMv2会mask若干词的文本特征,并在输入图片中将这些词的位置涂黑,但保留布局特征,让模型预测丢失的词。 这是利用上下文和布局信息去恢复文本信息。

  • Text-Image Alignment: 输入图片时将若干行覆盖(cover),通过文本预测当前词是否被覆盖(cover)。 这是利用上下文和文本信息去确定布局信息。

  • Text-Image Matching:和许多其他多模态预训练模型类似,LayoutLMv2在输入时会替换一部分图片,并让模型判断输入的图片与当前文字是否对应。 这是学习视觉信息和其他模态的关联。

预训练的结果:6个数据集登顶!

预训练

LayoutLMv2在预训练中首先将模型初始化为UniLMv2的权重,由于UniLMv2是单纯的文本预训练模型,LayoutLMv2接着在IIT-CDIP的大量文档图片上预训练 布局特征视觉特征

下游任务

LayoutLMv2针对智能文档理解的 文档视觉问答DocVQA文档分类序列标注 三个任务,并一举刷新了6个数据集的榜单。

  • 文档视觉问答DocVQA:抽取式文档问答,即预测文本中某几段区域作为答案,任务转化为预测这段些段落的开始和结束,LayoutLMv2将问题文本、上下文文本和视觉特征作为输入序列中的三个segment:A、B、C,在上下文部分之上添加分类器。这个问题上,LayoutLMv2选用了DocVQA数据集,结果如下:

  • 文档分类:即文档图片分类,类别诸如信件、收据等等,与传统的文本分类类似,LayoutLMv2选取输入序列中的[CLS]对应的隐藏状态进行分类预测。LayoutLMv2选用了RVL-CDIP数据集,并且将模型与文本预训练模型和视觉模型进行对比,取得了目前的SOTA:

  • 序列标注:与传统的序列标注任务类似,即将文档内文字排成序列,预测各个单词的标签,这个任务上,LayoutLMv2选用了4个数据集:FUNSD、CORD、SROIE、Kleister-NDA,4个数据集涵盖了普通报表、单据小票各种格式,篇幅有限,这里只附上FUNSD数据集上的结果:

What’s Next?

LayoutLMv2有着精心设计的模型、契合问题的预训练任务、丰富的下游实验,可谓是一篇十分出色的多模态预训练论文。

从结果中,我们也可以看到,针对文档智能理解的应用场景,在原本纯文本之外,加入布局与视觉信息,对结果有着很大的提高。这也并不意外,毕竟文档不仅仅是朴实的文字,布局信息或者说位置信息,与当前文字在整个页面内的作用十分相关,LayoutLM系列中很关键的部分即如何更好的利用位置信息,如何将这种低维度的特征融入到模型中,相信接下来这一方面会有更多相关的工作与尝试。

另外,图片分类任务大多使用视觉模型,但是文档图片和一般图片不同,内容与图片类型也是十分相关,虽然我们可以看到单纯基于文本的模型,如BERT、UniLMv2,略逊于单纯基于视觉的模型,如VGG-16、InceptionResNetV2等,但是如果将二者结合,就能够取得超过前两者的结果。

文档图片作为生活中十分常见的信息载体,同时又是天然的多模态材料,相信未来有着更多的工作。

萌屋作者:Ryan

本科毕业于北大计算机系,曾混迹于商汤和MSRA,现在是宅在家里的UCSD( Social Dead )在读PhD,主要关注多模态中的NLP和data mining,也在探索更多有意思的Topic,原本只是贵公众号的吃瓜群众,被各种有意思的推送吸引就 上了贼船 ,希望借此沾沾小屋的灵气,paper++,早日成为有猫的程序员!

作品推荐:

1. Transformer哪家强?Google爸爸辨优良!

后台回复关键词【 入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【 顶会

获取ACL、CIKM等各大顶会论文集!