周慶芳
摘 要:互聯網通信技術和社會化媒體的大力發展使得每個人既可以是信息的接收者,也可以是信息的創造者。本文著重介紹了目前應用最為廣泛的協同過濾技術,并在協同過濾算法實現的基礎上,利用一些通用的開源數據集以及常見的評估指標對算法實現的效果做展示和分析,以完成對解決推薦系統的精確性與多樣性兩難問題的探討。
關鍵詞:協同過濾、二次優化、多樣性
中圖分類號:TP312 文獻標識碼:C 收稿日期:2015-12-09
一、基于協同過濾的推薦算法
1.基于用戶的協同過濾
基于用戶的協同過濾算法是目前應用廣泛且效率較高的一種個性化推薦算法。它主要基于3 個假設。[1]
(1)用戶是可分的。
(2)用戶對不同商品的評價包含了用戶的興趣信息。
(3)用戶對未知商品的評價將和同類用戶的評價相似。
算法通過分析用戶對項目的歷史行為數據(如評分、購買、瀏覽等),生成與當前用戶行為、興趣最相近(對相同產品有歷史行為)的用戶集,然后利用他們對其他一些項目的評分來預測當前用戶對那些項目的評分,從而產生推薦列表。
2.基于項目的協同過濾
經過前述基于用戶的協同過濾算法后獲得的推薦候選列表,進一步做基于項目的協同過濾。其算法過程與前面相似,不過相似度的計算是針對推薦候選列表中的項目以及目標用戶歷史已接觸過的項目集合。主要步驟如下。
(1)輸入準備。同上一節相反。向量表示中的每個評論過項目的用戶對該項目的評分。
(2)針對項目的最近搜索。同上一節相似,仍然利用上述相似度計算公式,但是計算結果為項目與項目的相似度。
(3)推薦產生。同上一節相似,將上述推薦候選列表中每個項目與目標用戶的評分向量進行相似度計算后排序,獲取前Top-K個項目作為推薦結果。但是為了后續推薦結果的篩選,本文在這里的算法實現不會進行取K個的操作,而是直接保留整個候選推薦項目列表。
上述基于用戶的協同過濾主要利用了用戶—項目之間的關系,省略了對項目的建模,能夠避免對于復雜項目內容分析不完全或不準確的問題,具有簡單易實現、性能較好、個性化、自動化程度高等優點。
二、多樣性增強算法
1.多樣性及其方法簡介
一個好的推薦系統能夠開拓用戶的視野,就像一個凹透鏡,可將用戶的興趣發散出去。當然,正如前面所述,精確性與多樣性時常是個魚與熊掌不可兼得的難題,所以這種發散也最好是在極可能不影響到精度的前提下進行的。近年來針對提高推薦系統多樣的研究中,主要存在以下四類方法。[2]
(1)信息物理方法:將物理學中的物質擴散(Mass Diffusion )和熱傳導(Heat Conduction)理論應用到個性化推薦系統中。
(2)二次優化方法:采用啟發式策略對傳統推薦算法得到的候選推薦列表進行二次優化。
(3)社會化網絡方法:信息推薦中社會關系往往比推薦內容與用戶喜好的匹配程度更加重要。
(4)時間感知方法:作為情境的一種,時間信息很容易采集,并且對提高推薦系統的時序多樣性具有重要的價值。
2.二次優化的目標函數建立
為了提高推薦列表的多樣性(Diver sity),一種可行的方式就是在從候選推薦集合篩選時,不僅使用考慮相似度大小的Top-K方法,同時將多樣性考慮在內。說明不相似度d(i , j)的計算依賴于相似度s(i ,j )的計算,而相似度的計算已經在前文公式中進行定義,所以最終的Top-K篩選過程是在每次從候選集合P中篩選項目到推薦列表R中時,逐一計算候選集合P中的每個項目,并且選取項目c使得Quality最大的,放入推薦列表R中。
三、小結
本文主要研究了推薦系統的Top-K推薦列表選擇的多樣性增強問題。為了避免向用戶推薦過度同質化的內容,在考慮推薦內容時,不應該僅僅以推薦精準度作為唯一指標,推薦內容的多樣性同樣是提高用戶體驗、增加用戶粘度的重要指標。因此,本文所實現的貪婪選擇算法,它可以在損失一定精準度的條件下實現推薦列表的內容多樣性目標。
參考文獻:
[1] 宋真真,王 浩,楊 靜.協同過濾技術在個性化推薦中的應用[J].合肥工業大學學報(自然科學版), 2008,31(7):1059-1063.
[2] 安 維,劉啟華,張李義.個性化推薦系統的多樣性研究進展[J].圖書情報工作,2013,57(20):127-135.