Reference: 推薦算法不夠精準?讓知識圖譜來解決node
個性化推薦系統做爲一種信息過濾的重要手段,是當前解決信息超載問題的最有效的方法之一,是面向用戶的互聯網產品的核心技術。算法
按照預測對象的不一樣,推薦系統通常能夠分紅兩類:一類是評分預測(rating prediction),例如在電影類應用中,系統須要預測用戶對電影的評分,並以此爲根據推送其可能喜歡的電影。這種場景下的用戶反饋信息表達了用戶的喜愛程度,所以這種信息也叫顯式反饋(explicit feedback);另外一類是點擊率預測(click-through rateprediction),例如在新聞類應用中,系統須要預測用戶點擊某新聞的機率來優化推薦方案。這種場景下的用戶反饋信息只能表達用戶的行爲特徵(點擊/未點擊),而不能反映用戶的喜好程度,所以這種信息也叫隱式反饋(implicit feedback)。網絡
傳統的推薦系統只使用用戶和物品的歷史交互信息(顯式或隱式反饋)做爲輸入,這會帶來兩個問題:一,在實際場景中,用戶和物品的交互信息每每是很是稀疏(sparse)的。例如,一個電影類APP可能包含了上萬部電影,然而一個用戶打過度的電影可能平均只有幾十部。使用如此少許的已觀測數據來預測大量的未知信息,會極大地增長算法的過擬合(overfitting)風險;二,對於新加入的用戶或者物品,因爲系統沒有其歷史交互信息,所以沒法進行準確地建模和推薦,這種狀況也叫作冷啓動問題(cold start problem)。app
解決稀疏性和冷啓動問題的一個常見思路是在推薦算法中額外引入一些輔助信息(side information)做爲輸入。輔助信息能夠豐富對用戶和物品的描述、加強推薦算法的挖掘能力,從而有效地彌補交互信息的稀疏或缺失。常見的輔助信息包括:機器學習
社交網絡(social networks):一個用戶對某個物品感興趣,他的朋友可能也會對該物品感興趣;ide
用戶/物品屬性(attributes):擁有同種屬性的用戶可能會對同一類物品感興趣;函數
圖像/視頻/音頻/文本等多媒體信息(multimedia):例如商品圖片、電影預告片、音樂、新聞標題等;學習
上下文(context):用戶-物品交互的時間、地點、當前會話信息等。優化
……spa
如何根據具體推薦場景的特色將各類輔助信息有效地融入推薦算法一直是推薦系統研究領域的熱點和難點,如何從各類輔助信息中提取有效的特徵也是推薦系統工程領域的核心問題。
在各類輔助信息中,知識圖譜做爲一種新興類型的輔助信息近幾年逐漸引發了研究人員的關注。知識圖譜(knowledge graph)是一種語義網絡,其結點(node)表明實體(entity)或者概念(concept),邊(edge)表明實體/概念之間的各類語義關係(relation)。一個知識圖譜由若干個三元組(h、r、t)組成,其中h和t表明一條關係的頭結點和尾節點,r表明關係。
上圖展現的三元組表達了「陳凱歌導演了霸王別姬」這樣一條事實,其中h=陳凱歌、t=霸王別姬、r=導演。
知識圖譜包含了實體之間豐富的語義關聯,爲推薦系統提供了潛在的輔助信息來源。知識圖譜在諸多推薦場景中都有應用的潛力,例如電影、新聞、景點、餐館、購物等。和其它種類的輔助信息相比,知識圖譜的引入可讓推薦結果更加具備如下特徵:
精確性(precision)。知識圖譜爲物品引入了更多的語義關係,能夠深層次地發現用戶興趣;
多樣性(diversity)。知識圖譜提供了不一樣的關係鏈接種類,有利於推薦結果的發散,避免推薦結果侷限於單一類型;
可解釋性(explainability)。知識圖譜能夠鏈接用戶的歷史記錄和推薦結果,從而提升用戶對推薦結果的滿意度和接受度,加強用戶對推薦系統的信任。
這裏值得一提的是知識圖譜和物品屬性的區別。物品屬性能夠當作是在知識圖譜中和某物品直接相連的一跳(1-hop)的節點,即一個弱化版本的知識圖譜。事實上,一個完整的知識圖譜能夠提供物品之間更深層次和更長範圍內的關聯,例如,「《霸王別姬》-張國榮-香港-梁朝偉-《無間道》」。正由於知識圖譜的維度更高,語義關係更豐富,它的處理也所以比物品屬性要更加複雜和困難。
通常來講,現有的能夠將知識圖譜引入推薦系統的工做分爲兩類:
以LibFM[1]爲表明的通用的基於特徵的推薦方法(generic feature-based methods)。這類方法統一地把用戶和物品的屬性做爲推薦算法的輸入。例如,LibFM將某個用戶和某個物品的全部屬性記爲x,而後令該用戶和物品之間的交互強度y(x)依賴於屬性中全部的一次項和二次項:
基於該類方法的通用性,咱們能夠將知識圖譜弱化爲物品屬性,而後應用該類方法便可。固然,這種作法的缺點也顯而易見:它並不是專門針對知識圖譜設計,所以沒法高效地利用知識圖譜的所有信息。例如,該類方法難以利用多跳的知識,也難以引入關係(relation)的信息。
知識圖譜特徵學習(Knowledge Graph Embedding)爲知識圖譜中的每一個實體和關係學習獲得一個低維向量,同時保持圖中原有的結構或語義信息。事實上,知識圖譜特徵學習是網絡特徵學習(network embedding)的一個子領域,由於知識圖譜包含特有的語義信息,因此知識圖譜特徵學習比通用的網絡特徵學習須要更細心和針對性的模型設計。通常而言,知識圖譜特徵學習的模型分類兩類:
基於距離的翻譯模型(distance-based translational models)。這類模型使用基於距離的評分函數評估三元組的機率,將尾節點視爲頭結點和關係翻譯獲得的結果。這類方法的表明有TransE、TransH、TransR等;
基於語義的匹配模型(semantic-based matching models)。這類模型使用基於類似度的評分函數評估三元組的機率,將實體和關係映射到隱語義空間中進行類似度度量。這類方法的表明有SME、NTN、MLP、NAM等。
因爲知識圖譜特徵學習爲每一個實體和特徵學習獲得了一個低維向量,並且在向量中保持了原圖的結構和語義信息,因此一組好的實體向量能夠充分且徹底地表示實體之間的相互關係,由於絕大部分機器學習算法均可以很方便地處理低維向量輸入。所以,利用知識圖譜特徵學習,咱們能夠很方便地將知識圖譜引入各類推薦系統算法中。歸納地說,知識圖譜特徵學習能夠:
下降知識圖譜的高維性和異構性;
加強知識圖譜應用的靈活性;
減輕特徵工程的工做量;
減小因爲引入知識圖譜帶來的額外計算負擔。
在本篇中,咱們分別介紹了推薦系統、知識圖譜、以及知識圖譜在推薦系統中的應用價值。做爲推薦算法的輔助信息,知識圖譜的引入能夠極大地提升推薦系統的精準性、多樣性和可解釋性。在下週的文章中,咱們將詳述將知識圖譜引入推薦系統的各類思路與實現,敬請期待!
參考文獻
[1] Factorization machines with libfm
[2] Personalized entity recommendation: A heterogeneous information network approach
[3] Meta-graph based recommendation fusion over heterogeneous information networks
[4] Knowledge graph embedding: A survey of approaches and applications