微信扫码
与创始人交个朋友
我要投稿
四个月时间中,QAnything于Github的开源项目已经获得了近万颗星星,吸引了开发者社区的广泛关注,同时我们也收到了大量开发者的反馈。从提升整体问答准确性与用户体验角度出发,结合我们对目前RAG领域发展的理解。我们决定对QAnything SaaS平台中有关文档解析的部分技术进行开源,提升QAnything开源的效果。
为什么是文档解析
随着最近半年中,一些长上下文LLM的出现和发展,很多RAG的经典问题(例如文档中的知识定位,也叫“大海捞针”)可以被很轻易的解决。一时针对RAG是否会被长上下文LLM取代的争论四起,一些悲观者甚至发出了“RAG已死”的言论。从目前的发展现状来看,RAG系统相比长上下文LLM最直接的优势普遍被认为还是计算成本,然而成本上的问题会随着时间的推移慢慢变得不是问题。
这么看来,RAG被淘汰是否只是个时间问题了?我们认为,RAG仍有两点优势是短时间内无法被替代的。其一是可以处理格式多样版式各异的文档数据,包括文档中的格式化区块(例如图片、表格、代码等等),并针对这些逻辑区块进行问答;其二是可以很直接的溯源,帮助用户快速从原文中验证答案的可靠性,从而提升整个问答系统的可信度。而这两点优势的发挥,都需要依赖一个强大的文档解析流程。
恰好,我们在文档解析领域具有一定的技术积累,做出过例如文档翻译和有道速读等成功的功能与产品,也于QAnything SaaS平台成功的应用了这项技术。
面向RAG的文档解析
早期的RAG系统或工具,都使用一套简单直接的解析方案。即直接提取文档中的所有文字信息,简单地根据等间距或文字空白对文字内容进行chunk切分,并将这些chunk转换为向量数据库用于语义检索。这样做对于一些简单场景是可行的,但我们在实践过程中发现了如下一些问题:(1)文字chunk语义的不完整(2)多栏文档阅读顺序错乱(3)非纯文本结构的区域格式错乱或直接丢失。
检索是RAG中相当重要的一个环节,一般是基于向量相似度排序来实现参考源的找回。假如文字chunk也即最小检索颗粒度中包括多条语义无关的内容,或者一些完整的语义被切分到不同的chunk中,都会导致语义向量的表示不准确,无法被特定语义的问题匹配到。因此这里的要求是尽量确保切分出的chunk内语义是完整的,同时尽量确保一些基本的连贯语义被切分到了同一个chunk中。
对于常见的多栏文档,例如IEEE会议论文,传统的OCR识别只能对文本行进行定位与识别,无法按照阅读顺序对文本行进行排序,无法确定正文与非正文内容。这会导致文本内容的顺序错乱,或者包含页眉页脚等非正文的无关信息,从而严重影响RAG系统的检索和问答效果。因此文档解析应具有确定文档阅读顺序的能力。
一些非纯文本结构的区域,例如图片若直接被丢弃则无法在LLM的回答中被带出,而表格则需要转化为LLM可以理解的结构化格式,才能进行针对性的问答。对于图片我们做成链接的形式存储(表格也可以转换为图片以同样的形式存储),如此便可在LLM的对话中被带出,同时可以在问答过程中更高效的溯源。而表格则需要解析为HTML或Markdown的格式,才可以针对表格内容进行提问。
综上所述,一个面向RAG的文档解析流程应该具备有一定的版式分析能力,以及能解析表格这类具有特定结构的逻辑区域,我们以此来设计QAnything中文档解析的算法流程。即先通过版式分析对文档中的逻辑区块进行区分与定位,这样做可以(1)确保纯文本部分只包括正文内容,将其以章节这种自然的形式切分确保其语义完整性,还有机会得到章节标题这类高阶的语义信息(2)得到配图和表格这类需要特殊处理的非纯文本区域的类别和位置(3)得到与阅读顺序一致的区域顺序。其后,我们再对非纯文本区域进行更进一步的处理。
我们选择Markdown作为文档解析的统一输出格式,因其设计初衷与面向RAG的文档解析完全一致:只关注内容而非格式。Markdown可以表示标题、正文、表格、超链接等内容,而更复杂的表格可以由内嵌HTML的形式表示。同时Markdown作为一种简洁易用的轻量级标注语言,充斥在互联网世界的各种数据中,其格式可以被市面主流的开源或商用LLM所理解,可以很好的完成基于表格等格式的对话任务。
具体技术点
版式分析
QAnything选择在切分chunk时,不是采用纯文本切分的方式,而是通过对文档的布局结构进行预测得到文字段落、图片、表格等。在QAnything切分chunk时会考虑文档的布局结构,同一语义的文字片段可以被切分到相同的chunk中,对于RAG流程中相关内容的准确召回有着极大的帮助。
具体的在QAnything中,我们沿用了目标识别的思路来进行文档布局分析,依托在有道文档翻译场景积累的海量数据,训练了一个多场景、高精度的布局分析模型,对文档的布局进行识别。在QAnything中,我们同时引入了一套版面恢复流程,融合版式分析的结果和OCR识别结果,将文档转换成markdown的形式进行输出,方便后续的chunk切分过程。
表格解析
QAnything中,我们发现用户的问答记录集中在对文档表格数据的提问上。为了提高问答系统对表格数据的理解和响应准确性,我们采用了LORE表结构识别模型。LORE模型的核心是逻辑位置回归网络,它将表格单元格的空间位置和逻辑位置结合在一起进行端到端建模和预测。LORE使用基于CNN的关键点分割网络提取视觉特征,通过两个回归头分别预测单元格的空间位置和逻辑位置。最终,LORE可以精确还原出整个表格的行列结构,并输出机器可解析的表示。
采用了表格解析方案后,QAnything的表格数据问答准确率得到了显著提升,特别是对于复杂的跨行跨列问题,极大增强了系统的实用性。
检索与问答的提升
优势1:语义更加完整更加精准的召回,以得到更准确更加有条理的回答
Q1:QAnything的产品优势有哪些?
旧版回答:
Qanything的产品优势包括成本优势、效率提升、灵活应用、AI赋能和易用至上。具体来说,Qanything利用先进的数字技术,采用高效的数据采集与合成技术,能够快速打造出精准、神态灵动的虚拟形象,从而实现经济高效的个性化虚拟主播创建。同时,Qanything简化了创作流程,用户无需专业技术背景即可快速掌握,支持批量生产内容,显著提升了更新速度和工作效率。用户可以根据具体需要自行选择合成的片段、精确控制动作的起始位置以及插放节奏,赋予了用户充分的创作自主权,灵活适应不同场景的不同需求。此外,Qanything内置的大模型使得自动撰写播报文案成为可能,通过对大数据的学习和分析,能够即时生成各种热点话题的高质量播报文稿。最后,Qanything配备一套友好易用的视频剪辑工具,专为非专业用户设计,将原本复杂的后期处理过程变得极度简化,用户能够轻松完成整套视频制作流程。
新版回答:
QAnything问答系统的优势包括以下几点:
1、支持任意格式的本地知识库: QAnything可以处理多种格式的数据,包括PDF、Word、PPT、TXT、图片、网页链接、数据库等,使用户能够方便地管理和使用各种类型的知识。
2、基于行业专属大模型的自然语言处理技术:QAnything利用OCR技术对各种类型的数据进行结构化处理,并调用大模型的自然语言处理能力,实现对数据的智能化分析和理解,包括实体识别、关系提取、语义分析、总结等。
3、多种功能支持:QAnything提供文件管理、模型训练、模型验证、多轮问答、下载等多种功能,帮助用户实现准确、快速、靠谱的业务知识问答体验。
4、提高信息获取效率:相比以前的FAQ、ES等模式,文档问答技术进一步提高了处理效率和准确性,让用户更快速、更方便地获取所需信息。
总之,QAnything问答系统通过支持任意格式的本地知识库、基于行业专属大模型的自然语言处理技术、多种功能支持和提高信息获取效率等优势,为企业级用户提供了准确、快速、靠谱的业务知识问答体验。
优势2:可以针对表格进行问答,可以对表格中的内容进行精准定位
Q2:数字人部署8G内存可以吗?
(注:参考文档中有如下部分内容
)
Q3:embedding模型中bce-embedding和bce-rerank一起用的话,各项指标是多少?
(注:参考文档中有如下部分内容
)
优势3:可以解析文档中的配图这类非文本信息,并在回答中给出
Q4:交互型数字人的特点是什么?
新版回答:
QAnything 开源版已经升级到了1.4.1:
https://github.com/netease-youdao/QAnything/releases/tag/v1.4.1
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-11-16
通过Reranking来优化RAG:提升信息检索的精准度
2024-11-16
从RAG到TAG:探索表增强生成(TAG)的力量
2024-11-15
复旦发布:最佳RAG方案
2024-11-15
破解PDF解析难题:RAG中高效解析复杂PDF的最佳选择
2024-11-15
RAG技术全解析:从基础到前沿,掌握智能问答新动向
2024-11-15
RAG在未来会消失吗?附RAG的5种切分策略
2024-11-15
HtmlRAG:利用 HTML 结构化信息增强 RAG 系统的知识检索能力和准确性
2024-11-15
打造自己的RAG解析大模型:表格数据标注的三条黄金规则
2024-07-18
2024-07-09
2024-05-05
2024-07-09
2024-05-19
2024-06-20
2024-07-07
2024-07-07
2024-07-08
2024-07-09
2024-11-06
2024-11-06
2024-11-05
2024-11-04
2024-10-27
2024-10-25
2024-10-21
2024-10-21