《电子技术应用》

融合用户属性信息的冷启动推荐算法

2017年电子技术应用第10期 作者:魏琳东,黄永峰
2017/11/16 14:28:00

魏琳东,黄永峰

(清华大学 电子工程系,北京100084)


    摘  要: 协同过滤算法广泛应用于个性化推荐系统中。现有的基于社群相似性的协同过滤算法在新用户新商品的冷启动场景中难以使用,性能较差。对此,提出了一种基于矩阵分解和神经网络映射的冷启动推荐算法。首先,使用矩阵分解方法求出用户在潜在兴趣空间的向量表示;然后,训练神经网络学习从用户属性数据到潜在兴趣向量的映射关系;最后,融合用户的历史评分数据与属性数据各自生成的兴趣向量,给出平滑的推荐预测值。实验表明,当用户的评分记录很少时,预测性能有明显提升,融合用户的属性信息能较好地改善“冷启动”情况下推荐系统的性能。

    关键词: 推荐系统;矩阵分解;冷启动

    中图分类号: TP18

    文献标识码: A

    DOI:10.16157/j.issn.0258-7998.179020


    中文引用格式: 魏琳东,黄永峰. 融合用户属性信息的冷启动推荐算法[J].电子技术应用,2017,43(10):137-140,144.

    英文引用格式: Wei Lindong,Huang Yongfeng. Incorporating user attribute data in recommendation system[J].Application of Electronic Technique,2017,43(10):137-140,144.

0 引言

    随着互联网内容的迅速增多,信息过载(information overload)造成的效率损失问题显得日益严重——人们花费了越来越多的成本浏览网页、比较选项、刷新朋友圈,却越来越难以找到自己需要的内容。错误的营销方式也使得这个问题更加严重。由于无法精确定位用户,部分商业公司为了抢占头条、榜首,使用了刷榜、雇佣水军等方式,这使得按热度或者评分排序内容的价值越来越低。用户需要“私人订制”的互联网服务,用户的个性化需求需要被理解。为了满足这样的需求,提高用户的使用体验,增加商家的利益,20世纪90年代以来,推荐系统(recommender system)的研究得到了越来越多的关注[1-3]

    按照依据的数据来源,推荐系统可以分成两类:基于内容的推荐(content-based recommender)和基于协同过滤的推荐(collaborative recommender)。

    基于内容的推荐[4-7],分析商品的文本、图像、语音内容,建立其相似性度量的方式,从而为用户推荐与其档案(user profile)匹配的商品。用户的档案根据用户登记的信息和他消费商品的历史纪录建立。这类推荐面临两个困难,一是内容的分析技术会制约推荐的精确度,二是新推荐过度集中于用户已经消费过的商品(overspecialization)[1]。总体来看,基于内容的推荐性能上不如基于协同过滤的推荐[7]

    基于协同过滤[8-12]的推荐,使用用户对商品的评分历史(也包括隐式的交互,如浏览、收藏历史),寻找与目标用户有共同点的其他用户,根据这些“相邻”用户的历史选择为目标用户推荐商品。最常见的协同过滤算法是KNN[13]。协同过滤最大的困难在于需要大量的用户历史数据,对于新用户而言,缺乏历史数据使得系统难以计算他和其余用户的相似性,难以定位用户的兴趣与需求,从而降低了为新用户推荐的准确性——这个问题被称作冷启动(cold start)问题。

1 相关工作

    协同过滤算法包括基于启发式相似性度量的近邻推荐算法(heuristic similarity based recommender)和使用社群信息训练模型的推荐算法(model based recommender)。使用模型的协同过滤包括有使用聚类模型[14-15]、使用遗传算法[16]、使用概率模型[17]、使用限制玻尔兹曼机[18]和矩阵分解[19-23]的方法。在netflix prize的推荐系统比赛中,矩阵分解和限制波尔兹曼机的方法在评分预测准确性上取得了良好的表现[24]。本文在利用历史评分时,也使用了矩阵分解的算法。

    针对新用户的冷启动问题,一般考虑挖掘相关的其他信息(内容、社交、人口统计信息等),搭建混合推荐系统。文献[25]使用了跨层次关联规则挖掘的算法,混入了内容信息。文献[26]使用了“代理用户”,根据新用户新商品的属性信息打分。文献[27]使用了寻找映射函数,将用户属性信息映射到潜在因子空间的方法。文献[28]通过在netflix数据上的实验分析展示了相对于附加元信息,少量的评分数据对于推荐预测的精度帮助也是很大的。本文在实验中也发现了这个现象,因此,一个能有效兼顾新用户场景和老用户场景的算法非常重要。文献[29]提出了将附加信息作为先验来协调新老用户过渡的场景。本文提出了一种加权矩阵分解得到的潜在因子和机器学习得到的潜在因子算法,平滑了新用户场景到老用户场景的系统评分策略调整。

2 方法原理

    在离线训练时,首先使用用户的历史评分数据做矩阵分解,分析用户和商品的潜在语义,可以视作用户的潜在兴趣和商品的潜在用途。然后使用用户的属性数据(如性别、年龄、城市等)和上述提取的用户潜在兴趣训练神经网络。

    在线给出推荐预测时,使用上文训练好的神经网络,将目标用户的属性数据映射到用户的潜在兴趣向量(predicted preference vector,简写为ppv)。而之前的离线训练环节,已经得到了用户的另一个潜在兴趣向量(matrix-factorization preference vector,简写为mfpv)。推荐器然后融合ppv和mfpv,得到融合兴趣向量(fused preference vector,简写为fpv)。使用fpv和商品在潜在语义空间的向量索引,推荐系统给出用户对商品的偏好评分预测。

2.1 潜在兴趣要素分析

    首先,对用户-商品评分做矩阵分解,找到合适的兴趣要素空间。

jsj5-gs1-2.gif

    为了减少计算量,提高预测准确度,式(1)并不对矩阵进行填充,只在训练集已知得分上定义。

jsj5-gs3-5.gif

     在式(4)的训练中,可以使用交换最小乘方法,也可以使用随机梯度下降法。本文使用了后者,训练过程中,使用了自适应的步长调节。

2.2 使用神经网络学习用户属性到兴趣空间的变换关系

    部分有历史评分记录的用户和商品,也有非评分数据存在,例如用户的年龄、性别、职业、居住地等。当使用矩阵分解技术,建立了用户、商品的语义索引以后,可以使用机器学习算法,训练从非评分数据到隐语义空间的映射。

    首先,根据用户属性信息,建立可以描述用户的特征向量。例如,在movie-lens的数据集里,除了评分文件以外,还有u.user文件,记录了用户的人口统计学信息,包括年龄、性别、职业和邮编(代表了用户的地理位置)。格式如下所示:

    user id∣age∣gender∣occupation∣zip code

    其中,occupation一项总共有把21种职业,把它们处理成one-hot型的向量。记总的特征向量为av(attribute vector)。

    另一方面,对于已经拥有评分记录的用户,已经通过矩阵分解获取了其在兴趣要素空间中的向量表示mfpv。从而使用神经网络算法,学习av和mfpv的关系,如图1所示。

jsj5-t1.gif

    本文采用了带有一个隐藏层的前馈神经网络,使用后向传播(Back propagation)进行网络权重学习。对于新商品的情况,也可以类似地使用神经网络学习商品属性到兴趣语义空间的向量表达。

2.3 线上预测推荐

    2.1节和2.2节是线下的训练环节。在线推荐时,首先输入用户的属性信息av∈Rk,经过神经网络到ppv∈Rf+1

    另一方面,由矩阵分解预先得到用户的mfpv∈Rf+1在融合mfpv和ppv的实验中,本文发现对于老用户,属性信息的参考价值不大。对于全新的用户,需要依赖其属性预判兴趣情况。系统应该根据用户情况,自动及平滑地调整mfpv和ppv的比重。为此,本文使用了式(6)、式(7)计算得到用户的综合兴趣:

jsj5-gs6-8.gif

3 实验

3.1 实验数据集

    原始数据集:MovieLens数据集是由美国Minnesota大学的GroupLens研究小组创建并维护的。其中包括943个用户对1 682部电影的100 000条评分记录。评分值是从1~5的整数值,分数越高表示客户对相应电影的评价越高。这个数据集的用户-电影对中,只有6.305%的项有评分,比较稀疏。此外,数据集还包括用户的年龄、性别、职业、邮政编码信息。

    本文在movielens-100k的数据源上使用了如下两个数据集。

    实验数据集1(ua):对每位用户随机抽取10条评分作为测试集(ua.test),其余评分作为训练集(ua.base)。训练集共90 570条评分记录,测试集共9 430条评分记录。

    实验数据集2(ucold):这组数据集是对原始数据集抽样生成的,用来模拟新用户的场景,总共有6个子数据集。具体抽样方式如下:分别从943位用户中随机抽取100名用户作为新用户,新用户随机抽取0、1、2、4、8、16条历史评分加入训练集,依次用来代表全新用户到有部分历史评分的用户情况。训练集还包括其余843位老用户的历史评分。测试集是新用户的其余评分。6个子数据集分别记为ut0、ut1、ut2、ut4、ut8、ut16。

3.2 实验评价指标

    文献[30]将推荐系统的准确性测量分为了三类,分别是预测准确测量(如MAE、RMSE)、分类准确测量(如ROC曲线)和排序准确测量。由于本文主要考察冷启动情况下算法对于新用户偏好的预测性能,而不是生成TOP-N列表的性能,所以选用了第一类预测准确性测量标准。

    分别是:

     jsj5-gs9-10.gif

3.3 实验结果

3.3.1 算法在通常情况下的整体性能

    在实验数据集1上,实验结果如表1。

jsj5-b1.gif

    其中,pearson-knn是采用pearson相关系数作为相似性度量,基于用户(50个邻居)的推荐评分预测方法;MF是采用simon funk提出的矩阵分解的方法(10个潜在因子);FP(fused preference)是本文提出的方法。可见,在一般数据集上,FP和MF性能接近,优于基于用户的协同过滤的方法。

3.3.2 算法在冷启动情况下的性能

    在实验数据集2的6个子数据集上,算法的性能如下:

    (1)ut0(完全的冷启动):在测试集用户没有评分的情况下,由于相关系数至少要有两个评分才能进行计算,所以Pearson-knn不能给出有效结果,而MF也只有随机的结果,此时,FP的MAE为0.815,RMSE为1.001,可见,FP仍能给出可以接受的推荐结果。

    (2)ut1~ut16(不同程度的新用户,见图2、图3):在用户评分极少的情形下,FP的性能显著优于另外两种算法;随着用户评分的增多,FP和simon的MF分解性能趋近。这表明,FP在适用于新用户冷启动的同时,能平稳地过渡到老用户暖启动的情形。

jsj5-t2.gif

jsj5-t3.gif

4 总结

    本文提出了一种融合用户属性信息进行推荐的算法,提高了新用户情形下推荐预测的准确性。这种融合其他信息的方式也可以应用于有其他附加信息的场景(如商品的属性信息)。由于模型的训练工作都是在线下进行,线上推荐时的即时性能够得到保证。在实验中发现用户的历史评分对于预测的准确性作用很大,因此就算存在很少量的历史评分,冷启动推荐算法也应该把它们考虑在内,从而兼顾全新用户和有使用历史的用户,做到平稳过渡。

参考文献

[1] ADOMAVICIUS G,TUZHILIN A.Toward the next generation of recommender systems:a survey of the state-of-the-art and possible extensions[J].IEEE Transactions on Knowledge and Data Engineering,2005,17(6):734-749.

[2] GOLDBERG D E,NICHOLS D,OKI B M,et al.Using collaborative filtering to weave an information tapestry[J].Communications of The ACM,1992,35(12):61-70.

[3] RESNICK P,IACOVOU N,SUCHAK M,et al.GroupLens:an open architecture for collaborative filtering of netnews[C].Conference on Computer Supported Cooperative Work,1994:175-186.

[4] METEREN R V.Using content-based filtering for recommendation[Z].2000.

[5] MOONEY R J,ROY L.Content-based book recommending using learning for text categorization[C].Proceedings of the ACM Conference on Digital Libraries,F,2000.

[6] BARRAGáNS-MARTíNEZ A B,COSTA-MONTENEGRO E,BURGUILLO J C,et al.A hybrid content-based and item-based collaborative filtering approach to recommend TV programs enhanced with singular value decomposition[J].Information Sciences,2010,180(22):4290-4311.

[7] CAMPOS L M D,FERNáNDEZ-LUNA J M,HUETE J F,et al.Combining content-based and collaborative recommendations:A hybrid approach based on Bayesian networks[J].International Journal of Approximate Reasoning,2010,51(7):785-99.

[8] KONSTAN J A,MILLER B N,MALTZ D A,et al.GroupLens:applying collaborative filtering to Usenet news[J].Communications of The ACM,1997,40(3):77-87.

[9] CHEE S H S,HAN J,WANG K.RecTree:An Efficient Collaborative Filtering Method[C].2001,International Conference on Data Warehousing and Knowledge Discovery,2114:141-51.

[10] SARWAR B,KARYPIS G,KONSTAN J,et al.Item-based collaborative filtering recommendation algorithms[C].Proceedings of the International Conference on World Wide Web,F,2001.

[11] KOREN Y.Factorization meets the neighborhood:a multifaceted collaborative filtering model[C].Proceedings of the ACM SIGKDD International Conference on Knowledge Discovery and Data Mining,F,2008.

[12] SU X,KHOSHGOFTAAR T M.A survey of collaborative filtering techniques[J].Advances in Artificial Intelligence,2009(12):1-19.

[13] HERLOCKER J L,KONSTAN J A,BORCHERS A,et al.An algorithmic framework for performing collaborative filtering;proceedings of the SIGIR′99[C].Proceedings of the International ACM SIGIR Conference on Research and Development in Information Retrieval,August 15-19,1999,Berkeley,Ca,Usa,F,1999.

[14] ROH T H,OH K J,HAN I.The collaborative filtering recommendation based on SOM cluster-indexing CBR[J].Expert Systems with Applications,2003,25(3):413-423.

[15] UNGAR L H,FOSTER D P.Clustering methods for collab-orative filtering[C].Aaai Workshop on Recommendation Systems,1998.

[16] GAO L,LI C.Hybrid personalized recommended model based on genetic algorithm[C].Proceedings of the International Conference on Wireless Communications,NETWORKING and Mobile Computing,F,2008.

[17] HOFMANN T.Latent semantic models for collaborative filtering[J].ACM Transactions on Information Systems,2004,22(1):89-115.

[18] SALAKHUTDINOV R,MNIH A,HINTON G.Restricted Boltzmann machines for collaborative filtering[C].Proceedings of the International Conference on Machine Learning,F,2007.

[19] RENDLE S.Factorization machines[C].IEEE International Conference on Data Mining,2010:995-1000.

[20] KOREN Y,BELL R,VOLINSKY C.Matrix factorization techniques for recommender systems[J].Computer,2009,42(8):30-37.

[21] SARWAR B,KARYPIS G,KONSTAN J,et al.Application of dimensionality reduction in recommender systems[C].In Acm Webkdd Workshop,2000.

[22] SREBRO N,RENNIE J D M,JAAKKOLA T.Maximummargin matrix factorization[J].Advances in Neural Information Processing Systems,2004,37(2):1329-1336.

[23] ZHU F,HONEINE P,KALLAS M.Kernel nonnegative matrix factorization without the pre-image problem[C].Proceedings of the IEEE International Workshop on Machine Learning for Signal Processing,F,2014.

[24] BELL R M,KOREN Y.Lessons from the Netflix prize challenge[M].ACM,2007.

[25] LEUNG W K,CHAN C F,CHUNG F L.An empirical study of a cross-level association rule mining approach to cold-start recommendations[J].Knowledge-Based Systems,2008,21(7):515-529.

[26] PARK S T,PENNOCK D,MADANI O,et al.Naive filterbots for robust cold-start recommendations[C].Proceedings of the ACM SIGKDD International Conference on Knowledge Discovery and Data Mining,F,2006.

[27] GANTNER Z,DRUMOND L,FREUDENTHALER C,et al.Learning attribute-to-feature mappings for cold-start recommendations[C].Data Mining,2010:176-185.

[28] TIKK D.Recommending new movies:even a few ratings are more valuable than metadata[C].Proceedings of the ACM Conference on Recommender Systems,F,2009.

[29] ADAMS R P,DAHL G E,MURRAY I.Incorporating side information in probabilistic matrix factorization with Gaussian processes[J].Papeles De Población,2010,3(14):33-57.

[30] HERLOCKER J L,KONSTAN J A,TERVEEN L,et al.Evaluating collaborative filtering recommender systems[J].ACM Transactions on Information Systems,2004,22(1):5-53.

继续阅读>>