邢長征,
(遼寧工程技術大學 電子與信息工程學院,遼寧 葫蘆島 125105)
推薦系統根據用戶的喜好(興趣和目標)來確定用戶感興趣的潛在項目[1]。大部分的推薦系統都是根據單一領域中的用戶和項目歷史數據來進行推薦的,例如Netflix、Last.fm、Barnes & Noble網站對電影、音樂以及書籍的推薦,但由于用戶不僅僅對單一領域的事物感興趣,因此單領域推薦已經不能準確地預測用戶的興趣。針對單領域推薦模型在數據稀疏和冷啟動情況下推薦效果較差的問題,大型電子商務網站Amazon和eBay通過多個領域來獲取用戶的反饋信息,從而產生了跨域推薦系統??珙I域推薦系統中的跨域推薦模型[2]是利用不同源數據域來對目標數據域[3-4]信息進行預測的?,F如今各大網站利用標簽信息來體現用戶喜好和項目特征,而用戶在給不同領域(如電影、音樂、書籍等領域)的項目添加標簽時,可以使用通用詞匯作為標簽[5]。因此,標簽可以作為連接不同領域的橋梁并且用來克服基于內容推薦時特征信息復雜性和不均勻性的不足[6-7]。目前,將跨域推薦模型融入標簽因素來進行評分預測時,仍存在以下問題:UserItemTags模型[8]當用戶沒有給特定項目添加標簽時預測誤差變大,ItemRelTags[8]只是加入了項目的標簽信息,并沒有考慮用戶標簽信息,導致無法利用用戶過去選擇的標簽來預測用戶的喜好。
為提高預測準確度,本文構建一個新的跨域推薦模型。在使用SVD++模型評分數據預測的基礎上,添加用戶和項目歷史標簽信息,并利用標簽使用次數、熱門標簽和項目的懲罰系數刻畫并預測用戶喜好。
1.1.1 隱因式分解模型
隱因式分解模型(Latent Factor Model,LFM)是推薦系統領域的熱點研究話題之一,其核心思想是通過隱含特征聯系用戶興趣和物品[9]。具體過程分為3個部分:將物品映射到隱含分類,確定用戶對隱含分類的興趣,選擇用戶感興趣的分類中的物品推薦給用戶[10]。LFM通過式(1)計算用戶u對物品i的興趣:
(1)
其中,pu,k和qi,k是模型的參數,pu,k代表用戶u的興趣是第k個隱類的權重,qi,k代表第k個隱類屬于物品i的權重,K是隱類的個數。兩者的乘積再對k積分就得到用戶u對商品i的偏好程度。
將式(1)表示為向量乘積的形式,即為:
(2)
考慮到在真實的模型中,每個用戶評分的基準線不同,每個商品得到評分的基準線也不同,引入參數μ表示訓練集中所有記錄的評分的全局平均數;引入參數bu,即用戶偏置項,這一項表示用戶的評分習慣中和物品沒有關系的那種因素;引入參數bi,即物品偏置項,表示物品接受的評分中和用戶沒有什么關系的因素。因此,式(2)變為以下形式:
(3)
1.1.2 SVD++模型
LFM模型中并沒有顯式地考慮用戶的歷史行為對用戶評分預測的影響,為此Koren在Netflix Prize比賽中構建一個模型,將用戶歷史評分的物品加入到LFM模型中。該模型被稱為SVD++[10-12],具體如下:
將基于項目的協同過濾算法(ItemCF)[13]的預測計算式改為:
(4)
(5)
將前面的隱因式分解模型(LFM)和上面的模型相加,從而得到:
(6)
文獻[10]提出為了不避免太多參數造成過擬合,可以令x=q,從而得到最終的SVD++模型,用式(7)表示SVD++模型:
(7)
用戶使用社交標簽對信息進行分類[14],可自由組織、管理和搜索所需的資源。這種易使用性使標簽成為信息分類與索引的重要方式,既能反映出用戶的興趣愛好,又能體現資源特征,并且對稀疏數據和新資源推薦質量的提升有所幫助。在跨域推薦過程中,在其中一個領域中使用的標簽,完全可以被重新用于另一個領域[15]。因此,可以在跨域推薦模型中利用標簽信息作為連接不同領域的橋梁。
1.2.1 UserItemTags模型
UserItemTags[8]模型是一個通過標簽體現用戶興趣偏好和資源特征信息的模型,在預測評分時利用了目標用戶使用過的標簽。使用此模型時假設用戶沒有對項目進行評分而只是添加了標簽,然后利用這些標簽來更好地預測用戶對項目的評分。運用此模型進行推薦的一個經典案例是Delicious的社交書簽網站,用戶可以標記書簽,但可以不對項目進行評分[8]。UserItemTags使用下式預測評分:
(8)
其中,Tu表示用戶u給項目i添加的標簽集合。
UserItemTags模型缺點為:當項目沒有被用戶添加標簽時推薦預測性能會大幅度降低。
1.2.2 ItemRelTags模型
ItemRelTags[8]模型中沒有涉及目標用戶對目標項目添加的標簽,而是使用了任意用戶對目標項目添加的所有標簽,這樣就可以克服UserItemTags的局限性:目標用戶在沒有對某一項目添加標簽的情況下無法進行評分預測。事實上,ItemRelTags模型只需要所有用戶對項目i添加有關標簽集合TR(i)。這里評估標簽的相關性使用Wilcoxon秩和檢驗方法來決定每個標簽的去留[8]。此外,假設標簽對于任何用戶都具有相同影響。由于在模型中用戶給目標項目添加相關標簽,因此相同的標記會出現多次。如果一個項目被添加同一個標簽很多次,這就說明這個標簽可以很好地反映此項目的特征。因此,該模型添加了標簽的使用頻率nt。ItemRelTags模型的計算式如下:
(9)
其中,TR(i)是整個標簽集合中和項目i有關的標簽,nt是用戶給項目i添加標簽t的次數。該模型的優點是即使是沒有對項目做任何標簽的新用戶也可以為其做出評分預測。但其只是考慮特定項目的歷史標簽并沒有考慮目標用戶的歷史標簽,在這種情況下,可以通過用戶在過去選擇的標簽來豐富用戶的喜好。
上文介紹的隱因式分解和SVD++模型雖然在推薦領域中流行度較高,但只能在單一領域中進行推薦,這樣就會在冷啟動情況下出現推薦準確度下降的問題。根據用戶不只對單一領域感興趣的現狀,本文構建跨域推薦模型,用不同領域共有的標簽信息作為連接不同領域的紐帶,在多個領域信息中進行推薦預測,提升了預測的性能[16]。目前跨域推薦模型存在的不足是:利用UserItemTags模型進行預測,用戶沒有為項目添加標簽時,模型預測效果沒有原始模型隱因式分解(LFM)模型預測精準;ItemRelTags模型并沒有考慮特定用戶的歷史標簽來豐富用戶的喜好。
本文構建基于SVD++改進標簽跨域推薦模型TagSVD++。該模型繼承了SVD++中利用評分信息間接表示用戶喜好和項目特征的特點,同時又加入了用戶以及項目的歷史標簽信息和標簽使用頻率,并通過熱門標簽懲罰系數來增強模型推薦效果的準確性和新穎性。
步驟1求相似的標簽。
針對新用戶或者新物品標簽集合中標簽數量較少的情況,需要對標簽集合進行擴展,標簽擴展的本質是對每個標簽找到和它相似的標簽,也就是計算標簽之間的相似度。首先通過式(10)余弦相似度公式計算標簽b和b′之間的相似度:
(10)
然后對標簽集合排序,參考文獻[17]中將排序結果中前20個標簽作為用戶相關的標簽。
步驟2構造模型。
本文模型構建過程如圖1所示。
圖1 模型構建過程
模型公式表示為:
(11)
步驟3損失函數計算。
類似于SVD++模型,需要求得式(11),通過用戶實際評分和預測評分之間損失函數的最小值來找到最合適的參數。
(12)
步驟4使用隨機梯度下降法[18]求損失函數最小值。
最小化上述的損失函數,利用隨機梯度下降模型來計算。該模型是最優化理論里最基礎的優化模
型,通過求參數的偏導數找到最速下降的方向,然后通過迭代法不斷地優化參數。根據隨機梯度下降法,需要將參數沿著最速下降方向向前推進,因此,得到如式(13)~式(16)所示的遞推公式。
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
利用遞推公式進行迭代直至值不再發生變化則迭代結束,從而利用隨機梯度下降法求得使損失函數最小的各個參數:學習速率α和正則化參數λ。表1列出了跨域模型對標簽信息的利用情況,其中√代表包括,×表示不包括。
表1 跨域模型比較
3.1.1 數據集
為了模擬跨域數據集,本文使用2個來自不同領域公開可下載的數據集:MovieLens數據集和LibraryThings數據集。2個數據集評分范圍均為1分~5分,每0.5分為一級,評分代表用戶的偏好程度。實驗數據集規模如表2所示,原始數據集的典型示例如表3和表4所示。
表2 實驗數據集規模
表3 MovieLens數據集典型示例
表4 LibraryThings原始數據集典型示例
3.1.2 標簽剪修
對標簽進行修剪:1)去除用戶對項目添加的表示情緒的標簽,比如“不好笑”,但是“不好笑”不能認為是用戶的興趣;2)去除詞頻很高的停止詞;3)去除因詞根不同造成的同義詞;4)去除因分隔符造成的同義詞。
評估模型模型時,首先將MovieLens作為源數據域,LibraryThings作為目標數據域,然后反之也是如此。將目標數據域平均分為沒有重疊的10份,在每一份數據中,10%的數據為測試集來評估方法的性能。剩下的90%數據做為訓練數據集,在訓練數據集中有20%的驗證數據集,用來尋找模型的最優參數,其中包括學習速率α、正則化參數λ和隱特征個數k。而訓練數據中剩下的80%數據結合源數據域來建立模型。為了測評目標數據域中用戶評分的稀疏程度對模型性能的影響,將訓練數據平均分為10份,依次取1份,2份,……,10份作為訓練數據來訓練模型以此來模擬用戶評分數據不同的稀疏程度[15]。因為數據集中整個評分系統是以0.5分為一等級建立的,所以采用平均絕對誤差(Mean Absolute Error,MAE)即來進行預測可以降低預測結果的誤差[15]。MAE采用絕對值計算預測誤差,其定義為:
(21)
各模型的平均最優參數如表5和表6所示。
表5 LibraryThings(源數據域)各模型平均最優參數
表6 MovieLens(源數據域)各模型平均最優參數
將LibraryThings數據集作為源數據集,將MovieLens數據集作為目標數據集,實驗結果如圖2所示??梢钥闯?LFM、SVD++單領域推薦模型的誤差遠遠大于跨領域的推薦模型,而在跨域推薦模型中TagSVD++模型的預測誤差都遠小于其他幾個模型,即使只有10%的評分數據(冷啟動)存在的情況下。隨著目標域評分量的增多平均絕對誤差也在不斷變小。
圖2 平均絕對誤差比較1
將MovieLens數據集作為源數據集,將LibraryThings數據集作為目標數據集,實驗結果如圖3所示。與前一種情況類似,跨域推薦模型推薦誤差遠遠小于單域推薦模型,而在跨域推薦模型中TagSVD++推薦準確度又遠遠高于另外4個模型。而由圖2和圖1可以看出,第2種情況下所有的模型的預測誤差都大于第1種情況,這是因為MovieLens數據域數據量大于LibraryThings數據域的數據量。因此,較少的訓練數據會導致預測精準度的下降。
圖3 平均絕對誤差比較2
經過20次重復試驗求得到的每組結果的標準差,如表7和表8所示??梢钥闯?TagSVD++在各個數據稀疏度下標準差都小于其他模型。這說明TagSVD++模型的預測結果不僅誤差較其他算法小,而且預測結果穩定,可以被用來很好地預測用戶的評分。
表7 LibraryThings(源數據域)各模型標準差
表8 MovieLens(源數據域)各模型標準差
目前利用標簽信息來連接2個不同領域已經成為一種可靠有效的方式,即使在冷啟動的情況下,本文建立的TagSVD++模型也能把源數據域中的信息更有效地傳遞給目標域。實驗結果表明,該模型利用標簽信息與用戶和項目的融合,可有效提高用戶興趣和項目特征的預測精度。下一步將在不同領域中存在相同標簽數量較少或者沒有的條件下連接2個領域,并研究不同領域中相同標簽存在語義差異的情況。
[1] ADOMAVICIUS G,TUZHILIN A.Toward the next generation of recommender systems:a survey of the state of-the-art and possible[J].IEEE Transactions on Knowledge and Data Engineering,2005,17(6):734-749.
[2] LI B.Cross-domain collaborative filtering:a brief survey[C]//Proceedings of IEEE International Conference on Tools with Artificial Intelligence.Washington D.C.,USA:IEEE Press,2011:1085-1086.
[3] GAO S,LUO H,CHEN D,et al.Cross-domain recom-mendation via cluster-level latent factor model[C]//Proceedings of European Conference on Machine Learning and Knowledge Discovery in Databases.Berlin,Germany:Springer,2013:161-176.
[4] LI B,YANG Q,XUE X.Can movies and books collaborate? cross-domain collaborative for sparsity reduction[C]//Proceedings of the 21st International Joint Conference on Artificial Intelligence.Berlin,Germany:Springer,2009:2052-2057.
[5] CREMONESI P,TRIPODI A,TURRIN R.Cross-domain recommender systems[C]//Proceedings of IEEE International Conference on Data Mining Workshops.Washington D.C.,USA:IEEE Press,2011:496-503.
[6] ENRICH M,BRAUNHOFER M,RICCI F.Cold-start management with cross-domain collaborative filtering and tags[C]//Proceedings of the 14th International Conference on E-commerce and Web Technologies.Berlin,Germany:Springer,2013:101-112.
[7] SHI Y,LARSON M,HANJALIC A.Tags as bridges between domains:improving recommendation with tag induced cross-domain collaborative filtering[C]//Proceedings of the 19th International Conference on User Modeling Adaption and Personalization.Berlin,Germany:Springer,2011:305-316.
[8] ENRICH M,BRAUNHOFER M,RICCI F.Cold-start management with cross-domain collaborative filtering and tags[M].Berlin,Germany:Springer,2014:36-37.
[9] FUNK S.Netflix update:try this at home[EB/OL].(2006-12-11).http://sifter.org/~simon/journal/20061211.html.
[10] KOREN Y,BELL R,VOLINSKY C.Matrix factorization techniques for recommender systems[J].IEEE Computer,2009,43(8):30-37.
[11] KOREN Y.Factorization meets the neighborhood :a multifaceted collaborative filtering model[C]//Proceedings of the 14th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.New York,USA:ACM Press,2008:426-434.
[12] KOREN Y,BELL R.Advances in collaborative filtering[M]//RICCI F,ROKACH L,SHAPIRA B.Recommender Systems Handbook.Berlin,Germany:Springer,2011:145-186.
[13] GREG L,BRENT S,JEREMY Y.Amazon.com recommenda-tions:item-to-item collaborative filtering[J].IEEE Internet Computing,2003,7(1):76-79.
[14] 張 斌,張 引,高克寧.融合關系與內容分析的社會標簽推薦[J].軟件學報,2012,23(3):476-488.
[15] CANTADOR F I.Cross-domain recommender systems:a survey of the state of the art[C]//Proceedings of the 2nd Spanish Conference on Information Retrieval.Washington D.C.,USA:IEEE Press,2012:187-198.
[16] SHI Y,LARSON M,HANJALIC A.Exploiting social tags for cross-domain collaborative filtering[C]//Proceedings of UMAP’11.Berlin,Germany:Springer,2011:2-18.
[17] 項 亮.推薦系統實踐[M].北京:人民郵電出版社,2012:108-109.
[18] WANG B B,WANG Y X.Some properties relating to stochastic gradient descent methods[J].Journal of Mathematics,2011,31(6):1041-1044.