赞
踩
解决问题:测试中文文本的rouge值,用于评估大模型的性能。
ROUGE 指标的全称是 (Recall-Oriented Understudy for Gisting Evaluation),主要是基于召回率 (recall) 的。
from rouge import Rouge
import jieba
# 将句子分词并进行处理
def preprocess_text(text):
# 分词并连接成字符串
words = jieba.lcut(text)
processed_text = ' '.join(words)
return processed_text
# 测试数据
reference = "这是一个测试句子"
candidate = "这是另一个测试句子"
# 预处理测试数据
processed_reference = preprocess_text(reference)
print("--------------------------")
print(processed_reference)
print("--------------------------")
processed_candidate = preprocess_text(candidate)
print("--------------------------")
print(processed_candidate)
print("--------------------------")
# 初始化ROUGE评价器
rouge = Rouge()
# 计算ROUGE指标
scores = rouge.get_scores(processed_candidate, processed_reference, avg=True)
# 输出结果
print(scores)
中文文本处理结果
计算rouge值
只需要r的值即可,因为rouge关注召回率。
在ROUGE指标中,'r’代表召回率(recall)即rouge的值,'p’代表精确率(precision),'f’代表F1分数。这些指标用于衡量自动生成的摘要与参考摘要之间的相似性。
召回率(recall)衡量的是自动生成的摘要中包含了多少参考摘要中的内容。它的计算公式为:召回率 = 匹配的n-gram数量 / 参考摘要中的n-gram数量。
精确率(precision)衡量的是自动生成的摘要中有多少内容是正确的。它的计算公式为:精确率 = 匹配的n-gram数量 / 自动生成的摘要中的n-gram数量。
F1分数(F1 score)是召回率和精确率的调和平均值,它综合了召回率和精确率的性能。它的计算公式为:F1分数 = 2 * (精确率 * 召回率) / (精确率 + 召回率)
在ROUGE-L中,“L”代表“最长公共子序列”(Longest Common Subsequence)。具体解释如下:
召回率(Recall):衡量自动生成的摘要中包含了多少参考摘要中的内容。在ROUGE-L中,召回率的计算方式是匹配的最长公共子序列(LCS)的长度除以参考摘要的长度。
精确率(Precision):衡量自动生成的摘要中有多少内容是正确的。在ROUGE-L中,精确率的计算方式是匹配的最长公共子序列(LCS)的长度除以自动生成的摘要的长度。
F1分数(F1 score):是召回率和精确率的调和平均值,综合了召回率和精确率的性能。在ROUGE-L中,F1分数的计算方式是2 * (精确率 * 召回率)/(精确率 + 召回率)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。