RAG 离线 Pipeline 2(全景):把"非机器可读格式"(PDF、Word、PPT、扫描件…)转化为"可编辑、可处理文本",核心目标是完整提取数据内容并保留基础结构(表格行列关系、章节层级),为后续清洗提供高质量输入。
解析五步
| 步骤 | 作用 |
|---|---|
| 格式识别与分类 | 通过文件后缀(.pdf/.md/.jpg)、文件头信息(PDF 头"%PDF-1.7")、内容特征(HTML 的 <!DOCTYPE> 标签)识别四大类型:图像类 / 结构化 / 半结构化 / 纯文本类 |
| 文本提取 | 按文档类型选择不同提取策略,难点见下表 |
| 版面分析与结构识别 | 识别标题层级、表格边界、多栏排版、段落、特殊元素(代码块/引用块/图片说明) |
| 特殊元素处理 | 代码、公式、图表、图片说明文字单独处理 |
| 元数据提取 | 来源信息(文件名/路径/URL/文档 ID)、时间信息(创建/修改/发布)、层级结构(章节路径)、内容类型、权限信息、作者部门 |
各类文档的提取重点与难点
| 文档类型 | 提取重点 | 难点 |
|---|---|---|
| 提取文字流、处理多栏排版、识别阅读顺序 | 扫描版 PDF 需 OCR;多栏文档不能按行读取 | |
| Word/DOCX | 提取段落、标题层级、表格、页眉页脚 | 区分正文与模板元素 |
| PPT | 提取每页标题、正文、图表中的文字 | 文字可能分散在多个文本框中 |
| HTML | 去除标签、提取正文、保留链接 | 过滤广告、导航栏等噪声 |
| 扫描件/图片 | OCR 文字识别 | 手写体、复杂表格、印章干扰 |
复杂排版的阅读顺序问题(面试高频)
库内文档版式众多,传统解析引擎只能解决简单排版(横向多栏、纵向多栏),无法处理如图/表群组、跨栏/表+图段落、图表文环绕等复杂排版。
两类解决方案对比:
| 技术方案 | 说明 | 优点 | 缺点 |
|---|---|---|---|
| 版面分析 + 规则排序 | 基于版面分析定位图像中的版面元素(段落/表格/图片/标题)的位置、顺序和类别,再通过规则排序 | 思路简单,需求明确;实现快、性能较高 | 难以解决文本混排等复杂版面的阅读顺序问题 |
| 按顺序生成文本 | 输入无序文本识别内容,自回归生成有序文本内容 | 较好实现纯文字元素排序 | 仅能处理文字,无法处理其他类型;细粒度自回归性能较差 |
文档解析的 4 步具体实现
输入图片 → 版面分析 → 表格识别 → 文本识别 → 文档解析结果整合
- 版面分析:定位图像中的版面元素(段落/表格/图片/标题等)的位置、顺序和类别。
- 表格识别:将识别到的表格图像转化为具有行列关系的结构化信息。
- 文本识别:识别图像中的文字内容。
- 结果整合:把多种元素识别结果按照阅读顺序整合成 Markdown 内容。
PM 此阶段职责
- 定义保真度优先级:哪些结构必须保留(表格行列、章节层级),哪些可以丢失(页眉页脚)。
- 与算法侧定义"解析失败"的判定标准与人工处理流程。
相关页面
→ RAG运转流程 → RAG数据采集 → RAG数据清洗与文本分割 → AIPM课程 Day7