資深數據挖掘工程師29頁PPT詳解圖推薦算法在E&E問題上的應用【附PPT下載】

2021-02-15 智東西公開課

本文根據前荔枝FM資深數據挖掘工程師莊正中近期的技術分享整理而來,主題為《圖推薦算法在E&E問題上的應用》。本次分享將圍繞以圖為基礎衍生的一類推薦算法原理和應用,以及 E&E 問題 ( 如何應對新用戶和新內容 ) 的一些處理方法。E&E 指探索與利用,是推薦系統當中的兩個核心問題。完整分享PPT可在本公眾號後臺回復「推薦系統01」獲取。

莊正中:前荔枝FM資深數據挖掘工程師現於某網際網路公司任資深推薦算法工程師,負責直播產品推薦系統的設計開發工作。曾在荔枝FM和酷狗音樂負責推薦算法和文本處理相關工作,擅長神經網絡的數據建模。

在建立推薦系統的模型之前,我們需要獲得用戶和內容的相關數據。可是在推薦系統的實踐中,經常會遇到冷啟動的問題,即缺少新進入的用戶信息和新進入的內容信息。對於用戶信息,很多公司都會有市場部從市場上的各個渠道導入進來,成本較高,且無法完全覆蓋。對於新進入的用戶,他們往往是沒有歷史行為的,而這個行為特徵卻是推薦系統中最重要的特徵之一。而新用戶的留存對於公司是至關重要的,所以對於新用戶的推薦要求儘可能的精準,使其對於平臺產生忠誠度。新用戶的推薦是推薦系統的第一個難題。第二個難點則是新內容的推薦,新內容首先是沒有用戶的反饋,沒有用戶的反饋也就無法利用相應的評估體系總結內容的真實價值。同時,新內容還存在難曝光的問題。現存的推薦系統,從比較傳統的推薦系統,到 Word2Vec,再到現在各種各樣的神經網絡,在召回階段都無法很好的召回新內容, 所以很難進入到訓練樣本中去,這是新內容的長尾問題。我們可以把協同過濾認為是一種圖推薦模型, 因為用戶和內容可以認為是二分圖結構。推薦系統的宗旨是建立更多的用戶到內容的連結,隨著圖越來越大,就可以抽取到更多的信息, 從而服務更多的用戶。以 item-based CF 為例,通過計算 item 之間的相似度,從而計算出最相似的 topK 內容,把它們當作當前 item 的鄰接點,構成物與物相連的有向圖保存在起來。推薦時快速定位用戶接觸過的 seeds 列表:在"一推多"場景直接查找節點的鄰邊。 在 "n 推 n" 場景根據多節點對各鄰邊加權求和。在多樣性推薦中將 seeds 分組並執行多個"一推多"操作。CF 的缺點也很明顯,首先,由於算法的設計問題,導致了它是一種偏熱門推薦。在數據過濾的初期,沒有達到某種閾值的 user 和 item 將會被過濾掉,形成馬太效應。第二,容易形成內部環路。比如某些很受歡迎的主播,他們互為 topK,導致一直在他們內部互推。這時,我們可以通過知識圖譜和 node2vec 來拓展圖的泛化能力。
我們都知道在 NLP 任務中,word2vec 是一種常用的 word embedding 方法,來源於神經網絡模型,是神經網絡的一種中間結構的簡化。結構如上圖所示:word2vec 通過語料庫中的句子序列來描述詞與詞的共現關係,進而學習到詞語的向量表示。它是將序列向量化的一個淺層神經網絡,通常只需要有效行為的序列就可以快速得到一個以 id 為單特徵 item2vec 召回模型。Graph Embedding 的思想類似 word2vec,使用圖中節點與節點的共現關係來學習節點的向量表示。在 graph 中隨機遊走生成頂點序列,構成訓練集,然後採用 skip-gram 算法,訓練出低維稠密向量來表示頂點。這種思想與傳統的協同過濾相比有兩個比較明顯的特點:在 graph 中主要存在兩種關係,homophily 和 structural equivalence。所謂 homophily,即是在 graph 中緊密相連的鄰域。具有這種關係的頂點之間,學習出來的向量應該接近或者相似。structural equivalence,就是指在圖中具有相似作用的頂點,他們之間未必相鄰,甚至可能相隔較遠,都是所在鄰域的中心頂點。滿足這種關係的頂點之間,特徵向量也應該接近或者相似。通常在現實世界的 graph 中,會同時存在這兩種關係。可以表示如下結構:但是在不同的任務中需要關注的重點不同,可能有些任務需要關注網絡 homophily,而有些任務比較關注網絡的 structural equivalence,可能還有些任務兩者兼而有之。那麼關鍵的問題就是如何來描述節點與節點的共現關係。RandomWalk 是一種可重複訪問已訪問節點的深度優先遍歷算法。給定當前訪問起始節點,從其鄰居中隨機採樣節點作為下一個訪問節點,重複此過程,直到訪問序列長度滿足預設條件。DeepWalk 從一個節點開始採樣,跳到下一個節點的概率完全取決於鄰邊的權重, 無法靈活地捕捉這兩種關係,在這兩種關係中有所側重。而實際上,對於這兩種關係的偏好,可以通過不同的序列採樣方式來實現。有兩種極端的方式,一種是 Breadth-First Sampling ( BFS ),廣度優先搜索,如圖中紅色箭頭所示,從 u 出發做隨機遊走,但是每次都只採樣頂點 u 的直接鄰域,這樣生成的序列通過無監督訓練之後,特徵向量表現出來的是 structural equivalence 特性。另外一種是 Depth-First Sampling ( DFS ),深度優先搜索,如圖中藍色箭頭所示,從 u 出發越走越遠,學習得到的特徵向量反應的是圖中的 homophily 關係。Node2vec 則額外定義了參數 p、q,用於控制回退、BFS、DFS 動作。1. Alibaba graph-embedding首先我們介紹一篇阿里巴巴的圖嵌入技術論文 "Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba ( kdd 2018 )", 其流程如下圖所示:首先如圖 (a),假設每個用戶有不同的用戶行為,每個用戶瀏覽過不同的 item 按時間順序排列。這裡有一個業務上的技巧,就是把用戶在某個時間窗內的連續行為作為一個 session,例如一個小時,如果超過時間窗,就劃分為不同的 session。通常在短周期內訪問的商品更具有相似性。每個 session 構成一個 sampled sequence,將所有 sampled sequence 構成有向圖,圖邊表示該方向流過的次數,得到的 graph。如圖 (b),邊權重記錄了商品的出現次數。計算商品的轉移概率,並根據轉移概率做遊走,生成商品序列,圖 (c)。最後通過 skip-gram 訓練出 embedding。新商品沒有用戶行為,因此無法根據 Base Graph Embedding ( BGE ) 訓練得出向量。為了解決物品的冷啟動問題,阿里加上了物品的邊信息 Side Information ( SI ),例如品牌,類別,商店等信息。SI 相似的商品,在向量空間中也應該接近。如下圖所示:在最下面的 Sparse Features 中, SI0 表示商品本身的 one-hot 特徵, SI1 到 SIn 表示 n 個邊信息的 one-hot 特徵,阿里採用了13種邊信息特徵。每個特徵都索引到對應的 embedding 向量,得到第二層的 Dense Embeddings,然後將這 (n+1) 個向量做平均來表示這個商品,公式如下圖。 其中,Wvs 表示商品 v 的第 s 個邊信息向量, Hv 是隱向量。剩下的事情就和 BGE 相同了。這個做法叫 Graph Embedding with Side Information ( GES )。不同的邊信息對於商品的向量可能會有不同的貢獻,可以另外學習一個權重矩陣 A∈R|V|×(n+1),其中 |V| 表示商品集合 V 的數量,Aij 表示第 i 個商品的第 j 個邊信息權重。計算方法如下所示,從平均變成了加權求和。對權重取 e 的指數是為了保證所有邊信息的權重大於0。這個方法叫做 Enhanced Graph Embedding with Side Information ( EGES )。Airbnb 提出的冷啟動和採樣方式同樣值得我們借鑑。首先,它同樣是採用 session 進行分割的,而且明確指出 30mins 內的連續有序 sequences。同時提出了一個新的負採樣策略,即從與當前 item 的同一個 cluster 裡面採樣負樣本。而且 Airbnb 強化了付費行為的訓練。點擊序列中若有付費行為,則將這個 item 強制納入該序列每個 item 的上下文窗口。Airbnb 的冷啟動策略很簡單, 他並沒有做 end2end 的學習屬性的 embedding,而是直接把 new item 按主要屬性 ( 房間數,地域,地段等等 ) 檢索到最相似的 top3 個已知的 item,取3個 item 向量的平均值初始化 new item embedding。Real-time Personalization using Embeddings for Search Ranking at Airbnb ( kdd 2018 )1. Mixed Graph-Vector model在實踐中,我們發現 CF 算法用於實時召回表現出的點擊率較高,但召回存在上限,word2vec 算法表現出的泛化能力較好,可以讓更多的內容得到召回,但也就帶了泛化提升後的不確定性。兩個召回策略是存在很多數據重疊,思考能否從精簡算法的角度將兩者合併起來,並各取所長。先利用之前 CF 算法的計算得到的內容相似度矩陣,取最相似的 topK 重建一個 item 間相似性關聯圖,採用 node2vec 算法,對上圖進行隨機遊走生成序列,再使用 word2vec 完成 graph embedding。所以我們最終可以得到兩個產物,一個 item similarity graph,即原來的協同過濾圖。第二個則是由 graph embedding 產生的 item embedding。在推薦時,先通過用戶觸摸過的 item seed 定位到圖節點,如果 item 不在模型則終止。然後獲取到圖節點距離1的鄰接點,如果已推薦則擴展到距離2的鄰接點,此時會進行一個過濾操作,已推薦的不會再推。如果推薦數據不足則使用圖節點向量進行 vector search,運用向量最簡單的方法就是內積或者餘弦相似度,尋找出 N 個與其最相似的 item 進行補充。所以最終的推薦結果,結合了 CF 與 Graph embedding 兩者的優勢。上述的混合模型在性能上的提升僅來自其模型層面做的 graph embedding,即圖中的節點為所有內容的邊界,帶來的覆蓋提升也不會突破這個邊界。因此對於冷啟動內容的處理,我們將標籤作為一種冷啟動參數參與到模型訓練,使得新內容可以被高級模型接受。這裡與阿里巴巴的 EGES 構建圖的策略不同,我們沿用了協同過濾生成的 item 相似矩陣構建 graph。在 embedding 和權重的訓練過程與 EGES 過程一樣。訓練完之後,我們可以獲得特徵的 embedding 和權重矩陣。這個方法主要是針對新內容的冷啟動問題。對於 user 和 item 的匹配,我們採用的是雙塔結構進行匹配,具體結構如下:雙塔結構很簡單,左側為 user 的行為特徵和基本特徵的 embedding,拼接後經過全連接層和激活層的特徵融合和提取,形成 user vector。同理右側的 item network,可以通過之前 GES 計算的 item 的 embedding,進行特徵融合。最後將 user vector 和 item vector 進行內積和 sigmoid 函數輸出匹配分數。在工程上,由於用戶行為的實時性,user vector 需要進行實時計算。但 item 側的相關 embedding 可以通過查表得到,節省資源和計算時間。4. Graph Restrict Vector Search我們採用圖來約束推薦的搜索範圍。我們的新用戶面臨兩種類型:我們主要利用圖結構 item 之間的約束關係,比如說我們剛剛生成的用戶向量,它的搜索結果僅限於用戶剛剛點擊或者瀏覽的 item 相鄰的節點,而這些節點是我們通過大量的用戶反饋所生成的邊的關係。所以用圖約束進行搜索,一方面可以加快計算速度,還可以進一步探索下一個曝光 item 的性質。Q:構建 session 過程中怎麼過濾異常的數據?Q:Two tower 中的 user scene vector 和 item scene vector 的區別?A:這兩個是 user 和 item 的 feature field,可以根據需要進行整理。比如 user scene 包括 location、time、event、weather 等, item scene 包括 location、upload、division 等。Q:圖不是全連通的,有多個子圖,這種怎麼樣做 embedding 比較好?A:如果圖是隔斷的,那直接當作兩個圖來做兩次 embedding,因為很難有額外信息通過邊把兩個圖聯繫起來。 

Q:千萬級結點的圖Embedding有什麼快速的訓練方法或者訓練框架嗎?

A: 建議借鑑PinSage的大規模Graph Embedding方案,採用的訓練框架為TensorFlow。

Q: Airbnb Embedding中的Listing Embedding方法能同時訓練: (1)click click ... book (2)click click ... click這兩種的session嗎?用損失函數來區分嗎?

A: 可以。對於這種情況,原理是類似Doc2vec算法將book放到了其他click在Skip-gram模型的context中,即book樣本會更多參與訓練。

Q: CF圖Graph Embedding後的向量是如何和item對應的呢?

A: 訓練出來是一個MxN的矩陣,這需要看事先你是如何定義的這個Embedding,需要與節點id通過之前的順序關聯起來。

Q: "看了又看" 場景可以只用類似於i2i這樣的方法嗎?不涉及用戶側特徵,只用i2i效果怎麼樣?

A: 可以,而且這是一般做法。想不u2i,i2i的擬合能力理論上稍弱一些,因為特徵少了一些,不過可以解決大部分情況。

Q: DSSM和YouTube的雙塔"Sampling-Bias-Corrected Neural Modeling for Large Corpus Item Recommendations"有什麼區別?

A: 基本模型一樣,但後者提出通過Batch SoftMax Optimization、Streaming Frequency Estimation提升訓練效率、修正Sampling Bias。

Q: 圖的存儲有常用的格式嗎?可否理解為Redis裡key是一個商品id,value是一串逗號連接的商品id?

A: 內存裡可以用map<string,float[]>,外存裡可以使用你說的方式。

Q:Category Embedding Entity Embedding 為什麼對應著多個Embedding,然後進行pooling?

A: 一個欄位如果屬於Multi-hot離散特徵類型,一般用自己的Embedding,然後採用pooling得到Field Vector,聯合編碼做大Embedding通常只對1-hot離散特徵和連續特徵有效。

Q:Mixed graph給Word2vec的Sequence如何構建?和Similarity矩陣有何關係?

A: 請查閱Node2vec算法,Similarity矩陣即item與item的相似度,如果取每個item最相似的topK個item,它本質上可以變成一張圖。

Q: 雙塔裡面的基礎特徵向量如何來的(例如年齡,地區,職業等)?

A: 隨機初始化它們的Embedding,並參與模型的訓練得到。

Q: 圖像量如何存儲,提高查詢性能?

A: 建議放在內存裡。

Q: 能不能直接用Session的序列,算出vec,而不是先構建Graph?

A: 可以,並且可以將Graph抽樣的序列和Session原來的序列一起訓練。

Q: Mix Graph,兩種圖怎麼Random walk,邊的權值同等對待?

A: 請查閱Node2vec算法,邊上如果記錄的是頻率,則是帶權Random Walk。

Q: Graph Restrict Vector Search具體做什麼用的?

A: 對於item2item這種場景,使用Vector可以加入用戶個性化的一些信息。

在本公眾號【智東西公開課】後臺回復「推薦系統01」獲取本次完整講解PPT(限時24小時內無門檻領取哦

5月13日,MCU&MPU安全技術公開課恩智浦半導體專場開講!恩智浦微控制器與處理器事業部資深系統工程師、安全專家鍾菊英和張曉東兩位講師將直播講解MCU及MPU的物聯網安全技術。

掃描下方海報中的二維碼快速報名👇👇👇

相關焦點

  • 視頻列表頁推薦算法最新研究成果整理分享
    個性化推薦是根據用戶的興趣特點和購買行為,向用戶推薦用戶感興趣的信息和商品。 為了解決這些問題,個性化推薦系統應運而生。個性化推薦系統是建立在海量數據挖掘基礎上的一種高級商務智能平臺,以幫助電子商務網站為其顧客購物提供完全個性化的決策支持和信息服務。
  • 十款堪稱神器的ppt插件介紹 ppt插件下載
    ppt插件有很多,圈兒網羅了十款比較常用的插件來介紹一下它們的主要功能,親們了解過後,可以根據自己的實際需要選擇性下載並使用,之後我們也會慢慢介紹這些插件的安裝使用方法,安裝問題的解決方法和一些使用技巧,今天我們就來大概介紹一下。
  • 算法推薦組:數據平臺(高級)工程師等
    崗位要求:1、崇尚數據說話,深信數據在驅動業務、支撐決策上的價值;2、熟悉一項或多項常用的數據分析相關的工具和平臺,e.g. SQL, Python, Hadoop, Mapreduce, Hive, Storm, Spark, scribe, kafka, etc.
  • [分享]網紅店設計方案ppt案例資料下載
    網紅店設計方案ppt案例專題為您提供網紅店設計方案ppt案例的相關資料與視頻課程,您可以下載網紅店設計方案ppt案例資料進行參考,觀看相關視頻課程提升技能。
  • e車e站 - e車e站下載_e車e站手機版下載【官方安卓版】-太平洋下載...
    *使用360手機助手能下載目標軟體,安裝更安全
  • 小叮噹數據挖掘(一):初識數據挖掘
    值得一提的是,概括來說數據挖掘是指從海量數據中提取有價值的信息,而不是一些人們對數據挖掘的常見認知錯誤:「數據挖掘就是下載海量數據」,這是一種非常錯誤的認知!商務智能(BI)技術提供商務運作的歷史、現狀和預測圖。例子包括報告、聯機分析處理、商務業績管理、競爭情報、標杆管理和預測分析。顯然,數據挖掘是商務智能的核心。
  • 聚焦哥:PPT配色的應用——取色器
    一種主色,兩三種輔助色就好了,新手用色最好越少越好,最多三種到五種就夠了e2、大自然是最好的配色大師向大自然學習如何配色,造物主設計巧奪天工,日落晚霞、丹霞地貌、火燒雲、碧海藍天無不是大自然的作品。我們可以上Peise這個網址。4、LOGO配色在LOGO裡選取顏色,用LOGO上的配色,這種配色很符合企業文化的傳承,用這種顏色讓人一看到配色就會想起該企業的風格,長久用這種配色會使得在潛意識中知道是該企業色,該企業的面貌。
  • 程序猿職業技能培訓平臺商業計劃書ppt範文解析丨附文件下載
    成人職業技能培訓商業計劃書ppt怎麼寫?本文以「程序猿」為例,提供職業培訓平臺BP商業計劃書ppt撰寫示範。下載完整文檔請訪問PPTBOSS(www.pptboss.com)案例作品。一方面,App Store的應用已近300萬個,僅中國區還在以每天超過100個的速度增加,程式設計師培訓機構日漸增多。另一方面,一個簡單的企業級APP,上線技術成本也需20-50萬;開發周期持續數月,小公司難以承擔這成本。商業模式上,「程序猿」分2C、2B兩部分。
  • ppt教學(15):詳解ppt錄製視頻的方法及技巧,幾種方式任你選擇
    記得前面講過如何巧妙的利用ppt的導出視頻功能及ppt的動畫設計功能製作簡單的視頻,但是我發現很多人連如何導出是視頻都不知道,因此本篇文章詳解ppt導出視頻的幾種方法,以及導出視頻的技巧。導出視頻有什麼用呢?可以在播放器上自動播放ppt以達到宣傳的效果,視頻更形象生動也更感染人。
  • ppt如何生成柱形圖
    ppt中會經常用到圖表,比如柱形圖、圓餅圖等,這些圖就是基於一定的數據建立起來的,那 ppt如何生成柱形圖呢?方法/步驟打開PPT,這時就可以看見有一頁空白頁的PPT在主頁上。然後在最上方的「圖表」欄裡找到「插入圖表」一欄,點擊進入它。
  • 學了一年PPT,我整理了2000頁PPT圖形
    我們在日常看到好的PPT都會將好看的圖形收集到一起,然後在後續工作中使用,通過這一年的積累我收集了2000多頁,包含全行業圖形常用的數據分析圖形,各種邏輯圖形,各種創意圖形,各種商務圖形,各種卡通插畫圖形等等。
  • 【乾貨】UIUC韓家煒老師2020年新課:CS512 數據挖掘:原理與算法,附PPT
    最近他在UIUC新開設一門數據挖掘的課程CS512 Spring 2020,Data Mining: Principles and Algorithms》,介紹數據挖掘的原理、算法和應用,內容豐富,值得收藏。戳右邊連結上 新智元小程序 了解更多!
  • 京東高級算法工程師34頁PPT詳解基於分布式向量檢索系統Vearch的大...
    出品 | 智東西公開課講師 | 邸志惠 京東高級算法工程師導讀:6月10日,京東高級算法工程師邸志惠在智東西公開課進行了CV前沿講座第八講的直播講解,主題為《大規模圖像檢索系統的挑戰與實踐》。上述杯子拍照購場景,無論搜卡通杯,還是白色陶瓷杯,還是白色卡通陶瓷杯都無法精確得到上圖結果。深度學習的出現,通過編碼圖片、文本、視頻等的高維度信息為固定維特徵向量,使事物得到精準量化表示,導致搜索結果可以高質量精準排序。比如上述人臉場景,深層網絡會提取人臉的眼睛、鼻子、嘴巴、皮膚紋理等上萬維特徵編碼成向量來唯一刻畫人臉的唯一性。
  • 站長之家招聘:SEO高手、資深網頁設計師、JAVA/GO/PHP/.NET工程師
    本次的首推職位有資深SEO高手、資深網頁設計師、JAVA/GO/PHP/.NET程式設計師,歡迎大家投遞簡歷到hr@chinaz.com郵箱(務必附作品、工作經歷、工作成績等)。任職要求:1、至少 3 年以上SEO工作經驗,大型網站SEO成功優化案例者優先;2、熟悉主流搜尋引擎的搜索排名原理和搜尋引擎推出的各種算法;3、愛好SEO事業,擅長探索、研究新的SEO技術,對SEO有自己獨特的見解;4、對數據較敏感,能獨立分析數據,並能根據數據提出解決方案
  • PPT模板資源大全免費下載分享網站推薦
    這裡有很多優秀設計師的作品,有些是免費的,也有付費的,稻殼網是付費會員制,訂閱了會員就可以下載它們網站上的所有付費模板,這一點對於很多喜歡混搭套用的小夥伴來說比較友好。當然如果你用的是金山WPS,也可以直接在WPS上面下載模板使用。
  • 李宏毅:1 天搞懂深度學習,我總結了 300 頁 PPT(附思維導圖)
    ppt,臺灣李宏毅教授寫的,非常棒。廢話少說,先上乾貨,整個 PPT 的思維導圖如下:Loss function是用於評估方法優劣,通常我們用學習出來的參數對測試數據進行計算,得出對應的預測(y)然後和真實的測試數據的目標值(t)進行比對,y和t之間的差距往往就是Loss。那麼評估一個算法的好壞,就是要儘可能的降低Loss。
  • 一百頁Word轉PPT,為什麼我只花了三分鐘?
    在前一段時間,遇到期末開卷選修課,需要對上百頁的PPT進行處理,準確的是把上百頁PPT文字給整理出來,再帶到教室抄。 在製作的過程中,我們主要運用的是Word中對文本的大綱,word到ppt的轉換以及PPT中的母版版式應用。 ① word大綱大綱是將Word與PPT連結起來的通道,文本需要按照主次分好大標題與內容的層次之分。
  • 六大免費PPT模板下載網站,收藏不後悔
    今天就給大家推薦六大PPT模板下載網站,真的都是免費哦~01、「51PPT」網址:http://www.51pptmoban.com/ppt/一個獨立的個人運營網站,不僅有免費的PPT,還有海量下載方式:①選擇需要下載的模板②下拉找到「下載地址」③本地下載即可保存02、「OfficePlus」
  • ppt必備神器-透明底小圖標免費下載網站
    在平時做ppt的時候經常需要用到一些透明底的小圖標來做裝飾或者點綴,這時候我們就可以在iconfont上面來尋找啦。登陸界面點擊登錄,一共有三種登錄方式,推薦使用微博登錄,比較方便。滑鼠放到選中的圖標上,會出現三個按鈕,我們點擊最下面的下載按鈕。點擊之後會出現圖標的大圖預覽,還有一個重要的功能(敲黑板)顏色選擇,我們可以直接在網頁上選擇需要的顏色,這樣就可以省去編輯的麻煩。
  • 【韓家煒老師CS512 Spring 2020課程】數據挖掘:原理與算法,附下載
    最近他在UIUC美國伊利諾伊大學香檳分校新開設一門課程CS512 Spring 2020關於數據挖掘《Data Mining: Principles and Algorithms》,介紹數據挖掘的原理、算法和應用,包括算法、方法、實現和應用。