A Span-Extraction Dataset for Chinese Machine Reading Comprehension (CMRC 2018)
Creative Commons Attribution Share Alike 4.0 International
411
stars
87
forks
source link
您好,calc_f1_score函数为什么返回的是max(f1_scores)呢?这部分可以解释一下吗,返回最大的,不是就是1了吗?这里没看明白 #13
Open
dolphin-Jia opened 2 years ago
def calc_f1_score(answers, prediction): f1_scores = [] for ans in answers: ans_segs = mixed_segmentation(ans, rm_punc=True) prediction_segs = mixed_segmentation(prediction, rm_punc=True) lcs, lcs_len = find_lcs(ans_segs, prediction_segs) if ans == "" and prediction == "" : f1_scores.append(1)
else: if lcs_len == 0: f1_scores.append(0) continue precision = 1.0lcs_len/len(prediction_segs) recall = 1.0lcs_len/len(ans_segs) f1 = (2precisionrecall)/(precision+recall) f1_scores.append(f1) return max(f1_scores)