分享嘉宾:弘轶、寻潇、溪怀@飞猪
编辑整理:郭嘉伟
内容来源:DataFunTalk
导读:个性化投放的"无人驾驶"平台何以自动化支持上千个场景的千人千面投放?商家、运营、小二,我们如何做到极致赋能和提效?面对旅行场景下用户需求低频、行为稀疏,特别是在营销活动大促期间,用户量迅速增长,用户的冷启动问题更加严峻,如何提高冷启动用户的推荐效果成为关键。另外,面对旅行场景下的丰富多样的的货品需求依赖关系,我们如何来组织和呈现给用户?阿里飞猪个性化推荐团队将通过本文,为大家带来旅行场景下的个性化营销平台揭秘。
主要分享内容包括:
背景
个性化营销平台架构
个性化营销平台算法
01
背景介绍
飞猪专注于在旅行场景。个性化营销团队承接飞猪日常场景和会场场景,我们会给用户呈现千人千面的个性化投放。
1. 日常场景
飞猪App上有众多页面。上图最左的首页界面中,上方是Banner,下方是猜你喜欢。由首页的入口可以进入各频道页,包括周边游、飞猪门票、旅游度假等。各频道页有不同的投放模块,这些全都由个性化营销平台承接。
2. 会场场景
每年的双十一、六一八、五一、春运、暑促等会场中,个性化营销团队承接各场景模块,包括主会场、全部会场、目的地会场、一些榜单会场等。
3. 挑战和难点
面对众多页面和众多模块,个性化营销存在如下几点挑战和难点:
投放页面和模块多样化;
投放物料多种异构数据源;
运营干预配置多样化;
如何统一个性化投放模型来赋能提效。
02个性化营销平台架构
个性化营销平台架构的设计主要包括以下内容:
1. 场景抽象
我们首先对上节讲到的日常场景和会场场景进行场景抽象,抽象出的场景包括:入口、单Tab场景、多Tab场景、胶囊、主题榜单、单物料投放、多物料混投、LBS推荐、周边推荐和实时热榜等。
入口:点击后可直接进入商品详情页,我们认为不是入口,否则我们定义为入口;
单物料投放:只投放一种物料,如只投放商品或只投放酒店;
多物料混投:投放页面可能有出现商品、酒店、门票、POI等多种物料;
LBS推荐:基于用户定位的推荐。
2. 功能抽象
个性化营销平台可以投放的物料包括:商品、酒店、内容、玩法、目的地、商圈、主题、榜单、店铺、优惠券、景点、POI等。
投放的功能包括:召回、排序、加权、打散、定坑。
召回:常规的个性化召回、弱个性化召回、冷启动召回、热门召回、触发式召回;
排序:综合考虑多个维度,如点击率CTR、成交量GMV、人气、销量、距离等;
加权:为赋能运营,对爆款或者新品给予一定的扶持;
打散:保证呈现结果多样化;
定坑:基于某些营销目的,针对爆款、热品给用户进行定向的前置推送。
3. 链路抽象
我们将链路抽象为6个模块:产品运行端、选品平台、场景管理平台、个性化投放平台、前端、用户。
产品运营端:运营端基于自身的行业理解,根据规则选品,为选品平台筛选出商品池 、酒店池等,并配置场景管理平台的投放规则;
选品平台:生成选品ID后提供给场景管理平台,将物料采取实时加离线的方式同步到个性化����,ݰ��投放平台;
场景管理平台:将投放规则和选品数据同步到个性化投放平台,接收个性化投放平台返回的个性化结果;
个性化投放平台:基于选品池和投放规则,给出千人千面的个性化结果返回场景管理平台;
前端:接收场景管理平台的结果,将内容呈现给用户。
4. 个性化投放
本节我们将介绍个性化投放平台如何构建人货匹配的个性化方案。图中从下向上依次是离线和在线处理过程。
离线处理会基于用户历史行为数据,对用户和物料进行建模。
在线处理首先进行用户理解和实时的上下文分析,目的是更精准的人货实时匹配,即个性化召回。物料召回后平台会进行匹配和排序,匹配和排序之间会有流量调控,目的是对新品 、爆款、尖货等给予一定的扶持。排序结果会结合运营的投放规则进行更加精准的重排序最终呈现给用户。
4. 用户建模
用户建模过程如图所示,从最底层往上依次是:实时公共层、实时特征层、用户表达层和实时服务层,其中用户表达层是我们的核心工作。
实时公共层:收集用户行为数据并落盘;
实时特征层:进行特征预处理,对用户行为数据进行结构化、标准化和聚合化,对宝贝建立关联,生成模型需要的特征表达,如用户LBS状态特征、商品认知标签特征、页面模块统计特征等;
用户表达层:基于实时特征层的原始特征进行加工、提纯、聚合,生产用户的特征表达,包括:用户长短期偏好、用户实时意图、用户需求预测、用户行程、层次主题兴趣;
实时服务层:平台在该层对外输出服务,输出的功能主要包括:用户状态查询、实时trigger查询、用户意图向量、用户兴趣向量、用户行程向量、用户画像标签,其中向量为隐式表达,用户画像标签为显式表达。
5. 全域流量调控
全域流量调控过程如图所示,从最底层往上依次是:实时流计算中心、调控商品配置中心、 PID调控中台 。
实时流计算中心:监控飞猪、手淘、支付宝三端的实时行为,根据实时日志流获取不同物料不同粒度下的实时PV,不同物料包括:不同item 、不同类目、不同目的地、不同卖家;
调控商品配置中心:主要由运营来参与,运营在日常或会场中需 要对一些爆款商品做一定的流量扶持,如热门的目的地,热门的行业,运营基于曝光流量和实时PV决策 是否给予更多的流量,算法方也会给予一个相应的建议,比如有的买家销量高人气高,算法会相应的提高权重,运营结合算法的策略在平台进行配置;
PID调控中台:使用一个改进的PID算法,通过小时任务更新、分钟任务更新和误差计算更新生成能够影响个性化流量推荐的调控因子,该调控因子作用在个性化场景上,具体来说作用在匹配阶段和排序阶段,最终影响页面上物料投放的流量。
整体的流量调控结果反应在实时调控看板上,可以及时做到自适应的反馈和流量调整。
6. 整体方案
整体方案集成如图所示,从最底层往上依次是:数据后台、个性化营销中台、业务前台。
数据后台:用户分层、商品分层、玩法标签体系、用户标签体系、人货场匹配;
个性化营销中台:营销能力矩阵、营销算法技术、数字化营销、全域流量调控
业务前台:基于营销中台,提供运营平台、营销触达、平台导购。
03个性化营销平台算法
下面我们将介绍飞猪个性化营销平台算法:
用户session理解
用户冷启动技术
旅游玩法标签体系建设
1. 用户session理解
① 背景
旅行场景下,用户兴趣可能来源于多方面:用户基础属性、用户群体属性、用户实时兴趣、用户周期兴趣、用户长期兴趣。
用户基础属性:年龄、性别、购买力、地理属性等,其中地理属性包括用户所在地是几线城市,用户是在老家还是新的工作地等。
用户群体:用户是白领或学生,用户朋友圈的组成等。
本次我们会重点介绍用户实时兴趣的挖掘,也就是用户session理解。
用户session 中会有以下行为:首页、搜索、商品页、收藏、加购、购买。完整的session从进入首页直到完成购买,期间可能发生若干次搜索、商品页、收藏、加购行为。但是常见session并不完整,往往未完成购买就会退出APP。针对不同的session,我们会进行session理解。
② 用户行为网络抽象
用户行为session中产生一次点击Item的行为,有很多附加关系可以利用,这种附加关系可以用异构图的形式表现[1]。
- 用户侧可以构成一张关系图:提交Query 、加购商品,收藏景点等,用户还会有一些自身的属性 ,如年龄性别等。
- Item侧也可以构成关系图:以门票为例,门票即一个景点,景点旁可能有酒店、景点本身有一些玩法元素,景点可能有专车接送之类的服务元素。
③ 用户行为构建图网络
我们根据上节的抽象,构建了用户行为网络。具体来说,我们将用户到商品的行为抽象为一个网络结构图,采取了GraphSAGE[2]的做法,训练主要节点的Embedding。主要节点有用户、商品、POI。用户本身有一些属性,如年龄、LBS、购买力等也会作为附加节点和主要节点建立边。
训练评测:MRR接近0.96,loss低于0.15。
离线评测:取HIT@20这个指标,User命中率不高,可能因为User链特别大,整体数据稀疏导致。对Item和POI的命中率都较高,Item约为 0.88,POI约为0.65。
④ 用户行为session表达
基于上节介绍的用户行为session中的节点向量表达,我们进而构建用户行为session的表达[3]。我们首先检索与当前session有协同信息的邻居session。邻居检索:根据当前session有哪些item,粗筛出有相同item的session,再根据最大覆盖原则选出自身有多个item和当前session相同的邻居session。
当前session的通过long-term加short-term方式学习到当前表达:
- long-term:attention机制
- short-term:当前session最近一次行为过的item的节点的embedding
- 由long-term和short-term一起经过一个全连接生成当前表达
邻居session通过global encoder加local encoder方式学习邻居表达:
global encoder:每个邻居session通过GRU生成表达
local encoder:所有邻居session做一个聚合
邻居表达通过Guided Attention with Time-aware机制经当前表达指导提出取协同表达后,当前表达和协同表达通过Co Attention机制学习到最终表达。离线在item集上评测,HIT@20 约为0.6,POI上约为0.49。
2. 用户冷启动技术
① 背景
我们将近最近3月没有任何行为的用户划分为冷启动用户 ,冷启动用户在飞猪、淘宝、支付宝三端占比都很高。用户的行为稀疏或者无任何行为,使得推荐系统无法有效捕捉到用户的真实兴趣,特别是在大促期间,用户量迅速增长,用户的冷启动问题更加严峻。
② 基于层次主题知识的召回
营销场景上沉淀了⼤量运营根据行业知识精⼼选品后的数据域,这些数据域划分的topic涉及多个维度 ( 类⽬、玩法、POI、⽬的地、销量、热度等 ) 且具有层次性,不同层次代表了⽤户不同的购买心智。
以图中右侧为例,从level 1中可以获得用户对于类目的偏好,从level2中可以获得用户对于不同玩法的偏好。我们在不同层次学习用户不同的购买心智,通过不同数据域的偏好去映射得到用户可能偏好的一些宝贝。
航旅背景下,目的地是重点考虑的维度。同一区域的用户,朋友、亲属关系往往比较集中,分布比较一致,同⼀区域的⽤户偏好具有⼀定相似性这一现象更加明显。
我们据此提出U2Htopic2I:
选取一批飞猪的活跃用户 ,根据活跃用户的点击、收藏、加购行为得出一个用户对层次主题的偏好打分,考虑到航旅背景的特点,我们对用户的行为加入了时间衰减因子,最终得到一个偏好主题库;
将冷启动用户的区域性映射到偏好主题库上,从而召回用户可能偏好的主题,以及偏好主题下对应的宝贝信息。
U2Htopic2I存在的问题:
时间衰减过于严格,导致近期⾏为的topic权重过⼤,并且该权重很难人工去调节;
对于冷启动⽤户的topic挖掘维度过于单 ⼀,没有充分利⽤到⽤户的属性信息。
我们据此提出Attr2Htopic2I:通过模型去学习⽤户属性到topic偏好的映射关系,对⾏为稀疏的⽤户或⽆⾏为⽤户, 根据⽤户的属性信息关联到⽤户的偏好。
Attr2Htopic2I同样是选取一批飞猪活跃用户,与U2Htopic2I不同在于,通过模型去预测历史活跃用户对层次主题的偏好。通过冷启动用户的属性集,将其映射到偏好主题库上,从而召回用户可能感兴趣的宝贝。
用户侧我们提取用户的静态信息,因为对冷启动用户而言,我们只能利用到用户的基本属性,如年龄、性别、区域信息、购买力等。层次主题一侧我们提取层次主题的标签信息,如人群、品牌、目的地区域、玩法等。
用户历史行为过的层次主题的数据量极大,为使模型更好地学习用户的层次主题偏好我们采取如下方式构造样本空间,增大正负样本的差异性:
正样本:用户最近行为过,且点击率比较高的层次主题;
负样本:最近曝光较多,但用户没有产生点击的样本。
线上测试结果显示,U2Htopic2I在淘宝端带来了2个点的提升,Attr2Htopic2I在U2Htopic2I的基础上,在淘宝端带来4个点的提升,效果明显。
③ 基于用户跨域映射的召回
背景:三端稀疏⾏为⽤户占⽐33.9% ( fliggy )、69.0% ( taobao )、65.8% ( alipay )