唐 浩 劉柏嵩 黃偉明
(寧波大學(xué)信息科學(xué)與工程學(xué)院 浙江 寧波 315211)
對科研工作者而言,獲取高相關(guān)性和高質(zhì)量論文需要耗費大量時間和精力,如果存在一種可以智能協(xié)助研究人員(下文簡稱“用戶”)高效地尋找論文的過濾工具必將受到歡迎。目前用戶查找論文一般通過特定關(guān)鍵詞直接搜索,然而每次查找后必須再經(jīng)若干次的過濾才能得到較為滿意的論文列表;另一種有效的方法是從參考書目或者引文數(shù)據(jù)中篩選,雖然在某種程度上提高了查詢結(jié)果的相關(guān)度,但是固有問題是優(yōu)質(zhì)的新論文由于引文的缺失而很難被搜索到。論文推薦系統(tǒng)簡化了用戶查找論文的流程,促成從人找論文到論文找人的轉(zhuǎn)變[1],極大地提高了論文獲取的效率。目前的論文推薦方法[2]一般分為基于協(xié)同過濾(CF)、基于內(nèi)容過濾(CBF)和基于圖(GB)的方法。
CF方法的主要觀點是行為相似的用戶對項目有相同的偏好,一般通過計算用戶向量和論文向量的匹配獲得分?jǐn)?shù),由于論文推薦固有的數(shù)據(jù)稀疏等問題通常表現(xiàn)不佳。近年來由于深度學(xué)習(xí)強大的特征學(xué)習(xí)能力,一定程度改善了CF方法的推薦性能,例如,Ebesu等[3]提出一種協(xié)同記憶網(wǎng)絡(luò)CMN,以非線性的方式統(tǒng)一了全局因子模型和基于局部鄰域結(jié)構(gòu)的兩類CF模型,取得了較好的論文推薦效果。然而,CF僅基于用戶和論文的交互數(shù)據(jù),丟失大部分顯式和隱式的關(guān)聯(lián)信息。
CBF技術(shù)已經(jīng)較為成熟,其原理是推薦與用戶興趣相似的文章(論文或論文),關(guān)鍵步驟是匹配用戶和文章的相關(guān)性[4]。例如,ER[1]融合內(nèi)容特征和非內(nèi)容的偏置,在基于內(nèi)容的框架中推薦多類型的學(xué)術(shù)資源。微軟學(xué)術(shù)推薦系統(tǒng)[5]是一種基于內(nèi)容和基于圖的混合系統(tǒng),首先用基于內(nèi)容的方法從海量文獻(xiàn)中召回大部分相似論文,接著融合學(xué)術(shù)圖譜的引用關(guān)系等推送論文,提升整個系統(tǒng)的推薦覆蓋率和用戶滿意度。在論文推薦領(lǐng)域的CBF雖然簡單易行,但是僅用文本的語義相似度去衡量用戶興趣使得質(zhì)量難以保證[2],此外,用戶的閱讀行為具有很強的目的性,CBF方法導(dǎo)致用戶的閱讀視野局限于個人掌握的背景知識范圍內(nèi)[6]。
GB方法不考慮用戶的行為和論文的內(nèi)容,而是將用戶和論文抽象化為圖上的節(jié)點,在論文推薦領(lǐng)域常用的拓?fù)鋱D類別有引文網(wǎng)絡(luò)、社交網(wǎng)絡(luò)和其他異構(gòu)信息網(wǎng)絡(luò)等。例如,Cai等[7]將推薦的若干相關(guān)要素表示在同一個圖上,使用圖表示學(xué)習(xí)的方法計算推薦列表,例如將查詢?nèi)藛T、查詢文本、論文、作者、實體之間的關(guān)系構(gòu)建成異構(gòu)網(wǎng)絡(luò),或使用作者、論文和發(fā)表場地組成的書目網(wǎng)絡(luò)[8]。然而,GB方法顯然浪費了用戶個性化的特征和內(nèi)容特征,而基于引文網(wǎng)絡(luò)的推薦因為新論文的被引數(shù)較少面臨冷啟動問題。
在表示學(xué)習(xí)技術(shù)幫助下,輔助信息(side information)可以有效緩解上述的論文推薦問題,知識圖譜正因為其包含的豐富實體和關(guān)系,被認(rèn)為是一種十分優(yōu)良的輔助信息。例如Zhao等[9]構(gòu)建概念圖譜跨越用戶與項目的知識鴻溝,從知識圖譜上抽取符合用戶認(rèn)知模式的概念路徑幫助研究人員獲取目標(biāo)知識;Frederick等[10]通過映射專業(yè)術(shù)語到外部知識圖譜DPpedia,用于擴展查詢手稿(摘要)的特征生成排序列表。然而現(xiàn)存的方法卻未能考慮知識圖譜上用戶實體和論文實體的高階關(guān)聯(lián)關(guān)系。
綜合以上問題,本文重點關(guān)注以下兩個方面:(1)在用戶歷史交互稀疏的前提下,如何推薦給用戶相關(guān)的論文;(2)在已知有限的領(lǐng)域知識,研究人員如何全面獲取自身領(lǐng)域相關(guān)的論文。在分析現(xiàn)有研究成果的基礎(chǔ)上,本文提出一種混合的推薦模型(GNPR)。首先,為了取得用戶更完整的顯式閱讀偏好,DKN[6]利用多通道CNN獲取文本特征的啟發(fā),模型首先使用Word2vec和多通道CNN處理文本。由于CNN的表示方法重點關(guān)注文本的局部特征,句子的全局特征被忽略無法得到全面的用戶顯式閱讀偏好,提出一種雙層自注意力特征抽取模式補充用戶顯式的閱讀偏好。其次,在外部知識庫的幫助下,從論文文本內(nèi)容中抽取概念,與用戶和論文、論文元數(shù)據(jù)等構(gòu)建成知識圖譜。最后,為了有效挖掘用戶的隱式閱讀偏好,鑒于圖神經(jīng)網(wǎng)絡(luò)可以有效獲取高階關(guān)系[11-14],文本使用改進(jìn)的圖卷積網(wǎng)絡(luò)學(xué)習(xí)用戶和論文之間的關(guān)聯(lián)。本文工作的貢獻(xiàn)如下。
(1) 提出一種新的論文推薦模型,混合了基于圖的推薦和基于內(nèi)容的推薦。其中,用戶顯式閱讀偏好由文本局部特征和文本的全局特征組成,提出雙層自注意力機制來建模全局性特征。
(2) 用論文的非結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化元數(shù)據(jù)和LOD數(shù)據(jù)構(gòu)建知識圖譜。為解決在建模高階關(guān)系的圖卷積網(wǎng)絡(luò)不考慮關(guān)系類型的問題,提出以關(guān)系類型為權(quán)值的鄰域聚合方式,以獲得用戶隱式閱讀偏好的部分。
(3) 經(jīng)過在真實數(shù)據(jù)集CiteULike-a和學(xué)術(shù)推薦應(yīng)用日志數(shù)據(jù)的驗證,與傳統(tǒng)推薦模型和融合知識圖譜的模型相比,本文模型在準(zhǔn)確率和點擊概率方面有不錯的提升。
假設(shè)論文推薦系統(tǒng)中包括N位用戶U={u1,u2,…,uN}和M篇論文P={p1,p2,…,pM},根據(jù)用戶的歷史交互,對于用戶u∈U與論文p∈P的交互情況可表示為:
(1)
用戶的交互行為可以是隱式反饋或者顯式評分,本文選擇更貼近實際場景的隱式反饋。根據(jù)式(1)的表示可以得到用戶-論文的交互矩陣Y∈Rm×n,yij∈Y表示第i(i=1,2,…,m)位用戶與第j(i=1,2,…,n)篇論文的交互結(jié)果。關(guān)于本文涉及的圖數(shù)據(jù),首先將Y轉(zhuǎn)換為用戶-論文二部圖G1,圖上的邊代表用戶與項目的交互情況,其次在G1的基礎(chǔ)上加入更多節(jié)點(例如概念、關(guān)鍵詞和實例等)以及它們對應(yīng)的關(guān)系,形成知識圖譜G=
表1 本文使用的符號
GNPR模型框架結(jié)構(gòu)如圖1和圖2所示。用戶的閱讀偏好向量表示包括兩個部分的計算:顯式閱讀偏好和隱式閱讀偏好。用戶顯式閱讀偏好又由文本的局部特征和文本的全局特征組成,如圖1所示。隱式閱讀偏好包含在GCN對知識圖譜處理后的用戶節(jié)點向量中,因此將用戶和論文及論文的相關(guān)元數(shù)據(jù)抽象為概念知識圖譜上的節(jié)點,如圖2所示。最后,推薦計算是使用多層感知機(Multi-Layer Perceptron,MLP)學(xué)習(xí)匹配函數(shù)并輸出相關(guān)度得分。
圖1 GNPR框架之用戶顯式閱讀偏好
圖2 GNPR框架之用戶隱式閱讀偏好
從文本局部特征和文本全局特征兩個方面綜合用戶的顯式閱讀偏好?;谡撐臉?biāo)題(或關(guān)鍵詞)和摘要的語義,文本局部特征旨在找出句子中最重要的分詞特征,文本全局特征則關(guān)注于整個句子的語義特征。
圖3 DCNN模型的結(jié)構(gòu)
(2)
則從用戶歷史的文本局部特征中得到的顯式閱讀偏好表示如下:
(3)
(2) 全局特征抽取器。針對文本全局特征,GNPR模型采用自注意力機制(self-attention)處理由標(biāo)題、關(guān)鍵詞和摘要組成的短文本。自注意力機制有效獲取句子的長距離依賴,在考慮全局信息情況下判定詞語的重要程度,文本使用度量函數(shù)為句子中的每個分詞fself(wi)計算得分,用于表示分詞在句子中的重要性,此時不需要任何額外的指引信息(guider)。以計算第t個標(biāo)題的表示為例,第i個分詞的權(quán)重為:
(4)
則考慮全局依賴的句子表示為:
(5)
為了在用戶點擊歷史集合中找到用戶對論文t的點擊意圖受其他論文的影響,模型將全局特征抽取器設(shè)計為雙層的自注意力層形式,若用戶u的點擊歷史數(shù)為h,則從用戶歷史的文本全局特征中得到的顯式閱讀偏好表示如下:
(6)
為了建模用戶的隱式閱讀偏好,本節(jié)構(gòu)造由用戶、論文、論文元數(shù)據(jù)和相關(guān)概念組成的知識圖譜。針對知識圖譜的表示,本文使用改進(jìn)的圖卷積網(wǎng)絡(luò)學(xué)習(xí)融合高階信息的用戶節(jié)點表示隱含著用戶潛在的興趣。
(1) 概念知識圖譜構(gòu)建。開放互聯(lián)數(shù)據(jù)(Linked Open Data,LOD)儲存豐富的實體和關(guān)系構(gòu)成的關(guān)聯(lián)知識。本文從論文中獲取的概念和其他實體構(gòu)建成面向推薦的知識圖譜G,目的是關(guān)聯(lián)已知概念和未知的相關(guān)概念,并通過高階關(guān)聯(lián)關(guān)系融入到用戶和論文表示中,以更好地建模用戶隱式的閱讀偏好,從而緩解用戶-項交互數(shù)據(jù)稀疏問題。
針對標(biāo)題、摘要、關(guān)鍵詞等數(shù)據(jù),本文首先提取TF-IDF權(quán)重較高的詞,然后鏈接LOD中準(zhǔn)確的概念以及若干跳鄰域,例如與鏈接實體處于上下位關(guān)系的概念、概念的實例等等。關(guān)于用戶與論文之間的關(guān)系,若存在交互,在用戶和論文實體之間設(shè)置“交互”關(guān)系邊。以上的概念部分子圖融合用戶-論文二部圖G1組成最終的知識圖譜G,其中包含實體類型:用戶、論文、概念和論文的其他元數(shù)據(jù)等;關(guān)系類型:用戶與論文的交互關(guān)系、論文的引用關(guān)系、概念與論文的從屬關(guān)系、實例與概念的isa關(guān)系、主題與論文從屬關(guān)系、概念之間的上下位關(guān)系。因此,通過知識圖譜的組織形式,論文的標(biāo)題、摘要、關(guān)鍵詞中蘊含的語義可通過該概念之間的上下位關(guān)聯(lián)顯示出來,而論文其他元數(shù)據(jù)(如參考文獻(xiàn))則通過論文之間的引用關(guān)系保持關(guān)聯(lián)。
(2) 基于改進(jìn)GCN的知識圖譜表示。針對知識圖譜的表示學(xué)習(xí),本文使用輸出結(jié)果包含了實體間高階關(guān)系的圖卷積網(wǎng)絡(luò)(GCN)。首先,GCN通過傳播嵌入的方法獲得用戶和論文的分布式表示,其中包含用戶潛在的閱讀偏好,即上文提及的用戶隱式興趣。然而,GCN一般處理的方式是將知識圖譜當(dāng)成無向圖,忽略對關(guān)系類型的區(qū)分,因此本文預(yù)先考慮用戶對所有關(guān)系的隱含偏好分布[11,13]。以下是計算單個GCN層的某節(jié)點v嵌入的一般形式:
hNv=faggN({ev,eNv})
(7)
hv=σ(W2·hNv+b1)
(8)
式中:faggN:Rd×Rd→Rd表示鄰域聚合函數(shù)用于聚合來自鄰域的信息,本文使用文獻(xiàn)[11]提到的函數(shù)Concataggregator;ev和eNv分別是實體v和v的鄰域的向量表示。
本文模型在鄰域的計算方式中融入了關(guān)系類型,即每一個鄰域?qū)嶓w對鄰域表示的貢獻(xiàn)度取決于用戶和關(guān)系的匹配值,例如,用戶更喜歡通過引用關(guān)系查找論文,則圖上的嵌入傳播方向則受到相應(yīng)的影響。假設(shè)鄰域為Nv={(r,ent)|(v,r,ent)∈G,(ent,r,v)∈G},本節(jié)定義一個映射fur:RD×RD→R(例如內(nèi)積)計算用戶u和關(guān)系r的匹配值。因此鄰域的向量表示為:
(9)
經(jīng)過L1層鄰域的聚合后,論文節(jié)點的向量表示為ep,用戶節(jié)點的向量表示,即用戶的隱式閱讀偏好表示為uimt。論文最終的表示向量為p=ep,用戶的最終的向量表示為u=W3[uet;uimt],W3∈RD×2D。
現(xiàn)存的深度學(xué)習(xí)對推薦模型的側(cè)重點分為兩方面:側(cè)重用戶與項目的表示學(xué)習(xí),側(cè)重用戶與項目的交互建模。與先前的研究不同,通過上文的介紹可知模型GNPR已經(jīng)對用戶和論文進(jìn)行了學(xué)習(xí)表示,接下來利用訓(xùn)練好的用戶向量和論文向量進(jìn)行推薦預(yù)測。在交互建模階段,本文基于用戶-論文交互對,拼接訓(xùn)練好的用戶向量與用戶交互歷史的論文向量,以作為交互建模層的輸入x1,在L2次非線性變換后得到預(yù)測分?jǐn)?shù)。由以上的計算可知,用戶最終表示為u,候選論文向量表示p,將最終用戶與論文向量輸入到交互建模層MLP中進(jìn)行計算:
(10)
式中:Wi、bi和σ分別表示第i層感知器的權(quán)重矩陣、偏置向量和激活函數(shù)。
為了有效地訓(xùn)練GNPR模型,從隱式反饋中為特定用戶采樣未交互的論文作為負(fù)樣本,數(shù)量和正樣本相同。例如,一個訓(xùn)練樣本可以表示為,其中x是預(yù)測是否單擊的候選論文。對于每個正樣本,y=1,否則y=0。文本使用交叉熵?fù)p失(cross-entropy)作為損失函數(shù):
λ||W||2
(11)
式中:△+是正樣本集合;△-是負(fù)樣本集;λ||W||2是L2正則項。
本節(jié)給出實驗設(shè)計細(xì)節(jié)和相應(yīng)的結(jié)果,為了證明本文模型的有效性,本次實驗用它與基準(zhǔn)模型進(jìn)行比較。實驗將從下面兩個研究問題(Research Question,RQ)來分析實驗。
RQ1:在用戶-論文的交互記錄十分稀疏的前提下,如何有效推薦論文?即與基準(zhǔn)模型比較,本文模型在稀疏數(shù)據(jù)集的實驗效果是否超過state-of-the-art的性能?
RQ2:在已知有限的領(lǐng)域知識,研究人員如何獲取更多樣的論文?GNPR模型的組成部分對模型的影響是什么,特別是知識圖譜的融入對實驗結(jié)果是否有提升?
(1) 數(shù)據(jù)集和預(yù)處理。論文推薦數(shù)據(jù)集使用CiteULike-a和學(xué)術(shù)推薦應(yīng)用的日志(文中稱為APPData數(shù)據(jù)集)。CiteULike是一個在線論文存儲與分享平臺,允許用戶創(chuàng)建自己感興趣的論文集合,選擇該平臺數(shù)據(jù)的理由在于用戶主觀創(chuàng)建的論文集很大程度體現(xiàn)用戶真實的閱讀偏好,而且提供了論文的標(biāo)題和摘要等元數(shù)據(jù)。CiteULike-a是文獻(xiàn)[17]從該平臺收集并預(yù)處理后的隱式反饋數(shù)據(jù)集;而APPData是部署在學(xué)術(shù)機構(gòu)的推薦應(yīng)用,實驗中的數(shù)據(jù)集是用戶與論文交互后產(chǎn)生的點擊日志。
數(shù)據(jù)集預(yù)處理:針對知識圖譜構(gòu)建,首先依次對文本內(nèi)容進(jìn)行清洗和概念抽取,最終挑選權(quán)重較高的名詞性術(shù)語;依次將術(shù)語鏈接到外部知識庫Xlore得到半結(jié)構(gòu)數(shù)據(jù),接著對其清洗和預(yù)處理得到三元組,統(tǒng)計如表2所示。最后,按照7 ∶2 ∶1比例將數(shù)據(jù)集劃分成訓(xùn)練集、驗證集和測試集,其中驗證集用于優(yōu)化超參數(shù)。
表2 數(shù)據(jù)集的各項統(tǒng)計
(2) 基準(zhǔn)方法。BPRMF:基于貝葉斯后驗優(yōu)化的個性化排序的矩陣分解,本文使用用戶-論文交互矩陣Y。
NeuMF[18]:一種NCF框架的實例,在用戶和項目的嵌入層組合了廣義矩陣分解(GMF)和MLP,本文使用與BPRMF相同輸入。
CML[19]:一種度量學(xué)習(xí)算法,同時編碼了用戶的偏好以及用戶-用戶、項-項的相似性,本文使用與BPRMF相同輸入。
KGAT[13]:在知識圖譜上顯式地建模用戶和項目的高階關(guān)系,使用注意力的聚合方法。
DKN[6]:基于內(nèi)容的深度學(xué)習(xí)推薦框架,它融合多通道CNN對論文的語義層和知識層的表示。在本文中,將內(nèi)容C的特征作為語義層特征,知識圖譜G的特征作為知識層特征。
(1) 評估指標(biāo)。準(zhǔn)確率(precision)表示推薦列表預(yù)測為真的論文占推薦列表的比例;召回率(recall)是覆蓋率的評價指標(biāo),表示推薦列表中預(yù)測為真的論文占所有與論文相關(guān)論文數(shù)的比例。F1-score是準(zhǔn)確率和召回率的加權(quán)平均,其數(shù)值越大越準(zhǔn)確,計算方式如下:
(12)
AUC為ROC曲線下方的面積。ROC曲線的橫坐標(biāo)是預(yù)測結(jié)果的假陽性率,縱坐標(biāo)是真陽性率。
首先介紹與所有基線相比的總體性能,表3和表4分別是在CiteULike-a數(shù)據(jù)集和APPData上與所有模型對比的實驗結(jié)果,加粗表示最好性能。
表3 CiteULike數(shù)據(jù)集的實驗結(jié)果
表4 APPData數(shù)據(jù)集的實驗結(jié)果
通過結(jié)果的對比可以得出:首先,通過比較本文模型和其他基準(zhǔn)模型的結(jié)果,本文模型在兩個數(shù)據(jù)集的F1-score和AUC分別優(yōu)于大部分基線。與BPRMF、NeuMF和CML的比較結(jié)果說明在數(shù)據(jù)稀疏(見表1)的情況下GNPR模型性能沒有遭受較大影響,即可以更好地緩解數(shù)據(jù)稀疏問題,可能的原因是本文模型挖掘了更豐富的內(nèi)容特征和知識圖譜特征。而DKN雖然同樣有足夠的內(nèi)容特征,但是GNPR模型結(jié)果較好可能原因在于考慮全局文本特征。KGCN和GNPR都使用了圖神經(jīng)網(wǎng)絡(luò),實驗差別的原因可能在于融合了內(nèi)容特征。實驗還發(fā)現(xiàn),所有基于內(nèi)容的模型都比基于CF的模型具有更好的性能。原因是基于CF的方法在數(shù)據(jù)稀疏的論文推薦場景性能受影響。本文模型是一個混合模型,結(jié)合了基于內(nèi)容的方法和基于圖的方法的優(yōu)點,對于缺少點擊歷史的論文,可以通過內(nèi)容和圖上的關(guān)聯(lián)。
以APPData數(shù)據(jù)集為例,對GNPR變體的實驗結(jié)果進(jìn)行比較,以證明本文的模型設(shè)計在以下方面的有效性:(1) 內(nèi)容特征可以達(dá)到的實驗效果;(2) 雙層注意力機制對用戶顯式閱讀偏好的影響;(3) GCN的高階關(guān)系與普通表示學(xué)習(xí)方法對實驗的影響;(4) MLP對建模交互的影響。實驗結(jié)果如表5所示。三個設(shè)置的詳細(xì)信息如下:
(1) 刪除圖的特征(Remove Graph Future,RGF):只保留用2.2節(jié)描述的用戶顯式閱讀偏好模塊對實驗結(jié)果的影響。
(2) 刪除自注意力(Remove Self-Attention,RSA):除去2.2節(jié)描述用戶顯式閱讀偏好模塊中文本全局特征對實驗結(jié)果的影響。
(3) 用TransE替換GCN(With TransE,WTE):用TransE代替2.3節(jié)描述用戶隱式閱讀偏好模塊中的GCN后對實驗的影響。
(4) 用內(nèi)積替換MLP(With Inner-Product,WIP):內(nèi)積代替2.4節(jié)描述的用戶-項交互計算對結(jié)果的影響。
表5 GNPR變體的實驗結(jié)果
可以看出:(1) GNPR表現(xiàn)最好,表明模型的不同成分的有效性;(2) 缺少文本的全局特征對結(jié)果影響較大;(3) 知識圖譜的嵌入對結(jié)果提升較大和GCN算法在本文中性能比TransE[20]更優(yōu)。
參數(shù)分析:GNPR模型涉及多個參數(shù)的選擇,接下來以APPData為例,考慮GCN的層數(shù)L1和MPL的層數(shù)L2對評估指標(biāo)F1-score和AUC的影響,結(jié)果如表6所示。
表6 APPData數(shù)據(jù)集的GCN和MLP層數(shù)變化
本文提出一種混合的端到端的推薦模型GNPR。首先,自注意力機制考慮了文本的全局特征,融合CNN后的雙層特征抽取模式可以獲取用戶更完整的顯式閱讀偏好。從論文中抽取概念并鏈接外部知識庫,通過概念之間的關(guān)聯(lián)尋找研究人員、論文和概念之間的潛在相關(guān)性,此時知識的融入有效緩解了數(shù)據(jù)稀疏性,圖神經(jīng)網(wǎng)絡(luò)通過在圖上傳播嵌入高階結(jié)構(gòu)信息,可以有效地挖掘出用戶的隱式閱讀偏好。在真實的論文推薦數(shù)據(jù)集CiteULike-a和學(xué)術(shù)推薦應(yīng)用的實驗結(jié)果表明,本文提出的論文推薦模型在F1-score和AUC指標(biāo)上明顯優(yōu)于基線方法。