深入理解深度学习——Item Embedding
分類目錄:《深入理解深度學(xué)習(xí)》總目錄
隨著Word Embedding在NLP很多領(lǐng)域取得不錯(cuò)的成果,人們開始考慮把這一思想推廣到其他領(lǐng)域。從word2vec模型的實(shí)現(xiàn)原理可以看出,它主要依賴一條條語句,而每條語句就是一個(gè)序列。由此,只要有序列特征的場(chǎng)景應(yīng)該都適合使用這種Embedding思想。下圖表示了不同用戶在一定時(shí)間內(nèi)查詢物品形成的序列圖形,可以看出,物品形成的序列與詞形成的序列(語句)有很多相似的地方,因此,人們把Word Embedding這種思想引入物品序列中,推廣到推薦、搜索、廣告等領(lǐng)域,并學(xué)習(xí)得到Item Embedding。
微軟推薦系統(tǒng)的Item Embedding
微軟寫了一篇實(shí)用性很強(qiáng)的關(guān)于將word2vec應(yīng)用于推薦領(lǐng)域的論文。該論文中的方法簡(jiǎn)單易用,可以說極大拓展了word2vec的應(yīng)用范圍,使其從NLP領(lǐng)域直接擴(kuò)展到推薦、廣告、搜索排序等任何可以生成序列的領(lǐng)域。
Embedding是一種很好的思想,它不局限于自然語言處理領(lǐng)域,還可以應(yīng)用到其他很多領(lǐng)域。微軟研究人員把這種思想應(yīng)用到推薦系統(tǒng)中,并將其研究成果發(fā)表在論文《Item2Vec:Neural Item Embedding for Collaborative Filtering》中。論文中,他們主要參照了把Word Embedding應(yīng)用到推薦場(chǎng)景的相似度計(jì)算中的方法,把item視為word,把用戶的行為序列視為一個(gè)集合。通過把word2vec的Skip-Gram和Negative Sampling(SGNS)的算法思路遷移到基于物品的協(xié)同過濾(Item-Based CF)上,以物品的共現(xiàn)性作為自然語言中的上下文關(guān)系,構(gòu)建神經(jīng)網(wǎng)絡(luò)并學(xué)習(xí)出物品在隱空間的向量表示,讓使用效果得到較大提升。
Airbnb推薦系統(tǒng)使用Item Embedding
作為全世界最大的短租網(wǎng)站,Airbnb的主要業(yè)務(wù)是在房主掛出的短租房和以旅游為主要目的的租客之間構(gòu)建一個(gè)中介平臺(tái),以更好地為房主和租客服務(wù)。這個(gè)中介平臺(tái)的交互方式比較簡(jiǎn)單,即客戶輸入地點(diǎn)、價(jià)位、關(guān)鍵詞等,Airbnb給出租房的搜索推薦列表。所以,借助這個(gè)推薦列表提升客戶訂購(gòu)率顯得非常關(guān)鍵。
Airbnb發(fā)表的論文《Real-time Personalization using Embeddings for Search Ranking at Airbnb》提到了具體解決思路。論文中提出了兩種通過Embedding分別捕獲用戶的短期興趣和長(zhǎng)期興趣的方法,即利用用戶點(diǎn)擊會(huì)話和預(yù)定會(huì)話序列,如下圖所示:
如上圖所示,這里瀏覽點(diǎn)擊的房源之間存在強(qiáng)時(shí)序關(guān)系,即前面房源會(huì)對(duì)后面房源產(chǎn)生很大的影響,可以把一段時(shí)間內(nèi)連續(xù)發(fā)生的房源序列看作句子,把序列中的房源看作句子中的詞,這樣的結(jié)構(gòu)看上去與word2vec的訓(xùn)練數(shù)據(jù)的構(gòu)造并沒什么區(qū)別,因此可以直接按照word2vec的方法(這里采用Skip-Gram模型)進(jìn)行Embedding訓(xùn)練。
訓(xùn)練生成Listing Embedding和User-type&Listing-type Embedding,并將Embedding特征輸入搜索場(chǎng)景下的rank模型,以提升模型效果。Airbnb將業(yè)務(wù)模式與Embedding相結(jié)合的實(shí)踐案例可以說是應(yīng)用word2vec思想于公司業(yè)務(wù)的典范。具體來說,它通過客戶點(diǎn)擊或預(yù)定方式生成租客類型、房租類型等的Embedding,來獲取用戶對(duì)短期租賃和長(zhǎng)期租賃的興趣。
總結(jié)
以上是生活随笔為你收集整理的深入理解深度学习——Item Embedding的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 终端tty的含义,终端、控制
- 下一篇: 深度学习笔记(15) 人的表现