徐麗 張新英
摘要:為了能夠更好地改進協同過濾技術,適應推薦系統發展的需要,首先要分析協同過濾在實現過程中存在的問題,從而進行有針對性的改進,也就是尋找合理的解決方案
關鍵詞:協同過濾;問題;推薦算法
一、協同過濾在應用中存在的問題
為了能夠更好地改進協同過濾技術,適應推薦系統發展的需要,首先要分析協同過濾在實現過程中存在的問題,從而進行有針對性的改進。通過對協同過濾技術以及推薦系統的研究,我們發現協同過濾技術的實現中存在的問題主要有以下幾點。
(一)稀疏性問題
協同過濾技術的實現首先需要使用用戶—項評價矩陣對用戶信息進行表示,盡管這在理論上很簡單,但實際上,許多電子商務推薦系統要對大量的數據信息進行處理,而在這些系統中一般用戶購買商品的總量占網站總商品量的1%左右,因此造成了評價矩陣(用戶-項矩陣)非常稀疏。在這種數據量大而且又稀疏的情況下,一方面難以找到最近鄰居用戶集,另一方面進行相似性計算的耗費也會很大。
(二)冷啟動問題
冷啟動問題又稱第一評價問題(first- rater),或新物品問題(New-item),從一定角度可以看成是稀疏問題的極端情況。因為傳統的協同過濾推薦是基于相似用戶/物品計算來得到目標用戶的推薦,在一個新的項目首次出現的時候,因為沒有用戶對它作過評價,因此單純的協同過濾無法對其進行預測評分和推薦。而且,由于新項目出現早期,用戶評價較少,推薦的準確性也比較差[25]。相似的,推薦系統對于新用戶的推薦效果也很差。冷啟動問題的極端的案例是:當一個協同過濾推薦系統剛開始運行的時候,每個用戶在每個項目上都面臨冷啟動問題。
(三)可擴展性問題
在協同過濾推薦算法中,全局數值算法能及時利用最新的信息為用戶產生相對準確的用戶興趣度預測或進行推薦,但是面對日益增多的用戶,數據量的急劇增加,算法的擴展性問題(即適應系統規模不斷擴大的問題)成為制約推薦系統實施的重要因素。雖然與基于模型的算法相比,全局數值算法節約了為建立模型而花費的訓練時間,但是用于識別“最近鄰居”算法的計算量隨著用戶和項的增加而大大增加,對于上百萬的數目,通常的算法會遇到嚴重的擴展性瓶頸問題。該問題解決不好,直接影響著基于協同過濾技術的推薦系統實時向用戶提供推薦問題的解決,而推薦系統的實時性越好,精確度越高,該系統才會被用戶所接受。
基于模型的算法雖然可以在一定程度上解決算法的可擴展性問題,但是該類算法往往比較適于用戶的興趣愛好比較穩定的情況,因為它要考慮用戶模型的學習過程以及模型的更新過程,對于最新信息的利用比全局數值算法要差些。
二、解決協同過濾中稀疏性問題的方法
(一) 基于內容的協作過濾方法
基于內容的推薦(Content-based recommendation)是基于內容抽取項目特征屬性的推薦技術,是信息過濾技術的延續與發展。
在基于內容的推薦系統中,項目或對象是通過相關的特征屬性來定義的。在這類方法中,歷史信息用來反映項目之間的關系,如一個項目的購買經常導致另一個項目或一組項目的購買。因此,該方法是利用用戶-項目矩陣分析每個項目的相似性,在這個基礎上計算被推薦的前N個項目。
基于內容的推薦系統是基于用戶評價對象的特征,學習用戶的興趣。Schafer, Konstan和Riedl稱這種方法為項目-項目相關關系法。由于這種方法不需要去識別那些鄰近的用戶,所以推薦算法的速度快得多。
基于內容的推薦對項目的屬性特點的歷史信息進行學習,其優勢在于提高了推薦的可測量性,并且能夠對推薦結果作出比較好的解釋。基于內容的推薦能發現用戶感興趣的項目,但是不能發現新的內容。
(二)基于項的協同過濾算法
基于項的(Item-based)協同過濾推薦根據用戶對相似項的評分預測該用戶對目標項的評分,它基于這樣一個假設:如果大部分用戶對一些項的評分比較相似,則當前用戶對這些項的評分也比較相似。基于項的協同過濾推薦系統使用統計技術找到目標項的若干最近鄰居,由于當前用戶對最近鄰居的評分與對目標項的評分比較類似,所以可以根據當前用戶對最近鄰居的評分預測當前用戶對目標項的評分,然后選擇預測評分最高的前若干項作為推薦結果反饋給用戶。
(三)基于內容推薦和協同推薦的組合推薦算法
盡管傳統的協同過濾推薦的效果相當顯著,但是冷開始和稀疏問題仍是影響其性能的重要問題。其關鍵問題在于,協同過濾的特點是要求有很多個用戶對項目進行評價后,用戶才互相幫助并協同選擇項目。然而對于一個新項目,由于以往沒有任何人對它作過評價,它就無法參與到推薦和評價中,因此推薦系統就失去了作用。評價的人越多,系統就越能發揮出其最大作用。所以對一個新項目,需要研究并解決在初始情況下如何讓它參與推薦和評價,使整個推薦系統朝良性循環的方向發展。
由于解決問題的角度和方法不同,基于內容的推薦能有效的解決協同過濾的冷開始和稀疏問題。可以用一個簡單的例子描繪其作用:假設一個用戶已對來自網站ESPN.com的NBA網頁作出過愛好的評價,而另一用戶對來自網站CNNSI.com的NBA網頁也作出過愛好的評價,如果只用協同過濾的話,將不能發現這兩個用戶的相似之處。然而,基于內容的分析是基于用戶評價對象(項目)的特征屬性,學習用戶的興趣,因此能發現這兩個項目是相似的。那么,根據相似項目的屬性以及用戶對相似項目的評分,可以初步預測用戶對新項目的評分,這樣就得到了對冷開始問題的一個解決途徑,同時,稀疏性問題也可以得到有效的解決。
基于上述分析,有研究者提出了一種采用基于內容的推薦改進協同過濾的組合推薦方法,利用基于內容推薦對相似項目的研究彌補協同過濾推薦在新項目推薦方面的不足,從而有效的解決冷開始和稀疏問題。
注:此文章是河北省教育科學研究“十三五”規劃課題《基于自主學習系統的個性化課程推薦的研究》的研究內容之一。課題編號:1604083。