ROUGE是做文本生成(eg文本摘要)的一個評價指標。
ROUGE的安裝真的是一個巨坑,找了各種教程都不行。。實在搞不定只能按最複雜的教程搞了,最後居然成功了。。
- 首先,按照以下的方案配置:
Ubuntu安裝配置ROUGE - pip install pyrouge(Python環境下調用rouge)
- 修改路徑爲ROUGE1.5.5的路徑:pyrouge_set_rouge_path yourPath/ROUGE/RELEASE-1.5.5
但是!!!最後使用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,文本摘要評測方法庫