1行定義
統計的自然言語処理とは、大量の文章データ(コーパス)から単語や表現の現れ方を確率として学び、言葉を処理する方法のことです。
くわしく
統計的自然言語処理は、大量の文章データ(コーパス)を集計し、単語や表現の現れ方を確率として扱うことで、言葉を処理する方法です。人が文法や辞書の規則を書き込むルールベースの方法に代わって、1990年代に主流になりました。
なぜ統計なのか
人の言葉には例外や新しい言い回しが多く、規則を書き尽くすことはできません。1つの文に複数の解釈が成り立つ曖昧さもあります。統計的な方法では、どの表現や解釈が実際の文章でよく現れるかを数え、もっともらしいものを選びます。電子化された文章が大量に手に入るようになり、コンピュータの性能も上がったことが、この方法を現実的にしました。
代表的な手法と応用
- n-gram:直前の数語から、次の語が現れる確率を見積もる言語モデル。
- 隠れマルコフモデル:単語の並びから品詞の並びを推定する品詞タグ付けなどに使われた。
- 統計的機械翻訳:対訳コーパスから訳語の対応と確率を学ぶ。1990年にIBMの研究者が基本的な考え方を発表した。
- 文書分類:単語の出現回数をもとに、迷惑メールの判定や記事の分類を行う。
規則を人が書かずに済むため、データさえあれば新しい分野や言語にも広げやすくなりました。一方で、データの少ない分野や言語では精度が上がりにくいという弱点があります。
その後の流れ
2010年代には、単語をベクトルで表すword2vecなどの分散表現や、ニューラルネットワークを使う手法が広まりました。現在の大規模言語モデルも、大量の文章から次の単語の確率を学ぶという点で、統計的な考え方を受け継いでいます。
G検定での出題
出題のされ方
人が書いた規則に頼るルールベースの方法との違い、コーパスから確率を学ぶ考え方、統計的機械翻訳やn-gramなどの代表例、ビッグデータの普及が実用化を後押しした流れが問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| 統計的自然言語処理このページの用語 | 大量の文章データ(コーパス)から単語や表現の現れ方を確率として学び、言葉を処理する方法 |
| 統計的機械翻訳 | 人が翻訳規則を書く代わりに、対訳データから求めた確率をもとに、もっともらしい訳文を選ぶ機械翻訳の方式 |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
統計的自然言語処理の代表的な言語モデルであるn-gramモデルは、コーパスで語の並びを数え、直前の数語から次の語が現れる確率を見積もる。
答えを見る
答え ◯ 正しい
たとえばbi-gram(2-gram)では、直前の1語だけを手がかりにします。数えた頻度から確率を求めるため、規則を人が書く必要がありません。
-
統計的自然言語処理は、2018年のBERTの登場をきっかけに始まった研究の流れである。
答えを見る
答え × 誤り
統計的な方法は1990年代に主流になりました。BERTは、それよりずっと後の2018年に発表された、ニューラルネットワークによる事前学習済みモデルです。
-
統計的自然言語処理では、1つの文に複数の解釈が成り立つとき、コーパスでの現れ方をもとに、もっともらしい解釈を確率で選ぶ。
答えを見る
答え ◯ 正しい
規則だけでは決めきれない曖昧さを、実際の文章での頻度にもとづいて解消します。解釈ごとの確率を比べ、最も高いものを選ぶのが基本です。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目5 機械学習)
- Peter F. Brown, John Cocke, Stephen A. Della Pietra, Vincent J. Della Pietra, Fredrick Jelinek, John D. Lafferty, Robert L. Mercer, Paul S. Roossin, A Statistical Approach to Machine Translation, Computational Linguistics 16(2), 79–85 (1990)
- Christopher D. Manning, Hinrich Schütze, Foundations of Statistical Natural Language Processing, MIT Press (1999)
- Daniel Jurafsky, James H. Martin, Speech and Language Processing (3rd ed. draft)