您正在使用IE低版瀏覽器,為了您的雷鋒網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預覽,將在時失效
人工智能開發者 正文
發私信給楊鯉萍
發送

4

CIKM 2019 挑戰杯「用戶行為預測」冠軍方案:層次GNN模型在推薦中的應用

本文作者:楊鯉萍 2019-11-13 14:34
導語:基于歷史數據,預測用戶行為

雷鋒網 AI 開發者按:近日,在中國北京舉辦 CIKM 2019 AnalytiCup 中,由來自浙江大學、中央財經大學、阿里巴巴等機構組成的團隊 WWG 摘得「用戶行為預測」賽道的桂冠。

CIKM 是中國計算機學會(CCF)推薦的數據庫/數據挖掘/內容檢索領域的 B 類會議。 CIKM AnalytiCup 挑戰賽是會議同期舉行的國際數據挖掘比賽,今年由 CIKM、阿里媽媽、阿里巴巴算法大學、阿里云天池共同承辦,挑戰賽分為兩個賽道,用戶興趣高效檢索(Efficient User Interests Retrieval)和用戶行為多樣性預測(Predicting User Behavior Diversities in A Dynamic Interactive Environment)。

現雷鋒網(公眾號:雷鋒網) AI 開發者將 WWG 團隊冠軍方案整理如下,希望能給開發者們一些經驗與啟發。

CIKM 2019 挑戰杯「用戶行為預測」冠軍方案:層次GNN模型在推薦中的應用

冠軍團隊

本次冠軍團隊WWG成員分別來自浙江大學,中央財經大學,阿里巴巴等機構;兩位學生孟憲令和焦宇航在阿里巴巴搜索推薦事業部的商業賦能算法團隊實習期間,參與了該比賽;比賽過程中,團隊負責人李朝博士,以及兩位師兄潘旭明和鄒朋成在算法的創新和思路上給予了一定的輔導。

阿里巴巴搜索推薦事業部的商業賦能團隊,致力于通過對電商平臺的海量用戶和商品的精準理解,從需求側驅動供給側的新商業賦能,給平臺的消費者和賣家都提供更好的服務。

賽題簡介和分析

基本問題

根據歷史用戶-商品交互行為、用戶屬性和商品屬性,對給定用戶進行未來點擊預測,選出該用戶未來三天最可能點擊的商品 top50;其中,在復賽中需特別注意一點,即用戶歷史點擊商品并不在未來可能出現的點擊商品可選池中。

評估指標 [email protected]

CIKM 2019 挑戰杯「用戶行為預測」冠軍方案:層次GNN模型在推薦中的應用

其中為用戶在未來三天內的實際點擊商品集合,為用戶在未來三天內的預測點擊商品集合,此處需要注意,預測點擊商品集合的數量需滿足,即返回商品數量嚴格約束為 50 個。

簡要分析

僅僅看題目描述我們可以發現,這個題目本質上是一個召回預估問題。更具體的,這個問題應該以 u-i 對為輸入,經過一定模型的判斷,最終給出一個 u-i 對對應的分數,再根據每個 user 對應的 u-i 對分數從大到小的排序,取出 top50 的 item 作為最終得到預測點擊商品集合。

同時,考慮到規模問題,對于千萬級別的獨立 user 和 item,直接去做全集的 u-i 對預測顯然既不現實又不經濟,因此我們在結題初期就確定了「初篩-精排」兩階段求解框架,如圖 1 所示:

CIKM 2019 挑戰杯「用戶行為預測」冠軍方案:層次GNN模型在推薦中的應用

圖 1 「初篩-精排」兩階段求解框架

然而,這個題目的標題為用戶行為預測,在賽題官方的描述里也多次提到 Graph 的概念。從這一角度思考,這個問題可以描述為 u-i 二部圖的 link prediction 問題,雖然從模型的角度來看可能和剛剛說到的類似,但這一特點似乎在暗示圖結構信息在這一比賽當中的重要性。

因此,我們決定從兩個角度對此問題進行分析和求解:傳統的基于靜態屬性信息的統計特征工程,以及基于 u-i 二部圖的結構特征工程。

解題思路

統計特征的提取在我們的工作中相對簡略,因此在本節中,我們著重介紹我們對圖結構特征的思考和使用。

算法動機

為了可以預測用戶未來的點擊行為,我們需要對用戶和商品進行更為精準的刻畫和表達,由于本次賽題的主視角是用戶視角(用戶會點哪些商品),所以我們認為,解決 u-i 對預測問題的核心思想是:如何更好的表達用戶的偏好。即什么樣的商品用戶會點擊,歷史的交互行為所傳達出來的哪些信息對未來點擊的預測是有效的。

通過對用戶的行為進行思考和分析,我們發現用戶的偏好存在如下兩類的關系:

  • 如果一名用戶點擊了某個商品,那么該用戶對該商品所在類目的商品具有一定程度的偏好,如:iPhone,Mate 30->MI MIX Alpha(智能手機類目);

  • 如果一名用戶點擊了某個商品,那么該用戶對該商品所在主題的商品具有一定程度的偏好,如:沙灘褲,太陽眼鏡->防曬霜(沙灘旅行主題)。

層次關系

更深入的,我們發現這兩類關系存在相對明晰的層次關系,如:

  • 基于類目的層次偏好:iPhone,Mate 30->MI MIX Alpha(智能手機)->Canon EOS 相機(電子產品);

  • 基于用戶興趣主題的層次偏好:沙灘褲,太陽眼鏡->防曬霜(沙灘旅行)->運動鞋(戶外旅行)。這里的沙灘旅行和戶外旅行都是用戶興趣層面的表達。

這兩類偏好關系廣泛存在與用戶的歷史行為中,具體如圖 2 所示;因此,如何合理捕捉這兩類層次特征,是我們接下來算法的重點。

CIKM 2019 挑戰杯「用戶行為預測」冠軍方案:層次GNN模型在推薦中的應用

圖 2 層次偏好特征表達示意圖

解決方案

在接下來的算法中,我們將基于類目的層次偏好稱為顯式層次偏好,將基于用戶興趣主題的層次偏好稱為隱式層次偏好。我們的解決方案一共包含以下四部分:

CIKM 2019 挑戰杯「用戶行為預測」冠軍方案:層次GNN模型在推薦中的應用

圖 3 解決方案大綱

數據預處理

由于數據集本身是存在不同日期,不同交互行為(點擊,購買,加購,收藏)的,我們首先通過引入時間衰減因子和行為衰減因子兩個超參數,對原始數據集進行處理,并構建完成 user-item 二部圖(如圖 4)。

與此同時,也根據 user 特征數據集和 item 特征數據集構建一系列統計特征,以及 user 和 item 的屬性特征。

CIKM 2019 挑戰杯「用戶行為預測」冠軍方案:層次GNN模型在推薦中的應用

圖 4 user-item 二部圖

顯式層次特征提取

顯式層次特征主要基于 item-cate-cate1 的層次關系,通過將歷史行為與 item 特征進行匹配,可以分別構建出 user-item,user-cate,user-cate1 三張二部圖,對三個層次分別實現協同過濾算法,從而得出 user 對不同 item,不同 cate 以及不同 cate1 的相似性得分。我們可以看到顯性的層次特征是只有 item 維度的。

CIKM 2019 挑戰杯「用戶行為預測」冠軍方案:層次GNN模型在推薦中的應用

圖 5 顯性層次特征提取

隱式層次特征提取

隱式層次特征的提取相對困難,因為興趣主題并不像類目一樣,每個商品并沒有被標定一個顯式的興趣主題。為了比較好的解決這一問題,我們提出 Hierarchical Graph Neural Network(HGNN)算法,對圖結構進行表達。

具體的,我們對原始的 u-i 二部圖做 GraphSAGE 算法,以具有邊的 user,item 的向量表達相似(余弦相似度)為目標(注意,這里嚴格意義上應該區分兩個向量空間,在比賽中我們為了提高效率將兩個向量空間的維度設定成了相同的 16 維,因此可以實現余弦相似度的計算),做無監督的 Graph Embedding 訓練。待網絡穩定后,我們可以得到每個 user 和 item 的向量表達。這一向量即為該 user/item 的一級隱式特征。

為了表達出層次特性,我們根據 user/item 的一級隱式特征,分別在 user 和 item 的向量空間中做聚類(比賽中采用 K-means 聚類),以聚類簇的平均特征向量作為簇節點的向量,以簇間原始節點關聯關系的統計作為簇與簇之間的關聯(邊)。這樣,我們便通過聚類操作,將原始 u-i 二部圖粗化,變為了一個以主題用戶簇和主題商品簇為節點,節點數量更少的粗化圖。對粗化圖做和原始 u-i 二部圖相同基于 GraphSAGE 的 Graph Embedding 操作,我們便可以得到粗化隱式特征,原始節點的二級隱式特征即為其所屬簇的粗化隱式特征。

對于每個 user/item,將其一級隱式特征和二級隱式特征級聯,即得到該節點的隱式層次特征。在實際計算 u-i 對相似度時,將層次隱式特征分級比較即可得到這一部分的相似分。我們可以看到隱性層次特征是既有 user 維度,也有 item 維度的。

CIKM 2019 挑戰杯「用戶行為預測」冠軍方案:層次GNN模型在推薦中的應用

圖 5 隱性層次特征提取

排序模型

在 Candidate Generation 階段(初篩階段),我們采用計算效率相對較高的顯式層次特征(即采用協同過濾分)對所有商品進行初篩,對每個 user,保留其最有可能點擊的 2000 個商品進行 Ranking 階段的精排。需要注意的是,在初賽中歷史商品也可能在未來曝光并被點擊,所以歷史商品無需特殊處理。而復賽階段由于歷史商品不會在未來曝光,所以復賽階段在初篩階段的結尾要對歷史出現過的商品做篩除,以避免無效精排。

Ranking 階段基本上每個 user 要處理 2000 個左右的商品,因此我們的預測模型選擇了相對簡單高效的 LR 模型,將前置工作中得到的顯式層次特征,隱式層次特征和統計特征進行不同階的特征交叉后引入 LR 模型后,將 LR 模型的輸出作為排序分數, 取分數 top50 作為最終的預測結果進行輸出。

這里交叉特征的引入本質是一個 kernel 函數的思想, 輔助提高了 LR 模型的非線性能力,我們先后采用了顯性層次特征和隱性層次特征之間 2 階的特征交叉以及 3 階特征交叉; 分別對最后的模型效果有一定提升。

CIKM 2019 挑戰杯「用戶行為預測」冠軍方案:層次GNN模型在推薦中的應用

圖 6 排序模型圖

成果展示

以下是我們算法迭代過程中的一些重要節點:

  • version1 基于協同過濾+統計特征

  • version2 基于顯性層次特征+統計特征

  • version3 基于顯性/隱形層次特征+統計特征

  • version4 基于二階結構特征交叉+統計特征

  • version5 基于三階結構特征交叉+統計特征

CIKM 2019 挑戰杯「用戶行為預測」冠軍方案:層次GNN模型在推薦中的應用

圖 7 重要節點示意圖

可以發現,通過引入層次結構特征,尤其是隱式層次結構特征的提取,我們對這一問題進行了較好的求解,從結論上可以看出,結構特征確實對整個預測準確度帶來了較大的性能提升,后續對結構特征信息做了特征交叉之后,性能也有了進一步的提高。

總結及未來計劃

本次比賽我們嘗試了 Hierarchical GNN 模型來獲取用戶和商品的隱性層次特征,獲得了非常不錯的效果,由于比賽時間非常有限,我們的排序模型使用了 LR, 以便于快速迭代并調整相應參數,使用了 point-wise 的訓練方式。

如果還有足夠的時間,我們還會嘗試更多的排序模型,比如 xgboost, deepFM, wide&deep 等,并對模型做相應的融合,再采樣 pair-wise 的訓練方式,相信還會進一步提升模型效果。

CIKM 2019 挑戰杯「用戶行為預測」冠軍方案:層次GNN模型在推薦中的應用

圖 8 冠軍獲獎合影

更多信息請參考大賽官網:

https://tianchi.aliyun.com/markets/tianchi/cikm19_en_copy?spm=a2c22.265802.1380778.2.4cdb2b2cFZlc5l&wh_ttid=pc 

雷鋒網 AI 開發者

雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。

CIKM 2019 挑戰杯「用戶行為預測」冠軍方案:層次GNN模型在推薦中的應用

分享:

文章點評:

表情
最新文章
請填寫申請人資料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
立即設置 以后再說
彩票平台刷流水骗局