跳到主要内容

文档格式为什么影响 AI 检索质量

AI 检索面对的不是人眼看到的完整页面,而是解析、结构还原和切分后的片段。本文沿着因果链解释标题、表格、扫描件、页眉页脚、版本信息如何改变检索结果,并给出入库前后的验收方法。

核心结论

文档格式影响 AI 检索质量,因为检索对象是解析和切分后的文本片段,不是原页面。标题层级丢失会让片段失去主题,表格拆散会让数值失去表头与单位,扫描件识别错误会污染文本,重复页眉页脚会制造假相关,版本信息缺失会让旧规则被当成现行规则;这些问题会沿着解析、切分、索引一路传到答案。

标题、表格与扫描页面经过解析和切分后进入 AI 检索系统的抽象插画

文档格式会影响 AI 检索质量,因为系统检索的不是你眼前的页面,而是解析后、切分后、带着元数据的文本片段。标题层级丢失、表格被拉平、扫描件识别错误、页眉页脚重复或版本标记缺失,都会让检索在生成答案之前就偏离。

因此,「这份文档人能看懂」不等于「系统能稳定检索」。排查知识库答错时,不能只看模型最后说了什么,还要逆着链路查看:原文件里有什么,解析出了什么,切成了什么,索引记住了什么,问题实际召回了什么。

从页面到答案,中间至少发生五次信息转换

一份文件进入检索增强生成(Retrieval-Augmented Generation,RAG)系统后,通常要经过解析、结构还原、切分、索引和召回。解析把文件变成机器可处理的文字与元素;结构还原判断标题、正文、表格及阅读顺序;切分把长文变成可检索片段;索引记录片段的语义与元数据;召回再按问题选出候选证据。关于「先检索再生成」的整体机制,可先看RAG 的企业通俗解释

每一次转换都可能丢信息,而且损失会向后传递。解析没读出一行,后面不存在任何算法能检索到它;标题和正文关系被打散,切分器就不知道上下文边界;错误片段进入索引,检索越快,只是越快地找回错误。生成阶段不能凭空修复从未到达它的证据。

文档从原始版面经过解析、结构还原、切分、索引到检索回答的因果链示意图

标题层级不是排版装饰,而是片段的上下文标签

看一段「自签收之日起七日内」,人会向上看标题,知道它属于「A 产品个人消费者退换规则」。如果解析只保留正文,这句话就失去产品、对象和主题。员工问 B 产品的企业采购退货条件时,语义检索仍可能把它召回,因为「签收、七日、退换」很相近,但答案的适用范围已经错了。

可用的文档应让标题是结构,而不只是字号大、颜色深。一级标题说明文档或产品,二级标题说明主题,更低层级承载具体条件;标题文字应在切分后随片段保留,必要时作为父级上下文写入元数据。PDF Association 的 Tagged PDF 指南强调语义恰当的结构标签与合乎逻辑的阅读顺序,其用途原本包括可访问性,对机器重用同样有直接价值。

2020 年的 LayoutLM 研究把文本与版面位置共同用于文档理解,说明版面关系不是可以随手丢弃的噪声。企业不必因此采购某个特定模型,但应建立一个朴素标准:关键含义若依赖位置、缩进或视觉样式,就要把这种关系转换成明确结构或文字。

表格的难点不是读到数字,而是保住数字和表头的关系

表格在人眼中是一组横纵关系,解析后却常变成一串文字。假设价格表有「基础版、专业版」两列和「月付、年付」两行,如果输出顺序变成「基础版 专业版 月付 100 180 年付 1000 1800」,数字虽然都在,系统却未必知道 1000 属于哪个版本、哪个周期。合并单元格、多级表头、跨页续表和脚注会进一步增加歧义。

处理表格时要验收关系,不能只验收字符。每个数据片段应带上表名、列名、行名、单位、生效范围和必要脚注;跨页表格要让续页继承表头;一个单元格只有在同行同列条件完整时才可独立使用。对复杂表格,可以把原表保留为证据,同时生成面向检索的文字化条目,例如「专业版年付价格为……,适用于……」,但转换后的内容必须能追溯到原行列。

流程表和对照表还要防止被固定长度切分拦腰截断。把「触发条件」留在一个片段、「处理动作」切到另一个片段,两边都像完整句子,却都不能独立回答问题。表格是否成功入库,判断标准是关系能否复原,不是复制粘贴时有没有文字。

扫描件通过 OCR 只是起点,还要恢复阅读顺序与置信边界

扫描 PDF 的每一页本质上可能只是一张图片。光学字符识别(Optical Character Recognition,OCR)把像素转成文字,但印章覆盖、倾斜页面、低分辨率、手写批注、相似字符和多栏版式都可能造成错字或乱序。对制度名称、产品型号、金额、日期和否定词来说,一个字符错误就可能改变结论。

冷启动时不要把「OCR 已完成」当成质量状态。应抽查标题、关键条款、表格与页码,记录哪些页面需要人工复核;识别不稳定的字段不要直接变成确定答案。双栏文件要确认先读完左栏再读右栏,而不是两栏逐行交错;横向页面要先校正方向;图片中的流程条件最好补成文字。

原始扫描件仍应保留,并让解析文本能够指回页码或区域。这样用户发现异常时可以回看证据,维护者也能修正识别结果,而不是在一个来源不明的纯文本副本上继续修改。资料选择与抽查责任如何建立,可接着使用知识库冷启动资料清单中的盘点字段。

页眉、页脚、目录与脚注会制造「看似相关」的片段

一份手册每页都重复公司名、文档标题、保密提示和版本号。若解析器把它们混入正文,这些高频词会出现在大量片段中,让不相关页面获得相似信号。目录则重复了全书标题,可能被检索为候选,但它只有页码没有答案;页脚里的旧网址或固定免责声明也可能和用户问题意外重合。

处理原则不是粗暴删除页面顶部和底部的所有文字,因为关键脚注也可能在那里。应识别跨页重复元素并排除,保留真正解释条件、单位或例外的脚注,再把脚注绑定到对应段落或表格。抽查解析结果时,不要只读顺畅的一页;要专门看目录页、跨页边界、含脚注页和章节切换处。

版本信息若只写在文件名里,检索很容易把历史当现行

「产品手册_最终版2_新.pdf」对系统没有可靠含义。版本信息至少应拆成可用元数据:文档状态、版本号、生效与失效时间、适用产品或地区、替代了哪一版、业务责任人。历史文件可以保留归档,但默认检索应明确排除已失效内容;确需查询历史时,问题和权限都应显式进入历史范围。

版本裁决发生在索引之前。若新旧制度同时进入同一检索池,模型看到两段相反条款时,可能任选其一,也可能拼成不存在的折中。来源引用只能证明它引用了某份文件,不能证明那份文件仍有效。企业知识库的完整建设流程因此把权威版本、责任人与复核机制放在技术接入之前,详见企业 AI 知识库怎么建

切分决定系统能找回什么,重叠不能补救错误边界

切分过大,一个片段混入多个主题,问题与核心答案的语义会被周围内容稀释;切分过小,条款离开标题、前置条件和例外,召回的是一句没头没尾的话。固定字符数可以作为技术兜底,不应成为唯一规则。更稳妥的顺序是先尊重章节、条款、问答对、步骤和表格边界,再在过长单元内部切分。

片段重叠能减少边界附近的一点信息损失,却不能修复表头丢失、阅读顺序错误或版本混杂。每个片段最好能回答一个清楚的小问题,同时携带文档名、父级标题、版本和适用范围。语义索引如何按意思寻找相近片段,可参照Embedding 与向量数据库的解释;它能找到「意思近」,却不会自动判断「条件对」。

也不要用「模型上下文很长」来跳过检索和结构治理。2024 年发表于 TACL 的 Lost in the Middle 研究显示,模型并不能稳定利用长输入中不同位置的信息。把整本手册塞进上下文,既不等于找到了正确证据,也不等于模型会正确使用位于中间的条款。

验收要分层,才能知道错在文件、片段、检索还是回答

准备一组来源已知的真实问题,故意覆盖标题限定、表格取值、扫描页、脚注例外、新旧版本和跨章节步骤。每个问题都沿同一条链检查:

  1. 原文件是否确实写明答案,且业务负责人确认该版本有效。
  2. 解析文本是否保留关键文字、阅读顺序、表头、单位与脚注。
  3. 切分结果是否把答案和标题、条件、例外放在可共同理解的范围内。
  4. 检索候选中是否出现正确片段,错误候选为何看起来相关。
  5. 生成回答是否忠于候选证据,并显示可回看的来源位置。
  6. 失败记录能否归到文件修复、解析规则、切分策略、元数据或回答约束中的具体一层。

分层验收的价值是避免盲目调模型。正确片段根本没被召回,应修资料或检索;正确片段已排在前面而答案仍误读,才进入生成与提示约束的排查。很多企业知识库不好用的表面症状,都能沿这条链定位到更早的一步。文档格式不是上线前的清洁工作,而是检索系统的一部分;结构在源头表达得越清楚,后面的每一层越有机会做对。

资料来源

  1. Lewis et al., Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (2020)
  2. Xu et al., LayoutLM: Pre-training of Text and Layout for Document Image Understanding (KDD 2020)
  3. PDF Association, Tagged PDF Best Practice Guide: Syntax (2019; corrected 2023)
  4. Liu et al., Lost in the Middle: How Language Models Use Long Contexts (TACL 2024)