知识图谱+推荐系统(一)
知識(shí)圖譜作為認(rèn)知智能的重要一環(huán),知識(shí)賦能的智能推薦將成為未來推薦的主流。智能推薦表現(xiàn)在多個(gè)方面,包括場(chǎng)景化推薦、任務(wù)型推薦、冷啟動(dòng)場(chǎng)景下推薦、跨領(lǐng)域推薦、知識(shí)型推薦[1]
1)場(chǎng)景化推薦
比如用戶在淘寶上搜“沙灘褲”、“沙灘鞋”,可以推測(cè)這個(gè)用戶很有可能要去沙灘度假。那么平臺(tái)是否能推薦“泳衣”、“防曬霜”之類的沙灘度假常用物品呢?
2) 任務(wù)型推薦
比如用戶購(gòu)買了“羊肉卷”、“牛肉卷”、“菠菜”、“火鍋底料”,那么用戶很有可能是要做一頓火鍋,這種情況下,系統(tǒng)推薦火鍋調(diào)料、火鍋電磁爐,用戶很有可能買單
3) 冷啟動(dòng)下的推薦
冷啟動(dòng)階段的推薦一直是傳統(tǒng)基于統(tǒng)計(jì)行為的推薦方法難以有效解決的問題。利用外部知識(shí),可以有效地解決傳統(tǒng)推薦系統(tǒng)存在的稀疏性和冷啟動(dòng)問題
4) 跨領(lǐng)域的推薦
比如,如果一個(gè)微博用戶經(jīng)常曬九寨溝、黃山、泰山的照片,那么為這位用戶推薦一些淘寶的登山裝備準(zhǔn)沒錯(cuò)。這是典型的跨領(lǐng)域推薦,微博是一個(gè)媒體平臺(tái),淘寶是一個(gè)電商平臺(tái)。他們的語言體系、用戶行為完全不同,實(shí)現(xiàn)這種跨領(lǐng)域推薦顯然商業(yè)價(jià)值巨大,但卻需要跨越巨大的語義鴻溝。如果能有效利用知識(shí)圖譜這類背景知識(shí),不同平臺(tái)之間的這種語義鴻溝是有可能被跨越的。比如百科知識(shí)圖譜告訴我們九寨溝是個(gè)風(fēng)景名勝,是個(gè)山區(qū),山區(qū)旅游需要登山裝備,登山裝備包括登山杖、登山鞋等等,從而就可以實(shí)現(xiàn)跨領(lǐng)域推薦
5)知識(shí)型的內(nèi)容推薦
在淘寶上搜索“三段奶粉”,能否推薦“嬰兒水杯”,同時(shí)我們是否能推薦用戶一些喝三段奶粉的嬰兒每天的需水量是多少,如何飲用等知識(shí)。這些知識(shí)的推薦,將顯著增強(qiáng)用戶對(duì)于推薦內(nèi)容的信任與接受程度。消費(fèi)背后的內(nèi)容與知識(shí)需求將成為推薦的重要考慮因素
如何將知識(shí)在不同場(chǎng)景下以合理的方式引入推薦系統(tǒng)是一個(gè)值得研究的問題。目前,將知識(shí)圖譜特征學(xué)習(xí)應(yīng)用到推薦系統(tǒng)中主要通過三種方式——依次學(xué)習(xí)、聯(lián)合學(xué)習(xí)、以及交替學(xué)習(xí)[2]。
依次學(xué)習(xí)(one-by-one learning)[3]。首先使用知識(shí)圖譜特征學(xué)習(xí)得到實(shí)體向量和關(guān)系向量,然后將這些低維向量引入推薦系統(tǒng),學(xué)習(xí)得到用戶向量和物品向量;
聯(lián)合學(xué)習(xí)(joint learning)[4,5]。將知識(shí)圖譜特征學(xué)習(xí)和推薦算法的目標(biāo)函數(shù)結(jié)合,使用端到端(end-to-end)的方法進(jìn)行聯(lián)合學(xué)習(xí);
交替學(xué)習(xí)(alternate learning)[6]。將知識(shí)圖譜特征學(xué)習(xí)和推薦算法視為兩個(gè)分離但又相關(guān)的任務(wù),使用多任務(wù)學(xué)習(xí)(multi-task learning)的框架進(jìn)行交替學(xué)習(xí)。
我們先來看下依次學(xué)習(xí)是怎么做的.《DKN: Deep Knowledge-Aware Network for News Recommendation》這篇文章是上交和MSRA在www'18發(fā)表的,文章以新聞推薦為例介紹了如何將知識(shí)圖譜引入推薦系統(tǒng)。
在新聞推薦領(lǐng)域存在三個(gè)主要挑戰(zhàn),第一,新聞具有時(shí)效性,傳統(tǒng)的協(xié)同過濾方法不再有效;第二,用戶在看新聞時(shí)會(huì)關(guān)注多個(gè)不同的主題,如何動(dòng)態(tài)捕捉用戶興趣是一大難點(diǎn);第三,新聞內(nèi)容是高度精簡(jiǎn)的。如圖所示,使用傳統(tǒng)的word-level方法,兩句話并沒有關(guān)系,但是在knowledge-level層面,兩句話的關(guān)聯(lián)性就比較大。
DKN的框架如下圖所示,DKN接受一組候選新聞和用戶歷史數(shù)據(jù),KCNN部分負(fù)責(zé)將知識(shí)引入推薦過程,attention部分對(duì)新聞賦予不同的權(quán)重,捕捉用戶興趣,和DIN 一樣。最后將得到的向量拼接,送入神經(jīng)網(wǎng)絡(luò)輸出點(diǎn)擊概率。下面重點(diǎn)看下KCNN部分,即知識(shí)如何引入的
KCNN的輸入特征包括三部分:新聞標(biāo)題詞向量(mathbf{w_i})、實(shí)體向量(mathbf{e}_{i})、上下文向量(overline{mathbf{e}}_{i})。
(mathbf{w_i})
標(biāo)題詞向量根據(jù)語料庫預(yù)訓(xùn)練得到
(mathbf{e}_{i})
實(shí)體向量由知識(shí)圖譜特征學(xué)習(xí)算法得到,具體過程如下:
1.使用實(shí)體鏈接技術(shù)將新聞文本中的實(shí)體和知識(shí)圖譜中的實(shí)體相關(guān)聯(lián),消除歧義;
2.基于識(shí)別出的實(shí)體構(gòu)造一個(gè)子圖,并從原始知識(shí)圖中提取它們之間的所有關(guān)系鏈接。 注意,所識(shí)別的實(shí)體之間的關(guān)系僅是稀疏的并且缺乏多樣性。 因此,我們將知識(shí)子圖擴(kuò)展到已識(shí)別實(shí)體的一跳內(nèi)的所有實(shí)體。
3.根據(jù)構(gòu)造的子圖,用TransE、TransH、TransR等方法得到embedding向量(mathbf{e}_{i})
(overline{mathbf{e}}_{i})
為了更好的理解實(shí)體在知識(shí)圖譜中的位置信息,作者提出了一個(gè)額外的語境向量。一個(gè)實(shí)體的語境 “context”定義為一跳鄰居節(jié)點(diǎn),語境的直觀解釋如下
對(duì)應(yīng)的語境向量為均值
[egin{aligned}
& ext {context}(e)=left{e_{i} |left(e, r, e_{i}ight) in mathcal{G} ext { or }left(e_{i}, r, eight) in mathcal{G}ight}\
&overline{mathrm{e}}=frac{1}{| ext {context}(e) |} sum_{e_{i} in ext {context}(e)} mathbf{e}_{i}
end{aligned}
]
每個(gè)輸入向量作為一個(gè)通道,類似圖像中的RGB通道,即多通道。注意,這里沒有直接拼接原始向量和實(shí)體向量,因?yàn)?)拼接會(huì)破壞詞和實(shí)體之間的關(guān)系;2)詞向量和實(shí)體向量是用不同方法學(xué)習(xí)得到的,直接在單個(gè)通道進(jìn)行操作顯然不合理;3)拼接隱式的要求詞向量和實(shí)體向量有相同的維度,實(shí)際上它們之間有差異。
總結(jié)一下依次學(xué)習(xí)過程:
構(gòu)建知識(shí)圖譜、學(xué)習(xí)實(shí)體特征向量、將實(shí)體特征向量和原始向量共同做為輸入進(jìn)行多通道卷積、利用attention機(jī)制捕捉興趣、最終向量送入到網(wǎng)絡(luò)輸出點(diǎn)擊概率。
從實(shí)驗(yàn)結(jié)果來看,DKN相比其他方法是有明顯提升的
依次學(xué)習(xí)的優(yōu)勢(shì):
知識(shí)圖譜特征學(xué)習(xí)模塊和推薦系統(tǒng)模塊相互獨(dú)立。
在知識(shí)圖譜很大的情況下,可以先通過一次訓(xùn)練得到實(shí)體和關(guān)系向量,無需重新訓(xùn)練。
依次學(xué)習(xí)的缺點(diǎn)
1)因?yàn)閮蓚€(gè)模塊相互獨(dú)立,所以無法做到端到端的訓(xùn)練。知識(shí)圖譜特征學(xué)習(xí)得到的向量會(huì)更適合于知識(shí)圖譜內(nèi)的任務(wù),比如連接預(yù)測(cè)、實(shí)體分類等,并非完全適合特定的推薦任務(wù)。
在缺乏推薦模塊的監(jiān)督信號(hào)的情況下,學(xué)習(xí)得到的實(shí)體向量是否真的對(duì)推薦任務(wù)有幫助,還需要通過進(jìn)一步的實(shí)驗(yàn)來推斷。
references:
[1]肖仰華:知識(shí)圖譜與認(rèn)知智能. https://zhuanlan.zhihu.com/p/35295166
[2]如何將知識(shí)圖譜特征學(xué)習(xí)應(yīng)用到推薦系統(tǒng). https://www.msra.cn/zh-cn/news/features/embedding-knowledge-graph-in-recommendation-system-ii
[3] SJTU,MSRA. DKN: Deep Knowledge-Aware Network for News Recommendation.www'18
[4] Collaborative knowledge base embedding for recommender systems.
[5] Ripple Network: Propagating User Preferences on the Knowledge Graph for Recommender Systems.
[6] MKR: A Multi-Task Learning Approach for Knowledge Graph Enhanced Recommendation.
總結(jié)
以上是生活随笔為你收集整理的知识图谱+推荐系统(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos 下使用sublime
- 下一篇: 专家建议中国手机使用国产芯片:不足30%