關於推薦系統中召回模組建模取樣方式的討論

2022-09-19 09:00:11 字數 1995 閱讀 9923

召回模組的功能是在為排序模組提供候選集。比如我們一共有1000萬個item,召回業務要在1000萬個item中選出使用者可能感興趣的1萬個專案,然後排序模組經過自己的模型為item打分,選定top n來展示給使用者並確定展示的順序。

場景1.美女類新聞

早上8點為使用者展示美女類新聞效果比晚上8點差很多。因為早上8點使用者在公交車上,晚上8點使用者躺在沙發上。排序模型必須把「當前時間」這個維度考慮進去,進行特徵工程,才能達到預期效果。

類似於場景1現象還有很多,有些是我們能理解的,有些是我們不能理解的,這類問題需要通過複雜的模型(含特徵工程)才能給出使用者滿意的結果,解決這類問題是排序模型的價值體現。召回則要剔除細節因素,全面廣泛且高效快速地選拔出使用者可能喜歡的東西,把相對耗時的細節處理任務交給排序。

在工程上,top10大廠有不少做到了實時召回,即使用者發出請求才開始召回。更常見的召回工程是離線召回,即把所有使用者的召回結果算好然後快取到資料庫中(redis,kv等),等待線上使用者請求查庫呼叫。

2.排序模型的取樣方式應用在召回模組效果會好嗎?

使用者經過n次重新整理產生了k個item的展現,那麼使用者點選過的item會被當做正樣本,使用者沒點選(但展現給使用者了)的item會被當做負樣本。這就是排序模型的通用取樣方式,當然會有其他細節的調整,在這裡我們不做過多討論。

這種取樣方式對召回來說有一大缺陷,就是樣本的侷限性。

蔡徐坤是乙個活躍使用者,他興趣為「唱歌,跳舞,rap,籃球」。只要你的排序系統有作用,那麼理論上推薦給使用者的文章90%以上是和唱歌,跳舞,rap,籃球有關的item。所以在這個場景下,你取樣的正負樣本有90%和唱歌,跳舞,rap,籃球有關。所以這種樣本訓練出來的模型對唱歌,跳舞,rap,籃球的**相對準確,但其他的模型沒見過的topic就不一定了。因為候選集已經經過了召回模組的篩選,候選集中的item大都是唱歌,跳舞,rap,籃球有關的item,所以這種取樣方式(經過一些細微調整)對排序模型來說正合適。

在召回模組,這種取樣方式會導致過擬合,因為item庫中有關唱歌,跳舞,rap,籃球的item佔比並不多,有大量的item特徵在訓練集中沒有體現。(排序取樣時會加入隨機負樣本來緩解這個問題,但在召回模組這樣做是遠遠不夠的)

當然,只要你的召回模型夠簡約,你可能根本不會碰到過擬合問題,因為你的模型就無法擬合。在不考慮時序的模型中,我們的模型無法理解為什麼a和b明明相似度99%,但是使用者點了a沒有點b(其實是看過a就不想看b了), 在不考慮當前時間的模型中,我們的模型不明白為什麼a和b明明相似度99%,但是使用者點了a沒有點b(其實是場景1的情況)。在不考慮***的模型中,我們的模型無法理解為什麼a和b明明相似度99%,但是使用者點了a沒有點b(其實是因為***,解決***導致的問題是排序模型的價值體現)。於是正負樣本開始「打架」,乙個使用者對特徵相同的item在模型中有相反的lable。當然,你的計算資源十分充足,你使用了更複雜的模型,哈哈哈,看,我的模型收斂了!........那麼你將大概率面臨上一段提到的過擬合問題。

3.隨機負取樣能否扳回一城?

使用者點選過的item為正樣本,隨機採負樣本。

隨機採負樣本效果如何?頭部效應非常重。熱文被大量分發,個性化能力大幅減弱。站在乙個使用者的角度看,使用者的樣本可以通過一些手段做到均衡化。站在一篇文章的角度看,就不是這麼回事了,被頻繁點選的文章有大量正樣本,因為負樣本是隨機取樣,冷文章和熱文章被採到的機率相等,那麼被頻繁點選的文章正樣本相對負樣本就會多很多,多到均衡化都帶不動。

場景3.隨機負取樣失效原因

庫中有1000個item,我需要隨機負取樣5000次,那麼理論上對於每篇文章會出現5個負樣本,假設有5000次點選形成的正樣本,5000個正樣本裡點選頻率top10的item瓜分了500個點選,那麼top10中的每個item就有了50個正樣本。50個正樣本+5個負樣本帶入模型訓練,模型會認為這篇文章適合推薦給絕絕絕大多數人,但這篇文章很肯能是「楊冪離婚」類,「杜蘭特感染冠狀病毒」類,「王者榮耀新英雄」類文章(在某個大領域人人都關注,點選,但出了這個圈子有大量人其實並不care)。

4.基於其他使用者點選的負取樣

使用者產生點選的item作為正樣本,在為該使用者取樣時,隨機幾個其他使用者,將其他使用者的點選作為該使用者的負樣本。這種取樣方式經過作者實踐證明有效。

推薦系統召回之userCF

通過計算使用者之間的相似度。這裡的相似度指的是兩個使用者的興趣相似度。假設對於使用者u uu和v vv,n u n u n u 指的是使用者u uu喜歡的物品集合,n v n v n v 指的是使用者v vv uu和v vv的相似度 w uv n u n v n u n v w frac wuv n...

推薦系統 召回 冷啟動

冷啟動問題主要分為兩類 這裡主要分享兩個演算法,乙個是利用使用者的註冊資訊進行冷啟動,乙個是利用物品本身資訊進行冷啟動。這裡主要利用使用者註冊時填寫的人口統計學資訊,如年齡 性別 職業 民族 學歷和居住地 獲取使用者的註冊資訊 根據註冊資訊對使用者進行分類 給使用者推薦他所屬那個分類中使用者喜歡的物...

電影推薦系統的建模

11336241 葉均明 一 概述 由movielens評分資料集作為訓練集 含943名使用者對1682部電影的評分 根據使用者資訊和過往打分進行電影推薦,即允許使用者對自己所看過的電影進行打分,並且根據使用者歷史的打分資訊,為使用者 他對其他未 的電影的打分,或 他對其他電影的評分分類,將 分值高...