基于改进RFM模型的协同过滤推荐算法研究

2015-09-26 02:57王召义雷丽丽安徽商贸职业技术学院经济贸易系安徽省芜湖市小洲中心小学安徽师范大学教育科学学院安徽芜湖24002
安阳工学院学报 2015年2期
关键词:利润定义矩阵

王召义,雷丽丽(.安徽商贸职业技术学院经济贸易系;2.安徽省芜湖市小洲中心小学;3.安徽师范大学教育科学学院,安徽芜湖24002)

基于改进RFM模型的协同过滤推荐算法研究

王召义1,雷丽丽2,3
(1.安徽商贸职业技术学院经济贸易系;2.安徽省芜湖市小洲中心小学;3.安徽师范大学教育科学学院,安徽芜湖241002)

为了提高协同过滤推荐技术的服务效率和质量,给出了一种基于改进RFM模型的协同过滤推荐算法。该算法把利润引入RFM模型中,用利润代替购买金额,形成RFP模型,利用RFP来完善基于RFM的相似性计算,充分体现用户价值对推荐结果的影响。实验表明,该算法在提升推荐结果的覆盖率和准确率方面都有着较好的优势。

协同过滤;RFM;电子商务;RFP

1 基于RFM模型的协同过滤推荐系统

电子商务在为用户提供越来越多的信息和选择的同时,也会使用户在大量的商品信息中迷茫,无法顺利搜索到自己需要的商品,为解决这一矛盾,电子商务推荐系统应运而生[1]。基于RFM模型的协同过滤推荐系统主要是以用户交易记录中的R、F、M三个指标值为数据输入源,进行智能推荐。RFM模型是通过一个用户的近期购买行为、购买的总体频率以及花了多少钱三项指标来描述该客户的价值状况,动态地展示了一个客户的全部轮廓,为个性化服务提供了依据。其中,R(Re⁃cency,R)表示用户在给定的时段内多久前最后一次购买某商品;F(Frequency,F)表示用户在给定的时段内总共购买某商品多少次;M(Monetary,M)表示用户在给定的时段内共花费多少金额购买某商品[2]。众所周知,企业追求的是利润最大化,关心的是客户价值,而这种推荐系统却没有考虑到这些因素。因此,提出把利润(Profit,P)引入到RFM模型中,以利润代替购买金额,把用户价值体现出来,有利于提高推荐准确率。

2 研究基础

2.1协同过滤

协同过滤(Collaborative Filtering recommenda⁃tion,CF)推荐技术首先分析用户兴趣,其次计算用户相似度及建立目标用户的最近邻居社区,最后根据最近邻居社区对某项目的评价,预测目标用户对该项目的评价,从而判断是否需要对目标用户进行推荐[3]。它基于这样的假设:如果用户对一些项目具有相近的评价结果,那么他们对其他项目的评价结果也必然是相近的[4]。

定义1已知数据源D=(U,I,R),其中U= (U1,U2,U3,…,Um)是用户集合,I=(I1,I2,I3,…,In)是项目集合,R是用户对项目的评分矩阵。那么,Rij表示用户i对项目j的评分值。其中i=1,2,3,…,m、j=1,2,3,…,n。

定义2关于相似度的计算,现有的几种基本方法:Pearson相关系数、Cosine相似度、Tanimoto系数等都是基于向量的,其实也就是计算两个向量的距离,距离越近相似度越大。研究中选用Pear⁃son相关系数计算相似度,则用户i和j之间的相似性sim(i,j)计算公式为:

其中,Ric表示用户i对项目s的评分,Rjc表示用户j对项目s的评分,-Ri和-Rj表示用户i和j对所有项目的平均评分,H表示用户i和j共同评分过的项目集合。

定义3设目标用户u,对于∀i∈U,将sim(u,i)最大的top-L位用户i组成集合N,则称集合N为目标用户u的最近邻居社区。

定义4如果集合N是目标用户u的最近邻居社区,则目标用户u对项目j的预测评分Puj为:

2.2基于RFM模型的协同过滤推荐算法

用户对商品的评价信息是衡量用户偏好的主要指标,也是协同过滤推荐的核心思想,具有一定的主观性。然而,RFM模型中的三个指标(R、F、M)恰恰反映了用户对商品的偏好,且RFM模型的各个指标值可以从电子商务网站历史交易数据库中获取,所以RFM模型与协同过滤推荐便有了结合点——以RFM综合值作为协同过滤的数据输入。基于RFM模型的协同过滤推荐算法处理过程如图1所示。

定义5设I为RFM综合值,Ii,c和Ii,c表示用户i和j购买商品c时生成的RFM综合值,和分别表示用户i和j在各自所有已购买的商品项上的平均加权RFM综合值,H表示用户i和j共同评分过的商品项目集合。依据定义2,用户i和j基于RFM综合值的相似性sim(i,j)计算公式为:

根据定义3和定义4,计算出最近邻社区和预测目标客户对未购买商品的偏好程度,并排列得到商品集合推荐给目标客户。

2.3 RFP模型

基于RFM的CF算法,在推荐过程中可能会遇到这样的情况:若是企业拥有若干个购买金额相差不多的用户,但利润却相差很大,RFM模型就无法精准分辨谁才是企业的重要用户;若是企业拥有若干个购买金额差别较大的用户,但购买金额大的客户利润小于购买金额小的客户利润,RFM模型可能会造成错误的推荐结果[5]。而企业只愿为高价值用户付出较多推荐成本,不愿为低价值用户付出过多推荐成本。一言蔽之,企业追求的是利润,不是纯粹的高销售额,所以在RFM模型中不应该忽略利润这一关键因素。

因此,建立RFP模型,关键是如何表达利润P。在电子商务企业中,常以利润率(Profit rate,Pr)的高低来判断某商品是否具有推荐的意义。

定义6已知购买总金额M,商品利润率Pr,则用户给企业创造的利润P为:P=M∙Pr。

定义7 RFP模型包括R、F、P三个指标:R(Re⁃cency,R)表示用户在给定的时段内多久前最后一次购买某商品;F(Frequency,F)表示用户在给定的时段内总共购买某商品多少次;P(Profit,P)表示用户在给定的时段内购买某商品给企业带来的利润。

综上所述,基于RFP的CF算法研究基于以下假设:1)最近有购买行为的用户比最近没有购买行为的用户再次购买的几率要高;2)购买频率较高的用户比购买频率较低的用户再次购买的几率要高;3)创造利润较高的用户比创造利润较低的用户再次购买的几率要高[6]。

3 基于改进RFM模型的协同过滤推荐算法

3.1用户购买偏好挖掘

设Prij为Pr矩阵中的元素。Prij表示用户i购买商品j的利润率,Prij值由企业根据成本进行确定。一般模式下有Pr1j=Pr2j=…=Prmj,即某一商品的利润率是不变的。利润率Pr矩阵如式(1)所示。

设Mij为M矩阵中的元素,Mij表示用户i购买商品j所花费的金额,Mij值可以从用户交易数据库中直接获得。购买金额M矩阵如式(2)所示。

设Pij为P矩阵中的元素,Pij表示用户i购买商品j为企业创造的利润。由定义6可知,对式(1)Pr矩阵和式(2)M矩阵进行点乘操作,即Pij=Prij∗Mij,可以得到利润P矩阵如式(3)所示。

对用户交易记录进行简单统计即可获取R、F、M值,但在计算用户对商品的偏好程度时,需要对各类数据进行规范化处理,以保障计算得到的总体偏好更加精确,此处采用极差正规比变换方法进行数据规范化处理[7]。

对于收益性指标F、M和P,因其是正向影响,所以分别采用式(4)、式(5)和式(6)进行规范化处理。对于成本性指标R,因其是负向影响,所以采用式(7)进行规范化处理。

其中,F、M、R、P是原始值,Fmin、Mmin、Rmin、Pmin是原始值中的最小值,Fmax、Mmax、Rmax、Pmax是原始值中的最大值,F′、M′、R′、P′是预处理以后的值。

为了方便数据处理和数据减噪,对F′、R′、P′值进行加权求和操作,得到的综合值记为Z,计算公式为:

其中:Zij表示用户i对商品j的综合值;R′ij,F′ij,P′ij分别表示用户i对商品j的RFP值;Wf,Wp,Wr分别是RFP指标的权重系数。设定权重的方法一般是通过专家打分,之后用层次分析法计算出每个指标的权重,即Wf+Wp+Wr=1。

由定义1,可以建立用户-商品项的Z矩阵,如式(9)所示。

3.2最近邻居社区形成

协同过滤推荐技术的关键在于建立目标用户的最近邻居社区,而建立最近邻居社区的基础是计算用户之间的相似性[8-10]。

由定义5,设H是用户Ci和Cj共同购买过的商品集合,则sim(Ci,Cj)的计算式为:

其中:Zci,s和Zcj,s分别表示用户Ci和Cj对商品项s的综合值;ci和cj分别表示用户Ci和Cj对全部商品项的综合值的平均值。

由定义3可知,对于目标用户C,将sim(Ci,Cj)值由大到小排列的top-k位邻居组成集合N={N1,N2,N3,…,Nk},即目标用户C与用户N1最相似,与N2相似度其次,依此类推,则称集合N为目标用户C的最近邻居社区。

3.3智能推荐

智能推荐的主要工作是依据集合N向目标用户C进行商品的自动化推荐[11,12]。依据定义4,设目标用户为C,a是集合N中的元素,则目标用户C对商品j的综合指标的预测值PC,j可以通过集合N中各用户的商品项综合值得到,其计算式为:

把计算出的PC,j值进行降序操作,把前top-L位的商品推荐给目标用户C。至此,基于RFP的CF算法的推荐工作结束。

4 实验结果及分析

4.1实验数据

本实验实证数据选自安徽省芜湖市某从事坚果销售的电子商务企业的用户交易数据库。主要用到的数据表为sales(商品交易数据)、customer(用户信息表)、produc(t商品信息表)、time(2014年2月至2014年6月商品销售时间信息表),其中包含578名用户在2014年2月至2014年6月期间购买60种商品的交易记录86735条。根据以上数据统计出每位客户的R、F、M值,依据利润率计算出利润。全部数据划分为练习集和测试集,其中练习集为2014年2月至2014年4月的有效记录64951条,约占75%,测试集为2014年5月和6月的有效记录21784条,约占25%,即阀值r=0.75。

注:实验选用的交易记录均为有效交易,Pr值是电子商务企业提供的真实数据,根据企业要求,不对外公开Pr值。

4.2度量标准

零售行业的商品一般分为两类:用户在购买时感兴趣的商品和不感兴趣的商品,而企业所使用的推荐方法可能向用户推荐了他感兴趣或者不感兴趣的商品。因此,本文使用Mobasher给出的评价测度:包括覆盖率(C)、准确率(P)以及F-测度(Fm)3个指标作为度量标准,设满足推荐条件的产品集为A,用户实际购买的产品数集D,正确推荐给用户的产品数集B,且有B=A⋂D[13,14]。则有如下公式(12)-(14)。

根据式(12)(13),若要提高覆盖率C,D不变时,A就要变大,而A变大会导致A⋂D也随着变大,但是A的增幅要远远大于A⋂D的增幅,因此准确率P反而降低。因此,为了更好地评价推荐质量,用Fm来综合这两个指标,一般而言,具有较好的Fm(即C和P都较好)的模型推荐质量较好[15]。

4.3实验结果及分析

实验1:常见CF算法对比实验

在以上实验数据和度量标准的前提下,以基于RFM的CF算法和binary的RS model[16]为参照进行对比实验。

令top-L的值分别为3,5,10,15,20,25,30等,观察Fm值变化情况。表1为实验过程计算得到的Fm值,图2为三种推荐算法性能比较。

表1 三种推荐算法的Fm比较

通过表1和图2可以看出,当r=0.75不变、top-L值逐渐变大时,基于RFP的CF算法的Fm值较好,但随着推荐产品数量的增加,RS Model与RFP的Fm值逐渐接近,证明以利润替代购买金额可以提高协同过滤推荐的满意度和效率。由于企业的定价方式多为基于成本的定价方式,这样企业更容易预估商品的利润率,因此基于RFP的CF算法可以在电子商务销售企业推广应用[17]。

实验2:不同权重下基于RFP的CF算法对比实验

RFP指标的权重需要对该电子商务公司相关人员进行调研,调查对象包括:总经理3人,业务经理3人,店长6人,前台操作人员9人,客户6人,共计27人,调查对象平均分为三组(A组、B组和C组),每组9人。用层次分析法对收集的数据进行计算,A组计算结果为Wf=0.255,Wp=0.509,Wr= 0.236;B组计算结果为Wf=0.355,Wp=0.413,Wr= 0.232;C组计算结果为Wf=0.405,Wp=0.375,Wr= 0.220。表2为实验过程计算得到的Fm值,图3为不同权重下基于RFP的CF算法性能比较。

表2 不同权重下的Fm比较

通过表2和图3可以看出,A组的结果优于B组的结果,B组的结果优于C组的结果,证明在top-L值较小的情况下,权重Wp对推荐效果有着积极影响,但随着top-L值的增大,三组的Fm值逐渐接近,即随着推荐商品的增多,权重对推荐效果的影响逐渐变小。

5 结束语

电子商务企业在提供推荐服务时,不仅要考虑用户的消费特点,也要考虑客户价值在CF中的体现。正如以上所述,把利润引入到传统的RFM模型中,以利润替代购买金额,更符合企业目标要求,也让推荐结果更加符合实际情况,以RFP模型来修正基于RFM的CF算法具有一定的借鉴作用。

[1]刘平峰,聂规划,陈冬林.电子商务推荐系统研究综述[J].情报杂志,2007,26(9):46-50.

[2]赵晓煜,黄小原,曹忠鹏.基于顾客交易数据的协同过滤推荐方法[J].东北大学学报:自然科学版,2009(12):1792-1795.

[3]陈敏.个性化推荐系统研究[D].南京:南京邮电大学,2012.

[4]Sarwar B,Karypis G,Konstan J,et al.Item-based collabora⁃tive filtering recommendation algorithms[C]//Proceeding of the10th International World Wide Web Conference.NewYork: ACM Press,2001:285-295.

[5]徐翔斌,王佳强,涂欢,等.基于改进RFM模型的电子商务客户细分[J].计算机应用,2012,32(5):1439-1442.

[6]赵晓煜,黄小原,孙福权.基于RFM分析的促销组合策略优化模型[J].中国管理科学,2005,13(1):60-64.

[7]赵晓煜,丁延玲.基于顾客交易数据的电子商务推荐方法研究[J].现代管理科学,2006(3):93-94.

[8]郭伟光,章蕾.基于用户模式聚类的协同过滤个性化推荐方法[J].情报杂志,2011,30(2):160-163.

[9]贺桂和.基于用户偏好挖掘的电子商务协同过滤推荐算法研究[J].情报科学,2013(12):38-42.

[10]王召义.基于电子商务网站的推荐服务使用接受研究[J].安徽商贸职业技术学院学报:社会科学版,2014(2):37-40.

[11]荣辉桂,火生旭,胡春华,等.基于用户相似度的协同过滤推荐算法[J].通信学报,2014(2):16-24.

[12]Resnick P,Varian H R.Special issue of recomm ender sys⁃tems[J].Communications of the ACM,1997,40(3):56-58.

[13]MOBASHER B,DAI H,LUO T,et al.Discovery and evalu⁃ation of aggregate usage profiles for web personalization[J].Da⁃ta Mining and Knowledge Discovery,2002,6(1):61-82.

[14]鲍玉斌,王大玲,于戈.关联规则和聚类分析在个性化推荐中的应用[J].东北大学学报:自然科学版,2003,24(12):1149-1152.

[15]孙玲芳,张婧.基于RFM模型和协同过滤的电子商务推荐机制[J].江苏科技大学学报:自然科学版,2010,24(3):285-289.

[16]KOREN Y,SILL J.OrdRec:an ordinal model for predict⁃ing personalized item rating distributions[C]//Proc.5th ACM Conference on Recommender Systems:acm press,2011:117-124.

[17]PHILLIPS R L.定价与收益优化[M].北京:中国财政经济出版社,2008.

(责任编辑:赵建周)

Collaborative Filtering Recommendation Algorithm Based on Improved RFM Model

WANG Zhao-yi1,LEI Li-li2,3
(1.Department of Economics and Trade,Anhui Business College;2.Anhui province Wuhu city Xiaozhou Center Primary School; 3.School of Educational Science,Anhui Normal University,Wuhu 241002,China)

In order to improve the quality and service efficiency of the collaborative filtering technology,this pa⁃per presents collaborative filtering algorithm to modify RFM mode.This algorithm introduces the profit into RFM model instead of the purchase price.A new RFP model,which is using RFP to perfect the similarity calculation, is created to fully reflect the influence of the user value on filtering results.Experiments show that the algorithm has a better advantage in the aspects of improving the coverage and accuracy of filtering results.

collaborative filtering recommendation;RFM;electronic commerce;RFP

TP311

A

1673-2928(2015)02-0052-05

2014-12-21

王召义(1983-),男,安徽商贸职业技术学院讲师,研究生,研究领域:电子商务,推荐系统等。

猜你喜欢
利润定义矩阵
养殖成本7元/斤,利润翻倍?黄颡鱼像他这样养,亩利润过万是常态
严昊:不定义终点 一直在路上
The top 5 highest paid footballers in the world
多项式理论在矩阵求逆中的应用
成功的定义
矩阵
矩阵
矩阵
利润下降央企工资总额不得增长
修辞学的重大定义