ROUGE是做文本生成(eg文本摘要)的一个评价指标。
ROUGE的安装真的是一个巨坑,找了各种教程都不行。。实在搞不定只能按最复杂的教程搞了,最后居然成功了。。
但是!!!最后使用Rouge155()居然没有计算出来,气死我了,有种白忙活的感觉。。
仔细想一想,我使用的只是rouge-1, rouge-2, rouge-l,熟悉rouge的童鞋都知道,这只是一个简单的n-gram的召回,不可能这么复杂啊。。
后来,又查了一下资料,终于发现了一个简单的调用方法。
直接 pip install rouge
然后按照以下步骤使用即可:
from rouge import Rouge
a = ["i am a student from xx school"] # 预测摘要 (可以是列表也可以是句子)
b = ["i am a student from school on china"] #真实摘要
rouge = Rouge()
rouge_score = rouge.get_scores(a, b)
print(rouge_score[0]["rouge-1"])
print(rouge_score[0]["rouge-2"])
print(rouge_score[0]["rouge-l"])
注意,如果按照前面的配置流程配置过,那需要把vim ~/.profile 进入文件里,把下面这句话注释掉,不然rouge_score结果为空字典。
#export ROUGE_EVAL_HOME="$ROUGE_EVAL_HOME:/usr/local/RELEASE-1.5.5/data"
如果输入是中文,则要先分词,一句话中的每个词用空格隔开,再使用rouge评估。
参考:pyrouge和rouge,文本摘要评测方法库