陳平華,朱 禹
(廣東工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,廣東 廣州 510006)
針對(duì)推薦系統(tǒng)面臨的數(shù)據(jù)稀疏性問(wèn)題,基于矩陣分解的推薦算法應(yīng)運(yùn)而生。傳統(tǒng)的基于矩陣分解的推薦算法只考慮了對(duì)用戶項(xiàng)目評(píng)分矩陣進(jìn)行分解,沒有充分利用數(shù)據(jù)信息,沒有考慮項(xiàng)目之間的相似性問(wèn)題,導(dǎo)致推薦效果不佳。針對(duì)這些問(wèn)題,學(xué)者們提出了一系列的解決方法。文獻(xiàn)[1]通過(guò)用戶之間的信任關(guān)系來(lái)提高推薦系統(tǒng)的準(zhǔn)確性,提出了一種基于信任傳播的矩陣分解模型,但信任關(guān)系數(shù)據(jù)通常較難獲取。文獻(xiàn)[2]提出了一種基于項(xiàng)目屬性耦合性的矩陣分解模型,這種方法利用項(xiàng)目屬性之間的耦合關(guān)系作為隱含信息,結(jié)合矩陣分解模型對(duì)用戶評(píng)分?jǐn)?shù)據(jù)約束求解。文獻(xiàn)[3]提出了一種基于非對(duì)稱的用戶相似性方法應(yīng)用于矩陣分解模型,利用用戶的相似性信息提高了推薦系統(tǒng)的準(zhǔn)確性。如果在矩陣分解技術(shù)的基礎(chǔ)上融合項(xiàng)目本身潛在的知識(shí)信息,將會(huì)進(jìn)一步提高推薦算法的準(zhǔn)確率。
近年來(lái),隨著知識(shí)圖譜技術(shù)的不斷取得進(jìn)展,包含豐富實(shí)體和關(guān)系信息的知識(shí)庫(kù)數(shù)據(jù)大量涌現(xiàn),例如Freebase[4],YOGA[5],Wikidata[6],DBpedia[7]等,這些知識(shí)庫(kù)提供了豐富的知識(shí)信息,知識(shí)圖譜也引起了學(xué)術(shù)界廣泛的關(guān)注和研究。文獻(xiàn)[8]使用異構(gòu)信息網(wǎng)絡(luò)表示知識(shí)圖譜中的項(xiàng)目和項(xiàng)目屬性關(guān)系,并采用基于貝葉斯的協(xié)同過(guò)濾解決實(shí)體推薦問(wèn)題。文獻(xiàn)[9]采用擴(kuò)散激活技術(shù),將知識(shí)圖譜中的網(wǎng)絡(luò)結(jié)構(gòu)特性融入推薦系統(tǒng)中。文獻(xiàn)[10]提出了協(xié)同知識(shí)庫(kù)嵌入框架,將知識(shí)圖譜中的語(yǔ)義信息作為隱性反饋融入?yún)f(xié)同過(guò)濾中,加強(qiáng)了協(xié)同過(guò)濾算法的性能。文獻(xiàn)[11]利用知識(shí)圖譜表示學(xué)習(xí)計(jì)算物品之間的語(yǔ)義相似性,將物品的語(yǔ)義信息融入?yún)f(xié)同過(guò)濾?,F(xiàn)有的研究表明,知識(shí)圖譜表示學(xué)習(xí)可以將知識(shí)圖譜中的實(shí)體和關(guān)系嵌入在低維的向量空間中,從而在向量空間中進(jìn)行計(jì)算實(shí)體和關(guān)系的語(yǔ)義聯(lián)系,有效解決冷啟動(dòng)和數(shù)據(jù)稀疏問(wèn)題。與上述工作相比,本文提出了一種融合知識(shí)圖譜表示學(xué)習(xí)和矩陣分解的推薦方法,將矩陣分解模型與知識(shí)圖譜表示學(xué)習(xí)后的項(xiàng)目潛在知識(shí)信息相結(jié)合。該模型首先通過(guò)知識(shí)圖譜表示學(xué)習(xí)算法獲取項(xiàng)目的潛在知識(shí)信息,再將項(xiàng)目的潛在知識(shí)信息融入到矩陣分解模型中,從而產(chǎn)生更為準(zhǔn)確的推薦結(jié)果。
矩陣分解方法的基本思想是認(rèn)為每個(gè)用戶和每個(gè)項(xiàng)目都有自己的特征,用戶的興趣只受少數(shù)因素影響,利用矩陣分解的方法可以從用戶項(xiàng)目交互矩陣中分解出用戶特征矩陣和項(xiàng)目特征矩陣??梢詫⒕仃嚪纸饽P统橄鬄槿缦鹿?/p>
R=UVT
(1)
式中:U∈Rm×d和V∈Rn×d分別代表用戶項(xiàng)目交互矩陣分解后的d維用戶特征矩陣和d維項(xiàng)目特征矩陣。通過(guò)分解后低維度的用戶特征矩陣和項(xiàng)目特征矩陣的乘積UVT來(lái)近似擬合已有的項(xiàng)目真實(shí)評(píng)分矩陣。模型的學(xué)習(xí)主要通過(guò)最小化如下目標(biāo)函數(shù)進(jìn)行訓(xùn)練
(2)
(3)
圖1 TransE模型
TransE在處理一對(duì)一的關(guān)系上得到很好的應(yīng)用,但在處理復(fù)雜關(guān)系(一對(duì)多,多對(duì)一,多對(duì)多)時(shí)存在不足。為了解決TransE在處理復(fù)雜關(guān)系時(shí)的不足,文獻(xiàn)[14]提出了TransR模型,TranR的基本思想是每個(gè)實(shí)體都有多種屬性,不同的關(guān)系所側(cè)重的實(shí)體屬性不同。兩個(gè)實(shí)體在同一實(shí)體空間可能比較相似,但是在特定的關(guān)系空間可能會(huì)有所差別。所以TransR模型定義了一個(gè)映射矩陣,將實(shí)體從實(shí)體空間投影到特定的關(guān)系空間后,再建立兩個(gè)實(shí)體之間的翻譯關(guān)系,如圖2所示。
圖2 TransR模型
其中Mr是關(guān)系r的映射矩陣,hr和tr分別是頭實(shí)體h和尾實(shí)體t在關(guān)系空間r中的向量表示。它們之間的關(guān)系可以用下式表示
hr=hMr
(4)
tr=tMr
(5)
TransR模型的目標(biāo)函數(shù)可以定義為下式
(6)
式中:max(0,f(x))是最大間隔函數(shù),用于加強(qiáng)表示學(xué)習(xí)后的區(qū)分能力。fr(x)是損失函數(shù),定義如下
(7)
γ是一個(gè)邊際參數(shù)。S是正例三元組,S′是負(fù)例三元組。負(fù)例三元組S′采用頭實(shí)體或者尾實(shí)體隨機(jī)替換為其它任意實(shí)體的方式來(lái)得到,可以表示為
(8)
式中:h′和t′分別表示被替換的頭實(shí)體和尾實(shí)體。
矩陣分解求解過(guò)程中,通過(guò)梯度下降算法最優(yōu)化目標(biāo)函數(shù)式(3)求出用戶特征矩陣和項(xiàng)目特征矩陣,進(jìn)而求出用戶對(duì)項(xiàng)目評(píng)分的近似值。在此求解過(guò)程中,可能會(huì)丟失項(xiàng)目潛在的信息。其中,項(xiàng)目的相似性就是很重要的潛在信息??紤]項(xiàng)目之間的潛在因子特征,我們提出了融合知識(shí)圖譜表示學(xué)習(xí)和矩陣分解的推薦算法(記為TransR-MF)。
TransR-MF的基本思想是高度相似的項(xiàng)目它們矩陣分解后的向量表示也是高度相似的。比如,項(xiàng)目v1和項(xiàng)目v2相似,則代表他們的向量也是相似的。知識(shí)圖譜表示學(xué)習(xí)將項(xiàng)目實(shí)體嵌入低維的向量空間,通過(guò)相似度函數(shù)計(jì)算低維向量空間中項(xiàng)目之間的相似性,將相似性潛在因子融入矩陣分解模型中,以此融入項(xiàng)目間的隱含信息。
融合知識(shí)圖譜表示學(xué)習(xí)和矩陣分解的推薦算法的流程步驟如下:
步驟1 首先通過(guò)知識(shí)圖譜表示學(xué)習(xí)TransR算法訓(xùn)練得到實(shí)體的向量表達(dá);
步驟2 將用戶項(xiàng)目交互矩陣中的項(xiàng)目實(shí)體與知識(shí)圖譜中的實(shí)體進(jìn)行匹配;
步驟3 選取知識(shí)圖譜中與待預(yù)測(cè)項(xiàng)目最相似的k個(gè)近鄰融入矩陣分解模型;
步驟4 通過(guò)模型學(xué)習(xí)求解矩陣分解后的低維用戶和項(xiàng)目矩陣,并計(jì)算得出項(xiàng)目的預(yù)測(cè)評(píng)分。
TransR-MF算法如圖3所示。
融合后的算法目標(biāo)函數(shù)如下
(9)
圖3 TransR-MF算法
上述公式中第一項(xiàng)來(lái)自矩陣分解模型;第二項(xiàng)和第三項(xiàng)分別是防止用戶特征矩陣和項(xiàng)目特征矩陣過(guò)擬合的正則項(xiàng);第三項(xiàng)是通過(guò)知識(shí)圖譜表示學(xué)習(xí)計(jì)算出的項(xiàng)目相似性潛在信息,這里NVj表示項(xiàng)目Vj的最相似的k個(gè)近鄰集合。其中sim(Vj,Vk)是相似度函數(shù),本文使用余弦相似性函數(shù)。余弦相似性函數(shù)是一種計(jì)算兩個(gè)向量之間相似度的方法,其值的范圍介于[-1,1]區(qū)間,如式(10)所示,其中d是TransR模型訓(xùn)練出來(lái)的實(shí)體向量的維度。這里為了取正數(shù),通過(guò)式(11)進(jìn)行標(biāo)準(zhǔn)化處理
(10)
f(x)=(1+x)/2
(11)
本文采用梯度下降算法最小化目標(biāo)函數(shù)來(lái)求解用戶特征矩陣U和物品特征矩陣V,利用式(12)和式(13)求解
(12)
(13)
本節(jié)主要對(duì)上述提出的TransR-MF算法進(jìn)行驗(yàn)證與評(píng)估,實(shí)驗(yàn)數(shù)據(jù)集采用MovieLens-1M,該數(shù)據(jù)集主要包括6040個(gè)MovieLens用戶對(duì)3900部電影的1 000 209條評(píng)分紀(jì)錄數(shù)據(jù)[15]。
知識(shí)圖譜數(shù)據(jù)集采用抓取IMDB電影資料庫(kù)[16]的方式建立。IMDB是一個(gè)包含電影類型、電影演員、電影導(dǎo)演、電視節(jié)目、和電影制作等信息的在線電影數(shù)據(jù)庫(kù)。截止2016統(tǒng)計(jì),IMDB共收錄了4 007 049部作品以及7 593 030個(gè)人物的數(shù)據(jù)[17]。電影知識(shí)圖譜的構(gòu)建,本文參考了文獻(xiàn)[18]的構(gòu)建流程。抓取IMDB電影資料庫(kù)的電影數(shù)據(jù),在對(duì)數(shù)據(jù)結(jié)構(gòu)化之后進(jìn)行知識(shí)抽取,抽取的數(shù)據(jù)以三元組的形式存儲(chǔ),電影知識(shí)圖譜構(gòu)建過(guò)程如圖4所示。
圖4 知識(shí)圖譜構(gòu)建流程
經(jīng)過(guò)處理后最終得到27 424個(gè)實(shí)體、12種關(guān)系屬性和218 115條三元組數(shù)據(jù)。關(guān)系屬性中保留了導(dǎo)演、主演、影片類別、影片發(fā)行國(guó)家、影片語(yǔ)言等12種關(guān)系?;緮?shù)據(jù)統(tǒng)計(jì)見表1。
表1 電影圖譜數(shù)據(jù)統(tǒng)計(jì)
由于IMDB電影資料庫(kù)構(gòu)建的電影實(shí)體和Mo-vieLens-1M數(shù)據(jù)集中的電影存在無(wú)法全部匹配的情況。例如,電影Toy Story(1995)和電影Toy Story是同一部電影,但因?yàn)樘砑与娪鞍l(fā)行年份的原因造成IMDB電影實(shí)體和Mo-vieLens電影名無(wú)法完全匹配。此外,例如電影Cup,The(Ph?rpa)和電影The Cup實(shí)質(zhì)上是同一部電影因?yàn)镸o-vieLens添加了外文名導(dǎo)致無(wú)法匹配。
為了將IMDB電影資料庫(kù)抽取的電影實(shí)體與Mo-vieLens-1M電影匹配,本文采用實(shí)體鏈接方法將Mo-vieLens-1M數(shù)據(jù)集中的每部電影映射到知識(shí)圖譜中。經(jīng)過(guò)映射后最終匹配了3627部電影實(shí)體數(shù)據(jù),MovieLens-1M中93%的電影能夠準(zhǔn)確映射到知識(shí)圖譜中,這足以進(jìn)行后續(xù)的工作。
本文采用5折交叉驗(yàn)證的方法進(jìn)行訓(xùn)練和測(cè)試。其中,80%的數(shù)據(jù)用于訓(xùn)練,20%的數(shù)據(jù)用于驗(yàn)證。對(duì)于接下來(lái)的實(shí)驗(yàn),最終的實(shí)驗(yàn)結(jié)果通過(guò)5次實(shí)驗(yàn)求平均值的方式得出。
本文采用平均絕對(duì)值誤差(MAE)和均方根誤差(RMSE)兩個(gè)指標(biāo)對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行評(píng)估。平均絕對(duì)誤差是所有項(xiàng)目實(shí)際評(píng)分和預(yù)測(cè)評(píng)分誤差的絕對(duì)值之和的平均值,它衡量了真實(shí)值和預(yù)測(cè)評(píng)分之間的平均差異。均方根誤差是所有項(xiàng)目真實(shí)評(píng)分和預(yù)測(cè)評(píng)分誤差的平方之和的平均值的根值。
MAE和RMSE是推薦系統(tǒng)評(píng)分預(yù)測(cè)評(píng)價(jià)指標(biāo)中常用的兩種度量方式。MAE和RMSE分別定義如下公式所示
(14)
(15)
平均絕對(duì)誤差和均方根誤差中定義的T表示的是需要預(yù)測(cè)的項(xiàng)目集合,Rij是用戶ui對(duì)項(xiàng)目vj的真實(shí)評(píng)分值,rij是模型的預(yù)測(cè)評(píng)分值。MAE和RMSE的值越小,代表推薦的結(jié)果越準(zhǔn)確。
實(shí)驗(yàn)硬件環(huán)境采用ThinkCentre M8400t臺(tái)式機(jī),處理器為Intel Core i7 4770S,內(nèi)存大小為8 GB,硬盤大小為1 TB,軟件環(huán)境采用Python2.7。
為了驗(yàn)證本文提出的TransR-MF算法的推薦準(zhǔn)確度,我們對(duì)比了基于矩陣分解的其它算法:非負(fù)矩陣分解算法[19](non-negative matrix factorization,NMF)、概率矩陣分解算法[20](probabilistic matrix factorization,PMF)、融合因子學(xué)習(xí)的矩陣分解算法[21](factor wise matrix factorization,F(xiàn)WMF)、結(jié)合項(xiàng)目偏置的矩陣分解算法[22](biased matrix factorization,BMF)。
本文的推薦算法TransR-MF的參數(shù)設(shè)置如下:用戶和項(xiàng)目的特征向量維度設(shè)為100維,λ1和λ2設(shè)為0.01,λ3設(shè)為0.4,學(xué)習(xí)率設(shè)為0.01。知識(shí)圖譜表示學(xué)習(xí)的嵌入維度在選取不同值的時(shí)候,所取得的推薦效果也會(huì)有所不同,針對(duì)項(xiàng)目實(shí)體嵌入的維度,分別選取了50-250維進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖5和圖6所示。
圖5 不同嵌入維度下的MAE值
圖6 不同嵌入維度下的RMSE值
從圖5和圖6可以看出,當(dāng)知識(shí)圖譜表示學(xué)習(xí)的嵌入維度為150維的情況下,在平均絕對(duì)值誤差(MAE)和均方根誤差(RMSE)上均有所改善,本文提出的算法能夠獲得較好的推薦效果。
融合知識(shí)圖譜表示學(xué)習(xí)過(guò)程中,待預(yù)測(cè)項(xiàng)目最相似的近鄰個(gè)數(shù)在選取不同值的時(shí)候?qū)ν扑]效果也會(huì)存在影響。采用控制變量法的思想,在控制知識(shí)圖譜嵌入維度為150維的情況下,通過(guò)選取項(xiàng)目不同的近鄰個(gè)數(shù)來(lái)觀察近鄰個(gè)數(shù)對(duì)推薦效果的影響,這里分別設(shè)置近鄰個(gè)位為10-30個(gè)的情況下進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖7、圖8所示。
圖7 不同近鄰數(shù)下的MAE值
圖8 不同近鄰數(shù)下的RMSE值
從圖7和圖8可以看出,近鄰個(gè)數(shù)的選取對(duì)模型的推薦效果有所影響。當(dāng)近鄰個(gè)數(shù)為20時(shí),MAE和RSME的值均為最低。
為了驗(yàn)證該算法與同類算法的性能比較,這里選取知識(shí)圖譜表示學(xué)習(xí)嵌入維度為150維,近鄰個(gè)數(shù)為20個(gè),用戶特征向量和項(xiàng)目的特征向量維度設(shè)為100維。實(shí)驗(yàn)結(jié)果見表2。
表2 實(shí)驗(yàn)結(jié)果對(duì)比
通過(guò)表2可以看出在MovieLens-1M數(shù)據(jù)集上,融合知識(shí)圖譜表示學(xué)習(xí)和矩陣分解的算法TransR-MF在MAE和RMSE上優(yōu)于其它4種算法。因此融合項(xiàng)目實(shí)體潛在信息來(lái)預(yù)測(cè)用戶評(píng)分是有效的,在一定程度上對(duì)矩陣分解模型有優(yōu)化作用,提高推薦系統(tǒng)的準(zhǔn)確性。
本文提出了一種融合知識(shí)圖譜表示學(xué)習(xí)和矩陣分解的推薦算法,即TransR-MF算法。相對(duì)于只利用用戶項(xiàng)目評(píng)分信息的傳統(tǒng)推薦算法而言,TransR-MF算法能夠充分利用物品本身潛在的語(yǔ)義信息,彌補(bǔ)了矩陣分解算法沒有考慮物品本身潛在信息的缺點(diǎn)。算法使用知識(shí)圖譜表示學(xué)習(xí)把項(xiàng)目實(shí)體嵌入低維向量空間,計(jì)算項(xiàng)目之間潛在相似信息,并將其融入矩陣分解模型中,在一定程度上增強(qiáng)了矩陣分解模型的效果。此外,MovieLens數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果驗(yàn)證了本文提出的TransR-MF算法有效提高了推薦結(jié)果的準(zhǔn)確性。用戶的潛在關(guān)系信息也是推薦系統(tǒng)中的一種重要潛在因素,因此在本文算法的基礎(chǔ)上融合用戶潛在信息將是下一步的研究重點(diǎn)。