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

Python 使用/解释没有金色文本的胭脂评分,python,nlp,text-processing,summarization,rouge,Python,Nlp,Text Processing,Summarization,Rouge,我正在考虑使用胭脂评分来评估机器摘要。 然而,我没有黄金文本作为我的总结,我担心我没有办法创建它们 我只是想在创建的摘要和原始文本上使用胭脂,并计算胭脂分数的均值和方差。请注意,我发送机器摘要和原始文本,计算每个胭脂分数,然后计算其均值和方差,并用以下代码打印结果: from rouge import Rouge rouge_score = Rouge() def cal_rouge(machine_summaries, original_texts): scores = {}

我正在考虑使用胭脂评分来评估机器摘要。 然而,我没有黄金文本作为我的总结,我担心我没有办法创建它们

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

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克的人工摘要,感觉好像我现在没有这样做。这是一种可能的方法,我在这里做的事情还是胡说八道?我收到的分数是否可用于解释总结是否良好(当然,这样就无法将其与其他胭脂分数进行比较,但这对我的情况很好)+1如果您提供了一个更好的解决方案,那么如何对机器摘要进行评估(除了已经使用此方法的Bert分数)

多谢各位