構建用戶畫像所使用的AI算法 前言 一、標籤的層級 二、標籤的生產 三、標籤的權重 寫在最後

前言

談及用戶畫像,我想產品和運營的朋友們都不會陌生,用戶畫像是用戶研究的重要輸出,它能幫助我們更好的進行業務決策以及產品設計。用戶畫像落實到產品設計,本質上是將數據組合成數據特徵,從而形成用戶的數據模型。

構建用戶畫像的主流方法有4種:

1、基於數據統計

2、基於規則定義

3、基於聚類

4、基於主題模型

前兩者是基於已有數據的構建方法,其缺陷是無法處理數據缺失或不在規則範圍內的用戶。而解決這一類問題,也正是機器學習存在的意義,它讓計算機像人一樣去學習處理問題,並給出答案。

本文將從構建用戶畫像的角度和大家分享能夠運用在其中的一些AI算法,希望能給大家提供一些價值。

用戶畫像偏向於定性,而產品設計是將需求從定性轉換爲定量的過程,用戶畫像在量化過後我們也稱之爲用戶標籤。

一、標籤的層級

構建用戶標籤我拆分了三個步驟,分別是層級、生產以及權重。理解標籤的層級能夠幫助我們設計產品架構,並且熟悉標籤生產的方法。

構建用戶標籤我拆分了三個步驟,分別是層級、生產以及權重。

標籤的層級有兩種劃分方式,方式1是較爲常見的做法,而方式2查閱於京東的數據分析師凌靖的文章,結合兩種方式之後形成了下圖圖3。


標籤的每一個層級,可以將其理解爲對上一層標籤的再次提煉。對照着圖3,我們試着理解這4個層級:

1、原始數據

來源於用戶的基礎信息、交易數據、訪問數據,如:用戶的註冊手機號碼、用戶的歷史訂單、用戶的訪問軌跡等。

2、事實標籤

是對原始數據進行統計分析後的初步提煉結果。

3、模型標籤及預測標籤

3-1、模型標籤

由一個或多個事實標籤組合而成,是基於模型訓練的結果。以模型標籤“交易偏好”爲例,它是由交易商品類型、交易場景、交易來源這幾個事實標籤組合而成的。

3-2、預測標籤

以已有的模型標籤數據作爲特徵,經過機器學習生產的標籤。由於預測標籤會映射成爲模型標籤,所以在圖3中將2者放置於同一個層級。

4、策略標籤

策略標籤,則是用戶標籤構建的最終目的,根據目的提煉用戶,並對用戶進行定向的營銷。

標籤的層級,指導着產品經理構建用戶畫像的每個步驟。前兩個層級,我們需要對缺失的數據建立數據源,對數據進行清洗、修復以及特徵構建等;後兩個層級,我們需要使用合適的方式生產標籤。

二、標籤的生產

在第一章中我們理解了標籤的層級,這一張主要講述標籤的生產過程,用戶畫像的構建方式不同,生產方式也不同。

1、基於規則定義的標籤生產方式

顧名思義,這種生產方式是根據固定的規則,通過數據查詢的結果生產標籤。這裏的重點在於如何制定規則。

從數據的變化頻次來看,可以將標籤劃分爲靜態標籤以及動態標籤。靜態標籤變化的頻次低,或者一旦確認不做改變。而動態標籤變化頻繁,它會衰減也可能會消失。

以靜態標籤和動態標籤爲思路向下順延,我們可以劃分爲基礎屬性以及偏好行爲兩大類,如下圖圖4所示:


這是一張比較普適的圖,在實際應用的過程中產品經理可以根據業務去定義更多的類型。將類型劃分清楚,用戶標籤的生產工具已經初具雛形。

在設置規則時產品經理應該適當抽象,過於精細會增加研發的週期,上線後的數據查詢也會有較大的壓力。其次也可能因爲篩選條件過多,查詢的數據樣本不足,導致空耗資源。

適當抽象考驗產品經理對需求、資源以及應用的平衡能力,以用戶訪問行爲爲例,在初期不建議放開全量查詢,可以優先將頻次高、強度高的查詢需求抽象成規則,如商品詳情、平臺活動、渠道投放等。

基於規則定義和基於數據統計這兩種用戶標籤構建方式在產品設計中的邏輯是相對簡單的,就不花更多的篇幅解釋了。

2、基於主題模型的標籤生產方式

主題模型,最開始運用於內容領域,目的是找到用戶的偏好,它將內容劃分爲了3個層級:分類、主題、關鍵詞。

在用戶標籤中我們可以參照分類算法將用戶進行分類、聚類,使用關鍵詞的算法挖掘用戶的偏好,從而生產標籤。

2-1、線性支持向量機

線性支持向量機(Linear Support Vector Machine)是一種二分類算法,適用於“是與否”,“有或無”的問題,它隸屬於機器學習中的有監督學習(Supervised Learning)。

有監督學習,類似我們從小接觸的函數公式:y=f(x),即根據輸入(x),和公式f(x)得到輸出(y),假設x是數據的特徵,那麼經過函數的運算後我們能夠得到分類結果。

以人口屬性爲例,非社交應用用戶填寫自己性別的主動性較低。當我們想了解用戶的性別組成,卻只有10%用戶填寫了性別,而另外90%的用戶的性別是未知的。

在機器學習中,我們會將明確性別的用戶作爲數據樣本,提取他們的數據特徵訓練模型。以明確性別的用戶的數據特徵設爲x,性別爲y,訓練出f(x)的函數之後,我們將其他未知性別的用戶特徵代入到公式f(x)中,從而去預測他們的性別。

函數是是由模型訓練而成的,線性支持向量機是怎麼訓練的呢?

在圖7中,我們發現有一條直線將象限中的數據分成了兩部分,而支持向量機則是找到一條劃分效果最好的直線。劃分效果越好,新數據分類錯誤的可能性也越低,而這兩個類別在支持向量機中我們也叫正樣本和負樣本。

回到線性支持向量機的定義:“對於給定的數據集,能在樣本空間中找到一條劃分直線,從而將兩個不同類別的樣本分開,並且這條直線距離最接近的訓練數據點最遠。”

圖7以購買過男性/女性短袖作爲男性用戶和女性用戶的特徵,黑點表示爲已知的男性用戶,白點爲已知的女性用戶。

當遇到新的未知性別的用戶,但是我們發現其有購買過男性短袖這一行爲,而這一用戶的數據落在了男性部分,所以我們預測這個用戶是男性。

當然在實際過程中,數據的特徵絕對不僅是簡單的二維特徵,在這裏只是方便大家理解。線性支持向量機在三維求解的是一個分類效果最好的平面,而在高維則是線性函數。

線性支持向量機的目標函數求解的過程比較複雜(文末彩蛋預警),在小規模數據集中線性支持向量機的表現是較好的,但是由於受到了數據量的限制,我們會運用訓練更加簡單並且能實時計算的算法——邏輯迴歸。

2-2、邏輯迴歸

邏輯迴歸(Logistic Regression)是和線性支持向量機非常相似,它們都是有監督學習方法,在不考慮核函數時都是線性的分類方法。其不同點在於,線性支持向量機是基於距離分類,而邏輯迴歸是基於可能性分類。

理解邏輯迴歸之前,我們先複習一下最簡單的一元線性迴歸。一元線性迴歸的公式是:y=kx+b。


我們假定圖9中的直線,代表着人在勻速狀態下路程與速度的關係。但在實際情況下人的速度不是恆定的,我們沒有辦法使不同時間的速度都穿過這條直線。退而求其次,我們去找一條最接近這些速度數據的支線。

看到圖9的函數圖例,大家會發現線性迴歸和線性支持向量機非常的相像,線性迴歸與邏輯迴歸有什麼關係?邏輯迴歸又是怎樣的一種分類方式?

邏輯迴歸在線性迴歸的基礎上套用了sigmoid函數,它將回歸函數的結果映射在sigmoid函數之中。這個函數的特點是其值域分佈在[0,1]之間,1和0對應了二分類的“是與否”,隨着x值的變化,y值會不斷的趨近於0或1,這種趨近我們稱之爲可能性。

在線性支持向量機中只有兩種值:正樣本和負樣本,而邏輯迴歸除了分類還能夠表達分類的概率。

2-3、文本挖掘算法:TF-IDF

TF意思是詞頻(Term Frequency),IDF意思是逆文本頻率指數(Inverse Document Frequency),在用戶畫像的構建中我們會將其運用於生產用戶的偏好標籤。

TF表述的核心思想是,在1條文本中反覆出現的詞更重要。而IDF的思想是,在所有文本都出現的詞是不重要的,IDF用於修正TF所表示的計算結果。

上文描述TF-IDF能夠用於生產用戶的偏好標籤,其中的原理是什麼呢?

我們將一名用戶類比爲一篇文章,用戶瀏覽的商品標題在分詞彙總後作爲其中的詞庫,平臺的用戶總數即爲文本總數,出現該詞語的文本數作爲有同樣瀏覽行爲的用戶。這樣轉置過後,就能夠進行計算了。

以用戶A爲例,用戶A擁有3條瀏覽記錄,分詞後總計17個詞。設:平臺的用戶總數=10000人,用戶瀏覽過的商品標題帶有“黑色”1詞的用戶有500人,底數爲2。


以底數爲2,可計算“黑色”這個標籤對用戶的權重是0.52,有了權重我們能夠將其運用於尋找相似用戶。

三、標籤的權重

標籤權重的計算公式來源於趙洪田撰寫的文章《用戶標籤之標籤權重算法》,權重公式的解讀如下:

1、行爲類型權重

指的是對於同一類標籤,由於其行爲的輕重不同所以權重不同。

如:用戶對於某商品有過生成訂單的行爲,根據訂單未支付、已支付未退款、已支付已退款三種訂單狀態,制定不同的權重。

2、時間衰減因子

時間衰減因子體現了標籤的熱度隨着時間逐漸冷卻的過程,它來源於牛頓冷卻定律。

定律描述的是物體的冷卻速度與其當前溫度和室溫之間的溫差成正比。運用於新聞領域,一條新聞可能在今天它的“溫度”是最高的,但是隨着時間,這條新聞會逐漸的變成和普通新聞一樣的“溫度”。

經過對牛頓冷卻定律的推導,我們得出了以下公式:

將公式翻譯成中文:當前溫度=原始溫度 X exp(-冷卻係數 X 間隔時間)

運用於標籤的翻譯:當前權重=原始權重 X exp(-冷卻係數 X 間隔時間)

如:將用戶發生行爲的當日該偏好的權重設置爲1,10天后設置爲0.2,也就是經過9天后權重會衰減是0.2,將已知變量代入到圖13的公式中,經過指數的運算得到冷卻係數,從而得到時間衰減因子。

對於不同的標籤,時間的衰減因子係數是不同的,有的標籤甚至是不受時間所影響,在計算時可以不必考慮衰減因子。

公式中的TF-IDF、行爲頻次,前者已經描述過,後者也比較好理解在這裏也不再贅述。標籤的權重可以用於查找相似用戶,進行個性化推薦,如果有有興趣的朋友可以閱讀我的上一篇文章《如何理解個性化推薦中的數學原理》

寫在最後

近期恰好設計了用戶標籤的提取工具,撰寫本文原意是想回顧項目、查漏補缺。過程中閱讀了一些人工智能的書籍,給了自己很多的啓發,於是也將所瞭解的一些算法添加進來,如果有理解不正確的地方也請朋友們不吝指教。

這篇文章涉及的算法部分主要參考了:《產品經理進階:100個案例搞懂人工智能》,這是一本很好的工具書,提供了特別好的知識框架讓我體系化的認識人工智能,在此也爲朋友們極力推薦這本書:

產品經理進階:100個案例搞懂人工智能 ,任意門:https://m.tb.cn/h.elSyHAs 

重點參考資料

1、林中翹—《產品經理進階:100個案例搞懂人工智能》

2、吳軍—《數學之美》

3、CWS_chen—《用戶畫像原理、技術選型及架構實現》https://blog.csdn.net/SecondLieutenant/article/details/81153565

4、凌靖—《用戶畫像》https://zhuanlan.zhihu.com/p/34385914

5、Jack Cui—機器學習實戰教程(八):支持向量機原理篇之手撕線性SVM

https://cuijiahua.com/blog/2017/11/ml_8_svm_1.html

6、伏草唯存—邏輯迴歸模型算法研究和案例分析https://cloud.tencent.com/developer/article/1330810

7、hffzkl—基於牛頓冷卻定律的時間衰減函數模型https://blog.51cto.com/9269309/1865554

8、趙宏田—《用戶標籤之權重算法》

9、劉星辰—《基於文本挖掘的用戶畫像系統的設計與實現》

10、Coding Fish—《SVM原理及推導》https://www.jianshu.com/p/05693f2091b7

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章