關于個性化推薦算法及應用場景的幾點思考
最近參加了一場直播。主要講了個性化推薦算法及應用場景。現自己總結一下主講內容,以備自己思考。有些地方個人也不是太理解,同時也想與大家交流溝通下。
一、影響推薦系統效果的主要因素
- 優化目標,怎么說呢目標結果是什么,是為了用戶還是為了商業目的。這兩者本身是存在矛盾的,為了不同目標怎優化結果不一樣。就好比用戶喜歡吃瓜果蔬菜營養健康的綠色食品這樣有利于健康,但我們發現讓他吃大魚大肉最賺錢。
- 基于用戶場景的推薦,比如說是晚上睡覺前看的,還是白天閑暇時看的,有一個時間段。再比如說上次觀看的終端是什么,是移動端或者是pc端,有一個上次觀看銜接的問題。還有一個就是地域問題。
- 用戶體驗,主要是用戶對于系統的信任,用戶嘗新的成本,是否接受的問題,怎么嘗試一些好的手段讓用戶很貼心,很暖心,有驚喜的感覺。哎,發現推薦的都是我喜歡的,這個系統好了解我喲。具體做法舉例在下文“說服用戶接受這件事兒”闡述。
- 直播場景的推薦(冷啟動問題)
二、推薦系統的優化目標有兩類
- 用戶—–相關性,多樣性。例如根據用戶瀏覽過的文章的主題詞,標簽,熱度,轉載,時效,相似度等等。用戶的特征性別,職業,年齡,興趣,定期點擊行為。
- 平臺—–商業化變現。比如說開通原創的預先推薦,或者說有內容合作的供應商優先等等因素。
三、推薦系統的服務對象
- 用戶;用戶是為了能夠更方便找到他想看的東西
- 平臺本身;平臺希望鏈接服務提供商,內容提供商和用戶,他希望賺錢
- 內容提供商;內容提供商更多露出,他在這個渠道上獲得的無論是點擊量還是品牌效應,那么他可以通過一些方法變現。無論是廣告還是離線渠道的收買。
所以一個推薦算法要同事服務三個利益不同的相關方,這本身導致了一個矛盾性。所以會有一些糾結的地方,實際上由于他們的目的不。
四、推薦算法模型:
- 協同濾波:就是相似的人給相似的內容。怎么定義相似的人呢那就是之前的行為相同。
- 矩陣分解法:基本原理是把用戶作為一個維度,然后建一個二維矩陣,把這個二維矩陣找到一個低緯的表示,這可能只有50或者100維,這個個數還是跟內容一樣,所以每個內容有一個100維的小表示,每個用戶也有一個100維的小表示。這兩個作為一個點擊,可以恢復出原來的東西。
- 神經網絡矩陣分解:基本原理把這個nade看成一個黑箱,級別讓你的想法就是用nade來訓練一個用戶的表示和一個內容表示,但是這個表示可以不像矩陣分解那么死,因為它結合的時候不再是一代數的點程,而是基于一個神經網絡,實際上帶來了更多的自由度。唯一的差別就是表達能力增強了。
五、基于用戶場景的推薦,不同場景下算法選擇問題
- 貨架場景—協調濾波,矩陣分解,CF-NADE
- 自動播放場景—用戶行為軌跡
這個用戶場景比如說我在手機上看,和我在客廳里看,實際上對視頻的長短還有很多內容會有不同,因為手機上有可能是在公共場合、辦公室,但是在家里可能就會稍微私密一些。還有時間,假如說我手機是早上看,家里面我是晚上看,也會不一樣。所以這些都叫所謂的上下文吧,就是場景信息。
實際上就對用戶做了一個切分,當用戶在這個組合場景底下的時候,所借鑒的歷史行為也是原來發生在這個組合底下的,這樣就不會出現晚上看了什么成人動漫,早上被推一個成人動漫的情況,因為實際上把用戶切成兩個了。但是這樣切分也是有風險的,因為有可能這個人成天都喜歡看成人動漫。所以這個會把我們本來就比較稀疏的數據變得更稀疏。
但是發現對整個觀看時長的提升以及對廣告點擊率的提升還是比較顯著的,大概在4%左右,就是用AB測試得到的結果。
剛才主要在講watch,其實用戶在網站上還有其他行為,像Search、Browse、瀏覽,還有Rating,Rating比較少一點。
所以這幾類行為實際上用戶做的時候,如果把用戶整個生命周期,從他sign up開始到他退訂為止看成一個軌跡的話,那他做了一系列的事。
我們現在是說對每個用戶的軌跡做建模。剛才你如果想象是CF-NADE,就是說把用戶所有的行為當成一些個體扔到一個大袋子里面去,然后篩一篩,說統計上是怎么樣的。實際上它的時間順序已經丟失了,里面用戶具體的動態也沒有考慮,如果根據用戶行為做這種模型time series model其實可以達到最好的效果。
六、說服用戶接受這件事兒
說服用戶這件事,因為剛才講得所有模型,其實最后就是一個展示,無論是用貨架的方法來展示,還是用自動播放的方法來展示。但是這個展示的有效性很大程度上是取決于你有沒有打動用戶,要打動用戶試圖給出一些推薦的理由,比如我們給這個用戶推了這個劇,我們會說是因為你看過他的前傳,這樣的話用戶會覺得,你確實是有道理的。還有一個增強用戶對系統的信任,如果你的系統是黑盒,扔出來一堆劇說看吧,那估計很難說服用戶。大家可以回想一下,在錄像店的體驗,如果是那種小店的話,你跟那個店主特別熟,他給你推一個張媛又拍了一個新片你可以看。你會知道,他真的知道你了解你,給你推這個東西,我們想達到的就是讓計算機能夠被用戶所信任。
還有一個展示的問題,要降低用戶嘗新的成本。因為用戶點進去,如果看了20分鐘發現這個片很爛的話,那這個體驗就比較差,浪費了20分鐘。我們怎么樣讓用戶快速的知道這個片到底適不適合他?我們做了一個自動壓縮的方法。
大家看到它有這樣一個下拉菜單,我們對于生成短視頻有三種不同的模式:
- 模式一:動作模式,我們會找短視頻里最激烈的片段。
- 模式二:indicative模式,我們會找對話比較多的片段。
- 模式三:對話比較多模式
寫在最后,用戶推薦系統是一個不斷調試,不斷優化的過程。在此過程中尋找適合本公司商業模式和用戶喜好的個性推薦系統。本文寫的不是很細致,歡迎大家留言交流。
本文由 @penny 原創發布于人人都是產品經理。未經許可,禁止轉載。
- 目前還沒評論,等你發揮!