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