乐趣区

关于nlp:EMNLP-2021-LayoutReader基于ReadingBank的阅读序列抽取模型

编者按:浏览序列抽取是文档智能剖析中一项十分重要的工作,其旨在通过抽取扫描文档或数字商业文档中的单词并从新进行排序,将本来独立的单词组合成读者能够了解的文本。但因为日常工作生存中应用的文档,往往模板和格局各不相同,所以在呈现简单格局时,依照传统办法进行排列往往无奈获得较好的成果。因而,微软亚洲研究院自然语言计算组的研究员们构建了首个大规模浏览序列数据集 ReadingBank,并基于 ReadingBank 提出了浏览序列抽取模型 LayoutReader。本文将对 ReadingBank 和 LayoutReader 的实现原理进行简要介绍,欢送感兴趣的读者点击浏览原文理解论文中的更多详情,本文已被 EMNLP 2021 作为长文录取。

浏览序列抽取是指通过抽取扫描文档或数字商业文档中的单词并从新进行排序,将本来独立的单词组合成读者能够了解的文本。对于大部分电子文档,如网页、Word 文档等,获取正确的浏览序列并不艰难,只有剖析源代码即可。然而许多扫描文档或 PDF 文档并不具备这样的信息。因而,谬误的浏览序列不仅让读者无奈了解,还会导致文档智能剖析难以进行,因为文档智能剖析是将扫描文档或数字商业文档中的要害信息抽取,把非结构化的信息更加结构化,进而实现自动化文档了解的。

然而,现有的文档智能分析模型仍依赖文档内容的输出程序,若要害信息局部呈现错乱,很有可能导致模型判断谬误或脱漏信息。因而,浏览序列抽取是文档智能剖析中一项十分重要的工作。

日常工作、生存中的文档具备各种不同的模版和格局,为了提取浏览序列,传统办法往往间接将单词依照从左到右、从上到下的程序进行排列或通过人工来匹配模版。但当呈现多栏、表格等格局时,传统办法通常就会生效。若为了应答品种繁多的文档类型,则 须要引入大规模预训练语言模型,借助文档中的文本信息、布局地位等信息进行浏览序列抽取。


图 1:ReadingBank 数据集中文档图片的浏览序列示意图

因为现有数据集存在着不能满足预训练要求且人工标注构建新数据集的老本过低等问题。所以,微软亚洲研究院自然语言计算组的研究员们 利用 Word 文档中的 XML 源码,构建了首个大规模浏览序列数据集 ReadingBank,并基于 ReadingBank 提出了浏览序列抽取模型 LayoutReader。

首个大规模浏览序列数据集 ReadingBank

以后多模态信息抽取模型(LayoutLM、LayoutLMv2)通常依赖文档中的文字内容和对应的地位。所以 ReadingBank 包含两局部:依照正确浏览顺序排列的文字内容(浏览序列),以及这些文字在以后页面内的地位。

文档收集

Word 文档有两种格局,别离为 .doc 和 .docx,这里只应用 .docx 文档,因为须要借助其解压缩后的 XML 源码。研究员们通过文档长度和语言检测 API 过滤掉低质量的文本和非英文的文档,最终共爬取了 210,000 个英文 .docx 文档,并随机抽取了其中的 500,000 页作为数据集

获取浏览序列

浏览序列是以后文档中依照正确浏览顺序排列的文字内容,如何在不借助人工标注的状况下失去正确的浏览程序是个难题。为此,研究员们借助了 Word 文档中的 XML 源码,构建出了正确的浏览序列。XML 源码中记录了 Word 文档中的所有信息,并依照文档自身的浏览程序顺次排列。于是,研究员们首先借助了开源工具 python-docx 解析网络上爬取的 .docx 文档,而后逐个段落、逐个单元格遍历整个文档,进而取得浏览序列。

获取对应地位信息

尽管 Word 文档蕴含了正确的浏览程序信息,然而 XML 源码并不记录对应的地位,而是当用户打开文档时再进行实时渲染。为了固定文字取得精确的地位信息,研究员们借助了 PDF Metamorphosis .Net 工具,将 Word 文档转换为 PDF,再通过 PDF 解析器,获取文字在 PDF 页面内的地位。

有了浏览序列和浏览序列中文字的地位,接下来就须要构建“浏览序列”与“对应地位”之间的一一对应。罕用的办法通常是利用文字之间的对应关系,比方在 Word 文档中的“MSRA”与 PDF 中的“MSRA”绝对应。然而当文档中一个词呈现次数大于一次时,就无奈建设这种简略的对应关系。

为了区别呈现在不同地位的同一个词,学术界常采纳“染色法”。首先为浏览序列中的每个单词增加序号,当某个词首次呈现时标注为 0,第二次呈现时标注为 1,以此类推。同时将这个单词进行染色,字体色彩由一个双射函数 C 确定,这样在转换为 PDF 后就能够通过解析器取得字体色彩,进而还原出本来序号。所以通过文字内容联合呈现秩序的序号,就能够在浏览序列和从 PDF 提取出的地位之间建设一个对应关系。


图 2:通过对于 Word 文档的文字染色构建 ReadingBank 数据集

因为有了这样的对应关系,因而就能够将浏览序列中的单词增加到对应的地位,进而失去残缺的数据集。研究员们依照 8:1:1 的比例进行随机宰割,别离失去训练集、验证集和测试集。宰割后的数据集信息如下表 1 所示。数据集各个局部宰割平衡,在上游工作中也不会呈现数据不均衡的状况。


表 1:随机宰割后的数据集(Avg. BLEU 是指将从左向右从上到下排列与 ReadingBank 相比拟计算失去的 BLEU 值,ARD 是指均匀绝对间隔,用于掂量数据集的难度)

浏览序列抽取模型 LayoutReader

研究员们又基于 Seq2Seq 模型提出了 LayoutReader,并在 ReadingBank 上进行了预训练。模型输出为页面内依照从左到右、从上到下排列的文字序列,指标序列为由 ReadingBank 提供的浏览序列。(点击浏览原文,获取论文详细信息)。

编码器

为了利用地位布局信息,研究员们用 LayoutLM 作为了编码器,将输出序列和指标序列相连接,利用 mask 管制 Attention 过程中各个地位可见的信息,从而实现 Seq2Seq 的模型。

解码器

因为输出序列和指标序列都来自雷同的单词序列,只是程序不同,所以研究员们 批改了解码器,将本来从词表中预测下一个单词,改为从输出序列中预测下一个单词,即预测下一个单词在输出序列中的序号。

试验与比拟

基准模型

研究员们将 LayoutReader 和启发式办法、纯文本办法和纯布局办法进行了比拟:

  • 启发式办法 (Heuristic Method):行将文本内容依照从左到右从上到下的顺序排列。
  • 纯文本办法:将 LayoutReader 中的编码器 LayoutLM 替换为纯文本的编码器,如 BERT 和 UniLM,这样模型将无奈利用地位布局信息进行预测。
  • 纯布局办法:移除 LayoutReader 编码器 LayoutLM 中的词向量,这样模型无奈利用文本信息。

评估办法

研究员们利用了 两个评估指标 来掂量模型的成果:

  • 均匀页面 BLEU 值:BLEU 值是常见的掂量序列生成成果的指标。通过将输入序列和 ReadingBank 提供的指标序列相比拟,能够失去对应的 BLEU 值。
  • 均匀绝对间隔(ARD):因为模型输入序列与指标序列内容雷同,区别只在于对应单词的地位不同,所以通过对应单词的间隔能够验证模型的成果。当生成过程中呈现单词缺失的状况时,ARD 同时会引入惩办。公式如下,其中 A 是输入序列,B 是指标序列,e_k 是 A 中第 k 个单词,I(e_k, B) 则是指 e 在 B 中的序号。

浏览序列抽取

模型的输出为从左到右、从上到下的单词序列。将输入序列与 ReadingBank 进行比拟,从后果中能够看出,联合文本信息和布局信息的 LayoutReader 获得了最优的后果,相比最常应用的启发式办法,均匀页面 BLEU 值进步了 0.2847,均匀绝对间隔缩小了 6.71。在去除文本模态或布局模态之后,后果仍旧有所提高。在均匀页面 BLEU 上,别离晋升了 0.16 和 0.27。而纯文本办法在均匀绝对间隔上则有所降落,次要起因是均匀绝对间隔中对单词缺失的惩办项。同时,比拟纯文本办法和纯布局办法也能够看出布局信息起到了更重要的作用,纯布局办法相较于纯文本办法在均匀页面 BLEU 上晋升 0.1 左右,在均匀绝对间隔上晋升了 9.0 左右。


表 2:LayoutReader 模型在 ReadingBank 数据集的试验后果(输出程序是从左到右、从上到下)

输出程序钻研

以上的试验都是基于从左到右、从上到下的输出序列。因为人们的浏览习惯,这样的训练为后续生成起到了很大的提醒作用,输出程序钻研旨在钻研训练或者测试时,输出程序对后果的影响。因而,研究员们别离设计了 两个试验进行验证:

  • 在训练时将一部分训练样本打乱,不再以从左到右、从上到下的程序输出,而在测试时,仍旧保留从左到右、从上到下的输出
  • 更进一步,在训练时仍旧将一部分训练样本打乱,在测试时,输出的全副是打乱单词程序的序列。

试验后果如下(r 是训练样本打乱的比例):


表 3:训练时打乱局部样本,测试时放弃从左到右、从上到下的程序


表 4:训练时打乱局部样本,测试时打乱全副样本

从后果中能够看到,绝对于前三行做比拟的模型,LayoutReader 联合文本信息和布局信息,可能无效反抗打乱的输出,简直在所有场景下都放弃了较好的成果。在试验二中,能够看到当在训练样本没有打乱(r=0%),即放弃从左到右、从上到下的程序输出,但测试时应用打乱样本的状况下,后果有极大的降落。研究员们认为这是因为训练时过拟合了从左到右、从上到下的程序,进而无奈应答生疏的打乱程序的输出。这与之前的后果相符,阐明地位信息对浏览程序有着更强的指导作用。

在 OCR 中的利用

以后 OCR 曾经可能很好地辨认对应的文字,但却没有关注这些文字的排列程序。因而,研究员们利用 LayoutReader 将 OCR 失去的文本行,依照浏览顺序排列。而后,将文本行对应的 bounding box 与各个单词的 bounding box 求交加,再将各个单词调配给交加最大的文本行,并且将文本行依照所蕴含单词的最小序号排序,进而将失去的程序和 ReadingBank 的程序进行比拟。研究员们抉择了一个开源 OCR 算法 Tesseract,和一个商用 OCR 算法,失去如下后果:


表 5:针对 Tesseract OCR 文本行进行比照试验


表 6:针对一种商业 OCR 引擎本文前进比照试验

从以上后果能够看出,LayoutReader 相比于两个 OCR 算法,都能失去更好的后果;相比于商用 OCR 仍旧可能在 BLEU 上进步 0.1 左右,在 ARD 上升高 2 左右。

将来工作

将来,微软亚洲研究院的研究员们打算进一步从 ReadingBank 中提取浏览程序,通过引入更多噪声和诸如旋转的变换,使得数据集更加鲁棒,可能使用于更多场景。同时,在大规模数据集 ReadingBank 的根底上,研究员们也将引入特定畛域的多数人工标注,将浏览程序抽取有着更粗疏的使用。

(微软亚洲研究院自然语言计算组)


这里有更多微软官网学习材料和技术文档,扫码获取免费版!
内容将会不定期更新哦!

退出移动版