目前使用比較普遍的個性化推薦演算法有三種,分別是:協同過濾推薦演算法、基於內容的推薦演算法和基於社交網絡的推薦演算法。
1 、協同過濾推薦演算法
該演算法的基本思想是,如果您的朋友或者親戚購買了某件商品並且評價不錯,那麼您很有可能也會購買該商品。根據相似度比較的物件不同,可以細分為基於多用户的推薦和基於物品的推薦。在用該演算法的有 Amazon 等一些電商平台。
a)基於多用户的近鄰推薦
基於多用户的協同推薦的基本思想是:尋找當前多用户的近鄰 (即計算多用户之間的相似性),從而根據近鄰的喜好預測您也可能喜歡什麼。
b)基於物品的近鄰推薦
該演算法的核心是計算物品兩兩之間的相似度,從而為多用户推薦相似的物品。當需要對多用户推薦物品 A 時,通過確定與 A 相似的物品 B,計算多用户對這些近鄰物品 B 評分的加權總和來得到多用户對物品 A 的預測評分。
2 、基於內容的推薦演算法
基於內容的推薦與協同過濾推薦不同,它不需要多用户對物品的評分資料,也不需要比較多個多用户或多個物品之間的相似度。該演算法的基本思想是根據多用户的歷史興趣資料,建立多用户模型,然後針對推薦物品的特徵描述進行特徵提取,後將物品特徵與多用户模型相比較,相似度較高的物品就可以得到推薦。
基於內容的推薦目前主要應用於文字、視訊、音訊的推薦,比如新聞、視訊和電台等。
3 、基於社交網絡的推薦演算法
基於社交網絡的推薦是協同過濾推薦在社交網絡中的延伸,同時又具有基於網絡結構推薦的特點。大體上可以分為兩類,即基於鄰域的社交網絡推薦和基於網絡結構的社交網絡推薦。
a)基於鄰域的社交網絡推薦
其基本思想是查詢社交網絡中當前多用户所有的好友,根據好友的興趣資料,向當前多用户推薦好友喜歡的物品集合。
b)基於網絡結構的社交網絡推薦
該演算法把多用户、多用户的好友、多用户的喜好和好友的喜好連線起來形成一個社交網絡結構圖。同時,根據多用户之間的熟悉程度和喜好相似度,來定義多用户之間和多用户的喜好之間的權重,然後選擇與多用户沒有直接相關的物品,按照優先順序別生成推薦列表。
個性化推薦的一些缺陷
也許您已經發現,現如今很多產品的個性化推薦系統還談不上智慧。我就經常遇到在某電商平台買了一台電腦,接下來就向我推薦各種品牌的電腦。對於買電腦這種低頻行為,該個性化推薦顯得太粗糙了一點。還有當我在一些資訊 WordPress APP 瀏覽新聞時,總是受到相同內容的新聞資訊,讓我沒有繼續使用下去的慾望。
一個好的個性化推薦系統,多用户能夠從系統提供的推薦列表中購買自己確實需要但在購買過程中沒有想到的商品,有利於流量和商品轉化,也會讓多用户對該系統產生依賴。個性化推薦系統不僅能夠為多用户提供個性化的推薦服務,而且能與多用户建立長期穩定的關係,從而提高多用户的忠誠度。
個性化推薦系統是一個非常複雜系統,背後還涉及到很多問題。比如冷啓動問題、資料稀疏性問題、推薦的精確度和準確度問題等。
1 、冷啓動問題
如果多用户的標籤資訊為零,那麼個性化推薦就等於不存在。這個情況下,往往是讓多用户進入興趣標籤填寫的頁面,或者通過蒐集多用户在其它平台的標籤資料來進行推薦。
2 、資料稀疏性問題
很多電商平台的資訊資料之大,使得任意兩個多用户瀏覽的商品交集非常小,這時候通常採用商品聚類或者多用户聚類的方式。
3 、推薦的精確度和準確度問題
通過收集更多的多用户標籤,不斷優化推薦演算法,多種推薦演算法的組合推薦來大化保證推薦的精確度和準確度。
4 、傳統的個性化推薦,無法保證推薦的實時性
比如網易雲的多用户無意中聽到了一種沒聽過的曲風,覺得很好聽又連續聽了幾。如果這時候推薦的還是他過去愛聽的,這就不能很好地滿足多用户的需求。
5 、精確度與多樣性的平衡問題
盲目的精確推薦可能會使多用户的視野越來越狹窄,也就無法向多用户推薦其它多樣的物品和資訊。如何平衡兩者的關係是一個要解決的問題。