推薦技術簡介

轉載請標明出處:http://blackwing.iteye.com/blog/2231556

根據項亮《動態推薦系統關鍵技術研究》的分類方式,可以根據使用數據來把推薦技術分成以下兩類:

[size=medium][b]1.按使用數據分類:[/b][/size]

協同過濾
內容過濾
社會化過濾
基於人口信息的過濾
機遇地理信息的推薦


[size=medium][b]2.按模型分類:[/b][/size]

領域模型
矩陣分解模型
圖模型

受限於數據獲得的難易程度,一般用戶行爲數據較爲容易獲取,所以也導致協同過濾相關推薦算法的流行。

項亮表示,凡是使用了用戶行爲數據進行運算的都可以歸類爲協同過濾算法,經典的有user-based協同過濾和item-based協同過濾。
亞馬遜把item-based算法發揚光大,它優點是效果不錯,而且可以做推薦解析。

但每一種推薦算法,都有其適用場合,所以目前成熟的推薦系統,幾本都屬於混合型推薦系統。混合型推薦系統的核心思想,是融合多種推薦算法,使其取長補短。


《Hybrid Recommender Systems Survey and Experiments》這篇論文對混合推薦系統做了研究,列出了推薦系統的混合方式:

Weighted 加權融合
Switching 開關切換融合
Mixed 混合融合
Cascade 串聯融合
Feature combination 特徵組合融合
Feature augmentation 特徵增益融合
Meta-level

推薦系統的開發框架,以下摘自《推薦系統實踐》

[img]http://dl2.iteye.com/upload/attachment/0110/5722/e7935b9f-3dda-3d1b-8394-9fccb824dc24.png[/img]

一個推薦系統,一般分爲離線部分、在線部分。而其中的“推薦解釋”模塊,則並不是每個算法都適合,有些算法是做不了推薦解釋的,例如基於矩陣分解的推薦算法。


以下是我們的推薦系統架構圖


[img]http://dl2.iteye.com/upload/attachment/0110/5724/3b8b624e-df63-3bf6-a6bd-952419a0bf74.png[/img]

由離線層、半實時層、實時層構成。由於要處理大數據,一般使用的技術都是hadoop、spark、hbase、storm、redis、mahout等。

以item-based協同過濾爲例,一般整個個性化推薦的流程如下:

1. 讀取用戶行爲數據,進行抽取清理
2. 根據清理後的行爲數據,算出任意兩兩item的相似度
3. 根據業務需要,截取N個與某item最相似的相關item,寫入持久化存儲,例如hbase
4. 上層web程序,根據user的歷史觀看記錄,找出3中算好的與user歷史記錄中看過的item相似的item返回界面展示

簡單說,就是根據用戶歷史行爲,找其歷史記錄中相似的item。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章