1. 引言
在信息技术迅速发展的背景下,信息过载问题变得日益严重,用户从海量信息中找到所需内容变得困难。为此,推荐系统[1] [2]应运而生,帮助用户自动筛选和推送相关内容,极大提升用户体验。近年来,推荐系统的应用已从传统的商品、音乐推荐扩展至更复杂领域,随着互联网服务多样化,大量Web服务通过开放API (应用程序编程接口)接口提供各种功能。软件开发者面对复杂需求时,通常需要合理组合多个API服务,基于API整合的mashup [3] [4]开发模式逐渐成为热门选择,API服务推荐[5]作为推荐系统在web服务中的具体应用,扩展了推荐系统的实际影响力和应用范围。因此,如何为特定的mashup需求选择最合适的API,成为了服务推荐系统的核心任务之一。
知识图谱(KG)因其结构化文本和丰富语义,成为推荐系统的重要技术,但其效果仍受限。首先,实体信息描述不足,限制了对实体多样性和复杂性的捕捉,使推荐模型难以理解语义关系。其次,构建过程中的无关三元组噪声增加了图结构复杂性,干扰了关键信息的传播,导致低质量图结构,进一步削弱推荐系统性能。近年来,大语言模型(LLM)迅速发展,其凭借其强大的通用知识理解能力和文本生成能力,展现了卓越的上下文感知和高级推理能力[6] [7]。通过合理设计的prompt并结合LLM的能力,可以为知识图谱中的实体提供更加全面精准的语义描述。另外,掩码自编码器[8]和图注意机制技术[9] [10]的进步为识别和削弱知识图中与推荐任务无关的三元组噪声提供了支持。去除这些无关信息显著提升了图结构的质量和有效性,为识别和更新有用信息创造了可能。LLM与图结构重构的结合,为提升推荐系统性能提供了新的解决方案。
为此,我们提出了一种结合大语言模型(LLM)的知识结构更新服务推荐方法,充分利用LLM的推理和总结能力,构建基于思维链的提示策略[11] (CoT),为知识图谱提供附加数据,以解决信息描述中的模糊性和歧义问题。在此基础上,设计知识感知重构模块,基于可学习图注意机制的知识加权函数,用于自动提取对推荐任务有用的语义,重构高得分三元组子图,删除低得分三元组,优化知识图谱结构质量,使其精准地反映用户需求,提升推荐系统性能。
2. 相关工作
2.1. KG与LLM的结合
研究者们最初通过预训练模型改善KG,利用BERT [12]将三元组表示为文本序列,验证其真实性。部分研究[13]结合了KGE方法与预训练语言模型,提取实体和关系嵌入以助后续工作。随着transformers架构的创新和大规模预训练等技术的进步,出现了如ChatGLM [7]、ChatGPT3.5 [14]、Llama2 [15]等千亿甚至万亿参数规模的大语言模型。研究者探索了KG与LLM的整合优势,提出了相互增强的思路[16]。KG提供结构化文本和可解释事实,而LLM具备强大的知识和语言处理能力,这种结合潜力巨大。一些研究者[6]在多个数据集上结合LLM和KG实验,重点关注实体和关系提取、事件提取、链接预测和问答等四个代表性任务,从而彻底探索LLM在构建和推理领域的性能。一些研究者[17]以符号KG为对象,探索了LLM在回忆知识信息方面的巨大潜力。同时,有研究者提出了思维链提示策略[11]指导LLM工作,显著提高了LLM的推理性能,为更好挖掘LLM能力提供了方法和机会。
2.2. 基于KG的服务推荐
知识图谱(KG)以其结构化的文本和丰富的语义表示,催生了许多知识图增强的推荐方法[18] [19]。一些研究者[20]提出基于知识图表示学习的Web服务推荐,将KG的实体和关系嵌入低维空间,计算服务实体间的距离,纳入服务关系信息以提升推荐准确性。之后,许多基于文本信息的模型[21]-[23]也被提出,它使用预训练的语言模型将实体和关系的文本编码到语义空间中,获得很好的性能,用于建立大规模现实世界的KG。
近年来,图神经网络(GNN)与知识图谱的结合为推荐系统带来新的方向,GNN通过信息传播和特征聚合捕获高阶语义,处理异构图数据,为推荐系统提供多维信息。一些研究者[24]结合GCN和注意力机制,提取主要特征并融合评论文本特征,提升推荐准确性。一些研究者提出KGAT [9],该方法在GCN的基础上添加注意力机制,利用图注意网络(GATs)来加权,通过考虑知识邻居的不同重要性,实现知识在KG上的聚合,取得显著效果。一些研究者提出KGIN [25]和KGCL [26]考虑用户对KG中不同关系的潜在倾向,缓解噪声,指导实体表示学习。
2.3. 总结
KG与LLM的结合展现了在提升推荐系统性能方面的巨大潜力,尤其是在丰富实体和关系描述的过程中,能显著改善知识图谱的表达能力。但现有方法在处理噪声三元组和无关信息时仍显不足,许多方法未能充分利用附加信息,且多使用KG原本的知识结构,忽视了无关三元组和数据噪声的影响,限制了推荐系统的性能优化。在此背景下,本文提出了一种结合LLM和知识感知重构任务的图增强服务推荐方法,旨在通过LLM强大的文本生成和信息补充能力丰富知识图节点信息,通过知识感知重构任务区分图中高质量和噪声三元组结构,优化图结构,解决现有方法在节点语义信息不足和图结构质量低的情况导致推荐系统性能低的问题。
3. 方法
3.1. 概述
本研究提出的方法旨在通过结合大语言模型(LLM)和优化图结构来增强知识图谱语义的性能,主要分为两个核心部分:丰富知识图信息描述和知识重构。首先,基于思维链[11]设计针对实体和关系的全局及局部提示策略,利用LLM的自然语言理解和生成能力,补充和扩展知识图谱的信息描述,从而提升描述准确性和完备性。其次,通过基于掩码自编码器[8]的重构任务突出关键知识三元组,知识重构部分优化知识图谱结构,去除无关三元组噪声,提高图谱质量。本研究方法的框架图如图1所示:
Figure 1. Research framework
图1. 研究框架
3.2. LLM丰富知识图信息描述
我们从实体,关系这两个数据角度构建提示策略,结合大语言模型为知识图谱补充附加数据信息,以思维链[11]示策略为KG设计提示策略,结合LLM以丰富语义表示,多方面数据的结合有利于增强KG的完备性。表1为设计的提示策略。
Table 1. Prompt policy
表1. 提示策略
KG Object |
Prompt |
Entities |
Provide complete information about the given entity based on the {Entity}’s name or existing information, and be detailed and accurate. |
Global Relations |
This {Relation} is the relationship edge in the knowledge graph that connects two entities. Please provide details about this relationship and its importance in the graph. |
Local Relations |
This is a triplet (head entity, {relation}, tail entity), please simplify according to the description of the relationship provided to the triplet. |
3.2.1. 实体描述丰富
知识图谱中,实体的描述信息对构建语义至关重要,但传统知识图谱常存在实体信息不足的问题。这个问题限制了多样性和复杂性的理解,影响语义表达能力。此外,简单的描述还会导致语义模糊和歧义。合理的提示策略设计应充分利用LLM的能力,使其隐式查询相关信息并逐步生成描述。例如,CoT可以引导LLM将复杂查询分解为不同方向,期望生成更全面、准确的实体描述。可见表1关于Entities部分提示模板。
3.2.2. 实体描述丰富
KG中异构关系的存在对于区分两个实体起着重要的作用,而对比节点实体的信息描述,对应连接边的关系描述较少(基本上只有名称信息)。仅仅依赖关系名称可能会导致模棱两可的解释,特别是对于复杂的关系类别(例如多对多和多对一),见图2。
本研究从全局和局部角度设计提示策略,利用LLM能力充分理解关系语义,丰富关系描述信息。从全局角度,目标是在从整个KG的角度推断关系的意义,从而促进两个关系之间更好的关联。从局部角度,旨在从三元组的角度推断关系的含义,从而在预测缺失事实的同时增强理解并提示可能的头尾实体类型。可见表1中Global Relations和Local Relations部分提示模板。
Figure 2. Example of large language model rich extended knowledge graph information
图2. 大语言模型丰富扩展知识图信息示例
3.3. 知识感知重构
Figure 3. Flow chart of knowledge perception reconstruction module
图3. 知识感知重构模块流程图
研究表明,知识图中存在许多与推荐目标无关的三元组子图,表现为不相关连接和数据噪声[26] [27]。这些噪声影响数据嵌入在图中的传播,导致推荐模型性能下降。本研究设计一个基于掩码自编码器[8] [28]的知识感知重构任务,突出强相关知识的三元组子图集合,去除噪声三元组以提高图像质量。如图3展示了知识感知重构的结构。
3.3.1. 实体和关系编码表示
许多知识图模型的实体和关系嵌入表示都采用随机初始化的方法,这没有充分利用邻域内实体和关系的语义信息。本研究利用图中实体和关系的描述信息的嵌入表示作为网络的预输入,为网络提供预备的语义信息,提高数据密度。可以实体
和关系
表示如下:
(1)
(2)
其中,
表示大模型扩展语义信息,得到该实体的描述信息。
为编码器,将实体和关系的信息嵌入到高维语义空间,为模型提供预输入。同时,对于每个实体节点,考虑图其邻域内其他增强信息的附属节点,设计一个聚合层考虑邻域节点信息重要性的加权,结合知识图三元组的上下文特性,主要用于更新其头实体的嵌入表示,设计的聚合层如下:
(3)
其中,
表示对应以头实体
的中心邻域子图。
3.3.2. KG知识获取
受HGT [10]的技术启示,设计一个基于可学习图注意机制的知识加权函数,利用三元组交互上下文来学习知识原理,用于自动提取推荐的基本语义,如下:
(4)
其中,
、
为可训练的注意力权重,
、
、
分别表示头节点、关系、尾节点的嵌入表示,
为隐藏层维度。三元组知识获取得分
体现该数据在理解需求方背后语义切合度,定义为知识得分,由模型学习和推荐任务中的标签指导。
3.3.3. 知识得分子图提取
我们设计了一个遵循隔离和重构方法的生成式自监督学习任务突出具有高知识得分的三元组子图,删除与任务弱相关的低知识得分三元组子图边,以通过在缺失知识的重建过程中屏蔽重要信息,使模型能够获得有用的隐式语义。
每个训练步骤中,在KG中提取隔离一批具有全局高知识得分的三元组,并重构这些关系边,以实现生成式自监督目标。屏蔽对推荐任务重要的知识,并迫使模型学习重建这些连接。考虑头节点实体邻域实体的连接数和邻域实体知识得分加权获取三元组知识在KG的全局价值。
(5)
(6)
然后,根据KG中最高知识得分三元组生成一组被屏蔽的知识三元组,同时识别得分最低无关三元组噪声用于删除弱任务相关边。高得分的一组屏蔽三元组
和低得分的噪声三元组
表示如下:
(7)
(8)
其中,
表示所有的分布
。
3.3.4. 知识结构部分重构
通过隔离高得分三元组子图数据和删除弱任务相关边,从原始知识图
中去除知识得分低的边,保留能够清晰反映需求方任务意图的交互边,创建知识优化图
。以自监督学习的方式恢复结构,使用优化图中的实体节点描述嵌入
指导模型重构节点知识边,并且结合屏蔽阶段的高知识得分三元组作为自监督标签进行重构任务,我们以最小化三元组的点积对数损失达到这一目标:
(9)
4. 实验
4.1. 实验设置
4.1.1. 数据准备及知识图数据设计
数据获取及预处理。我们从Programmable Web平台获取相关Mashup、API数据,表示Mashup-API搭配场景。重点关注Mashup名称、API所属类别、Mashup描述、API名称、API所属类别和API描述这六方面信息,作为知识图的五种类型节点。
实体关系边设计处理。基于上述获取数据的五类实体节点特征,设计节点之间的关系边如下:
(10)
其中,E表示各类型的节点,使用ChatGLM2-6B大模型补充扩展关系边语义信息。
知识图结构设计。我们统一通用交互图Mashup-API交互图和API知识信息图,两个图通过API名称实体节点链接,知识图结构如下图4所示:
Figure 4. Structure of knowledge graph
图4. 知识图结构
将知识图整理为Mashup-API数据集,数据集情况如下表2:
Table 2. Mashup-API data set overview
表2. Mashup-API数据集概况
The number of Mashup |
6247 |
The number of API |
17,734 |
The number of times the Mashup interacts with the API |
12,970 |
The number of Entities |
41,630 |
The number of Relations |
3 |
The number of Triples |
45,983 |
将上述制作mashup-Api数据集作为基础数据集(以供基准模型使用),在该数据集基础上,使用ChatGLM2-6B [7]搭配设计好的提示策略为图数据中的实体和关系补充扩展语义信息。
任务设计。我们的推荐目标是为mashup根据其需要推荐对应的API结合,因此,每个mashup的描述信息中包含着其需要达到的功能,这些功能由推荐结果的API集合所完成。
4.1.2. 训练设置
将三个数据集以7:3的比例划分为训练集和测试集,使用recall@N和NDCG@N指标来衡量我们提出方法的性能,对于前N个推荐,将N设置为[20, 40],batch_size设为256,设置epoch为1000,设计早停策略(在5次测试内指标不再提高则终止训练)。使用Pytorch框架实现本研究方法,对于图神经网络方面,GNN层数为2。
4.1.3. 对比模型
为了验证我们提出的设计的有效性,我们在本研究方法和不同的基线模型之间进行了基准评估。
KGAT [9]:联合了user-item图和item图,使用注意力机制聚合实体信息,引入协作知识图的方法。
KGIN [25]:提出关系路径感知以获取知识图上高阶语义信息,并建模用户意图以增强关系表示。
KGCL [26]:在知识图中引入图对比学习,以减少潜在的知识噪声。利用对比信号推荐任务学习。
4.2. 实验结果分析评估
4.2.1. 整体性能比较
我们将本研究方法与多个基线模型进行实验,在表3中展示了本研究方法与其他基线模型的实验结果:
Table 3. Experimental results of overall performance
表3. 整体性能实验结果
|
recall@20 |
NDCG@20 |
recall@40 |
NDCG@40 |
KGAT |
0.0915 |
0.0609 |
0.1160 |
0.0615 |
KGIN |
0.0970 |
0.0645 |
0.1214 |
0.0654 |
KGCL |
0.0973 |
0.0648 |
0.1197 |
0.0657 |
My |
0.1119 |
0.0735 |
0.1428 |
0.0762 |
Figure 5. Baseline model compared experimental data
图5. 基线模型对比实验数据图
根据实验数据图5以及表3,我们可以看到本研究提出的方法在Mashup-Api数据集的两个指标上优于所有对比的基线模型,得出以下结论:
(1) 首先,由思维链构建的提示策略搭配大语言模型为知识图实体和关系补充描述信息,减少了数据信息的模糊性,丰富了图数据的语义表示。相比较利用协作图和注意力机制聚合实体信息的GAT模型和利用用户意图建模以增强关系表示的KGIN模型来说,使用丰富高质的信息补充实体和关系语义是一个很好的策略。
(2) 其次,相较利用图对比学习减弱噪声并利用推荐信号指导推荐任务的KGCL模型来说,本研究方法提出的知识感知重构任务,以知识得分为基础捕获知识图中不同得分的子图结构数据,通过隔离高得分三元组以指导低得分三元组重构边的方法,减少多余噪声影响,真正利用对其有用的知识结构信息。
4.2.2. 消融实验
在这个实验中,从大模型补充扩展实体和关系信息和知识感知重构任务这两个角度出发,评价指标为recall@N和NDCG@N,N取20,40,60,80。研究本研究方法中关键模块的有效性(大语言模型选用ChatGLM2-6B)。为此,我们构造了以下几种模型变体:
(1) Only-Entity-Plus (OEP):使用大语言模型只扩充知识图实体描述信息,保留知识感知重构任务;
(2) Only-Relation-Plus (ORP):使用大语言模型只扩充知识图关系边描述信息,保留知识感知重构任务;
(3) NOT-LLM (NL):不使用大语言模型对知识图信息进行补充扩展,只保留知识感知重构任务;
(4) NOT-Knowledge-Reconstruction (NKR):去除知识感知重构模块,保留利用大模型补充扩展知识图信息;
在图6和图7中展示了消融实验的结果,我们得出以下结论:对比与大模型模块(NL任务),NKR任务反应出知识感知重构模块给模型的准确度带来的提升更大,这得益于该模块对知识图结构的更新与优化。对于大模型的实体描述信息或者关系边描述信息模块的添加,从OEP和ORP的表数据可看出,实体描述信息的补充丰富带来的准确度提高比关系边描述信息补充丰富明显,在一些指标上十分接近完整模块的推荐结果,这反映了数据信息不同角度的丰富度为推荐结果带来的影响,大模型对实体信息的丰富度较高,给模型后续获取知识得分,更新重构图结构有很大的作用。
Figure 6. Results 1 of the ablation experiment at recall@N
图6. recall@N消融实验数据结果1
Figure 7. Results 2 of ablation data at NDCG@N
图7. NDCG@N消融实验数据结果2
4.2.3. 不同大语言模型对比实验
本实验选取GLM-2B [7]、Qwen [29]、ChatGPT [12]三个大模型分别进行实验,实验使用不同大语言模型对知识图数据信息丰富扩展对后续推荐结果的影响。我们从三个角度设计实验:对实体节点信息的丰富(EDR)、对节点间关系信息的丰富(RDR)、对节点和关系信息的丰富(EDDR)。评价指标为recall@N和NDCG@N,N取20,40。实验结果如下所示。
Figure 8. Comparison of experimental results of different LLM
图8. 不同LLM实验结果对比
从上图8实验结果可得出,使用GLM-2B和Qwen两个大模型在评价指标上的实验结果相似,尤其是在RDR任务中,两个LLM的实验结果几乎重叠。在EDR和EDDR两个任务,GLM-2B和Qwen在recall@N指标上存在细小差异在NDCG@N上的评价结果相近,总体来说QWen的实验结果优于GLM-2B,这与Qwen对于实体节点描述信息的应用角度以及侧重点有关,Qwen主要是对于节点功能作用方面的补充,而GLM-B的侧重点在于节点数据背景信息的补充。对于chatGPT来说,实验结果相较前面两个模型来说有了较大的提升,这一方面是因为数据集的主要语言是英文,该模型对英文数据的支持性较好,另一方面chatGPT的模型训练参数比前两个LLM要多,并且支持训练的数据量更大,为知识图数据提供多方面的内容补充,最终实验效果较好。对于不同的大语言模型,在最终的实验结果上反映了一定程度的差异,这与数据集质量和模型参数规模有一定程度的关系。
5. 结语
本文针对知识图驱动服务推荐中的数据信息不足和图结构质量低的问题,提出了一种结合大语言模型和知识感知重构的图增强服务推荐方法。首先,利用大语言模型搭配设计提示策略丰富知识图信息,并聚合实体邻域表示作为后续模型的输入。其次,引入知识感知重构模块,通过学习图注意机制建立三元组知识得分方法,分类不同层次的子图,并隔离高得分子图以指导低得分子图的重构,从而提高图结构质量和服务推荐的准确性。在mashup-Api真实世界数据集上验证了本研究方法相较其他先进解决方案的优势,并分析了不同模块和大语言模型对结果的影响,证明了该思路的合理性和有效性。
我们的方法存在一些缺陷。针对mashup的API集合服务推荐,除了扩展实体及关系描述信息外,还能考虑交互时间、API执行顺序和需求意图等因素。在后续工作中,我们将探索LLM在优化服务信息方面的合理性,以及在图知识三元组上下文推理隐含意图的可能性,以获得对知识图数据结构的更深入理解。
基金项目
国家自然科学基金项目(U20A600004):广东省信息物理融合系统实验室。