Closed EurusNotes closed 1 year ago
Hit@k 只有 0/1 两种取值,当top-k的预测结果包含正确答案时就是1,其他情况是0.
所以第一种情况,hit@1 和 hit@3 都是 1
对于第二种情况,虽然正确的尾实体超过1个,但是大家目前都采用 filtered setting,也就是通过过滤只保留一个正确答案来做评测,比如测试数据是 (阿里巴巴,股东,马云)
,根据训练数据又已知(阿里巴巴,股东,软银)
成立,那就把 软银
从预测结果中过滤掉再计算 hit@k,所以 top-3的预测结果里最多只有一个正确答案。
非常感谢您的回答!!!
Hi, Liang
关于Hits@K的计算方法,我有一点疑问。
举一个例子,预测下面两个三元组的尾部实体,右边的结果是预测结果的Top3。
关于第一个,因为北京排在第一个,所以第一个例子的Hits@1 = 1, Hit@3 是 1/3 还是 1 呢? 关于第二个,正确答案有软银和马云,那么第二个例子的 Hits@1 应该是1, 但是Hit@3 是2/3 还是1呢? 我目前的理解是,在计算Hits@3 的时候,不管top 3 里面有多少个正确答案,只要存在一个正确答案,Hits@3 = 1。 不知道我的理解对不对。 希望您百忙之中,能够回复我,这将会对我很有帮助。