推薦系統(tǒng)論文閱讀(十八)-阿里巴巴大規(guī)模商品的embedding策略

論文:

論文地址:https://arxiv.org/abs/1803.02349

論文題目:《Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba》

一 产弹、背景

我們在前面的airbnb那篇文章里面詳細(xì)介紹了airbnb如何將list(房源)轉(zhuǎn)化為低維的embedding娇钱,并運用這些得到的embedding運用到搜索任務(wù)的排序模型中哗咆,取得了不錯的效果较坛。在很多召回任務(wù)中拙已,embedding被當(dāng)作一個非常重要的特征去使用澈蝙,例如拔鹰,在youtube那邊推薦系統(tǒng)論文中占卧,將用戶的embedding和視頻的embedding訓(xùn)練出來后就可以直接計算相似度了甘苍,并用相似度計算的結(jié)果進(jìn)行召回尝蠕。

在淘寶的推薦中,主要面臨著三個技術(shù)挑戰(zhàn)载庭,分別是可擴(kuò)展性(scalability)看彼、稀疏性(sparsity)、冷啟動問題(cold start)囚聚。淘寶商城中的物品數(shù)量是十億級別的靖榕,這么稀疏的情況下,迫切需要將這些高維稀疏的item轉(zhuǎn)化為低維稠密低向量顽铸。同時茁计,每天在淘寶上新的物品也是很多的,如果解決冷啟動問題也是關(guān)鍵跋破◆さ恚基于以上考慮,淘寶提出了一種圖嵌入(graph embedding)的方法來解決上面的三個問題毒返。

在淘寶的推薦中租幕,面臨以下三個問題:

可擴(kuò)展性(scalability):一些現(xiàn)有的推薦系統(tǒng)方法,在小規(guī)模數(shù)據(jù)集上效果很好拧簸,但是在想淘寶這樣的擁有十億用戶和二十億商品的數(shù)據(jù)集上劲绪,表現(xiàn)得并不好。

稀疏性(sparsity):用戶僅與非常少的商品有過交互行為盆赤,這樣的話很難精確訓(xùn)練一個推薦模型贾富,也就是正負(fù)樣本的比例過大。

冷啟動(cold start):在淘寶中牺六,每個小時都有百萬級別的新的商品上線颤枪,這些商品沒有過用戶行為,預(yù)測用戶對這些商品的偏好是十分具有挑戰(zhàn)性的淑际。

為了解決上面的這些問題畏纲,淘寶也采用了業(yè)界常用的兩階段框架扇住,第一階段稱為匹配階段,也可以叫做召回階段盗胀,從大規(guī)模的商品集中召回一個比較小的候選集艘蹋。第二階段是排序階段,對召回的候選集進(jìn)行精確排序票灰,排序模型是一個深度神經(jīng)網(wǎng)絡(luò)模型女阀。由于兩個階段的目標(biāo)是不同的,從而導(dǎo)致了單獨的技術(shù)解決方案屑迂。

前面提到了一般embedding都是運用在召回階段的浸策,youtube那篇文章就是向量召回的典范,因此本文的embedding策略也是著重于如何解決召回階段的挑戰(zhàn)屈糊,其中的核心任務(wù)是根據(jù)用戶的行為計算所有物品之間的成對相似度的榛。當(dāng)然琼了,有了物品之間的相似度逻锐,我們就可以進(jìn)一步的得到召回的候選集并進(jìn)行排序了。在以往雕薪,我們可以通過CF(協(xié)同過濾)的方法計算物品之間的相似度昧诱,回一下CF方法,我們通過jaccard方法計算了物品之間的相似度所袁,并且根據(jù)這個相似度進(jìn)行召回盏档。但是協(xié)同過濾僅僅考慮了商品在交互矩陣中的共現(xiàn)性,相似度矩陣的計算要不斷的進(jìn)行更新燥爷,這也是一個比較棘手的問題蜈亩。

除了CF方法外,還有運用圖的隨機(jī)游走策略來計算相似度前翎。在之前的工作中稚配,使用物品圖中的隨機(jī)游走策略,我們可以捕獲項目之間的高階相似性港华。因此道川,它優(yōu)于基于CF的方法。但是立宜,要得到幾乎沒有交互作用甚至沒有交互作用的物品的準(zhǔn)確embedding仍然是一個挑戰(zhàn)冒萄。(我們將在下一篇文章中詳細(xì)介紹隨機(jī)游走,node2vec等embedding策略)橙数。

因此尊流,本文提出使用基于side information的圖嵌入學(xué)習(xí)方法,稱作Graph Embedding with Side information (GES)灯帮。這里的side information你可以理解為輔助信息崖技,比如一個商品的品牌蜘澜、店鋪名、類別等等响疚。使用side information來學(xué)習(xí)商品的embedding的話鄙信,同一個品牌或者類別的商品應(yīng)當(dāng)更相似。但是在淘寶中忿晕,有數(shù)以百計的side information装诡,這些side information對于商品向量的貢獻(xiàn)程度是不同的〖危考慮不同的side information對最終的item embedding的不同影響鸦采,這種方法稱作Enhanced Graph Embedding with Side information (EGES)

二 咕幻、模型結(jié)構(gòu)

在第一章里面我們提到了GESEGES渔伯,為了作為對比還介紹了一種BGE方法所以總共需要介紹三種方法肄程,分別是Base Graph Embedding (BGE)锣吼、Graph Embedding with Side information (GES)Enhanced Graph Embedding with Side information (EGES)

2.1 Base Graph Embedding (BGE)


BGE方法可以參考上面這張圖蓝厌,通過用戶的點擊序列構(gòu)建item graph玄叠,并用random walk的方法構(gòu)建序列,然后用skip-gram的方法訓(xùn)練出item embedding拓提。

此外读恃,從用戶的行為中抽取出序列表示,我們需要注意到幾點關(guān)鍵的地方代态。

一個是寺惫,如果使用用戶的全部點擊序列,那么對于這么多item蹦疑,計算和空間成本將變得十分昂貴西雀。

另一個是,用戶的興趣往往會隨著時間而變化必尼。 因此實際上蒋搜,我們設(shè)置了一個時間窗口,并且僅在該窗口內(nèi)選擇用戶的行為判莉,這稱為基于會話的用戶行為豆挽。 根據(jù)經(jīng)驗,時間窗口的持續(xù)時間為一小時券盅。這個跟我們之前session切分方式是一樣的帮哈,切分的時間間隔一般是30min或者1h這樣。就如同上面這張圖中的u2锰镀,我們的session就切分為BE和DEF兩部分娘侍。

根據(jù)上一步咖刃,我們得到了每個用戶的session序列,接下來就是用這些session構(gòu)建帶權(quán)有向圖了憾筏。如圖中的B->E出現(xiàn)了一次嚎杨,那么就會有一條從B指向E的帶權(quán)邊,同時邊的權(quán)重為1氧腰。注意到枫浙,這里是用所有用戶的session匯總起來得到一個有向帶權(quán)圖,并不是一個用戶對應(yīng)于一張圖古拴。

在實際應(yīng)用中箩帚,需要對一些噪聲信息進(jìn)行過濾,主要有:

1)點擊之后用戶停留時間小于1s黄痪,這可能是用戶的無意點擊紧帕,需要過濾。

2)太過活躍的用戶進(jìn)行過濾桅打,比如三個月內(nèi)購買了1000件以上的商品是嗜,點擊了3500個以上的商品。這是為了避免活躍用戶對整個圖造成過大對影響油额。

3)同一個ID叠纷,但是發(fā)生變化的商品需要過濾。

構(gòu)建完帶權(quán)有向圖后潦嘶,我們采用random walk的方法構(gòu)建skip-gram所需要的“句子”。

其中M_{ij} 是item i 到item j的權(quán)重崇众,P(vj | vi)是轉(zhuǎn)移的概率掂僵,N+是vi指向的所有item。

這樣顷歌,我們就得到了要訓(xùn)練的序列:

接下來就是我們經(jīng)典的skip-gram訓(xùn)練embedding的方法了:



這里應(yīng)該是maxmize吧锰蓬,極大似然法,讓整個概率最大眯漩,后面的t是負(fù)采樣得到的負(fù)樣本芹扭。

2.2 Graph Embedding with Side information (GES)

上面的BGE方法,可以較好的學(xué)習(xí)到item embedding赦抖,但是冷啟動問題無法很好的解決舱卡。基于此队萤,提出了Graph Embedding with Side information方法轮锥。在電子商務(wù)中,side information是指商品的類別要尔,商店舍杜,價格等新娜,它在排序階段被廣泛用作關(guān)鍵特征,而在召回階段卻很少應(yīng)用既绩。我們可以通過在圖嵌入中加入輔助信息來緩解冷啟動問題概龄。例如,優(yōu)衣庫(同一家商店)的兩個帽衫(相同類別)可能看起來相似饲握,并且喜歡尼康鏡頭的人也可能對佳能相機(jī)(相似類別和相似品牌)感興趣旁钧。這意味著具有相似輔助信息的物品在嵌入空間中應(yīng)該更靠近。

為了與之前的item embedding區(qū)分開互拾,在加入side information之后歪今,我們稱得到的embedding為商品的aggregated embeddings。商品v的aggregated embeddings計作Hv颜矿。aggregated embeddings的計算公式如下:

其中寄猩,w_{v}^0 是item v的item embedding,w_{v}^s是第s種side information的embedding骑疆,也就是將這些embedding作avg操作田篇,然后得到aggregated embedding。

2.3 Enhanced Graph Embedding with Side information (EGES)

在GES中箍铭,aggregated embedding的計算就是所有的embedding簡單的作平均泊柬,但是從現(xiàn)實中來看,每個side information 的embedding的重要性是不同的诈火,比如商品的品牌就應(yīng)該有更大的權(quán)重兽赁,比如一個用戶喜歡購買蘋果的產(chǎn)品,手機(jī)是iphone冷守,電腦是mac刀崖,自然就能想到品牌應(yīng)該占據(jù)更大的權(quán)重。

因此拍摇,需要對上面的公式進(jìn)行改進(jìn)亮钦,改為帶權(quán)重的avg:

其中,a_{v}^j 是第j個side information的embedding的權(quán)重充活,但是我們?yōu)榱俗屆總€side information都有貢獻(xiàn)蜂莉,就取了e的指數(shù)次方,其實就是softmax來計算權(quán)重混卵。

2.4 GES和EGES的訓(xùn)練方法

直接來看這個圖映穗,除了輸入部分跟基本的skip-gram不一樣,輸出跟skip-gram是一樣的淮菠,所以我們來解釋一下輸入部分男公。

輸入部分就是我們之前說的帶權(quán)avg操作,但是權(quán)重參數(shù)a是可學(xué)習(xí)的參數(shù),這里可能論文提出的比較早枢赔,或許這里可以使用attention來操作一下澄阳。

損失函數(shù):

其中,v是中心item踏拜,u是v的上下文的item碎赢,H跟Z分別代表他們的embedding,y是label速梗。

前面說了a是學(xué)習(xí)的參數(shù)肮塞,主要是來源于論文中的一個公式:

這里可以看到a是需要學(xué)習(xí)的參數(shù)。

同樣的其他的W的參數(shù)也是通過反向傳播學(xué)習(xí)到:

三 姻锁、實驗結(jié)果和冷啟動問題

3.1 實驗結(jié)果

當(dāng)然枕赵,肯定是EGES效果最好。

3.2 冷啟動問題

對于新加入的商品位隶,我們使用其side information對應(yīng)的embedding的均值來代替它的embedding拷窜,這樣做的效果如下:

可以看到對于新加入的物品,用這種方法來代替它的embedding效果還是不錯的涧黄。

side information的權(quán)重可視化:

可以看到篮昧,這種針對每一個item,本身的side information的權(quán)重都是不一樣的笋妥,這也是因為權(quán)重參數(shù)a是訓(xùn)練出來的效果懊昨。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市春宣,隨后出現(xiàn)的幾起案子酵颁,更是在濱河造成了極大的恐慌,老刑警劉巖信认,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件材义,死亡現(xiàn)場離奇詭異,居然都是意外死亡嫁赏,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進(jìn)店門油挥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來潦蝇,“玉大人,你說我怎么就攤上這事深寥∪疗梗” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵惋鹅,是天一觀的道長则酝。 經(jīng)常有香客問我,道長闰集,這世上最難降的妖魔是什么沽讹? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任般卑,我火速辦了婚禮,結(jié)果婚禮上爽雄,老公的妹妹穿的比我還像新娘蝠检。我一直安慰自己,他們只是感情好挚瘟,可當(dāng)我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布叹谁。 她就那樣靜靜地躺著,像睡著了一般乘盖。 火紅的嫁衣襯著肌膚如雪焰檩。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天订框,我揣著相機(jī)與錄音析苫,去河邊找鬼。 笑死布蔗,一個胖子當(dāng)著我的面吹牛藤违,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播纵揍,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼顿乒,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了泽谨?” 一聲冷哼從身側(cè)響起璧榄,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吧雹,沒想到半個月后骨杂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡雄卷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年搓蚪,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片丁鹉。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡妒潭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出揣钦,到底是詐尸還是另有隱情雳灾,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布冯凹,位于F島的核電站谎亩,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜匈庭,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一夫凸、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧嚎花,春花似錦寸痢、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至兵罢,卻和暖如春献烦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背卖词。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工巩那, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人此蜈。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓即横,卻偏偏與公主長得像,于是被迫代替她去往敵國和親裆赵。 傳聞我的和親對象是個殘疾皇子东囚,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容