知識圖譜做爲認知智能的重要一環,知識賦能的智能推薦將成爲將來推薦的主流。智能推薦表如今多個方面,包括場景化推薦、任務型推薦、冷啓動場景下推薦、跨領域推薦、知識型推薦[1]html
1)場景化推薦算法
好比用戶在淘寶上搜「沙灘褲」、「沙灘鞋」,能夠推測這個用戶頗有可能要去沙灘度假。那麼平臺是否能推薦「泳衣」、「防曬霜」之類的沙灘度假經常使用物品呢?網絡
2) 任務型推薦框架
好比用戶購買了「羊肉卷」、「牛肉卷」、「菠菜」、「火鍋底料」,那麼用戶頗有多是要作一頓火鍋,這種狀況下,系統推薦火鍋調料、火鍋電磁爐,用戶頗有可能買單函數
3) 冷啓動下的推薦學習
冷啓動階段的推薦一直是傳統基於統計行爲的推薦方法難以有效解決的問題。利用外部知識,能夠有效地解決傳統推薦系統存在的稀疏性和冷啓動問題spa
4) 跨領域的推薦3d
好比,若是一個微博用戶常常曬九寨溝、黃山、泰山的照片,那麼爲這位用戶推薦一些淘寶的爬山裝備準沒錯。這是典型的跨領域推薦,微博是一個媒體平臺,淘寶是一個電商平臺。他們的語言體系、用戶行爲徹底不一樣,實現這種跨領域推薦顯然商業價值巨大,但卻須要跨越巨大的語義鴻溝。若是能有效利用知識圖譜這類背景知識,不一樣平臺之間的這種語義鴻溝是有可能被跨越的。好比百科知識圖譜告訴咱們九寨溝是個風景名勝,是個山區,山區旅遊須要爬山裝備,爬山裝備包括爬山杖、爬山鞋等等,從而就能夠實現跨領域推薦htm
5)知識型的內容推薦blog
在淘寶上搜索「三段奶粉」,可否推薦「嬰兒水杯」,同時咱們是否能推薦用戶一些喝三段奶粉的嬰兒天天的需水量是多少,如何飲用等知識。這些知識的推薦,將顯著加強用戶對於推薦內容的信任與接受程度。消費背後的內容與知識需求將成爲推薦的重要考慮因素
如何將知識在不一樣場景下以合理的方式引入推薦系統是一個值得研究的問題。目前,將知識圖譜特徵學習應用到推薦系統中主要經過三種方式——依次學習、聯合學習、以及交替學習[2]。
咱們先來看下依次學習是怎麼作的.《DKN: Deep Knowledge-Aware Network for News Recommendation》這篇文章是上交和MSRA在www'18發表的,文章以新聞推薦爲例介紹瞭如何將知識圖譜引入推薦系統。
在新聞推薦領域存在三個主要挑戰,第一,新聞具備時效性,傳統的協同過濾方法再也不有效;第二,用戶在看新聞時會關注多個不一樣的主題,如何動態捕捉用戶興趣是一大難點;第三,新聞內容是高度精簡的。如圖所示,使用傳統的word-level方法,兩句話並無關係,可是在knowledge-level層面,兩句話的關聯性就比較大。
DKN的框架以下圖所示,DKN接受一組候選新聞和用戶歷史數據,KCNN部分負責將知識引入推薦過程,attention部分對新聞賦予不一樣的權重,捕捉用戶興趣,和DIN 同樣。最後將獲得的向量拼接,送入神經網絡輸出點擊機率。下面重點看下KCNN部分,即知識如何引入的
KCNN的輸入特徵包括三部分:新聞標題詞向量\(\mathbf{w_i}\)、實體向量\(\mathbf{e}_{i}\)、上下文向量\(\overline{\mathbf{e}}_{i}\)。
1) \(\mathbf{w_i}\)
標題詞向量根據語料庫預訓練獲得
2) \(\mathbf{e}_{i}\)
實體向量由知識圖譜特徵學習算法獲得,具體過程以下:
1.使用實體連接技術將新聞文本中的實體和知識圖譜中的實體相關聯,消除歧義;
2.基於識別出的實體構造一個子圖,並從原始知識圖中提取它們之間的全部關係連接。 注意,所識別的實體之間的關係僅是稀疏的而且缺少多樣性。 所以,咱們將知識子圖擴展到已識別實體的一跳內的全部實體。
3.根據構造的子圖,用TransE、TransH、TransR等方法獲得embedding向量\(\mathbf{e}_{i}\)
3) \(\overline{\mathbf{e}}_{i}\)
爲了更好的理解實體在知識圖譜中的位置信息,做者提出了一個額外的語境向量。一個實體的語境 「context」定義爲一跳鄰居節點,語境的直觀解釋以下
對應的語境向量爲均值
\[ \begin{aligned} &\text {context}(e)=\left\{e_{i} |\left(e, r, e_{i}\right) \in \mathcal{G} \text { or }\left(e_{i}, r, e\right) \in \mathcal{G}\right\}\\ &\overline{\mathrm{e}}=\frac{1}{| \text {context}(e) |} \sum_{e_{i} \in \text {context}(e)} \mathbf{e}_{i} \end{aligned} \]
每一個輸入向量做爲一個通道,相似圖像中的RGB通道,即多通道。注意,這裏沒有直接拼接原始向量和實體向量,由於1)拼接會破壞詞和實體之間的關係;2)詞向量和實體向量是用不一樣方法學習獲得的,直接在單個通道進行操做顯然不合理;3)拼接隱式的要求詞向量和實體向量有相同的維度,實際上它們之間有差別。
總結一下依次學習過程:
構建知識圖譜、學習實體特徵向量、將實體特徵向量和原始向量共同作爲輸入進行多通道卷積、利用attention機制捕捉興趣、最終向量送入到網絡輸出點擊機率。
從實驗結果來看,DKN相比其餘方法是有明顯提高的
依次學習的優點:
1) 知識圖譜特徵學習模塊和推薦系統模塊相互獨立。
2) 在知識圖譜很大的狀況下,能夠先經過一次訓練獲得實體和關係向量,無需從新訓練。
依次學習的缺點
1)由於兩個模塊相互獨立,因此沒法作到端到端的訓練。知識圖譜特徵學習獲得的向量會更適合於知識圖譜內的任務,好比鏈接預測、實體分類等,並不是徹底適合特定的推薦任務。
2) 在缺少推薦模塊的監督信號的狀況下,學習獲得的實體向量是否真的對推薦任務有幫助,還須要經過進一步的實驗來推斷。
references:
[1]肖仰華:知識圖譜與認知智能. https://zhuanlan.zhihu.com/p/35295166
[2]如何將知識圖譜特徵學習應用到推薦系統. 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.