推薦引擎利用特殊的信息過濾(IF,Information-Filtering)技術,將不同的內容(例如電影、音樂、書籍、新聞、圖片、網頁等)推薦給可能感興趣的用戶。通常情況下,推薦引擎的實現是通過將用戶的個人喜好與特定的參考特徵進行比較,並試圖預測用戶對一些未評分項目的喜好程度。參考特徵的選取可能是從項目本身的信息中提取的,或是基於用戶所在的社會或社團環境。
1. 個性化的推薦--根據用戶過去在網站的行為進行推薦。
2. 社會化推薦--根據類似用戶過去在網站的行為進行推薦。
3. 基於產品的推薦--基於產品本身的特性進行推薦。
4. 以及上述三種的方法的組合。
商業推薦引擎不僅僅用來把數據計算出來,在後期必須充分的利用這些高質量的推薦數據,通過推薦引擎的開放API,可以在任何需要調用推薦數據的地方使用這些高質量的推薦數據,實現集中計算,分散使用。企業推薦引擎的數據可以擴展到網站的任何一個角落,給網際網路客戶貼心的用戶體驗。
1.基於關聯規則的推薦算法(Association Rule-based Recommendation)
2.基於內容的推薦算法 (Content-based Recommendation)
內容過濾主要採用自然語言處理、人工智慧、概率統計和機器學習等技術進行過濾。
基於內容過濾的系統其優點是簡單、有效。其缺點是特徵提取的能力有限,過分細化,純基於內容的推薦系統不能為客戶發現新的感興趣的資源,只能發現和客戶已有興趣相似的資源。這種方法通常被限制在容易分析內容的商品的推薦,而對於一些較難提取出內容的商品,如音樂CD、電影等就不能產生滿意的推薦效果。
3.協調過濾推薦算法 (Collaborative Filtering Recommendation)
與傳統文本過濾相比,協同過濾有下列優點:
1)能夠過濾難以進行機器自動基於內容分析的信息。如藝術品、音樂。
2)能夠基於一些複雜的,難以表達的概念(信息質量、品位)進行過濾。
3)推薦的新穎性。 正因為如此,協同過濾在商業應用上也取得了不錯的成績。Amazon,CDNow,MovieFinder,都採用了協同過濾的技術來提高服務質量。
缺點是:
1)用戶對商品的評價非常稀疏,這樣基於用戶的評價所得到的用戶間的相似性可能不準確(即稀疏性問題)。
2)隨著用戶和商品的增多,系統的性能會越來越低(即可擴展性問題)。
3)如果從來沒有用戶對某一商品加以評價,則這個商品就不可能被推薦(即最初評價問題)。因此,現在的電子商務推薦系統都採用了幾種技術相結合的推薦技術。
1.基於內容的過濾
了解內容和用戶的特質,送上合適產品的做法,被稱為「基於內容的過濾」 (Content Based Filtering)
2.協同過濾」(Collaborative Filtering) 的推薦方式
圖–協同過濾二層推薦模型 以「協同過濾」推薦機制為核心,網站並不需要做出如同「What to Rent」的「性格-產品」匹配,而只需要了解「用戶都在同哪些人進行交往」、「用戶加入了哪些組群」、「用戶都在看誰的頁面」這樣的問題,然後根據「物以類聚、人以群分」的思路為用戶推薦他的夥伴都感興趣的事物。 第一代的協同過濾技術,又被稱為基於用戶(User-based)的協同過濾。基於用戶的協同過濾,基本原理是基於用戶行為選擇的相關性。 協同過濾的核心問題是尋找與目標用戶興趣相近的一組用戶。這種相似用戶通常被稱為最近鄰居(Nearest Neighbor)。用戶之間的相似度是通過比較兩個用戶的行為選擇矢量得到的。於是第二代基於內容項(Item-based)的協同過濾技術就產生了。與基於用戶的技術不同的是,這種方法比較的是內容項與內容項之間的相似度。 Item-based方法同樣需要進行三個步驟獲得推薦: 1)得到內容項(Item)的歷史評分數據。 2)針對內容項進行內容項之間的相似度計算,找到目標內容項的「最近鄰居」。 3)產生推薦。這裡內容項之間的相似度是通過比較兩個內容項上的用戶行為選擇矢量得到的。基於用戶的推薦系統相比,基於內容項的推薦系統最大的改進是更具有擴展性。基於內容項的方法通過計算內容項之間的相似性來代替用戶之間的相似性。 不論是第一代的基於用戶方法,還是第二代的基於內容項方法,都不可避免的遇到數據稀疏的問題。 基於內容和基於協同過濾兩種方式的區別 無論從用戶還是服務提供者的角度出發,這兩種推薦方式都有各自明顯的優劣。如果採用「基於內容的過濾」,那麼在完成內容和用戶互相匹配的過程中,就可能出現「越讀越窄」、「越聽越窄」、「越看越窄」的問題,提供的內容完全與用戶興趣點相吻合,而沒有發散。 「協同過濾」在很大程度上避免了這個問題,但是他需要用戶達到一定數量級之後才能發揮出網站創建者預想的效果,這種「網絡效應」使得同一市場上的後來者很難找到切入的機會。而用戶一旦不能得到「好處」,可能迅速離去,而來不及提「利他」的後話。 3.基於實時行為的推薦 目前流行的實時搜索開始了這方面的研究。 1.數據匱乏 2.應對數據變化 因為核心算法是對歷史數據的統計,所以偏愛老數據,而新的變化難於及時體現,所以難於跟上時尚潮流的變化(pastbehavior [of users] is not a good tool because the trends are always changing),同時原文指出:在變化很快的時尚領域物品推薦方式不太奏效,因為單個物品的特性太多而且隨時間變化,所以,社會化推薦也許更有效。 3.應對用戶喜好的變化 用戶每次使用同一個系統(例如,Amazon)的目的不同,所以推薦算法也許會迷惑。但是,本人認為通過長時間的採集用戶的行為數據,某個用戶的消費傾向還是能夠把握的,本人使用當當網購物時就體會到它的推薦還是比較貼合我的口味的。 4.個別物品的特性具有對立的多面性 有些物品,在同一個物品身上能夠發現不相容的特性,主要在文化基因和個人喜好方面,這類物品很難推薦。 5.計算很複雜 要面對的問題有:原始數據量巨大、需計算的參數很多,因此計算很複雜。個性化數據 6.個性化數據是關鍵,而這些數據一般都是結構化數據。 基於Amazon研究 據稱,Amazon 有35%的頁面銷售源自於她的推薦引擎。 Amazon的推薦引擎,是一個需要用戶一定參與的系統,用戶的輸入將對推薦的內容起到指導作用;如果指導有方,則會提供更符合個人品味的推薦。 她會記錄你已在Amazon購買的歷史、你最近的瀏覽歷史(根據活躍度調整,可拒絕此類跟蹤),並需要主動告知引擎你對某些商品的打分(此打分不同於評價,只用於推薦引擎、且對他人不可見),和你已擁有的商品(用於排除這個推薦)。根據這些數據來做出判斷 另外,Amazon的推薦引擎並不只有這一塊內容,在瀏覽、tag、商品頁面都有很多推薦,可以說推薦無處不在。從她的功能點來看,似乎可以分為三塊內容:以人為著眼點、以物為著眼點以購物過程為著眼點。同時還採用了跨類推薦,對不同類的按熱度排列。 基於豆瓣的研究 大家可以看這裡http://www.slideshare.net/clickstone/ss-2756065。 基於八音盒的研究 八音盒(www.8box.cn)是一個基於音樂分享及偏好而建立起來的SNS服務, 利用多年積研發的推薦引擎,8box能幫你找到可能喜歡的音樂,幫你分析出哪些用戶是你的音樂「同好」。八音盒通過你推薦、試聽、打分、評論音樂的過程,學習你的口味,並依此幫助過濾出你喜歡的音樂。發現音樂的最好途徑是通過你的同好。八音盒能夠根據你的口味,推薦相似的用戶給你。應該說「個性化推薦引擎–IntelliProvider」是音樂八音盒的技術基石。 簡單的來說,8box推薦音樂的依據有三種: 1.依靠音樂本身的屬性信息判斷音樂的相關性,做出推薦。 2.依靠聽眾對這個音樂的評價和反映來推斷音樂的相關性,做出推薦。 3.依靠分析用戶的行為,發掘出用戶的音樂同好,從而做出推薦。 基於遺傳學的推薦系統-潘朵拉(Pandora) 音樂染色體組項目的 推出,目的在於把音樂解析成為最基本的基因組成。它的基本想法是:我們因為音樂的某些特性喜歡音樂--那麼為什麼不能根據音樂的某些相似之處設計出一套推 薦系統呢?這類推薦系統應該屬於基於產品的推薦。但具有深刻創新意義的是,產品(音樂產品)的相似性,通過「基因」組成來衡量。 這種「即刻滿足感」是很難抗拒的。因為pandora 了解音樂相似性背後的因素,它不需要了解用戶的好惡,就可以把用戶黏住。確實,pandora 需要把握用戶的口味或記憶--但這正是蘊藏在音樂本身的dna中了。當然pandora有時並不完美,會播放不對用戶口味的音樂。但這很少發生。 基於標籤的推薦系統-Del.icio.us 非常簡明的推薦系統,它指基於一個基因--那就是一個標籤。 總結到這裡,要是有這方面的技術人員交流就好了!!! 來源:http://www.xisoo.net/2010/01/12/csi/推薦引擎需要面對的問題