用戶畫(huà)像在大數(shù)據(jù)分析中是一種很有用的系統(tǒng),它可以各種不同的系統(tǒng)中,起到很關(guān)鍵的作用。比如搜索引擎、推薦系統(tǒng)、內(nèi)容系統(tǒng)等等,可以幫助應(yīng)用實(shí)現(xiàn)千人千面、個(gè)性化、精準(zhǔn)等的效果。

下面將從幾個(gè)方面來(lái)說(shuō)一下,什么是用戶畫(huà)像,主要的內(nèi)容來(lái)自《用戶網(wǎng)絡(luò)行為畫(huà)像分析與內(nèi)容推薦應(yīng)用》這本書(shū)。

  • 應(yīng)用場(chǎng)景

  • 數(shù)據(jù)來(lái)源

  • 特性

  • 建模

  • 群體畫(huà)像

  • 畫(huà)像的存儲(chǔ)

  • 畫(huà)像的查詢

  • 畫(huà)像的更新

萬(wàn)碼學(xué)堂,電腦培訓(xùn),計(jì)算機(jī)培訓(xùn),Java培訓(xùn),JavaEE開(kāi)發(fā)培訓(xùn),青島軟件培訓(xùn),軟件工程師培訓(xùn)

圖片來(lái)自京東——想要購(gòu)買(mǎi)可以點(diǎn)這里跳轉(zhuǎn)

應(yīng)用場(chǎng)景

下面舉幾個(gè)很典型的場(chǎng)景:

搜索引擎

在搜索的時(shí)候考慮用戶的畫(huà)像標(biāo)簽,返回用戶感興趣的內(nèi)容。比如同一個(gè)關(guān)鍵字“諸葛亮”,王者榮耀的愛(ài)好者搜索的時(shí)候應(yīng)該返回“諸葛亮”相關(guān)的內(nèi)容,比如如何加銘文、如何五殺等等;而歷史愛(ài)好者搜索的時(shí)候,應(yīng)該返回三國(guó)相關(guān)的內(nèi)容。

推薦系統(tǒng)

推薦系統(tǒng)可以根據(jù)用戶的喜好和特征,也就是用戶的畫(huà)像,推薦相關(guān)的內(nèi)容。比如,給一個(gè)用戶定位的畫(huà)像是美妝達(dá)人,那么就應(yīng)該給她多推送一些面膜護(hù)膚之類的東西,而不是推一堆零食。

內(nèi)容推薦

比如新聞?lì)惖漠a(chǎn)品或者讀書(shū)類的產(chǎn)品,根據(jù)用戶的喜好不同,展現(xiàn)不同的內(nèi)容。

數(shù)據(jù)來(lái)源

用戶畫(huà)像的數(shù)據(jù)來(lái)源主要包括兩個(gè)方面:

  • 屬性數(shù)據(jù),這部分?jǐn)?shù)據(jù)一般是用戶的注冊(cè)信息,也可以是從其他數(shù)據(jù)中分析得出的。比如生日、性別、住址、愛(ài)好等

  • 行為數(shù)據(jù),這部分?jǐn)?shù)據(jù)一般都是用戶的訪問(wèn)日志記錄的行為數(shù)據(jù)。比如常用的一些后端日志數(shù)據(jù)、前端埋點(diǎn)數(shù)據(jù)等等。

通過(guò)這兩部分的數(shù)據(jù),就能刻畫(huà)出用戶的畫(huà)像,其實(shí)就是給用戶打上一個(gè)標(biāo)簽,比如高富帥、白富美等等。

特性

用戶畫(huà)像具有很明顯的動(dòng)態(tài)性時(shí)空局部性。

  • 在用戶的數(shù)據(jù)中,屬性信息一般不會(huì)改變;但是行為數(shù)據(jù)是隨時(shí)會(huì)發(fā)生變化的,比如用戶看了一個(gè)新的電影、閱讀了新的文章等。這時(shí)它的數(shù)據(jù)就是動(dòng)態(tài)變化的,這部分?jǐn)?shù)據(jù)應(yīng)該動(dòng)態(tài)的更新到用戶的畫(huà)像上。

  • 時(shí)間上,用戶的一些需求是很快會(huì)發(fā)生變化的,比如最近下雨,用戶想要買(mǎi)一把傘,如果幾天后才捕捉到用戶的需求,此時(shí)天都晴了;另一方面,空間上,用戶在不同的領(lǐng)域喜好也不同,可能在新聞?lì)I(lǐng)域用戶是一個(gè)嚴(yán)重的軍事迷,但是在網(wǎng)購(gòu)時(shí),又是一個(gè)小清新,因此需要考慮到不同空間用戶不同的需求場(chǎng)景,刻畫(huà)對(duì)應(yīng)的畫(huà)像。

用戶畫(huà)像建模

萬(wàn)碼學(xué)堂,電腦培訓(xùn),計(jì)算機(jī)培訓(xùn),Java培訓(xùn),JavaEE開(kāi)發(fā)培訓(xùn),青島軟件培訓(xùn),軟件工程師培訓(xùn)

用戶的畫(huà)像分為定量畫(huà)像和定性畫(huà)像,網(wǎng)上也沒(méi)有找到這兩種明確的定義。不過(guò)參考1的文章中是這樣定義的:

  • 定性畫(huà)像,是指在小規(guī)模的數(shù)據(jù)中分析出的用戶的畫(huà)像,比如問(wèn)卷調(diào)查,訪談等等

  • 定量畫(huà)像,是在大規(guī)模的數(shù)據(jù)中分析的,比如日志等

這一塊的內(nèi)容,理解的并不好....以后會(huì)多加補(bǔ)充

基于標(biāo)簽的畫(huà)像

在用戶的定性畫(huà)像中,標(biāo)簽化是核心。即把用戶的畫(huà)像變成一個(gè)一個(gè)的標(biāo)簽,那么在考慮標(biāo)簽化的同時(shí),需要注意下面的幾個(gè)方面:

  • 如何定義標(biāo)簽?標(biāo)簽的名稱、類別、取值

  • 如何解釋標(biāo)簽?標(biāo)簽的語(yǔ)義描述

  • 如何推理標(biāo)簽?標(biāo)簽實(shí)現(xiàn)的過(guò)程

  • 如何驗(yàn)證標(biāo)簽?定義是否合理,推導(dǎo)是否合理

基于知識(shí)的畫(huà)像(個(gè)人理解)

知識(shí)工程,在百科中的解釋是:

“知識(shí)工程”的產(chǎn)生,把人類所專有的文化、科學(xué)、知識(shí)、思想等同現(xiàn)代機(jī)器聯(lián)系起來(lái),形成了人——機(jī)系統(tǒng)。

即需要領(lǐng)域?qū)<遥ㄓ薪?jīng)驗(yàn)的老業(yè)務(wù))配合來(lái)做機(jī)器智能的分析。

知識(shí)工程的大體過(guò)程為:知識(shí)的獲取-->驗(yàn)證-->表示-->推論-->解釋和理由

在用戶畫(huà)像中,就是配合用戶和物品的屬性,建立對(duì)應(yīng)關(guān)系,這部分的對(duì)應(yīng)關(guān)系需要知識(shí)專家進(jìn)行鑒別推理和構(gòu)建。比如有一些“專家”會(huì)把電影分為幾類,愛(ài)情片、動(dòng)作片、科幻片、恐怖片,這些都是需要領(lǐng)域?qū)<襾?lái)設(shè)定的,而不是靠人工分層分類1分類2分類3...

構(gòu)建的過(guò)程

在構(gòu)建用戶畫(huà)像時(shí),大致可以按照下面的步驟:

  • 構(gòu)建領(lǐng)域詞匯:不同的領(lǐng)域會(huì)有不同專業(yè)的詞匯,描繪人的、電影的、書(shū)籍的詞匯都是不同的。這部分可以參考其他同類的產(chǎn)品,如果是獨(dú)創(chuàng)的領(lǐng)域,那么就需要這個(gè)領(lǐng)域資深的“玩家”來(lái)定義了。

  • 確定分類之間的層次:畫(huà)像也是有層次的,比如電影的里面的人分為演員、導(dǎo)員、觀眾等。需要對(duì)標(biāo)簽(畫(huà)像)歸類處理。

  • 定義屬性:為不同的畫(huà)像定義屬性,包括對(duì)象屬性和數(shù)值屬性。比如在電影的場(chǎng)景中,對(duì)象屬性是上映的時(shí)間、導(dǎo)演,數(shù)值屬性是觀看量、時(shí)長(zhǎng)等。

  • 定義實(shí)例:實(shí)例就是最終的畫(huà)像,是由分類和屬性組成的。

  • 定義約束:這個(gè)是描述一個(gè)物品的規(guī)則,比如電影是由(名稱、類型、時(shí)長(zhǎng)、導(dǎo)演、主演)等等屬性組成的,那么任何一個(gè)電影都可以由這種方式來(lái)定義。

群體用戶畫(huà)像

用戶畫(huà)像是用來(lái)描述目標(biāo)用戶的畫(huà)像,而群體畫(huà)像則是對(duì)一類相似的用戶的描述。比如成熟穩(wěn)重型、可愛(ài)蘿莉型等。

那么如何定義群體畫(huà)像呢?可以按照下面的步驟:

  • 獲取用戶畫(huà)像

  • 計(jì)算用戶畫(huà)像的相似度

  • 用戶畫(huà)像聚類

  • 群體用戶畫(huà)像生成

定義用戶畫(huà)像之間的相似度

計(jì)算用戶畫(huà)像之間的相似度,可以參考下面的公式:

萬(wàn)碼學(xué)堂,電腦培訓(xùn),計(jì)算機(jī)培訓(xùn),Java培訓(xùn),JavaEE開(kāi)發(fā)培訓(xùn),青島軟件培訓(xùn),軟件工程師培訓(xùn)

其中wk表示第k個(gè)畫(huà)像的權(quán)重,比如在電影里面,用戶喜歡的電影類型比重要比電影的時(shí)長(zhǎng)重要的多,在計(jì)算相似度的時(shí)候權(quán)重也應(yīng)該更大一些。

計(jì)算相似度有很多中方法,比如:歐氏距離、曼哈頓距離、夾角余弦皮爾遜相關(guān)系數(shù)、杰卡德距離等,每一種都有自己適合的場(chǎng)景。

畫(huà)像聚類

畫(huà)像聚類的方式有很多,比如K-means,原理就是隨機(jī)幾個(gè)點(diǎn),看各個(gè)點(diǎn)的數(shù)據(jù)跟哪個(gè)點(diǎn)接近,就歸為哪一類。然后不斷調(diào)整中心點(diǎn),達(dá)到最終聚合的效果。

用戶畫(huà)像存儲(chǔ)

用戶畫(huà)像有很多中表示的方法,比如:

  • 關(guān)鍵詞法,用一對(duì)的關(guān)鍵詞描述畫(huà)像,這種方式最容易理解

  • 評(píng)分矩陣法,用二維矩陣的方式,通過(guò)評(píng)分表示。這種在協(xié)同過(guò)濾中很常見(jiàn)

  • 向量空間表示法,這種是基于向量的方式描述畫(huà)像

  • 本體表示法,不太懂

不同的表示方法,對(duì)于存儲(chǔ)的方式來(lái)說(shuō),也會(huì)不同。

一般用戶畫(huà)像常用的存儲(chǔ)引擎有:

  • 關(guān)系型數(shù)據(jù)庫(kù),通過(guò)中間表的方式存儲(chǔ)用戶和畫(huà)像之間的關(guān)系,有點(diǎn)就是查詢快、缺點(diǎn)就是數(shù)據(jù)量大的時(shí)候扛不住。

  • NoSql數(shù)據(jù)庫(kù),常見(jiàn)的就是鍵值數(shù)據(jù)庫(kù)(Redis)列數(shù)據(jù)庫(kù)(Hbase)文檔數(shù)據(jù)庫(kù)(mongodb)圖數(shù)據(jù)庫(kù)(neo4j)等,每種數(shù)據(jù)庫(kù)都有自己適合的場(chǎng)景。

  • 數(shù)據(jù)倉(cāng)庫(kù),數(shù)據(jù)倉(cāng)庫(kù)是一種面向主題的存儲(chǔ),可以更好的解決領(lǐng)域分析的問(wèn)題。而且它保留了數(shù)據(jù)的時(shí)間變化,對(duì)于分析歷史來(lái)說(shuō),非常有幫助。但是不適合實(shí)時(shí)查詢。

用戶畫(huà)像的查詢

用戶畫(huà)像的場(chǎng)景下:

  • 1 對(duì)于畫(huà)像的查詢要求是高并發(fā)、高聚合,比如會(huì)有很多人查詢它自己的畫(huà)像;也會(huì)通過(guò)一個(gè)畫(huà)像屬性,查詢所有相關(guān)的人。

  • 2 在畫(huà)像的查詢中,大量的查詢都是重復(fù)的,因此可以著重考慮緩存機(jī)制。

用戶畫(huà)像更新

在畫(huà)像的更新方面,需要考慮的問(wèn)題是:

  • 1 如何實(shí)時(shí)獲取變化的畫(huà)像?

  • 2 如何設(shè)置合適的更新觸發(fā)條件?

  • 3 如何設(shè)計(jì)高效的算法?

對(duì)于獲取用戶的信息,可以把用戶逇信息分為靜態(tài)信息數(shù)據(jù)和動(dòng)態(tài)信息數(shù)據(jù),

更新的機(jī)制

  • 一種是設(shè)置更新的條件,比如購(gòu)買(mǎi)達(dá)到1w元,立馬升級(jí)成VIP標(biāo)識(shí)

  • 一種是設(shè)置固定的時(shí)間周期,更新畫(huà)像。這種最簡(jiǎn)單,直接沒(méi)天凌晨跑一個(gè)畫(huà)像的更新任務(wù)就行了。

  • 另一種是從增量的數(shù)據(jù)中計(jì)算畫(huà)像,然后對(duì)比舊的數(shù)據(jù),考慮是否更新用戶的畫(huà)像。

以上就是用戶畫(huà)像的基本內(nèi)容,也是《用戶網(wǎng)絡(luò)行為畫(huà)像分析與內(nèi)容推薦應(yīng)用》這本書(shū)的第一部分,后續(xù)會(huì)更新其他的部分。

參考

1 什么是定性畫(huà)像、什么是定量畫(huà)像?http://www.jianshu.com/p/3750d9349b71
2 《用戶網(wǎng)絡(luò)行為畫(huà)像分析與內(nèi)容推薦應(yīng)用》想要電子版的私M。~

分類: 機(jī)器學(xué)習(xí)

http://www.cnblogs.com/xing901022/p/7128398.html