链载Ai

标题: 金融巨头贝莱德新作:VectorRAG和GraphRAG到底哪个好? [打印本页]

作者: 链载Ai    时间: 2 小时前
标题: 金融巨头贝莱德新作:VectorRAG和GraphRAG到底哪个好?

金融巨头新作:VectorRAG和GraphRAG到底哪个好?

发布时间:2024 年 08 月 09 日

RAG

HybridRAG: Integrating Knowledge Graphs and Vector Retrieval Augmented Generation for Efficient Information Extraction

在金融领域,从财报电话会议记录等非结构化文本中提取复杂信息对大型语言模型(LLM)构成挑战,即便采用先进的检索增强生成(RAG)技术。为此,我们创新性地提出了 HybridRAG 方法,融合了基于知识图谱的 GraphRAG 和 VectorRAG 技术,旨在提升金融文档问答系统的信息提取能力,生成精准且上下文贴切的答案。实验证明,HybridRAG 在检索和生成阶段均超越了单一的 VectorRAG 和 GraphRAG 技术,不仅在金融领域,该技术还具有广泛的应用潜力。

https://arxiv.org/abs/2408.04948

加入社群讨论

如无法加入,请+微信 iamxxn886



随着微软 GraphRAG 的开源,GraphRAG 受到了越来越多人的关注和重视,今天这篇文章是来自著名金融巨头:贝莱德集团,以及 AI 巨头:英伟达。

1. RAG 的两大技术路线:VectorRAG 和 GraphRAG

1.1 金融文档 RAG 的现状和问题

对于金融分析师而言,从新闻文章、收益报告以及其他财务文件这类非结构化数据源中提取并分析信息极为关键,只有这样才能有机会在潜在的信息不对称中占据优势。

这些非结构化数据中蕴含着能左右投资决策、市场预测和整体市场情绪的宝贵观点。但由于其非结构化的特质,传统的数据分析手段难以有效提取和运用此类信息。

随着大语言模型的出现和发展,已逐渐成为金融服务和投资管理的有力工具,在情感分析、市场趋势预测以及自动报告生成等任务中极具价值。比如:从年度报告和其他财务文件中提取信息,能极大提升金融分析师的效率与准确性。强大的信息提取系统能助力分析师迅速收集相关数据、识别市场趋势并做出明智决策,从而制定出更优的投资策略和风险管理方案。

尽管大型语言模型在金融应用中潜力巨大,但在运用预训练模型从训练数据之外的财务文件中提取信息,并减少幻觉的过程中,存在显著挑战:

1.2 VectorRAG 在金融领域的运用和问题

VectorRAG 指的是我们传统的 RAG 流程,如上图所示。由于语言模型的上下文限制,外部文档被分割成多个片段,并使用嵌入模型转换为嵌入向量后存储于向量数据库中。检索组件随后在向量数据库中执行相似性搜索,以识别和排序与查询最相关的片段。排名最高的片段被检索并聚合,为生成模型提供上下文。

然而,对于财务文件,VectorRAG 作为独立解决方案存在重大挑战。比如,VectorRAG 系统常采用段落级分块技术,假定这些文件中的文本长度一致。此方法忽略了财务报表的层次结构特性,可能导致关键上下文信息的丢失,进而无法进行精准分析。

1.3 GraphRAG 在金融领域的运用和问题

知识图谱(Knowledge Graph, KG)是现实世界实体、属性及其关系的结构的表示,通常存储在图数据库或三元组存储中。由节点(代表实体)和边(代表关系)构成,以及两者的标签和属性。三元组是 KG 中的基本信息单元,包括主体、谓词和对象。

构建 KG 的大多数方法论包括知识提取知识改进知识适应三个主要步骤。在这篇论文中,作者没有采用知识适应,而是将 KG 视为静态图。

知识提取(Knowledge Extraction):是从非结构化或半结构化数据中提取结构化信息,如文本、数据库和现有本体。主要任务包括实体识别(entity recognition)、关系提取(relationship extraction)和指代消解(co-reference resolution)。

知识改进(Knowledge Improvement):- 知识改进的目的为了提升知识图谱(KG)的质量与完整性,消除冗余,填补提取信息中的空缺。主要任务是知识图谱的补全与融合。通过诸如链接预测和实体解析等方法,推断图中的缺失实体和关系。

链接预测依据图结构和特征预测两个实体间关系的有无及类型,实体解析则对来自不同来源的同一实体的不同表征进行匹配与合并。

知识融合将多源信息加以整合,构建一个连贯统一的知识图谱。这涉及化解源信息间的冲突和冗余,比如相互矛盾或重复的事实,并基于规则、概率或语义相似度对信息进行聚合或协调。

基于知识图谱的检索增强生成(RAG),即 GraphRAG,也和 VectorRAG 一样从基于用户输入的查询起步。

VectorRAG 和 GraphRAG 的主要区别在于检索部分。GraphRAG 的查询用于在知识图谱中检索与查询相关的节点(实体)和边(关系)。从完整的知识图谱中抽取由这些相关节点和边构成的子图来提供上下文。把子图与语言模型的内部知识相融合。语言模型利用这一组合上下文生成回答,生成的回答既受知识图谱结构化信息的影响,又受其预训练知识的作用。

GraphRAG 能够依据从金融文档中提取的结构化信息生成更精准且具上下文感知的响应。但也存在一些不足:

2. 什么是 HybridRAG?

鉴于以上 VectorRAG 和 GraphRAG 的问题,作者提出了一种新的 RAG 技术:HybridRAG。将前述两种不同的 RAG 技术:VectorRAG 和 GraphRAG 进行融合,通过这两种上下文的结合,能够发挥两种方法的优势。VectorRAG 部分提供了基于相似性的广泛信息检索,而 GraphRAG 部分则提供了结构化且关系丰富的上下文数据。

2.1 知识图谱构建(Knowledge Graph Construction)

2.1.1 文档预处理

作者借助 PyPDFLoader 导入 PDF 文档,然后运用 RecursiveCharacterTextSplitter 将其分割为文档块。分块策略采用 2024 个字符的大小和 204 个字符的重叠,既确保全面涵盖,又维持跨段边界的上下文。

上表汇总了使用基于提示的方法从收益电话会议记录中提取的实体详情。

2.1.2 知识提取

LLM 利用一组精心筛选的动词来识别这些实体之间的关系,捕捉公司叙述中的细微交互。

关键改进在于提示工程增强,用于生成知识三元组的结构化输出格式。每个三元组呈现为嵌套列表 ['h', 'type', 'r', 'o', 'type','metadata'],其中 'h' 和 'o' 分别代表头实体和对象实体,'type' 指明实体类别,'r' 表示关系,'metadata' 封装了其他的上下文信息。这种格式实现了信息的丰富多维呈现,有助于更精细的下游分析。

知识提取 Pipeline 的结果汇总形成整个文档的综合知识图谱特征,使得对大型文档的处理具备可扩展性,同时在每个块内保持本地上下文。

最后,将提取的三元组从初始字符串格式转换为 Python 数据结构,并存储在 pickle 文件中。这便于在后续分析阶段轻松检索和进一步处理知识图谱数据。

本方法在从公司文档中自动提取知识方面取得了重大进展。通过将先进的自然语言处理技术与结构化的信息表示方法相结合,创建了一个丰富、可查询的知识库,捕捉到公司叙述中存在的复杂关系和关键信息。这种方法为商业领域的财务分析和自动推理开辟了新的可能性,未来将进一步深入探索。

2.2 VectorRAG

基于 RAG 的理念,构建一个系统,借助大型语言模型的强大功能和语义搜索的高效性,对有关公司财务信息的查询提供具备上下文感知且准确的回答。

整个系统利用了 Pinecone 向量数据库,使用 OpenAI 的 text-embedding-ada-002 模型、将电话会议记录中的文本数据转换为高维向量表示。这种向量化流程实现了语义相似性搜索,显著提高了检索信息的相关性和准确性。下图展示了作者使用的配置参数。

系统使用了 LangChain 框架构建。

2.3. GraphRAG

对于 GraphRAG,开发了一个专为公司电话会记录设计的问答系统。

为了评估 GraphRAG 系统的性能,依循下述步骤:

2.4. HybridRAG

对于 HybridRAG 技术,在获取来自 VectorRAG 和 GraphRAG 的所有上下文信息后,将这些上下文拼接起来,借助这两种技术形成一个统一的上下文。

然后将合并的上下文被输入到答案生成模型中以生成回应。用于生成回应的上下文相对较大,这会影响生成回应的精准度。

首先附上来自 VectorRAG 的上下文,其后是来自 GraphRAG 的上下文。所以,生成答案的精度取决于源上下文。

如果答案是从 GraphRAG 上下文生成的,其精度会较低,因为 GraphRAG 上下文在提供给答案生成模型的上下文序列中是最后添加的,反之亦然。

3. 效果评估

3.1 评估指标

为了评估 HybridRAG 的效果,作者建立一整套评估指标体系:

3.1.1 忠实度

忠实度是一个关键的评估指标,用于衡量生成的答案能在多大程度上从提供的上下文中推断出来。对忠实度指标的实现包括一个两步流程:

“给定一个问题和答案,请从给定答案的每个句子中创建一个或多个陈述。

问题:[问题]

答案:[答案]”。

“考虑给定的上下文和以下陈述,然后判断它们是否得到了上下文中信息的支持。在得出每个陈述的结论(是/否)之前,为每个陈述提供简短的解释。在给定格式的末尾,按顺序为每个陈述提供最终的结论。不要偏离指定的格式。”

声明:[声明 1]

……

声明:[声明 n] 。

忠实性得分计算方法为 F=V/S,这里 ? 代表得到支持的语句数目,而 ? 代表语句的总数目。

3.1.2 答案相关性

答案相关性指标评估生成的答案在多大程度上解决了原始问题,不考虑事实准确性。该指标有助于识别不完整的答案或包含无关信息的回复。

包含以下步骤:

“为给定的答案生成一个问题。

答案:[答案]” 。

3.1.3. 上下文精度

一种衡量检索上下文片段与特定问题的真实情况相关性的指标。度量在上下文的前 K 个排名中,相关项所占的比例。上下文精度的计算公式是在 K 的排名中,每个排名 k 的精度与一个二元相关性指示器 ?? 的乘积之和,然后除以上 K 个结果中相关项的总数量。

每个排名 k 的精度是通过 k 处的真阳性数与 k 处的真阳性数和假阳性数的总和之比来确定的。

这一指标有助于评估上下文对真实情况的支撑力度,更高的分数表示更精确的匹配度。

3.1.4. 上下文召回率

该指标用于衡量检索到的上下文与标准答案(作为确切的正确回答)的契合度。

通过对比标准答案中的每一句话,判断其是否能在检索到的上下文中找到依据,来量化这一指标。

上下文召回率的计算公式是,可追溯至上下文的标准答案句子数量与标准答案中句子总数的比值。

数值越高,介于 0 到 1 之间,表示上下文与答案的契合度越好,即上下文召回率越高。

3.2 测评结果

对三种不同的 RAG 管道的检索和生成部分予以评估。评估 RAG 的输出也是一个活跃的研究领域,目前尚未有被普遍认可的标准工具,作者使用了当下流行的框架 RAGAS 来评估这三个 RAG 管道,并对它们做了一些修改,以进行更精准的比较。

VectorRAG、GraphRAG 和 HybridRAG 方法在性能上存在显著差异,如上表:忠实度(F)、答案相关性(AR)、上下文精确度(CP)和上下文召回率(CR)。

总体而言,这些结果表明 GraphRAG 相较 VectorRAG 有所提升,尤其是在忠实度和上下文精度方面。

此外,HybridRAG 成为最为平衡且有效的方法,在忠实度和答案相关性等关键指标上优于 VectorRAG 和 GraphRAG,同时保持了高上下文召回率。

HybridRAG 所呈现的相对较低的上下文精度(0.79)可归因于其独特的将 VectorRAG 和 GraphRAG 方法的上下文相结合的方式。虽然这种整合能够实现更全面的信息检索,但也引入了可能与真实情况不完全相符的额外内容,从而影响了上下文精度指标。

尽管如此,HybridRAG 在忠实度、答案相关性和上下文召回方面的出色表现彰显了其有效性。

综合考虑整体评估指标,HybridRAG 成为最具前景的方法,在高质量答案与全面的上下文检索之间实现了平衡。

总体来说







欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5