RAG管道PDF解析简明教程

在我之前的一篇文章中,我们了解了一个简单的检索增强生成 (RAG) 管道的概述。我们还了解了数据提取步骤中的分块。如果不进行分块、嵌入和存储在向量数据库中,数据提取就不完整。

虽然 RAG 管道的数据输入可以有多种类型,但最常见的输入是 PDF。与结构化的 HTML、JSON 或 Markdown 不同,PDF 是非结构化的文档。因此,即使在我们从 PDF 文档中分块数据之前,我们也需要像上图所示的那样对其进行解析。

1、什么是 PDF 解析?

PDF 解析是从 PDF(可移植文档格式)文件中提取和解释信息。它涉及分析 PDF 文件的结构和内容以提取有意义的信息,例如文本、图像、表格和元数据。

PDF 解析的目的可以有很多种,例如搜索文本并将 PDF 转换为结构化文档(如 HTML、Markdown 等)。但是,我们的目的主要是提取有价值的信息,用于训练 LLM 或 RAG。因此,我们将提取文本、表格、图像、图形和元数据。

2、PDF 解析的挑战

HTML 文档是具有明确定义的标签(如 <img><title>)的分层表示,而 PDF 文档的内部结构经过优化,以保持视觉一致性。换句话说,PDF 由一系列显示符号的指令组成。这给处理 PDF 文档带来了全新的挑战。

第一个挑战是确定页面的布局。第二个挑战在于从 PDF 中提取各种数据类型,如表格、图像或文本。

3、PDF vs.  HTML 格式

考虑到处理 PDF 文档与 JSON 或 HTML 等结构化文档相比的挑战,一个自然而然的问题会出现:我们为什么需要 PDF。下表突出显示了一些优点,并在下文中进一步解释:

HTML 与 PDF 的简单比较

简而言之,PDF 是安全的,并且可以通过任何设备和操作系统轻松访问。它们很容易压缩为方便的大小。它们易于扫描,因此非常适合打印。与跨浏览器或操作系统丢失格式的 HTML 不同,PDF 保留了其格式。

PDF 用于保留格式,因此在需要遵循严格的布局(想想表格)时使用。它们主要用于应该使用而不是编辑内容的情况。示例包括课程阅读材料、公司报告等,这些材料可以轻松打印和分发。

4、适用于 LLM 和 RAG 的 PDF

当涉及到 LLM 和 RAG 时,上述优势很快就会变成挑战!

是的,不用说,机构历来以 PDF 格式存储其内部数据。因此,解析 PDF 成为准备数据以提供给 LLM 和 RAG 管道的必然步骤。

5、PDF 解析方法

根据我们处理 PDF 的方法,PDF 解析方法大致有三种。它们是,

5.1 基于规则的方法

基于规则的解析也称为基于模板的解析。它遵循预定义的规则来根据模式或位置提取信息。

基于规则的解析工作的一个很好的例子是解析表单。例如,组织可以使用标准模板来招收新员工。基于规则的解析将对这种用例大有裨益。另一个很好的例子是从发票中提取数据并将费用更新到内部数据库中。

5.2 基于管道的方法

基于管道的方法将 pdf 解析任务分解为一系列步骤或任务。例如,第一步可以是修复页面的模糊或方向。第二步可以进行视觉和语义结构分析的布局分析,以确定图像、表格和文本的位置。例如,页面可以是双列文本,而不是单列。然后,第三步可以从已识别的布局中提取表格、文本和图像。最后一步可以是集成已识别的结果以将页面恢复为 HTML 或 Markdown 格式。

一个简单的示意图,显示了基于管道的 pdf 解析方法中可能的不同任务

5.3 基于学习的方法

它们基于机器学习或深度学习模型。与任何其他基于学习的方法一样,它们需要一些数据来训练和开发模型。它们可以进一步分为三类,即基于深度学习和基于小模型。

一些常用的基于学习的 PDF 解析方法

上图显示了一些众所周知的方法。它们包括卷积神经网络 (CNN)、光学字符识别模型(例如 Google 的 Tesseract、Microsoft 的 Table Transformer)以及用于检测布局的检测和分割算法(例如 Mask R-CNN)。或者可以使用简单的文档分类模型对文档类型进行分类,然后使用管道进一步处理。

5.4 混合方法

顾名思义,它们结合了基于规则和基于学习的方法,以充分利用两全其美。

6、需要考虑的权衡

在选择构建 PDF 解析管道的方法时,主要考虑因素包括文档的复杂性、我们可用的计算能力以及系统的延迟要求。

本文只是对 PDF 解析的介绍。在接下来的文章中,我们将使用带有 Python 代码的动手笔记本深入研究每种方法。


原文链接:PDF parsing for LLMs and RAG pipelines — A concise guide

汇智网翻译整理,转载请标明出处