小白產(chǎn)品必看的推薦系統(tǒng)四步指南!

3 評(píng)論 6843 瀏覽 37 收藏 15 分鐘

編輯導(dǎo)語:互聯(lián)網(wǎng)使得信息傳播從傳統(tǒng)的紙媒到如今去中心化的UGC方式。當(dāng)海量的信息進(jìn)行分發(fā)時(shí),作為產(chǎn)品設(shè)計(jì)者,我們需要考慮的問題是如何做好內(nèi)容分發(fā)系統(tǒng)。今日頭條為我們提供的一個(gè)方向——算法推薦。那么,作為一個(gè)新產(chǎn)品,該如何從0到1完成一個(gè)推薦系統(tǒng),作者總結(jié)了四步,與你分享。

互聯(lián)網(wǎng)使信息傳播從傳統(tǒng)的中心化紙媒逐漸變成了去中心的UGC方式。在這個(gè)時(shí)代每個(gè)人都可以是信息生產(chǎn)者,可以是信息傳播者,更是信息消費(fèi)者。

而當(dāng)海量被生產(chǎn),信息發(fā)生過載時(shí),我們應(yīng)該如何分發(fā)和消費(fèi)內(nèi)容。張一鳴和他的今日頭條給了我們一個(gè)方案-算法推薦。而如何做好算法推薦,也被看做產(chǎn)品里最具挑戰(zhàn)的事情。

那作為一個(gè)新產(chǎn)品,應(yīng)該如何從0到1完成一個(gè)推薦系統(tǒng)?我分為以下四步為大家講解:

一、產(chǎn)品屬性分析

首先你要明白的是,并非所有產(chǎn)品都需要做推薦系統(tǒng),不同產(chǎn)品的推薦策略也并非一致,畢竟每個(gè)算法工程師都是移動(dòng)的金庫(kù)(= =),優(yōu)秀的推薦系統(tǒng)需要的成本也是相當(dāng)高。

了解你的產(chǎn)品屬性和用戶需求是最重要的一步。普遍認(rèn)為用戶和資源量大的產(chǎn)品更需要個(gè)性化推薦,如淘寶、抖音、新浪新聞等這些信息分發(fā)型產(chǎn)品,而微信、WPS這類工具型產(chǎn)品卻鮮少需要做推薦。我們將產(chǎn)品屬性分為用戶屬性和資源屬性:

1. 用戶屬性

首先我們需要了解產(chǎn)品的用戶組成和他們需要什么,比如用戶只想用你的軟件編輯文檔,那你為他推薦再多視頻也沒用。

2. 資源屬性

資源屬性是指平臺(tái)的資源組成,就是你的產(chǎn)品服務(wù)都有什么,可以是虛擬產(chǎn)品(文章、短視頻、課程等),也可以是實(shí)體產(chǎn)品(手機(jī)、音響等)。

而當(dāng)這兩者組合起來,當(dāng)不同的用戶需要不同的資源時(shí),這時(shí)候我們就需要推薦系統(tǒng)了。

如果你能理解這部分,你也大致能明白為什么大多數(shù)工具型產(chǎn)品不需要推薦了。工具型產(chǎn)品為了確保服務(wù)深度,大多提供的功能需求都是收斂且聚焦的,多數(shù)用戶用相同的服務(wù),所以也不存在什么個(gè)性化推薦了。

你以為產(chǎn)品屬性分析只是讓你了解推薦嗎?No,其實(shí)產(chǎn)品屬性分析有著更大的價(jià)值,因?yàn)樗鼪Q定了推薦策略的具體目標(biāo)。比如你是視頻網(wǎng)站,那目標(biāo)也許是提升用戶觀看時(shí)長(zhǎng)。那后面的整個(gè)算法策略中,都要圍繞著觀看時(shí)長(zhǎng)去進(jìn)行拆分和優(yōu)化。如果是電商平臺(tái),那就要圍繞下單量?jī)?yōu)化推薦策略了,不同的產(chǎn)品屬性其應(yīng)用的推薦策略實(shí)際上千差萬別。

二、特征工程(標(biāo)簽系統(tǒng))

接下來讓我們更進(jìn)一步,在開展推薦策略前我們必須打好基礎(chǔ)。我們需要了解用戶更具體的需求,也需要了解平臺(tái)都有哪些資源。這樣才有可能實(shí)現(xiàn)用戶和資源的匹配,這個(gè)過程我們稱之為打標(biāo)簽,實(shí)際工作中也稱為“特征工程”。

標(biāo)簽類型多種多樣,從概念上我們主要分為“用戶標(biāo)簽”和“資源標(biāo)簽”兩種。

1. 用戶標(biāo)簽

一般用戶標(biāo)簽包含基本屬性、活躍屬性和興趣標(biāo)簽三種:

  • 基本屬性常指“性別”、“年齡”、“常駐地”、“手機(jī)設(shè)備型號(hào)”、“職業(yè)層次”等用戶自然屬性,是用戶未使用產(chǎn)品時(shí)便客觀擁有的基本屬性。
  • 活躍屬性指用戶在使用產(chǎn)品時(shí)留下的行為數(shù)據(jù),根據(jù)計(jì)算方式,又分為統(tǒng)計(jì)類和規(guī)則類兩種。統(tǒng)計(jì)類是指可以直接進(jìn)行統(tǒng)計(jì)計(jì)算的數(shù)據(jù),如用戶活躍天數(shù)、累計(jì)付費(fèi)金額、活動(dòng)參與數(shù)等;而規(guī)則類標(biāo)簽則指某些相對(duì)復(fù)雜的標(biāo)簽,需要先針對(duì)制定規(guī)則模型,再進(jìn)行計(jì)算的數(shù)據(jù)。比如用戶活躍等級(jí)(高、中、低),用戶參與意愿等都需要提前明確計(jì)算規(guī)則。用戶的活躍數(shù)據(jù)也常被用來評(píng)估用戶粘性和周期價(jià)值。
  • 興趣標(biāo)簽屬于挖掘類標(biāo)簽,一般依賴于資源標(biāo)簽。指用戶在瀏覽具體的內(nèi)容資源時(shí),將資源本身的標(biāo)簽貼給用戶,用戶使用行為越多,興趣標(biāo)簽就越多越精準(zhǔn)。并且根據(jù)不同行為各標(biāo)簽的分值也不同(比如搜索作為用戶主動(dòng)提出需求,其所占分值會(huì)較高),抖音越看越想看就是同理。其根據(jù)應(yīng)用場(chǎng)景又分為短期標(biāo)簽(在線計(jì)算,一般為2天內(nèi)標(biāo)簽)和長(zhǎng)期標(biāo)簽(離線計(jì)算,指歷史累計(jì)標(biāo)簽)。

2. 資源標(biāo)簽

指產(chǎn)品內(nèi)各類資源的標(biāo)簽,分“類別”和“關(guān)鍵詞”兩種維度。

類別標(biāo)簽是以某種指定規(guī)則將資源歸類,一般根據(jù)資源的復(fù)雜度分為2~5級(jí)不等,也有平臺(tái)分級(jí)更多。下圖是某瓣的類別標(biāo)簽。

關(guān)鍵詞標(biāo)簽則是在類別的基礎(chǔ)上更細(xì)一層,指具體的標(biāo)簽詞。比如用戶對(duì)政治人物感興趣時(shí),我們發(fā)現(xiàn)其主要體現(xiàn)在“特朗普”這個(gè)人名上,那關(guān)于特朗普的一些商業(yè)信息也可以做適當(dāng)推薦。

通過特征工程我們會(huì)為每個(gè)用戶和資源都打上大量的標(biāo)簽,然后再引入推薦策略。這兩類資源標(biāo)簽一般是通過人工標(biāo)注和機(jī)器學(xué)習(xí)兩種方式來添加。但機(jī)器學(xué)習(xí)需要大量的標(biāo)注量才能達(dá)到一定準(zhǔn)確度,所以在產(chǎn)品初期會(huì)更依賴于人工標(biāo)注和詞庫(kù)拓展。到一定數(shù)據(jù)規(guī)模后,再訓(xùn)練機(jī)器學(xué)習(xí)。最后通過持續(xù)的機(jī)器學(xué)習(xí)+人工修正,整個(gè)特征工程就能達(dá)到一定的識(shí)別準(zhǔn)確度。

三、推薦策略

當(dāng)我們將用戶標(biāo)簽和資源標(biāo)簽采集到后,接下來就是推薦策略的部分,推薦策略一般分為召回和排序兩大模塊。

1. 推薦系統(tǒng)組成

用戶訪問產(chǎn)品時(shí),我們優(yōu)先從資源庫(kù)中召回符合用戶標(biāo)簽的資源,這里通常是千/萬的數(shù)據(jù)量級(jí),然后根據(jù)這些資源的標(biāo)簽匹配度、時(shí)間等進(jìn)行排序展示,成熟的產(chǎn)品還會(huì)涉及到精排和重排,根據(jù)用戶對(duì)每條資源的使用行為,實(shí)時(shí)改變后續(xù)資源的排序。實(shí)際工作中會(huì)由工程師將召回和排序封裝成一個(gè)推薦引擎,然后內(nèi)部各項(xiàng)環(huán)節(jié)都有相應(yīng)的算法人員跟進(jìn)優(yōu)化,也就是所謂的模型調(diào)參。

2. 召回/排序具體策略

召回和排序是推薦算法中兩個(gè)相當(dāng)龐大的工程,涉及方法眾多,這里僅和大家簡(jiǎn)單分享下其中主要的策略組成。

1)召回

資源庫(kù)中的資源千千萬,但最終給用戶展示的只有幾十甚至十幾條,如果直接對(duì)所有物料計(jì)算排序不僅成本極高且響應(yīng)較差。所以我們需要對(duì)物料進(jìn)行初篩,針對(duì)性召回用戶可能感興趣的一批候選集。傳統(tǒng)的標(biāo)準(zhǔn)召回結(jié)構(gòu)一般是多路召回,主要分為“個(gè)性化召回”和“非個(gè)性化召回”兩大類,個(gè)性化召回指針對(duì)用戶特征進(jìn)行召回,主要有“興趣標(biāo)簽召回”、“協(xié)同過濾召回”等;非個(gè)性化主要指“熱門召回”、“冷啟動(dòng)召回”這類統(tǒng)一特征的召回。

實(shí)際應(yīng)用中會(huì)根據(jù)不同場(chǎng)景,選擇上述一種或多種召回策略進(jìn)行。比如搜索場(chǎng)景下的召回排序,你在淘寶搜索某件商品后,再次訪問列表時(shí)便會(huì)發(fā)現(xiàn)該類商品排在首位。而召回的多樣性是很重要的,有時(shí)候多一路召回策略產(chǎn)生的效果也許會(huì)是驚人的,而召回質(zhì)量也很大程度上決定著推薦系統(tǒng)的上下限。

下圖為其中“協(xié)同過濾召回”的示意圖:

2)排序

一般當(dāng)候選集達(dá)到“千”這個(gè)數(shù)量級(jí),我們就開始需要排序策略了,一般通過粗排和精排將候選集縮減在“百”級(jí)并進(jìn)行打分,按分值top排序,再根據(jù)用戶的實(shí)時(shí)反饋進(jìn)行重排序,將數(shù)據(jù)量縮至“十”這個(gè)級(jí)別進(jìn)行排序展示。

排序的目標(biāo)是根據(jù)業(yè)務(wù)目標(biāo)來不斷變化的,最早期由于業(yè)務(wù)目標(biāo)簡(jiǎn)單,需要聚焦的時(shí)候,往往會(huì)選取?個(gè)指標(biāo)來重點(diǎn)優(yōu)化排序。但隨著多路召回策略的增多,到中期就會(huì)發(fā)現(xiàn)單?指標(biāo)對(duì)整體的提升已經(jīng)非常有限了。這時(shí)候我們就需要引入多目標(biāo)排序來解決這些問題,比如結(jié)合時(shí)間、興趣、熱點(diǎn)、位置等眾多維度的數(shù)據(jù)進(jìn)行綜合排序,這里應(yīng)需要注意不同的用戶場(chǎng)景其排序側(cè)重點(diǎn)不同,所以需要不同的排序策略來提高精度。比如興趣流中更注重興趣標(biāo)簽,熱點(diǎn)信息流中更重視互動(dòng)數(shù)據(jù)等。

常用的排序算法框架有pointwise、pairwise、listwise三類,下圖中x1,x2,… 代表的是訓(xùn)練樣本1,2,… 的特征,y1,y2,s1,… 等是訓(xùn)練集的label(目標(biāo)函數(shù)值)。感興趣的同學(xué)可以自行深入了解下,這里不多贅述。

四、模型的持續(xù)優(yōu)化

當(dāng)圍繞人和物建立起一套推薦模型后,工作并沒有結(jié)束。相反,它才剛剛開始。

多數(shù)產(chǎn)品首次上推薦時(shí)便需要面對(duì)較復(fù)雜的策略規(guī)則,但因缺少實(shí)際數(shù)據(jù)依托,往往是算法人員憑個(gè)人經(jīng)驗(yàn)和競(jìng)品來作參考給出初始模型(比如某feed中初始策略設(shè)置熱點(diǎn)權(quán)重4,時(shí)間權(quán)重2、興趣權(quán)重2等),所以導(dǎo)致效果也參差不齊。一般需要灰度上線后,拿到實(shí)際的用戶反饋數(shù)據(jù)(比如ctr、完播率、下單率等),才能針對(duì)模型持續(xù)進(jìn)行調(diào)優(yōu)和完善。

我們針對(duì)某個(gè)模型進(jìn)行數(shù)據(jù)驗(yàn)證時(shí)主要分為兩步:

  • 離線評(píng)估:在離線準(zhǔn)備好的新數(shù)據(jù)集和之前模型數(shù)據(jù)做對(duì)比,比如準(zhǔn)確率、覆蓋率、多樣性等多方面,如該模型的綜合指標(biāo)優(yōu)于線上模型,則可以進(jìn)入線上實(shí)驗(yàn),這里一般由產(chǎn)品經(jīng)理把關(guān)。
  • 線上實(shí)驗(yàn):當(dāng)評(píng)估模型效果較優(yōu)后,我們需要在線上進(jìn)行A/B分桶實(shí)驗(yàn)。一般實(shí)驗(yàn)周期在2周左右,對(duì)比實(shí)驗(yàn)組和對(duì)照組,如實(shí)驗(yàn)數(shù)據(jù)為正向,則推到更多用戶量繼續(xù)監(jiān)測(cè)。如在某個(gè)階段為反向,則返回優(yōu)化模型策略,反復(fù)實(shí)驗(yàn)直到逐步推向全量用戶。

“沒有最好,只有更好”這句話也算是推薦系統(tǒng)的真實(shí)寫照。算法推薦不像其他功能型需求,它也沒有絕對(duì)完成的那天。強(qiáng)如頭條和抖音的算法體系已如此健全,其每年還是花費(fèi)大量成本來招聘算法崗。因?yàn)殡S著社會(huì)發(fā)展,用戶習(xí)慣和興趣愛好時(shí)刻產(chǎn)生著不同程度的變化。所以讓推薦系統(tǒng)保持敏捷,長(zhǎng)期持續(xù)的監(jiān)測(cè)和策略優(yōu)化才是整個(gè)推薦系統(tǒng)中的常態(tài)。

今天的分享到這里就結(jié)束了,共分為“產(chǎn)品屬性分析”、“特征工程”、“推薦策略”、“模型持續(xù)優(yōu)化”四部分,篇幅有限細(xì)節(jié)部分就有所忽略,希望大家多包含。路漫漫其修遠(yuǎn)兮,相信隨著互聯(lián)網(wǎng)信息網(wǎng)絡(luò)的發(fā)展,更加完備更有想象力的推薦算法也會(huì)不斷地涌現(xiàn)和繁榮!

 

本文由 @許木 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。

題圖來自Unsplash,基于CC0協(xié)議。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 好文章,小白能看懂

    來自貴州 回復(fù)
  2. 干貨滿滿!感謝作者大大的分享,要把這篇文章收藏起來好好看!

    來自江西 回復(fù)
    1. 感謝支持~

      來自北京 回復(fù)