李 琳,王 莉
(遼寧科技大學 計算機與軟件工程學院,遼寧 鞍山 114051)
信息技術的快速發(fā)展使信息快速傳播,如何更快、更好地獲取到對自己有價值的信息至關重要。當前,推薦系統(tǒng)作為處理這一問題最重要的方式之一,遍及各個領域。協(xié)同過濾推薦是當前使用頻率最高的推薦技術。新聞推薦與電影和音樂推薦等最大的差異是注重時效性。黃賢英等[1]在傳統(tǒng)協(xié)同過濾的基礎上提出了時間窗的概念,使興趣被及時捕獲。馮文杰等[2]通過協(xié)同過濾進行新聞推薦時,針對時效性提出改進,提高了推薦的準確性。Jiang等[3]提出一種即時算法和系統(tǒng)架構以滿足實時性要求。協(xié)同過濾方法目前尚未解決的問題冷啟動問題,新進入系統(tǒng)的用戶或者對新聞缺乏足夠點擊量的用戶,系統(tǒng)無法對其興趣進行推測,只有獲得足夠點擊量時,系統(tǒng)才可以向他們進行推薦,這個過程通常需要一定的時間[4]。與協(xié)同過濾相比,基于內容推薦可以緩解這一問題。韓東冉[5]改進了基于內容的推薦系統(tǒng),從多個方面對文本進行處理。Hamed 等[6]使用統(tǒng)計語言建??蚣荛_發(fā)了一個基于內容的過濾系統(tǒng)。盡管基于內容推薦可以緩解冷啟動問題,但是長期使用會產生信息繭房。將協(xié)同過濾與基于內容的推薦相融合,既可以保證多樣化又可以緩解冷啟動問題,廣泛應用在新聞相關的推薦領域[7]。畢曦文等[8]將多種方法進行融合,根據(jù)需求進行個性化推薦。Yan 等[9]根據(jù)用戶偏好提出一種結合用戶偏好的協(xié)同過濾算法。本文提出一種基于融合偏好的新聞推薦算法。相對于傳統(tǒng)方式,改進后的方法權衡用戶瀏覽多樣化和個性化的需求,降低時間對興趣變化的影響。
基于內容的推薦常用于文本領域,尤其是新聞推薦。通過文本的內容可以直接明了地發(fā)現(xiàn)用戶的偏好。此方法通過分析用戶已閱讀新聞的內容特征,用內容特征表示自身偏好,通過匹配內容特征相似的新聞進行推薦。該方法主要包括三個步驟:(1)提取新聞的內容特征,用內容特征表示新聞;(2)利用適合的方法,將已閱讀新聞的內容特征歸并,構建用戶偏好模型;(3)根據(jù)候選新聞的特征與用戶興趣特性的相似性推薦。
在新聞文本中,同一個特征詞在不同的新聞里重要程度存在差異,計算特征詞在向量空間中的權值可以體現(xiàn)這種差異。常用的權值計算方法是 TF-IDF(Term frequency-inverse document frequency)表示法,此外還有布爾表示法以及詞頻表示法。本文選擇TF-IDF表示法。由于新聞文本的長度存在差異,為權衡長、短文本之間詞項的權重,引入權重計算式
式中:wij為特征詞j在新聞i中的權重;f(i,j)是在新聞i中呈現(xiàn)特征詞j的次數(shù);maxOhters(i,j)是新聞i中呈現(xiàn)最頻繁的特征詞;N為所有新聞的數(shù)目;N(j)是存在特征詞j的新聞數(shù)目。
當所有特征詞在新聞中的權重計算完成后,定義新聞集D的權值矩陣DM
協(xié)同過濾算法是當前使用頻率最高的推薦技術。在新聞推薦領域,用戶量的變化比新聞的更新速度緩慢,所以,新聞推薦通常利用基于用戶的協(xié)同過濾。此方法以用戶間相似性為依據(jù),構建最近鄰,根據(jù)最近鄰的偏好預測目標用戶可能感興趣的新聞。該方法主要包括兩個步驟:(1)通過用戶的行為日志數(shù)據(jù),發(fā)現(xiàn)興趣一致的用戶,稱其為最近鄰;(2)計算目標用戶喜歡其最近鄰感興趣的新聞的可能性,推薦可能性高的新聞。
常用的相似度計算方式為余弦相似度
式中:S(u)和S(v)分別表示用戶u和v已產生瀏覽記錄的項目數(shù)目;sim(u,v)=1時說明兩個用戶的瀏覽記錄完全相同,計算的結果越接近1,說明兩個用戶間的瀏覽記錄相似程度越大,用戶間的相似度越大。
通過對特征值的權值計算,將所有用戶點擊過的新聞表示為特征詞對應的特征向量。權值矩陣DMu表示為
式中:wuij為特征詞j在用戶閱讀過的新聞i中的權重。
用戶興趣會隨時間而改變,所以目標用戶近期的行為數(shù)據(jù)對于該用戶將要發(fā)生的行為具有很強的影響力,而相隔時間較長的行為數(shù)據(jù)影響力相對較小。結合用戶點擊時間,定義時間影響因子為
式中;Du為用戶u閱讀的新聞集;duj為用戶u閱讀的新聞;tnow為當前時間;ti和tj為點擊新聞i和新聞j的時間。
如果一個用戶長期沒有瀏覽記錄,那么式(5)并不能很好地反映出用戶興趣變化的可能性。為了更好地反應用戶興趣隨時間的變化,提取目標用戶的最后一條瀏覽記錄的點擊時間tn,根據(jù)tn與當前時間tnow的時間間隔設定分區(qū)系數(shù),對時間因子改進。改進后的時間影響因子為
式中:ηi為時間影響因子;ηu為用戶分區(qū)系數(shù);tnow為設定當前時間;tn為用戶最后一條瀏覽記錄的點擊時間。
將用戶自身偏好模型定義為EMu,具體表示為EMu=(w1u1,w1u2,…,w1uj,…,w1uk),權值w1uj表示為
式中:Du為用戶u瀏覽過的新聞集;dui為用戶瀏覽過的新聞i;wuij為特征詞j在用戶閱讀過的新聞i中的權重;DMu為用戶自身偏好權值矩陣;μui為改進后的時間影響因子。
2.2.1 混合相似度 在傳統(tǒng)協(xié)同過濾中,只通過點擊行為判斷用戶是否存在相同興趣。但是在新聞推薦中,由于新聞報道的多樣性,在尋找最近鄰時,只通過點擊行為判斷,會錯過因為點擊不同新聞關注的卻是同一事件的用戶。針對這一問題,提出了基于內容與行為的混合相似度,將用戶相似度分為行為相似度和內容相似度兩個部分。
時間是新聞推薦必須考慮的因素,用戶產生行為的時刻距當前時刻越遠,用戶行為對推測的作用越有限。時間衰減有很多表現(xiàn)形式,定義時間衰減項為
式中:α為時間衰減因子;tuj和tvj代表用戶u和v閱讀同一篇新聞j的時刻;代表用戶u和v對新聞j產生操作的時間差越小,則其受時間影響越小,從而u和v的相似度越大,反之則越小。
行為相似度一般使用余弦相似度計算?,F(xiàn)實應用中,熱點事件會對用戶興趣的評估造成影響,余弦相似度無法體現(xiàn)新聞熱度對用戶行為相似度的影響。為表示兩個用戶同時閱讀不同熱度新聞的相似度差異,定義熱門懲罰因子為
式中:N(j)為瀏覽過新聞j的用戶集。
根據(jù)新聞推薦的特性,對式(3)進行了改進,同時考慮熱度和時間對相似度的影響。改進后的行為相似度表示為
式中:D(u)和D(v)分別為用戶u和用戶v的閱讀新聞集;m為調節(jié)因子,m值越大,時間影響的程度越大,新聞熱度影響的程度越小。
通過用戶的自身偏好模型計算用戶間的內容相似度。用戶u的自身偏好模型為EMu,用戶v的自身偏好模型為EMv,用戶間的內容相似度表示為
結合式(11)和式(12),混合相似度表示為
其中:β為加權因子,β∈[0,1];β=0 時,僅考慮內容特征;β=1時,僅考慮行為特征。
2.2.2 用戶潛在偏好矩陣 利用混合相似度找到最近鄰,預測用戶對特征詞的興趣,得到目標用戶的潛在偏好模型。將用戶的潛在偏好模型定義為PMu,PMu=(w2u1,w2u2,…,w2uj,…,w2uk) ,權 值w2uj表示為
式中:N(u)為用戶u的最近鄰;sim(u,v)為用戶u與其最近鄰的相似度。
推薦算法的目標是最大化用戶對個性化和多樣性的需求。新聞推薦系統(tǒng)通常利用混合推薦在個性化與多樣性之間進行權衡,但是傳統(tǒng)的加權混合算法過于粗糙,所以,選取max()函數(shù)作為融合函數(shù)。根據(jù)用戶自身偏好模型EMu和潛在偏好模型PMu,將兩個模型中權值較大的特征作為用戶最終興趣特征,將用戶的融合偏好模型定義為
其中,w3uj表示為
通過融合后的偏好模型,計算用戶之間的相似度,選擇相似度最大的K用戶作為目標用戶的最近鄰,根據(jù)最近鄰的閱讀行為對候選新聞的偏好程度進行預測,將偏好程度最大的N條新聞推薦給目標用戶。偏好程度預測表達式為
式中:N(u)為用戶u的最近鄰集合;v為用戶的最近鄰;sim(u,v)為用戶u與最近鄰用戶v的相似度;rvi反映用戶的點擊行為,倘若用戶v對新聞i存在瀏覽記錄,則rvi=1,反之rvi=0。
使用DataCastle提供的用戶日志數(shù)據(jù)集,該數(shù)據(jù)集從財新網隨機選取10 000 名用戶在2014年3月的全部新聞瀏覽日志,包括用戶編號、新聞編號、用戶點擊時間、新聞發(fā)布時間和新聞內容。選取數(shù)據(jù)集中瀏覽新聞數(shù)目多于40條的用戶數(shù)據(jù)進行測試,將每個用戶瀏覽日志中最后25 條數(shù)據(jù)作為本次實驗的測試集,其余數(shù)據(jù)作為訓練集。
選擇平均絕對誤差指標(Mean absolute error,MAE)、推薦準確率(Precision)、推薦召回率(Recall)與推薦多樣性(Diversity)作為實驗的評價指標。將基于內容的推薦算法(Content-Based,CB)、協(xié)同過濾推薦算法(Collaborative filtering,CF)與本文提出的融合偏好算法(Mixed preference,MP)所得到的評價指標結果進行比較,評判算法性能。
MAE根據(jù)用戶真實的喜好程度和系統(tǒng)給出的用戶u對新聞i的偏好程度的差值判斷推薦質量。MAE的表達式為
MAE值越小,推薦質量越高,反之亦然。
系統(tǒng)推薦準確率的定義是用戶喜歡系統(tǒng)所推薦的項目的可能性。召回率定義為用戶真實喜歡的項目被系統(tǒng)推薦的可能性。表達式分別為
式中:R(u)是系統(tǒng)給出的推薦列表;T(u)是用戶在測試集中有過記錄的項目集合。
當系統(tǒng)為用戶推薦時,僅僅準確率高并不能代表結果對用戶是有意義的。推薦系統(tǒng)應當幫助用戶發(fā)現(xiàn)那些很難主動找到但是感興趣的潛在項目。所以推薦結果的多樣性越來越受到重視。
設sim(i,j)表示新聞i和j的余弦相似度,U為全部用戶的集合。系統(tǒng)整體的多樣性表示為
(1)參數(shù)確定。存在三個未知參數(shù),即時間衰減因子α、調節(jié)因子m和混合相似度加權因子β。
參數(shù)測試結果如圖1所示。在m和β固定的情況下,α=0.3 時推薦的準確率達到峰值。在α和β固定的情況下,m=0.2 時推薦的準確率達到峰值。在α=0.3,m=0.2的情況下,β=0.6時推薦的準確率達到峰值。
經過實驗對比分析,最終取α=0.3,m=0.2,β=0.6。
(2)平均絕對誤差指標。MAE對比結果如圖2所示。MP的MAE值小于兩種傳統(tǒng)推薦算法,最大提高了9.13%。說明MP 得到的結果差異值最小,質量最高。
(3)推薦準確率。Precision對比結果如圖3所示。推薦的新聞數(shù)目越多,結果的準確性越低。MP與CB和CF相比,推薦準確性有所提高。相對于CB準確率最大提高了6.94%,相對于CF算法最大提高了9.80%。
(4)推薦召回率。Recall 對比結果如圖4 所示。推薦的新聞數(shù)目越多,召回率越高。MP 與CB和CF相比,召回率有所提高。相對于CB召回率最大提高了7.39%,相對于CF 最大提高了10.12%。
(5)推薦多樣性。圖5 展示了Diversity 對比結果。MP 的多樣性始終高于CB 和CF。相對于CB多樣性最大提高了3.44%,相對于CF最大提高了1.35%。盡管相對于CF提高較小,但是MP緩解了冷啟動問題,實際推薦性能優(yōu)于CF。
本文提出一種基于融合偏好的新聞推薦算法。首先在構造用戶自身偏好模型時引入時間因子并進行改進,降低時間對興趣變化的影響。其次,針對協(xié)同過濾算法在進行新聞推薦過程中,由于新聞報道的多樣性,相似用戶歸類不準確的問題,提出一種混合相似度計算方法,更準確地尋找相似用戶,在計算行為相似度時考慮時間變化和新聞熱度對用戶興趣變化的影響,對行為相似度進行改進,構建潛在偏好模型。最后將用戶自身偏好與潛在偏好進行融合,根據(jù)融合模型進行新聞推薦。實驗表明,提出的算法在平均絕對誤差指標、推薦準確率、推薦召回率以及推薦多樣性方面相對于傳統(tǒng)推薦算法都取得了更好的效果,說明了所提出算法的有效性。