在談推薦系統之前,請先避免這4個問題
作者:MysTic
缺乏科學精神的“產品理想主義”與“技術理想主義”要不得。
最近正在忙推薦系統的一些事,歸納出來了幾個新人或者是技術人員需要注意或已經注意到還沒說到點子上的那些問題,以供給各位一些參考。
一、高估系統對用戶需求的捕捉能力
我們都說,搜索引擎是滿足用戶主動需求的產品,而推薦系統則是滿足用戶隱含需求的產品。當用戶明確需要什么信息,就把需求轉化為檢索詞,丟到搜索引擎,搜索引擎幫用戶找到它,而推薦系統則能良好的感知用戶未明確陳述的需求,為其呈現信息。那么問題來了, 既然推薦系統能夠捕捉用戶的需求,也就是說用戶還沒丟關鍵詞給搜索引擎之前已然知道用戶要什么,直接為用戶呈現出信息不更好?還需要搜索引擎干嘛?!
當然更好,當然很好,只是做不到。
用戶的需求是多變的,其中暗含著某些規律,但卻不可能被完全的,徹底的捕捉到,例如用戶瀏覽一個商品頁面,可能他對網頁上的產品感興趣,可能他被網頁上的代言美女吸引,可能他在為女友準備禮物,可能他在為家人準備年貨,也可能只是誤操作罷了,這些細節被系統感知到的難度太大,所以我們無法知道用戶下一步要去做什么,哪又如何推薦?
推薦系統有其邊界,一切技術均有其邊界,局限于當前技術成熟度,局限于數據,局限于現實世界與技術世界的距離。當產品經理不了解技術的邊界,而技術人員則缺乏產品思維的時候,這種錯誤便容易發生。
二、不顧場景,強暴用戶需求
假設你非常喜歡榴蓮蛋糕,任何人送你一款這樣的蛋糕你都無比高興,任何人推薦一款這樣的蛋糕你一定會認真考慮。但是如果某一天你正在私宅床上與女友翻滾廝磨,有一人推門而入,問你:“根據俺們系統的分析,請問您是否需要一款美味的榴蓮蛋糕?”,不知你是否感覺開心。而有一天你正在廁所,蹲坐在親愛的馬桶上,同樣這個人也推開門問你“請問您是否需要一款美味的蛋糕?”你有沒有不去把他打死的沖動?
這是典型的“不顧場景”的案例。
可能系統良好的挖掘了用戶的需求,但是如果不顧場景,帶來的將是用戶巨大的反感。 例如,我們公認的基于社交網絡進行各種類型的推薦都是非常好的推薦思路:你所熟悉的人的行為對你有著非常好的借鑒作用。這一點沒錯。但是一般而言,對商品的推薦還是要放在商品售賣網站,對電影的推薦也請放在電影票售賣網站(個人覺得這個推薦應該放在相關的網站中,比如用戶在瀏覽產品的新聞的時候,也可以進行推薦。當然現在這種情況下的推薦多是廣告)。瀏覽這些網站的用戶,都帶著強烈的隱含需求,但選錯了地方,往往形成對用戶的“強暴”,安能不敗。(比如360瀏覽器,自己本身帶有廣告過濾功能,能屏蔽網頁中的廣告插件,但是自己卻會彈出“今日特賣”做廣告,這點的確很反感。)
三、將“推薦”理解為“推送” (這種情況更多的是廣告)
繼續第二個坑的故事,被揍的推銷員遁回家后萬般委屈,當腦海中縈繞著的“我咋知道你啥時候需要榴蓮蛋糕,我咋知道你啥時候蹲廁所”的幽怨思緒沉寂下來后,痛定思痛決定不再到用戶家里推銷,而是告訴用戶,需要蛋糕的時候打個電話給他,他會推薦幾款最好的蛋糕給用戶,終于避免了被揍并且收獲了不菲訂單。
用戶渴望驚喜,又憎恨被打擾的折中究竟在哪?
不妨變主動變被動,當下無數的互聯網產品都有一個“發現”模塊,包括微信,Twiiter等大量產品。用戶有需求的時候,會主動的找“推薦”,避免被打攪。 而對于推薦系統,也避免對用戶形成打擾,引起用戶反感。
四、不顧用戶需求的“個性化”程度,粗暴技術選型
我們將推薦系統的目標進行簡化,假設它要解決的是點擊率/轉化率預估問題(但實際上遠不止這個問題,本文不展開)。那么這些指標都與哪些因素有關?我們用“看島國片子”為例,也就是說,用戶點擊/觀看一部被推薦片子,都與哪些因素有關?
平臺的因素:一部片子放在官方的平臺上,跟放在旮旯的小平臺,完全一樣的信息,這些數字顯然不同(小平臺的片子誰敢點?病毒啊對不!);
片子本身的魅力:幾部片子,即使有同樣的靜態信息(導演,女優,出品商等),一定也會有所差異,這些差異的原因非常難以捕捉,但通過歷史信息卻可以看到;
片子信息造成的差異:例如一部片子是吉澤明步出演,另一部則是一位名不見經傳的女同志出演,第一步被認可的概率必然大一些。
用戶的群體偏好:例如“搞IT的更加喜歡蒼井空”,那么當一個人是IT從業者,蒼老師的片子他應該更加喜歡;
用戶的個性化偏好:例如我的一位親愛的同事喜歡松島楓,理由是演技高超,氣質高冷。那么松島老師的片子他一定喜歡,同樣的“演技高超,氣質高冷”的幾位演員,對他進行推薦也不錯。
五、總結
其中這幾個因素,有一定的界限,其對應的技術選型也不同,如果只有平臺的因素,點擊率與轉化率遵循Beta分布,只需要對這些值進行估計。而片子本身的魅力通過簡單的歷史信息統計便可得到。片子信息造成的差異,則可以通過典型的線性預估 屬性特征進行處理。而如果有強烈的群體偏好,則可以在線性預估模型里面增加交叉特征,但是如果個性化需求極其強烈,那么協同過濾算法可能更加適合。
推薦系統的不同產品形態,其實就是“個性化”程度不同。沒有太強個性化類型的,這樣的推薦系統要解決的問題是“大家都喜歡什么?”,簡單的統計便能搞定。對于多數廣告類產品,個性化需求太難以捕捉,要解決的問題是“什么樣的人喜歡什么樣的結果?”那么線性模型 屬性特征 交叉特征更加適合。但是對于大多數推薦產品,尤其是大平臺的推薦產品,去探索“每個人喜歡什么東西?”的個性化推薦技術(協同過濾,SVD等)可能更加適合。而不同的產品,選型哪怕類似,卻也或多或少隱含差異,例如社交網絡中的一些推薦產品,基于圖挖掘的推薦方式可能更加適合。
一句話,技術選型必須參照產品形態與用戶需求。我曾經跟同事慨嘆現在方法之多,資料之多,不知道如何選擇,同事冷幽幽的一句“全部實現了,再看個半年Case就行了。”然也。
還有挺多,暫時先談如上一些。歸根結底一句話:缺乏科學精神的“產品理想主義”與“技術理想主義”要不得。
End.