基于多模态知识图卷积网络模型的推荐系统及方法
未命名
09-23
阅读:108
评论:0
1.本发明涉及个性化推荐技术领域,特别是一种基于多模态知识图卷积网络模型的推荐系统及方法。
背景技术:
2.知识图谱是一种使用图结构去描述事物和事物之间联系的数据表示形式,本质上是一个大规模的语义网络。多模态知识图谱(multimodal knowledge graph,mkg)与传统知识图谱的主要区别是,传统知识图谱主要集中研究文本和数据库的实体和关系,而多模态知识图谱则在传统知识图谱的基础上,构建多种模态(例如视觉模态和文本模态等)下的实体,以及多种模态实体间的多模态语义关系。多模态本质上是同一个对象不同方面的知识,它们之间是互补关系。
3.在多模态知识图谱出现以前,基于传统知识图谱的推荐算法整体上有三种思路,分别是基于嵌入的方法、基于路径的方法和二者结合在一起的方法。传统的图卷积网络(graph convolutional network,gcn)适用于同构图,应用在多模态知识图谱这种异构图上需要加以改进。同时,gcn在聚合邻域信息的过程中,多模态知识的利用率不够充分,传统的邻域采样算法将多模态知识和常规的结构化知识混在一起随机采样,会导致部分多模态知识丢失。
4.推荐系统可以在海量的数据信息中获取用户偏好,从而更好地实现个性化推荐,提高用户体验,它已经作为解决互联网中信息过载问题和满足用户个性化需求的一种手段被广泛的运用在电影、新闻、购物等领域。gcn已被用于推荐系统及推荐方法,例如,中国专利cn202211224122.x公开了一种基于多层次对比学习与多模态知识图谱的推荐方法及系统,具体为:首先根据预先给定的用户-物品交互数据和多模态知识图谱构建用户-物品交互序列和协同多模态知识图谱;然后依次建立模态对比学习损失函数、关系对比学习损失函数、偏好对比学习损失函数;最后根据模态对比学习损失函数、关系对比学习损失函数、偏好对比学习损失函数和预设的推荐损失函数进行模型训练和优化,得到适用于用户偏好的推荐结果。上述方案通过引入多层次的对比学习方法以构建更全面的物品表示、更细粒度化和更健壮的用户偏好表示,从而对数据稀疏下的用户-物品交互序列进行更好的偏好建模,进而提高电商平台的个性化推荐效果。然而,现有的推荐方法及系统,仍然存在推荐智能化程度低、不相关节点带来的噪声较高、卷积策略和邻域采样策略的效果不好等问题,并且推荐系统的可解释性差,推荐结果的准确度有待提高。
技术实现要素:
5.本发明的目的在于提供一种基于多模态知识图卷积网络模型的推荐系统及方法,引入更强的语义关系,提升推荐系统的可解释性,更加深度挖掘出用户或者项目的隐藏特征,提升推荐结果的准确度。
6.实现本发明目的的技术解决方案为:一种基于多模态知识图卷积网络模型的推荐
系统,其特征在于,所述推荐系统包括多模态知识图卷积网络模型,以及模型输入模块、模型输出模块;所述多模态知识图卷积网络模型即mkgcn模型,mkgcn模型包括多模态知识图实体编码器、多模态知识图邻域采样算法模块、多模态知识图卷积层、内积计算模块;其中:
7.模型输入模块,将多模态知识图mkg作为mkgcn模型输入,输入多模态知识图实体编码器;
8.多模态知识图实体编码器,使用不同的编码器来给不同的实体类型编码,计算得到所有实体对应的嵌入;
9.多模态知识图邻域采样算法模块,用于从多模态知识图谱的项目节点中,采集固定大小的邻域,参与嵌入计算过程;
10.多模态知识图卷积层,用于将每个实体的邻域信息聚合到该实体本身,得到一个新的嵌入以更新节点自身的嵌入;
11.内积计算模块,用于将用户实体的嵌入和物品实体的嵌入做内积运算,计算结果代表用户喜欢物品的概率;
12.模型输出模块,用于将用户喜欢物品的概率输出至用户端并进行显示。
13.一种基于多模态知识图卷积网络模型的推荐方法,基于所述的基于多模态知识图卷积网络模型的推荐系统,所述推荐方法步骤如下:
14.步骤1、模型输入模块将多模态知识图mkg作为mkgcn模型输入,输入多模态知识图实体编码器;
15.步骤2、多模态知识图实体编码器使用不同的编码器来给不同的实体类型编码,计算得到所有实体对应的嵌入;
16.步骤3、多模态知识图邻域采样算法模块从多模态知识图谱的项目节点中,采集固定大小的邻域,参与嵌入计算过程;
17.步骤4、多模态知识图卷积层将每个实体的邻域信息聚合到该实体本身,得到一个新的嵌入以更新节点自身的嵌入;
18.步骤5、内积计算模块将用户实体的嵌入和物品实体的嵌入做内积运算,计算结果代表用户喜欢物品的概率;
19.步骤6、模型输出模块将用户喜欢物品的概率输出至用户端并进行显示。
20.本发明与现有技术相比,其显著优点为:
21.(1)本发明mkgcn模型将多模态知识图和改进后的图卷积网络gcn方法结合起来,多模态知识图谱负责提供多模态知识,gcn负责计算实体在图谱中的表示,同时对邻域信息进行信息聚合操作,有更加显著的智能推荐优势,通过邻域节点信息加权提高了重要邻域节点的影响力,降低了噪声的影响力;通过在gcn中定义邻域节点的权重,减弱了不相关节点带来的噪声;
22.(2)本发明mkgcn的卷积策略效果好于kgcn,实体和关系属于不同的向量空间,不直接作内积,而是做拼接操作保留二者的信息,然后再使用权重矩阵映射到合适的维度,mkgcn的auc和f1性能都比kgcn好,多模态的加入促进了下游推荐任务的效果;
23.(3)在邻域采样问题上,采用多模态知识图邻域采样算法,该算法会从多模态知识图谱的项目节点中,采集固定大小的邻域,参与嵌入计算过程;为了充分发挥多模态知识的优势,使得多模态知识在采样过程中全部保留,只对结构化知识采取随机采样策略,从实验
结果可以看出,改进后的采样策略的效果要好于传统方法,即多模态信息的重要性要高于常规模态,多模态信息尽可能在采样过程中得到了保留;
24.(4)设计了两种聚合函数,分别是加法聚合函数和连接聚合函数,作用是将节点自身的嵌入和它的邻域信息嵌入聚合起来,从而更新节点自身的嵌入表示;而节点自身的嵌入和它的邻域信息的嵌入属于两个不同的语义空间,使用加法聚合会导致两种嵌入信息相互影响,使用连接聚合更合适;
25.(5)比较mkgcn和其他模型的整体性能表现,然后再分别探究多模态、邻域采样算法、感受野大小、聚合深度和聚合函数对于推荐效果的影响,最后得出mkgcn在基于多模态知识图谱的推荐领域具有以下显著优势:提高了基于多模态知识图谱推荐算法的推荐性能,对实现构建基于多模态知识图卷积网络的推荐系统有重要的意义,可以引入更强的语义关系,提升推荐系统的可解释性;更加深度挖掘出用户或者项目的隐藏特征,提升推荐结果的准确度。
附图说明
26.图1是mkgcn模型整体结构图。
27.图2是多模态知识图邻域采样算法流程图。
28.图3是多模态知识图卷积层效果图。
29.图4是mkgcn和基线分别在movielens和last-fm数据集上的top-k推荐结果对比图。
具体实施方式
30.为了解决基于传统的图卷积网络所面临的问题,本发明提出基于多模态知识图卷积网络(multi-modal knowledge graph convolutional network,mkgcn)的推荐算法。mkgcn将多模态知识图(mkg)和改进后的图卷积网络(gcn)二者结合起来,mkg谱负责提供多模态知识,gcn负责计算实体在图谱中的表示,同时对邻域信息进行信息聚合操作。通过在gcn中定义邻域节点的权重,减弱了不相关节点带来的噪声。对于多模态知识图谱里的每个节点,采用一个固定大小的邻域作为接收域。在邻域节点的选择上,为了充分利用多模态知识(例如电影海报等),给多模态知识相对较高的权重,结构化知识相对较低的权重,整体上使用随机采样策略。为了捕获知识图的高阶信息,节点的邻域可以扩展到更远的节点,通过若干次信息聚合操作使得每个节点也获得了较远处节点的信息。
31.结合图1,本发明提供一种基于多模态知识图卷积网络模型的推荐系统,其特征在于,所述推荐系统包括多模态知识图卷积网络模型,以及模型输入模块、模型输出模块;所述多模态知识图卷积网络模型即mkgcn模型,mkgcn模型包括多模态知识图实体编码器、多模态知识图邻域采样算法模块、多模态知识图卷积层、内积计算模块;其中:
32.模型输入模块,将多模态知识图mkg作为mkgcn模型输入,输入多模态知识图实体编码器;
33.多模态知识图实体编码器,使用不同的编码器来给不同的实体类型编码,计算得到所有实体对应的嵌入;
34.多模态知识图邻域采样算法模块,用于从多模态知识图谱的项目节点中,采集固
定大小的邻域,参与嵌入计算过程;
35.多模态知识图卷积层,用于将每个实体的邻域信息聚合到该实体本身,得到一个新的嵌入以更新节点自身的嵌入;
36.内积计算模块,用于将用户实体的嵌入和物品实体的嵌入做内积运算,计算结果代表用户喜欢物品的概率;
37.模型输出模块,用于将用户喜欢物品的概率输出至用户端并进行显示。
38.进一步地,所述多模态知识图实体编码器,使用bert预训练模型去提取文本模态的嵌入,使用resnet50预训练模型提取图像模态的嵌入;对于用户实体,使用随机初始化方法初始化嵌入。
39.进一步地,所述多模态知识图卷积层中,将一个给定的候选实体h直接相连节点以及关联的多模态信息聚合到实体h中,直接和实体h相关联的三元组(h,r,t)集合nh表示如下:
40.nh={(h,r,t)|(h,r,t)∈g}
41.并定义:直接与物品相连接的实体集合为nv,与用户相连接的实体集合为nu,并用r
i,j
表示实体i和实体j之间的关系;使用eh、e
t
分别表示实体h、t在知识图谱初步嵌入过程中的表示向量,er表示实体间关系的嵌入向量,使用e
agg
表示聚合邻居信息的向量,e
agg
是nh中每个三元组的线性组合,公式如下:
[0042][0043]
其中,π(h,r)表示关系r对实体h重要性当作权重处理;同理,使用π(t,r)表示关系r对实体t的重要性也当作权重处理,公式如下:
[0044]
π(h,r)=(eh||er)w1[0045]
其中,||代表连接操作,w1是权重矩阵;
[0046]
是用户-关系得分正则化后的结果,公式如下:
[0047][0048]
其中,r
t,m
表示实体t和实体m之间的关系;
[0049]
对于基于真实数据集的多模态知识图谱,nh的大小会随着实体的变化而变化,对每一个实体采用一个固定大小的邻居集合,这个固定大小的集合被称为实体h的感受野sh:
[0050]
sh={e|e~nh}
[0051]
|sh|=k
[0052]
其中,k是一个可配置的参数,代表感受野的大小;e表示感受视野中的一个元素实体或关系,e的变化范围是e~nh。
[0053]
进一步地,所述多模态知识图卷积层中,将实体h的邻居们的信息e
agg
和实体h本身的信息eh聚合起来,设计下面的两种函数来实现信息聚合:
[0054]
首先是加法聚合函数f
add
,公式如下:
[0055]fadd
(eh,e
agg
)=w2eh+e
agg
[0056]
其中,w2是一个权值矩阵,作用是将eh和e
agg
映射到同一个向量空间;
[0057]
然后是连接聚合函数f
concat
,公式如下:
[0058]fconcat
(eh,e
agg
)=w3(eh||e
agg
)
[0059]
其中,||代表连接操作,w3表示多模态知识图卷积层权值矩阵。
[0060]
进一步地,所述多模态知识图卷积层中,单层的多模态知识图卷积层将被拓展到多层,通过堆叠若干多模态知识图卷积层来捕获高阶邻域信息;
[0061]
定义f代表卷积的次数,实体h在i跳之后的嵌入为i的取值范围是0到f,实体h的最终嵌入表示为:
[0062][0063]
其中||代表连接操作。
[0064]
进一步地,所述内积计算模块中,使用eu和分别表示用户u和物品v的最终嵌入,通过向量内积函数定义偏好公式如下:
[0065][0066]
进一步地,所述mkgcn模型的优化过程如下:
[0067]
定义y={(u,v,y
uv
)|u∈u,v∈v,y
uv
=1ory
uv
=0}代表用户-物品交互记录集合,其中,u代表用户集合,v代表物品集合,y
uv
=1代表用户u和物品v存在交互即正记录,不存在交互则值为零即负记录;
[0068]
使用下式计算交叉熵损失
[0069][0070]
为了计算一个用户的预测偏好和他的实际偏好之间的差值,使用下式计算正则化项:
[0071][0072]
其中,l
2loss
代表着模型里所有可训练参数的均方误差,xi是指参数的期待值,x
i-代表参数的实际值,m是所有参数的总数量;
[0073]
最终的损失函数l
loss
定义如下:
[0074][0075]
其中,α是一个可训练的参数,用来调整两种损失的比重。
[0076]
本发明还提供一种基于多模态知识图卷积网络模型的推荐方法,基于所述的基于多模态知识图卷积网络模型的推荐系统,所述推荐方法步骤如下:
[0077]
步骤1、模型输入模块将多模态知识图mkg作为mkgcn模型输入,输入多模态知识图实体编码器;
[0078]
步骤2、多模态知识图实体编码器使用不同的编码器来给不同的实体类型编码,计算得到所有实体对应的嵌入;
[0079]
步骤3、多模态知识图邻域采样算法模块从多模态知识图谱的项目节点中,采集固定大小的邻域,参与嵌入计算过程;图2是多模态知识图邻域采样算法流程图,其中设节点h
的邻域为集合n,初始节点集合m为空,代表节点h的采样邻域,采样大小为s。
[0080]
步骤4、多模态知识图卷积层将每个实体的邻域信息聚合到该实体本身,得到一个新的嵌入以更新节点自身的嵌入;
[0081]
步骤5、内积计算模块将用户实体的嵌入和物品实体的嵌入做内积运算,计算结果代表用户喜欢物品的概率;
[0082]
步骤6、模型输出模块将用户喜欢物品的概率输出至用户端并进行显示。
[0083]
接下来结合具体实施例对上述方案作进一步说明。
[0084]
实施例
[0085]
本实施例提供一种基于多模态知识图卷积网络模型的推荐方法,包括如下步骤:
[0086]
(1)多模态知识图卷积网络(multi-modal knowledge graph convolutional network,mkgcn),mkgcn将多模态知识图mkg作为输入,通过多模态知识图实体编码器计算得到所有实体对应的嵌入,构建多模态知识图谱以丰富物品知识。
[0087]
(2)多模态知识图邻域采样算法,从多模态知识图谱的项目节点中,采集固定大小的邻域,调整邻域采样策略以更好地利用多模态信息。
[0088]
(3)多模态知识图实体编码器,负责使用不同的编码器来给不同的实体类型编码,使用改进后的图卷积网络来聚合实体信息,同时通过扩展图谱内每个实体的接收域来捕获高阶信息。
[0089]
(4)多模态知识图卷积层,负责将每个实体的邻域信息聚合到该实体本身,得到一个新的嵌入,最后将用户实体的嵌入和物品实体的嵌入做内积运算,计算结果代表该用户喜欢该物品的概率。
[0090]
作为一种具体示例,mkgcn将多模态知识图mkg作为输入,首先通过多模态知识图实体编码器计算得到所有实体对应的嵌入,然后通过多模态知识图邻域采样算法采集项目实体的邻域节点,然后通过多模态知识图卷积层聚合邻域实体的信息,最后将用户实体的嵌入和物品实体的嵌入做内积运算,计算结果代表了该用户喜欢该物品的概率。
[0091]
作为一种具体示例,多模态知识图邻域采样算法,从多模态知识图谱的项目节点中,采集固定大小的邻域,调整邻域采样策略以更好地利用多模态信息;该算法会从多模态知识图谱的项目节点中,采集固定大小的邻域,参与嵌入计算过程。
[0092]
作为一种具体示例,多模态知识图实体编码器,负责使用不同的编码器来给不同的实体类型编码,使用改进后的图卷积网络来聚合实体信息,同时通过扩展图谱内每个实体的接收域来捕获高阶信息;使用bert预训练模型去提取文本模态的嵌入,使用resnet50预训练模型提取图像模态的嵌入;对于用户实体,使用随机初始化方法初始化嵌入。
[0093]
作为一种具体示例,多模态知识图卷积层,负责将每个实体的邻域信息聚合到该实体本身,得到一个新的嵌入,单个多模态知识图卷积层由一个传播层和一个聚合层组成。对于一个给定的候选实体h,需要把它的多模态邻居的信息聚合到实体h,以丰富实体h的表示。使用以下公式来表示直接和实体h相连接的三元组集合:
[0094]
nh={(h,r,t)|(h,r,t)∈g}
[0095]
在三元组集合中,用π(h,r)表示邻居实体t占有的权重,或者说是关系r对于实体h的重要程度。例如,对于一部电影,它的主演的重要程度一般会大于次要演员的重要程度。使用ei表示实体i的向量表示,使用e
agg
表示聚合邻居信息的向量,它是nh中每个三元组的线
性组合,公式如下:
[0096][0097]
聚合层的主要作用是将实体h的邻居们的信息e
agg
和实体h本身的信息eh聚合起来。这里设计了下面的两种函数来实现信息聚合:
[0098]
首先是加法聚合函数,公式如下:
[0099]fadd
(eh,e
agg
)=w2eh+e
agg
[0100]
其中,w2是一个权值矩阵,作用是将eh和e
agg
映射到同一个向量空间。然后是连接聚合函数,公式如下:
[0101]fconcat
(eh,e
agg
)=w3(eh||e
agg
)
[0102]
其中,||代表连接操作,w3表示多模态知识图卷积层权值矩阵。
[0103]
作为一种具体示例,单层的多模态知识图卷积层将被拓展到多层,主要通过堆叠若干多模态知识图卷积层来捕获高阶邻域信息;类似于水波的传播,当卷积操作的次数不断增加时,当前节点的信息将被传播到更远的节点;这样,最终实现了高阶联通性。这里定义f代表卷积的次数,也可以说是聚合的深度。定义实体h在i跳之后的嵌入为i的变化范围是0到f,这样实体h的最终嵌入可以表示为:
[0104][0105]
这里的||代表连接操作。
[0106]
作为一种具体示例,图卷积网络模块的目的是通过卷积操作整合项目实体的邻域信息,并将邻域信息聚合到项目实体自身,得到项目实体的新的嵌入表示。效果如图3所示,经过一次卷积操作之后,紫色节点的信息会被聚合到橙色节点,蓝色节点的信息会被聚合到紫色节点。
[0107]
为了将一个给定的候选实体h周围结点的多模态信息聚合到实体h中,使用nh={(h,r,t)|(h,r,t)∈g}来表示直接和实体h相连接的三元组集合;使用ei表示实体i的向量表示,使用e
agg
表示聚合邻居信息的向量,它是nh中每个三元组的线性组合,公式如下:
[0108][0109]
π(h,r)表示关系r对实体h重要性当作权重处理,公式如下:
[0110]
π(h,r)=(eh||er)w1[0111]
其中,||代表连接操作,w1是权重矩阵。
[0112]
是用户-关系得分正则化后的结果,公式如下:
[0113][0114]
对于基于真实数据集的多模态知识图谱而言,nh的大小会随着实体的变化而变化。为了保证批处理的计算模式固定和高效,对每一个实体采用一个固定大小的邻居集合,而不是使用它的全部邻居。这个固定大小的集合被称为实体h的感受野,使用sh表示,其中,sh={e|e~nh}并且|sh|=k,k是一个可配置的参数,代表感受野的大小。
[0115]
聚合层的主要作用是将实体h的邻居们的信息e
agg
和实体h本身的信息eh聚合起来。这里设计了下面的两种函数来实现信息聚合:
[0116]
首先是加法聚合函数,公式如下:
[0117]fadd
(eh,e
agg
)=w2eh+e
agg
[0118]
其中,w2是一个权值矩阵,作用是将eh和e
agg
映射到同一个向量空间。
[0119]
然后是连接聚合函数,公式如下:
[0120]fconcat
(eh,e
agg
)=w3(eh||e
agg
)
[0121]
其中,||代表连接操作,w3表示多模态知识图卷积层权值矩阵。
[0122]
最后,单层的多模态知识图卷积层将被拓展到多层。这里主要通过堆叠若干多模态知识图卷积层来捕获高阶邻域信息。这里定义f代表卷积的次数,也可以说是聚合的深度。定义实体h在i跳之后的嵌入为i的变化范围是0到f,这样实体h的最终嵌入可以表示为:
[0123][0124]
这里的||代表连接操作。
[0125]
通过计算用户嵌入和物品嵌入的相似度去预测用户偏好。这里使用eu和分别表示用户u和物品v的最终嵌入表示,可以通过向量内积函数定义偏好,公式如下:
[0126][0127]
然后是定义损失函数。
[0128]
定义y={(u,v,y
uv
)|u∈u,v∈v,y
uv
=1ory
uv
=0},代表用户-物品交互记录集合,其中,u代表用户集合,v代表物品集合,y
uv
=1代表用户u和物品v存在交互(正记录),不存在交互则值为零(负记录)。这里使用负采样策略去提高训练的准确度,具体来讲,就是要保证正负样本的数量是相等的。
[0129]
然后使用下面这个公式计算交叉熵损失:
[0130][0131]
为了计算一个用户的预测偏好和他的实际偏好之间的差值,使用下面这个公式计算正则化项:
[0132][0133]
这里的l
2lo
代表着模型里所有可以训练的参数的均方误差。xi是指参数的期待值,x
i-代表参数的实际值,m是所有参数的总数量。为了克服过拟合问题,这里xi可以设置为0。
[0134]
最终的损失函数定义如下:
[0135][0136]
这里的α是一个可以训练的参数,用来调整两种损失的比重。
[0137]
接下来比较mkgcn和其他模型的整体性能表现,然后再分别探究多模态、邻域采样算法、感受野大小、聚合深度和聚合函数对于推荐效果的影响。
[0138]
表1和图4展示了mkgcn和其他模型在两个数据集下的ctr和top-k结果对比。可以
得到以下结论:(1)mkgcn在两个数据集上的效果比其他模型都要好。具体来说,mkgcn的auc和f1性能都比kgcn要好,这意味着多模态的加入可以促进下游推荐任务的效果。(2)mkgcn的效果要好于mkgat,这充分说明了transformer模型和改进后的gcn模型有显著的优势。
[0139]
表1mkgcn和其他模型的整体性能表现
[0140][0141]
(1)多模态的影响
[0142]
mkgcn模型基于movielens数据集的对比实验结果如表2所示。
[0143]
从结果可以看出:(1)mkgcn比移除多模态数据的kgcn效果要好,这验证了多模态对于推荐结果有促进作用(2)多模态的结果好于单一模态,mkgcn的效果要好于只使用文本模态或者只使用图像模态的kgcn。(3)值得注意的是,图片模态的效果好于文本模态,这印证一个常识,那就是人们第一眼看到的往往是电影的海报,而不是演员列表等文字信息。
[0144]
表2多模态的效果对比
[0145][0146]
(2)邻域采样算法的影响
[0147]
传统的多模态知识图谱的随机采样算法是将多模态知识和结构化知识同等看待,一起随机采样,这样会导致部分多模态信息在随机采样的过程中丢失。为了充分发挥多模态知识的优势,应该使得多模态知识在采样过程中全部保留,只对结构化知识采取随机采样策略。这里将mkgcn分别使用两种邻域随机采样策略进行对比实验。实验结果如表3所示。
[0148]
从结果可以看出,改进后的采样策略的效果要好于传统方法,即多模态信息的重要性要高于常规模态,多模态信息要尽可能在采样过程中保留。
[0149]
表3两种邻域采样算法在movielens上的效果对比
[0150][0151]
(3)图卷积网络的影响
[0152]
mkgcn对kgcn提出的图卷积网络加以改进。对于多模态知识图谱g中的任意一个三元组(h,r,t),kgcn计算节点h和邻域节点t的权重的方法是向量内积,公式为e
her
,其中eh和er
分别代表h和r的嵌入。而mkgcn的计算方法是(eh||er)w1,其中,||代表向量的拼接操作,w1是权重矩阵。分别让mkgcn使用上述的两种卷积策略进行对比实验,实验结果如表4所示。
[0153]
从结果可以看出,mkgcn的卷积策略的效果要好于kgcn,这是因为实体和关系属于不同的向量空间,不应该直接内积,而应该做拼接操作保留二者的信息,然后再使用权重矩阵映射到合适的维度。
[0154]
表4两种模型的图卷积网络在movielens上的效果对比
[0155][0156]
(4)感受野大小的影响
[0157]
感受野代表在邻域采样中,采集的邻域节点的数量,这里使用k表示。实验结果如表5所示。可以看出,随着感受野大小k的不断增加,auc指标先是逐渐增加,然后开始不断下降。这是因为邻域节点里既存在着重要信息,也存在着噪声。当感受野k比较小时,采集的更多是重要的邻域信息,当k较大时,会引入很多噪声。这也同时验证了邻域节点信息加权的重要性,加权的主要目的就是为了提高重要邻域节点的影响力,降低噪声的影响力。
[0158]
表5auc指标随着感受野大小k的变化
[0159][0160]
(5)聚合深度的影响
[0161]
当聚合深度h为1时,意味着整个多模态知识图谱里的所有节点都做了一次卷积操作,它们聚合了来自一阶邻居的信息。当聚合深度不断增加时,当前节点会聚合来自二阶、三阶乃至更远节点的信息。这里就是要研究聚合深度h对于模型表现的影响,结果如表6所示。
[0162]
从实验结果可以看出,在movielens数据集上,聚合深度h=2时效果最好,这是因为随着聚合深度h的增加,节点在聚合到更多重要信息的同时,噪声也在不断增加,因此auc指标会先增加再下降。在last-fm数据集上,当聚合深度h=1时效果最好,这说明了对于last-fm数据集来说,二阶、三阶乃至更远的邻居带来噪声的影响程度远远大于带来的重要信息的影响力。
[0163]
表6auc指标随着聚合深度h的变化
[0164][0165]
(6)聚合函数的影响
[0166]
在聚合层里,有两种聚合函数,分别是加法聚合函数和连接聚合函数,作用是将节点自身的嵌入和它的邻域信息嵌入聚合起来,从而更新节点自身的嵌入表示。表7展示了实验结果。从实验结果可以看出,连接聚合函数的auc指标结果要好于加法聚合函数的auc指标结果。这是因为,加法聚合函数更加适合那种处于同一个向量空间上的嵌入之间的聚合,连接聚合函数适合处于不同向量空间上的嵌入之间的聚合。而节点自身的嵌入和它的邻域
信息的嵌入属于两个不同的语义空间,使用加法聚合会导致两种嵌入信息相互影响,使用连接聚合是一种更合适的方式。
[0167]
表7两种聚合函数的auc指标对比
[0168][0169]
综上所述,本发明mkgcn模型将多模态知识图和改进后的图卷积网络gcn方法结合起来,多模态知识图谱负责提供多模态知识,gcn负责计算实体在图谱中的表示,同时对邻域信息进行信息聚合操作。在实验结果中得出,mkgcn的效果要好于mkgat和只使用文本模态或者只使用图像模态的kgcn,这充分说明了改进后的gcn模型有显著的更加智能的推荐优势;同时也验证了邻域节点信息加权的重要性,加权的主要目的就是为了提高重要邻域节点的影响力,降低噪声的影响力;通过在gcn中定义邻域节点的权重,减弱了不相关节点带来的噪声。mkgcn的卷积策略的效果要好于kgcn,这是因为实体和关系属于不同的向量空间,不应该直接作内积,而应该做拼接操作保留二者的信息,然后再使用权重矩阵映射到合适的维度。实验结果显示,mkgcn的auc和f1性能都比kgcn要好,这意味着多模态的加入可以促进下游推荐任务的效果。在邻域采样问题上,相比与传统的多模态混合采样的算法,提出了一种新的多模态知识图邻域采样算法。该算法会从多模态知识图谱的项目节点中,采集固定大小的邻域,参与嵌入计算过程;为了充分发挥多模态知识的优势,使得多模态知识在采样过程中全部保留,只对结构化知识采取随机采样策略。从实验结果可以看出,改进后的采样策略的效果要好于传统方法,即多模态信息的重要性要高于常规模态,多模态信息要尽可能在采样过程中保留。本发明设计了两种聚合函数,分别是加法聚合函数和连接聚合函数,作用是将节点自身的嵌入和它的邻域信息嵌入聚合起来,从而更新节点自身的嵌入表示。而节点自身的嵌入和它的邻域信息的嵌入属于两个不同的语义空间,使用加法聚合会导致两种嵌入信息相互影响,使用连接聚合是一种更合适的方式。在大量实验基础上,首先比较mkgcn和其他模型的整体性能表现,然后再分别探究多模态、邻域采样算法、感受野大小、聚合深度和聚合函数对于推荐效果的影响,最后得出mkgcn在基于多模态知识图谱的推荐领域具有显著优势结论。
技术特征:
1.一种基于多模态知识图卷积网络模型的推荐系统,其特征在于,所述推荐系统包括多模态知识图卷积网络模型,以及模型输入模块、模型输出模块;所述多模态知识图卷积网络模型即mkgcn模型,mkgcn模型包括多模态知识图实体编码器、多模态知识图邻域采样算法模块、多模态知识图卷积层、内积计算模块;其中:模型输入模块,将多模态知识图mkg作为mkgcn模型输入,输入多模态知识图实体编码器;多模态知识图实体编码器,使用不同的编码器来给不同的实体类型编码,计算得到所有实体对应的嵌入;多模态知识图邻域采样算法模块,用于从多模态知识图谱的项目节点中,采集固定大小的邻域,参与嵌入计算过程;多模态知识图卷积层,用于将每个实体的邻域信息聚合到该实体本身,得到一个新的嵌入以更新节点自身的嵌入;内积计算模块,用于将用户实体的嵌入和物品实体的嵌入做内积运算,计算结果代表用户喜欢物品的概率;模型输出模块,用于将用户喜欢物品的概率输出至用户端并进行显示。2.根据权利要求1所述的基于多模态知识图卷积网络模型的推荐系统,其特征在于,所述多模态知识图实体编码器,使用bert预训练模型去提取文本模态的嵌入,使用resnet50预训练模型提取图像模态的嵌入;对于用户实体,使用随机初始化方法初始化嵌入。3.根据权利要求1所述的基于多模态知识图卷积网络模型的推荐系统,其特征在于,所述多模态知识图卷积层中,将一个给定的候选实体h直接相连节点以及关联的多模态信息聚合到实体h中,直接和实体h相关联的三元组(h,r,t)集合n
h
表示如下:n
h
={(h,r,t)|(h,r,t)∈g}并定义:直接与物品相连接的实体集合为n
v
,与用户相连接的实体集合为n
u
,并用r
i,j
表示实体i和实体j之间的关系;使用e
h
、e
t
分别表示实体h、t在知识图谱初步嵌入过程中的表示向量,e
r
表示实体间关系的嵌入向量,使用e
agg
表示聚合邻居信息的向量,e
agg
是n
h
中每个三元组的线性组合,公式如下:其中,π(h,r)表示关系r对实体h重要性当作权重处理;同理,使用π(t,r)表示关系r对实体t的重要性也当作权重处理,公式如下:π(h,r)=(e
h
||e
r
)w1其中,||代表连接操作,w1是权重矩阵;是用户-关系得分正则化后的结果,公式如下:其中,r
t,m
表示实体t和实体m之间的关系;对于基于真实数据集的多模态知识图谱,n
h
的大小会随着实体的变化而变化,对每一个实体采用一个固定大小的邻居集合,这个固定大小的集合被称为实体h的感受野s
h
:
s
h
={e|e~n
h
}|s
h
|=k其中,k是一个可配置的参数,代表感受野的大小;e表示感受视野中的一个元素实体或关系,e的变化范围是e~n
h
。4.根据权利要求3所述的基于多模态知识图卷积网络模型的推荐系统,其特征在于,所述多模态知识图卷积层中,将实体h的邻居们的信息e
agg
和实体h本身的信息e
h
聚合起来,设计下面的两种函数来实现信息聚合:首先是加法聚合函数f
add
,公式如下:f
add
(e
h
,e
agg
)=w2e
h
+e
agg
其中,w2是一个权值矩阵,作用是将e
h
和e
agg
映射到同一个向量空间;然后是连接聚合函数f
concat
,公式如下:f
concat
(e
h
,e
agg
)=w3(e
h
||e
agg
)其中,||代表连接操作,w3表示多模态知识图卷积层权值矩阵。5.根据权利要求4所述的基于多模态知识图卷积网络模型的推荐系统,其特征在于,所述多模态知识图卷积层中,单层的多模态知识图卷积层将被拓展到多层,通过堆叠若干多模态知识图卷积层来捕获高阶邻域信息;定义f代表卷积的次数,实体h在i跳之后的嵌入为i的取值范围是0到f,实体h的最终嵌入表示为:其中||代表连接操作。6.根据权利要求5所述的基于多模态知识图卷积网络模型的推荐系统,其特征在于,所述内积计算模块中,使用e
u
和分别表示用户u和物品v的最终嵌入,通过向量内积函数定义偏好公式如下:7.根据权利要求6所述的基于多模态知识图卷积网络模型的推荐系统,其特征在于,所述mkgcn模型的优化过程如下:定义y={(u,v,y
uv
)|u∈u,v∈v,y
uv
=1 or y
uv
=0}代表用户-物品交互记录集合,其中,u代表用户集合,v代表物品集合,y
uv
=1代表用户u和物品v存在交互即正记录,不存在交互则值为零即负记录;使用下式计算交叉熵损失使用下式计算交叉熵损失为了计算一个用户的预测偏好和他的实际偏好之间的差值,使用下式计算正则化项:其中,l
2los
代表着模型里所有可训练参数的均方误差,x
i
是指参数的期待值,x
i-代表参数的实际值,m是所有参数的总数量;最终的损失函数l
loss
定义如下:
其中,α是一个可训练的参数,用来调整两种损失的比重。8.一种基于多模态知识图卷积网络模型的推荐方法,其特征在于,基于权利要求1~7任一项所述的基于多模态知识图卷积网络模型的推荐系统,所述推荐方法步骤如下:步骤1、模型输入模块将多模态知识图mkg作为mkgcn模型输入,输入多模态知识图实体编码器;步骤2、多模态知识图实体编码器使用不同的编码器来给不同的实体类型编码,计算得到所有实体对应的嵌入;步骤3、多模态知识图邻域采样算法模块从多模态知识图谱的项目节点中,采集固定大小的邻域,参与嵌入计算过程;步骤4、多模态知识图卷积层将每个实体的邻域信息聚合到该实体本身,得到一个新的嵌入以更新节点自身的嵌入;步骤5、内积计算模块将用户实体的嵌入和物品实体的嵌入做内积运算,计算结果代表用户喜欢物品的概率;步骤6、模型输出模块将用户喜欢物品的概率输出至用户端并进行显示。
技术总结
本发明公开了一种基于多模态知识图卷积网络模型的推荐系统及方法。所述系统包括MKGCN模型及其输入、输出模块;MKGCN模型包括多模态知识图实体编码器、多模态知识图邻域采样算法模块、多模态知识图卷积层、内积计算模块;方法为:将多模态知识图MKG作为MKGCN模型输入,输入多模态知识图实体编码器;给不同的实体类型编码,计算得到所有实体对应的嵌入;从多模态知识图谱的项目节点中,采集固定大小的邻域,参与嵌入计算过程;将每个实体的邻域信息聚合到该实体本身,以更新节点自身的嵌入;将用户实体的嵌入和物品实体的嵌入做内积运算,计算结果代表用户喜欢物品的概率。本发明提高了推荐系统的可解释性以及推荐结果的准确度。准确度。准确度。
技术研发人员:王永利 廖烽贵 宫小泽 张永亮
受保护的技术使用者:南京理工大学
技术研发日:2023.06.09
技术公布日:2023/9/22
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/