最近房源標簽立項了,急需一些做標簽/畫像的方法論,MT這本寫的偏技術&概括,但是依然可以借鑒。
1.什么是用戶畫像
收集分析用戶的線上線下行為數(shù)據(jù),把個性化的人,打上標準化的標簽,把標簽做梳理聚合,形成一個個典型的用戶畫像,再根據(jù)不同的用戶畫像做精準營銷or推薦。
本質(zhì)是去差異化的過程,抽象出一定級別的共性,反哺降低業(yè)務成本,創(chuàng)新業(yè)務場景。
2.用戶畫像的數(shù)據(jù)挖掘
標簽的生產(chǎn),從開發(fā)實現(xiàn)的角度可以分為兩大類,1.統(tǒng)計分析直接得到的。2.通過機器學習訓練模型,然后基于模型預測得到;
第一類因為直接處理數(shù)據(jù)做邏輯計算得到最終結(jié)果,通常不會太復雜,這里不再展開。
本章將會重點介紹第二類,首先收集樣本集合建立機器學習模型,然后在全量數(shù)據(jù)上做預測計算。
將設計各種機器學習/數(shù)據(jù)挖掘方法,比如傳統(tǒng)的分類,回歸,聚類,關聯(lián)挖掘等,當然也在不斷嘗試比較流行的深度神經(jīng)網(wǎng)絡/卷積神經(jīng)網(wǎng)絡/長短期記憶等深度學習乃至增強學習方法。
2.1 數(shù)據(jù)挖掘整體架構
用戶畫像數(shù)據(jù)的生產(chǎn)和消費是一個比較復雜的過程,通常涉及數(shù)據(jù)收集,清洗,特征生成,標簽建模,預測計算,效果評估,線上應用,效果反饋等多個環(huán)節(jié)。

數(shù)據(jù)收集:除了公司自有的數(shù)據(jù),還可能有互聯(lián)網(wǎng)抓取的公開數(shù)據(jù),其他公司合作的第三方數(shù)據(jù)等。
特征計算:如何將清洗后的數(shù)據(jù)轉(zhuǎn)換成特征工程,這里的主要工作是數(shù)據(jù)處理(如異常值處理,數(shù)據(jù)異構轉(zhuǎn)同構),數(shù)據(jù)加工(統(tǒng)計,平滑,歸一),考慮到底層數(shù)據(jù)庫有海量的結(jié)構化數(shù)據(jù),我們開發(fā)了特征爬蟲,這是一個強大的可以自動發(fā)現(xiàn)特征的工具。大致做法是:給出數(shù)據(jù)樣本之后,自動掃描這些結(jié)構化的數(shù)據(jù)表,根據(jù)一些相干性指標,找到跟樣本標簽強相關的數(shù)據(jù)列,稍作處理之后可以加入特征庫作為后續(xù)建模特征使用。
特征庫的維護:特征生成之后,需要一個統(tǒng)一管理的地方,以方便收錄新特征,下線老特征,一級可視化展示特征的各種統(tǒng)計字表,最重要的一點是,為了保證特征質(zhì)量們這里有一個旁路系統(tǒng),用于監(jiān)控特征各種波動情況,在有質(zhì)量風險的時候做預警。
機器學習模型:擁有比較完備的特征庫后,對標簽做機器學習建模的主要工作,就變成了使用什么樣的算法工具完成:特征選擇,模型訓練,效果評估,例行預測。特征選擇通常采用高效的fileter方法,字節(jié)通過卡方、信息增益等指標度量特征的重要程度,模型訓練我根據(jù),我們會用到各種機器學習和數(shù)據(jù)挖掘的相關工具,例如spark MLib、sklearn、xgb、tensorflow,為了統(tǒng)一方便預測,我們通常會使用預測模型標記語言做模型表達,從而減少模型預測時大量的適配工作。
應用接口:不重要。
畫像應用:各方向。
2.2 用戶標識
講的userid的打通,對C端來說,即便公司內(nèi)部有一套專屬的用戶ID,但是無注冊訪問或者第三方數(shù)據(jù)都不會標注出這個ID,這時候就需要合并自然人。
對我們房源標簽,基本不存在這個問題,貝殼自身數(shù)據(jù)就包含了很大一部分在售房源,對未包含在內(nèi)的,可以用房源對齊/房屋ID等方法。
2.3特征數(shù)據(jù)
解決用戶相關數(shù)據(jù)的收集問題。
由于MT業(yè)務形態(tài)的問題,一些用戶的行為數(shù)據(jù)比較稀疏,如某個品類的瀏覽與購買數(shù)據(jù)可能是百萬級、千萬級的,在全量用戶上的占比低于10%,因此在用戶建模過程中,往往需要用到大量的特征來緩解這一問題。
此外在進行不同的標簽開發(fā)過程中,很多數(shù)據(jù)特征同樣有效,如婚紗攝影品類的瀏覽,購買特征,在結(jié)婚和有小孩的數(shù)據(jù)挖掘中同時有效;由于用戶畫像不同屬性的關聯(lián)性,這類的例子非常多,所以在具體進行用戶建模過程中,為了高效挖掘用戶標簽,避免重復提取特征,降低人力成本和減少時間的浪費,在進行具體的標簽挖掘之前,需要先進行用戶特征庫的規(guī)劃和建設。

這套思路沒問題,房源標簽/畫像都用的上。
2.4 樣本數(shù)據(jù)
從機器學習理論和實踐效果來看,有監(jiān)督的學習比無監(jiān)督的學習在效果、解釋性、評估的方面都有明顯的優(yōu)勢,所以在標簽挖掘的過程中,使用較多的還是有監(jiān)督的學習方法。所以除了上面說的標識與特征方面的問題,樣本問題也是用戶建模過程中的一個大問題。
樣本缺失主要是只需要建模的標簽非常多,只有少數(shù)種類的標簽有樣本;
樣本少是只有些樣本數(shù)據(jù)獲取成本比較高,有些只有幾百個幾千個樣本;
單樣本問題是只在一些場景下,只有正樣本沒有負樣本。
針對上述是哪個問題,主要用了找、轉(zhuǎn)、試三種方式來解決。
樣本問題:首先找,通過問卷的方式,內(nèi)部員工數(shù)據(jù),人工標注以及用戶注冊服務提交的數(shù)據(jù);第二條路是“轉(zhuǎn)”,一些問題進行轉(zhuǎn)換,變成可以按時間切分的預測問題,可以按時間的先后順序來自動標注樣本,如用戶偏好類問題轉(zhuǎn)換成用現(xiàn)在預測未來的問題,用點擊/購買等行為作為標注,這樣就可以直接按時間段標注樣本;對于小樣本,單樣本的問題,主要是“試”,試驗論文中比較好的一些學習方法。?
2.5 標簽建模
前面用整體上描述了用戶建模遇到的一些問題,下面具體介紹標簽挖掘過程中涉及的一些問題和做法,將從建模方法和建模實例兩個角度來展開說明。
2.5.1建模方法
標簽建模除了涉及算法模型的選擇調(diào)優(yōu)還涉及到大量的系統(tǒng)工程方面的問題,一方面因為涉及到大量標簽的數(shù)據(jù)更新,特征數(shù)據(jù)更新,標簽質(zhì)量監(jiān)控,特征數(shù)據(jù)質(zhì)量監(jiān)控以及新標簽的開發(fā)等。
以美團為例,介紹下標簽建模系統(tǒng)框架方面的一些積累和經(jīng)驗。
離線標簽生產(chǎn)平臺簡介
存儲層主要由HDFS、MYSQL、S3等基礎存儲服務構成,HDFS用于存儲特征數(shù)據(jù),訓練數(shù)據(jù)等大規(guī)模數(shù)據(jù),mysql和S3用于存儲一些配置文件、資源文件。
計算資源主要包括hiv、spark,用于特征抽取,變換等處理操作,平臺的模型主要封裝了一些開源的機器學習庫。
整個挖掘流程分為四個部分:特征庫/樣本庫,特征定制、模型構建和模型發(fā)布,特征庫和樣本庫主要用于從海量的公共特征庫中選擇出對建模有幫助的特征,用于模型構建。模型發(fā)布模塊支持將訓練好的模型按照特征的一些格式進行發(fā)布,這些格式有標準的預測模型標記語言,用戶自定義模型等。整個系統(tǒng)對特征和模型預測結(jié)果都有監(jiān)控,以此保證特征的質(zhì)量和線上數(shù)據(jù)的可靠性。


標簽生產(chǎn)平臺將特征庫、特征處理、特征監(jiān)控、樣本庫、模型訓練、模型預測、標簽質(zhì)量監(jiān)控等模塊進行了有機的整合。
標簽挖掘過程中的常用算法

從以上眼花繚亂的算法中,可以發(fā)現(xiàn),標簽的歸類往往不唯一,例如“用戶品類偏好”,可以用策略打分簡單的統(tǒng)計來處理,也可以按高維偏好來進行處理,還可以按分類來處理,面對多樣的標簽與多重的問題,扣緊實際的需求場景,進行場景設定和具體問題限制,往往能夠?qū)栴}簡化很多,而且取得不錯的效果,至于設計,從隨時間經(jīng)驗來看標簽的建模同樣遵循奧卡姆剃刀定律,簡單方法,簡單模型總是有不錯的收獲,同事可以為后續(xù)優(yōu)化迭代提供依據(jù)和參照。
另一方面,不同的模型會有不同的假設條件和適合的場景,如適合高稀疏場景的因子分解機/場感知因子分解機,適合圖像語音場景的卷積神經(jīng)網(wǎng)絡/循環(huán)神經(jīng)網(wǎng)絡。
建模實例
基于規(guī)則的標簽挖掘:最簡單的挖掘方法莫過于基本規(guī)則的標簽挖掘,優(yōu)點是如果樣本很少,但是先驗知識多,規(guī)則的方法往往是一種非常不錯的選擇,即便樣本有了之后,這些規(guī)則也能作為人工特征加入模型提升預測模型的效果,實際上,基于決策樹的模型本質(zhì)上也是大量自動學習的規(guī)則組合而成的結(jié)果。
樣本明確的標簽挖掘:可以用監(jiān)督學習的方法建立預測模型,例如注冊用戶的性別。
小樣本問題及單樣本數(shù)據(jù)挖掘:除了上述兩種常見的情況,另一種是小樣本與單樣本問題的標簽挖掘,多數(shù)情況下樣本不好獲取或者只有少數(shù)的正樣本,通過算法試驗解決類似問題,LU learning。主要原理,是對未標注樣本進行預測,將預測結(jié)果中置信度較高的樣本加入已標注樣本,依次迭代直到符合要求產(chǎn)出模型。
用戶實時標簽:以上兩種主要是離線標簽的計算,優(yōu)點是資源和時間,但是對用戶實時意圖和消費場景進行刻畫就力不從心。
實時標簽舉例-用戶常駐城市預測:美團的一些酒店業(yè)務,都是以用戶常駐為重要基礎數(shù)據(jù)。考慮到選取活躍用戶作為樣本訓練和預測可能會存在差異,因此通過隨機抽取到用戶進行電話回訪的方式來收集樣本,經(jīng)過電話回訪和問卷調(diào)查,收集的樣本清晰可用的有600多個。
根據(jù)收集到的數(shù)據(jù),可以得到二元組(用戶,城市),這里的城市是用戶常駐城市,將這些樣本作為正樣本,同時采用K個該用戶相關的其他城市作為負樣本,例如將用戶手機歸屬地,瀏覽或者消費國的城市,定位過的城市利用規(guī)則進行打分,將分數(shù)排名靠前的K個城作為該用戶的負樣本。