干货 | XGBoost在携程搜索排序中的应用

本文介绍了携程搜索部门如何使用XGBoost进行搜索排序。从Learning to Rank的PointWise、PairWise、ListWise方法出发,详细阐述了XGBoost的运用流程,强调了特征工程和模型调优的重要性,包括数据准备、特征处理、模型训练和调优,以及离线评估和线上预测。最后,作者指出特征工程是关键,并提出未来将探索多模型融合和深度学习在搜索排序中的应用。
摘要由CSDN通过智能技术生成

作者简介

 

曹城,携程搜索部门高级研发工程师,主要负责携程搜索的个性化推荐和搜索排序等工作。

一、前言

在互联网高速发展的今天,越来越复杂的特征被应用到搜索中,对于检索模型的排序,基本的业务规则排序或者人工调参的方式已经不能满足需求了,此时由于大数据的加持,机器学习、深度学习成为了一项可以选择的方式。

携程主站搜索作为主要的流量入口之一,是用户浏览信息的重要方式。用户搜索方式多样、对接业务多样给携程主站搜索(下文简称大搜)带来了许多挑战,如:

  • 搜索方式多样化

  • 场景多样化

  • 业务多样化

  • 意图多样化

  • 用户多样化

为了更好满足搜索的多样化,大搜团队对传统机器学习和深度学习方向进行探索。

说起机器学习和深度学习,是个很大的话题,今天我们只来一起聊聊传统机器学习中XGBoost在大搜中的排序实践。

二、XGBoost探索与实践

聊起搜索排序,那肯定离不开L2R。Learning to Rank,简称(L2R),是一个监督学习的过程,需要提前做特征选取、训练数据的获取然后再做模型训练。

L2R可以分为:

  • PointWise

  • PairWise

  • ListWise

PointWise方法只考虑给定查询下单个文档的绝对相关度,不考虑其他文档和给定查询的相关度。

PairWise方法考虑给定查询下两个文档直接的相对相关度。比如给定查询query的一个真实文档序列,我们只需要考虑任意两个相关度不同的文档直接的相对相关度。相比PointWise,PairWise方法通过考虑任意两个文档直接的相关度进行排序,有一定的优势。

ListWise直接考虑给定查询下的文档集合的整体序列,直接优化模型输出的文档序列,使得尽可能接近真实文档序列。

下面先简单介绍XGBoost的应用流程:

XGBoost是一个优化的分布式梯度增强库,增强树模型,灵活便捷。但对高维度的稀疏矩阵支持不是很好,另外调参确实有点麻烦。

三、特征工程实践

在传统机器学习下,特征工程显的尤为重要,不论后续模型工程做的多好,如果前期的特征工程没有做好,那么训练的结果不会有多好。所以对特征处理的总体逻辑如下:

3.1 前期数据准备

首先,我们需要进行需求分析,就是在什

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值