韩哲 马震
【摘要】 联通话费购是联通在线为联通用户提供的专属权益电商平台,可以使用话费支付、第三方支付充值话费、购买各类权益。本文实现了在联通话费购平台搭建基于lightGBM算法的推荐系统。通过分析用户行为,构建用户、商品的动态特征,用协同过滤召回的基础上,利用lightGBM算法做精准排序,预测用户对于商品的购买率。经过实际验证表明,推荐的召回率达到82.3%,下单转化率为30.9%,有效提高了用户的点击付费转化。
【关键词】 推荐系统 lightGBM 特征工程 集成学习
一、项目背景
联通话费购商城是中国联通提供的新型通信账户消费业务,是联通用户购买多种会员权益的专属商城。为用户提供话费计费和第三方支付等多种支付方式。实现用户一站式购买音乐、视频、小说、教育、娱乐等众多互联网会员权益及知识付费类数字商品,现有自营会员产品话费购、尊享黄金会员以及自营虚拟货币话费券。目前,话费购商城涵盖影视会员、出行、音乐、知识付费、社交、工具等八大产品类80款会员权益,近400余款商品。本文通过为话费购搭建推荐系统,智能化运营用户,实现千人千面,提高商品的曝光、点击与转化。
推荐系统的核心在于推荐算法,目前主流的推荐算法分为基于用户、基于内容、基于标签的推荐[1][2]。比较经典的协同过滤算法可解释性强,但个性化比较差。Xgboost等集成的树模型[3][4][5]具有训练速度快,预测精度比较高的优点,但容易过拟合,且容易受到正负样本不均衡的影响。本文采用协同过滤召回,lightGBM算法[6]排序的方法,通过前期埋点获取用户真实的点击、浏览、下单数据,并进行可视化分析。利用协同过滤算法召回半年内的消费用户,划分训练集和测试集,根据用户是否在指定时间段内下单区分正负样本,构造用户基础特征和消费行为特征,基于lightGBM算法建模,预测用户对于全部商品的购买概率。最终采用瀑布流的形式在推荐专区按照用户的预测购买率对商品进行排序展示。
如图1为话费购推荐系统的框架图,用户在页面的点击、浏览、购买数据经过批处理后保存到集群中。经过推荐算法的召回、排序、过滤三个阶段,为用户计算推荐商品及得分,并将推荐结果保存到hbase中,供前端调用。最后将推荐结果以“猜你喜欢”专区上线并评估效果,根据用户的点击、订购等反馈丰富正负样本,迭代优化模型。
二、相关算法
本文用到的算法是基于物品的协同过滤和lightGBM算法。
2.1协同过滤
通过前期的数据分析,话费购的商品数量不多,用户的行为比较集中,大部分用户会重复订购之前订购过的商品,所以采用基于商品的协同过滤算法(item-based collaborative filtering, itemCF)做用户召回。itemCF是基于用户的行为数据计算商品之间的相似度,维护商品相似度矩阵,相似度的计算方式如公式(1)所示[7],其中N(u)表示用户有过行为的商品集合。然后根据用户点击或订购过的商品,计算与其相似度高的商品作为推荐商品。
算法优势:可解释性强,适用于商品少的情况,商品都有机会被推荐出来。缺点:容易受到热门商品的影响。
2.2 lightGBM
lightGBM(Light Gradient Boosting Machine, lightGBM)[6]是微软研发的高效实现GBDT的开源框架,具有训练速度快、精度高的优点。通过直方图算法将连续特征值离散化,采用按叶子生长的leaf-wise算法,并使用单边梯度采样GOSS(Gradient-based One-Side Sampling),采用大梯度样本和随机挑选的小梯度样本计算信息增益,划分节点,保证准确性的同时减少计算冗余的计算成本。使用互斥特征绑定EFB(Exclusive Feature Bundling)将不同时为零的互斥特征进行捆绑,合成新特征,减少特征数量,通过归集为图着色问题,使用贪心算法求解。
算法优势:更快的训练速度、更低的内存占用率、并行计算,且支持类别特征。缺点:容易过拟合,需要通过限制树的深度等方法增加泛化能力。
三、建模过程
本文所采用的数据为联通话费购真实的用户行为数据,所用数据表包括曝光表、点击表、浏览表、下单表,及商品表。采用2020.9.27-2021.3.27共6个月的数据,字段包括用户id、商品id、专区id、用户行为(点击、浏览、下单)、操作时间、下单金额、浏览时长、是否为包月商品、是否首次订购等。以公众号商城的数据试验,召回的数据集中用户-商品的组合数为973476。采用协同过滤算法为用户召回商品。选取有过点击、浏览、下单行为的用户及对应商品划分lightGBM模型的训练集和测试集,进行排序。
3.1数据处理与可视化
3.1.1数据预处理
数据处理与分析是模型构建的第一步,本文主要做了以下几种数据处理:
1. 剔除话费购会员、话费券,并根据运营策略过滤部分活动商品,避免前台页面展示重复。
2.剔除空值、异常值,处理字段类型,对于有空值的字段读取到dataframe时,会自动处理为浮点型,所以先剔除空值再将品牌id等字段转为整型;并将操作时间转为datetime64[ns]。
3. 关联子商品表、品牌表、专区表,过滤下架商品及活动商品,形成最终的商品详情表。并对曝光表、点击表、浏览表、下单表,关联商品详情表。
4.补充浏览数据,话费购的商品入口比较多,埋点采集及数据存储过程中,可能会遗漏部分浏览数据,根据用户-商品的下单情况,补充遗漏的浏览数据。其中,根据商品的平均每用户的浏览次数补充浏览条数,根据商品的每用户平均浏览时长补充浏览时长,根据支付时間补充浏览时间。
3.1.2可視化分析
基于以上数据分析了话费购的用户画像、用户的购买偏好分布、热销商品分布以及用户消费分布,以下是分析的部分结果:
1.热销商品分布
如图2可以看出,商品的销售分布符合长尾理论,热销商品集中在前10种,用户的消费特征比较单一。
2.用户消费分布
如图3,98%的用户只订购5种以下的品牌,66%的用户重复订购率高于50%,说明大部分用户会选择购买之前订购过的商品。
3.2特征工程
本文分别针对用户、商品、用户-商品构造特征。结合缺失率、相关性、特征重要性等方法筛选特征,共构造38种特征。
3.3建模
首先对数据集按照时间划分为训练集和测试集,选择1.27-2.25一个月的浏览、下单数据作为训练集,选择2.26-3.25一个月的下单数据作为标签集,在标签集中下单的用户-商品作为训练集的正样本,其余为负样本,正负样本比为1:1.88。测试集选择2.1-2.27一个月的数据,根据2.28-3.27一个月的下单数据作为正样本,正负样本比为1:1.63。
分别对训练集和测试集构造以上特征,采用5折交叉验证,对训练集建模,采用lightGBM的具体参数如下:
利用协同过滤算法为每个用户召回商品,结合lightGBM的整体建模过程如下:
四、结果评估
基于lightGBM算法的预测,采用传统的准召率评价测试集效果,和逻辑回归对比效果如表3所示:
结合协同过滤算法,以真实数据评估效果,用户的覆盖率为85.2%,推荐专区Top10的召回率为82.3%,其中召回率的定义如公式(2)所示,T(u)表示用户真实订购的商品集合,R(u)表示推荐的商品列表。对比推荐专区上线之前,整体的下单转化率提升4%。且推荐专区的下单转化率远高于其他专区,如图5所示。
五、结束语
本文采用基于商品的协同过滤算法召回,以lightGBM算法排序,并结合运营策略过滤部分商品,完成基于话费购的整套推荐系统的搭建。模型每日更新,将推荐结果存储到hbase中,开发接口供前端调用展示,接口异常率为1.6%。实际效果证明,推荐专区的上线有效提高了用户的下单转化率,且Top10的推荐商品能覆盖大多数用户的购买需求,具有重要的现实意义。
参 考 文 献
[1]朱扬勇, 孙婧. 推荐系统研究进展[J]. 计算机科学与探索, 2015, 9(5):513-525.
[2] Almutairi F M , Sidiropoulos N D , Karypis G . Context-aware recommendation-based learning analytics using tensor and coupled matrix factorization[J]. IEEE Journal of Selected Topics in Signal Processing, 2017,11(5):729-741
[3] Friedman J H. Greedy function approximation: A gradient boosting machine[J]. The Annals of Statistics, 2001,29(5):1189-1232.
[4] Chen T. Guestrin C. XGboost: A Scalable Tree Boosting System[C]//Proc of ACM Sigkdd International Conference on Knowledge Discovery & Data Mining. 2016:785-794
[5] Chen T, He T, Benesty M. XGboost: Extreme Gradient Boosting[J]. 2016,5(9):222-208.
[6] Ke G L, Meng Q, Finley T, et al. LightGBM: A Highly Efficient Gradient Boosting Decision Tree[C]//Advances in Neural Information Processing Systems. 2017: 3146-3154.
[7]项亮. 推荐系统实践[M]. 人民邮电出版社, 2012.