天天看點

推薦系統-簡介

一.簡介

推薦系統本質上是銷售系統的一部分。

為了解決資訊過載和使用者無明确需求的問題,找到使用者感興趣物品,才有了個性化推薦。

二.組成

推薦系統廣泛存在于各類網站中,一般由三部分組成:基礎資料、推薦算法系統、前台展示。基礎資料包括很多元度,包括使用者的通路、浏覽、下單、收藏,使用者的曆史訂單資訊,評價資訊等很多資訊;推薦算法系統主要是根據不同的推薦訴求由多個算法組成的推薦模型;前台展示主要是對用戶端系統進行響應,傳回相關的推薦資訊以供展示。

基礎資料主要包括:

1.要推薦物品或内容的中繼資料,例如關鍵字,基因描述等;

2.系統使用者的基本資訊,例如性别,年齡等

3.使用者對物品或者資訊的偏好,根據應用本身的不同,可能包括使用者對物品的評分,使用者檢視物品的記錄,使用者的購買記錄等。

其實這些使用者的偏好資訊可以分為兩類:

顯式的使用者回報:這類是使用者在網站上自然浏覽或者使用網站以外,顯式的提供回報資訊,例如使用者對物品的評分,或者對物品的評論。

隐式的使用者回報:這類是使用者在使用網站是産生的資料,隐式的反應了使用者對物品的喜好,例如使用者檢視了某物品的資訊等等。

顯式的使用者回報能準确的反應使用者對物品的真實喜好,但需要使用者付出額外的代價,而隐式的使用者行為,通過一些分析和處理,也能反映使用者的喜好,隻是數 據不是很精确,有些行為的分析存在較大的噪音。但隻要選擇正确的行為特征,隐式的使用者回報也能得到很好的效果,隻是行為特征的選擇可能在不同的應用中有很 大的不同,例如在電子商務的網站上,購買行為其實就是一個能很好表現使用者喜好的隐式回報。

三.分類

推薦引擎分類可以根據很多名額進行區分:

1.根據目标使用者進行區分:根據這個名額可以分為基于大衆行為的推薦引擎和個性化推薦引擎。

  • 根據大衆行為的推薦引擎,對每個使用者都給出同樣的推薦(排行榜)
  • 個性化推薦引擎,對不同的使用者,根據他們的口味和喜好給出更加精确的推薦。

2.根據資料源進行區分:主要是根據資料之間的相關性進行推薦,因為大部分推薦引擎工作原理還是基于物品或者使用者的相似集進行推薦。

  • 根據系統使用者的基本資訊發現使用者相關程度,這種被稱為基于人口統計學的推薦。
  • 根據推薦物品或内容的中繼資料,發現物品或者内容的相關性,這種被稱為基于内容的推薦。
  • 根據使用者對物品或者資訊的偏好,發現物品或者内容本身的相關性,或者是發現使用者的相關性,這種被稱為基于協同過濾的推薦

3.根據推薦模型進行區分:可以想象在海量物品和使用者的系統中,推薦引擎的計算量相當大,要實作實時推薦務必建立推薦模型:

  • 基于物品和使用者本身的,這種推薦引擎将每個使用者和每個物品都當作獨立的實體,預測每個使用者對于每個物品的喜好程度,這些資訊往往 是用一個二維矩陣描述的。由于使用者感興趣的物品遠遠小于總物品的數目,這樣的模型導緻大量的資料空置,即我們得到的二維矩陣往往是一個很大的稀疏矩陣。同 時為了減小計算量,我們可以對物品和使用者進行聚類, 然後記錄和計算一類使用者對一類物品的喜好程度,但這樣的模型又會在推薦的準确性上有損失。
  • 基于關聯規則的推薦(Rule-based Recommendation):關聯規則的挖掘已經是資料挖掘中的一個經典的問題,主要是挖掘一些資料的依賴關系,典型的場景就是“購物籃問題”,通過關聯規則的挖掘,我們可以找到哪些物品經常被同時購買,或者使用者購買了一些物品後通常會購買哪些其他的物品,當我們挖掘出這些關聯規則之後,我們可以基于這些規則給使用者進行推薦。
  • 基于模型的推薦(Model-based Recommendation):這是一個典型的機器學習的問題,可以将已有的使用者喜好資訊作為訓練樣本,訓練出一個預測使用者喜好的模型,這樣以後使用者在 進入系統,可以基于此模型計算推薦。這種方法的問題在于如何将使用者實時或者近期的喜好資訊回報給訓練好的模型,進而提高推薦的準确度。