«上一篇
文章快速检索     高级检索
下一篇»
  智能系统学报  2021, Vol. 16 Issue (2): 228-236  DOI: 10.11992/tis.201907034
0

引用本文  

孟祥福, 齐雪月, 张全贵, 等. 用户−兴趣点耦合关系的兴趣点推荐方法[J]. 智能系统学报, 2021, 16(2): 228-236. DOI: 10.11992/tis.201907034.
MENG Xiangfu, QI Xueyue, ZHANG Quangui, et al. A POI recommendation approach based on user-POI coupling relationships[J]. CAAI Transactions on Intelligent Systems, 2021, 16(2): 228-236. DOI: 10.11992/tis.201907034.

基金项目

国家自然科学基金面上项目(61772249)

通信作者

孟祥福. E-mail: marxi@126.com

作者简介

孟祥福,教授,博士生导师,博士,主要研究方向为用户行为分析、Web数据库top-k查询、非独立同分布学习和空间数据管理。发表学术论文30余篇;
齐雪月,硕士研究生,主要研究方向为兴趣点推荐;
张全贵,副教授,博士,主要研究方向为推荐系统、深度学习

文章历史

收稿日期:2019-07-18
网络出版日期:2020-07-14
用户−兴趣点耦合关系的兴趣点推荐方法
孟祥福 , 齐雪月 , 张全贵 , 张霄雁 , 王丽     
辽宁工程技术大学 电子与信息工程学院,辽宁 葫芦岛 125105
摘要:在基于位置的社交网络(LBSNs)中,如何利用用户和兴趣点的属性(或特征)之间的耦合关系,为用户做出准确的兴趣点推荐是当前的研究热点。现有的矩阵分解推荐方法利用用户对兴趣点的评分进行推荐,但评级矩阵通常非常稀疏,并且没有考虑用户和兴趣点在各自属性方面的耦合关系。本文提出了一种基于深度神经网络的兴趣点推荐框架,首先采用K-means算法对兴趣点按地理位置进行聚类,使位置相近的兴趣点聚为一类;然后,构建一个卷积神经网络模型,用来学习用户和兴趣点在各自属性(如用户年龄与兴趣点位置之间)上的显式关联关系;同时,构建另外一个神经网络模型,模拟机器学习中的矩阵分解方法,根据用户的签到行为,深入挖掘用户与兴趣点之间的隐式关联关系。最后,将用户与兴趣点之间的显式和隐式关联关系进行集成,综合表征用户−兴趣点之间的耦合关系,然后将学习到的用户−兴趣点耦合关系输入到一个全连接网络中进行兴趣点推荐。本文所提出的模型在Yelp数据集上进行了评估,实验结果表明该模型在兴趣点推荐方面有较高的推荐准确性。
关键词兴趣点推荐    K-means    协同过滤    耦合关系    卷积神经网络    位置影响    数据挖掘    基于位置的社交网络    属性信息    
A POI recommendation approach based on user-POI coupling relationships
MENG Xiangfu , QI Xueyue , ZHANG Quangui , ZHANG Xiaoyan , WANG Li     
School of Electronic and Information Engineering, Liaoning Technical University, Huludao 125105, China
Abstract: In location-based social networks, a hot research topic is the development of methods for making accurate recommendations to users by taking advantage of the coupling relationships between user attributes (or features) and points of interest (POIs). Current POI recommendation approaches mainly leverage the matrix factorization technique based on user ratings of POIs. These approaches routinely confront the problem of rating matrix sparsity, and do not consider the coupling relationships between the respective attributes, such as the descriptive information and comments of users and POIs. In this paper, we propose a POI recommendation framework based on a deep neural network. First, a K-means algorithm is used to cluster POIs by their geographical locations, so that POIs with high location proximity are grouped into one category. Then, a convolutional neural network model is designed to identify the explicit correlations between the respective attributes of users and POIs, for example, the correlation between the age of users and the location of POIs. Another neural network model is designed to simulate the matrix factorization method in machine learning. This model can examine the implicit relationships between users and POIs based on the users’ POI check-in data. Lastly, the explicit and implicit relationships between users and POIs are integrated to comprehensively represent the user-POI coupling relationships. The learned user-POI coupling relationships are input into a fully connected network for recommendation. The proposed model was evaluated on the Yelp data set, and the experimental results show that it achieves high recommendation accuracy.
Key words: POI recommendation    K-means    collaborative filtering    coupling relationships    convolutional neural network    location effect    data mining    location-based social network (LBSN)    attribute information    

近年来,随着移动互联网技术和智能设备的飞速发展,用户可以方便地获取个人的实时位置信息,使得基于位置的社交网络(LBSNs)和兴趣点推荐(POI recommendation)技术得到了研究者的广泛关注。协同过滤是推荐系统中广泛使用的方法,其基本思想是:通过分析用户的兴趣偏好找到与某个用户偏好相似的其他用户,然后综合这些相似用户对兴趣点的评价,预测该用户对兴趣点的偏好程度。然而,在大规模数据集中,用户对兴趣点的评价非常稀疏,仅依赖评级矩阵进行协同过滤推荐很难得到准确合理的推荐结果[1-2]

用户与兴趣点在属性信息上存在显式的关联关系。例如,年轻人在选择兴趣点时可能会选择游乐场,而老年人通常会选择公园;此外,人们在选择兴趣点时也受距离的影响,多数情况下会选择距离较近的兴趣点[3]。由此可见,用户的年龄和兴趣点的位置信息在用户选择兴趣点时起着一定作用,也就是说,用户的年龄属性和兴趣点的位置属性之间存在着显式关联关系。此外,用户与兴趣点之间也存在着隐式关联关系。例如,签到行为反映了用户与兴趣点之间的交互关系,用户可能由于某种潜在因素选择了某个兴趣点,签到矩阵反映的就是用户与兴趣点之间的隐式关联关系。现有的推荐模型,通常是根据用户对兴趣点的签到矩阵或评分矩阵,利用基于矩阵分解的协同过滤方法进行兴趣点推荐,很少有模型同时考虑用户与兴趣点在属性(或特征)上的显式关联关系和通过签到矩阵体现的隐式关联关系,这里将用户与兴趣点之间的显式和隐式关联关系综合称为耦合关系。

为了解决上述问题,本文提出了基于用户−兴趣点耦合关系的兴趣点推荐模型,该模型分别学习用户与兴趣点在属性上的显式关联关系和签到矩阵中的隐式关联关系,将二者进行集成,进而实现兴趣点的准确推荐。最近的一些研究也提出了使用深度学习进行推荐,但是对用户与兴趣点之间的交互行为进行建模时仍然使用矩阵分解方法。文献[4]阐述了矩阵分解建模用户和项目之间的交互行为的局限性,因此本文提出使用神经网络来改善矩阵分解方法,从而更好地挖掘用户与兴趣点之间的隐式关联关系。此外,位置信息是兴趣点的基本属性,也是兴趣点推荐算法必须考虑的关键因素[5-7]。本文利用k-means算法根据兴趣点的位置信息对兴趣点进行聚类,得到合适的区域分块,使得每个兴趣点被分配一个其对应区域的位置标签。在此基础上,构建一个卷积神经网络模型,用来捕获用户属性与兴趣点属性之间的显式关联关系。最后,将用户与兴趣点之间的显式和隐式关联关系集成到同一个框架中,综合表征用户−兴趣点之间的耦合关系,在此基础上利用深度神经网络进行精准推荐。

本文的主要贡献:1)由于位置信息在兴趣点推荐中具有重要作用,提出将位置信息作为划分兴趣点类别的主要标准,进而采用K-means算法对兴趣点进行聚类;2)提出了基于用户−兴趣点耦合关系的兴趣点推荐模型,该模型综合考虑了兴趣点与用户在各自属性上的显式关联关系以及在签到数据中的隐式关联关系,从而提高推荐结果质量;3)在Yelp数据集上进行了算法的效果与性能实验评价,验证了本文方法的有效性。

1 相关工作

近年来,随着空间Web对象的迅速增多,兴趣点推荐成为当前推荐系统领域的研究热点。兴趣点推荐与传统的商品推荐有以下不同:1)兴趣点具有位置信息,并且位置信息在用户选择兴趣点时起着重要作用。例如用户可能由于位置信息更倾向于距离较近的兴趣点;2)兴趣点推荐中的签到矩阵比普通商品推荐中的评分矩阵更加稀疏;3)用户对一个兴趣点的喜好更可能隐藏在评论文本中,而传统的商品推荐中用户的喜好通常显式体现在用户对商品的评分中。

兴趣点推荐方面研究主要分为以下3类,第一类是下一个兴趣点推荐(next POI recommendation)[5,8-9]。文献[8]提出了一种多上下文集成的深度神经网络模型(MCIDNN)提高下一个位置预测的精度,该模型考虑了用户签到序列信息、用户偏好和输入上下文(位置信息、时间信息等)之间的相互作用。文献[5]提出了一种个性化排序度量嵌入方法(PRME),对个性化的签到序列进行建模,并且进一步提出了一个整合序列信息、个体偏好和地理位置影响的PRME-G模型。文献[6,10]采用基于一阶马尔可夫链对序列模式进行建模,但由于计算复杂度较高,该模型仅使用近期签到记录进行预测,忽略了长、短期序列上下文的影响。文献[11]提出了用一个三阶张量来模拟用户连续签到行为的模型,利用softmax函数将个性化马尔可夫链与潜在模式融合,提出了一种贝叶斯个性化排序(BPR)方法。文献[12]提出了Distance2Pre模型,利用GRU模型整合用户不同地理距离偏好,在此基础上进行下一个兴趣点预测,提出了线性和非线性两种方式整合用户距离偏好分数。不同于日常兴趣点推荐,下一个兴趣点推荐侧重于分析用户的历史移动序列轨迹,预测用户下一时段可能访问的兴趣点。

第2类为远途旅行兴趣点推荐(remote POI recommendation)[7]。文献[13]针对位置的情感属性,提出了一种兴趣点挖掘方法,首先使用Sentiment-based POI Mining(基于情感的兴趣点挖掘)算法挖掘具有明显情感属性的兴趣点,然后使用Sentiment-based POI Recommendation(基于情感的兴趣点推荐)算法向用户推荐兴趣点。文献[14]通过合并兴趣点可用性(兴趣点可能只在某个时间窗口内可用)的约束和不确定旅行时间(两个兴趣点之间的旅行时间不确定)的约束来缩减搜索空间,为用户提供个性化的旅行推荐。远途旅行兴趣点推荐也会受地理因素和个人偏好的影响,但更倾向于考虑大众偏好。

第3类为日常兴趣点推荐(general POI recommendation)[1,15]。文献[16]通过利用用户和兴趣点之间的位置相关性、社会相关性和类别相关性进行兴趣点推荐。文献[3]指出地理位置上的朋友、社交网络中的朋友以及在同一地点签到过的朋友对兴趣点的选择都具有影响。文献[17]提出将用户−项目交互数据构建成二部图,使用图神经网络学习用户和项目的嵌入向量。在用户和项目的嵌入向量中以嵌入传播的方式显式注入了协作信号。STAR-GCN[18]模型学习用户和项目的低维嵌入向量再输入到网络中,为了预测冷启动问题中的节点嵌入向量,STAR-GCN屏蔽了部分用户和项目的嵌入向量,然后通过图编码−解码器重构这些被屏蔽的嵌入向量,有效缓解了冷启动问题。文献[15]结合位置因素和时间因素构建了用户的兴趣动态变化模型,以获得更加准确的兴趣点推荐效果。矩阵分解方法在兴趣点推荐中也得到了广泛的应用,例如文献[19]整合了用户的社交关系和位置信息到概率矩阵分解(probabilistic matrix factorization)中。文献[20]提出了基于加权矩阵分解模型的兴趣点推荐方法。由于用户签到行为存在空间聚合现象,该方法从二维核密度估计的角度,描述了空间聚合的影响并将其整合到矩阵分解模型中。但需要指出的是,上述研究[3,15,21]都使用潜在特征向量代表用户和兴趣点,用户在兴趣点上的交互被建模为各自对应的潜在向量的内积。然而,使用简单的内积作为用户和兴趣点的交互函数,并不能有效捕捉用户交互数据的复杂结构(因为内积只是线性地结合了多个潜在特征的乘法),从而导致推荐效果不够理想。矩阵分解将用户和兴趣点映射到同一潜在特征空间中,如果用户和兴趣点潜在向量的维数过小,无法在潜在特征空间中体现用户和用户之间的相似性、兴趣点和兴趣点之间的相似性,进而使用内积作为交互函数进行推荐也会造成一定的排名误差。解决该问题的方法之一是使用大量的潜在因子,然而这可能对模型的泛化能力产生不利影响,特别是在稀疏的数据集上容易产生数据过拟合问题。深度学习在图形图像处理[22]、自然语言处理[23]等领域取得突破,为推荐系统的研究带来了新的机遇。但据我们所知,很多研究都是将深度学习用于建模上下文信息[21],例如评论信息、类别信息等,并使用内积作为用户和兴趣点的交互函数。神经网络已经被证明有拟合任何连续函数的能力[24],受文献[25]的启发,本文利用深度神经网络从用户签到数据中学习用户和项目的交互函数。

2 问题定义和解决方案 2.1 问题定义

定义1  兴趣点集合。兴趣点是与地理位置相关的地点,一个兴趣点集合用 $V = \left\{ {{v_1},{v_2}, \cdots ,\left. {{v_n}} \right\}} \right.$ 表示,V中的每个对象 $v_i$ 由一个二元组(λ, K)组成,其中 ${v_{i.\lambda }} $ 表示兴趣点 $v_i $ 的位置信息,即 ${v_{i.\lambda }} = \left( {{\rm{la}}{{\rm{t}}_i},{\rm{lon}}{}_i} \right) $ ${\rm{la}}{{\rm{t}}_i}$ ${\rm{lo}}{{\rm{n}}_i}$ 分别代表兴趣点的经度和纬度, ${v_{i.K }} $ $v_i $ 中的文本信息集合, ${v_{i.K}} = \left[ {{a_1},{a_2}, \cdots ,{a_o}} \right] $ ,其中 ${a_i}( {i \in 1, 2, \cdots , o} )$ 是文本信息中的一个关键字。

定义2 签到矩阵。签到矩阵由用户对兴趣点的签到数据构成,如果用户数为m,兴趣点数为n,则签到矩阵为Rm×n,如果用户i访问过兴趣点j,签到矩阵对应位置rij(rijRm×n)为1,否则,置0。签到矩阵中的每个元素都反映了用户和兴趣点之间的交互。

2.2 解决方案

本文提出的模型主要分为以下3个阶段:

1)兴趣点聚类。采用K-means算法,根据兴趣点的位置信息,对兴趣点进行聚类,使得位置相近的兴趣点被聚为一类。每类兴趣点有一个相应的类标签,用于兴趣点与用户的属性之间进行显式关联关系分析。

2)用户−兴趣点之间的耦合关系挖掘。通过卷积神经网络模型学习用户与兴趣点在属性上的显式关联关系;使用另外一个神经网络模型,根据用户对兴趣点的签到数据,学习用户与兴趣点之间的隐式关联关系;最后,将用户和兴趣点的显式和隐式关联关系集成到一起,表征用户−兴趣点之间的耦合关系。

3)将2)中学习到的用户−兴趣点耦合关系输入到一个全连接网络中,进行兴趣点推荐。

3 兴趣点推荐模型 3.1 基于K-means算法的兴趣点聚类

基于K-means算法的兴趣点聚类的基本思想是:首先,从兴趣点集合中随机选取k个兴趣点作为初始的聚类中心;然后,计算每个兴趣点与各个聚类中心之间的距离,把每个兴趣点分配给距离它最近的聚类中心,聚类中心以及分配给它们的兴趣点就代表一个聚类,每个聚类的聚类中心根据聚类中现有的兴趣点被重新计算;上述过程将不断重复直到满足K-means聚类的终止条件。

基于K-means算法的兴趣点聚类的处理过程如下:

1)从兴趣点集合中随机选择k个兴趣点作为初始聚类中心。

2)计算剩余兴趣点到聚类中心的欧式距离 $\rho $ ,将最接近的兴趣点放入类别中,形成新的类, $\rho $ 的计算方法为

${\rm{\rho }} = \sqrt {\left( {\rm{la}}{\rm{t}}_{i} - {\rm{la}}{\rm{t}}_{j} \right)^2 + {\left( {\rm{lo}}{\rm{n}}_{i} - {\rm{lo}}{\rm{n}}_{j} \right)}^2} $ (1)

其中,vi.λ= (lati,loni)和vj.λ= (latj,lonj)是兴趣点数据集V= {v1,v2,…,vn}中的两个兴趣点。

3)取当前聚类中所有兴趣点经纬度的均值作为新的中心点,更新距离聚类中心最近的兴趣点。

4)直到目标函数收敛或聚类中心不变,否则将转移到2)。

5)输出兴趣点聚类结果。

表1给出了兴趣点v1v2v3v4v5的位置信息以及文本信息。假设需要将这5个兴趣点聚为3类,首先随机选取v1v2v5作为聚类中心,通过计算得到v3v1v2v5的欧氏距离分别为17 227.781 345 8、3 553 977.144 9、13 387 365.177 6 m,v4v1v2v5的欧氏距离分别为3 385 341.322 16、153 131.434 74、10 085 102.605 5 m,所以将v1v3聚为一类,v2v4聚为一类,v5单独成为一类。然后选取每个类的中心点为新的聚类中心,即(33.427 796 53,−112.046 954 5)、(40.705 609 95,−80.790 294 85)、v5,计算得到v1到这3个新的聚类中心的距离为8 611.093 741 63、3 461 882.261 76、13 370 426.099 6 m,v2为3 546 225.507 02、76 593.790 297 2、9 936 164.797 2 m,v3为8 616.704 789 23、3 477 389.386 85、13 387 365.177 6 m,v4为3 393 095.487 84、76 541.502 450 9、10 085 102.605 5 m,得到新的聚类,即v1v3聚为一类,v2v4聚为一类,v5单独成为一类,可以看出聚类没有发生变化,则聚类中心还为(33.427 796 53,−112.046 954 5)、(40.705 609 95,−80.790 294 85)、v5,由于聚类中心未发生变化,则聚类过程终止。根据聚类情况,每个兴趣点都可以分配一个所属聚类的类标签。

表 1 兴趣点信息 Tab.1 The information of POIs
3.2 兴趣点推荐模型的构建 3.2.1 用户−兴趣点的显式关联关系评估

基于用户−兴趣点耦合关系的兴趣点推荐模型由局部和全局的用户−兴趣点显式关联关系以及用户−兴趣点隐式关联关系集成到一个全连接网络构成。

用户的文本信息和兴趣点的位置信息、文本信息分别作为各自的属性信息,通过一个卷积神经网络模型学习用户−兴趣点的显式关联关系。首先,将用户和兴趣点的属性信息分别嵌入到向量uc={uc1,uc2,…,ucm}和vc={vc1,vc2,…,vcn}中,uci(vci)是uc(vc)中的第i个元素。在实际应用中,不同类型的用户/兴趣点的属性信息通常采用不同的嵌入方式。

用户或兴趣点属性信息的嵌入方式如图1所示。对于兴趣点,需要将其位置信息和文本信息进行集成嵌入,位置信息是基于K-means算法的兴趣点聚类结果,兴趣点属于聚类结果中的哪一类则该位置为1,其余位置为0。文本信息做同样处理,例如,对于表1中的兴趣点v1,使用3.1节中的兴趣点聚类结果,结合表1中的文本信息,则v1的嵌入向量为[1,0,0,1,0,0,0,0,1,0,0,0],此向量的前3维为地理信息的聚类结果;依据顺序嵌入向量中的第一维为聚类结果中的第一类,第二维为聚类结果中的第2类,以此类推;由于文本信息中State为4类,所以后4维分别为AZ、PA、OH、BW;嵌入向量中间的五维为文本信息中的City。嵌入向量的每一维度根据顺序分别代表聚类结果中的第1类、第2类、第3类、Ahwatukee、McMcrray、Phoenix、Cuyahoga Falls、Stuttgart、AZ、PA、OH、BW,所以嵌入向量为[1,0,0,1,0,0,0,0,1,0,0,0]。同理,用户信息的嵌入向量也按此方法进行转换。

Download:
图 1 兴趣点信息嵌入方式 Fig. 1 Embedding method of POI

对于嵌入向量ucvc,构造一个函数 ${f_\Theta }({u_c},{v_c})$ 来计算二者之间的关联关系,代表了ucvc之间的交互,其中 $\Theta $ f的参数,可以得到一个用户−兴趣点关联矩阵,关联矩阵中的每一个元素都代表了相应的用户−兴趣点之间的关联关系。将关联矩阵输入到一个卷积神经网络来学习局部的用户−兴趣点显式关联关系,得到局部的显式关联向量。

卷积神经网络的模型由卷积层和池化层组成,卷积层和池化层可以提取更深层次的特征,其执行方式为:

${{a}_{{p}}} = {\rm{pooling}}({g}({w}*{{x}_{{c}}} + {b}))$ (2)

式中: $ * $ 为卷积算子; w为滤波器;bw的偏置; g为非线性激活函数;pooling为池化函数(例如,最大池化或者平均池化)。

在此基础上,将用户−兴趣点的关联矩阵展平成一个向量,作为一个全局的显式关联向量,并将其与局部的显式关联向量连接起来,进而综合表征用户−兴趣点的显式关联关系。

3.2.2 用户−兴趣点的隐式关联关系评估

签到矩阵中推断出的潜在因素可以解释为隐式的关联关系,用户可能通过潜在的因素衡量自己对兴趣点的喜爱程度。与文献[4]中的NeuMF类似,将用户和兴趣点的潜在因素连接到一个全连接的神经网络模型中学习隐式的用户−兴趣点交互。用户−兴趣点隐式关联模型将用户标签和兴趣点标签分别表示为one-hot向量uv。受文献[26]的启发,采用全连接层作为嵌入层来学习低维向量,分别表示为uvpq,嵌入过程为

${p} = {W}_{{u}}^{\rm{T}}{u}$ (3)
${q} = {W}_{{v}}^{\rm{T}}{v}$ (4)

权重矩阵 ${{{W}}_u} \in {{\bf{R}}^{k \times \left| U \right.\left| \right.}}$ ${{{W}}_v} \in {{\bf{R}}^{k \times \left| V \right.\left| \right.}}$ 完全连接在输入层和嵌入层之间。

将嵌入向量pq输入乘法层,乘法层进行pq的乘积,乘法层的输出用线性交互向量r表示:

${r} = {p} \otimes {q} = ({{p}_1}{{q}_1},{{p}_2}{{q}_2}, \cdots, {{p}_{{k}}}{{q}_{{k}}})$ (5)

r捕获了用户和兴趣点之间的线性交互。然后,将向量r输入到一个多层的全连接神经网络模型学习更加抽象的用户和兴趣点之间的非线性交互,这里将多层的全连接神经网络模型的每一层的输出ai表示为

${{a}_{{i}}} = {\rm{Re}}{LU}({w}_{{i}}^{\rm{T}}{{a}_{{i} - 1}} + {{b}_{{i}}})$ (6)

式中:wb分别表示每一层的权重矩阵和偏差,ai表示用ReLU函数激活的每一层的输出结果。

基于用户−兴趣点耦合关系的兴趣点推荐模型结合了基于卷积神经网络的局部和全局显式关联关系以及用户−兴趣点隐式关联关系。如图2所示,将其输入到一个全连接层中进行处理,以生成最终的用户−兴趣点耦合向量。模型的总输出结果值由激活函数Sigmoid压缩为[0,1]区间。

Download:
图 2 基于用户−兴趣点耦合关系的兴趣点推荐模型 Fig. 2 A POI recommendation model based on user-POI coupling relationships
3.3 模型的训练

为了学习模型参数,首先根据训练数据训练模型。步骤1中的类标签通过3.1节根据兴趣点的位置信息得到。训练算法中输入了batch_size的大小,所以步骤3中将训练集分成n个batch,每batch_size个数据组成一个batch。用户和兴趣点的属性信息嵌入向量ucvc中分别嵌入了用户的文本信息和兴趣点的位置信息、文本信息。计算用户和兴趣点的嵌入向量qp通过式(3)和(4)得到。基于用户−兴趣点耦合关系的兴趣点推荐模型的训练算法如算法1。

算法1 基于用户−兴趣点耦合关系的兴趣点推荐模型的训练算法

输入 签到矩阵,兴趣点的文本信息集合u.K,用户的文本信息集合v.K,兴趣点的位置信息v.λ,batch_size的大小;

输出 参数集合Θ。

1)根据兴趣点的位置信息计算类标签;

2)初始化模型参数集合Θ;

3)将训练集分成n个batch;

4) for batch in 训练集;

5) for (u,v) in batch do

计算用户和兴趣点的属性信息嵌入向量ucvc

计算用户和兴趣点的嵌入向量qp

学习用户−兴趣点的显式关联关系和隐式关联关系;

6)计算预测输出;

7) 计算损失L

8) for 每个θ in $\Theta $ do

更新 ${{\theta }} = {{\theta }}{\rm{ - }}{{\eta }}\dfrac{{\partial {{J}}}}{{\partial {{{{\hat y}}}^{({{i}})}}}}\dfrac{{\partial {{{{\hat y}}}^{({{i}})}}}}{{\partial {{\theta }}}}$ (其中 ${{J}} = \dfrac{{\rm{1}}}{{{m}}}\displaystyle\sum\limits_{{{i}} = 1}^{{m}} {{{L}}({{{{\hat y}}}^{({{i}})}},{{{y}}^{({{i}})}})} $ );

9) end for

10) end for

11) end for

12) return $\Theta $

4 实验及评价 4.1 数据集

本文实验数据集采用2016年的Yelp数据集,据统计,2016年Yelp数据集中有2100万用户和10200万条与地理位置相关的评论信息[27]表2给出了本文的实验数据统计信息。

表 2 实验数据信息 Tab.2 Information of experimental data
4.2 比较方法

将基于用户−兴趣点耦合关系的兴趣点推荐模型(简称为UPC-POIR)分别与以下4个模型进行对比,其中global UPC-POIR和local UPC-POIR也为本文提出的模型,现对5种模型进行介绍:

1)UPC-POIR:为本文提出的基于用户−兴趣点耦合关系的兴趣点推荐模型,集成了用户和兴趣点在属性上的的显式关联关系以及签到矩阵中的隐式关联关系。其中用户和兴趣点在属性上的显式关联关系同时考虑了局部和全局的用户−兴趣点显式关联关系。

2)global UPC-POIR:集成了全局的用户−兴趣点显式关联关系和签到矩阵中的隐式关联关系。全局的用户−兴趣点显式关联关系是将用户−兴趣点关联矩阵展平得到。

3)local UPC-POIR:集成了局部的用户−兴趣点显式关联关系和签到矩阵中的隐式关联关系。局部的用户−兴趣点显式关联关系是将用户−兴趣点关联矩阵输入到卷积神经网络模型中得到。

4)BPR[28]:使用贝叶斯个性化排序(BPR)损失优化的矩阵分解,只利用用户−兴趣点的直接交互作为交互函数的目标值。

5)NeuMF[4]:该推荐模型是利用多层神经网络实现的矩阵分解,是近年来新提出的经典推荐模型。该模型使用了元素层面上用户和项目嵌入的串联的多个隐藏层来捕获它们的非线性特征交互,能够更有效的捕获用户与项目之间的隐式/潜在关联关系。

4.3 实验设置

基于用户−兴趣点耦合关系的兴趣点推荐模型使用Python语言基于Keras框架实现,电脑配置为CPU i7-8700K3.7 GHz,操作系统为Ubuntu 18.04.1。在实验中,学习率设置为0.001,采用Adam作为优化器,所有偏置的初始值都设置为0。参数初始化采用随机正态分布(均值和标准差分别为0和0.01)初始化嵌入矩阵,采用glorot-uniform作为全连通层的初始化器。

k-means聚类算法中,本文分别实现了位置因素的聚类个数k为10、20、30、40、50、60、70、80、90、100。经过实验测试,当聚类个数为50时,推荐效果最佳。

在学习局部显式关联关系的过程中,卷积层中卷积核的数量和卷积核的大小分别设置为8和(3,3),激活函数采用Relu函数。

在最终输出层之前,对全连通层中的神经元个数分别设置为16、32、64、128、256进行试验,测试结果表明,神经元个数为64时推荐性能最佳。

4.4 评价标准

对于每个用户,本文从数据集中随机选择一个用户交互(签到行为)过的兴趣点作为测试项,用户交互过的其他兴趣点作为训练项。随机生成了39个兴趣点(不在用户交互过的兴趣点集合中)组成测试集,让每个模型为每个用户对这40个兴趣点进行排序,然后评估推荐算法性能。

该实验采用top-k命中率(HR@K)和归一化折现累积收益(NDCG@K)[4]作为评价指标。

HR:基于recall的测试方法,HR@K= $\dfrac{{\# {\rm{hits}}@k}}{{|GT|}}$ ,表示测试兴趣点是否在top-k推荐列表中。

NDCG:是一种基于排名的测试标准, ${\rm{NDCG}}@K = {Z_k}\displaystyle\sum_{i = 1}^k {\dfrac{{{2^{{{\rm{rel}}_i}}} - 1}}{{{{\log }_2}(i + 1)}}}$ ,排名靠前的兴趣点得分更高。

4.5 实验结果分析

本文提出的UPC-POIR需要先确定基于K-means算法的兴趣点聚类中的k图3图4分别给出了当推荐列表中兴趣点的个数为10时UPC-POIR、local UPC-POIR、global UPC-POIR的HR以及NDCG的变化情况。通过图3图4可以看出,当k=50时,3个模型中UPC-POIR的HR和NDCG取得了最大值,所以本实验中固定k=50。

Download:
图 3 兴趣点推荐中HR@K的情况 Fig. 3 HR@K results of POI recommendation
Download:
图 4 兴趣点推荐中NDCG@K的情况 Fig. 4 NDCG@K results of POI recommendation

表3描述了当推荐列表中兴趣点个数为10时,UPC-POIR、local UPC-POIR、global UPC-POIR、BPR和NeuMF的HR和NDCG的情况。实验结果表明,UPC-POIR显著提高了推荐性能,例如HR比local UPC-POIR、global UPC-POIR分别提高了18.17%和13.36%,NDCG分别提高了13.88%和9.48%。UPC-POIR与NeuMF相比也有明显的提高,原因是UPC-POIR不仅使用神经网络模型改善矩阵分解来学习交互函数,并且考虑了用户和兴趣点属性之间的关联关系,而NeuMF没有考虑用户和兴趣点属性之间的关联关系。BPR由于使用内积这种线性函数作为交互函数,因此推荐效果不如UPC-POIR,从而也体现了使用非线性函数建模交互函数能够显著提高推荐准确性。

表 3 Top-10推荐中HR和NDCG的情况 Tab.3 HR@10 and NDCG@10 for Top-10 point-of-interest recommendation

图5图6描述了推荐列表中兴趣点的个数分别为2、4、6、8、10时的HR和NDCG的情况。实验结果表明,local UPC-POIR、global UPC-POIR都有助于提高推荐性能,但是综合来讲UPC-POIR取得了最佳推荐性能。

Download:
图 5 Top-k兴趣点推荐中HR的情况 Fig. 5 HR@K results of Top-k POI recommendation
Download:
图 6 Top-k兴趣点推荐中NDCG的情况 Fig. 6 NDCG@K results of top-k POI recommendation
5 结束语

本文提出了一个基于用户−兴趣点耦合关系的兴趣点推荐模型,模型综合考虑了用户和兴趣点之间的耦合关系,集成了用户与兴趣点之间的显式和隐式关联关系,通过一个卷积神经网络模型,实现了用户属性与兴趣点属性的显式关联关系捕获,将签到矩阵输入到神经网络模型中学习隐式关联关系。实验结果表明,与现有兴趣点推荐模型相比,本文提出的推荐模型达到了更好的推荐效果。在接下来的工作中,将考虑用户和兴趣点的更多属性,如用户的社交信息、用户对兴趣点的评论信息等,尝试通过图嵌入技术解决兴趣点推荐中的冷启动问题,进一步提升推荐的准确性。

参考文献
[1] WANG Weiqing, YIN Hongzhi, CHEN Ling, et al. Geo-SAGE: a geographical sparse additive generative model for spatial item recommendation[C]//Proceedings of the 21th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. Sydney, Australia, 2015: 1255−1264. (0)
[2] YIN Hongzhi, WANG Weiqing, WANG Hao, et al. Spatial-aware hierarchical collaborative deep learning for POI recommendation[J]. IEEE transactions on knowledge and data engineering, 2017, 29(11): 2537-2551. DOI:10.1109/TKDE.2017.2741484 (0)
[3] LI Huayu, GE Yong, HONG Richang, et al. Point-of-Interest recommendations: learning potential check-ins from friends[C]//Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. San Francisco, California, America, 2016: 975−984. (0)
[4] HE Xiangnan, LIAO Lizi, ZHANG Hanwang, et al. Neural collaborative filtering[C]//Proceedings of the 26th International Conference on World Wide Web. Perth, Australia, 2017: 173−182. (0)
[5] FENG Shanshan, LI Xutao, ZENG Yifeng, et al. Personalized ranking metric embedding for next new POI recommendation[C]//Proceedings of the 24th International Conference on Artificial Intelligence. Buenos Aires, Argentina, 2015: 2069−2075. (0)
[6] CHENG Chen, YANG Haiqin, LYU M R, et al. Where you like to go next: successive Point-of-Interest recommendation[C]//Proceedings of the 23th International Joint Conference on Artificial Intelligence. Beijing, China, 2013: 2605−2611. (0)
[7] YU Zhiwen, XU Huang, YANG Zhe, et al. Personalized travel package with multi-point-of-interest recommendation based on crowdsourced user footprints[J]. IEEE transactions on human-machine systems, 2016, 46(1): 151-158. DOI:10.1109/THMS.2015.2446953 (0)
[8] LIAO Jianxin, LIU Tongcun, LIU Meilian, et al. Multi-context integrated deep neural network model for next location prediction[J]. IEEE access, 2018, 6: 21980-21990. DOI:10.1109/ACCESS.2018.2827422 (0)
[9] LONG Yan, ZHAO Pengpeng, SHENG V S, et al. Social personalized ranking embedding for next POI recommendation[C]//Proceedings of the 18th International Conference on Web Information Systems Engineering. Pushchino, Russia, 2017: 91−105. (0)
[10] YE Jihang, ZHU Zhe, CHENG Hong. What’s your next move: user activity prediction in location-based social networks[C]//Proceedings of the 2013 SIAM International Conference on Data Mining. Austin, USA, 2013: 171−179. (0)
[11] HE Jing, LI Xin, LIAO Lejian, et al. Inferring a personalized next Point-of-Interest recommendation model with latent behavior patterns[C]//Proceedings of the Conference on Artificial Intelligence. Phoenix, America, 2016: 137−143. (0)
[12] CUI Qiang, TANG Yuyuan, WU Shu, et al. Distance2Pre: personalized spatial preference for next point-of-interest prediction[M]//YANG Qiang, ZHOU Zhihua, GONG Zhiguo, et al. Advances in Knowledge Discovery and Data Mining. Cham: Springer, 2019: 289−301. (0)
[13] LOU Peiliang, ZHAO Guoshuai, QIAN Xueming, et al. Schedule a rich sentimental travel via sentimental POI mining and recommendation[C]//Proceedings of 2016 IEEE Second International Conference on Multimedia Big Data. Taipei, China, 2016: 33−40. (0)
[14] ZHANG Chenyi, LIANG Hongwei, WANG Ke, et al. Personalized trip recommendation with POI availability and uncertain traveling time[C]//Proceedings of the 24th ACM International on Conference on Information and Knowledge Management. Melbourne, Australia, 2015: 911−920. (0)
[15] LI Huayu, HONG Richang, WU Zhiang, et al. A spatial-temporal probabilistic matrix factorization model for Point-of-Interest recommendation[C]//Proceedings of the 2016 SIAM International Conference on Data Mining. Miami, USA, 2016: 117−125. (0)
[16] ZHANG Jiadong, CHOW C Y. GeoSoCa: exploiting geographical, social and categorical correlations for Point-of-Interest recommendations[C]//Proceedings of the 38th International ACM SIGIR Conference on Research and Development in Information Retrieval. Santiago, Chile, 2015: 443−452. (0)
[17] WANG Xiang, HE Xiangnan, WANG Meng, et al. Neural graph collaborative filtering[C]//Proceedings of the 42nd International ACM SIGIR Conference on Research and Development in Information Retrieval. Paris, France, 2019: 165−174. (0)
[18] ZHANG Jiani, SHI Xingjian, ZHAO Shenglin, et al. STAR-GCN: stacked and reconstructed graph convolutional networks for recommender systems[C]//Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence. Macao, China, 2019: 4264−4270. (0)
[19] CHENG Chen, YANG Haiqin, KING I, et al. Fused matrix factorization with geographical and social influence in location-based social networks[C]//Proceedings of the 26th AAAI Conference on Artificial Intelligence. Toronto, Canada, 2012: 17−23. (0)
[20] LIAN Defu, ZHAO Cong, XIE Xing, et al. GeoMF: joint geographical modeling and matrix factorization for point-of-interest recommendation[C]//Proceedings of the 20th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York, USA, 2014: 831−840. (0)
[21] XING Shuning, LIU Fangai, ZHAO Xiaohui, et al. Points-of-interest recommendation based on convolution matrix factorization[J]. Applied intelligence, 2018, 48(8): 2458-2469. DOI:10.1007/s10489-017-1103-0 (0)
[22] LIU Ming, DING Yukang, XIA Min, et al. STGAN: a unified selective transfer network for arbitrary image attribute editing[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach, America, 2019: 3668−3677. (0)
[23] ATHIWARATKUN B, WILSON A, ANANDKUMAR A. Probabilistic FastText for multi-sense word embeddings[C]//Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics. Melbourne, Australia, 2018: 1−11. (0)
[24] HORNIK K, STINCHCOMBE M, WHITE H. Multilayer feedforward networks are universal approximators[J]. Neural networks, 1989, 2(5): 359-366. DOI:10.1016/0893-6080(89)90020-8 (0)
[25] ZHANG Quangui, CAO Longbing, ZHU Chengzhang, at al. CoupledCF: learning explicit and implicit user-item couplings in recommendation for deep collaborative filtering[C]//Proceedings of the 27th International Joint Conference on Artificial Intelligence. Stockholm, Sweden, 2018: 3662−3668. (0)
[26] MIKOLOV T, CHEN Kai, CORRADO G, et al. Efficient estimation of word representations in vector space[C]//Proceedings of the 1st International Conference on Learning Representations. Scottsdale, USA, 2013: 1301−3781. (0)
[27] LIU Yiding, TUAN-ANH P, CONG Gao, et al. An experimental evaluation of Point-of-Interest recommendation in location-based social networks[J]. Proceedings of the VLDB endowment, 2017, 10(10): 1010-1021. DOI:10.14778/3115404.3115407 (0)
[28] 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, Canada, 2009: 452−461. (0)