第16卷第2期 智能系统学报 Vol.16 No.2 2021年3月 CAAI Transactions on Intelligent Systems Mar.2021 D0:10.11992/tis.201907034 网络出版地址:https:/ns.cnki.net/kcms/detail/23.1538.TP.20200714.0944.008.html 用户一兴趣点耦合关系的兴趣点推荐方法 孟祥福,齐雪月,张全贵,张霄雁,王丽 (辽宁工程技术大学电子与信息工程学院,辽宁葫芦岛125105) 摘要:在基于位置的社交网络(LBSNs)中,如何利用用户和兴趣点的属性(或特征)之间的耦合关系,为用户做 出准确的兴趣点推荐是当前的研究热点。现有的矩阵分解推荐方法利用用户对兴趣点的评分进行推荐,但评级 矩阵通常非常稀疏,并且没有考虑用户和兴趣点在各自属性方面的耦合关系。本文提出了一种基于深度神经网 络的兴趣点推荐框架,首先采用K-means算法对兴趣点按地理位置进行聚类,使位置相近的兴趣点聚为一类:然 后,构建一个卷积神经网络模型,用来学习用户和兴趣点在各自属性(如用户年龄与兴趣点位置之间)上的显式 关联关系:同时,构建另外一个神经网络模型,模拟机器学习中的矩阵分解方法,根据用户的签到行为,深入挖掘 用户与兴趣点之间的隐式关联关系。最后,将用户与兴趣点之间的显式和隐式关联关系进行集成,综合表征用 户-兴趣点之间的耦合关系,然后将学习到的用户-兴趣点耦合关系输入到一个全连接网络中进行兴趣点推荐。 本文所提出的模型在Y©p数据集上进行了评估,实验结果表明该模型在兴趣点推荐方面有较高的推荐准确性。 关键词:兴趣点推荐;K-means:协同过滤:耦合关系:卷积神经网络;位置影响:数据挖掘:基于位置的社交网 络:属性信息 中图分类号:TP311文献标志码:A文章编号:1673-4785(2021)02-0228-09 中文引用格式:孟样福,齐雪月,张全贵,等.用户-兴趣点耦合关系的兴趣点推荐方法{.智能系统学报,2021,16(2): 228-236. 英文引用格式:MENG Xiangfu,,QI Xueyue,.ZHANG Quangui,etal.A POI recommendation approach based on user-POI coup- ling relationships[J].CAAI transactions on intelligent systems,2021,16(2):228-236 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 re- commendations 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 loca- tion 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'POl 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 recom- mendation.The proposed model was evaluated on the Yelp data set,and the experimental results show that it achieves high recommendation accuracy. Keywords:POI recommendation;K-means;collaborative filtering;coupling relationships;convolutional neural net- work;location effect;data mining;location-based social network (LBSN);attribute information 收稿日期:2019-07-18.网络出版日期:2020-07-14. 基金项目:国家自然科学基金面上项目(61772249) 近年来,随着移动互联网技术和智能设备的 通信作者:孟祥福.E-mail:maxi@126.com 飞速发展,用户可以方便地获取个人的实时位
DOI: 10.11992/tis.201907034 网络出版地址: https://kns.cnki.net/kcms/detail/23.1538.TP.20200714.0944.008.html 用户−兴趣点耦合关系的兴趣点推荐方法 孟祥福,齐雪月,张全贵,张霄雁,王丽 (辽宁工程技术大学 电子与信息工程学院,辽宁 葫芦岛 125105) 摘 要:在基于位置的社交网络 (LBSNs) 中,如何利用用户和兴趣点的属性(或特征)之间的耦合关系,为用户做 出准确的兴趣点推荐是当前的研究热点。现有的矩阵分解推荐方法利用用户对兴趣点的评分进行推荐,但评级 矩阵通常非常稀疏,并且没有考虑用户和兴趣点在各自属性方面的耦合关系。本文提出了一种基于深度神经网 络的兴趣点推荐框架,首先采用 K-means 算法对兴趣点按地理位置进行聚类,使位置相近的兴趣点聚为一类;然 后,构建一个卷积神经网络模型,用来学习用户和兴趣点在各自属性(如用户年龄与兴趣点位置之间)上的显式 关联关系;同时,构建另外一个神经网络模型,模拟机器学习中的矩阵分解方法,根据用户的签到行为,深入挖掘 用户与兴趣点之间的隐式关联关系。最后,将用户与兴趣点之间的显式和隐式关联关系进行集成,综合表征用 户−兴趣点之间的耦合关系,然后将学习到的用户−兴趣点耦合关系输入到一个全连接网络中进行兴趣点推荐。 本文所提出的模型在 Yelp 数据集上进行了评估,实验结果表明该模型在兴趣点推荐方面有较高的推荐准确性。 关键词:兴趣点推荐;K-means;协同过滤;耦合关系;卷积神经网络;位置影响;数据挖掘;基于位置的社交网 络;属性信息 中图分类号:TP311 文献标志码:A 文章编号:1673−4785(2021)02−0228−09 中文引用格式:孟祥福, 齐雪月, 张全贵, 等. 用户−兴趣点耦合关系的兴趣点推荐方法 [J]. 智能系统学报, 2021, 16(2): 228–236. 英文引用格式: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. 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. Keywords: POI recommendation; K-means; collaborative filtering; coupling relationships; convolutional neural network; location effect; data mining; location-based social network (LBSN); attribute information 近年来,随着移动互联网技术和智能设备的 飞速发展,用户可以方便地获取个人的实时位 收稿日期:2019−07−18. 网络出版日期:2020−07−14. 基金项目:国家自然科学基金面上项目 (61772249). 通信作者:孟祥福. E-mail: marxi@126.com. 第 16 卷第 2 期 智 能 系 统 学 报 Vol.16 No.2 2021 年 3 月 CAAI Transactions on Intelligent Systems Mar. 2021
第2期 孟祥福,等:用户一兴趣点耦合关系的兴趣点推荐方法 ·229· 置信息,使得基于位置的社交网络(LBSNs)和兴 的显式和隐式关联关系集成到同一个框架中,综 趣点推荐(POI recommendation)技术得到了研究 合表征用户-兴趣点之间的耦合关系,在此基础 者的广泛关注。协同过滤是推荐系统中广泛使 上利用深度神经网络进行精准推荐。 用的方法,其基本思想是:通过分析用户的兴趣 本文的主要贡献:1)由于位置信息在兴趣点 偏好找到与某个用户偏好相似的其他用户,然 推荐中具有重要作用,提出将位置信息作为划分 后综合这些相似用户对兴趣点的评价,预测该 兴趣点类别的主要标准,进而采用K-means算法 用户对兴趣点的偏好程度。然而,在大规模数 对兴趣点进行聚类;2)提出了基于用户-兴趣点 据集中,用户对兴趣点的评价非常稀疏,仅依赖 耦合关系的兴趣点推荐模型,该模型综合考虑了 评级矩阵进行协同过滤推荐很难得到准确合理 兴趣点与用户在各自属性上的显式关联关系以及 的推荐结果。 在签到数据中的隐式关联关系,从而提高推荐结 用户与兴趣点在属性信息上存在显式的关联 果质量;3)在Yelp数据集上进行了算法的效果与 关系。例如,年轻人在选择兴趣点时可能会选择 性能实验评价,验证了本文方法的有效性。 游乐场,而老年人通常会选择公园;此外,人们在 1相关工作 选择兴趣点时也受距离的影响,多数情况下会选 择距离较近的兴趣点。由此可见,用户的年龄 近年来,随着空间Web对象的迅速增多,兴 和兴趣点的位置信息在用户选择兴趣点时起着一 趣点推荐成为当前推荐系统领域的研究热点。兴 定作用,也就是说,用户的年龄属性和兴趣点的 趣点推荐与传统的商品推荐有以下不同:1)兴趣 位置属性之间存在着显式关联关系。此外,用户 点具有位置信息,并且位置信息在用户选择兴趣 与兴趣点之间也存在着隐式关联关系。例如,签 点时起着重要作用。例如用户可能由于位置信息 到行为反映了用户与兴趣点之间的交互关系,用 更倾向于距离较近的兴趣点;2)兴趣,点推荐中的 户可能由于某种潜在因素选择了某个兴趣点,签 签到矩阵比普通商品推荐中的评分矩阵更加稀 到矩阵反映的就是用户与兴趣点之间的隐式关联 疏;3)用户对一个兴趣点的喜好更可能隐藏在评 关系。现有的推荐模型,通常是根据用户对兴趣 论文本中,而传统的商品推荐中用户的喜好通常 点的签到矩阵或评分矩阵,利用基于矩阵分解的 显式体现在用户对商品的评分中。 协同过滤方法进行兴趣点推荐,很少有模型同时 兴趣点推荐方面研究主要分为以下3类,第 考虑用户与兴趣点在属性(或特征)上的显式关 -类是下一个兴趣,点推荐(next POI recommenda- 联关系和通过签到矩阵体现的隐式关联关系,这 tion)5,。文献[8]提出了一种多上下文集成的深 里将用户与兴趣点之间的显式和隐式关联关系综 度神经网络模型(MCIDNN)提高下一个位置预测 合称为耦合关系。 的精度,该模型考虑了用户签到序列信息、用户 为了解决上述问题,本文提出了基于用户-兴 偏好和输入上下文(位置信息、时间信息等)之间 趣点耦合关系的兴趣点推荐模型,该模型分别学 的相互作用。文献[5]提出了一种个性化排序度 习用户与兴趣点在属性上的显式关联关系和签到 量嵌入方法(PRME),对个性化的签到序列进行建 矩阵中的隐式关联关系,将二者进行集成,进而 模,并且进一步提出了一个整合序列信息、个体偏 实现兴趣点的准确推荐。最近的一些研究也提出 好和地理位置影响的PRME-G模型。文献[6,10] 了使用深度学习进行推荐,但是对用户与兴趣点 采用基于一阶马尔可夫链对序列模式进行建模, 之间的交互行为进行建模时仍然使用矩阵分解方 但由于计算复杂度较高,该模型仅使用近期签到 法。文献[4阐述了矩阵分解建模用户和项目之 记录进行预测,忽略了长、短期序列上下文的影 间的交互行为的局限性,因此本文提出使用神经 响。文献[11]提出了用一个三阶张量来模拟用户 网络来改善矩阵分解方法,从而更好地挖掘用户 连续签到行为的模型,利用softmax函数将个性 与兴趣点之间的隐式关联关系。此外,位置信息 化马尔可夫链与潜在模式融合,提出了一种贝叶 是兴趣点的基本属性,也是兴趣点推荐算法必须 斯个性化排序(BPR)方法。文献[12]提出了Dis 考虑的关键因素s刀。本文利用k-means算法根据 tance2Pre模型,利用GRU模型整合用户不同地理 兴趣点的位置信息对兴趣点进行聚类,得到合适 距离偏好,在此基础上进行下一个兴趣点预测, 的区域分块,使得每个兴趣点被分配一个其对应 提出了线性和非线性两种方式整合用户距离偏好 区域的位置标签。在此基础上,构建一个卷积神 分数。不同于日常兴趣点推荐,下一个兴趣点推 经网络模型,用来捕获用户属性与兴趣点属性之 荐侧重于分析用户的历史移动序列轨迹,预测用 间的显式关联关系。最后,将用户与兴趣点之间 户下一时段可能访问的兴趣点
置信息,使得基于位置的社交网络 (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 期 孟祥福,等:用户−兴趣点耦合关系的兴趣点推荐方法 ·229·
·230· 智能系统学报 第16卷 第2类为远途旅行兴趣点推荐(remote POI re- 似性、兴趣点和兴趣点之间的相似性,进而使用 commendation)”。文献[l3]针对位置的情感属 内积作为交互函数进行推荐也会造成一定的排名 性,提出了一种兴趣点挖掘方法,首先使用Senti- 误差。解决该问题的方法之一是使用大量的潜在 ment-based POI Mining(基于情感的兴趣点挖 因子,然而这可能对模型的泛化能力产生不利影 掘)算法挖掘具有明显情感属性的兴趣点,然后 响,特别是在稀疏的数据集上容易产生数据过拟 使用Sentiment-based POI Recommendation(基于情 合问题。深度学习在图形图像处理、自然语言 感的兴趣点推荐)算法向用户推荐兴趣点。文献[14 处理]等领域取得突破,为推荐系统的研究带来 通过合并兴趣点可用性(兴趣点可能只在某个时 了新的机遇。但据我们所知,很多研究都是将深 间窗口内可用)的约束和不确定旅行时间(两个 度学习用于建模上下文信息,例如评论信息、 兴趣点之间的旅行时间不确定)的约束来缩减搜 类别信息等,并使用内积作为用户和兴趣点的交 索空间,为用户提供个性化的旅行推荐。远途旅 互函数。神经网络已经被证明有拟合任何连续函 行兴趣点推荐也会受地理因素和个人偏好的影 数的能力2,受文献[25]的启发,本文利用深度 响,但更倾向于考虑大众偏好。 神经网络从用户签到数据中学习用户和项目的交 第3类为日常兴趣点推荐(general POI recom- 互函数。 mendation),。文献[l6)通过利用用户和兴趣点 问题定义和解决方案 之间的位置相关性、社会相关性和类别相关性进 行兴趣点推荐。文献「3]指出地理位置上的朋 2.1问题定义 友、社交网络中的朋友以及在同一地点签到过的 定义1兴趣点集合。兴趣点是与地理位置 朋友对兴趣点的选择都具有影响。文献[1)提出 相关的地点,一个兴趣点集合用V={w,2,…,} 将用户-项目交互数据构建成二部图,使用图神 表示,V中的每个对象:由一个二元组(几,组成 经网络学习用户和项目的嵌入向量。在用户和项 其中yu表示兴趣点v,的位置信息,即va=(lat,lon), 目的嵌入向量中以嵌入传播的方式显式注入了协 lat:和lon,分别代表兴趣点的经度和纬度,yx是y 作信号。STAR-GCN8模型学习用户和项目的低 中的文本信息集合,k=[a,a2,…,a,其中 维嵌入向量再输入到网络中,为了预测冷启动问 a(i∈1,2,…,0)是文本信息中的一个关键字。 题中的节点嵌入向量,STAR-GCN屏蔽了部分用 定义2签到矩阵。签到矩阵由用户对兴趣 户和项目的嵌入向量,然后通过图编码一解码器 点的签到数据构成,如果用户数为m,兴趣点数 重构这些被屏蔽的嵌入向量,有效缓解了冷启动 为n,则签到矩阵为Rx”,如果用户i访问过兴趣 问题。文献[15]结合位置因素和时间因素构建了 点j,签到矩阵对应位置r(“∈Rm)为1,否则 用户的兴趣动态变化模型,以获得更加准确的兴 置0。签到矩阵中的每个元素都反映了用户和兴 趣点推荐效果。矩阵分解方法在兴趣点推荐中也 趣点之间的交互。 得到了广泛的应用,例如文献[19]整合了用户的 22解决方案 社交关系和位置信息到概率矩阵分解(probabilist-. 本文提出的模型主要分为以下3个阶段: ic matrix factorization)中。文献[2o]提出了基于加 1)兴趣点聚类。采用K-means算法,根据兴 权矩阵分解模型的兴趣点推荐方法。由于用户签 趣点的位置信息,对兴趣点进行聚类,使得位置 到行为存在空间聚合现象,该方法从二维核密度 相近的兴趣点被聚为一类。每类兴趣点有一个相 估计的角度,描述了空间聚合的影响并将其整合 应的类标签,用于兴趣点与用户的属性之间进行 到矩阵分解模型中。但需要指出的是,上述研 显式关联关系分析。 究B,152都使用潜在特征向量代表用户和兴趣点, 2)用户-兴趣点之间的耦合关系挖掘。通过 用户在兴趣点上的交互被建模为各自对应的潜在 卷积神经网络模型学习用户与兴趣点在属性上的 向量的内积。然而,使用简单的内积作为用户和 显式关联关系;使用另外一个神经网络模型,根 兴趣点的交互函数,并不能有效捕捉用户交互数 据用户对兴趣点的签到数据,学习用户与兴趣点 据的复杂结构(因为内积只是线性地结合了多个 之间的隐式关联关系;最后,将用户和兴趣点的 潜在特征的乘法),从而导致推荐效果不够理想。 显式和隐式关联关系集成到一起,表征用户一兴 矩阵分解将用户和兴趣点映射到同一潜在特征空 趣点之间的耦合关系。 间中,如果用户和兴趣点潜在向量的维数过小, 3)将2)中学习到的用户-兴趣点耦合关系输 无法在潜在特征空间中体现用户和用户之间的相 入到一个全连接网络中,进行兴趣点推荐
第 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 问题定义 V = {v1, v2,··· , vn} vi vi.λ vi vi.λ = (lati ,loni) lati loni vi.K vi vi.K = [a1,a2,··· ,ao] ai(i ∈ 1,2,··· ,o) 定义 1 兴趣点集合。兴趣点是与地理位置 相关的地点,一个兴趣点集合用 表示,V 中的每个对象 由一个二元组 (λ, K) 组成, 其中 表示兴趣点 的位置信息,即 , 和 分别代表兴趣点的经度和纬度, 是 中的文本信息集合, ,其中 是文本信息中的一个关键字。 定义 2 签到矩阵。签到矩阵由用户对兴趣 点的签到数据构成,如果用户数为 m,兴趣点数 为 n,则签到矩阵为 R m×n,如果用户 i 访问过兴趣 点 j,签到矩阵对应位置 rij(rij∈R m×n) 为 1,否则, 置 0。签到矩阵中的每个元素都反映了用户和兴 趣点之间的交互。 2.2 解决方案 本文提出的模型主要分为以下 3 个阶段: 1) 兴趣点聚类。采用 K-means 算法,根据兴 趣点的位置信息,对兴趣点进行聚类,使得位置 相近的兴趣点被聚为一类。每类兴趣点有一个相 应的类标签,用于兴趣点与用户的属性之间进行 显式关联关系分析。 2) 用户−兴趣点之间的耦合关系挖掘。通过 卷积神经网络模型学习用户与兴趣点在属性上的 显式关联关系;使用另外一个神经网络模型,根 据用户对兴趣点的签到数据,学习用户与兴趣点 之间的隐式关联关系;最后,将用户和兴趣点的 显式和隐式关联关系集成到一起,表征用户−兴 趣点之间的耦合关系。 3) 将 2) 中学习到的用户−兴趣点耦合关系输 入到一个全连接网络中,进行兴趣点推荐。 ·230· 智 能 系 统 学 报 第 16 卷
第2期 孟祥福,等:用户-兴趣点耦合关系的兴趣点推荐方法 ·231· 3兴趣点推荐模型 将转移到2)。 5)输出兴趣点聚类结果。 3.1基于K-means算法的兴趣点聚类 表1给出了兴趣点y、2、V3、v4、的位置信 基于K-means算法的兴趣点聚类的基本思想 息以及文本信息。假设需要将这5个兴趣点聚 是:首先,从兴趣点集合中随机选取k个兴趣点作 为3类,首先随机选取1、2、”作为聚类中心,通 为初始的聚类中心;然后,计算每个兴趣点与各 过计算得到",到v1、v2、v;的欧氏距离分别为 个聚类中心之间的距离,把每个兴趣点分配给距 17227.7813458、3553977.1449、13387365.1776m, 离它最近的聚类中心,聚类中心以及分配给它们 4到y、2、的欧氏距离分别为3385341.32216 的兴趣点就代表一个聚类,每个聚类的聚类中心 153131.43474、10085102.6055m,所以将1、 根据聚类中现有的兴趣点被重新计算;上述过程 聚为一类,2、4聚为一类,单独成为一类。然 将不断重复直到满足K-means聚类的终止条件。 后选取每个类的中心点为新的聚类中心,即 基于K-means算法的兴趣点聚类的处理过程 (33.42779653,-112.0469545)、(40.70560995, 如下: -80.79029485)、y5,计算得到y1到这3个新的聚 1)从兴趣点集合中随机选择k个兴趣点作为 类中心的距离为8611.09374163、3461882.26176、 初始聚类中心。 13370426.0996m,v2为3546225.50702、 2)计算剩余兴趣点到聚类中心的欧式距离 76593.7902972、9936164.7972m,为8616.70478923、 P,将最接近的兴趣点放入类别中,形成新的类,p 3477389.38685、13387365.1776m,4为3393095.48784 的计算方法为 76541.5024509、10085102.6055m,得到新的聚 p=Vlat-lat)》'+on,-lon)月 (1) 类,即、v聚为一类,2、y4聚为一类,单独成 其中,,a=(lat.lon)和ya=(lat,lon)是兴趣点数据 为一类,可以看出聚类没有发生变化,则聚类中心 集={y,y2,vn}中的两个兴趣点。 还为(33.42779653,-112.0469545)、(40.70560995, 3)取当前聚类中所有兴趣点经纬度的均值作 -80.79029485)、,由于聚类中心未发生变化,则 为新的中心点,更新距离聚类中心最近的兴趣点。 聚类过程终止。根据聚类情况,每个兴趣点都可 4)直到目标函数收敛或聚类中心不变,否则 以分配一个所属聚类的类标签。 表1兴趣点信息 Table 1 The information of POIs 兴趣点 地理信息 文本信息 (33.3306902,-111.9785992) City:Ahwatukee:State:AZ (40.2916853,-80.1048999) City:McMcrray;State:PA (33.5249025,-112.1153098) City:Phoenix;State:AZ V4 (41.1195346,-81.4756898) City:Cuyahoga Falls:State:OH Vs (48.7272000,9.14795000) City:Stuttgart:State:BW 3.2兴趣点推荐模型的构建 不同类型的用户/兴趣点的属性信息通常采用不 3.2.1用户-兴趣,点的显式关联关系评估 同的嵌入方式。 基于用户-兴趣点耦合关系的兴趣点推荐模 用户或兴趣点属性信息的嵌入方式如图1所 型由局部和全局的用户-兴趣点显式关联关系以 示。对于兴趣点,需要将其位置信息和文本信息 及用户-兴趣点隐式关联关系集成到一个全连接 进行集成嵌人,位置信息是基于K-means算法的 网络构成。 兴趣点聚类结果,兴趣点属于聚类结果中的哪一 用户的文本信息和兴趣点的位置信息、文本 类则该位置为1,其余位置为0。文本信息做同样 信息分别作为各自的属性信息,通过一个卷积神 处理,例如,对于表1中的兴趣点y1,使用3.1节 经网络模型学习用户-兴趣点的显式关联关系。 中的兴趣点聚类结果,结合表1中的文本信息, 首先,将用户和兴趣点的属性信息分别嵌入到向 则y1的嵌入向量为[1,0,0,1,0,0,0,0,1,0,0,01,此向量 量ue={ue1,uc2,…,4em}和ve={vel,Ve2,…,yen}中, 的前3维为地理信息的聚类结果;依据顺序嵌入 u(ve)是u(v)中的第i个元素。在实际应用中, 向量中的第一维为聚类结果中的第一类,第二维
3 兴趣点推荐模型 3.1 基于 K-means 算法的兴趣点聚类 基于 K-means 算法的兴趣点聚类的基本思想 是:首先,从兴趣点集合中随机选取 k 个兴趣点作 为初始的聚类中心;然后,计算每个兴趣点与各 个聚类中心之间的距离,把每个兴趣点分配给距 离它最近的聚类中心,聚类中心以及分配给它们 的兴趣点就代表一个聚类,每个聚类的聚类中心 根据聚类中现有的兴趣点被重新计算;上述过程 将不断重复直到满足 K-means 聚类的终止条件。 基于 K-means 算法的兴趣点聚类的处理过程 如下: 1) 从兴趣点集合中随机选择 k 个兴趣点作为 初始聚类中心。 ρ ρ 2) 计算剩余兴趣点到聚类中心的欧式距离 ,将最接近的兴趣点放入类别中,形成新的类, 的计算方法为 ρ = √( lati −latj )2 + ( loni −lonj )2 (1) 其中,vi.λ=(lati ,loni ) 和 vj.λ=(latj ,lonj ) 是兴趣点数据 集 V={v1 ,v2 ,…,vn}中的两个兴趣点。 3) 取当前聚类中所有兴趣点经纬度的均值作 为新的中心点,更新距离聚类中心最近的兴趣点。 4) 直到目标函数收敛或聚类中心不变,否则 将转移到 2)。 5) 输出兴趣点聚类结果。 表 1 给出了兴趣点 v1、v2、v3、v4、v5 的位置信 息以及文本信息。假设需要将这 5 个兴趣点聚 为 3 类,首先随机选取 v1、v2、v5 作为聚类中心,通 过计算得到 v 3 到 v 1、v 2、v 5 的欧氏距离分别为 17 227.781 345 8、3 553 977.144 9、13 387 365.177 6 m, v4 到 v1、v2、v5 的欧氏距离分别为 3 385 341.322 16、 153 131.434 74、10 085 102.605 5 m,所以将 v1、v3 聚为一类,v2、v4 聚为一类,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, v 2 为 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,得到新的聚 类,即 v1、v3 聚为一类,v2、v4 聚为一类,v5 单独成 为一类,可以看出聚类没有发生变化,则聚类中心 还为 (33.427 796 53,−112.046 954 5)、(40.705 609 95, −80.790 294 85)、v5,由于聚类中心未发生变化,则 聚类过程终止。根据聚类情况,每个兴趣点都可 以分配一个所属聚类的类标签。 表 1 兴趣点信息 Table 1 The information of POIs 兴趣点 地理信息 文本信息 v1 (33.330 6902,−111.978 5992) City:Ahwatukee;State:AZ v2 (40.291 6853,−80.104 8999) City:McMcrray;State:PA v3 (33.524 9025,−112.115 3098) City:Phoenix;State:AZ v4 (41.119 5346,−81.475 6898) City:Cuyahoga Falls;State:OH v5 (48.727200 0,9.147950 00) City:Stuttgart;State:BW 3.2 兴趣点推荐模型的构建 3.2.1 用户−兴趣点的显式关联关系评估 基于用户−兴趣点耦合关系的兴趣点推荐模 型由局部和全局的用户−兴趣点显式关联关系以 及用户−兴趣点隐式关联关系集成到一个全连接 网络构成。 用户的文本信息和兴趣点的位置信息、文本 信息分别作为各自的属性信息,通过一个卷积神 经网络模型学习用户−兴趣点的显式关联关系。 首先,将用户和兴趣点的属性信息分别嵌入到向 量 uc={uc 1 ,uc 2 ,…,uc m }和 vc={vc 1 ,vc 2 ,…,vc n }中 , 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 期 孟祥福,等:用户−兴趣点耦合关系的兴趣点推荐方法 ·231·
·232· 智能系统学报 第16卷 为聚类结果中的第2类,以此类推;由于文本信息 将嵌入向量p和q输入乘法层,乘法层进行 中State为4类,所以后4维分别为AZ、PA、OH、 p和q的乘积,乘法层的输出用线性交互向量r BW;嵌入向量中间的五维为文本信息中的City。 表示: 嵌入向量的每一维度根据顺序分别代表聚类结果 r=p⑧q=(P1q1,P2q2,…,Pk9k) (5) 中的第1类、第2类、第3类、Ahwatukee、McM- r捕获了用户和兴趣点之间的线性交互。然 crray、Phoenix、Cuyahoga Falls、Stuttgart、AZ、PA、 后,将向量r输入到一个多层的全连接神经网络 OH、BW,所以嵌入向量为[1,0,0,1,0,0,0,0,1,0,0,0]。 模型学习更加抽象的用户和兴趣点之间的非线性 同理,用户信息的嵌入向量也按此方法进行转换。 交互,这里将多层的全连接神经网络模型的每一 城市 州 层的输出4表示为 a;=ReLU(wia1+b:) (6) 01…010…0001 式中:w和b分别表示每一层的权重矩阵和偏差, a,表示用ReLU函数激活的每一层的输出结果。 地理信息 文本信息 基于用户-兴趣点耦合关系的兴趣点推荐模 图1兴趣点信息嵌入方式 型结合了基于卷积神经网络的局部和全局显式关 Fig.1 Embedding method of POI 联关系以及用户-兴趣点隐式关联关系。如图2 对于嵌入向量ue和,构造一个函数fa(u,) 所示,将其输入到一个全连接层中进行处理,以 来计算二者之间的关联关系,代表了u.和v之间 生成最终的用户-兴趣点耦合向量。模型的总输 的交互,其中日为∫的参数,可以得到一个用户- 出结果值由激活函数Sigmoid压缩为[0,1]区间。 兴趣点关联矩阵,关联矩阵中的每一个元素都代 表了相应的用户-兴趣点之间的关联关系。将关联 Sigmoid 矩阵输入到一个卷积神经网络来学习局部的用户 全连接层 兴趣点显式关联关系,得到局部的显式关联向量。 连接 卷积神经网络的模型由卷积层和池化层组 成,卷积层和池化层可以提取更深层次的特征, 其执行方式为: 用户一兴趣点耦合向量 多层感知机 ap pooling(g(w*xc+b)) (2) 式中:*为卷积算子;e为滤波器;b为w的偏置; 全局向量 局部向量 g为非线性激活函数;pooling为池化函数(例如, 入 用户一兴趣点交 互向量(相乘) 最大池化或者平均池化)。 池化层 嵌入向 嵌人向 在此基础上,将用户-兴趣点的关联矩阵展平 量(p) 卷积层 量(q) 成一个向量,作为一个全局的显式关联向量,并 耦合层 p: 9192 将其与局部的显式关联向量连接起来,进而综合 表征用户-兴趣点的显式关联关系。 嵌入 嵌人 3.2.2用户-兴趣点的隐式关联关系评估 向量 向量 签到矩阵中推断出的潜在因素可以解释为隐 用户信息 兴趣点信息 用户 兴趣点y 式的关联关系,用户可能通过潜在的因素衡量自 图2基于用户-兴趣点耦合关系的兴趣点推荐模型 己对兴趣点的喜爱程度。与文献[4)中的NuMF类 Fig.2 A POI recommendation model based on user-POI 似,将用户和兴趣点的潜在因素连接到一个全连 coupling relationships 接的神经网络模型中学习隐式的用户-兴趣点交 33模型的训练 互。用户-兴趣点隐式关联模型将用户标签和兴 为了学习模型参数,首先根据训练数据训练 趣点标签分别表示为one-hot向量u和'。受文 模型。步骤1中的类标签通过3.1节根据兴趣点 献[26]的启发,采用全连接层作为嵌入层来学习 的位置信息得到。训练算法中输入了batch size 低维向量,分别表示为“和v的p和4,嵌入过程为 的大小,所以步骤3中将训练集分成n个batch, P=WTu (3) 每batch size个数据组成一个batch。用户和兴趣 q=Wv (4) 点的属性信息嵌人向量W。和',中分别嵌入了用 权重矩阵Wn∈Rs心I和W,∈R完全连接在输 户的文本信息和兴趣点的位置信息、文本信息。 入层和嵌人层之间。 计算用户和兴趣点的嵌入向量q和p通过式
为聚类结果中的第 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]。 同理,用户信息的嵌入向量也按此方法进行转换。 0 1 ... 0 1 0 ... 0 0 0 ... 1 地理信息 文本信息 城市 州 图 1 兴趣点信息嵌入方式 Fig. 1 Embedding method of POI fΘ(uc , vc) Θ 对于嵌入向量 uc 和 vc,构造一个函数 来计算二者之间的关联关系,代表了 uc 和 vc 之间 的交互,其中 为 f 的参数,可以得到一个用户− 兴趣点关联矩阵,关联矩阵中的每一个元素都代 表了相应的用户−兴趣点之间的关联关系。将关联 矩阵输入到一个卷积神经网络来学习局部的用户 −兴趣点显式关联关系,得到局部的显式关联向量。 卷积神经网络的模型由卷积层和池化层组 成,卷积层和池化层可以提取更深层次的特征, 其执行方式为: ap = pooling(g(w∗ xc + b)) (2) 式中:∗ 为卷积算子; w 为滤波器;b 为 w 的偏置; g 为非线性激活函数;pooling 为池化函数 (例如, 最大池化或者平均池化)。 在此基础上,将用户−兴趣点的关联矩阵展平 成一个向量,作为一个全局的显式关联向量,并 将其与局部的显式关联向量连接起来,进而综合 表征用户−兴趣点的显式关联关系。 3.2.2 用户−兴趣点的隐式关联关系评估 签到矩阵中推断出的潜在因素可以解释为隐 式的关联关系,用户可能通过潜在的因素衡量自 己对兴趣点的喜爱程度。与文献 [4] 中的 NeuMF 类 似,将用户和兴趣点的潜在因素连接到一个全连 接的神经网络模型中学习隐式的用户−兴趣点交 互。用户−兴趣点隐式关联模型将用户标签和兴 趣点标签分别表示为 one-hot 向量 u 和 v。受文 献 [26] 的启发,采用全连接层作为嵌入层来学习 低维向量,分别表示为 u 和 v 的 p 和 q,嵌入过程为 p = WT u u (3) q = WT v v (4) Wu ∈ R k×|U | Wv ∈ R 权重矩阵 和 k×|V | 完全连接在输 入层和嵌入层之间。 将嵌入向量 p 和 q 输入乘法层,乘法层进行 p 和 q 的乘积,乘法层的输出用线性交互向量 r 表示: r = p⊗ q = (p1q1, p2q2,··· , pkqk) (5) r 捕获了用户和兴趣点之间的线性交互。然 后,将向量 r 输入到一个多层的全连接神经网络 模型学习更加抽象的用户和兴趣点之间的非线性 交互,这里将多层的全连接神经网络模型的每一 层的输出 ai 表示为 ai = ReLU(w T i ai−1 + bi) (6) 式中:w 和 b 分别表示每一层的权重矩阵和偏差, ai 表示用 ReLU 函数激活的每一层的输出结果。 基于用户−兴趣点耦合关系的兴趣点推荐模 型结合了基于卷积神经网络的局部和全局显式关 联关系以及用户−兴趣点隐式关联关系。如图 2 所示,将其输入到一个全连接层中进行处理,以 生成最终的用户−兴趣点耦合向量。模型的总输 出结果值由激活函数 Sigmoid 压缩为 [0,1] 区间。 Sigmoid 全连接层 连接 多层感知机 全局向量 局部向量 池化层 卷积层 耦合层 嵌入 向量 嵌入 向量 用户信息 兴趣点信息 p1 p2 ... pk q1 q2 qn ... 0 0 1 0 0 0 ... 0 0 0 1 0 0 ... 用户−兴趣点耦合向量 用户−兴趣点交 互向量(相乘) 嵌入向 量 (q) 嵌入向 量 (p) 用户 u 兴趣点 v 图 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。用户和兴趣 点的属性信息嵌入向量 uc 和 vc 中分别嵌入了用 户的文本信息和兴趣点的位置信息、文本信息。 计算用户和兴趣点的嵌入向 量 q 和 p 通 过 式 ·232· 智 能 系 统 学 报 第 16 卷