Page 42 - 《软件学报》2020年第12期
P. 42
3708 Journal of Software 软件学报 Vol.31, No.12, December 2020
量 w 和 w .根据定义 1 描述的构图方法,构建 POI-POI 图 G VV .
u
v
步骤 2. 根据定义 2 描述的构图方法,结合签到集中 POI 的地理位置信息,构建 POI-地区图 G VR .
步骤 3. 根据定义 3 描述的构图方法,结合签到集中的签到时间等信息,构建 POI-时间段图 G VT .
步骤 4. 根据公式(1)~公式(3)以及第 2.3 节中描述的联合嵌入学习方法,将 G VV ,G VR 和 G VT 嵌入到同一潜
在空间中,并通过学习得到 POI、地区和时间段在共享低维空间中的表述向量:,vr 和 t .
步骤 5. 根据公式(5)对目标用户 u 的偏好建模,得到目标用户 u 的偏好向量 u .
步骤 6. 依当前时间节点τ和用户当前所在位置 l,并结合公式(6)计算目标用户对每个 POI 的预测分数.
步骤 7. 根据预测分数生成推荐列表,并结合签到集中目标用户的签到记录,过滤掉用户曾访问过的
POI,得到最终的推荐列表.
3 实验结果与分析
首先介绍实验所用的数据集;然后给出评价指标以及对比方法;最后根据实验结果,给出相应的结果分析并
得出结论.
3.1 数据集介绍
Yelp 数据集是由美国点评网站 Yelp 公开的内部数据集,它包括了诸如英国的爱丁堡、德国的卡尔斯鲁厄、
加拿大的滑铁卢、美国的菲尼克斯等 10 个城市,约 366 000 个用户、61 000 个项目和 1.6 亿条签到的数据.每
条签到记录都包括了 5 个属性:用户 ID、项目 ID、经纬度、项目内容和签到时间.但在这个数据集中的签到时
间并没有具体到时分秒,而是以年月日的形式展现的,如 2018-3-17.我们将数据集中关于美国拉斯维加斯的数
据记录截取出来用于本次实验.
Foursquare 是当前最流行的基于位置的社交网络之一,其用户的活动范围包含了诸如东京、纽约和洛杉矶
等全球知名城市.与 Yelp 数据集不同的是,Fousquare 公开的数据集中,其每条签到记录的签到时间精确到了时
分秒.我们将数据集中关于洛杉矶的数据记录截取出来用于本次实验.
实验所使用的数据集中包含的具体数据见表 1.
Table 1 Content of the dataset
表 1 数据集的内容
数据集名称 Yelp Foursquare
用户数 21 718 31 540
项目数 12 920 22 412
签到数 617 538 273 703
签到日期范围 2008.1-2015.1 2009.4-2013.9
为了验证算法的准确性,我们将数据集拆分为训练集和测试集,划分方式为将每个用户的签到记录依照签
到时间排序,取签到记录时间较早的 80%作为训练集,其余的作为测试集.
3.2 评价指标
为了验证模型的推荐性能,本文采用精确率 Precision@N 和召回率 Recall@N 为评价指标来进行测试.各评
价指标的定义如下:
| D ∩ Top_ |N
Precision @ N = test (7)
N
| Top_ |
| D ∩ Top_ |N
Recall @ N = test (8)
| D test |
其中,|D test |表示测试集,|Top_N|表示为用户生成的大小为 N 的推荐列表.在后续的实验模块中,我们采用所有用
户的精确率均值和召回率均值来评价推荐模型的性能.