提升RAG系统的回答质量:高质量文档解析终极干货

在这一篇中,我们将继续深入探讨,寻找应对这一挑战的最佳文档解析方案。

为什么RAG系统重点解析PDF?

在RAG系统中,PDF文档成为重点解析对象的原因与其在企业中的广泛应用以及其自身的优势密切相关。

PDF文档在企业中的普遍使用

  • 行业标准格式:PDF(可移植文档格式)是各行业用来分发和保存数字文档的标准格式,广泛应用于金融、法律、医疗和教育等领域。PDF文件的版式固定,能够在不同设备和系统中一致呈现,无论是在PC、手机还是打印输出,内容都保持不变。

  • 法律与合规需求:许多企业的文档(如合同、发票、审计报告)需要遵守法律法规要求,PDF由于其安全性和不可更改性,成为正式文件的首选。

  • 高保真呈现:PDF支持嵌入图像、表格、图表等多种格式,使其成为技术文档、研究报告和多媒体信息汇总的理想格式。这使得企业能够在单一文件中传递丰富的信息。

PDF的技术优势

  • 跨平台兼容:PDF文件可以在不同操作系统(如Windows、Mac、Linux)上无缝打开,且显示效果一致。企业需要跨平台的文档格式来确保文件的可读性和格式一致性。

  • 安全性:PDF支持多种安全功能,包括加密、数字签名和权限设置,允许企业在共享文档时确保数据的机密性和完整性。这在RAG系统中尤为重要,因为解析的内容可能涉及敏感的企业数据。

  • 复杂结构支持:PDF不仅支持文本,还可以嵌入图像、矢量图形、超链接、注释等,这使得企业可以使用它来存储各种信息类型。RAG系统需要处理包含复杂结构的文件,而PDF的格式刚好满足这些需求。

  • 易于存档和传输:PDF文件通常较小且自带压缩机制,便于在企业中存档、传输和共享。大多数企业将PDF用作文件的最终存储形式,特别是在合同、发票、报告等场景中。

RAG系统选择的依据

  • 丰富的数据来源:企业的许多核心信息往往以PDF的形式存在,如产品手册、技术白皮书、财务报告等。RAG系统需要从这些文件中提取知识,因此PDF是解析的重要对象。

  • 结构化信息与非结构化信息并存:PDF既可以包含结构化的表格、图表,又可以容纳大段的非结构化文本信息。RAG系统在解析时能够从多种信息源中提取不同类型的数据,提升检索与生成效果。

  • 信息的长期保存:由于PDF格式的稳定性和长期兼容性,企业的历史文档经常存储为PDF,RAG系统需要对这些历史文件进行解析,帮助企业从过往数据中提取信息。

因此,PDF文档的稳定性、通用性和安全性使其成为企业和RAG系统解析的重点对象,特别是在需要处理复杂文档结构和高保真呈现的场景下。

以下是pdf文件结构的示例:

4 0 obj                 % 页面内容流
<< >>
stream                  % 流的开始
1. 0. 0. 1. 50. 700. cm % 位置在(50,700)
BT                      % 开始文本块 
 /F0 36. Tf             % 在36pt选择/F0字体
 (Hello, World!) Tj     % 放置文本字符串
ET                      % 结束文本块
endstream               % 流结束
endobj

PDF解析

目前,Python 生态系统中有许多开源的 PDF 解析工具,通常可以分为两类:

  1. 基于规则的解析工具
  • 优势:适用性广泛,速度较快。

  • 劣势:识别效果一般,能够处理的版面元素有限,识别精度较低。

  1. 基于模型的解析工具
  • 优势:能够识别更多的版面元素,有助于更准确的后续切片处理。

  • 劣势:在 CPU 上的部署速度较慢,通常依赖 GPU 资源,主要适用于企业内部场景。识别过程依赖于模型的质量,若需提高识别率,则需要进行全面的计算机视觉模型训练或微调(例如,针对特定行业的 PDF 知识进行训练集标注和训练),因此 RAG 产品的成本会相对较高。

总结两种模式的适用场景,基于规则的解析方式更适合提供外部服务的平台,例如阿里云的文档内容解析API,主要依赖于固定规则;而基于模型的解析方式则更适合用于企业内部的RAG产品,通过提供定制化的训练集、模型标注和训练,可以显著提升解析效果。虽然基于模型的方案效果更好,但也意味着更高的成本,尤其是在行业适配和垂直领域优化方面。

开源工具

以下是整理自网络的开源工具列表。由于该列表在网络中以图片格式呈现,因此我们利用模型来识别表格效果。我们使用了表格标注工具,识别后会自动生成 Excel 文档,以展示其处理结果。

图(1)识别第一张表格内容

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图(2)识别第一张Excel内容

图(3)识别第二张表格内容

图(4)识别第二张Excel内容

根据识别出来的两张表格的内容,我整理出的开源工具列表如下:

工具名特点优点缺点
PDFMiner专为提取PDF文本内 容而设计,提供底层 PDF解析功能,支持 提取文本、图像和其 他信息强大的解析能力,支 持复杂PDF结构, 可定制能力强API使用相对复杂, 性能可能不如其他工具
PyPDF轻量级PDF处理 库,支持基本的读 取、写入、合并、拆 分、加密等功能适用于简单的PDF处 理任务;易于上手功能相对有限,不擅 长复杂的文本提取和 布局分析
PyMuPDF (fitz)提供对PDF、XPS、 EPUB和其他文档格 式的快速渲染和操作性能优异,功能全 面,API文档详细底层为C语言实现, 不易定制
PDFPlumber基于PDFMiner,主 要用于提取文本和表 格,易于使用实现了对表格数据的 提取半框表格效果差
Camelot通过视觉方法从PDF 中提取表格数据表格提取效果较好主要聚焦于表格数据 提取,非表格内容处 理能力有限
Papermage基于PDFPlumber, 通过深度模型进行版 面分析提供图像化支持,支 持多种版面元素仅适用于论文场景

开源模型如下:

模型名称模型简介
ch_PP-OCRv4_server_det【最新】原始高精度模型,支持中英文、多语种文本检测
ch_PP-OCRv4_server_rec【最新】高精度模型,支持中英文、数字识别
ch_ppstructure_mobile_v2.0_SLANet基于SLANet的中文表格识别模型
picodet_lcnet_x1_0_fgd_layout_cdlaCDLA数据集训练的中文版面分析模型,可以划分为表格、图片、图片标题、表格、表格标题、页眉、页脚、引用、公式10类区域

PDF解析流程

在模型识别过程中,PDF解析器起到重要作用。通过解析器获得的结果与模型识别的输出进行X、Y轴的坐标比对,最终生成准确的识别数据。接下来,系统根据多种切分规则对数据进行合理的分割,形成最优的Chunk,再将其向量化存储。这一过程显著提升了搜索召回率,使系统能够精准匹配问题与知识,将最相关的信息提供给大模型,最终生成合理且有针对性的答案。

针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

PDF解析核心问题

版面识别

在RAG产品中,表格识别模型和版面识别模型通常预装的是通用识别模型。这些模型在初期训练时并未专门针对某一行业的文档进行大规模优化,而是基于普遍存在的表格和版面样式进行训练。因此,对于大多数普通的PDF文档,这类通用模型的识别效果较好。然而,一旦遇到行业特定的文档类型,识别效果往往大打折扣,难以达到精准要求。

下面看一个较通用的文档识别效果(模型训练数据集是论文类):

识别效果还不错,如果用这个版面模型去识别财务、证券、文学作品、医疗健康、教育出版、法律等行业的文档,那效果可能就很惨不忍睹了,我们来看一个证券类的识别效果。

这次的识别效果真是惨不忍睹。页眉、页脚完全没有识别到,许多标题也被漏掉,表格的识别更是错漏百出,这样的结果显然无法接受。要想彻底改变识别效果,唯一的出路就是针对证券类文档进行专门的模型微调训练。训练集至少需要2000张,经过一系列的图片标注、模型训练等步骤,最终完成模型的微调。

撸起袖子加油干,就能看到显著改善!

下面是微调后模型的识别效果:

这个效果是不是相当出色!所有版面都被完整识别出来,且每个识别结果的可信度都在0.9以上,堪称高标准的表现。微调前后的识别差距如此明显,充分证明了针对行业进行模型微调的必要性。这不仅显著提升了行业PDF文档的识别效果,也是提高识别精度和可靠性的最佳方法。

有线格表与无线格表版面识别

刚才的测试图片中,带有线框的表格识别效果相对不错,但实际上,各行各业中大量存在无线框的表格。通用的识别模型通常无法处理这类表格,即使经过有线框表格数据微调,识别无线框表格的结果依然不理想。要准确识别这类复杂的表格结构,必须针对行业特定的无线框表格样本进行定向微调,才能实现理想的识别效果。

下面是有线格训练集微调的证券类模型识别无线格表格的识别效果:

效果可谓差强人意,完全无法正确识别无框表格,整篇文档被简单地识别为普通文本。该怎么办呢?别无他法,只能撸起袖子自己动手!通过图片标注与模型训练,才能有效提升识别效果,再来看看新训练的模型是否能有所改善。

版面都识别到了,识别效果还是杠杆的,对得起标注付出的辛苦。

表格结构与内容识别

PDF文档中的表格数据往往包含重要的知识信息,许多问题会专门针对表格内容。如果在文档解析过程中表格识别出现错误,即使是再强大的大模型也无法给出正确答案。因此,准确识别表格的结构和内容至关重要。表格识别的过程通常采用双重策略:结合PDF解析技术和专门的模型识别技术,以确保表格信息能够被高效、准确地提取和利用。

英文表格:

英文表格的识别:

经过大量英文训练集训练的通用表格识别效果还是不错的,但是这样的模型识别中文行业表格那效果还是要差很多。

英文通用表格识别模型识别中文行业表格:

这个效果也是惨不忍睹啊,还是那套理论,自己标注自己练,奇迹一定会出现。

微调模型识别中文无线格的表格效果:

这个效果还是很明显的,基本把表的结构还原出来了。

模型技术浅析

模型架构

PDF文档识别使用的模型技术主要是计算机视觉中的OCR技术、检测(版面结构识别、表格结构识别),在开源模型中PP-OCR系列模型和PP-Structure 系列模型是最常用的。

PP-Structure

PP-Structure是PaddleOCR团队自研的智能文档分析系统,旨在帮助开发者更好地完成版面分析、表格识别等文档理解相关任务。

PP-StructureV2的主要特性如下:

  • 支持对图片/pdf形式的文档进行版面分析,可以划分文字、标题、表格、图片、公式等区域;

  • 支持通用的中英文表格检测任务;

  • 支持表格区域进行结构化识别,最终结果输出Excel文件;

  • 支持基于多模态的关键信息抽取(Key Information Extraction,KIE)任务-语义实体识别(Semantic Entity Recognition,SER)和关系抽取(Relation Extraction,RE);

  • 支持版面复原,即恢复为与原始图像布局一致的word或者pdf格式的文件;

  • 支持自定义训练及python whl包调用等多种推理部署方式,简单易用;

  • 与半自动数据标注工具PPOCRLabel打通,支持版面分析、表格识别、SER三种任务的标注。

PP-OCR**¶**

PP-OCR是一个两阶段的OCR系统,其中文本检测算法选用DB,文本识别算法选用CRNN,并在检测和识别模块之间添加文本方向分类器,以应对不同方向的文本识别。

模型关键指标

模型的两个关键指标在文档内容结构识别中至关重要:精度和预测耗时。由于我们的 RAG 产品是在企业内部进行私有化部署,因此对模型的精度要求非常高,而对预测耗时的容忍度相对较大。毕竟,在企业应用中,解析的首要要求是精确度。

模型名称模型简介精度

预测耗时

(ms)

ch_PP-OCRv4_server_det【最新】原始高精度模型,支持中英文、多语种文本检测85124
ch_PP-OCRv4_server_rec【最新】高精度模型,支持中英文、数字识别80.197
ch_ppstructure_mobile_v2.0_SLANet基于SLANet的中文表格识别模型95.89766
picodet_lcnet_x1_0_fgd_layout_cdlaCDLA数据集训练的中文版面分析模型,可以划分为表格、图片、图片标题、表格、表格标题、页眉、页脚、引用、公式10类区域94.241.2

RAG文档解析畅想

RAG备受关注的关键原因在于它能够将文档转化为知识库,赋能企业快速构建AI助手。要提供优质的RAG产品,文档解析是必不可少的环节,尤其需要针对行业特性进行解析模型的微调,确保各类文档能够高效、高质量地入库。不过,RAG知识库的创建并不仅依赖于文档解析,也可以通过对接企业的结构化数据实现。但这种方式通常开发成本较高,需要定制开发。因此,利用模型进行高质量文档解析仍有非常广阔的前景。。

如何学习AI大模型?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高

那么针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

学习路线

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值