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