Graph Embeding(圖嵌入)在短視訊推薦系統的落地實戰-part2

weixin_34128411發表於2018-12-23

上文主要介紹了deep walk原論文是如何從原始語料獲得graph,以及如何從graph,隨機遊走出item序列。繼而通過word2vec或得item 向量。從而完成推薦。

本part主要介紹我在落地到短視訊推薦時是如何對deep walk進行改進的,並介紹落地到推薦引擎中的離線線上流程。通過上面的介紹,大家發現了,最初版本的deep walk是沒有采用user作為graph中的節點,這樣會有兩個弊端,一:同樣數目的點選序列下,得到的最終的遊走序列會少。二:沒有經過user的過度,得到的遊走序列裡所提現的擴充套件度不足。圖2是我對deep walk在短視訊推薦中引入使用者節點後產出遊走序列的過程。圖2的第一部分是原始日誌抽取的使用者點選序列。圖2中間部分是得到的graph,除了Aabd到Dcd這幾個原始點選序列,還有aAB一直是aC這些序列。是因為補充了任何兩個有關係的節點到Graph中。圖2的最右邊部分是從graph中隨機遊走得到序列,我抽樣了一些展示,能發現是user->item->user->item的形式所以保證item出現在最後遊走完成的序列中的頻次,假如我們在基礎版本中設定了item序列長度是x,此時需要設定為2x。大家也看到了引入user節點後,有兩個好處,一。我們可以選擇embeding使對user或者不對user embeding,不embeding就在最後得到的序列中去掉user即可,這樣我們也有了一個獲得user embeding的途徑。二。我們通過user節點在中間做橋,大大擴充了之前不太可能出現在一個序列的item。我產生這個idea是借鑑了基於圖的推薦personal rank演算法的私想。我也寫過一篇部落格介紹過personal rank演算法。引用4。得到遊走序列之後過一下word2vec得到embeding。完成推薦。

5616808-117e77fa43bc4927.png
圖2引入user節點之後的graph

下面介紹一下。落地過程中,離線線上架構。圖3是離線流程,從log中獲得使用者點選序列,基於使用者點選序列,或得Graph,隨機遊走抽取點選序列,得到item embeding,離線計算出item 相似檔案取topk。寫入kv。圖4是線上使用的架構。召回時基於使用者的最近點選,從kv得到item sim。merge到召回佇列,然後經過rank,推薦給使用者。這裡打一個小廣告:我利用業餘時間在慕課網講錄了幾個課:免費課連結:https://www.imooc.com/learn/1029,當然如果您想系統的學習一下個性化推薦演算法的召回與排序體系,在慕課網有一個付費課程您可以學習。

5616808-f4ed59b89b26493f.png
圖3離線流程



5616808-a511086883a58117.png
圖4線上架構

下面將展示幾個item sim相似度計算結果。看下面第一類的這種情況,從目測感上非常相似,但是其實在這種情況下,很多演算法都可以達到這種效果,甚至基於title的相似度外加一下tf idf都可以。所以在成熟系統上新增召回,我們的收益點不來自於這一種。因為之前很多已存線上上的演算法已經可以達到這個效果。第二種情況,是社會奇聞類,sim結果也是涵蓋了社會,奇聞,電影,世界見聞,但是開啟下面的視訊,發現不違和。這種情況是給我們在base基礎上提供收益的。以為他擴充套件了item的種類,使得使用者不自然的就往更多的領域去擴充。第三種情況,看title好像各不相關,是很多電影,但是其實他們都是一種主題的,就是自媒體解讀電影類的。現在解讀電影類的自媒體超多,往往暱稱是xx說電影,xx撩電影,放著一些舒緩的音樂,自媒體作者將劇情娓娓道來。但是要純粹從item profile的角度需要視訊內容以及音訊內容理解可能才能歸到一起,這種型別的case,藉助隱語義就自然的歸到一起。也是我們的收益點。

origin:紀曉嵐厲害了,和珅辦不成的事,紀曉嵐一個煙桿兒輕鬆解決

sim:(1)皇上跟紀曉嵐兩人又演雙簧,皇上話裡有話,文武百官聽的心驚膽戰 (2)皇上罰紀曉嵐種樹,由和珅監種,兩個男人也能一臺戲,太有趣了(3)和珅對紀曉嵐說: 你還真不能死,你死了我跟誰鬥氣,我會寂寞的(4)紀曉嵐不上朝被皇上當場抓住,不想老紀一張嘴,又把和珅給坑了(5)紀曉嵐在家裡罵皇上是昏君,結果皇上剛好從門口進來聽到了

origin:爺爺扮女裝帶2歲孫女乘車,的姐誤以為是人販子報警

sim:(1)13歲男孩被送到一家孤立學校,學校裡7個人個個有問題!(2)一部引人深思的婚姻電影,看大齡夫妻如何共度難關,結局意想不到!(3)冬季燒燙傷患者增多 防患於未然是關鍵(4)四川最宜居的城市,環境優美,第一個你能猜到嗎?(5)11月各類自然災害致全國12萬人次受災損失75.4億(6)中國遊客嚇壞了!緬甸姑娘很主動,伸手就要脫男遊客的褲子

origin:根據真實案件改編,一部泯滅人性的國產犯罪片,看完憤怒的砸桌子.

(1)一部充滿人性的電影,血和淚的教訓,介紹男友給閨蜜認識要謹慎(2)三分鐘看完《下妻物語》兩位特殊少女的故事,帶著滿臉眼淚看完(3)有部 韓國又出了一部真事改編的犯罪片,這回卻是關於我們(4)忍無可忍之下的人性,看過影片,思緒久久不能平復! (5)女孩為給姐姐報仇,不惜犧牲自己接近仇家,協助姐夫讓其家破人亡

最後說一下在落地時嘗試的一些試驗,以及我分析的失敗的原因:在落地時,除了上述改進,我也想參考淘寶的s3裡說到的利用subword來補充覆蓋率,但是我假如了諸如cate,source,tag等sideinfo之後,發現讓整個結果非常的趨同於線上的基於category以及基於tag的召回,收益也變得比不加side info還小了。

引用4:基於圖的推薦演算法之Personal PageRank程式碼實戰。https://www.jianshu.com/p/fe2c05933193

本文為原創文章,如需轉發請標明出處。

相關文章