时态知识图谱补全推理任务评价指标

ops/2025/3/3 6:33:00/

知识图谱(KG)或时序知识图谱(TKG)的链接预测任务中,MRR(Mean Reciprocal Rank)Hits@k 是两种常用的评估指标。它们用于衡量模型预测的正确事实在候选答案中的排名质量。以下是它们的计算过程详解:


1. MRR(Mean Reciprocal Rank)

MRR 是正确事实的排名的倒数的平均值。它反映了模型将正确事实排在靠前位置的能力。

计算过程:
  1. 对每个查询计算 Reciprocal Rank(RR)

    • 对于一个查询(如 ((s, r, ?, t))),模型会生成一组候选答案,并按照预测分数对它们进行排序。

    • 找到正确事实的排名 (rank)(即正确实体 (o) 在排序列表中的位置)。

    • 计算 Reciprocal Rank:在这里插入图片描述

      • 如果正确事实排名第一,(RR = 1);
      • 如果排名第二,(RR = 0.5);
      • 以此类推。
  2. 对所有查询的 RR 取平均

    • 假设有 (N) 个查询,每个查询的 Reciprocal Rank 为 (RR_i),则 MRR 计算公式为:

    在这里插入图片描述

例子:

假设有以下 3 个查询及其正确事实的排名:

  • 查询 1:正确事实排名第 2 → (RR_1 = 1/2= 0.5)
  • 查询 2:正确事实排名第 1 → (RR_2 = 1/1 = 1.0)
  • 查询 3:正确事实排名第 5 → (RR_3 = 1/5= 0.2)

则 MRR 为:
[
MRR = {0.5 + 1.0 + 0.2}/{3} = 0.5667
]


2. Hits@k

Hits@k 表示正确事实的排名在前 (k) 位的比例。它反映了模型将正确事实排在前 (k) 位的能力。

计算过程:
  1. 对每个查询检查正确事实是否在前 (k) 位

    • 对于一个查询,模型生成一组候选答案并排序。
    • 如果正确事实的排名 rank < k,则记为 1;否则记为 0。
  2. 对所有查询的结果取平均

    • 假设有 (N) 个查询,其中 (M) 个查询的正确事实排名在前 (k) 位,则 Hits@k 计算公式为:
      在这里插入图片描述
例子:

假设有以下 5 个查询及其正确事实的排名:

  • 查询 1:正确事实排名第 2
  • 查询 2:正确事实排名第 1
  • 查询 3:正确事实排名第 5
  • 查询 4:正确事实排名第 3
  • 查询 5:正确事实排名第 10

计算 Hits@3:

  • 查询 1:排名 2 ≤ 3 → 1
  • 查询 2:排名 1 ≤ 3 → 1
  • 查询 3:排名 5 > 3 → 0
  • 查询 4:排名 3 ≤ 3 → 1
  • 查询 5:排名 10 > 3 → 0

则 Hits@3 为:
在这里插入图片描述


3. MRR 和 Hits@k 的区别

  • MRR
    • 关注正确事实的具体排名,排名越靠前,贡献越大。
    • 对排名变化更敏感,适合衡量模型的整体排序质量。
  • Hits@k
    • 只关注正确事实是否在前 (k) 位,不关心具体排名。
    • 更适合衡量模型在实际应用中的实用性(例如,是否能在前 10 个结果中返回正确答案)。

4. 过滤设置对 MRR 和 Hits@k 的影响

在计算 MRR 和 Hits@k 时,通常会使用过滤设置(Filtered Setting):

  • 过滤掉已经存在于图谱中的候选答案,确保评估的公平性。
  • 这样,正确事实的排名不会受到已有事实的干扰,评估结果更能反映模型的真实性能。

总结:

  • MRR:计算正确事实排名的倒数的平均值,反映模型将正确事实排在靠前位置的能力。
  • Hits@k:计算正确事实排名在前 (k) 位的比例,反映模型在前 (k) 位返回正确答案的能力。
  • 两者都依赖于过滤设置,以确保评估的公平性和合理性。

http://www.ppmy.cn/ops/162700.html

相关文章

大白话css第六章深入探索前沿技术、性能极致优化以及参与社区与知识沉淀

CSS学习的第六章段属于非常高阶且专业的范畴&#xff0c;主要聚焦于深入探索前沿技术、性能极致优化以及参与社区与知识沉淀。 1. 深入探索前沿布局技术 容器查询&#xff08;Container Queries&#xff09;的高级应用 解释&#xff1a;前面咱们说过容器查询能根据元素容器大…

TCP如何保证可靠性

目录 回顾TCP协议TCP报文头部 TCP如何保证可靠性&#xff1f;校验和序列号确认应答机制&#xff08;ACK&#xff09;超时重传机制连接管理机制&#xff08;三次握手和四次挥手&#xff09;流量控制滑动窗口滑动机制 拥塞控制慢开始 & 拥塞避免快重传 & 快恢复 回顾TCP协…

【弹性计算】弹性裸金属服务器和神龙虚拟化(一):功能特点

弹性裸金属服务器和神龙虚拟化&#xff08;一&#xff09;&#xff1a;功能特点 特征一&#xff1a;分钟级交付特征二&#xff1a;兼容 VPC、SLB、RDS 等云平台全业务特征三&#xff1a;兼容虚拟机镜像特征四&#xff1a;云盘启动和数据云盘动态热插拔特征五&#xff1a;虚拟机…

flex布局自定义一行几栏,靠左对齐===grid布局

模板 <div class"content"><div class"item">1222</div><div class"item">1222</div><div class"item">1222</div><div class"item">1222</div><div class"…

Ubuntu 下 nginx-1.24.0 源码分析 - ngx_list_t

ngx_list_t 定义在 src/core/ngx_list.h typedef struct {ngx_list_part_t *last;ngx_list_part_t part;size_t size;ngx_uint_t nalloc;ngx_pool_t *pool; } ngx_list_t;ngx_list_t 是 Nginx 中用于管理动态数组链表的核心数据结构&#xff0c;结…

Windows扫雷小游戏技巧

1. 理解数字的含义 每个数字表示周围8个格子中地雷的数量。例如&#xff0c;数字“1”表示周围8个格子中有1颗地雷。通过数字可以推断哪些格子是安全的&#xff0c;哪些可能有地雷。 2. 从角落或边缘开始 角落和边缘的格子周围格子较少&#xff0c;更容易推断地雷的位置。例如…

1.2 Scala变量与数据类型

在本次Scala变量与数据类型的学习中&#xff0c;我们深入掌握了变量和常量的声明与使用。通过val声明的常量只能赋值一次&#xff0c;而var声明的变量可以多次赋值&#xff0c;但类型不可更改。我们还学习了多行字符串的定义方式&#xff0c;以及如何通过stripMargin去除前导空…

Redis SCAN 命令详解:安全遍历海量键的利器

一、SCAN 命令的核心价值 Redis 的 KEYS * 命令虽然可以遍历所有键&#xff0c;但在生产环境中直接使用可能导致服务阻塞&#xff08;时间复杂度 O(n)&#xff09;。SCAN 命令通过游标分批次迭代&#xff0c;实现非阻塞式遍历&#xff0c;成为处理百万级键的安全选择。 二、命…