言語AIの進化史⑥シャノンのn-gram
前回は、フレーム理論やオントロジーについて解説し、知識を論理的に扱うためのデータ構造やロジックの発展を追ってきました。
これらの手法は、人間が考えたデータ構造やロジックによって言語を処理するものであり、言語というテキストデータの中に秘められた内部構造をモデル化するものではありません。
そこで今回は、テキストデータの統計的特性を解析するための手法として考案されたn-gramを紹介します。
n-gramの概念を考案したのはクロード・シャノンです。1948年に発表し情報理論の基礎を築いた論文「A Mathematical Theory of Communication」において初めて紹介されました。
当時、クロード・シャノンはデータ通信の効率性を高めるための研究をしており、データ通信において多くの情報をできるだけ少ないビット数で表現する手法を研究していました。これを達成するために、シャノンは以下のような原則を用いました。
頻度の高いデータを少ないビット数で表現する
頻度の低いデータにはより多いビット数を使う
つまり、よく使われるデータには短いビット列を割り当て、使用頻度が低いデータには長いビット列を割り当てることで、全体のデータ量を減らすことができる、というわけです。この方法によって、シャノンはデータ通信の効率を向上させる理論を構築しました。
また、データの頻度に関する情報を計算する指標として情報エントロピー(以下、エントロピーと略)が考案されました。エントロピーはデータの出現確率によって決まる量であり、どのデータにどのくらいのビット数を使うかを決めることができます。n-gram は連続した文字列の出現確率を計算し、そのエントロピーを求めるために使われました。
このように、クロード・シャノンが n-gram モデルを情報理論の文脈で提案した際、彼の主要な目的はデータの圧縮や通信の効率化に関するものであって、自然言語処理における具体的な応用を念頭に置いていたわけでありません。
しかし、シャノンの n-gram モデルは、後の言語モデルや自然言語処理に大きな影響を与えたことは確かです。
なお、エントロピーについてはこちらで具体例を使って解説しています。
この記事が気に入ったらサポートをしてみませんか?