首页 > 编程知识 正文

淘宝怎么抢购最快(数学小论文过双11)

时间:2023-05-03 10:46:22 阅读:101813 作者:962

本文是阿里巴巴论文的介绍和投稿。本文入选2017国际知识发现与数据挖掘大会(KDD),主要研究商品智能分拣领域。

主要讲如何在有限的计算资源下,获得更好的排名结果,保证用户的搜索体验,实现去年双11的点击量、成交额和成交额的目标。

实际结果是,去年双11,淘宝搜索引擎峰值时负载没有超过70%,CPU利用率下降了45%左右,平均搜索延迟下降了30%左右,其带来的GMV提升了近1%。

以下是本文的详细介绍。

《多层级联学习在大型电商排序系统的应用(Cascade Ranking for Operational E-commerce Search)》

作者:jddmp,dxt,瘦狗,思洛

本文设计并实现了一种层叠式电子商务搜索方法:其主要思想是将一个排名划分为若干个渐进的阶段,每个阶段使用逐渐复杂的特征来获得逐渐准确的结果。在前阶段,简单的特征用于过滤明显不期望的结果,在后阶段,复杂的特征用于识别不可区分的结果。此外,该算法结合电商场景的特殊性,严格限制引擎响应时间和退货产品数量,保证用户的搜索体验。

离线实验和在线实验都验证了算法的正确性和有效性。与传统方法相比,它可以提高精度,大大提高计算性能。去年双11中,在加入大量精确耗时的计算特征(包括强化学习和深度学习特征)时,该算法极大地保证了引擎的效率,将排序对引擎的压力降低了40%,大大提高了排序效果。

面临的问题

淘宝的搜索系统无疑是全球最大的电商搜索系统。这里的“最大”包括商品和用户数量,包括引导交易量和点击交易量,以及引擎访问量和QPS…访问量.这样的搜索引擎需要面对巨大的访问压力,尤其是在“双十一”等大的推广场景中,压力比平时高了好几倍。

此外,一般搜索引擎的目标主要是引导点击量,而在电子商务中,排名结果更倾向于引导成交额和成交额。

因此,我们的搜索系统和排名方案需要考虑各种实际问题。首先,如何在有限的计算资源下获得更好的排名结果;其次,如何保证用户的搜索体验,包括结果的返回时间和返回产品的数量等。最后,如何在电商场景中保证多目标,包括点击量、成交额和成交额。

已有方法的不足

学术界和工业界关于学习排名的研究很多,都期望通过机器学习给用户更好的排名结果。但相关工作大多集中在如何提高排序质量上,而与排序效率无关,过于低效的排序方案在实际的工业在线应用中往往无法接受。

淘宝等类似应用采用的主要解决方案是使用“两轮排序方案”:第一轮,使用非常简单的特征得到一个小的候选集;第二轮,在小集上做复杂的排序。然而,这种启发式方案不能保证性能和效果之间的权衡是最优的。基于以上考虑,我们需要一种全新的排序方案,这种方案在工业上是可用的,并且能够更合理地平衡效率和性能。

00-1010论文受图像中快速目标检测算法的启发,发现引擎中并不是每个产品都需要所有特征参与计算,而一些基本特征可以帮助过滤掉大部分产品。越来越复杂的特征过滤逐渐让商品的好坏难以区分;根据所有特征对剩余商品进行分类。

基于这一思想,本文提出了一个大规模运营电子商务搜索应用的级联模型。

CLOES主要采用基于概率的级联学习方法,将排名分为多轮计算;以排序效果和CPU计算量为优化目标,共同建立数学模型,同时进行优化。

算法除了考虑性能和效率外,还考虑了用户的搜索体验,保证用户在输入任何查询后,都能在有限的时间内得到足够的返回结果。最后,CLOES还考虑了电商场景的特殊性,保证了多目标的平衡和可调性。

性能和效率的排名(有效性和效率之间依赖于查询的权衡)

本文最重要的部分是如何平衡排序算法的性能和效率。然后我们使用的主要方法是级联学习,即一次排序分为多个渐进阶段,每个阶段选择越来越复杂的特征来过滤一个商品集合。同时,我们使用学习排名设置将排序问题转化为二元问题,并估计每个产品的点击率。

如图所示,我们记得一个商品X(表示为K维向量)能够通过Query q下的J阶段的概率是

,其中

表示sigmoid函数。那么一个产品最终能被点击的概率就是它能通过网站。

有stage的概率之积:

我们通过极大似然估计去拟合样本,使用负的log似然来表示损失函数,那么基础的损失函数可以表示为

关注的是排序的准确性:

其中左边项表示似然函数,影响模型的准确度;右边项

表示正则项,一方面是防止过拟合,另一方面能预防特征相关导致的ill-condition问题。

由于在实际的搜索排序中,我们除了效果,性能也是不得不关注的部分,因此我们需要将系统的性能性能消耗也加到目标中。我们可以求CPU的总消耗等于每个stage下的性能消耗之和:

。其中

表示每个stage上需要计算的商品量的期望,

表示商品x能进入第j个stage的概率,

表示在第j个stage上的feature进行一次计算的总耗时。那么我们得到一个新的loss

除了考虑排序的效果,兼顾了模型的计算量:

通过调整

,我们能调节系统的性能与效率。

越大,系统负载越低,但排序结果也越差;

越小,排序结果越好,但系统开销越大。

用户体验保障(Multiple Factors of User Experience)

如果直接使用上述模型,确实可以直接降低引擎的负载,但是仍然存在2点用户体验上的问题:1是对于某些query(特别是hot query),可能计算latency仍然会非常高;2是某些query(一般是长尾query)下,返回给用户的结果特别少。那么为了解决这2个问题,我们进一步的增加了2个约束:单query下的latency不能超过100(只是举例,不一定是100)ms;返回给用户的结果数不能小于200。那么很自然的,我们会想到使用类似SVM的loss形式:

上述公式可以比较直观的理解为当query下的latency小于100ms(N的值)的时候,loss为0;大于100ms时,loss为(latency-100)的线性倍数;返回结果数类似。然而该函数是非凸、不可导的,并不利于问题的求解。因此为了求解的方便,我们使用了一个凸近似函数modified logistic loss去逼近SVM loss,可以证明,该loss和hinge loss是几乎一致的,当我们取一个较大的

的时候:

综上,我们考虑了用户的2种体验之后,最终的目标函数可以写成下面形式:

其中

表示期望返回给用户的最少结果数(例如200),

表示希望的最大latency(例如100ms)。通过最小化

,我们既能在有限的计算资源下得到更好的排序结果,又能兼顾用户的搜索体验。

商品场景下的多目标(Importance Factors of E-commerce Search)

电商搜索与网页搜索或者广告有较大区别:我们关注的不仅是点击 ,成交量、成交额等指标同样重要。然而如果我们将所有正样本(点击和成交)一样处理,由于点击样本量远大于成交样本,那么我们更像在学习一个CTR任务;这在我们想得到更高的成交额或GMV时是不合理的。因此我们为不同类型、不同价格的正样本设置了不同的权重。更具体的,我们会区分样本商品的log(价格)、点击和成交,于是在表示准确的似然项上,做了如下修正:

在上式中,

越大,成交样本的权重更高;

越大,价格因素的影响越大。权重的作用主要会体现在优化过程的梯度求解上。

离线与在线验证

为了验证算法的有效性,我们随机采样了线上一天的日志做交叉验证,数据取自2016年10月底。我们主要考察的指标有2点:测试集上的AUC以及性能总消耗。对比的算法有1,使用全部特征做一次排序;2,使用简单特征做一次排序;3,线上使用的2-stage方法;4,CLOES算法,取

;5,CLOES算法,取

实验结果如下表。从表中我可以看到使用全部特征的准确率无疑是最高的,然后计算消耗也是最高的;线上使用的2-stage方法能显著的降低计算效率的问题,只有方法1的30%,但是AUC也降低到0.76。我们主要对比的是现在线上使用的方法3—2-stage approach,使用了CLOES,在几乎相同的计算消耗下,AUC能从0.76提升到0.80;在几乎相同的AUC下,计算消耗能从30%进一步下降到18%。

在离线验证了算法效果后,我们在双11前夕对算法进行了上线,以期望降低引擎的计算压力。上线期间的引擎CPU使用率以及平均搜索latency变化如下图:可以看到CPU使用率从32%下降到18%;而平均的搜索latency从33ms下降到24ms,图中有2条曲线分别表示引擎的2个集群。

需要注意的是,在引擎压力大量下降的情况下,线上的排序指标,包括CTR和GMV是略上升的。

受益于CLOES,在双11当天,引擎的负载在最高峰也没有超过70%,CPU的使用率降低了约45%,搜索的平均延迟下降了约30%,同时CLOES本身带来的GMV提升了近1%。考虑到其他因为性能改善而能上线的特征(包括实时特征和RNN特征等),排序的CTR提升有10%-20%,同时成交量、GMV等指标也有大幅提升(指标对比基于标准A/B Test)。

其他的实验结果以及算法细节请见原文。

总结

搜索对于电商来说是最大的流量入口,搜索排序的质量对用户的体验、对商家的收入、对平台的效率都会起到至关重要的作用。未来搜索会继续以用户的搜索体验为主要目标,为用提供能更优质、更能满足用户个性需求的排序结果。

从技术上,多种机器学习技术都会与搜索排序相关,例如:考虑到用户的长期体验,我们需要强化学习技术;考虑数据的分布不一致等问题,需要counterfactual learning技术;考虑更好的个性化体验,需要representation learning的相关技术;考虑更具交互性的搜索,我们需要自然语言处理,知识图谱等方面技术……淘宝搜索会持续的优化用户的购物体验,同时希望贡献更多优秀的算法、解决方面给工业应用及学术研究。

论文下载

https://arxiv.org/pdf/1706.02093.pdf

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。