摘要
由于特定领域的术语和文档格式复杂等问题,即使使用当前最优方案(称为 VectorRAG 技术,利用向量数据库进行信息检索)来应用检索增强生成 (RAG),从基于财务应用产生的非结构化文本数据(例如收益电话会议记录)中提取和解释复杂信息对大型语言模型 (LLM) 也提出了巨大挑战。我们引入了一种基于知识图谱 (KG) 的 RAG 技术(称为 GraphRAG)和 VectorRAG 技术的组合的新方法,称为 HybridRAG,以增强问答 (Q&A) 系统从财务文档中提取信息的能力,该系统已被证明能够生成准确且与上下文相关的答案。通过对一组以问答形式呈现的财务收益电话会议记录文档进行实验,我们得出了一组自然的真实问答对,结果表明,在检索和生成阶段,从向量数据库和知识图谱中检索上下文的 HybridRAG 在检索准确度和答案生成方面均优于传统的 VectorRAG 和 GraphRAG。所提出的技术的应用范围不仅限于金融领域。
1.INTRODUCTION
对于金融分析师来说,从新闻文章、收益报告和其他财务文件等非结构化数据源中提取和分析信息至关重要,这样至少有机会在潜在的信息不对称方面占得上风。这些来源拥有宝贵的见解,可以影响投资决策、市场预测和整体情绪。然而,由于这些信息的非结构化性质,传统的数据分析方法难以有效地提取和利用这些信息。大型语言模型 (LLM) 已成为金融服务和投资管理的强大工具。它们处理和理解大量文本数据的能力使它们对于情绪分析、市场趋势预测和自动报告生成等任务非常有用。具体而言,从年度报告和其他财务文件中提取信息可以大大提高金融分析师的效率和准确性。强大的信息提取系统可以帮助分析师快速收集相关数据、识别市场趋势并做出明智的决策,从而制定更好的投资策略和风险管理。
尽管 LLM 在金融应用方面具有巨大潜力,但使用预训练模型从训练数据之外的金融文档中提取信息并减少幻觉仍存在显著挑战。金融文档通常包含特定领域的语言、多种数据格式和独特的上下文关系,而通用训练的 LLM 无法很好地处理这些关系。此外,由于不同文本来源的术语、格式和上下文不同,从多个金融文档中提取一致且连贯的信息可能具有挑战性。金融文档中的专业术语和复杂数据格式使模型难以提取有意义的见解,进而导致预测不准确、见解被忽视和分析不可靠,最终阻碍做出明智决策的能力。
目前缓解这些问题的方法包括各种检索增强生成 (RAG) 技术,这些技术旨在通过结合相关检索技术来提高 LLM 的性能。VectorRAG(基于矢量数据库的传统 RAG 技术)专注于通过检索相关文本信息来支持生成任务,从而改进自然语言处理 (NLP) 任务。在相关文本文档的上下文对于生成有意义且连贯的响应至关重要的情况下,VectorRAG 表现出色。基于 RAG 的方法可确保 LLM 生成与原始输入问题一致的相关且连贯的响应。但是,对于财务文件,这些方法作为独立解决方案面临着重大挑战。例如,传统的 RAG 系统通常使用段落级分块技术,该技术假设这些文档中的文本长度一致。这种方法忽略了财务报表的层次性,可能会导致丢失准确分析所需的关键上下文信息。由于分析金融文件非常复杂,从庞大而异构的语料库中检索到的 LLM 上下文的质量可能不一致,从而导致分析不准确和不完整。这些挑战表明,需要更复杂的方法,能够有效地整合和处理金融文件中的详细和特定领域信息,确保获得更可靠、更准确的结果,以便做出明智的决策。
知识图谱 (KG) 可能提供与查看财务文档不同的视角,在财务文档中,文档被视为实体关系三元组的集合,如文档文本中所述。知识图谱已成为数据管理和分析中的关键技术,它提供了一种通过实体和关系表示知识的结构化方法,并已广泛应用于搜索引擎、推荐系统和生物医学研究等各个领域。知识图谱的主要优势在于它们能够提供结构化表示,从而促进高效的查询和推理。然而,构建和维护知识图谱并将来自不同来源(例如文档、新闻文章和其他外部来源)的数据集成到连贯的知识图谱中带来了重大挑战。
金融服务行业已经认识到知识图谱在增强异构数据源数据集成、风险管理和预测分析方面的潜力。金融知识图谱集成了各种金融数据源,例如市场数据、财务报告和新闻文章,从而创建了金融实体及其关系的综合视图。这种统一视图提高了财务分析的准确性和全面性,通过识别隐藏的关系促进了风险管理,并支持高级预测分析,以便做出更准确的市场预测和投资决策。然而,处理大量金融数据并不断更新知识图谱以反映金融市场的动态性质可能具有挑战性且耗费大量资源。
GraphRAG(基于图谱的检索增强生成)是一种利用知识图谱 (KG) 来增强 NLP 任务(例如问答系统)性能的新方法。通过将知识图谱与 RAG 技术相结合,GraphRAG 能够根据从财务文档中提取的结构化信息生成更准确、更具有情境感知能力的响应。但 GraphRAG 在抽象问答任务中或问题中未明确提及实体时通常表现不佳。
在目前的工作中,我们提出了 VectorRAG 和 GraphRAG 的组合,称为 HybridRAG,用于从外部文档中检索与 LLM 给定问题相关的信息,该组合结合了两个 RAG 的优势,为问题提供更准确的答案。
1.1 Prior Work and Our Contribution
近年来,VectorRAG 得到了广泛的研究,其重点是通过检索相关文本信息来支持生成过程,从而增强 NLP 任务。然而,在多文档和较长上下文中VectorRAG检索机制的有效性对提取相关响应提出了重大挑战。GraphRAG 将 KG 的功能与 RAG 相结合,以改进传统的 NLP 任务。在我们对 VectorRAG 和 GraphRAG 技术的实现中,我们明确添加了有关文档元数据的关键信息,这也被证明可以提高 VectorRAG 的性能。
据我们所知,本研究是首次提出的 RAG 方法,该方法是 VectorRAG 和 GraphRAG 的混合体,并展示了通过利用 VectorRAG 和 GraphRAG 的综合优势更有效地分析和利用财务文件的潜力。我们还利用了一种新的真实问答数据集,该数据集是从 Nifty-50 指数中包含的公司公开的财务通话记录中提取的,该指数是印度股票市场指数,代表了印度国家证券交易所上市的 50 家最大公司的加权平均值。
2.METHODOLOGY
在本节中,我们首先讨论 VectorRAG 的细节,然后讨论从给定文档构建 KG 的方法以及我们提出的 GraphRAG 方法,最后讨论 HybridGraph 技术,从而提供所提出方法的详细信息。
2.1 VectorRAG

传统的 RAG 流程始于一个query,该query与不属于 LLM 训练数据集的外部文档所拥有的信息相关。此query用于搜索外部存储库(例如矢量数据库或索引语料库),以获取包含有用信息的相关文档或段落。然后,这些检索到的文档作为附加上下文反馈到 LLM 中。因此,对于给定的query,语言模型不仅基于其内部训练数据生成响应,还结合了检索到的外部信息。这种集成确保生成的内容以更新、可验证的数据为基础,从而提高响应的准确性和上下文相关性。通过将外部信息的检索与大型语言模型的生成功能相结合,RAG 提高了生成文本的整体质量和可靠性。
在传统的 VectorRAG 中,由于语言模型的上下文大小限制,给定的外部文档被分成多个块。这些块通过嵌入模型转换为嵌入向量,然后存储到向量数据库中。之后,检索组件在向量数据库中执行相似性搜索,以识别和query最相关的块并进行排序。检索并聚合排名靠前的块,为生成模型提供上下文。
然后,生成模型将检索到的上下文与原始query结合起来,合成响应。因此,它将检索到的块中的实时信息与其先前存在的知识相结合,确保响应既与上下文相关又详细。
图 1 中的示意图详细介绍了 RAG 部分,该部分从传统 VectorRAG 方法中给定的外部文档生成矢量数据库,其中我们还包括元数据的明确引用。第 4.2 节将提供我们实验的实现细节。
2.2 Knowledge Graph Construction
知识图谱是现实世界实体及其属性和关系的结构化表示,通常存储在图数据库中或以三元组存储,即知识图谱由表示实体的节点和表示关系的边以及两者的标签和属性组成。图三元组是知识图谱中的基本信息单元,由主语、谓语和宾语组成。
在大多数从给定文档构建知识图谱的方法中,主要涉及三个步骤:知识提取、知识改进和知识调整。在这里,我们不使用知识调整,而是将知识图谱视为静态图。
Knowledge Extraction。此步骤旨在从非结构化或半结构化数据(例如文本、数据库和现有本体)中提取结构化信息。此步骤的主要任务是实体识别、关系抽取和指代消歧。实体识别和关系抽取技术使用典型的 NLP 任务从文本源中识别实体及其关系。指代消歧识别并连接同一实体的不同引用,保持知识图谱内的一致性。例如,如果文本将公司同时称为“公司”和“它”,则指代消歧可以将这些实体链接到图中的同一实体节点。
Knowledge Improvement。此步骤旨在通过消除冗余并解决提取信息中的空白来提高知识图谱的质量和完整性。此步骤的主要任务是知识图谱补全和融合。知识图谱补全技术使用关系预测和实体解析等方法推断图中缺失的实体和关系。关系预测根据图结构和特征预测两个实体之间关系的存在和类型,而实体解析则匹配和合并来自不同来源的同一实体的不同表示。
知识融合将来自多个源的信息结合起来,以创建一个连贯统一的知识图谱。这涉及解决来源之间的冲突和冗余,例如矛盾或重复的事实,并根据规则、概率或语义相似性聚合或协调信息。
我们采用了一种强大的方法从非结构化文本数据中创建 KG 三元组,特别关注公司文件,例如收益电话会议记录,改编自参考文献 [18?]。此过程涉及几个相互关联的阶段,每个阶段旨在有效地提取、提炼和构造信息。
我们实施了两层 LLM 链,用于内容细化和信息提取。第一层使用 LLM 生成每个文档块的摘要表示。此细化过程至关重要,因为它可以提取基本信息,同时保留原始含义和概念之间的关键关系,作为后续处理的更有针对性的输入,从而提高三元组提取管道的整体效率和准确性。我们的 LLM 链的第二层专用于实体提取和关系识别。
这两个步骤都是使用在预训练的 LLM 上精心执行的提示工程来执行的。第 4.1 节将提供有关该方法实施的详细讨论
2.3 GraphRAG

基于 KG 的 RAG 或 GraphRAG 也与 VectorRAG 一样,以基于用户输入的query开始。VectorRAG 和 GraphRAG 之间的主要区别在于检索部分。此处的query现在用于搜索 KG 以检索与query相关的相关节点(实体)和边(关系)。从完整 KG 中提取由这些相关节点和边组成的子图以提供上下文。然后,通过将图结构编码为模型可以解释的嵌入,将此子图与语言模型的内部知识集成。语言模型使用这种组合上下文来生成响应,这些响应由 KG 的结构化信息和其预训练知识提供信息。至关重要的是,在响应有关特定公司的用户query时,我们利用元数据信息有选择地过滤和仅检索与query公司相关的文档段。这种集成有助于确保生成的输出准确、上下文相关且基于可验证的信息。
图 2 给出了 GraphRAG 检索方法的示意图。在这里,我们首先编写一个提示来清理数据,然后在第二阶段编写另一个提示来创建知识三元组以及元数据。第 4.1 节将更详细地介绍。
2.3.1 HybridRAG
对于 HybridRAG 技术,我们建议整合上述两种不同的 RAG 技术:VectorRAG 和 GraphRAG。这种整合涉及从传统的基于向量的检索机制和基于 KG 的检索系统中检索到的上下文信息的系统组合,后者是专门为本研究构建的。
这两种方案的融合使我们能够充分利用两种方法的优势。 VectorRAG 组件提供广泛的、基于相似性的相关信息检索,而 GraphRAG 元素则提供结构化、关系丰富的情境数据。然后,这种组合情境被用作 LLM 的输入,以生成最终响应。有关 HybridRAG 实现的详细信息将在第 4.4 节中提供。
2.4 Evaluation Metrics
为了评估这种综合方法的有效性,我们在可控实验设置中对三种方法进行了比较分析:VectorRAG、GraphRAG 和 HybridRAG。使用组合的 VectorRAG 和 GraphRAG 上下文生成的响应与 VectorRAG 和 GraphRAG 单独生成的响应进行了对比。此比较评估旨在辨别这两种 RAG 方法协同整合可能带来的响应质量、准确性和全面性方面的潜在改进。
为了客观地评估不同的 RAG 方法(在本例中为 VectorRAG 和 GraphRAG),参考文献 [22] 使用了诸如全面性(即答案提供的细节量是否涵盖了问题的所有方面和细节)、多样性(即答案在提供问题的不同观点和见解方面的丰富程度)、赋权性(即答案对读者理解主题并做出明智判断的帮助程度)和直接性(即答案在解决问题方面的清晰度)等指标。在这里,为 LLM 提供了问题、目标指标和一个答案对的元组,并要求其根据指标评估哪个答案更好以及原因。
这些指标虽然比较了最终生成的答案,但不一定直接分别评估检索和生成部分。相反,我们在这里实施了一套全面的评估指标,旨在捕捉给定 RAG 系统输出质量的不同方面,重点关注忠实度、答案相关性和上下文相关性。每个指标都提供了对系统功能和局限性的独特见解。
2.4.1 Faithfulness
忠诚度是一项关键指标,它衡量了从提供的上下文推断出生成的答案的程度。我们对忠诚度指标的实施涉及两个步骤:
Statement Extraction。我们使用 LLM 将生成的答案分解为一组简洁的语句。此步骤对于将复杂的答案分解为更易于管理和验证的单元至关重要。此步骤使用的提示是:
“Given a question and answer, create one or more statements from each sentence in the given answer. question: [question] answer: [answer]”.
Statement Verification。对于每个提取的语句,我们使用 LLM 来确定是否可以从给定的上下文中推断出它。此验证过程使用以下提示:
“Consider the given context and following statements, then determine whether they are supported by the information present in the context. Provide a brief explanation for each statement before arriving at the verdict (Yes/No). Provide a final verdict for each statement in order at the end in the given format. Do not deviate from the specified format. statement: [statement 1] … statement: [statement n]”.
忠诚度分数(F)为
F
=
∣
V
∣
/
∣
S
∣
F=|V|/|S|
F=∣V∣/∣S∣,其中
∣
V
∣
|V|
∣V∣是支持的陈述数,
∣
S
∣
|S|
∣S∣是陈述总数。
2.4.2 Answer Relevance
答案相关性指标评估生成的答案如何很好地解决原始问题,而不考虑事实准确性。此指标有助于识别不完整答案或包含不相关信息的响应的情况。我们的实现涉及以下步骤:
Question Generation。我们提示 LLM 根据给定的答案生成 n 个潜在问题:
“Generate a question for the given answer. answer: [answer]”.
然后,我们使用 OpenAI 的 text-embedding-ada-002 模型获取所有生成问题和原始问题的嵌入。然后,我们计算每个生成问题的嵌入与原始问题的嵌入之间的余弦相似度。
最后,答案相关性得分 (AR) 计算为所有生成问题的平均相似度:
A
R
=
1
n
∑
(
s
i
m
(
q
,
q
i
)
)
AR =\frac{1}{n}\sum(sim(q, q_i))
AR=n1∑(sim(q,qi)),其中
s
i
m
(
q
,
q
i
)
sim(q, q_i)
sim(q,qi) 是原始问题
q
q
q 的嵌入与第
i
i
i 个生成问题
q
i
q_i
qi 的嵌入之间的余弦相似度。
2.4.3 Context Precision
它是一种度量,用于评估检索到的上下文块与给定问题的指定基本事实的相关性。它计算出现在上下文前几名的相关项目的比例。K 处的上下文精确度的公式是每个排名 k 处的精确度与二元相关性指标 v_k 的乘积之和,除以前 K 个结果中的相关项目总数。每个排名 k 处的精确度由 k 处的真正例与 k 处的真正例与假正例之和之比决定。该度量有助于评估上下文对基本事实的支持程度,目标是获得更高的分数,表示更好的精确度。
2.4.4 Context Recall
它是用来评估检索到的上下文与基本事实答案的匹配程度的指标,基本事实答案被认为是明确的正确答案。它通过比较基本事实答案中的每个句子来量化,以查看是否可以追溯到检索到的上下文。上下文找回率的公式是可归因于上下文的基本事实句子数与基本事实中的句子总数之比。值越高(范围从 0 到 1),表示对齐程度越高,因此上下文回忆率就越高。该指标对于评估信息检索系统在提供相关上下文方面的有效性至关重要。
3. DATA DESCRIPTION

虽然确实存在一些公共的金融数据集,但它们都不适合本次实验。例如,FinQA、TATQA、FIQA、FinanceBench 等数据集都局限于特定的使用场景,如用于评估大型语言模型(LLMs)在执行复杂的数值推理或情感分析方面的能力。另一方面,FinTextQA 数据集在撰写本文时尚未公开。此外,在这些数据集中,大多数都无法访问创建真实问答对的实际文档,因此无法用于我们对RAG(检索增强生成)技术的评估。因此,我们通过使用公开可用的文档构建了自己的数据集,以便我们能够获得实际的金融文档和真实的问答对。像FinanceBench5这样的数据集提供了问题-上下文-答案三元组,但它们并不适用,因为我们在此处比较的是VectorRAG、GraphRAG和HybridRAG,而它们没有提供从知识图谱(KG)生成的上下文。据我们所知,一篇最近的论文 [22] 也未公开其算法构建的知识图谱和三元组。
简而言之,据我们所知,目前没有公开可用的基准数据集可以用于比较VectorRAG和GraphRAG,无论是在金融领域还是在通用领域。因此,我们不得不依靠如下所述构建的自有数据集。
我们使用Nifty 50成分股公司收益电话会议的记录进行分析。NIFTY 50是印度股市中一个知名指数,代表了在印度国家证券交易所(NSE)上市的50家最大的印度公司的加权平均值。Nifty 50公司的收益电话会议记录数据集在投资领域被广泛认可,并被视为权威且广泛的收益电话会议记录集合。
在我们的研究中,我们专注于2023年6月结束的季度数据,即2024财年第一季度的收益报告(印度的财年从4月1日开始,至次年3月31日结束,因此从4月1日到6月30日的季度是印度市场2024年的第一季度)。
我们的数据集包括了该季度内Nifty 50成分股公司中来自多个不同行业的50份记录,涵盖了基础设施、医疗保健、耐用消费品、银行、汽车、金融服务、能源-石油与天然气、电信、消费品、制药、能源-煤炭、材料、信息技术、建筑、多元化、金属、能源-电力和化工等多个行业,为我们的研究提供了坚实且多样的基础。
我们首先通过开发和部署一个定制的网页抓取工具,专注于从Nifty 50成分股公司的网站获取收益报告,系统地检索2024财年第一季度的相关收益报告。通过这种网页抓取方法,我们旨在编制一个全面的数据集,涵盖成分股公司的收益报告。
表1总结了我们将在本研究的剩余部分中进行实验的文档的基本统计数据。
这些电话会议记录文档由金融分析师与各公司代表之间的问答组成,因此,这些文档中已经存在一些问答对以及其他文本。我们检查了Nifty 50成分股公司的收益报告,系统地整理了从所有文档中随机选取的400个在收益电话会议中提出的问题,并收集了这些问题的确切回答。这些问题构成了金融分析师在这些电话会议中向管理层提出的具体qeury。
4.IMPLEMENTATION DETAILS
在本节中,我们提供了所提方法的实施细节。
4.1 Knowledge Graph Construction

4.2 VectorRAG

4.3 GraphRAG

4.4 HybridRAG

898

被折叠的 条评论
为什么被折叠?



