前回までで、機械学習の説明は一通り終えたことになります。今回からは、AIのなかでも、特に言語に関する話に焦点を当てていきたいと思います。ここで言う「言語」とは、普段私たちが使っている言葉のことです。研究の世界では「自然言語」と呼ばれ、この自然言語をコンピュータに理解させるために必要な処理を「自然言語処理」と呼びます。
そもそも、なぜコンピュータに言語を理解させる必要があるのでしょうか。この疑問に答えるには、反対に「もしコンピュータが自然言語を理解できたら何ができるようになるのか」を考えてみるとよいでしょう。
例えば、手作業でメールを打つことはなくなるでしょう。「『元気ですか?』とお母さんにメールしておいて」とコンピュータに言えば、コンピュータがあなたのお母さんにメールを送ってくれます。また、もしコンピュータが人間のように言語を理解できるようになったら、世界はどう変わるでしょうか。コンピュータが家族の一員となり、新たな可能性が広がるかもしれません。コンピュータが的確に自然言語を理解できるようになれば、そんな”未来の社会”も夢ではなくなります。
最初の例のように、簡単なメールを打つくらいのことであれば既に実現可能だと言って良いでしょう。これは第1回でお話ししたエキスパートシステムに非常に近いため、それほど複雑な機構を使わなくても実現できます。では、後者のコンピュータが家族になるケースはどうでしょうか。これは残念ながら、まだ実現されていません。
本連載では今回から数回にわたって、現在のAIがどの程度言語を理解し、どんなことができるのかについてお話ししていきます。
チャットボットの種類
近年、「チャットボット」と呼ばれるシステムが流行していることはご存じでしょうか。チャットボットとは、会話ができるコンピュータのことです。会話ができるコンピュータは第1次AIブームの時代から存在しますが、これも機械学習の登場によってその質は飛躍的に向上しました。
チャットボットとの対話は大きく2種類に分けられます。
1つは、明確な目的を持った会話です。ここで言う目的とは、例えば「ゴミの分別の方法を知りたい」や「明日の天気を知りたい」「アラームをセットしたい」などです。このように目的がはっきりしている会話を目的としたものを「タスク指向」と呼びます。
もう1つは、目的のない雑談です。これは「非タスク指向」と呼ばれます。今、世の中にあるチャットボットが想定している対話は、明確な目的をもった会話「タスク指向」であることが多いです。
種別 | 目的 | 具体例 |
---|---|---|
タスク指向 | 何か目的を達成するために対話をする | ・天気を知りたい ・メールを書きたい ・ある物を買いたい ・しりとりをしたい |
非タスク指向 | ただ話をするだけ 雑談 |
・独り言を言う ・話を聴いてほしい |
タスク指向対話は目的が明確であるため対話の範囲が限られていますが、非タスク指向対話は会話の自由度が高く、現在の技術をもってしても十分な精度で対話を行うことは困難です。そのため、多くのチャットボットは主にタスク指向を目的とし、おまけ的に非タスク指向対話も可能である、ということが多いのが実状です。
テキスト対話でも音声対話でも、対話システムは同じ
チャットボットと言うと、テキストベースで会話するようなものを想像するかもしれませんが、音声で対話するものもテキストで対話するものも、対話機能を担うコンピュータ自体には大きな違いはありません。この対話機能を担うコンピュータのことを「対話システム」と呼びます。
音声対話のチャットボットと言えば、最近はやりのAIスピーカーもチャットボットの一種です。AIスピーカーも、今のところは何かを買ったり音楽をかけたり、といったタスク指向対話を主にしたチャットボットに分類されます。
「音声での対話でもテキストの対話でも、対話システム自体に違いはない」とはどういうことかについて、少し補足しておきましょう。対話システムは基本的に入力されたテキストに対して応答するテキストを出力するシステムになっています。では、音声での対話はどのようにして実現しているのでしょうか。次の図は、音声対話を実現する際によくある構成です。
音声による対話を行う仕組みは、対話システムのほかに、音をテキストに変換するための「音声認識システム」と、テキストを音に変換するための「音声合成システム」という2つの別システムと連携することにより成り立っています。
図中のロボットの部分は、AIスピーカーでもスマートフォンでも問題ありません。音声またはテキストを対話システムに伝えることができるものであれば何でもよいのです。そして、もし人の声(音)を対話システムに伝えるのであれば、その音をテキストに変換するために音声認識システムが必要になります。
具体的には、人間が「こんにちは」という言葉を発した場合、その言葉はロボットを通じて対話システムへと送られます※1。対話システムは入力が音声であることから、まずその音を音声認識システムへと送ります。音声認識システムは受け取った音声から、これは「こんにちは」という文字列だろうと推測し「こんにちは」という文字列を対話システムへと返却します。文字列を受け取った対話システムは、「こんにちは」に対する応答を生成します。生成された応答はテキストですから、このままではロボットの声で応答することができません。そのため対話システムは生成した文字列を音声合成システムに送り、音に変換します。変換された音は対話システムを通りロボットへと送られ、ロボットの応答としてロボットの声で出力されるのです。もし入出力がテキストのみならば、音声認識システムと音声合成システムを使う必要はありません。
対話システム・音声認識システム・音声合成システムの3つを合わせて「対話システム」と呼んでいる場合もありますが、対話をすることと、音を認識すること、音を合成することは全く別の機能だということをしっかり覚えておいてください。
※1 音声認識システムや音声合成システムとのやり取りは、対話システムを介さずに直接ロボットから行うケースもあります。
著者紹介
![]() |
国立研究開発法人 情報通信研究機構
ユニバーサルコミュニケーション研究所
データ駆動知能システム研究センター 専門研究員
大西可奈子
2012年お茶の水女子大学大学院博士後期課程修了。
博士(理学)。同年、大手通信会社に入社。2016年より現職。
一貫して自然言語処理、特に対話に関する研究開発に従事。
人工知能(主に対話技術)に関する講演や記事執筆も行う。
twitter:@WHotChocolate