超越 extract_text:PDF 的两层驱动 RAG 质量

企业文档智能 [Vol.1 #5A] - 文档信号(元数据、本机 TOC、源软件)和页面级内容(文本与扫描、表格、图像、列、页面配置文件)超越 extract_text:驱动 RAG 质量的 PDF 的两层首先出现在 Towards Data Science 上。

来源:走向数据科学

在 RAG 进程中,解析器只有一项工作。在回答有关该文档的问题之前,请像人类一样阅读该文档。

这是什么东西?简历、保险合同、监管文本、学术论文?有多少页?是数字化的还是扫描的,还是两者拼接在一起的?它包含什么:段落、表格、多列布局、嵌入图像?用什么语言?

这些检查中的每一个都是失败案例,管道的其余部分无法从中恢复:

  • 从设计器模板导出的简历。候选人的姓名位于第 1 页顶部的徽标图像中,页面的其余部分采用干净的文本。当询问“名字是什么?”时,检索找不到任何匹配的内容,并回退到 PDF 元数据的作者字段,即最后编辑该文件的人。在一代运行之前答案是错误的。
  • has_text_layer=True 的保险合同。文本层是 OCR 输出,质量为 0.3。“续订费 250 欧元”变为“续订费 250 欧元”。关键词检索永远不匹配; Generation 读取附近的不同数字并提交给它。
  • 200 页的监管文本,没有目录,也没有解析器可以检测到的标题。管道将其视为一个同质的 blob。问题解析器不知道第 4 页包含定义,第 187 页包含排除项。
  • 两栏布局的学术论文。简单的文本提取将左右列逐行交错。检索到的块读起来是乱码。
  • 每次都具有相同的形状。一位专家被问及有关他们从未打开过的文档的问题。他们猜到了。管道也做了同样的事情。

    1. 文档级信号

    PDF 为您提供两种信息。文档级信号:元数据、本机书签、声明的属性。页面级内容:每个页面包含的内容。解析器按该顺序读取它们,并在两者不一致时信任内容。

    1.1。源软件

    1.2。本机目录

    当文档有目录时,我们将其视为声明的结构:文档告诉我们它如何组织自身。

    2. 每页内容