文 | 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等各大顶会论文集!

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

  1. MSRA-万字综述 直击多模态文档理解

    文 | 付奶茶 随着最近几年多模态大火的,越来越多的任务都被推陈出新为多模态版本.譬如,传统对话任务,推出了考虑视觉信息的多模态数据集:事件抽取,也推出视频形式的多模态版本:就连 grammar in ...

  2. 再谈OT算法的协同文档制作的底层基础架构记录

    关于OT算法的协同的核心算法部分已经写完了. 再简单谈一下关于协同文档底层架构的问题,因为目前我的方案还没有最终落地所以并不清楚实际情况中会出现哪些问题, 说一下传输层,传输层是用的MQTT,得益于R ...

  3. 基于TF-IDF编码进行文本聚类分析:文档成对相似性计算、层次聚类(链接矩阵、树形图dendrogram绘制、聚类标签)

    基于TF-IDF编码进行文本聚类分析:文档成对相似性计算.层次聚类(链接矩阵.树形图dendrogram绘制.聚类标签) 目录

  4. 论文解读丨LayoutLM: 面向文档理解的文本与版面预训练

    摘要:LayoutLM模型利用大规模无标注文档数据集进行文本与版面的联合预训练,在多个下游的文档理解任务上取得了领先的结果. 本文分享自华为云社区<论文解读系列二十五:LayoutLM: 面向文 ...

  5. Qt开发技术:Qt富文本(一)富文本介绍、文档结构

    若该文为原创文章,未经允许不得转载 原博主博客地址:https://blog.csdn.net/qq21497936 原博主博客导航:https://blog.csdn.net/qq21497936/ ...

  6. 达梦数据库导出数据表结构为excel或html或文本(写文档用)

    达梦数据库导出数据表结构为excel或html或文本(写文档用) 项目中用的是国产达梦数据库,项目做了一期后应该是要数据库设计文档.其中就有一个需要表结构(字段,字段精度,说明...) 因为是国产数据 ...

  7. 文本编码与文档管理的思考

    文本编码与文档管理的思考 文本编码 就像写字遇到不同格式要换不同的纸张.笔等,当编辑放到了计算机,也需要对应的排版语言.字体等. 我们要把不同的纸张做成书,有的做成笔记本用来记笔记,有的是白纸放在一起 ...

  8. ChatGPT | Word文档如何更好地提取表格内容给ChatGPT

    本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处! Word文档如何更好地提取表格内容给ChatGPT做知识库,这属于文本预处理工作. 本文只讲思路.测试结果,技 ...

  9. 谷歌发布端到端AI平台,还有用于视频和表格的AutoML、文档理解API等多款工具

    谷歌又有了大动作.在大洋彼岸的谷歌Cloud Next conference大会上,谷歌一口气发布了多款AI新品和工具,主要包括: 端到端的AI平台 用于处理视频和表格数据的AutoML Tables ...

最新文章

  1. 一文区分什么是「过拟合」和「欠拟合」?
  2. (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  3. 多少线程太多? [关闭]
  4. linux ln 权限不够,每次执行./都会出现权限不够,已经是root了 已解决!
  5. Docker源码分析(十):Docker镜像下载
  6. C语言system函数(C语言程序中执行命令行)
  7. halcon write_ocr_class_svm 将OCR分类器写入文件
  8. Dotnet的局部函数和委托的对比
  9. arcgis_SDE安装步骤
  10. endnote如何导入txt文件_python如何处理txt及excel文件
  11. matplotlib text 文字处理
  12. 「BZOJ 3529」「SDOI 2014」数表「莫比乌斯反演」
  13. HBase伪分布式搭建
  14. 解决MacOS 下载的文件名字乱码问题
  15. 机器学习实战应用案例100篇(十)-蝙蝠算法从原理到实战应用案例
  16. 人工智能(12)大数据
  17. Cadence-Allegro(一)----安装
  18. Github13K!相似搜索百宝箱,文本匹配入门必备!
  19. 2022年G3锅炉水处理考试题库及模拟考试
  20. 665. Non-decreasing Array

热门文章

  1. cf 621E. Wet Shark and Blocks
  2. C/C++中的声明与定义
  3. HighCharts解析之xAxis——x轴的样式
  4. 邻接表的两种实现(链表和数组模拟)
  5. timer控件的使用
  6. 嵌入式软件开发注意事项一
  7. 排序算法时间复杂度、空间复杂度、稳定性比较
  8. ubuntu下安装jdk1.6.0_41
  9. mysql online ddl 5.6_MySQL 5.6的Online DDL功能测试
  10. C语言——数组、函数、指针