前言
談及用戶畫像匙瘪,我想產(chǎn)品和運(yùn)營的朋友們都不會(huì)陌生索昂,用戶畫像是用戶研究的重要輸出纳鼎,它能幫助我們更好的進(jìn)行業(yè)務(wù)決策以及產(chǎn)品設(shè)計(jì)俺夕。用戶畫像落實(shí)到產(chǎn)品設(shè)計(jì),本質(zhì)上是將數(shù)據(jù)組合成數(shù)據(jù)特征贱鄙,從而形成用戶的數(shù)據(jù)模型劝贸。
構(gòu)建用戶畫像的主流方法有4種:
1、基于數(shù)據(jù)統(tǒng)計(jì)
2贰逾、基于規(guī)則定義
3悬荣、基于聚類
4、基于主題模型
前兩者是基于已有數(shù)據(jù)的構(gòu)建方法疙剑,其缺陷是無法處理數(shù)據(jù)缺失或不在規(guī)則范圍內(nèi)的用戶氯迂。而解決這一類問題,也正是機(jī)器學(xué)習(xí)存在的意義言缤,它讓計(jì)算機(jī)像人一樣去學(xué)習(xí)處理問題嚼蚀,并給出答案。
本文將從構(gòu)建用戶畫像的角度和大家分享能夠運(yùn)用在其中的一些AI算法管挟,希望能給大家提供一些價(jià)值轿曙。
用戶畫像偏向于定性,而產(chǎn)品設(shè)計(jì)是將需求從定性轉(zhuǎn)換為定量的過程僻孝,用戶畫像在量化過后我們也稱之為用戶標(biāo)簽导帝。
一、標(biāo)簽的層級(jí)
構(gòu)建用戶標(biāo)簽我拆分了三個(gè)步驟穿铆,分別是層級(jí)您单、生產(chǎn)以及權(quán)重。理解標(biāo)簽的層級(jí)能夠幫助我們?cè)O(shè)計(jì)產(chǎn)品架構(gòu)荞雏,并且熟悉標(biāo)簽生產(chǎn)的方法虐秦。
構(gòu)建用戶標(biāo)簽我拆分了三個(gè)步驟平酿,分別是層級(jí)、生產(chǎn)以及權(quán)重悦陋。
標(biāo)簽的層級(jí)有兩種劃分方式蜈彼,方式1是較為常見的做法,而方式2查閱于京東的數(shù)據(jù)分析師凌靖的文章俺驶,結(jié)合兩種方式之后形成了下圖圖3幸逆。
標(biāo)簽的每一個(gè)層級(jí),可以將其理解為對(duì)上一層標(biāo)簽的再次提煉痒钝。對(duì)照著圖3秉颗,我們?cè)囍斫膺@4個(gè)層級(jí):
1、原始數(shù)據(jù)
來源于用戶的基礎(chǔ)信息送矩、交易數(shù)據(jù)、訪問數(shù)據(jù)哪替,如:用戶的注冊(cè)手機(jī)號(hào)碼栋荸、用戶的歷史訂單、用戶的訪問軌跡等凭舶。
2晌块、事實(shí)標(biāo)簽
是對(duì)原始數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析后的初步提煉結(jié)果。
3帅霜、模型標(biāo)簽及預(yù)測(cè)標(biāo)簽
3-1匆背、模型標(biāo)簽
由一個(gè)或多個(gè)事實(shí)標(biāo)簽組合而成,是基于模型訓(xùn)練的結(jié)果身冀。以模型標(biāo)簽“交易偏好”為例钝尸,它是由交易商品類型、交易場(chǎng)景搂根、交易來源這幾個(gè)事實(shí)標(biāo)簽組合而成的珍促。
3-2、預(yù)測(cè)標(biāo)簽
以已有的模型標(biāo)簽數(shù)據(jù)作為特征剩愧,經(jīng)過機(jī)器學(xué)習(xí)生產(chǎn)的標(biāo)簽猪叙。由于預(yù)測(cè)標(biāo)簽會(huì)映射成為模型標(biāo)簽,所以在圖3中將2者放置于同一個(gè)層級(jí)仁卷。
4穴翩、策略標(biāo)簽
策略標(biāo)簽,則是用戶標(biāo)簽構(gòu)建的最終目的锦积,根據(jù)目的提煉用戶芒帕,并對(duì)用戶進(jìn)行定向的營銷。
標(biāo)簽的層級(jí)充包,指導(dǎo)著產(chǎn)品經(jīng)理構(gòu)建用戶畫像的每個(gè)步驟副签。前兩個(gè)層級(jí)遥椿,我們需要對(duì)缺失的數(shù)據(jù)建立數(shù)據(jù)源,對(duì)數(shù)據(jù)進(jìn)行清洗淆储、修復(fù)以及特征構(gòu)建等冠场;后兩個(gè)層級(jí),我們需要使用合適的方式生產(chǎn)標(biāo)簽本砰。
二碴裙、標(biāo)簽的生產(chǎn)
在第一章中我們理解了標(biāo)簽的層級(jí),這一張主要講述標(biāo)簽的生產(chǎn)過程点额,用戶畫像的構(gòu)建方式不同舔株,生產(chǎn)方式也不同。
1还棱、基于規(guī)則定義的標(biāo)簽生產(chǎn)方式
顧名思義载慈,這種生產(chǎn)方式是根據(jù)固定的規(guī)則,通過數(shù)據(jù)查詢的結(jié)果生產(chǎn)標(biāo)簽珍手。這里的重點(diǎn)在于如何制定規(guī)則办铡。
從數(shù)據(jù)的變化頻次來看,可以將標(biāo)簽劃分為靜態(tài)標(biāo)簽以及動(dòng)態(tài)標(biāo)簽琳要。靜態(tài)標(biāo)簽變化的頻次低寡具,或者一旦確認(rèn)不做改變。而動(dòng)態(tài)標(biāo)簽變化頻繁稚补,它會(huì)衰減也可能會(huì)消失童叠。
以靜態(tài)標(biāo)簽和動(dòng)態(tài)標(biāo)簽為思路向下順延,我們可以劃分為基礎(chǔ)屬性以及偏好行為兩大類课幕,如下圖圖4所示:
這是一張比較普適的圖厦坛,在實(shí)際應(yīng)用的過程中產(chǎn)品經(jīng)理可以根據(jù)業(yè)務(wù)去定義更多的類型。將類型劃分清楚撰豺,用戶標(biāo)簽的生產(chǎn)工具已經(jīng)初具雛形粪般。
在設(shè)置規(guī)則時(shí)產(chǎn)品經(jīng)理應(yīng)該適當(dāng)抽象,過于精細(xì)會(huì)增加研發(fā)的周期污桦,上線后的數(shù)據(jù)查詢也會(huì)有較大的壓力亩歹。其次也可能因?yàn)楹Y選條件過多,查詢的數(shù)據(jù)樣本不足凡橱,導(dǎo)致空耗資源小作。
適當(dāng)抽象考驗(yàn)產(chǎn)品經(jīng)理對(duì)需求、資源以及應(yīng)用的平衡能力稼钩,以用戶訪問行為為例顾稀,在初期不建議放開全量查詢,可以優(yōu)先將頻次高坝撑、強(qiáng)度高的查詢需求抽象成規(guī)則静秆,如商品詳情粮揉、平臺(tái)活動(dòng)、渠道投放等抚笔。
基于規(guī)則定義和基于數(shù)據(jù)統(tǒng)計(jì)這兩種用戶標(biāo)簽構(gòu)建方式在產(chǎn)品設(shè)計(jì)中的邏輯是相對(duì)簡單的扶认,就不花更多的篇幅解釋了。
2殊橙、基于主題模型的標(biāo)簽生產(chǎn)方式
主題模型辐宾,最開始運(yùn)用于內(nèi)容領(lǐng)域,目的是找到用戶的偏好膨蛮,它將內(nèi)容劃分為了3個(gè)層級(jí):分類叠纹、主題、關(guān)鍵詞敞葛。
在用戶標(biāo)簽中我們可以參照分類算法將用戶進(jìn)行分類誉察、聚類,使用關(guān)鍵詞的算法挖掘用戶的偏好制肮,從而生產(chǎn)標(biāo)簽冒窍。
2-1、線性支持向量機(jī)
線性支持向量機(jī)(Linear Support Vector Machine)是一種二分類算法豺鼻,適用于“是與否”,“有或無”的問題款慨,它隸屬于機(jī)器學(xué)習(xí)中的有監(jiān)督學(xué)習(xí)(Supervised Learning)儒飒。
有監(jiān)督學(xué)習(xí),類似我們從小接觸的函數(shù)公式:y=f(x)檩奠,即根據(jù)輸入(x)桩了,和公式f(x)得到輸出(y),假設(shè)x是數(shù)據(jù)的特征埠戳,那么經(jīng)過函數(shù)的運(yùn)算后我們能夠得到分類結(jié)果井誉。
以人口屬性為例,非社交應(yīng)用用戶填寫自己性別的主動(dòng)性較低整胃。當(dāng)我們想了解用戶的性別組成颗圣,卻只有10%用戶填寫了性別,而另外90%的用戶的性別是未知的屁使。
在機(jī)器學(xué)習(xí)中在岂,我們會(huì)將明確性別的用戶作為數(shù)據(jù)樣本,提取他們的數(shù)據(jù)特征訓(xùn)練模型蛮寂。以明確性別的用戶的數(shù)據(jù)特征設(shè)為x蔽午,性別為y,訓(xùn)練出f(x)的函數(shù)之后酬蹋,我們將其他未知性別的用戶特征代入到公式f(x)中及老,從而去預(yù)測(cè)他們的性別抽莱。
函數(shù)是是由模型訓(xùn)練而成的,線性支持向量機(jī)是怎么訓(xùn)練的呢骄恶?
在圖7中食铐,我們發(fā)現(xiàn)有一條直線將象限中的數(shù)據(jù)分成了兩部分,而支持向量機(jī)則是找到一條劃分效果最好的直線叠蝇。劃分效果越好璃岳,新數(shù)據(jù)分類錯(cuò)誤的可能性也越低,而這兩個(gè)類別在支持向量機(jī)中我們也叫正樣本和負(fù)樣本悔捶。
回到線性支持向量機(jī)的定義:“對(duì)于給定的數(shù)據(jù)集铃慷,能在樣本空間中找到一條劃分直線,從而將兩個(gè)不同類別的樣本分開蜕该,并且這條直線距離最接近的訓(xùn)練數(shù)據(jù)點(diǎn)最遠(yuǎn)犁柜。”
圖7以購買過男性/女性短袖作為男性用戶和女性用戶的特征堂淡,黑點(diǎn)表示為已知的男性用戶馋缅,白點(diǎn)為已知的女性用戶。
當(dāng)遇到新的未知性別的用戶绢淀,但是我們發(fā)現(xiàn)其有購買過男性短袖這一行為萤悴,而這一用戶的數(shù)據(jù)落在了男性部分,所以我們預(yù)測(cè)這個(gè)用戶是男性皆的。
當(dāng)然在實(shí)際過程中覆履,數(shù)據(jù)的特征絕對(duì)不僅是簡單的二維特征,在這里只是方便大家理解费薄。線性支持向量機(jī)在三維求解的是一個(gè)分類效果最好的平面硝全,而在高維則是線性函數(shù)。
線性支持向量機(jī)的目標(biāo)函數(shù)求解的過程比較復(fù)雜(文末彩蛋預(yù)警)楞抡,在小規(guī)模數(shù)據(jù)集中線性支持向量機(jī)的表現(xiàn)是較好的伟众,但是由于受到了數(shù)據(jù)量的限制,我們會(huì)運(yùn)用訓(xùn)練更加簡單并且能實(shí)時(shí)計(jì)算的算法——邏輯回歸召廷。
2-2凳厢、邏輯回歸
邏輯回歸(Logistic Regression)是和線性支持向量機(jī)非常相似,它們都是有監(jiān)督學(xué)習(xí)方法柱恤,在不考慮核函數(shù)時(shí)都是線性的分類方法数初。其不同點(diǎn)在于,線性支持向量機(jī)是基于距離分類梗顺,而邏輯回歸是基于可能性分類泡孩。
理解邏輯回歸之前,我們先復(fù)習(xí)一下最簡單的一元線性回歸寺谤。一元線性回歸的公式是:y=kx+b仑鸥。
我們假定圖9中的直線吮播,代表著人在勻速狀態(tài)下路程與速度的關(guān)系。但在實(shí)際情況下人的速度不是恒定的眼俊,我們沒有辦法使不同時(shí)間的速度都穿過這條直線意狠。退而求其次,我們?nèi)フ乙粭l最接近這些速度數(shù)據(jù)的支線疮胖。
看到圖9的函數(shù)圖例环戈,大家會(huì)發(fā)現(xiàn)線性回歸和線性支持向量機(jī)非常的相像,線性回歸與邏輯回歸有什么關(guān)系澎灸?邏輯回歸又是怎樣的一種分類方式院塞?
邏輯回歸在線性回歸的基礎(chǔ)上套用了sigmoid函數(shù),它將回歸函數(shù)的結(jié)果映射在sigmoid函數(shù)之中性昭。這個(gè)函數(shù)的特點(diǎn)是其值域分布在[0,1]之間拦止,1和0對(duì)應(yīng)了二分類的“是與否”,隨著x值的變化糜颠,y值會(huì)不斷的趨近于0或1汹族,這種趨近我們稱之為可能性。
在線性支持向量機(jī)中只有兩種值:正樣本和負(fù)樣本其兴,而邏輯回歸除了分類還能夠表達(dá)分類的概率顶瞒。
2-3、文本挖掘算法:TF-IDF
TF意思是詞頻(Term Frequency)元旬,IDF意思是逆文本頻率指數(shù)(Inverse Document Frequency)搁拙,在用戶畫像的構(gòu)建中我們會(huì)將其運(yùn)用于生產(chǎn)用戶的偏好標(biāo)簽。
TF表述的核心思想是法绵,在1條文本中反復(fù)出現(xiàn)的詞更重要。而IDF的思想是酪碘,在所有文本都出現(xiàn)的詞是不重要的朋譬,IDF用于修正TF所表示的計(jì)算結(jié)果。
上文描述TF-IDF能夠用于生產(chǎn)用戶的偏好標(biāo)簽兴垦,其中的原理是什么呢徙赢?
我們將一名用戶類比為一篇文章,用戶瀏覽的商品標(biāo)題在分詞匯總后作為其中的詞庫探越,平臺(tái)的用戶總數(shù)即為文本總數(shù)狡赐,出現(xiàn)該詞語的文本數(shù)作為有同樣瀏覽行為的用戶。這樣轉(zhuǎn)置過后钦幔,就能夠進(jìn)行計(jì)算了枕屉。
以用戶A為例,用戶A擁有3條瀏覽記錄鲤氢,分詞后總計(jì)17個(gè)詞搀擂。設(shè):平臺(tái)的用戶總數(shù)=10000人西潘,用戶瀏覽過的商品標(biāo)題帶有“黑色”1詞的用戶有500人,底數(shù)為2哨颂。
以底數(shù)為2喷市,可計(jì)算“黑色”這個(gè)標(biāo)簽對(duì)用戶的權(quán)重是0.52,有了權(quán)重我們能夠?qū)⑵溥\(yùn)用于尋找相似用戶威恼。
三品姓、標(biāo)簽的權(quán)重
標(biāo)簽權(quán)重的計(jì)算公式來源于趙洪田撰寫的文章《用戶標(biāo)簽之標(biāo)簽權(quán)重算法》,權(quán)重公式的解讀如下:
1箫措、行為類型權(quán)重
指的是對(duì)于同一類標(biāo)簽腹备,由于其行為的輕重不同所以權(quán)重不同。
如:用戶對(duì)于某商品有過生成訂單的行為蒂破,根據(jù)訂單未支付馏谨、已支付未退款、已支付已退款三種訂單狀態(tài)附迷,制定不同的權(quán)重惧互。
2、時(shí)間衰減因子
時(shí)間衰減因子體現(xiàn)了標(biāo)簽的熱度隨著時(shí)間逐漸冷卻的過程喇伯,它來源于牛頓冷卻定律喊儡。
定律描述的是物體的冷卻速度與其當(dāng)前溫度和室溫之間的溫差成正比。運(yùn)用于新聞?lì)I(lǐng)域稻据,一條新聞可能在今天它的“溫度”是最高的艾猜,但是隨著時(shí)間,這條新聞會(huì)逐漸的變成和普通新聞一樣的“溫度”捻悯。
經(jīng)過對(duì)牛頓冷卻定律的推導(dǎo)匆赃,我們得出了以下公式:
將公式翻譯成中文:當(dāng)前溫度=原始溫度 X exp(-冷卻系數(shù) X 間隔時(shí)間)
運(yùn)用于標(biāo)簽的翻譯:當(dāng)前權(quán)重=原始權(quán)重 X exp(-冷卻系數(shù) X 間隔時(shí)間)
如:將用戶發(fā)生行為的當(dāng)日該偏好的權(quán)重設(shè)置為1,10天后設(shè)置為0.2今缚,也就是經(jīng)過9天后權(quán)重會(huì)衰減是0.2算柳,將已知變量代入到圖13的公式中,經(jīng)過指數(shù)的運(yùn)算得到冷卻系數(shù)姓言,從而得到時(shí)間衰減因子瞬项。
對(duì)于不同的標(biāo)簽,時(shí)間的衰減因子系數(shù)是不同的何荚,有的標(biāo)簽甚至是不受時(shí)間所影響囱淋,在計(jì)算時(shí)可以不必考慮衰減因子。
公式中的TF-IDF餐塘、行為頻次妥衣,前者已經(jīng)描述過,后者也比較好理解在這里也不再贅述。標(biāo)簽的權(quán)重可以用于查找相似用戶称鳞,進(jìn)行個(gè)性化推薦涮较,如果有有興趣的朋友可以閱讀我的上一篇文章《如何理解個(gè)性化推薦中的數(shù)學(xué)原理》。
寫在最后
近期恰好設(shè)計(jì)了用戶標(biāo)簽的提取工具冈止,撰寫本文原意是想回顧項(xiàng)目狂票、查漏補(bǔ)缺。過程中閱讀了一些人工智能的書籍熙暴,給了自己很多的啟發(fā)闺属,于是也將所了解的一些算法添加進(jìn)來,如果有理解不正確的地方也請(qǐng)朋友們不吝指教周霉。
這篇文章涉及的算法部分主要參考了:《產(chǎn)品經(jīng)理進(jìn)階:100個(gè)案例搞懂人工智能》掂器,這是一本很好的工具書,提供了特別好的知識(shí)框架讓我體系化的認(rèn)識(shí)人工智能俱箱,在此也為朋友們極力推薦這本書:
產(chǎn)品經(jīng)理進(jìn)階:100個(gè)案例搞懂人工智能 国瓮,任意門:https://m.tb.cn/h.elSyHAs?
重點(diǎn)參考資料
1、林中翹—《產(chǎn)品經(jīng)理進(jìn)階:100個(gè)案例搞懂人工智能》
2狞谱、吳軍—《數(shù)學(xué)之美》
3乃摹、CWS_chen—《用戶畫像原理、技術(shù)選型及架構(gòu)實(shí)現(xiàn)》https://blog.csdn.net/SecondLieutenant/article/details/81153565
4跟衅、凌靖—《用戶畫像》https://zhuanlan.zhihu.com/p/34385914
5孵睬、Jack Cui—機(jī)器學(xué)習(xí)實(shí)戰(zhàn)教程(八):支持向量機(jī)原理篇之手撕線性SVM
https://cuijiahua.com/blog/2017/11/ml_8_svm_1.html
6、伏草唯存—邏輯回歸模型算法研究和案例分析https://cloud.tencent.com/developer/article/1330810
7伶跷、hffzkl—基于牛頓冷卻定律的時(shí)間衰減函數(shù)模型https://blog.51cto.com/9269309/1865554
8掰读、趙宏田—《用戶標(biāo)簽之權(quán)重算法》
9、劉星辰—《基于文本挖掘的用戶畫像系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》
10叭莫、Coding Fish—《SVM原理及推導(dǎo)》http://www.reibang.com/p/05693f2091b7