当前位置: 首页 > news >正文

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

在知识图谱(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) 位返回正确答案的能力。
  • 两者都依赖于过滤设置,以确保评估的公平性和合理性。

相关文章:

  • 利用python实现对.xls文件表头的修改
  • openwebUI访问vllm加载deepseek微调过的本地大模型
  • STaR(Self-Taught Reasoner)方法:让语言模型自学推理能力(代码实现)
  • 算法题(83):寄包柜
  • 【重构小程序】升级JDK1.8、SpringBoot2.x 到JDK17、Springboot 3.x(一)
  • nano 是 Linux 系统中的一个 命令行文本编辑器
  • 计算机网络-实验3拓扑结构
  • Unix Domain Socket和eventfd
  • 10.3 指针进阶_代码分析
  • Java 中如何创建多线程?
  • 2025年能源工作指导意见重点内容
  • fps项目总结:关于攻击与受击
  • 【医学影像 AI】使用血管特征量化自动诊断早产儿视网膜病变中的附加病变
  • C语言:结构体的内存对齐方式
  • vite+react+ts如何集成redux状态管理工具,实现持久化缓存
  • MATLAB中asManyOfPattern函数用法
  • 代理对象中使用this
  • anolis8.9-k8s1.32-系统基本配置
  • Linux--基本指令2
  • 使用Python简单自动地生成图文并茂的网页文件(WEB数据可视化)
  • 泉州网站seo公司/google seo 优化教程
  • 美食鉴赏国内网站/网推接单平台
  • 郑州网站的优化/女教师遭网课入侵直播录屏曝光8
  • 上海做网站哪家好/培训心得
  • php网站管理系统下载/app营销策略有哪些
  • 市政府统一建设网站的提议/外贸网站推广方法之一