基于位置信息和协同过滤的移动推荐算法

2018-12-11 01:57:08孙礼辉
绥化学院学报 2018年12期
关键词:距离协同电商

孙礼辉

(安徽商贸职业技术学院经贸系 安徽芜湖 241002)

据第41次《中国互联网络发展状况统计报告》数据显示,2017年12月我国手机上网人数为7.53亿,网民中手机上网的占97.5%[1](P1)。据艾媒咨询数据显示,2017年国内网络零售市场中移动端交易额占比为70.8%[2](P5)。随着各传统电商企业和新兴电商企业进入移动电商领域,移动电商的信息内容数量将急剧增加,超过了用户的信息接受能力范围,同时由于移动设备在数据运算、显示等方面能力有限,导致“移动信息过载”问题的产生。而移动推荐系统通过筛选和优化推荐商品,能缓解移动信息过载问题,并有效提升用户网购体验。

O2O电子商务,即线上下单、线下消费的模式,是移动商务的一种重要模式,早期以团购为主,目前扩展到本地消费、打车、共享经济等各个领域。O2O电商具有很强的位置属性,需要同时考虑用户和平台商品的位置,并根据距离远近对商品进行合理排序推荐。将位置信息融入推荐算法中,对于优化O2O电商购物流程,提高流量转化率具有重要意义。

本文提出一种基于位置信息和协同过滤的移动推荐算法。主要解决如下问题:

①根据用户和项目之间距离远近对项目进行预过滤,缩小推荐范围,降低计算量。②将用户相似度和项目相似度相结合,优化协同过滤算法,优化推荐效果。

一、相关计算公式

(一)协同过滤。目前基于协同过滤的推荐算法主要有UserCF与ItemCF两类。UserCF是基于用户间的相似度进行推荐,ItemCF是基于项目间的相似度进行推荐。本文采用UserCF和ItemCF相结合的算法,既考虑用户的相似度,又考虑项目的相似度,给用户推荐最合适的项目。本文采用目前广泛使用的皮尔森相关系数来计算相似度。

用户u与用户v之间的相似度计算公式为:

其中,iuv表示用户u和用户v均评分过的项目交集,Rvi表示用户v对项目i的评分,Rui表示用户u对项目i的评分,和分别表示用户u和用户v在过去对所有项目评分的均值。表示用户u和用户v之间的相似程度,其值越大,表示相似程度越高,反之则表示相似程度越小。

项目i和项目j之间的相似度计算公式为:

其中,Ruj表示用户u对项目j的评分,uij表示给项目i和项目j都 评分过的用户交集,和表示过去所有用户对项目i和项目j的评分均值。sim(i , j)表示项目i和项目j之间的相似程度。

(二)初步预测评分。用户u对项目i的初步预测评分可以通过如下公式计算:

(三)修正评分。由于项目距离对用户消费决策具有一定影响,因此将项目距离引入评分计算公式中。通过如下公式对初步预测评分进行修正:

其中,Rui为修正评分,表示初步预测评分,dui表示用户u与项目i之间的位置距离,D为有效推荐距离,ρ是为了将预测评分修正为在历史评分的分布范围内。

二、基于位置信息和协同过滤的移动推荐算法

(一)相关定义。定义1:有效推荐距离D。在计算用户有效推荐区域,圈定目标项目时,以用户位置为圆心,一定距离为半径的圆为范围形成的有效推荐区域来进行筛选。

(二)设计思想。在O2O电商消费场景中,当某项目距离较近时,用户购买该项目的概率较大。因此,首先根据有效推荐距离D对项目进行筛选,形成预推荐集。其次,针对预推荐集合中的每个用户u未评过分的项目i,利用基于用户相似度与基于项目相似度相结合的协同过滤算法,对项目i的评分预测;然后,根据项目与用户间距离对评分进行修正,使距离越近项目评分越高;最后,按照用户u对预推荐项目的评分高低进行Top_N推荐。

与一般的协同过滤推荐算法相比,该推荐算法根据项目与用户间距离对项目进行筛选,缩小推荐范围,降低计算量。与一般基于位置的移动推荐算法相比,该算法应用协同过滤对推荐系统进行优化,使推荐结果更加准确。

(三)推荐算法。基于位置信息和协同过滤的移动推荐算法(LBCF)的具体推荐过程如下:

输入:用户集合U、用户位置信息、项目集合I、项目位置信息、历史评分集合R、有效推荐距离D。

输出:用户u在当前位置对附近项目按预计评分从高到低排列的top_N推荐列表。

①获取用户u及所有项目的位置信息,对超出有效推荐距离的项目进行过滤,筛选得出预推荐集P。

②在历史评分集合R中获取用户u的历史评分列表uList。

③在预推荐集中取出第i个项目,若用户u对项目i有过历史评分则进入步骤⑦,若没有评分则进入下一步。

④在历史评分集合R中获取对项目i有过评分的用户列表iList。对于用户列表iList中每个用户ui,从历史评分集合R中获取其历史评分列表uiList,然后应用公式(1)计算用户u与用户ui间的相似度sim(u,ui)。

⑤对于uList中每个项目iu,从R中获取所有用户对该项目的评分记录列表iuList,并根据公式(2)计算项目i和iu相似度sim(i,iu)。

⑦循环执行步骤③到⑥,使用户u对预推荐集中所有项目都有评分。

⑧应用公式(4)对预测评分进行修正,使得距离越近的项目相应的评分越高。

⑨按照评分高低对项目进行排序,选择排名靠前的Top_N项目进行推荐。

⑩对用户集合中所有用户,按照步骤①到⑨进行计算,完成推荐过程。

三、实验结果

(一)数据集。实验的数据集选自某电商平台从2015年8月至2016年9月的部分订单数据,并对数据作了筛选处理,使每个用户至少评价过一个商品,最终生成的数据集含有3629个用户对236个商品的11023条购买记录,该数据集的稀疏度为89.2%。购买记录包括购买时间、用户购买时的位置信息、用户评分,评分为从1到5分。

(二)评价指标。实验结果评价可以评估算法的性能。为评估本实验算法的精确度,采用广泛使用的平均绝对误差MAE对实验结果进行评价。该指标是通过计算预测评分与实际评分的差距来评价推荐结果的准确性。当MAE值越小,表示推荐越准确[4](P5)。MAE计算公式为:

其中,N表示预测样本的数量。p表示预测评分,q表示实际评分。

(三)实验结果分析。将实验数据按8:2的比例分成训练集与测试集,训练集用户算法训练,测试集用于验证,通过计算平均绝对误差来评价推荐结果。同时,以基于用户的协同过滤推荐算法UserCF和基于位置的最近距离均值推荐方法DARS进行对比实验。然后通过实验确定合适的有效推荐距离D。将D设置为多个不同的参数值,使用LBCF算法在训练集上进行训练,并通过测试集测试,得到评价数据如表1所示。

表1 不同有效推荐距离的LBCF推荐效果评价

由表1数据可以看出,当有效推荐距离D值取为1000米时,推荐效果最好。因此,实验中D取值1000。

以UserCF和DARS为对比算法进行对比实验。其中DARS和LBCF中的有效推荐距离D值均取1000m。在不同参数ρ的取值下,对比实验结果如图1所示。

图1 ρ取不同值时各算法的MAE对比

根据图1数据对比,ρ取值0.8时,上述基于位置信息和协同过滤的移动推荐算法(LBCF)实验结果明显优于基于用户协同过滤推荐算法(UserCF)和基于位置的最近距离均值推荐方法(DARS)的推荐效果。

四、结语

本文针对目前O2O电商在移动推荐领域的需求,在参考现有协同过滤推荐算法相关文献的基础上,对UserCF和ItemCF算法结合,对协同过滤进行改进,同时考虑距离远近对购物决策的影响,将位置信息加入推荐算法中,优化推荐效果,提升用户体验。该算法在降低推荐计算量、推荐质量上都有一定改进。下一步改进的方向主要在于研究时间、消费能力等因素的影响,为用户提供更加个性化的推荐。

猜你喜欢
距离协同电商
电商助力“种得好”也“卖得火”
今日农业(2022年16期)2022-11-09 23:18:44
蜀道难:车与路的协同进化
科学大众(2020年23期)2021-01-18 03:09:08
“四化”协同才有出路
汽车观察(2019年2期)2019-03-15 06:00:50
算距离
电商鄙视链中的拼多多
三医联动 协同创新
中国卫生(2016年5期)2016-11-12 13:25:26
每次失败都会距离成功更近一步
山东青年(2016年3期)2016-02-28 14:25:55
爱的距离
母子健康(2015年1期)2015-02-28 11:21:33
电商下乡潮
机电信息(2015年28期)2015-02-27 15:57:42
协同进化
生物进化(2014年2期)2014-04-16 04:36:26