ROUGE 指標

中級

4.6.2

ROUGE 指標

最終更新 2020-02-12 読了時間 2 分
まとめ
  • ROUGE は生成文と参照文の重なりを n-gram や LCS で測る指標群です。
  • 要約タスクの例で ROUGE-1/2/L を算出し、値の読み方を確認します。
  • 人手評価との相関や長文における使い方の注意点を整理します。
  • BLEU 指標 の概念を先に学ぶと理解がスムーズです

ROUGE(Recall-Oriented Understudy for Gisting Evaluation)は、候補要約と参照要約の重なり具合を測る指標群です。BLEUが精度(precision)寄りなのに対し、ROUGEは再現率(recall)を重視します。


1. 数学的定義 #

ROUGE-N(n-gramベースの再現率) #

$$\text{ROUGE-N} = \frac{\sum_{S \in \text{Ref}} \sum_{\text{n-gram} \in S} \text{Match}(\text{n-gram})}{\sum_{S \in \text{Ref}} \sum_{\text{n-gram} \in S} \text{Count}(\text{n-gram})}$$

参照文中のn-gramのうち、候補文にも出現したものの割合です。$N=1$がROUGE-1、$N=2$がROUGE-2です。

ROUGE-L(最長共通部分列) #

ROUGE-Lは最長共通部分列(LCS: Longest Common Subsequence)を使います。候補文$X$(長さ$m$)と参照文$Y$(長さ$n$)に対して:

$$R_{\text{lcs}} = \frac{\text{LCS}(X, Y)}{n}, \quad P_{\text{lcs}} = \frac{\text{LCS}(X, Y)}{m}$$$$F_{\text{lcs}} = \frac{(1 + \beta^2) \cdot R_{\text{lcs}} \cdot P_{\text{lcs}}}{R_{\text{lcs}} + \beta^2 \cdot P_{\text{lcs}}}$$

通常$\beta$は大きな値に設定され、再現率が支配的になります。

F値としてのROUGE #

実務ではrecall、precision、F1の3値を同時に報告します:

$$P = \frac{\text{一致数}}{\text{候補文のn-gram数}}, \quad R = \frac{\text{一致数}}{\text{参照文のn-gram数}}$$$$F_1 = \frac{2PR}{P + R}$$

計算例 #

参照文: “猫 は マット の 上 に いる”(7トークン) 候補文: “猫 が マット に いる”(5トークン)

ROUGE-1:

  • 一致する1-gram: “猫”, “マット”, “に”, “いる” → 4個
  • $R = 4/7 = 0.571$, $P = 4/5 = 0.800$, $F_1 = 0.667$

ROUGE-2:

  • 参照文の2-gram: “猫は”, “はマット”, “マットの”, “の上”, “上に”, “にいる” → 6個
  • 候補文の2-gram: “猫が”, “がマット”, “マットに”, “にいる” → 4個
  • 一致: “にいる” → 1個
  • $R = 1/6 = 0.167$, $P = 1/4 = 0.250$, $F_1 = 0.200$

2. 主なバリエーション #

バリエーション計算方法用途
ROUGE-11-gramの再現率重要語の取りこぼし確認
ROUGE-22-gramの再現率フレーズレベルの一致
ROUGE-LLCSベースのF値語順を考慮した評価
ROUGE-Lsum文単位のLCSを平均化長文要約の評価

3. Pythonでの計算 #

1
2
3
4
5
from rouge_score import rouge_scorer
scorer = rouge_scorer.RougeScorer(["rouge1", "rouge2", "rougeLsum"], use_stemmer=True)
candidate = "今日はとても良い天気だ"
reference = "今日は良い天気です"
print(scorer.score(reference, candidate))

4. BLEUとの違い #

観点BLEUROUGE
重視する側面精度(precision)再現率(recall)
主な用途機械翻訳要約
出力の短さBPでペナルティ再現率で自然に反映
n-gramの範囲通常4-gramまで1-gram, 2-gramが主流

5. 長所 #

  • 計算が軽く、複数の派生指標を同時に算出できる。
  • 人手評価(recall)との相関が比較的高い。
  • 抽出型要約や文章の情報量を確認する用途で定番。

6. 注意点 #

  • 意味的な類似性を考慮しないため、言い換えで品質が変わってもスコアが低下する。
  • 参照要約が1つだけだと、候補の多様性を正しく評価できないことがある。
  • 日本語では形態素解析やサブワード分割を行ってから計算するとスコアが安定しやすい。