自然言語処理とは?
はじめに
この講座では、自然言語と人工言語の違いや、自然言語処理(NLP)について解説します。
自然言語処理は生成AIサービスの中の欠かせない技術の一つですので、ぜひ覚えて帰ってください!
自然言語処理(NLP)とは
自然言語とは、日本語や英語など、人が自然に話し、書き、使ってきた言葉のことです。
何千年もかけて、文化や生活の中で少しずつ変化しながら発展してきた、人間同士のコミュニケーションのための言語です。
- 日本語、英語、中国語、フランス語…すべて自然言語です。
- 書き言葉も話し言葉も含まれます。
- あいまいな表現や、文脈に依存する意味などが多く含まれます。
人工言語とは?
一方、人工言語とは、人為的に設計・開発された言語です。目的をもって意図的に作られており、曖昧さを避け、ルールが厳格です。
代表的なもの:
- プログラミング言語(Python、Javaなど)
- マークアップ言語(HTML、XMLなど)
- 論理記号、数学記号
- 国際補助語(エスペラント語など)
自然言語処理と生成AIはどうつながっている?
生成AI(Generative AI)とは、テキストや画像、音声、動画などの新しいコンテンツをAIが自動で生成する技術のことです。中でもChatGPTのように文章を生み出すAIは、私たちが普段使う「自然言語」を使ってやり取りをします。
例えば、ChatGPTなどの文章生成AIの場合、下記のように、人間が入力した文章(=プロンプト)を自然言語処理して、意味を理解した上で回答を生成します。
画像生成AIや音楽生成AIの場合でも同じです。
画像生成AI「SeaArt AI」でプロンプト(日本語)と生成結果
音楽生成AI「Udio」のプロンプト(英語)と生成結果
つまり、自然言語を理解し、処理し、生成できる力がなければ、生成AIは成り立たないのです。
ここで重要なのが、まさに自然言語処理(NLP)です。生成AIは、この自然言語処理の技術を土台として、文章生成を行っています。
自然言語処理の歴史
自然言語処理は長い年月をかけて発展してきました。ここではいくつかの重要な出来事を紹介します。
年代 | 出来事 |
---|---|
1950年代 | 東西冷戦下での機械翻訳研究が活発化(英語⇔ロシア語) |
1960年代 | ELIZA(心理療法風の会話システム)が登場 |
2011年 | IBMの「ワトソン」がクイズ番組で人間に勝利 |
2011〜2016年 | 「東ロボくん」が大学入試突破を目指して開発 |
2016年 | Googleがニューラル機械翻訳を導入し精度が飛躍的に向上 |
2014年以降 | Alexa、Siri、Googleアシスタントなど音声AIの登場 |
機械翻訳
機械翻訳の原点は、東西冷戦下です。英語とロシア語の機械翻訳が注目されたことで世に認識されたのが始まりです。
ELIZA
ELIZA(イライザ)とは、「心理カウンセラーのように振る舞う対話型プログラム」です。1964年〜1966年にジョゼフ・ワイゼンバウムによって開発されました。
AI(人工知能)「ワトソン」
人工知能「ワトソン」は、大手IT企業のIBMが開発したAIです。2011年にアメリカのクイズ番組「ジョパディ!」に出演し、歴代の人間チャンピオンと対戦して勝利したことが話題になりました。
AI(人工知能)「東ロボくん」
人工知能「東ロボくん」は、東大入試合格を目指す人工知能です。国立情報学研究所が中心となって、2011年〜2016年まで開発が続けられました。2015年には偏差値57.8をマークし、私立大学に合格できるレベルまで達しました。
Googleのニューラル機械翻訳
ニューラル機械翻訳は、近年登場し、期待を寄せられているシステムです。2016年にGoogleから発表され、注目を集めました。このシステムによってGoogleの機械翻訳の精度も年々高まっています。
スマートスピーカーの普及
スマートスピーカーは、2014年にAmazonが「Amazon Alexa」、2016年にGoogleが「Google Home」、2018年にAppleが「Home Pod」を発売しました。
また国内でもLINEが2017年に「Clova WAVE」を発売するなど、国内外の主要IT企業が次々とスマートスピーカー市場に参入しています。スマートスピーカーの発展には、AIの進化が大きく貢献しています。
自然言語処理の仕組み
この項では、自然言語処理(NLP)が行う4つの基礎技術を紹介します。下に行くほど難易度が高くなるとされています。
① 形態素解析(言葉を分解する)
文章を「最小単位の意味あるかたまり」に分けて、それぞれの品詞などを分析する工程です。
例えば「すもももももももものうち」を形態素解析すると「すもも」「も」「もも」「も」「もも」「の」「うち」に分解できます。
- 「すもも」=名詞、一般
- 「も」=助詞、係助詞
- 「もも」=名詞、一般
- 「も」=助詞、係助詞
- 「もも」=名詞、一般
- 「の」=助詞、連帯化
- 「うち」=名詞、非自立、副詞可能
形態素解析では、文章の中にある形態素の意味をデータとして抽出できます。
主な形態素解析エンジン(ツール)
- MeCab
- ChaSen
- JUMAN++
- Sudachi など
② 構文解析(文の構造を把握する)
形態素をどう組み合わせて文ができているのかを解析します。
例えば「私は友人と美味しいお菓子を食べました」を解析すると、次のような解釈ができます。
- 私は、友人と美味しいお菓子を食べました(私が、友人とお菓子の両方を食べた)
- 私は友人と、美味しいお菓子を食べました(私と友人とで、お菓子を食べた)
この先を担うのが、次で説明する意味解析です。
③ 意味解析(意味の整合性を評価する)
構文だけでは分からない曖昧な文の意味を解釈します。
「私は友人と美味しいお菓子を食べました」の例では次のようになります。
- 「私」と「友人」は関係性が高い(同じ名詞でいずれも人間の名称である)
- 「友人」と「美味しい」は関係性が低い(名詞と形容詞、適切ではない形容詞)
- 「美味しい」と「お菓子」は関係性が高い(「お菓子」は食物の名詞、「美味しい」は形容詞)
こうしてようやく「私は友人と、美味しいお菓子を食べました」が正しい解釈であると解析します。
④ 文脈解析(前後の文と関係づける)
複数の文の中で、話の流れや文と文のつながりを理解します。代名詞(それ、これ、彼など)を正しく解釈するのもこの工程です。
自然言語処理はなぜ難しいのか?
この項では、自然言語処理(NLP)のタスクを実現する上での困難な点について例を挙げながら紹介します。
自然言語は本質的に曖昧である
自然言語処理(NLP)は、形態素解析と構文解析だけで成り立っているわけではありません。 文の内容を正確に把握するには、文中では明らかにされていない内容を推測し、 代名詞のような照応表現が何を示すのかを分析するという難しい処理が必要です。
しかし、それ以上に困難なのが曖昧性の問題です。以下の事例で詳しく解説します。
問: 以下の文章はどのように曖昧でしょう?
- 「部長は出かけていなかった」
- 「おむすびください」
- 「それ美味しいって言ってたよ」
- 「大丈夫です」「やばいね」
回答例:
- 文法的に部長はいるのかいないのか?
- 単語「おむすび」が握り飯 or 結ぶ?
- 誰が? (主語の省略) 何を? (指示語)
- 文化・文脈によって意味が変わる
この曖昧性とは、文脈に応じてその単語が指すものや意味合いなどが変わってくる点です。
世界知識(一般常識)の必要性
こちらも例文を挙げながら見ていきます。
- 「昨日公園で猫を見た」
- 「昨日公園でライオンを見た」
上記の例でいえば、通常は公園でライオンを見ることはありません。そのため、人間の脳では下側の例文はおかしい文章として捉えられます。
しかし、コンピュータには私たちが当然持っている常識はありません。そのため、例のような文章が「正常」なのか「異常」なのかを簡単に判断することができないのです。
対象の言語による違い
日本語、英語、中国語など、それぞれ言語の体系は異なります。そういった違いにどう対処していくかが難しいポイントです。
- 日本語にとって「かな変換システム(IME)」は重要だが、英語には必要ない
- 英語は通常それぞれの単語がスペースで区切られているが、日本語にはそれがない
- 辞書の作成・利用方法が言語ごとに異なる
このように、具体的なタスクやアルゴリズムが対象言語に大きく依存してしまうことも自然言語処理(NLP)の難しさの一つといえます。
自然言語処理の活用事例
こちらの講座の受講は任意ですが、活用事例について詳しくまとめています。
興味のある方はご一読ください。
この講座の満足度を評価してください
※ 受講記録を保存するにはログインが必要です