如何用机器学习方法,提升另一半的满意指数?
阿里妹导读:今天是七夕情人节,我们来探讨一个严肃又甜蜜的重要问题,一个你可能正在关注、或者终要关注的人生课题:如何用机器学习方法,为你生命里的另一半,挑选最适宜的母婴产品,提升幸福满意指数。
背景介绍
生命阶段在消费行为中的重要作用已经在营销和社会学中被研究了几十年。虽然这些研究并没有关注消费者的行为,但是他们研究了各种人和事件的生命周期,这为研究生命阶段对消费者行为的影响提供了坚实的基础。在电子商务中,比起用户的生命阶段转变,更多的研究侧重于根据消费者的历史行为进行商品推荐。
例如,电商公司会挖掘具有相似偏好的用户,并根据其他相似用户的偏好对当前用户进行推荐。而对于消费者生命阶段与消费者行为之间关系的研究才刚刚开始,在这些研究的驱动下,我们提出了一种可用于电子商务中生命阶段推断的动态融合算法。
我们使用多元逻辑回归模型对婴儿的生命阶段进行分类预测、产生相应的概率分布。此外我们还开发了动态融合方法以不断提高预测精度,并且可以有效地提高计算效率。每次有新的概率分布生成后,我们会更新然后维护多个概率分布。这样做可以识别消费者的短期兴趣,而且对于多个孩子的生命阶段预测也是非常有帮助的。
为了评估算法的有效性,我们进行了大量离线和在线的数值实验,这些实验表明我们的方法可以显着提高消费者生命阶段推断的准确性。
本文的主要贡献有:
- 我们为生命阶段推断提供了工业级别的解决方案。
- 我们开发了一种动态融合方法,可以在大幅节省计算资源的基础上不断提高预测精度,并且可以方便地维护对多个孩子年龄阶段的预测。
- 我们通过实际数据验证了我们的解决方案对生命阶段推断的有效性。
母婴用户生命阶段划分
用户行为会随着生命阶段而改变,消费行为的转变通常与生命阶段的转变一致,这种现象在母婴这样的垂直行业中更为显著。例如,妈妈们会在婴儿刚出生时购买尿布;而在2到3年后,当婴儿要上幼儿园的时候,妈妈们会购买更多的衣服和鞋子。消费者行为随着生命阶段改变的现象不仅仅存在与母婴行业,在其他行业例如家装和汽车也有相同的现象。在本文中,我们将重点关注母婴行业,即基于父母的消费行为推断婴儿的生命阶段。
根据我们的行业认知,一个孩子的生命阶段发展是一个与年龄密切相关的连续过程。因此我们将母婴用户的生命阶段根据孩子的年龄分为以下几个阶段:出生前(妈妈的孕期);0-6个月(新生儿);6-1个月;2-3岁(托儿所);3-7岁(幼儿园)。不同年龄段孩子的父母会对不同的商品感兴趣,如果我们可以准确预测他们孩子的年龄段并推荐合适的商品,就可以大幅提高转化率。
动态融合方法
为了推断一个孩子的生命阶段,我们开发了一种不断预测并且不断改进推论的算法。与使用复杂模型进行一次性预测的方法不同,我们的算法每次会根据当前的数据产生一个较好的预测结果,然后不断地更新我们的推论,这就是所谓的动态融合过程。下面将会具体介绍动态融合过程的细节。
与单个预测结果相比,对孩子生命阶段预测的概率分布包含了更多的信息。比如说当分布中有两个生命阶段的概率都较高时,这表明消费者可能有两个孩子,或者消费者的孩子正处于两个生命阶段的交界处,但我们不能从单个预测结果中得到这些信息。保留这些概率分布可以推断用户孩子的生命阶段,并且可以让我们在合适的时候更新推论。然而消费者在不同月份的行为很可能导致不同分布中概率最高的生命阶段是不同的,如何维护和更新这些分布成了我们解决方案的关键。因此我们设计了动态融合算法来解决这个问题。
以特征向量X作为输入,我们可以通过模型预测单月概率分布,我们将在下一节中介绍模型的训练细节。现在假设我们已经有的概率分布,并且当下个月结束时,模型会产生另一个概率分布 。有了这两个分布后,为了将它们进行融合,首先需要将之前的分布进行平移,平移方式由下式给出:
(1)
其中∆ 是之前分布产出时间与当前月份的时间差。平移概率分布的方法有好几种,在Algorithm 1中对我们使用的方法进行了详细介绍。
然后我们会比较平移后的分布,如果两个分布具有最高概率的生命阶段是相同的,也就是说:
这样的话我们就可以将这两个分布融合在一起:
(2)
其中用于对新分布进行归一化。如果多个分布概率最高的生命阶段不同,那多个分布都会被保留以便将来可能的融合。我们会记录每个分布融合的次数,推断的生命阶段由融合次数最多的分布决定。当新的单月分布生成时,将按照相同的逻辑进行算法的下一次迭代。
特征工程
在电商场景中,所有的特征都来自消费者的五大类行为:搜索、点击、收藏、加购和购买。我们使用的特征分为以下几类:
1.类目特征
在淘宝的类目体系中存在多级类目结构,其中一级类目包括衣服、鞋子等主要的大类;类目级别最多可达到4个或5个,没有子类目的最低级别类目称为叶子类目。理论上我们可以使用商品ID作为特征,但是这会导致特征矩阵过于稀疏,只有极少量的样本会包含某些特征。为了避免这种情况,同时仍然能捕捉到用户不同的消费兴趣,我们使用商品对应的一级类目和叶子类目作为特征。
2.类目属性特征
相同类目下的商品会共享一些属性:例如商品的品牌属性可能是IBM、New Balance等具体品牌,商品的尺寸属性可以是“S”、“M”或“L”。类目属性特征是指商品类目和属性的组合特征,我们把母婴行业中所有的类目属性特征作为模型的输入。
3.商品属性特征
除了类目属性特征,我们还将商品本身的属性作为输入特征。
4.搜索词特征
搜索词是指用户用于搜索的关键词,可能会直接对应孩子的年龄段,例如“3岁宝宝的衣服”、“3段奶粉”等,我们会选取一些特定的关键词作为输入特征。
5.商品标题特征
商品标题包含了丰富的信息,其中可能也包括年龄段或者生命阶段相关的信息。我们整理了大约200个年龄段相关的关键词,对标题进行相关处理后作为输入特征加入模型。
6.时序特征
消费者在不同日期购买相同的商品也有不同的含义,一个妈妈在6个月前购买尿布和在1周前购买尿布的含义是不同的。因此不同月份的行为也被归为不同的特征,为了减少模型训练时的计算负担,我们使用了用户最近一个月的所有行为和去年同月的购买行为作为输入特征。
数值实验
为了证明我们设计的方法是有效的,我们利用半年的taobao.com的数据做了多组实验(从2016年9月到2017年2月)。图一和图二分别简要说明了训练数集和测试数集中婴儿生命阶段的分布。
值得注意的是,随着时间的推移,婴儿会逐渐长大,所以生命阶段的分布会沿着时间轴向右移动。实验中,我们先使用2016年9月份的数据进行预测。得到的生命阶段会和下一个月的生命阶段的预测根据公式(2)融合在一起。融合之后的结论会作为10月份关于生命阶段的最后结论。而这个结论会继续和下一个月单月数据预测的结论(利用2016年11月的特征数据得到的生命阶段的结论)融合。相应的,利用单月特征得到的预测结论作为对照组实验的结果。我们将对照组实验使用的方法称为无记忆方法。也即是说这种方法仅仅使用最近一个月的特征数据来进行推断。
表2,3,4展示了从2016年9月份到2017年2月份的实验结果。值得注意的是因为2016年9月份作为起始点,所以两种方法的结果是一样的。正如表2和表3所展示的,基于动态融合的方法超越了。
表2,3,4展示了从2016年9月份到2017年2月份的实验结果。值得注意的是因为2016年9月份作为起始点,所以两种方法的结果是一样的。正如表2和表3所展示的,基于动态融合的方法几乎比无记忆方法好10%。表4展示了不同月份的比较结果。5个月(2016年9月份不包含在比较结果中)中有2个月动态融合方法在准确度显著超越了无记忆方法(最高达15%),在另外的3个月中无记忆方法比动态融合方法预测的更准确(不超过10%)。动态融合方法在召回率上超越了无记忆方法。5个月中,动态融合方法在3个月中超越了无记忆方法,最高记录高达21.76%,而在另外2个月中只比无记忆方法稍微逊色,最坏记录不超过-1%。
这背后的原因在于消费者的行为强度在一年中的旺季和淡季变化剧烈。对于任何一个拥有丰富的消费者行为数据的月份,两种方法的准确度十分相似。然后,对于任何一个消费者行为数据十分稀疏的月份,无记忆方法的准确度会明显下降,然后动态融合方法可以通过融合消费者行为丰富的月份中得到的结论这样的方式巧妙的克服上述缺点。
实验的月份越多,关于生命阶段的结论会因为越来越多的消费者行为被隐性地考虑在模型中而变得越稳定。这个方法的另外一个优势在于,对于任何一个错误的推断可以在接下来的月份中得到修正。这一点可以被实验中2016年11月、12月,2017年的1月和2月份的结果说明。11月份中错误的结论在接下来的月份中被逐渐修正。读者会质疑正确的结论也可能被改为错误的结论,但是我们的实验表明总体上,动态融合方法不会差于无记忆方法。
结论
在本篇论文中,我们介绍了一种叫做动态融合的创新的方法用来基于家长的消费行为推断幼儿的生命阶段。我们详细介绍了特征工程,以及算法的细节。我们还进行了计算实验用于证明这个算法的优势。
对于消费者行为数据丰富的月份,该方法没有比对照组差,然而在消费者行为数据稀疏的月份,该方法可以超越对照组方法。在未来的工作中,我们可以探索其他的机器学习模型用于预测单月的行为,或者多层级的模型来继续提高表现(例如一种机器学习模型用于预测某些特殊的生命阶段而另外一种机器学习模型用于预测其他生命阶段)。此外,该生命阶段的预测还可以被其他应用场景(如推荐系统)使用。
团队:新零售供应链平台事业部—技术部—数据决策
祝福小伙伴们七夕情人节快乐!比心~ (•ㅂ•)/♥