时态知识图谱补全任务为什么要进行损坏四元组过滤?

过滤设置(Filtered Setting)的目的是为了确保模型评估的公平性合理性。以下详细解释为什么要进行这样的过滤:


1. 避免模型因预测正确事实而受到惩罚

  • 问题:在知识图谱(KG)或时序知识图谱(TKG)的链接预测任务中,模型需要为查询(如 ((s, r, ?, t)))生成候选答案。如果候选答案中包含了已经存在于图谱中的正确事实,模型可能会将这些正确事实的排名降低,仅仅因为它们已经存在。
  • 例子
    • 假设图谱中已经存在四元组 ((s_1, r_1, o_1, t_1))。
    • 对于查询 ((s_1, r_1, ?, t_1)),模型生成的候选答案可能包括 ((s_1, r_1, o_1, t_1)) 和 ((s_1, r_1, o_2, t_1))。
    • 如果模型将 ((s_1, r_1, o_1, t_1)) 排名较低(因为它已经存在),这会导致模型性能被低估。
  • 解决方法:通过过滤,将已经存在的正确事实从候选集中移除,避免模型因此受到不公平的惩罚。

2. 评估模型预测新事实的能力

  • 目标:链接预测任务的核心是评估模型预测缺失或未知事实的能力,而不是记忆已有事实的能力。
  • 问题:如果不进行过滤,模型可能会因为“记住”了图谱中已有的正确事实而获得高分,但这并不能反映模型真正的泛化能力。
  • 例子
    • 假设图谱中有 ((s_1, r_1, o_1, t_1)) 和 ((s_2, r_2, o_2, t_2))。
    • 对于查询 ((s_1, r_1, ?, t_1)),模型可能会“记住” ((s_1, r_1, o_1, t_1)) 是正确的,并将其排名第一。
    • 但这并不能证明模型能够预测新的、未知的事实。
  • 解决方法:通过过滤,确保评估的重点是模型对缺失事实的预测能力。

3. 提高评估的合理性

  • 问题:在真实场景中,知识图谱通常是不完整的,模型的任务是补全缺失的事实,而不是重复已有的知识。
  • 例子
    • 假设图谱中有 ((s_1, r_1, o_1, t_1)),但缺失了 ((s_1, r_1, o_2, t_1))。
    • 模型的任务是预测 ((s_1, r_1, o_2, t_1)) 是正确的,而不是重复 ((s_1, r_1, o_1, t_1))。
  • 解决方法:通过过滤,确保评估过程更贴近实际任务需求,即补全缺失的事实。

4. 避免评估结果的偏差

  • 问题:如果不进行过滤,评估结果可能会受到已有事实的干扰,导致模型性能被高估或低估。
  • 例子
    • 假设图谱中有 100 个四元组,其中 90 个是已知的,10 个是缺失的。
    • 如果不进行过滤,模型可能会因为“记住”了 90 个已知事实而获得高分,但这并不能反映它对缺失事实的预测能力。
  • 解决方法:通过过滤,确保评估结果更准确地反映模型的真实性能。

总结:

过滤设置的目的是:

  1. 避免模型因预测正确事实而受到不公平的惩罚
  2. 确保评估的重点是模型预测新事实的能力
  3. 使评估过程更贴近实际任务需求
  4. 避免评估结果受到已有事实的干扰

通过过滤,评估结果更能反映模型的泛化能力实际应用价值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值