?

一種基于長短期用戶表示和多視角學習的新聞推薦方法

2023-11-02 13:05王京豪
計算機應用與軟件 2023年10期
關鍵詞:新聞標題編碼器類別

何 麗 王京豪

(北方工業大學信息學院 北京 100144)

News recommendation

0 引 言

隨著互聯網的發展,各類信息如新聞信息成倍的增長,面對海量數據,如何幫助用戶快速得到個性化的、有價值的新聞顯得十分重要?;诖?個性化新聞推薦系統應運而生。

個性化推薦的方法主要分為三大類:基于協同過濾的推薦[1-2]、基于內容的推薦[3-4]和混合推薦方法[5-6]。其中,以基于協同過濾的推薦應用最為廣泛。針對新聞推薦,學習用戶和新聞的表示主要依靠歷史行為數據,但是在很多情況下,這些數據是很難獲取或者十分稀疏的。比如,一篇新發布的新聞,瀏覽過的用戶很少,采用協同過濾方法就會存在嚴重的冷啟動、數據稀疏等問題,同時新聞中含有的大量文本內容也沒有被很好地利用,因此新聞推薦通常采用基于內容的推薦方法。

目前,許多基于內容的深度學習新聞推薦方法被提出[7-8],其核心思路是通過一個用戶編碼器和新聞編碼器來獲得用戶和新聞的表示來實現推薦。如何學習準確的用戶表示對于新聞推薦系統來說是一個關鍵問題。Wang等[7]利用卷積神經網絡學習新聞表示,然后基于候選新聞與瀏覽新聞的相似性從用戶瀏覽的新聞中學習用戶表示,但該方法不能體現用戶的短期興趣;Okura等[8]利用GRU網絡從其瀏覽的新聞中學習用戶表示,然而該方法很難捕捉到長期的新聞瀏覽歷史的全部記錄;An等[9]提出一種能夠較好地結合用戶長期愛好和短期興趣的方法,但僅僅從新聞標題中學習新聞表征,這樣的表示學習是不夠充分的。

新聞數據通常包含不同類型的信息,比如主題類別、標題和摘要等特征,它們對于學習新聞的表示都是很有幫助的。包含多種信息類別的新聞數據如表1所示。

表1 新聞數據樣例

新聞的主題類別對于學習新聞表征來說是具有很大信息量的。如果一個用戶瀏覽過該新聞,那么他極有可能對其他體育類或者籃球NBA類的消息很感興趣;此外,從標題中可以得到,這是一條關于兩支球隊競爭的新聞,摘要中則能得到更詳細的信息,因此,融合這些不同類別的信息可以改善新聞推薦中的新聞特征表示和用戶表示。

因此,本文提出一種使用多視角學習的方法來改進新聞編碼器,即利用不同類型的新聞信息來學習新聞的特征表示,并將其融合到結合用戶長期和短期興趣表示的用戶編碼器中,以此來提升新聞推薦的結果。在新聞編碼器中,采用計算機視覺領域常見的多視角學習的方法并結合注意力機制,將主題類別、標題和摘要作為不同的新聞視角來學習統一的新聞表示,由于不同類別的信息可能具有不同的信息量,因此加入注意力機制;用戶編碼器采用結合用戶長期愛好的短期興趣學習用戶表示的方法[9],使用GRU網絡從用戶最近點擊過的新聞的表示中學習用戶的短期興趣,從用戶ID的嵌入中學習用戶的長期愛好,并利用用戶的長期愛好初始化GRU網絡的隱藏狀態。通過在真實新聞數據集上的大量實驗,證明了本文的方法能夠有效地提高新聞推薦的準確率等指標。

1 相關工作

個性化新聞推薦是自然語言處理領域的一項重要任務,其有著廣泛的應用[10]。對于新聞推薦來說,學習到準確的新聞表示和用戶表示是十分重要的?,F有的一些傳統方法,采用人工特征工程來進行新聞和用戶的表示學習。例如,Son等[11]的方法建議從維基百科頁面中提取主題和位置特征作為新聞表示。Liu等[12]使用貝葉斯模型生成的話題類別和興趣特征作為新聞表示。這些方法都依賴于人工工程,需要很大的工作量,并且無法學習到新聞中的上下文和詞序,對于學習新聞和用戶表示的效果不是很理想。

近年來采用深度學習方法的新聞推薦逐漸增多,如上文引言中提到的[7-8],它們的方法學習用戶表示通常為每個用戶學習單一的表示向量,無法區分長期愛好和短期興趣,An等[9]提出的LSTUR模型能夠較好地結合用戶長期愛好和短期興趣的方法,但其只從新聞標題中學習新聞表示,這樣學習新聞的特征表示是不充分的。由于新聞數據除了標題之外還有主題類別、摘要等信息,為了能夠將它們作為統一的學習表示,本文方法參考計算機視覺領域常用的多視角學習方法[13],將不同的類別信息結合起來,學習新聞表示并改進用戶表示。在真實新聞數據集上的大量實驗表明,本文方法與現有流行的方法相比,能夠更好地學習新聞和用戶的表示,提高了新聞推薦的準確率。

2 方法設計

本文提出的基于長短期用戶表示和多視角學習模型主要分為新聞編碼器和用戶編碼器,其整體框架如圖1所示。

圖1 模型總體框架

2.1 新聞編碼器

新聞編碼器用來從不同類別的信息(主題類別、副類別、標題、摘要)中學習新聞的統一表示。同一新聞中不同的詞可能具有不同的信息量,比如表1中“championship”就要比“fans”更重要,所以采用注意力機制學習不同單詞的重要性。此外,不同類別的信息具有不同的特點,比如主題類別和副類別就是一個單詞的標簽,標題則短而簡潔,摘要較為詳細,基于此對不同類別的信息要用不同的方法進行處理。本文利用注意力機制和基于多視角學習的方法將每一種信息作為新聞的一個視角來學習新聞的統一表示,新聞編碼器整體模型如圖2所示,四種不同的信息對應模型中的四個部分。

2.1.1主題類別編碼器

新聞編碼器中的第一部分組件是主題類別編碼器,用于從新聞的分類中學習到新聞表示。在許多新聞網站上,都會對新聞進行類別標記,比如“體育”“軍事”等,這些是可以獲得用戶興趣的重要信息。一個經常瀏覽“軍事”類新聞的用戶對這方面肯定是感興趣的,因此從新聞的主題類別中學習信息。主題類別編碼器的輸入是類別vc的ID,其首先經過一個類別嵌入層,將類別的離散ID轉化為低緯度的全連接表示,用bc表示;之后,將其再經過一個全連接層用來學習主題類別的隱性表示,輸出ec表示如下:

ec=ReLU(Pc×bc+pc)

(1)

式中:Pc、pc均是全連接層的參數,ReLU是非線性激活函數。

2.1.2副類別編碼器

第二部分組件是新聞的副類別編碼器,它與主題類別編碼器類似,可以從新聞被標記的副類別信息中學習新聞特征,并能夠更進一步地縮小用戶的興趣范圍。比如喜歡主題類別為“體育”的用戶,最經常瀏覽的新聞副類別是“籃球_NBA”,那么向其推薦足球類的體育新聞可能就不是用戶想要的了。由于主題類別和副類別通常都是一個單詞來表示,因此采用的編碼器方法也類似,輸入副類別vsc的ID,經歷與主題類別編碼器相似的操作得到最終輸出esc,其公式表示如下:

esc=ReLU(Psc×bsc+psc)

(2)

式中:Psc、psc均是全連接層的參數。

2.1.3標題編碼器

(3)

(4)

式中:Pt、pt均是訓練參數;qt是注意力向量。

最終,通過三層的標題編碼器,得到了新聞標題的最終表示et,公式如下:

(5)

2.1.4摘要編碼器

最終,通過三層的摘要編碼器,得到新聞摘要的最終表示ea,公式如下:

(6)

2.1.5注意力機制

通過新聞編碼器的四個組件,得到從不同信息中學習的新聞表示,將它們簡單地相加作為新聞編碼器的最終表示不是最理想的結果,因為新聞的不同類別的信息具有的信息量可能是不同的。例如,表1中舉例的新聞標題“LA rivalry takes on new meaning for fans as Lakers, Clippers in hunt for NBA championship”描述了NBA球隊湖人和快船的爭冠競爭,含有的信息是較為豐富的,但例如“The Absolute Best One-piece Bathing Suits of 2019”這樣的新聞標題含有的信息就較為模糊了,對于這條新聞來說摘要和主題類別的權重就要占比高一些?;诖?采用注意力機制模擬不同類型的新聞信息的信息量,以便于更好地學習新聞表示。將新聞的主題類別、副類別、標題和摘要的注意力權重分別表示為αc、αsc、αt、αa,以主題類別的計算公式為例,公式如下:

(7)

式中:Ot、ot是訓練參數、qe是注意力向量,使用類似的方法,可以求得副類別、標題和摘要的注意力權重αsc、αt、αa。

最終,利用求得的注意力權重,新聞編碼器所學習的新聞表示的輸出表示為:

e=αcec+αscesc+αtet+αaea

(8)

2.2 用戶編碼器

用戶編碼器的作用是從用戶瀏覽過的新聞中學習到用戶表示,這對于提高新聞推薦的準確度來說至關重要。由于新聞是具有高度時效性的,用戶的興趣也是隨著時間在改變的,無論是只從用戶瀏覽的整段歷史還是最近的歷史來學習用戶表示都是不夠充分的,比如一名用戶可能從很早開始就瀏覽“體育”類的新聞,推薦給他體育類新聞效果很好,但他最近瀏覽“軍事”類新聞的次數非常多,這時就不能只專注于推薦用戶的長期興趣體育類新聞,對于新聞推薦來說能夠同時學習用戶長期愛好和短期興趣表示的方法取得的效果較好[9]。本文通過融合了基于注意力機制的多視角學習方法改進新聞編碼器來更好地學習新聞表示,用戶編碼器的模型如圖3所示。

圖3 用戶編碼器模型

用戶的表示分為長期和短期的,學習長期用戶表示的方法為通過用戶ID的嵌入,用u表示用戶的id,Wu為用戶id的嵌入,長期用戶表示就為ue=Wu[u]。之后,從用戶最近瀏覽過的新聞中學習用戶的短期表示,應用門控遞歸網絡(GRU)來獲取新聞閱讀順序[8],將用戶的長期表示作為GRU網絡隱藏層的初始狀態[9],用戶瀏覽過的新聞按順序表示為ni,k表示用戶瀏覽過的新聞總量,將這些新聞按順序通過新聞編碼器后得到對應的新聞表示ei,由于改進了新聞編碼器,因此得到的新聞表示ei是更為準確的,這能夠幫助用戶編碼器更好地學習用戶的短期表示,用戶短期表示的計算公式如下:

ri=σ(Wr[hi-1,ei])

zi=σ(Wz[hi-1,ei])

gi=tanh(Wg[ri⊙hi-1,ei])

hi=zi⊙hi+(1-zi)⊙gi])

(9)

式中:σ為sigmoid函數;W為GRU網絡的參數;⊙表示同或運算。最終,最后一個GRU網絡的隱藏狀態就是結合了長短期的用戶表示u=hk。

2.3 模型訓練

本文使用點生產方法來計算新聞點擊概率得分,這種方法被證明不論是時間效率還是性能都很好[8]。將用戶表示為u,候選新聞表示為ex,用戶點擊候選新聞的預測評分s就表示為s(u,nX)=uTeX。采用負采樣技術進行模型訓練的效果較好[16],本文也使用這種方法進行模型訓練。用戶瀏覽過的新聞視為正樣本y+,對于每一個正樣本都隨機抽取同一印象中未被該用戶點擊的k條新聞作為負樣本y-,使模型聯合預測正樣本和負樣本的點擊概率得分s,這樣新聞預測問題就轉化為分類問題,使用softmax函數標準化這些點擊概率來計算正樣本的點擊概率,公式如下:

(10)

由于不是所有用戶都有長期表示,比如沒有長期瀏覽歷史的新用戶,所以在訓練時以一定的概率p隨機屏蔽用戶的長期表示可以更好地提高模型性能[9],并且達到更接近于真實環境的目的,因此用戶的長期表示可以改為:

ue=M×Wu[u],M~B(1,1-p)

(11)

式中:M為服從B(1,1-p)的伯努利分布。

3 實驗與結果分析

為了驗證改進后的方法是否能夠提高新聞推薦的效果,本文設計了一系列對比實驗。首先對實驗設置進行說明,然后探究改進后的模型與其他方法的效果對比,最后驗證融合了多視角學習方法改進新聞編碼器的有效性。

3.1 實驗設置

3.1.1數據集

為了驗證新聞推薦的效果提升,本實驗使用真實世界的新聞數據集MIND數據集[17],這是微軟公司從微軟新聞網站的匿名行為日志中收集的用于研究新聞推薦的大型數據集。為了提升驗證效率,本文使用小規模的MIND數據集,數據集的詳細信息如表2和表3所示。

表2 用戶行為數據集

表3 新聞數據集

其中,用戶行為數據集的每條數據包括用戶行為ID、用戶ID、行為的時間、用戶的瀏覽歷史和用戶對新聞的行為,用戶對新聞的行為指的是用戶在此次用戶行為時間時展示給他的新聞他是否點擊過,點擊過的標記為1,否則為0。新聞數據集的每條新聞包括新聞ID、主題分類、副分類、標題、摘要、正文鏈接、標題的實體信息和摘要的實體信息,這些實體信息是標題和摘要中的一些單詞實體的類別、維基百科ID和置信度等等,便于進行詞嵌入等操作。

3.1.2評價指標與參數設置

本文使用預訓練的Glove嵌入法初始化詞嵌入[18],參數設置如下:用于標題和摘要的詞嵌入維度設置為300,主題類別和副類別嵌入維度設置為100,CNN網絡過濾器設置為425,窗口大小設置為3,dropout設置為0.2,設置Adam優化模型[19],學習率設置為0.01,batchsize設置為64,每個正樣本的負樣本數設置為4,GRU單元設置為400,Attention queries設置為200。

本文采用的實驗評價指標是與主流方法相同的AUC(計算ROC曲線下的面積)、MRR(平均倒數秩)和nDCG(歸一化折損累計增益)。算法給用戶推薦一個新聞列表,用戶實際點擊的新聞越靠前,則表明推薦準確度越高,推薦效果越好,上述指標的數值也會越大。

3.2 與其他方法對比實驗及結果分析

本文將提出的方法與其他幾種作為基線的主流方法進行對比,以此來驗證改進后的方法能夠提升推薦效果。

(1) LibFM[20]:將矩陣分解法應用于推薦系統中,從瀏覽的新聞標題中提取的TF-IDF特征和主題類別、副類別歸一化計數獲取用戶特征,之后再與新聞特征連接作為推薦總輸入。

(2) DeepFM[21]:結合了因子分解機(FM)和深層神經網絡,與LibFM特性相同。

(3) CNN[22]:利用卷積神經網絡和最大化池相結合,從最顯著的特征中獲取新聞表示。

(4) DKN[7]:結合了知識圖譜中的信息,包含了卷積神經網絡和用戶瀏覽新聞歷史注意力機制的深度學習網絡。

(5) NPA[23]:使用個性化注意力機制,用卷積神經網絡從新聞標題中學習新聞表示,根據用戶點擊歷史學習用戶表示并使用單詞級和新聞級的個性化注意力機制捕捉不同用戶的信息。

(6) NRMS[24]:提出了一種多頭部自我注意力機制的方法從新聞和用戶瀏覽歷史中學習新聞表示和用戶表示。

(7) LSTUR[9]:一種結合了用戶長期和短期表示的新聞推薦方法,利用卷積神經網絡從新聞的標題中學習新聞表示,從用戶信息中學習長期表示,利用GRU網絡從最近瀏覽的新聞中學習短期表示。

雖然以上提到的方法論文中所使用的數據集與本文不同,但其所用的新聞數據中的新聞標題、分類和用戶行為數據中的用戶點擊新聞歷史等,MIND數據集都包括。故通過對以上這些論文中提到的方法進行復現,使用本文方法相同的數據集和同樣的評價指標得到的推薦結果展示在表4中。

表4 不同方法的新聞推薦結果

推薦結果表明,首先CNN、DKN等使用了神經網絡的推薦方法比LibFM、DeepFM這樣的采用傳統矩陣分解方法的推薦效果要好,體現出采用神經網絡能夠比傳統的矩陣分解更好地從數據中學習到新聞表示和用戶表示;其次,采用結合用戶長期和短期表示的LSTUR方法的推薦效果比其他只學習一種用戶表示的方法的推薦效果要更好,這說明融合多視角學習的方法能夠更好地獲得用戶表示,并應用于新聞推薦中。

最后,從表4中可以看出本文改進的方法比其他的基線方法的效果更好,說明如果只從新聞標題中學習新聞表示是不夠充分的,并不能提供最好的推薦效果。本文的方法從新聞的主題類別、副類別、標題和摘要中聯合學習,應用注意力機制選出最重要的信息,以此獲得更具信息量的新聞表示,并將之應用到基于長短期用戶表示的方法中進一步改善推薦的效果。

3.3 驗證改進新聞表示有效性的實驗

首先,采用消融實驗的方法進行了幾個對比實驗驗證加入不同類型的信息對提高學習新聞表示效果的有效性,對比實驗的結果如圖4所示。

圖4 使用不同類型信息的對比實驗圖

可以看出,使用單一類型的學習新聞表示方法,摘要和標題的效果要比主題類別和副類別要好,因為摘要和標題中含有的信息量較為豐富,能夠更為細致準確地反映出用戶的閱讀興趣;而摘要的信息量又比標題更豐富,因此在只使用單一類型信息中用摘要學習新聞表示的效果是最好的。但不論是哪一類信息,都能夠提供一定的信息量來學習新聞表示,因此把四種類型的信息結合起來才可以取得最好的實驗結果。

之后,繼續采用消融實驗的方法驗證新聞編碼器中兩個注意力機制網絡的有效性,實驗的結果如圖5所示。

本文在新聞編碼器中使用了兩種注意力機制,一種是從新聞標題和摘要信息中獲取新聞表示時,使用詞級注意力網絡來獲取標題和摘要中的重要詞匯,另一種是將主題類別、副類別、標題和摘要四類信息進行聯合學習時用到的注意力機制。從圖5中可以看出,應用聯合學習的注意力機制比應用詞級注意力網絡的效果要好,其原因為不同新聞的四類不同信息的豐富程度不一樣,比如有的新聞標題很模糊,而有的新聞標題就已經把新聞概括的很好。這兩種注意力機制都對更好地學習新聞表示有所幫助,因此將它們共同使用可以達到更好的效果。

最后,驗證學習不同類型的用戶表示對推薦結果的影響,實驗的結果如圖6所示。

圖6 不同類型用戶表示的對比實驗

可以看出,不論是用戶的長期表示還是短期表示都可以提高推薦結果,與此同時,只使用短期用戶表示比只使用長期用戶表示的結果更好,其原因為用戶的瀏覽歷史較少導致長期用戶表示所包含的信息不夠豐富,最終實驗結果也驗證了結合長短期用戶興趣來學習用戶表示的方法達到的推薦效果是較為理想的。

綜上所述,在MIND數據集上,使用基于用戶長短期興趣的方法學習用戶表示,使用基于多視角學習的方法從不同類別的信息匯總學習新聞表示,相比于基線方法可以提升新聞推薦的AUC、MRR和nDCG指標。

4 結 語

本文提出了一種融合多視角學習和長短期用戶表示的新聞推薦方法,在結合用戶長期表示和短期表示的同時從新聞的主題類別、副類別、標題和摘要中聯合學習新聞表示。在新聞編碼器中使用基于注意力機制的多視角學習方法,將主題類別、副類別、標題和摘要這四類新聞信息看作不同的視角,并應用注意力機制獲取其中重要的信息類型和詞匯。用戶編碼器則使用的是基于長短期用戶表示的方法,通過改進的新聞編碼器學習到的新聞表示來提升獲取的短期用戶表示,并進一步提升用戶編碼器效果。在真實數據集上的大量實驗表明,相比于其他基線方法,該方法可以有效提高新聞推薦的結果。

猜你喜歡
新聞標題編碼器類別
談新聞標題的現實性
網絡新聞標題與報紙新聞標題的對比
基于FPGA的同步機軸角編碼器
基于PRBS檢測的8B/IOB編碼器設計
無意間擊中幽默的新聞標題
服務類別
JESD204B接口協議中的8B10B編碼器設計
淺談新聞標題的裝扮技巧
論類別股東會
多總線式光電編碼器的設計與應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合