一文讀懂推薦系統(tǒng)用戶畫像

9 評論 25436 瀏覽 168 收藏 17 分鐘

本系列文章將從最簡單的概念開始,逐步講解推薦系統(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í)慣等信息。這種用戶畫像主要描述用戶是誰,以便做好功能定位。

如下圖中的定性用戶畫像分群:

十分鐘讀懂推薦系統(tǒng)用戶畫像

(2)數(shù)據(jù)分析用戶畫像

分析用戶行為,用戶進(jìn)行聚類行為分析。如:數(shù)據(jù)分析師可能會給出,觀看電商直播的男女比例,得出女性用戶更喜歡看我們的電商直播這樣的結(jié)論。

(3)推薦系統(tǒng)用戶畫像

為建立個性化功能,用各種辦法給用戶大規(guī)模打上幾萬甚至幾千萬個標(biāo)簽。這種標(biāo)簽不僅僅有偏好,還有偏好程度值。

本文所指的用戶畫像,僅僅涉及第三種情況。一般地,推薦系統(tǒng)的用戶畫像長成這個樣子:

十分鐘讀懂推薦系統(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)建出來的。

二、用戶畫像怎么用?

第一章的介紹過,推薦過程分為:召回、初排和精排三個階段。用戶畫像主要用在召回和初排兩個階段。

十分鐘讀懂推薦系統(tǒng)用戶畫像

召回階段使用用戶畫像,主要是通過用戶畫像召回相似的物品。比如一個短視頻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)簽分類。

如下圖所示:

十分鐘讀懂推薦系統(tǒng)用戶畫像

其中:

(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)簽,如性別,年齡,有車一族等。

十分鐘讀懂推薦系統(tǒng)用戶畫像

五、簡單舉例:通過模型產(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;而男性用戶可能會裝更多的游戲。

如下圖:

十分鐘讀懂推薦系統(tǒng)用戶畫像

這個是有監(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)簽。

十分鐘讀懂推薦系統(tǒng)用戶畫像

物品畫像的產(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個視頻分別為:

十分鐘讀懂推薦系統(tǒng)用戶畫像

整理一下,我們可以得到以上4個視頻的物品畫像:

十分鐘讀懂推薦系統(tǒng)用戶畫像

另外,為了簡單一點(diǎn),這里只考慮用戶的觀看行為,看完一次得分為1。4個用戶的數(shù)據(jù)分別如下,數(shù)字代表觀看次數(shù)。如下圖中,用戶A看了視頻1一共2次。

十分鐘讀懂推薦系統(tǒng)用戶畫像

先說結(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)用戶畫像

第二步:統(tǒng)計(jì)用戶A的行為次數(shù)。用戶A看了視頻1兩次,所以視頻1帶的標(biāo)簽“金融戰(zhàn)爭”和“做空”次數(shù)都記為2:

十分鐘讀懂推薦系統(tǒng)用戶畫像

第三步:計(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。

十分鐘讀懂推薦系統(tǒng)用戶畫像

第四步:計(jì)算TFIDF值。

這步比較復(fù)雜。我們先說下TFIDF的公式,TF和IDF是兩個不同的值,兩兩相乘可以得到TFIDF值。

首先說TF。

TF是Term Frequency的縮寫,意思是可以理解為詞頻,計(jì)算公式如下:

十分鐘讀懂推薦系統(tǒng)用戶畫像

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。

十分鐘讀懂推薦系統(tǒng)用戶畫像

而對于用戶B,因?yàn)橛锌催^兩個海賊王的視頻。一個視頻帶標(biāo)簽:海賊王,路飛。另外一個視頻帶標(biāo)簽:海賊王,路飛,甚平。所以,海賊王和路飛標(biāo)簽個數(shù)都是2,甚平的標(biāo)簽個數(shù)是1。

這樣,計(jì)算出用戶B的TF值為:

十分鐘讀懂推薦系統(tǒng)用戶畫像

然后說IDF。

IDF是Inverse Document Frequency,意思是逆文檔頻率。先說怎么計(jì)算,公式如下:

十分鐘讀懂推薦系統(tǒng)用戶畫像

這個是為了計(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)橛?個用戶。

十分鐘讀懂推薦系統(tǒng)用戶畫像

第五步,匯總計(jì)算出用戶A的每個標(biāo)簽偏好值。

如下圖中,用戶A對三傻大鬧寶萊塢的偏好值為:1×3×1×0.25×2=1.5。

十分鐘讀懂推薦系統(tǒng)用戶畫像

用這種方式,我們就可以為用戶打上海量的標(biāo)簽,只用用戶行為足夠多,我們就能捕捉的用戶的偏好數(shù)據(jù)。

八、總結(jié)

  1. 推薦系統(tǒng)的用戶畫像主要有兩種:基本畫像和偏好畫像。
  2. 基本畫像是用戶的個人屬性,如年齡,性別,居住城市等。
  3. 用戶偏好畫像是推薦系統(tǒng)中的重點(diǎn),它一般用用戶偏好程度 = 行為類型權(quán)重值 × 次數(shù) × 時間衰減 × TFIDF值計(jì)算出來。
  4. 用戶畫像在推薦系統(tǒng)中用于召回和模型訓(xùn)練。

 

作者:菠蘿王子;公眾號:菠蘿王子AI分享

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

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

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 干活,收藏!

    來自浙江 回復(fù)
  2. 您好我想請問下,根據(jù)上述算法判斷出每個用戶對標(biāo)簽的偏好分值,物品的分值就是所擁有的標(biāo)簽分值的累計(jì)加和,再根據(jù)模型協(xié)同過濾的方式進(jìn)行千人千面的推薦。而用戶畫像或推薦pm在日常工作中是不是核心在于尋找和挖掘用戶的標(biāo)簽和物品的標(biāo)簽,和對準(zhǔn)確率召回率等數(shù)據(jù)指標(biāo)的分析.我的理解對么?

    來自北京 回復(fù)
  3. IDF值算的有問題吧,4/3?? log函數(shù)也沒算

    回復(fù)
  4. 小白友好~大概的基本邏輯都清楚了,感謝分享~(雖然涉及到牛頓熱力學(xué)公式,這對于一個log都忘了怎么算的人來說太難理解了)

    來自北京 回復(fù)
  5. 就喜歡這種直接講方法的

    來自河南 回復(fù)
  6. 是我理解錯了么,IDF的值算錯了吧,也沒加1,也沒log

    來自廣東 回復(fù)
    1. 作者的意思應(yīng)該是:
      if 分母=0,加1;
      else 不加1

      回復(fù)
    2. 為什么沒有取log

      來自北京 回復(fù)
  7. 非常棒鴨!干貨 ??

    來自內(nèi)蒙古 回復(fù)