美团生活服务个性化推荐实践

jopen 9年前

张彬(美团推荐算法高级研发工程师):2012年3月硕士毕业于北京邮电大学,有过两年的互联网广告工作经历,期间先后参与过user profile挖掘、实时竞价算法、ctr预估等多个核心项目,对RTB、DSP、DMP中的相关技术有较好的理解和认识,积累了丰富的经验。2013年初加入美团网,主要负责美团个性化推荐系统的构建和优化,通过完善召回算法和引入重排序模型等大幅度提高了系统的转化率。

美团作为全国领的本地生活服务平台,在本地生活服务推荐领域已经进行了一些探索,这个分享主要是对这些探索的一些总结。我们看到本地生活服务领域的推荐需要重度使用传统的推荐算法,同时也存在很强的特色。例如,在本地生活服务领域,商户的地理位置对用户的决策影响很大,针对这点我们做了大量基础工作。下面我们一同看下美团是如何实现个性化推荐的。

一、推荐美团的原因

1.活跃用户过亿,移动端交易占80%以上。

c3f3938531a0e661d326bfd3b3e81a306ea78bee

图1.美团移动交易占比逐年变化树状图

2.推荐方式:

◎推荐产品:10+推荐产品,每天服务 30M+ 用户

◎推荐形式:User2Items、Item2Items、Personal push、Others

◎推荐实体:

77a87cccf91c7f2695896d28cbe4e00c4df68f18

图2.美团推荐实体选用

◎推荐平台:Mobile、PC

◎其他方式:购买完成,评价完成,搜索无结果,附近团购,相关团购

 

 

4df807e02e91109da2df583e4367d0c11bfac3d5

图3.美团其他推荐方式

 

二、美团如今所面临的问题

1、用户购买与消费的空间距离很小

 

b25fbdd9b60fd98fede1c8f4ab1b6ecee99792dc

图4.分品类持券80%距离

 

2、用户购买与消费的时间差很短

d8154c13075ce28144e1263cfc3ac44442317da9

图5.分品类持券时长

3、用户场景时刻在变化

如:地理位置不断变化,用户需求随位置而变,推荐的内容要适配这种变化等

4、用户行为稀疏,粘性不够强

相邻两次访问的时间间隔长,新用户流失比例高,生命周期偏短

5、数据多,用户请求量大

每天要处理的数据达到T级别,每天千万级的用户,上亿次请求

 

三、应对方案

针对上述诸多面临的问题,可采取如下等方案进行应对,如:强化地理位置特征;提高算法实时性;算法融合,个性化push;框架优化等。

1、地理位置

(1)对于地理位置的维度,可以通过实时地理位置、常去地理位置、工作地、居住地、消费地等位置信息进行确认。

(2)地理位置直接触发

     离线:挖掘区域消费优质deal和区域购买优质deal

 

489d846b378eab1a26c928a58a47c89808d8375a

图6.地理位置触发示意

在线:获取用户的地理位置信息,对区域deal列表进行加

(3)根据用户的地理位置轨迹计算用户相似度,与协同的用户相似度叠加权

   算法示意:

User1:geo1:count1; geo2:count2; geo3:count3 …

 

User2:geo1’:count1’; geo2’:count2’; geo3’:count3’ …

4312e0531e87d7f749c5cdd45916e18b138c437c

图7.算法示意地理位置信息

 

(4)基于消费poi的相似度计算

      Deal中包含的地理位置信息较弱

      Poi同时包含了用户的偏好与商圈倾向

 

0ca57af772c05d863223c6291171c83cdae947ef

图8.poi的相似度计算图示

(5)作为重排序模型的特征

     用户实时地理位置与deal所在poi的最近距离

     用户常去地理位置与deal所在poi的最近距离

     用户消费地理位置与deal所在poi的最近距离

2、实时推荐

对于实时推荐由于用户场景经常变化,需求随之而变;离线计算好结果的推荐方式适应性差;每次请求都要实时计算。

(1)实时数据流

 

bee60e6259eb1b3821b0fe0b590f47d45f7fd17a

图9.实时行为:搜索、筛选、收藏、浏览、下单

①算法使用新的用户行为数据进行推荐

未转化行为实时反馈至推荐结果

a311d0e75fd1ee2243bc5247f970b0fb7ad8d531

图10.实时数据流程图

②算法准实时更新

    Itembased cf 小时级更新

    看了又看:6%+ 提升

Userbased cf 准实时更新

增量计算

    4小时更新一次

(2)实时rerank

  子算法计算出来的权重考虑的因素太少

  不同子算法的权重不具有可比性

  模型选择

    线性、非线性结合

  特征

    deal维度的特征

    user维度的特征

    userdeal的交叉特征

    距离特征

  ◎在线特征抽取,模型实时计算

在线学习算法FTRL

 

(3)算法融合&push

①算法融合包括:

  加权型:对各个算法产生的候选集按照权重进行加权

  分级型:优先采用效果好的算法,再使用效果次好的算法,依此类推

  调制型:不同的算法按照不同的比例产生一定量的候选集组成总的候选集

  过滤型:当前的算法对前一级算法产生的候选集进行过滤,依此类推,候选集被逐级过滤,   

         最终产生一个小而精的候选集合

②个性化push

  用户相邻两次访问间隔长

  触及更多的用户,提升日活用户数

  不能过度打扰用户

最初的做法:用户拉取;Push时机不可调;系统压力大;不能实时推荐

改为push以后:根据用户的历史联网时间确定push发送时机,根据用户的实时定位发送,

发出率提高24%,打开率提高21%,综合转化率提高94%

(4)框架优化

bd81feae3968d4fd54ac8ccde660e7ca0539e166

图11.框架优化示意图

 

3997f5c639d9a0126decd9b416ad32f9c1a49fcb

图12.海量数据处理示意图

 

随着日益增长的用户请求,将业务进行拆分,较重的业务独立出来;采用多算法并行;建立统一数据模型,减少冗余请求。

运用触发层与排序层分离;模型训练并行化;参数实时加载,支持快速调参达到快速的效果迭代。

 

 

整个优化方案将地理位置因素的引入:解决用户冷启动和稀疏性,提高推荐精度;

将候选集进行融合:提高了推荐的覆盖度、多样性;引入重排序模型:解决了候选集增加以后deal之间排列顺序的问题。我们争取以数据为基础,用算法去雕琢,发现问题并进行修正,运用良好的基础架构,高效的算法迭代,发挥团队的力量。


PPT http://club.alibabatech.org/resource_detail.htm?topicId=186

 

来自: http://yq.aliyun.com/articles/120