周 帥,都云程,張仰森
(1.北京信息科技大學 計算機學院,北京 100101;2.北京信息科技大學 智能信息處理研究所,北京 100101)
隨著互聯網和移動終端的快速發展,人們的新聞獲取來源逐漸從報紙、電視等傳統媒體轉向在線新聞平臺。但在線新聞平臺每天會產生大量文章,用戶很難從中找到自己感興趣的新聞信息。因此,個性化新聞推薦技術顯得尤為重要,既能緩解信息過載,又能提升用戶體驗[1]。應用個性化推薦技術的在線新聞平臺,如今日頭條、新浪、騰訊新聞等,已經成為大眾獲取新聞信息的首選。
個性化推薦技術在新聞平臺已得到廣泛應用,但目前仍面臨很大挑戰。首先,新聞文章具有高度的時間敏感性,更新迭代速度較快,使得基于ID等傳統推薦方法(如協同過濾算法)的有效性大大降低。其次,用戶在閱讀新聞時具有興趣多樣性,如何根據用戶多樣化的閱讀記錄準確把握用戶興趣,仍是亟待解決的一大難題。最后,用戶興趣是動態變化的,現有方法都是利用點擊行為對用戶長短期興趣進行判斷。然而,點擊行為是嘈雜的,不一定能準確表明用戶興趣。因此,想要為用戶提供精準的個性化推薦是具有挑戰性的。
該文主要對個性化新聞推薦算法進行分析總結。首先,介紹新聞推薦的基本架構,依據新聞推薦是否使用深度學習技術,將其分為傳統方法和深度學習方法,并分別對兩類方法的新聞建模和用戶興趣建模進行分析;然后,介紹個性化新聞推薦應用的數據集和評價方法;最后,給出未來可能的研究方向和發展趨勢。
目前,個性化新聞推薦技術已廣泛應用于諸多在線新聞網站中[2]。非個性化新聞推薦方法僅基于新聞熱度、編輯展示、地理信息等非個性化因素來推薦新聞文章。而個性化新聞推薦可以考慮到個人興趣,從而提供針對每個個體的新聞服務,更好地滿足用戶需求。
個性化新聞推薦的模型架構如圖1所示。推薦任務的核心問題是對用戶和新聞建模,系統對用戶興趣和新聞信息提取越準確,推薦的準確性就越高。

圖1 個性化新聞推薦模型架構
為方便用戶更好地理解,以下對文章中專業術語進行說明。
新聞建模:目的是分析新聞的內容和特征,將新聞的特征用數字化的信息表示出來,是新聞推薦的基礎[3]。
用戶興趣建模:旨在通過分析瀏覽記錄等各種因素了解用戶對新聞的興趣[4]。
實體:指一類對象,是具體的事物,如人名、地名等。
冷啟動問題:系統最初沒有大量新聞和用戶數據,在這種情況下系統如何能夠做到個性化推薦,是需要解決的冷啟動問題[5]。
個性化新聞推薦主要從新聞和用戶角度分別提取信息,為用戶推薦量身定做的新聞內容,以此提升用戶體驗、節省用戶時間。該文主要根據是否使用深度學習方法,把個性化新聞推薦分成兩類:(1)傳統的新聞推薦方法;(2)基于深度學習的新聞推薦方法。
傳統的新聞推薦方法和基于深度學習方法不同,深度學習方法可以自動提取用戶和新聞特征,而傳統新聞推薦方法往往通過手工設計構造特征。首先通過新聞建模和用戶建模兩部分來介紹傳統推薦方法。
2.1.1 新聞建模
早期的一些新聞推薦方法將新聞文章用協同過濾信號表示(如新聞id),與被推薦新聞內容無關。1994年,Resnick P等[6]首次提出GroupLens后,協同過濾便在學術界受到了廣泛關注。隨后在1997年Konstan等[7]提出利用協同過濾去整合候選新聞,為用戶做推薦。2007年,Abhinandan等[8]提出了Google news推薦系統的實現。上述方法雖然具有推薦個性化、自動化程度高等優點,但不足也很明顯。新聞的快速更新導致模型需要不斷重建,模型重建是一個既費時又費力的任務。且短時間內更新產生的大量新聞,使得每隔一段時間模型效果就會逐漸變差,導致推薦系統存在嚴重的冷啟動。由此可見,僅基于id的新聞建模是不符合新聞推薦發展趨勢的。
因此,許多方法都將新聞內容加入到了新聞建模中。Anatole Gershman等[9]用TF-IDF(詞頻-逆向文檔頻率)提取新聞特征來表示新聞內容,并加入了命名實體信息來共同建模新聞。Flavius Frasincar等[10]構建了一個基于語義的個性化新聞服務框架Hermes。Hermes利用本體進行知識表示,利用自然語言處理技術進行文本內容表示。Lei Li[11]提出一種可擴展的兩級個性化新聞推薦方法,該方法在進行新聞建模時加入了新聞內容、命名實體等信息。命名實體和關鍵字大量被推薦方法用于新聞建模中,其主要原因是新聞中的實體和關鍵字是新聞內容的高度濃縮,便于更準確對新聞進行建模。對于新聞內容特征的提取,在上述TF-IDF方法的基礎上,后續的研究者們又提出了CF-IDF、SF-IDF、SF-IDF+、Bing-CF-IDF+等方法。也有一些研究人員將新聞id和新聞內容結合進行混合建模,在一定程度上緩解了新聞推薦的冷啟動問題。
僅利用新聞內容進行推薦也存在明顯不足,如缺乏新穎性、無法推薦突發新聞等。因此,除了使用新聞內容和id外,研究人員加入額外信息來輔助新聞建模,如地理位置、流行度、最近度、天氣、點擊率。
2.1.2 用戶建模
早期的用戶建模和新聞建模類似,使用用戶id作為信號來表示用戶特征,如上文中GroupLens和Google news提到的方法均是基于id對用戶建模。然而,基于id進行用戶建模的方法存在很大問題。用戶點擊新聞通常只占新聞總量的很小一部分,造成用戶-新聞矩陣非常稀疏,不僅難以找到最近鄰用戶集,而且使相似度計算耗費巨大。
因此,大多數方法是利用用戶的歷史瀏覽記錄,對用戶興趣進行建模。如Liu J等[12]以谷歌新聞為平臺,研究開發個性化新聞推薦系統。對于登錄并明確啟用了Web歷史記錄的用戶,推薦系統會根據用戶過去的點擊行為建立用戶新聞興趣。且該系統開發了一種貝葉斯框架,用于從用戶瀏覽行為中預測用戶當前的新聞興趣。Florent Garcin等[13]提出將所有點擊新聞的LDA特征平均聚合成一個用戶向量來建模用戶。考慮到用戶興趣可能隨著時間變化具有多樣性,有些學者將用戶興趣分為了長期興趣和短期興趣。Adomavicius G等[14]通過文本聚類算法得到的聚類結果建模長期興趣,而短期興趣使用近期點擊記錄進行建模。然而,當用戶的新聞點擊行為較稀疏時,這些方法很難準確地建模用戶。因此,許多方法除了使用新聞的基本特性外,還加入了其他輔助因素。如Viana P等[15]除了通過瀏覽記錄分析用戶長短期興趣外,還加入了地理位置等因素。Kam Fung Yeung等[16]提出利用用戶年齡、性別、職業狀況和社會經濟等級幫助識別用戶對不同類別新聞的偏好。然而,位置和職業等信息涉及到用戶隱私,因此許多用戶可能不會提供準確的個人信息,導致不能準確把握用戶興趣。
基于深度學習的新聞推薦方法是將新聞推薦和深度學習技術相結合,利用深度學習技術提取新聞特征和用戶興趣特征[17]。為了便于用戶對每個子任務建模過程的了解,依然從新聞建模和用戶建模兩部分來分析基于深度學習的新聞推薦方法。
2.2.1 新聞建模
近年來,隨著深度學習技術的發展,許多方法都采用了神經網絡自動學習新聞表示。在深度學習應用到新聞推薦初期,一些新聞建模使用的是單種深度學習方法來提取新聞特征。如Okura等[18]使用改進的降噪自編碼器從新聞文本中學習新聞表示。Zhang L等[19]將經典的Kim CNN[20]算法應用到新聞的語義特征提取中,首次將卷積神經網絡(Convolutional Neural Networks,CNN)模型應用于文本特征提取。Wang X J等[21]同樣利用CNN提取新聞語義特征,并且使用的是字符級CNN,可以更好地捕獲不同語言特征。
為了提升新聞建模的準確性,一些研究人員將多種深度學習技術進行結合。Wu C H等[22]提出的NPA模型,先使用CNN學習每個單詞的局部上下文特征,也就是使用一個單詞和其前后n個單詞,通過卷積操作來共同學習這個單詞的表示。然后,使用單詞級別的注意力機制,為標題中的每個單詞設置一個權重,這些權重體現了用戶對每個單詞的關注度。最后,將所有單詞加權平均,得到最終的新聞表示。Wu C H等[23]提出的NAML模型在新聞建模方法上和NPA模型基本相同,但除了考慮新聞標題外,還加入了新聞分類和新聞內容。NAML使用注意力機制從新聞的每個不同的成分中學習權重,加權平均得到最終新聞表示。類似的還有An Mingxiao等[24]提出的LSTUR模型和Wu C H 等[1]提出的NRMS模型。上述文獻都使用了CNN,其原因是局部上下文特征對新聞內容的建模很重要,而CNN在捕捉局部上下文特征方面十分高效。但CNN的不足之處是不能捕捉長距離的上下文特征,所以NRMS中提出一種將自注意力機制[25]應用在新聞特征提取的方法,將CNN模型進行了替換,用多頭自注意力機制進行新聞特征提取。首先,用多頭注意力機制提取每個詞在句子中的特征,然后,使用加法注意力進行加權平均,得到新聞特征向量。雖然此方法考慮到了新聞全局特征,但會忽略局部特征。
為了彌補CNN和多頭自注意力機制各自的缺點,Qi Tao等人分別在FedRec[26]和KIM[27]兩個模型中提出兩種解決方法。FedRec模型將新聞建模分為四層,其中第二層是CNN網絡,通過捕獲局部上下文來學習單詞表示,第三層是多頭自注意力網絡。該網絡可以建模不同詞之間的長距離相關性來學習語境下的詞表示。KIM模型中新聞語義特征提取部分則使用CNN和transformer分別提取標題的局部特征和全局特征,然后逐點累加。上述提到的新聞建模方法主要是為了捕獲新聞的語義信息,可能沒有意識到新聞中的實體信息和新聞以外的信息。
除了使用新聞中的語義信息外,有幾種方法還使用新聞中的實體信息來增強新聞建模。Zhu Qiannan等[28]提出的DAN模型使用兩個并行的CNN從新聞標題和實體中學習新聞表示。Qi Tao等[29]在HieRec模型中使用多頭自注意力機制,分別對標題詞嵌入和實體嵌入進行特征提取,然后使用文本注意力和實體注意力得到文本和實體的特征表示,最后加權求和得到新聞特征向量。Wang等[30]在DKN模型中提出了KCNN網絡,從實體及其鄰居處學習基于知識的新聞表示。Liu Danyang等[31]提出了KRED模型,使用知識圖注意力網絡[32],從新聞中的實體及其知識圖上的鄰居學習基于知識的新聞表示。KIM[27]模型中實體特征表示部分,通過圖注意力網絡聚合知識圖譜中的鄰居特征,最終表示標題中的實體特征。上述方法均加入實體信息,并利用知識圖譜中實體之間的關系,將新聞之間知識層面的聯系應用到新聞推薦中,能夠更準確地為用戶進行個性化推薦。但這種方法也存在不足之處,現有的知識庫可能難以表示新聞中出現的新實體。
除了上述方法外,MM-Rec[33]模型使用視覺和語言學結合的方法,從新聞文本和圖像中學習新聞的多模態表示。但由于目前沒有公開的多模態新聞推薦數據集,導致該方向研究較少。還有一些方法利用用戶新聞二部圖或者更復雜的異構圖進行新聞推薦,如GnewsRec[34]模型和GNUD[35]模型。然而,由于這些方法使用的圖表是靜態的,可能在準確地表示新發布的新聞方面有一些困難。
通過回顧新聞建模的各種技術方法可以發現,對新聞進行準確建模仍然是一個難點。
2.2.2 用戶建模
近年來,許多個性化新聞推薦方法都使用了深度學習技術為用戶建模。
在算例1的基礎上,算例2將提出的負荷頻率協調控制和滑模負荷頻率控制器應用于柴儲混合電力系統中,對系統頻率進行優化控制。算例2的系統負荷頻率偏差值如圖4所示。
這些方法大多是利用深度學習算法整體建模用戶的興趣表示。例如,Wu C H等[23]提出的NAML模型,以及Liu Danyang等[31]提出的KRED模型,使用的都是新聞級別的注意力機制來建立用戶興趣模型。Okura等[18]提出的EBNR模型,使用門循環單元(Gate Recurrent Unit,GRU)從用戶瀏覽記錄中學習用戶興趣表示。Wang等人在DKN[30]模型中通過一個候選感知的注意力網絡從被點擊新聞的表示中學習用戶表示,即根據每個被點擊新聞與候選新聞的相關性計算每個被點擊新聞的注意權重。同樣的,Saskr[36]模型、DAN[28]模型、TRKGR[37]模型都是使用候選感知的注意力網絡。KIM[27]使用了一個用戶新聞協同編碼器,該編碼器對候選新聞和點擊新聞之間的交互進行建模,以協作學習候選感知的用戶興趣表示和用戶感知的候選新聞表示。Qi Tao等[29]提出的HiRec模型,將用戶興趣建模分為三層結構:(1)整體用戶興趣;(2)用戶對粗粒度主題的興趣,如體育;(3)用戶對精細主題的興趣,如足球。NPA[22]使用新聞級個性化注意力網絡,根據用戶特征選擇重要新聞,通過嵌入用戶id生成查詢矩陣。
還有一些方法將用戶興趣分為長期興趣和短期興趣。如LSTUR[24]模型,通過一個GRU網絡學習短期用戶興趣,并通過用戶id來建模長期用戶興趣。FedRec[26]模型通過GRU網絡學習最近用戶的點擊行為來表示用戶短期興趣,通過多頭注意力機制學習用戶的長期興趣。GNewsRec[34]使用長短期記憶網絡(Long Short-Term Memory,LSTM)和候選新聞感知網絡來學習用戶短期興趣,并使用兩層圖神經網絡(Graph Neural Networks,GNN)學習長期用戶表示。同時考慮用戶的長期和短期興趣,可以更好地捕捉他們的興趣動態。但用戶的興趣具有多樣性和演化性,仍然難以被全面、準確地建模。
用戶行為具有噪聲和稀疏性,用戶興趣是多樣的、動態變化的,所以如何高效地建模用戶仍然具有挑戰性。
財新網數據集2014年公開,數據集包含1萬用戶、6 000條新聞及116 249條交互信息。數據集中有用戶id、新聞id、點擊時間、新聞標題、新聞內容、發布時間六部分。
Plista數據集[38]由Plasta GmbH和柏林工業大學,通過收集13個德國新聞門戶網站上發布的新聞文章集合進行創建。包含了14 897 978個用戶、1 095 323條新聞、84 210 795次交互記錄、70 353次創建以及5 154 116次更新。
Adressa數據集[39]是根據adreseavisen網站的日志在10周內構建的。其中有48 486篇新聞文章、3 083 438個用戶和27 223 576個點擊事件。每個點擊事件包含多個屬性,如會話時間、新聞標題、新聞類別和用戶ID。整個數據集分為規模不同的兩個版本,大版本Adressa-20M數據集和只有一周數據量的小版本Adressa-2M數據集。
Globo數據集[40]是通過巴西新聞網站globo收集并建立的,最早在Kaggle競賽上進行公開。此數據集包含大約314 000個用戶、46 000篇新聞文章和300萬次點擊記錄。每個單擊記錄都包含用戶ID、新聞ID和會話時間等字段。提供訓練好的新聞embedding,沒有原始的新聞文章信息。
它包含14 180篇新聞文章和34 022次點擊事件。每篇新聞文章都由單詞id表示,不提供原始新聞文本。此數據集中的用戶數量未知,因為沒有用戶ID。
MIND[41]由微軟新聞的用戶點擊日志構建而成,包含100萬用戶和超過16萬篇英文新聞文章,每篇文章都有豐富的標題、分類、正文等文本內容。MIND數據集中提取新聞中的實體,并從WikiData中提取這些實體的知識三元組。

表1 公開新聞推薦數據集統計信息
隨著新聞推薦領域的不斷發展,評價指標也在不斷完善,目前有諸多指標可以定量地評估新聞推薦系統的性能。
對于將新聞推薦任務視為分類問題的方法,曲線下面積(Area Under Curve,AUC)評分是一種廣泛使用的度量指標。隨機抽出一對樣本(一個正樣本,一個負樣本),然后用訓練得到的分類器對這兩個樣本進行預測,預測得到正樣本的概率大于負樣本的概率。
計算公式如下:
(1)
I(Rank(Np),Rank(Nn))=

(2)
其中,Np和Nn分別是正樣本和負樣本的數量;Rank(Npi)是第i個正樣本的分數排名,Rank(Nnj)是第j個負樣本的分數排名。
另一組流行的評價標準是精確率(Precision)、召回率(Recall)和F1。精確率:又稱為查準率,即正確預測為正的占全部預測為正的比例[42]。召回率:又稱為查全率,即正確預測為正的占全部實際為正的比例。F1:精確率和召回率的加權調和平均。
計算公式如下:
(3)
(4)
(5)
其中,TP是預測為正確的正樣本的數量,FP是預測為錯誤的正樣本的數量,FN是預測為錯誤的負樣本的數量。

計算公式如下:
(6)
其中,Rank(i)表示第i個樣本在推薦結果列表中出現的位置,如果沒出現,Rank(i)為正無窮。
nDCG稱為歸一化折損累計增益。其目的是希望得到的排序列表,質量越高越好。如果將更相關的排到越前面,那么計算得到的nDCG越高[43]。
應用于排名前K的推薦列表,計算公式如下:
(7)
其中,ri表示是否為正樣本,是就取1,否則取0。
上述是常用的新聞推薦算法評價指標。在實際應用中,通常使用兩個或兩個以上來共同評價推薦效果。
該文以MIND數據集為標準對推薦效果進行分析評價。NAML、LSTUR和NRMS是比較經典的基于深度學習的新聞推薦模型,這三個模型均使用兩段式的建模方式,新聞建模和用戶建模部分可以很方便地使用其他方法進行替換,便于接下來的對比實驗。
首先,對三個模型在MIND數據集上進行了對比實驗。從表2可以看出,NRMS的推薦效果最好。NRMS利用多頭自注意力機制捕捉詞與詞之間的關聯來學習新聞表示,并捕捉點擊的新聞文章之間的交互來學習用戶表示。結果表明,多頭自注意力機制等先進的NLP模型可以有效地提高對新聞內容的理解和用戶興趣的建模。LSTUR的性能也很強大。LSTUR可以通過GRU網絡模擬用戶近期點擊新聞的短期興趣,也可以通過整個新聞點擊歷史來模擬用戶的長期興趣。結果表明,適當的用戶興趣建模對新聞推薦也很重要。

表2 三種基于深度學習的經典新聞推薦模型對比
然后,將NAML、LSTUR、NRMS三種新聞推薦方法,用不同的新聞建模方法來替換原有的新聞建模方法。由表3可以看出,深度學習的新聞建模方法(如CNN、Self-Att和LSTM)明顯優于LDA、TF-IDF等傳統新聞建模方法。原因是對新聞進行表示時,深度學習模型可以更好地捕獲上下文信息。此外,將兩種深度學習方法有效結合可以進行互補,進而提高推薦效果。

表3 不同新聞表示模型對比
從表3可以看出,LSTM對新聞特征的提取效果相對不錯。為了方便實驗,下面選擇性能較好的LSTM作為新聞建模方法,控制新聞建模方法不變,使用其他方法分別作為用戶建模方法進行對比。如表4所示,深度學習用戶建模方法的表現均優于Average。LSTUR的推薦效果優于Attention和GRU方法,原因在于LSTUR可以使用不同時間段的行為對長期和短期用戶興趣進行建模。Self-Att可以對用戶歷史行為之間的長距離關聯進行建模,從而更好地進行用戶建模,也可以實現較好的推薦效果。
由以上分析可知,基于深度學習的方法明顯優于傳統方法。但通過表4可以發現,基于深度學習方法的AUC值只有60多,nDCG@10值僅有40左右。由此可見,新聞推薦仍有很大的提升空間及很重要的研究價值。未來幾年基于深度學習的新聞推薦方法無論在學術界還是工業界都將是研究熱點之一。

表4 不同用戶興趣表示模型對比
在近些年,隨著自然語言處理技術的發展和深度學習在新聞推薦領域的應用,新聞推薦建模從最初復雜、耗時耗力的手工構造特征,到現在使用深度學習技術方便、快捷地進行自動提取,已然取得了很大的進步。但由于新聞的時效性及用戶興趣的多樣性、動態性,仍很難精準地對新聞和用戶興趣進行建模。通過總結新聞推薦的發展歷史和研究進展,認為以下幾點可能是未來值得研究的方向。
由于缺乏多模態新聞推薦數據集的緣故,以往的新聞推薦算法,基本都是在文本數據集上開展工作。但在實際應用中,新聞通常包含大量圖片、視頻等多模態信息。用戶點擊新聞不僅僅是對新聞標題和內容感興趣,還可能是被新聞圖片所吸引。因此,圖像在表示新聞和預測用戶行為方面十分有用。在未來的研究工作中,亟待把多模態信息加入到新聞推薦任務中,用來對新聞文本內容進行補充,以此得到更精準的新聞建模。并且微軟亞洲研究院公開消息稱,多模態新聞數據集將在不久后發布。
在線新聞平臺發展迅速,每天會產生大量新聞信息,有些可能是政治敏感、暴力血腥,會潛移默化地影響人們的思維。希望未來可以設計一個統一的模型,對平臺新聞進行風險分析,識別新聞對社會的影響。這將有助于避免個性化新聞推薦的風險行為,提升用戶網絡閱讀體驗。
新聞推薦的多樣性對用戶體驗有很大影響。用戶興趣通常是多樣的,但現有大多新聞推薦算法通常是對用戶興趣進行統一建模,這不利于對用戶推薦多樣化的新聞內容。未來的研究可以將用戶興趣進行更細粒度的提取,對新聞進行類別分析,總結用戶對每種類別的喜愛程度,并權衡準確度和多樣性的比重,為用戶推薦既多元化又符合興趣的新聞內容。
知識圖譜本質上是一種由實體和關系組成的語義網絡,實體表示現實世界中存在的事物,實體間的邊則表示兩個事物之間的聯系。一些大型的知識圖譜,如維基數據等包含現實世界的大量數據信息。現有基于知識圖譜的新聞推薦方法大多只是對知識圖譜進行簡單利用,如僅使用知識圖譜中實體或者對實體和鄰居實體進行簡單相加,并沒有真正利用到關系信息。所以未來可以考慮用圖神經網絡對知識圖譜中大量的實體關系信息進行聚合,學習更準確的新聞表示模型。
從新聞推薦的研究進展中可以看出,個性化新聞推薦一直是國內外研究熱點。其中基于深度學習的新聞推薦正在逐漸替代傳統方法并占據主流地位。雖然新聞推薦發展迅速,但仍存在許多挑戰和有待解決的問題。因此,未來如何通過深度學習和自然語言處理技術準確的建模新聞內容和用戶興趣,將是一項長久的挑戰。