编辑导语:随着科技的发展,AI、机器学习等逐渐出现在我们的生活里,有了这些的出现,我们进行搜索时会变得更加准确和智能;本文作者详细介绍了机器学习在搜索中的应用,我们一起来看一下。
AI、机器学习,是现在媒体的高频曝光词,市面上的很多应用都逐渐接入了AI的能力;搜索这样的‘古董’级产品,其实也是应用机器学习技术的先驱。
本次从搜索的一个场景——搜索结果排序,来聊聊机器学习在搜索产品中的应用。
一、为什么有机器学习排序
先从搜索的常规三步骤:query解析-召回-排序说起。
用户输入一个搜索关键词(也称为query),通过分词/语义理解后,将从系统数据库中召回大量相关的内容;接下来的问题就是如何对成百上千条的数据进行排序,把用户搜索意图最相关的内容排在前面。
1.传统的排序方法
排序:是对一系列的数据按某些特征因子进行排名,特征的选择以及特征权重的赋予;将影响内容排序的先后,一套排序规则的确定通常需要产品专家与算法专家共同设计。
对于特征的选择,可以按内容的属性特征与文本相关特征分为两类。
内容的属性是由业务性质所决定,比如电商业务,内容属性特征就可以包括价格、销量、加购、收藏、库存、类目、品牌、上架时间、评论、商家信誉等;视频类业务就可以考虑播放时长、观看量、完播率、点赞、收藏、评论数、转发数、主题类型等。
文本相关特征,则主要是query和内容的文本属性,如query对应内容文档的BM-25、TD-IDF分值、内容文档的不同范围(如标题、简介、广告词、URL链接、描述等)的语言模型得分等,这一块主要以算法专家主导。
特征选取后,再对所有特征赋予一定权重, 对加权的特征计算一个相关性的总分,就可以对结果进行排序,方便理解起见,把排序打分想象为以下的组合公式:
F_score=W1*X1+W2*X2+…+Wn*Xn
X就是某一项特征,W就是对应特征的权重系数,在实际应用中,通常可以由产品与算法专家们基于对实际业务的理解并结合定期的数据反馈不断进行特征与权重的调整。
2.机器学习排序
随着业务愈发复杂,特征愈发多样,影响一次搜索的因子可能达到几十甚至上百个,每个特征因子都由人工进行调权将变得愈发困难。
那么能否把专家的经验固化为系统自动化的方式呢,机器学习排序的方式应运而出。
机器学习,是教会系统从白癜风的事实中总结经验,形成规律并对未来新的数据进行预测。
参照传统专家排序,机器学习解决排序问题的思路大致分为以下三步:定义学习目标、明确学习策略、找到达成目标的 解。
1)定义学习目标
即系统要解决什么问题,对于搜索排序通常就是如何更好的提升结果的点击率;但是结合业务再深挖一步的话,指标选择可以更细化,比如电商则希望能提升订单的成交率,视频则看重点击后是否能提升观看时长等——不同的业务目标最终决定了机器要学习成怎样的结果。
2)明确学习策略
解决的是系统如何去学的问题,为此要给机器确定学习的范围与学习的养料。
学习的范围,即判断系统达成目标需要包含哪些因素,解决思路其实与经典排序的特征因子选择的思想同出一源。
让我们再回看上文提到的排序打分公式F_score=W1*X1+W2*X2+…+Wn*Xn,特征的个数及其意义,就组成了系统学习的范围框架;在选择特征因子这个过程中,特征的设计都可以由业务专家们提供指导;当特征因子的组合能愈发表征我们的学习目标,模型效果往往愈发逼近业务期望。
比如我们现在要优化电商业务的搜索,假定目标是提升搜索带来的下单转化率,那么可以考虑从如下四个维度构建影响目标效果的特征:
特征敲定了,接下来就是把数据来源拿过来——数据采集,如商品交易数据源头在订单系统,另外如行为数据,则需要对前端进行埋点采集;这可能会需要与多个业务系统对接或者从数据仓库中取数,在系统对接之前,一定要先确定数据的口径是否与特征意义保持一致。
3)找到达成目标的 解
一步其实就是建模的过程,包括模型选择、模型训练、模型评估;有了特征数据,算法工程师可以依据经验选择某类机器学习的模型,对特征进行组合与学习,最终完成对目标的求解。
以上是机器学习排序构建的思路,下面将用白话的方式简要介绍排序学习的算法原理,不
转载请注明:http://www.0431gb208.com/sjsbszl/3579.html