"FinDKG: Dynamic Knowledge Graphs with Large Language Models for Detecting Global Trends in Financial Markets"
论文地址:https://arxiv.org/pdf/2407.10909
摘要
动态知识图(DKG)能够表示对象间随时间变化的关系,适用于从复杂且非结构化的数据中抽取信息。在金融领域,DKG可以用来根据金融新闻识别投资趋势。本文介绍了一个名为集成上下文知识图生成器(ICKG)的开源微调大型语言模型,它能创建金融新闻报道的动态知识图谱FinDKG。我们还开发了一种基于注意力机制的图神经网络架构KGTransformer,用于解析这些FinDKG。实验结果显示,在基准数据集和FinDKG上的链接预测任务中,KGTransformer展现了优秀的性能,并且在主题投资策略上,其表现超越了现有的主题交易所交易基金(ETF)。
简介
知识图谱(KG)由实体、它们之间的关系以及这些关系所构成的事实组成,其基础构建块是三元组(主体, 关系, 客体)。动态知识图谱(DKG)则在传统KG的基础上增加了时间元素,使得事件可以被描述为四元组(主体_i, 关系_i, 客体_i, 时间戳_i),从而能够表示随时间变化的关系。动态知识图谱的学习过程涉及利用图神经网络(GNN)来捕捉KG的结构特性及其随时间的变化模式。本文提出了一种名为KGTransformer的新模型,它是一种结合了注意力机制的GNN,能够考虑元实体信息,以提高链接预测的效果。此外,还开发了一个称为集成上下文知识图生成器(ICKG)的工具,该工具利用大型语言模型(LLM)从文本数据中抽取实体和它们之间的关系,并形成带有时间信息的事件四元组。通过ICKG,我们创建了一个开源的金融领域动态知识图谱数据集FinDKG,旨在支持主题投资分析。
01相关工作
图表示学习:
图表示学习利用图神经网络(GNNs)来获取图结构的紧凑表示,从而改善节点分类、边预测和图分类等任务的表现。在知识图谱(KGs)中,这些技术有助于信息检索、问答系统和个性化推荐。
金融知识图谱:
动态金融知识图谱能够捕捉金融体系内复杂的、随时间演变的关系,并应用于诸如欺诈检测和股价预测等领域。然而,传统的静态GNN模型在处理动态变化的金融网络时遇到了困难,因为它们未能充分考虑时间维度上的数据变化。
金融中的大语言模型(LLMs):
大型语言模型(LLMs)在金融应用中取得了显著成就,例如在情感分析和股票市场趋势预测方面。不过,这类模型也带来了可解释性和计算资源消耗的问题。为了解决这些问题,一些开源替代方案如Meta推出的LLaMA以及Mistral AI开发的LLM提供了更加高效的选择。
02集成上下文知识图谱生成器(ICKG)
目标:
我们设计了一条自动化且易于扩展的流水线,旨在从非结构化的数据源(如文本资料)中抽取时间维度的知识图谱。此过程采用大型语言模型(LLM)来构建知识图谱,并通过监督式微调进行个性化定制。为此,我们开发了集成上下文知识图谱生成器(ICKG),该工具基于GPT-4 API进行了优化,以提高知识图谱创建任务的效率。
微调流程:
为了构建微调的数据集,我们选取了5000篇开源的金融新闻文章作为素材,每篇文章依次被送入GPT-4模型中,从中抽取出三元组并对实体进行分类。随后,我们对这些提取结果进行了严格的数据质量控制,只保留那些完全符合指令要求并且每篇文章至少产生5个四元组的输出。利用这些经过筛选的四元组,我们对开源的Mistral 7B模型进行了微调,整个过程大约需要10小时,在8个配备40GB内存的A100 GPU上运行完成。
在流程图示例中,我们可以看到输入的是新闻文章、预定义的实体类别和它们之间的关系,而输出则是构成知识图谱的五元组表示。
FinDKG数据集
本文贡献了一个开源的金融动态知识图谱数据集FinDKG,该数据集是利用集成上下文知识图生成器(ICKG)与大型语言模型(LLM)构建的。FinDKG收录了大约40万篇来自《华尔街日报》的金融新闻文章,涵盖了1999年至2023年的内容,并剔除了不相关的经济和金融话题。通过ICKG,我们提取出了包含实体、实体类别以及关系类型的五元组,其中关系类型限定为15种与金融新闻密切关联的类别。为了处理实体的歧义问题,我们采用了Sentence-BERT进行实体消歧。
FinDKG 2023年1月的快照体现了美中地缘政治的紧张态势、高通胀的压力以及COVID-19疫情对金融市场的影响。这个数据集被设计用于评估我们提出的动态知识图谱学习方法的有效性。
03基于KGTransformers的图学习
动态知识图谱学习专注于捕捉观测数据中的结构信息和时间特性,其核心目标是预测未来的事实。关键任务是链接预测:即在给定源实体、两者间的关系以及未来某一时间点的情况下,预测最有可能的目标实体。目的是为每个三元组构建一个排名函数,以评估对应的四元组发生的概率。本文介绍了一种新的KGTransformer模型,用于学习这些排名函数。
知识图谱Transformer
KGTransformer是一种利用注意力机制的图神经网络(GNN),旨在创建实体的低维表示,即图嵌入。此模型在传统GNN架构的基础上进行了扩展,通过引入元实体和增强版的图注意力机制,加强了不同实体类别之间的联系。每一层KGTransformer生成的嵌入表示为 (ℓ),它是一个大小为R × ℓ的矩阵,经过多层处理后,最终输出的嵌入表示为 ( ),其尺寸为R × 。
在每一层中,模型通过聚合操作来生成潜在特征,并使用多头机制来整合来自不同关注点的信息。更新实体表示时,模型结合了消息传递向量与计算出的注意力分数,通过一个聚合公式来进行,同时确保每个节点的更新权重是归一化的。注意力分数是通过softmax函数计算得出的,以保证所有注意力权重的总和等于1。这一过程使得KGTransformer能够有效地捕捉到实体间的复杂关系并用于后续的任务。
每个注意力分数 ℎ( , , ) 是通过整合元实体信息来获得的,这里假设有一个函数 :E→CE,它能将实体映射到相应的实体类型。
举例来说,OpenAI(作为一家公司)和 ChatGPT(作为一个产品)之间的关系可以表示为 (OpenAI)=公司,以及 (ChatGPT)=产品。在这个框架中,元实体信息是通过一个张量 ℎ∈R|CE|×|R|×|CE|融入模型的,其中|CE|代表实体类型的数量,|R|表示关系类型的数量。这一方法类似于处理异构图的方式,通过这种方式,模型能够考虑不同类型的实体及其相互间的关系。
KGTransformer 的注意力分数公式为:
键和查询向量是通过前一层的潜在特征,经由可训练矩阵 Pℎ 和 Rℎ 变换后得到的。消息向量则是通过对前一层的嵌入 Y(ℓ−1) 进行线性投影来生成的,这一过程使用了特定的公式:
DKGs的时间演化更新
本节探讨了如何在EvoKG框架内融合时间演变的知识图谱(DKG)表示,这涉及到时间嵌入和结构嵌入的结合。我们定义了在离散时间点t观察到的动态知识图谱 G_t =(E, R, F_t),并关注事实集 F_t 随时间的变化。为了处理每个时间点上的图 G_t,我们使用KGTransformer独立地生成其表示,并通过递归神经网络(RNN)来建模这些时间点上的变化,从而产生时间嵌入 V_t。
对于关系的时间嵌入 V_t^{\sim},我们也采用RNN进行建模,它基于在各个时间点出现的关系的平均值。至于结构嵌入 U_t,我们同样是利用KGTransformer和RNN来创建,以捕捉给定图在不同时间点上的条件概率分布。同样地,结构嵌入 U_t^{\sim} 也是通过对各时间点上关系的平均化处理获得,并且也通过RNN进行建模,以反映随时间演化的结构特征。
动态知识图谱学习
本文介绍了一种动态知识图(DKG)学习方法,该方法基于概率框架,并融合了KGTransformer以捕捉时间变化的特征。我们的目的是找到最优化的模型参数,以便准确地描述观察到的动态图G 的演变过程。为此,我们将概率分布分解成两部分:一部分是 ( , , |G −1),它反映了图结构随时间的变化;另一部分是 ( | , , ,G −1),它管理着时间上的演变规律。
为了近似表示 p(s, r, o|G_t) 的概率,我们引入了随时间变化的结构嵌入 ,t 和 ˜ , 。同时,我们定义了一个全局嵌入 ,它整合了所有实体的嵌入信息,用以评估条件概率。在实体和关系两个层面上进行的概率建模,则是通过多层感知机(MLP)来实现参数化的。对于时间动态的建模,我们采用的是 M 个对数正态分布的混合模型。
模型参数的学习是通过一个接收来自KGTransformer的时间嵌入的多层感知机(MLP)完成的。为了推断出这些参数,我们使用了一个复合损失函数来进行最小化,这个损失函数还特别考虑到了调整关系对称性的影响。
04实验和应用
为了测试KGTransformer在链接预测任务上的性能,我们选择了流行的基准数据集以及新构建的FinDKG数据集进行评估。我们将检验由ICKG LLM生成的FinDKG在金融新闻文章中识别投资趋势的能力,并通过分析图中心性指标来评估其效果。此外,我们还将探索FinDKG在主题投资领域的潜在应用。
真实世界DKGs的链路预测
为了评估KGTransformer模型在链接预测任务上的表现,我们采用了MRR(平均倒数排名)和Hits@n(例如Hits@3和Hits@10)作为主要性能指标。MRR是通过计算所有查询的真实链接排名的倒数平均值来衡量的,即 MRR = Σ (1/rank_q) / |Q|,其中rank_q表示每个查询中真实链接的位置。而Hits@n则用来度量真实链接出现在前n个预测结果中的频率。为了防止过拟合,我们在验证集上应用了早停策略。
作为对比,我们选择了几个基线模型进行比较,包括静态图模型R-GCN、时间图模型RE-Net和EvoKG,以及一个不包含元关系信息的KGTransformer版本。所有模型均在同一计算环境中进行了训练和评估,并使用了三种不同的随机种子以确保结果的可靠性。最终报告的结果为多次实验的平均值,显示出较低的变异性。
我们使用的评估数据集包括ICEWS、YAGO、WIKI等经典数据集,以及新引入的FinDKG数据集。特别地,FinDKG数据集包含了元实体信息,这使得KGTransformer在此数据集上的优势更加突出。
实验结果表明,静态方法如R-GCN在处理时间敏感的任务时表现欠佳,这突显了时间特征对于动态知识图谱的重要性。KGTransformer在YAGO和WIKI数据集上的性能超过了其他竞争对手,但在ICEWS14数据集上并未展现出显著的改进。相比之下,在FinDKG数据集上,KGTransformer的表现尤为突出,通过整合实体类型信息,其MRR和Hits@3、Hits@10等指标相较于其他模型提升了大约10%。当移除实体类别信息(即"KGTransformer w/o node types"版本)时,模型的性能接近于时间基线模型,这证明了引入实体类型信息对提升模型效果的重要性。
金融新闻中的趋势识别
FinDKG被用来动态监控全球金融网络,并评估ICKG LLM在从金融新闻中提取信息方面的能力。每个星期天,我们会创建一个包含过去一个月所有事件四元组的月度快照知识图谱。为了量化实体的重要性,我们使用了四种中心性指标:度中心性、介数中心性、特征向量中心性和PageRank,并对这些指标进行了一年期的 -score标准化处理。
以全球COVID-19疫情为例,我们分析了这些中心性指标与新闻头条报道之间的关系。研究发现,中心性指标能够有效地捕捉到疫情期间的关键时刻,反映了这些时间点在金融网络中的重要性。通过这种方式,我们可以更好地理解重大事件如何影响金融市场的结构和动态。
基于FinDKG的主题投资
主题投资策略聚焦于那些可能在未来对行业和经济产生重大影响的特定趋势。本文中,我们利用FinDKG和KGTransformer来评估公司在人工智能(AI)领域的曝光度。每个季度末,我们通过KGTransformer模型进行在线学习,以预测哪些股票可能会受到AI的影响,并据此构建一个名为FinDKG-AI的主题投资组合。这个投资组合每个月都会根据预测的影响概率进行再平衡,确保所有持仓的权重总和为100%。
在回测中,与EvoKG模型相比,FinDKG-AI投资组合展现出了最优的表现,不仅年化收益最高,而且夏普比率也优于现有的AI ETF和其他EvoKG策略。值得注意的是,FinDKG-AI组合表现的提升恰好与OpenAI发布的ChatGPT时间点相一致,这表明该模型能够有效地捕捉到市场对于重要技术进展的反应。
05总结
本文在动态知识图谱(DKGs)和大型语言模型(LLMs)的金融应用方面提出了三项重要贡献。
首先,我们研究了通过微调开源LLMs来生成知识图谱的效果,并引入了一种名为集成上下文知识图谱生成器(ICKG)的LLM。该模型被用来从金融新闻文章中构建了一个开源数据集FinDKG。
其次,我们提出了一种新的架构KGTransformer,它结合了分层图Transformer(HGT)和EvoKG的优点,通过整合元实体信息来增强学习过程。实验结果显示,KGTransformer在两个标准基准数据集上的链接预测性能得到了提升,在FinDKG上的表现更是提高了超过10%。
最后,ICKG LLM不仅限于金融领域,其通用性已经在相关文献中得到了体现。为了促进进一步的研究和应用,我们在GitHub上提供了相关的代码,并创建了一个指定网址的在线门户,用于访问FinDKG的可视化工具。