直播预约通道开启!2021腾讯数字生态大会邀您共探产业发展新机遇! 了解详情
写点什么

阿里飞猪个性化搜索排序探索实践

2021 年 6 月 16 日

阿里飞猪个性化搜索排序探索实践

旅行类商品 ( 如机票、火车票、汽车票 ) 相对实物电商更加标品,用户决策因素更加单一,而行业内大多基于简单规则排序,如时间、价格或业务逻辑加权,难以满足用户的个性化出行需求。飞猪在过去一段时间中,不断探索交通搜索个性化排序技术,本次阿里飞猪的素数老师将围绕智能交通导购,对交通个性化搜索排序技术的实践与创新做详细分享。主要内容包括:


  • 背景:交通业务介绍

  • 挑战:交通出行业务特殊性

  • 解法:从业务规则到个性化排序模型

  • 效果:模型优化迭代结果

  • 总结:进一步优化方向

背景:交通业务介绍



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%。





总结:进一步优化方向


当前的工作来看,初步建立了交通搜索排序算法体系,取得了一定的业务效果。在用户表征上面,除了用户的长短期行为以外,也引入了用户群体行为做数据增强,缓解个体行为稀疏性。


未来可能有三个方面工作:

  • 出行意图的深入理解,比如对群体用户行为的划分,用户分群这一块工作要进一步完善; 

  • 用户行为稀疏性建模,这块工作对整体排序效果提升有很大的影响;

  • 整体排序策略上,自然召回商品量有限,通过增加更多推荐坑位,同时内容运营把丰富的交通相关内容引进来,新的产品样式形态,多源信息的混排对我们也是比较大的挑战。


分享嘉宾:

素数

阿里飞猪 | 导购算法团队

2016 年加入飞猪技术部,深度参与飞猪全局搜索项目用户意图预测、query 推荐、个性化排序等工作,目前专注于智能交通的导购算法体系建设。


本文转载自:DataFunTalk(ID:dataFunTalk)

原文链接:阿里飞猪个性化搜索排序探索实践

2021 年 6 月 16 日 07:00690

评论

发布
暂无评论
发现更多内容

无需JavaScript可以实现的9个网页功能

devpoint

html5 html/css 6 月日更

web.xml文件中的7个错误的安全配置

hasWhere

网络攻防学习笔记 Day48

穿过生命散发芬芳

网络攻防 6月日更

Bzz矿机分币APP,深圳云矿机系统开发

13823153121

新视界 | 透过鸿蒙OS看手机操作系统

架构精进之路

操作系统 6 月日更 鸿蒙OS

JavaScript 学习(五)

空城机

JavaScript 前端 6月日更

「SQL数据分析系列」7. 数据生成、转换以及操作

数据与智能

数据库 sql

户外广告如何利用位置智能打造更好的户外广告?

󠀛Ferry

6月日更

新员工最想要的10件事

hasWhere

华为新员工入职180天详细培训计划

hasWhere

校友会小程序开发笔记七:校友互助功能模块设计与实现

CC同学

校友录小程序 同学录小程序

Linux之cd命令

入门小站

Linux

项目经理如何才能不背锅

escray

极客时间 学习笔记 朱赟的技术管理课 六月日更

缓存在哪-HTTP缓存原理介绍

hasWhere

泰山版震撼来袭!阿里巴巴Java面试参考权威指南开源

菜菜山

Java 程序员 架构 面试

华为的活动

IT蜗壳-Tango

6 月日更

深入浅出 Ajax 的核心原理

悟空聊架构

ajax 架构 前端 6 月日更 悟空聊架构

上云赋智的企业们,也许是这届618的最大赢家

脑极体

ServeMux详解

Rayjun

go HTTP

第一次凡尔赛,字节跳动3面+腾讯6面一次过,谈谈我的大厂面经

菜菜山

Java 程序员 架构 面试

log4j日常使用

hasWhere

校友会小程序开发笔记八:校友相册功能模块设计与实现

CC同学

校友录小程序 同学录小程序

【21-11】PowerShell文件 IO 操作

耳东

PowerShell 6月日更

5分钟速读之Rust权威指南(二十五)Deref

码生笔谈

rust

校友会小程序开发笔记六:校友活动聚会功能模块设计与实现

CC同学

校友录小程序

MySQL基础之十六:视图、DBA命令和三范式

打工人!

MySQL 6 月日更

JVM读书笔记

hasWhere

☕【JVM性能调优】「CMS垃圾回收器」调优化方案

李浩宇/Alex

CMS GC jvm调优 6月日更 6 月日更

我曾与纪伯伦的对话

卢卡多多

六月日更

【10分钟玩转腾讯游戏核心数据库】TcaplusDB华东客户Hands-on活动

tcaplus

数据库 TcaplusDB

第六次作业

Geek_9cf7b5

技术为帆,纵横四海- Lazada技术东南亚探索和成长之旅

技术为帆,纵横四海- Lazada技术东南亚探索和成长之旅

阿里飞猪个性化搜索排序探索实践-InfoQ