前回までで、機械学習の説明は一通り終えたことになります。今回からは、AIのなかでも、特に言語に関する話に焦点を当てていきたいと思います。ここで言う「言語」とは、普段私たちが使っている言葉のことです。研究の世界では「自然言語」と呼ばれ、この自然言語をコンピュータに理解させるために必要な処理を「自然言語処理」と呼びます。
そもそも、なぜコンピュータに言語を理解させる必要があるのでしょうか。この疑問に答えるには、反対に「もしコンピュータが自然言語を理解できたら何ができるようになるのか」を考えてみるとよいでしょう。
例えば、手作業でメールを打つことはなくなるでしょう。「『元気ですか?』とお母さんにメールしておいて」とコンピュータに言えば、コンピュータがあなたのお母さんにメールを送ってくれます。また、もしコンピュータが人間のように言語を理解できるようになったら、世界はどう変わるでしょうか。コンピュータが家族の一員となり、新たな可能性が広がるかもしれません。コンピュータが的確に自然言語を理解できるようになれば、そんな”未来の社会”も夢ではなくなります。
最初の例のように、簡単なメールを打つくらいのことであれば既に実現可能だと言って良いでしょう。これは第1回でお話ししたエキスパートシステムに非常に近いため、それほど複雑な機構を使わなくても実現できます。では、後者のコンピュータが家族になるケースはどうでしょうか。これは残念ながら、まだ実現されていません。
本連載では今回から数回にわたって、現在のAIがどの程度言語を理解し、どんなことができるのかについてお話ししていきます。
チャットボットの種類
近年、「チャットボット」と呼ばれるシステムが流行していることはご存じでしょうか。チャットボットとは、会話ができるコンピュータのことです。会話ができるコンピュータは第1次AIブームの時代から存在しますが、これも機械学習の登場によってその質は飛躍的に向上しました。
チャットボットとの対話は大きく2種類に分けられます。
1つは、明確な目的を持った会話です。ここで言う目的とは、例えば「ゴミの分別の方法を知りたい」や「明日の天気を知りたい」「アラームをセットしたい」などです。このように目的がはっきりしている会話を目的としたものを「タスク指向」と呼びます。
もう1つは、目的のない雑談です。これは「非タスク指向」と呼ばれます。今、世の中にあるチャットボットが想定している対話は、明確な目的をもった会話「タスク指向」であることが多いです。
種別 | 目的 | 具体例 |
---|---|---|
タスク指向 | 何か目的を達成するために対話をする | ・天気を知りたい ・メールを書きたい ・ある物を買いたい ・しりとりをしたい |
非タスク指向 | ただ話をするだけ 雑談 |
・独り言を言う ・話を聴いてほしい |
タスク指向対話は目的が明確であるため対話の範囲が限られていますが、非タスク指向対話は会話の自由度が高く、現在の技術をもってしても十分な精度で対話を行うことは困難です。そのため、多くのチャットボットは主にタスク指向を目的とし、おまけ的に非タスク指向対話も可能である、ということが多いのが実状です。