商家rank策略进化-从人工排序到机器学习

hei hei

rank的产品目标:合理分配流量的问题,以及信息过载时提高用户效率的问题

如果你打开美团外卖,只有三个商家,那有没有rank就不重要了,因为用户很容易看完每个商家然后做出决策。但如果你打开外卖,附近有1000多个商家,用户不可能看完这1000个商家,这时候rank就要在合适的地点和场景,把合适的店展示给用户。即把有限的流量给到当前场景下,转化率最高的店

rank的衡量指标:在不同背景下可能不一样,但最常见的有转化率和GMV/UV。如果以订单量为目标的话,转化率可能就是rank的指标。如果以GMV为目标的话,GMV/UV才是最终的指标

人工排名

某外卖平台最早的时候,每个BD(市场经理)负责一定的区域,并且人工给这些餐厅排名。这样的方式在地推谈商家的时候,起到过一定的作用:比如BD去谈新的商家,可以承诺给到一段时间的较高排名来使老板加入平台;或者以较高的排名为条件,使得一些优质餐厅成为我们的独家餐厅,排名是BD谈判的筹码

但这样的排名方式有很多的弊端,比如工作量较大,标准不统一,容易滋生钱权交易,转化率不高等等。所以需要开始做智能排名,让统一的规则来接手这件事

公式排序

在外卖平台上,排序分为商家排序和菜品排序两种,先聊聊商家排序

首先,我们要分析什么样的因子会影响用户决策,比如用户点外卖的时候,会注重看一下商家的销量,评分,送餐速度,优惠活动的力度,起送价,配送费,那这些就是rank里面很重要的因子之一。但除了这些看得见的因子,还有很多看不见的因子,比如退单率,投诉率,进店到下单的转化率等等

然后,rank会把这些影响用户下单和最终转化的因子整理起来,给每个因子赋予不同的权重,放到A/B Test系统里去做测试,来确定最终合适的权重。然后根据每个商家计算出的分数,得到一个粗排的排名。在这个过程中,要结合外卖场景考虑到很多因素,比如商家在不同区域的服务能力不一样(比如送餐时长),以及各种容易钻的空子(刷单)

在粗排之后,rank会根据情景,给不同的商家在不同场景有一定的提权或降权,这叫做细排。比如下午的时段,会对下午茶的商家进行提权。或者商家即将关店的时候,对其排名有一定的下沉,避免用户选餐时商家突然休息。或者部分商家短时间内拒接或取消的订单过多,说明这个商家临时有问题,不能很好的承接已有的流量,所以要进行置底甚至关店的处罚

最后会根据用户,去做一些调整。比如对不同客单价的用户,对符合客单价的商家提权。对用户吃过好评的店,以及类似的店进行提权(这里其实已经涉及到了简单的个性化推荐)

到这里,rank基本上就已经完成了。但如果真的到这里就结束了,可能会遇到一些问题:比如新的商家,各项评分都很低,很可能排不到前面,导致一直无法快速成长,从而加剧马太效应,强者越强,新店永远也得不到成长。所以从长远健康的生态考虑,rank还有一个指标叫做基尼系数。rank会对新店和业务需要支持的商家,做一些提权和轮播,甚至锁定。来使这些店获得足够的流量来成长

机器学习

在外卖的场景下,有几百项因子在起作用。当只考虑销量和好评时,写一个公式调整其中的权重,人脑很容易实现。但当有几百项因子时,人脑怎么给每一个因子赋一个合适的值,怎么去一个因子一个因子去做A/B Test?

所以,我们把所有的因子告诉机器,让机器自动的去测试每个因子不同的权重,用大量的样本自动实验,找出最合适的权重给每个因子赋值。然后和人工设置的rank规则对比,哪个的效果更好

也就是说传统的检索模型采用人工拟合排序公式,通过用户数据反馈确定最佳的参数组合,以此不停的优化相关性打分函数。在随着影响相关度的参数逐步增多,传统的打分机制逐渐不能满足这方面的要求。机器学习更适合采用很多特征来进行公式拟合,最合理的排序公式由机器学习(Machine Learning)获得,因此考虑采用learning to rank(此处的learning取自Machine Learning)。learning to rank可以分为以下三大类:

pointwise(单文档方法)、pairwise(文档对方法)、listwise(文档列表方法)

相比于pairwise和listwise两种方法, pointwise 比较容易和其它控制项叠加,适用于多维度优化目标的问题。因此pointwise广泛应用于团购平台和外卖平台的排序问题。在应用中, pointwise方法会对所有的候选结果给出一个统一标准的分值,并根据分值进行排序

pointwise处理对象是单一文档,整个流程分为三部分:提取特征做训练;分类算法学习;测试query排序

将文档转化为特征向量后,主要是将排序问题转化为机器学习中常规的分类或回归问题。以多类分类为例:下图是人工标注的部分训练集合,每个文档采用三个特征:查询与文档的BM25相似度,查询与文档的cosin相似度,以及页面的PageRank值,query与di的相关性是多元的,label分为 5个等级,即{perfect,Excellent,good,fair,bad}。于是,产生了5个具有label的训练实例,然后可以使用机器学习的任一种多类分类算法进行学习,比如最大熵,支持向量机等。

案例

当模型参数学习完毕后,之后就可利用模型进行相关性判断,对新的查询和文档,通过模型的打分函数可以得到一个数值,利用该数值即可对文档进行排序了

更多智能排序相关问题可参考《这就是搜索引擎:核心技术详解》

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容