崔睿宇, 楊懷洲
(西安石油大學 計算機學院, 西安 710065)
隨著通信技術和經(jīng)濟環(huán)境的改變,消費者的消費模式發(fā)生了迅速的變化,網(wǎng)購的趨勢也在逐年增加。而購物網(wǎng)站上海量的商品信息對消費者快速選擇目標商品起到了一定的限制作用[1]。在這種背景下, 推薦系統(tǒng)( recommender systems)應運而生。服務推薦算法作為推薦系統(tǒng)的核心組成部分,成為個性化推薦領域的研究熱點。由于每種推薦算法都存在各自的優(yōu)點和不足,所以,服務推薦算法的組合和多元化研究對于提高推薦系統(tǒng)的準確性和性能具有重要意義。
目前,對推薦系統(tǒng)的分類并沒有統(tǒng)一標準,很多學者從不同角度對推薦方法進行了不同的劃分[2-3]。文獻[4]給出了區(qū)別推薦技術的二維屬性:
自動化程度(degree of automation)與持久性程度(degree of persistence)。
(1)基于內(nèi)容的推薦算法。 基于內(nèi)容的推薦,又被稱為基于信息過濾的推薦,是由信息檢索(Information Retrieve)領域提出來的,是指用戶根據(jù)選擇的對象,推薦其它類似屬性的對象作為推薦結果。其核心思想是根據(jù)用戶興趣和物品特征的相似性進行推薦[5]。
(2)協(xié)同過濾推薦算法。協(xié)同過濾推薦(collaborative filtering recommendation)是目前研究最多的個性化推薦技術。該算法的基本思想是將用戶按照興趣的不同進行分類,同類用戶具有極為相似的興趣,因此可以由其它用戶的偏好協(xié)同過濾得到對目標用戶的推薦。
協(xié)同過濾主要分為兩大類別[6]:Memory-Based Collaborative Filtering和Model-Based Collaborative Filtering。Memory-Based方法又進一步分為User-Based Collaborative Filtering(UBCF)和Item-Based Collaborative Filtering(IBCF )。
UBCF是一種基于用戶最近鄰(K-Nearest Neighbor, KNN)實現(xiàn)的推薦算法,該算法的關鍵過程在于對用戶最近鄰的查找——可以通過各種相似度計算方法進行度量。UBCF中常用的相似度計算方法有:皮爾森相關系數(shù)(Pearson Correlation Coefficient, PCC)、夾角余弦相似度(Cosine SIMilarity, COSIM)及Jaccard系數(shù)(Jaccard Coefficient)等。由于用戶之間的相似度穩(wěn)定性較差,需要對用戶之間的相似度進行頻繁更新等問題,UBCF不適用于用戶量大的信息系統(tǒng)。針對這一問題,基于項目的協(xié)同過濾算法(Item-Based Collaborative Filtering, IBCF)被Sarwar等人[7]提出。
IBCF的關鍵在于挖掘項目間的相似性,分類相似項目,IBCF基本采用了與UBCF類似的相似性計算度量方法。常見的基于項目的相似度計算方法有以下幾種:基于項目的皮爾森相關系數(shù)(Item-based Pearson Correlation Coefficient)、基于項目的夾角余弦相似度(Item-based Cosine Similarity)和基于項目的修正夾角余弦相似度(Adjusted Item-based Cosine Similarity)等。
由于基于內(nèi)存的協(xié)同推薦直接應用評分數(shù)據(jù)進行相似度計算和評分預測,基于模型的協(xié)作推薦大量采用機器學習和數(shù)據(jù)挖掘算法。在基于模型的協(xié)同過濾推薦算法中常用的模型和算法有貝葉斯網(wǎng)絡、聚類算法、回歸算法、馬爾科夫決策模型和關聯(lián)規(guī)則挖掘等。
(3)基于關聯(lián)規(guī)則的推薦算法。基于關聯(lián)規(guī)則的推薦(association rule-based recommendation)是根據(jù)關聯(lián)規(guī)則對項目排序產(chǎn)生的推薦[8]。電子商務領域中的購物車效應就是關聯(lián)規(guī)則效應運用的典型,通過研究分析用戶頻繁購買的商品之間所存在的聯(lián)系,再利用商品之間的這種關聯(lián)關系為其它用戶產(chǎn)生推薦。
(4)基于知識的推薦算法?;谥R的推薦(Knowledge-based recommendation)不是建立在用戶需要和偏好上的推薦,即無需考慮用戶-項目矩陣的歷史信息[9]。在某種程度上可以看做一種推理技術。
(5)基于人口統(tǒng)計學的推薦算法。基于人口統(tǒng)計學(Demographic-based Recommendation)的推薦算法是基于用戶個人屬性對用戶進行分類,再按照類別的不同對各類中的用戶進行推薦[10]。
每種推薦技術的優(yōu)缺點對比見表1。
表1 各推薦算法優(yōu)缺點對比
組合推薦(hybrid recommendation)的一個最重要原則就是通過組合后應能避免或彌補各自推薦技術的弱點。理論上有很多種推薦組合方法,不同的組合思路適用于不同的應用場景。
混合推薦的分類方法大致有2種,一種按照不同推薦技術混合發(fā)生階段的不同分為前融合、中融合和后融合[9];另外,根據(jù)不同的結合方式,Robin[11]提出7種組合思路:加權組合、變換、混合、特征組合、層疊、特征擴充以及元層次組合[12]。
推薦算法的評價要綜合考慮實驗數(shù)據(jù)集和評價標準2方面的選擇。
1.5.1 推薦算法的實驗數(shù)據(jù)集
推薦算法評價依賴的實驗數(shù)據(jù)集有2種選擇——真實數(shù)據(jù)集或者人工加工數(shù)據(jù)集。真實數(shù)據(jù)集可反映目標推薦系統(tǒng)的真實數(shù)據(jù)分布,但成本高,時效性差,缺乏統(tǒng)一的評價參考性。人工加工數(shù)據(jù)集往往具有較好的一致性,可人為控制數(shù)據(jù)的分布特征,但只能對特定應用領域的算法評價,數(shù)據(jù)分布特征難以反映實際應用環(huán)境中的數(shù)據(jù)特征。
推薦系統(tǒng)經(jīng)過多年的發(fā)展,收集和累積了大量的真實數(shù)據(jù),這些數(shù)據(jù)既具有一定的數(shù)量規(guī)模,又在一定程度上反映了各領域中真實數(shù)據(jù)的分布特征 ,具有較強的代表性。常用的具有參考意義的數(shù)據(jù)集有:MovieLens數(shù)據(jù)集、EachMovie數(shù)據(jù)集、Book-Crossing數(shù)據(jù)集、Jester Joke數(shù)據(jù)集和Netflix數(shù)據(jù)集。
1.5.2 推薦算法的準確性評價
推薦系統(tǒng)及算法準確性的度量至今仍無統(tǒng)一的標準,一般可從預測準確性和分類準確性2個方面度量推薦算法的推薦質(zhì)量。
1.5.2.1 預測準確性
針對評分預測推薦任務,預測準確性是主要的度量標準。常用的預測準確性度量標準包括平均絕對誤差(Mean Absolute Error, MAE)、歸一化平均絕對誤差(Normalized Mean Absolute Error, NMAE)和均方根誤差(Root Mean Squared Error, RMSE)。
MAE通過統(tǒng)計預測評分與真實評分之間絕對距離的均值來實現(xiàn)準確性度量,與推薦的預測準確性呈反比,對于n個真實評分R={r1,r2,…,rn},推薦算法生成的預測評分為P={p1,p2,…,pn},則MAE可表示為:
(1)
MAE是一種絕對誤差評價標準,其往往因為評分范圍的不同而造成不可比。而NMAE的提出通過使用評分范圍對MAE進行了歸一化處理,從而實現(xiàn)相對誤差度量,克服了MAE的不可比性。對于評分上、下限分別為rmax和rmin數(shù)據(jù)集,NMAE可表示為:
(2)
而RMSE可以提高預測準確性的區(qū)分度,RMSE可表示為:
(3)
1.5.2.2 分類準確性
分類準確性度量標準是對推薦算法進行正確或錯誤決策的頻率統(tǒng)計,分類準確性的度量與分類問題有著密切的關系,所以其度量標準大量借用了分類算法研究中使用的標準,常用的分類準確性度量標準主要有準確率、召回率和F1評分。
準確率量化了在推薦系統(tǒng)所生成的推薦中,符合用戶信息需求的相關推薦結果所占比重,召回率反映了推薦系統(tǒng)實現(xiàn)推薦的全面性。
系統(tǒng)可能實現(xiàn)旳正確推薦和錯誤推薦狀態(tài)可以見表2的混淆表格表示,對應不同推薦狀態(tài)的數(shù)量統(tǒng)計見表3。
則準確率可表示為:
(4)
召回率可表示為:
(5)
F1評分是對準確率與召回率的一種綜合度量,通過二者的協(xié)平均將推薦系統(tǒng)的分類準確性度量表示為單一評價標準,數(shù)學表達式如下:
(6)
表2 推薦系統(tǒng)混淆
表3 推薦系統(tǒng)推薦狀態(tài)數(shù)量混淆
隨著推薦系統(tǒng)在電子商務領域的廣泛應用,其面臨的一系列挑戰(zhàn)也得到了越來越廣泛的關注。推薦系統(tǒng)面臨的主要問題有以下幾點:
(1)特征提取問題。雖然在信息檢索中,文本特征的提取技術已經(jīng)比較成熟,但是推薦系統(tǒng)的對象不一定具有文本特征或者利用文本不足以作為描述[13]。對于多媒體數(shù)據(jù),如視頻、音樂、圖像等的特征提取方法需要結合多媒體內(nèi)容分析領域的相關技術。另外,大規(guī)模數(shù)據(jù)情況下對特征的區(qū)分性要求提高。
(2)數(shù)據(jù)稀疏性問題。在大型的推薦系統(tǒng)中,對于一個用戶,總有大量的對象沒有經(jīng)過評價或者查看,而且這類數(shù)據(jù)常常比己經(jīng)有此用戶評價的數(shù)據(jù)量更大[14]。此外,用戶之間選擇的差異性大,也會加重數(shù)據(jù)的稀疏性問題。
(3)冷啟動問題。冷啟動問題是稀疏性問題的特例[5-14],冷啟動問題可以細分為新用戶問題和新項目問題[15-17]。
當系統(tǒng)中出現(xiàn)新用戶時,該用戶沒有對項目進行評分,推薦系統(tǒng)缺乏關于新用戶的興趣信息和知識。對基于內(nèi)容的過濾算法,推薦系統(tǒng)無法建立關于新用戶的興趣模型;對基于用戶的協(xié)同過濾算法,推薦系統(tǒng)也無法確定該用戶的相似鄰居;對于基于項目的協(xié)同過濾推薦算法,盡管系統(tǒng)可以確定不同項目之間的相似程度,但由于缺乏新用戶的興趣評分,所以仍無法對項目進行評分預測。
對于協(xié)同過濾算法來說,新項目評分的缺失將造成相似度計算和評分預測無法完成。冷啟動問題的主要成因在于推薦系統(tǒng)對于評分數(shù)據(jù)的依賴性,所以需要在推薦系統(tǒng)中引入其它參考信息和知識[18-19],用來克服評分數(shù)據(jù)的缺失對推薦系統(tǒng)的影響。
(4)概念漂移問題。用戶在與推薦系統(tǒng)交互的過程中,其興趣與偏好會受到外部各種因素的影響,如社會、家庭、重大事件都會導致用戶模型發(fā)生變化,從而造成用戶興趣的概念漂移[20-23]。
作為一種動態(tài)人機交互系統(tǒng),推薦系統(tǒng)的概念漂移問題無法避免,因此應建立感知概念漂移的機制[24],對用戶興趣變化進行主動跟蹤。在用戶興趣模型更新、相似度計算和評分預測等各關鍵過程中引入關于評分的時間特性,對用戶的歷史評分進行區(qū)分,從而保證推薦結果符合用戶需求。
(5)算法伸縮性問題。由于推薦系統(tǒng)的推薦精度和實時性是一對矛盾。目前大部分推薦技術的實時性是以犧牲系統(tǒng)的推薦質(zhì)量為代價的[24-26]。推薦系統(tǒng)可采用基于模型的推薦算法來提高其伸縮性,將大計算量的計算任務以離線方式進行,如推薦系統(tǒng)中的特征抽取、用戶建模、相似度計算等都可以事先或定期進行離線計算,但是基于模型的推薦算法往往會犧牲一定的推薦準確性,造成推薦質(zhì)量的下降。
對目前電子商務個性化推薦方面的研究,筆者認為,協(xié)同過濾算法在未來一段時間內(nèi)仍會是電子商務領域中的主流算法,而該算法自身存在的諸如數(shù)據(jù)的稀疏性問題和冷啟動問題始終是國內(nèi)外學者的研究熱點。除了對協(xié)同過濾算法本身進行算法改進之外,數(shù)據(jù)挖掘技術的興起無疑為克服協(xié)同過濾算法的短板提供了更多可能。
隨著人們對推薦系統(tǒng)認識的逐步深入,用戶需求也將更易于被研究者理解,更加符合用戶需求的協(xié)同過濾算法也終將被提出。同時,評估協(xié)同過濾算法的度量也將隨著認識的變化不斷改進。此外,隨著移動終端的普及,對諸如位置、時間和終端等上下文信息進行充分利用也必將成為未來推薦系統(tǒng)的研究重點。