知识图谱评价指标hit@n、MR

MRR

MRR的全称是Mean Reciprocal Ranking,其中Reciprocal是指“倒数的”的意思。具体的计算方法如下:
知识图谱评价指标hit@n、MR_第1张图片
其中S是三元组集合,i 是三元组集合个数,rank_i 是指第i个三元组的链接预测排名。
该指标越大越好。

我的理解:
对于每个 testing triple,以预测tail entity为例,我们将(h,r,t)中的t用知识图谱中的每个实体来代替,然后通过fr(h,t)【1】函数来计算分数,这样我们可以得到一系列的分数,之后按照降序将这些分数排列。

例如,对于三元组(Jack,born_in,Italy),链接预测的结果可能是:
知识图谱评价指标hit@n、MR_第2张图片
【1】例如:transE的fr(h,t)为:
知识图谱评价指标hit@n、MR_第3张图片
我们需要知道的是,d越小,说明两者关系越接近,分数也越高,所以f函数值是越大越好,那么在上个排列中,排的越前越好。

现在重点来了,我们去看每个 testing triple中正确答案,也就是真实的t到底能在上述序列中排多少位,比如说t1排100,t2排200,t3排60…,(上边的例子里这一条三元组t1排第二名)之后对这些排名求倒数再求平均,MRR就得到了。

MR

Mean rank 具体计算方式如下:
在这里插入图片描述
上述公式涉及的符号和MRR计算公式中涉及的符号一样。该指标越小越好。

我的理解:
对于每个 testing triple,以预测tail entity为例,我们将(h,r,t)中的t用知识图谱中的每个实体来代替,然后通过fr(h,t)函数来计算分数,这样我们可以得到一系列的分数,之后按照升序将这些分数排列。

Hit@n

该指标是指在链接预测中排名小于n的三元组的平均占比。具体的计算方法如下:
知识图谱评价指标hit@n、MR_第4张图片

我的理解:
比如hit@10
还是按照上述进行f函数值排列,然后去看每个testing triple正确答案是否排在序列的前十,如果在的话就计数+1
最终 排在前十的个数/总个数 就是Hit@10

该指标越大越好

注意

MRR和HITS@10是两个重要指标,不可缺少。MR则不被认为是一个好的指标。

你可能感兴趣的:(python,知识图谱,mr,人工智能)