基于用户长短期兴趣与知识图卷积网络的推荐*

2021-04-06 10:48:26顾军华佘士耀张素琪
计算机工程与科学 2021年3期
关键词:图谱实体卷积

顾军华,佘士耀,樊 帅,张素琪

(1.河北工业大学人工智能与数据科学学院,天津 300401;2.河北省大数据计算重点实验室,天津 300401;3天津商业大学信息工程学院,天津 300134)

1 引言

随着互联网的发展,信息量呈爆发式的增长,人们面临的信息量过大,推荐系统应运而生,可帮助用户有效地从纷繁复杂的数据中获取有价值的信息,推荐潜在的兴趣项目。

推荐系统是利用用户与项目之间的二元关系,基于用户历史行为记录或相似性关系帮助用户发现可能感兴趣的项目。传统的推荐系统主要基于协同过滤[1,2],该类推荐系统会面临稀疏性问题和冷启动问题。因此,人们提出了将知识图谱KG(Knowledge Graph)[3]作为辅助信息的基于知识图谱的推荐系统。在知识图谱中,项目之间丰富的语义关联有助于探索项目与项目之间的潜在联系,提高结果的准确性。知识图谱中各种类型的关系有助于扩展用户的兴趣偏好,并增加推荐项目的多样性。知识图谱连接用户的历史喜好和待推荐项目,从而增强了推荐系统的可解释性。因此,基于知识图谱的推荐系统成为现阶段研究的热点。

基于知识图谱的推荐方法一般利用TransE[4]、TransR[5]等知识图谱嵌入[6]方法将知识图谱中的实体和关系映射到低维向量中[7,8]。这种方法一般严格地进行语义关系建模,更适合知识图谱的补全等图内应用。为了更有效地利用图内结构信息,Yu等[9]提出了PER(PERsonalized entity recommendation: a heterogeneous information network approach)方法,将知识图谱视为异构信息网络进行推荐。Shi等[10]在此基础上设计了多条元路径(meta-path)并在PathSim的基础上融入边信息,获得基于元路径的用户相似度。Zhao等[11]改进了传统的元路径,引入元图(meta-graph)的概念,根据元路径挖掘图中的潜在特征,以此表示用户和项目之间的不同关系特征,但是该方法很大程度上依赖于人工设定的元路径。为了解决这个问题,人们提出了利用图神经网络表示知识图谱的方法,Wang等[12]提出了KGAT(Knowledge Graph Attention neTwork)方法,Wang等[13,14]提出了RippleNet[13]和KGCN(Knowledge Graph Convolutional Networks for recommender systems)[14]方法。RippleNet以已交互的项目为中心构建知识图谱,用户兴趣在知识图谱上逐层向外扩散且逐层衰减。KGCN利用图卷积网络GCN(Graph Convolutional Network)[15],以一个项目为起点在知识图谱中传播得到该项目的邻居节点,并通过该项目的邻居节点与项目节点的聚合得到项目特征,实现了高阶结构和项目特征的自动捕获。但是,该类方法对用户的兴趣表示并不精确。为了更好地进行推荐,本文对用户的兴趣表示进行进一步研究,提出了基于知识图卷积网络与用户长短期兴趣的推荐方法。

本文提出了基于用户长短期兴趣与知识图卷积网络的推荐模型LSKGCN(recommendation based on users’ Long- and Short-term preference and Knowledge Graph Convolutional Network)。利用图卷积网络表示知识图谱,通过注意力机制[16]挖掘用户感兴趣的实体,从知识图谱的中心出发,迭代地向外扩张,再通过邻域聚合的操作,将高阶特征向量聚合在项目向量中,得到中心实体的向量表示。在此基础上本文提出通过结合用户长期兴趣表示与短期兴趣表示得到用户兴趣向量表示。这是因为用户的兴趣爱好也会随着时间而产生变化,用户会有长期形成的兴趣爱好也会有短期内感兴趣的项目,用户短期内点击过的项目会对用户的下一次选择产生比较大的影响。所以,考虑用户的兴趣爱好时既要考虑用户长久以来的兴趣也要考虑到用户短期内的兴趣偏好。为了更好地挖掘用户特征,得到用户兴趣向量表示,可从用户的长期兴趣特征与短期兴趣特征两方面来分析。

2 相关工作

2.1 知识图卷积网络模型

知识图卷积网络模型以每个项目v为中心实体构建知识图谱,利用图卷积网络得到项目的向量表示。知识图谱G可用三元组(h,r,t)表示,其中h∈ε、r∈R和t∈ε分别表示头实体、关系和尾实体,ε和R分别为知识图谱中实体的集合和关系的集合。模型可以分为多层,如图1所示。

Figure 1 Model of knowledge graph convolutional network

当层数p=0时,得到的项目向量表示为项目本身。当层数p=1时,根据以项目为中心的知识图谱找到中心实体的邻居实体,并将邻居实体进行加权求和并与中心实体相加。当层数p=2时,根据知识图谱找到中心实体的邻居实体,再找到邻居实体的邻居实体,并求得实体间关系相关性进行加权求和,最终得到中心实体项目的向量表示。

对于用户u和项目v,N(v)表示与v直接相连的邻居实体,N(e)表示与实体e直接相连的实体集合,rei,ej表示连接实体ei和实体ej的关系。利用函数g计算用户与关系的相关性,称为用户-关系评分:

(1)

(2)

(3)

其中,e0∈Rd为初始的实体表示,即模型层数p=0时中心实体的向量表示。当计算实体邻域的表示时,归一化的用户-关系评分可作为用户喜好权重,并基于用户喜好权重对项目的邻域进行加权求和。

(4)

其中,W∈Rd×d和b∈Rd为权重和偏置;σ为非线性函数。

通过一层的模型,实体的表示则仅依赖于自身及其邻域,可将其命名为1阶实体表示,则vagg为项目v的1阶表示,又记为v1。将每个实体的初始表示即0阶表示与其邻域实体的0阶表示聚合,则可获得1阶实体表示。将模型从1阶扩展到多阶,即先获得项目的1阶邻居,再通过1阶邻居找到项目的2阶邻居,将2阶邻居实体信息聚合到1阶邻居实体中,再将1阶的邻居实体进行聚合得到项目v的2阶表示v2,一般来说,一个实体的P阶表示是它自己与其P层范围内的实体的聚合,可将该项目的P阶表示作为最终的项目表示vP。

2.2 用户长短期偏好特征

用户的长短期兴趣表示考虑用户的访问序列问题。考虑到前面已经访问过的序列会对后续的项目产生影响,Li等[17]利用注意力机制从隐藏层捕获用户主要目的,结合序列行为得到最终的特征向量表示。 Liu等[18]提出了一种短期记忆优先的模型,在建模长时间序列的用户点击行为时,着重加强用户近期行为的影响。但是,Wu等[19]认为之前的工作不能够得到用户的精确表示,提出将序列化问题转换为图的问题,然后经过图卷积网络来学习每个项目的低维表示。在这些方法中短期兴趣表示直接由用户交互过的历史通过加权求和得到,不能准确地反映用户的短期兴趣偏好。

3 LSKGCN模型

本文提出了基于用户长短期兴趣与知识图卷积网络的推荐模型,该模型以知识图卷积网络模型为基础,利用知识图卷积网络模型表示知识图谱,得到项目的向量表示。在此基础上将用户的兴趣表示分为2个部分:用户的长期兴趣偏好和用户的短期兴趣偏好。用户的长期兴趣偏好是用户长期以来形成的兴趣爱好,不易随着时间改变。用户的短期兴趣偏好是用户近期的兴趣爱好,会随着时间改变。与所有历史项目欧氏距离最小的向量即为用户长期兴趣表示。用户短期兴趣表示则通过时间序列选出近期的历史项目并利用知识图卷积网络模型得到历史项目的向量表示,然后通过注意力机制得到历史项目的加权系数,最后通过加权求和得到用户短期兴趣表示。用户近期点击过的历史项目对用户的影响比较大,所以本文最终采用加和的拼接方式聚合用户长期兴趣偏好和短期兴趣偏好来加强用户短期兴趣偏好的影响。

通过将用户长期兴趣表示与用户短期兴趣表示拼接得到用户表示,该用户表示结合了用户的长期兴趣与用户的短期兴趣,既可以得到用户长期以来的喜好习惯,又可以得到用户在短期内的喜爱偏好。只用用户长期兴趣会忽略用户短期内的喜好,用户短期内的兴趣容易随着时间改变,是用户最近一段时间的兴趣。只用用户短期兴趣会忽略用户长期兴趣,用户长期兴趣反映了用户长久以来的习惯。当将两者结合既可以得到用户长久以来的兴趣习惯,又可以强调用户短期内感兴趣的项目,更符合用户的特征,在推荐系统中更能帮助用户找到合适的兴趣项目。

在模型中有M个用户和N个项目,分别记为U={u1,u2,u3,…,uM}和V={v1,v2,v3,…,vN},K个用于短期兴趣表示的项目。设用户与项目的交互矩阵为Y,其中yuv=1表示用户u点击过项目v,否则yuv=0。最终通过评分函数y=f(u,v|θ,Y,G)判断用户u对项目v感兴趣的概率,其中θ为模型参数。LSKGCN模型结构如图2所示。

Figure 2 Model of LSKGCN

图2中{vu,1,vu,2,…,vu,K}为用户u近期最后交互的K个历史项目,用于获得短期兴趣表示uS,{vu,1,vu,2,…,vu,n}为用户u点击过的n个历史项目,用于获取长期兴趣表示uL。v为待推荐项目,vP为通过知识图卷积模型得到的项目向量表示。u为用户向量表示。y为评分函数。

3.1 用户短期兴趣表示

在获取用户短期兴趣uS时,需要在用户近期交互历史中挖掘与待推荐项目较为相似的项目。若待推荐项目与用户近期历史项目中某一项非常相似,那么用户点击该项目的概率会很大。因此,在进行用户短期兴趣建模时需要利用知识图卷积网络模型来得到用户历史项目的向量表示。

通过时间序列筛选出用户点击过的最近的K个历史项目,以用户历史项目为中心建立知识图谱,并通过知识图卷积网络得到历史项目的向量表示,同样地,通过图卷积网络得到待推荐项目的向量表示。得到历史项目与待推荐项目的向量表示后,通过注意力机制得到每个历史项目加权求和的系数,并根据该系数将历史项目加权求和得到用户短期兴趣偏好的向量表示。其模型如图3所示。

Figure 3 Model of users’ short-term preference

图3中,{vu,1,vu,2,…,vu,K}为用户u近期点击过的K个历史项目,用于获得短期兴趣表示uS,v为待推荐项目,vP为通过知识图卷积模型得到的项目向量表示。vu为用户点击过的历史项目,为以时间为基准,选出用户u最近点击的K个项目{vu,1,vu,2,…,vu,K}。以每个历史项目为中心建立知识图谱,并根据式(1)得到历史项目与用户的用户-关系评分:

(5)

在评分函数中用长期兴趣表示uL计算用户与项目vu的相关性。

(6)

(7)

其中,αi为注意力系数,其计算方法为:

gi=tanh(Watt[vu,i;v]+batt)

(8)

(9)

其中,Watt∈R1×2d,batt∈R1×1为注意力机制的权重和偏置。

3.2 用户长期兴趣表示

用户的长期兴趣uL可以通过用户点击过的全部历史项目来体现,与用户所有历史项目最相似的向量即为用户的长期兴趣偏好向量。本文采用欧氏距离测量项目v∈V与用户uL的距离,与所有历史项目v距离之和最小的向量即为用户长期兴趣偏好表示。

(10)

得到用户的长期偏好表示与短期偏好表示后,采用加和的方式将2种表示聚合在一起。

u=Wu[uL+uS]+bu

(11)

其中,Wu∈Rd×2d和bu∈Rd为权重和偏置,需要训练得到。

最后,将用户表示u和项目表示v通过评分函数f,以获得用户u交互项目v的概率,这里评分函数f选取内积的形式。

4 实验

4.1 对比方法

首先选取不同的K值对本文模型在3组数据集上进行实验,找到模型效果最佳时的K值。并将本文模型与以下5种模型在相同的3组数据集上进行实验,通过比较来验证本文模型的有效性。

LibFM(Factorization Machine Library)[20]是一种基于特征的多类的因子分解模型,它将基于特征的因子分解机的方法应用在点击率预测任务上。LibFM+TransE将TransE[4]学习到的实体表示附加到用户项目对中,再将其应用于LibFM中。PER[9]将KG视为异构信息网络,并提取基于元路径的特征来表示用户和项之间的连通性。RippleNet[13]采用了一种类似于内存网络的方法,该方法将用户的历史兴趣视为知识图谱中的种子集,然后沿着KG关系连接迭代地扩展用户的兴趣,以发现用户的潜在兴趣项目。KGCN[14]在GCN用户项目构建的知识图谱上,通过图卷积网络挖掘项目在知识图谱上的重要属性,以有效地捕获项目间的相关性,进而得到项目的向量表示,通过评分函数找到用户的潜在兴趣项目。

4.2 实验数据集

本文选用3个基准数据集进行实验,MovieLens-20M的数据来自于MovieLens网站,该数据集被广泛用于推荐系统的实验中,约包含20 000 000条用户评分信息;Amazon Music的数据来自亚马逊数字平台,包含将近3 000个用户的听歌信息;Last.FM的数据来自Last.FM在线音乐系统,数据集中包含大约2 000个用户的听歌信息。数据集的具体统计结果如表1所示。

Table 1 Data set statistics

4.3 评价指标

本文采用F1值和AUC来评价模型的性能。F1值可由式(12)得到。

(12)

其中,precision为准确率,recall为召回率。F1值是综合考虑了准确率和召回率的指标。AUC为ROC曲线下的面积,曲线下的面积越大,则模型越理想。当测试集中的正负样本分布发生变化时,即正负样本数量相差较大时,ROC曲线仍能保持不变。实际数据集中经常会出现样本数量不平衡现象,并且测试数据中的正负样本的分布也可能随着时间发生变化,因此AUC可以有效地测评模型效果。

4.4 K值选择

将本文提出的LSKGCN模型选取不同的K值在3组数据集上进行实验,并通过AUC和F1值来评估模型的性能。其实验结果如表2所示。

Table 2 Experimental performance of LSKGCN model with different K values

从表2中可以看到,当K=20时模型的效果最佳;当K较小时模型的效果不佳,因为当K值选择过小时,利用的用户历史项目过少,不能有效地挖掘用户的短期兴趣特征;当K值选择过大时,会导致过拟合,使用户短期兴趣表示不准确。

4.5 LSKGCN模型推荐效果

将本文提出的模型(K=20)与4.1节所述的5种模型在相同的3组数据集上进行实验比较,结果如表3所示。表3中的5种模型为推荐系统中公认表现较好的模型。

Table 3 Experimental results of LSKGCN and five recommendation systems

从实验结果中可以看到,本文模型的实验结果普遍优于基准实验,在3个数据集上的性能都有所提升。其中PER性能较差,这是因为PER需要基于元路径挖掘知识图谱中的信息,过于依赖专家知识,难以达到最佳性能。LibFM+TransE模型性能较好,TransE学习到实体表示后将其附加到用户项目对中,更加有效地利用了知识图谱中的信息。因此,更有效地利用知识图谱将会得到更好的推荐效果。RippleNet通过模拟用户兴趣在知识图谱上进行传播得到用户兴趣,但是RippleNet没有考虑待推荐项目的图谱信息,导致特征缺失。KGCN通过图卷积网络得到项目的向量表示,但是KGCN没有有效利用用户的历史项目挖掘准确的用户兴趣表示。相比于以上模型,LSKGCN有效地利用了待推荐项目的图谱信息,并根据用户的历史项目分析用户的长期兴趣偏好和短期兴趣偏好,将用户长期兴趣与用户短期兴趣结合起来,得到准确的用户兴趣表示。实验结果表明LSKGCN有较好的推荐性能。

5 结束语

本文提出了基于用户长短期兴趣与知识图卷积网络的推荐模型。该模型利用所有历史项目得到长期兴趣表示,使得长期兴趣表示与历史项目向量的欧氏距离最小。根据时间筛选近期的历史项目,利用图卷积网络和注意力机制得到短期兴趣表示,将长期兴趣与短期兴趣结合得到准确的用户兴趣表示。该模型提高了推荐系统的性能,可以进行更准确的推荐。

猜你喜欢
图谱实体卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
绘一张成长图谱
前海自贸区:金融服务实体
中国外汇(2019年18期)2019-11-25 01:41:54
从滤波器理解卷积
电子制作(2019年11期)2019-07-04 00:34:38
基于傅里叶域卷积表示的目标跟踪算法
实体的可感部分与实体——兼论亚里士多德分析实体的两种模式
哲学评论(2017年1期)2017-07-31 18:04:00
补肾强身片UPLC指纹图谱
中成药(2017年3期)2017-05-17 06:09:01
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”
主动对接你思维的知识图谱