初心者でもわかる!自然言語処理の評価指標 modified n-gram precision 徹底解説
こんにちは。ゆうせいです。
あなたは、AIが書いた文章がどれくらい人間らしいか、どうやって判定しているか考えたことはありますか。機械翻訳や自動要約の精度を測るとき、実はちょっとした工夫が必要なのです。今日は、その判定基準の中でも非常に重要な役割を果たす modified n-gram precision について、一緒に学んでいきましょう!
なぜ単純な正解率ではダメなのか
まず、機械が作った文章の質を測る一番シンプルな方法は、人間が作った正解の文章とどれくらい単語が一致しているかを数えることです。しかし、これには大きな落とし穴があります。
例えば、AIが「今日 今日 今日 今日」という支離滅裂な文章を出力したとしましょう。もし正解の文章の中に一度でも「今日」という単語が含まれていたら、単純な計算では正解率が高くなってしまいます。これでは、文章として成立していなくても高得点になってしまいますよね。
この問題を解決するために登場するのが、今回の主役である modified n-gram precision です。
専門用語を紐解いてみよう
この言葉は、いくつかの要素が組み合わさっています。一つずつ、お菓子のレシピに例えて解説しますね。
n-gram とは
n-gram とは、文章を「連続する n 個の単位」で区切る手法のことです。
1つずつの単語なら uni-gram(ユニグラム)、2つセットなら bi-gram(バイグラム)と呼びます。例えば「美味しい りんご を 食べる」という文を2つずつの bi-gram で区切ると、次のようになります。
- 美味しい りんご
- りんご を
- を 食べる
バラバラの単語だけを見るのではなく、隣り合う言葉のつながりを見ることで、文章としての流れを評価できるのです。
precision とは
precision は、日本語で「適合率」と訳されます。これは、AIが作り出した言葉のうち、どれだけ正解が含まれていたかという割合を指します。
いわば「シュートを打った回数のうち、何回ゴールに入ったか」という打率のようなものです。
modified とは
今回の肝となるのが、この modified(修正された)という言葉です。先ほどお話しした「同じ単語を連発して点数を稼ぐズル」を防ぐためのルールが追加されていることを意味します。
正解の文章の中に「今日」という単語が1回しか出てこないなら、AIが100回「今日」と言っても、正解としてカウントするのは1回きりにするという厳しいルールです。これで、デタラメな文章に高い評価がつくのを防いでいます!
計算の仕組みを数式で見てみよう
それでは、実際の計算方法を確認しましょう。ここでは、AIが出した単語の数を 分母 、正解と一致した(かつ上限を超えない)単語の数を 分子 として計算します。
一致数
単語の総数
このとき、スコアは次のように求められます。
スコア
いかがでしょうか。分母と分子の関係を意識すると、意外とシンプルに感じませんか。
メリットとデメリット
この評価方法を使うことには、どのような側面があるのか整理してみましょう。
| 項目 | 内容 |
| メリット | 文章の流暢さを数値化でき、人間が採点する手間を大幅に省ける |
| メリット | 同じ言葉を繰り返すような、質の低いAIの出力を厳しく評価できる |
| デメリット | 意味が通じていても、使っている単語が正解と少し違うだけで点数が下がる |
| デメリット | 文章全体の論理構成や、事実関係が正しいかまでは判断できない |
言葉は生き物ですから、全く同じ意味でも言い換えの表現は無数にあります。そのため、この指標だけで100パーセント正しく評価できるわけではない、という点は覚えておいてくださいね。
これからの学習のステップ
今回は、AIの文章評価における基本的な考え方を学びました。この modified n-gram precision は、実は BLEU(ブルー)スコア という、世界中で使われている有名な評価指標の核となる部分なのです。
次のステップとして、以下のことを調べてみるのがおすすめです。
- 複数の n-gram (1から4までなど)を組み合わせて計算する BLEU スコアの仕組み
- 文の長さを考慮する brevity penalty というペナルティ設定
- 最近主流の、意味の近さを判定する BERTScore などの最新指標
AIの進化を支えているのは、こうした地道な「評価の工夫」です。