1. 程式人生 > >推薦系統蒐集分析資料

推薦系統蒐集分析資料

前言

 本文主要介紹推薦系統如何蒐集,分析資料,通過必要的推薦演算法,使推薦結果符合使用者的個人口味。

一.利用使用者行為資料

目錄

  • 什麼叫做使用者行為資料

  • 為什麼利用使用者行為資料

  • 使用者行為的分類

  • 使用者行為的儲存

  • 基於使用者的協同過濾演算法

  • 基於物品的協同過濾演算法

什麼叫做使用者行為資料

 使用者行為資料在推薦系統中的定義是:在網站或者應用中使用者的瀏覽,購買,點選,評分,評論等行為都是使用者行為

為什麼利用使用者行為資料

 為了讓推薦結果符合使用者口味,我們需要深入瞭解使用者。如何才能瞭解一個人呢?《論語·公冶長》中說“聽其言,觀其行”,也就是說可以通過使用者留下的文字和行為了解使用者興趣和需求,改善推薦演算法,從而使推薦結果符合使用者口味。

使用者行為的分類

一般來說,在推薦系統中,使用者的行為一般可以分為倆類:顯性反饋行為,隱性反饋行為。

  • 顯性反饋行為:顯性反饋行為包括使用者明確表示對物品喜好的行為。例如評分或者簡單的選擇喜歡,或者不喜歡。

  • 隱性反饋行為:為指的是那些不能明確反應使用者喜好的行為。最具代表性的隱性反饋行為就是頁面瀏覽行為。

使用者行為的儲存

 使用者行為可以分為顯性反饋行為,隱性反饋行為。一般來說,顯性反饋行為的資料量會遠遠小於隱性反饋行為的資料量。而且比如像相關推薦等,實時性要求是比較高的,或許會導致使用者行為的儲存方式也不一樣。在<<推薦系統實戰>>一書中,對於使用者行為的儲存給出瞭如下的一般性意見:

 所以,可以將使用者的行為儲存在分散式系統HDFS或者資料庫,redis中。這主要是取決於使用者行為資料量的大小以及對實時性的要求是否高。對於不需要進行實時儲存以及分析的行為,我們可以利用Kafka或者Metaq訊息佇列進行行為的消費,也就是儲存。如下:

基於使用者的協同過濾演算法

 基於使用者的協同過濾演算法是推薦系統中最古老的演算法。這種演算法給使用者推薦和他興趣相似的其他使用者喜歡的物品。比如當一個使用者A需要個性化推薦時,可以先找到和他有相似興趣的其他使用者,然後把那些使用者喜歡的、而使用者A沒有聽說過的物品。

基於物品的協同過濾演算法

 基於物品的協同過濾演算法 這種演算法給使用者推薦和他之前喜歡的物品相似的物品。

二.利用使用者標籤資料

目錄

  • 背景

  • 為什麼利用標籤

  • 標籤的分類

    • UGC標籤

    • PGC標籤

背景

 我們通常會說給某個人貼標籤,其實標籤是推薦系統中一種重要的特徵表現方式。利用好標籤,推薦系統可以給使用者返回更符合使用者個人口味的推薦結果。

為什麼利用標籤

 推薦系統的目的是聯絡使用者的興趣和物品,這種聯絡需要依賴不同的媒介。GroupLens在一篇文章中表示目前流行的推薦系統基本上通過3種方式聯絡使用者興趣和物品。如圖4-1所示,第一種方式是利用使用者喜歡過的物品,給使用者推薦與他喜歡過的物品相似的物品,這就是前面提到的基於物品的演算法。第二種方式是利用和使用者興趣相似的其他使用者,給使用者推薦那些和他們興趣愛好相似的其他使用者喜歡的物品,這是前面提到的基於使用者的演算法。除了這兩種方法,第三種重要的方式是通過一些特徵(feature)聯絡使用者和物品,給使用者推薦那些具有使用者喜歡的特徵的物品。這裡的特徵有不同的表現方式,比如可以表現為物品的屬性集合(比如對於圖書,屬性集合包括作者、出版社、主題和關鍵詞等),也可以表現為隱語義向量(latent factor vector),這可以通過前面提出的隱語義模型習得到。本章將討論一種重要的特徵表現方式——標籤。如圖:

標籤的分類

UGC標籤

 指的是使用者為內容打的標籤。

PGC標籤

 指的是專家為內容打的標籤。

三.利用上下文資訊

 準確瞭解使用者的上下文資訊(包括時間、地點、心情等),對於提升推薦效果有重要作用。

四.利用社交網路資料

  • 電子郵件 / 使用者註冊資訊 / 使用者的位置資料 / 論壇和討論組 / 即時聊天工具 / 社交網站

  • 社會圖譜(Facebook)和興趣圖譜(Twitter)

感謝&總結

 本文主要參考了項亮老師的<<推薦系統實戰>>一書,主要分享了本文主要介紹推薦系統如何蒐集,分析資料,通過必要的推薦演算法,使推薦結果符合使用者的個人口味。