机器学习在搜索中的应用-个性化排序

AI、机器学习,是现在媒体的高频曝光词,市面上的很多应用都逐渐接入了AI的能力。搜索这样的‘古董’级产品,其实也是应用机器学习技术的先驱,本次从搜索的一个场景——搜索结果排序,来聊聊机器学习在搜索产品中的应用。

1. 为什么有机器学习排序

先从搜索的常规三步骤:query解析->召回->排序说起。用户输入一个搜索关键词(也称为query),通过分词/语义理解后,将从系统数据库中召回大量相关的内容,接下来的问题就是如何对成百上千条的数据进行排序,把用户搜索意图最相关的内容排在前面。

1.1 传统的排序方法

排序,是对一系列的数据按某些特征因子进行排名,特征的选择以及特征权重的赋予,将影响内容排序的先后,一套排序规则的确定通常需要产品专家与算法专家共同设计。对于特征的选择,可以按内容的属性特征与文本相关特征分为两类。

内容的属性是由业务性质所决定,比如电商业务,内容属性特征就可以包括价格、销量、加购、收藏、库存、类目、品牌、上架时间、评论、商家信誉等,视频类业务就可以考虑播放时长、观看量、完播率、点赞、收藏、评论数、转发数、主题类型等。

文本相关特征,则主要是query和内容的文本属性,如query对应内容文档的BM-25、TD-IDF分值、内容文档的不同范围(如标题、简介、广告词、URL链接、描述等)的语言模型得分等,这一块主要以算法专家主导。

特征选取后,再对所有特征赋予一定权重,最后对加权的特征计算一个相关性的总分,就可以对结果进行排序,方便理解起见,把排序打分想象为以下的组合公式:

F_score = W1*X1+W2*X2+...+Wn*Xn

X就是某一项特征,W就是对应特征的权重系数,在实际应用中,通常可以由产品与算法专家们基于对实际业务的理解并结合定期的数据反馈不断进行特征与权重的调整。

1.2 机器学习排序

随着业务愈发复杂,特征愈发多样,影响一次搜索的因子可能达到几十甚至上百个,每个特征因子都由人工进行调权将变得愈发困难。那么能否把专家的经验固化为系统自动化的方式呢,机器学习排序的方式应运而出。

机器学习,是教会系统从历史数据的事实中总结经验,形成规律并对未来新的数据进行预测参照传统专家排序,机器学习解决排序问题的思路大致分为以下三步:定义学习目标、明确学习策略、找到达成目标的最优解。

1)定义学习目标

即系统要解决什么问题,对于搜索排序通常就是如何更好的提升结果的点击率。但是结合业务再深挖一步的话,指标选择可以更细化,比如电商则希望能提升订单的成交率,视频则看重点击后是否能提升观看时长等。不同的业务目标最终决定了机器要学习成怎样的结果。

2)明确学习策略

解决的是系统如何去学的问题,为此要给机器确定学习的范围与学习的养料。

学习的范围,即判断系统达成目标需要包含哪些因素,解决思路其实与经典排序的特征因子选择的思想同出一源。让我们再回看上文提到的排序打分公式F_score = W1*X1+W2*X2+...+Wn*Xn,特征Xn的个数及其意义,就组成了系统学习的范围框架。在选择特征因子这个过程中,特征的设计都可以由业务专家们提供指导。当特征因子的组合能愈发表征我们的学习目标,模型效果往往愈发逼近业务期望。

比如我们现在要优化电商业务的搜索,假定目标是提升搜索带来的下单转化率,那么可以考虑从如下四个维度构建影响目标效果的特征:

①用户特征,即用户静态属性,如性别、年龄、学历、地域、收入、婚姻状况等。

②行为特征,通常是看用户的历史行为,如上一次的搜索词、近一周有过点击次数最多的搜索词、加购的商品、收藏点赞的商品、近一周浏览访问最多的频道/商铺,考虑复购因素还可以纳入一段时间(如一个月或三个月)有过购买次数的商品类目等。

③交易特征,即关注用户的消费偏好,如近期(一周/一个月)消费金额、消费频次,是否分期用户、是否会员等。

④商品特征,即商品本身属性,如上文提到的价格、库存、类目、品牌、评价、销量(通常要考虑时间衰减性,计算一定时间周期如一周的数量)等。把这些与业务属性相关的因素梳理好,结合文本相关特征,也就大致把机器学习的边界框定了下来。

学习的养料,即训练模型的数据,我们需要从学习目标与学习范围出发,为机器构造适合学习的内容。特征敲定了,接下来就是把数据来源拿过来——数据采集,如商品交易数据源头在订单系统,另外如行为数据,则需要对前端进行埋点采集。这可能会需要与多个业务系统对接或者从数据仓库中取数,在系统对接之前,一定要先确定数据的口径是否与特征意义保持一致。

(3)找到达成目标的最优解

最后一步其实就是建模的过程,包括模型选择、模型训练、模型评估。有了特征数据,算法工程师可以依据经验选择某类机器学习的模型,对特征进行组合与学习,最终完成对目标的求解。

以上是机器学习排序构建的思路,下面将用白话的方式简要介绍排序学习的算法原理,不关注技术算法的同学可以略过~

2. Learning To Rank

Learning To Rank(LTR)是一种用来解决排序问题的算法框架思想,本质上属于有监督学习的过程,感兴趣的同学可以参考文献1、2等进一步研究。

2.1 学习方式分类

LTR按学习方式的不同分为三类,单文档方法(Pointwise)文档对方法(Pairwise)文档列表方法(Listwise)三类。

1)Pointwise

单文档方法是对于给定的查询query,某一单个文档结果与查询的关联程度,例如查询‘华为’,点击了华为手机,那么只有华为手机是与搜索词’华为’关联的,华为平板电脑、华为手表都是该查询词的负样本。

2)Pairwise

文档对方法考虑的是对于给定查询词query,返回的结果中两个文档对之间的相对相关度,比如搜‘炸鸡’,返回结果的相关性‘KFC’>’麦当劳’,以{炸鸡,(KFC>麦当劳)}这样的组合方式对机器进行训练,最终的序列是考虑了两两相关度比较之后的结果。

3)Listwise

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

2.2 模型实现

基于上述排序学习的思想,目前部分模型在原生框架中已经集成了对LTR的实现。

(1)树模型

树模型可以理解为是一系列的if-else规则的组合,通过每一个特征的决策来影响最终结果的判断输出,其中的典型代表是XGBoost / LightGBM。

XGBoost / LightGBM模型本身已支持对排序问题的训练,通过设置模型中的参数即可直接训练LTR问题。(XGBoost 是处理分类/回归的通用模型,并不是为解决排序问题而提出,在这里不得不惊叹其不愧为机器学习界的大杀器~)

(2)TF-RANKING

这是谷歌公司在2018年提出的基于TensorFlow的LTR解决方案,严格来说其并非一种模型而是一个框架,其中包括一整套学习到排名的算法,可自定义损失函数及模型评估指标,对Pairwise和Listwise都提供支持。

3. 小结

排序是搜索流程中最重要的问题之一,是最终直接面向用户的环节,排序结果的好坏很大程度上影响用户体验和商业转化,也因此排序流程很早就开始引入机器学习的方式来进行优化。当然客观的说,机器学习也并非是优化这一问题的最佳方式,某些业务通过专家规则的方式依然有很好的效果。搜索排序是伴随着我们的业务发展将不断优化的工作。



公众号:策略伽   欢迎关注~


参考链接:

[1] https://zhuanlan.zhihu.com/p/93196423

[2] https://blog.csdn.net/ld326/article/details/81609783

[3] https://mp.weixin.qq.com/s/UpN7tAMjbFLSPcDYsWaykg

[4] https://blog.csdn.net/weixin_44220002/article/details/85212636

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,542评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,822评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,912评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,449评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,500评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,370评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,193评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,074评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,505评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,722评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,841评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,569评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,168评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,783评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,918评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,962评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,781评论 2 354