推薦系統(tǒng)遇上深度學(xué)習(xí)(三十六)--Learning and Transferring IDs Representation in E-commerce

本文介紹的文章題目為《Learning and Transferring IDs Representation in E-commerce》箩兽,下載地址為:https://arxiv.org/abs/1712.08289

本文介紹了一種ID類特征的表示方法徘意。該方法基于item2vec方式,同時考慮了不同ID類特征之間的連接結(jié)構(gòu)户魏,在盒馬鮮生app上取得了不錯的應(yīng)用效果,我們來一探究竟篓像。

1夺英、背景

在推薦系統(tǒng)特別是電商領(lǐng)域的推薦中,ID類特征是至關(guān)重要的的特征狐赡。傳統(tǒng)的處理方式一般是one-hot編碼撞鹉。但是這種處理方式存在兩個主要的弊端:
1)高維稀疏問題:對于高維稀疏問題,若有N個物品颖侄,那么用戶交互過的物品的可能情況共2^N種情況鸟雏,為了使我們的模型更加具有可信度,所需要的樣本數(shù)量是隨著N的增加呈指數(shù)級增加的览祖。
2)它無法反映ID之間的關(guān)系:對于同質(zhì)信息來說孝鹊,比如不同的物品,假設(shè)是iphon5和iphone6展蒂,以及iphone5和華為又活,在轉(zhuǎn)換成one-hot編碼后,距離是一樣的玄货,但是實際上,iphon5和iphone6的距離應(yīng)該更近悼泌。對于異質(zhì)信息松捉,如物品ID和商鋪ID,它們的距離甚至無法衡量馆里,但實際上隘世,一家賣蘋果手機的商鋪和蘋果手機之間可柿,距離應(yīng)該更近。

對于上述問題丙者,出現(xiàn)了word2vec以及item2vec的解決方案复斥,將ID類特征轉(zhuǎn)換為一個低維的embedding向量,這種方式在電商領(lǐng)域的推薦中取得了不錯的效果械媒。

本文提出的方式目锭,基于item2vec,同時還考慮了不同ID類特征之間的連接結(jié)構(gòu)纷捞,通過這些連接痢虹,在ItemID序列中的信息可以傳播到其它類型的ID特征,并且可以同時學(xué)習(xí)這些ID特征的表示主儡,框架如下圖所示:

上面的學(xué)習(xí)方式在盒馬app中有以下幾方面的應(yīng)用:
1)Measuring the similarity between items:建模物品之間的相似度
2)Transferring from seen items to unseen items:將已知物品的向量遷移到位置物品上
3)Transferring across different domains:將不同領(lǐng)域的向量進(jìn)行遷移
4)Transferring across different tasks.:從不同的應(yīng)用場景中進(jìn)行遷移奖唯。

上面的幾個應(yīng)用我們在后文中會詳細(xì)介紹。接下來糜值,我們首先來介紹一下本文如何對ID類特征進(jìn)行處理丰捷。

2、學(xué)習(xí)ID的表征方式

2.1 Skip-gram on User’s Interactive Sequences

在電商領(lǐng)域寂汇,我們可以通過用戶的隱式反饋病往,整理得到用戶的一個交互序列。如果把每一個交互序列認(rèn)為是一篇文檔健无,那么我們可以通過Skip-Gram的方法來學(xué)習(xí)每一個item的向量荣恐。Skip-Gram的方法是最大化下面的對數(shù)概率:

其中,C是我們的上下文長度累贤,假設(shè)長度是2叠穆,那么下圖中梨的上下文就是前后的兩個item:

有關(guān)Skip-Gram模型的相關(guān)知識,可以參考:https://www.cnblogs.com/peghoty/p/3857839.html

在基本的Skip-Gram模型中臼膏,概率計算方式定義為如下的softmax方程:

其中硼被,每個物品都有兩套向量表示,分別是目標(biāo)向量表示和上下文向量表示渗磅。D表示item的總數(shù)量嚷硫。

2.2 Log-uniform Negative-sampling

當(dāng)item的總數(shù)量十分巨大時,求解Skip-Gram的方法通常是負(fù)采樣的方式始鱼,此時概率計算如下:

這里使用的負(fù)采樣方式是Log-uniform Negative-sampling仔掸。簡單介紹一下其流程:首先將D個物品按照其出現(xiàn)的頻率進(jìn)行降序排序,那么排名越靠前的物品医清,其出現(xiàn)的頻率越高起暮。采樣基于Zipfian分布,每個物品采樣到的概率如下:

由于分母都是一樣的会烙,分子依次為log(2/1),log(3/2)...log(D+1/D)负懦,是順次減小的筒捺,同時求和為1。那么排名越靠前即出現(xiàn)頻率越高的商品纸厉,被采樣到的概率是越大的系吭。

那么,該分布的累積分布函數(shù)為:

這樣颗品,當(dāng)隨機產(chǎn)生一個(0,1]之間的隨機數(shù)r時肯尺,可以通過下面的轉(zhuǎn)換快速得到對應(yīng)的index:

2.3 IDs and Their Structural Connections

實際應(yīng)用中,有許多組不同的ID抛猫,但是可以歸結(jié)為兩組:

1)物品ID及其屬性ID:物品item ID是電商領(lǐng)域的核心蟆盹,每一個物品有對應(yīng)的屬性ID,比如產(chǎn)品product ID闺金,店鋪store ID逾滥,品牌brand ID,品類category ID等败匹。舉個簡單的例子寨昙,xxx店賣的哈登籃球鞋是一個物品item ID,其對應(yīng)的產(chǎn)品是哈登籃球鞋掀亩,對應(yīng)一個product ID舔哪,另一家店賣的同款哈登籃球鞋是另一個item ID。xxx店對應(yīng)的是一個store ID槽棍,addias是哈登籃球鞋對應(yīng)的品牌brand ID捉蚤,而籃球鞋是其對應(yīng)的category ID。品類ID可能有分一級品類炼七、二級品類和三級品類缆巧。

2)用戶ID:用戶身份可以通過ID進(jìn)行識別,這里的ID可以有多種形式豌拙,如cookie陕悬、uuid、用戶昵稱等等按傅。

2.4 Jointly Embedding Attribute IDs

如何將上面所說的屬性ID加入到物品ID的表示上來呢捉超?結(jié)構(gòu)如下:

這里,定義itemi的ID組IDs(itemi)如下:

這里唯绍,id1(itemi)代表物品本身拼岳,id2(itemi)代表產(chǎn)品ID,id3(itemi)代表店鋪ID等等况芒。那么惜纸,Skip-gram的概率計算變?yōu)槿缦碌姆绞剑?/p>

這里,每一種ID的向量長度可以是不同的,也就是說不通的ID類映射到不同的語義空間中堪簿。而權(quán)重的定義方式如下:

比如,wi1=1,因為itemi是唯一的皮壁,而如果itemi對應(yīng)的產(chǎn)品有10種item的話椭更,那么wi2=1/10。

除了上面計算的item之間的共現(xiàn)概率外蛾魄,我們還希望虑瀑,屬性ID和itemID之間也要滿足一定的關(guān)系,簡單理解就是希望itemID和其對應(yīng)的屬性ID關(guān)系越近越好滴须,于是定義:

其中Mk將item ID對應(yīng)的向量轉(zhuǎn)換成跟每個屬性ID對應(yīng)向量長度一樣的向量舌狗。

結(jié)合兩部分的對數(shù)概率,加入正則項扔水,則我們期望最大化的式子變?yōu)椋?/p>

2.5 Embedding User IDs

用戶ID的Embedding通常通過其交互過的item表示痛侍,比如通過一個RNN模型或者簡單的取平均的方式,這里我們將用戶最近交互過的T個物品對應(yīng)向量的平均值魔市,來代表用戶的Embedding:

這里提到的是用平均值法代表用戶的Embedding主届,后文還提到了一種加權(quán)法,主要根據(jù)用戶的不同行為對T個物品進(jìn)行加權(quán)待德,比如君丁,購買過的物品要比只點擊不購買的物品獲得更高的權(quán)重。

2.6 Model Learning

模型的訓(xùn)練具體參數(shù)如下:

3将宪、應(yīng)用

本節(jié)我們來介紹一下上述方法的四種應(yīng)用绘闷。在應(yīng)用中,上述的框架我們將其定義為一種ITEM2VEC的方法较坛。下文中ITEM2VEC便指代本文提出的新方法印蔗。

3.1 Measuring Items Similarity

在電商領(lǐng)域中,一種簡單卻有效的方式就是推薦給用戶其喜歡的相似物品燎潮。通常使用cosine相似度來計算物品之間的相似度喻鳄。那么應(yīng)用上面的框架,基于得到的物品向量确封,便可以計算其相似度除呵,進(jìn)而推薦相似度最高的N個物品。

我們將其與協(xié)同過濾方法進(jìn)行了對比爪喘,結(jié)果如下:

可以看到颜曾,點擊率超過了協(xié)同過濾模型。

3.2 Transferring from Seen Items to Unseen Items

對于新的物品秉剑,無法得到其向量表示泛豪,這導(dǎo)致了許多推薦系統(tǒng)無法對新物品進(jìn)行處理。但本文提出的方法可以在一定程度上解決冷啟動問題。在模型訓(xùn)練時诡曙,我們添加了約束臀叙,即希望itemID和其對應(yīng)的屬性ID關(guān)系越近越好,如下式:

我們期望上面的式子越接近于1越好价卤,因此:

那么對于新的物品劝萤,其對應(yīng)的屬性ID我們往往是知道的,基于其屬性ID對應(yīng)的向量慎璧,我們便可以近似計算新物品的向量床嫌。上面最后一個地方可以好好理解一下,為什么可以表示成近似胸私?

我的思考如下(不一定正確厌处,望指正):如果我們把括號里面的向量表示成另一個向量e的話,當(dāng)兩個向量長度固定的時候岁疼,什么時候內(nèi)積取得最大值阔涉?是二者同向且共線的時候,那么ei1和e應(yīng)該是線性關(guān)系捷绒,即使e是真實的ei1的n倍的話洒敏,在計算該物品與其他物品的相似度的時候,是不會產(chǎn)生影響的疙驾,因此ei1可近似用e來代替凶伙。

實驗結(jié)果也表明,這種代替方式是十分有效的它碎。下面的表格展示了實驗結(jié)果:

3.3 Transferring across Different Domains

第三個應(yīng)用主要是針對用戶冷啟動函荣,在盒馬平臺上,相對于淘寶平臺用戶數(shù)量還是少很多的扳肛。那么對于盒馬平臺上的新用戶傻挂,我們?nèi)绾芜M(jìn)行推薦呢?過程如下:

這里挖息,用Us表示淘寶的用戶金拒,Ut表示盒馬的用戶,Ui表示既是淘寶又是盒馬的用戶套腹,那么進(jìn)行推薦的過程如下:

1)計算淘寶用戶Us之間的相似度绪抛,相似度的計算基于用戶最近在淘寶交互過的T個商品的向量〉缳鳎可以是簡單的平均幢码,可以是加權(quán)平均。權(quán)重取決于人工的設(shè)定尖飞,比如購買是5症副,點擊是1店雅;
2)基于計算的用戶相似度,對Ui中的用戶進(jìn)行k-均值聚類贞铣,這里聚成1000個類別闹啦;
3)對于每個類別,選擇N個最受歡迎的盒馬上的物品辕坝,作為候選集亥揖;
4)對于盒馬上的一個新用戶,如果它在淘寶上有交互記錄圣勒,那么就取得他在淘寶上對應(yīng)的用戶向量,并計算該向量所屬的類別摧扇;
5)基于得到的類別圣贸,將經(jīng)過篩選和排序后的該類別的候選集中物品中推薦給用戶。

我們對比了三種不同策略的PPM(Pay-Per-Impression)值扛稽,三種策略為:
1)推薦給新用戶最熱門的物品吁峻,該組為Base
2)基于簡單平均的方式計算用戶向量
3)基于加權(quán)平均的方式計算用戶向量

實驗結(jié)果表明,采用簡單平均的方式在张,PPM提升71.4%用含,采用加權(quán)平均的方式,PPM提升141.8%帮匾。

3.4 Transferring across Different Tasks

這里啄骇,我們主要對每個店鋪第二天每個30分鐘的配送需求進(jìn)行預(yù)測,這里有三種不同的輸入:
1)僅使用過去7天每三十分鐘的店鋪配送量作為輸入
2)使用使用過去7天每三十分鐘的店鋪配送量作為輸入 + 店鋪ID的one-hot encoding
3)使用使用過去7天每三十分鐘的店鋪配送量作為輸入 + 店鋪ID對應(yīng)的向量瘟斜。

輸入經(jīng)過全聯(lián)接神經(jīng)網(wǎng)絡(luò)得到配送需求的預(yù)測值缸夹,并通過RMAE指標(biāo)來計算誤差,結(jié)果如下:

4螺句、總結(jié)

本文介紹了一種處理ID類特征的方式虽惭,該方式基于Skip-Gram方法,并考慮了多種不同ID類特征之間的聯(lián)系蛇尚。本文介紹了該方法的詳細(xì)過程芽唇,以及在盒馬app上的具體應(yīng)用,具有一定的參考價值取劫。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末匆笤,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子谱邪,更是在濱河造成了極大的恐慌疚膊,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件虾标,死亡現(xiàn)場離奇詭異寓盗,居然都是意外死亡灌砖,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進(jìn)店門傀蚌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來基显,“玉大人,你說我怎么就攤上這事善炫×糜模” “怎么了?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵箩艺,是天一觀的道長窜醉。 經(jīng)常有香客問我,道長艺谆,這世上最難降的妖魔是什么榨惰? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮静汤,結(jié)果婚禮上琅催,老公的妹妹穿的比我還像新娘。我一直安慰自己虫给,他們只是感情好藤抡,可當(dāng)我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著抹估,像睡著了一般缠黍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上药蜻,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天嫁佳,我揣著相機與錄音,去河邊找鬼谷暮。 笑死蒿往,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的湿弦。 我是一名探鬼主播瓤漏,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼颊埃!你這毒婦竟也來了蔬充?” 一聲冷哼從身側(cè)響起鸣峭,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤青柄,失蹤者是張志新(化名)和其女友劉穎甘凭,沒想到半個月后款慨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡燥筷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年刁卜,在試婚紗的時候發(fā)現(xiàn)自己被綠了蠢正。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡彻消,死狀恐怖竿拆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情宾尚,我是刑警寧澤丙笋,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站煌贴,受9級特大地震影響御板,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜牛郑,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一怠肋、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧井濒,春花似錦、人聲如沸列林。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽希痴。三九已至者甲,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間砌创,已是汗流浹背虏缸。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留嫩实,地道東北人刽辙。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像甲献,于是被迫代替她去往敵國和親宰缤。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,486評論 2 348

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