18720358503 在线客服 人才招聘 返回顶部
企业动态 技术分享 行业动态

深层次分析美团网站强烈推荐优化算法的产品研

2021-02-21分享 "> 对不起,没有下一图集了!">

序言
强烈推荐系统软件其实不是新鮮的事情,在很久以前就存在,可是强烈推荐系统软件真实进到人们的视线,而且做为1个关键的控制模块存在于各个互联网技术企业,還是近几年的事儿。

伴随着互联网技术的深层次发展趋势,愈来愈多的信息内容在互联网技术提交播,造成了比较严重的信息内容过载。假如不选用1定的方式,客户很难从这般多的信息内容流中寻找对自身有使用价值的信息内容。

处理信息内容过载有几种方式:1种是检索,当客户有了确立的信息内容要求用意后,将用意变换为几个简洁明了的词或短语的组成(即query),随后将这些词或短语组成递交到相应的检索模块,再由检索模块在大量的信息内容库中查找出与query有关的信息内容回到给客户;此外1种是强烈推荐,许多情况下客户的用意其实不是很确立,或很难用清楚的词义表述,有时乃至连客户自身都不清晰自身的要求,这类状况下检索就显得困窘了。特别是近几年来来,伴随着电子器件商务的盛行,客户并不是1定是带着确立的选购用意去访问,许多情况下是去“逛”的,这类场景下处理信息内容过载,了解客户用意,为客户消息推送个性化化的結果,强烈推荐系统软件就是1种较为好的挑选。

美团做为中国发展趋势较快的o2o网站,拥有很多的客户和丰富多彩的客户个人行为,这些为强烈推荐系统软件的运用和提升出示了不能或缺的标准,接下来详细介绍美团在强烈推荐系统软件的搭建和提升全过程中的1些做法,与大伙儿共享资源。

架构

从架构的角度看,强烈推荐系统软件基础能够分成数据信息层、开启层、结合过虑层和排列层。数据信息层包含数据信息转化成和数据信息储存,关键是运用各种各样数据信息解决专用工具对初始系统日志开展清理,解决成文件格式化的数据信息,落地到不一样种类的储存系统软件中,供下游的优化算法和实体模型应用。候选集开启层关键是从客户的历史时间个人行为、即时个人行为、自然地理部位等角度运用各种各样开启对策造成强烈推荐的候选集。候选集结合和过虑层有两个作用,1是对考虑层造成的不一样候选集开展结合,提升强烈推荐对策的遮盖度和精度;此外还要担负1定的过虑岗位职责,从商品、经营的角度明确1些人力标准,过虑掉不符标准的item。排列层关键是运用设备学习培训的实体模型对开启层挑选出来的候选集开展重排列。

另外,对与候选集开启和重排列双层而言,以便实际效果迭代更新是必须经常改动的双层,因而必须适用ABtest。以便适用高效率率的迭代更新,美团对候选集开启和重排列双层开展掌握耦,这双层的結果是正交和的,因而能够各自开展比照实验,不容易互相危害。另外在每层的內部,美团会依据客户将总流量区划为多份,适用好几个对策另外线上比照。

数据信息运用
数据信息乃优化算法、实体模型之本。美团做为1个买卖服务平台,另外具备迅速提高的客户量,因而造成了大量丰富多彩的客户个人行为数据信息。自然,不一样种类的数据信息的使用价值和反应的客户用意的强弱也是有所不一样。

客户积极个人行为数据信息纪录了客户在美团服务平台上不一样的阶段的各种各样个人行为,这些个人行为1层面用于候选集开启优化算法(在下1一部分详细介绍)中的线下测算(关键是访问、下单),此外1层面,这些个人行为意味着的用意的强弱不一样,因而在训炼重排列实体模型时能够对于不一样的个人行为设置不一样的重归目标,以更细地描绘客户的个人行为强弱水平。另外,客户对deal的这些个人行为还能够做为重排列实体模型的交叉式特点,用于实体模型的线下训炼和线上预测分析。
负意见反馈数据信息反应了当今的結果将会在一些层面不可以考虑客户的要求,因而在后续的候选集开启全过程中必须考虑到对特殊的要素开展过虑或降权,减少负面要素再度出現的概率,提升客户体验;另外在重排列的实体模型训炼中,负意见反馈数据信息能够做为不能多得的负例参加实体模型训炼,这些负例要比那些展现后未点一下、未下单的样版明显的多。
客户画好像描绘客户特性的基本数据信息,在其中一些是立即获得的初始数据信息,一些是历经发掘的2次生产加工数据信息,这些特性1层面能够用于候选集开启全过程中对deal开展加权或降权,此外1层面能够做为重排列实体模型中的客户维度特点。
根据对UGC数据信息的发掘能够提取下1些重要词,随后应用这些重要词给deal打标识,用于deal的个性化化展现。

对策开启
上文中美团提到了数据信息的关键性,可是数据信息的落脚点還是优化算法和实体模型。单纯性的数据信息只是1些字节的堆积,美团务必根据对数据信息的清理除去数据信息中的噪音,随后根据优化算法和实体模型学习培训在其中的规律性,才可以将数据信息的使用价值最大化。在本节中,将详细介绍强烈推荐候选集开启全过程选用到的有关优化算法。

##1. 协作过虑

提到强烈推荐,就迫不得已说协作过虑,它基本上在每个强烈推荐系统软件中都会用到。基础的优化算法十分简易,可是要得到更好的实际效果,常常必须依据实际的业务流程做1些差别化的解决。

消除舞弊、刷单、代购等噪音数据信息。这些数据信息的存在会比较严重危害优化算法的实际效果,因而要在第1步的数据信息清理中就将这些数据信息剔除。
有效选择训炼数据信息。选择的训炼数据信息的時间对话框不宜太长,自然也不可以太短。实际的对话框期标值必须历经数次的试验来明确。另外能够考虑到引进時间衰减系数,由于最近的客户个人行为更能反应客户接下来的个人行为姿势。
user-based与item-based相融合。

尝试不一样的类似度测算方式。在实践活动中,美团选用了1种称作loglikelihood ratio[1]的类似度测算方式。在mahout中,loglikelihood ratio也做为1种类似度测算方式被选用。
下表表明了Event A和Event B之间的互相关联,在其中:
k11 :Event A和Event B共现的次数
k12 :Event B产生,Event A未产生的次数
k21 :Event A产生,Event B未产生的次数
k22 :Event A和Event B都不产生的次数、

则logLikelihoodRatio=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端最大的差别之1是挪动机器设备的部位是常常产生转变的。不一样的自然地理部位反应了不一样的客户情景,在实际的业务流程中能够充足运用客户所处的自然地理部位。在强烈推荐的候选集开启中,美团也会依据客户的即时自然地理部位、工作中地、定居地等自然地理部位开启相应的对策。

依据客户的历史时间消費、历史时间访问等,发掘出某1粒度的地区(例如商圈)内的地区消費热单和地区选购热单

地区消費热单

地区选购热单

当新的网上客户恳求抵达时,依据客户的几个自然地理部位对相应自然地理部位的地区消費热单和地区选购热单开展加权,最后获得1个强烈推荐目录。
另外,还能够依据客户出現的自然地理部位,选用协作过虑的方法测算客户的类似度。

##3. query-based
检索是1种强客户用意,较为确立的反映了客户的意向,可是在许多状况下,由于各种各样各种各样的缘故,沒有产生最后的变换。虽然这般,美团觉得,这类场景還是意味着了1定的客户意向,能够加以运用。实际做法以下:

对客户以往1段時间的检索无变换个人行为开展发掘,测算每个客户对不一样query的权重。

测算每一个query下不一样deal的权重。

当客户再度恳求时,依据客户对不一样query的权重及query下不一样deal的权重开展加权,取下权重最大的TopN开展强烈推荐。

##4. graph-based
针对协作过虑而言,user之间或deal之间的图间距是两跳,针对更长距离的关联则不可以考虑到在内。而图优化算法能够摆脱这1限定,将user与deal的关联看作1个2部图,互相间的关联能够在图提交播。Simrank[2]是1种考量对等实体线类似度的图优化算法。它的基础观念是,假如两个实体线与此外的类似实体线有有关关联,那它们也是类似的,即类似性是能够散播的。
Let s(A,B) denote the similarity between persons A and B, for A != B

Let s(c,d) denote the similarity between items c and d, for c != d

O(A),O(B): the set of out-neighbors for node A or node B
I(c),I(d): the set of in-neighbors for node c or node d

simrank的测算(选用引流矩阵迭代更新的方法)

测算得出类似度引流矩阵后,能够相近协作过虑用于网上强烈推荐。

##5. 即时客户个人行为
现阶段美团的业务流程会造成包含检索、挑选、个人收藏、访问、下单等丰富多彩的客户个人行为,这些是美团开展实际效果提升的关键基本。美团自然期待每个客户个人行为流都能抵达转换的阶段,可是客观事实上远非这样。

当客户造成了下单个人行为上游的一些个人行为时,会有非常1一部分由于各种各样缘故使个人行为流沒有产生转换。可是,客户的这些上游个人行为对美团而言是是非非常关键的先验专业知识。许多状况下,客户那时候沒有转换其实不意味着客户对当今的item不感兴趣爱好。当客户再度抵达美团的强烈推荐展位时,美团依据客户以前造成的先验个人行为了解并鉴别客户的真实用意,将合乎客户用意的有关deal再度呈现给客户,正确引导客户沿着个人行为流向下游行驶,最后做到下单这个终纵目标。

现阶段引进的即时客户个人行为包含:即时访问、即时个人收藏。


##6. 替补对策
尽管美团有1系列根据客户历史时间个人行为的候选集开启优化算法,但针对一部分新客户或历史时间个人行为不太丰富多彩的客户,上述优化算法开启的候选集很小,因而必须应用1些替补对策开展填充。

热卖单:在1定时执行间内销量数最多的item,能够考虑到時间衰减系数的危害等。
好评单:客户造成的点评中,评分较高的item。
大城市单:考虑基础的限制标准,在客户的恳求大城市内的。

子对策结合
以便融合不一样开启优化算法的优势,另外提升候选集的多样性和遮盖率,必须将不一样的开启优化算法结合在1起。普遍的结合的方式有下列几种[3]:

加权型:最简易的结合方式便是依据工作经验值对不一样优化算法赋给不一样的权重,对各个优化算法造成的候选集依照给定的权重开展加权,随后再依照权重排列。
等级分类型:优先选择选用实际效果好的优化算法,当造成的候选集尺寸不够以考虑目标时,再应用实际效果次好的优化算法,依此类推。
调制型:不一样的优化算法依照不一样的占比造成1定量分析的候选集,随后叠加造成最后总的候选集。
过虑型:当今的优化算法对前1级优化算法造成的候选集开展过虑,依此类推,候选集被逐级过虑,最后造成1个小而精的候选结合。
现阶段美团应用的方式集成化了调制和等级分类两种结合方式,不一样的优化算法依据历史时间实际效果主要表现给定不一样的候选集组成占比,另外优先选择选用实际效果好的优化算法开启,假如候选集不足大,再选用实际效果次之的优化算法开启,依此类推。


候选集重排列
如上所述,针对不一样优化算法开启出来的候选集,只是依据优化算法的历史时间实际效果决策优化算法造成的item的部位显得一些简易粗鲁,另外,在每一个优化算法的內部,不一样item的次序也只是简易的由1个或几个要素决策,这些排列的方式只能用于第1步的初选全过程,最后的排列結果必须依靠设备学习培训的方式,应用有关的排列实体模型,综合性多层面的要素来明确。

##1. 实体模型
非线形实体模型能较好的捕获特点中的非线形关联,但训炼和预测分析的成本相对性线形实体模型要高1些,这也致使了非线形实体模型的升级周期相对性要长。反之,线形实体模型对特点的解决规定较为高,必须凭着行业专业知识和工作经验人力对特点做1些先期解决,但由于线形实体模型简易,在训炼和预测分析时效性率较高。因而在升级周期上还可以做的更短,还能够融合业务流程做1些线上学习培训的尝试。在美团的实践活动中,非线形实体模型和线形实体模型都有运用。

非线形实体模型
现阶段美团关键选用了非线形的树实体模型Additive Groves[4](简称AG),相对线形实体模型,非线形实体模型能够更好的解决特点中的非线形关联,无须像线形实体模型那样在特点解决和特点组成上花销较为大的活力。AG是1个加性实体模型,由许多个Grove构成,不一样的Grove之间开展bagging得出最终的预测分析結果,由此能够减小过拟合的危害。

每个Grove有多棵树构成,在训炼时每棵树的拟合总体目标为真正值与别的树预测分析結果之和之间的残差。当做到给定数目地树时,再次训炼的树会逐棵取代之前的树。历经数次迭代更新后,做到收敛。

线形实体模型
现阶段运用较为多的线形实体模型非Logistic Regression莫属了。以便能即时捕获数据信息遍布的转变,美团引进了online learning,接入即时数据信息流,应用google提出的FTRL[5]方式对实体模型开展线上升级。

关键的流程以下:

线上写特点空间向量到HBase
Storm分析即时点一下和下单系统日志流,改变HBase中对应特点空间向量的label
根据FTRL升级实体模型权重
将新的实体模型主要参数运用于网上
##2. 数据信息

取样:针对点一下率预估而言,正负样版比较严重不平衡,因此必须对负例做1些取样。
负例:正例1般是客户造成点一下、下单等变换个人行为的样版,可是客户沒有变换个人行为的样版是不是就1定是负例呢?实际上要不然,许多呈现实际上客户压根沒有看到,因此把这样样版视作负例是不符合理的,也会危害实体模型的实际效果。较为常见的方式是skip-above,即客户点一下的item部位以上的呈现才将会看作负例。自然,上面的负例全是隐式的负意见反馈数据信息,除此以外,美团也有客户积极删掉的显示信息负意见反馈数据信息,这些数据信息是高品质的负例。
去噪:针对数据信息中掺杂的刷单等类舞弊个人行为的数据信息,要将其清除出训炼数据信息,不然会立即危害实体模型的实际效果。
##3. 特点
在美团现阶段的重排列实体模型中,大约分成下列几类特点:

deal(即团购单,下同)维度的特点:关键是deal自身的1些特性,包含价钱、打折、销量、评分、种别、点一下率等
user维度的特点:包含客户级别、客户的人口特性、客户的顾客端种类等
user、deal的交叉式特点:包含客户对deal的点一下、个人收藏、选购等
间距特点:包含客户的即时自然地理部位、常去自然地理部位、工作中地、定居地等与poi的间距
针对非线形实体模型,上述特点能够立即应用;而针对线形实体模型,则必须对特点值做1些分桶、归1化等解决,使特点值变成0~1之间的持续值或012值。


总结
以数据信息为基本,用优化算法去雕刻,仅有将2者有机融合,才会带来实际效果的提高。对美团而言,下列两个连接点是美团提升全过程中的里程碑:

将候选集开展结合:提升了强烈推荐的遮盖度、多样性和精度
引进重排列实体模型:处理了候选集提升之后deal之间排序次序的难题

以上是美团在实践活动中的1点总结,自然美团也有还多事儿要做。we are still on the way!


注:
本文为美团强烈推荐与个性化化精英团队团体聪慧的结晶,谢谢为此艰辛努力的每个组员。另外,精英团队长期性招骋优化算法工程项目师与服务平台产品研发工程项目师,感兴趣爱好的同学请联络hr.tech,电子邮件题目注明“面试强烈推荐系统软件工程项目师”。

"> 对不起,没有下一图集了!">
在线咨询