作者:hooly
微信公眾號:一口袋星光
一、推薦引擎的工作原理:
推薦引擎的工作原理
二、推薦引擎的分類:
基于大眾行為的推薦引擎和個性化推薦引擎
根據大眾行為的推薦引擎,對每個用戶都給出同樣的推薦,這些推薦可以是靜態的由系統管理員人工設定的,或者基于系統所有用戶的反饋統計計算出的熱度比較高的商品
個性化推薦引擎,對不同的用戶,根據他們的口味和喜好給出更加精確的推薦,這時,系統需要了解需推薦內容和用戶的特質,或者通過找到與當前用戶相同喜好的用戶,實現推薦。
大部分人們討論的推薦引擎都是個性化的推薦引擎,因為從根本上說,只有個性化的推薦引擎才是更加智能的信息發現過程。
三、根據推薦引擎的數據源
1、根據系統用戶的基本信息發現用戶的相關程度,這種被稱為基于人口統計學的推薦(Demographic-based Recommendation)
基于人口統計學的推薦
2、根據推薦物品或內容的元數據,發現物品或者內容的相關性,這種被稱為基于內容的推薦(Content-based Recommendation)
基于內容的推薦
3、根據用戶對物品或者信息的偏好,發現物品或者內容本身的相關性,或者是發現用戶的相關性,這種被稱為基于協同過濾的推薦(Collaborative Filtering-based Recommendation)。(口口相傳的推薦方式)
三個基本步驟:
1.用戶給產品評分
2.協同過濾找到有相似評分(即品味)的用戶,成為鄰近者
3.產品不是由用戶評分,而是由用戶的鄰近著的混合評分決定(領袖者的評價可能權重更大)
基于用戶的協同過濾
進一步研究涉及協同推薦領域的可信度和能力,其基本思想是,區分推薦的生產者和使用者,判斷生產者提供的信息質量。在這種情況下,推薦的使用者是用戶;反過來用戶的鄰近者是生產者,生產者評分的質量可以根據生產者與使用者評分之間的差異來衡量。
基于物品的協同過濾
四、混合的推薦機制
在現行的 Web 站點上的推薦往往都不是單純只采用了某一種推薦的機制和策略,他們往往是將多個方法混合在一起,從而達到更好的推薦效果。關于如何組合各個推薦機制,這里講幾種比較流行的組合方法。
加權的混合(Weighted Hybridization): 用線性公式(linear formula)將幾種不同的推薦按照一定權重組合起來,具體權重的值需要在測試數據集上反復實驗,從而達到最好的推薦效果。
切換的混合(Switching Hybridization):前面也講到,其實對于不同的情況(數據量,系統運行狀況,用戶和物品的數目等),推薦策略可能有很大的不同,那么切換的混合方式,就是允許在不同的情況下,選擇最為合適的推薦機制計算推薦。
分區的混合(Mixed Hybridization):采用多種推薦機制,并將不同的推薦結果分不同的區顯示給用戶。其實,Amazon,當當網等很多電子商務網站都是采用這樣的方式,用戶可以得到很全面的推薦,也更容易找到他們想要的東西。
分層的混合(Meta-Level Hybridization): 采用多種推薦機制,并將一個推薦機制的結果作為另一個的輸入,從而綜合各個推薦機制的優缺點,得到更加準確的推薦。
五、冷啟動的處理
1基于人口統計學和基于內容的推薦,一般來說在初始就需要維護好用戶或者物品基本屬性數據。所以冷啟動問題比較容易解決
2.基于用戶的協同過濾,當新用戶進來時,通常是根據用戶類型、屬性特征,看相同類型的用戶的喜好,然后假設當前用戶的喜好,然后推薦
3.基于物品的協同過濾,當新物品出現時,通常是根據物品的類型、屬性特征,看相同類型的物品都被哪些商戶喜歡,假設這些商戶同樣喜歡這個新物品,然后推薦。
六、評估推薦系統
用戶認為與推薦系統的交互有用嗎?他們對收到的推薦結果滿意嗎?是什么驅使用戶貢獻知識?比如有助于提高系統預測質量的評分或評論?或或者用戶關于接受推薦真正喜歡的是什么?是意外和新奇,還是他們知識不想繼續找下去了?
概念的有效性、可靠性和靈敏度
實驗研究涉及一般會通過控制一個或多個獨立變量。
七、個性化推薦的重點:
1.能吸引更多地用戶到商品詳情頁面(物品瀏覽轉化率)
2.有助于將更多訪問者變成購買者(銷售轉化)
3.促使單個用戶瀏覽更多物品
4.促使單個用戶購買更多物品
注意有些算法對點擊量有明顯促進作用;有些算法對銷售轉化有明顯促進作用;不同的算法促進的點不同。所以要針對推薦的目的選擇合適的算法。
八、算法
這里面并沒有特別關注算法實現的東西,大部分公司這些是技術需要考慮的問題。
九、整體架構
推薦系統整理架構設計
一、特征倉庫
1.用戶維度數據:是用來描述用戶的特征數據。了解用戶,一般從用戶標簽屬性和行為屬性兩個層面即可。
用戶標簽屬性用來描述用戶靜態特征:性別、年齡、愛好、家庭住址等等
用戶行為數據簡單來說就是行為日志:用戶查看了什么、點擊了什么、收藏了、添加購物車了;分為顯性和隱形兩類:顯性的就是指能看出用戶的偏好比如收藏、添加購物車,而隱形的看不出用戶明顯的偏好,比如瀏覽行為,很可能只是因為這個頁面是首頁而已。
2.內容維度數據:表示內容的細節特征,比如內容是商品,則商品的價格、重量、顏色、型號等都是內容維度的數據
3.時間維度、城市維度:比如用戶在北京的行為數據、用戶在晚上12點的行為數據。分析用戶特征的時候,要考慮用戶的地點和實效。
二、計算邏輯層
用戶內容匹配:用戶喜歡某些特征的內容;如果有些內容包含這些特征,則認為用戶喜歡這些內容
內容匹配:利用用戶之前喜歡的內容,找到與這些內容相似的內容,認為是用戶喜歡的。
用戶匹配:根據用戶特征尋找相似的用戶,相似的用戶喜歡的東西,認為這個用戶也喜歡。
三、針對初步結果集的分析
1.過濾:把之前的推薦歷史過濾掉,把不符合要求、質量差的內容過濾掉
2.排名:制定結果集的優先級
3.選擇優質內容,整理,進行推薦
十、其他:
在算法層有些東西還是可以細分
比如N中推薦策略的疊加組合權重的靈活設置(可配置)
熱銷商品懲罰系數設置(可配置)
業務突發要求,某類商品的推薦降權處理等等。
這些都不應該寫死在算法中,應該做成靈活可配置的,適應各種情況下的需求。
作者:hooly
微信公眾號:一口袋星光
我會在微信公號上持續更新我的文章,你來討論我很歡迎。