〔実施の形態1〕
以下、本発明の一実施の形態について図1〜6に基づいて説明すれば以下の通りである。
(対話システムの構成)
図1は、本実施の形態に係る対話システム100の構成を示す図である。図1に示すように、対話システム100は、対話装置10とサーバ装置30とを備えており、これらは通信ネットワークを介して接続している。この通信ネットワークとしては、例えば、インターネットが利用できる。また、電話回線網、移動体通信網、CATV(CAble TeleVision)通信網、衛星通信網などを利用することもできる。
本実施の形態の対話システム100では、ユーザが対話装置10に話しかけると(音声を入力すると)、(1)対話装置10からユーザの音声データをサーバ装置30に送信し、(2)サーバ装置にて音声認識を行い、その結果に応じた音声データと当該音声データの再生指示とを対話装置10に送信し、(3)これを対話装置10が再生することにより、ユーザは自然言語を用いた音声によって対話装置10と対話することができる。本実施の形態では、サーバ装置30が音声認識機能を有しているものとするが、音声認識機能を、対話装置10が有していても、または、対話装置10及びサーバ装置30の両方が有していてもよい。
対話装置10は、例えば、通信機能を備えた、対話ロボットであってもよいし、スマートフォン、タブレット端末、パーソナルコンピュータ、家電(家庭用電子機器)等であってもよい。
なお、図1では、説明の簡略化のため、サーバ装置30に接続している対話装置10は1つしか示していないが、対話システム100では、サーバ装置30に接続する対話装置10の数は限定されない。また、サーバ装置30に接続する対話装置10の種類は問わず、つまり、サーバ装置30に対して、対話ロボットとスマートフォンといったように異なる種類の対話装置10が接続していてもよい。
(対話装置)
次に、対話装置10の構成について説明する。対話装置10は、音声を出力する装置である。対話装置10は、図1に示すように、音声入力部11、音声出力部12、制御部13、データ格納部14、通信部15、センサ部16、及び時刻計測部Tを備えている。
音声入力部11は、マイク等の音声入力装置であり、音声出力部12は、スピーカ等の音声出力装置である。
制御部13は、対話装置10の各部の動作を制御するブロックである。制御部13は、例えば、CPU(Central Processing Unit)や専用プロセッサなどの演算処理部などにより構成されるコンピュータ装置から成る。制御部13は、データ格納部14に記憶されている対話装置10における各種制御を実施するためのプログラムを読み出して実行することで、対話装置10の各部の動作を統括的に制御する。
また、制御部13は、対応情報取得部(取得部)17、及び出力制御部(音声制御部)18としての機能を有する。
対応情報取得部17は、対話装置10にて音声出力するための音声データと、当該音声データの再生指示(コマンド)とをサーバ装置30から受信(取得)するブロックである。対応情報取得部17は、所定イベントが発生すると、当該所定イベントの発生をサーバ装置30に通知し、当該所定イベントの発生に対する発話情報であるイベント対応情報とこれの再生指示(コマンド)とをサーバ装置30から受信する。さらに、対応情報取得部17は、上記所定イベントの発生後にユーザから入力されると予測される予測文言に対する発話情報である予測対応情報を、サーバ装置30から受信する。また、対話装置10にて予測対応情報を音声出力する際に、対応情報取得部17は、予測対応情報の再生指示(コマンド)をサーバ装置30から受信する。これら情報の送受信の詳細は後述する。本実施の形態では、対応情報取得部17は、イベント対応情報及び予測対応情報を音声データとして取得する。
ここで、所定イベントとは、本実施の形態では、音声入力部11でのユーザからの音声入力、時刻計測部Tによる所定時刻の計測、または、センサ部16による所定値の検知であるとする。これら所定イベント発生時の対話装置10の音声出力の具体例については、後述する。所定イベントは、ここに記載のものに限定されず、対話装置10にて検知できる事象であればどのようなものであってもよい。
出力制御部18は、サーバ装置30から受信した音声データを、受信した再生指示に従って、音声出力部12に出力させることで音声出力(発話)を行うブロックである。本実施の形態では、出力制御部18が、所定イベントの発生に対して、イベント対応情報を音声出力部12から音声出力しながら、対応情報取得部17が、予測対応情報を取得するように構成されている。しかし、この構成に限定されず、例えば、対応情報取得部17は、所定イベントの発生に対して、イベント対応情報と予測対応情報とを同時に取得してもよい。
データ格納部14は、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)などの記憶装置を含み、対話装置10にて用いられる各種情報(データ)を記憶するブロックである。
通信部15は、外部との通信を行うブロックである。通信部15は、制御部13による制御の下、音声入力部11にてユーザの入力音声である音声データ(波形データ)を受信すると、その音声データをサーバ装置30に送信する。そして、サーバ装置30から、サーバ装置30による音声データの音声認識の結果に応じた応答内容を示す音声データであるイベント対応情報及びその再生指示を受信する。本実施の形態では、通信部15は音声入力部11から入力された音声データをそのままサーバ装置30に送信するものとするが、対話装置10が音声認識部を備えている場合、音声認識部が生成したテキストデータまたは該テキストデータから抽出した単語やフレーズをサーバ装置30に送信してもよい。
センサ部16は、対話装置10が備える各種センサであり、例えば、温度センサ、湿度センサ、照度センサ、あるいはカメラであってもよいが、これらには限定されない。また、センサ部16は、複数のセンサを有していてもよい。本実施の形態では、センサ部16は、温度センサであるとする。
時刻計測部Tは、時計である。
(サーバ装置の構成)
次に、サーバ装置30について説明する。サーバ装置30は、イベント対応情報と当該イベント対応情報の再生指示とを、さらに、予測対応情報と当該イベント対応情報の再生指示とを、対話装置10に送信する装置である。また、サーバ装置30は、対話装置10を管理するサーバであり、複数の対話装置10が接続されている場合には、それぞれを個別に管理する。サーバ装置30としては、例えば、クラウドサービスを提供するクラウドサーバであってもよいが、これに限定されることはない。また、サーバ装置30は、1台であってもよいし、複数台が通信ネットワークを介して接続した構成であってもよい。
サーバ装置30は、図1に示すように、制御部31、データ格納部32、及び通信部33を備えている。
制御部31は、例えば、CPUや専用プロセッサなどの演算処理部などにより構成されるコンピュータ装置からなり、サーバ装置30の各部の動作を制御するブロックである。また、制御部31は、音声認識部34、対応情報提供部35、及び音声合成部36としての機能を有する。
音声認識部34は、対話装置10から受信したユーザの音声データを認識するブロックである。具体的には、音声認識部34は、受信した音声データを解析してテキストデータに変換し、そのテキストデータをさらに解析して単語やフレーズを抽出する。なお、音声認識の処理について公知技術を用いることができる。
対応情報提供部35は、イベント対応情報、予測対応情報、及び、それらの再生指示を対話装置10に通信部33を介して送信するブロックである。対応情報提供部35は、所定イベントの発生の通知を受けると、当該所定イベントに対して対話装置10が音声出力(発話)する文言である出力文言を、以下で説明するシナリオ格納部321から検索して、音声合成部36にて音声データに合成し、対話装置10に送信する。所定イベントに対する出力文言を音声データに合成したものが、所定イベントの発生に対するイベント対応情報である。ここで、所定イベントが時刻計測部Tによる所定時刻の計測、または、センサ部16による所定値の検知である場合には、サーバ装置30がこれらの情報(所定時刻または所定値)を対話装置10から受信すると、対応情報提供部35は、所定時刻または所定値に対する出力文言をシナリオ格納部321から検索する。あるいは、所定イベントがユーザの音声入力である場合には、サーバ装置30がユーザ音声の入力データを受信すると、音声認識部34で音声認識し、対応情報提供部35は、音声認識結果に対する出力文言をシナリオ格納部321から検索する。
さらに、対応情報提供部35は、上記所定イベントの発生後にユーザから入力されると予測される予測文言に対する出力文言を、以下で説明するシナリオ格納部321から検索して、音声合成部36にて音声データに合成し、対話装置10に送信する。この、予測文言に対する出力文言を音声データに合成したものが、予測文言に対する予測対応情報である。
なお、対応情報提供部35は、予測対応情報として音声データそのものを対話装置10に送信するのではなく、URLのようにサーバ装置30上の予測対応情報が格納されたファイルを指し示すデータ(アドレスデータ)を送信する構成であってもよい。この場合、アドレスデータを受信した対話装置10は、予測対応情報を音声出力する際に、アドレスデータが指し示すファイルから対応情報を取得する。
音声合成部36は、音声データを生成(音声合成)するブロックである。音声合成部36は、対応情報提供部35が対話装置10に送信する音声データを生成する。なお、出力文言に相当する音声データ(録音音声)が予め用意されている場合には、音声合成部36での生成は行わない。
本実施の形態では、サーバ装置30にてイベント対応情報及び予測対応情報を音声データに合成してから対話装置10に送信するように構成されているため、対話装置10の負荷を低減させることできる。
データ格納部32は、サーバ装置30で用いられる各種情報を記憶するブロックである。また、データ格納部32にはシナリオ格納部321が含まれる。シナリオ格納部321は、所定イベントに、対話装置10が音声出力(発話)する文言である出力文言が、さらに、予測シナリオが、対応づけて登録されているシナリオ情報(データベース)を格納している。予測シナリオとは、所定イベントの発生後にユーザから音声入力されると予測される入力文言(予測文言)である。シナリオ格納部321に格納されたシナリオ情報の具体例を図2に示す。
図2の(a)は、所定イベントがユーザからの音声入力である場合に用いられるシナリオ情報(シナリオSV)である。シナリオSVでは、シナリオ番号、入力文言、発話ID、予測シナリオのシナリオ番号が対応づけられて登録されている。入力文言は、音声認識部34による音声認識結果の単語やフレーズである。発話IDは、対話装置10が音声出力(発話)する出力文言の識別情報である。予測シナリオのシナリオ番号は、ユーザからの音声入力後に入力されると予測される入力文言のシナリオ番号を示す。シナリオSVでは、1つの入力文言に対応させて複数の発話IDが登録されているシナリオもある。この場合、例えば、ランダムに選択したり、別の条件と組み合わせたりして、実際に音声出力するものを選択すればよい。
図2の(b)は、所定イベントが所定時刻の計測である場合に用いられるシナリオ情報(シナリオST)である。シナリオSTでは、シナリオ番号、時刻、発話ID、予測シナリオのシナリオ番号が、対応付けられて登録されている。また、シナリオSTにおいても、1つの時刻に対して複数の発話IDが登録されていてもよい。
図2の(c)は、所定イベントがセンサ部16による所定値の検知である場合に用いられるシナリオ情報(シナリオSR)である。シナリオSRでは、シナリオ番号、温度(室温)、発話ID、予測シナリオのシナリオ番号、が対応付けられて登録されている。シナリオSRにおいても、1つの温度に対して複数の発話IDが登録されていてもよい。
図2の(d)は、発話IDに対応付けられた出力文言のデータベース(発話DB)を示している。
各シナリオ情報及び発話DBの使用について説明する。対話装置10にて、ユーザから文言「おはよう」の音声入力あった場合、シナリオV1が使用される。その際、発話ID=101の文言「おはよう」が対話装置10にて音声出力される。シナリオV1では、その後のユーザからの入力文言は「おなかすいた」または「げんき?」であると予測されている。よって、シナリオV1には、予測シナリオとして、シナリオV6とシナリオV8が登録されている。文言「おはよう」は朝に使用される挨拶であるため、予測シナリオのシナリオ番号には、朝に交わされる会話のシナリオ番号を登録しておく。なお、各シナリオにおいて、予測シナリオのシナリオ番号の入力文言が予測文言に相当する。
また、対話装置10にて、朝7時が計測されると、シナリオT1が使用される。その際、発話ID=201の文言「朝7時だよ」が対話装置10にて音声出力される。シナリオT1では、その後のユーザからの入力文言は「おはよう」、「おなかすいた」または「げんき?」であるとの予測されている。よって、シナリオT1には、予測シナリオとして、シナリオV1、シナリオV6、シナリオV8が登録されている。朝7時であるため、予測シナリオのシナリオ番号には、朝交わされる会話のシナリオ番号を登録しておく。
また、気温25度が検知されると、シナリオR3が使用される。その際、発話ID=303の文言「快適、快適」が対話装置10にて音声出力される。シナリオR3では、その後のユーザからの入力文言は「寒いー」「暑いー」であると予測されている。よって、シナリオR3には、予測シナリオとして、シナリオV9、シナリオV10が登録されている。対話装置10が温度に関する音声出力をした後なので、予測シナリオとして、気温等に関するシナリオを登録しておく。各シナリオ情報及び発話DBのさらなる使用については、後述する。
上記各シナリオ情報(シナリオSV、シナリオST、シナリオSR)及び発話DBがシナリオ格納部321に格納されているものとして以下の説明を行うが、図示し上記で説明した各シナリオ情報及び発話DBは例示であり、これらに限定されることはない。なお、シナリオ格納部321では、入力文言及び出力文言は、何れもテキストデータとして格納されている。このようなデータベースの構築、また、データベースからの検索については、公知技術が利用できる。また、各シナリオ情報及び発話DBが定期的に更新されるようになっていてもよい。
また、サーバ装置30は、通信ネットワークを経由して情報提供サーバが提供する各種情報(外部情報)を受信し、発話DBの出力文言を生成するように構成されていてもよい。外部情報の具体例を挙げると、対話装置が設置された地域のウエザー情報、交通情報、災害情報等であるが、これらには限定されない。また、サーバ装置30に情報を提供する情報提供サーバの数は限定されない。出力文言を外部情報を利用して生成しておくことで、シナリオSVでは、次のように高度な内容にて応答できるような登録がなされていてもよい。例えば、シナリオ番号1において、予測シナリオのシナリオ番号V20を登録しておき、シナリオ番号V20には、入力文言「いってきます」、発話ID「500」を対応づける。そして、発話DBの発話ID=500には、出力文言「今日は午後から雨の確率が90%だよ」を登録する。この場合、事前に外部情報であるウエザー情報を基に出力文言「今日は午後から雨の確率が90%だよ」が発話ID=500に登録される。もちろん、これは例示である。
また、サーバ装置30は、例えば、スマートフォンやタブレット等の外部装置から録音音声を登録できるように構成されていてもよい。この場合、シナリオSVでは、シナリオSVでは、次のように高度な内容にて応答できるような登録がなされていてもよい。例えば、「冷蔵庫にケーキがあるよ」という音声がユーザの母親のスマートフォンからサーバ装置30に登録されると、シナリオSVでは、シナリオ番号5において、予測シナリオのシナリオ番号V30を登録しておき、シナリオ番号V30には、入力文言「ママからの伝言は?」、発話ID「600」を対応づける。そして、発話DBの発話ID=600には、出力文言「お母さんからの伝言は、『冷蔵庫にケーキがあるよ』だよ」を登録する。なお、「冷蔵庫にケーキがあるよ」は録音された音声であるので、音声合成部36ではこの部分については音声に合成する必要はなく、対応情報提供部35が録音された音声を利用して音声データを対話装置10に送信すればよい。具体的には、音声合成部36は、テキストデータの「お母さんからの伝言は」と「だよ」とを音声データに変換後、録音の音声データの「冷蔵庫にケーキがあるよ」と繋ぎ合わせる処理を行う。あるいは、「お母さんからの伝言は」と「だよ」とが音声データである場合には、これらと、録音の音声データの「冷蔵庫にケーキがあるよ」と繋ぎ合わせる処理を行う。もちろん、これらも例示である。これらのように、対話システム100は、高度な応答を行うことができるように構成されていてもよい。
通信部33は、外部との通信を行うブロックである。通信部33は、対話装置10に加え、上記したように、図示しない情報提供サーバやスマートフォンやタブレット等の外部装置と通信ネットワークにて接続してもよい。なお、サーバ装置30と接続する装置の数は限定されない。
(対話システムにおける対話の流れ)
次に、対話システム100における対話の流れを、イベントの具体例毎に、図2〜6を参照して説明する。
<イベントがユーザからの音声入力である場合>
図3に示すように、ユーザから音声「おはよう」が発せられ、音声データ「おはよう」が対話装置10に入力されると、対話装置10は、その音声データ「おはよう」をサーバ装置30に送信する。ここでは、ユーザからの所定文言「おはよう」の音声入力が所定イベントであり、音声データ「おはよう」の送信が所定イベントの通知である。この時点で対話装置10が取得している音声データ(ダウンロード済音声データ)のIDを、図4の(a)に示す。ダウンロード済音声データは、対話装置10及びサーバ装置30の両方で管理されている。この時点でダウンロード済音声データはない。
サーバ装置30は、音声データ「おはよう」を受信すると、音声認識処理を行い、図2の(a)に示すシナリオSVを参照に、音声認識結果である入力文言「おはよう」に対応する発話IDと予測シナリオとを検索し、検索の結果、発話ID=101と、予測シナリオとしてシナリオV6およびシナリオV8と、を取得する。そして、サーバ装置30は、発話ID=101の出力文言「おはよう」を音声合成した音声データ(ID=101、「おはよう」)と、これの再生指示(ID=101)と、さらに、予測シナリオに対応付けられた出力文言(ID=107、108、112、113、114)があること(予測あり)を示すため、これら出力文言の発話IDを、対話装置10に送信する。
図2の(a)に示すシナリオSVでは、入力文言が「おはよう」であるシナリオV1において予測シナリオのシナリオ番号はV6及びV8である。これは、ユーザが「おはよう」の次に、「おなかすいた(シナリオV6)」、または、「げんき?(シナリオV8)」という音声を入力する(音声にて対話する)のではないかという予測を意味する。シナリオV6では発話ID=107、108の出力文言が、シナリオV8では発話ID=112、113、114の出力文言が、対話装置10から音声出力される可能性があるため、これら予測シナリオ(シナリオV6、シナリオV8)に対応付けられた出力文言(ID=107、108、112、113、114)があることを示すため、これら出力文言の発話IDを、対話装置10に送信する。
対話装置10は、受信した音声データ(ID=101)を再生することで「おはよう」を音声出力する。また、予測シナリオに対応付けられた出力文言の発話IDを受信したので、音声データID=107、108、112、113、114をサーバ装置30に要求する。
要求を受けたサーバ装置30は、音声データ(ID=107、「おなかすいたね」)、音声データ(ID=108、「ごはんまだなの?」)、音声データ(ID=112、「気分は最高」)、音声データ(ID=113、「元気だよ」)、音声データ(ID=114、「さみしいよ」)を合成して対話装置10に送信する。対話装置10はこれらを受信し、保存する。この時点のダウンロード済音声データを、図4の(b)に示す。ダウンロード済音声データは、対話装置10及びサーバ装置30の両方で管理されている。
本実施の形態では、対話装置10は、「おはよう」を音声出力しながら音声データ(ID=107、108、112、113、114)を受信(ダウンロード)する。
次に、ユーザから「おはよう」の音声入力後(所定イベント発生後)に、「おなかすいた」が音声入力されると、対話装置10は、音声データ「おなかすいた」をサーバ装置30に送信する。ここでは、ユーザからの所定文言「おなかすいた」の音声入力が所定イベントであり、音声データ「おなかすいた」の送信が所定イベントの通知である。
サーバ装置30は、音声データ「おなかすいた」を受信すると、音声認識処理を行う。そして、図2の(a)に示すシナリオSVを参照して、音声認識結果である入力文言「おなかすいた」に対応する発話ID=107と、予測シナリオとしてシナリオV7と、を取得する。その後、図4の(b)に示されるダウンロード済音声データを参照し、既にID=107の「おなかすいたね」の音声データは対話装置10に送信してあることを確認すると、「おなかすいたね」の再生指示(ID=107)を送信する。さらに、サーバ装置30は、予測シナリオに対応付けられた出力文言(ID=109、110、111)があることを示すため、これら出力文言の発話IDを、対話装置10に送信する。このように、音声データ(ID=107、「おなかすいたね」)は既に対話装置10にて受信済みなので、ここでは再生指示を送信するのみで、音声データは送信しない。つまり通信時間が短縮できるため、ユーザへの応答時間が短縮できる。
対話装置10は、受信した再生指示(ID=107)を用いて保存している音声データ(ID=107、「おなかすいたね」)を再生することで「おなかすいたね」を音声出力する。このように、保存している音声データを用いることができるため、本来音声データ受信に必要な時間が短縮できるため、応答時間が短縮できる。また、予測シナリオに対応付けられた出力文言の発話IDを受信したので、音声データID=109、110、111をサーバ装置30に要求し、受信し、保存する。この時点のダウンロード済音声データを、図4の(c)に示す。ダウンロード済音声データは、対話装置10及びサーバ装置30の両方で管理されている。
本実施の形態では、対話装置10は、先と同様に「おなかすいたね」を音声出力しながら音声データ(ID=109、110、111)を受信する。
次に、ユーザから「おなかすいた」の音声入力後(所定イベント発生後)に、「好きな食べ物は?」が音声入力されると、対話装置10は、音声データ「好きな食べ物は?」をサーバ装置30に送信する。ここでは、ユーザからの所定文言「好きな食べ物は?」の音声入力が所定イベントであり、音声データ「好きな食べ物は?」の送信が所定イベントの通知である。
サーバ装置30は、音声データ「好きな食べ物は?」を受信すると、音声認識処理を行う。そして、図2の(a)に示すシナリオSVを参照して、音声認識結果である入力文言「好きな食べ物は?」に対応する発話ID=111を取得し、予測シナリオが存在しないことを確認する。その後、図4の(c)に示されるダウンロード済音声データを参照し、既にID=111の「ハンバーグが好き」の音声データは対話装置10に送信してあることを確認すると、「ハンバーグが好き」の再生指示(ID=111)を送信する。この時、入力文言「好きな食べ物は?」に対応する予測シナリオが存在しないため、予測される出力文言がないという情報(予測なし)を送信する。このように、予測シナリオが無い場合には、出力文言がないという情報を送信する。あるいは、予測に関しては何も送信しない。
対話装置10は、受信した再生指示(ID=111)を用いて保存している音声データ(ID=111、「ハンバーグが好き」)を再生することで「ハンバーグが好き」を音声出力する。このように、保存している音声データを用いることができるため、本来音声データ受信に必要な時間が短縮できるため、応答時間が短縮できる。また、今回は、予測される出力文言がないという情報を受信したので、ダウンロード済音声データは前回のままとなる。この時点のダウンロード済音声データを、図4の(d)に示す。ダウンロード済音声データは、対話装置10及びサーバ装置30の両方で管理されている。
次に、ユーザから「好きな食べ物は?」の音声入力後(所定イベント発生後)に、「こんばんは」が音声入力されると、対話装置10は、音声データ「こんばんは」をサーバ装置30に送信する。ここでは、ユーザからの所定文言「こんばんは」の音声入力が所定イベントであり、音声データ「こんばんは」の送信が所定イベントの通知である。この後の対話における処理は、上記と同様のことが繰り返されるため、説明は省略する。
ここで、図4の(e)に示すように、たくさんの音声データをダウンロードすると対話装置10の記憶容量が一杯になってしまうことがある。このような時には例えば最も早くにダウンロードした音声データを消す等が考えられる。その際には対話装置10はダウンロード済みデータ管理状況から該当ファイルの管理情報を消し、消したことをサーバ装置30へ通知してサーバの管理情報でも、同じ音声データを消す必要がある。このように、ダウンロード済音声データは、対話装置10及びサーバ装置30の両方で管理されている。
以上のように、対話装置10では、一旦受信した音声データは、再生指示のみの受信により音声出力できるため、通信ネットワークの負荷を減少することができる。なお、本実施の形態の対話システム100では、対話装置10は、サーバ装置30からの再生指示を受けて発話するが、サーバ装置からの指示が無くても応答する構成であってもよい。また、一旦受信した音声データは繰り返し用いるが、音声データを保存する記憶領域が少なくなった場合には、例えば、古い音声データから順に消すようにしてもよい。
また、上記では、対話装置10にて出力する音声データを全てサーバ装置30から取得しているが、日常的な音声や簡単な音声は予め対話装置に保存されており、この保存されたもの以外の音声データをサーバ装置30から取得する構成であってもよい。
<イベントが所定時刻の計測である場合>
図5に示すように、対話装置10は、午前7時を計測すると、午前7時を計測したこと(時刻イベント「7時」が発生したこと)をサーバ装置30に送信する。ここでは、午前7時の計測が所定イベントである。
サーバ装置30は、時刻イベント「7時」が発生したことが通知されると、図2の(b)に示すシナリオSTを用いて、時刻「7時」に対応する発話IDと予測シナリオとを検索する。時刻イベント「7時」に対応するシナリオT1に関連付けられている、発話IDは201であり、予測シナリオはV1、V6、V8である。よって、サーバ装置30は、検索の結果、発話ID=201と、予測シナリオとしてシナリオV1、シナリオV6およびシナリオV8と、を取得する。そして、サーバ装置30は、発話ID=201の出力文言「朝7時だよ」を音声合成した音声データ(ID=201、「朝7時だよ」)と、これの再生指示(ID=201)と、さらに、予測シナリオに対応付けられた発話IDを、対話装置10に送信する。ここでは、図2の(b)に示すシナリオSTを参照すると、時刻イベント「7時」であるシナリオT1における予測シナリオはV1、V6、V8である。シナリオV1では発話ID=101、シナリオV6では発話ID=107、108、シナリオV8では発話ID=112、113、114が対応づけられているため、これら発話IDを、対話装置10に送信する。
対話装置10は、受信した音声データ(ID=201)を再生することで「朝7時だよ」を音声出力する。また、予測シナリオに対応付けられた出力文言の発話IDを受信したので、音声データID=101、107、108、112、113、114をサーバ装置30に要求する。
要求を受けたサーバ装置30は、各音声データを合成して対話装置10に送信する。対話装置10はこれらを受信し保存する。
<イベントがセンサによる所定値の検知である場合>
図6に示すように、対話装置10にて、センサ部16が周囲の温度(室温)として25度を検知すると、25度を計測したこと(センサーイベント「25度」が発生したこと)をサーバ装置30に送信する。ここでは、25度の検知が所定イベントである。
サーバ装置30は、センサーイベント「25度」が発生したことが通知されると、図2の(c)に示すシナリオSRを用いて、温度「25度」に対応する発話IDと予測シナリオとを検索し、検索の結果、発話ID=303と、予測シナリオとしてシナリオV9およびシナリオV10と、を取得する。そして、サーバ装置30は、発話ID=303の出力文言「快適、快適」を音声合成した音声データ(ID=303、「快適、快適」)と、これの再生指示(ID=303)と、さらに、予測シナリオに対応付けられた出力文言の発話IDを、対話装置10に送信する。ここでは、図2の(c)に示すシナリオSRを参照すると、センサーイベントが「25度」であるシナリオR3における予測シナリオはV9、V10である。シナリオV9では発話ID=115、シナリオV10では発話ID=116が対応づけられているため、これら発話IDを、対話装置10に送信する。
対話装置10は、受信した音声データ(ID=303)を再生することで「快適、快適」を音声出力する。また、予測シナリオに対応付けられた出力文言の発話IDを受信したので、音声データID=115、116をサーバ装置30に要求する。
要求を受けたサーバ装置30は、音声データ(ID=115、「風邪に気を付けてね」)、音声データ(ID=116、「体調に気を付けてね」)を合成して対話装置10に送信する。対話装置10はこれらを受信し保存する。
以上の対話の流れの説明において、所定イベントとして、ユーザからの音声入力、所定時刻の計測、及び自装置が備えたセンサによる所定値の検知を、例に説明したが、所定イベントは上記に限定されることはない。また、予測も上記したものに限定されることはない。
(対話システムのまとめ)
以上のように、対話システム100において、対話装置10は、所定イベントが発生すると、所定イベントの発生に対するイベント対応情報だけでなく、所定イベント発生後にユーザから入力されると予測される予測文言に対する予測対応情報を、サーバ装置30から取得する。このように、予め予測対応情報をサーバ装置から取得しておき、所定イベント発生後にユーザから入力される音声に備えることで、ユーザから予測文言が入力された場合(予測が的中した場合)に、すぐさま音声データである予測対応情報を出力することができる。よって、入力音声毎に応答音声を出力するための音声データをサーバ装置から取得する対話装置よりも、すばやい応答(音声出力)が可能である。
よって、対話システム100及び対話装置10は、ユーザにストレスを与えず、自然な流れで対話することが可能となり、ユーザにより快適な対話環境を提供できる。また、対話装置10とサーバ装置30とを繋ぐ通信ネットワークの通信速度の向上や、対話装置10の音声合成の処理能力の向上を図ることなく、つまり、コストを上げることなく、自然な流れの対話を行うことができる。
さらに、本実施の形態では、対話装置10は、音声データであるイベント対応情報を音声出力しながら音声データである予測対応情報を取得するので、所定イベント発生から予測対応情報の取得終了までの時間を短くできる、よって、所定イベント発生後にユーザから音声が入力される前に、予測対応情報の取得を確実に終わらせる可能性を上げることができる。そのため、よりスムーズな対話を行える。
〔実施の形態2〕
本発明の他の実施の形態の対話システムについて図7〜9を用いて説明する。なお説明の便宜上、実施の形態1にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
本実施の形態の対話システム100aは、図7に示すように、対話装置10aとサーバ装置30aとを備えている。本実施の形態では、対話装置10aは、対話ロボットであるものとして以下の説明を行う。
本実施の形態では、対話装置10aは、サーバ装置30aからテキストデータであるイベント対応情報(図8では「発話テキスト」)及びテキストデータである予測対応情報(図8では「予測テキスト」)と、それらの再生指示と、を受信する構成である。そのため、対話装置10aでは、図7に示すように、制御部13aは、対応情報取得部(取得部)17a、出力制御部18に加え、音声合成部19を備えている。説明の簡略のため、対話装置10aは、対話装置10と比べて、センサ部16、時刻計測部Tを備えていないが、備えていてもよい。
音声合成部19は、音声合成部36と同様の構成であり、音声データを生成するブロックである。対応情報取得部17aは、対話装置10aにて音声出力するためのテキストデータと、当該音声データの再生指示とをサーバ装置30aから受信するブロックである。対応情報取得部17aは、所定イベントが発生すると、当該所定イベントの発生をサーバ装置30aに通知し、当該所定イベントの発生に対する応答音声を出力するためのテキストデータであるイベント対応情報とこれの再生指示とをサーバ装置30aから受信する。さらに、対応情報取得部17aは、上記所定イベントの発生後にユーザから入力されると予測される予測文言に対する応答音声を出力するためのテキストデータである予測対応情報を、サーバ装置30aから受信する。また、対応情報取得部17aは、対話装置10aにて予測対応情報を音声出力する際に、予測対応情報の再生指示をサーバ装置30aから受信する。
対話装置10aの上記以外の構成は、対話装置10と同様である。
一方、サーバ装置30aでは、図7に示すように、制御部31aは音声合成部を備えていない。対応情報提供部35aは、対話装置10aから所定イベントの通知を受けると、当該所定イベントに対するイベント対応情報を、シナリオ格納部321から検索して、再生指示と共に対話装置10aに送信する。さらに、対応情報提供部35aは、上記所定イベントの発生後にユーザから入力されると予測される予測文言に対する予測対応情報を、以下で説明するシナリオ格納部321から検索して、対話装置10aに送信する。また、対話装置10aにて予測対応情報を音声出力する際には、予測対応情報の再生指示を送信する。イベント対応情報及び予測対応情報は、テキストデータとしてシナリオ格納部321に格納されており、音声合成されることなく、対話装置10に送信される。
サーバ装置30aのこれ以外の構成は、サーバ装置30と同様である。
テキストデータの伝送は音声データに対して素早く行うことができる。本実施の形態では、対話装置10aにてテキストデータを音声に合成する必要があるが、対話装置10aでは、所定イベントが発生すると、テキストデータである予測対応情報をサーバ装置30aから取得し、ユーザから予測文言が入力される前に、予め応答音声に合成しておくことができる。よって、ユーザから予測文言が入力された場合に、すぐさま合成された応答音声を出力することができる。よって、スムーズな対話が可能となる。
(対話の流れ)
対話システム100aにおける対話の流れを、所定イベントがユーザからの音声入力である場合を例に、図8および9を参照して説明する。
図8に示すように、ユーザから音声「おはよう」が発せられ、音声データ「おはよう」が対話装置10aに入力されると、対話装置10aは、その音声データ「おはよう」をサーバ装置30aに送信する。ここでは、ユーザからの所定文言「おはよう」の音声入力が所定イベントであり、音声データ「おはよう」の送信が所定イベントの通知である。この時点で対話装置10aが音声合成して保存している音声データのIDを、図9の(a)に示す。この時点で対話装置10aが音声合成して保存している音声データはない。
サーバ装置30aは、音声データ「おはよう」を受信すると、音声認識処理を行い、図2の(a)に示すシナリオSVを参照に、音声認識結果である入力文言「おはよう」に対応する発話IDと予測シナリオとを検索し、検索の結果、発話ID=101と、予測シナリオとしてシナリオV6およびシナリオV8と、を取得する。そして、サーバ装置30aは、発話ID=101の出力文言「おはよう」のテキストデータである発話テキスト(ID=101、「おはよう」)と、これの再生指示(ID=101)と、さらに、予測シナリオに対応する出力文言のテキストデータである予測テキスト(ID=107、108、112、113、114)を、対話装置10aに送信する。
対話装置10aは、受信した発話テキスト(ID=101、「おはよう」)を音声合成する。そして、音声合成した音声データ(ID=101、「おはよう」)再生することで「おはよう」を音声出力する。さらに、対話装置10aは、受信した予測テキスト(ID=107、108、112、113、114)を音声合成して保存する。本実施の形態では、対話装置10aは、「おはよう」を音声出力しながら音声データ(ID=107、108、112、113、114)を合成する。この時点で対話装置10aが音声合成して保存している音声データのIDを、図9の(b)に示す。
その後、ユーザから次の音声入力(所定イベントの発生(音声「おはよう」の入力)後の音声入力)として、音声「おなかすいた」が入力されると、対話装置10aは、音声データ「おなかすいた」をサーバ装置30aに送信する。ここでは、ユーザからの音声「おなかすいた」の入力が所定イベントであり、音声データ「おなかすいた」の送信が所定イベントの通知である。
サーバ装置30aは、音声データ「おなかすいた」を受信すると、音声認識処理を行い、図2の(a)に示すシナリオSVを参照し、音声認識結果である入力文言「おなかすいた」に対応する発話ID=107と、予測シナリオとしてシナリオV7と、を取得する。そして、サーバ装置30aは、発話ID=107の出力文言「おなかすいたね」のテキストデータである発話テキスト(ID=107、「おなかすいたね」)と、これの再生指示(ID=107)を送信する。そして、サーバ装置30aは、予測シナリオに対応する出力文言のテキストデータである予測テキスト(ID=109、110、111)を、対話装置10aに送信する。
対話装置10aは、受信した再生指示(ID=107)と図9(b)に示される音声合成して保存されている音声データの状況から、既に合成済みで保存している音声データ(ID=107、「おなかすいたね」)を再生することで「おなかすいたね」を音声出力する。このように、音声データ(ID=107、「おなかすいたね」)は既に合成済みなので、ここでは音声合成をしない。つまり本来音声合成に必要な時間が短縮できるため、応答時間が短縮できる。さらに、対話装置10aは、受信した予測テキスト(ID=109、110、111)を音声合成して保存する。本実施の形態では、対話装置10aは、「おなかすいたね」を音声出力しながら音声データ(ID=109、110、111)を合成する。この時点で対話装置10aが音声合成して保存している音声データのIDを、図9の(c)に示す。この後の対話は、上記と同様のことが繰り返されるので、説明を省略する。
〔実施の形態3〕
以下では、本発明の別の実施の形態の対話システムについて図10を用いて説明する。なお説明の便宜上、実施の形態1または2にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
本実施の形態の対話システム100bは、図10に示すように、対話装置10bとサーバ装置30bとを備えている。対話装置10bは、対話ロボットであるものとして以下の説明を行う。
対話システム100ではサーバ装置30が、あるいは、対話システム100aではサーバ装置30aが、予測シナリオが対応付けられたシナリオ情報を保持しており、予測文言を予測する構成であったが、対話システム100bは、対話装置10bにて予測文言を予測する構成である。
よって、対話装置10bの制御部13bは、制御部13の構成に加え、予測部20及び対応情報決定部21の機能を有する。
予測部20は、所定イベントが発生すると予測文言を予測するブロックである。そして、対応情報取得部(取得部)17bは、予測部20が予測した予測文言に対する応答音声を出力するための音声データである予測対応情報をサーバ装置30bから取得する。つまり、対話装置10bは、所定イベントの発生後に発話させられそうな音声データを、サーバ装置30bに取りに行く構成である。
データ格納部14bにはシナリオ格納部141が備えられている。シナリオ格納部141が格納するシナリオ情報は、シナリオ格納部321が格納するシナリオ情報と同じである。発話DBについては、本実施の形態でもサーバ装置30bのデータ格納部32bに格納されている。
予測部20は、対応情報提供部35と同様に、シナリオ格納部141が格納するシナリオ情報を用いて予測文言を予測する。例えば、所定イベントとしてユーザから所定文言の音声入力があると、図2の(a)を参照に、所定文言を入力文言としてシナリオ番号を選択する。この場合、選択に用いる所定文言として、サーバ装置30bの音声認識部34による認識結果を受信したものを用いてもよいし、対話装置10bに音声認識部が備えられており、この認識結果に基づくものであってもよい。選択したシナリオ番号に対応づけられた予測シナリオのシナリオ番号に対応づいた入力文言が予測文言である。よって、これを予測文言として決定(予測)する。他の所定イベント発生時も同様である。
対応情報取得部17bは、音声データであるイベント対応情報をサーバ装置30bから取得する。さらに、予測部20が予測した予測文言に対する音声データである予測対応情報をサーバ装置30bから取得する。
対応情報決定部21は、所定イベントの発生に対するイベント対応情報の識別情報(発話ID)を決定するブロックである。具体的には、対応情報決定部21は、所定イベントが発生すると、シナリオ格納部141のシナリオ情報を参照して、イベント対応情報の発話IDを決定する。そして、この決定された発話IDが指定する音声データであるイベント対応情報を、対応情報取得部17bが取得する。
さらに、対応情報決定部21は、所定イベントの発生後に入力されたユーザ音声への対応情報の識別情報(発話ID)を決定するブロックでもある。具体的には、対応情報決定部21は、所定イベント発生後にユーザ音声の入力があると、シナリオ格納部141のシナリオ情報を参照して、上記ユーザ音声への対応情報の発話IDを決定する。ここで、対話措置10bが、決定した上記ユーザ音声への対応情報の発話IDが指定する音声データを予測対応情報として予め受信している場合には、出力制御部18bは、その発話IDが指定する音声データである予測対応情報を音声出力部12から音声出力する。他方、予め受信していない場合には、所定イベント発生後のユーザ音声の入力を新たな所定イベントとして、この新たな所定イベントに対するイベント対応情報と予測対応情報とを対応情報取得部17bがサーバ装置30bから取得する。
一方の、サーバ装置30bの対応情報提供部35bは、予測部20が予測した予測文言に対する予測対応情報の音声データを合成して、対話装置10bに送信する。また、イベント対応情報の音声データも、対話装置10bに送信する。
上記の様に、本実施の形態では、音声データであるイベント対応情報及び予測対応情報を対話装置10bからサーバ装置30bに取りに行く形態であるため、サーバ装置30bは再生指示を送信しない。よって、対話装置10bの出力制御部18bは、対応情報取得部17bがイベント対応情報を受信するとそれを音声出力部12から音声出力する。また、上記の様に、出力制御部18bは、対話装置10bが予測対応情報を受信している場合には、対応情報決定部21にて決定された発話IDに対する予測対応情報を音声出力部12から音声出力する。
本実施の形態では、上記の様に、対話装置10bに備えられた予測部20にて予測文言の予測を行うため、所定イベントが発生すると直ちに予測を行うことができる。また、対話装置10bが図2(d)に示す発話DBと音声合成部とを備えていると、通信ネットワークがダウンしており、サーバ装置30bとの通信が行えない場合でも、対話装置10bにて予測を行い発話することができる。
〔実施の形態4〕
上記実施の形態1〜3では、対話装置10,10a,10bが対話ロボットとして単体で存在する形態について説明したが、対話装置10,10a,10bの構成および機能は他の装置に組み込まれてもよい。
そこで、本実施の形態では、実施の形態1の対話装置10の構成及び機能を備えた家電について説明する。対話装置10の構成及び機能は、家電の内部に備えられていても、あるいは外部に(例えば、アダプタとして)備えられていてもよい。よって、本実施の形態の家電は、ユーザと対話が可能である。このような家電としては、例えば、冷蔵庫、空気調和機(エアコン)、空気清浄器、洗濯機、調理器具、照明装置、給湯機器、撮影機器、各種AV(Audio-Visual)機器、各種家庭用ロボット(例えば、掃除ロボット、家事支援ロボット、動物型ロボット等)等が挙げられるが、これらには限定されない。
本実施の形態の家電が例えば冷蔵庫である場合、所定イベントは、例えば、ドアが開けられるという事象であってもよい。また、本実施の形態の家電が例えば空気調和機である場合、所定イベントは、例えば、室温が所定値(設定値)を超えたという事象、人感センサが人を検知したという事象であってもよい。なお、ここに記載の所定イベントは例示であり、これらに限定されるものではない。
本実施の形態の家電に音声データを提供するサーバ装置は、実施の形態1のサーバ装置30と同様の構成であるため、説明は省略する。また、本実施の形態の家電を管理する管理サーバ装置が、サーバ装置30の構成及び機能を備えた構成であってもよい。本実施の形態の家電とサーバ装置との通信は、家電に通信アダプタを装着することで行う構成であってもよい。
本実施の形態では、対話装置10を家電に適用したものを説明したが、家電以外の装置に適用してもよい。また、対話装置10a,10bも同様に家電や他の装置に適用することができる。
〔実施の形態5〕
実施の形態1〜3にて説明した対話装置10,10a,10b及びサーバ装置30,30a,30bは、それぞれ、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、対話装置10,10a,10b及びサーバ装置30,30a,30bは、それぞれ、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラム及び各種データがコンピュータ(又はCPU)で読み取り可能に記録されたROM(Read Only Memory)又は記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)等を備えている。そして、コンピュータ(又はCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路等を用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施の形態に限定されるものではなく、種々の変更が可能であり、異なる実施の形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施の形態についても本発明の技術的範囲に含まれる。さらに、各実施の形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
〔まとめ〕
本発明の態様1に係る対話装置(10)は、音声を出力してユーザと対話する装置において、所定イベントが発生すると、当該所定イベントの発生後にユーザから音声入力されると予測される予測文言に対する発話情報である予測対応情報を、サーバ装置から取得する取得部(対応情報取得部17)と、ユーザによる前記予測文言の音声入力に対し、前記予測対応情報を音声出力する音声制御部(出力制御部18)と、を備えている。
上記構成によると、所定イベントが発生すると、当該イベント発生後にユーザから入力されると予測される予測文言に対する発話情報である予測対応情報を、取得する。このように、予め予測対応情報をサーバ装置から取得しておき、所定イベント発生後にユーザから入力される音声に備えることで、ユーザから予測文言が音声入力された場合(予測が的中した場合)に、すぐさま予測対応情報に応じた音声を出力することができる。よって、入力音声毎に発話情報をサーバ装置から取得する対話装置よりも、すばやい応答(音声出力)が可能である。
そのため、上記構成によると、ユーザにストレスを与えず、自然な流れで対話することが可能となり、ユーザにより快適な対話環境を提供できる。また、対話装置とサーバ装置とを繋ぐ通信ネットワークの通信速度の向上や、対話装置の音声合成の処理能力の向上を図ることなく、つまり、コストを上げることなく、自然な流れの対話を行うことができる。
本発明の態様2に係る対話装置では、上記態様1に係る対話装置において、前記サーバ装置は、発生した前記所定イベントに応じた前記予測文言を予測する機能を備えるものであり、前記取得部は、前記所定イベントが発生すると、前記サーバ装置に当該所定イベントの発生を通知し、前記サーバ装置にて予測された前記予測文言に対す前記予測対応情報を前記サーバ装置から取得する。
上記構成によると、対話装置は、サーバ装置にて予測された予測文言に対する予測対応情報を取得する、つまり、予測文言の予測はサーバ装置で行われる。よって、対話装置の処理能力を上げることなく、快適な対話を行うことが可能な対話装置を提供することができる。
本発明の態様3に係る対話装置は、上記態様1に係る対話装置において、前記所定イベントが発生すると、当該所定イベントに応じた前記予測文言を予測する予測部を備え、前記取得部は、前記予測部が予測した予測文言に対する前記予測対応情報を前記サーバ装置から取得する。
上記構成によると、対話装置に備えられた予測部にて予測文言の予測を行うため、所定イベントが発生すると直ちに予測を行うことができる。また、対応装置が予測対応情報のデータベースを保持していると、サーバ装置との通信が行えない場合でも、予測を行い発話することができる。
本発明の態様4に係る対話装置は、上記態様1から3のいずれか1つに係る対話装置において、前記予測対応情報は、前記サーバ装置にて音声に合成された音声データである。
合成された音声データはデータ量が多いため、特に、通信ネットワークの帯域が狭いもしくは不安定であると、伝送に多くの時間がかかる。特に長いフレーズの音声データを受信する場合にはそれが顕著となる。しかしながら、本発明に係る対話装置では、所定イベントが発生すると、音声データである予測対応情報をサーバ装置から取得し、所定イベント発生後にユーザから音声が入力される前に準備しておくことができる。よって、ユーザから予測文言が入力された場合に、すぐさま音声合成された予測対応情報を出力することができる。よって、すばやい応答が可能となる。
本発明の態様5に係る対話装置は、上記態様1から3のいずれか1つに係る対話装置において、前記予測対応情報はテキストデータであり、前記テキストデータから音声を合成する音声合成部を備え、前記音声合成部は、ユーザによる前記予測文言の音声入力前に、前記予測対応情報から音声を合成する。
テキストデータの伝送は音声データに対して素早く行えるが、対話装置にてテキストデータを音声に合成する必要があり、通常サーバ装置よりも処理能力が低いため処理に時間がかかる。しかしながら、本発明に係る対話装置では、所定イベントが発生すると、テキストデータの予測対応情報をサーバ装置から取得し、予め応答音声に合成しておくことができる。よって、ユーザから予測文言が入力された場合に、すぐさま合成された応答音声を出力することができる。よって、対話をスムーズに行うことが可能となる。
本発明の態様6に係る対話装置では、上記態様1から5のいずれか1つに係る対話装置において、前記取得部は、さらに、所定イベントが発生すると、当該所定イベントの発生に対する発話情報であるイベント対応情報をサーバ装置から取得し、前記音声制御部は、さらに、前記所定イベントの発生に対し、前記イベント対応情報を音声出力する。
上記構成によると、所定イベントが発生すると、これに対して、発話情報であるイベント対応情報を音声出力することができる。
ここで、対話装置がイベント対応情報を音声出力しながら予測対応情報を取得すると、所定イベント発生から予測対応情報取得終了までの時間を短くできる。よって、所定イベント発生後にユーザから音声が入力される前に、予測対応情報の取得を確実に終わらせる可能性を上げることができる。そのため、よりスムーズな対話を行える。
本発明の態様7に係る対話装置では、上記態様1から6のいずれか1つに係る対話装置において、前記所定イベントは、ユーザからの音声入力、所定時刻の計測、または、自装置が備えたセンサによる所定値の検知、である。
上記構成によると、ユーザからの音声入力がされると、所定時刻を計測すると、または、対話装置が備えたセンサによって所定値が検知されると、取得部は、イベント対応情報に続けて予測対応情報を、取得する。ユーザからの音声入力、所定時刻の計測、または、自装置が備えたセンサによる所定値の検知は、頻繁にあるいは日常的に発生する可能性のあるイベントであるため、その後の予測文言が予測されやすい、あるいは、予測対応情報を豊富に用意しておくことが可能である。そのため、予測が当たり易く、より対話をスムーズに行うことができる。
本発明の態様8に係る対話システムは、上記態様1から7のいずれか1つに係る対話装置と、当該対話装置に、前記予測対応情報を提供するサーバ装置とを備えている。
上記システムによると、ユーザにストレスを与えることなく快適な対話環境を提供する対話システムを構築することができる。
また、本発明の態様9に係る対話装置の制御方法は、音声を出力してユーザと対話する対話装置の制御方法において、所定イベントが発生すると、当該所定イベントの発生後にユーザから音声入力されると予測される予測文言に対する発話情報である予測対応情報を、サーバ装置から取得する取得ステップと、ユーザによる前記予測文言の音声入力に対し、前記予測対応情報を音声出力する音声制御ステップと、を含む。
上記制御方法によると、ユーザにストレスを与えず、自然な流れで対話することが可能に対話装置を制御でき、ユーザにより快適な対話環境を提供できる。
さらに、上記態様1から7のいずれか1つに係る対話装置に、前記予測対応情報を提供するサーバ装置もまた本発明の範疇に入る。当該サーバ装置は、本発明に係る対話装置に予測対応情報を提供することができ、対話装置とサーバ装置とを備えた対話システムを構築することができる。
また、本発明の各態様に係る対話装置、サーバ装置または対話システムは、コンピュータによって実現してもよく、この場合には、コンピュータを対話装置、サーバ装置または対話システムが備える各部として動作させることにより、対話装置、サーバ装置または対話システムをコンピュータにて実現させるプログラム、及びそれを記録したコンピュータ読み取り可能な記録媒体も本発明の範疇に入る。