劉瓊昕, 宋祥, 覃明帥
(1.北京理工大學(xué) 計(jì)算機(jī)學(xué)院,北京 100081;2.北京市海量語言信息處理與云計(jì)算應(yīng)用工程技術(shù)研究中心,北京 100081)
新聞平臺(tái)擁有大量的新聞信息,如果讓用戶直接選擇,那么會(huì)對(duì)用戶造成極大的選擇困擾.因此,構(gòu)建一個(gè)能夠捕獲用戶的閱讀興趣并推送相關(guān)信息的個(gè)性化推薦系統(tǒng)對(duì)于新聞平臺(tái)來說是至關(guān)重要的.在推薦系統(tǒng)中,主要有3類算法:基于內(nèi)容的方法、協(xié)同過濾和混合方法.由于協(xié)同過濾具有用戶和物品的交互信息是稀疏的特點(diǎn)且存在冷啟動(dòng)問題,不適合新聞推薦場(chǎng)景,主流的新聞推薦方法通常是基于內(nèi)容或者混合方法.
隨著深度學(xué)習(xí)技術(shù)的發(fā)展,一些研究人員開始利用深度學(xué)習(xí)模型來構(gòu)建新聞特征和用戶興趣特征.Steffen提出了基于特征的因子分解模型LibFM[1],該模型在矩陣分解(MF)[2]、SVD++[3]、PITF[4]、FPMC[5]等基礎(chǔ)之上,針對(duì)高維稀疏數(shù)據(jù),實(shí)現(xiàn)了隨機(jī)梯度下降(SGD)、交替最小二乘(ALS)[6]和使用MCMC進(jìn)行貝葉斯推斷的方法[7].Cheng等[8]提出了推薦模型Wide&Deep,將邏輯回歸模型和前饋神經(jīng)網(wǎng)絡(luò)結(jié)合起來,既發(fā)揮邏輯回歸模型的優(yōu)勢(shì),又利用前饋神經(jīng)網(wǎng)絡(luò)的自動(dòng)特征組合學(xué)習(xí)和強(qiáng)泛化能力進(jìn)行補(bǔ)充,對(duì)模型整體學(xué)習(xí),在Google Apps推薦的大規(guī)模數(shù)據(jù)上成功應(yīng)用.Guo等[9]在FM[10]、FFM[11]的基礎(chǔ)上進(jìn)行改進(jìn),加入神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),提出了深度推薦模型DeepFM.該模型通過加入多層的神經(jīng)網(wǎng)絡(luò),使得低階和高階特征組合隱含地體現(xiàn)在隱藏層中,解決之前模型只實(shí)現(xiàn)二階組合特征的缺陷;并通過FFM的思想,將特征分為不同的域(Filed),降低模型網(wǎng)絡(luò)參數(shù);模型設(shè)計(jì)了并行和串行結(jié)構(gòu),實(shí)現(xiàn)了高階的特征組合.
現(xiàn)階段,基于新聞的推薦系統(tǒng)僅僅從語義層對(duì)新聞進(jìn)行表示學(xué)習(xí),忽略了新聞本身包含的知識(shí)層面的信息.而知識(shí)層面的信息大部分都存在于知識(shí)圖譜中,將新聞推薦模型與知識(shí)圖譜相結(jié)合的相關(guān)研究還很少.Wang等[12]提出了融合知識(shí)圖譜信息的深度推薦模型DKN.DKN首先構(gòu)造了一個(gè)與任務(wù)高度相關(guān)的知識(shí)圖譜,接著在傳統(tǒng)的深度神經(jīng)網(wǎng)絡(luò)模型的基礎(chǔ)上,將知識(shí)圖譜的實(shí)體信息融入到神經(jīng)網(wǎng)絡(luò)中,實(shí)現(xiàn)了把新聞的語義表示和實(shí)體的知識(shí)表示融合的目標(biāo).這種方法雖然考慮了不同層面上的信息,實(shí)驗(yàn)證明比未添加實(shí)體信息的傳統(tǒng)方法效果好,但是用知識(shí)表示學(xué)習(xí)模型單獨(dú)生成的實(shí)體向量更適合用于鏈接預(yù)測(cè)等任務(wù),直接用在推薦模型中會(huì)丟失新聞實(shí)體之間的聯(lián)系,造成一定程度的信息丟失.
現(xiàn)有的深度新聞推薦網(wǎng)絡(luò)模型對(duì)知識(shí)圖譜的融合只考慮實(shí)體本身的信息,融合知識(shí)圖譜的實(shí)體特征或者與實(shí)體距離為1的相鄰實(shí)體特征.這種方法雖然考慮了不同層面上的信息,補(bǔ)充了新聞實(shí)體信息,但是未考慮新聞實(shí)體之間的關(guān)聯(lián)關(guān)系[13],忽略了知識(shí)圖譜中遠(yuǎn)距離實(shí)體之間的聯(lián)系,造成了新聞實(shí)體之間的關(guān)聯(lián)信息和深層次語義聯(lián)系的缺失.針對(duì)該信息缺失問題,本文提出了基于知識(shí)增強(qiáng)的深度新聞推薦網(wǎng)絡(luò)DKEN,補(bǔ)充新聞標(biāo)題實(shí)體之間的關(guān)聯(lián)信息,在構(gòu)建用戶興趣特征和預(yù)測(cè)點(diǎn)擊候選新聞概率中分別添加實(shí)體路徑特征[14],補(bǔ)充知識(shí)圖譜中遠(yuǎn)距離實(shí)體之間的聯(lián)系,增強(qiáng)模型的表達(dá)能力.
融合知識(shí)圖譜的深度新聞推薦網(wǎng)絡(luò)模型通過構(gòu)建新聞特征和用戶興趣特征對(duì)候選新聞進(jìn)行推薦.模型定義如式(1)所示.
p=f(u,v|θ,C,G)
(1)
模型的整體流程如圖1所示.在模型訓(xùn)練模塊,DKEN考慮了兩種向量:一種是實(shí)體和關(guān)系向量;一種是新聞標(biāo)題中的詞向量.實(shí)體和關(guān)系向量首先從新聞?wù)Z料中識(shí)別出實(shí)體,將其與知識(shí)圖譜中的實(shí)體相匹配,構(gòu)造出新的知識(shí)圖譜,利用知識(shí)表示學(xué)習(xí)模型得到實(shí)體和關(guān)系的向量表示.新聞標(biāo)題中的詞向量表示使用大規(guī)模語料通過詞嵌入方法得到.在模型測(cè)試模塊,基于訓(xùn)練得到的DKEN模型,預(yù)測(cè)用戶點(diǎn)擊候選新聞的概率.
圖1 DKEN的整體流程
DKEN的整體框架如圖2所示,輸入是候選新聞標(biāo)題、用戶瀏覽過的新聞標(biāo)題以及候選新聞標(biāo)題與每個(gè)瀏覽過的新聞標(biāo)題之間的實(shí)體路徑,輸出是用戶點(diǎn)擊候選新聞標(biāo)題的概率.模型首先用基于知識(shí)感知的卷積神經(jīng)網(wǎng)絡(luò)(knowledge-aware convolutional neural network,KCNN)[12]融合新聞標(biāo)題的文本特征、實(shí)體特征和實(shí)體上下文特征,構(gòu)建候選新聞特征.然后,對(duì)于用戶瀏覽過的新聞標(biāo)題,考慮候選新聞特征,使用注意力網(wǎng)絡(luò)動(dòng)態(tài)地構(gòu)建用戶的興趣特征.為了更好地刻畫用戶瀏覽過的新聞標(biāo)題與候選新聞標(biāo)題之間的遠(yuǎn)距離聯(lián)系,論文額外考慮了兩者所包含實(shí)體之間的路徑信息,利用長(zhǎng)短期記憶網(wǎng)絡(luò)構(gòu)建路徑特征.最終,以候選新聞特征、用戶的動(dòng)態(tài)興趣特征和加權(quán)實(shí)體路徑特征為輸入,用多層感知機(jī)(MLP)得到用戶點(diǎn)擊候選新聞的概率,進(jìn)而達(dá)到推薦目的.
圖2 DKEN的整體結(jié)構(gòu)
為了在模型中利用知識(shí)圖譜的信息,本文首先構(gòu)建一個(gè)和任務(wù)高度相關(guān)的知識(shí)圖譜.首先從新聞標(biāo)題中識(shí)別出實(shí)體,本文采用Sil等[15]所提出的實(shí)體鏈接技術(shù),將新聞標(biāo)題中的單詞與知識(shí)庫中的實(shí)體進(jìn)行匹配消歧.在處理完所有的新聞標(biāo)題后,得到一個(gè)新聞實(shí)體集合Enews.由于原始的知識(shí)圖譜規(guī)模較大,包含了大量與集合Enews中的實(shí)體無關(guān)的內(nèi)容,為了減少計(jì)算代價(jià),本文根據(jù)集合Enews從原始的知識(shí)圖譜中抽取出一個(gè)子圖,子圖中剔除了那些不屬于集合Enews且不處于連通任意ei∈Enews的路徑上的結(jié)點(diǎn)和相應(yīng)的邊.接下來本采用知識(shí)表示學(xué)習(xí)方法,例如TransE[16]、TransH[17]、TransR[18]、TransD[19]等將知識(shí)圖譜子圖中的實(shí)體和關(guān)系映射到低維向量空間,得到實(shí)體和關(guān)系的特征向量,供后續(xù)的DKEN模型使用.
本文構(gòu)建新聞特征采用與DKN模型相同的方法,即使用知識(shí)感知的卷積神經(jīng)網(wǎng)絡(luò)KCNN來提取新聞特征.該方法以Kim提出的TextCNN[20]為基礎(chǔ)模型,融合文本特征、實(shí)體特征和實(shí)體上下文特征來提取新聞特征.
(2)
(3)
其中,⊕為連接運(yùn)算符,將實(shí)體向量el與關(guān)系向量rl連接為一個(gè)2d維的向量xl,作為L(zhǎng)STM的第l個(gè)輸入,對(duì)于l=L的情況,用一個(gè)零向量填充缺失的關(guān)系向量.在LSTM中,每個(gè)單元的計(jì)算如式(4)~(9)所示.
zl=tanh(Wzxl+Whhl-1+bz)
(4)
fl=σ(Wfxl+Whhl-1+bf)
(5)
il=σ(Wixl+Whhl-1+bi)
(6)
ol=σ(Woxl+Whhl-1+bo)
(7)
cl=fl·cl-1+il·zl
(8)
hl=oltanh(cl)
(9)
其中,cl∈Rd′、z∈Rd′分別為細(xì)胞狀態(tài)以及當(dāng)前細(xì)胞要更新的信息;d′為隱含層的單元數(shù)量,即狀態(tài)向量的維度;il、ol和fl分別代表輸入門、輸出門和遺忘門;Wz∈Rd′×3d、Wf∈Rd′×3d、Wi∈Rd′×3d、Wh∈Rd′×d′分別代表映射矩陣;bz、bf、bi和bo為偏置向量.σ為sigmoid激活函數(shù),為逐元素(element-wise)的乘法操作.最后一層輸出hl作為整個(gè)路徑的特征向量表示,用H來表示LSTM網(wǎng)絡(luò),即H(p)=hl.
(10)
圖3 注意力網(wǎng)絡(luò)
(11)
用戶u的動(dòng)態(tài)興趣特征qu的計(jì)算公式如式(12)所示.
(12)
在預(yù)測(cè)用戶u是否會(huì)點(diǎn)擊候選新聞標(biāo)題tj時(shí),本文提出的模型DKEN不僅考慮了用戶的動(dòng)態(tài)興趣特征、候選新聞特征,還考慮了候選新聞標(biāo)題和用戶瀏覽過的新聞標(biāo)題的的加權(quán)路徑特征,通過多層感知機(jī)預(yù)測(cè)用戶點(diǎn)擊候選新聞的概率.
候選新聞特征qt如式(2)所示,用戶u的動(dòng)態(tài)興趣特征qu如式(12)所示,候選新聞標(biāo)題和用戶瀏覽過的新聞標(biāo)題的的加權(quán)路徑特征pu,tj的計(jì)算公式如式(13)所示.
(13)
最后,用一個(gè)多層感知機(jī)G來預(yù)測(cè)用戶u點(diǎn)擊候選新聞tj的概率,計(jì)算公式如式(14)所示.
pu,tj=G(qu,qtj,pu,tj)
(14)
本文采用的數(shù)據(jù)集與DKN相同,來自必應(yīng)新聞,其中每條記錄包含用戶ID、新聞標(biāo)題、用戶是否瀏覽以及時(shí)間戳等信息.訓(xùn)練集數(shù)據(jù)集來自2016年10月16日至2017年6月11日的新聞,測(cè)試集數(shù)據(jù)來自2017年6月12日至2017年8月11日的新聞.本文通過微軟的Satori知識(shí)圖譜數(shù)據(jù)庫信息,將新聞標(biāo)題中的單詞與知識(shí)庫中的實(shí)體進(jìn)行匹配消歧,并同時(shí)獲得與實(shí)體一步可達(dá)的實(shí)體.表1和表2分別是提取的知識(shí)圖譜和新聞數(shù)據(jù)集的統(tǒng)計(jì)信息.
表1 提取的知識(shí)圖譜的統(tǒng)計(jì)信息
表2 新聞數(shù)據(jù)集的統(tǒng)計(jì)信息
圖4和圖5分別是一條新聞標(biāo)題中單詞(去除停用詞)和實(shí)體的數(shù)目的分布.實(shí)驗(yàn)中訓(xùn)練集和測(cè)試集都經(jīng)過采樣保證正負(fù)樣本的均衡,表3是訓(xùn)練集和測(cè)試集的統(tǒng)計(jì)信息.
圖4 新聞標(biāo)題單詞數(shù)量分布
圖5 新聞標(biāo)題實(shí)體數(shù)量分布
表3 訓(xùn)練集和測(cè)試集的統(tǒng)計(jì)信息
實(shí)驗(yàn)的參數(shù)設(shè)置如下:word embeddings和entity embeddings的維度是100,KCNN中,窗口大小是1,2,3,4,每個(gè)窗口對(duì)應(yīng)的卷積核個(gè)數(shù)均是100.使用Adam[22]訓(xùn)練優(yōu)化模型.
實(shí)驗(yàn)對(duì)比的基準(zhǔn)方法如下.
TextCNN:從新聞標(biāo)題的詞向量中提取文本特征作為新聞的向量表示,用戶特征用該用戶瀏覽過新聞的特征向量的均值來表示,用一個(gè)多層感知機(jī)基于用戶特征和候選新聞特征來預(yù)測(cè)用戶瀏覽新聞的概率.
KPCNN[23]:在TextCNN的基礎(chǔ)上,引入單詞對(duì)應(yīng)的實(shí)體的向量,將其拼接在單詞的詞向量后面作為單詞的綜合向量.
DKN:利用TextCNN從新聞的文本特征和實(shí)體特征中學(xué)習(xí)新聞的綜合特征,利用注意力網(wǎng)絡(luò)構(gòu)動(dòng)態(tài)構(gòu)造用戶特征.
Wide&Deep:一種通用的推薦模型,包含一個(gè)線性的wide通道和非線性的deep通道.
LibFM:一個(gè)經(jīng)典的基于特征分解的CTR預(yù)估模型.
3.2.1基準(zhǔn)模型對(duì)比
DKEN和各種基準(zhǔn)方法的實(shí)驗(yàn)結(jié)果對(duì)比如表4所示,為了更方便的對(duì)比數(shù)據(jù),在AUC指標(biāo)上,將數(shù)值放大100倍后顯示.其中Wide&Deep*和LibFM*分別代表Wide&Deep和LibFM去掉實(shí)體向量輸入后的版本.
表4 DKEN與基準(zhǔn)模型的實(shí)驗(yàn)結(jié)果比較
從表4中可以得出,LibFM的表現(xiàn)最差,一方面是因?yàn)長(zhǎng)ibFM模型本身結(jié)構(gòu)比較簡(jiǎn)單,限制了表達(dá)能力;另一方面是因?yàn)長(zhǎng)ibFM需要人工從詞向量中構(gòu)造新聞的特征和用戶特征,人工很難構(gòu)造出最適合該模型的特征.除了LibFM,其他模型均為深度網(wǎng)絡(luò)模型,其中Wide&Deep是一種通用的推薦模型,應(yīng)用于本論文描述的新聞推薦問題時(shí),同樣需要人工從詞向量中構(gòu)造新聞特征作為模型輸入,因此效果相對(duì)較差.Wide&Deep和LibFM在引入了實(shí)體向量作為額外輸入后,性能均得到了一定的提升.
TextCNN、KPCNN、DKN、DKEN這4種模型均是基于CNN從原始的詞向量中提取新聞特征.其中TextCNN僅考慮新聞標(biāo)題文本的詞向量,KPCNN在TextCNN的基礎(chǔ)上,將單詞的對(duì)應(yīng)實(shí)體的向量拼接在每一個(gè)詞向量后面作為單詞的綜合向量,模型相對(duì)TextCNN有一點(diǎn)提升.DKN在TextCNN的基礎(chǔ)上,以多通道的形式融合了詞向量和實(shí)體向量,并對(duì)實(shí)體向量做了映射,這種方式與KPCNN直接拼接兩種向量的做法相比更加合理,另外還引入了注意力網(wǎng)絡(luò)來更好地構(gòu)造用戶特征,因此DKN與KPCNN相比有了更大的提升.本文提出的模型DKEN在DKN的基礎(chǔ)上引入路徑向量,在一定程度上彌補(bǔ)了實(shí)體向量的信息丟失,加強(qiáng)了注意力網(wǎng)絡(luò)的效果,與DKN 相比有了進(jìn)一步的提升.
3.2.2模型變體對(duì)比
為了進(jìn)一步說明DKEN中各種機(jī)制的效果,本文針對(duì)DKEN的各種變體進(jìn)行了對(duì)比實(shí)驗(yàn),結(jié)果如表5所示.其中,DKEN without attention表示DKEN去除注意力網(wǎng)絡(luò)后的模型,DKEN without path embedding表示DKEN去除實(shí)體路徑向量后的模型,DKEN without context embedding表示DKEN去除實(shí)體上下文向量后的模型,DKEN without entity embedding表示DKEN 去除實(shí)體向量后的模型,DKEN without knowledge embedding表示DKEN去除了實(shí)體向量和實(shí)體上下文向量后的模型,DKEN without mapping表示DKEN去除了對(duì)實(shí)體向量的映射后的模型,DKEN+TransE、DKEN+TransH和DKEN+TransR中的實(shí)體向量分別通過TransE、TransH和TransR學(xué)習(xí)得到,其他情況下的DKEN默認(rèn)采用TransD 學(xué)習(xí)實(shí)體向量.
表5 DKEN變體直接的實(shí)驗(yàn)結(jié)果比較
從表5中可以得出如下結(jié)論.
(1)實(shí)體路徑向量的引入使得模型性能得到了提升.對(duì)知識(shí)圖譜信息的融合如果僅僅考慮實(shí)體的信息,那么就會(huì)忽略了遠(yuǎn)距離實(shí)體之間的聯(lián)系,實(shí)體路徑向量補(bǔ)充了這種實(shí)體之間的關(guān)系聯(lián)系和深層次語義聯(lián)系.
(2)注意力網(wǎng)絡(luò)使模型關(guān)注到更為重要的信息,性能得到較大提升.
(3)實(shí)體向量和實(shí)體上下文向量都能帶來一些提升,同時(shí)將這兩種向量作為輸入時(shí),它們能夠起到互補(bǔ)的作用,帶來更多的提升.
(4)非線性映射函數(shù)的引入能夠有效地減輕實(shí)體向量與詞向量的兼容性問題,顯著地提升模型效果.
(5)在使用不同的知識(shí)表示學(xué)習(xí)模型生成的向量時(shí),DKEN性能有一些較小的變化,其中使用TransD生成的向量的DKEN模型取得了最好的效果.
3.2.3案例分析
為了直觀地說明知識(shí)圖譜在模型中起到的作用,本文抽取了某個(gè)用戶A在訓(xùn)練集和測(cè)試集中的樣本,分別如表6和表7所示,在訓(xùn)練樣本集中,第1~5條跟IT相關(guān),第6~8條跟政治相關(guān),在測(cè)試樣本集中,第1~3條和IT相關(guān),第4條和電影相關(guān).論文用同樣的數(shù)據(jù)集分別訓(xùn)練包含知識(shí)圖譜信息的模型(DKEN with KG)和不包含知識(shí)圖譜信息的模型(DKEN without KG),這兩種模型對(duì)用戶A進(jìn)行預(yù)測(cè)時(shí)的注意力結(jié)果分別如圖6和圖7所示,顏色越深表示注意力越高.從圖5中可以看出,第1條測(cè)試樣本對(duì)第1~4條訓(xùn)練樣本有較高的注意力,這是因?yàn)椤癆pple”、“Microsoft”等詞在新聞標(biāo)題語料庫中經(jīng)常一起出現(xiàn),如表8所示,而詞向量正是基于這種詞的共現(xiàn)關(guān)系來生成的,因此僅使用詞向量的模型也能較好地捕獲這種關(guān)聯(lián).第2~3條測(cè)試樣本的結(jié)果較差,因?yàn)檫@兩個(gè)標(biāo)題中詞與訓(xùn)練樣本中的詞沒有在語料庫中頻繁地共現(xiàn).而在圖6中可以看出,第2條測(cè)試樣本對(duì)第3~4條訓(xùn)練樣本有較高注意力,第3條測(cè)試樣本對(duì)第1~2條訓(xùn)練樣本有較高注意力.這是因?yàn)椤癥outube”和“Cortana”的實(shí)體在知識(shí)圖譜中分別與“Google”和“Microsoft”的實(shí)體密切相關(guān),它們的上下文重疊程度較高.
表6 用戶A的訓(xùn)練樣本集
表7 用戶A的測(cè)試樣本集
表8 部分與Microsoft相關(guān)的新聞標(biāo)題
圖6 用戶A訓(xùn)練集和測(cè)試集的注意力可視化結(jié)果(有KG)
圖7 用戶A訓(xùn)練集和測(cè)試集的注意力可視化結(jié)果(無KG)
3.2.4推薦結(jié)果解釋
結(jié)合注意力機(jī)制和新聞之間的實(shí)體關(guān)系路徑,論文可以模型的推薦結(jié)果提供直觀的解釋.以用戶A的測(cè)試樣本3為例,該樣本的注意力集中在訓(xùn)練樣本1和訓(xùn)練樣本2,這意味著測(cè)試樣本3被推薦給用戶A主要是受訓(xùn)練樣本1和2的影響,因此可以將訓(xùn)練樣本1和2中的實(shí)體與測(cè)試樣本3中的實(shí)體之間的路徑提取出來作為推薦的解釋.訓(xùn)練樣本1和2中包含實(shí)體“Microsoft”、“Windows”和“Microsoft Surface”,測(cè)試樣本3中包含實(shí)體“Cortana”,在知識(shí)圖譜中實(shí)體之間的關(guān)系如圖8所示.DKEN模型在預(yù)測(cè)用戶興趣時(shí),考慮到了實(shí)體在知識(shí)圖譜中的關(guān)聯(lián),測(cè)試樣本3被推薦給用戶A,很大程度上是因?yàn)椤癈ortana”與“Microsoft”等實(shí)體關(guān)系密切,因此可以將這種實(shí)體關(guān)系展示出來解釋推薦的原因.
圖8 對(duì)推薦結(jié)果的知識(shí)路徑解釋
本文基于現(xiàn)有的新聞推薦系統(tǒng)無法捕捉實(shí)體之間的深層次語義聯(lián)系,提出了DKEN模型.模型利用KCNN從新聞標(biāo)題的詞向量、實(shí)體向量和實(shí)體上下文向量組成的三通道輸入中提取新聞特征,利用注意力網(wǎng)絡(luò)根據(jù)用戶瀏覽過的新聞標(biāo)題和候選新聞標(biāo)題來動(dòng)態(tài)構(gòu)建用戶特征、實(shí)體路徑特征.為了更好地刻畫用戶瀏覽過的新聞標(biāo)題與候選新聞標(biāo)題之間的遠(yuǎn)距離聯(lián)系,論文額外考慮了兩者所包含實(shí)體之間的路徑信息,利用LSTM構(gòu)建實(shí)體路徑特征.最后通過MLP來預(yù)測(cè)用戶點(diǎn)擊候選新聞標(biāo)題的概率.實(shí)驗(yàn)結(jié)果顯示該模型效果優(yōu)于其他新聞推薦模型.在DKEN模型中,新聞標(biāo)題中的部分單詞無法對(duì)應(yīng)到知識(shí)圖譜中的實(shí)體,本文的做法是用零向量填充,在未來的工作中,可以考慮用更合理的方法解決該問題.