FinOps有望降低企业50%+的云成本! 了解详情
写点什么

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

  • 2021-06-16
  • 本文字数:2640 字

    阅读完需:约 9 分钟

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

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


  • 背景:交通业务介绍

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

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

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

  • 总结:进一步优化方向

背景:交通业务介绍



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-06-16 07:001679

评论

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

复杂「场景」数据导入导出

知了一笑

Java 架构

狼来了

俞凡

人工智能

面试突击:MVCC 和间隙锁有什么区别?

王磊

java面试

有一种焦虑叫ChatGPT(62/100)

hackstoic

AI AIGC ChatGPT

PyTorch 深度学习实战 | 知识图谱嵌入结合图路径的推荐 RippleNet

TiAmo

深度学习 Ripplenet

别急着给中国版ChatGPT唱赞歌:“追风者”无缘“星辰大海”

Alter

百度 大模型 ChatGPT 文心一言

机器学习算法(六)基于天气数据集的XGBoost分类预测

汀丶人工智能

数据挖掘 数据分析 XGBoost

“找工难&金三银四”,关于面试,你需要知道的这些事

IT学习日记

面试 Java、 找工作 简历模板

关于数据库分库分表的一点想法

京东科技开发者

数据库 ShardingSphere 京东云 京东技术 企业号 3 月 PK 榜

软件测试/测试开发丨app自动化之如何参数化用例

测试人

软件测试 自动化测试 测试开发

【JVM盲点补漏系列】「并发编程的难题和挑战」深入理解JMM及JVM内存模型知识体系机制(1)

洛神灬殇

Java JVM 3月月更

分享一个修改了xml文件再也不用重启的项目mybatis-xmlrealod

越长大越悲伤

Java 开源 Spring Boot mybatis 开源项目

湃方科技联合CnosDB助力旋转类机械预测性维护

CnosDB

数据库 开源 时序数据库 CnosDB

Go 语言 new 和 make 关键字的区别

AlwaysBeta

面试 Go 语言

对于Vue3和Ts的心得和思考

京东科技开发者

Vue ts 京东云 京东技术 企业号 3 月 PK 榜

京东金融Android瘦身探索与实践

京东科技开发者

App 京东云 京东技术 企业号 3 月 PK 榜 京东科技

照片肖像美容软件:ON1 Portrait AI 2023.1 激活版

真大的脸盆

Mac Mac 软件 照片处理工具 肖像美容软件

Spring中PropertyPlaceholderConfigurer替换占位符的问题

石臻臻的杂货铺

spring-boot

华为P系列,雪夜梅花开,似是故人来

脑极体

华为

电商秒杀系统

Geek_7d539e

通过 Amazon Managed Microsoft Active Directory 运行混合 Active Directory 服务

亚马逊云科技 (Amazon Web Services)

Amazon

隐式等待、显示等待和强制等待

测吧(北京)科技有限公司

测试

Gestures(手势)

向阳逐梦

Activity 手势 gesturelistener

SaaS 软件搞定客户的关键环节分析

产品海豚湾

产品经理 SaaS 产品运营 B 端产品 互联网产品

三天吃透MySQL面试八股文

程序员大彬

MySQL java面试

Spring源码核心剖析

京东科技开发者

spring 前端 京东云 京东技术 企业号 3 月 PK 榜

华为都入场做ERP了,国产ERP困局如何破解?

陈飞

分布式数据库 国产化 ERP SaaS 平台 PaaS平台

adb的常用命令

测吧(北京)科技有限公司

测试

面试官:如何保证接口幂等性?一口气说了9种方法!

程序员大彬

Java 接口幂等

设计模式之美––依赖反转

GalaxyCreater

设计模式

初识 Flutter 的绘图组件 — CustomPaint

岛上码农

flutter ios 安卓 移动端开发 跨平台开发

  • 需要帮助,请添加网站小助手,进入 InfoQ 技术交流群
阿里飞猪个性化搜索排序探索实践_AI_DataFunTalk_InfoQ精选文章