一文讀懂推薦系統(tǒng)用戶畫像
本系列文章將從最簡單的概念開始,逐步講解推薦系統(tǒng)的發(fā)展歷程和最新實(shí)踐。以產(chǎn)品經(jīng)理的視角,闡述推薦系統(tǒng)涉及的算法,技術(shù)和架構(gòu)。本文將介紹推薦系統(tǒng)如何給現(xiàn)實(shí)世界中的用戶打數(shù)字化的標(biāo)簽:用戶畫像。
用戶畫像,簡單來講,就是我們給用戶打上的一系列的標(biāo)簽。它的應(yīng)用非常廣泛,在互聯(lián)網(wǎng)產(chǎn)品的任何一個領(lǐng)域,任何一種實(shí)現(xiàn)用戶個性化的功能,都需要用到用戶畫像。本文只涉及推薦系統(tǒng)的用戶畫像體系。
一、推薦系統(tǒng)用戶畫像長什么樣
用戶畫像這個詞具有廣泛性。 它被應(yīng)用于推薦,廣告,搜索,個性化營銷等各個領(lǐng)域。任何時候,不管出于什么目的,我們想描述我們的用戶是誰的時候,大家都會用到用戶畫像這個詞。
比如:
(1)產(chǎn)品經(jīng)理定性用戶分析
設(shè)計(jì)產(chǎn)品功能時,會對用戶是誰進(jìn)行描摹。如:目標(biāo)用戶群體的人口屬性,社會背景,使用習(xí)慣等信息。這種用戶畫像主要描述用戶是誰,以便做好功能定位。
如下圖中的定性用戶畫像分群:
(2)數(shù)據(jù)分析用戶畫像
分析用戶行為,用戶進(jìn)行聚類行為分析。如:數(shù)據(jù)分析師可能會給出,觀看電商直播的男女比例,得出女性用戶更喜歡看我們的電商直播這樣的結(jié)論。
(3)推薦系統(tǒng)用戶畫像
為建立個性化功能,用各種辦法給用戶大規(guī)模打上幾萬甚至幾千萬個標(biāo)簽。這種標(biāo)簽不僅僅有偏好,還有偏好程度值。
本文所指的用戶畫像,僅僅涉及第三種情況。一般地,推薦系統(tǒng)的用戶畫像長成這個樣子:
推薦系統(tǒng)的用戶畫像,一般包括用戶基礎(chǔ)信息和偏好信息。而偏好畫像是重點(diǎn),數(shù)量上占了推薦系統(tǒng)用戶畫像的絕大多數(shù),是我們召回和模型訓(xùn)練的基石。
因?yàn)闄C(jī)器跟人不同,一個詞“中國”對于人來說是有意義的,對于機(jī)器只是一個漢字編碼。因?yàn)橛脩舢嬒?,為了能讓機(jī)器計(jì)算,需要帶上概率值或者偏好值(權(quán)重值)等。
我們接下來就聊一聊,在推薦系統(tǒng)中,這種帶了一些列數(shù)字的用戶畫像怎么構(gòu)建出來的。
二、用戶畫像怎么用?
第一章的介紹過,推薦過程分為:召回、初排和精排三個階段。用戶畫像主要用在召回和初排兩個階段。
召回階段使用用戶畫像,主要是通過用戶畫像召回相似的物品。比如一個短視頻APP上,用戶海賊王偏好值比較高,就可以針對海賊王進(jìn)行內(nèi)容召回。
初排階段使用用戶畫像,是在模型上使用的。模型將用戶畫像數(shù)據(jù)作為一部分的特征值,用于模型的離線訓(xùn)練或者實(shí)時模型更新。
三、用戶畫像的分類
用戶畫像是一個比較大而全的概念,標(biāo)簽是用戶畫像最基本的單元,用戶畫像是有成千上萬個標(biāo)簽組合而成的。當(dāng)我們想對用戶畫像進(jìn)行分類時,通過對用戶標(biāo)簽的分類就可以了。每個平臺有自己的用戶畫像體系。對推薦系統(tǒng)的構(gòu)建來說,一般從以下維度來做標(biāo)簽分類。
如下圖所示:
其中:
(1)基礎(chǔ)用戶畫像
- 人口統(tǒng)計(jì)學(xué)標(biāo)簽:用戶的性別,年齡,地區(qū)等信息。
- 行為特征標(biāo)簽:用戶在互聯(lián)網(wǎng)平臺的注冊,活躍,付費(fèi),瀏覽等方面的行為記錄產(chǎn)生的用戶標(biāo)簽。
- 性格標(biāo)簽:豪爽大方,精打細(xì)算,沖動消費(fèi)等類型標(biāo)簽
(2)偏好用戶畫像
- 長期偏好標(biāo)簽:用戶對較長時間內(nèi),幾個月甚至是幾年內(nèi),對某類事物的穩(wěn)定偏好。
- 短期偏好標(biāo)簽:用戶最近較短時間內(nèi),七天內(nèi)甚至是幾分鐘內(nèi),對某類事物的偏好。
- 泛化偏好標(biāo)簽:眾多的用戶偏好中,不同的偏好之間有關(guān)聯(lián)性或者相似性,就像啤酒和尿布那樣。用戶對啤酒有過直接的行為,但對尿布還沒有,那么尿布可能是他的泛化偏好。
以上的五小分類中,前面兩類只占了用戶標(biāo)簽數(shù)量的很小一部分。而推薦系統(tǒng)中,數(shù)量最為龐大的要數(shù)偏好類的標(biāo)簽了。平臺有多少個物品標(biāo)簽,就會產(chǎn)生多少偏好標(biāo)簽。另一方面,偏好類的標(biāo)簽的產(chǎn)生,依賴于物品標(biāo)簽。因?yàn)橛脩魧ξ锲返钠贸潭?,是通過他對平臺物品的曝光,點(diǎn)擊,購買等行為計(jì)算出來的。
四、基礎(chǔ)用戶畫像的怎么來?
那基礎(chǔ)的用戶畫像是怎么產(chǎn)生的呢?一般可分以下幾種來源:
- 簡單信息提?。?/strong>基于實(shí)際基本事實(shí)而產(chǎn)生標(biāo)簽,如注冊時間,渠道來源,用戶所在地區(qū)等。
- 邏輯或公式計(jì)算:使用簡單的邏輯或公式,對用戶的行為進(jìn)行統(tǒng)計(jì)而產(chǎn)生標(biāo)簽,如用戶活躍天數(shù),用戶消費(fèi)金額等。
- 算法學(xué)習(xí):基于機(jī)器學(xué)習(xí)模型對用戶的屬性預(yù)測產(chǎn)生的標(biāo)簽,如性別,年齡,有車一族等。
五、簡單舉例:通過模型產(chǎn)生基礎(chǔ)用戶畫像
國內(nèi)某公司,在Kaggle舉行過一個預(yù)測用戶年齡和性別的比賽。他們公布了一個用戶數(shù)據(jù)集,數(shù)據(jù)集中包含了手機(jī)上安裝的APP列表,手機(jī)型號和GPS信息等數(shù)據(jù)用于模型訓(xùn)練。參賽選手通過這些數(shù)據(jù)建模,預(yù)測用戶的性別和年齡。準(zhǔn)確度高的獲勝。
一個用戶的手機(jī)里安裝的APP,跟他的年齡和性別存在著一定的關(guān)聯(lián)。如:女性用戶常用美柚,小紅書等APP;而男性用戶可能會裝更多的游戲。
如下圖:
這個是有監(jiān)督學(xué)習(xí),橙色部分?jǐn)?shù)據(jù)是特征,藍(lán)色部分?jǐn)?shù)據(jù)是label。Label就是我們需要預(yù)測的目標(biāo)。通過大量的數(shù)據(jù)和算法調(diào)優(yōu),就可以訓(xùn)練出較為準(zhǔn)確的模型。
用訓(xùn)練好的模型,就可以給其他的未知性別和年齡的用戶做評分預(yù)測。這部分比較簡單,就簡單舉例一下。
六、物品標(biāo)簽
物品畫像,則是每個物品的一系列標(biāo)簽。物品畫像其中一個作用就是可以作為推薦模型中的物品特征。另外一方面,在推薦系統(tǒng)中,物品畫像是用戶畫像的基礎(chǔ):物品畫像+用戶行為=用戶畫像。
舉個簡單的例子,一個用戶點(diǎn)擊了一系列的阿克蘇蘋果(物品畫像:阿克蘇,蘋果,阿克蘇蘋果),這個用戶就會被打上阿克蘇,蘋果和阿克蘇蘋果的偏好標(biāo)簽。
物品畫像的產(chǎn)生,不同的內(nèi)容形式有不同的做法。但大體可分為兩類:
- 人工的方式給物品打標(biāo)簽;
- 機(jī)器學(xué)習(xí)的方式給物品打標(biāo)簽。
如在音樂領(lǐng)域,一些音樂平臺是通過一組音樂專家對平臺的音樂進(jìn)行打標(biāo)簽后,再對用戶進(jìn)行推薦。這種人工的方式成本比較高,而且依賴于專家的專業(yè)程度。另外,不同專家之間的標(biāo)準(zhǔn)可能不一樣,需要統(tǒng)一標(biāo)準(zhǔn)或者拉平差異。但是這也是沒有辦法的辦法,有些場景下,物品標(biāo)簽匱乏,不得不依賴與人工打標(biāo)的方式。
大規(guī)模地給物品打標(biāo)簽,大部分還是靠機(jī)器學(xué)習(xí)的方式。如何給物品打標(biāo)簽不是本文重點(diǎn),這里略過。
七、偏好畫像的怎么計(jì)算得來?
偏好畫像如何產(chǎn)生?為了直觀簡單,直接以圖文數(shù)據(jù)的方式來講述。假設(shè)一個短視頻平臺有4個用戶使用,有4個視頻需要被推薦。
其中,4個視頻分別為:
整理一下,我們可以得到以上4個視頻的物品畫像:
另外,為了簡單一點(diǎn),這里只考慮用戶的觀看行為,看完一次得分為1。4個用戶的數(shù)據(jù)分別如下,數(shù)字代表觀看次數(shù)。如下圖中,用戶A看了視頻1一共2次。
先說結(jié)論,一般地,用戶畫像的公式為:用戶偏好程度 = 行為類型權(quán)重值 × 次數(shù) × 時間衰減 × TFIDF值。
- 行為類型權(quán)重值是人為給用戶行為的賦值。比如:看完=1,收藏=2,分享=3,購買=4等。我們這里只考慮“看完”這個行為。
- 次數(shù)則是行為發(fā)生的次數(shù)。
- 時間衰減則是按一定的衰減系數(shù),隨著時間衰減。一般用牛頓熱力學(xué)公式來取衰減系數(shù)。
- TFIDF值本來是文本處理領(lǐng)域的算法,用來提取一篇文章中的關(guān)鍵字。這里用來衡量標(biāo)簽的對一個用戶的關(guān)鍵程度。
下面我們來計(jì)算用戶A的用戶畫像和偏好值。
第一步:列一下行為類型權(quán)重值,因?yàn)槲覀冎豢紤]觀看行為,權(quán)重都為1:
第二步:統(tǒng)計(jì)用戶A的行為次數(shù)。用戶A看了視頻1兩次,所以視頻1帶的標(biāo)簽“金融戰(zhàn)爭”和“做空”次數(shù)都記為2:
第三步:計(jì)算時間衰減,假設(shè)用戶A看視頻1是兩天前的行為,看視頻4是今天的行為。衰減按照天來計(jì)算,衰減系數(shù)等于0.1556,熱度計(jì)算公式為:熱度=1×exp(-0.1556×天數(shù))。按照這個衰減系數(shù),45天后熱度衰減到0.5。
按照這個計(jì)算方式,視頻1的熱度 = 1×exp(-0.1556×2) = 0.73,今天看的視頻4,熱度還為1。
第四步:計(jì)算TFIDF值。
這步比較復(fù)雜。我們先說下TFIDF的公式,TF和IDF是兩個不同的值,兩兩相乘可以得到TFIDF值。
首先說TF。
TF是Term Frequency的縮寫,意思是可以理解為詞頻,計(jì)算公式如下:
TF計(jì)算的是在用戶的所有標(biāo)簽中,某個標(biāo)簽的重要程度。如果標(biāo)簽出現(xiàn)頻率高,那么TF值就會比較高。對于用戶A,每個標(biāo)簽都出現(xiàn)了一次(因?yàn)榭催^的視頻中,沒有標(biāo)簽重復(fù)的),標(biāo)簽的TF值=1÷4=0.25。
而對于用戶B,因?yàn)橛锌催^兩個海賊王的視頻。一個視頻帶標(biāo)簽:海賊王,路飛。另外一個視頻帶標(biāo)簽:海賊王,路飛,甚平。所以,海賊王和路飛標(biāo)簽個數(shù)都是2,甚平的標(biāo)簽個數(shù)是1。
這樣,計(jì)算出用戶B的TF值為:
然后說IDF。
IDF是Inverse Document Frequency,意思是逆文檔頻率。先說怎么計(jì)算,公式如下:
這個是為了計(jì)算一個標(biāo)簽的稀缺程度。如果一個標(biāo)簽全部的用戶都,IDF值就比較小。相反,一個標(biāo)簽只有少部分用戶有,則IDF值比較大。公式中,“帶該標(biāo)簽的用戶數(shù)+1”部分加1是為了防止分母為0的情況。
下表的灰色部分是每個用戶行為,計(jì)算出用戶的標(biāo)簽個數(shù)統(tǒng)計(jì)。如海賊王標(biāo)簽,因?yàn)橛腥齻€用戶帶了這個標(biāo)簽,所以“帶該標(biāo)簽的用戶數(shù)”為3。它的IDF值 = 4 ÷ 3 = 1.33,這里4是因?yàn)橛?個用戶。
第五步,匯總計(jì)算出用戶A的每個標(biāo)簽偏好值。
如下圖中,用戶A對三傻大鬧寶萊塢的偏好值為:1×3×1×0.25×2=1.5。
用這種方式,我們就可以為用戶打上海量的標(biāo)簽,只用用戶行為足夠多,我們就能捕捉的用戶的偏好數(shù)據(jù)。
八、總結(jié)
- 推薦系統(tǒng)的用戶畫像主要有兩種:基本畫像和偏好畫像。
- 基本畫像是用戶的個人屬性,如年齡,性別,居住城市等。
- 用戶偏好畫像是推薦系統(tǒng)中的重點(diǎn),它一般用用戶偏好程度 = 行為類型權(quán)重值 × 次數(shù) × 時間衰減 × TFIDF值計(jì)算出來。
- 用戶畫像在推薦系統(tǒng)中用于召回和模型訓(xùn)練。
作者:菠蘿王子;公眾號:菠蘿王子AI分享
本文由 @菠蘿王子 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議
干活,收藏!
您好我想請問下,根據(jù)上述算法判斷出每個用戶對標(biāo)簽的偏好分值,物品的分值就是所擁有的標(biāo)簽分值的累計(jì)加和,再根據(jù)模型協(xié)同過濾的方式進(jìn)行千人千面的推薦。而用戶畫像或推薦pm在日常工作中是不是核心在于尋找和挖掘用戶的標(biāo)簽和物品的標(biāo)簽,和對準(zhǔn)確率召回率等數(shù)據(jù)指標(biāo)的分析.我的理解對么?
IDF值算的有問題吧,4/3?? log函數(shù)也沒算
小白友好~大概的基本邏輯都清楚了,感謝分享~(雖然涉及到牛頓熱力學(xué)公式,這對于一個log都忘了怎么算的人來說太難理解了)
就喜歡這種直接講方法的
是我理解錯了么,IDF的值算錯了吧,也沒加1,也沒log
作者的意思應(yīng)該是:
if 分母=0,加1;
else 不加1
為什么沒有取log
非常棒鴨!干貨 ??