翁海瑞 林 穗 何立健
(廣東工業大學計算機學院 廣州 510006)
隨著電子設備和通信系統的發展,在線的信息源不斷的增長,互聯網的快速發展在給我們生活帶來便捷的同時也帶來了“信息過載”問題。為了解決“信息過載”問題,讓我們可以輕松獲取有價值的信息,推薦系統[1]在很多大型互聯網企業得到了廣泛應用,例如:購物(如亞馬遜)[2],音樂(如網易云音樂)和電影(如Netflix)[3]。相對于搜素引擎來說,推薦系統無需人工搜索就可以把信息推送給特定的客戶,一般通過計算用戶-項目的相似度來實現。在新聞領域,人們的閱讀習慣越來越碎片化。如何能有效地過濾信息,幫助用戶找到感興趣的文章給新聞研究者帶來了巨大的挑戰。
結合新聞文章屬性和用戶的興趣偏好進行匹配推薦是新聞推薦的常用方法[4~5]。通過興趣相似的用戶推薦新聞,可以很好地捕捉用戶潛在興趣[6]。當用戶沒有足夠的瀏覽記錄和用戶數量時,會導致用戶和項目的冷啟動問題。文獻[7]提出基于顯示語義分析感知的個性化推薦方法。研究者基于內容推薦和協同過濾推薦提出了混合推薦模型[8~9],文獻[10]對混合推薦模型進行了改進,在融合協同過濾推薦和基于內容推薦基礎上,使用了用戶模型的最近鄰算法。雖然國內外研究已經取得了一定的進展[11~18],但是個性化的新聞推薦[19~20]仍然是一個具有挑戰性的問題。首先,在許多新聞推薦系統中,基于用戶的個人歷史資料是片面的,沒有很好評估用戶對歷史新聞的偏好程度。另外,新聞與許多領域不同,隨著時間的推移,新聞文章的受歡迎程度和用戶興趣的時效性變化很快,傳統的推薦方法沒有考慮時間對用戶興趣變化的影響。
基于以上研究,本文提出了:
1)通過新聞關鍵字、新聞主題和命名實體來構建新聞文本模型和用戶興趣模型。
2)通過引入時間函數來調整短期用戶興趣和長期用戶興趣的權重。
以上兩者結合起來有助于我們對用戶實時興趣偏好更客觀、更全面地進行建模。
本文推薦系統框架由3個模塊組成:用戶模塊、新聞模塊和推薦算法模塊,如圖1所示。
1)用戶模塊:收集和處理用戶的基本注冊信息(地址,性別,年齡等);以及用戶的行為數據(訂閱,轉發,收藏等)。
2)新聞數據模塊:通過與新聞內容進行中文分詞和標注處理,可以實現關鍵詞,命名實體,主題抽取等功能。
3)推薦算法模塊:當前流行的三種推薦算法是基于內容推薦算法,基于協同過濾算法,混合推薦算法。本文框架使用基于內容推薦與時間函數相結合的算法。

圖1 新聞推薦系統框架
新聞文本模型構建主要從三個方面進行。首先,通過語義分析系統(NLPIR)對每一條新聞得到分詞結果,然后利用TF-IDF(term frequency-inverse document frequency)算法構建一個新聞關鍵詞的向量空間模型,提取新聞的命名實體。并且通過文檔主題生成模型(Latent Dirichlet Allocation,LDA)得到新聞的主題類別,新聞文本向量表示V n={F n,E n,G n}。其中,F n表示為新聞文本關鍵字向量,E n表示為新聞文本命名實體的向量,G n為新聞文本主題向量。
新聞文本關鍵字序列主要以向量空間模型表示,通過TF-IDF加權來對關鍵字的提取以及關鍵的權值計算。關鍵字向量可表示為

其中:f i表示新聞第i個關鍵字,wi為關鍵字對應的權值。
使用TF—IDF公式計算關鍵字的權值。公式如下:

其中:wid表示第i個關鍵字在文本d上的權重,tf id是第i個關鍵字在文本d上出現的頻率,N表示新聞文本的篇數,n k表示關鍵詞k的文本數量。
很多時候瀏覽者會傾向閱讀有命名實體(含人命、地名、時間)的文章,所以需要把命名實體也考慮到新聞文本模型構建中。通過漢語言處理包(Han Language Procession,HanLP)獲取新聞命名實體。命名實體向量為

其中:ei表示新聞第i個命名實體,wi為對應命名實體的權值。
讀者一般會對主題類別相似的新聞感興趣,所以需要我們進一步分析主題的類別,可以使用LDA作為語言模型來檢測潛在的主題,并對每條新聞的主題類別提取進行建模。新聞主題分布向量:

其中,g i表示新聞第i個主題,wi為對應主題的權值。
為了更好地了解讀者的閱讀偏好,在新聞文本模型基礎上構建用戶興趣模型是非常重要的。傳統的方法是通過跟蹤用戶閱讀的文章,通過關鍵字或者主題來構建用戶興趣模型,此類模型并不能很準確地獲取用戶的閱讀興趣。一方面,此方法容易出現過擬合現象,僅僅通過關鍵字來構建,不能在沒有相同關鍵字的情況下有效的推薦新聞。另外一方面,此方法不能突出命名實體的重要性,很多用戶對命名實體更感興趣。所以我們從三個不同但相關的方面來構建用戶興趣模型:新聞關鍵字、命名實體、新聞主題分布。用戶興趣模型表示為式(5),其中式(6),式(7)和式(8)分別為用戶訪問的歷史新聞關鍵字、命名實體和主題分布向量。

其中:f i表示過去訪問的新聞歷史的關鍵字,wi為該關鍵字相應的權值。

其中:e u表示過去訪問的新聞歷史的命名實體,wi表示相應的權值。

其中:gi表示過去訪問的新聞歷史的主題分布,wi表示為該主題相應的權值。
新聞推薦系統時隔一段時間會將歷史的新聞數據來更新語料庫,給定的t j時間段,新聞文本向量為V nt j={F nt j,E nt j,G nt j},用戶興趣表示為向量V ut j={F u t j,Eut j,Gut j},用戶對新聞的興趣度Ht j通過進行匹配度計算。

其中,系統參數α,β,λ是用來調節系統相似度的比例。
隨著時間的推移,人們的興趣也在改變。在電影,音樂領域,用戶的偏好在短時間內表現出輕微的差異,但在新聞領域,用戶興趣往往會隨著環境,心情和新聞的熱度變化。興趣的實時性要從用戶長期興趣和短期興趣兩方面結合考慮,因為用戶最近對新聞的瀏覽、評論和轉發反映了用戶最近的興趣點。本文定義一個時間單調遞減函數f(t)來描述隨著時間的推移用戶興趣向量權重的遞減。

其中,系數k主要用來調整陡峭情況。
所以,結合內容推薦和時間函數,得到目標函數,即用戶對新聞實時興趣度,可定義為H u:

其中,H t1,H t2,H tn分別為第1,第2,第n時間段的用戶對新聞的興趣度,f(t1),f(t2),f(t n)分別為第1,第2,第n時間段的時間函數,用來調整相應時間段用戶對新聞興趣度的權重。
本實驗的數據集主要從各大新聞門戶爬取的文章。主要包括5000個用戶在2017年6月期間瀏覽的54123條瀏覽記錄,共分為體育、財經、科技、游戲、汽車、娛樂等11大類。
為了從推薦性能角度對用戶的興趣進行評估。選用了準確率precision,召回率recall,F1-Measure作為評價指標。與傳統推薦算法進行了對比實驗和分析。
1)準確率:

式中,P N(U)推薦給用戶并被用戶瀏覽的新聞數目,U推薦給用戶的新聞總數目。
2)召回率:

式中,P N(U)表示推薦給用戶并被用戶瀏覽的新聞數目P(U)表示所有閱讀的新聞總數目。
3)為了綜合權衡這2個指標,引入新的指標F1-Measure。

6.3.1 用戶興趣模型影響因素
在以往的研究中,通常只是用新聞關鍵字,或者新聞主題來構建用戶模型,無法充分體現用戶興趣。本實驗通過采用新聞關鍵字,新聞主題,命名實體三個不同但相關的因素來構建用戶模型,多方面去分析模型的性能和推薦結果的影響。通過模型精確率、召回率和F1-Measure指標,圖2實驗結果表明,只有結合新聞關鍵字、新聞主題和命名實體三者的情況下,模型推薦效果最好。

圖2 不同的新聞特征組合的推薦指標比較
6.3.2 相似度計算中的參數
為了獲取最合適的參數α,β,λ我們單獨選取每個參數值進行測試,并且計算相應的F1-Measure的平均值。因為α+β+λ=1,取α,β值進行測試得出結果。如表(1)可以看出,當α=0.5,β=0.2,λ=0.3時,基于這三者的參數值進行實驗的效果最好。

表1 用戶興趣度計算的參數設置
6.3.3 時間函數的選擇
隨著時間的推移,用戶的興趣模型向量權重會遞減。本實驗主要對比實驗了邏輯函數、阻尼函數、指數函數三個時間函數。并且衰減系數k預先設置為0.4。如圖3可以得出,在準確率、召回率、F1-Measure指標上,指數函數都會優于其他兩種。

圖3 各時間函數性能對比
6.3.4 衰減系數的調整
用戶的瀏覽習慣和興趣會隨著時間而發生變化;采用了指數時間函數來表示,其中指數k表示變化的快慢。k值越小,意味用戶最近瀏覽的新聞數據對用戶興趣的影響越大。反之,k值越大,意味著最近瀏覽的新聞數據對用戶興趣的影響下降。本實驗分別對k取不同值得情況下來計算參數對推薦結果的影響,以準確率、回召率、F1-Measure為指標,如圖4所示。
當k=0,時間函數f(t)=1,表示不對用戶的歷史興趣權重進行處理。當k變大時;即提高短期興趣的權重,推薦效果也變好。當k趨近0.4時,三個指標為最高,效果最好。當k>0.4后,推薦效果下降。可見,引入時間函數對于用戶的長短期興趣進行加權處理,能夠顯著提高新聞推薦效果。

圖4 不同k的取值下推薦性能指標的對比
6.3.5 與其他方法的比較
為了驗證提出的算法具有更好的推薦性能,論文對基于用戶的協同過濾(UserCF)算法,基于加權動態興趣度WDDI模型進行了實驗,并且與基于內容和時間函數結合的新聞推薦算法實驗結果分別從pre0.6cision,recall,F1-Measure三個評價標準進行了對比分析。從如表2實驗結果可以看出:基于內容和時間函數結合的新聞推薦算法在precision、recall和F1-Measure提高了5.2%、3.9%、和8.4%。因而驗證了從新聞關鍵字,命名實體和主題進行建模,以及引入時間函數的正確性。

表2 各推薦算法實驗結果指標
本文對新聞個性化推薦系統算法進行了研究,提出了基于內容推薦和時間函數結合的新聞推薦算法。綜合了新聞關鍵字,新聞主題和命名實體三者來構建新聞模型和用戶興趣模型,進行匹配生成推薦列表。并且通過了時間函數對用戶歷史行為數據進行加權處理從而提取用戶實時興趣向量。在準確率、召回率等指標上,本文所提的方法均有優異的表現。