推薦系統與知識圖譜(1)

Reference: 推薦算法不夠精準?讓知識圖譜來解決

個性化推薦系統作爲一種信息過濾的重要手段,是當前解決信息超載問題的最有效的方法之一,是面向用戶的互聯網產品的核心技術。

推薦系統的任務和難點

 按照預測對象的不同,推薦系統一般可以分成兩類:一類是評分預測(rating prediction),例如在電影類應用中,系統需要預測用戶對電影的評分,並以此爲根據推送其可能喜歡的電影。這種場景下的用戶反饋信息表達了用戶的喜好程度,因此這種信息也叫顯式反饋(explicit feedback);另一類是點擊率預測(click-through rateprediction),例如在新聞類應用中,系統需要預測用戶點擊某新聞的概率來優化推薦方案。這種場景下的用戶反饋信息只能表達用戶的行爲特徵(點擊/未點擊),而不能反映用戶的喜愛程度,因此這種信息也叫隱式反饋(implicit feedback)。

傳統的推薦系統只使用用戶和物品的歷史交互信息(顯式或隱式反饋)作爲輸入,這會帶來兩個問題:一,在實際場景中,用戶和物品的交互信息往往是非常稀疏(sparse)的。例如,一個電影類APP可能包含了上萬部電影,然而一個用戶打過分的電影可能平均只有幾十部。使用如此少量的已觀測數據來預測大量的未知信息,會極大地增加算法的過擬合(overfitting)風險;二,對於新加入的用戶或者物品,由於系統沒有其歷史交互信息,因此無法進行準確地建模和推薦,這種情況也叫做冷啓動問題(cold start problem)。

 

解決稀疏性和冷啓動問題的一個常見思路是在推薦算法中額外引入一些輔助信息(side information)作爲輸入。輔助信息可以豐富對用戶和物品的描述、增強推薦算法的挖掘能力,從而有效地彌補交互信息的稀疏或缺失。常見的輔助信息包括:

  • 社交網絡(social networks):一個用戶對某個物品感興趣,他的朋友可能也會對該物品感興趣;

  • 用戶/物品屬性(attributes):擁有同種屬性的用戶可能會對同一類物品感興趣;

  • 圖像/視頻/音頻/文本等多媒體信息(multimedia):例如商品圖片、電影預告片、音樂、新聞標題等;

  • 上下文(context):用戶-物品交互的時間、地點、當前會話信息等。

  • ……

如何根據具體推薦場景的特點將各種輔助信息有效地融入推薦算法一直是推薦系統研究領域的熱點和難點,如何從各種輔助信息中提取有效的特徵也是推薦系統工程領域的核心問題。

知識圖譜

在各種輔助信息中,知識圖譜作爲一種新興類型的輔助信息近幾年逐漸引起了研究人員的關注。知識圖譜(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)的信息。

  • 以PER [2]、MetaGraph[3]爲代表的基於路徑的推薦方法(path-based methods)。該類方法將知識圖譜視爲一個異構信息網絡(heterogeneous information network),然後構造物品之間的基於meta-path或meta-graph的特徵。簡單地說,meta-path是連接兩個實體的一條特定的路徑,比如“演員->電影->導演->電影->演員”這條meta-path可以連接兩個演員,因此可以視爲一種挖掘演員之間的潛在關係的方式。這類方法的優點是充分且直觀地利用了知識圖譜的網絡結構,缺點是需要手動設計meta-path或meta-graph,這在實踐中難以到達最優;同時,該類方法無法在實體不屬於同一個領域的場景(例如新聞推薦)中應用,因爲我們無法爲這樣的場景預定義meta-path或meta-graph。

知識圖譜特徵學習

知識圖譜特徵學習(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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章