位置推荐受到了越来越多人的关注和喜爱[1]。这首先是因为现在飞机、高铁让长途的差旅成为常态,于是大家经常会到一个相对陌生的环境(事实上快速发展的城市让家乡都变得陌生),这个时候如果一个了解你喜好的人可以根据你的空闲时间推荐你感兴趣的地方(根据你原来大众点评的记录给你推荐附近的一家受人好评的日本料理,又或者为晚宴后的你安排两小时逛街),实在是贴心的服务。其次是因为移动互联网(智能手机)的普及,让这种推荐有了载体。
推荐系统研究中的很多思想和方法,例如协同过滤等,已经在位置推荐中获得了成功应用[2]。但是,位置推荐通常会面临两类困难。一是冷启动问题[3],就是如何为还没有任何“去过哪些地方签到”相关信息的新用户进行推荐。利用文本或者标签信息是常见的方法[4],我们注意到分享地点签到的社交媒体往往也有很多其他文本信息,而这些信息是可以用来解决冷启动问题的。第二就是在使用文本或者其他特征信息的时候,很多常见且好用的方法(例如LibFM[5]或SVDFeature[6]),都需要负样本——就是用户不喜欢的地方列表。但一般而言,哪怕是有了很多分享信息的用户,都不一定会专门指出哪些地方他/她不喜欢,最多就是不分享罢了。所以,一种办法是在所有没有去过的地方中随机抽样一些作为负样本,另一种办法是令所有没有去过的地方都是某种意义上的负样本,给一个比较低的“偏好值”。最近的实证显示后者可能精度更高[7],这可能是因为后面的方法不存在数据稀疏性的问题。当然,与此同时,如果没有选择好的算法,带来的时空复杂性也是可怕的。
我们最近尝试用融合的社交媒体文本信息来提高地点推荐的精度,特别是为新用户做更准确的推荐,解决冷启动问题[8][9]。我们爬取乐街旁265951用户在189850个地点的18653706个签到数据,因为大部分用户都会在新浪微博分享签到,所以我们可以打通这两个平台的用户信息,获得大量文本信息——其中每一个用户平均我们能够得到6700+单词(words)和5个标签(tags)——通过结巴切词和tf-idf过滤,我们最终保留了包含8000个单词的词汇表,在这个词汇表下面平均每个用户只有1500+单词。部分用户的性别、年龄等特征也可以获取。地点的一些特征,包括分类、描述等等也可以得到。
我们以用户-地点偏好矩阵、用户-特征矩阵、地点-特征矩阵作为输入,把每一个用户、地点和特征都映射到一个联合潜空间(joint latent space)中,因此任意两个对象在这个joint latent space中的点积就是他们之间的偏好值或者匹配程度——比如说一个人和一个地点分类特征(如酒店)的点积就表示这个人对酒店这类地点的喜好程度。我们用了一些手段(详见[9])保证关键的学习和优化算法复杂度随着数据规模与特征数量增加都是线性增加的。
这种方法不仅效率很高,而且在和若干通用或前沿算法(包括LibFM[5],GRMF[2],LightFM[10],GeoMF[7],IRenMF[11])进行比较时,算法的精确度都明显更优!
[1] Lian, D., Xie, X., Zhang, F., Yuan, N. J., Zhou, T., Rui, Y., & Data, B. (2015). Mining Location-based Social Networks: A Predictive Perspective. IEEE Data Eng. Bull., 38(2), 35-46.
[2] Zheng, V. W., Cao, B., Zheng, Y., Xie, X., & Yang, Q. (2010, July). Collaborative Filtering Meets Mobile Recommendation: A User-Centered Approach. In AAAI (Vol. 10, pp. 236-241).
[3] Lika, B., Kolomvatsos, K., & Hadjiefthymiades, S. (2014). Facing the cold start problem in recommender systems. Expert Systems with Applications, 41(4), 2065-2073.
[4] Zhang, Z. K., Liu, C., Zhang, Y. C., & Zhou, T. (2010). Solving the cold-start problem in recommender systems with social tags. EPL (Europhysics Letters), 92(2), 28002.
[5] Rendle, S. (2012). Factorization machines with libfm. ACM Transactions on Intelligent Systems and Technology (TIST), 3(3), 57.
[6] Chen, T., Zhang, W., Lu, Q., Chen, K., Zheng, Z., & Yu, Y. (2012). SVDFeature: a toolkit for feature-based collaborative filtering. Journal of Machine Learning Research, 13(Dec), 3619-3622.
[7] Lian, D., Zhao, C., Xie, X., Sun, G., Chen, E., & Rui, Y. (2014, August). GeoMF: joint geographical modeling and matrix factorization for point-of-interest recommendation. In Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining (pp. 831-840). ACM.
[8] Lian, D., Ge, Y., Zhang, F., Yuan, N. J., Xie, X., Zhou, T., & Rui, Y. (2015, November). Content-aware collaborative filtering for location recommendation based on human mobility data. In Data Mining (ICDM), 2015 IEEE International Conference on (pp. 261-270). IEEE.
[9] Lian, D., Ge, Y., Zhang, F., Yuan, N. J., Xie, X., Zhou, T., & Rui, Y. (2018). Scalable Content-Aware Collaborative Filtering for Location Recommendation. IEEE Transactions on Knowledge and Data Engineering, 30(6), 1122-1135.
[10] Kula, M. (2015). Metadata embeddings for user and item cold-start recommendations. arXiv preprint arXiv:1507.08439.
[11] Liu, Y., Wei, W., Sun, A., & Miao, C. (2014, November). Exploiting geographical neighborhood characteristics for location recommendation. In Proceedings of the 23rd ACM International Conference on Conference on Information and Knowledge Management (pp. 739-748). ACM.
全文免费下载: