用戶畫像

原文連接:http://www.javashuo.com/article/p-wbxyksuw-mm.html算法

導讀:用戶畫像將產品設計的焦點放在目標用戶的動機和行爲上,從而避免產品設計人員草率地表明用戶。產品設計人員常常不自覺的把本身看成用戶表明,根據本身的需求設計產品,致使沒法抓住實際用戶的需求。每每對產品作了不少功能的升級,用戶卻以爲體驗變差了。數據庫

 

在大數據領域,用戶畫像的做用遠不止於此。用戶的行爲數據沒法直接用於數據分析和模型訓練,咱們也沒法從用戶的行爲日誌中直接獲取有用的信息。而將用戶的行爲數據標籤化之後,咱們對用戶就有了一個直觀的認識。瀏覽器

 

同時計算機也可以理解用戶,將用戶的行爲信息用於個性化推薦、個性化搜索、廣告精準投放和智能營銷等領域。網絡

 

做者:馬海平 於俊 呂昕 向海機器學習

本文摘編自《Spark機器學習進階實戰》,如需轉載請聯繫咱們ide

 

 

01 概述學習

 

用戶畫像的核心工做就是給用戶打標籤,標籤一般是人爲規定的高度精煉的特徵標識,如年齡、性別、地域、興趣等。這些標籤集合就能抽象出一個用戶的信息全貌,如圖10-1所示是某個用戶的標籤集合,每一個標籤分別描述了該用戶的一個維度,各個維度之間相互聯繫,共同構成對用戶的一個總體描述。測試

 

 

▲圖10-1 用戶標籤集合大數據

 

 

02 用戶畫像流程網站

 

1. 總體流程

 

咱們對構建用戶畫像的方法進行總結概括,發現用戶畫像的構建通常能夠分爲目標分析、體系構建、畫像創建三步。 

 

畫像構建中用到的技術有數據統計、機器學習和天然語言處理技術(NLP)等,如圖10-3所示。具體的畫像構建方法會在本章後面的部分詳細介紹。

 

 

▲圖10-3 用戶畫像的構建技術

 

2. 標籤體系

 

目前主流的標籤體系都是層次化的,以下圖10-4所示。首先標籤分爲幾個大類,每一個大類下進行逐層細分。在構建標籤時,咱們只須要構建最下層的標籤,就可以映射到上面兩級標籤。

 

上層標籤都是抽象的標籤集合,通常沒有實用意義,只有統計意義。例如咱們能夠統計有人口屬性標籤的用戶比例,但用戶有人口屬性標籤自己對廣告投放沒有任何意義。

 

 

▲圖10-4 互聯網大數據領域經常使用標籤體系

 

用於廣告投放和精準營銷的通常是底層標籤,對於底層標籤有兩個要求:一個是每一個標籤只能表示一種含義,避免標籤之間的重複和衝突,便於計算機處理;另外一個是標籤必須有必定的語義,方便相關人員理解每一個標籤的含義。

 

此外,標籤的粒度也是須要注意的,標籤粒度太粗會沒有區分度,粒度過細會致使標籤體系太過複雜而不具備通用性。

 

表10-1列舉了各個大類常見的底層標籤。

 

標籤類別

標籤內容

人口標籤

性別、年齡、地域、教育水平、出生日期、職業、星座

興趣特徵

興趣愛好、使用APP/網站、瀏覽/收藏內容、互動內容、品牌偏好、產品偏好

社會特徵

婚姻情況、家庭狀況、社交/信息渠道偏好

消費特徵

收入情況、購買力水平、已購商品、購買渠道偏好、最後購買時間、購買頻次

▲表10-1:常見標籤

 

最後介紹一下各種標籤構建的優先級。構建的優先級須要綜合考慮業務需求、構建難易程度等,業務需求各有不一樣,這裏介紹的優先級排序方法主要依據構建的難易程度和各種標籤的依存關係,優先級如圖10-5所示。

 

 

▲圖10-5 各種標籤的構建優先級

 

基於原始數據首先構建的是事實標籤,事實標籤能夠從數據庫直接獲取(如註冊信息),或經過簡單的統計獲得。這類標籤構建難度低、實際含義明確,且部分標籤可用做後續標籤挖掘的基礎特徵(如產品購買次數可用來做爲用戶購物偏好的輸入特徵數據)。

 

事實標籤的構造過程,也是對數據加深理解的過程。對數據進行統計的同時,不只完成了數據的處理與加工,也對數據的分佈有了必定的瞭解,爲高級標籤的構造作好了準備。

 

模型標籤是標籤體系的核心,也是用戶畫像工做量最大的部分,大多數用戶標籤的核心都是模型標籤。模型標籤的構造大多須要用到機器學習和天然語言處理技術,咱們下文中介紹的標籤構造方法主要指的是模型標籤,具體的構造算法會在本文第03章詳細介紹。

 

最後構造的是高級標籤,高級標籤是基於事實標籤和模型標籤進行統計建模得出的,它的構造多與實際的業務指標緊密聯繫。只有完成基礎標籤的構建,纔可以構造高級標籤。構建高級標籤使用的模型,能夠是簡單的數據統計,也能夠是複雜的機器學習模型。

 

 

03 構建用戶畫像

 

咱們把標籤分爲三類,這三類標籤有較大的差別,構建時用到的技術差異也很大。

 

第一類是人口屬性,這一類標籤比較穩定,一旦創建很長一段時間基本不用更新,標籤體系也比較固定;第二類是興趣屬性,這類標籤隨時間變化很快,標籤有很強的時效性,標籤體系也不固定;第三類是地理屬性,這一類標籤的時效性跨度很大,如GPS軌跡標籤須要作到實時更新,而常住地標籤通常能夠幾個月不用更新,挖掘的方法和前面兩類也大有不一樣,如圖10-6所示。

 

 

▲圖10-6 三類標籤屬性

 

1. 人口屬性畫像

 

人口屬性包括年齡、性別、學歷、人生階段、收入水平、消費水平、所屬行業等。這些標籤基本是穩定的,構建一次能夠很長一段時間不用更新,標籤的有效期都在一個月以上。同時標籤體系的劃分也比較固定,表10-2是MMA中國無線營銷聯盟對人口屬性的一個劃分。

 

大部分主流的人口屬性標籤都和這個體系比較相似,有些在分段上有一些區別。

 

性別

未知

年齡

12 如下

12-17

18-19

20-24

25-29

30-34

35-39

40-44

45-49

50-54

55-59

60-64

65 及以上

未知

月收入

3500 元如下

3500-5000 元

5000-8000 元

8000-12500 元

12500-25000 元

25001-40000

40000 元以上

未知

婚姻狀態

未婚

已婚

離異

未知

從事行業

廣告/營銷/公關

航天

農林化工

汽車

計算機/互聯網

建築

教育/學生

能源/採礦

金融/保險/房地產

政府/軍事/房地產

服務業

傳媒/出版/娛樂

醫療/保險服務

製藥

零售

電信/網絡

旅遊/交通

其它

教育程度

初中及如下

高中

中專

大專

本科

碩士

博士

▲表10-2  人口標籤

 

不少產品(如QQ、facebook等)都會引導用戶填寫基本信息,這些信息就包括年齡、性別、收入等大多數的人口屬性,但完整填寫我的信息的用戶只佔不多一部分。而對於無社交屬性的產品(如輸入法、團購APP、視頻網站等)用戶信息的填充率很是低,有的甚至不足5%。

 

在這種狀況下,咱們通常會用填寫了信息的這部分用戶做爲樣本,把用戶的行爲數據做爲特徵訓練模型,對無標籤的用戶進行人口屬性的預測。這種模型把用戶的標籤傳給和他行爲類似的用戶,能夠認爲是對人羣進行了標籤擴散,所以常被稱爲標籤擴散模型。

 

下面咱們用視頻網站性別年齡畫像的例子來講明標籤擴散模型是如何構建的。

 

一個視頻網站,但願瞭解本身的用戶組成,因而對用戶的性別進行畫像。經過數據統計,有大約30%的用戶註冊時填寫了我的信息,咱們將這30%的用戶做爲訓練集,來構建全量用戶的性別畫像,咱們的數據如表10-3所示。

 

Uid

Gender

Watched  videos

525252

Male

Game  of throat

532626


Runing  men、最強大腦

526267


琅琊榜、假裝者

573373

Female

歡樂喜劇人

▲表10-3:視頻網站用戶數據

 

下面咱們來構建特徵。經過分析,咱們發現男性和女性,對於影片的偏好是有差異的,所以使用觀看的影片列表來預測用戶性別有必定的可行性。此外咱們還能夠考慮用戶的觀看時間、瀏覽器、觀看時長等,爲了簡化,這裏咱們只使用用戶觀看的影片特徵。

 

因爲觀看影片特徵是稀疏特徵,咱們可使用調用MLlib,使用LR、線性SVM等模型進行訓練。考慮到註冊用戶填寫的用戶信息自己的準確率不高,咱們能夠從30%的樣本集中提取準確率較高的部分(如用戶信息填寫較完備的)用於訓練,所以咱們總體的訓練流程如圖10-7所示。

 

對於預測性別這樣的二分類模型,若是行爲的區分度較好,通常準確率和覆蓋率均可以達到70%左右。

 

 

▲圖10-7 訓練流程

 

對於人口屬性標籤,只要有必定的樣本標籤數據,並找到可以區分標籤分類的用戶行爲特徵,就能夠構建標籤擴散模型。其中使用的技術方法主要是機器學習中的分類技術,經常使用的模型有LR、FM、SVM、GBDT等。

 

2. 興趣畫像

 

興趣畫像是互聯網領域使用最普遍的畫像,互聯網廣告、個性化推薦、精準營銷等各個領域最核心的標籤都是興趣標籤。興趣畫像主要是從用戶海量行爲日誌中進行核心信息的抽取、標籤化和統計,所以在構建用戶興趣畫像以前須要先對用戶有行爲的內容進行內容建模。

 

內容建模須要注意粒度,過細的粒度會致使標籤沒有泛化能力和使用價值,過粗的粒度會致使沒有區分度。

 

爲了保證興趣畫像既有必定的準確度又有較好的泛化性,咱們會構建層次化的興趣標籤體系,使用中同時用幾個粒度的標籤去匹配,既保證了標籤的準確性,又保證了標籤的泛化性。下面咱們用新聞的用戶興趣畫像舉例,介紹如何構建層次化的興趣標籤。

 

2.1 內容建模

 

新聞數據自己是非結構化的,首先須要人工構建一個層次的標籤體系。咱們考慮以下圖10-9的一篇新聞,看看哪些內容能夠表示用戶的興趣。

 

 

▲圖10-9 新聞例子

 

首先,這是一篇體育新聞,體育這個新聞分類能夠表示用戶興趣,可是這個標籤太粗了,用戶可能只對足球感興趣,體育這個標籤就顯得不夠準確。

 

其次,咱們可使用新聞中的關鍵詞,尤爲是裏面的專有名詞(人名、機構名),如「桑切斯」、「阿森納」、「厄齊爾」,這些詞也表示了用戶的興趣。關鍵詞的主要問題在於粒度太細,若是一天的新聞裏沒有這些關鍵詞出現,就沒法給用戶推薦內容。

 

最後,咱們但願有一箇中間粒度的標籤,既有必定的準確度,又有必定的泛化能力。因而咱們嘗試對關鍵詞進行聚類,把一類關鍵詞當成一個標籤,或者把一個分類下的新聞進行拆分,生成像「足球」這種粒度介於關鍵詞和分類之間的主題標籤。咱們可使用文本主題聚類完成主題標籤的構建。

 

至此咱們就完成了對新聞內容從粗到細的「分類-主題-關鍵詞」三層標籤體系內容建模,新聞的三層標籤如表10-4所示。

 


分類

主題

關鍵詞

使用算法

文本分類、SVM、LR、Bayes

PLSA、LDA

Tf*idf、專門識別、領域詞表

粒度

泛化性

舉例

體育、財經、娛樂

足球、理財

梅西、川普、機器學習

量級

10-30

100-1000

百萬

▲表10-4  三層標籤體系

 

既然主題的準確率和覆蓋率都不錯,咱們只使用主題不就能夠了嘛?爲何還要構建分類和關鍵詞這兩層標籤呢?這麼作是爲了給用戶進行儘量精確和全面的內容推薦。

 

當用戶的關鍵詞命中新聞時,顯然可以給用戶更準確的推薦,這時就不須要再使用主題標籤;而對於比較小衆的主題(如體育類的冰上運動主題),若當天沒有新聞覆蓋,咱們就能夠根據分類標籤進行推薦。層次標籤兼顧了對用戶興趣刻畫的覆蓋率和準確性。

 

2.2 興趣衰減

 

在完成內容建模之後,咱們就能夠根據用戶點擊,計算用戶對分類、主題、關鍵詞的興趣,獲得用戶興趣標籤的權重。最簡單的計數方法是用戶點擊一篇新聞,就把用戶對該篇新聞的全部標籤在用戶興趣上加一,用戶對每一個詞的興趣計算就使用以下的公式:

 

 

 

其中:詞在此次瀏覽的新聞中出現C=1,不然C=0,weight表示詞在這篇新聞中的權重。

 

這樣作有兩個問題:一個是用戶的興趣累加是線性的,數值會很是大,老的興趣權重會特別高;另外一個是用戶的興趣有很強的時效性,昨天的點擊要比一個月以前的點擊重要的多,線性疊加沒法突出近期興趣。

 

爲了解決這個問題,須要要對用戶興趣得分進行衰減,咱們使用以下的方法對興趣得分進行次數衰減和時間衰減。 

 

次數衰減的公式以下:

 

 

 

其中,α是衰減因子,每次都對上一次的分數作衰減,最終得分會收斂到一個穩定值 ,α取0.9時,得分會無限接近10。

 

時間衰減的公式以下:

 

 

 

它表示根據時間對興趣進行衰減,這樣作能夠保證時間較早的興趣會在一段時間之後變的很是弱,同時近期的興趣會有更大的權重。根據用戶興趣變化的速度、用戶活躍度等因素,也能夠對興趣進行周級別、月級別或小時級別的衰減。

 

3. 地理位置畫像

 

地理位置畫像通常分爲兩部分:一部分是常駐地畫像;一部分是GPS畫像。兩類畫像的差異很大,常駐地畫像比較容易構造,且標籤比較穩定,GPS畫像須要實時更新。

 

常駐地包括國家、省份、城市三級,通常只細化到城市粒度。常駐地的挖掘基於用戶的IP地址信息,對用戶的IP地址進行解析,對應到相應的城市,對用戶IP出現的城市進行統計就能夠獲得常駐城市標籤。

 

用戶的常駐城市標籤,不只能夠用來統計各個地域的用戶分佈,還能夠根據用戶在各個城市之間的出行軌跡識別出差人羣、旅遊人羣等,如圖10-10所示是人羣出行軌跡的一個示例。

 

 

▲圖10-10 人羣出行軌跡

 

GPS數據通常從手機端收集,但不少手機APP沒有獲取用戶 GPS信息的權限。可以獲取用戶GPS信息的主要是百度地圖、滴滴打車等出行導航類APP,此外收集到的用戶GPS數據比較稀疏。

 

百度地圖使用該方法結合時間段數據,構建了用戶公司和家的GPS標籤。此外百度地圖還基於GPS信息,統計各條路上的車流量,進行路況分析,如圖10-11是北京市的實時路況圖,紅色表示擁堵線路。

 

 

▲圖10-11 北京的實時路況圖

 

 

04 用戶畫像評估和使用

 

人口屬性畫像的相關指標比較容易評估,而興趣畫像的標籤比較模糊,興趣畫像的人爲評估比較困難,咱們對於興趣畫像的經常使用評估方法是設計小流量的A/B-test進行驗證。

 

咱們能夠篩選一部分標籤用戶,給這部分用戶進行和標籤相關的推送,看標籤用戶對相關內容是否有更好的反饋。

 

例如,在新聞推薦中,咱們給用戶構建了興趣畫像,咱們從體育類興趣用戶中選取一小批用戶,給他們推送體育類新聞,若是這批用戶的點擊率和閱讀時長明顯高於平均水平,就說明標籤是有效的。

 

1. 效果評估

 

用戶畫像效果最直接的評估方法就是看其對實際業務的提高,如互聯網廣告投放中畫像效果主要看使用畫像之後點擊率和收入的提高,精準營銷過程當中主要看使用畫像後銷量的提高等。

 

可是若是把一個沒有通過效果評估的模型直接用到線上,風險是很大的,所以咱們須要一些上線前可計算的指標來衡量用戶畫像的質量。

 

用戶畫像的評估指標主要是指準確率、覆蓋率、時效性等指標。

 

1.1 準確率

 

標籤的準確率指的是被打上正確標籤的用戶比例,準確率是用戶畫像最核心的指標,一個準確率很是低的標籤是沒有應用價值的。準確率的計算公式以下:

 

 

 

其中| Utag |表示被打上標籤的用戶數,| Utag=true |表示有標籤用戶中被打對標籤的用戶數。準確率的評估通常有兩種方法:一種是在標註數據集裏留一部分測試數據用於計算模型的準確率;另外一種是在全量用戶中抽一批用戶,進行人工標註,評估準確率。

 

因爲初始的標註數據集的分佈和全量用戶分佈相比可能有必定誤差,故後一種方法的數據更可信。準確率通常是對每一個標籤分別評估,多個標籤放在一塊兒評估準確率是沒有意義的。

 

1.2 覆蓋率

 

標籤的覆蓋率指的是被打上標籤的用戶佔全量用戶的比例,咱們但願標籤的覆蓋率儘量的高。但覆蓋率和準確率是一對矛盾的指標,須要對兩者進行權衡,通常的作法是在準確率符合必定標準的狀況下,儘量的提高覆蓋率。

 

咱們但願覆蓋儘量多的用戶,同時給每一個用戶打上儘量多的標籤,所以標籤總體的覆蓋率通常拆解爲兩個指標來評估。一個是標籤覆蓋的用戶比例,另外一個是覆蓋用戶的人均標籤數,前一個指標是覆蓋的廣度,後一個指標表示覆蓋的密度。

 

用戶覆蓋比例的計算方法是:

 

 

 

其中| U |表示用戶的總數,| Utag |表示被打上標籤的用戶數。

 

人均標籤數的計算方法是:

 

 

 

其中| tagi |表示每一個用戶的標籤數,| Utag |表示被打上標籤的用戶數。覆蓋率既能夠對單一標籤計算,也能夠對某一類標籤計算,還能夠對全量標籤計算,這些都是有統計意義的。

 

1.3 時效性

 

有些標籤的時效性很強,如興趣標籤、出現軌跡標籤等,一週以前的就沒有意義了;有些標籤基本沒有時效性,如性別、年齡等,能夠有一年到幾年的有效期。對於不一樣的標籤,須要創建合理的更新機制,以保證標籤時間上的有效性。

 

1.4 其餘指標

 

標籤還須要有必定的可解釋性,便於理解;同時須要便於維護且有必定的可擴展性,方便後續標籤的添加。這些指標難以給出量化的標準,但在構架用戶畫像時也須要注意。

 

2. 畫像使用

 

用戶畫像在構建和評估以後,就能夠在業務中應用,通常須要一個可視化平臺,對標籤進行查看和檢索。畫像的可視化通常使用餅圖、柱狀圖等對標籤的覆蓋人數、覆蓋比例等指標作形象的展現,以下圖10-12所示是用戶畫像的一個可視化界面。

 

 

▲圖10-12 用戶畫像的可視化界面

 

此外,對於構建的畫像,咱們還可使用不一樣維度的標籤,進行高級的組合分析,產出高質量的分析報告。在智能營銷、計算廣告、個性化推薦等領域用戶畫像均可以獲得應用,具體的應用方法,與其應用領域結合比較緊密,咱們再也不詳細介紹。

————————————————版權聲明:本文爲CSDN博主「大數據v」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接及本聲明。原文連接:https://blog.csdn.net/zw0Pi8G5C1x/article/details/83964888

相關文章
相關標籤/搜索