下面可独立运行。
def hit_at_k(ranked, relevant, k): return int(bool(set(ranked[:k]) & relevant)) assert hit_at_k(['a', 'x'], {'a', 'b'}, 2) == 1 assert hit_at_k(['x'], {'a', 'b'}, 1) == 0
第一个结果最前面就是a,因此hit和MRR都满分;b仍缺失。若a是通则、b是例外,仅有a会产生错误回答。必须按问题需要的证据集合评价召回,再独立评价生成。
返回题目。