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

企业首选的

数字选用平台

解读美团在推荐系统的构建和优化过程中的一些做法

2020-12-30 14:07:53 阅读(181 评论(0)

推荐系统并不是什么新鲜事,很久以前就存在了,但近年来,推荐系统确实进入了人们的视野,作为各种互联网公司存在的重要模块。随着互联网的深入发展,越来越多的信息在互联网上传播,产生了严重的信息过载。如果不使用某种手段,用户很难从这么多的信息流中找到有价值的信息。解决信息过载的方法有几种:一种是搜索,当用户有明确的信息需求意图时,将意图转换为几个简短的单词或短语组合(即短语),然后将这些单词或短语组合提交给相应的搜索引擎,然后搜索引擎在大量的信息库中检索与短语相关的信息返回给用户;另一种是推荐,用户的意图往往不是很清楚,或者很难用清晰的语义表达,有时甚至用户自己也不知道自己的需求。在这种情况下,搜索似乎很紧张。特别是近年来,随着电子商务的兴起,用户不一定有明确的购买意图浏览,大多数时候是“访问”。在这种情况下,推荐系统是解决信息过载、理解用户意图、向用户推送个性化结果的更好选择。作为中国发展迅速的o2o网站,美团拥有大量的用户和丰富的用户行为,为推荐系统的应用和优化提供了不可或缺的条件。接下来,我们将介绍美团在推荐系统建设和优化过程中的一些做法,并与您分享。作为中国发展迅速的o2o网站,美团拥有大量的用户和丰富的用户行为,为推荐系统的应用和优化提供了不可或缺的条件。接下来,我们将介绍美团在推荐系统建设和优化过程中的一些实践,并与您分享。从框架的角度来看,推荐系统基本上可以分为数据层、触发层、集成过滤层和排序层。数据层包括数据生成和数据存储,主要使用各种数据处理工具清理原始日志,处理成格式化数据,落地到下游算法和模型的不同类型的存储系统中。候选集触发层主要是从用户的历史行为、实时行为、地理位置等角度推荐的候选集。候选人集合和过滤层有两个功能。一是整合出发层产生的不同候选人集,提高推荐策略的覆盖率和准确性;此外,我们还应承担一定的过滤责任,从产品和操作的角度确定一些人工规则,过滤掉不合格的item。排序层主要是利用机器学习模型对触发层筛选出的候选集进行重新排序。同时,对于与候选集触发和重排序的两层,需要频繁修改才能迭代效果,因此需要支持ABtest。为了支持高效的迭代,美团解耦了候选集的触发和重排序。这两层的结果是正交的,所以可以分别进行比较试验,不会相互影响。同时,在每一层内,美团将根据用户将流量划分为多个部分,支持多个策略同时在线比较。数据应用数据是算法和模型的基础。作为一个交易平台,美团拥有快速增长的用户数量,从而产生了大量丰富的用户行为数据。当然,不同类型数据的价值和用户意图的强度也不同。用户主动行为数据记录了用户在美团平台上不同环节的各种行为。一方面,这些行为用于候选集触发算法中的离线计算(主要是浏览和订单)(主要是浏览和订单)。另一方面,这些行为代表了不同的意图。因此,在训练重排序模型时,可以为不同的行为设定不同的回归目标值,从而更详细地描述用户的行为强度。此外,用户对deal的这些行为也可以作为模型离线训练和在线预测的重排序模型的交叉特征。负反馈数据反映了当前结果在某些方面可能无法满足用户的需求。因此,在后续的候选集触发过程中,需要考虑过滤或减少特定因素的功率,减少负因素再次出现的可能性,提高用户体验;同时,在重排序模型培训中,负反馈数据可以作为罕见的负例参与模型培训,比显示后未点击或下单的样本要明显得多。用户肖像是描绘用户属性的基本数据,有些是直接获取的原始数据,有些是挖掘的二次处理数据。一方面,这些属性可以用于在候选集触发过程中加权或减权,另一方面,它们可以作为重排序模型中的用户维度特征。一些关键词可以通过挖掘UGC数据来提取,然后用这些关键词给deal贴上标签,用于deal的个性化显示。战略触发了上述中美团提到的数据的重要性,但数据的立足点仍然是算法和模型。简单的数据只是一些字节的积累。美团必须通过清理数据来去除数据中的噪音,然后通过算法和模型来最大化数据的价值。本节将介绍推荐候选集触发过程中使用的相关算法。##1.当谈到推荐的协同过滤时,必须说协同过滤几乎用于每个推荐系统。基本算法很简单,但要取得更好的效果,往往需要根据具体业务进行一些差异化处理。清除作弊、刷单、采购等噪声数据。这些数据的存在会严重影响算法的效果,所以这些数据应该在数据清洗的第一步中删除。训练数据的合理选择。所选训练数据的时间窗口不宜过长,当然也不宜过短。窗口期的具体值需要通过多次实验来确定。由于最近的用户行为更能反映用户的下一步行为,因此可以考虑引入时间衰减。user-based和item-结合based。尝试不同的相似度计算方法。在实践中,美团采用了一种类似的计算方法,称为loglikelihodratio[1]。在mahout中,loglikelihodratio也被用作一种类似的计算方法。下表显示了Eventa和EventB之间的关系,其中:k11:K12Eventa和EventB共现的次数:EventB发生,EventA未发生的K21:Eventa发生,k222.EventB未发生的次数:不发生Eventa和EventB的次数,loglikelihodratio=2*(matrixEntropy-rowEntropy-columnEntropy)其中,rowentropy=entropy(k11,k12) entropy(k21,k22)columnEntropy=entropy(k11,k21) entropy(k12,k22)matrixEntropy=entropy(k11,k12,k21,k22)(由entropy组成的香农熵)#2.location-对移动设备而言,based,与PC端最大的区别之一是,移动设备的位置经常发生变化。不同的地理位置反映了不同的用户场景,可以充分利用用户在特定业务中的地理位置。不同的地理位置反映了不同的用户场景,可以充分利用用户在特定业务中的地理位置。美团还将根据用户的实时地理位置、工作地点、居住地等地理位置触发相应的策略。根据用户的历史消费、历史浏览等,挖掘一定粒度的区域(如商业区)区域消费热订单和区域购买热订单区域购买热订单当新的在线用户请求到达时,根据用户的几个地理位置加权相应地理位置的区域消费热订单和区域购买热订单,最终得到推荐列表。此外,用户的相似性也可以根据用户的地理位置进行协同过滤。##3.query-based搜索是一种强烈的用户意图,它清楚地反映了用户的意愿,但在许多情况下,由于各种原因,没有形成最终的转换。尽管如此,美团还是认为这种情况代表了一定的用户意愿,可以利用。具体做法如下:挖掘用户过去一段时间的搜索无转换行为,计算每个用户对不同query的权重。计算每个query下不同deal的权重。当用户再次要求时,根据用户对不同query的权重和query下不同deal的权重进行加权,并取出权重最大的topn进行推荐。##4.graph-based对于协同过滤,user或deal之间的图形距离是两个跳跃,不能考虑更远的关系。图算法可以打破这一限制,将user与deal的关系视为二部图,相互关系可以在图上传播。Simrank[2]是衡量对等实体相似度的图算法。它的基本思想是,如果两个实体与其他相似实体有关,它们也是相似的,即相似性可以传播。Lets(A,B)denotethesimilaritybetweenpersonsAandB,forA!=BLets(c,d)denotethesimilaritybetweenitemscandd,forc!=dO(A),O(B):thesetofout-neighborsfornodeAornodeBI(c),I(d):thesetofin-neighborsfornodecornodedsimrank的计算(矩阵迭代)计算出相似度矩阵后,类似于在线推荐的协同过滤。##5.目前,美团的业务将产生丰富的用户行为,包括搜索、筛选、收集、浏览和订单,这是美团效果优化的重要基础。当然,美团希望每一个用户行为流都能达到转化的环节,但事实并非如此。当用户在订单行为的上游产生一些行为时,相当一部分行为流由于各种原因没有形成转换。然而,用户的这些上游行为对美团来说是一个非常重要的先验知识。在许多情况下,当时用户没有转换并不意味着用户对当前item不感兴趣。当用户再次到达美团的推荐展位时,美团将根据用户之前的先验行为,再次向用户展示符合用户意图的相关演示,引导用户沿着行为流向下游,最终实现订单的最终目标。实时用户行为包括实时浏览和实时收集。##6.虽然美团有一系列基于用户历史行为的候选集触发算法,但对于一些新用户或历史行为不丰富的用户来说,上述算法触发的候选集太小,需要填写一些替代策略。热销订单:在一定时间内销量最大的item,可考虑时间衰减的影响等。好评表:在用户产生的评价中,得分较高的item。城市单:满足城市用户要求的基本限制条件。为了结合不同触发算法的优点,提高候选集的多样性和覆盖率,需要将不同的触发算法结合起来。常见的融合方法有以下[3]:加权类型:最简单的集成方法是根据经验值给出不同的算法权重,并根据给定的权重对每个算法生成的候选集进行加权,然后根据权重进行排序。分级类型:优先考虑效果好的算法,当候选集的大小不足以满足目标值时,再使用效果次好的算法,以此类推。调制类型:不同的算法根据不同的比例产生一定数量的候选集,然后叠加产生最终的总候选集。过滤类型:当前算法过滤前一级算法产生的候选集,以此类推,候选集被逐级过滤,最终产生小而精的候选集。目前,美团采用的方法集成了两种集成方法:调制和分级。不同的算法根据历史效果给出不同候选集的比例。同时,优先考虑效果好的算法。如果候选集不够大,则使用效果第二的算法进行触发,以此类推。如上所述,对于不同算法触发的候选集,根据算法的历史效果确定算法产生的item的位置有点简单和粗糙。同时,在每个算法的内部,不同item的顺序只是由一个或几个因素决定的,这些排序方法只能用于初步选择过程的第一步,最终的排序结果需要使用相关的排序模型,综合各种因素来确定。##1.模型非线性模型可以更好地捕捉特征中的非线性关系,但训练和预测的成本高于线性模型,这也导致非线性模型的更新周期相对较长。##1.模型非线性模型可以更好地捕捉特征中的非线性关系,但训练和预测的成本高于线性模型,这也导致非线性模型的更新周期相对较长。相反,线性模型对特征的处理要求相对较高,需要依靠领域知识和经验手动处理特征,但由于线性模型简单,在训练和预测中效率较高。因此,在更新周期中也可以做得更短,也可以结合业务进行一些在线学习尝试。在美团的实践中,非线性模型和线性模型都有应用。目前,美团主要采用非线性树模型AddditiveGroves[4](AG)。与线性模型相比,非线性模型可以更好地处理特征中的非线性关系,不需要像线性模型那样在特征处理和特征组合上花费大量精力。AG是一个由多个Grove组成的加性模型,在不同的Grove之间进行bagging以获得最终的预测结果,从而减少过拟合的影响。每棵Grove都由多棵树组成,每棵树的拟合目标是实际值与其它树预测结果之和之间的残差。当达到给定数量的树木时,重新训练的树木将逐一取代以前的树木。经过多次迭代,达到了收敛。目前应用广泛的线性模型是Logisticregresion。为了实时捕捉数据分布的变化,美团引入onlinelearning,访问实时数据流,使用google提出的FTRL[5]方法在线更新模型。主要步骤如下:在线写作特征向量到HBasestorm分析实时点击和订单日志流,通过FTRL更新模型权重将新模型参数应用于在线##2。数据采样:对于点击率估计,正负样本严重不平衡,因此需要

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

最新文章