摘要: 推薦系統(tǒng)作為信息篩選工具,通過(guò)對(duì)用戶個(gè)人信息記錄分析以實(shí)現(xiàn)用戶興趣預(yù)測(cè),推薦滿足用戶需求的物品列表,其核心是推薦算法?,F(xiàn)有的推薦算法大多需要收集用戶大規(guī)模的數(shù)據(jù)訓(xùn)練來(lái)實(shí)現(xiàn),存在數(shù)據(jù)稀疏性的問(wèn)題,且當(dāng)用戶需要購(gòu)買新物品時(shí),往往無(wú)法進(jìn)行有效的推薦。針對(duì)該問(wèn)題,本文提出了一種基于知識(shí)圖譜和內(nèi)容的推薦算法。首先,解析用戶記錄并構(gòu)建知識(shí)圖譜,設(shè)計(jì)基于知識(shí)圖譜的相似度算法,對(duì)知識(shí)圖譜中的實(shí)體與關(guān)系進(jìn)行相似度計(jì)算;其次,基于文本詞嵌入對(duì)內(nèi)容進(jìn)行向量化表示,并構(gòu)建基于內(nèi)容的相似度算法;最后,本文融合了基于知識(shí)圖譜的相似度算法和基于內(nèi)容的相似度算法,通過(guò)權(quán)重計(jì)算選取得分高的值作為推薦結(jié)果。與其它模型在MovieLens數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn)對(duì)比,實(shí)驗(yàn)結(jié)果表明,本文所提出的算法在召回率和準(zhǔn)確率方面有明顯的提升。
1. 引言
隨著互聯(lián)網(wǎng)的發(fā)展,人們?cè)谙硎?a href="http://www.ttokpm.com/v/tag/1722/" target="_blank">網(wǎng)絡(luò)便利的同時(shí),也越來(lái)越受到海量信息的影響,無(wú)法快速搜尋到滿足自己真正需求的內(nèi)容。推薦系統(tǒng)應(yīng)運(yùn)而生,其是智能學(xué)習(xí)的一個(gè)研究領(lǐng)域,目標(biāo)是根據(jù)用戶的喜好給用戶提供有效的推薦結(jié)果。推薦系統(tǒng)可以通過(guò)物品的內(nèi)容信息,根據(jù)用戶的歷史偏好數(shù)據(jù)、用戶個(gè)人興趣、網(wǎng)絡(luò)社交信息、所在環(huán)境等信息,判斷用戶目前最需要或者最感興趣的內(nèi)容(物品或服務(wù)) [1],已經(jīng)廣泛應(yīng)用于商務(wù)網(wǎng)站,資訊和旅游網(wǎng)站等 [2]。
推薦系統(tǒng)的核心是推薦算法的研究,目前主流的推薦算法主要有三類,包括協(xié)同過(guò)濾推薦算法、基于內(nèi)容的推薦算法以及基于深度學(xué)習(xí)的推薦算法。協(xié)同過(guò)濾推薦算法的核心思想就是充分利用與目標(biāo)用戶興趣偏好相同的用戶群體喜好來(lái)進(jìn)行高精度推薦 [3]。文獻(xiàn) [4] 中介紹了一個(gè)成熟的推薦系統(tǒng)LibFM (Lithium Bis Fuoromalonato),該系統(tǒng)依賴于協(xié)同過(guò)濾算法,利用鄰域模型分析用戶與物品特征之間的相似度,為用戶提供推薦服務(wù)。但是由于協(xié)同過(guò)濾推薦算法主要是根據(jù)用戶的歷史行為數(shù)據(jù)發(fā)掘偏好,因此推薦質(zhì)量取決于用戶的歷史數(shù)據(jù)集,存在數(shù)據(jù)稀疏性問(wèn)題?;趦?nèi)容的推薦算法是將用戶偏好與項(xiàng)目?jī)?nèi)容特征進(jìn)行匹配,進(jìn)而為用戶提供推薦結(jié)果 [5],其原理就是通過(guò)對(duì)比目標(biāo)用戶的中意項(xiàng)目元數(shù)據(jù),根據(jù)內(nèi)容相似程度為目標(biāo)用戶產(chǎn)生新的推薦。因此較為直觀,應(yīng)用較為廣泛,但其對(duì)于復(fù)雜屬性的項(xiàng)目較難處理。隨著深度神經(jīng)網(wǎng)絡(luò)的發(fā)展,基于深度學(xué)習(xí)的推薦算法也越來(lái)越受到青睞。文獻(xiàn) [6] 中提出了圖協(xié)同神經(jīng)過(guò)濾算法,從卷積神經(jīng)網(wǎng)絡(luò)出發(fā),提取物品特征,聚合多鄰數(shù)特征以構(gòu)建物品向量,通過(guò)提升物品相似度的計(jì)算結(jié)果來(lái)提升推薦性能。Sharma等人 [7] 專注于提高基于深度神經(jīng)網(wǎng)絡(luò)技術(shù)的推薦系統(tǒng)的有效性,通過(guò)多個(gè)推薦方法的排列組合以進(jìn)行推薦。文獻(xiàn) [8] 提出了深度知識(shí)注意力網(wǎng)絡(luò)(Deep Knowledge-Aware Networks, DKN),融合了實(shí)體嵌入和詞嵌入,其中實(shí)體嵌入采用TransH (Translating on Hyperplanes)學(xué)習(xí),但是DKN對(duì)實(shí)體的表征不明確,無(wú)法為個(gè)性化推薦提供有用的信息。與傳統(tǒng)推薦方法相比,基于深度神經(jīng)網(wǎng)絡(luò)的推薦算法無(wú)需人工提取特征,具有處理復(fù)雜屬性項(xiàng)目的能力。但其需要大量的數(shù)據(jù)作為支撐,無(wú)法解決數(shù)據(jù)稀疏性問(wèn)題。
隨著知識(shí)圖譜的出現(xiàn),將知識(shí)圖譜作為輔助信息引入到推薦系統(tǒng)中,通過(guò)知識(shí)圖譜中實(shí)體之間豐富的關(guān)系能豐富項(xiàng)目和項(xiàng)目的聯(lián)系、增強(qiáng)推薦算法的挖掘能力,從而有效彌補(bǔ)數(shù)據(jù)稀疏性的問(wèn)題 [9]。文獻(xiàn) [10] 中利用通過(guò)異構(gòu)信息網(wǎng)絡(luò)(Heterogeneous Information Network, HIN)學(xué)習(xí)實(shí)體之間的路徑信息,能夠利用任意用戶指定的實(shí)體連接路徑,并返回相似度最高的實(shí)體。但是由于用戶定義的元路徑很難達(dá)到最佳,所以當(dāng)近鄰數(shù)達(dá)到一定程度時(shí),其推薦性能作用有限。
綜上可以看出,單一的推薦算法存在或多或少的缺陷,譬如數(shù)據(jù)稀疏性問(wèn)題、處理復(fù)雜屬性困難等問(wèn)題,尤其是當(dāng)用戶需要購(gòu)買新物品時(shí),其推薦效果不佳。為了解決這個(gè)問(wèn)題,本文提出了一種基于知識(shí)圖譜與內(nèi)容的推薦算法。首先,解析用戶記錄并構(gòu)建知識(shí)圖譜,基于圖譜嵌入計(jì)算得到實(shí)體與關(guān)系的相似度;其次,基于文本詞嵌入對(duì)內(nèi)容進(jìn)行向量化表示,并構(gòu)建算法對(duì)內(nèi)容進(jìn)行相似度計(jì)算;最后,本文融合了基于知識(shí)圖譜的相似度算法和基于內(nèi)容的相似度算法,通過(guò)權(quán)重計(jì)算選取得分高的值作為推薦結(jié)果。通過(guò)7折交叉驗(yàn)證的方法表明,在一個(gè)完備的推薦系統(tǒng)中,近鄰數(shù)的選取并不是越大越好,而是應(yīng)該進(jìn)行適當(dāng)?shù)倪x擇。通過(guò)對(duì)比驗(yàn)證的方法表明,在相同近鄰數(shù)的情況下,本文提出的融合算法具有較高的召回率和準(zhǔn)確率,這是由于本文的算法在基于內(nèi)容的推薦算法基礎(chǔ)上,利用知識(shí)圖譜實(shí)體之間的多關(guān)系和屬性進(jìn)行了融合相似度計(jì)算,提升了算法的性能。
2. 架構(gòu)流程
2.1. 推薦系統(tǒng)架構(gòu)
一個(gè)完整的推薦系統(tǒng)如圖1所示。首先,通過(guò)Lambda架構(gòu) [11] 進(jìn)行數(shù)據(jù)采集,底層數(shù)據(jù)搜集起來(lái),包括用戶的行為日志、一些后臺(tái)的業(yè)務(wù)數(shù)據(jù)以及通過(guò)爬蟲得到一些數(shù)據(jù)信息等;然后,將搜集到的數(shù)據(jù)信息傳遞到推薦算法模塊,基于這些信息來(lái)選擇合適的推薦算法;之后,進(jìn)入用戶服務(wù)模塊,通過(guò)調(diào)參等步驟確定模型的具體參數(shù),構(gòu)建新的推薦模型,當(dāng)有新的用戶數(shù)據(jù)到來(lái)之際,推薦模型將推薦的結(jié)果反饋給用戶;最后,用戶基于這些推薦結(jié)果產(chǎn)生一些行為數(shù)據(jù),即用戶行為反饋模塊,推薦系統(tǒng)將這些用戶的行為反饋通過(guò)Lambda架構(gòu)收集起來(lái),進(jìn)行分析處理,繼而為用戶提供更加完善的服務(wù)。
Figure 1. The framework of recommended system
圖1. 推薦系統(tǒng)整體架構(gòu)圖
其中,大數(shù)據(jù)Lambda架構(gòu)提供了一個(gè)結(jié)合實(shí)時(shí)數(shù)據(jù)和Hadoop預(yù)先計(jì)算的數(shù)據(jù)環(huán)境和混合平臺(tái),能夠提供實(shí)時(shí)的數(shù)據(jù)視圖。推薦算法模塊基于用戶的歷史行為數(shù)據(jù)預(yù)估用戶對(duì)于某商品的點(diǎn)擊率,進(jìn)而將推薦結(jié)果反饋給用戶,實(shí)現(xiàn)商品的推薦。由推薦系統(tǒng)整體架構(gòu)可知,推薦算法的優(yōu)劣直接決定了推薦系統(tǒng)的好壞,所以推薦算法的研究就尤為重要。
2.2. 基于內(nèi)容的推薦算法流程
一般來(lái)說(shuō),基于內(nèi)容的推薦算法包括以下三步 [12]:
1) 抽取該物品的一些特征用來(lái)表征這個(gè)物品;
2) 根據(jù)用戶的歷史行為數(shù)據(jù)信息學(xué)習(xí)出用戶感興趣的物品的特征,即構(gòu)造用戶偏好文檔;
3) 比較步驟(2)得出的用戶偏好文檔和待推薦物品的特征(推薦項(xiàng)目文檔),確定出關(guān)聯(lián)性最大的一組物品作為推薦列表并將其推薦給用戶。
本文中,基于內(nèi)容的推薦算法流程如圖2所示。
Figure 2. The procedure of content-based recommendation algorithm
圖2. 基于內(nèi)容的推薦算法流程
2.3. 基于知識(shí)圖譜的推薦算法流程
基于知識(shí)圖譜的推薦算法流程如圖3所示。首先,根據(jù)物品知識(shí)及用戶知識(shí)構(gòu)建物品知識(shí)圖譜,并將原有的物品信息及用戶信息轉(zhuǎn)化為三元組的形式;然后,對(duì)上述三元組進(jìn)行知識(shí)表示,將構(gòu)建好的物品知識(shí)圖譜數(shù)據(jù)作為表示模型的輸入;最后,計(jì)算求得物品的相似度,生成物品相似度矩陣,并依據(jù)相似度矩陣給出推薦列表。
Figure 3. The procedure of recommendation algorithm based on knowledge graph
圖3. 基于知識(shí)圖譜的推薦算法流程
基于內(nèi)容的推薦算法較為直觀,但其對(duì)于復(fù)雜屬性的項(xiàng)目較難處理?;谥R(shí)圖譜的推薦算法通過(guò)知識(shí)圖譜中實(shí)體之間豐富的關(guān)系能豐富項(xiàng)目和項(xiàng)目的聯(lián)系、增強(qiáng)推薦算法的挖掘能力,適合處理屬性復(fù)雜的項(xiàng)目,兩者進(jìn)行結(jié)合,可以有效解決數(shù)據(jù)稀疏性的問(wèn)題和新物品的“冷啟動(dòng)”問(wèn)題。
3. 基于知識(shí)圖譜與內(nèi)容的推薦算法
基于知識(shí)圖譜與內(nèi)容的推薦算法如圖4所示。包括三個(gè)部分:基于知識(shí)圖譜的相似度計(jì)算,基于內(nèi)容的相似度計(jì)算和基于權(quán)值的融合算法,其中輸入為用戶的喜好信息。在基于知識(shí)圖譜的相似度計(jì)算部分,構(gòu)建基于內(nèi)容的知識(shí)圖譜,并基于知識(shí)圖譜嵌入計(jì)算得到實(shí)體與實(shí)體關(guān)系的相似度。在基于內(nèi)容的相似度計(jì)算部分,基于文本詞嵌入對(duì)內(nèi)容進(jìn)行向量化表示,并構(gòu)建算法對(duì)內(nèi)容進(jìn)行相似度計(jì)算。在基于權(quán)值的融合算法部分,融合了基于知識(shí)圖譜的相似度計(jì)算和基于內(nèi)容的相似度計(jì)算結(jié)果,通過(guò)權(quán)重計(jì)算,選取準(zhǔn)確率得分高的值作為推薦結(jié)果。
Figure 4. The framework of the algorithm based on knowledge graph and content
圖4. 基于知識(shí)圖譜與內(nèi)容的推薦算法框架
3.1. 基于知識(shí)圖譜的相似度計(jì)算
雖然不同用戶對(duì)于同一種類型的物品的描述會(huì)有所不同,但是其表達(dá)語(yǔ)意大都類似。例如,對(duì)于電影《東邪西毒》,用戶A認(rèn)為它是武俠片,用戶B認(rèn)為它是動(dòng)作片,這是因?yàn)槲鋫b片和動(dòng)作片時(shí)有部分交疊的。利用不同用戶的偏好特征,挖掘其語(yǔ)義特征,能夠更完善地對(duì)物品進(jìn)行描述,將更有利于對(duì)用戶感興趣物品的判斷。因此,本文利用概念知識(shí)圖譜,通過(guò)對(duì)概念的文本及知識(shí)的語(yǔ)義描述,在知識(shí)圖譜中發(fā)現(xiàn)相似的概念。
基于知識(shí)圖譜的相似度計(jì)算方法如下:首先,根據(jù)物品知識(shí)及用戶知識(shí)構(gòu)建物品知識(shí)圖譜,并將原有的物品信息及用戶信息轉(zhuǎn)化為三元組的形式,將這些三元組存儲(chǔ)在知識(shí)圖譜中,作為進(jìn)一步的查詢基礎(chǔ)。然后通過(guò)TransE (Translating Embeddings)模型對(duì)物品三元組進(jìn)行知識(shí)表示,其中TransE模型以 h+r≈th+r≈t 為基本思想對(duì)實(shí)體和關(guān)系做低維空間映射 [13],知識(shí)的表示嵌入如圖5所示。如“金陵十三釵”向量為實(shí)體h,“電影類型”向量為關(guān)系r,“戰(zhàn)爭(zhēng)片”向量為實(shí)體t,因此可獲得物品實(shí)體的低維稠密向量表示為 eheh。
Figure 5. An example of algorithm TransE
圖5. TransE算法案例
根據(jù)以上算法,構(gòu)建了知識(shí)圖譜對(duì)物品的知識(shí)表示,計(jì)算了兩個(gè)物品的相似度,由此可以生成一個(gè)物品相似度的矩陣。
3.2. 基于內(nèi)容的相似度計(jì)算
基于內(nèi)容的相似度計(jì)算算法提取用戶的偏好特征以及物品的描述特征,利用特征表示方法,在特征表示的基礎(chǔ)上計(jì)算用戶的偏好特征與物品的描述特征之間的相似度,從而實(shí)現(xiàn)高效準(zhǔn)確的推薦 [14],具體步驟如下:首先對(duì)文本中的評(píng)價(jià)信息進(jìn)行中文分詞;其次利用詞頻–逆文檔頻率(Terms Frequency-Inverse Document Frequency, TF-IDF)計(jì)算詞的權(quán)重;再次利用word2vec計(jì)算用戶特征和物品特征的詞向量,用向量表示詞的語(yǔ)義信息;然后利用詞向量構(gòu)建物品向量,當(dāng)一個(gè)物品包含多個(gè)關(guān)鍵詞,且每一個(gè)關(guān)鍵詞對(duì)應(yīng)一個(gè)詞向量時(shí),可以利用加權(quán)算法構(gòu)建物品向量;最后基于用戶特征和物品特征的表示向量的相似度做推薦 [15]。
本文基于余弦相似度對(duì)物品向量的相似度做出評(píng)價(jià),將用戶對(duì)某個(gè)物品的在n個(gè)方面的評(píng)分當(dāng)成一個(gè)n維向量值 SniSni,則某個(gè)物品 IiIi 的評(píng)分向量為 Ii={S1i,S2i,?,Ski,?,Sni}Ii={S1i,S2i,?,Ski,?,Sni}, SkiSki 代表物品第k個(gè)方面的評(píng)分向量值。同樣地,物品 IjIj 的評(píng)分向量為 Ij={S1j,S2j,?,Skj,?,Snj}Ij={S1j,S2j,?,Skj,?,Snj}。計(jì)算 IiIi 與 IjIj 的余弦相似度:
如果余弦相似度得到的值大,則說(shuō)明兩個(gè)物體間的相似度高,可推薦性就高;反之,余弦相似度的到的值越小,說(shuō)明兩個(gè)物體間的相似程度低,可推薦性小。
3.3. 基于權(quán)值的融合算法
基于權(quán)值的融合算法結(jié)合基于知識(shí)圖譜計(jì)算出的相似度與基于內(nèi)容計(jì)算出的相似度,選擇合適的權(quán)值進(jìn)行算法融合,得到最終的綜合相似度;最后,將綜合相似度的結(jié)果作為是否推薦的依據(jù)。由于知識(shí)圖譜中含有豐富的實(shí)體信息,而用戶的文本信息中則蘊(yùn)含了用戶的偏好特征,故分別設(shè)置其加權(quán)系數(shù)為 αα 和 ββ, αα 和 ββ 的取值范圍均在 [0,1][0,1] 之間,且 α+β=1α+β=1,關(guān)于 αα 和 ββ 合適的取值需要通過(guò)大量的實(shí)驗(yàn)來(lái)獲得。融合后的物品間相似度結(jié)果,如下式所示:
其中, sim(Ii,Ij)sim(Ii,Ij) 是 IiIi 與 IjIj 的相似度, SujSuj 表示用戶對(duì) IjIj 的評(píng)分, R(u)R(u) 表示用戶U評(píng)分過(guò)的物品的集合, S(i,k)S(i,k) 表示前k個(gè)與物品 IiIi 最相似的物品。用戶對(duì) IjIj 物品的評(píng)分越高,同時(shí)物品 IiIi 與物品 IjIj 相似度越高,則 PuiPui 的值越大。通過(guò)計(jì)算每一位用戶的未點(diǎn)擊物品的預(yù)測(cè)評(píng)分 PuiPui,形成最終的 TOP?kTOP?k 推薦列表。
4. 實(shí)驗(yàn)驗(yàn)證
本節(jié)主要對(duì)所提的基于知識(shí)圖譜與內(nèi)容的推薦算法開展實(shí)驗(yàn)驗(yàn)證。算法使用python3.8實(shí)現(xiàn),在以Anaconda為環(huán)境的工作站上進(jìn)行。
4.1. 數(shù)據(jù)集
實(shí)驗(yàn)將使用MovieLens電影數(shù)據(jù)集中的1M數(shù)據(jù)集來(lái)驗(yàn)證本文算法的準(zhǔn)確性。構(gòu)建電影知識(shí)圖譜數(shù)據(jù)集引用TMDB數(shù)據(jù)集,TMDB是一個(gè)包含詳細(xì)電影數(shù)據(jù)的數(shù)據(jù)庫(kù)。其中,本文在構(gòu)建電影知識(shí)圖譜時(shí)只保留每部影視的主演實(shí)體,為降低圖譜的構(gòu)建復(fù)雜度,實(shí)驗(yàn)中構(gòu)建電影知識(shí)圖譜時(shí)控制每部電影演員的實(shí)體數(shù)量不多于5個(gè)。圖6為使用TMDB數(shù)據(jù)集構(gòu)建的知識(shí)圖譜(局部)。不同顏色表示不同的節(jié)點(diǎn)類型,其中黃色節(jié)點(diǎn)為電影演員,藍(lán)色節(jié)點(diǎn)為影片。演員作為父節(jié)點(diǎn),電影作為子節(jié)點(diǎn),父子節(jié)點(diǎn)用具體關(guān)系鏈接,大幅度減少?gòu)淖庸?jié)點(diǎn)到父節(jié)點(diǎn)的鏈接。
Figure 6. The movie graph used in experiment
圖6. 構(gòu)建完成的電影圖譜
4.2. 對(duì)比算法
本文選取以下具有代表性的推薦算法進(jìn)行推薦性能對(duì)比:
1) 深度知識(shí)注意力網(wǎng)絡(luò)(Deep Knowledge-Aware Networks, DKN):融合了實(shí)體嵌入和詞嵌入,為每個(gè)輸入新聞生成一個(gè)知識(shí)感知嵌入向量,然后對(duì)用戶進(jìn)行動(dòng)態(tài)建模,其中物品和書籍的標(biāo)題用于生成詞嵌入,實(shí)體嵌入由TransH(Translating on Hyperplanes)學(xué)習(xí) [8];
2) LibFM (Lithium Bis Fuoromalonato):將用戶ID、商品ID以及從TransR (Translating Relations)獲得的實(shí)體嵌入結(jié)合起來(lái),作為L(zhǎng)ibFM的輸入 [4];
3) PER (Personalized Entity Recognition):將知識(shí)圖譜視為一個(gè)異構(gòu)信息網(wǎng)絡(luò)(Heterogeneous Information Network, HIN),并提取基于元路徑的特征來(lái)表示用戶和項(xiàng)目之間的連通性 [10]。
4.3. 評(píng)估準(zhǔn)則
在實(shí)驗(yàn)驗(yàn)證中,采用準(zhǔn)確率和召回率進(jìn)行推薦算法的性能評(píng)價(jià)。準(zhǔn)確率(Precision, P)表示是預(yù)測(cè)用戶感興趣的物品為正確的結(jié)果的數(shù)量。計(jì)算公式為:
4.4. 近鄰數(shù)對(duì)推薦性能的影響分析
本文通過(guò)7折交叉驗(yàn)證的方法,在實(shí)驗(yàn)中隨機(jī)選取70%的數(shù)據(jù)作為訓(xùn)練集,30%的數(shù)據(jù)作為測(cè)試集。由于基于知識(shí)圖譜的相似度計(jì)算的精度是由節(jié)點(diǎn)的近鄰數(shù)所決定的,近鄰數(shù)越高,精確越低,但推薦結(jié)果越能覆蓋用戶感興趣的物品。因此,為了求得最佳結(jié)果,分別取近鄰數(shù)為5、10、25、50、70、100,并且重復(fù)進(jìn)行10次取平均值作為最終結(jié)果。本文選取 α=0.7,β=0.3α=0.7,β=0.3。
圖7表示了不同近鄰數(shù)下召回率的變化關(guān)系,隨著近鄰數(shù)的增加,召回率越來(lái)越高,意味著覆蓋率越來(lái)越高。圖8表示了不同近鄰數(shù)下準(zhǔn)確率的關(guān)系,隨著近鄰數(shù)的增加,準(zhǔn)確率越來(lái)越低,意味著推薦
Figure 7. The movie graph used in experiment
圖7. 構(gòu)建完成的電影圖譜
Figure 8. The precision of different nearest neighbor
圖8. 不同近鄰數(shù)下的準(zhǔn)確率
結(jié)果的錯(cuò)誤概率越來(lái)越高。從圖7和圖8中可以看出,當(dāng)選取不同的近鄰數(shù)時(shí),推薦給用戶的物品的召回率與準(zhǔn)確率有所差異,這是由于當(dāng)選取的近鄰數(shù)越多時(shí),對(duì)用戶的偏好特征掌握越詳細(xì),因此推薦給用戶的物品占用戶所感興趣的物品的比例會(huì)有所提升,但是當(dāng)近鄰數(shù)足夠大時(shí),對(duì)用戶的偏好掌握已經(jīng)足夠,因此召回率會(huì)趨于平穩(wěn)。但是當(dāng)選取的近鄰數(shù)越多時(shí),相似的用戶及物品也就越多,剔除掉用戶曾經(jīng)購(gòu)買或點(diǎn)擊過(guò)的物品,剩余的物品依舊數(shù)量龐大,用戶點(diǎn)擊或購(gòu)買的物品占推薦物品的總數(shù)會(huì)有所下降,因此準(zhǔn)確率會(huì)有所下降??梢?,在一個(gè)完備的推薦系統(tǒng)中,近鄰數(shù)的選取并不是越大越好,而是應(yīng)該進(jìn)行適當(dāng)?shù)倪x擇。
4.5. 對(duì)比實(shí)驗(yàn)
通過(guò)計(jì)算不同近鄰數(shù)下的召回率和準(zhǔn)確率來(lái)驗(yàn)證本文算法的性能。近鄰數(shù)選擇1、5、10、25、50、100,取10次結(jié)果并求平均值。實(shí)驗(yàn)結(jié)果如圖9、圖10所示。
Figure 9. The recall of different nearest neighbor
圖9. 不同近鄰數(shù)的召回率
Figure 10. The precision of different nearest neighbor
圖10. 不同近鄰數(shù)的準(zhǔn)確率
圖9展示了不同近鄰數(shù)下的召回率。近鄰數(shù)越多,召回率越高,意味著覆蓋率越高。在相同近鄰數(shù)下,本文所提算法的召回率均高于其它算法。圖10展示了不同近鄰數(shù)下的準(zhǔn)確率。近鄰數(shù)越多,準(zhǔn)確率越低,這表明推薦的結(jié)果中出現(xiàn)錯(cuò)誤推薦的數(shù)量越高。在相同近鄰數(shù)下,本文算法的準(zhǔn)確率均高于其他算法。這表明,利用實(shí)體之間的多關(guān)系和屬性進(jìn)行相似度計(jì)算能夠提升算法的性能。由上圖所示對(duì)比結(jié)果可以進(jìn)一步看出:與其他算法相比,DKN的表現(xiàn)最差,這是由于DKN對(duì)實(shí)體的表征不明確,無(wú)法為個(gè)性化推薦提供有用的信息;PER算法的推薦結(jié)果良好,但是由于用戶定義的元路徑很難達(dá)到最佳,所以當(dāng)近鄰數(shù)達(dá)到一定程度時(shí),PER算法的推薦性能作用有限;LibFM算法作為一種通用的推薦工具,在進(jìn)行推薦時(shí),準(zhǔn)確率一直保持在較高水準(zhǔn),這表明LibFM算法可以很好地利用知識(shí)圖譜的知識(shí)進(jìn)行個(gè)性化推薦。而本文所提算法與上述推薦算法相比,當(dāng)近鄰數(shù)在100時(shí)召回率提升了約1%,準(zhǔn)確率提升了約10%,說(shuō)明本文算法是有效的。
5. 結(jié)束語(yǔ)
本文提出了一種基于知識(shí)圖譜與內(nèi)容的推薦算法。利用用戶數(shù)據(jù)解析內(nèi)容并構(gòu)建知識(shí)圖譜,在知識(shí)圖譜相似度計(jì)算和內(nèi)容的相似度計(jì)算基礎(chǔ)上,設(shè)計(jì)融合算法,完成對(duì)內(nèi)容的啟發(fā)式推薦。與通用算法的對(duì)比實(shí)驗(yàn)證明了本文算法具有較高的召回率和準(zhǔn)確率。
后續(xù)研究開展可以考慮聯(lián)合實(shí)體的多個(gè)關(guān)聯(lián)關(guān)系及多跳關(guān)系,利用其他的Trans系列模型或者知識(shí)表示模型進(jìn)行知識(shí)圖譜實(shí)體嵌入,以更充分地學(xué)習(xí)實(shí)體的表示向量,描述實(shí)體的語(yǔ)義信息,實(shí)現(xiàn)更進(jìn)一步的推薦。
審核編輯:湯梓紅
評(píng)論
查看更多