-->

AI内参_43_041_搜索系统评测有哪些高级指标

你好,我是洪亮杰。

今天我和你分享的主题是搜索系统评测有哪些高级指标。

周一我们介绍了基于二元相关原理的线下评测指标。

可以说,从一九五零年开始,这种方法就主导了文档检索系统的研发工作。

然而,二元相关原理从根本上不支持排序的评测,这就成了开发更加准确排序算法的一道障碍。

于是,研究人员就开发出了基于多程度相关原理的评测标准。

今天我就重点来介绍一下这方面的内容,从二元相关出发,自然就是给相关度更加灵活的定义。

在一篇发表于NIPS二零零七的文章中,雅虎的科学家介绍了雅虎基于五分标准的相关评价体系,从最相关到最不相关。

而在同一年的SIGIR上,谷歌的科学家也发表了一篇文章,介绍了他们的多程度相关打分机制。

至此之后,基于多程度相关原理的评价标准,慢慢被各种搜索系统的研发者们所接受。

在这样的趋势下,基于二元相关的精度和召回就变得不适用了。

我们需要新的基于多程度相关的评价指标。

芬兰的科学家在二零零零年的SIGIR上发表了一种计算相关度评测的方法,这种方法被广泛应用到了多程度相关的场景中。

那么芬兰科学家发明的方法是怎样的呢?这种方法被称作是折扣化的累积,获得简称。

Dcg在介绍DCG之前,我们首先假定位置一是排位最高的位置,也就是顶端的文档,而位置数随着排位降低而增高,位置十就是第一页最后的文档。

Dcg的思想是这样的。

首先一个排序的整体相关度是这个排序的各个位置上的相关度的某种加权。

这样用一个数字就描述了整个排序,只要排序的结果不同,这个数字就会有所不同。

因此,这就避免了精度或召回对排序不敏感的问题。

其次,每个位置上面的获得是和这文档原本定义的相关度相关的。

但是根据不同的位置要打不同的折扣,位置越低,折扣越大,这就是DCG名字的由来。

在原始的DCG定义中,折扣是文档的相关度除以位置的对数转换,这样既保证了位置越低,折扣越大还表达了高位置的差别,要大于低位置之间的差别。

这是什么意思呢?意思就是如果某一个文档从位置一挪到了位置,二所受的折扣或者说是损失要大于从位置,九挪到了位置。

十、在这样的定义下,DCG鼓励把相关的文档尽可能的排到序列的顶部。

事实上,假设我们有五个文档,假定它们的相关度分别是一二三四五分别代表最不相关、不相关、中性相关和最相关。

那么在DCG的定义下,最佳的排序就应该是把这五个文档按照相关度的顺序,也就是五四三二一来排定任何其他的顺序。

因为根据位置所定义的折扣获得的缘故,都会取得相对较小的DCG,因此不是最优DCG.比精度和召回能够更好的表达对排序的评估。

但直接使用DCG也存在了一个问题。

如果我们有两个查询关键字返回的文档数不一样,那么直接比较这两个查询关键字的DCG值是不公平的,原因在于DCG的加和特性结果肯定是越加越大。

因此,不能直接比较两个不同查询关键字的DCG值,有没有什么办法呢?把DCG加以归一化的指标叫做NDCGNDCG的思路,是下面这样的。

首先,对某一个查询关键字的排序,根据相关信息来计算一组理想排序所对应的DCG值。

理想排序往往就是按照相关信息,从大到小排序,然后再按照当前算法排序所产生的DCG值。

除以理想的DCG值,就产生了归一化后的DCG,也就是我们所说的NDCG值。

简单来说,NDCG就是NDCG,相对于理想状态进行归一化,经过NDCG归一化以后,我们就可以比较不同查询关键字之间的数值了。

这里需要说明的是,我们上面介绍的是DCG的原始定义。

后来,微软的学者们在二零零五年左右发明了另外一个变种的DCG基本原理。

没有发生变化,只是分子分母有一些代数定义这个新的版本。

后来在工业界得到了更加广泛的应用后果。

你感兴趣可以查看文末的参考文献。

四、直到今天,NDCG以及DCG依然是评价排序算法以及各种排序结果的标准指标。

不管是我们之前谈到的精度和召回,还是今天介绍的NDCG,我们都是使用一个数来描述了相对于某个查询关键字一组结果的好坏。

当我们有多个查询关键字的时候,我们该如何比较两个不同排序的结果呢?下面啊我就重点来说说如何来比较两个排序的好坏。

这里面的一个问题是,相对于两个不同的排序,a和b来说,可能结果各有千秋。

也许对于某一个关键字a比b的表现要好。

但是另外一个关键字b就比a的结果更棒,这怎么办呢?也许你会想到用平均值来描述a和b的表现,这的确是很好的第一步。

于是啊我们就计算a和b两个排序的平均表现。

这样对于两个排序而言,我们就有了两个数值来表达这两个排序的好坏。

然而很快我们就会遇到问题。

假设a的NDCG平均值是零点七八一,b的NDCG平均值是零点七八九,我们可以下结论认为b是比a更好的排序算法吗?答案当然是不一定。

这种情况我们就需要依赖统计工具,假设检验来评价两个排序的好坏。

我这里就不去复习假设检验的细节了。

简单说一个经常使用的工具,如果我们比较a和b是在同一组查询关键字上的话,那我们常常可以使用两个样本的配对t检验。

这里所谓的配对是指a和b的结果是可以一一比较的。

这里的t检验其实就是说借助于t分布,或者我们通常所说的学生分布来进行假设检验。

如果我们是在不同查询关键字集合中进行比较的话,还有其他的假设检验工具这里就不展开了。

值得注意的是,假设检验本身也不是万零药,如一,怎么最有效的在排序结果上进行假设检验,还是一个研究话题。

包括我们刚说的两个样本的配对t检验在内的所有方法都不是金科玉律。

第二,依靠假设检验得出来的结论,往往是统计意义上的好坏,和这些系统在用户面前的表现可能依然会有很大差距。

因此,对于假设检验的结果也要带有批判的眼光。

今天我为你讲了现代搜索技术中如何评价我们构建的系统,特别是如何评价排序系统,一起来回顾一下要点。

第一,简要讲解了基于多程度相关的评价体系,包括其由来和DCG以及NDCG的概念。

第一,简要介绍了如何来比较两个排序的好坏。

最后啊给你留一个思考题,如果我们只有二元相关信息,能不能用NDCG来评价好坏呢?欢迎你给我留言,和我一起讨论。