序文:
最近、彼らは短いテキストの自動抽象生成を研究しています。実験的テストの観点から、国内外の研究者は一般的にルージュ-1、ルージュ-2、ルージュ-Lなどのルージュ評価システムを使用しています。今日は彼について話しますPythonの実装。
Baiduにアクセスして情報を検索し、次のようにさまざまな構成とインストールを確認します。特に面倒です。
実際、それほど面倒である必要はありません
Rouge-1、Rouge-2、Rouge-Lの3つの評価システムを使用するだけで、実装は非常に簡単です。
ステップ1:pipを使用してルージュをインストールする
pip install rouge
ステップ2:生成されたテキストと参照テキストのルージュ値を計算します
# coding:utf8
from rouge import Rouge
a = ["i am a student from china"] # 预测摘要 (可以是列表也可以是句子)
b = ["i am student from school on japan"] #真实摘要
'''
f:F1值 p:查准率 R:召回率
'''
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"])
上記は、次のようにデータのペアのルージュ値を計算することです
{'p': 1.0, 'f': 0.7272727226446282, 'r': 0.5714285714285714}
{'p': 1.0, 'f': 0.6666666622222223, 'r': 0.5}
{'p': 1.0, 'f': 0.6388206388206618, 'r': 0.5714285714285714}
f:F1值 p:查准率 R:召回率
これは、私たちが論文で見た値とは異なります。論文には1つの値がありますが、なぜここに3つあるのですか。この値は、論文の値のようにどのように計算する必要がありますか。
ステップ3:ルージュ価値のある選択と選択原理
-------------------------------------------------- - - - - - - - - - - - - - - -原理 - - - - - - - - - - -------------------------------------------------- -----
Rouge(Gisting Evaluationのリコール指向のアンダースタディ)は、自動要約と機械翻訳を評価するための一連の指標です。これは、自動生成された要約または翻訳を一連の参照要約(通常は手動で生成)と比較して、自動生成された要約または翻訳と参照要約の間の「類似性」を測定するための対応するスコアを取得することによって計算されます。
Rouge-1、Rouge-2、およびRouge-Nの定義は次のようになります。
分母はn-gramの数であり、分子は参照要約と自動要約で共有されるn-gramの数です。
例えば:
the cat was found under the bed #生成的摘要
the cat was under the bed #参考摘要
両方のnグラムの計算
したがって、Rouge1とRouge2の場合、n-gramRecallでのリコール率になります。
Rouge-L
は、最長共通部分列を使用するため、LCS(最長共通部分列)の最初の文字です。Rouge-Lの計算方法は次のとおりです。
このブログのリファレンス:
https://www.jianshu.com/p/2d7c3a1fcbe3
https://blog.csdn.net/qq_25222361/article/details/78694617
-------------------------------------------------- - - - - - - - - - - - -原理 - - - - - - - - - - - - - -------------------------------------------------- ---------