阿里飞猪个性化搜索排序探索实践
编辑整理:饶水涛
出品平台:DataFunTalk
背景:交通业务介绍
挑战:交通出行业务特殊性
解法:从业务规则到个性化排序模型
效果:模型优化迭代结果
总结:进一步优化方向
1. 交通行业自身痛点
从交通行业自身来看,目前交通排序策略相对单一,大多基于简单规则排序,这种单一规则排序无法高效匹配用户需求,也难以满足用户多元化以及个性化的出行需要,这是一个比较大的一个行业痛点。
2. 相比实物电商的不足
与实体实物电商相比,交通的商品决策信息非常有限,商品高度标准化,比如出行的时间,价格等因素,关键决策信息在我们的搜索列表页已经给到用户一个明确的展示。不同于传统的电商类,即实物电商类商品有些决策信息是比较多的,交通商品信息决策只能展示部分决策因素,所以需要进到详情页之后才能看到真实的关键决策因素,在交通场景下,这种决策因素和实物电商会产生一个明显的差异。
3. 相关理论研究
在2018年之前有一些行业内的理论研究,主要集中在学术界,而相关的工业界应用比较少,大多是基于传统线性模型和机器学习模型来做交通类的搜索排序工作。2018年Amadeus发表论文《Deep Choice Model Using Pointer Networks for Airline Itinerary Prediction》,用深度序列模型做机票搜索排序,在离线数据集上取得了比较大的效果。
挑战1:基于场-货-人的用户性质差异
首先用户行为极其稀疏,用户出行频次是比较低的,比如每年三、五次;其次用户出行比较注重服务体验;以及决策因素过于单一和决策过程比较复杂,决策周期很长。从货的角度,货品是实时动态的,库存价格是实时动态变化的,运力资源也是一个实时动态的约束,另外货品是高度的标准化,可以发现不同场景用户的需求差异是很大的,比如支付宝APP或者淘宝,他们在三端上的用户性质差别很大,即使在同一个端的不同入口,不同的流量场景下,用户的性质差异也很大,如何符合这种差异的性质,做个性化排序,挑战还是很大的。
挑战2:与实物电商比较:信息孤岛
进一步,在交通场景下和实物电商场景下做搜索排序,在技术上作比较来看,首先在召回上可以看到明显的差异,传统的实物电商能很容易构建U-Q-I这种网络结构,因为同一个Q下面可以召回N个商品,工作商品之间通过query之间相连接,从而生成一个网络结构,但是在交通场景下,就这种网络结构就被割裂开来,就形成一个个的信息孤岛。比如杭州到新加坡这种搜索,一个出发地和一个目的地,目的地下面能够召回的CA767,但是没法召回VS251,只能通过上海到伦敦这样的一个线路来招回。这样的话两个商品之间就很难通过query和用户做关联。这样对商品表征和用户表征带来很大的困难。
1. Ranking系统架构
面对以上的困难如何解决的?这是一个整体的线上系统架构图,底层是日志采集及数据预处理,进一步在阿里云ODPS平台上做数据样本的加工,然后在Tensorflow上做模型,线上部署到TPP环境中,对外提供排序服务。
2. Deep Listwise Model
为什么要使用DLM模型呢,DLM模型具有以下几个优点:
交通排序结果多样性
模拟用户决策过程
工程打分延时低
Amadeus在论文中提到他们的方法获得了很好的优化效果,包括top N准确率有大幅提升。其核心思想是基于Pointer Net网络结构,对航班序列listwise打分。Pointer Net是在2015年NIPS上发表的一篇文章,2018年他们就把文章的核心思想引入到机票排序排序中。
3. DCM:Deep Choice Model
在Encoder阶段,使用的是RNN网络,比如说我们实验了LSTM、biLSTM以及transformer三个子网络,离线实验效果表现都比较接近,没有明显的差异性。第三个阶段是Decoder阶段,它类似于决策者的角色,包含了上述序列的所有输入,Decoder输出信息可以看作是一个用户浏览完所有航班,然后对航班进行选择决策的过程。Attention阶段,本质上是计算Decoder和Encoder向量之间的相似度,等同于用户选择更合适的一个航班,α是Attention的权重,即航班序列打分结果。Online实验来看,总体转化率有一定提升,但提升幅度不是特别大。
4. PFRN:Personalized Flight Ranking Network
DCM第一版模型的效果对我们有很大启发,基于这一版模型的探索,我们进一步优化提出了PFRN模型,这篇论文已公开发表在CIKM’20。模型本身是经典的双塔结构,左边是航班序列的表征,右边是用户行为序列表征,上层对两个序列做Attention,表示用户对航班序列的偏好或者是感兴趣程度。我们提出了LFE序列编码结构,编码结构是一个比较大的创新点。
① PFRN:Listwise Feature Encoding ( LFE )
② PFRN:如何缓解用户行为的稀疏性
模型要解决第二个问题是如何缓解用户行为的稀疏性,我们目前的工作相对来说还比较简单:基于用户人群划分(基于业务规则),人群被划分为六大类,每一个用户又会映射到其中一类,在做用户行为表征的时候,除了用户个体的行为,还会把群体的行为引进来。例如,如果用户是旅行/出差意图用户,用户群体购买行为可以融合到现有的当前用户的行为中去,这种融合通过实验发现对整体的排序效果带来很大提升。
第一类模型:基于规则的Cheapest,按低价排序;第二类模型:传统机器学习模型;第三类模型:近几年一些搜索排序相关论文工作比较。Online实验效果,整体转化率提升接近4%。
当前的工作来看,初步建立了交通搜索排序算法体系,取得了一定的业务效果。在用户表征上面,除了用户的长短期行为以外,也引入了用户群体行为做数据增强,缓解个体行为稀疏性。
未来可能有三个方面工作:
出行意图的深入理解,比如对群体用户行为的划分,用户分群这一块工作要进一步完善;
用户行为稀疏性建模,这块工作对整体排序效果提升有很大的影响;
整体排序策略上,自然召回商品量有限,通过增加更多推荐坑位,同时内容运营把丰富的交通相关内容引进来,新的产品样式形态,多源信息的混排对我们也是比较大的挑战。
今天的分享就到这里,谢谢大家。