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

企业首选的

数字选用平台

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

2020-12-30 14:04:06 阅读(333 评论(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,数据标记模块将曝光、点击和订单联系起来,最终生成一个标记数据,标记是否被点击、下单和支付。同时,这个标注数据携带同时携带

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

推荐阅读

公司名称变更后还需要变更哪些

  一、引言  随着公司发展,有些公司可能会根据业务变化或其他原因需要修改公司名称。在名称变更后,公司除了需要修改各种证照、执照、文档等,还需要对多个方面的事项进行调整和更新。本文将针对名称变更后需要变更的方面进行详细描述和解释。  二、法…查看详情

在线客服系统免费的有哪些?

51客服是什么?51客服是一款专业的网上在线客服系统 51客服网上上客服是完全基于WEB实现的一款免费网页对话系统,简洁明快,无需安装任何插件。在提升服务质量的同时,也为使用者带来了新的客户来源和订单。免费客服系统有谁用过吗?用过很多,还…查看详情

小程序游戏制作工具

  小程序游戏怎么做的?  小程序游戏需要掌握一定的编程知识,使用开发工具进行开发。  游戏的设计需要考虑玩家的体验和游戏的趣味性,同时还需要考虑游戏的流畅度和响应速度,以及吸引力和推广方案。  小程序游戏开发需要注意微信官方的规定和用户隐…查看详情

北京市规范双11商品价格,不允许价格先涨再降

目前各大电商平台的商家激战正酣,都想在这个每年一次的全民狂欢购物中分得一杯羹,各大商家做了看起来非常有吸引力的活动,比如1元抢6重优惠、第二家0元、全场3.5折起等等。因为往年有些商家都会在双11开始前一段时间先把商品价格涨价最后在双11当…查看详情

五个常见的数据库管理系统

数据库包含哪几个板块?数据库系统由4个部分组成: 1、数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合。数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各…查看详情

2022年商标注册需要多久下来

  商标只能到商标管理部门进行注册,才受法律的保护,注册的商标是不容侵犯的,而注册商标需要满足一定的条件,并且要经过一定的程序,而这个程序是比较长的,那么注册商标一般要多长时间?万商云集小编给你来详细解答一下这一块的相关内容。2022年商标…查看详情

公认游戏性能最强手机,各大电竞手游职业选手都在用

近年来,电子手游行业发展迅猛,每年都有各种大型的赛事展开。细心的朋友们会发现,赛场上的各位职业选手们所使用的手机与我们平时用的常见手机有很大的区别。这是因为他们所使用的是更适合玩游戏的专业游戏手机,其各种性能都要比我们平时买的手机有很大的区…查看详情

windows10语言栏怎么设置

  Windows 10语言栏是一个非常重要的工具,它可以设定你想要使用的语言,使得你的电脑界面上显示相应语言的文字,帮助你更加方便的进行操作和使用。  一般情况下,语言栏的默认设置可能是英语或者其他语言是英语,但如果你不想使用英语,想要…查看详情

计算机经历的四个时代是什么?

计算机的发展经历了哪些阶段?计算机发展经历了四个发展阶段: 1、第一个发展阶段:1946-1956年电子管计算机的时代。 特点:体积大,功耗大,速度慢 2、第二个发展阶段:1956-1964年晶体管的计算机时代:操作系统。 特点:采…查看详情

6款功能比较强大的手机浏览器排行

手机浏览器是手机里很重要的一款应用软件,即使手机硬件系统跟不上,但是浏览器一定是里面功能最强大的软件,没有之一。接下来,就让我来给大家介绍6款功能比较强大的手机浏览器排行吧。1.西瓜浏览器它是全新一代手机移动设备开发的一款手机浏览器,它可以…查看详情

一键免费生成微信小程序 免费小程序制作软件

现在的小程序非常多,只要把小程序做起来,就可以赚很多的钱,包括还会有人主动找你合作,所以,想要开发自己的小程序,就需要看看小程序制作软件都有哪些,要用软件制作。 1、上线了 一个好评很高的小程序开发平台,几乎包含各个行业,包…查看详情

钉钉视频会议爆满怎么解决,这几种方法可以解决

  相信大家平时在疫情期间都使用过钉钉来进行学习和进行视频会议, 但是很多的时候会遇到一个问题就是视频会议爆满的情况,下面小编就给大家来详细介绍一下如何解决这个问题。  钉钉视频会议爆满怎么解决  1、在钉钉软件我的界面里,点击设置按钮。…查看详情

想要进行手机网站建设,选择平台要注意这几点

现在我们的手机可以说功能是越来越强大了,智能化越来越高,所以很多企业和个人,也利用了这一点进行互联网方面的营销,的确也带来了不错的效果,如果想要进行手机网站建设的话,在选择平台上需要注意这几点,因为选择好平台,才能够建立好更完美…查看详情

笔记本软件如何选?推荐这几款

现在的人们,已经慢慢的放弃使用纸质的笔记本了,更多的开始选择一些笔记本软件,来记录事情,或者是写各种学习的笔记和工作的笔记等等,但是在选择笔记本软件的时候,一定要注意根据自己的需求,那么笔记本软件如何选择呢?推荐这几款,一起来了…查看详情

it培训机构哪家好

哪个IT培训机构比较好?我是两年前中公优就业学出来的,当时网上也找了很多资料自己听……反复比对,最后觉得还是去中公,学的前端,目前在北京一家不算小的公司搬砖。我觉得培训了一趟还行,最起码现在工作不愁,生活也没啥太多担心的。当时网上也找了很多…查看详情

最新文章