丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預覽,將在時失效
人工智能 正文
發(fā)私信給汪思穎
發(fā)送

1

不一樣的論文解讀:2018 KDD best paper「Embeddings at Airbnb」

本文作者: 汪思穎 2018-11-19 20:05
導語:并不 fancy,但非常 practicable~

雷鋒網(wǎng) AI 科技評論按,本文作者吳海波,該文首發(fā)于知乎,雷鋒網(wǎng) AI 科技評論獲其授權轉載。

Airbnb 的 Real-time Personalization using Embeddings for Search Ranking at Airbnb 一文拿了今年 KDD ADS Track 的最佳論文,和 16 年 Google 的 W&D 類似,并不 fancy,但非常 practicable,值得一讀??上驳氖?,據(jù)我所知,國內(nèi)一線團隊的實踐水平并不比論文中描述的差,而且就是 W&D,國內(nèi)也有團隊在論文沒有出來之前就做出了類似的結果,可見在推薦這樣的場景,大家在一個水平線上。希望未來國內(nèi)的公司,也發(fā)一些真正實用的 paper,不一定非要去發(fā)聽起來 fancy 的。

自從 Word2vec 出來后,迅速應用到各個領域中,夸張一點描述,萬物皆可 embedding。在 NLP 中,一個困難是如何描述詞,傳統(tǒng)有 one-hot、n-gram 等各種方式,但它們很難表達詞與詞之間的語義關系,簡單來講,即詞之間的距離遠近關系。我們把每個詞的 Embedding 向量理解成它在這個詞表空間的位置,即位置遠近能描述哪些詞相關,哪些詞不相關。

對于互聯(lián)網(wǎng)場景,比如電商、新聞,同樣的,我們很難找到一個合適表達讓計算機理解這些實體的含義。傳統(tǒng)的方式一般是給實體打標簽,比如新聞中的娛樂、體育、八卦等等。且不說構建一個高質量標簽體系的成本,就其實際效果來講,只能算是乏善可陳。類似 NLP,完全可以將商品本身或新聞本身當做一個需要 embedding 的實體。當我們應用 embedding 方案時,一般要面對下面幾個問題:

  1. 希望 Embedding 表達什么,即選擇哪一種方式構建語料

  2. 如何讓 Embedding 向量學到東西

  3. 如何評估向量的效果

  4. 線上如何使用

下面我們結合論文的觀點來回答上面問題,水平有限,如有錯誤,歡迎指出。

希望 Embedding 表達什么

前面我們提了 Embedding 向量最終能表達實體在某個空間里面的距離關系,但并沒有講這個空間是什么。在 NLP 領域,這個問題不需要回答,就是語義空間,由現(xiàn)存的各式各樣的文本語料組成。在其他場景中,以電商舉例,我們會直接對商品 ID 做 Embedding,其訓練的語料來自于用戶的行為日志,故這個空間是用戶的興趣點組成。行為日志的類型不同,表達的興趣也不同,比如點擊行為、購買行為,表達的用戶興趣不同。故商品 Embedding 向量最終的作用,是不同商品在用戶興趣空間中的位置表達。

很多同學花很多時間在嘗試各種 word2vec 的變種,其實不如花時間在語料構建的細節(jié)上。首先,語料要多,論文中提到他們用了 800 million search clicks sessions,在我們嘗試 Embedding 的實踐中,語料至少要過了億級別才會發(fā)揮作用。其次,session 的定義很重要。word2vec 在計算詞向量時和它 context 關系非常大,用戶行為日志不像文本語料,存在標點符合、段落等標識去區(qū)分詞的上下文。

舉個例子,假設我們用用戶的點擊行為當做語料,當我們拿到一個用戶的歷史點擊行為時,比如是 list(商品 A,商品 B,商品 C,商品 D),很有可能商品 B 是用戶搜索了連衣裙后點的最后一個商品,而商品 C 是用戶搜索了手機后點擊的商品,如果我們不做區(qū)分,模型會認為 B 和 C 處以一個上下文。

具體的 session 定義要根據(jù)自身的業(yè)務訴求來,不存在標準答案,比如上面的例子,如果你要做用戶跨興趣點的變換表達,也是可以的,論文中給出了 airbnb 的規(guī)則:

A new session is started whenever there is a time gap of more than 30 minutes between two consecutive user clicks.

值得一提的是,論文中用點擊行為代表短期興趣和 booking 行為代表長期興趣,分別構建 Embedding 向量。關于長短期興趣,業(yè)界討論很多,我的理解是長期興趣更穩(wěn)定,但直接用單個用戶行為太稀疏了,無法直接訓練,一般會先對用戶做聚類再訓練。

如何讓 Embedding 向量學到東西

模型細節(jié)

一般情況下,我們直接用 Word2vec,效果就挺好。論文作者根據(jù) Airbnb 的業(yè)務特點,做了點改造,主要集中在目標函數(shù)的細節(jié)上,比較出彩。先來看一張圖:

不一樣的論文解讀:2018 KDD best paper「Embeddings at Airbnb」

主要 idea 是增加一個 global context,普通的 word2vec 在訓練過程中,詞的 context 是隨著窗口滑動而變化,這個 global context 是不變的,原文描述如下:

Both are useful from the standpoint of capturing contextual similarity, however booked sessions can be used to adapt the optimization such that at each step we predict not only the neighboring clicked listings but the eventually booked listing as well. This adaptation can be achieved by adding booked listing as global context, such that it will always be predicted no matter if it is within the context window or not

再看下它的公式,更容易理解:

不一樣的論文解讀:2018 KDD best paper「Embeddings at Airbnb」

注意到公式的最后一項和前面兩項的區(qū)別,在累加符號的下面,沒有變 D 限制。我的理解是,word2vec 的算法畢竟是非監(jiān)督的,而 Airbnb 的業(yè)務最終是希望用戶 Booking,加入一個約束,能夠將學到的 Embedding 向量更好的和業(yè)務目標靠近。后面還有一個公式,思路是類似的,不再贅述。

這個思路也可以理解成另一種簡單的多目標融合策略,另一篇阿里的論文也值得一讀,提出了完整空間多任務模型(Entire Space Multi-Task Model,ESMM)來解決。

數(shù)據(jù)稀疏是核心困難

Word2vec 的算法并不神奇,還是依賴實體出現(xiàn)的頻次,巧婦難為無米之炊,如果實體本身在語料中出現(xiàn)很少,也很好學到好的表達。曾經(jīng)和阿里的同學聊過一次 Embedding 上線效果分析,認為其效果來源于中部商品的表達,并不是大家理解的長尾商品。頭部商品由于數(shù)據(jù)量豐富,類似 i2i 的算法也能學的不錯,而尾部由于數(shù)據(jù)太稀疏,一般也學不好,所以 embedding 技術要想拿到不錯的收益,必須存在一批中部的商品。

論文中也提到,他們會對 entity 做個頻次過濾,過濾條件在 5-10 occurrences。有意思的是,以前和頭條的同學聊過這件事情,他們那邊也是類似這樣的頻次,我們這邊會大一點。目前沒有做的很細致,還未深究這個值的變化對效果的影響,如果有這方面經(jīng)驗的同學,歡迎指出。

另一個方法,也是非常常見,即對稀疏的 id 做個聚類處理,論文提了一個規(guī)則,但和 Airbnb 的業(yè)務耦合太深了,其他業(yè)務很難直接應用,但可以借鑒思想。阿里以前提過一種 sixhot 編碼,來緩解這個問題,不知道效果如何。也可以直接 hash,個人覺得這個會有損,但 tensorflow 的官網(wǎng)教程上,feature columns 部分關于 Hashed Column 有一段話說是無損的:

At this point, you might rightfully think: "This is crazy!" After all, we are forcing the different input values to a smaller set of categories. This means that two probably unrelated inputs will be mapped to the same category, and consequently mean the same thing to the neural network. The following figure illustrates this dilemma, showing that kitchenware and sports both get assigned to category (hash bucket) 12:

不一樣的論文解讀:2018 KDD best paper「Embeddings at Airbnb」

As with many counterintuitive phenomena in machine learning, it turns out that hashing often works well in practice. That's because hash categories provide the model with some separation. The model can use additional features to further separate kitchenware from sports.

離線如何評估效果

向量評估的方式,主要用一些聚類、高維可視化 tnse 之類的方法,論文中描述的思路和我的另一篇文章 Embedding向量召回在蘑菇街的實踐 比較像。當 Airbnb 的工具做的比較好,直接實現(xiàn)了個系統(tǒng)來幫助評估。

值得一提的是,論文還提出一種評估方法,用 embedding 向量做排序,去和真實的用戶反饋數(shù)據(jù)比較,直接引用 airbnb 知乎官方賬號描述:

更具體地說,假設我們獲得了最近點擊的房源和需要排序的房源候選列表,其中包括用戶最終預訂的房源;通過計算點擊房源和候選房源在嵌入空間的余弦相似度,我們可以對候選房源進行排序,并觀察最終被預訂的房源在排序中的位置。

不一樣的論文解讀:2018 KDD best paper「Embeddings at Airbnb」

上圖可以看出,d32 book+neg 的效果最好。

線上如何用

論文中反復提到的實時個性化并不難,只要支持一個用戶實時行為采集的系統(tǒng),就有很多種方案去實現(xiàn)實時個性化,最簡單就是將用戶最近的點擊序列中的實體 Embedding 向量做加權平均,再和候選集中的實體做 cosine 距離計算,用于排序。線上使用的細節(jié)比較多,論文中比較出彩的點有兩個:

  • 多實體 embedding 向量空間一致性問題

這是一個很容易被忽視的問題,當需要多個實體 embedding 時,要在意是否在一個空間,否則計算距離會變得很奇怪。airbnb 在構建 long-term 興趣時,對用戶和 list 做了聚類,原文如此描述:

To learn user_type and listinд_type embeddings in the same vector space we incorporate the user_type into the booking sessions.

不一樣的論文解讀:2018 KDD best paper「Embeddings at Airbnb」

即直接將二者放在一個語料里面訓練,保證在一個空間。如此,計算的 cosine 距離具有實際的意義。

  • Negative 反饋

無論是點擊行為還是成交行為,都是用戶的 positive 反饋,需要用戶付出較大的成本,而另一種隱式的負反饋,我們很少用到(主要是噪音太強)。當前主流的個性化被人詬病最多的就是相似內(nèi)容扎堆。給用戶推相似內(nèi)容,已經(jīng)是被廣泛驗證有效的策略,但我們無法及時有效的感知到用戶的興趣是否已經(jīng)發(fā)生變化,導致?lián)p壞了用戶體驗。因此,負反饋是一個很好的思路,airbnb 給出了 skipped listing_ids 的策略。

論文地址:

https://www.kdd.org/kdd2018/accepted-papers/view/real-time-personalization-using-embeddings-for-search-ranking-at-airbnb

(完)

雷峰網(wǎng)版權文章,未經(jīng)授權禁止轉載。詳情見轉載須知。

不一樣的論文解讀:2018 KDD best paper「Embeddings at Airbnb」

分享:
相關文章

編輯

關注AI學術,例如論文
當月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設置密碼以方便用郵箱登錄
立即設置 以后再說