在接下来的部分,我们将介绍一种新的度量方法,称为通用行项目识别度量(General Line Items Recognition Metric,简称GLIRM),它满足上述所有属性。GLIRM可以看作是ANLS*和DocILE的扩展,使其满足属性#1和属性#6,同时也是GriTS的一种推广,使其满足属性#7。
Franz Louis Cesista, Rui Aguiar, Jason Kim, Paolo Acilo. Retrieval Augmented Structured Generation: Business Document Information Extraction As Tool Use.
Skalický, Jakub, et al. “Business document information extraction.” arXiv preprint arXiv:2202.06070 (2022).
Smock, Matthew, et al. “GriTS: A Generalized Table Structure Recognition Metric.” arXiv preprint arXiv:2304.01428 (2023).
Willard, Willard. “Outlines: A toolkit for building structured generation models.” arXiv preprint arXiv:2303.01632 (2023).
Simsa, Jiří, et al. “DocILE: A Large-scale Research Benchmark for Document Key Information Extraction and Line Item Recognition.” arXiv preprint arXiv:2312.00212 (2023).
Huang, Xingyi, et al. “LayoutLMv3: Multi-modal Pre-training for Visually Rich Document Understanding.” arXiv preprint arXiv:2203.06470 (2022).
Liu, Yinhan, et al. “Roberta: A robustly optimized BERT pretraining approach.” arXiv preprint arXiv:1907.11692 (2019).
Carion, Nicolas, et al. “End-to-end object detection with transformers.” arXiv preprint arXiv:2005.12872 (2020).
在现实生活中,我们常常需要将商业文档中的信息转化为结构化的格式,以便后续的系统能够解析和使用。这个过程被称为商业文档信息提取(Business Document Information Extraction,简称BDIE)。BDIE主要包括两个任务:关键信息提取(Key-Information Extraction,简称KIE)和行项目识别(Line Items Recognition,简称LIR)。本文将介绍一种全新的方法,即”检索增强结构化生成”(Retrieval Augmented Structured Generation,简称RASG),用于解决BDIE问题,并在相关基准测试中取得了最先进的成果。
什么是商业文档信息提取?
商业文档信息提取是将非结构化信息(如原始文本、扫描文档等)转化为结构化格式的过程,使其可以被后续的系统解析和使用。其中,关键信息提取的目标是将文档中的信息提取出来,并按照键值对的形式进行格式化。而行项目识别的目标是将信息提取为一系列行项目,其中每个行项目对应表格中的一行,并以列键值对的形式进行格式化。与表格结构识别不同的是,行项目识别不关注列的顺序,只要能够正确地将列映射到预定义的列键即可。
检索增强结构化生成
检索增强结构化生成(RASG)是一种由四个组件组成的方法:检索增强生成(Retrieval Augmented Generation)、监督微调(Supervised Finetuning)、结构化生成(Structured Generation)和结构化提示(Structured Prompting)。这些技术可以提高机器学习模型使用工具的能力,从而改善BDIE任务的性能。
RASG的四个组件是相互关联的:
这四个组件在使用开源的7B大型语言模型(LLM)Hermes 2 Pro – Mistral 7B上可以取得最先进的BDIE结果。然而,在使用GPT-3.5模型时,只需要其中的一个子集即可。
监督微调中的注意事项
监督微调的目标是使语言模型既能输出正确的内容,又能输出正确的结构。为了确保模型输出的结果可以被后续系统解析,我们需要将无效标记的概率置零。然而,简单地将监督微调和结构化生成相结合往往会导致结果不佳。主要存在以下两个问题:
边界框反向计算的启发式算法
对于关键信息提取任务,我们发现一个简单的贪婪算法(算法1)就足以用于边界框的反向计算。如果要使用整个页面,可以将下边界和上边界分别设置为0和页面的高度(以像素为单位)。对于行项目识别任务,一个好的启发式算法是:(1)将页面在垂直方向上划分为多个块,每个块对应一个行项目;(2)使用上述算法1为每个行项目的分配的单词块中的单词反向计算边界框。挑战在于如何划分页面。
算法1:边界框反向计算的启发式算法
这种方法的时间复杂度为O(MN^2 * Algo1),其中M是行项目的数量,N是页面的高度。我们可以通过降低页面的规模来优化这个复杂度。在实际生产中,我们使用N=128。此外,我们利用算法1的单调性进行优化:匹配分数随着上边界的增加和下边界的减小而不增加。因此,我们可以使用分治优化来加速计算,将复杂度优化为O(MNlogN * Algo1)。最后,我们使用二分搜索来找到第一个行项目的最大下边界和最后一个行项目的最小上边界,以缩小边界范围。
通用行项目识别度量
行项目识别的目标是将信息提取为有序的行项目列表,其中每个行项目对应表格中的一行,并以列键值对的形式进行格式化。为了评估行项目识别的性能,我们需要一个具备以下属性的度量方法:
目前存在的行项目识别度量方法中,ANLS*和DocILE使用基于最大权重二分图匹配的算法进行行匹配,因此不满足属性#6。此外,DocILE支持单元格内容和单元格位置的识别,但无法隔离这两个方面,这使得它无法用于只进行单元格内容或单元格位置识别的任务。GriTS满足上述所有属性,但不满足属性#7。
在接下来的部分,我们将介绍一种新的度量方法,称为通用行项目识别度量(General Line Items Recognition Metric,简称GLIRM),它满足上述所有属性。GLIRM可以看作是ANLS*和DocILE的扩展,使其满足属性#1和属性#6,同时也是GriTS的一种推广,使其满足属性#7。
GLIRM中的相似度匹配分数
根据属性#1和属性#4,我们将使用𝑓(𝑐ₚ, 𝑐ₜ)表示预测单元格𝑐ₚ和真实单元格𝑐ₜ之间的相似度度量。𝑓可以是适用于特定下游任务的任何相似度度量方式,如产品参考编号的精确匹配、边界框的交并比等。为了使度量方法类似于F1得分,我们需要将𝑓限制在0到1之间:0 ≤ 𝑓(𝑐ₚ, 𝑐ₜ) ≤ 1,对于所有𝑐ₚ, 𝑐ₜ。我们将使用𝑔𝑓(𝑟ₚ, 𝑟ₜ)表示预测行𝑟ₚ和真实行𝑟ₜ中对应单元格的相似度分数之和。
行匹配
我们将𝑅ₚ和𝑅ₜ分别表示预测的行序列和真实的行序列。我们的目标是找到等长的子序列𝑅~ₚ和𝑅~ₜ,使得对应单元格的相似度分数之和最大:
𝑅~ₚ, 𝑅~ₜ = argmax 𝑅ₚ’ | 𝑅ₚ, 𝑅ₜ’ | 𝑅ₜ ∑ 𝑖 𝑔𝑓(𝑅~ₚ[𝑖], 𝑅~ₜ[𝑖]) (1)
由于我们关注子序列而不是行的子集,因此更适合使用类似Levenshtein距离的算法来找到𝑅~ₚ和𝑅~ₜ,而不是像ANLS*和DocILE那样使用基于最大权重二分图匹配的算法。这样可以惩罚在预测中交换或重新排列的行。
GLIRM的准确率(GLIRM-Prec)和召回率(GLIRM-Rec)可以定义如下:
GLIRM-Prec(𝑅ₚ, 𝑅ₜ) = (1/|𝑅ₜ|) ∑ 𝑖 𝑔𝑓(𝑅~ₚ[𝑖], 𝑅~ₜ[𝑖]) (2)
GLIRM-Rec(𝑅ₚ, 𝑅ₜ) = (1/|𝑅ₚ|) ∑ 𝑖 𝑔𝑓(𝑅~ₚ[𝑖], 𝑅~ₜ[𝑖]) (3)
GLIRM-F1(𝑅ₚ, 𝑅ₜ)可以定义为:
GLIRM-F1(𝑅ₚ, 𝑅ₜ) = (1+𝛽²) ∑ 𝑖 𝑔𝑓(𝑅~ₚ[𝑖], 𝑅~ₜ[𝑖]) / (𝛽²|𝑅ₚ| + |𝑅ₜ|) (4)
在实际应用中,或者当人工审核系统的输出时,召回率通常比准确率更重要。这是因为查找并确定缺失单元格比验证提取单元格的正确性需要更多时间。因此,我们可以定义带有𝛽参数的GLIRM-F1指标:
GLIRM-F1𝛽(𝑅ₚ, 𝑅ₜ) = (1+𝛽²) ∑ 𝑖 𝑔𝑓(𝑅~ₚ[𝑖], 𝑅~ₜ[𝑖]) / (𝛽²|𝑅ₚ| + |𝑅ₜ|) (5)
其中𝛽是一个控制召回率重要性的超参数。当𝛽=1时,该指标与GLIRM-F1相同。
实验结果
我们使用DocILE数据集进行了实验。表格I比较了LLMs与RASG在KIE和LIR任务上的性能与强大的多模态基线(如LayoutLMv3和Roberta + DETR)。表格II显示了RASG各组件在不同基线模型上的贡献。
在KIE任务上,只需要GPT-3.5 + 1-Shot Retrieval或Hermes 2 Pro + RASG即可超越基线。对于LIR任务,GPT-3.5 + 1-Shot Retrieval + Structured Prompting就足以击败基线模型。
此外,我们还测量了边界框反向计算启发式算法的中位数表格级信息覆盖得分(Information Coverage Score,简称ICS)。最佳基线模型Roberta + finetuned DETR在ICS上达到92.93%,而GPT-3.5 + RASG和Hermes 2 Pro + RASG分别达到87.79%和85.02%。
讨论与结论
我们的模型性能和消融实验结果表明了几个结论。首先,在KIE任务中,与其进行提示工程相比,使用检索机制和/或在目标数据集上进行微调的效果更好。对于LIR任务,首先进行结构化提示,然后再进行微调是一个更好的策略。有趣的是,经过适当调整和增强的LLMs可以击败经过微调的多模态模型,如LayoutLMv3和Roberta + DETR。最后,我们提出的边界框反向计算启发式算法在表格检测任务上的性能仅略逊于最佳基线模型。
对于在商业文档信息提取领域工作的团队,我们建议首先使用支持结构化生成的现成LLMs模型,然后实现检索机制。如果性能仍然不理想,可以考虑进行监督微调。对于LIR任务,我们建议先从结构化提示开始,然后再进行微调。
综上所述,本文介绍了使用RASG框架解决BDIE问题的全面方法,并提供了关于LLMs在这一领域中性能和优化策略的见解。
参考文献: