«上一篇
文章快速检索     高级检索
下一篇»
  智能系统学报  2020, Vol. 15 Issue (5): 990-997  DOI: 10.11992/tis.201904064
0

引用本文  

贾中浩, 宾辰忠, 古天龙, 等. 基于知识图谱和用户长短期偏好的个性化景点推荐[J]. 智能系统学报, 2020, 15(5): 990-997. DOI: 10.11992/tis.201904064.
JIA Zhonghao, BIN Chenzhong, GU Tianlong, et al. Personalized attraction recommendation based on the knowledge graph and users’ long-term and short-term preferences[J]. CAAI Transactions on Intelligent Systems, 2020, 15(5): 990-997. DOI: 10.11992/tis.201904064.

基金项目

国家自然科学基金项目(U1711263,U1501252,61572146);广西自然科学基金项目(2016GXNSFDA380006,AC16380122,AA17202024);广西高校中青年教师基础能力提升项目(2018KY0203);广西研究生教育创新计划项目(2019YCXS042,2019YCXS041)

通信作者

宾辰忠. E-mail:binchenzhong@guet.edu.cn

作者简介

贾中浩,硕士研究生,主要研究方向为机器学习、推荐系统;
宾辰忠,博士研究生,主要研究方向为数据挖掘、智能推荐;
古天龙,教授,博士生导师,主要研究方向为形式化方法、知识工程与符号推理、协议工程与移动计算、可信泛在网络、嵌入式系统。主持国家863计划项目、国家自然科学基金、国防预研重点项目、国防预研基金等30余项。出版学术著作3部,发表学 术论文130余篇

文章历史

收稿日期:2019-04-26
网络出版日期:2019-09-06
基于知识图谱和用户长短期偏好的个性化景点推荐
贾中浩 , 宾辰忠 , 古天龙 , 常亮 , 朱桂明 , 陈炜     
桂林电子科技大学 广西可信软件重点实验室,广西 桂林 541004
摘要:基于序列化的推荐算法在多个领域取得了不错的效果,但仍存在一些问题,如没有考虑所有项与项之间的关系,推荐准确度会大大降低。因此提出一种基于知识图谱和用户长短期偏好(KG-ULSP)的个性化景点推荐方法。通过引入知识图谱,使用网络表示学习方法,学习景点的特征向量表示,使得具有相似结构和相似属性的景点在低维特征空间中的距离比较近,以此表示他们的高级语义特征。然后利用门控循环单元GRU对已学习到的景点特征向量进行序列化信息建模,进一步抽取景点的访问序列特征。另外,考虑到用户偏好可能随时间发生变化,KG-ULSP模型同时学习用户的长期偏好和短期偏好,最终预测并返回用户可能感兴趣的推荐列表。通过在真实旅游数据上的实验,验证了所提方法的有效性。
关键词知识图谱    推荐算法    网络表示学习    门控循环单元    个性化景点推荐    长短期用户偏好    特征学习    
Personalized attraction recommendation based on the knowledge graph and users’ long-term and short-term preferences
JIA Zhonghao , BIN Chenzhong , GU Tianlong , Chang Liang , Zhu Guiming , Chen Wei     
Guangxi Key Laboratory of Trusted Software, Guilin University of Electronic Technology, Guilin 541004, China
Abstract: The session-based recommendation algorithm has achieved good results in many fields. However, several problems, such as not considering the relationship between all items, will reduce the recommendation accuracy considerably. Therefore, a personalized attraction recommendation method based on the knowledge graph and users’ long-term and short-term preferences (KG-ULSP) is proposed. The knowledge graph is derived using the network representation learning method and the feature vector representation of the learning attractions. The attractions with similar structure and attribute are close to each other in the low-dimensional space and express high-level semantic features. In addition, the sequence information is modeled by the gated recurrent unit and the access sequence information is further extracted by feature extraction. Moreover, given that the users’ preferences may change with time, the KG-ULSP model learns both long-term and short-term preferences of the user and predicts and returns the list of recommendations that users may be interested in. The validity of the proposed method is verified by experiments on real tourism data.
Key words: knowledge graph    recommendation algorithm    network representation learning    gated recurrent unit    personalized attractions recommendation    users’ long-term and short-term preference    feature learning    

随着中国人民消费水平的提高,人民对旅游的需求日益增加。在旅游领域,传统的推荐方法已经得到广泛的应用,但依旧存在许多问题,如项目冷启动和数据稀疏问题[1-2]。知识图谱[3]的出现有效解决了这一问题,并被证明推荐效果远好于传统的推荐算法[4-5]。但是基于知识图谱的推荐系统也存在一些问题,如没有考虑用户访问序列问题,因为随着时间的流转,用户兴趣爱好可能发生变化。近年来,不少相关学者开始对建模用户序列问题感兴趣,出现了一批基于会话的推荐系统[6-8],虽然建模了用户序列,但是都没有考虑同一用户访问的项目与项目之间的关系,以及不同用户访问项目与项目之间的关系,这些模型往往不能很好的捕捉用户自身的个人偏好。因为不同用户之间可能有相同的兴趣,不同的项目之间在属性上存在一定的相似性。如果没有考虑上述问题,会使得推荐效果大大降低。

个性化景点推荐作为智慧旅游城市和位置服务的重要课题之一,如何根据用户的历史访问数据和兴趣爱好做出精准推荐显得尤为重要。针对以上问题,本文提出了一种基于知识图谱和用户长短期偏好的个性化景点推荐方法,简称KG-ULSP。图1为本文所提出的KG-ULSP个性化旅游景点推荐框架图。首先,将用户、景点及评分构建旅游景点知识图谱,使用网络表示学习中的具有代表性的方法Node2Vec[9],通过带偏执的随机游走策略,利用神经网络语言模型Word2Vec[10]将景点映射到低维空间得到每个景点的特征向量表示。然后将景点向量输入到门控循环单元(GRU)网络训练得到关于景点序列的潜在向量表示。这样得到的景点向量表示既包含了景点属性和网络结构语义信息,又包含了用户的历史访问景点序列信息。之后,使用注意力机制建模用户长期偏好和短期偏好,线性拼接用户的长期偏好和短期偏好,预测每个景点在下一次访问的概率并生成用户可能喜欢景点的推荐列表。该方法在所爬取的桂林旅游景点数据集上进行的大量实验,结果表明本文所提的方法比其他对方法的推荐效果要好。本文贡献如下:1)本文将知识图谱作为辅助信息引入到景点推荐系统中,有效地解决传统推荐系统存在的稀疏性和冷启动问题。2)第一次将门控循环单元深度学习模型应用于旅游景点推荐中。3)利用注意力机制网络建模用户长期偏好和短期偏好。4)本文提出了一种新的模型KG-ULSP,该模型使用网络学习方法学习景点的潜在向量表示,使用GRU建模用户序列问题。既考虑了景点与景点间属性和结构上的相似性,又考虑了用户序列行为。

Download:
图 1 基于知识图谱和用户长短期偏好的个性化景点推荐方法框架图 Fig. 1 Personalized attractions recommendation method based on knowledge map and users' short-term and long-term preferences
1 相关工作 1.1 网络表示学习

网络嵌入方法[11](network embedding)旨在学习网络中节点的低维度潜在表示,所学习到的特征表示可以用作基于图的各种任务的特征,例如节点分类[12-17]、链接预测[12-17]和推荐[17]。Perozzi等[18]提出DeepWalk通过将节点视为单词并生成短随机游走作为句子来弥补网络嵌入和单词嵌入之间的差距,用Skip-gram[10]和Hierarchical Softmax[10]模型对随机游走序列中每个局部窗口内的节点对进行概率建模,最大化随机游走序列的似然概率。但DeepWalk在游走过程中选取下一个节点的方式是均匀随机分布的,没有考虑节点间的权重。Node2Vec[9]进一步扩展了DeepWalk算法,定义了一个二阶随机游走,通过控制参数pq,在宽度优先搜索(BFS)和深度优先搜索(DFS)达到一种平衡。BFS的好处是能够探究图中的结构性质,而DFS则能够探究出内容上的相似性。为了能够更好的探究结点与节点之间的丰富关系,本文使用Node2Vec将景点预训练。

1.2 基于知识图谱的推荐算法

自从2012年谷歌正式提出知识图谱[3]这一概念,不少学者纷纷将知识图谱用到各个领域。知识图谱包含了实体之间丰富的语义关联,为推荐系统提供了潜在的辅助信息来源。Oramas等[19]引入开放数据库DBpedia,将音乐的上下文信息、标签、文本信息集合融合,采用混合推荐方法推荐音乐。Palumbo等[20]提出了Entity2vec,考虑到项目的多个属性,构建电影知识图谱属性子图,如导演与电影、演员与电影、用户对电影的评分等多种属性,融合上述多源信息,使用排名函数产生前N个推荐列表。Zhang等[21]使用TransR[22]、SDAE[23]、SCAE[24]分别对知识库中的结构化知识、文本知识、图片知识进行向量化表示,根据用户的隐式反馈,利用矩阵分解方法返回每一个用户最有可能感兴趣的项目列表。

1.3 序列化建模推荐

传统的基于会话的序列推荐只考虑了用户最后一次的访问项目,没有考虑前面已经访问过的序列对后续的项目的影响。Hidasi等[6]提出的GRU4Rec是第一个将循环神经网络应用到会话推荐上,采用并行的小批量处理训练,以及使用基于排序方法优化损失函数。Tan等[7]在GRU4Rec的基础上,提出GRU4Rec+方法,采用数据扩充技术和数据分布变化方法,从而提高模型的性能。Li等[25]利用注意机制从隐藏层状态捕获用户主要目的,结合序列行为作为最终的特征向量表示,生成推荐。Liu等[26]提出了一种短期注意力/记忆优先的网络模型STAMP,在建模长时间序列的用户点击行为时,着重加强用户近期行为的影响。但是Wu等[27]认为之前的工作不能够得到用户的精确表示以及忽略了项目的过渡特性,提出将序列化问题转换为图的问题。然后经过图神经网络(GNN)来学习每个项目的低维表示,同时经过注意力网络(attention network)来捕捉用户的短期兴趣,以达到捕获长期与短期兴趣共存的向量表示。

2 KG-ULSP模型介绍 2.1 数据采集

利用网络爬虫工具从飞猪、携程、途牛等主流旅游网站爬取桂林景点中游客的游记评论信息、时间顺序,选取游客的历史游览景点序列以及对景点的评分。如游客小明游览的景点按时间序列为:象山公园(4.6分)→日月双塔(4.9分)→步行街(4.3分)→靖江王府(3.8分)→芦笛岩(4.2分)→漓江竹筏(4.6分)→十里画廊(4.5分)→兴坪古镇(4.5分),通过编码为每个实体赋值一个唯一的id,按照此方式对所有景点进行编码转换。

2.2 知识图谱向量化 2.2.1 构建知识图谱

本文采用徐增林等[28]定义的知识图谱,集合 $K = (E,R,S)$ ,其中E表示实体集合,R表示关系集合,S表示三元组集合,对于三元组 $(u,s,i)$ ,其中游客 $u \in U \subset E$ 是三元组的头实体,评分 $s \in S \subset R$ 是三元组中实体之间的关系,景点 $i \in I \subset E\backslash U$ 是三元组的尾实体。因为游客的兴趣偏好不同,有的游客喜欢山水,有的游客更喜欢历史文物古迹,因此游客对景点的评分直接反应了游客对景点的偏好程度,故将评分作为知识图谱三元组的关系R。如三元组(小明,4.6分,象山公园)表示游客小明对景点象山公园的评分是4.6分。使用Neo4j图数据工具将所有的三元组存储起来。从图2中可以清晰地看到不同的游客对相同的景点不同的打分,从而直接反应了游客对该景点的偏好程度。

Download:
图 2 景点知识图谱向量化示例 Fig. 2 Example of vectorization of knowledge graph of attractions
2.2.2 随机游走序列

给定一个源节点v,随机游走一个长度为L的序列 $S = \left\{ {\left. {{v_1},{v_2} \cdots {v_n}} \right\}} \right.$ ${v_i}$ 表示随机游走过程中第i个节点。游走的其起始节点是 ${v_0}{\rm{ = }}v$ ,节点 ${v_0}$ 通过下面的分布生成:

$ P({v_i} = x|{v_{i - 1}} = v) = \left\{ {\begin{array}{*{20}{c}} {\dfrac{{{\pi _{vx}}}}{Z}}{\text{,}}&{(v,x) \in E}\\ {0}{\text{,}}&{{\text{其他}}} \end{array}} \right. $ (1)

式中:E表示知识图谱中边的集合;Z是正则化参数; ${\pi _{vx}}$ 表示节点v和节点x之间的转移概率。由式(2)给出:

${\pi _{vx}} = {\alpha _{pq}}(t,x) \cdot {w_{vx}}$ (2)

式中: ${w_{vx}}$ 表示节点之间边上的权重,若节点之间没有权重,则将值取为1; ${\alpha _{pq}}$ 表示边上的偏执,计算如下:

${\alpha _{pq}}(t,x) = \left\{ {\begin{array}{*{20}{c}} {\dfrac{1}{p},}&{\;{d_t}_x = 0} \\ {1,}&{\;{d_t}_x = 1} \\ {\dfrac{1}{q},}&{\;{d_t}_x = 2} \end{array}} \right.$ (3)

式中: ${d_{tx}}$ 属于{0,1,2}表示节点tx之间的最短路径。如图3所示。pq是控制图游走的参数。参数p用来控制在游走过程中立即重新走到已访问过的结点的可能性。若 $p > \max (q,1)$ ,则下一个采样节点不太可能是上一个已经访问过的节点t。若 $p < \max (q,1)$ ,则下一个采样节点会一直在上一个已经访问过的节点t的周围采样。

Download:
图 3 随机游走示例 Fig. 3 Example of random walk

参数q用来控制节点游走方式。若q>1,则随机游走的过程方式类似于广度优先搜索(DFS),实现结构上相似性。若q<1,则随机游走的过程方式类似于宽度优先搜索(BFS),实现节点之间的同质性。部分节点随机游走过程示例图如图2所示。

2.2.3 节点向量化

利用神经网络语言方法Word2Vec中的Skip-gram模型,将随机游走得到的序列节点映射到低维空间中,得到游客和景点的特征向量表示。如果不同的游客对同一个景点的评分相同或接近,那么映射到特征空间中两个游客向量的距离会比较接近。同样,如果同一个游客对不同的景点打分相同或者接近,那么映射到二维空间中的两个景点的向量距离会比较接近。部分映射后的示例图如图2所示。

2.3 用户长短期偏好学习 2.3.1 门控循环单元(GRU)

循环神经网络(RNN)在有关时间序列建模应用上大获成功,GRU网络作为这一类的变体进一步解决了梯度消失问题,在保证预测性能的同时降低了计算复杂度。对于知识图谱中的每个景点 $v \in S$ ,取景点访问序列中第t − 1个景点的特征向量表示为 $\left[ {v}_{1}^{t-1}\;\ {v}_{2}^{t-1}\cdots \; {v}_{n}^{t-1} \right]{{{ }}^{\rm{T}}}$ 。GRU单元模型参数表示式如下:

${a}_{{s},{i}}^{{t}}={{{W}}_{{\alpha }}}{{\left[ {v}_{{1}}^{{t}-{1}}\; {v}_{2}^{{t}-{1}}\; \cdots \; {v}_{{n}}^{{t}-{1}} \right]}^{\rm{T}}}+{b}$ (4)
${z}_{s,i}^{t}=\sigma ({{{W}}_{z}}{a}_{s,i}^{t}+{{{U}}_{z}}{v}_{i}^{t-1})$ (5)
${r}_{s,i}^{t}=\sigma ({{{W}}_{r}}{a}_{s,i}^{t}+{{{U}}_{r}}{v}_{i}^{t-1})$ (6)
$\tilde{{v}}_{s,i}^{t}={\rm{tanh}}({{{W}}_{o}}{a}_{s,i}^{t}+{{{U}}_{o}}({r}_{s,i}^{t}\odot {v}_{s,i}^{t-1}))$ (7)
${v}_{s,i}^{t}=(\bf{1}-{z}_{s,i}^{t})\odot {v}_{s,i}^{t-1}+{z}_{s,i}^{t}\odot \tilde{{v}}_{s,i}^{t}$ (8)

${{a}}_{{{s,i}}}^{{t}}$ 作为GRU网络重置门的输入。 ${{z}}_{{{s,i}}}^{{t}}$ t时刻重置门的输出,重置门控制前一状态有多少信息被写入到当前的候选集,即评估景点序列中靠前面的景点对后面景点的影响有多大。重置门值越小,表示前一状态的信息被写入的越少。同时 ${{a}}_{{{s,i}}}^{{t}}$ 作为GRU网络更新门的输入。 ${{r}}_{{{s,i}}}^{{t}}$ t时刻更新门的输出,更新门用于控制前一时刻的状态信息被代入到当前状态中的程度,更新门的值越大说明前一时刻的状态信息代入越多。 ${\tilde{ v}}_{{{s,i}}}^{{t}}$ 由前一时刻隐藏层状态,当前状态和重置门组成。 ${{v}}_{{i}}^{{{t - 1}}}$ 是上一时刻隐藏层的输出, ${{v}}_{{{s,i}}}^{{t}}$ 是当前时刻隐藏层的输出。从初始时刻开始,直至过程结束,最终输出结果得到的是每个景点的潜在向量表示。

${{{W}}_{{z}}}$ ${{{U}}_{{z}}}$ 是重置门的权重矩阵, $\sigma $ 是sigmoid函数。 ${{{W}}_{{r}}}$ ${{{U}}_{{r}}}$ 是更新门的权重矩阵。 ${{{W}}_{{o}}}$ ${{{U}}_{{o}}}$ 是候选状态下权重矩阵。 $ \odot $ 是hadamard函数,tanh是双曲正切函数。

2.3.2 长短期偏好构建

经过知识图谱和门控循环单元学习之后的景点向量既包含景点属性上语义信息,又包含景点的序列信息。虽然已经得到每个景点的特征向量表示,按照传统方式可以根据余弦公式计算序列与景点的相似度,然后做推荐并排序。但考虑到游客的偏好可能会随着时间的推移而发生改变,因此提出一种策略,将游客的长期偏好与当前偏好结合,以便更准确地预测游客下一个要游玩的景点。

对于游客u的游玩序列 $u = \left\{ {{v_{u,1}}} \right.,{v_{u,2}},\cdots ,\left. {{v_{u,n}}} \right\}$ ,使用游客最后一次游玩的景点作为游客u的短期偏好表示是即 ${s_s}{\rm{ = }}{v_{u,n}}$ 。使用注意力机制将每个景点的权重(序列中的最后一个景点除外)与景点向量相乘后累加得到该游客的长期偏好。式(9)表示第i个景点的权重。游客的长期偏好 ${s_l}$ 如式(10)所示。

${{{a}}_{{i}}}={{{q}}^{\rm{T}}}\sigma ({{{W}}_{\bf{1}}}{{{v}}_{n}}+{{{W}}_{\bf{2}}}{{{v}}_{i}}+{c})$ (9)
${{{s}}_{l}}=\sum\limits_{i=1}^{m}{{{{a}}_{i}}{{{v}}_{i}}} $ (10)

式中: ${{{q}}^{\rm{T}}}$ ${{{W}}_{\bf{1}}}$ ${{{W}}_{\bf{2}}}$ 随机初始化, ${{{q}}^{\rm{T}}}$ ${{{W}}_{\bf{1}}}$ ${{{W}}_{\bf{2}}}$ 都是控制景点的权重。

最后,将游客的长期偏好与当前偏好做线性拼接得该游客的最终向量表示。

${{{s}}_{h}}={{{W}}_{\mathbf{3}}}[{{{s}}_{\mathbf{l}}};{{{s}}_{s}}]$ (11)

式中 ${ W_{\bf{3}}}$ 是控制长期偏好和当前偏好向量的权重。

2.4 损失函数

通过游客向量表示与第i个待预测景点的向量做点积操作,得到该景点的预估评分。即

${{\hat z}_{{i}}}={{{s}}^{\rm{T}}}_{{h}}{{{v}}_{{i}}}$ (12)

${{{\hat{ z}}}_i}$ 使用softmax函数归一化,得到每个景点的预测概率。即

$\hat y = {\rm{softmax}}({\hat{ z}})$ (13)

对于每个用户序列 $u = \left\{ {{v_{u,1}}} \right.,{v_{u,2}},\cdots ,\left. {{v_{u,n}}} \right\}$ ,使用BPTT优化损失函数直至收敛,其中y表示待预测景点。

$\zeta (\hat y) = - \sum\limits_{i = 1}^m {{y_i}\log ({{\hat y}_i}) + (1 - {y_i})\log (1 - {{\hat y}_i})} $ (14)
3 实验分析 3.1 数据

考虑到部分数据的不合理性,如某用户只去过一个景点,或者几乎很少有人去过的景点。实验中过滤掉了序列长度小于2的用户和访问次数少于10的景点,剩余18 916条有效旅游数据,包含2 094名用户和203个景点,平均序列长度9.03。按照GRU4Rec+[7]的处理方式,对于任一用户的输入 $u = \left\{ {{v_{u,1}}} \right.,{v_{u,2}},\cdots,\left. {{v_{u,n}}} \right\}$ ,产生一系列的序列和标签 $(\{ {v_{u,1}}\} ,{v_{u,2}}),(\{ {v_{u,1}},{v_{u,2}}\} ,{v_{u,3}}), \cdots ,(\{ {v_{u,1}},{v_{u,2}}, \cdots ,{v_{u,n - 1}}\}, $ ${v_{u,n}}) $ ${\rm{\{ }}{v_{u,1}},{v_{u,2}}, \cdots ,{v_{u,n - 1}}{\rm{\} }}$ 是用户的序列, ${v_{u,n}}$ 是用户下一个要访问的项目,也是序列的标签。

3.2 对比方法

Random:该方法比较简单,随机推荐一些项目给用户。

POP:受欢迎度预测是根据训练集中出现次数最多的项目来推荐。

Session-POP:相比POP根据训练集中所有项目的出现次数排序,该方法推荐当前会话最受欢迎的项目。

Item-KNN[29]:根据待预测项目的共现性,找到同样访问过待预测项目的用户,计算待预测项目与该用户访问序列中的其他项目之间的相似性,把与目标景点相似度最高的景点从高到低排序生成长度为K的推荐列表。该方法是传统推荐系统中常用的推荐方法之一。

BPRMF[30]:该方法通过随机梯度下降(SGD)算法优化成对的目标函数,是矩阵分解中常用的方法之一。由于新用户没有可用的特征向量,因此使用其他用户已经访问过的项目的特征向量的平均值作为新用户的特征向量表示。

NARM[25]:利用注意机制从隐藏层状态捕获用户主要兴趣,结合序列行为作为最终的特征向量表示,生成推荐列表。

SR-GNN[27]:SR-GNN在下一个点推荐上取得了不错的效果。该方法考虑项目之间的联系,将序列化问题转化为图,使用图结构构造相邻节点间的出入度矩阵。经过神经网络学习每个项目的低维表示,抓住用户的长短期偏好。

3.3 评估方法

考虑到用户在实际应用中可能会选择的项目位于推荐列表的前几项。因此,本文采用以下推荐系统中常用的评价指标。

HR@10(HitRate命中率)表示预测推荐列表长度为10的项目中,正确推荐的项目是否在预测的推荐列表里。HR值越大,说明命中率越高,推荐效果越好。

${\rm HR}@10 = \dfrac{{\displaystyle\sum\limits_{N = 1}^N {\rm hit} }}{N}$ (15)

式中:N表示总测试次数,对于每次待测景点,hit取值1或者0,hit=1表示待预测的项目在排名列表L的前K个位置中,hit=1表示不在排名列表L的前K个位置中。

MRR@10(Mean Reciprocal Rank平均倒数排名)表示正确推荐的项目位于排名第几位,取倒数后求平均值。当推荐的项目不在前10中,将值设为0。MRR值越大,表明正确的项目目位于排名列表的前面。

${\rm MRR}@10 = \dfrac{{\displaystyle\sum\limits_{t \in L} {\frac{1}{{{\rm Rank}(t)}}} }}{N}$ (16)

式中: ${\rm Rank}(t)$ 表示待预测项目在L中的位置排名。

3.4 参数设置

本文设置随机游走的长度L=20,p=q=1,窗口大小win_size=10,向量维度d=100,初始化学习率learnning_rate=0.001,批量bath_size=100,Adam算法在众多实验中被证明都优于随机梯度下降(SGD)方法,本实验延用Adam算法,用来优化损失函数,其他参数使用截断的标准高斯分布生成。

3.5 实验结果分析 3.5.1 算法比较

表1所示的实验结果表明,本文所提出的KG-ULSP模型方法,在桂林旅游数据集上效果明显好于其他对比方法,证明了所提方法的有效性。

表 1 算法对比 Tab.1 Algorithm comparison

与基于序列模型方法相比,POP、S-POP、Item-KNN、BPRMF这类传统方法,其性能相对较差。说明在用户序列行为上,传统方法只考虑项目之间的相似性来推荐显然已经不合适。

基于会话的推荐方法,如NARM、SR-GNN模型也取得了较好的结果,证明了循环神经网络这类方法在处理时序信息和用户序列行为上的优势,但与本文KG-ULSP方法相比,NARM仅使用序列中的点表示当前用户向量,忽略了景点与景点之间的关系。SR-GNN虽然使用图结构考虑到了景点与景点之间的关系,但是它只考虑了用户游览相邻景点之间出入度的关系,因为即使不是相邻的景点,景点在属性上也可能存在一定的相似性。

因此,本文KG-ULSP方法将知识图谱引入进来,用网络表示学习的方法预先学习到景点结构以及属性上的特征信息,以及使用GRU建模用户序列。同时,考虑到用户的兴趣可能发生转移,将用户长期偏好和短期偏好结合起来作为用户的最终向量表示。其结果显示,KG-ULSP方法就HR@10指标分别比NARM、SR-GNN高出15.97%和9.17%,KG-LSP方法在MRR@10指标上分别比NARM、SR-GNN高出20.13%和22.76%。

3.5.2 不同维度对实验结果的影响

图4图5可以看出,就桂林旅游数据集而言,维度在d=50情况下HR@10、MRR@10的效果一般,随着维度的提升,推荐效果逐渐提升,效果在维度d=150时达到最佳,维度继续提升的情况下,有轻微的波动,但总体保持不变化的趋势。

Download:
图 4 不同维度下的HR@10 Fig. 4 HR@10 of different dimension
Download:
图 5 不同维度下的MRR@10 Fig. 5 MRR@10 of different dimension
3.5.3 不同的推荐列表长度对实验结果的影响

图6图7可以看出,在POP、S-POP、Item-KNN、BPRMF这类传统方法中,在k为5和10时,Item-KNN比其他4种传统方法在指标HR的效果好,这可能是因为部分景点的相似性比较高。在k=15和k=20时,S-POP比其他4种传统方法在指标HR的效果好,根据景点自身特性,这是合理的,因为热门景点几乎是大家必去游玩的地方。在NARM和SG-RNN这类基于会话的推荐中,虽然都使用了深度学习中的循环神经网络方法,但从图6图7中可以看到,随着推荐列表的增加,NARM、SR-GNN、KG-ULSP的指标HR值和MRR值都在提升,但MRR增加的趋势已经不是很明显。通过以上在不同的推荐列表长度下的各个模型方法的对比,本文所提出KG-ULSP方法效果都明显好于所提出的对比方法。

Download:
图 6 不同推荐列表长度下的HR@10 Fig. 6 HR@10 of different recommendation list
Download:
图 7 不同推荐列表长度下的MRR@10 Fig. 7 MRR@10 of different recommendation list
3.5.4 不同偏好表示对实验结果的影响

KG-ULP表示仅使用用户的长期偏好作为序列的最终向量表示,KG-ULSP是本文所提出的方法,结合了用户的长期偏好,又考虑了用户的当前偏好。从表2中可以看出,同时考虑用户的长短期偏好效果比仅考虑用户的长期偏好的效果在各个指标上均有所提升。

表 2 不同偏好下的HR值和MRR值 Tab.2 HR values, MRR values of different preferences
4 结束语

本文针对推荐系统序列化信息中没有考虑项与项之间的关系这一问题,提出将知识图谱作为辅助信息引入到序列化建模上,同时考虑到用户的兴趣可能发生变化,提出将用户的长短期偏好结合起来,即本文所提出的KG-ULSP方法。通过在旅游数据集的实验,以及其他一些列的实验对比,证明了KS-ULSP方法的有效性。未来,知识图谱和基于强化学习的推荐系统的结合、以及知识图谱和其他辅助信息在推荐系统中的结合等相关问题值得更多的关注和研究。

参考文献
[1] CATHERINE R, COHEN W. Personalized recommendations using knowledge graphs: a probabilistic logic programming approach[C]//Proceedings of the 10th ACM Conference on Recommender Systems. Boston, Massachusetts, USA, 2016: 325−332. (0)
[2] DI NOIA T, OSTUNI V C, TOMEO P, et al. SPrank: semantic path-based ranking for top-N recommendations using linked open data[J]. ACM transactions on intelligent systems and technology, 2016, 8(1): 9. (0)
[3] 刘峤, 李杨, 段宏, 等. 知识图谱构建技术综述[J]. 计算机研究与发展, 2016, 53(3): 582-600.
LIU Qiao, LI Yang, DUAN Hong, et al. Knowledge graph construction techniques[J]. Journal of computer research and development, 2016, 53(3): 582-600. DOI:10.7544/issn1000-1239.2016.20148228 (0)
[4] PALUMBO E, RIZZO G, TRONCY R, et al. Knowledge graph embeddings with node2vec for item recommendation[C]//Proceedings of European Semantic Web Conference. Crete, Greece, 2018: 117−120. (0)
[5] YU Xiao, REN Xiang, SUN Yizhou, et al. Personalized entity recommendation: a heterogeneous information network approach[C]//Proceedings of the 7th ACM International Conference on Web Search and Data Mining. New York, USA, 2014: 283−292. (0)
[6] HIDASI B, KARATZOGLOU A, BALTRUNAS L, et al. Session-based recommendations with recurrent neural networks[J]. computer science, 2015. (0)
[7] TAN Y K, XU Xinxing, LIU Yong. Improved recurrent neural networks for session-based recommendations[EB/OL]. [2018-10-15] https://arxiv.org/abs/1606.08117, 2016. (0)
[8] QUADRANA M, KARATZOGLOU A, HIDASI B, et al. Personalizing session-based recommendations with hierarchical recurrent neural networks[C]//Proceedings of the Eleventh ACM Conference on Recommender Systems. Como, Italy, 2017: 130−137. (0)
[9] GROVER A, LESKOVEC J. node2vec: scalable feature learning for networks[C]//Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. San Francisco, California, USA, 2016: 855-864. (0)
[10] MIKOLOV T, SUTSKEVER I, CHEN Kai, et al. Distributed representations of words and phrases and their compositionality[C]//Proceedings of the 26th International Conference on Neural Information Processing Systems. Lake Tahoe, Nevada, USA, 2013: 3111−3119. (0)
[11] CHEN Haochen, PEROZZI B, AL-RFOU R, et al. A tutorial on network embeddings[EB/OL]. [2018-11-15] https://arxiv.org/abs/arXiv:1808.02590, 2018. (0)
[12] TANG Jian, QU Meng, WANG Mingzhe, et al. LINE: large-scale information network embedding[C]//Proceedings of the 24th International Conference on World Wide Web. Florence, Italy, 2015: 1067−1077. (0)
[13] YANG Cheng, LIU Zhiyuan, ZHAO Deli, et al. Network representation learning with rich text information[C]//Proceedings of the 24th International Conference on Artificial Intelligence. Buenos Aires, Argentina, 2015: 2111−2117. (0)
[14] CAO Shaosheng, LU Wei, XU Qiongkai. GraRep: learning graph representations with global structural information[C]//Proceedings of the 24th ACM International on Conference on Information and Knowledge Management. Melbourne, Australia, 2015: 891−900. (0)
[15] RIBEIRO L F R, SAVERESE P H P, FIGUEIREDO D R. 2017. struc2vec: learning node representations from structural identity[C]//Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. Halifax, NS, Canada, 2017: 385−394. (0)
[16] WANG Hongwei, WANG Jia, WANG Jialin, et al. GraphGAN: graph representation learning with generative adversarial nets[C]//Proceedings of AAAI Conference on Artificial Intelligence. New Orleans, Lousiana, USA, 2018: 2508−2515. (0)
[17] WANG Daixin, CUI Peng, ZHU Wenwu. Structural deep network embedding[C]//Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. San Francisco, California, USA, 2016: 1225−1234. (0)
[18] PEROZZI B, AL-RFOU R, SKIENA S. DeepWalk: online learning of social representations[C]//Proceedings of the 20th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York, USA, 2014: 701−710. (0)
[19] ORAMAS S, OSTUNI V C, DI NOIA T, et al. Sound and music recommendation with knowledge graphs[J]. ACM transactions on intelligent systems and technology, 2017, 8(2): 21. (0)
[20] PALUMBO E, RIZZO G, TRONCY R. entity2rec: learning user-item relatedness from knowledge graphs for top-N item recommendation[C]//Proceedings of the Eleventh ACM Conference on Recommender Systems. Como, Italy, 2017: 32−36. (0)
[21] ZHANG Fuzheng, YUAN N J, LIAN Defu, et al. Collaborative knowledge base embedding for recommender systems[C]//Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. San Francisco, California, USA, 2016: 353−362. (0)
[22] LIN Yankai, LIU Zhiyuan, SUN Maosong, et al. Learning entity and relation embeddings for knowledge graph completion[C]//Proceedings of the Twenty-Ninth AAAI Conference on Artificial Intelligence. Austin Texas, USA, 2015. (0)
[23] VINCENT P, LAROCHELLE H, LAJOIE I, et al. Stacked denoising autoencoders: learning useful representations in a deep network with a local denoising criterion[J]. Journal of machine learning research, 2010, 11: 3371-3408. (0)
[24] MASCI J, MEIER U, CIREŞAN D, et al. Stacked convolutional auto-encoders for hierarchical feature extraction[C]//Proceedings of the 21st International Conference on Artificial Neural Networks. Espoo, Finland, 2011: 52−59. (0)
[25] LI Jing, REN Pengjie, CHEN Zhumin, et al. Neural attentive session-based recommendation[C]//Proceedings of the 2017 ACM on Conference on Information and Knowledge Management. Singapore, Singapore, 2017: 1419−1428. (0)
[26] LIU Qiao, ZENG Yifu, MOKHOSI R, et al. STAMP: short-term attention/memory priority model for session-based recommendation[C]//Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. London, United Kingdom, 2018: 1831−1839. (0)
[27] WU Shu, TANG Yuyuan, ZHU Yanqiao, et al. Session-based recommendation with graph neural networks[J]. Proceedings of the thirty-third AAAI conference on artificial intelligence, 2018, 33(1): 346-353. (0)
[28] 徐增林, 盛泳潘, 贺丽荣, 等. 知识图谱技术综述[J]. 电子科技大学学报, 2016, 45(4): 589-606.
XU Zenglin, SHENG Yongpan, HE Lirong, et al. Review on knowledge graph techniques[J]. Journal of University of Electronic Science and Technology of China, 2016, 45(4): 589-606. DOI:10.3969/j.issn.1001-0548.2016.04.012 (0)
[29] SARWAR B, KARYPIS G, KONSTAN J, et al. Item-based collaborative filtering recommendation algorithms[C]//Proceedings of the 10th International Conference on World Wide Web. Hong Kong, China, 2001: 285−295. (0)
[30] RENDLE S, FREUDENTHALER C, GANTNER Z, et al. BPR: Bayesian personalized ranking from implicit feedback[C]//Proceedings of the Twenty-Fifth Conference on Uncertainty in Artificial Intelligence. Montreal, Quebec, Canada, 2009: 452−461. (0)