TextIn文档解析与向量化技术加速大模型RAG应用落地 演讲人:常扬 目录 01 RAG背景与问题 02 文档解析技术方案 03 向量化技术方案 04 实际场景产品实践 R0AG背景与问题 大模型应用的四大问题 领域知识缺乏 信息过时 幻觉 安全 解决问题 RAG(RetrievalAugmentedGeneration)检索增强生成技术,利用检索外部文档提升生成结果质量 领域知识和私有数据 实时数据 减少生成不确定性 增强数据安全 用户上下文输入用户意图 模型 幻觉 RAG 大模型知识 RCG微调 外部文档 RCG:Retrieval-CentricGeneration检索中心型生成 将知识记忆与LLM生成分开,将检索知识作为知识源。 Fine-TunedLLM:使用外部数据微调语言模型 使LLM具备领域理解能力 知识库构建 文本嵌入 检索 文本嵌入 生成 RAG应用常见12个问题 内容缺失 高相关内容缺失 整合后内容丢失 未提取出内容 格式错误 不够/过于细节 不完整 数据不可扩展 数据质量低 复杂PDF提取差 模型性能不足 模型安全问题 聚焦问题本质文档解析问题向量化检索问题 https://towardsdatascience.com/12-rag-pain-points-and-proposed-solutions-43709939a28c MVP最小可用产品->PMF产品满足市场需求 PMF:ProductMarketFit产品和市场达到最佳契合点,产品满足市场的需求,令客户满意,这是创业成功的第一步,业务增长的起点。 快速达到 大模型RAG项目落地关键点 理解技术边界 避免过于乐观、悲观 寻找适合技术的场景 深度理解业务 用户需求是关键 技术来服务业务 考虑产品壁垒 用户/业务壁垒 如何抵抗复制 用最好的模型 确定产品有市场需求 确定技术可以满足 避免仅考虑技术 业务优先,价值第一 AI产品最大失败原因 文档内容 解析出错 机械分chunk 丢失语义信息 文档存在太多 问题出现在 文档解析与向量化检索 CornerCase 目标检索内容 召回不到 解析速度慢用户体验差 召回结果 排序困难 知识库更新 耗时长 答案生成 有幻觉 大语言模型(LLM)驱动的检 索增强生成(RAG)技术中确保能够从源文档中快速、精准地提取内容,对于提高最终 输出的质量至关重要。 在实际工作场景中,非结构化 数据远比结构化数据丰富。但如果这些海量数据不能被解析,其巨大价值将无法发掘, 其中PDF文档尤为突出。 大语言模型(LLM)驱动的检 索增强生成(RAG)技术中嵌入式模型的作用是确保能够从源文档中快速、精准地提取 内容。 高效的处理能力是实现快速响 应用户查询的关键,识别并提取与用户查询高度相关的文档片段,从而生成更准确、更相 关的输出。 TextIn通用文档解析 将任意格式、版式的文档(图片、PDF、 Doc/Docx等)高效、精准解析为Markdown格式, 开源版面解析评价基准,排名第一 acge_text_embedding向量化模型 在CMTEB文本嵌入基准上对6个任务的中文综合 评估超越其他模型,排名第一 T0ex2tIn通用文档解析 有标记文档 Word文档 MarkDown文档 HTML文档 计算机视角下有标记的文档: #有标记文档MarkDown示例 ##第一部分 ###子标题 |表格列1|表格列2|表格列3| |-------|-------|-------| 正文:有标记的文档指的是可以直接用计算机处理,结构化文档 无标记文档 扫描文档图像 PDF文档 计算机视角下无标记的文档: %PDF-1.0 40obj<</Length65>> stream1.0.0.1.50.700.cmBT/F036.Tf(Hello,World!)TjETendstream endobj 机器可以直接读取机器无法直接读取 PDF文件:一系列显示打印指令的集合,非数据结构化格式。 显示不受设备、软件或系统的影响 PDF(PortableDocumentFormat便携式文档格式),独立于应用程序、硬件和操作系统呈现文档的文件格式,能够完全保留原文档的格式。 非结构化文档、不具备可编辑性 文本的位置、字体、间距、缩放比例、页边距等所有属性在文件格式中限定死,让软件没有自由发挥的空间。 解析PDF文档的挑战、让计算机可以获得PDF信息 准确提取整个页面的布局,并将所有内容(包括表格、标题、文本段落和图像)转化为结 构化数据形式。 MarkDown文件:关注内容而非打印格式,表示文档元素。 “优雅、简约、统一”表达多种形式的数据被互联网世界接受,充斥在各种数据中 可以被大模型所理解 文档多版式示例 元素遮盖重叠元素本身有多样性复杂版式:双栏、跨页、三栏 页眉形式1 页眉形式2 多栏的影响多栏+插入表格的影响 112 3 24 64 3 5 56 无线表格识别合并单元格识别 单行公式与行内公式表格内公式 PDF扫描件不支持无法支持全部版式文档多页可用性低阅读顺序无法还原文档解析精度较低速度慢不满足需求 基于规则的开源库基于深度学习/大模型的开源库 pyPDF2 PyMuPDF pdfminerpdfplumberpapermage UnstructuredLayout-parserPP-StructureV2PDF-Extract-Kitpix2textMinerU marker Gptpdf 问题无法全部解决 TextIn文档解析 解析更稳、识别更准、性能更快 电子档、扫描件 文档图像预处理 物理版面分析逻辑版面分析 文字识别 输出构建 版面分析 拆分电子化 版面分析算法框架版面分析典型输出 检测模型可视化:column区域(左图)vssection区域(右图) 检测模型的发展FasterRCNN/YOLO->DETR/DINO在产业落地时,综合考虑任务难度和推理速度,我们选用:单阶段的检测模型,更多关注数据和模型小规模调优 •物理版面分析-聚合侧重于视觉特征。主要任务是把相关性高的文字聚合到一个区域,比如一个段落等。 •物理版面分析-布局选用目标检测任务进行建模,使用基于回归的单阶段检测模型进行拟合,从而获得文档中各种各样的布局方式。 •逻辑版面分析侧重于语义特征。主要任务是把不同的文字块根据语义建模,比如通过语义的层次关系形成一个树状结构。 •页(page) page层级 概念 层级 section层级•节(section) paragraph层级 •段落(paragraph) •列表(list) •表格(table) •图片(image) •栏(column) run层级•切片(run) 通过检测获得各个布局要素之后,我们可以建立文档的布局关系。例如,一个双栏的节 (section)通常包括两个栏(column)。 提取 embedding 计算段落关系 构造文档树 子标题 子段落 合并 旁系 主标题 表格标题 输入文档文档树引擎 输出目录树-树状结构 算法核心:通过Transformer架构,预测旁系类型与父子类型 预测每个段落和上一个段落的关系,分为子标题、子段落、合并、旁系、主标题、表格标题如果是旁系类型,则再往上找父节点,并判断其层级关系,直到找到最终的父节点 ChengH,ZhangP,WuS,etal.M6doc:Alarge-scalemulti-format,multi-type,multi-layout,multi-language,multi-annotationcategorydatasetformoderndocumentlayoutanalysis[C]//ProceedingsoftheIEEE/CVFConferenceonComputerVisionandPatternRecognition.2023:15138-15147.合合信息华南理工联合实验室 TextIn开源文档解析测试基准及工具https://github.com/intsig/markdown_tester 指标 指标说明 TextIn表现 其他产品表现 单页耗时 单张PDF的耗时,从调用请求到收到请求 整份多页PDF的耗时,从调用请求到收到完整返回 一定周期内,无法解析或解析失败的文件占总文件数的比值 一定周期内,解析失败的页面占总页面数的比值 通常300ms~900ms 100页,P90<2s(1.5s) 约20份/万份 约5页/万页 通常400~1200ms 多页耗时 100页,最快>2s 文件错误率 - 页面丢失率 - textin textin-V2 其他产品A 其他产品B 平均表格文本全对率 0.638 0.636 0.294 0.628 平均表格树状编辑距离 0.942 0.942 0.688 0.891 平均表格结构树状编辑距离 0.959 0.959 0.734 0.953 平均段落识别率 0.79 0.796 0.441 0.785 段落召回率 0.754 0.754 0.631 0.806 平均标题识别率 0.753 0.763 0.57 0.855 标题召回率 0.877 0.916 0.716 0.52 平均标题树状编辑距离 0.307 0.333 0.171 0.1 平均阅读顺序指标 0.853 0.845 0.652 0.841 textin textin-v2 其他产品A 其他产品B 平均表格文本全对率 0.603 0.603 0.16 0.587 平均表格树状编辑距离 0.918 0.918 0.535 0.874 平均表格结构树状编辑距离 0.94 0.94 0.621 0.921 平均段落识别率 0.692 0.692 0.222 0.563 段落召回率 0.775 0.775 0.672 0.716 段落f1 0.731 0.731 0.334 0.63 平均标题识别率 0.938 0.938 0.714 0.857 标题召回率 0.771 0.771 0.423 0.466 标题f1 0.846 0.846 0.531 0.604 平均标题树状编辑距离 0.482 0.484 0.288 0.193 平均阅读顺序指标 0.68 0.68 0.348 0.467 注:textin为纯OCR方案,textin-V2为综合方案 注:其他产品在解析部分样本时存在乱码,因此分数偏低 向0量3化技术方案 通过与已知文本的相似度应用在下面场景 内容审核意图分析情感分析推荐系统信息检索 Embedding/嵌入/向量化将海量的文本数据转化为一个有方向有数值的列表(向量),利用计算机高效率计算文本相似性 1.对文档块(Documentschunk)进行向量化表示 2.对问题(query)进行向量化表示,查询高文本相似度的文档块(chunk)召回 3.文档块向量库实时动态更新,低成本高扩展 4.数据向量化处理后保证了 数据安全性 大规模文本嵌入基准评价中文大规模文本嵌入基准评价 覆盖8类任务,58个数据集:文本分类,聚类,成对分类,重排序,检索,语义文本相似性,摘要、判别 结合业务选择合适的向量模型,MTEB/C-MTEB作为参考 特定领域 检索精度 支持语言 文本块长度 模型大小 检索效率 •与其他开源模型相比,acge模型较小,占用资源少; •模型输入文本长度为1024,满足绝大部分场景的需求 •acge模型支持可变嵌入维度,让企业能够根据具体场 景去合理分配资源。 acge_text_embedding高精度、高效率 MassiveTextEmbeddingBenchmark(MTEB)中文榜单(C-MTEB)第一名的成绩(20240311-20240514) (1