當前位置:
首頁 > 知識 > 看阿里 AliOS 神燈團隊在推薦系統上的獨門秘籍

看阿里 AliOS 神燈團隊在推薦系統上的獨門秘籍

阿拉丁神燈的故事想必大家都聽過,對著神燈許下心愿,你的願望就會實現。而今天,在阿里 AliOS 有一支神燈團隊,他們希望能像阿拉丁神燈一樣,讓用戶通過其服務獲得滿足。團隊成員王智楠對 AI 研習社說道,「我們希望讓客戶擁有一種想要什麼服務就能得到什麼服務的感覺,這是取名『神燈』的初衷。」

神燈項目團隊主要負責 AliOS 端上智能與服務的演算法研發,攻克方向是推薦領域。項目組共有八名成員,大家的背景也很多元,涉及統計、廣告、NLP,甚至還有心理學。

目前,他們的演算法主要應用於車機智能推薦系統,例如幫助客戶預測線路、推薦周邊街道、關聯附近的停車場、介紹好吃的餐廳等。

其中,他們自研的多層 Stacking Model 極大提升了分類預測的準確率,已廣泛應用於 AliOS 多項業務。值得一提的是,年初在 WSDM Cup 2018 挑戰賽上,得益於這一模型,AliOS 神燈團隊小組在比賽中表現優異,團隊成員王智楠也受邀在會議 Workshop 上做了主題分享。

WSDM 被譽為信息檢索領域最頂級的會議之一,會議的關注點為搜索、數據檢索、數據挖掘、演算法設計、演算法分析、經濟影響方面的實際且嚴謹的研究,以及對準確率和運行速度的深入實驗探究。每屆 WSDM 都會像 KDD 一樣,舉辦一個數據挖掘類比賽。今年的比賽的出題方是流媒體音樂公司 KKBOX(與 Spotify、Apple Music 等類似),共有兩個任務,一是用戶流失預測,二是音樂個性化推薦,阿里團隊在前一個任務上一舉奪得亞軍。

AI 研習社以此次比賽為契機,與王智楠展開討論,了解到阿里神燈團隊獲勝的獨門秘籍、經驗教訓以及多層 Stacking Model 的相關信息。


WSDM Cup 挑戰賽

在 KKBOX 的用戶流失預測任務中,參賽者需要根據主辦方提供的數據,預測 2017 年 3 月訂閱到期的用戶中,哪些會流失。

談及參加此次比賽的原因,王智楠對 AI 研習社說道,「演算法團隊需要經常關注數據挖掘類比賽,獲取最新信息。得知這一比賽時,恰好神燈團隊在做音樂推薦項目,我們就想拿 KKBOX 的數據練練手。另外,我此前參加過 WSDM 2017,對此次會議也有一定了解。」

這次比賽是一個比較典型的二分類問題。王智楠表示,二分類問題中,他們主要考慮兩個方面:

一是特徵,希望能將更多的信息融入進來;

二是模型,在單模型上,業內用的都差不多,這一階段重點考慮融合。

主辦方提供的數據有如下三類:

訂單數據。2017 年 3 月之前兩年的訂單交易信息,包括用戶 id、付款方式、購買的會員周期、價格、時間、是否是自動續訂等。

用戶聽歌日誌。2017 年 3 月之前兩年的用戶聽歌日誌,包括用戶 id,日期,聽歌數量、時長等。

用戶人口統計學信息。截止 2017 年 3 月的用戶信息,包括所在城市、年齡、性別、註冊時間等。

在數據預處理階段,他們主要碰到兩類問題,一是臟數據,二是正負樣本比例不均衡。

針對臟數據問題,例如年齡數值小於 0 或者大於 100,註冊時間和支付金額中的極端異常值,他們處理的方式有根據分布將異常值轉換為合理取值,刪除無法解釋且不包含重要信息的數據等。

對正負樣本分布不均衡的問題,他們使用欠採樣的方式對訓練樣本進行處理,分別嘗試了 1:3,1:5,1:8 的正負樣本配比,在最終模型中,根據交叉驗證的結果選擇了最優配比。

在特徵工程階段,他們做了很多數據分析工作,比如統計用戶的註冊方式、註冊渠道,每個渠道的註冊人數,是否過濾掉特別小的渠道等。

針對出題方給的三份數據,神燈團隊起初對每份數據都進行了分析,大概一周之後,發現除了訂單數據,聽歌日誌和用戶人口統計學信息起的作用很小,這時候他們進行了策略上的調整——把聽歌日誌和用戶人口統計學信息放在一邊,集中精力處理訂單數據。直到比賽的最後階段,他們也沒有特別花時間研究另外兩個數據。

最終,他們使用兩層 Stacking Model,第一層採用邏輯回歸、隨機森林、XGBoost 演算法,第二層又採用 XGBoost 演算法把第一層的結果融合,在最後取得第二名。

在此次比賽中,他們也有一套方法論:「我們內部有一個稱為 MVM(minimum variable model)——最簡可用模型的策略,即先上線一個最小的模型,之後通過每次提交結果獲得反饋,再不斷修改原來的模型。」

目前,AliOS 神燈團隊已經在利用深度學習做推薦系統,但在比賽中並沒有使用這一方法,王智楠表示,這次的場景不太適合利用深度學習,更加適合傳統特徵工程的構造方式。他說道,「比賽時,主辦方提供的數據都是經過加工的數據,比如用戶聽歌日誌,主辦方已經把這個數據整理到某人每天聽了多少歌的粒度,這種細粒化的數據導致不太適合用深度學習方法解決。而我們平時利用深度學習做推薦可以從最原始的數據開始,將這些數據直接輸入到模型里,得到一個處理過的向量值。」

細節分享

比賽並非一帆風順,王智楠表示,中途出現了戲劇性的情況:比賽開始沒多久,由於出題方的失誤——在驗證數據階段沒有對用戶的結果進行隨機打斷,導致很多選手的比賽得分接近於滿分。「期間中斷了大概兩到三周,後來主辦方又公布了一批新的數據,大家得以重回到比賽中。」因為這一問題,他們之後再重新修改模型時,狀態不如之前,因此花了一段時間進行調整與追趕。

此外,分析了冠軍和其他選手的方案,他總結出兩方面的教訓。

第一是時間管控與模型調試。王智楠表示,他們在最後兩周留的時間太緊張了,導致沒有足夠的時間調整線上模型超參。「其他參賽團隊可能會這麼嘗試——每周把參數上調一個點,然後觀察線上分數的變化情況。此外,如果我們能夠在前面階段將速度放快,就可以為比賽後期預留更多時間,把參數調的更好一點。」

第二是特徵處理和數據分析。他在這裡重點提到冠軍的方案。王智楠對 AI 研習社說道,從模型上對比他們與冠軍的方案,神燈團隊更佔優勢,但冠軍在特徵工程上做得比他們更加細緻。他以日期為例,對於這一參數,他們會將其轉化成一個數值來構造特徵,但冠軍還會把日期轉化成 one-hot 特徵。「有一些日期,比如是否月底,其實還是具有一些信息量的,但是當時我們沒有考慮到這個問題。不單是這次比賽,在做其他比賽和業務的時候,也需要這麼細緻的考慮。」

他們團隊主要是進行推薦演算法的設計,之前也有相關的經驗積累,那麼,在工作中的演算法是否能直接應用於此次比賽呢?

王智楠表示,參加比賽和實際業務場景還是存在極大差異。「比賽時可以不用考慮計算成本、線上服務,效率問題。但在實際場景下,如果模型做得太過複雜,後台計算就會特別複雜,時間可能會特別長,用戶體驗就不那麼美好了。例如用戶想要一個推薦服務,請求之後,1 秒鐘都沒有回復,這就存在極大問題。」


多層 Stacking Model

其實除了此次比賽,AliOS 的推薦演算法團隊還在多項國際大賽上獲得優勝,例如 2015 ACM RecSys Challenge 亞軍,2016 ACM RecSys Challenge 冠軍,2016 KDD CUP Phase1 第二名。此外,他們團隊在阿里天池的天貓推薦大賽、LBS 推薦大賽等多個內部賽上都曾獲得獎項。

而這次比賽中使用的多層 Stacking model,也是源於 2016 年 KDD Cup。當時在比賽中為了提升效果,他們不斷搜集資料,研究出這一模型。後來,他們嘗試在線上使用這一方法,發現提升顯著,於是有了這一模型的完備方案以及大規模應用。

他坦誠表示,雖然這一模型可以極大提升預測準確率,但目前也存在一個問題——線上消耗資源量比較大。「以前可能只用訓練一個模型,但現在用兩層 Stacking Model 就要多訓練 4 個模型。」不過相較該模型帶來的優勢,資源的消耗相對來說變得不那麼重要:「對於一些場景,比如廣告場景,雖然資源消耗多,但性價比相對來說比較高。」

目前,他們也在研究如何用最少的資源來訓練模型。

談到該演算法的實際應用,王智楠說道,現在主要還是集中在 AliOS 系統互聯網汽車的音樂推薦上。目前,上汽集團大概有 50 萬輛互聯網汽車上裝載 AliOS 系統,這些用戶能優先體驗到推薦演算法帶來的便利。

4 月 AI 求職季

8 大明星企業

10 場分享盛宴

20 小時獨門秘籍

4.10-4.19,我們準時相約!

新人福利

關注 AI 研習社(okweiwu),回復1領取

【超過 1000G 神經網路 / AI / 大數據資料】

阿里巴巴 WSDM Cup 2018 奪得第二名,獲獎論文全解讀


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AI研習社 的精彩文章:

類Keras的PyTorch 深度學習框架——PyToune
加速 AI 2.0,ARC 推理挑戰賽等你來戰!

TAG:AI研習社 |