引言:54 分的"暴击"
在构建"论文自动复现 Agent"的征途中,我本以为最难的是代码生成或算法对齐。然而,现实在第一步就给了我一记响亮的耳光。
在上一篇博客中,我利用 PyMuPDF 搭建了基础解析器。结果出炉:54 分(D 级)。
看着那份惨不忍睹的报告:元数据丢失严重,文档结构混乱。最致命的是------公式提取率为 0。对于理工科论文复现来说,没有公式就像写程序没有变量名。
第一章:元数据的"精雕细琢"
我首先针对 30% 的低完整度元数据进行了"外科手术"。转向了基于布局逻辑的启发式规则:
- Header 区块锁定:识别第一页顶部的特定区域。
- 作者域特征提取:通过邮箱后缀(@)分离作者列表。
- 动态截断逻辑:定位 "Abstract" 标签并设定截取终点。
战报:元数据得分由 30 跃升至 100(满分),总分回退至 68 分。
第二章:寻找解析的"圣杯"------Marker 实验
公式解析的难点在于数学符号。我将目光锁定了开源利器:Marker。
- 本地环境的"陷阱":numpy 2.x 与 pandas 的版本冲突,以及 3GB 模型的下载噩梦。
- 云端的"救赎":转向 Datalab API。解决 aiohttp 压缩编码 Bug 后,API 顺利打通。
第三章:92 分的终章
当我把 Datalab 返回的 Markdown 文本喂进评测系统时,分数瞬间"炸"开了:
- 总分:92 分
- 等级:A+
- 公式质量:显著提升
从 54 到 92,是解析思路从"纯文本提取"到"多模态布局理解"的跨越。
核心教训
- 别跟公式硬碰硬:使用基于视觉布局的工具。
- 效率高于执念:环境配置过久就果断使用云端 API。
- 永远要有"底线":保留 PyMuPDF 作为 fallback。