王衛(wèi)紅 馮 倩 呂紅燕 曹玉輝
(河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院 河北 石家莊 050061)
爆炸性增長的信息數(shù)據(jù),為人們的工作、生活、學(xué)習(xí)提供巨大便利的同時(shí)也帶來了信息迷航[1]與信息過載[2]問題,為此推薦系統(tǒng)應(yīng)運(yùn)而生。推薦系統(tǒng)主要是通過對用戶行為數(shù)據(jù)進(jìn)行分析與處理、構(gòu)建用戶興趣模型,從而主動(dòng)向用戶推薦最合適的商品,幫助用戶快速地做出決策[3]。目前,因其可以挖掘用戶隱式興趣并提供個(gè)性化服務(wù),已成為一個(gè)重要的研究領(lǐng)域。協(xié)同過濾算法因其通用性、易理解性等優(yōu)勢已成為推薦系統(tǒng)中使用最為廣泛的算法之一,但實(shí)際應(yīng)用中因其存在數(shù)據(jù)稀疏、語義信息欠缺等問題,導(dǎo)致該算法推薦性能較低[4]。
因此,本文提出一種融合知識圖譜表示學(xué)習(xí)的棧式自編碼器推薦算法。該算法利用棧式自編碼器獲取項(xiàng)目深層特征,并與知識圖譜表示學(xué)習(xí)算法得到的語義信息進(jìn)行融合,能夠同時(shí)解決數(shù)據(jù)稀疏性和語義信息欠缺問題,得到更為準(zhǔn)確的推薦結(jié)果。
目前,國內(nèi)外研究學(xué)者針協(xié)同過濾推薦算法存在的數(shù)據(jù)稀疏性問題進(jìn)行了大量研究。文獻(xiàn)[5]綜合考慮用戶評分行為、評分偏好和屬性特征,提出一種混合相似度計(jì)算模型;文獻(xiàn)[6]采用EMD方法對傳統(tǒng)的相似度計(jì)算進(jìn)行改進(jìn),并與用戶信任關(guān)系相融合;文獻(xiàn)[7]將評分相似度、興趣相似度、屬性相似度與置信度相融合,更為準(zhǔn)確地為用戶找到所需項(xiàng)目,有效地解決了數(shù)據(jù)稀疏問題;文獻(xiàn)[8]提出一種融合多源異構(gòu)數(shù)據(jù)的矩陣分解模型,緩解數(shù)據(jù)稀疏性問題;文獻(xiàn)[9]提出一種新的相似性強(qiáng)化機(jī)制來增強(qiáng)基于內(nèi)存的協(xié)同過濾方法,從而解決數(shù)據(jù)稀疏性問題;文獻(xiàn)[10]將屬性進(jìn)行聚類,利用相似特征選擇過濾掉冗余屬性,降低了數(shù)據(jù)稀疏性;文獻(xiàn)[11]使用關(guān)聯(lián)檢索框架中的傳播激活算法探索用戶之間的關(guān)聯(lián)關(guān)系,幫助構(gòu)建用戶興趣模型有效處理稀疏性問題;文獻(xiàn)[12]提出基于鄰域的CF的相似性度量方法,提高處理稀疏數(shù)據(jù)的處理能力。上述研究從評分矩陣填充、相似性方法改進(jìn)等多個(gè)角度探討了解決數(shù)據(jù)稀疏性的方法,但未考慮語義信息問題。
語義信息對于推薦系統(tǒng)而言至關(guān)重要。2006年Loizou A博士在推薦系統(tǒng)研討會(ECAI2006)上指出:傳統(tǒng)的推薦算法由于沒有考慮語義信息,使得在實(shí)際應(yīng)用中,這些算法在實(shí)時(shí)性、魯棒性和推薦質(zhì)量等方面存在嚴(yán)重的不足[13]。因此,將語義信息融入?yún)f(xié)同過濾推薦算法中,利用語義知識對用戶興趣和項(xiàng)目內(nèi)容進(jìn)行描述以提高算法的推薦質(zhì)量便成為近年來協(xié)同過濾算法研究的一個(gè)重要方向。目前針對語義推薦算法的研究較少,文獻(xiàn)[14]將基于用戶顯式數(shù)據(jù)的協(xié)同過濾算法與知識圖譜表示學(xué)習(xí)方法相融合,來增強(qiáng)項(xiàng)目的語義信息;文獻(xiàn)[15]將語義網(wǎng)中的本體技術(shù)運(yùn)用到社交網(wǎng)絡(luò)的服務(wù)推薦系統(tǒng)中,得到更加準(zhǔn)確的推薦結(jié)果;文獻(xiàn)[16]引入WordNet詞匯結(jié)構(gòu),分析用戶標(biāo)簽與項(xiàng)目之間的相似度,在語義方面更好地理解用戶偏好;文獻(xiàn)[17]提出混合多準(zhǔn)則的語義增強(qiáng)協(xié)同過濾算法,具有較好的推薦效果;文獻(xiàn)[18]構(gòu)建基于語義網(wǎng)的推薦模型,應(yīng)用于農(nóng)業(yè)學(xué)習(xí)資源推薦。由此可知,這些探討語義問題的研究工作中并未考慮數(shù)據(jù)稀疏性問題。
本文為了同時(shí)解決數(shù)據(jù)稀疏與語義信息欠缺問題,提出一種融合知識圖譜表示學(xué)習(xí)的棧式自編碼器推薦算法。
本文提出的算法旨在同時(shí)解決數(shù)據(jù)稀疏與語義信息欠缺問題,針對數(shù)據(jù)稀疏問題采用棧式自編碼器進(jìn)行降維和特征提取,針對語義信息欠缺問題采用知識圖譜表示學(xué)習(xí)算法獲得項(xiàng)目的知識語義信息,并將兩者相結(jié)合,得到優(yōu)化的推薦結(jié)果。
棧式自編碼器[19]是一種深度模型結(jié)構(gòu),通過多層編碼器和解碼器可以自動(dòng)地抽取深層隱式特征,相當(dāng)于輸入數(shù)據(jù)的壓縮表示,這種表示能更好地代替原始數(shù)據(jù)。棧式自編碼器強(qiáng)大的特征提取能力能夠有效地緩解數(shù)據(jù)稀疏性問題,但缺少對結(jié)果的語義解釋。
知識圖譜融合多源異構(gòu)數(shù)據(jù)信息將用戶與用戶、用戶與項(xiàng)目、項(xiàng)目與項(xiàng)目之間相互連接起來,且可以結(jié)合推理得到數(shù)據(jù)的語義信息[20]。現(xiàn)有研究表明,知識圖譜表示學(xué)習(xí)方法能將知識圖譜中的實(shí)體和關(guān)系嵌入到一個(gè)低維語義空間,利用連續(xù)數(shù)值向量高效地計(jì)算實(shí)體間的語義聯(lián)系[21]。
因此,SAEKG-CF將棧式自編碼器和知識圖譜表示學(xué)習(xí)算法進(jìn)行融合,既可以對棧式編碼器產(chǎn)生的結(jié)果增加語義解釋,又可以緩解協(xié)同過濾推薦算法中數(shù)據(jù)稀疏性和語義信息欠缺的問題。該算法的工作原理如圖1所示。
圖1 SAEKG-CF工作原理
2.2.1基于棧式自編碼器的特征相似性度量
設(shè)用戶個(gè)數(shù)為M,項(xiàng)目個(gè)數(shù)為N,用戶對項(xiàng)目的評分矩陣記為RMN,用戶集合為U={u1,u2,…,ui,…,uM},項(xiàng)目集合為V={v1,v2,…,vi,…,vN},對于任意一個(gè)項(xiàng)目,根據(jù)用戶對項(xiàng)目的評分可產(chǎn)生一個(gè)項(xiàng)目向量Rj=(r1j,r2j,…,rMj)。本文算法將原有的三層自編碼器網(wǎng)絡(luò)結(jié)構(gòu)設(shè)置為七層的棧式自編碼器,其中包括一個(gè)輸入層,五個(gè)隱含層和一個(gè)輸出層,其結(jié)構(gòu)如圖2所示。
圖2 棧式自編碼器結(jié)構(gòu)圖
可以看出,前三層為編碼階段,后三層為解碼階段,中間為特征表示層,各層之間采用的是全連接,各層之間的輸出為:
hi=f(wihi-1+bi)
(1)
式中:wi為權(quán)重矩陣;bi為偏置向量;f(·)為激活函數(shù)。為防止過擬合,加入了正則項(xiàng)的損失函數(shù):
(2)
式中:h1i為輸入向量的第i個(gè)分量;h7i表示重構(gòu)后向量的第i個(gè)分量;λ為正則化系數(shù)。
本文算法通過最小化損失函數(shù)來訓(xùn)練整個(gè)網(wǎng)絡(luò),輸出訓(xùn)練好的隱含層數(shù)據(jù)h4記為Rvi,表示項(xiàng)目的特征向量。根據(jù)得到的項(xiàng)目特征向量進(jìn)行相似性度量,采用余弦相似度計(jì)算:
(3)
2.2.2基于知識圖譜表示學(xué)習(xí)的語義相似性度量
知識圖譜的表示學(xué)習(xí)算法能夠?qū)⒅R圖譜三元組映射到低維向量空間,從而實(shí)現(xiàn)數(shù)值表示。本文使用在語義表達(dá)方面具有較好性能的TransE[22]算法,來增強(qiáng)用戶-項(xiàng)目評分矩陣中項(xiàng)目的語義信息。
TransE通過不斷調(diào)整頭實(shí)體向量h、關(guān)系向量r和尾實(shí)體向量t,使得h+r盡可能地與t相等,即‖h+r‖≈‖t‖,‖·‖可以選擇L1或者L2范數(shù),其模型如圖3所示。
圖3 TransE模型
TransE的優(yōu)化目標(biāo)函數(shù)定義為:
‖h′+r-t′‖]+
(4)
式中:γ是間距參數(shù);S為知識圖譜中三元組集合;S′為負(fù)例樣本三元組組合,該類負(fù)例樣本由S中的頭實(shí)體或者尾實(shí)體隨機(jī)替換成其他實(shí)體所得。
TransE算法在處理單一關(guān)系上具有高效性,但在多關(guān)系上存在局限性[23],因此,本文算法采用隨機(jī)梯度下降進(jìn)行不斷迭代,使目標(biāo)函數(shù)達(dá)到最優(yōu),針對知識圖譜中存在的多關(guān)系實(shí)體進(jìn)行單獨(dú)訓(xùn)練,得到每個(gè)關(guān)系對應(yīng)的該實(shí)體向量,取均值作為該實(shí)體的語義向量,從而改善TransE算法在多元關(guān)系上的性能。將項(xiàng)目語義向量表示為:
V=(e1,e2,…,ed)T
(5)
式中:en表示項(xiàng)目V語義向量在第n維上的值。
由于在對實(shí)體進(jìn)行映射時(shí),采用的是歐氏距離,因此為了準(zhǔn)確描述項(xiàng)目間的語義相似性,本文算法采用同等范數(shù)的歐氏距離來計(jì)算項(xiàng)目之間相似性,計(jì)算公式如下:
(6)
可以看出計(jì)算結(jié)果越接近于1,兩個(gè)項(xiàng)目之間的語義相似性越高;反之計(jì)算值越接近于0,說明兩個(gè)項(xiàng)目之間關(guān)系疏遠(yuǎn)。
2.2.3融合項(xiàng)目相似性計(jì)算與評分預(yù)測
(1) 融合相似性矩陣的計(jì)算?;谠u分矩陣,通過式(3)和式(6)可以得到項(xiàng)目的特征相似性矩陣和語義相似性矩陣,然后對兩個(gè)矩陣進(jìn)行融合,依據(jù)推薦結(jié)果的準(zhǔn)確率得到最優(yōu)融合相似性矩陣,原理示意如圖4所示。
圖4 融合原理圖
融合公式如下:
sim(va,vb)=αsim2(va,vb)+(1-α)sim1(va,vb)
(7)
式中:α為融合因子,實(shí)驗(yàn)中通過不斷調(diào)整α的值,找到最優(yōu)融合相似性矩陣。
(2) 評分預(yù)測。根據(jù)得到的最優(yōu)融合相似性矩陣,預(yù)測用戶對未評價(jià)物品的評分,計(jì)算公式如下:
(8)
式中:Ru,vb為用戶u對項(xiàng)目vb的評分;sim(va,vb)表示項(xiàng)目va和vb的相似度;Tu為用戶交互的項(xiàng)目列表。
實(shí)驗(yàn)數(shù)據(jù)集采用MovieLens-1M和Book-Crossing Dataset,MovieLens-1M數(shù)據(jù)集主要包括6 040個(gè)用戶對3 952部電影的100多萬條評分記錄[24]。Book-Crossing Dataset[25]主要包括17 860個(gè)用戶對14 967本書籍的100多萬條評分記錄。本文知識圖譜采用文獻(xiàn)[26]開源的電影和書籍知識圖譜,數(shù)據(jù)集80%作為訓(xùn)練集,20%作為測試集,并用5折交叉驗(yàn)證的方法進(jìn)行實(shí)驗(yàn),將平均值作為最終的實(shí)驗(yàn)結(jié)果。本文采用準(zhǔn)確率(Precision)、召回率(Recall)和F1值作為評價(jià)標(biāo)準(zhǔn)。計(jì)算公式如下:
(9)
(10)
(11)
式中:M(u)為推薦算法產(chǎn)生的推薦列表;N(u)為真實(shí)的行為列表。準(zhǔn)確率與召回率兩者之間是相互影響的,理想情況是兩者取值都高,但實(shí)際情況通常是準(zhǔn)確率高時(shí),召回率的值較低,因此采用F1值來權(quán)衡這兩個(gè)指標(biāo),作為推薦效果好壞的依據(jù)。
在MovieLens-1M數(shù)據(jù)集上棧式自編碼器采用的網(wǎng)絡(luò)規(guī)模為6 040-4 000-2 000-300-2 000-4 000-6 040,正則化系數(shù)λ取0.1,并在該數(shù)據(jù)集上對參數(shù)α和知識圖譜表示學(xué)習(xí)嵌入維度dim進(jìn)行調(diào)優(yōu)。Book-Crossing數(shù)據(jù)集中棧式自編碼器采用的網(wǎng)絡(luò)規(guī)模為17 860-8 000-3 000-300-3 000-8 000-17 860,其他參數(shù)采用MovieLens-1M數(shù)據(jù)集調(diào)優(yōu)得到的參數(shù)值。
3.2.1融合因子的優(yōu)化及K值確定
融合因子α取值不同,所得到的推薦效果也會有所差異,本文在區(qū)間[0,1]內(nèi),以0.2為間隔選取α值,當(dāng)α為0時(shí)表示基于棧式自編碼器的推薦算法,當(dāng)α為1時(shí)表示基于知識圖譜表示學(xué)習(xí)的推薦算法,選取表示學(xué)習(xí)嵌入維度為200,圖5和圖6分別為準(zhǔn)確率和召回率曲線。
圖5 Precision比較
圖6 Recall比較
可以看出,隨著α的增加,準(zhǔn)確率和召回率均呈現(xiàn)先上升后下降的趨勢,當(dāng)α值為0.6,準(zhǔn)確率和召回率的值達(dá)到最高。當(dāng)推薦列表長度為20時(shí),整體推薦效果最佳。因此本文算法將α值設(shè)置為0.6,k設(shè)置為20。
3.2.2表示學(xué)習(xí)嵌入維度確定
知識圖譜表示學(xué)習(xí)將實(shí)體嵌入低維一個(gè)空間,維度的取值同樣會對推薦效果產(chǎn)生一定的影響,本文分別選取了50~300維進(jìn)行實(shí)驗(yàn),圖7-圖9分別為準(zhǔn)確率、召回率和F1值隨維度的變化情況。
圖7 Precision隨維度的變化情況
圖8 Recall隨維度的變化情況
圖9 F1隨維度的變化情況
可以看出,隨著嵌入維度的增加,準(zhǔn)確率、召回率與F1值先逐步增加,當(dāng)維度為200時(shí)取值最高,然后逐步減小,因此選取知識圖譜嵌入維度為200。
3.2.3結(jié)果分析
為了驗(yàn)證該算法的有效性,將其與協(xié)同過濾推薦算法(Item-CF)、奇異值分解(SVD)、棧式自編碼器算法(SAE)、知識圖譜表示學(xué)習(xí)算法(KG-CB)在不同稀疏程度的數(shù)據(jù)集MovieLens-1M和Book-Crossing上進(jìn)行對比實(shí)驗(yàn),表1為數(shù)據(jù)集稀疏程度,表2和表3為對比實(shí)驗(yàn)結(jié)果。
表1 數(shù)據(jù)集稀疏程度
表2 MovieLens-1M對比實(shí)驗(yàn)結(jié)果
表3 Book-Crossing對比實(shí)驗(yàn)結(jié)果
從表2、表3可以看出,SAEKG-CF性能在不同稀疏程度的數(shù)據(jù)集上均優(yōu)于其他四種算法,準(zhǔn)確率、召回率與F1值有所提升,因此算法在一定程度上有效地緩解了協(xié)同過濾推薦算法中數(shù)據(jù)稀疏性和語義信息欠缺的問題。
針對協(xié)同過濾推薦算法中數(shù)據(jù)稀疏和語義信息欠缺問題,本文提出一種融合知識圖譜表示學(xué)習(xí)的棧式自編碼器推薦算法,利用棧式自編碼器獲取項(xiàng)目深層特征,并與知識圖譜表示學(xué)習(xí)算法得到的語義信息進(jìn)行融合。實(shí)驗(yàn)結(jié)果表明,該算法能夠同時(shí)解決數(shù)據(jù)稀疏性和語義信息欠缺問題,得到更為準(zhǔn)確的推薦結(jié)果。未來考慮在不同領(lǐng)域的數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),并尋找更優(yōu)的網(wǎng)絡(luò)層數(shù),其次考慮引入其他深度學(xué)習(xí)模型來提高推薦效果。