Skip to content

您好,calc_f1_score函数为什么返回的是max(f1_scores)呢?这部分可以解释一下吗,返回最大的,不是就是1了吗?这里没看明白 #13

@dolphin-Jia

Description

@dolphin-Jia

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.0
lcs_len/len(ans_segs)
f1 = (2precisionrecall)/(precision+recall)
f1_scores.append(f1)
return max(f1_scores)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions