程華松,熊才權(quán), 柯遠志, 吳歆韻
(湖北工業(yè)大學計算機學院, 湖北 武漢 430068)
為了減輕信息過載的影響,向用戶進行個性化新聞推薦成為新聞平臺中的一個十分重要的功能[1]。
由于新聞具有時效性特點,協(xié)同過濾方法難以做到實時更新,無法動態(tài)的捕獲用戶興趣變化,在這種推薦方法基礎上的推薦系統(tǒng)會面臨嚴重的冷啟動問題[2]?;趦?nèi)容的推薦則依賴于傳統(tǒng)自然語言處理模型,這類模型在提取語義特征時往往忽視了詞語順序,不能對新聞文本語義進行準確刻畫。Cheng等[3]提出Wide&Deep模型,通過聯(lián)合訓練線性模型和深度神經(jīng)網(wǎng)絡來解決稀疏輸入的問題,但是線性模型的輸入依賴于人工特征提取。Guo等[4]提出一種基于深度學習的模型(DeepFM),它結(jié)合了前饋神經(jīng)網(wǎng)絡和線性模型進行推薦,還新聞標題和個人資料嵌入作為特征,不需要人工特征工程。隨著深度學習的不斷發(fā)展,提取高質(zhì)量的新聞特征和用戶表示已經(jīng)成為了新聞推薦系統(tǒng)中研究熱點[5]。人們在閱讀新聞時通常會對多個特定的新聞類別感興趣,如何根據(jù)用戶對當前候選新聞的多樣化閱讀歷史動態(tài)衡量用戶的興趣是新聞推薦的關(guān)鍵。Okura等[5]提出一種基于去噪自編碼機和遞歸神經(jīng)網(wǎng)絡的個性化新聞推薦方法。新聞語言是高度濃縮的,由大量的知識實體和常識組成,傳統(tǒng)的語義模型[6]和主題模型不能發(fā)現(xiàn)潛在的知識層面的聯(lián)系,Wang等[7]提出將知識圖譜引入到推薦模型中,來彌補僅使用詞向量特征不足的缺陷。
針對上述問題,本文從新聞語義層面和知識層面得到兩種不同的向量表示,通過多通道的卷積神經(jīng)網(wǎng)絡融合形成更精準的新聞特征表示,同時引入注意力機制使提取的新聞特征向量更能夠代表上下文的語義信息。最后計算用戶對候選新聞的偏好值并生成最終的推薦結(jié)果。通過在MIND新聞數(shù)據(jù)集對模型進行評估,獲得了對于基線模型而言較好的推薦效果。
2013年,Mikolov等[8]在詞向量空間中發(fā)現(xiàn)一種存在于詞匯的語義關(guān)系和句子關(guān)系中的特殊平移規(guī)律,通過該現(xiàn)象提出了TransE模型[9],并將該模型用于鏈接預測等任務。實驗結(jié)果表明,TransE比以往模型的性能有明顯提升,經(jīng)過改進,研究者依次提出了TransR[10],TransD[11]等模型。
在當前的主流知識庫中,知識實體以(h,r,t)三元組的形式存儲,對于每個三元組(h,r,t),其中h表示頭實體,r表示關(guān)系,t表示尾實體,TransE希望可以滿足lh+lr≈lt。TransE模型的損失函數(shù)定義如下:
(1)
TransE用關(guān)系r的向量lr作為頭實體向量lh和尾實體向量lt之間的平移,研究者將TransE稱做翻譯模型。由于TransE模型設計簡單,計算的時間效率低,在高質(zhì)量的知識圖譜上提取知識庫的復雜關(guān)系時有一定的局限性。為了解決這些問題,Ji等[11]提出了TransD模型,使用同一個投影矩陣可以在某種程度上限制模型的表達能力,來降低頭實體和尾實體表示的差異。給定一個三元組(h,r,t),TransD模型設置了2個分別將頭實體和尾實體投影到關(guān)系空間的投影矩陣Mrh和Mrt,定義如下:
Mrh=lrplhp+ld×k
(2)
Mrt=lrpltp+ld×k
(3)
其中l(wèi)hp,ltp∈Rd,lrp∈Rd,下標p代表該向量在向量空間中的投影向量,并且Mrh和Mrt和實體之間的關(guān)系都有聯(lián)系,通過使用2個投影向量來構(gòu)建投影矩陣,解決了TransR模型參數(shù)過多的問題,其損失函數(shù)定義如下:
(4)
RNN是一種廣泛用于序列任務的深度學習網(wǎng)絡。RNN不能很好地解決長時依賴問題,并且會產(chǎn)生梯度消失和梯度爆炸問題。針對RNN存在的問題,提出了一種帶有門控機制的LSTM網(wǎng)絡。LSTM引入了門控機制,通過三個門控單元對輸入的信息進行篩選和丟棄,有效避免了RNN存在的問題(圖1)。首先通過遺忘門,來對上一時刻輸入的信息進行篩選,遺忘掉無關(guān)信息,保留有效信息。由xt和ht-1經(jīng)過sigmoid函數(shù)得到一個0-1區(qū)間的值,公式如下:

圖1 LSTM內(nèi)部結(jié)構(gòu)圖
ft=σ(Wf·[ht-1,xt]+bf)
(5)

it=σ(Wi·[ht-1,xt]+bi)
(6)
(7)
(8)
最后通過輸出門,得到t時刻的細胞狀態(tài)ht,傳輸給下一個時刻的LSTM細胞單元中,從而實現(xiàn)了獲取距離的數(shù)據(jù)信息。由ht-1和xt經(jīng)過sigmoid函數(shù)得到ot,再由t時刻細胞狀態(tài)Ct經(jīng)過tanh函數(shù)與ot相乘,得到最終輸出細胞狀態(tài)單元ht。公式如下:
ot=σ(Wo·[ht-1,xt]+bo)
(9)
ht=ot*tanh(Ct)
(10)
提出一種基于知識圖譜的新聞推薦神經(jīng)網(wǎng)絡模型(TransD,LSTM-CNN-Attention for News Recommendation,簡稱TLCA-NR)。模型輸入的數(shù)據(jù)為兩種,分別是用戶瀏覽過的新聞記錄和候選新聞。該模型分為兩部分,第一部分是通過TransD和GloVe模型將原始新聞數(shù)據(jù)轉(zhuǎn)化為特征向量,分別從語義層面和知識層面獲得文本語義特征、實體特征和實體在知識圖譜中的上下文特征。第二部分是推薦模型,使用LSTM-CNN挖掘更深層次的信息,實現(xiàn)知識層面和語義層面的信息融合,再通過注意力機制根據(jù)候選新聞不同動態(tài)計算用戶偏好權(quán)重,將用戶特征向量和候選新聞詞向量通過點擊求和運算做相似度計算,得到最終的推薦結(jié)果(圖2)。

圖2 推薦模型結(jié)構(gòu)
如今基于知識圖譜的推薦系統(tǒng)有關(guān)研究受到廣泛關(guān)注。現(xiàn)有的推薦系統(tǒng)技術(shù),基于協(xié)同過濾的推薦算法存在數(shù)據(jù)稀疏和冷啟動問題,其推薦效率不高。在知識圖譜中存在著大量的知識實體和實體之間的關(guān)系,因此引入知識圖譜對推薦效果的改善有很大的幫助。
實體嵌入信息表示的基本思路是將從新聞內(nèi)容提取出的知識實體和來自WikiData知識圖的知識圖進行關(guān)聯(lián),通過TransD翻譯模型從知識圖譜中學習得到實體向量表示。在預處理過程中通過翻譯模型得到新聞實體的向量,接著將文件中實體轉(zhuǎn)化為對應的特征向量。由于通過翻譯模型得到的特征向量,雖然能夠體現(xiàn)新聞實體間的結(jié)構(gòu)信息,但不能很好地體現(xiàn)效果,于是需要用知識圖譜中的相鄰實體來代表上下文實體,定義如下式:
context(e)={ei|(e,r,ei)∈Gor(ei,r,e)∈G}
(11)
G是構(gòu)建的知識圖譜子圖,r是它們之間的關(guān)系,給定實體e的上下文,基于實體的上下文嵌入表示由上下文實體的平均值計算得到下式:
(12)
以往的新聞推薦方法沒有將新聞實體信息加入到推薦模型來,因此缺少新聞知識層面的特征,推薦的準確性很難達到理想效果。所以引入實體的知識層面信息,解決數(shù)據(jù)稀疏和冷啟動問題,提高推薦精度。本方法提取了三種不同的特征:基于新聞的語義特征、實體特征和實體在知識圖譜中的上下文特征。本文使用GloVe模型[12]加載詞向量,即可得到新聞語義信息的特征矩陣。GloVe模型考慮了語料庫中的全局信息,在機器理解、圖像識別中的圖片標注處理等強語義需求任務中有很好的效果。為了獲得語義層面的特征,進一步提高推薦的準確性,在前文說明的來自TransD的實體向量的特征的基礎上,本方法也使用了來自GloVe的語義詞向量。
由于每個新聞標題長度的不一樣,經(jīng)過特征提取得到的特征矩陣長度也會不一樣,所以在提取新聞語義特征之前,需要對新聞標題進行補齊或截斷操作,如果文檔中的單詞數(shù)大于k,將文檔截斷為k個單詞,如果文檔中的單詞數(shù)少于k,則將0填充到末尾,則所有新聞的標題長度確定為k。于是用GloVe模型得到新聞標題語義層面信息的向量,每個單詞向量的維度是n,n是模型的超參數(shù),再將每個單詞的向量組合起來就可以得到n×10的二維的特征舉證,即是新聞語義信息的特征矩陣。
將上述提取的三種不同的矩陣進行統(tǒng)一,假設得到第一個基于語義的單詞特征矩陣的格式是m1×n,另外兩個基于實體和實體在知識圖譜中的上下文特征的格式是m2×n,n為新聞標題的長度是定值,不同的是m1和m2的值,因此將后面兩個矩陣投影到第一個向量空間上,通過投影函數(shù)f如下所示:
Y=f(X)
(13)
其中X∈Rm2×n,Y∈Rm1×n,讓X左乘以矩陣M∈Rm1×m2達到矩陣的統(tǒng)一,通過ReLU激活函數(shù)作非線性變換,得到其投影矩陣,最終得到統(tǒng)一的三種不同的特征矩陣。
本研究在將上述求得的特征向量融合到一起,由于會出現(xiàn)以下幾個問題,一是新聞語言具有非常強的邏輯性,語言前后順序不同就會導致新聞表達的內(nèi)容不同,這里通過循環(huán)神經(jīng)網(wǎng)絡(LSTM)去挖掘新聞標題中的邏輯性;二是經(jīng)過知識圖譜預處理的特征向量和經(jīng)過GloVe提取的特征向量需要通過卷積神經(jīng)網(wǎng)絡(CNN)融合,于是使用LSTM-CNN網(wǎng)絡做進一步的信息挖掘與融合。
新聞標題摘要中體現(xiàn)重要內(nèi)容的一般是名詞和動詞來體現(xiàn),比如一些時間、地點、人物和事件,其他介詞、冠詞的重要性可能沒有那么高,這里就通過LSTM遺忘門的機制,過濾掉新聞標題中的一些單詞和實體,讓這些詞性的詞對后續(xù)的推薦結(jié)果不產(chǎn)生什么影響。
神經(jīng)網(wǎng)絡結(jié)構(gòu)主要是兩部分組成(圖3)。首先將嵌入層的輸出結(jié)果送入到LSTM提取序列化的新聞特征向量,然后再通過卷積神經(jīng)網(wǎng)絡抽取空間結(jié)構(gòu)信息,將多種信息融合就得到了用戶的特征向量。下面將著重介紹具體操作方式,Embeddding的輸入主要有兩個,一個是經(jīng)過GloVe預訓練模型處理的新聞標題w1:n得到的詞向量,n表示新聞標題的長度;另外是經(jīng)過TransD模型得到的實體特征向量

圖3 LSTM-CNN網(wǎng)絡結(jié)構(gòu)
E1:n=[E1,E2,…,En]

由于在線新聞平臺中的題材和內(nèi)容十分豐富,用戶在閱讀中興趣廣泛,用戶感興趣的主題可能不止一個,但其瀏覽過的新聞會對推薦的結(jié)果產(chǎn)生一定的干擾。本文希望在面對不同的新聞場景時,推薦模型會根據(jù)用戶的歷史瀏覽記錄來動態(tài)分配不同的偏好權(quán)重,所以通過注意力機制解決類似這樣的問題。

2)將該帶有權(quán)重的特征向量送入到DNN作為注意力網(wǎng)絡,得到針對當前候選新聞的加權(quán)矩陣,再將加權(quán)矩陣送入到softmax層計算歸一化,得到加權(quán)矩陣

(14)
3)注意力網(wǎng)絡DNN接受兩個新聞內(nèi)容的嵌入作為輸入并輸出影響權(quán)重。所以用戶i相對于候選新聞tj的表達可以計算為用戶點擊新聞內(nèi)容嵌入表示的加權(quán)和,即得到最終的用戶點擊新聞的詞向量:
(15)
通過注意力機制得到了最終的用戶特征向量,接著將候選新聞詞向量e(tj)和候選新聞的用戶i的特征向量e(i)做點積求和運算,最終得到了兩者之間的相似度
ρi,tj=G(e(i),e(tj))
(16)
其中G表示候選新聞詞向量e(tj)和用戶i的特征向量e(i)點積運算,再進行reduce_sum計算,ρi,tj表示用戶i與候選新聞tj的相似度分數(shù),計算出的分數(shù)越大代表用戶對某一候選新聞興趣更大,最終分數(shù)會經(jīng)過sigmoid函數(shù)的處理,得到的值會在0到1之間,該模型將計算出來的分數(shù)視作用戶對候選新聞感興趣的程度。最后使用TOP-N思想,推送N個用戶感興趣的新聞內(nèi)容來實現(xiàn)用戶的個性化推薦。
數(shù)據(jù)集(MIND)[13]是用于新聞推薦研究的大規(guī)模數(shù)據(jù)集,作為新聞推薦的基準數(shù)據(jù)集,促進新聞推薦和推薦系統(tǒng)領(lǐng)域的研究。該數(shù)據(jù)集中的每篇新聞都有ID、標題、摘要、類別和命名實體信息等詳細信息。每個印象日志包含該用戶之前的點擊事件、未點擊事件和歷史新聞點擊行為,用0和1區(qū)分,0代表用戶看到了新聞卻沒有點擊進去瀏覽,1代表用戶瀏覽過,提供了劃分好的訓練集和測試集。
推薦算法的好壞可以從ROC曲線下面積(AUC)、平均倒數(shù)排名(MRR)和歸一化折現(xiàn)累積收益(NDCG)三個性能指標進行評估。ROC曲線下面積(AUC)的計算如下式:
P表示預測得到的正樣本在負樣本之前的概率,Y為樣本數(shù),M為正樣本數(shù),N為負樣本數(shù),rank是樣本預測值的排名。
平均倒數(shù)排名(MRR)的計算如下式:
MRR通常是從推薦列表中正確檢索結(jié)果值在檢索結(jié)果中的排名,從而來評估推薦系統(tǒng)的性能。
歸一化折現(xiàn)累積收益(NDCG)的計算如下式:
NDCG表示推薦系統(tǒng)某一用戶返回的最好推薦結(jié)果列表,即推薦結(jié)果的相關(guān)性越大,NDCG越大。
本實驗使用深度學習框架中的Tensorflow框架進行開發(fā),首先使用GloVe預訓練模型提取新聞語義特征詞向量,向量維度設置為100,知識圖譜實體嵌入向量是通過TransD方法從WikiData知識圖里獲取的,維度設為100,最大標題詞數(shù)為16,對于用戶歷史記錄文件,history_size設置為20;實驗采用交叉熵作為損失函數(shù)來優(yōu)化目標,并使用Adam優(yōu)化器進行優(yōu)化,學習率設置為0.001,梯度裁剪參數(shù)為0.5,每批設置為128,迭代50次。
DKN[7]是一個基于內(nèi)容的深度推薦框架,用于點擊率預測,它最大的特點是設計了一個多通道的知識感知卷積神經(jīng)網(wǎng)絡,融合了新聞的語義層面和知識層面的表示。
DeepFM[4]是一個通用的深度推薦模型,它結(jié)合了分解機器的一個組件和共享輸入的深度神經(jīng)網(wǎng)絡的一個組件。
DeepWide[3]是一種基于深度學習的模型,它結(jié)合了前饋神經(jīng)網(wǎng)絡和線性模型進行推薦,還使用了連接新聞標題和個人資料嵌入作為特征。
LibFM[14]是特征因子分解機模型的一個常用實現(xiàn),該模型廣泛用于點擊率預測場景,將新聞標題和簡介嵌入的串聯(lián)作為輸入特征。
為了驗證本研究(TLCA-NR)在新聞推薦中的有效性,在相同的實驗條件下,分別使用DKN模型、DeepFM模型、DeepWide模型、LibFM模型和本文的模型進行實驗對比。根據(jù)AUC,MRR,NDCG這些評估指標進行了以下比較,從表1可以看出,本文提出的模型對于DKN提升了1.56%,對于DeepFM提升了3.7%,對于DeepWide提升了4.25%,對于libFM提升了6.15%。

表1 各模型在MIND上的結(jié)果對比
本文還對基于CNN模型和基于LSTM-CNN的模型進行了對比,來證明LSTM能否通過遺忘門的機制來挖掘出新聞標題中的邏輯關(guān)系信息。圖4可以看出,使用LSTM-CNN網(wǎng)絡和單獨使用CNN卷積神經(jīng)網(wǎng)絡在推薦指標上有更好的效果,體現(xiàn)出LSTM在抽取新聞特征方面起到了一定的作用。

圖4 LSTM-CNN和CNN模型比較
表2對知識圖譜中實體對應的上下文特征是否引入對推薦模型的效果影響做出了對比:當引入知識圖譜實體向量時,相對于僅使用詞向量特征AUC指標提高了1.14%;當引入實體向量和實體對應知識圖譜中上下文特征時,相對于僅使用詞向量特征AUC指標提高了3.42%,從結(jié)果中可以看出使用了知識實體各項指標均優(yōu)于不使用知識實體。

表2 引入不同的特征向量對推薦結(jié)果影響
本文提出一種基于知識圖譜的新聞推薦神經(jīng)網(wǎng)絡模型,將新聞知識層面信息融入到詞向量中,使用LSTM-CNN網(wǎng)絡挖掘新聞和用戶深層次信息,再通過注意力機制根據(jù)候選新聞不同動態(tài)計算用戶偏好權(quán)重,將用戶特征向量和候選新聞詞向量通過點擊求和運算做相似度計算,得到最終的推薦結(jié)果。通過在真實數(shù)據(jù)集上的實驗,證明了TLCA-NR模型的有效性。后續(xù)研究將進一步優(yōu)化模型,可以考慮將新聞所屬類別加入進來進一步提高新聞特征提取的精準性,從而來提高推薦的性能。