当前位置:朝夕网 » 数码科技 » 搜索引擎排序算法详解

搜索引擎排序算法详解

搜索引擎排序算法详解搜索和推荐区别:搜索是一个非常主动的行为,并且用户的需求十分明确,在搜索引擎提供的结果里,用户也能通过浏览和点击来明确的判断是否满足了用户需求。然而,推荐系统接受信息是被动的,需求

搜索引擎排序算法详解

搜索和推荐区别:

搜索是一个非常主动的行为,并且用户的需求十分明确,在搜索引擎提供的结果里,用户也能通过浏览和点击来明确的判断是否满足了用户需求。然而,推荐系统接受信息是被动的,需求也都是模糊而不明确的。以“逛”商城为例,在用户进入商场的时候,如果需求不明确,这个时候需要推荐系统,来告诉用户有哪些优质的商品、哪些合适的内容等,但如果用户已经非常明确当下需要购买哪个品牌、什么型号的商品时,直接去找对应的店铺就行,这时就是搜索了。

一般的搜索引擎在检索过程中需要考虑两个因素:1)相关性 2)重要性

1)相关性

相关性是指返回结果和输入query关键词是否相关,这是搜索引擎基本问题之一,目前常用的算法有BM25和空间向量模型,这两个算法ElasticSearch都支持,一般商业搜索引擎都用BM25算法,BM25算法会计算每个doc和query的相关性分数,我们使用Dscore表示。

2)重要性

重要性是指doc被信赖的程度,我们应该把最被用户信赖的doc返回给用户,而不是让用户自己鉴别,尤其是在商品充分竞争的电商搜索,我们必须赋予商品合理的重要性分数,才能保证搜索结果的优质,重要性分又叫做静态分,使用Tscore表示。

搜索引擎最终的排序依据是:

Score=Dscore*Tscore

即综合考虑静态分和动态分,给用户相关且重要的doc

动态分数Dscore计算:

搜索关键词为“睡眠”

从搜索解释可以看出ES默认的搜索算法是BM25:

静态分Tscore计算:

静态计算过程需要解决2个问题:1)稳定性。静态分的计算不可以通过增加单一指标线性增加分值(比如刷单对搜索引擎的质量的影响)2)区分度。在保证稳定性的基础上doc静态分要有足够的区分度可以保证同样搜索的条件下,排在前面的doc的质量比排在后面的质量高。

我们假设商品的静态分有4个决定性因素,1、日期 2、点赞量 3、评论量 4、分享量

Tscore=日期衰减系数*+b*g+c*h)

日期衰减系数=1/log

说明:发帖越早 衰减越大

a,b,c是权重参数,用于平衡各个指标的影响程度。f,g,h是代表函数用于把原始的指标转化成合理的度量。

a,b,c是权重参数由变异系数法获得:

变异系数法是直接利用各项指标所包含的信息,通过计算得到指标的权重。是一种客观赋权的方法。此方法的基本做法是:在评价指标体系中,指标取值差异越大的指标,也就是越难以实现的指标,这样的指标更能反映被评价单位的差异。

由于评价指标体系中的各项指标的量纲不同,不宜直接比较其差别程度。为了消除各项评价指标的量纲不同的影响,需要用各项指标的变异系数来衡量各项指标取值的差异程度。各项指标的变异系数公式如下:

Vi是第i项指标的变异系数,

σi是第i项指标的标准差,

Xi是第i项指标的平均值。

各项指标的权重为:

通过以上算法可以获取a,b,c的值。

f,g,h通过log-zscore归一化获得。

最终可以获得Tscore值。

然后通过 Score=Dscore*Tscore可以获取到最终排序。

你也许会问,怎么才能变得成功与富有?答案其实非常简单,那就是每天进步一点点。

以上就是朝夕生活(www.30zx.com)关于“搜索引擎排序算法详解”的详细内容,希望对大家有所帮助!

免责声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如有侵权行为,请第一时间联系我们修改或删除,多谢。朝夕网 » 搜索引擎排序算法详解