AI技術のひとつ、自然言語処理とは?

AI(人工知能)分野の重要な概念である「自然言語」と「自然言語処理」について解説します。これまでのコンピュータはコンピュータ言語しか理解できなかったのですが、AIを搭載したコンピュータは、人が使う自然言語を理解するようになりました。

AI(人工知能)を解説する記事で頻繁に登場する用語に「自然言語」や「自然言語処理」があります。人が話す言語のことを自然言語と呼び、コンピュータが苦手とする言語です。なぜならコンピュータは、非自然言語であるコンピュータ言語しか理解できないからです。
ところがAI技術は、自然言語を理解するコンピュータを生み出しました。「見かけ上」は、人とも会話できるコンピュータが作られたのです。そこでこの記事では、コンピュータに自然言語を理解させる自然言語処理がどれほどすごいものなのか解説します。

自然言語処理について2つのポイントで解説

自然言語処理がいかに優れた技術であるかを理解するには、自然言語がいかに難しい言語なのかを知っておいたほうがよいでしょう。以下2つのポイントで解説します。

1.人が使う自然言語はコンピュータにとっては非常に難解

日本語や英語、中国語など、人間が使う言語のことを自然言語といいます。自然言語はとても難解で、人間ほどの知能がなければ使いこなせません。

たとえば、次のような単純な自然言語ですら、コンピュータにとっては難解です。
「大きな白い帽子を被った男の子」

コンピュータは、この文章が「大きいという特徴と白いという特徴の2つの特徴を持つ帽子を被った男の子」を意味するのか、「白い帽子を被った、大柄な男の子」を意味するのかわかりません。
しかし人間なら、一切迷うことなく、どちらの男の子なのか理解できるでしょう。

帽子屋に来ている男の子が帽子を試着していれば「大きいという特徴と白いという特徴の2つの特徴を持つ帽子を被った男の子」ですし、高校生の野球チームに勝った小学生チームのピッチャーなら「白い帽子を被った、大柄な男の子」とわかります。このような理屈をコンピュータに理解させることは、これまでは不可能でした。

2.自然言語処理は曖昧さの壁を越えた

従来のコンピュータが自然言語を理解できないのは、曖昧さの壁を超えられなかったからです。コンピュータに仕事をさせるには、曖昧さを一切排除しなければなりませんでした。

しかし、自然言語処理を行うAIコンピュータは、いとも簡単にこの曖昧さの壁を越えました。壁を飛び越える方法はとても単純です。人間と同じことをさせればよいのです。

人が「大きな白い帽子を被った男の子」という文章を状況に応じて正しい意味に理解できるのは、経験を積み、文脈を読むことができるからです。自然言語処理では、AIに経験と文脈を学ばせました。次の章で、自然言語処理の仕組みを紹介します。

自然言語処理の基本的仕組みは5つの要素に分けられる

自然言語処理の基本的な仕組みは、次の5つの要素に分けることができます。

*機械可読辞書とコーパス
*形態素の理解
*構文の理解
*意味の理解
*文脈の理解

AIはこの5つの要素を身につけることで、自然言語を理解できるようになりました。ひとつずつ解説します。

1.コンピュータが理解できる辞書「機械可読辞書」と「コーパス」

機械可読辞書とは、コンピュータが理解できる辞書のことです。コーパスとは、文章の集合体です。

人の英語学習で例えると、機械可読辞書は単語帳で、コーパスは構文集のようなものです。機械可読読書とコーパスによって、コンピュータは「自然言語のパーツ」を手に入れることができます。

2.意味がわかる最小単位「形態素」の理解

形態素とは、意味を取ることができる最小の言語単位です。文章は形態素まで分解できます。

たとえば、「大きな白い帽子を被った男の子」の形態素は、「大きな」「白い」「帽子」「を」「被った」「男」「の」「子」となります。形態素は「品詞」と呼ばれるものです。

形態素を理解することから言語学習を始めるのは、人間と同じです。子どもが「大きな白」「い帽」「子」と理解したら、大人は「そうじゃなくて『大きな』『白い』『帽子』だよ」と教えます。それと同じことを自然言語処理で行っています。

3.形態素の発展形「構文」の理解

構文の理解は、形態素の理解の発展形といえるでしょう。「大きな白い帽子を被った男の子」の文が紛らわしいのは、紛らわしい構文になっているからです。「大きな」という形容詞が、帽子にかかるのか、男の子にかかるのかわかりません。日本語の構文では、どちらにかかっても「正解」です。

しかし、「大きいという特徴と白いという特徴の2つの特徴を持つ帽子を被った男の子」または「白い帽子を被った、大柄な男の子」は、それぞれひとつの意味しか取れない構文になっています。形態素を構文のなかで理解しないと、正しく意味を取ることはできません。

4.常識を含めた「意味」の理解

意味の理解は、「常識を知る」ことといってもよいでしょう。たとえば「足が速いゾウとチーター」といえば、「足が速い珍しいゾウと、足が速いチーターがいる」と理解できます。

しかし、「3メートルのゾウとアリ」といったとき、「ゾウだけでなく、アリも3メートルある」とは思わないでしょう。

この2つの文章は、構造はまったく同じですが、「足が速い」はゾウとチータにかかるのに、「3メートルの」はゾウにしかかからず、アリにはかかりません。

それは、「チーターは足が速いから『足が速い』という形容詞がくっつくだろう」という常識と、「アリが3メートルもあるわけではないから『3メートルの』はゾウにしかかからないだろう」という常識を持っているからです。意味を理解できないと、自然言語処理できません。

5.意味を超えた「文脈」の理解

文脈の理解は、意味の理解を超えた理解になります。

「3メートルのゾウとアリ」は「3メートルのゾウ」と「依然として小さいままのアリ」と理解できます。しかし、次のような物語のなかに「3メートルのゾウとアリ」という文章が登場したらどうでしょうか。

「その不思議な液体を飲むと、どれほど小さな昆虫でも体が巨大化して、ゆうに人の3倍の大きさになります。そのときです、3メートルのゾウとアリが、向こうから歩いてきました」

このような文脈のなかでは、「3メートルのゾウとアリ」は「3メートルのゾウ」と「3メートルのアリ」と常識を超えて理解することができます。

今後の自然言語処理の課題は思考の獲得

AI技術の発展により、コンピュータによる自然言語処理が可能になり、人とチャット会話ができるロボット「チャボット」や、小説を書くAIなどが登場しました。

コンピュータはすでに、「見かけ上」は人と会話できるようになりました。ただ、それは「見かけ上」の会話にすぎません。自然言語処理の課題は、「処理」しかできていないことです。これからは「思考する」ことを含め、自然言語を「使いこなす」コンピュータの開発が期待されています。