郭曉慧
(福州大學陽光學院, 福建 福州 350015)
基于層次分析的個性化推薦算法
郭曉慧
(福州大學陽光學院, 福建 福州 350015)
運用層次分析方法計算商品品牌、類型、價格及生產(chǎn)日期的權重值,通過加權求和的方法計算出消費者對商品的喜好程度并進行從大到小排列。結果表明,該算法在復雜程度上低于協(xié)同過濾算法。
層次分析方法; 個性化推薦; 權重分析
在當今信息時代,人們能夠獲取海量的信息。但與此同時,在海量信息的背后,人們很難找出自己真正感興趣或真正有用的信息,一些“冷門”信息也很難被發(fā)現(xiàn)[1-3]。因此,根據(jù)人們需求提供出一種個性化的信息篩選方法就顯得比較重要,由此就出現(xiàn)了個性化推薦算法,在為人們尋找出所需信息的同時,也能滿足個性化的需求。
智能推薦是隨著個性化推薦方法的不斷發(fā)展而發(fā)展起來的,這種方法融合了傳統(tǒng)協(xié)同過濾技術和數(shù)據(jù)挖掘技術兩種技術的優(yōu)點[4-8]。在數(shù)據(jù)挖掘技術中,可以通過對數(shù)據(jù)信息的挖掘和分析總結出客戶的偏好習慣等,而協(xié)同過濾技術則將和此客戶有類似偏好習慣的客戶過濾出來,并根據(jù)他們的偏好習慣推薦信息和商品[9]。如GroupLens系統(tǒng)就利用了協(xié)同過濾技術給客戶推薦新聞和電影信息;亞馬遜等網(wǎng)上書店則根據(jù)用戶以往的購書經(jīng)歷推薦類似的書籍;天貓、京東等也根據(jù)用戶瀏覽歷史等推薦出類似的商品信息供用戶瀏覽等,這些都是協(xié)同過濾技術應用的表現(xiàn)。在了解用戶偏好習慣及消費模式時,主要根據(jù)顧客評價、顧客瀏覽歷史特點、顧客購買經(jīng)歷等為主要參考依據(jù)的。這3個參考依據(jù)各有其特點,若只以顧客評價為參考,則無法滿足通用性要求,這主要是因為顧客評價需要顧客的配合,但有些小網(wǎng)站目前還無法實現(xiàn)這一點,因此只以這一數(shù)據(jù)信息為依據(jù),則無法得到客觀的數(shù)據(jù)。而若只以顧客瀏覽歷史為依據(jù)獲取用戶偏好習慣等只能獲得用戶的愛好和習慣,無法真正確定出用戶需要的商品,同樣也無法真實有效地反應出用戶的消費需求。而顧客購買經(jīng)歷為依據(jù)獲取的用戶消費信息則有效地避免了以上兩種方法的不足之處,并以顧客的真實消費為依據(jù)反映出客戶的消費習慣,因此,這種智能推薦方法是目前應用較為廣泛的[10-11]。
層次分析方法是一種定性定量多因素決策的方法[12]。層次分析方法應用到商品個性推薦中尚未有研究。文中將層次分析方法應用到商品個性化推薦中。層次分析方法(Analytic Hierarchy Process, AHP)主要是用來描述人主觀感覺的一種方法,并實現(xiàn)定量分析,通過標度將人對某一事物或商品的主觀感覺以數(shù)量化的形式表現(xiàn)出來。數(shù)量化表現(xiàn)過程中所使用的標度一般多采用Saaty設計的標準。Saaty在設計標度時,設置了9個標準,即1~9的評判標準。在實現(xiàn)數(shù)量化時又是通過兩兩比較實現(xiàn)的。被比較的元素會通過判斷矩陣形式實現(xiàn)互相之間的比較,得出其權重比例,最后通過一致性的檢驗實現(xiàn)人主觀感覺的數(shù)量化。但在使用Saaty標度實現(xiàn)人主觀感覺的分析時,只能檢驗出人們主觀感覺在前后是否保持一致,其主觀感覺的對錯、是否合乎情理等則無法判斷出來。因此針對層次分析法進行了相應的改進,在原層次分析法的基礎上加入了聚類分析這一思想。
1.1 層次分析模型
影響消費者對商品的喜好程度由多種因素組成,文中僅考慮如下幾方面因素:
因素1(factor1):品牌,即消費者對商品的直觀影像;
因素2(factor2):價格,即消費者對商品的需求能力;
因素3(factor3):商品類型,即商品的歸屬;
因素4(factor4):商品群體,即商品使用群體;
因素5(factor5):商品上架時間,即商品的生成時間。
商品因素數(shù)據(jù)可以從電子商務網(wǎng)站獲取。商品的層次分析模型如圖1所示。
圖1 商品層次分析模型
在該模型中,最上面為目標層,中間層為因素層,底層為決策層。該模型展示了影響消費者購買商品的5大因素。決策層和因素層的連線體現(xiàn)了每個商品與每個因素的相關。
設消費者對商品喜好程度的因素權重分別為
建立判斷矩陣,商品層次分析算法流程如圖2所示。
圖2 商品層次分析算法流程圖
文中使用的九級標度法用于構建商品購買因素之間的重要程度判斷矩陣,見表1。
表1 九級標度法
在層次分析法中,首先需要建立商品購買的7個因素的判斷矩陣A,在矩陣中有
接著需要對判斷矩陣每一列元素進行正規(guī)處理。其計算方法:
得到如下的正規(guī)化矩陣B:
此時將矩陣按行進行相加,計算公式為:
i=1,2,3,4,5
最終得到向量
接著需要將向量正規(guī)化,計算公式為:
i=1,2,3,4,5
通過計算得到特征向量
接著計算判斷矩陣的最大特征根,計算公式如下:
完成最大特征值的計算后需要進行一致性檢驗。一致性指標計算公式:
接著查詢RI與矩陣階數(shù)關系,RI和矩陣階數(shù)關系見表2。
表2 RI和矩陣階數(shù)關系
通過查詢,表2中的數(shù)據(jù)為1.12,此時需要驗證一致性比率
如果CR的結果≤0.01時,通常認為判斷矩陣一致性是可以認可的,反之不認可。
通過以上步驟得到每位商品購買者對商品一級指標給出的權重系數(shù)及其一致性檢驗,見表3。
表3 顧客對一級指標的一致性檢驗
需要對該表中的數(shù)據(jù)進行一致性檢驗,將CR>0.1的權重剔除,把合格的權重進行算術平均值。得到最終W1、W2、W3、W4、W5的值。
1.2 層次分析方法改進
為了反映出每位顧客對綜合排序向量的影響,文中對層次分析法的判斷矩陣進行了改進。使用公式為:
式中:Fi----第i個顧客的構造判斷矩陣的一致性程度;
m----判斷矩陣的階數(shù);
λmax----第i個顧客所構造的判斷矩陣的最大特征值。
把通過一致性檢驗的顧客向量進行聚類分析。本算法使用如下公式進行聚類分析。
式中:λi----第i個顧客的權重;
t----個體排序向量的類別數(shù);
φp----第p個類中包含的排序向量。
將顧客構造的判斷矩陣的一致性與各類別進行綜合,最終確定顧客的綜合權重。計算公式如下:
最后使用公式
改進層次分析方法與傳統(tǒng)層次方法比較來看,在權重分配上更合理。
1.3 層次特性向量在個性推薦中的應用
影響消費者購買商品因素主要是:品牌、價格、商品類型、商品群體及商品價格。為了計算消費者對商品的喜愛程度,采用權重打分方法來計算:
Ti= factor1*W1+factor2*W2+
factor3*W3+factor4*W4+
factor5*W5
式中: factor1----消費者對商品的直觀影像評分;
factor2----消費者對商品的需求能力評分;
factor3----商品類型,即商品的歸屬評分;
factor4----商品群體,即商品使用群體評分;
factor5----商品上架時間,即商品的生成時間評分;
W1、W2、W3、W4、W5----層次分析方法計算的因素權重。
由T函數(shù)可知是一個多元二次函數(shù),T的最大值與消費者對商品的評價及權重數(shù)值有關。將各種商品的T值進行計算,按照從大到小的順序進行排列,在Web網(wǎng)頁上推薦出消費者喜愛的商品。
1.4 實驗結果與分析
文中從網(wǎng)站http://movielens.umn.edu/獲取電影信息,該網(wǎng)站是一個非盈利機構,是由美國 Minnesota 大學計算機科學與工程創(chuàng)辦。根據(jù)網(wǎng)站2016年1月份公布的數(shù)據(jù)集240 000個用戶對33 000部電影有22 000 000條的評價數(shù)據(jù)。
將MovieLens數(shù)據(jù)代入到改進層次分析方法及協(xié)同過濾算法中進行算法精度比較。在推薦算法中對算法精度的分析有平均絕對偏差法、準確率及ROC(Receiver Operating Characteristic)3種方法[13]。文中從數(shù)據(jù)中選擇適當數(shù)據(jù)進行推薦,選擇人數(shù)為10、15、20、25人的數(shù)據(jù)進行推薦。統(tǒng)計結果如圖3所示。
圖3 算法比較
由圖中可知,層次分析方法在精度上低于協(xié)同過濾算法,隨著統(tǒng)計人數(shù)的增加,層次分析方法精度與協(xié)同過濾算法精度差值越來越小。其主要原因是由于層次分析方法中權重值引起,統(tǒng)計人數(shù)越多層次分析效果越好。
基于層次分析的個性推薦算法是一種輕量級算法,該算法復雜程度主要在層次分析方法中,算法的復雜程度為O(m),而協(xié)同過濾算法的復雜程度為O(m2),其計算復雜程度和協(xié)同過濾算法比較,其復雜性降低。
將層次分析方法應用于商品購買推薦系統(tǒng)中,提出了一種關于層次分析(AHP)方法的推薦方法。基于層次分析的個人化推薦算法對影響用戶的因素進行了量化及權重分析。采用加權方法來計算用戶對商品的喜好程度,將所計算的結果進行排序,通過Web技術將用戶喜歡的商品展示給用戶。該算法與協(xié)同過濾算法比較,在算法復雜程度上略低于協(xié)同過濾算法。
[1] 劉夢娟,王巍,李楊曦,等.AttentionRank+:一種基于關注關系與多用戶行為的圖推薦算法[J].計算機學報,2016,39(37):2-16.
[2] 余永紅,高陽,王皓.基于Ranking的泊松矩陣分解興趣點推薦算法[J].計算機研究與發(fā)展,2016,53(8):1652-1663.
[3] 孔欣欣,蘇本昌,王宏志,等.基于標簽權重評分的推薦模型及算法研究[J].計算機研究與發(fā)展,2015,38(23).http://www.cnki.net/kcms/detail/11.1826.TP.20150715.2319.034.html.
[4] 劉海洋,王志海,黃丹,等.基于評分矩陣局部低秩假設的成列協(xié)同排名算法[J].軟件學報,2015,26(11):2981-2993.
[5] 高明,金澈清,錢衛(wèi)寧,等.面向微博系統(tǒng)的實時個性化推薦[J].計算機學報,2014(4):963-975.
[6] 王瑞琴,蔣云良,李一嘯,等.一種基于多元社交信任的協(xié)同過濾推薦算法[J].計算機研究與發(fā)展,2016,53(6):220-230.
[7] 胡勛,孟祥武,張玉潔,等.一種融合項目特征和移動用戶信任關系的推薦算法[J].軟件學報,2014(8):1817-1830.
[8]PERAMS,NGYK.Agrouprecommenderformoviesbasedoncontentsimilarityandpopularity[J].InformationProcessingandManagement,2013,49(3):673-687.
[9] 侯艷軍.基于粒計算的電子商務網(wǎng)推薦算法的研究[D].福州:福建師范大學,2012.
[10] 郭宇紅,楊金然.一種基于AHP的智能電影推薦方法[J].南京郵電大學學報:自然科學版,2015(3):97-112.
[11] 楊柳,何波.基于層次分析法的電影產(chǎn)品創(chuàng)新性評價研究[J].當代電影,2013(7):165-168.
[12] 鄧雪,李家銘,曾浩健,等.層次分析法權重計算方法分析及其應用研究[J].數(shù)學的實踐與認識,2012,42(7):93-100.
[13] 于洪,李俊華.一種解決新項目冷啟動問題的推薦算法[J].軟件學報,2015,26(6):1395-1408.
Personalized recommendation algorithm based on analytic hierarchy process
GUO Xiaohui
(Fuzhou University Institute of Sunshine, Fuzhou 350015, China)
Analytic hierarchy process is used to calculate the weighted values of brand, price, type, price and weight and production date and then range them from 10 to 0 according to consumer preferences. Study show that the algorithm is simpler than that of the collaborative filtering algorithm.
analytic hierarchy process; personalized recommendation; weight analysis.
2016-07-17
郭曉慧(1984-),女,漢族,福建福安人,福州大學陽光學院講師,碩士,主要從事個性化推薦方向研究,E-mail:25413301@qq.com.
10.15923/j.cnki.cn22-1382/t.2016.6.14
TP 273
A
1674-1374(2016)06-0587-05