😸

PerplexityとBLEUスコア

に公開

はじめに

自然言語処理分野で重要な評価指標である「Perplexity(困惑度)」と「BLEUスコア」についてまとめてみました。。

1. Perplexity(困惑度)とは

1.1 基本概念

Perplexityは、言語モデルがテストデータに対してどれだけ「困惑」するかを測る指標です。
言い換えると、モデルが次の単語を予測する際の不確実性を定量化したものです。

1.2 数学的定義

Perplexityは以下の式で定義されます:

PP(W) = P(w₁w₂...wₙ)^{-1/N}

ここで:

  • W = w₁w₂...wₙ は文章
  • P(W) は文章Wの確率
  • N は単語数

対数を使った表現では:

PP(W) = 2^{-\frac{1}{N} ∑ᵢ log₂ P(wᵢ|w₁...wᵢ₋₁)}

1.3 Perplexityの特徴

良いモデルの特徴:

  • Perplexityが低い
  • 予測の不確実性が小さい
  • より確信を持って次の単語を予測できる

悪いモデルの特徴:

  • Perplexityが高い
  • 予測の不確実性が大きい
  • 次の単語の予測に困惑している

1.4 計算例

語彙サイズが1000の一様分布モデルの場合:

  • すべての単語の確率が等しく1/1000
  • Perplexity = 1000

完璧な言語モデルの場合:

  • 正解の単語の確率が1、他は0
  • Perplexity = 1

2. BLEUスコア(Bilingual Evaluation Understudy)

2.1 基本概念

BLEUスコアは、機械翻訳や文章生成の品質を評価するための指標です。生成された文章と参照文章(正解)の類似度を測定します。

2.2 数学的定義

BLEUスコアは以下の要素から構成されます:

精度(Precision):

Pₙ = \frac{一致したn-gramの数} {候補文中のn-gramの総数}

修正精度(Modified Precision):
重複を考慮した精度計算

簡潔性ペナルティ(Brevity Penalty):

\begin{align} BP = \\ 1 \,\,\,\,\,\,\,\,\,\, if c > r \\ exp(1 - r/c) \,\,\,\,\,\,\,\,\,\, if c ≤ r \\ \end{align}

最終的なBLEUスコア:

BLEU = BP × exp(∑ᵢ wᵢ log pᵢ)

2.3 BLEUスコアの特徴

範囲: 0~1(0~100%で表現されることも多い)

特徴:

  • 高いスコア:参照文章との類似度が高い
  • 低いスコア:参照文章との類似度が低い
  • n-gram(通常1-gram~4-gram)の一致を重視
  • 単語の順序を考慮

2.4 計算例

候補文: "The cat is on the mat"
参照文: "The cat sits on the mat"

1-gramの精度:

  • 一致:The, cat, on, the, mat(5個)
  • 候補文の1-gram総数:6個
  • 精度 = 5/6 ≈ 0.83

Discussion