搜索推荐炼丹笔记:评论是怎么影响推荐的?
原來有這個(gè)算法,讓點(diǎn)評(píng)體驗(yàn)如此好!
作者:十方,公眾號(hào):煉丹筆記十方周末出去找吃的,一定會(huì)打開點(diǎn)評(píng),去選擇評(píng)分高的餐廳。雖然十方很少寫評(píng)價(jià),但是十方在選擇餐廳的時(shí)候,一定會(huì)選擇評(píng)分高且評(píng)論基本都是正向的餐館。評(píng)論這么多,如何在評(píng)論中挖掘關(guān)鍵信息和餐館一起推薦呢?《Query-aware Tip Generation for Vertical Search》這篇論文就給出了一個(gè)很好的算法。
從上圖中,我們可以看到,用戶在點(diǎn)評(píng)里搜牛排,推薦的餐廳下面,有評(píng)論的精華。我們還發(fā)現(xiàn),濃縮的評(píng)論,不僅簡明扼要的突出了餐廳的優(yōu)勢(shì),也和query強(qiáng)相關(guān)。要能做成這種效果,當(dāng)然要想起無處不在的它:Attention!論文提到,每個(gè)餐廳評(píng)論的提煉,會(huì)幫助到用戶做決策,而且和用戶搜索內(nèi)容也較為相關(guān),而目前已有算法提煉評(píng)論的時(shí)候忽視了用戶的query。
這篇論文本質(zhì)上是從評(píng)論中提煉出和query相關(guān)的小貼士,屬于文本生成。該文使用了transformer和RNN作為encoder和decoder,從評(píng)論中提取和query相關(guān)的內(nèi)容。
問題定義:有個(gè)用戶評(píng)論序列 R = (r1, r2, ..., rN),N個(gè)詞,還有個(gè)小貼士序列,長度為M,T=(t1, t2, ..., tM),最后還有用戶的query序列 Q = (q1, q2, ..., qK),用Q和R生成T。
又到了回顧Transformer的時(shí)候(是不是有點(diǎn)看膩了):
雖然transformer的公式一直長這樣,可是用起來可是百花齊放。該文用這個(gè)transformer做了3個(gè)組件。
- 考慮評(píng)論的Query編碼器:用戶的query就是他需要的信息的精煉表達(dá),而評(píng)論包含了很多細(xì)節(jié)信息表達(dá)了用戶的興趣。因此可以用transformer的self-atteion結(jié)構(gòu),挖掘query和評(píng)論之間的關(guān)系。我們知道正常transformer的Q,K,V都是同一份序列向量,只不過在進(jìn)attention前做了線性變換,這篇論文做了個(gè)很小的改動(dòng)。假若query的embeding是Emb(Q),評(píng)論的embedding是Emb(R),H = MultiHead(Emb(R), Emb(Q), Emb(Q)),用評(píng)論和query的attention對(duì)query進(jìn)行聚合,最終輸出Hq (N * d)。
- 考慮Query的評(píng)論編碼器:這里用另一個(gè)transformer,Q,K,V都是Emb(R),會(huì)輸出Hr(N*d)。這里我們知道Hq參考了評(píng)論編碼了用戶的query,Hr則直接編碼了用戶的評(píng)論,我們通過concat這兩個(gè)embeding,過一個(gè)mlp,就可以把Hr和Hq編碼成Henc。Hemc = [Hq;Hr]W。Henc同樣會(huì)輸入到第三個(gè)transformer去編碼,挖掘更多信息,最后生成Hr'。
- 考慮Query的小貼士解碼器:用Hq和Hr' concat后做線性變換成最終的embeding,Hdec = [Hq,Hr']W,作為decoder的輸入。
整個(gè)基于transformer的模型框架圖如下:
說完了transformer,再來說基于RNN的另一種方法先看框架圖:
Query編碼器:用雙向LSTM,最終取最后一個(gè)向量,作為query的表達(dá),hq( 2d),不贅述。
考慮Query的評(píng)論編碼器:同樣是Bi-LSTM,最終生成hr(N * 2d),然后用一個(gè)selective gate,通過hq去提取hr中有效的信息。
考慮Query的小貼士decoder:同樣是用LSTM,生成了st序列。為了使得生成的小貼士和query相關(guān),所以引入query的編碼hq,在t步的時(shí)候,用下式通過attention方式生成最終emb:
最后訓(xùn)練的時(shí)候,學(xué)習(xí)的是log loss:
先看下文本生成的效果:
tip確實(shí)和餐廳,評(píng)論,query都很相關(guān)。
比較各個(gè)模型,transformer的的效果都要好。
更多干貨,請(qǐng)關(guān)注微信公眾:煉丹筆記總結(jié)
以上是生活随笔為你收集整理的搜索推荐炼丹笔记:评论是怎么影响推荐的?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Transformer Family
- 下一篇: 推荐系统CTR预估学习路线:深度模型