[摘 要] 針對電子商務發展的需求,本文通過對協同過濾推薦算法的文獻綜述,提出傳統過濾算法無法適用于用戶多興趣下的推薦問題進行了剖析,提出了一種基于用戶多興趣的協同過濾推薦改進算法,分析了基于用戶多興趣的協同過濾推薦算法的電子商務系統。
[關鍵詞] 電子商務系統 協同過濾推薦算法 算法研究
一、引言
電子商務迅猛發展的時代已經到來,網上購物的交易方式正在改變著傳統的商業模式。2007年,電子商務的交易額達到了8900億人民幣。面對如此眾多的商品,無疑會大大增加用戶發現滿意商品的困難。于是個性化推薦系統逐漸成為電子商務領域中的一項重要的研究內容,得到了廣泛關注。
研究電子商務推薦系統對企業和社會具有很高的經濟價值。電子商務個性化推薦系統的關鍵是建立用戶模型。推薦系統的熱點問題是推薦技術和推薦算法的研究。推薦算法是整個推薦系統的核心,它的性能決定了最終推薦結果的好壞。為了建立合理的用戶模型,滿足不同用戶對實時性、推薦方式等的要求,產生了一系列的推薦技術和算法。涉及的技術包括基于內容的過濾技術、協同過濾技術、關聯規則挖掘技術、分類和聚類技術、神經網絡技術等等。
協同過濾推薦是迄今為止最成功的個性化推薦技術,被應用到很多領域中,協同過濾相當突出的優點是其決策基礎是“人”而不是“內容的分析”,能針對任何形態的內容進行過濾,更能處理相當復雜和艱難的概念呈現,以獲得意料之外的結論。
文章重點研究電子商務系統中協同過濾推薦算法。
二、電子商務推薦算法的研究
目前的電子商務推薦系統中運用的推薦算法主要可分為三大類:基于內容的推薦算法(Content-based Recommendation Algorithm)、基于規則的推薦算法(Rule-based Recommendation Algorithm)和協同過濾推薦算法(Collaborative Filtering Recommendation Algorithm)。
1.基于內容的推薦算法是信息過濾研究的派生和繼續
基于內容的推薦系統需要分析資源內容信息,根據用戶興趣建立用戶檔案(Profile),用戶檔案中包含了用戶的品位、偏好和需求信息。然后根據資源內容與用戶檔案之間的相似性向用戶提供推薦服務。在一個這樣的系統中,通常采用相關特征來定義所要推薦的物品。
2.關聯規則挖掘技術在零售業得到了廣泛的應用,它可以發現不同商品在銷售過程中的潛在相關性
隨著數據挖掘的興起,關聯規則被應用于推薦系統,形成了一種新的推薦技術——基于規則的推薦技術?;谝巹t的推薦技術在評價表上挖掘項目間的關聯規則(項目關聯)和用戶間的關聯規則為當前用戶進行推薦。使用項目關聯進行推薦時,每條項目關聯的前件相當于一個興趣組,而規則的后件則相當于這個興趣組的推薦。如果當前用戶對該規則前件中的所有項目都喜歡,那么就把規則的后件以一定可信度推薦給當前用戶。而使用用戶關聯進行推薦時,用戶關聯的后件必須是當前用戶,使用用戶關聯的前件中的用戶的共同興趣模擬當前用戶的興趣,模擬的可信度就是用戶關聯的可信度,以此作為推薦的依據。
3.協同過濾(Collaborative Filtering)的基本概念就是把這種推薦方式變成自動化的流程
協同過濾主要是以屬性或興趣相近的用戶經驗與建議作為提供個性化推薦的基礎。透過協同過濾,有助于搜集具有類似偏好或屬性的用戶,并將其意見提供給同一集群中的用戶作為參考,以滿足人們通常在決策之前參考他人意見的心態。
本人認為,協同過濾技術應包括如下幾方面:(1)一種比對和搜集每個用戶興趣偏好的過程;(2)它需要許多用戶的信息去預測個人的興趣偏好;(3)通過對用戶之間興趣偏好相關程度的統計去發展建議那些有相同興趣偏好的用戶。
三、協同過濾推薦現有算法的分類研究與分析
正是因為傳統協同過濾推薦算法存在著諸多問題,研究者們才不斷提出改進的協同過濾推薦算法。
1.全局數值算法
全局數值算法每生成針對一個用戶的推薦項目列表就需要掃描用戶評價數據庫一遍,這種方法能隨數據的變化而變化,實現也比較簡單,所以被大量才采用。但是在實踐中數據稀疏性難以解決,面對龐大的用戶數據庫,推薦產生也非常耗時,從而使得整個電子商務推薦系統的實時性難以保證,成為全局數值算法面臨的主要挑戰。
2.基于模型的算法
基于模型的算法只需掃描一遍用戶評分數據庫就可以完成對所有用戶的推薦。優點是建立的模型相對于原始數據集而言小得多,因此能有效緩解推薦算法的實時性問題。但模型具有滯后效應,為了保證模型的有效性,必須周期性的對模型進行更新。而模型的訓練代價高,因此該算法不適合數據更新頻率快的系統。
3.組合推薦算法
(1)協同過濾和基于內容的結合算法。兩種算法的結合可以利用基于內容算法的優點,對項目進行相似度匹配,尤其當項目尚未得到用戶評價的情況下也能推薦給用戶,避免新項目問題;另一方面利用協同過濾的特點,當用戶數和評價很多時,協同過濾推薦更準確。
(2)協同過濾和基于關聯規則的結合算法。關聯規則技術用于協同過濾系統是利用Apriori算法通過挖掘用戶的評價記錄的關聯來進行推薦。該算法往往首先對客戶的購買行為進行關聯規則挖掘,并進行單一客戶的偏好建模;然后,應用協同過濾技術尋找與此客戶興趣相似的客戶集,并從客戶集中找出和目標最相似的客戶;最后根據匹配集合求解推薦意見。規則模型的形成可以離線進行,協同過濾推薦算法與基于規則算法的結合可以保證有效推薦系統的實時性要求。
四、協同過濾推薦算法的改進
傳統的協同過濾推薦算法是用鄰居用戶對某一項目的偏好信息來判斷用戶對該項目的偏好,鄰居用戶是和當前用戶具有相似興趣愛好的用戶。但在傳統的協同過濾推薦算法中,鄰居用戶和當前用戶的共同興趣愛好并不一定是要預測的項目方面的興趣愛好,而可能是另一方面的興趣愛好。如果還是用這些鄰居用戶來預測,其誤差可想而知。
1.基于用戶多興趣的協同過濾推薦算法
基于此,我對傳統協同過濾算法將作如下改進:(1)對用戶興趣進行分類,因為在系統中用戶的興趣是通過對項目的選擇來進行了解的,所以把對用戶興趣的分類轉化為對項目的分類,引入用戶興趣度的概念,來探討用戶在不同類別項目中所表現出來的興趣差異,進而實現對用戶多興趣的了解。(2)對于同一用戶,如預測項目所屬類別不同,用來預測的鄰居用戶也不同,也就是鄰居用戶與待預測的項目在內容上具有一定相似性,從而保證用來預測的鄰居用戶與當前用戶在待預測項目上具有相似的興趣愛好。(3)用戶具有多興趣性,但用戶對每類項目的興趣也是不盡相同的,在推薦集中考慮以用戶對不同類別項目的興趣度作為權重,來分配每類項目的推薦數目。
首先將項目采用某種技術按照某種標準劃分為不同類別,然后把對此類項目有評價的用戶的評價信息映射到此類,統計參數,計算用戶在每類項目的興趣度,當超過閾值時,認為該用戶對該類項目有興趣偏好,并由這些用戶形成聚類,從聚類中搜尋針對此類項目的鄰居用戶,產生推薦。
(1)按照分類規則對項目進行分類。把整個項目空間劃分成若干類別,每個項目可能屬于多個類別,每個類別包含至少一個項目。目前對項目進行分類有眾多方法。
(2)映射評價信息,統計參數,計算用戶興趣度,建立用戶興趣度矩陣,構造用戶興趣偏好特征。假設提出了用戶興趣度Ai,j,即用戶i對項目類別j的興趣度,來衡量用戶對某一類別項目的興趣偏好。
其中Mi,j表示用戶i所評價的項目類別j中的項目數目;Nk表示項目類別k中包含的項目數目。
(3)依據用戶興趣度矩陣和項目類別體系,進行用戶聚類,形成用戶興趣模型。
2.算法說明
(1)由于對同一用戶,需要分別在不同的項目類別中分別計算其鄰居用戶。
(2)該算法對數據的稠密性要求比傳統的協同過濾推薦算法要高。
(3)用戶的興趣可能會隨著時間而變化,有的項目類別可能會隨著時間的推移使用戶對他失去興趣,所以推薦系統必須密切注意用戶的興趣是否改變,最好的辦法就是持續跟蹤。
(4)推薦算法同樣具有新異性,但不像傳統算法那樣更具有新異性,同另一角度也說明該推薦算法更具準確。因為新異性在一定程度上是和準確性相對的,不可能新異性和準確性同時很高,準確性高的算法必然會新異性低,反之亦然。
五、基于用戶多興趣的協同過濾推薦算法的電子商務推薦系統分析
協同過濾技術基本思想是基于評分相似的最近鄰居的評分數據向目標用戶產生推薦,推薦算法處理的基礎數據是不同用戶對項目的評價。評價可以是布爾型的也可以是實數,數值的大小代表喜歡的程度,也稱為評分。協同過濾有利于判斷符合用戶興趣的商品。例如在用戶評價表中共有M個用戶對N個商品進行了評分,要在M個商品項中找出符合用戶興趣的S個項向用戶推薦?;诖?,我們做如下推薦系統的分析:
1.業務需求分析
電子商務網站有兩個方面需要個性化推薦系統,即改善客戶關系和提高網站的銷售能力。(1)改善客戶關系。個性化推薦系統要能夠在用戶的使用過程中盡可能的滿足用戶的需求,實時地和用戶保持互動和聯系,及時獲得用戶的需求并做出響應,能根據用戶的反饋信息進行學習和自我完善。(2)提高網站的銷售能力。能夠吸引更多客戶購買;在用戶購買時實施交叉銷售,用戶的推薦請求,給出最適合于用戶的商品,并推薦其他相關的商品;為網站對商品進行更新提供信息支持,輔助網站及時推出有熱銷潛力的特色商品,實現與其他網站的差異化銷售。
2.用戶需求分析
用戶訪問電子商務網站的主要目的是尋找并購買需要的商品。其需求主要表現在:(1)用戶在網站中要能夠順利地尋找到所需要的商品,根據對商品信息的了解、系統的推薦程度和其他人的評價等決定是否購買。(2)用戶能根據自己的認識對商品進行評分和評價。評分是一些個性化推薦算法的數據基礎,應該鼓勵用戶對商品進行評分。評分或評價也是用戶做出購買決定的參考。(3)系統服務定制。用戶能選擇并享受系統設定的個性化服務,這些服務是管理員分析用戶的興趣對系統進行的功能設置。
3.業務分析
用戶訪問電子商務網站的主要目的是選擇購買符合自己需求商品,整個業務流程從登錄網站到購買商品生成訂單結束。從什么渠道怎么支付如何獲得商品實體是在網站外部完成的,不在網站上的業務流程之內。
4.數據流圖(DFD1層)主要處理分析
個性化推薦系統主要有以下處理過程:用戶定制服務、行為記錄、個性化推薦、購買商品、對商品評分等。第一層數據流圖可如圖1所示:
用戶根據系統設置的服務進行服務的定制。系統獲得用戶選擇的服務項目編號,查詢數據庫是否設置并開通該服務,如果是保存用戶定制到用戶定制表中;否則返回錯誤信息。用戶定制DFD如圖2所示:
用戶在個性化推薦系統中的瀏覽行為,如點擊鏈接、查看商品信息等都會被記錄到日志中,也能被系統記錄,作為挖掘用戶興趣的信息。用戶行為記錄過程的DFD如圖3所示:
六、結束語
電子商務推薦系統是個新興的研究與應用領域。隨著用戶需求水平的提高,推薦算法與系統的研究在不斷發展和完善。文中提出的基于用戶多興趣的協同過濾推薦改進算法,正是為了解決現實中存在的用戶興趣問題而產生的。算法中由于對項目進行了分類,所以跨越項目類別和推薦的新異性在一定程度上可能不及傳統的協同過濾推薦算法。這將在未來的研究中要進一步思考和研究的問題。
參考文獻:
[1]鄧愛林 左子葉 朱揚勇:基于項目聚類的協同過濾推薦算法[J].小型微型計算機系統,2004,14(9):P1665~1671
[2]歐立奇 陳 莉 馬 煜:協同過濾算法中新項目推薦方法的研究[J].微計算機信息,2005,21(11~3):P186~187
[3]索 琪 盧 濤:基于關聯規則的電子商務推薦系統研究[J].哈爾濱師范大學自然科學學報,2005,21(2):P50~53
[4]余 力 劉 魯 李雪峰:用戶多興趣下的個性化推薦算法研究[J].計算機集成制造系統,2004,10(12):P1610~1615
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文