基于层次分析的个性化推荐算法
2017-01-18郭晓慧
郭晓慧
(福州大学阳光学院, 福建 福州 350015)
基于层次分析的个性化推荐算法
郭晓慧
(福州大学阳光学院, 福建 福州 350015)
运用层次分析方法计算商品品牌、类型、价格及生产日期的权重值,通过加权求和的方法计算出消费者对商品的喜好程度并进行从大到小排列。结果表明,该算法在复杂程度上低于协同过滤算法。
层次分析方法; 个性化推荐; 权重分析
0 引 言
在当今信息时代,人们能够获取海量的信息。但与此同时,在海量信息的背后,人们很难找出自己真正感兴趣或真正有用的信息,一些“冷门”信息也很难被发现[1-3]。因此,根据人们需求提供出一种个性化的信息筛选方法就显得比较重要,由此就出现了个性化推荐算法,在为人们寻找出所需信息的同时,也能满足个性化的需求。
智能推荐是随着个性化推荐方法的不断发展而发展起来的,这种方法融合了传统协同过滤技术和数据挖掘技术两种技术的优点[4-8]。在数据挖掘技术中,可以通过对数据信息的挖掘和分析总结出客户的偏好习惯等,而协同过滤技术则将和此客户有类似偏好习惯的客户过滤出来,并根据他们的偏好习惯推荐信息和商品[9]。如GroupLens系统就利用了协同过滤技术给客户推荐新闻和电影信息;亚马逊等网上书店则根据用户以往的购书经历推荐类似的书籍;天猫、京东等也根据用户浏览历史等推荐出类似的商品信息供用户浏览等,这些都是协同过滤技术应用的表现。在了解用户偏好习惯及消费模式时,主要根据顾客评价、顾客浏览历史特点、顾客购买经历等为主要参考依据的。这3个参考依据各有其特点,若只以顾客评价为参考,则无法满足通用性要求,这主要是因为顾客评价需要顾客的配合,但有些小网站目前还无法实现这一点,因此只以这一数据信息为依据,则无法得到客观的数据。而若只以顾客浏览历史为依据获取用户偏好习惯等只能获得用户的爱好和习惯,无法真正确定出用户需要的商品,同样也无法真实有效地反应出用户的消费需求。而顾客购买经历为依据获取的用户消费信息则有效地避免了以上两种方法的不足之处,并以顾客的真实消费为依据反映出客户的消费习惯,因此,这种智能推荐方法是目前应用较为广泛的[10-11]。
层次分析方法是一种定性定量多因素决策的方法[12]。层次分析方法应用到商品个性推荐中尚未有研究。文中将层次分析方法应用到商品个性化推荐中。层次分析方法(Analytic Hierarchy Process, AHP)主要是用来描述人主观感觉的一种方法,并实现定量分析,通过标度将人对某一事物或商品的主观感觉以数量化的形式表现出来。数量化表现过程中所使用的标度一般多采用Saaty设计的标准。Saaty在设计标度时,设置了9个标准,即1~9的评判标准。在实现数量化时又是通过两两比较实现的。被比较的元素会通过判断矩阵形式实现互相之间的比较,得出其权重比例,最后通过一致性的检验实现人主观感觉的数量化。但在使用Saaty标度实现人主观感觉的分析时,只能检验出人们主观感觉在前后是否保持一致,其主观感觉的对错、是否合乎情理等则无法判断出来。因此针对层次分析法进行了相应的改进,在原层次分析法的基础上加入了聚类分析这一思想。
1 基于层次分析的个性推荐算法
1.1 层次分析模型
影响消费者对商品的喜好程度由多种因素组成,文中仅考虑如下几方面因素:
因素1(factor1):品牌,即消费者对商品的直观影像;
因素2(factor2):价格,即消费者对商品的需求能力;
因素3(factor3):商品类型,即商品的归属;
因素4(factor4):商品群体,即商品使用群体;
因素5(factor5):商品上架时间,即商品的生成时间。
商品因素数据可以从电子商务网站获取。商品的层次分析模型如图1所示。
图1 商品层次分析模型
在该模型中,最上面为目标层,中间层为因素层,底层为决策层。该模型展示了影响消费者购买商品的5大因素。决策层和因素层的连线体现了每个商品与每个因素的相关。
设消费者对商品喜好程度的因素权重分别为
建立判断矩阵,商品层次分析算法流程如图2所示。
图2 商品层次分析算法流程图
文中使用的九级标度法用于构建商品购买因素之间的重要程度判断矩阵,见表1。
表1 九级标度法
在层次分析法中,首先需要建立商品购买的7个因素的判断矩阵A,在矩阵中有
接着需要对判断矩阵每一列元素进行正规处理。其计算方法:
得到如下的正规化矩阵B:
此时将矩阵按行进行相加,计算公式为:
i=1,2,3,4,5
最终得到向量
接着需要将向量正规化,计算公式为:
i=1,2,3,4,5
通过计算得到特征向量
接着计算判断矩阵的最大特征根,计算公式如下:
完成最大特征值的计算后需要进行一致性检验。一致性指标计算公式:
接着查询RI与矩阵阶数关系,RI和矩阵阶数关系见表2。
表2 RI和矩阵阶数关系
通过查询,表2中的数据为1.12,此时需要验证一致性比率
如果CR的结果≤0.01时,通常认为判断矩阵一致性是可以认可的,反之不认可。
通过以上步骤得到每位商品购买者对商品一级指标给出的权重系数及其一致性检验,见表3。
表3 顾客对一级指标的一致性检验
需要对该表中的数据进行一致性检验,将CR>0.1的权重剔除,把合格的权重进行算术平均值。得到最终W1、W2、W3、W4、W5的值。
1.2 层次分析方法改进
为了反映出每位顾客对综合排序向量的影响,文中对层次分析法的判断矩阵进行了改进。使用公式为:
式中:Fi----第i个顾客的构造判断矩阵的一致性程度;
m----判断矩阵的阶数;
λmax----第i个顾客所构造的判断矩阵的最大特征值。
把通过一致性检验的顾客向量进行聚类分析。本算法使用如下公式进行聚类分析。
式中:λi----第i个顾客的权重;
t----个体排序向量的类别数;
φp----第p个类中包含的排序向量。
将顾客构造的判断矩阵的一致性与各类别进行综合,最终确定顾客的综合权重。计算公式如下:
最后使用公式
改进层次分析方法与传统层次方法比较来看,在权重分配上更合理。
1.3 层次特性向量在个性推荐中的应用
影响消费者购买商品因素主要是:品牌、价格、商品类型、商品群体及商品价格。为了计算消费者对商品的喜爱程度,采用权重打分方法来计算:
Ti= factor1*W1+factor2*W2+
factor3*W3+factor4*W4+
factor5*W5
式中: factor1----消费者对商品的直观影像评分;
factor2----消费者对商品的需求能力评分;
factor3----商品类型,即商品的归属评分;
factor4----商品群体,即商品使用群体评分;
factor5----商品上架时间,即商品的生成时间评分;
W1、W2、W3、W4、W5----层次分析方法计算的因素权重。
由T函数可知是一个多元二次函数,T的最大值与消费者对商品的评价及权重数值有关。将各种商品的T值进行计算,按照从大到小的顺序进行排列,在Web网页上推荐出消费者喜爱的商品。
1.4 实验结果与分析
文中从网站http://movielens.umn.edu/获取电影信息,该网站是一个非盈利机构,是由美国 Minnesota 大学计算机科学与工程创办。根据网站2016年1月份公布的数据集240 000个用户对33 000部电影有22 000 000条的评价数据。
将MovieLens数据代入到改进层次分析方法及协同过滤算法中进行算法精度比较。在推荐算法中对算法精度的分析有平均绝对偏差法、准确率及ROC(Receiver Operating Characteristic)3种方法[13]。文中从数据中选择适当数据进行推荐,选择人数为10、15、20、25人的数据进行推荐。统计结果如图3所示。
图3 算法比较
由图中可知,层次分析方法在精度上低于协同过滤算法,随着统计人数的增加,层次分析方法精度与协同过滤算法精度差值越来越小。其主要原因是由于层次分析方法中权重值引起,统计人数越多层次分析效果越好。
基于层次分析的个性推荐算法是一种轻量级算法,该算法复杂程度主要在层次分析方法中,算法的复杂程度为O(m),而协同过滤算法的复杂程度为O(m2),其计算复杂程度和协同过滤算法比较,其复杂性降低。
2 结 语
将层次分析方法应用于商品购买推荐系统中,提出了一种关于层次分析(AHP)方法的推荐方法。基于层次分析的个人化推荐算法对影响用户的因素进行了量化及权重分析。采用加权方法来计算用户对商品的喜好程度,将所计算的结果进行排序,通过Web技术将用户喜欢的商品展示给用户。该算法与协同过滤算法比较,在算法复杂程度上略低于协同过滤算法。
[1] 刘梦娟,王巍,李杨曦,等.AttentionRank+:一种基于关注关系与多用户行为的图推荐算法[J].计算机学报,2016,39(37):2-16.
[2] 余永红,高阳,王皓.基于Ranking的泊松矩阵分解兴趣点推荐算法[J].计算机研究与发展,2016,53(8):1652-1663.
[3] 孔欣欣,苏本昌,王宏志,等.基于标签权重评分的推荐模型及算法研究[J].计算机研究与发展,2015,38(23).http://www.cnki.net/kcms/detail/11.1826.TP.20150715.2319.034.html.
[4] 刘海洋,王志海,黄丹,等.基于评分矩阵局部低秩假设的成列协同排名算法[J].软件学报,2015,26(11):2981-2993.
[5] 高明,金澈清,钱卫宁,等.面向微博系统的实时个性化推荐[J].计算机学报,2014(4):963-975.
[6] 王瑞琴,蒋云良,李一啸,等.一种基于多元社交信任的协同过滤推荐算法[J].计算机研究与发展,2016,53(6):220-230.
[7] 胡勋,孟祥武,张玉洁,等.一种融合项目特征和移动用户信任关系的推荐算法[J].软件学报,2014(8):1817-1830.
[8]PERAMS,NGYK.Agrouprecommenderformoviesbasedoncontentsimilarityandpopularity[J].InformationProcessingandManagement,2013,49(3):673-687.
[9] 侯艳军.基于粒计算的电子商务网推荐算法的研究[D].福州:福建师范大学,2012.
[10] 郭宇红,杨金然.一种基于AHP的智能电影推荐方法[J].南京邮电大学学报:自然科学版,2015(3):97-112.
[11] 杨柳,何波.基于层次分析法的电影产品创新性评价研究[J].当代电影,2013(7):165-168.
[12] 邓雪,李家铭,曾浩健,等.层次分析法权重计算方法分析及其应用研究[J].数学的实践与认识,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