2020-12-30 14:04:06 阅读(394)
随着业务的发展,美团的商家和团购数量正在迅速增长。在此背景下,搜索排名的重要性更加突出:排名优化可以帮助用户更方便地找到满足其需求的企业和团体购买,改善用户体验,提高转化效果。与传统的网页搜索问题相比,美团的搜索排名有自己的特点——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,数据标记模块将曝光、点击和订单联系起来,最终生成一个标记数据,标记是否被点击、下单和支付。同时,这个标注数据携带同时携带
以上就是关于深入剖析美团将大数据排序进行优化的架构的相关介绍,更多深入剖析美团将大数据排序进行优化的架构相关内容可以咨询我们或者浏览页面上的推荐内容。我们将让你对深入剖析美团将大数据排序进行优化的架构有更深的了解和认识。
推荐阅读
最新文章
猜你喜欢以下内容:
一 客户顾问-张三 一

