PCon全球产品创新大会9折购票中,立减¥480!查看上线日程 了解详情
写点什么

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

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:00909

评论

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

成熟的区块链技术是解决供应链金融痛点问题的根本出路

CECBC区块链专委会

网络攻防学习笔记 Day135

穿过生命散发芬芳

网络基础 9月日更

【LeetCode】栈的最小值Java题解

HQ数字卡

算法 LeetCode 9月日更

在线JSON转io-ts工具

入门小站

工具

计算机操作系统学习笔记 | 操作系统功能

Regan Yue

操作系统 9月日更

macOS 制作 linux 启动盘

耳东@Erdong

Mac 软件 9月日更

潜入培训机构,顺出来一份价值 2.2W 的 Python 人工智能大纲

梦想橡皮擦

9月日更

一行Java代码实现游戏中交换装备

华为云开发者社区

Java 线程 游戏 Exchanger JDK 1.5

Kafka 常用工具脚本总结

Se7en

音视频剪辑DIY:用Python快速入门音视频剪辑

老猿Python

Python 音视频 视频剪辑 Moviepy 引航计划

linux之dos2unix命令

入门小站

Linux

手撸二叉树之左子树之和

HelloWorld杰少

9月日更

大一 PingCAP、大二 JetBrains,专访 00 后开发者:千里冰封

郭旭东

开发者 采访 大学生

移动WEB开发会用到的 5 个API

devpoint

WebGL canvas Fetch 9月日更

敬自由:破壁人华为,开启PC的无界探索

脑极体

【Flutter 专题】47 图解新的状态管理 Provider (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

2021年区块链被列为“七大重点产业之一”

CECBC区块链专委会

密码学系列之:海绵函数sponge function

程序那些事

密码学 程序那些事 海绵函数

源码解读Dubbo分层设计思想

vivo互联网技术

Apache dubbo 服务器 spi

聊聊新工具Hutool

卢卡多多

POI 数据导入 9月日更

数据规范的重要性

奔向架构师

数据治理 9月日更

数据库为何又如何走向分布式?

多颗糖

MySQL 数据库 分布式 raft TiDB

16. 奇点来临?

数据与智能

人工智能

oh,我的老伙计,你看看这近五十个dapr视频

newbe36524

k8s dapr

[资源收藏]高质量外文博客(持续更新)

baiyutang

9月日更

谈 C++17 里的 Visitor 模式

hedzr

c++ 设计模式 Design Patterns GoF设计模式

华为云首席产品官方国伟:没有人拥有看到未来的水晶球,云上突围之路如何走?

华为云开发者社区

云计算 云原生 数字化转型 华为云 伙伴云

MQ是一种新的通信模式

风翱

MQ 9月日更

硬核!4396万字神文精解高并发高可用系统实战,分布式系统一致性文档一经面试震惊寰宇!

Java 白

Java 编程 架构 面试 程序人生

翻转未来!钢铁之城重添色彩

脑极体

Python——lambda 函数

在即

9月日更

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