小白產品必看的推薦系統(tǒng)四步指南!
編輯導語:互聯(lián)網使得信息傳播從傳統(tǒng)的紙媒到如今去中心化的UGC方式。當海量的信息進行分發(fā)時,作為產品設計者,我們需要考慮的問題是如何做好內容分發(fā)系統(tǒng)。今日頭條為我們提供的一個方向——算法推薦。那么,作為一個新產品,該如何從0到1完成一個推薦系統(tǒng),作者總結了四步,與你分享。
互聯(lián)網使信息傳播從傳統(tǒng)的中心化紙媒逐漸變成了去中心的UGC方式。在這個時代每個人都可以是信息生產者,可以是信息傳播者,更是信息消費者。
而當海量被生產,信息發(fā)生過載時,我們應該如何分發(fā)和消費內容。張一鳴和他的今日頭條給了我們一個方案-算法推薦。而如何做好算法推薦,也被看做產品里最具挑戰(zhàn)的事情。
那作為一個新產品,應該如何從0到1完成一個推薦系統(tǒng)?我分為以下四步為大家講解:
一、產品屬性分析
首先你要明白的是,并非所有產品都需要做推薦系統(tǒng),不同產品的推薦策略也并非一致,畢竟每個算法工程師都是移動的金庫(= =),優(yōu)秀的推薦系統(tǒng)需要的成本也是相當高。
了解你的產品屬性和用戶需求是最重要的一步。普遍認為用戶和資源量大的產品更需要個性化推薦,如淘寶、抖音、新浪新聞等這些信息分發(fā)型產品,而微信、WPS這類工具型產品卻鮮少需要做推薦。我們將產品屬性分為用戶屬性和資源屬性:
1. 用戶屬性
首先我們需要了解產品的用戶組成和他們需要什么,比如用戶只想用你的軟件編輯文檔,那你為他推薦再多視頻也沒用。
2. 資源屬性
資源屬性是指平臺的資源組成,就是你的產品服務都有什么,可以是虛擬產品(文章、短視頻、課程等),也可以是實體產品(手機、音響等)。
而當這兩者組合起來,當不同的用戶需要不同的資源時,這時候我們就需要推薦系統(tǒng)了。
如果你能理解這部分,你也大致能明白為什么大多數工具型產品不需要推薦了。工具型產品為了確保服務深度,大多提供的功能需求都是收斂且聚焦的,多數用戶用相同的服務,所以也不存在什么個性化推薦了。
你以為產品屬性分析只是讓你了解推薦嗎?No,其實產品屬性分析有著更大的價值,因為它決定了推薦策略的具體目標。比如你是視頻網站,那目標也許是提升用戶觀看時長。那后面的整個算法策略中,都要圍繞著觀看時長去進行拆分和優(yōu)化。如果是電商平臺,那就要圍繞下單量優(yōu)化推薦策略了,不同的產品屬性其應用的推薦策略實際上千差萬別。
二、特征工程(標簽系統(tǒng))
接下來讓我們更進一步,在開展推薦策略前我們必須打好基礎。我們需要了解用戶更具體的需求,也需要了解平臺都有哪些資源。這樣才有可能實現(xiàn)用戶和資源的匹配,這個過程我們稱之為打標簽,實際工作中也稱為“特征工程”。
標簽類型多種多樣,從概念上我們主要分為“用戶標簽”和“資源標簽”兩種。
1. 用戶標簽
一般用戶標簽包含基本屬性、活躍屬性和興趣標簽三種:
- 基本屬性常指“性別”、“年齡”、“常駐地”、“手機設備型號”、“職業(yè)層次”等用戶自然屬性,是用戶未使用產品時便客觀擁有的基本屬性。
- 活躍屬性指用戶在使用產品時留下的行為數據,根據計算方式,又分為統(tǒng)計類和規(guī)則類兩種。統(tǒng)計類是指可以直接進行統(tǒng)計計算的數據,如用戶活躍天數、累計付費金額、活動參與數等;而規(guī)則類標簽則指某些相對復雜的標簽,需要先針對制定規(guī)則模型,再進行計算的數據。比如用戶活躍等級(高、中、低),用戶參與意愿等都需要提前明確計算規(guī)則。用戶的活躍數據也常被用來評估用戶粘性和周期價值。
- 興趣標簽屬于挖掘類標簽,一般依賴于資源標簽。指用戶在瀏覽具體的內容資源時,將資源本身的標簽貼給用戶,用戶使用行為越多,興趣標簽就越多越精準。并且根據不同行為各標簽的分值也不同(比如搜索作為用戶主動提出需求,其所占分值會較高),抖音越看越想看就是同理。其根據應用場景又分為短期標簽(在線計算,一般為2天內標簽)和長期標簽(離線計算,指歷史累計標簽)。
2. 資源標簽
指產品內各類資源的標簽,分“類別”和“關鍵詞”兩種維度。
類別標簽是以某種指定規(guī)則將資源歸類,一般根據資源的復雜度分為2~5級不等,也有平臺分級更多。下圖是某瓣的類別標簽。
關鍵詞標簽則是在類別的基礎上更細一層,指具體的標簽詞。比如用戶對政治人物感興趣時,我們發(fā)現(xiàn)其主要體現(xiàn)在“特朗普”這個人名上,那關于特朗普的一些商業(yè)信息也可以做適當推薦。
通過特征工程我們會為每個用戶和資源都打上大量的標簽,然后再引入推薦策略。這兩類資源標簽一般是通過人工標注和機器學習兩種方式來添加。但機器學習需要大量的標注量才能達到一定準確度,所以在產品初期會更依賴于人工標注和詞庫拓展。到一定數據規(guī)模后,再訓練機器學習。最后通過持續(xù)的機器學習+人工修正,整個特征工程就能達到一定的識別準確度。
三、推薦策略
當我們將用戶標簽和資源標簽采集到后,接下來就是推薦策略的部分,推薦策略一般分為召回和排序兩大模塊。
1. 推薦系統(tǒng)組成
用戶訪問產品時,我們優(yōu)先從資源庫中召回符合用戶標簽的資源,這里通常是千/萬的數據量級,然后根據這些資源的標簽匹配度、時間等進行排序展示,成熟的產品還會涉及到精排和重排,根據用戶對每條資源的使用行為,實時改變后續(xù)資源的排序。實際工作中會由工程師將召回和排序封裝成一個推薦引擎,然后內部各項環(huán)節(jié)都有相應的算法人員跟進優(yōu)化,也就是所謂的模型調參。
2. 召回/排序具體策略
召回和排序是推薦算法中兩個相當龐大的工程,涉及方法眾多,這里僅和大家簡單分享下其中主要的策略組成。
1)召回
資源庫中的資源千千萬,但最終給用戶展示的只有幾十甚至十幾條,如果直接對所有物料計算排序不僅成本極高且響應較差。所以我們需要對物料進行初篩,針對性召回用戶可能感興趣的一批候選集。傳統(tǒng)的標準召回結構一般是多路召回,主要分為“個性化召回”和“非個性化召回”兩大類,個性化召回指針對用戶特征進行召回,主要有“興趣標簽召回”、“協(xié)同過濾召回”等;非個性化主要指“熱門召回”、“冷啟動召回”這類統(tǒng)一特征的召回。
實際應用中會根據不同場景,選擇上述一種或多種召回策略進行。比如搜索場景下的召回排序,你在淘寶搜索某件商品后,再次訪問列表時便會發(fā)現(xiàn)該類商品排在首位。而召回的多樣性是很重要的,有時候多一路召回策略產生的效果也許會是驚人的,而召回質量也很大程度上決定著推薦系統(tǒng)的上下限。
下圖為其中“協(xié)同過濾召回”的示意圖:
2)排序
一般當候選集達到“千”這個數量級,我們就開始需要排序策略了,一般通過粗排和精排將候選集縮減在“百”級并進行打分,按分值top排序,再根據用戶的實時反饋進行重排序,將數據量縮至“十”這個級別進行排序展示。
排序的目標是根據業(yè)務目標來不斷變化的,最早期由于業(yè)務目標簡單,需要聚焦的時候,往往會選取?個指標來重點優(yōu)化排序。但隨著多路召回策略的增多,到中期就會發(fā)現(xiàn)單?指標對整體的提升已經非常有限了。這時候我們就需要引入多目標排序來解決這些問題,比如結合時間、興趣、熱點、位置等眾多維度的數據進行綜合排序,這里應需要注意不同的用戶場景其排序側重點不同,所以需要不同的排序策略來提高精度。比如興趣流中更注重興趣標簽,熱點信息流中更重視互動數據等。
常用的排序算法框架有pointwise、pairwise、listwise三類,下圖中x1,x2,… 代表的是訓練樣本1,2,… 的特征,y1,y2,s1,… 等是訓練集的label(目標函數值)。感興趣的同學可以自行深入了解下,這里不多贅述。
四、模型的持續(xù)優(yōu)化
當圍繞人和物建立起一套推薦模型后,工作并沒有結束。相反,它才剛剛開始。
多數產品首次上推薦時便需要面對較復雜的策略規(guī)則,但因缺少實際數據依托,往往是算法人員憑個人經驗和競品來作參考給出初始模型(比如某feed中初始策略設置熱點權重4,時間權重2、興趣權重2等),所以導致效果也參差不齊。一般需要灰度上線后,拿到實際的用戶反饋數據(比如ctr、完播率、下單率等),才能針對模型持續(xù)進行調優(yōu)和完善。
我們針對某個模型進行數據驗證時主要分為兩步:
- 離線評估:在離線準備好的新數據集和之前模型數據做對比,比如準確率、覆蓋率、多樣性等多方面,如該模型的綜合指標優(yōu)于線上模型,則可以進入線上實驗,這里一般由產品經理把關。
- 線上實驗:當評估模型效果較優(yōu)后,我們需要在線上進行A/B分桶實驗。一般實驗周期在2周左右,對比實驗組和對照組,如實驗數據為正向,則推到更多用戶量繼續(xù)監(jiān)測。如在某個階段為反向,則返回優(yōu)化模型策略,反復實驗直到逐步推向全量用戶。
“沒有最好,只有更好”這句話也算是推薦系統(tǒng)的真實寫照。算法推薦不像其他功能型需求,它也沒有絕對完成的那天。強如頭條和抖音的算法體系已如此健全,其每年還是花費大量成本來招聘算法崗。因為隨著社會發(fā)展,用戶習慣和興趣愛好時刻產生著不同程度的變化。所以讓推薦系統(tǒng)保持敏捷,長期持續(xù)的監(jiān)測和策略優(yōu)化才是整個推薦系統(tǒng)中的常態(tài)。
今天的分享到這里就結束了,共分為“產品屬性分析”、“特征工程”、“推薦策略”、“模型持續(xù)優(yōu)化”四部分,篇幅有限細節(jié)部分就有所忽略,希望大家多包含。路漫漫其修遠兮,相信隨著互聯(lián)網信息網絡的發(fā)展,更加完備更有想象力的推薦算法也會不斷地涌現(xiàn)和繁榮!
本文由 @許木 原創(chuàng)發(fā)布于人人都是產品經理,未經作者許可,禁止轉載。
題圖來自Unsplash,基于CC0協(xié)議。
好文章,小白能看懂
干貨滿滿!感謝作者大大的分享,要把這篇文章收藏起來好好看!
感謝支持~