文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.179020
中文引用格式: 魏琳東,黃永峰. 融合用戶屬性信息的冷啟動(dòng)推薦算法[J].電子技術(shù)應(yīng)用,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 引言
隨著互聯(lián)網(wǎng)內(nèi)容的迅速增多,信息過(guò)載(information overload)造成的效率損失問(wèn)題顯得日益嚴(yán)重——人們花費(fèi)了越來(lái)越多的成本瀏覽網(wǎng)頁(yè)、比較選項(xiàng)、刷新朋友圈,卻越來(lái)越難以找到自己需要的內(nèi)容。錯(cuò)誤的營(yíng)銷方式也使得這個(gè)問(wèn)題更加嚴(yán)重。由于無(wú)法精確定位用戶,部分商業(yè)公司為了搶占頭條、榜首,使用了刷榜、雇傭水軍等方式,這使得按熱度或者評(píng)分排序內(nèi)容的價(jià)值越來(lái)越低。用戶需要“私人訂制”的互聯(lián)網(wǎng)服務(wù),用戶的個(gè)性化需求需要被理解。為了滿足這樣的需求,提高用戶的使用體驗(yàn),增加商家的利益,20世紀(jì)90年代以來(lái),推薦系統(tǒng)(recommender system)的研究得到了越來(lái)越多的關(guān)注[1-3]。
按照依據(jù)的數(shù)據(jù)來(lái)源,推薦系統(tǒng)可以分成兩類:基于內(nèi)容的推薦(content-based recommender)和基于協(xié)同過(guò)濾的推薦(collaborative recommender)。
基于內(nèi)容的推薦[4-7],分析商品的文本、圖像、語(yǔ)音內(nèi)容,建立其相似性度量的方式,從而為用戶推薦與其檔案(user profile)匹配的商品。用戶的檔案根據(jù)用戶登記的信息和他消費(fèi)商品的歷史紀(jì)錄建立。這類推薦面臨兩個(gè)困難,一是內(nèi)容的分析技術(shù)會(huì)制約推薦的精確度,二是新推薦過(guò)度集中于用戶已經(jīng)消費(fèi)過(guò)的商品(overspecialization)[1]??傮w來(lái)看,基于內(nèi)容的推薦性能上不如基于協(xié)同過(guò)濾的推薦[7]。
基于協(xié)同過(guò)濾[8-12]的推薦,使用用戶對(duì)商品的評(píng)分歷史(也包括隱式的交互,如瀏覽、收藏歷史),尋找與目標(biāo)用戶有共同點(diǎn)的其他用戶,根據(jù)這些“相鄰”用戶的歷史選擇為目標(biāo)用戶推薦商品。最常見(jiàn)的協(xié)同過(guò)濾算法是KNN[13]。協(xié)同過(guò)濾最大的困難在于需要大量的用戶歷史數(shù)據(jù),對(duì)于新用戶而言,缺乏歷史數(shù)據(jù)使得系統(tǒng)難以計(jì)算他和其余用戶的相似性,難以定位用戶的興趣與需求,從而降低了為新用戶推薦的準(zhǔn)確性——這個(gè)問(wèn)題被稱作冷啟動(dòng)(cold start)問(wèn)題。
1 相關(guān)工作
協(xié)同過(guò)濾算法包括基于啟發(fā)式相似性度量的近鄰?fù)扑]算法(heuristic similarity based recommender)和使用社群信息訓(xùn)練模型的推薦算法(model based recommender)。使用模型的協(xié)同過(guò)濾包括有使用聚類模型[14-15]、使用遺傳算法[16]、使用概率模型[17]、使用限制玻爾茲曼機(jī)[18]和矩陣分解[19-23]的方法。在netflix prize的推薦系統(tǒng)比賽中,矩陣分解和限制波爾茲曼機(jī)的方法在評(píng)分預(yù)測(cè)準(zhǔn)確性上取得了良好的表現(xiàn)[24]。本文在利用歷史評(píng)分時(shí),也使用了矩陣分解的算法。
針對(duì)新用戶的冷啟動(dòng)問(wèn)題,一般考慮挖掘相關(guān)的其他信息(內(nèi)容、社交、人口統(tǒng)計(jì)信息等),搭建混合推薦系統(tǒng)。文獻(xiàn)[25]使用了跨層次關(guān)聯(lián)規(guī)則挖掘的算法,混入了內(nèi)容信息。文獻(xiàn)[26]使用了“代理用戶”,根據(jù)新用戶新商品的屬性信息打分。文獻(xiàn)[27]使用了尋找映射函數(shù),將用戶屬性信息映射到潛在因子空間的方法。文獻(xiàn)[28]通過(guò)在netflix數(shù)據(jù)上的實(shí)驗(yàn)分析展示了相對(duì)于附加元信息,少量的評(píng)分?jǐn)?shù)據(jù)對(duì)于推薦預(yù)測(cè)的精度幫助也是很大的。本文在實(shí)驗(yàn)中也發(fā)現(xiàn)了這個(gè)現(xiàn)象,因此,一個(gè)能有效兼顧新用戶場(chǎng)景和老用戶場(chǎng)景的算法非常重要。文獻(xiàn)[29]提出了將附加信息作為先驗(yàn)來(lái)協(xié)調(diào)新老用戶過(guò)渡的場(chǎng)景。本文提出了一種加權(quán)矩陣分解得到的潛在因子和機(jī)器學(xué)習(xí)得到的潛在因子算法,平滑了新用戶場(chǎng)景到老用戶場(chǎng)景的系統(tǒng)評(píng)分策略調(diào)整。
2 方法原理
在離線訓(xùn)練時(shí),首先使用用戶的歷史評(píng)分?jǐn)?shù)據(jù)做矩陣分解,分析用戶和商品的潛在語(yǔ)義,可以視作用戶的潛在興趣和商品的潛在用途。然后使用用戶的屬性數(shù)據(jù)(如性別、年齡、城市等)和上述提取的用戶潛在興趣訓(xùn)練神經(jīng)網(wǎng)絡(luò)。
在線給出推薦預(yù)測(cè)時(shí),使用上文訓(xùn)練好的神經(jīng)網(wǎng)絡(luò),將目標(biāo)用戶的屬性數(shù)據(jù)映射到用戶的潛在興趣向量(predicted preference vector,簡(jiǎn)寫為ppv)。而之前的離線訓(xùn)練環(huán)節(jié),已經(jīng)得到了用戶的另一個(gè)潛在興趣向量(matrix-factorization preference vector,簡(jiǎn)寫為mfpv)。推薦器然后融合ppv和mfpv,得到融合興趣向量(fused preference vector,簡(jiǎn)寫為fpv)。使用fpv和商品在潛在語(yǔ)義空間的向量索引,推薦系統(tǒng)給出用戶對(duì)商品的偏好評(píng)分預(yù)測(cè)。
2.1 潛在興趣要素分析
首先,對(duì)用戶-商品評(píng)分做矩陣分解,找到合適的興趣要素空間。
為了減少計(jì)算量,提高預(yù)測(cè)準(zhǔn)確度,式(1)并不對(duì)矩陣進(jìn)行填充,只在訓(xùn)練集已知得分上定義。
在式(4)的訓(xùn)練中,可以使用交換最小乘方法,也可以使用隨機(jī)梯度下降法。本文使用了后者,訓(xùn)練過(guò)程中,使用了自適應(yīng)的步長(zhǎng)調(diào)節(jié)。
2.2 使用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)用戶屬性到興趣空間的變換關(guān)系
部分有歷史評(píng)分記錄的用戶和商品,也有非評(píng)分?jǐn)?shù)據(jù)存在,例如用戶的年齡、性別、職業(yè)、居住地等。當(dāng)使用矩陣分解技術(shù),建立了用戶、商品的語(yǔ)義索引以后,可以使用機(jī)器學(xué)習(xí)算法,訓(xùn)練從非評(píng)分?jǐn)?shù)據(jù)到隱語(yǔ)義空間的映射。
首先,根據(jù)用戶屬性信息,建立可以描述用戶的特征向量。例如,在movie-lens的數(shù)據(jù)集里,除了評(píng)分文件以外,還有u.user文件,記錄了用戶的人口統(tǒng)計(jì)學(xué)信息,包括年齡、性別、職業(yè)和郵編(代表了用戶的地理位置)。格式如下所示:
user id∣age∣gender∣occupation∣zip code
其中,occupation一項(xiàng)總共有把21種職業(yè),把它們處理成one-hot型的向量。記總的特征向量為av(attribute vector)。
另一方面,對(duì)于已經(jīng)擁有評(píng)分記錄的用戶,已經(jīng)通過(guò)矩陣分解獲取了其在興趣要素空間中的向量表示mfpv。從而使用神經(jīng)網(wǎng)絡(luò)算法,學(xué)習(xí)av和mfpv的關(guān)系,如圖1所示。
本文采用了帶有一個(gè)隱藏層的前饋神經(jīng)網(wǎng)絡(luò),使用后向傳播(Back propagation)進(jìn)行網(wǎng)絡(luò)權(quán)重學(xué)習(xí)。對(duì)于新商品的情況,也可以類似地使用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)商品屬性到興趣語(yǔ)義空間的向量表達(dá)。
2.3 線上預(yù)測(cè)推薦
2.1節(jié)和2.2節(jié)是線下的訓(xùn)練環(huán)節(jié)。在線推薦時(shí),首先輸入用戶的屬性信息av∈Rk,經(jīng)過(guò)神經(jīng)網(wǎng)絡(luò)到ppv∈Rf+1。
另一方面,由矩陣分解預(yù)先得到用戶的mfpv∈Rf+1在融合mfpv和ppv的實(shí)驗(yàn)中,本文發(fā)現(xiàn)對(duì)于老用戶,屬性信息的參考價(jià)值不大。對(duì)于全新的用戶,需要依賴其屬性預(yù)判興趣情況。系統(tǒng)應(yīng)該根據(jù)用戶情況,自動(dòng)及平滑地調(diào)整mfpv和ppv的比重。為此,本文使用了式(6)、式(7)計(jì)算得到用戶的綜合興趣:
3 實(shí)驗(yàn)
3.1 實(shí)驗(yàn)數(shù)據(jù)集
原始數(shù)據(jù)集:MovieLens數(shù)據(jù)集是由美國(guó)Minnesota大學(xué)的GroupLens研究小組創(chuàng)建并維護(hù)的。其中包括943個(gè)用戶對(duì)1 682部電影的100 000條評(píng)分記錄。評(píng)分值是從1~5的整數(shù)值,分?jǐn)?shù)越高表示客戶對(duì)相應(yīng)電影的評(píng)價(jià)越高。這個(gè)數(shù)據(jù)集的用戶-電影對(duì)中,只有6.305%的項(xiàng)有評(píng)分,比較稀疏。此外,數(shù)據(jù)集還包括用戶的年齡、性別、職業(yè)、郵政編碼信息。
本文在movielens-100k的數(shù)據(jù)源上使用了如下兩個(gè)數(shù)據(jù)集。
實(shí)驗(yàn)數(shù)據(jù)集1(ua):對(duì)每位用戶隨機(jī)抽取10條評(píng)分作為測(cè)試集(ua.test),其余評(píng)分作為訓(xùn)練集(ua.base)。訓(xùn)練集共90 570條評(píng)分記錄,測(cè)試集共9 430條評(píng)分記錄。
實(shí)驗(yàn)數(shù)據(jù)集2(ucold):這組數(shù)據(jù)集是對(duì)原始數(shù)據(jù)集抽樣生成的,用來(lái)模擬新用戶的場(chǎng)景,總共有6個(gè)子數(shù)據(jù)集。具體抽樣方式如下:分別從943位用戶中隨機(jī)抽取100名用戶作為新用戶,新用戶隨機(jī)抽取0、1、2、4、8、16條歷史評(píng)分加入訓(xùn)練集,依次用來(lái)代表全新用戶到有部分歷史評(píng)分的用戶情況。訓(xùn)練集還包括其余843位老用戶的歷史評(píng)分。測(cè)試集是新用戶的其余評(píng)分。6個(gè)子數(shù)據(jù)集分別記為ut0、ut1、ut2、ut4、ut8、ut16。
3.2 實(shí)驗(yàn)評(píng)價(jià)指標(biāo)
文獻(xiàn)[30]將推薦系統(tǒng)的準(zhǔn)確性測(cè)量分為了三類,分別是預(yù)測(cè)準(zhǔn)確測(cè)量(如MAE、RMSE)、分類準(zhǔn)確測(cè)量(如ROC曲線)和排序準(zhǔn)確測(cè)量。由于本文主要考察冷啟動(dòng)情況下算法對(duì)于新用戶偏好的預(yù)測(cè)性能,而不是生成TOP-N列表的性能,所以選用了第一類預(yù)測(cè)準(zhǔn)確性測(cè)量標(biāo)準(zhǔn)。
分別是:
3.3 實(shí)驗(yàn)結(jié)果
3.3.1 算法在通常情況下的整體性能
在實(shí)驗(yàn)數(shù)據(jù)集1上,實(shí)驗(yàn)結(jié)果如表1。
其中,pearson-knn是采用pearson相關(guān)系數(shù)作為相似性度量,基于用戶(50個(gè)鄰居)的推薦評(píng)分預(yù)測(cè)方法;MF是采用simon funk提出的矩陣分解的方法(10個(gè)潛在因子);FP(fused preference)是本文提出的方法??梢?jiàn),在一般數(shù)據(jù)集上,F(xiàn)P和MF性能接近,優(yōu)于基于用戶的協(xié)同過(guò)濾的方法。
3.3.2 算法在冷啟動(dòng)情況下的性能
在實(shí)驗(yàn)數(shù)據(jù)集2的6個(gè)子數(shù)據(jù)集上,算法的性能如下:
(1)ut0(完全的冷啟動(dòng)):在測(cè)試集用戶沒(méi)有評(píng)分的情況下,由于相關(guān)系數(shù)至少要有兩個(gè)評(píng)分才能進(jìn)行計(jì)算,所以Pearson-knn不能給出有效結(jié)果,而MF也只有隨機(jī)的結(jié)果,此時(shí),F(xiàn)P的MAE為0.815,RMSE為1.001,可見(jiàn),F(xiàn)P仍能給出可以接受的推薦結(jié)果。
(2)ut1~ut16(不同程度的新用戶,見(jiàn)圖2、圖3):在用戶評(píng)分極少的情形下,F(xiàn)P的性能顯著優(yōu)于另外兩種算法;隨著用戶評(píng)分的增多,F(xiàn)P和simon的MF分解性能趨近。這表明,F(xiàn)P在適用于新用戶冷啟動(dòng)的同時(shí),能平穩(wěn)地過(guò)渡到老用戶暖啟動(dòng)的情形。
4 總結(jié)
本文提出了一種融合用戶屬性信息進(jìn)行推薦的算法,提高了新用戶情形下推薦預(yù)測(cè)的準(zhǔn)確性。這種融合其他信息的方式也可以應(yīng)用于有其他附加信息的場(chǎng)景(如商品的屬性信息)。由于模型的訓(xùn)練工作都是在線下進(jìn)行,線上推薦時(shí)的即時(shí)性能夠得到保證。在實(shí)驗(yàn)中發(fā)現(xiàn)用戶的歷史評(píng)分對(duì)于預(yù)測(cè)的準(zhǔn)確性作用很大,因此就算存在很少量的歷史評(píng)分,冷啟動(dòng)推薦算法也應(yīng)該把它們考慮在內(nèi),從而兼顧全新用戶和有使用歷史的用戶,做到平穩(wěn)過(guò)渡。
參考文獻(xiàn)
[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(xiàn),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,F(xiàn)ERNá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(xiàn),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(xiàn),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(xiàn),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,F(xiàn)OSTER 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(xiàn),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(xiàn),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(xiàn),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(xiàn),2006.
[27] GANTNER Z,DRUMOND L,F(xiàn)REUDENTHALER 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(xiàn),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.
作者信息:
魏琳東,黃永峰
(清華大學(xué) 電子工程系,北京100084)