一个端到端模型GraphDR实现多样化的召回
一個推薦系統,大致就分為兩個模塊,召回和排序。再細分下去就是召回,粗排,精排,重排。不管推薦系統多么復雜,無非是為了兩個目標,推薦的準確,且多樣化。為了實現多樣化,往往是在排序中對同質的item做了指紋去重處理。但是如果召回側多樣性不足,排序無論怎么優化都不能達到最優,所以這篇《Improving Accuracy and Diversity in Matching of Recommendation with Diversified Preference Network》就來探討如何在召回側,用一個端到端模型GraphDR實現多樣化的召回。
模型結構
GraphDR包含3個模塊,如下圖所示,包含多樣偏好網絡(Diversified Preference Network),網絡表示學習(Network representation learning)和在線多通道匹配(online multi-channel matching)。
Diversified Preference Network
多樣偏好網絡是實現多樣性召回的基礎,本文通過用戶多種多樣的交互行為對用戶偏好進行建模,訓練數據包含多種類型:視頻,Tag,媒體,用戶和文本。視頻包含文本(Title),視頻提供者是媒體,每個視頻又有很多Tag,這些特征對最后的推薦效果有著重要的影響。為了緩解數據稀疏的影響,用戶的基礎特征也要用進來??梢园茨挲g,性別,地域等特征對用戶進行聚類,形成用戶組。在GraphDR模型中,有6種類型的邊。
- Video-Video邊:如果一個用戶先后看完了兩個video(看完指的是看視頻的時間超過視頻本身時間的70%),這兩個video之間就存在一條邊,這些邊反映了用戶直接的觀看習慣。
- Video-User邊:如果一個用戶組在一周內看一個視頻超過3次,那么該視頻和用戶組就存在一條邊,這種粗粒度的邊反應了社群特征。
- Video-Tag邊:該邊反應了視頻粗粒度的語義特征。
- Video-Word邊:該邊反應了視頻細粒度的語義特征。
- Video-Media邊:該邊刻畫了視頻提供者特征。
- Tag-Tag邊:如果兩個Tag同時出現在一個視頻上,則這兩個Tag存在一條邊,反應了Tag之間的聯系。
所有邊都是無向無權的,相比較直接用用戶,item進行建模,這些多樣性的邊給模型帶來了更多信息,值得注意的是,在這種模型框架下,我們很容易增加更多類型的node和邊來豐富多樣性。
表示學習網絡
不同類型的節點如何表示呢?首先把所有不同類型的節點映射到一個特征空間,對第K個節點而言,它的所有鄰居節點Nk可以被分類為5種類型,視頻(v)、tag(t)、媒體(m)、用戶(u)、文本(d),直接分別embedding后concat就是該節點的embedding。
圖中Field-level HGAT就是把第K個節點的所有鄰居節點通過上述方式embeding后(f1~fk)作為輸入,該文還提出了權重向量組下式:
為的是從中f1~fk提取5種類型的特征。如生成視頻特征的embedding如下式所示:
然后把5種特征embeding concat后做非線性映射:
同時還要帶上中心節點的特征:
最后把所有特征融合:
訓練目標和deep walk類似,用的neighbor-similarity based loss,如下公式所示:
在線模塊
在線模塊使用一個多通道打分召回策略,綜合考慮被通道召回情況,時間因素,相似度各種因素,用每一個看過的有效視頻的embedding,用cos相似度召回100個視頻,m表示通過m個有效觀看視頻,一共召回了100 * m個視頻,然后通過下面公式計算分數。
首先是視頻通道打分:
在tag和media通道,通過下式計算:
最后融合所有通道分數,給出最后打分,在100 * m個video中,選top 500的video。
實驗
準確率:
多樣性:
參考文獻
一個模型使召回階段又"準確"又"多樣"更多干貨,請關注公眾號:煉丹筆記總結
以上是生活随笔為你收集整理的一个端到端模型GraphDR实现多样化的召回的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 推荐搜索系统论文干货集锦(持续更新)
- 下一篇: Learning to Rank:X-w