服务热线
131-1198-7613
作者 | 吴海波
责编 | 何永灿
每每机器进修在电商领域有三大应用:举荐、搜索、广告,这次我们聊聊三个领域里城市涉及到的商品排序标题。从营业角度,日常是在一个召回的商品会萃里,通过对商品排序,追求GMV或许点击量最大化。进一步讲,就是基于一个目的,奈何让流量的操纵坚守最高。很自然的,如果我们可以正确预估每个商品的GMV转化率或许点击率,就可以最大化操纵流量,从而收益最大。
蘑菇街是一个年青女性垂直电商平台,紧张从事服饰鞋包类目,2015年时全年GMV横跨了百亿,后与锦绣说合并后公司更名为锦绣团结集体。2014年时入职蘑菇街,其时候蘑菇街刚刚最先实施机器进修,这3年中经历了许多厘革,打造爆款、追求坚守、抬举风致等等。当然在过程中经常和营业方彼此challenge,但我们的理念——技术办事于营业始终没有厘革过。模型自己的迭代需配合营业目的才气施展出最大的价格,因此选择模型迭代的蹊径,必需全盘考虑营业的情况。
在最先前,先和大家接头一些方法论。在点击率预估领域,常用的是有监视的模型,其中样本、特征、模型是三个绕不开的标题。首先,奈何构建样本,涉及模型的目的函数是什么,即要优化什么。
原则上,我们渴望样本构建越接近真实场景越好。好比点击率模型常用用户行为日志作为样本,曝光过没有点击的日志是负样本,有点击的是正样本,去构建样本集,酿成一个二分类。在另一个相似的领域——Learning to rank,样本构建方法可以分为三类:pointwise、pairwise、listwise。简朴来讲,前面提到的构建样本方式属于pointwise领域,即每一条样本构建时不考虑与其他样本直接的关系。
但真实的场景中,通常须要考虑其他样本的影响,好比去百度搜一个要害字,会出来一系列的成果,用户的决定会受整个排序成果影响。故pairwise做了一点改进,它的样本都是由pair对组成,好比电商搜索下,商品a和商品b可以构建一个样本,如果a比b好,样本pair{a,b}是正样本,不然是负样本。
当然,这会带来新标题,好比ab,bc,ca,这个时间怎么办?有爱好的同砚可以参考From RankNet to LambdaRank to LambdaMART: An Overview。而listwise就更接近真实,但复杂性也随之增加,工业界用的比较少,这里不做过多描摹。理论上,样本构建方式listwisepairwisepointwise,但现实应用中,不愿定是这个序次。好比,你在pointwise的样本集下,模型的fit情况不是很好,好比auc不高,这个时间上pairwise,意义不大,更应该从特征和模型入手。一最先就选择pairwise或许listwise,并不是一种好的实践方式。
其次是模型和特征,不同模型对应不同的特征构建方式,好比广告的点击率预估模型,每每就有两种组合方式:采纳大规模离散特征+logistic regression模型或中小规模特征+复杂模型。好比gbdt这样的示范子,就没有必要再对许多特征做离散化和交错组合,特征规模可以小下来。很难说这两种方式哪种好,但这里有个坚守标题。
在工业界,机器进修工程师大部门的时间都是花在特征挖掘上,因此许多时间叫数据挖掘工程师加倍合适,但这自己是一件坚苦且低效难以复用的工作。渴望能更完满干净地打点这些标题,是我们从不绝地从学术界借鉴更强盛的模型,当然大部门不达预期,却不曾放弃的缘故因由。
言归正传,下文大致是按时间先后序次机关而成。
导购到电商
蘑菇街本来是做淘宝导购起家,在2013年转型成电商平台,刚最先的商品排序是运营和技术同砚拍了一个公式,当然很简朴,但也能打点大部门标题。作为一个初创的电商平台,商家数目和质量都难以获得保障。其时公式有个买手优选的政策,即蘑菇街上紧张售卖的商品都是经过公司的买手团队人工查核,必定水平上保证了平台的口碑,同时直立平台商品的标杆。但这个方式投入很重,为了让这种模式获得最大收益,必需让商家自动进修这批买手优选商品的运营模型。另一方面,从技术角度讲,系统迭代太快,导致数据链路不太靠得住,且没有分布式机器进修集群。我们做了简化版的排序模型,将转化、点击、GMV表示好的一批商品作为正样本,再选择有必定曝光且表示欠好的商品作为负样本,做了一个爆款模型。该模型比公式排序的GMV要抬举横跨10%。
从成果上,这个模型照旧很成功的,过细阐明下收益的泉源:对比公式,紧张是它更多干系的影响因子(即它的特征),并且在它的优化目的下学到了一个最优的权重分配方案。而人工打算的公式很难包含太多因素,且是拍脑壳决定权重分配。因为这个模型的目的很简朴,进修商品成为爆款的或许性,因此做完常见CVR、CTR等统计特征,模型就达到了瓶颈。
做大做强,坚守优先
到了2015年,平台的DAU、GMV、商家商品数都在快速膨胀,本来的模型又暴露出新的营业标题。一是该模型对目的做了很大简化,只考虑了top商品,对表示中等的商品区分度很小;二是模型自己没有担当优化的空间,auc横跨了95%。这个时间,我们的数据链路和Spark集群已经预备好了。借鉴业界的经历,最先实施转化率模型。
我们的目的是追求GMV最大化。因此最直接的是对GMV转化率建模,曝光后有成交的为正样本,不然为负样本,再对正样本按price重采样,可以必定水平上模拟GMV转化率。另一种方案,用户的购买是有个决定路径的,gmv = ctr * cvr * price,取log后可以酿成log(gmv) = log(ctr) + log(cvr) + log(price),日常还会对这几个目的加个权重因子。这样,标题可以拆解成点击率预估、转化率预估,最后再相加。从我们的实践经历看,第二种方案的成果优于第一种,紧张缘故因由在于第二种方案将标题拆解成更小的标题后,低沉了模型进修的难度,用户购不购买商品的影响因素太多,第一种方案对模型的要求要大于反面的。但第二种方案存在几个目的之间须要融合,带来了新的标题。可以实施对多个模型的成果,以GMV转化率再做一次进修获得融合的方案,也可以凭据营业需求,人工分配参数。
模型上我们实施过lr和lr+xgboost。lr的转化率模型对比爆款模型转化率有8%以上的抬举,lr+xgboost对比lr gmv转化率有5%以上的抬举。但我们建议如果没有实施过lr,照旧先用lr去积累经历。在lr模型中,我们把紧张的精神放在了特征工程上。在电商领域,特征从典范上可以分为三大种类:商品、店铺、用户。又可以按其特点分为:
统计类:好比点击率、转化率、商品曝光、点击、成交等,再对这些特征进行时间维度上的切割描画,可进一步增强特征的描摹力度。
离散类:id类特征。好比商品id、店铺id、用户id、query类id、类目id等,许多公司会直接做onehot编码,获得一个高维度的离散化希罕特征。但这样会对模型操练、线上推测造成必定的工程压力。另一种选择是对其做编码,用一种embedding的方式去做。
其他类:好比文本类特征,商品详情页题目、属性词等。
常见的特征处置惩罚处罚本事有log、平滑、离散化、交错。凭据我们的实践经历,平滑很是重要,对一些统计类的特征,好比点击率,自然是存在position bias。一个商品在曝光未充分之前,很难说是因为它自己就点击率低照旧因为没有排到前面获得富足的曝光导致。因此,通过对CTR平滑的方式来增强该指标的置信度,详细选择贝叶斯平滑、拉普拉斯平滑或其他平滑本事都是可以的。这个平滑参数,大了模型退化成爆款模型,小了统计指标置信度不高,需凭据当前数据分布去折中考虑。
我们借鉴了Facebook在gbdt+lr的经历,用xgboost预操练模型,将输出的叶子节点当做特征输入到lr模型中操练。实践中,需出格寄望是选择合理的归一化方案禁止操练和推测阶段数据分布的厘革带来模型的成果的不稳固。该方案等闲呈现过拟合的现象,建议树的个数多一点,深度少一些。当然xgboost有许多针对过拟合的调参方案,这里不再复述。
在转化率模型取得必定成果后,最先个性化的实施。个性化方案分为两种:
标签类个性化:购买力、气概、地域等。
行为粒度相似个性化(千人千面):举荐的脑筋,凭据用户的行为日志,构建商品序列,对这些序列中的商品找了解的商品去rerank。常见的方法有:
实时偏好
离线偏好
店铺偏好
etc
标签类个性化具有可表白高,营业相助点多等优点,而弱点是覆盖率低,集体上指标抬举不显着。而行为粒度了解个性化优点是覆盖率高,描画细致,上线后多次迭代,累计GMV抬举10%。但其弱点是营业可表白性差,营业方难以操纵该技术去运营。
我们的个性化方案不是直接把特征放入模型,而是将排序分为初排和精排,在精排层做个性化。这样精排可以只对topN个商品做个性化,qps有显着抬举。因此在架构上,如图1,在传统的搜索引擎上层加了一个精排,打算UPS系统做为用户实时、离线特征存储模型。
图1 个性化排序系统架构
风致进级
随着大情况斲丧进级的到来,公司将风致进级做为一个战略偏向。模型战略的目的是资助营业方达成目的的同时,低沉损失,镌汰流量的挥霍。通太过人群指导的方案,创建流量端和风致商品端的联系,达到在全局转化率微跌的情况下,风致商品的流量抬举40%。其集体的打算方案如图2。
图2 实时在线人群指导算法架构
将用户的反馈分为实时和离线两种,在Spark Stream上搭建在线分群模块,最后将用户群的数据存储在UPS中,在精排增加指导战略,实现对用户在线实时分群指导,其数据流如图3。
图3 实时在线人群指导数据流
从成果看,指导和非指导次日回访率随时间逐渐接近,流失率也在随时间递减,分析随时间的推移,人群的分群会逐渐稳固。从全局占比看,大部门用户都是可以指导的。
图4 人群次日回访率
图5 次日指导用户流失率
图6 人群占比统计图
未来
我们迩来做了一些深度进修实施,团结百度在CTR领域的DNN实践,可以确认在电商领域应用深度进修的技术大有可为。此外,电商的营业场景自然具有导购的属性,而这恰恰是可以与强化进修团结,阿里在这方面已经有不少实施。这两块后续也会是蘑菇街未来的偏向。
作者简介:吴海波,花名吾加,2014年入职蘑菇街,负责电商排序、举荐干系的工作,经历了蘑菇街机器进修从无到有的过程,主导排序从爆款模型到转化率模型再到个性化模型。
本文首发于《程序员》,未经承诺不得转载。
2024-03-20
网页设计,是根据企业希望向浏览者传递的信息(包括产品、服务、理念、文化),进行网站功能策划,然后进行···
2024-03-19
网页设计,是根据企业希望向浏览者传递的信息(包括产品、服务、理念、文化),进行网站功能策划,然后进行···
2024-03-19
网页设计,是根据企业希望向浏览者传递的信息(包括产品、服务、理念、文化),进行网站功能策划,然后进行···
2024-03-19
网页设计,是根据企业希望向浏览者传递的信息(包括产品、服务、理念、文化),进行网站功能策划,然后进行···