PDF 到结构化数据:三类难啃文档的失败特征与兜底
文档解析,指的是把 PDF、扫描件这类以版面形式存在的文件,转成保留层级与表格结构、可被程序检索的数据。它决定知识库的原料质量:原料错了,后面的检索与生成都建在错误的地基上。本文按三类难啃文档说明失败特征与兜底做法
文档解析,指的是把 PDF、扫描件、图片这类以版面形式存在的文件,转成保留标题层级、段落归属与表格结构、并可以被程序检索的数据。它常被当成一个纯技术环节,但它其实决定了知识库的原料质量 —— 原料错了,检索与生成都是在错误的基础上叠加
三类难啃的文档
大多数解析工具在结构规整的文字型 PDF 上表现都不错。真正会出问题的是这三类:
- 扫描件与拍照件:没有文字层,必须先做识别,识别质量受清晰度、倾斜角度与印章遮挡影响。
- 双栏与图文混排:阅读顺序不是简单的从上到下、从左到右,按坐标排序常把两栏内容交错拼接。
- 内嵌表格与附录:合并单元格、跨页续表、脚注与批注,都会打乱行列关系。
这三类的共同点是:解析工具通常会给出结果而不是报错,所以问题只能靠抽查发现,不会自己浮出来。
失败长什么样
- 段落错位:一句话被拆进两个不同段落,或两栏内容交错,读起来像语序错乱。
- 表格塌陷:数字全部堆成一列,表头与数据分离,金额与项目对不上。
- 层级丢失:所有标题都变成正文,章节结构消失,切片时无从按层级切分。
- 异常字符残留:识别失败处出现替换字符,且数量不多,容易被整篇忽略过去。
验收时不要只看前几页。上述问题通常集中在图表密集的中后段与附录,而那恰恰是业务上最常被查的地方。
兜底做法
把解析结果分成三档处理,比追求一次性百分百准确更现实:
- 可自动通过:结构完整、无异常字符、表格行列数正常的文档,直接入库。
- 需人工确认:涉及金额、条款、参数的关键片段,由业务方抽检确认后再入库。
- 暂不入库:解析置信度低的关键文档,标记为待重新扫描或待人工录入,而不是带着错误进库。
另外两点很实用:保留原始文件与解析结果的对应关系,便于回溯到是哪一页出的错;把解析时间与工具版本记下来,出现批量问题时可以定位到是哪一批产生的。
解析质量差,后面每一步都要付代价
解析的问题不会停在这一步,它会沿着流水线逐级放大,而且每一级的代价都比上一级高:
- 切片阶段:段落错位让语义边界无法判断,只能退回固定长度切分,前面的结构努力作废。
- 检索阶段:表格塌陷后数字失去列名,系统能命中,但给不出能解释的答案。
- 回答阶段:模型只能照抄错误数据,而且因为看不到表头,它连怀疑的依据都没有。
- 治理阶段:无法判断问题出在原始文件、识别环节还是解析环节,修复只能靠重做一遍。
验收口径
- 抽查若干份真实文档,用肉眼比对原文与解析结果,重点看表格与层级。
- 关键字段(金额、日期、编号、条款序号)能单独取出来核对,而不是只能读整段文本。
- 解析结果里没有无法解释的异常字符残留。
- 存在一条明确路径,把低质量解析结果挡在知识库之外。