1. 程式人生 > 其它 >要想推薦系統做的好,圖技術少不了

要想推薦系統做的好,圖技術少不了

摘要:在電商平臺,一個好的推薦系統能幫助使用者發現好商品,也能使高質量的商品觸達精準受眾。

本文分享自華為雲社群《推薦--用圖分析!》,作者: 你好_TT。

導讀

推薦系統被認為是一種用於提供給使用者感興趣的商品、內容或者服務的技術。圖技術作為刻畫事物之間深度鏈路關係的技術,常常被用來進行推薦系統的建模。本文首先介紹推薦系統以及推薦系統和圖技術之間的關係,而後通過舉例說明圖技術如何賦能推薦系統。

什麼是推薦系統

當用戶需要連線到網際網路以滿足其需求時,他經常會遇到大量的相關資訊。推薦系統是一種用於過濾資訊並提供給使用者儘量使他們滿意和感興趣的商品、內容或者服務的技術。

隨著電子商務和社交媒體平臺的快速發展,為了防止使用者在資料海中迷失自我,推薦系統應運而生。推薦系統作為AI最成功和最重要的應用之一,幫助消費者更容易地找到相關的或感興趣的內容、商品或者服務。

推薦系統的重要性

當今網際網路承載著多種資訊資源,資料量呈指數級增長。推薦系統在緩解資訊過載這一問題上發揮著重要作用。在電商平臺,一個好的推薦系統能幫助使用者發現好商品,也能使高質量的商品觸達精準受眾。

從使用者角度來看,推薦系統可以緩解資訊過載帶來的時間成本,從企業角度來看,可以幫助企業實現精準營銷,個性化使用者的體驗,提升客戶忠誠度,最大化企業的收益。因此推薦系統的好壞對使用者和企業來說都非常重要。

圖分析與推薦系統的關係

推薦系統裡的資料本質上是一些圖資料,包括使用者、商品、屬性在內的資料通過各種各樣的關係聯絡在一起。而圖分析技術在處理複雜關係上具有天然的優勢,像隨機遊走、圖神經網路等圖技術已經被用來處理各種圖並且取得了很好的效果,所以利用圖分析來處理推薦問題會是一個自然且明智的選擇。

而且,圖分析有利於建立可解釋的推薦系統。深度學習主導下的推薦系統的黑盒機制使得人們越來越關注推薦系統的可解釋性,受益於圖分析的因果推理的能力,基於圖分析的推薦系統能很好地支撐推薦結果的可解釋性。

推薦系統中的圖結構

推薦系統中會包含很多不同型別的實體,例如使用者、商品、屬性等等,而他們之間又會通過各種關係聯絡在一起,例如使用者之間的社交關係,使用者和商品之間的互動關係等。這些不同的實體和關係構成推薦系統底層的資料集。推薦系統底層的資料可分為以下幾種結構。

層級結構

一般地,所有的商品會根據特定屬性(例如:產品的類別),被組織成層級結構。例如,華為商城的所有產品被分成許多類(包括手機、配件、智慧螢幕等),每類產品又會被分成小類(手機被分成Mate系列、P系列等),每個小類可能包含各種具體的產品。這種層級結構本身就揭示了產品之間豐富的關係。來自不同但相近的類別的產品可能存在互補的關係(例如手機和保護套),這有利於提升推薦的質量,另外,這也有利於避免重複推薦類似產品,從而提升推薦產品的多樣性。

單部圖

在推薦系統中,至少有兩個單部圖需要考慮,即使用者社交關係網路和產品的共現關係網路或會話圖。在社交關係圖中,使用者的偏好和購買行為會互相影響,產品的共現關係不僅體現了產品的互補或者競爭的關係,也顯示了使用者的消費模式,這些都是在做推薦的時候需要考慮的因素。

二部圖

使用者和商品之間的關係(點選、購買等)是推薦系統的核心,這可以建模成二部圖。此時推薦可以看作一個連結預測問題。

異構圖

為了有效解決上述使用者-商品二部圖稀疏性的問題,也為了建立更加魯棒和可靠的推薦系統,有許多相關的資訊可以被考慮進來,包括使用者的個人資訊、使用者的社交關係、商品特性、商品共現關係等等。一般來說,我們對使用者的偏好和購買行為以及產品的特性瞭解得越多,推薦的效果就會越好。

推薦系統的圖分析方法

隨機遊走

隨機遊走的原理是從某一個點出發,以特定的概率遊走到這個頂點的鄰居節點,每次遊走後得到一個概率分佈,該概率分佈刻畫了圖中每個節點被訪問到的概率。經過一定步驟後,根據每個節點被訪問到的概率對節點進行排序作為推薦結果。受益於隨機遊走特殊的工作機制,其在複雜、高階的資料圖上獲得了很好的推薦效果。

圖表示學習

圖表示學習方法一般將圖中每個點編碼成低維度的表示,這些表示蘊含著圖的結構資訊,這些表示將用於後續的推薦任務。

圖神經網路

例如:圖卷積神經網路通過利用圖的結構和點的特徵資訊去學習怎樣不斷地聚合區域性結構地特徵。一般來說,通過卷積和池化操作,圖卷積網路有能力從節點的鄰域學習到有價值的特徵資訊。

知識圖譜

基於知識圖譜的推薦系統一般利用外部的知識建立知識圖譜,以探索使用者或者商品之間隱藏的關係,這樣有利於更好的推薦。更重要的是,由於利用了外部的知識,基於知識圖譜的推薦系統對使用者的行為和產品的特性提供了更好的理解,從而提升了推薦結果的可解釋性。

基於華為雲圖引擎GES進行推薦的例子

好友推薦

在這個例子中,我們向李雷推薦好友,思路是向他推薦其好友的好友,但是推薦的好友中不應包含李雷本身的好友,比如圖中小梅同時是李雷的好友,也是李雷好友的好友,我們不應該向李雷推薦小梅,因為她已經是李雷的好友了。我們可以通過下面的gremlin語句來實現上述推薦:

g.V("李雷").repeat(out("friend").simplePath().where(without('1hop')).store('1hop')).times(2).path().by("name").limit(100)

電影推薦

這是一個異構圖的例子,實體包含user,movie,genre,actor,director等,我們想

向Frank推薦電影,我們利用GES內建的實時推薦演算法來實現。實時推薦演算法是一種基於隨機遊走模型的演算法,主要的輸入引數是sources和label,sources表示請求節點的id,label表示期望得到的推薦的節點型別,具體的引數說明可以參考連結實時推薦演算法,返回引數中,score展示了各節點的推薦值,反應了其推薦程度。

{
            "score": 1494,
            "id": "The Sixth Sense"
        },
        {
            "score": 1233.0000000000002,
            "id": "Artificial Intelligence"
        },
        {
            "score": 519,
            "id": "Lincoln"
        },
        {
            "score": 441,
            "id": "Ready Player One"
        }

基於GES的推薦系統的優勢

酷狗、華為商城基於GES構建自己的推薦系統,取得了非常好的效果,

相關連結(基於人貨場的電商知識圖譜的構建https://bbs.huaweicloud.com/forum/thread-67525-1-1.html)總的來說總的來說,基於GES的推薦系統有以下幾個方面的優勢:

實時推薦

線上應用程式必須做出即時的推薦,GES的高效能能幫助建立實時推薦系統。

提供高質量、可解釋性的推薦結果

提供的推薦結果對使用者來說是真正有價值的,而且可以回答為什麼的問題。

方法的多樣性

GES提供多種方法幫助構建推薦系統,結果更準確。

實現商業目標

幫助企業實現高收入、低成本的目標,提升使用者滿意度,節約時間成本。

參考文獻:

  1. Graph Learning Approaches to Recommender Systems: A Review(2020)
  2. DKN: Deep Knowledge-Aware Network for News Recommendation(2018)
  3. Dressing as a Whole: Outfit Compatibility Learning Based on Node-wise Graph Neural Networks(2019)

 

點選關注,第一時間瞭解華為雲新鮮技術~