聊聊文档解析测评工具中表格指标
TextIn最近发布了一个开源文档解析测评工具,放在GitHub上(仓库名:markdown_tester),专门用来定量评估文档解析成Markdown的还原效果。正好这段时间不少人在讨论表格解析的难点,今天就拿这个工具里的表格指标部分,聊聊它的设计逻辑和背后的思考。
表格解析的重点
为什么表格总被单独拎出来?
回到源头看,含表格的文档实在太普遍了——论文、年报、财报、行业报告、法律文件,几乎每个专业文档里都少不了表格。更关键的是,表格里塞的往往是那些最重要的、最精密的数据。所以在知识库搭建或者RAG系统建设这类实际应用里,表格解析的成败直接影响整个系统的可用性。
具体来说,表格解析对RAG系统的价值体现在三个层面:
- :表格天然包含结构化信息,比如日期、金额、编号。把这些信息以规整的格式提取出来,检索系统才能按需精准召回,而不是当成一大段混在一起的文本去猜。
信息召回的精读和准度
- :真实世界里的专业文档,表格往往画得花里胡哨——合并单元格、多层表头、跨页拆分,甚至加图加标注。没有靠谱的表格解析,RAG遇到这类文档基本就废了。
处理“硬骨头”文档的能力
- :举个例子,财务报告里“营收”这个维度,表格和正文描述是互相支撑的。只有把表格数据原生保留下来,才能支撑大模型生成既准确又有深度的回答。
上下文的理解与回答质量
算法开发时,表格解析到底难在哪
表格的多样性,可以说是解析算法绕不开的噩梦。无线表、合并单元格、跨页表格、超密集的表格、不规则的表单,还有单元格里自带多行文本——这些都是日常。再加上扫描件模糊、页面倾斜、手写批注,难度直接拉满。
所以从算法开发的角度来说,表格解析不是一个“差不多的准确率”就能过关的任务,它需要对这些极端情况有充分的鲁棒性。
怎么才算一个好效果?
从直接观感看,标准其实很直白:
- 单元格里的内容一个都不能认错。
- 表格整体不能有错行、漏行、错误合并或拆分。
不过,光看是不够的,还得用量化指标说话。TextIn的测评工具里,针对表格设计了三个关键指标:
- :简单说,就是解析出来的表格里,每个单元格的文字是不是和原始表格完全一致。这个指标相当严格——有一个单元格出错,整个表格就算错。所以结果大概率会偏低。但从事金融、经济、学术领域的角度看,这种严苛恰恰是必要的。比如年报里的一个数字错了一位,结论可能就全歪了。
表格文本全对率
- :这个理解起来稍微绕一些。测评里,表格结构被转换为树状表示。编辑距离大家都知道,最早是从机器翻译那边来的——两个字符串之间,经过多少次插入、删除、替换能变得完全一致。树状编辑距离就是把对比对象从字符串换成逻辑树,操作对象从字符换成树的节点(增、删、改)。
表格结构树状编辑距离
在表格解析里,如果解析出来的结构和实际结构一模一样,这个编辑距离就是0,对应满分100。得分越高,意味着结构还原得越完整;要是出现了错行、漏行、合并单元格搞错了,分数就会掉下来。
- :这其实是前两个指标的“合体版”。它的计算方式是:所有表格的树状编辑距离分数之和(加上文字部分),除以总表格数。也就是说,同时考量了文本全对率和结构准确度,能做到两全才算真本事。
表格树状编辑距离
几个案例,一看就懂
说一千道一万,不如直接看例子。
比如下面这张图展示了一个被解析失败的表格,数据完全乱了,各列对不上位。如果后面接个大模型,指望它在这种情况下提取参数、做分析、给结论,基本可以洗洗睡了。
再对比看另一个正确解析的案例:虽然表格没有框线、还涉及合并单元格,但解析结果依然准确地还原了每个单元格的文本和它们之间的结构关系。这样的质量,才算真正给RAG系统打下了可靠的基础。
-
- 关于宇宙的好的网名有哪些
- 角色扮演 | 1
- 网名