唐 浩,劉柏嵩,劉曉玲,黃偉明
(寧波大學(xué) 信息科學(xué)與工程學(xué)院,浙江 寧波 315211)
學(xué)術(shù)論文作為科研人員重要的學(xué)術(shù)資源,在整個科學(xué)研究過程中起到關(guān)鍵作用。在快速發(fā)展的互聯(lián)網(wǎng)時代,學(xué)術(shù)論文發(fā)文量呈現(xiàn)爆發(fā)式增長態(tài)勢,用戶面臨日益嚴(yán)重的論文信息過載問題,而學(xué)術(shù)論文推薦被認(rèn)為是緩解該問題的有效途徑,可幫助用戶快速了解自身研究領(lǐng)域的學(xué)術(shù)前沿與動態(tài)。通過計(jì)算用戶與論文的相關(guān)性生成Top-N推薦列表,以滿足用戶對新文章或經(jīng)典文章的個性化需求[1]。
目前,常見的論文推薦方法一般分為基于協(xié)同過濾(Collaborative Filtering,CF)的論文推薦方法、基于內(nèi)容過濾(Content-Based Filtering,CBF)的論文推薦方法和基于網(wǎng)絡(luò)結(jié)構(gòu)的論文推薦方法?;贑F的論文推薦方法應(yīng)用最廣泛,然而其面向海量論文時存在嚴(yán)重的數(shù)據(jù)稀疏性問題,并且還因?yàn)閮H使用用戶-項(xiàng)目交互數(shù)據(jù)計(jì)算推薦結(jié)果,導(dǎo)致論文相關(guān)性較低。基于CBF的論文推薦方法實(shí)現(xiàn)簡單卻依賴文本相似度判斷推薦相關(guān)性,難以保證論文質(zhì)量,而且對于海量論文的計(jì)算代價過大?;诰W(wǎng)絡(luò)結(jié)構(gòu)的論文推薦方法存在冷啟動問題,例如引文網(wǎng)絡(luò)中前沿工作的引文較少,新文章在引文網(wǎng)絡(luò)中被邊緣化,并且該方法還忽視了文本內(nèi)容價值和用戶興趣。總而言之,以上方法均不能有效解決協(xié)同過濾的數(shù)據(jù)稀疏性問題。此外,用戶閱讀行為通常存在很強(qiáng)的目的性,其閱讀視野一般局限于個人掌握背景知識范圍內(nèi)的系列論文[2],因此在保證推薦列表與用戶有較強(qiáng)相關(guān)性外,還需獲取和擴(kuò)展用戶的潛在興趣。
知識圖譜(Knowledge Graph,KG)自提出以來在電影[3]、圖書[4]、新聞[5-7]等推薦場景中取得了較好的效果,由于知識圖譜內(nèi)蘊(yùn)含豐富的結(jié)構(gòu)化知識、背景知識和實(shí)體的語義關(guān)聯(lián)特征,因此知識圖譜增強(qiáng)推薦成為目前的研究熱點(diǎn)[7-9]。研究人員試圖使用多任務(wù)學(xué)習(xí)[4]或聯(lián)合學(xué)習(xí)[3]等方法從電影或圖書知識圖譜中將知識遷移到推薦過程,在一定程度上緩解了數(shù)據(jù)稀疏性問題。文獻(xiàn)[3]結(jié)合推薦計(jì)算與鏈接預(yù)測,并借鑒基于翻譯的知識圖譜表示學(xué)習(xí)算法TransH統(tǒng)一推薦任務(wù)與知識圖譜補(bǔ)全任務(wù),提升了知識圖譜的應(yīng)用效果。文獻(xiàn)[5]使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)模型的輸出表示新聞特征和建模用戶的歷史興趣,保持新聞中單詞、實(shí)體和實(shí)體上下文的對齊關(guān)系,并將其作為CNN模型的3個輸入通道,增強(qiáng)新聞文本單詞在知識級別的表示。然而,論文知識圖譜的實(shí)體數(shù)量龐大,多任務(wù)學(xué)習(xí)方法計(jì)算代價較大,并且若要達(dá)到論文單詞和實(shí)體之間較好的對齊效果,則需要高質(zhì)量的概念知識庫。本文提出基于知識圖譜表示學(xué)習(xí)的論文推薦方法(KIRec),使用基于翻譯的知識圖譜表示學(xué)習(xí)算法充分利用知識圖譜中實(shí)體間的關(guān)系信息,以解決CF的數(shù)據(jù)稀疏性問題,并保證推薦結(jié)果的多樣性。同時,利用文本信息引導(dǎo)用戶節(jié)點(diǎn)特征及其鄰域特征的融合生成最終用戶特征表示,實(shí)現(xiàn)對用戶與歷史論文之間的交互進(jìn)行有效表示。
由于將知識圖譜作為輔助信息引入到推薦系統(tǒng)中可以有效解決傳統(tǒng)推薦系統(tǒng)存在的稀疏性和冷啟動問題,因此本文主要研究基于語義路徑和特征學(xué)習(xí)的知識圖譜協(xié)同過濾方法。
1)基于語義路徑的知識圖譜協(xié)同過濾方法。文獻(xiàn)[10-12]通過元路徑計(jì)算相似路徑下用戶與項(xiàng)目的關(guān)聯(lián)性,實(shí)現(xiàn)知識圖譜的協(xié)同過濾。PER[10]方法沿著不同元路徑擴(kuò)散用戶偏好,在矩陣分解(Matrix Factorization,MF)的語義假設(shè)下,輸出用戶和項(xiàng)目隱式表示。HINE[13]方法使用基于元路徑的隨機(jī)游走策略將節(jié)點(diǎn)序列集成到擴(kuò)展的MF模型中。文獻(xiàn)[6]提出通用的規(guī)則推導(dǎo)模塊,即使用游走計(jì)算兩個項(xiàng)目間路徑的概率,提升了貝葉斯個性化排序(Bayesian Personalized Ranking,BPR)和神經(jīng)協(xié)同過濾(Neural Collaborative Filtering,NCF)[14]等模型的性能,從而得到項(xiàng)目與項(xiàng)目的特征向量對,該方法通過自動學(xué)習(xí)知識圖譜上的用戶偏好規(guī)則完成現(xiàn)有神經(jīng)網(wǎng)絡(luò)模型的協(xié)同過濾。但以上方法的路徑設(shè)計(jì)過程復(fù)雜,需要具備領(lǐng)域知識,并且忽略了用戶-項(xiàng)目中存在的其他語義路徑。
2)基于特征學(xué)習(xí)的知識圖譜協(xié)同過濾方法。該方法將實(shí)體和關(guān)系映射為低維稠密向量,輔助增強(qiáng)用戶和項(xiàng)目的表示。TransE-CF[15]融合了項(xiàng)目之間與對應(yīng)實(shí)體之間的語義近鄰,在一定程度上解決了冷啟動問題。CKE[16]在協(xié)同過濾中同時融入文本信息、結(jié)構(gòu)信息和圖像信息,使用TransR學(xué)習(xí)結(jié)構(gòu)信息的表示。DKN[5]在學(xué)習(xí)特定新聞?wù)Z義時利用基于三通道的卷積神經(jīng)網(wǎng)絡(luò),融合知識圖譜的實(shí)體特征并基于知識感知進(jìn)行新聞推薦。針對基于項(xiàng)目的協(xié)同過濾方法只使用協(xié)同相似性關(guān)系而忽略了真實(shí)場景中各項(xiàng)目之間多種關(guān)系的特點(diǎn),RCF[9]基于項(xiàng)目和關(guān)系構(gòu)建知識圖譜,分層考慮關(guān)系類型和關(guān)系值。對于數(shù)據(jù)稀疏性和冷啟動問題,文獻(xiàn)[17-18]提出KGCN和KGCN-LS方法,研究卷積網(wǎng)絡(luò)如何自動挖掘知識圖譜用戶以及項(xiàng)目高階結(jié)構(gòu)信息和語義信息,從而獲取用戶潛在興趣。為充分利用項(xiàng)目或?qū)嵗g的關(guān)系,采用高階關(guān)系建模的KGAT[8]基于用戶-項(xiàng)目二部圖和項(xiàng)目知識圖譜構(gòu)建協(xié)同知識圖譜。MKR[4]是一種通用的交替學(xué)習(xí)框架,其主要思想為將交叉壓縮單元作為知識圖譜表示學(xué)習(xí)與推薦任務(wù)的信息交互通道,用于自動共享隱式特征。本文方法是一種基于特征學(xué)習(xí)的協(xié)同過濾推薦方法,其在用戶表示過程時有選擇性地融入了文本信息與結(jié)構(gòu)信息,即將文本信息形式化為注意力權(quán)重,且在建模交互階段采用多層感知機(jī)(Multi-Layer Perceptron,MLP)代替點(diǎn)積運(yùn)算。
基于知識圖譜的協(xié)同過濾方法在多種推薦場景中得到廣泛應(yīng)用。表1總結(jié)了基于知識圖譜的協(xié)同過濾應(yīng)用場景,可以看出其在電影和圖書推薦中應(yīng)用最多,主要原因?yàn)檫@兩類推薦容易獲得對應(yīng)實(shí)體,而對于論文類學(xué)術(shù)文本的推薦,需構(gòu)建分層的概念知識圖譜,實(shí)現(xiàn)難度較大。
表1 基于知識圖譜的協(xié)同過濾應(yīng)用場景
定義2(協(xié)同知識圖譜) 基于用戶-項(xiàng)目交互圖,融入論文知識圖譜,形式上表示為CKG=
為獲取論文相應(yīng)的實(shí)體,需選擇合適的知識庫。本文從實(shí)體數(shù)量、數(shù)據(jù)質(zhì)量和獲取難易程度等方面考慮,最終確定兩個開放論文知識庫OAG[10-11]和Acemap[19]來作為構(gòu)建知識圖譜的原始數(shù)據(jù)鏈接源。基于SPARQL語句,以在線的方式從上述知識圖譜中獲取首次鏈接實(shí)體及若干關(guān)聯(lián)后的實(shí)體與關(guān)系。協(xié)同知識圖譜構(gòu)建具體包括實(shí)體鏈接與消歧、關(guān)系類型篩選和三元組存儲。
1)實(shí)體鏈接與消歧:根據(jù)論文標(biāo)題將論文鏈接到知識庫中的實(shí)體。由于論文實(shí)體的同名歧義問題,使部分查詢結(jié)果不唯一,因此使用論文的多個元數(shù)據(jù)識別產(chǎn)生歧義的論文。另外,知識庫的內(nèi)容雖然豐富,但也存在實(shí)體鏈接不成功的問題,本文通過將用戶視作特殊實(shí)體,在協(xié)同知識圖譜中保留未找到關(guān)聯(lián)的論文,即融合用戶-論文二部圖。
2)關(guān)系類型篩選:定義協(xié)同知識圖譜模式,構(gòu)建協(xié)同知識圖譜。模式中的關(guān)系類型包括用戶與論文的交互關(guān)系、論文與論文的引用關(guān)系、論文與作者的寫作關(guān)系、論文與出版物的出版關(guān)系、論文與關(guān)鍵詞的提及關(guān)系以及論文與領(lǐng)域的從屬關(guān)系。
3)三元組存儲:清洗查詢數(shù)據(jù)和規(guī)范化三元組,通過TDB數(shù)據(jù)庫工具存儲協(xié)同知識圖譜,并使用Jena接口進(jìn)行查詢和推理。
本文提出的KIRec總體框架如圖1所示。KIRec框架主要分為三部分:1)將協(xié)同知識圖譜中的節(jié)點(diǎn)(用戶和論文等)映射為低維稠密向量;2)實(shí)現(xiàn)用戶和論文表示,其主要工作為文本信息感知的知識圖譜上的鄰域融合;3)通過堆疊的MLP計(jì)算論文推薦得分并生成候選列表。
圖1 KIRec總體框架
協(xié)同知識圖譜利用符號形式對用戶和項(xiàng)目進(jìn)行建模,在知識圖譜上可以直觀地表示兩者的路徑關(guān)聯(lián)。通過元路徑設(shè)計(jì)可以較容易找到用戶感興趣的待推薦論文,然而由于元路徑的設(shè)計(jì)效率低且需要具備領(lǐng)域知識,因此本文選擇分布式的知識圖譜節(jié)點(diǎn)特征表示方式。知識圖譜表示學(xué)習(xí)算法在保存知識圖譜結(jié)構(gòu)的同時將實(shí)體映射為低維稠密向量,其因?yàn)榻Y(jié)構(gòu)簡單且高效的特點(diǎn)而受到研究人員的廣泛關(guān)注,例如TransE[20]通過優(yōu)化翻譯準(zhǔn)則eh+r≈et(其中,eh表示頭實(shí)體,r表示關(guān)系,et表示尾實(shí)體),高效學(xué)習(xí)實(shí)體和關(guān)系的向量。然而,TransE算法難以處理多對多和多對一問題。在本文中,CKG中的同一個關(guān)系可能對應(yīng)多個實(shí)體,或者同一個作者發(fā)表多篇論文,或者一篇論文對應(yīng)多個作者。在CKG上應(yīng)用TransR、TransH[21]、TransD等算法能有效解決上述問題。在協(xié)同知識圖譜上使用TransH算法相當(dāng)于將推薦任務(wù)轉(zhuǎn)換為KG鏈接預(yù)測任務(wù)。在表示學(xué)習(xí)過程中,用戶與項(xiàng)目之間潛在的偏好關(guān)系將通過其他關(guān)系進(jìn)行體現(xiàn),表示結(jié)果將蘊(yùn)含用戶對未閱讀論文的偏好。
以用戶實(shí)體eu和論文實(shí)體ep為例,基于超平面TransH翻譯函數(shù)的三元組合理性計(jì)算公式如下:
(1)
(2)
(3)
其中,Wr為投影矩陣,根據(jù)特定關(guān)系將實(shí)體映射到超平面。從CKG中學(xué)習(xí)到的實(shí)體向量主要包括待推薦論文表示向量ep,知識圖譜上的用戶表示eu和用戶節(jié)點(diǎn)鄰域集{eu1,eu2,…,eun}。
在用戶興趣建模階段,融合知識圖譜的用戶節(jié)點(diǎn)以及該節(jié)點(diǎn)的一階鄰域節(jié)點(diǎn),有利于獲得用戶更全面的特征表示。常用的鄰域融合方法是直接對鄰域表示向量求平均值,計(jì)算公式如下:
(4)
該平均方式將所有論文同等對待,但顯然未對用戶興趣進(jìn)行區(qū)分,而且只考慮了KG中包含的結(jié)構(gòu)信息。為更好地衡量用戶已閱讀的文本信息對用戶建模的影響,使用注意力機(jī)制計(jì)算鄰域節(jié)點(diǎn)的權(quán)重,計(jì)算方法如圖2所示,待推薦論文向量和歷史論文向量即句子向量,權(quán)重在圖1中使用wi(i=1,2,…,n)進(jìn)行表示。該模塊的主要思想在于計(jì)算待推薦論文與歷史論文的文本匹配得分,衡量該論文對于用戶興趣的符合程度,可見注意力機(jī)制能有效感知用戶面對不同論文時的感興趣程度。
圖2 基于注意力機(jī)制的鄰域節(jié)點(diǎn)權(quán)重計(jì)算
ci=Φ(h°wi:i+k-1+b)
(5)
為融合基于TransH表示的用戶節(jié)點(diǎn)和基于注意力機(jī)制的節(jié)點(diǎn)鄰域信息,文本使用雙交互聚合方式[8]將eu和eNu聚合為最終的用戶表示:
LeakyReLU(W2(eu+eNu))
(6)
其中,⊙為向量對應(yīng)元素的乘積運(yùn)算,W1和W2為可訓(xùn)練的參數(shù)矩陣,該聚合方式能對用戶與歷史論文之間的交互進(jìn)行有效表示。
?
(7)
其中,ai(i=1,2,…,L)是多層感知機(jī)的激活函數(shù),此處選擇ReLU函數(shù),Wj和bj(j=1,2,…,L)分別表示可訓(xùn)練的參數(shù)矩陣和偏置。最后使用輸出函數(shù)計(jì)算得分:
sscore=φout(zL)=σ(hTzL)
(8)
其中,σ表示最后一層的輸出函數(shù),選擇sigmoid函數(shù)σ=1/(1+e-x)。
本文實(shí)驗(yàn)運(yùn)行環(huán)境為Linux操作系統(tǒng)、64 GB內(nèi)存、2 TB硬盤、NVIDIA TITAN Xp顯卡、Python 3.6版本。為驗(yàn)證KIRec方法的有效性,實(shí)驗(yàn)使用公開獲取的CiteULike-a數(shù)據(jù)集[24-25],包含用戶和論文的交互記錄210 518條,數(shù)據(jù)稀疏性為99.78%。該數(shù)據(jù)集通過虛擬論文資源共享平臺CiteULike收集和整理而成,其允許用戶在線創(chuàng)建和管理文獻(xiàn)。首先,CiteULike平臺的用戶注冊后可創(chuàng)建文獻(xiàn)興趣倉庫,反映了真實(shí)場景下用戶對文獻(xiàn)的歷史偏好,因此收集到的數(shù)據(jù)滿足實(shí)驗(yàn)需求。其次,CiteULike-a數(shù)據(jù)集包含清洗后的用戶-項(xiàng)目對、論文標(biāo)題和摘要等數(shù)據(jù),其論文標(biāo)題在預(yù)處理后與知識庫進(jìn)行實(shí)體鏈接,具有較高的成功率,其文本內(nèi)容也滿足本文注意力機(jī)制的實(shí)驗(yàn)數(shù)據(jù)需求。最后,CiteUlike-a數(shù)據(jù)集的數(shù)據(jù)稀疏性較高,有效驗(yàn)證了CKG有助于提升協(xié)同過濾算法的性能。
對于數(shù)據(jù)集的預(yù)處理,實(shí)驗(yàn)參照常用處理方式[3,22,24],如果用戶與論文存在交互則編碼為1,否則編碼為0。實(shí)驗(yàn)所需的額外實(shí)體和關(guān)系來自O(shè)AG和Acemap論文知識庫,知識庫基于圖結(jié)構(gòu)保存論文實(shí)體、論文元數(shù)據(jù)及它們之間的關(guān)系。針對知識庫的查詢實(shí)驗(yàn)設(shè)置關(guān)聯(lián)次數(shù)為1,即查詢結(jié)果包括應(yīng)用實(shí)體鏈接技術(shù)獲取的實(shí)體集合及該集合中所有實(shí)體的一階鄰域?qū)嶓w集合。查詢結(jié)果以json格式的數(shù)據(jù)返回,經(jīng)過數(shù)據(jù)清洗和數(shù)據(jù)消歧等操作后所得數(shù)據(jù)統(tǒng)計(jì)如表2所示。考慮到實(shí)驗(yàn)性能且為保證數(shù)據(jù)集質(zhì)量,去除交互記錄數(shù)量少于5的用戶[3,14]及過濾出現(xiàn)次數(shù)低于閾值δ的實(shí)體以及對應(yīng)的邊。實(shí)驗(yàn)中選取δ=5得到形如(頭實(shí)體,關(guān)系,尾實(shí)體)的三元組數(shù)量為1 184 131。將用戶-論文隱式反饋對按照7∶3的比例劃分為訓(xùn)練集和測試集,嵌入向量的維數(shù)d=100。
表2 實(shí)驗(yàn)數(shù)據(jù)統(tǒng)計(jì)
在評估階段,隨機(jī)選取100篇用戶未交互的論文,與測試集的論文同時進(jìn)行排序。選擇兩種常用于衡量推薦結(jié)果排序質(zhì)量的評價指標(biāo)HR@N和NDCG@N,計(jì)算基準(zhǔn)方法的平均得分。HR@N表示前N篇推薦論文中,正確預(yù)測用戶偏好的論文在其中所占的比例,可直觀地看出論文是否出現(xiàn)在推薦列表中。NDCG@N為歸一化折損累積增益,衡量了推薦列表中前N篇論文的排序質(zhì)量。對于用戶感興趣的論文,根據(jù)其位置累積增益,對于不感興趣的論文則增益為0,最終對排序位置進(jìn)行折損,將用戶感興趣的論文排在前面。
本文選取兩類基準(zhǔn)對比方法:
1)基于MF與CBF的論文推薦方法。前者基于協(xié)同過濾的矩陣分解方法,廣泛應(yīng)用于多種推薦場景。后者基于內(nèi)容過濾,實(shí)驗(yàn)主要評估論文標(biāo)題和摘要的相似度指標(biāo)。
2)基于知識圖譜的論文推薦方法:CKE[16]和DKN[5]。前者結(jié)合項(xiàng)目結(jié)構(gòu)信息、文本信息和圖像信息的協(xié)同推薦算法,實(shí)驗(yàn)過程中應(yīng)用項(xiàng)目結(jié)構(gòu)信息和文本信息特征。后者通過融入知識圖譜信息和文本信息的知識感知模型,并使用CNN進(jìn)行實(shí)體向量和鄰域向量的特征提取。
表3顯示了KIRec方法與基準(zhǔn)方法在N=10時的實(shí)驗(yàn)結(jié)果,可以看出CF方法推薦效果較差,其主要原因可能為不同用戶對于論文閱讀感興趣領(lǐng)域不同,只依賴協(xié)同關(guān)系的推薦列表在數(shù)據(jù)稀疏的情況下推薦結(jié)果會產(chǎn)生較大偏差。CBF方法相對CF方法推薦效果有一定程度的性能提升,其主要原因?yàn)橛脩糸喿x興趣在很大程度上取決于其閱讀過的文本與待推薦文本之間的語義相似性。由此可見,基于知識圖譜的論文推薦方法效果優(yōu)于基于MF與CBF的論文推薦方法,而KIRec方法能取得最優(yōu)效果的原因主要與結(jié)構(gòu)信息、文本信息的融合相關(guān),基于注意力機(jī)制的DKN和KIRec方法比未使用注意力機(jī)制的推薦方法性能更好。
表3 5種推薦方法的實(shí)驗(yàn)結(jié)果比較
表4對比了4種基于翻譯的知識圖譜表示學(xué)習(xí)算法對KIRec方法的影響,可見KIRec+TransH方法的性能表現(xiàn)最好。此外,實(shí)驗(yàn)還對無鄰域信息(withoutNu)的KIRec方法、通過求解領(lǐng)域信息平均值的方式代替注意力機(jī)制(Nuby Average)的KIRec方法和本文KIRec方法進(jìn)行對比,實(shí)驗(yàn)結(jié)果如表5所示,可以看出這兩種參數(shù)設(shè)置方式能有效提升KIRec方法的推薦效果。
表4 基于知識圖譜表示學(xué)習(xí)算法的KIRec實(shí)驗(yàn)結(jié)果比較
表5 不同參數(shù)設(shè)置方式的KIRec實(shí)驗(yàn)結(jié)果比較
在海量論文中為用戶進(jìn)行個性化論文推薦時,數(shù)據(jù)稀疏性問題嚴(yán)重影響了論文推薦質(zhì)量。為此,本文提出基于協(xié)同知識圖譜特征學(xué)習(xí)的論文推薦方法,采用協(xié)同知識增強(qiáng)方式加強(qiáng)語義關(guān)聯(lián)性,利用結(jié)合文本信息與結(jié)構(gòu)信息的注意力機(jī)制對用戶偏好進(jìn)行建模。同時,使用聚合函數(shù)融合用戶在知識圖譜上的鄰域特征表示,并通過多層感知機(jī)的非線性變換提高用戶與論文的推薦得分。實(shí)驗(yàn)結(jié)果表明,與傳統(tǒng)推薦方法和基于知識圖譜的推薦方法相比,該方法具有更好的推薦效果和排序質(zhì)量。但本文構(gòu)建的知識圖譜中的關(guān)系類型較少而論文實(shí)體數(shù)量較多,且在獲取知識庫實(shí)體時僅選取關(guān)聯(lián)次數(shù)為1的相關(guān)實(shí)體,后續(xù)將在研究多樣化關(guān)系和用戶偏好類型的基礎(chǔ)上,增加知識庫相關(guān)實(shí)體的關(guān)聯(lián)次數(shù),進(jìn)一步提高論文推薦準(zhǔn)確率。