王峥 郭士串
摘 要:“网络团购”是一种越来越流行的电子商务模式,吸引了大量的商家和消费者,团购网站的商品展示方式和团购产品的推荐是很多团购网站迫切要解决的问题,传统的推荐算法多是使用与传统电子商务类似的协同过滤实现。文章提出了一种基于Apriori-BP算法的团购推荐模型,通过自定义数据清洗方法,使用Apriori算法和BP神经网络对商品进行评分和推荐,最后使用线上CTR和ROI对推荐结果进行评价和验证,显著提高了团购推荐商品的准确性。
关键词:团购;神经网络;关联规则
近年来,随着电子商务应用模式与支付技术的日益成熟,一种新型消费模式—“网络团购”已经兴起。团购又称为组织购物或者集体购物,是指消费者通过聚集自己的消费需求因而达到了消费数量的要求而降价的一种动态制定商品价格的消费模式。最早的团购网站是2008年在美国成立,之后这种新型的消费模式在全世界范围内快速地掀起了一场发展的热潮。随后,Groupon的商业模式传入中国,这种新型的电子商务模式迅速在全国大中小城市出现,并很快被国内消费者接受,团购网站在国内的发展速度惊人,有26.2%的网民使用了团购网站的服务。团购已经成为电子商务继B2B,B2C,C2C后发展出来的又一全新的商务模式,与传统的电子商务相比有许多不同之处。
个性化推荐能使电子商务系统更好地服务用户、节约用户的搜索时间、帮助用户发现新的潜在需求,是当前乃至未来很长一段时间内需要研究的重要课题。随着团购电子商务模式的应用和发展,在竞争越来越激烈的市场环境下,将个性化推荐与团购电子商务模式相结合成了必然的趋势。
1 研究现状
传统的推荐技术主要有基于商品内容信息的过滤以及协同过滤两种主要的方法。由于基于内容信息的过滤受商品信息内容的限制导致这种方法存在局限性,协同过滤技术成为了当前主流的使用较多的推荐技术,但是协同过滤方法需要依赖于用户兴趣信息,当用户兴趣信息匮乏时,该方法是不适用的。目前的研究方向主要集中在推薦系统的理论与技术方面,文献[1]和[2]提出的一种协同过滤的推荐算法主要是基于项目评分预测的技术来实现。文献[3]提出了用户意图识别和知识服务等相关技术。各种数据挖掘技术如关联规则挖掘、聚类挖掘等技术也被应用到推荐系统的研究与应用中,文献[4]提出了一种构建用户偏好的方法,主要用到了神经网络和遗传K-means的算法。
本文根据团购的业务特点,将基于团购业务的个性化推荐模型分为数据清洗、关联团单挖掘和商品推荐结果排序3部分。数据清洗模块对用户数据中的噪声数据和作弊数据进行识别并过滤;关联团单挖掘模块用于挖掘可进行组合消费的关联团单;商品推荐结果排序模块主要依赖BP神经网络实现团单按序推荐。本文提出的算法不仅通过数据清洗明显改进了数据质量,而且使用BP神经网络对关联算法推荐的结果进行排序,使得最终推荐的效果得到了显著的提升。
2 算法简介
本文涉及的主要算法包括关联规则算法和BP神经网络算法两类,以下分别对两种算法进行介绍并阐述选择的原因。
2.1 关联规则算法
关联规则是形如AàB的推荐方法,其中A和B分别是关联规则的先导和后继。目前比较流行的关联规则推荐算法可分为宽度优先算法、深度优先算法、数据集划分算法、采样算法和增量更新算法5类。其中宽度优先算法中的Apriori算法和深度优先算法中的FP-growth算法是目前使用最广的两类算法,但是FP-growth算法在处理很大的且很稀疏的数据库时,在挖掘处理和递归运算中存在一定的劣势,因此,本文采用Apriori算法进行规则推荐。
2.2 BP神经网络算法
误差反向传播(Back-Propagation)算法是Rumelhart和McClelland在1985年提出的一种神经网络算法,其基本原理是利用输出后的误差来估计输出层的直接前导层的误差,再利用前导层的误差来估计更前一层的误差,如此一层一层地反传直到获得所有层的误差估计,通过不断的循环迭代,直到误差最终收敛到满足预先设置的条件或迭代次数超过一定值后完成算法的实现。本文采用的BP神经网络算法共3层,分别为输入层、隐藏层和输出层,因为最终要对商品进行推荐,因此,在输出层外加了一个softmax层进行概率计算。具体的模型结构如图1所示。
3 基于Apriori-BP的团购推荐模型
Apriori-BP团购推荐模型主要分为3个部分,分别为数据清洗、关联团单挖掘和商品按序推荐,以下分别对这几个模块进行阐述。
数据清洗模块主要对所有用户数据中的噪声数据和作弊数据进行识别并过滤剔除。大数据具有速度、精度、多样、数量等众多维度,大维度的数据中不可避免地存在着较多粗糙、不合时宜甚至是作弊的数据,在团购系统中商家刷单和黄牛刷票的数据比较普遍,这些作弊数据会给个性化推荐尤其是关联团单挖掘造成严重的影响,为保证个性推荐的效果,必须对作弊数据进行清洗剔除[5]。
作弊用户的消费行为一般具有以下两个特点:(1)用户天成单量较大;(2)用户消费团单类目较为单一。本文采用阈值过滤法对用户作弊行为进行过滤,首先对用户在一个时间窗口(如消费时间间隔为30 min)内的相邻两次消费行为按照团单进行聚合,形成一次消费行为,该次消费行为信息包括验单的团单与团单张数,然后按天级别对用户的消费行为次数进行统计,如果超过某阈值5次,判定该用户该天存在作弊行为,之后对用户存在作弊行为的天数进行统计计数,如果存在作弊行为的天数超过阈值1,则判定该用户为作弊用户,一个用户一旦被判定为作弊用户,为了防止该用户的消费行为对整个关联规则挖掘算法造成影响,直接将该用户的所有数据进行过滤。
关联团单挖掘模块主要根据用户的组合消费行为,挖掘可进行组合消费的关联团单。关联团单是整个组合消费团单推荐的数据基础,关联团单数据也可看作是群体性的推荐数据[6]。关联规则挖掘工作的一项重要的关键任务是从大量的数据集当中分析出所有满足所设定的最小支持度和最小贡献度的频繁项集,这也是关联规则挖掘算法的主要任务。
使用Apriori算法递归地挖掘出所有的一阶频繁项集与二阶频繁项集,利用最小支持度阈值和最小贡献度阈值找到所有符合要求的团购网站团单的强关联规则,本文中最小支持度阈值设定为0.5,最小贡献度阈值设为0.35。剩余的弱关联再结合其他弱关联间接得到强关联规则,从而得到所有存在关联条件的团单组合,具体实现过程如图2所示。
对挖掘得出的存在关联条件的团单组合使用BP神经网络进行分析,对各厂商名下的团单组合中的各类产品计算得分,选择得分高的进行推荐。其中样本通过用户的日常浏览、点击、下单行为数据进行构建,首先通过BP神经网络的前两层全连接层训练得出各类产品的得分,整个模型框架使用Tensorflow搭建,其中损失函数选择交叉熵,使用随机梯度下降技术防止模型过拟合并降低计算量,在隐藏层使用取值为0.5的随机失活以实现集成学习的功能和降低输入特征之间的关联性,设置最大训练次数为1 000次,loss的收敛值为0.005,梯度更新的步长为0.01,并随着迭代的进行逐步降低,平均每迭代100次降低0.001,隐藏层激活函数使用relu函数。最后对计算出的得分使用Softmax进行归一化,最终得到各类产品的概率得分。
Apriori-BP团购推荐算法相较于以往的关联规则挖掘算法,在关联团单挖掘过程中增加了相同团单和过期团单的过滤,而且在计算支持度和贡献度之前还对店铺是否相同进行了分类,这使得数据在计算之前就实现了有效性的过滤,不仅降低了计算量,而且增加了推荐结果的准确性和有效性。在最后的排序算法层面使用了BP神经网络进行推荐产品得分计算,其中使用0.5的dropout不仅降低了计算量,加快了模型的计算速度,而且实现了类似于集成学习的功能,对提升模型的泛化能力有很大的帮助,隐藏层的激活函数选择近年来使用比较频繁的relu替代了以往使用较多的tanh函数和sigmoid函数,有效预防了梯度消失。
4 性能评价
文中使用的样本数据共64 929条,原始数据共约80 G,经数据清洗后有效数据为55.8 G,清洗掉的数据包括无效数据和作弊数据,其中作弊数据的团单类目多集中于“电影”“旅游”“体检”等类目。
将数据分为4组进行训练,平均一组数据大约16 000条,每一组的运行时间分别在50 min左右,最终数据过滤的准确率在93%左右,具体清洗准确率如表1所示。
对清洗后的数据使用关联规则算法和BP神经网络算法进行挖掘分析,对分析出的结果使用点击率(Click Through Rate,CTR)和点击后下单率(ROI)两个指标进行评价,通过观察CTR和ROI的提升情况对参数和指标进行微调,对挖掘分析出的部分结果进行筛选得到最终的推荐商品,模型最终推荐的商品对提升线上CTR和线上ROI均有显著的效果,其中CTR相对提升了29.15%,ROI相对提升了17.35%,相较于传统算法分别提升了4.70%和2.35%(见图3)。
5 结语
本文提出了一种基于Apriori-BP算法的团购推荐模型,根据团购的业务特点,研究了推荐领域比较常用的关联规则算法,过滤了无效数据和作弊数据,降低了运算量,提高了关联团单挖掘的有效性,并针对关联团单使用了BP神经网络进行概率计算,针对神经网络使用的各类方法不仅增加了模型的泛化能力,还提升了运算速度和准确性,最后在数据集上使用两个线上指标对本文算法和传统算法进行比较,证实了本模型在改进团购推薦上的有效性。
[参考文献]
[1]薛福亮.电子商务协同过滤推荐质量影响因素及其改进机制研究[D].天津:天津大学,2012.
[2]SHEN S,HU B,CHEN W Z,et al.Personalized click model through collaborative filtering[C].Beijing:the Fifth ACM International Conference on Web Search and Data Mining,2012:323-332.
[3]罗成,刘奕群,张敏,等.基于用户意图识别的查询推荐研究[J].中文信息学报,2014(1):101-106.
[4]KUO R J,LIAO J L,TU C.Integration of ART2 neural network and genetic k-means algorithm for analyzing web browsing paths in electronic commerce[J].Decision Support Systems,2005(1):353-373.
[5]蒋勋,刘喜文.大数据环境下面向知识服务的数据清洗研究[J].图书与情报,2013(9):621-628.
[6]李爱宝.基于组合消费行为分析的团购推荐系统的设计与实现[D].哈尔滨:哈尔滨工业大学,2015.
Abstract:“Online group purchase” is an increasingly popular e-commerce mode, attracting a large number of merchants and consumers. The merchandise display method of group purchase websites and the recommendation of group purchase products are urgent problems to be solved by many group purchase websites. Most of the recommended algorithms use collaborative filtering similar to traditional e-commerce. This paper proposes a group purchase recommendation model based on Apriori-BP algorithm. Through the custom data cleaning method, the Apriori algorithm and BP neural network are used to score and recommend the products. Finally, the online CTR and ROI are used to evaluate and verify the recommendation results, significantly improved the accuracy of the group purchase recommended products.
Key words:group purchase; neural network; association rules