服务热线:400-0033-166
万商云集 - 企业数字化选用平台

企业首选的

数字选用平台

深入剖析美团将大数据排序进行优化的架构

2020-12-30 14:04:06 阅读(399 评论(0)

随着业务的发展,美团的商家和团购数量正在迅速增长。在此背景下,搜索排名的重要性更加突出:排名优化可以帮助用户更方便地找到满足其需求的企业和团体购买,改善用户体验,提高转化效果。与传统的网页搜索问题相比,美团的搜索排名有自己的特点——90%的交易发生在移动终端。一方面,这对排名的个性化提出了更高的要求。例如,在“火锅”查询下,北京五道口火锅店A对五道口用户U1是一个很好的结果,对望京用户U2不一定是一个很好的结果;另一方面,我们积累了丰富准确的客户行为,分析了用户的地理位置、类别和价格偏好,然后指导个性化排名。根据美团O2O业务的特点,我们实现了一套搜索排名技术方案,比规则排名提高了几十%。基于这个方案,我们抽象了一套通用的O2O排序解决方案,只需1-2天就可以快速部署到其他产品和子行业。目前,在热门词汇中,Suggestion、酒店、KTV等产品及子行业的应用。我们将分别介绍这个通用的O2O排名解决方案,根据*和离线部分。本文是*文章,主要介绍*服务框架、特征加载、*估计等模块。下一篇文章将重点介绍离线过程。为了快速有效地迭代搜索算法,排序系统设计支持灵活的A/B测试,以满足准确效果跟踪的需要。如上图所示,美团搜索排序系统主要包括离线数据处理、*服务和*数据处理三个模块。搜索显示、点击、下单、支付等日志存储在离线数据处理HDFS/Hive上。离线数据流程每天调度多个Mapreduce任务分析日志,相关任务包括:离线特征挖掘输出Deal(团购订单)//POI(商家)、排序模型使用了用户和Query等维度的特征。数据清洗标记&清洁模型训练数据,清除爬虫、作弊等引入的脏数据;标记清洁数据后,用作模型训练。算法效果指标生成统计生成效果报表,指导排序改进。作为排序模型的输入,特征监控特征是排序系统的基础。特征的异常变化会直接影响排序的效果。特征监控主要监控特征覆盖率和价值分布,帮助我们及时发现相关问题。对应于*数据处理和离线流程,*流程通过Storm/SparkStreaming等工具分析处理实时日志流,输出实时特征、实时报表和监控数据,更新*排序模型。*服务(RankService)接到搜索请求后,RankService将调用召回服务获取候选POI/Deal集合,并根据A/B测试配置为用户分配排序策略/模型,应用策略/模型对候选集合进行排序。下图是RankService内部的排序流程。L1粗粒度排序(快速)使用较少的特征、简单的模型或规则对候选集进行粗粒度排序。L2细粒度排序(慢)对L1排序结果的前N个进行细粒度排序。这一层将从特征库加载特征(Featureloader),应用模型(A/B测试配置分配)排序。在L2排序的基础上,L3业务规则干预应用业务规则/人工干预适当调整排序。RankService将显示日志记录在日志收集系统中进行*/离线处理。A在RankServer端完成/B测试A/B测试的流量切分。我们根据UUID(用户标识)将流量分为多个桶(Bucket),每个桶对应一种排序策略,桶内流量将采用相应的策略进行排序。为了保证用户体验的一致性,使用UUID进行流量切分。以下是A/B测试配置的简单示例。复制代码代码如下:{  "search":{    "NumberOfBuckets":100,    "DefaultStrategy":"Base",    "Segments":[      {        "BeginBucket":0,        "EndBucket":24,        "WhiteList":[123],        "Strategy":"Algo-1"      },      {        "BeginBucket":25,        "EndBucket":49,        "WhiteList":[],        "Strategy":"Algo-2"      }    ]  }}非法UUID,每个请求将随机分配一个桶,以确保效果比较不受影响。白名单(WhiteList)该机制可以确保用户使用给定的策略来协助相关测试。白名单(WhiteList)该机制可以确保用户使用给定的策略来辅助相关测试。除了A/B测试,我们还使用Interleaving[7]来比较两种排序算法。与A/B测试相比,Interleaving方法对排序算法更敏感,可以通过更少的样本来比较两种排序算法之间的优缺点。使用小流量的Interleaving方法,帮助我们快速淘汰差算法,提高策略迭代效率。特征加载搜索排序服务涉及多种特征,特征获取和计算是RankService响应速度的瓶颈。我们设计了Featureloader模块,并行获取和计算特征,有效地减少了特征加载时间。在实际业务中,并行特性加载的平均响应时间比串行特性加载快20毫秒左右。在Featureloader的实现中,我们使用了Akka[8]。如上图所示,特征获取和计算被抽象并包装为多个Akkaactor,由Akka并行调度和执行。自2013年9月以来,模型美团在搜索排名中应用了机器学习方法(LearningtoRank),并且获得了很大的利润。这得益于准确的数据标记:用户点击订单支付等行为可以有效地反映他们的偏好。通过特征挖掘和模型优化,我们不断优化搜索排名。以下将介绍我们在特征使用、数据标记、排序算法、PositionBias处理和冷启动问题缓解等方面的工作。特征从美团业务出发,特征选择以用户为主,Query、Deal/POI和搜索上下文四个维度。用户维度包括类别偏好、消费水平和地理位置。Query维度包括Query长度、历史点击率、转化率和类型(商业词/类别词/地标词)等。Deal/POI维度包括Deal/POI销售、价格、评估、折扣率、类别和历史转化率。上下文维度包括时间、搜索入口等。此外,一些特征来自于几个维度之间的关系:用户点击和订购Deal/POI,以及用户与POI之间的距离是决定排名的重要因素;Query和Deal/POI的文本相关性和语义相关性是模型的关键特征。在模型Learningtorank应用中,我们主要采用Pointwise方法。用户点击、下单、付款等行为标注样本。从统计数据来看,点击、订单和支付分别对应于样本对用户需求的不同匹配程度,因此相应的样本将被视为样本,并给予不断增加的权重。各种不同类型的模型*运行,主要包括:Gradientboostingdecision/regressiontree(GBDT/GBRT)GBDT是LTR中应用广泛的非线性模型。我们开发了基于Spark的GBDT工具,在树拟合梯度时采用并行方法缩短训练时间。GBDT的树被设计成三叉树,作为一种处理缺乏特征的方法。bostingtreee方法可以通过选择不同的损失函数来处理回归问题和分类问题。在应用中,我们选择了更好的logisticlikelihodloss,将问题建模为二分类问题。LogisticRegression(LR)参考Facebookpaper[3],我们利用GBDT构建一些LR特征。*训练LR模型采用FTRL算法。对模型的评估分为离线和*两部分。在离线部分,我们通过AUC(AreaUndertheROCCurve)和MAP(MeanAveragePrecision)通过A/B测试*评估模型来测试模型的实际效果,这两种方法支持算法的不断迭代优化。在我们的搜索排名系统中,冷启动的问题是,当新企业、新团购订单输入或新用户使用美团时,我们没有足够的数据来猜测用户对产品的偏好。冷启动是商家的主要问题,我们通过两种方式来缓解。一方面,在模型中引入了文本相关性、类别相似性、距离和类别属性,以确保在没有足够显示和反馈的情况下更准确地预测;另一方面,我们引入了Explore&Exploit机制为新商家和团单提供适度的曝光机会,收集反馈数据,改进预测。PositionBias在手机上,搜索结果的显示形式是列表页面,结果的显示位置会对用户的行为产生很大的影响。在特征挖掘和训练数据标记中,我们考虑了显示位置因素引入的偏差。例如CTR(click-through-rate)根据ExaminationModel的统计,我们消除了显示位置的影响。*总结主要介绍了美团搜索排序系统*部分的结构、算法和主要模块。在后续的文章中,我们将重点介绍排序系统的离线部分。完善的线上线下系统是排序优化可持续进行的基础。不断挖掘基于业务的数据和模型是不断改进排名的动力。我们还在探索。2、针对美团90%交易发生在移动终端的业务特点,我们实现了一套适合O2O业务的搜索排序技术方案,已应用于许多产品和子行业。在之前的*文章中,我们介绍了服务框架、排序算法等。本文为线下文章,主要讲述数据清洗、特征矩阵、监控系统、模型训练和效果评估等模块。数据清洗数据清洗的主要工作是为离线模型培训准备标记数据,同时清洗非法数据。数据清洗的数据源主要包括团购曝光、点击和订单。整个数据清洗过程如下:从Hive表中读取序列曝光、点击和订单数据,采用schema处理方法,可根据日志字段名直接提取相应字段,不受日志字段增减的影响。曝光日志存储用户行为的详细信息,包括城市、地理位置、筛选条件和一些行为特征;点击日志主要记录用户点击的POID、点击时间;下单日志记录用户下单的POID、下单时间和金额。数据清洗模块根据配置文件从数据源中提取所需的字段,并进行序列化(Serialization)然后存储在HDFS上。在序列化过程中,如果日志字段非法或单个用户曝光、点击或订购超过设定阈值,则将清理相关日志,以避免数据对模型培训的影响。数据序列化后,在HDFS上保存三份文本文件(Impression)、点击(Click)和下单(Order)。根据globalid(一次搜索的唯一标记,类似于sessionid)和相应的团购id,数据标记模块将曝光、点击和订单联系起来,最终生成一个标记数据,标记是否被点击、下单和支付。同时,这个标注数据携带同时携带

内容来源:网络,以上内容来源于网络,不代表本站观点,如有侵权,请联系删除。

推荐阅读

好看的国产动漫排行榜前十名,这些都是重点推荐

很多人都比较喜欢日本的动漫,其实国产也有很多的好看动漫可以选择。毕竟现在我国的动漫制作技术提升了不少,在故事的情节打造上,也更符合国情,那么好看的国产动漫排行榜前十名都有哪些呢?这些都是重点推荐的,一起来看看吧。 1、斗罗…查看详情

什么软件赚钱最快最靠谱?这几款支持微信提现

最近,有越来越多的朋友们在问什么软件赚钱最快?哪个软件赚钱最可靠?确实,如果我们利用玩手机刷抖音的时间用来赚钱,岂不美哉!下面跟着*一起来看看什么软件赚钱最快吧。1、投票软件通过投票软件是可以赚钱的。许多人是通过微信、微信公众号,还有些人在…查看详情

声纳系统技术运用在哪些方面?

声纳系统是一种在水下作业的系统技术,它可以帮助我们进行水下探测、通信等操作,大大提高了水下作业的效率。餐桌上的鱼有些也是运用声纳系统捕的。声纳系统技术作用在哪些方面?让我来告诉你吧。 1.军事水声技术 它是一款利用声纳系统…查看详情

十大财务软件分享,总有一款适合你

随着时代的变迁,如今的财务早已经不同于以往的“账房先生”,仅凭算盘和纸笔就能指导“天下”。现在的企业拥有庞大的数据需要分析处理,以及各项数据申报,而这些都是离不开财务软件的辅助。但是对于选购财务软件,我们不仅要擦亮双眼,还要了解相关财务软件…查看详情

出去旅游订酒店用哪个APP好? 酒店预订哪个软件便宜?

大家现在的经济条件都变得比较好了,所以都会想要四处去转转,到处旅旅游。如果大家想要去旅游的话,这也就意味着大家需要远离自己的家乡,而大家在家乡之外是没有一个住所的。如果大家没有住所的话,那么就需要去预定酒店让自己在别的地方能够落…查看详情

sqlserver2008安装步骤

Win7系统已安装SQLServer2008怎么重装系统?首先处理SQLServer2008数据库系统,一种办法就是对数据库做完整备份,一般是通过命令行方式(SQLPLUS),对数据库进行全备份,包括特定的数据库以及能够恢复这些数据相关的日…查看详情

2021国内最好用的5款解压软件,支持7Z、RAR、ZIP格式!

一款好用的解压软件能够帮助我们在日常工作中极大的提高工作效率,而2021年国内有哪些好用的解压软件呢?最好还要能够支持一些比较难解压的格式,比如7Z、RAR、ZIP等,小万整理了目前国内市场上最好用的5款解压软件,供各位做参考。 1、360…查看详情

oa系统有哪些品牌?市面上oa系统分这三类

企业管理中的五要素:人、财、物、信息、时间,而在市场上总计3类的OA系统对于一个新生企业来说,能够起到全面执行力的变革作用,你知道oa系统有哪些品牌吗? 1. 通达oa系统 通过简单的可视化拖拽方式快速搭建各类管理应用,例如实现合同管理、部…查看详情

什么是2级分销系统?2级分销系统的主要优势

随着商品经济的不断发展,销售行为也出现出了多种形式,而2级分销系统是一种销售体系,拓宽了商品销售的渠道,因此得到了许多商家的青睐。但是对于刚刚接触二级分销的商家而言,对它还不是很了解。本篇文章将为大家讲解一下什么是2级分销系统,以及2级分销…查看详情

电动自行车品牌有哪些 5大电动自行车品牌

在平时的出行中很多人其实也会选择电动自行车,不同的电动自行车也有不同的功能,下面万商云集*给大家来详细介绍一下电动自行车品牌有哪些 5大电动自行车品牌这一块的详细内容,希望帮助到大家。  品牌:永久Forever  型号:TDT275Z  …查看详情

编程是学些什么东西

猿辅导编程讲的什么?猿编程课程主要面向4-12岁的学生,走的是Python语言的程序设计路线。主要是帮助孩子掌握编程语言和编程思维,来到达开发设计程序的目。智能制造专业学什么课程?主干课程:机床电气控制与PLC、工业机器人技术、数控加工工艺…查看详情

代驾app排行榜 十大代驾app排行榜

代驾app的出现给大家的生活带来了不少便利,让大家出门在外有了安全的保障,不用再担心喝酒后不能驾车的问题,可以和朋友放心喝大胆玩了,今天就带大家一起盘点一下有哪些好用的代驾app。 1.滴滴代驾 滴滴代驾是滴滴旗下的一款…查看详情

视频剪辑用什么软件最好?这些软件不容错过

很多人都特别喜欢拍摄视频,其实现在很多人也都喜欢*一些小视频,那么想要带来不一样的视觉体验,就应该要学会视频的剪辑与制作。在进行视频剪辑的时候应该要找到不错的软件来使用,这样能够让自己在制作的过程当中更加容易也能够得心应手。那么…查看详情

网店名字大全 给网店取名需要注意些什么?

电商发展迅速,很多人萌生了创业的想法,一个好的网店名字对于网店来说是非常重要的,这也是店铺进行获客的重要手段和渠道,如何取名字?给网店取名需要注意些什么?以下就各行业领域举例,以下这些不错的网店名字大全供大家参考。 淘宝服饰网店名: 纤衣阁…查看详情

万商云集为建筑工程行业打造小程序全网营销模式

时代飞速发展,科技日新月异,稍不留神就可能错过无限商机。小程序自出现以来,便受到各行各业的*,成为传统企业转型互联网的捷径之选。建筑工程行业也不例外,其看似硬核的行业特性下,在小程序的帮助下,也可以柔软的融入互联网,走进消费者身边。建筑工程…查看详情

最新文章