论文 | 信息检索结果Ranking的评价指标《RankDCG: Rank-Ordering Evaluation Measure》

本文主要是介绍论文 | 信息检索结果Ranking的评价指标《RankDCG: Rank-Ordering Evaluation Measure》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

未经允许,不得转载,谢谢~~

一 文章简介

为什么要提出这个新的评价算法?

  1. 我们都知道ranking过程对于信息检索的结果是非常重要的,那么我们就需要有一些算法能评价ranking的结果到底如何。
  2. 现有用来评价ranking的常用算法有:Kendall's τ, Average Precision(AP) , Mean Average Precision(MAP),Discounted Cumulative Gain (DCG), nDCG.
  3. 跟简单的分类任务只需要一个accuracy不一样,尽管已经有了那么多的ranking measures,但仍然存在一些问题。
  4. 尤其是在解决“对那些具有相同等级分布和倾斜等级分布多个关系的离散值元素进行排序任务时”;
  5. 所以本文基于nDCG算法提出了RankDCG,并提出一些标准来测试这些算法,实验发现只有本文的RankDCG满足全部的要求。

二 排序问题描述

  1. Ordering:用网页检索的例子来看就是要在接近无穷大的数据集中找到相应的信息并对它们进行相关性排序。
  2. 问题可以用数学的方式定义为:
    • A为一系列元素: A = [x1,x2,x3,...,xn];
    • f(x)度量了元素x与query的相关性,f(x)属于0-1;
    • 通常我们能在A中的n个元素找到m个相关的元素,并按相关性由高到低进行排序得到目标结果B;
    • B = [x|x ∈ A,f(x) > 0], 且 B = [ f(x1) > f(x2) > f(x3) > ... > f(xm) ];
  3. 在本文中考虑现实世界中经常出现的排序问题,例如推荐系统和用户排序;这跟上面提到的网页检索有一些不太一样的地方,包括:
    • 在这里每个元素都是相关的;
    • 待排序的都是离散值;
    • 会出现多个元素具有相同等级的情况;
    • 排序结果可能会出现只有非常少数的top result是相关的情况;
  4. 针对上述问题,重新定义了目标结果B的表示为: B = [f(x1) ≥ f(x2) ≥ f(x3) ≥ ... ≥ f(xn)],并对ranking measure提出了需要能够正确反映上述4点的要求。

三 现有评价方法

信息检索领域有多个方法来评价rank ordering的好坏,但是没有一个对上面描述的这种问题是完全适用的,接下来先看看目前常用的一些评价算法。

3.1 F-measure(F-score)

  1. 这是一个在IR中非常常见的评价指标;
  2. 同时考虑了检测精度p和召回率r;


  3. 但是不适用于所有元素都相关的情况,也没有将不同的ranks考虑在内,所以不适合作为rank-ordering的评价标准。

3.2 Average Precision and Mean Average Precision

  1. AP


  • 其中:P(k) = precision@k , ∆R(k) = |recall(k−1)−recall(k)|.
  • 其实理论上的AP应该等于绿色的precision-recall线的下方面积,而用近似计算就等于看成是一小块的长方形的面积之和,即为图中红色虚线的下方面积。
  1. MAP


  • 其中:Q 是query的集合,而q是单个的query,即对所有query的AP求平均。
  1. AP,MAP都可以评价rank-ordering问题;
  2. AP,MAP基于rank与rank之间没有关系的这个前提,没有考虑多个元素会是同一个rank的情况;
  3. AP,MAP对所有的rank values都是用相同的cost对待,没有考虑需要将更多的注意力放在少数几个high-rank的元素上。

3.3 Kendall’s τ

  1. 这个算法考虑了给定list和结果list之间元素对之间的匹配程度;


  2. c表示匹配的元素对的数量,d表示不匹配的元素对数量;
  3. 这个算法仍然没有考虑多个元素值相同rank,与非常少的top-k个相关元素分布情况。
  4. 关于这个算法这里给出一个具体的例子:


3.4 Discounted Cumulative Gain (DCG)

  1. 这个算法考虑了rank排序的问题,是目前文章中介绍过的唯一一个用了cost function的算法;
  2. 本文也是自己与这个算法做的改进;


  3. rel()指的是相关度度量函数,i 表示元素所在的位置;


  4. 这里有一个很不错的例子哦.
  5. 标准的DCG根据元素所在的位置不同给出不同的cost;
  6. 而文章作者认为[9,1,1]对于结果[1,9,1]与[1,1,9]应该是一样的(因为只有一个9是top-1,而且都出错了)

四 本文评价算法:RankDCG

  1. 从一个例子开始分析:
  2. 下面两张图为standard DCG与别人改进的DCG在各个元素上的cost图:


  3. 不足之处:这两个算法都将一般以上的cost放在了最高rank的元素上,这会导致整个评价算法引导ranking的走向找到top-rank的元素而不是做好ordering工作。
  4. 所以文章做的第一个工作:提出了新的rel()函数,具体体现为将原来的变成:

    具体步骤是:在L中有10个rank值,但是只有4个不同的rank,所以按照rank value对元素进行分组,得到4,那个第一个sublist的rankvalue就改成4,后面的sublist依次递减。

  5. 这样可以得都到以下的结果图,可以看到整个cost下降更均衡了。


  6. 现在这样其实还有一个问题,基于位置的折损函数cost会导致本来rank value一样的值最后得到的cost却是不一样的,例如最后4个1。
  7. 文章做的第二个工作就是将基于位置的折损改成新的折损系统,具体方法是对L‘的rank value做一个翻转,将值依次赋给各个sublist。最后得到:


  8. 这时候的cost图为:


  9. 最后也模仿DCG->nDCG的过程,做了一次归一化,即最终的RankDCG算法等于:


写在最后

写完了嘻嘻~~

简书不支持公式真的有点小小的不方便,所有的公式都来自论文presentation的截图。

最后,不是做信息检索的,这篇论文只是课程的一个报告,有理解不正确或者不到位之处欢迎大佬评论获或者私信谢谢ヾ(◍°∇°◍)ノ゙

      </div>

这篇关于论文 | 信息检索结果Ranking的评价指标《RankDCG: Rank-Ordering Evaluation Measure》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/672552

相关文章

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已

OmniGlue论文详解(特征匹配)

OmniGlue论文详解(特征匹配) 摘要1. 引言2. 相关工作2.1. 广义局部特征匹配2.2. 稀疏可学习匹配2.3. 半稠密可学习匹配2.4. 与其他图像表示匹配 3. OmniGlue3.1. 模型概述3.2. OmniGlue 细节3.2.1. 特征提取3.2.2. 利用DINOv2构建图形。3.2.3. 信息传播与新的指导3.2.4. 匹配层和损失函数3.2.5. 与Super

BERT 论文逐段精读【论文精读】

BERT: 近 3 年 NLP 最火 CV: 大数据集上的训练好的 NN 模型,提升 CV 任务的性能 —— ImageNet 的 CNN 模型 NLP: BERT 简化了 NLP 任务的训练,提升了 NLP 任务的性能 BERT 如何站在巨人的肩膀上的?使用了哪些 NLP 已有的技术和思想?哪些是 BERT 的创新? 1标题 + 作者 BERT: Pre-trainin

[论文笔记]LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

引言 今天带来第一篇量化论文LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale笔记。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 大语言模型已被广泛采用,但推理时需要大量的GPU内存。我们开发了一种Int8矩阵乘法的过程,用于Transformer中的前馈和注意力投影层,这可以将推理所需

2024 年高教社杯全国大学生数学建模竞赛 C 题 农作物的种植策略 参考论文 无水印

持续更新中,2024年数学建模比赛思路代码论文都会发布到专栏内,只需订阅一次!  完整论文+代码+数据结果链接在文末!  订阅后可查看参考论文文件 第一问 1.1 问题重述 这个问题围绕的是华北山区的某乡村,在有限的耕地条件下,如何制定最优的农作物种植策略。乡村有 34 块露天耕地和 20 个大棚,种植条件包括粮食作物、蔬菜、水稻和食用菌。除了要考虑地块的面积、种植季节等,还要确保

论文精读-Supervised Raw Video Denoising with a Benchmark Dataset on Dynamic Scenes

论文精读-Supervised Raw Video Denoising with a Benchmark Dataset on Dynamic Scenes 优势 1、构建了一个用于监督原始视频去噪的基准数据集。为了多次捕捉瞬间,我们手动为对象s创建运动。在高ISO模式下捕获每一时刻的噪声帧,并通过对多个噪声帧进行平均得到相应的干净帧。 2、有效的原始视频去噪网络(RViDeNet),通过探

风控系统之指标回溯,历史数据重跑

个人博客:无奈何杨(wnhyang) 个人语雀:wnhyang 共享语雀:在线知识共享 Github:wnhyang - Overview 回顾 默认你已经看过之前那篇风控系统指标计算/特征提取分析与实现01,Redis、Zset、模版方法。 其中已经介绍了如何利用redis的zset结构完成指标计算,为了方便这篇文章的介绍,还是在正式开始本篇之前回顾一下。 时间窗口 zset