导言:
大模型时代,基于个人文档库的 RAG 应用迅速崛起,而文档解析作为关键首步,直接决定了大模型对文档内容的理解程度与回答准确性。在面对科学类文档中大量的公式时,准确解析公式显得尤为关键。而评价一个模型是否准确的前提是有一个准确、公平的指标。然而,熟悉公式识别领域的人员会发现使用BLEU、EditDistance等纯文本指标无法准确地衡量公式识别的性能,原因是同一个公式存在多种Latex书写方式。
为此我们提出一套基于视觉元素匹配的评价指标CDM,与人工查看公式方式类似,能更准确的评价公式识别的效果,从而促进公式识别领域的发展。
本研究成果《Image Over Text: Transforming Formula Recognition Evaluation with Character Detection Matching》已被计算机视觉顶级会议CVPR 2025接收,作者团队来自上海人工智能实验室OpenDataLab团队与上海交通大学,欢迎关注。

一、什么是CDM
CDM(Character Detection Matching),顾名思义,是从字符检测和匹配的角度来考虑公式的评测问题,首先来看下官方Demo给的简单案例:

Demo界面中,左侧是两个文本框,用来键入公式的真值和预测值(Latex格式),右侧是计算的结果指标,以及可视化的匹配结果,可视化结果里,清楚的用绿色框来定位预测正确的字符,同时用红色框来定位预测错误的字符。
二、CDM和传统指标的对比
1. CDM和纯文本指标(BLEU,Edit Distance等)的对比
下图展示了CDM和BLEU、EditDisttance ExpRate等纯文本指标相比的优点,其中,case1,预测和真值的公式是相同的,但是由于书写风格不一致,纯文本的指标都不能正确的评价这种情况;case2和case3同样都是将"z"识别成"2",但是错误个数不一样,纯文本指标都不能正确的根据错误个数来衡量错误程度。

为了验证CDM在更大范围优于纯文本类指标,作者做了两组实验。其一是人工投票实验,作者随机挑选了1000组case,并计算它们的CDM指标和BLEU指标,然后让志愿者筛选哪个指标更合理,下图(a)显示投票结果中,64%的case,CDM要优于BLEU,剩下的情况里,32%的case两者同样合理,3%的case BLUE要优于CDM,还有1%的case两者都不合理,可以看见CDM在大多数情况下都是合理且要优于BLEU的;下图(b)显示的是按分数分层的case里,CDM和BLEU更优的数量,可见在公式的预测质量越高,CDM约显示出绝对的准确性,在公式预测的分数较低的情况下,才有一些CDM不够合理的case出现。
除了人工投票实验,作者还设计了一个模拟实验,让ChatGPT对一组公式进行重写,重写的过程不能改变公式的渲染效果,这种情况下按理来说评测指标不应该产生变化,但是实际上,只有CDM的结果始终保持为1,BLEU和ExpRate指标都受到了很大程度的扰动,如图(c)所示。

2. CDM和纯图像指标(image diff,MSE等)的对比
除了BLEU等纯文本的指标,也有一些纯图像层面的指标,用来衡量公式识别效果,这些指标相对比较冷门,作者在附录中也把CDM和它们进行了对比。
如下图所示,直接对图片进行作差或者在作差的基础上计算MSE都有一个很大的缺点,即收到渲染布局的扰动非常明显,这类指标,只有在图像差或者MSE为0的情况下,能说明预测的结果是正确的,但是反过来指标不为0的时候却不能保证预测结果是错误的,也无法区分错误的不同程度。

三、CDM是如何实现的
看了这么多CDM的case,可以说CDM在公式评测领域对传统的评测指标是降维打击,那么CDM到底是怎么实现的呢?
下图是论文中给出的流程图:

图中,CDM一共有4个步骤:
-
元素定位:这一步首先给公式里的不同字符渲染上不同的颜色,然后用图像处理的方法,根据这些不同的颜色,得到不同字符的定位,也就是边界框,这一步是整个CDM的基础,如果这一步失败,CDM也就无法计算了;
-
元素匹配:在得到真值和预测结果的全部元素及其定位后,在这一步进行匹配,将每一个真值的元素和预测结果的元素一一匹配,这里匹配的算法采用的是匈牙利算法;
-
匹配检查:由于匈牙利匹配是完全匹配,所以在匹配完之后,需要进行检查,把不合理的匹配去掉,这里检查的角度包括字符一致性和位置关系一致性,即匹配双方不是相同的字符,或者匹配双方的位置关系和整体不一致,则都会认为错误匹配;
-
指标计算:根据最终得到的正确匹配和错误匹配的个数,计算F1score等指标。
四、总结
CDM是一种新型的公式识别评测指标,它利用字符定位和匹配对公式进行评测,对比传统纯文本的指标,在准确性上有压倒性的优势。不过,CDM目前也有一些缺陷,从官方仓库的安装教程来看,它的环境安装较为复杂,如果能进一步优化的话,应该能够获得更广泛的应用。
更多内容:
👇
1万+

被折叠的 条评论
为什么被折叠?



