学理科的朋友都有体会:把一张带公式的讲义拍照转成可编辑文本,公式总是重灾区。把图片里的公式变成结构化的代码表示,这就是 AI 文档理解中的公式识别。看完这篇,你就有了判断识别质量的尺子。
先给一个能立刻带走的判断标准:公式识别的结果好不好,不看识别器报了多少信心分,看渲染出来和原图像不像。渲染对照是唯一可靠的验收方式。
公式为什么不能当文字读
普通文字是线性的,从左到右读就行。公式是二维的:分数线把上下结构立起来,上下标挂在主角肩膀上,根号像屋顶罩住一串内容。把公式按一维字符流读出来,结构信息全丢,这也是为什么公式识别要单独成一支技术。
类比:普通文字像排队,公式像一栋楼——有几层、每层住了谁,都得记下来。一整页讲义里公式区怎么圈出来,先靠版面分析。
一个实用习惯:拍讲义时让公式独占一行、少拍手写涂改,识别质量立刻上一个台阶。素材端的一点点讲究,抵过后端大量调参。
最后给个整体心态:公式识别已经能用,但还没有到闭眼信的程度。把它当成高效起草员,人工做校对,是最省力的分工。
从印刷体到手写体
印刷体公式字形规范、间距规则,识别相对成熟。手写公式难在每个人的写法不同、间距随意,连笔还会让符号粘连——这与手写识别遇到的挑战同源:字形差异大、边界不清。判断一份素材的识别难度,先看它离印刷体有多远。
两者的难度差异也有数据感:印刷体公式在规范排版下接近全对,手写公式则随潦草程度明显下滑。同样的内容,源形态决定成败,这句话在手写场景尤其成立。
类比失效处:排队的人数是确定的,公式里的符号归属却有歧义——同一个上标挂在本层还是上一层,不同模型可能给出不同判断。
识别结果长什么样
主流输出是 LaTeX 这样的标记语言:一串代码精确描述每个符号的层级和位置,能被文档软件渲染回漂亮的公式,也能直接进计算引擎。DeepSeek 和智谱清言这类对话模型识图输出公式时,多数给的也是这种表示。
常见转写错误有固定套路:上下标错挂到隔壁符号、嵌套分式的层级少一层、根号覆盖范围多框一个字符。拿到结果先扫这三类,覆盖大半问题。渲染对照时把字号放大看细节,小字状态下层级错误很难察觉。
三类高频转写错误,对上号再逐个核。
| 转写错误 | 结果里的样子 | 核对时看哪里 |
|---|---|---|
| 上下标错挂 | 上标或下标挂到了隔壁符号上 | 逐个核上下标挂在哪个符号上,重点查 |
| 嵌套分式缺层 | 嵌套分式的层级少一层 | 放大字号数分式的层数 |
| 根号范围过宽 | 根号多框住一个字符 | 看根号罩住的字符范围对不对 |
底层上,符号先被视觉编码器切块编码,特征再经由图像 token 接入语言模型,才谈得上转写成代码。
判断识别质量的方法
拿到结果怎么判断好坏:渲染出来对照原图看三层——符号认对没有、上下层级对没对、整体结构像不像。三层里层级最要紧:符号全对但层级错了,公式含义照样变。
拿不准的公式还有交叉验证法:换一个模型识别同一段,两个结果一致基本可放心,不一致就人工裁决。长推导则分段处理,每段渲染对照后再拼回全文,比整页一次识别好排查。
素材整理也讲究批处理节奏:同一份讲义一次识别完,别分几次拍、几次转,光照和角度一致时,错误模式更集中,修起来更快。
公式识别自查清单
- 渲染后与原图逐符号对照
- 分式、根号的层级是否正确
- 上下标挂在哪个符号上,重点核
层级错了符号再对也是错,末条优先查。
换个问法再问公式识别三句
- 识别出的代码能直接计算吗?:能,接入计算引擎即可求值,前提是结构转写正确。
- 多行推导怎么处理?:逐行识别再按推导顺序拼接,行间的等号对齐是核对要点。
- 图表里的坐标轴标签算公式吗?:简单的算,复杂的识别器会把它们当短公式处理。
带走的尺子:公式识别的好坏,看结构不看手感。渲染对照一遍,高低立判。


