项目中的文档清洗具体做了哪些工作?
未标记
考查重点:清洗范围与结构保留。解析正文、去页眉广告与重复,修复断行;保留标题、表格、版本和权限,抽样对照原文验证没有删掉关键限制
本题目录
参考答案
核心回答
文档清洗要解决的是:入库内容是否完整、可读、能保留原意并追溯来源。一般先识别文件格式和编码、正确解析正文,再去除页眉页脚、导航广告与重复内容,修复可确认的断行和字符问题,保留标题、表格、代码、版本与权限,最后抽样对照原文和真实问答验证。
项目回答应结合实际处理过的数据讲清规则、异常及验证。比如运维知识库里,重复页脚可以去掉,但错误码、命令参数、单位和“不适用于某版本”的条件必须留下;清洗后的文字更短,不代表质量更高。
先把解析问题与清洗问题分开
HTML要提取有效正文,避免把菜单和推荐列表当知识;文本PDF检查阅读顺序和多栏,扫描件再走OCR;表格要保留表头与行列对应,代码保留缩进、符号和所属语言。扩展名不能代替格式判断,解析结果为空或文字异常时应标记失败,不能当成功文档静默入库。
解析正确后,再处理多余空白、重复页眉页脚、明确的乱码和爬虫残留。中文换行不能一律拼接,英文断词也不能仅靠删除连字符;规则应根据文档类型设计,并保留原始文件与转换版本以便回看。
去重与版本如何处理
完全重复可用内容哈希识别;模板相似或近重复可以先找候选,再检查关键差异。两份制度只改一个生效日期,或代码示例只差一个否定条件,都不能直接合并成相同内容。
相同正文可能来自多个入口,合并索引内容时仍要保留各自来源与授权边界;不同版本记录生效时间和替代关系,不能只按“最后抓到”决定哪个正确。过时内容要按业务策略过滤或标注,不从文本里猜一个最新版本。
清洗后怎样验收
结构检查包括必需元数据、可读文本、异常字符、重复率、表格和代码完整性;抽样按文件类型、长度和解析器分层,对照原文看是否漏掉结论、条件或例外。
再用真实问题检查证据是否还在:清洗前能定位的错误码、参数或条款,清洗后是否仍能检索并回答。可比较固定评测集的证据覆盖、答案准确和失败样例,保留每条规则的版本;固定评测集与代表性失败样例比单报处理条数更能说明清洗效果。
常见追问
用大模型统一改写是否更干净? 可以辅助识别异常或整理结构,但事实、数字和否定条件需要回到原文核对;大量自动改写会增加语义漂移和成本,确定性规则能解决的先用规则。
对应教程
- 第19章:RAG检索增强生成:回看加载、切分、入库与在线问答的分工;本文进一步说明多源治理和质量检查。
参考资料
- 国内:RAG文档处理与切分策略:依据文档解析、清洗与分层检查,说明正文中多栏、表格、乱码和正文噪声需要按类型处理的原因。
- 国内:RAG知识库更新与维护:更新链路与版本管理部分说明为什么去重和清洗后仍要保存来源、版本及可回放原文。
- 国内:Agent RAG与混合检索工程高频考点:参考文档治理与检索工程的分工,说明正文中清洗后沿证据检查链路、区分解析遗漏与生成错误的方法。
- 国外:Docling:Chunking:结构化文档与分块的关系说明清洗后应保留标题、表格和来源位置,不能直接抹平成一串文本。
- 国外:Unstructured:Chunking:按文档元素组合片段的机制说明解析结构为何影响切分,以及表格等元素为什么需要单独处理。
