来自蚂蚁集团 - 大安全 - 机器智能和上海交通大学的研究者提出了一种多模态文档理解新模型 XYLayoutLM。
近年来,多模态文档理解在各类场景得到了广泛的应用。它要求我们结合图像,文本和布局信息对扫描件或者 pdf 文件进行理解。在常见的表单理解的任务中,多模态数据如图 1 所示。
图 1:多模态文档理解数据示例(来自 XFUN 数据集)
除此之外,多模态的模型还被应用于文档自动处理,文本关系提取和网页分类定性等等一系列应用。然而,需要强调的是,这个问题并不简单。这是因为表单的结构复杂多变,布局信息难以提取。
目前学术界中,针对多模态文档理解的模型方案,通常都需要先经过对图像进行 ocr 扫描,解析出图中的文本和文本框位置,再将得到的文本和文本框坐标,按照 ocr 解析出的默认顺序,将文本框及其对应的内容输入给模型。然而,和普通的文档图像不同,诸如票据、表单、卡证等数据,其文本位置通常无法按照传统的 “从左至右“或者” 从上到下“进行简单排序,而是存在丰富的层次结构。一个合理的文本框阅读顺序(proper reading order),可以帮助模型更好得理解图像讯息。
另一个局限性是许多现有的模型使用了长度固定的位置编码(position embeddings),这会导致模型在训练完成后无法处理更长的输入序列。当然我们可以强行使用插值算法补全缺失的部分,但还是会影响文档理解的结果。
针对上述两个缺陷,来自蚂蚁集团机器智能团队和上海交通大学的研究者做了如下两点改进,并提出了多模态文档理解模型 XYLayoutLM:
1. 我们提出一个创新的 Augmented XY Cut 算法作为 augmentation 策略来对文本框进行排序生成合理的阅读顺序,从而改进模型性能。
2. 基于空洞卷积的思想,我们提出了可以处理变长输入序列的空洞条件位置编码 DCPE 生成模块。
XYLayoutLM 模型通过获得合理的文本阅读顺序和提出空洞条件位置编码,取得了在 FUNSD 和 XFUN 文档理解数据集上非常具有竞争力的结果。该论文已被 CVPR 2022 录用。
论文地址:https://arxiv.org/abs/2203.06947
合理的阅读顺序
图 2:不同的阅读顺序
首先我们解释一下合理阅读顺序的定义。一般来说,对于一个给定的文档和完美的 ocr 工具,人类观察所有文本框的阅读顺序即为一个合理阅读顺序。现实情况却是,ocr 识别出的文本框位置往往不够准确,甚至会存在明显在同一行但是 y 轴差距过大的一些文本框。这些噪声一方面会使得存在非唯一的合理阅读顺序,同时也会使得简单的对文本框进行排序的规则失效。如图 2a 和 2b 中所示,不管是按照先 Y 后 X 降序还是 X+Y 降序排序,得到的阅读顺序都有不对的地方,也就是标红的序号。而我们通过调研文章发现,XY Cut[1]这个算法能获得合理的阅读顺序。
方法介绍
图 3:模型总览
图 3 展示了基准模型 LayoutXLM[2]和我们的 XYLayoutLM 的区别。我们的模型输入是图像视觉特征,文本特征和文本位置特征。视觉特征是把 ResNeXt-101 的特征图池化到 7*7 的特征图拉平。同时,两个位置编码生成器把输入文本框编码成 pos embeddings 和 box embeddings。在此之后,我们将 embeddings 都拼接起来,输入具有 self-attention 的 transformer 层,输出的视觉 / 文本 token 表征被用于文档理解任务。
与基准模型 LayoutXLM 不同的是,我们的 XYLayoutLM 有两个创新性模块:
1. 我们提出了一个 Augmented XY Cut 模块来对文本框进行排序,同时生成不同的合理阅读顺序,以提升模型的鲁棒性。
2. 为了替代只能生成固定长度 embeddings 的 MLP,我们提出了 DCPE 模块处理文本和视觉的变长序列。
Augment XY Cut
图 4:XY Cut
算法 1
XY Cut[1]是一个启发式的迭代算法。以水平方向的映射为例子,我们先将所有的文本框 boxes 映射到 Y 轴形成相应的一堆映射区间,得到
,
这个指示函数代表第 i 个 box 映射到 Y 轴形成的区间。我们遍历所有的 i 求和,得到
该函数在 y 点的值代表了有多少个本文框 box 在 y 点上有交集。
我们寻找使得 HB(y)函数值为 0 的一些点 y*,以它们为基础进行 cut。此时,寻找所有文本框的阅读顺序被分解成了一些子问题,因此我们可以进行递归调用求解。另外,水平映射和竖直映射是交替进行的。递归的终止条件是,最后剩下的文本框在两个方向都有交集。此时,我们按照传统的先排序 Y 后排序 X 的规则确定剩下的文本框的阅读顺序。
以图 4 为例,我们先做一次水平映射,确定了 1 号和 2~7 号的顺序。接着,我们做竖直映射,可以确定 2 号、7 号和 3~6 号的阅读顺序。继续以上过程,最终可以得到一个合理的文本框阅读顺序。
相较于启发式的 XY Cut,我们提出的 Augmentd XY Cut 增加了算法 1 中的第 2 步,即以一定的概率给文本框的 box 一些小的 x 轴和 y 轴上的平移扰动,从而生成一些合理的阅读顺序,以模拟现实场景中 ocr 的识别噪声,从而提升模型的鲁棒性。
DCPE模块(Dilated Conditional Position Encoding)
图 5:DCPE 模块
现有模型的第二个局限性是 position embedding 的长度固定。对于这一点,最近的 CPE[3]将 MLP 替换成了新的 PEG 模块来处理变长的输入序列。具体流程是先将输入 tokens reshape 成 2D 的特征,然后利用卷积去提取 local 信息做成 position embedding。
但是,在多模态任务中直接使用 CPE 会遇到问题。因为对于 CPE 所处理的图像分类来说,它的输入 tokens 是有规律的图像 patches,比较常见的作法是将一张图分成 16*16 的小 patch 再拉平,因此它可以 reshape 并且利用 2D 卷积来提取邻域信息。而多模态模型的输入 tokens 除了图像信息还有文本 1D 信息,其中 1D 信息是没法 reshape 成 2D 提取邻域信息的。
因此,我们基于 CPE 提出了 DCPE,如图 5 所示。主要有 2 点改进:1. 是将 text 和 image 的 tokens 分开处理,text 过 1D 卷积,image 过 2D 卷积,最后再合并起来。二是我们观察到多模态模型往往需要更大的感受野,举个例子,he is a very handsome boy. 这句话 he 和 boy 分别是主语和宾语,他们的关系非常重要。而 CPE 中的普通卷积可能捕捉不到这种长距离的信息,因此我们使用了空洞卷积替代了标准卷积,使得在相比 CPE 在不额外增加计算量的前提增加了模型的感受野,进一步提升模型性能。除此之外,DCPE 模块正好能使用到 Augmented XY Cut 带来的红利。因为阅读顺序的合理性加上特征提取能力的提升,能得到 1+1>2 的效果。
实验结果
上面的两个表格是 XYLayoutLM 在两个学术数据集 XFUN 和 FUNSD 上的结果。从中可以看出我们的方案在模型参数量相当的情况下,F1 score 达到了 SOTA。
上面这个表格验证了我们提出的两个模块的有效性。其中第四行的结果表明只在基础模型上加 DCPE 而不考虑文本框阅读顺序的情况下提升较小,与预期相符。
上表在 LayoutXLM 上测试了不同的顺序策略导致的结果,同时通过比较结果我们确定了 Augmented XY Cut 中的 3 个超参数。
上表探索了在 text 和 image 模态上是否使用空洞卷积的结果。我们发现在两个模态上均使用空洞卷积效果最好。
可视化
上图是利用 Augmented XY Cut 对文本框顺序排序后输出的一个结果。其阅读顺序比默认顺序更加合理。
上图是 LayoutXLM 和我们的 XYLayoutLM 预测分类的结果。从中可以看出我们的方法的有效性。
参考文献
[1] Jaekyu Ha, Robert M Haralick, and Ihsin T Phillips. Recursive xy cut using bounding boxes of connected components. In ICDAE, 1995.
[2] Yiheng Xu, Tengchao Lv, Lei Cui, Guoxin Wang, Yijuan Lu, Dinei Florencio, Cha Zhang, and Furu Wei. Layoutxlm: Multimodal pre-training for multilingual visually-rich document understanding. arXiv preprint arXiv:2104.08836,
2021.
[3] Xiangxiang Chu, Zhi Tian, Bo Zhang, Xinlong Wang, Xiaolin Wei, Huaxia Xia, and Chunhua Shen. Conditional positional encodings for vision transformers. arXiv preprint arXiv:2102.10882, 2021.