聊聊文档解析测评里的表格指标
最近,文档解析测评工具上线后,收到最多的反馈集中在同一个问题上:
表格指标究竟怎么算?段落、标题、阅读顺序、公式这些维度又各自代表什么?
大家关心的问题自然是最优先级的。所以近期我们会在持续优化测评工具的同时,逐项拆解这些测试指标的设计逻辑。今天就先从文档解析中的一个重头戏——
表格
为什么说表格是解析任务中的一个重点?
从源头来看,需要解析的文档里,表格几乎无处不在。论文、年报、财报、行研报告、法律文件、企业文档……表格都是构成要件,而且往往承载着精密、关键的数据。
把视线转向下游应用,在知识库搭建、RAG(检索增强生成)系统建设中,表格解析同样举足轻重。具体来说,表格能力可以从几个方面提升RAG系统的表现:
信息召回的精度与准确性:
复杂文档的处理能力:
增强上下文理解,改善生成质量:
为什么表格是算法开发同学关注的重点?
核心原因在于表格的多样性和复杂性。具体来看,无线表、合并单元格、跨页表格、超密集表格、不规则表单的还原,以及单元格内多行文字的还原,都是必须直面的难题。有时还会叠加扫描模糊、倾斜、手写内容等难度加成。
那么,什么样的表格解析效果才算好?直观来看,有两个方面:一是每个单元格的内容识别正确;二是表格整体没有错行、漏行、错误合并或拆分。
为了量化这些标准,我们在表格维度定义了三个指标:
表格文本全对率、表格结构树状编辑距离、表格树状编辑距离。
1. 表格文本全对率
公式:文本全对的表格个数(pred)/ 总表格个数(gt)
这个指标的含义是:解析出的表格中,每个单元格的文本是否与原始表格完全一致,没有遗漏、错误或多余字符。简单说,就是
检查每个单元格内容是否完全准确
举个实际例子:如果一个表格里每个格子的文本都对,全对率就是100%。文本全对率越高,说明内容识别越准确。
值得注意的是,在我们的测评工具中,这个标准比较严苛——
表格中只要有一个单元格有误,整张表就判为出错。
2. 表格结构树状编辑距离
公式:所有表格树编辑距离分数之和(pred,不包含文字)/ 总表格数量(gt)
比起上一个指标,这个概念更抽象一些。
在测评中,我们把表格结构用树状形式来表示——这是一种比对逻辑结构的实用方法(可参考下方图1)。而所谓“编辑距离”,最早来自机器翻译,指的是让两个字符串变得完全一样,最少需要多少次插入、删除、替换操作。举个例子:"kitten" 和 "sitting":
- 把 'k' 换成 's'(替换)→ "sitten"
- 把 'e' 换成 'i'(替换)→ "sittin"
- 在最后插入一个 'g'(插入)→ "sitting"
一共三步操作,编辑距离就是3。
树状编辑距离则把对比对象从字符串变成了逻辑树,从操作字符变成了操作树的节点。对树而言,同样定义了三种操作:
- 增:在父节点和子节点之间添加一个节点
- 删:删除某个节点,同时将其子节点移到该节点的父节点上
- 改:修改节点的label
计算树的编辑距离,就是从一棵树变成另一棵树所需的最少操作次数(可参考下方图2)。
如果解析引擎给出的表格结构与实际结构完全一致,测试结果中这个指标就是0,满分。这个指标得分越高,说明结构还原越好,错行、漏行或合并单元格错误越少。
图1
图2
3. 表格树状编辑距离
公式:所有表格树编辑距离分数之和(pred,包含文字)/ 总表格数量(gt)
理解了前两个指标,这个就很好说了。它综合了文本全对率与结构准确度,既考虑单元格内容,也考虑表格的层次结构和布局。通过这一指标,我们能整体评估表格解析结果的准确程度。
最后,不妨通过几个案例来直观感受。显然,下面的表格数据没有被解析成各列一一对应的格式,如果大模型拿到这样的结果,必然无法提取准确参数或建立正确分析。而一份正确的解析,则能在大部分无框线、合并单元格的情况下,准确还原文本内容和各单元格结构关系,为RAG提供高质量的信息基础。
本期我们主要拆解了测评指标中表格相关部分。接下来,还会继续探讨标题、段落等指标的设计逻辑,并不断扩充测评的维度和厂商,更好地满足大家的需求。
-
- 关于宇宙的好的网名有哪些
- 角色扮演 | 1
- 网名