發揮大數據價值:精準的用戶畫像是怎樣練成的?

大數據 深度學習 機器學習 Links 愛運營net 2017-06-08

正如我們常說,“羅馬不是一天建成的”一樣,精準的用戶畫像也絕非一朝一夕就能練成的,它的背後需要龐大的數據基礎和技術能力的支撐。

接下來,我們就繼續探祕360用戶畫像,從技術層面深度剖析精準的用戶畫像是怎樣練成的!

1.關鍵技術

在給用戶打標籤的過程中,人工手段顯然是難以大規模開展的,因此,在實際中,我們一般採用機器學習算法,輔助少量人工的方式來實現。接下來對這其中用到的技術架構、技術難點等展開描述。

1.1 技術架構

數據的自動分類流程一般包括:數據預處理、數據建模、模型評測、業務應用等,如圖十一所示:

(1)數據預處理:主要包括數據收集和清洗等。我們收集到的數據包括用戶行為數據,如用戶搜索行為、瀏覽行為;以及結構化數據,如商品庫、網頁庫、APP庫等;還有知識數據,如類目體系、詞典數據等。為了得到高質量的數據,對收集的數據進行清洗,包括無效數據、噪聲數據的過濾以及反作弊;以及數據結構化等。

(2)數據建模:包括訓練樣本的生成、特徵提取、模型訓練等,因為數據量龐大,單機無法滿足需求,必然需要分佈式計算。

(3)模型評測:模型評測主要通過測試集驗證和線上小流量實驗進行評估,根據測試反饋結果,優化模型。

(4)業務應用:目前360用戶畫像在運營分析、數據產品、廣告投放系統等都有很好的應用。

發揮大數據價值:精準的用戶畫像是怎樣練成的?

圖一 360用戶畫像系統流程

各個流程中,可能用到的關鍵技術見圖十二。其中的難點不僅僅在於機器學習模型,還包括獲得訓練數據、特徵工程、以及分類樹層級節點之間的依賴問題等,接下來一一展開描述。

發揮大數據價值:精準的用戶畫像是怎樣練成的?

圖二關鍵技術

1.2 樣本自動標註

樣本標註的工作量大,且主觀性強,人工標註的方法推進較困難,實際中一般常採用少量人工+自動標註的方法。接下來以行業興趣的搜索詞自動分類為例,介紹一下常用的樣本自動標註方法。

(1)搜索點擊反饋:利用host進行標註,每個行業類目UV較大的host數目相比用戶的搜索關鍵詞量要小很多,可以人工獲取少量不同類目下的host,利用搜索點擊數據來標註搜索關鍵詞類目。

(2)半監督學習:通過少量標註樣本,對大量未標註的樣本進行訓練分類,將置信度較高的樣本加入到訓練集。我們採用的方法有Self-training、Co-training、Tri-training、CoForest等。

  • Self-training用一個模型進行決策,在實際的應用中,容易引入大量的噪聲點,效果不太好。

  • Co-training從兩個獨立的視圖採用同一份數據,訓練兩個模型,但是真實的問題中兩個獨立視圖比較難以滿足,如果X1、X2完全相關,那麼Co-Training就退化為

  • Self-training了,所以在實際應用中效果相比Self-training提升不明顯。

  • Tri-training將訓練數據分成3部分,訓練3個模型;CoForest是採用n個分類器,利用隨機森林來保證各分類器之間的差異。這兩種方法可引入錯誤率收斂的條件控制噪音點樣本,並且可以通過多個分類器決策投票來減少噪音樣本的加入。在實際應用中,這兩種方法效果比較好。

1.3 樣本不平衡處理

在實際的應用中,經常出現樣本不平衡的情況,一般是正樣本遠遠小於負樣本的數目。例如,query分類,常用的處理方法如下:

(1)數據層面,對樣本進行過採樣或者欠採樣。

  • 過採樣:增加正樣本來提高少數類的分類性能,如簡單的複製正樣本,但這樣容易導致過擬合,可以在正樣本中隨機加入高斯噪聲或者產生新的合成樣本,如SMOTE算法等。

  • 欠採樣:最簡單的辦法是隨機剔除負樣本,操作簡單。在query分類中,因為負樣本數目較多,按一定的比例進行隨機欠採樣,實際產生的效果比較好。其他欠採樣方法還有Tomek links、NearMiss、One-Sided Selection方法等。

(2)算法層面

  • 代價敏感方法:可以在costfunction中調整懲罰項的權重,如增加正樣本的權重,減少負樣本的權重。

  • 集成學習的方法:比如將負樣本分成多份,每份都與正樣本進行訓練,得到多個模型,最終投票得到結果。Adaboost應用在不平衡數據分類上也可以有一定的改進效果。

1.4 特徵工程

數據和特徵決定了機器學習的上限,樣本集合構建完成以後,我們就需要從樣本中提取特徵,也就是特徵工程。

特徵類型

  • 文本詞特徵:可提取ngram作為特徵,例如unigram和bigram等;

  • 文本擴展特徵:可利用點擊反饋數據,得到query對應的url作為特徵;或者計算文本相似度,擴展相似query作為特徵;

  • 特定領域特徵:文本關鍵詞對應的領域特徵,例如地域、商品類型、商品屬性等;

  • 主題特徵:利用TopicModel、LDA等主題模型,將query的主題參數分佈作為其特徵;

特徵選擇

特徵選擇的目標是尋找最優的特徵子集,用來訓練模型。常用的特徵選擇方法有:

  • TF-IDF:其中TF為詞頻,用於計算該詞描述文檔內容的能力,IDF稱為反文檔頻率,用於計算該詞區分文檔的能力。TF-IDF的值越大,說明該特徵對類目的區分能力越強;

  • 卡方檢驗:卡方值越大,說明這個詞是兩個類別區分度較強的詞;

  • 互信息:互信息一般用於度量兩個詞之間的相關性,在特徵選擇中可用於計算特徵對類目的區分度;

  • 信息增益:信息增益是通過計算某一特徵出現前後的信息熵之差,表示該特徵對分類的重要性;

在訓練樣本量比較大的情況下,以上幾種方法實際產生的效果是差不多的,計算得到權重後,對權重進行排序,一般根據需要可以有兩種選擇方式:1)選擇權重最大的前K個特徵;2)選擇權重大於某一個閾值的特徵。

1.5 模型訓練

1.5.1 模型類型

以行業興趣分類為例,類目個數非常多,且都有層次父子關係,如圖四所示。顯然採用一個模型進行多分類並不能滿足我們的需求,所以我們採用的是層次分類模型。在分類過程中,需要考慮分類樹層級節點之間的依賴關係,以及各層級內部的分類問題。

以自上而下的層次分類樹的結構來構建模型,滿足層級節點之間的依賴關係。層級內部的分類問題,可以採用一個多分類模型或者多個二分類模型的結構來實現,基於以下考慮,我們可以採用多個二分類模型的結構:

  • 方便日後擴展,可以很方便增加或者刪除某個類目;

  • 有利於團隊合作,每個類目的優化,對其他類目的效果沒有影響;

  • 類目劃分中存在交叉的情況,一個樣本可以分到多個類目;

  • 類目的劃分並不是全類目的情況下,可以避免領域外樣本的錯分;

但是這種結構,在類目較多的情況下,會帶來更大的工作量,n個下級類目,相比層次多分類,會多n-1個模型。所以我們根據實際業務情況以及數據情況,一般採用的是多分類模型和二分類模型結合的結構。

1.5.2 模型優化

進行模型訓練後,發現效果不能滿足預期需求,怎麼優化呢?可以先分析模型是過擬合還是欠擬合,從而針對性優化。

(1)欠擬合,訓練集和測試集的準確率都比較低,模型沒有很好的學到內在的關係,可以考慮:1)訓練樣本優化,可能訓練樣本中存在一些噪聲樣本,進行數據清洗;2)增加有效特徵;3)調低正則項的懲罰係數;4)更換相對複雜的模型,如把線性模型換成非線性模型;5)模型融合投票。

(2)過擬合,訓練過程中訓練集的準確率較高,但是測試集準確率較低,可以考慮:1)增加訓練樣本數據;2)提高正則項的懲罰係數,3)減少迭代訓練次數;4)更換相對簡單的模型,如把非線性模型換為線性模型。

2. 深度學習

隨著深度學習在特徵稠密的語音圖像等領域的大放異彩,將其應用到文本上的嘗試也越來越多,並取得了很多成果。深度學習用於文本分類任務,一般首先要解決的就是文本表示。

  • 文本表示

傳統的方法是one-hot representation,也就是向量空間只有一維是1,其餘都是0,但是這種表示方法,忽略了詞的語義信息,且隨著語料的增加,特徵維度相對應呈線性增長,這種高維度高稀疏的向量,特徵表達能力較弱,神經網絡不擅長處理這種數據。

還有一種文本表示方法是distributed representation,主要分為基於矩陣的分佈表示、基於聚類的分佈表示、基於神經網絡的分佈表示(word embedding)等,例如我們常用的word2vec就是其中一種wordembedding的實現。利用這種稠密的文本表示方式,在語音圖像領域適用的很多深度學習算法可以很好的遷移到文本上使用。下面介紹幾種深度學習的算法。

  • CNN

CNN起先用於圖像領域,取得了巨大的成果,CNN用於文本的優勢在於可以捕捉不同視野的n-gram信息,通過設置不同的filter可以得到不同窗口的n-gram信息。下圖選自Implementing a CNN for Text Classification in TensorFlow中的網絡結構圖。

發揮大數據價值:精準的用戶畫像是怎樣練成的?

圖三 CNN網絡結構表示

第一層為表示句子的矩陣,每行為詞向量,第二層為很多filter的卷積層,第三層為pooling層,將不同長度的句子變成定長的,最後一層為全連接的softmax,輸出類別概率。

  • RNN

比起CNN,NLP任務中更常用的為RNN,RNN之所以被稱為循環神經網絡,是因為隱藏層是相連的,當前的狀態不僅與當前的輸入有關,與之前的狀態也有關,下圖選自Recurrent Neural Network for Text Classification with Multi-TaskLearning的RNN網絡結構表示。

發揮大數據價值:精準的用戶畫像是怎樣練成的?

發揮大數據價值:精準的用戶畫像是怎樣練成的?

圖四 RNN網絡結構表示

  • DSSM

除了分類問題,還有一種是計算兩個語義空間的相似度的問題,例如機器翻譯計算不同語言的句子相似度,搜索中query和doc的相似度等。DSSM(Deep SemanticSimilartity Model)通過將兩個語義空間的向量映射到與語言無關的潛在語義空間,生成句向量,用來計算不同語義空間的文本相似度。下圖選自Modeling Interestingness with Deep Neural Networks中的網絡結構表示。

發揮大數據價值:精準的用戶畫像是怎樣練成的?

圖五 DSSM網絡結構表示

3.展望

大數據的時代已經到來,用戶畫像是讓用戶數據發揮大價值的有力武器。隨著NLP技術的快速突破,用戶畫像將在各個領域發揮更大更好的作用,為企業創造更大的價值。

俗話說,千萬人撩你,不如一人懂你。用互聯網語言解讀,可以說成是,真正的瞭解用戶,才能得到用戶。所以,用戶畫像的重要性不言而喻。360用戶畫像基於自身行為鏈大數據優勢和技術能力完美地抽象出用戶的信息全貌,能夠為企業提供足夠的信息基礎,幫助企業快速找到精準用戶群體以及用戶需求等更為廣泛的反饋信息。

相關推薦

推薦中...