推荐系统那点事 —— 什么是用户画像?
http://www.cnblogs.com/xing901022/p/7128398.html
用戶畫像在大數據分析中是一種很有用的系統,它可以各種不同的系統中,起到很關鍵的作用。比如搜索引擎、推薦系統、內容系統等等,可以幫助應用實現千人千面、個性化、精準等的效果。
下面將從幾個方面來說一下,什么是用戶畫像,主要的內容來自《用戶網絡行為畫像分析與內容推薦應用》這本書。
應用場景
數據來源
特性
建模
群體畫像
畫像的存儲
畫像的查詢
畫像的更新
圖片來自京東——想要購買可以點這里跳轉
應用場景
下面舉幾個很典型的場景:
搜索引擎
在搜索的時候考慮用戶的畫像標簽,返回用戶感興趣的內容。比如同一個關鍵字“諸葛亮”,王者榮耀的愛好者搜索的時候應該返回“諸葛亮”相關的內容,比如如何加銘文、如何五殺等等;而歷史愛好者搜索的時候,應該返回三國相關的內容。
推薦系統
推薦系統可以根據用戶的喜好和特征,也就是用戶的畫像,推薦相關的內容。比如,給一個用戶定位的畫像是美妝達人,那么就應該給她多推送一些面膜護膚之類的東西,而不是推一堆零食。
內容推薦
比如新聞類的產品或者讀書類的產品,根據用戶的喜好不同,展現不同的內容。
數據來源
用戶畫像的數據來源主要包括兩個方面:
屬性數據,這部分數據一般是用戶的注冊信息,也可以是從其他數據中分析得出的。比如生日、性別、住址、愛好等
行為數據,這部分數據一般都是用戶的訪問日志記錄的行為數據。比如常用的一些后端日志數據、前端埋點數據等等。
通過這兩部分的數據,就能刻畫出用戶的畫像,其實就是給用戶打上一個標簽,比如高富帥、白富美等等。
特性
用戶畫像具有很明顯的動態性和時空局部性。
在用戶的數據中,屬性信息一般不會改變;但是行為數據是隨時會發生變化的,比如用戶看了一個新的電影、閱讀了新的文章等。這時它的數據就是動態變化的,這部分數據應該動態的更新到用戶的畫像上。
時間上,用戶的一些需求是很快會發生變化的,比如最近下雨,用戶想要買一把傘,如果幾天后才捕捉到用戶的需求,此時天都晴了;另一方面,空間上,用戶在不同的領域喜好也不同,可能在新聞領域用戶是一個嚴重的軍事迷,但是在網購時,又是一個小清新,因此需要考慮到不同空間用戶不同的需求場景,刻畫對應的畫像。
用戶畫像建模
用戶的畫像分為定量畫像和定性畫像,網上也沒有找到這兩種明確的定義。不過參考1的文章中是這樣定義的:
定性畫像,是指在小規模的數據中分析出的用戶的畫像,比如問卷調查,訪談等等
定量畫像,是在大規模的數據中分析的,比如日志等
這一塊的內容,理解的并不好....以后會多加補充
基于標簽的畫像
在用戶的定性畫像中,標簽化是核心。即把用戶的畫像變成一個一個的標簽,那么在考慮標簽化的同時,需要注意下面的幾個方面:
如何定義標簽?標簽的名稱、類別、取值
如何解釋標簽?標簽的語義描述
如何推理標簽?標簽實現的過程
如何驗證標簽?定義是否合理,推導是否合理
基于知識的畫像(個人理解)
知識工程,在百科中的解釋是:
“知識工程”的產生,把人類所專有的文化、科學、知識、思想等同現代機器聯系起來,形成了人——機系統。
即需要領域專家(有經驗的老業務)配合來做機器智能的分析。
知識工程的大體過程為:知識的獲取-->驗證-->表示-->推論-->解釋和理由
在用戶畫像中,就是配合用戶和物品的屬性,建立對應關系,這部分的對應關系需要知識專家進行鑒別推理和構建。比如有一些“專家”會把電影分為幾類,愛情片、動作片、科幻片、恐怖片,這些都是需要領域專家來設定的,而不是靠人工分層分類1分類2分類3...
構建的過程
在構建用戶畫像時,大致可以按照下面的步驟:
構建領域詞匯:不同的領域會有不同專業的詞匯,描繪人的、電影的、書籍的詞匯都是不同的。這部分可以參考其他同類的產品,如果是獨創的領域,那么就需要這個領域資深的“玩家”來定義了。
確定分類之間的層次:畫像也是有層次的,比如電影的里面的人分為演員、導員、觀眾等。需要對標簽(畫像)歸類處理。
定義屬性:為不同的畫像定義屬性,包括對象屬性和數值屬性。比如在電影的場景中,對象屬性是上映的時間、導演,數值屬性是觀看量、時長等。
定義實例:實例就是最終的畫像,是由分類和屬性組成的。
定義約束:這個是描述一個物品的規則,比如電影是由(名稱、類型、時長、導演、主演)等等屬性組成的,那么任何一個電影都可以由這種方式來定義。
群體用戶畫像
用戶畫像是用來描述目標用戶的畫像,而群體畫像則是對一類相似的用戶的描述。比如成熟穩重型、可愛蘿莉型等。
那么如何定義群體畫像呢?可以按照下面的步驟:
獲取用戶畫像
計算用戶畫像的相似度
用戶畫像聚類
群體用戶畫像生成
定義用戶畫像之間的相似度
計算用戶畫像之間的相似度,可以參考下面的公式:
其中wk表示第k個畫像的權重,比如在電影里面,用戶喜歡的電影類型比重要比電影的時長重要的多,在計算相似度的時候權重也應該更大一些。
計算相似度有很多中方法,比如:歐氏距離、曼哈頓距離、夾角余弦、皮爾遜相關系數、杰卡德距離等,每一種都有自己適合的場景。
畫像聚類
畫像聚類的方式有很多,比如K-means,原理就是隨機幾個點,看各個點的數據跟哪個點接近,就歸為哪一類。然后不斷調整中心點,達到最終聚合的效果。
用戶畫像存儲
用戶畫像有很多中表示的方法,比如:
關鍵詞法,用一對的關鍵詞描述畫像,這種方式最容易理解
評分矩陣法,用二維矩陣的方式,通過評分表示。這種在協同過濾中很常見
向量空間表示法,這種是基于向量的方式描述畫像
本體表示法,不太懂
不同的表示方法,對于存儲的方式來說,也會不同。
一般用戶畫像常用的存儲引擎有:
關系型數據庫,通過中間表的方式存儲用戶和畫像之間的關系,有點就是查詢快、缺點就是數據量大的時候扛不住。
NoSql數據庫,常見的就是鍵值數據庫(Redis)列數據庫(Hbase)文檔數據庫(mongodb)圖數據庫(neo4j)等,每種數據庫都有自己適合的場景。
數據倉庫,數據倉庫是一種面向主題的存儲,可以更好的解決領域分析的問題。而且它保留了數據的時間變化,對于分析歷史來說,非常有幫助。但是不適合實時查詢。
用戶畫像的查詢
用戶畫像的場景下:
1 對于畫像的查詢要求是高并發、高聚合,比如會有很多人查詢它自己的畫像;也會通過一個畫像屬性,查詢所有相關的人。
2 在畫像的查詢中,大量的查詢都是重復的,因此可以著重考慮緩存機制。
用戶畫像更新
在畫像的更新方面,需要考慮的問題是:
1 如何實時獲取變化的畫像?
2 如何設置合適的更新觸發條件?
3 如何設計高效的算法?
對于獲取用戶的信息,可以把用戶逇信息分為靜態信息數據和動態信息數據,
更新的機制
一種是設置更新的條件,比如購買達到1w元,立馬升級成VIP標識
一種是設置固定的時間周期,更新畫像。這種最簡單,直接沒天凌晨跑一個畫像的更新任務就行了。
另一種是從增量的數據中計算畫像,然后對比舊的數據,考慮是否更新用戶的畫像。
以上就是用戶畫像的基本內容,也是《用戶網絡行為畫像分析與內容推薦應用》這本書的第一部分,后續會更新其他的部分。
參考
1 什么是定性畫像、什么是定量畫像?http://www.jianshu.com/p/3750d9349b71 2 《用戶網絡行為畫像分析與內容推薦應用》想要電子版的私M。~
總結
以上是生活随笔為你收集整理的推荐系统那点事 —— 什么是用户画像?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 和QT零距离接触的意义是什么
- 下一篇: 洛谷4092 树