APP下载

基于用户行为的推荐算法研究

2017-09-09朱子江刘东刘寿强

软件导刊 2017年8期
关键词:用户行为推荐系统关联规则

朱子江+刘东+刘寿强

摘 要:推荐系统是对用户的历史行为进行挖掘,对用户兴趣信息进行建模,并对用户未来行为进行预测,从而建立用户和内容的关系,满足用户对商品的推荐需求的一种智能系统。通过对主要的推荐算法进行比较分析,提出一种基于用户行为的推荐算法,挖掘用户浏览阅读行为的关联规则,模拟实现了基于用户行为的智能推荐系统,提高了推荐算法的有效性。

关键词:推荐系统;关联规则;用户行为;数据挖据

DOIDOI:10.11907/rjdk.171378

中图分类号:TP312

文献标识码:A 文章编号文章编号:1672-7800(2017)008-0043-03

0 引言

商家為了提高商品交易额,往往非常重视推荐活动,推荐方式丰富多彩。随着电子商务平台的出现和计算机技术发展,推荐方法升级到了智能推荐系统。智能推荐系统是建立在海量数据挖掘基础上的一种商务智能平台,在电子商务网站中为顾客购物提供决策支持和信息服务,旨在根据顾客的购物信息和对所购商品的反馈信息推荐顾客需求的商品,以及具有相同效能不同种类的商品[1-3]。

推荐系统主要由推荐候选对象、用户、推荐算法3个要素组成[2],能否达到智能推荐效果的关键是推荐算法。推荐系统分为单一推荐模式和协同推荐模式。例如,利用顾客和顾客之间的相似度进行推荐,或者利用商品与商品之间的相似度进行推荐,均为单一推荐模式,而两者相结合取其相应比重进行的推荐则为协同推荐模式。推荐系统的有效性取决于所采用的推荐算法。

本文在分析推荐算法的基础上,模拟实现了一种新的基于用户行为的推荐系统,同时根据协同推荐系统中存在的问题,结合实际提出了一种改进算法和推荐策略。

1 主要推荐算法

推荐系统中比较关键的算法是相似度计算,有顾客与顾客之间的相似度计算,也有商品与商品之间的相似度计算。相似度计算函数要具有同样的函数签名、返回值为浮点数等特征,其返回数值越大表示相似度越大。目前主要的推荐算法有基于内容的推荐、基于协同过滤的推荐、基于关联规则的推荐、基于效用推荐、基于知识推荐等。

由文献[1]、[2]的研究可知:基于内容的推荐算法优点是用户资料模型可随用户的偏好改变而发生变化,缺点是需要有用户的历史数据;协同过滤推荐算法主要采用最近邻技术,最大优点是能处理非结构化数据,能处理视频、声音等复杂推荐对象,但处理稀疏问题时精确度不高;基于关联规则的推荐算法优点是可以发现不同商品在销售过程中的相关性,但关联规则发现很耗时;基于效用推荐算法的优点是它能把非产品的属性考虑到效用计算中,但需要为每一个用户创建一个效用函数;基于知识的推荐算法能解释需求和推荐之间的关系,但对用户群具有局限性。

综上所述,各推荐方法优点和缺点并存,由此可见,单一的推荐方法不能满足推荐系统需求。实际应用中,通过组合推荐的方法解决推荐系统运行中所发现的问题,由此产生了基于内容的协同过滤推荐方法。该方法通过基于内容的算法产生一个推荐结果,再用协同过滤推荐算法产生一个推荐结果,将两者根据某一权值进行结合,得出一个新的推荐结果[4]。组合推荐理论方法很多,但在同一推荐系统中,对不同问题的推荐结果不一定都有效,组合推荐所要解决的问题就是尽可能地避免推荐算法各自的缺点。

2 基于用户行为的关联规则推荐算法

在电子商务或网络浏览行为场景中,通过用户对已购商品的评价来进行推荐是比较普遍的做法,但用户有时没有给出评价。当用户只提供二元数据(购买与否或者是有没有点击过)时,就无法应用基于评价的算法。这时可以采用关联规则挖掘算法,即仅对最邻近用户的购买记录分析,取得潜在的相似信息。当用户A在浏览某一商品S时,购买过商品S的邻居用户会将已买的商品推荐给用户A,这种算法可以推荐给感兴趣但从来没有浏览过此商品的用户。

2.1 关联规则

以关联规则[5-8]为基础的推荐算法,把推荐对象作为规则体,把已购商品作为规则头,对购买记录进行技术处理,发现最邻近用户以及商品购买习惯,挖掘出相关性。具体关联规则应用场景如表1所示。

在上述场景中,商品1和商品2的余弦相关系数为: (1,0,0)·(0,1,1)||(1,0,0)||||(0,1,1)||=0(1)

商品1和商品3的余弦相关系数为: (1,0,0)·(1,1,0)||(1,0,0)||||(1,1,0)||=12(2)

商品2和商品3的余弦相关系数为:

(0,1,1)·(1,1,0)||(0,1,1)||||(1,1,0)||=12(3)

由公式(1)-(3)可推导出:浏览商品1的顾客会被推荐购买商品3,而浏览商品2的顾客会被推荐购买商品3,浏览了商品3的会被推荐购买商品1(并由1推荐2)。该模型只使用了每对项目间的一个参数(余弦相关系数)产生推荐。因此,如果有n个商品,则需要计算和存储 n(n-1)/2次余弦相关系数[9-11]。

2.2 算法实现

根据上述关联规则并进行改进,建立基于用户行为的关联规则推荐算法[9-12],算法流程如图1所示。

2.2.1 用户行为记录库建立

实验数据取5个用户和15种读物作为样本。用户编号为0-4,读物编号为:0理想国、1论语、2英语、3悲惨世界、 4大学、5中庸、6大千世界、7数学、8地理、9物理、10生物、11化学、12国富论、13模电、14信号系统。用户行为标记:读过标记为1,没有读标记为0。构建用户行为数据样本库如表2所示。

2.2.2 运算矩阵建立

建立用户-读物矩阵A1,读物和用户编号为从0开始的整数,横向15个,为读物编号。

2.2.3 矩阵运算假设有用户U想读理想国和论语,当选择了理想国和论语这两个读物后(编号为0和1),系统开始进行推荐运算:在运算矩阵A2中取理想国和论语这两个列,第0列和第1列,然后进行&(and)运算得到右边的列(第3列,理想国&论语),见矩阵A3。第1行、第2行、第3行的值都为1,则代表这个编号为1、2、3的用户(下标从第0行开始计算)曾同时阅读过理想国和论语,即用户U的邻居用户集为U邻居{用户1,用户2,用户3}。endprint

2.2.4 邻域矩阵

由用户U的邻居用户集U邻居可知,有相同阅读记录的用户行为具有一定的相似性。只要能知道用户1、2、3还阅读了其它读物,然后按阅读比率进行统计,就可给用户U进行有效推荐[13]。

用户1、2、3还阅读了哪些读物可由运算矩阵A2推导得知,见矩阵A4, 矩阵的每一行代表每个用户的读物记录。

设矩阵A4这3行分别为 T1、T2、T3,进行与运算(or)后,可以得出用户1、2、3阅读行为相似性矩阵T=T1|T2|T3 ,求得T=[1 1 1 0 0 0 0 0 0 0 1 0 1 0 0],即阅读行为相似性矩阵T代表这3个用户都阅读了哪些读物。对照读物编号表,这3个用户阅读了0理想国、1论语、2英语、10生物、12国富论。

由运算矩阵A3可知,用户U已经选择了理想国和论语,即用户U的行为矩阵A=[1 1 0 0 0 0 0 0 0 0 0 0 0 0 0],通过矩阵减法可得用户U的邻域矩阵L=T-A=[0 0 1 0 0 0 0 0 0 0 1 0 1 0 0]。

2.2.5 推荐结果

由邻域矩阵L对照读物编号可知:2英语、10生物、12国富论3本读物都可以作为用户U的推荐读物,这些数据来源于3个用户的阅读记录。根据运算矩阵A4阅读记录(0英语,1论语),统计这些用户(1,2,3)阅读2英语、10国富论、12生物的百分比,再根据百分比的高低向用户U列出3本读物的推荐强度(强烈推荐、首要推荐、次要推荐),提出推荐的有效性。

由运算矩阵A4可知:

(1)2英语在矩阵第3列上,所有的位置都为1,表示阅读过英语的邻居用户占100%。

(2)10生物在矩阵第11列上,3个中有2个位置为1,表示阅读过生物的邻居用户占67%。

(3)12国富论在矩阵第13列上,3个位置只有一个1,表示阅读过国富论的邻居用户占33%。

综上最终给用户U的推荐结果为:强烈推荐—2英语,首要推荐—10生物,次要推荐—12国富论。

实验仿真结果如图2所示。

3 算法总结

基于用户行为的关联规则推荐算法是通过加权和对最邻域运算得出的推荐结果,可以根据系统要求来限定推荐条件,从而实现项目的推荐。从实验仿真结果来看,该算法在一个中小型系统中应用完全没有问题,而且推荐结果有效性高。对一些大型的具有上千万用户的商业网站应用,将一个用户和其他所有用户进行比较,然后再对每位用户行为进行比较,会使系统负荷非常大,为解决这一问题,目前最好的方法是对相似度进行离线计算[13-14]。在针对大规模样本数据集进行推荐时,基于项目进行过滤的方式明显要比基于用户行为的过滤更快,但它有离线计算、维护项目相似度列表等系统开销。从推荐的有效性来看,基于用户行为的推荐优势更明显。

4 结语

智能推荐系统是未来电子商务和社交网络发展的必然需要[15]。本文介绍和分析了一些主流的推荐算法,比较分析了各自的优缺点,结合实际情况,阐述了推荐技术应用和需要改进的问题。本文实现了基于用户行为的关联规则算法的推荐系统,将用户的隐形购买或浏览行为应用到推荐系统上。

参考文献:

[1] 夏培勇.个性化推荐中的协同过滤算法[D].青岛:中国海洋大学,2011.

[2] 夏小伍.基于信任模型的协同过滤推荐算法的研究[D].合肥:中国科技大学,2011.

[3] 王伟军,宋梅青.一种面向用户偏好定向挖掘的协同过滤个性化推荐算法[J]. 现代图书情报技术,2014(6):25-30.

[4] 张春生,图雅,翁慧,等.基于电子商务同类商品的推荐算法研究[J].计算机技术与发展,2016(5):17-21.

[5] 陈洁敏,汤庸,李建国,等.个性化推荐算法研究[J].华南师范大学学报:自然科学版,2014(9):8-13.

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

[7] 王冰怡,刘杨,聂长新,等.基于用户兴趣三维建模的个性化推荐算法[J].计算机工程,2015(1):65-70.

[8] 曹斌,龚佼蓉,彭宏杰,等.基于用户阅读时间-频次行为的书籍推荐方法[J].计算机科学,2015(11):36-54.

[9] 高山,刘炜,崔勇,等.一种融合多种用户行为的协同过滤推荐算法[J].计算机科学,2016(9):227-231.

[10] 杜彦永.基于用户行为协同过滤推荐算法[D]. 淮南:安徽理工大学,2015.

[11] 胡亚慧,李石君,余伟,等.基于时空感知的用户角色推理[J].电子与信息学报,2016(3):517-522.

[12] 任帅,王浙明,王明敏.基于用户行为模型和蚁群聚类的协同过滤推荐算法[J].微型电脑应用,2014(3):5-8.

[13] 孟祥武,刘树栋,张玉洁,等.社会化推荐系统研究[J].軟件学报,2015(6):1356-1372.

[14] 赵海燕,侯景德,陈庆奎.结合时间权重与信任关系的协同过滤推荐算法[J].计算机应用研究,2015(5):3565-3568.

[15] 李鹏澎,肖如良,邓新国,等.一种融合引力影响的新的矩阵分解推荐方法[J].小型微型计算机系统,2015(4):696-700.endprint

猜你喜欢

用户行为推荐系统关联规则
电力高校图书馆转型智库服务的研究
基于用户偏好的信任网络随机游走推荐模型
社会化媒体用户使用动机与行为探析