構建用戶畫像中所用到的AI算法
本文從三個部分——標簽的層級、生產、權重方面,分析了構建用戶畫像中所用到的AI算法。
談及用戶畫像,我想產品和運營的朋友們都不會陌生,用戶畫像是用戶研究的重要輸出,它能幫助我們更好的進行業務決策以及產品設計。用戶畫像落實到產品設計,本質上是將數據組合成數據特征,從而形成用戶的數據模型。
構建用戶畫像的主流方法有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)。
有監督學習,類似我們從小接觸的函數公式,即根據輸入(x),和公式f(x)得到輸出(y),假設x是數據的特征,那么經過函數的運算后我們能夠得到分類結果。
以人口屬性為例,非社交應用用戶填寫自己性別的主動性較低。當我們想了解用戶的性別組成,卻只有10%用戶填寫了性別,而另外90%的用戶的性別是未知的。
在機器學習中,我們會將明確性別的用戶作為數據樣本,提取他們的數據特征訓練模型。以明確性別的用戶的數據特征設為x,性別為y,訓練出f(x)的函數之后,我們將其他未知性別的用戶特征代入到公式f(x)中,從而去預測他們的性別。
函數是是由模型訓練而成的,線性支持向量機是怎么訓練的呢?
在圖7中,我們發現有一條直線將象限中的數據分成了兩部分,而支持向量機則是找到一條劃分效果最好的直線。劃分效果越好,新數據分類錯誤的可能性也越低,而這兩個類別在支持向量機中我們也叫正樣本和負樣本。
回到線性支持向量機的定義:“對于給定的數據集,能在樣本空間中找到一條劃分直線,從而將兩個不同類別的樣本分開,并且這條直線距離最接近的訓練數據點最遠?!?/strong>
圖8以購買過男性/女性短袖作為男性用戶和女性用戶的特征,黑點表示為已知的男性用戶,白點為已知的女性用戶。
當遇到新的未知性別的用戶,但是我們發現其有購買過男性短袖這一行為,而這一用戶的數據落在了男性部分,所以我們預測這個用戶是男性。
當然在實際過程中,數據的特征絕對不僅是簡單的二維特征,在這里只是方便大家理解。線性支持向量機在三維求解的是一個分類效果最好的平面,而在高維則是線性函數。
線性支持向量機的目標函數求解的過程比較復雜,在小規模數據集中線性支持向量機的表現是較好的,但是由于受到了數據量的限制,我們會運用訓練更加簡單并且能實時計算的算法——邏輯回歸。
2-2 邏輯回歸
邏輯回歸(Logistic Regression)是和線性支持向量機非常相似,它們都是有監督學習方法,在不考慮核函數時都是線性的分類方法。其不同點在于,線性支持向量機是基于距離分類,而邏輯回歸是基于可能性分類。
理解邏輯回歸之前,我們先復習一下最簡單的一元線性回歸。一元線性回歸的公式是:y=kx+b。
我們假定圖10中的直線,代表著人在勻速狀態下路程與速度的關系。但在實際情況下人的速度不是恒定的,我們沒有辦法使不同時間的速度都穿過這條直線。退而求其次,我們去找一條最接近這些速度數據的支線。
看到圖10的函數圖例,大家會發現線性回歸和線性支持向量機非常的相像,線性回歸與邏輯回歸有什么關系?邏輯回歸又是怎樣的一種分類方式?
邏輯回歸在線性回歸的基礎上套用了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個案例搞懂人工智能》,這是一本很好的工具書,提供了特別好的知識框架讓我體系化的認識人工智能,在此也為朋友們極力推薦這本書。
重點參考資料
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
彩蛋:
第10項,SVM的推導過程筆者還沒有完全推導成功,愿意講課的朋友請你吃飯呀~
本文由 @WISE 原創發布于人人都是產品經理?,未經許可,禁止轉載
題圖來自Unsplash,基于 CC0 協議
基于聚類和基于主題模型,這兩種劃分方法的原則一致嗎?基于主題模型里面又說了可以使用聚類進行標簽生產,這是為什么?我理解聚類(無監督)應該和分類(有監督)對應。。分類算法是否屬于基于規則定義中的一種?困惑。。。
很棒啊 標簽的分層曾有類似的想法
謝謝你。