APP下载

基于神经网络的口碑商家推荐

2019-06-01杨楚珺胡哲

现代计算机 2019年12期
关键词:冷启动淘宝特性

杨楚珺,胡哲

(西南大学计算机信息与科学学院,重庆 400715)

介绍推荐系统在口碑平台的应用。在提取用户特性和时间特性以及商家特性的基础上,使用BP 神经网络给用户推荐商家,同时对比BP 神经网络中单隐层和双隐层的效果区别。对有线上记录的用户使用协同过滤进行推荐,对于无线上记录的新用户由于没有淘宝购物记录,无法判断其爱好,所以从商家特性进行分析并推荐给新用户。

BP 神经网络;推荐系统;协同过滤

0 引言

随着智能手机的普及,基于位置的服务也进入了日常生活,人们会在使用滴滴打车、高德地图、美团外卖等App 上面共享自己的位置。因此,大量的用户数据积累下来,打开了机器学习/数据挖掘的大门。在这次本赛中,需要研究线上和线下的相关性偏好用于推荐就近商店。阿里巴巴提供了淘宝和天猫的线上购物数据,蚂蚁金服提供了支付宝的口碑中的线下数据。同时享受了这两项服务的用户拥有同样的用户ID。淘宝和天猫的线上数据拥有大量的用户数据,但口碑才上线五个月,所以用户数据较少。

淘宝和天猫的线上数据能够加强口碑的线下推荐准确度。Zheng 等人和Bao 等人[2]使用用户历史地理位置来帮助构建社交网络。Liao[3]和Zheng 等人[4]使用GPS 数据模拟人类行为模式,并预测人类活动,推荐本地服务。

本数据集中,口碑线下商家有五个月的历史记录,涉及到冷启动问题。冷启动是推荐系统最常见且最大的挑战。已经有很多研究员在这个问题上做了大量研究。Zhou 等人[5]通过使用基于用户的协同过滤的决策树预测新用户偏好,Liu 等人[6]使用现有用户的线性组合来近似新用户的行为。还可以利用其他来源中的用户信息来处理冷启动的问题。Lin 等人[7]通过社交网络的用户信息解决了App 推荐的冷启动问题。并且应用潜在因素模型来处理冷启动问题。用户特征被投影到降维空间中,这个降维空间可以找到用户相似度最有效的表示[8]。适用于冷启动解的潜在因素模型包括主成分分析[9],限制波尔茨曼机制[10]和奇异矢量分解[11]。

由于口碑只有从上线开始的五个月的记录,大量的新用户和新商家的加入造成了冷启动问题。这里,将用户群分成三类:有淘宝购物记录的新用户、无淘宝购物记录的新用户、有口碑记录的老用户。线下购买行为能够从以前的记录中得到,也可以由线上购物记录推测而来。数据集的典型特征和分析,以及相关算法如下。

1 数据分析

本文主要的目标在解决两个推荐问题,一个是冷启动问题,一个是实体店的人流量控制问题。

首先,由于口碑只有五个月的销售记录,并且是刚上线的五个月的销售记录,每个月都会出现很多新用户和新商家。要给这些用户推荐好的商家就成了一个棘手的难题,不过,这里还给出了这五个月来口碑中一部分用户的淘宝购物记录。我们可以通过淘宝记录上的用户偏好来给口碑用户进行推荐。

然后,是每个商家的人流量问题,虽然店主都希望人越多越好,但从用户角度看,人多就会造成等待时间过长这个问题,每个商家每天能接待的客户都是有限的。由于没有十二月份的评测数据集,并且口碑上线时间短,每个地点用户基数不大,人流量问题不予考虑。

本文使用的四个数据集,分为:淘宝数据集、口碑训练数据集、商家数据集和测试数据集。

第一个是淘宝线上购物记录集。淘宝集共有44528127 条数据,用户ID 最大为2063701,包含用户963823 名、店铺一万家。淘宝集是用户某一天在淘宝上浏览或者购买的记录。

第二个是口碑训练集,口碑集共有1081724 条数据,用户ID 最大为2063695,包含用户230496 名、店铺5910 家(不包含连锁店数量),商家ID 号为1 到9999。口碑集是用户某一天在口碑上的购买记录。

第三个是商家信息集,商家集共有5910 条数据,商家ID 最大为9999。商家集是口碑七月份到十二月份上线的所有商家。

第四个是测试集,有数据473533 条,是十二月会消费的用户会去哪些地方的数据集,竞赛要求是要按照这个集合进行商家推荐。

2 推荐系统

因为口碑的商家中存在新商家,用户也存在新用户,所以此处将用户集分为:无淘宝购物记录的新用户、有淘宝购物记录的新用户和老用户。针对不同的集合采用不同的方法。

无淘宝购物记录的新用户有90602 名,有淘宝购物记录的新用户有330609 名,老用户有52322 名,对于不同的用户组采用不同的方法。

2.1 老用户

由于没有十二月份的口碑记录,无法判断最后结果好坏,所以先针对老用户,将口碑集中前五个月的特征提取出来,得到训练集,并从训练集中取95%作为训练数据,5%作为测试数据。由于在大多数地点,商家数量较少,如图1 所示,大部分地区的商家数量为0-10,基于项目的协同过滤方法不适用于这里。

采用BP 神经网络,双隐含层,每层十个神经元。对于每一个用户-商家-地点组,统计用户特性,时间特性和商家特性,用户特性包括是否去过那家店,去的总次数,去的可能性,在线购买总量。时间特性包括最近一次购买时间,是否最后一次购物商家,第一次购买时间。商家特性有,与这家店最相似的两家商家id,去过没,购买可能性,地点商家总量。特征表如表1 所示。特征集包含数据30 多万条。

图1 商家数量

BP 算法具体内容如下:

(1)输入模式是由输入层经过隐含层向输出层逐层传播的“模式顺传播”过程。

(2)网络的期望输出与实际输出之差,即误差信号,是由输出层经隐含层向输入层逐层修正连接权值的“误差逆传播”过程。

(3)由“模式顺传播”过程和“误差逆传播”过程反复交替进行的网络“记忆训练”过程。

(4)网络趋向收敛,即网络的全局误差趋向极小值的“学习收敛”过程

BP 神经网络的主要能力有非线性映射能力、泛化能力和容错能力。

(1)非线性映射能力:无需事先了解输入输出模式之间的映射关系,只要能够为BP 神经网络提供足够多的输入输出样本模式供其进行学习训练,BP 神经网络就能够学习并存储大量的输入输出模式映射关系,就能够完成由n 维输入空间到m 维输出空间的非线性映射。

表1 特征表

(2)泛化能力:BP 神经网络学习训练完成后会将所提取的样本模式对中的非线性映射关系存储在网络连接权向量中,因此,在其后的正常工作阶段,当向BP神经网络输入训练时未曾见过的数据时,BP 神经网络也能够完成由输入模式到输出模式的正确映射。BP神经网络的泛化能力是衡量BP 神经网络性能优劣的一个重要因素。

(3)容错能力:BP 神经网络的另外一个重要能力,也是人工神经网络的重要特点之一,是容错能力,即允许输入模式及样本中存在较大的误差,甚至允许出现错误。这时,因为连接权向量的调整过程是从大量的样本模式对中提取的统计特性的过程,而反映正确规律的只是来自于全体样本模式,所以个别样本中存在的误差不能影响对连接权向量的正确调整。

采用BP 神经网络的方法以特征集为输入,输出为这个用户下一次会光顾的商家id,迭代100 次,使用MATLAB 自带的神经网络工具箱。

迭代一百次以后,训练集最稳定表现如图2 所示。

图2 训练效果

迭代100 次的BP 网络预测误差如图3 所示,绿色圆圈为预测输出,蓝色星号为期望输出。从图中可以看出存在离群点,这可能是用户尝试了新的店。图4是BP 网络的预测误差,虽然有很多误差较大的输出,但是可以看到有很多点是在0 周围。

误差在一定范围内是允许的,计算预测准确率有0.7130。同样的训练集,只用一层隐含层。使用同样的训练集、测试集,单隐含层的计算预测准确率有0.2364。

为防止过拟合的情况,这里我们计算了十次双隐含层和单隐含层的训练情况,如图5 所示,仅有两次情况,单隐含层与双隐含层准确度类似,80%的情况下双隐含层的结果好于单隐含层。

图3 BP神经网络预测输出

图4 BP网络预测误差

图5 BP单、双隐含层结果对比

2.2 无淘宝记录的新用户

对于没有淘宝线上购物记录和口碑线下购物记录,亦即没有任何用户偏好特性的用户群来说,无法从用户角度给用户推荐商家,只能从商家角度出发,给用户推荐商家。这里,我们提取了商家的相关特性:商家连锁店数量、商家销售记录、商家预算、商家第一次销售记录时间、商家最后一次销售记录时间和商家营业时间。

主要特征为商家ID,商家连锁店数量,商家销售记录,商家营业时间,商家第一次销售记录时间,可以默认为商家上线时间,商家最近一次销售记录时间。然后计算商家与商家之间的Pearson 相关系数。为了统计商家特性,本文还根据地点的销售数量、商店数量、连锁店数量这三类分出了最热门区域,次热门区域以及冷门区域。

区域主要特征为最热门区域,次热门区域,冷门区域。根据这个图我们给用户推荐在热门区域有连锁店的商家。但是由于没有官方的对比数据无从得知最后结果如何,因此这里只说明采用的方法,没有最后的结果比对。

2.3 有淘宝购物记录的新用户

对于有淘宝记录的新用户,这里可以借用这个用户线上购物偏好特性给这位用户进行线下推荐。由于淘宝的记录是每个用户在每家店的购物记录,而不是评分记录,所以此处统计淘宝集中每个用户在每家店的购物次数,以用户标号为行,商家标号为列,形成用户评分矩阵,计算每个用户的平均评分,没有购物记录的不列入平均评分计算中。然后计算每个用户的Pearson 相关系数,找出前N 个最相似的用户,找出这前N 个用户中有口碑购物记录的用户,统计这些用户最经常去的商家,然后选出top10 推荐给新用户。

3 结语

本文首先采用协同过滤对数据集进行分类,此方法对于商家推荐卓有成效。另外选用了两种方法进行比较,在BP 神经网络算法中,根据针对老用户集进行推荐的比较结果来看,双隐含层要优于单隐含层。

后续改进,研究采用代价函数是否为交叉熵的优缺点进行推荐,同时调节BP 神经网络中神经元的个数,比较对最后结果造成的影响。

猜你喜欢

冷启动淘宝特性
轻型汽油车实际行驶排放试验中冷启动排放的评估
茶树吸收营养物质的特性
Evaluation of Arctic Sea Ice Drift and its Relationship with Near-surface Wind and Ocean Current in Nine CMIP6 Models from China
基于PEMS试验的重型柴油车冷启动 排放特征研究
基于学习兴趣的冷启动推荐模型
摩擦力三个特性的应用
新年促销上淘宝搜轻兵器企业店
上淘宝咯
Quick Charge 4:什么是新的?
淘宝试衣间