廣告策略產品(4):推薦系統召回策略那些事兒

3 評論 7787 瀏覽 53 收藏 16 分鐘

推薦系統中的召回,需要從整個信息集合中挑選出盡可能多的相關結果,剔除相關性較弱的結果,降低排序階段的工作量。本文作者對推薦系統的召回策略展開分析,希望對你有幫助。

哈嘍大家好,我是策略產品經理Arthur,目前在某頭部互聯網公司任職廣告策略產品專家。分享完推薦系統排序那些事兒,今天我們繼續介紹召回的那些事兒。那篇文章發表之后有很多朋友在評論區,希望我詳細拆講一下各個模塊的策略,話不多說我們直接上肝貨。

那么應大家的需求過來拋磚引玉給大家講講推薦系統的召回,幫助各位對推薦策略產品感興趣的同學建立一下基礎認知;我將分為三個部分來介紹:

  1. 什么是召回,召回在做一件具體什么樣的事情;
  2. 目前工業界有哪幾種主流的召回方式;
  3. 各種召回方優缺點及其應用場景;

一、什么是召回,召回具體在做一件什么樣的事兒

召回Matching從整體思路與作用上是完全與排序對立區分開的存在,指的是從全量的信息item集合中出發盡可能多的正確結果,通過對大而全的輸入集合輸入到排序模塊進行順序排序,為排序提供候選集合。

  • 召回特點:保證相關集合的量大、處理的速度要夠快,并且模型使用比較簡單,特征選取比較少。
  • 排序特點:物料集合精煉、那么特征就會要求復雜,模型也會復雜,最終呈現的結果需要準,抓住用戶興趣點;

推薦系統中的召回面對的是全量信息池,需要從整個信息集合中挑選出盡可能多的相關結果,剔除相關性較弱的結果,降低排序階段的工作量。

二、目前工業界有哪幾種主流召回方式

目前工業界推薦系統的主流召回方式包含三種分類:基于規則標簽類召回、協同過濾召回方式、模型向量召回的方式。

在介紹每一種召回方式之前,大家要厘清一個概念,一般推薦系統的搭建不會是單一維度的召回,因為所面臨的業務場景復雜(需要考慮無數據冷啟動狀態、考慮用戶與物料之間的狀態、物料與物料的狀態),一般是多類型的召回方式協同,最終進行多路歸一化進行并存,這個就叫做多路召回,核心是為了避免召回結果單一規則束縛,使得與推薦系統內容豐富性效果相違背。

2.1 基于規則、標簽類的召回

與其說是一種常規的召回方式,不如說是一種運營規則配置規則,可解讀性最好的召回方式,一般邏輯清晰明了,基于推薦系統的業務目標進行簡單的規則召回,這里拿抖音舉例子。

熱門規則召回:

比如近 7 天完整播放率比較高的短視頻,可以結合互動點擊率CTR 和時間戳衰減,例如30天、7天做平滑的視頻物料,這部分主要基于數據統計規則實現并進行展現即可,例如墊底辣孩的國風少年系列、超模系列。

但是由于熱門 item召回和推薦過多其實容易導致視頻馬太效應,這其實不利于其他用戶的視頻召回展現,從而破壞了抖音短視頻的豐富多態。如果熱門召回占整體通路比例過大,可以考慮做一定打壓,也就是在前面的權重當中降低權重系數(例如從0.5降低到0.3)。

運營標簽、召回:

例如運營構建的各個類目的PCG時效榜單,例如國風美少年、光劍變裝榜單召回,還有就是時下熱點新聞,例如冬奧會谷愛凌視頻等,這種大家喜聞樂見的視頻,但是一定要注意對于時間戳的控制。

比如已經到了夏天還召回大量冬奧會谷愛凌奪冠的視頻,這樣就不合適了,畢竟新聞注重的就是時效性。

2.2 協同過濾召回

協同過濾(collaborative filtering)是一種在推薦系統中廣泛使用的技術,最早誕生與1992年,該技術通過分析用戶和用戶之間或者用戶和是事物之間的相似性(“協同”),通過互斥相差異的性質排除掉相斥的物料和用戶(“過濾”),來預測用戶可能感興趣的物料內容并將此內容推薦給用戶,核心分成兩大類,一大類基于用戶相似性召回的方式叫做User-CF即用戶協同過濾,一種基于物料item相似性召回的方式即Item-CF物料協同過濾;

2.2.1 基于用戶的協同過濾User-CF ;

給大家舉個例子,用戶A、B、C、D在電商平臺對商品書本、計算器、顯示器和衣服表達了自己的評價愛好,喜歡用1,無感用0,不喜歡用-1,縱左邊為用戶編號,橫坐標為商品類型,基于上述用戶反饋表現,我們構建出共現矩陣如下:

計算用戶E和其他的用戶之間相似度,可以發現用戶E對商品興趣的行向量為:

我就可以通過K鄰近的方式選出相速度TopN的用戶數,可以看出用戶E對四個商品的偏好和B最相似,其次是C,那么接下來我將會把B、C感興趣且沒有對E進行曝光過的商品對E進行曝光,以上的邏輯其實就是User-CF的大體思路;對于User-CF計算用戶之間相似度的方法有很多,有Jaccard距離、余弦相似度、歐式距離等多種。

在得到最終的TopN個用戶之后,還需要對用戶的評分做加權平均,計算用戶用戶之間相似度,以及用戶i對p的評分,最終算出用戶E對B、C關聯的商品興趣度,得到的排序靠前的結果即可進行召回。

2.2.2 基于物料的協同過濾Item-CF

最早是Amazon在2001年提出的理念,核心思想是基于物料之間的相似度,來構建兩兩物品之間的相似度矩陣,這個地方的相似度不是指代的分類與標簽這種類型(如何是簡單的標簽就是變成前文提到的規則類召回了),而是通過多個用戶對商品之間行為的相似性,來構建物料Item相似性的關系,這是Item-CF的核心思想。

這里再拿上面的內容舉個例子,書本和手機被A、B、C、D都連續評價了喜歡,而手機和顯示器只被A、C、D 三位用戶評價了喜歡,那么通過構建物品的相似度矩陣,通過用戶的正向反饋行為,就可以得到書本和手機最為相似、其次手機和顯示器也比較相似,通過這樣的計算思路和理念,我們也可以構建一個相似的共現矩陣。

如果用戶E來到了電商平臺對手機給出了好評的話,那么我們認為E對于書本、顯示器也會比較感興趣,因為書本和手機、手機和顯示器比較相似度高,Item-CF核心就是構建Item物料的相似度。

構建完成TopN個相似的物品,然后通過計算物品和用戶歷史瀏覽評分的加權和得到最終的結果,對TopN個用戶E可能感興趣的商品召回回來。

總體來看,協同過濾就是通過物體與用戶之間相似度關系來構建共現矩陣,然后通過距離、相似度計算的方法來構建出用戶可能的興趣點再來進行召回,詳細的應用場景可以見文章結尾。

2.3 向量Embedding召回方式

向量embedding其實就是用一個低維稠密的有方向有長度的線性表示一個對象,也就是通過數學的方式來代表一個對象,這里的對象可以是一個詞、一個商品,也可以是一篇新聞、一部電影,等等。

如果一本英語詞典有10萬個單詞,那么表示十萬個維度,我們轉化成為低維度的稠密向量,這樣就可以計算詞之間的相似度了,這個模型就是embedding產生的過程,這就是word2 Vec的基本思路。經過向量化之后發現man 和 woman 這兩個單詞通過歐式距離計算是距離最近的,我們就可以理解為四個單詞是最相近的。

同樣的道理放在召回上也是一樣,我們把物料和用戶構建向量相似性拆分開就可以得到,在推薦系統中比較典型的幾種召回方式像是i2i(item2item)召回(有Graph Embedding的i2i召回、內容語義的i2i召回)、對于u2i召回(即user2item召回方式)有經典的DSSM雙塔召回、還有Youtube深度學習召回方法,在這里給大家舉例DSSM雙塔召回,這個是2013年微軟研究發表的一篇論文。

DSSM雙塔結構,兩遍分別輸入user特征(各種復雜特征畫像:消費能力、標簽喜好、在線行為等等)和廣告ad特征(新聞廣告投放的item詞特征、圖片特征以及詞特征等等),經過DNN變化之后分別產出user和ad向量Embedding。

DSSM的user和ad側是兩個獨立的自網絡,離線產出user embedding和ad embedding 后存儲在redis數據庫中,在召回的時候去計算兩者的余弦相似度相似度/Jaccard系數或者是歐式距離選取K鄰近的TopN個廣告單元id,為訪問用戶選擇興趣度最高的廣告類型,降低用戶對廣告的排斥心理,這樣就完成了廣告推薦任務。

這里給大家推薦一下Airbnb在18年8月在KDD發表的基于用戶短期興趣和長期興趣的Embedding召回方式,基于實際業務和數據的特點,Airbnb搭建了基于短期興趣房源Embedding和基于長期興趣的房源Embedding,效果非常好,大家感興趣可以去了解一下。

三、關于對召回的總結

最后和大家做一下總結,其實上述多種召回方式都會在一個推薦系統并存,每種召回方式都有其特點和使用場景,最終在召回匯的時候多路召回權重歸一化;每種召回都有特定的場景來使用。

規則類召回:更多的使用在用戶在未產生數據冷啟動階段(無標簽、無行為數據,模型巧婦難為無米之炊),通過規則選出TopN來讓用產生一些列的平臺,積累用戶行為數據,這種召回方式的特點是可解釋性強,但是個性化能力不足,馬太效應聚集明顯。

協同過濾類型:

  • 基于用戶協同過濾User-CF:在新聞等流媒體平臺使用較多,通過用戶之間的的相似性,來推薦未看過的新聞內容,這種社交網絡顯示用戶推薦來源,可以增加推薦內容的信服度;
  • 基于物料的協同過濾Item-CF:在電商平臺使用較多,因為在電商平臺上物品的數據穩定性更強不會隨時更換,計算物品相似度相對來說計算復雜度更低一點;

雙塔模型DSSM向量Embedding召回:相對來說應用場景就非常廣了,無論是廣告、自然推薦系統當中都廣泛應用,讀取和計算速度很,個性化能力較強推薦效果較好,缺點就是可解釋性較差,交叉特征缺失,整體交叉特征發揮的效果優勢比較少。

本文由 @策略產品Arthur 原創發布于人人都是產品經理,未經許可,禁止轉載

題圖來自 Unsplash,基于 CC0 協議

該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 產品經理需要知道具體算法嗎

    來自北京 回復
    1. 產品經理需要知道業務場景的建模由來,具體的算法建議還是作為了解,背后選擇的模型類型有什么特性,入參出參為什么,實驗結果如何調整,業務效果如何做實驗都是策略產品需要知道的。

      來自北京 回復
  2. 這些算法的學習都可以在哪里找到渠道呀?

    來自廣東 回復