使用/解释没有金色文字的胭脂评分

问题描述

我正在考虑使用Rouge-score评估机器汇总。 但是,我的摘要没有黄金文本,恐怕我无法创建它们。

我只是想在创建的摘要和原始文本上使用Rouge,并计算Rouge得分的均值和方差。因此请注意,我发送了机器摘要和原始文本,为每个胭脂分数计算,然后计算其均值和方差,并使用以下代码打印结果:

from rouge import Rouge
rouge_score = Rouge()  
def cal_rouge(machine_summaries,original_texts):
    scores = {}
    scores["f1"] = []
    scores["p"] = []
    scores["r"] = []
    
    for i in range(len(original_texts)):
        score = rouge_score.get_scores(machine_summaries[i],original_texts[i])
        scores["f1"].append(score[0]["rouge-1"]["f"])
        scores["p"].append(score[0]["rouge-1"]["p"])
        scores["r"].append(score[0]["rouge-1"]["r"])
    
    scores_mean = {}
    scores_mean["f1"] = np.mean(scores["f1"])
    scores_mean["p"] = np.mean(scores["p"])
    scores_mean["r"] = np.mean(scores["r"])
    scores_var = {}
    scores_var["f1"] = np.var(scores["f1"])
    scores_var["p"] = np.var(scores["p"])
    scores_var["r"] = np.var(scores["r"])
    
    return scores_mean,scores_var,np.array(scores) 

这使我得到例如以下结果:

#Mean: {'f1': 0.2522413129042896,'p': 0.7467766694578116,'r': 0.15471170656289543}
#Variance: {'f1': 0.0065774107537912635,'p': 0.003972151259434706,'r': 0.0035067344794450965}

或其他:

#Mean: {'f1': 0.6725674074479152,'p': 0.9175048965779135,'r': 0.5373725357457687}
#Variance: {'f1': 0.002412885989526224,'p': 0.006999761843180578,'r': 0.004363124116897011}

自从我阅读以来,该流氓通常用于人工编写的摘要(我将其替换为原始文本),用于比较在机器书面摘要中出现多少个n-gram的人工摘要在这里不做。这是一种可能的方法吗?我在这里做什么?还是胡说八道?我收到的分数是否可用于解释摘要是否良好(当然,这种方式不能与其他胭脂分数进行比较,但这对我的情况很好)?如果您提供了更好的解决方案,则可以+1,否则可以评估计算机摘要(Bert-score除外,已经在使用它了)。

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)