?

融合知識圖譜表示學習的棧式自編碼器推薦算法

2021-02-25 07:48王衛紅呂紅燕曹玉輝
計算機應用與軟件 2021年2期
關鍵詞:編碼器相似性圖譜

王衛紅 馮 倩 呂紅燕 曹玉輝

(河北經貿大學信息技術學院 河北 石家莊 050061)

0 引 言

爆炸性增長的信息數據,為人們的工作、生活、學習提供巨大便利的同時也帶來了信息迷航[1]與信息過載[2]問題,為此推薦系統應運而生。推薦系統主要是通過對用戶行為數據進行分析與處理、構建用戶興趣模型,從而主動向用戶推薦最合適的商品,幫助用戶快速地做出決策[3]。目前,因其可以挖掘用戶隱式興趣并提供個性化服務,已成為一個重要的研究領域。協同過濾算法因其通用性、易理解性等優勢已成為推薦系統中使用最為廣泛的算法之一,但實際應用中因其存在數據稀疏、語義信息欠缺等問題,導致該算法推薦性能較低[4]。

因此,本文提出一種融合知識圖譜表示學習的棧式自編碼器推薦算法。該算法利用棧式自編碼器獲取項目深層特征,并與知識圖譜表示學習算法得到的語義信息進行融合,能夠同時解決數據稀疏性和語義信息欠缺問題,得到更為準確的推薦結果。

1 相關工作

目前,國內外研究學者針協同過濾推薦算法存在的數據稀疏性問題進行了大量研究。文獻[5]綜合考慮用戶評分行為、評分偏好和屬性特征,提出一種混合相似度計算模型;文獻[6]采用EMD方法對傳統的相似度計算進行改進,并與用戶信任關系相融合;文獻[7]將評分相似度、興趣相似度、屬性相似度與置信度相融合,更為準確地為用戶找到所需項目,有效地解決了數據稀疏問題;文獻[8]提出一種融合多源異構數據的矩陣分解模型,緩解數據稀疏性問題;文獻[9]提出一種新的相似性強化機制來增強基于內存的協同過濾方法,從而解決數據稀疏性問題;文獻[10]將屬性進行聚類,利用相似特征選擇過濾掉冗余屬性,降低了數據稀疏性;文獻[11]使用關聯檢索框架中的傳播激活算法探索用戶之間的關聯關系,幫助構建用戶興趣模型有效處理稀疏性問題;文獻[12]提出基于鄰域的CF的相似性度量方法,提高處理稀疏數據的處理能力。上述研究從評分矩陣填充、相似性方法改進等多個角度探討了解決數據稀疏性的方法,但未考慮語義信息問題。

語義信息對于推薦系統而言至關重要。2006年Loizou A博士在推薦系統研討會(ECAI2006)上指出:傳統的推薦算法由于沒有考慮語義信息,使得在實際應用中,這些算法在實時性、魯棒性和推薦質量等方面存在嚴重的不足[13]。因此,將語義信息融入協同過濾推薦算法中,利用語義知識對用戶興趣和項目內容進行描述以提高算法的推薦質量便成為近年來協同過濾算法研究的一個重要方向。目前針對語義推薦算法的研究較少,文獻[14]將基于用戶顯式數據的協同過濾算法與知識圖譜表示學習方法相融合,來增強項目的語義信息;文獻[15]將語義網中的本體技術運用到社交網絡的服務推薦系統中,得到更加準確的推薦結果;文獻[16]引入WordNet詞匯結構,分析用戶標簽與項目之間的相似度,在語義方面更好地理解用戶偏好;文獻[17]提出混合多準則的語義增強協同過濾算法,具有較好的推薦效果;文獻[18]構建基于語義網的推薦模型,應用于農業學習資源推薦。由此可知,這些探討語義問題的研究工作中并未考慮數據稀疏性問題。

本文為了同時解決數據稀疏與語義信息欠缺問題,提出一種融合知識圖譜表示學習的棧式自編碼器推薦算法。

2 SAEKG-CF

2.1 基本思想

本文提出的算法旨在同時解決數據稀疏與語義信息欠缺問題,針對數據稀疏問題采用棧式自編碼器進行降維和特征提取,針對語義信息欠缺問題采用知識圖譜表示學習算法獲得項目的知識語義信息,并將兩者相結合,得到優化的推薦結果。

棧式自編碼器[19]是一種深度模型結構,通過多層編碼器和解碼器可以自動地抽取深層隱式特征,相當于輸入數據的壓縮表示,這種表示能更好地代替原始數據。棧式自編碼器強大的特征提取能力能夠有效地緩解數據稀疏性問題,但缺少對結果的語義解釋。

知識圖譜融合多源異構數據信息將用戶與用戶、用戶與項目、項目與項目之間相互連接起來,且可以結合推理得到數據的語義信息[20]?,F有研究表明,知識圖譜表示學習方法能將知識圖譜中的實體和關系嵌入到一個低維語義空間,利用連續數值向量高效地計算實體間的語義聯系[21]。

因此,SAEKG-CF將棧式自編碼器和知識圖譜表示學習算法進行融合,既可以對棧式編碼器產生的結果增加語義解釋,又可以緩解協同過濾推薦算法中數據稀疏性和語義信息欠缺的問題。該算法的工作原理如圖1所示。

圖1 SAEKG-CF工作原理

2.2 算法設計

2.2.1基于棧式自編碼器的特征相似性度量

設用戶個數為M,項目個數為N,用戶對項目的評分矩陣記為RMN,用戶集合為U={u1,u2,…,ui,…,uM},項目集合為V={v1,v2,…,vi,…,vN},對于任意一個項目,根據用戶對項目的評分可產生一個項目向量Rj=(r1j,r2j,…,rMj)。本文算法將原有的三層自編碼器網絡結構設置為七層的棧式自編碼器,其中包括一個輸入層,五個隱含層和一個輸出層,其結構如圖2所示。

圖2 棧式自編碼器結構圖

可以看出,前三層為編碼階段,后三層為解碼階段,中間為特征表示層,各層之間采用的是全連接,各層之間的輸出為:

hi=f(wihi-1+bi)

(1)

式中:wi為權重矩陣;bi為偏置向量;f(·)為激活函數。為防止過擬合,加入了正則項的損失函數:

(2)

式中:h1i為輸入向量的第i個分量;h7i表示重構后向量的第i個分量;λ為正則化系數。

本文算法通過最小化損失函數來訓練整個網絡,輸出訓練好的隱含層數據h4記為Rvi,表示項目的特征向量。根據得到的項目特征向量進行相似性度量,采用余弦相似度計算:

(3)

2.2.2基于知識圖譜表示學習的語義相似性度量

知識圖譜的表示學習算法能夠將知識圖譜三元組映射到低維向量空間,從而實現數值表示。本文使用在語義表達方面具有較好性能的TransE[22]算法,來增強用戶-項目評分矩陣中項目的語義信息。

TransE通過不斷調整頭實體向量h、關系向量r和尾實體向量t,使得h+r盡可能地與t相等,即‖h+r‖≈‖t‖,‖·‖可以選擇L1或者L2范數,其模型如圖3所示。

圖3 TransE模型

TransE的優化目標函數定義為:

‖h′+r-t′‖]+

(4)

式中:γ是間距參數;S為知識圖譜中三元組集合;S′為負例樣本三元組組合,該類負例樣本由S中的頭實體或者尾實體隨機替換成其他實體所得。

TransE算法在處理單一關系上具有高效性,但在多關系上存在局限性[23],因此,本文算法采用隨機梯度下降進行不斷迭代,使目標函數達到最優,針對知識圖譜中存在的多關系實體進行單獨訓練,得到每個關系對應的該實體向量,取均值作為該實體的語義向量,從而改善TransE算法在多元關系上的性能。將項目語義向量表示為:

V=(e1,e2,…,ed)T

(5)

式中:en表示項目V語義向量在第n維上的值。

由于在對實體進行映射時,采用的是歐氏距離,因此為了準確描述項目間的語義相似性,本文算法采用同等范數的歐氏距離來計算項目之間相似性,計算公式如下:

(6)

可以看出計算結果越接近于1,兩個項目之間的語義相似性越高;反之計算值越接近于0,說明兩個項目之間關系疏遠。

2.2.3融合項目相似性計算與評分預測

(1) 融合相似性矩陣的計算?;谠u分矩陣,通過式(3)和式(6)可以得到項目的特征相似性矩陣和語義相似性矩陣,然后對兩個矩陣進行融合,依據推薦結果的準確率得到最優融合相似性矩陣,原理示意如圖4所示。

圖4 融合原理圖

融合公式如下:

sim(va,vb)=αsim2(va,vb)+(1-α)sim1(va,vb)

(7)

式中:α為融合因子,實驗中通過不斷調整α的值,找到最優融合相似性矩陣。

(2) 評分預測。根據得到的最優融合相似性矩陣,預測用戶對未評價物品的評分,計算公式如下:

(8)

式中:Ru,vb為用戶u對項目vb的評分;sim(va,vb)表示項目va和vb的相似度;Tu為用戶交互的項目列表。

3 實 驗

3.1 數據集與評價指標

實驗數據集采用MovieLens-1M和Book-Crossing Dataset,MovieLens-1M數據集主要包括6 040個用戶對3 952部電影的100多萬條評分記錄[24]。Book-Crossing Dataset[25]主要包括17 860個用戶對14 967本書籍的100多萬條評分記錄。本文知識圖譜采用文獻[26]開源的電影和書籍知識圖譜,數據集80%作為訓練集,20%作為測試集,并用5折交叉驗證的方法進行實驗,將平均值作為最終的實驗結果。本文采用準確率(Precision)、召回率(Recall)和F1值作為評價標準。計算公式如下:

(9)

(10)

(11)

式中:M(u)為推薦算法產生的推薦列表;N(u)為真實的行為列表。準確率與召回率兩者之間是相互影響的,理想情況是兩者取值都高,但實際情況通常是準確率高時,召回率的值較低,因此采用F1值來權衡這兩個指標,作為推薦效果好壞的依據。

3.2 實驗結果與分析

在MovieLens-1M數據集上棧式自編碼器采用的網絡規模為6 040-4 000-2 000-300-2 000-4 000-6 040,正則化系數λ取0.1,并在該數據集上對參數α和知識圖譜表示學習嵌入維度dim進行調優。Book-Crossing數據集中棧式自編碼器采用的網絡規模為17 860-8 000-3 000-300-3 000-8 000-17 860,其他參數采用MovieLens-1M數據集調優得到的參數值。

3.2.1融合因子的優化及K值確定

融合因子α取值不同,所得到的推薦效果也會有所差異,本文在區間[0,1]內,以0.2為間隔選取α值,當α為0時表示基于棧式自編碼器的推薦算法,當α為1時表示基于知識圖譜表示學習的推薦算法,選取表示學習嵌入維度為200,圖5和圖6分別為準確率和召回率曲線。

圖5 Precision比較

圖6 Recall比較

可以看出,隨著α的增加,準確率和召回率均呈現先上升后下降的趨勢,當α值為0.6,準確率和召回率的值達到最高。當推薦列表長度為20時,整體推薦效果最佳。因此本文算法將α值設置為0.6,k設置為20。

3.2.2表示學習嵌入維度確定

知識圖譜表示學習將實體嵌入低維一個空間,維度的取值同樣會對推薦效果產生一定的影響,本文分別選取了50~300維進行實驗,圖7-圖9分別為準確率、召回率和F1值隨維度的變化情況。

圖7 Precision隨維度的變化情況

圖8 Recall隨維度的變化情況

圖9 F1隨維度的變化情況

可以看出,隨著嵌入維度的增加,準確率、召回率與F1值先逐步增加,當維度為200時取值最高,然后逐步減小,因此選取知識圖譜嵌入維度為200。

3.2.3結果分析

為了驗證該算法的有效性,將其與協同過濾推薦算法(Item-CF)、奇異值分解(SVD)、棧式自編碼器算法(SAE)、知識圖譜表示學習算法(KG-CB)在不同稀疏程度的數據集MovieLens-1M和Book-Crossing上進行對比實驗,表1為數據集稀疏程度,表2和表3為對比實驗結果。

表1 數據集稀疏程度

表2 MovieLens-1M對比實驗結果

表3 Book-Crossing對比實驗結果

從表2、表3可以看出,SAEKG-CF性能在不同稀疏程度的數據集上均優于其他四種算法,準確率、召回率與F1值有所提升,因此算法在一定程度上有效地緩解了協同過濾推薦算法中數據稀疏性和語義信息欠缺的問題。

4 結 語

針對協同過濾推薦算法中數據稀疏和語義信息欠缺問題,本文提出一種融合知識圖譜表示學習的棧式自編碼器推薦算法,利用棧式自編碼器獲取項目深層特征,并與知識圖譜表示學習算法得到的語義信息進行融合。實驗結果表明,該算法能夠同時解決數據稀疏性和語義信息欠缺問題,得到更為準確的推薦結果。未來考慮在不同領域的數據集上進行實驗,并尋找更優的網絡層數,其次考慮引入其他深度學習模型來提高推薦效果。

猜你喜歡
編碼器相似性圖譜
基于ResNet18特征編碼器的水稻病蟲害圖像描述生成
基于圖對比注意力網絡的知識圖譜補全
“植物界大熊貓”完整基因組圖譜首次發布
WV3650M/WH3650M 絕對值旋轉編碼器
WDGP36J / WDGA36J編碼器Wachendorff自動化有限公司
隱喻相似性問題的探討
基于Beaglebone Black 的絕對式編碼器接口電路設計*
圖表
12個毫無違和感的奇妙動物組合
基于隱喻相似性研究[血]的慣用句
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合