跳到主要内容
文章WHITEHOLE

PDF 到结构化数据:三类难啃文档的失败特征与兜底

文档解析,指的是把 PDF、扫描件这类以版面形式存在的文件,转成保留层级与表格结构、可被程序检索的数据。它决定知识库的原料质量:原料错了,后面的检索与生成都建在错误的地基上。本文按三类难啃文档说明失败特征与兜底做法

OCR文档解析数据

文档解析,指的是把 PDF、扫描件、图片这类以版面形式存在的文件,转成保留标题层级、段落归属与表格结构、并可以被程序检索的数据。它常被当成一个纯技术环节,但它其实决定了知识库的原料质量 —— 原料错了,检索与生成都是在错误的基础上叠加

三类难啃的文档

大多数解析工具在结构规整的文字型 PDF 上表现都不错。真正会出问题的是这三类:

  • 扫描件与拍照件:没有文字层,必须先做识别,识别质量受清晰度、倾斜角度与印章遮挡影响。
  • 双栏与图文混排:阅读顺序不是简单的从上到下、从左到右,按坐标排序常把两栏内容交错拼接。
  • 内嵌表格与附录:合并单元格、跨页续表、脚注与批注,都会打乱行列关系。

这三类的共同点是:解析工具通常会给出结果而不是报错,所以问题只能靠抽查发现,不会自己浮出来。

失败长什么样

  • 段落错位:一句话被拆进两个不同段落,或两栏内容交错,读起来像语序错乱。
  • 表格塌陷:数字全部堆成一列,表头与数据分离,金额与项目对不上。
  • 层级丢失:所有标题都变成正文,章节结构消失,切片时无从按层级切分。
  • 异常字符残留:识别失败处出现替换字符,且数量不多,容易被整篇忽略过去。

验收时不要只看前几页。上述问题通常集中在图表密集的中后段与附录,而那恰恰是业务上最常被查的地方。

兜底做法

把解析结果分成三档处理,比追求一次性百分百准确更现实:

  • 可自动通过:结构完整、无异常字符、表格行列数正常的文档,直接入库。
  • 需人工确认:涉及金额、条款、参数的关键片段,由业务方抽检确认后再入库。
  • 暂不入库:解析置信度低的关键文档,标记为待重新扫描或待人工录入,而不是带着错误进库。

另外两点很实用:保留原始文件与解析结果的对应关系,便于回溯到是哪一页出的错;把解析时间与工具版本记下来,出现批量问题时可以定位到是哪一批产生的。

解析质量差,后面每一步都要付代价

解析的问题不会停在这一步,它会沿着流水线逐级放大,而且每一级的代价都比上一级高:

  • 切片阶段:段落错位让语义边界无法判断,只能退回固定长度切分,前面的结构努力作废。
  • 检索阶段:表格塌陷后数字失去列名,系统能命中,但给不出能解释的答案。
  • 回答阶段:模型只能照抄错误数据,而且因为看不到表头,它连怀疑的依据都没有。
  • 治理阶段:无法判断问题出在原始文件、识别环节还是解析环节,修复只能靠重做一遍。

验收口径

  • 抽查若干份真实文档,用肉眼比对原文与解析结果,重点看表格与层级。
  • 关键字段(金额、日期、编号、条款序号)能单独取出来核对,而不是只能读整段文本。
  • 解析结果里没有无法解释的异常字符残留。
  • 存在一条明确路径,把低质量解析结果挡在知识库之外。

FAQ

常见问题

与这篇相关、并且被问得最多的几个问题

识别准确率已经很高了,还需要人工兜底吗
准确率高是针对平均文档而言。企业里真正重要的内容往往集中在印章、手写批注与复杂表格处,这些恰好是识别最不稳的地方,所以关键片段仍需人工确认
解析工具能直接产出可用的知识库吗
不能。解析只完成从版面到数据的转换,切片、元数据与权限是接下来独立的三步,跳过任何一步都会在检索质量上体现出来
双栏文档怎么处理比较稳妥
优先按栏切分后各自排序,再做合并;只按坐标排序常常会交错。若文档中双栏与通栏混排,抽样人工确认的成本通常低于反复调参