(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
<実施の形態1>
<概要>
以下、本発明に係る音声対話方法の一態様、及び本発明に係る機器の一態様として、宅内、車内等に設置された機器と、これら機器と通信する音声対話エージェントサーバとを含んで構成される音声対話システムについて説明する。
【0013】
この音声対話システムにおいて、音声対話エージェントサーバは、記憶しているプログラムを実行することで、音声対話エージェントを実現する。この音声対話エージェントは、音声対話システムを利用するユーザと、機器を介して音声を用いた対話(音声による入出力)を行う。そして、音声対話エージェントは、その対話の内容が反映された処理を実行して、その実行結果を、そのユーザが利用している機器を介して、音声にて出力する。
【0014】
ユーザは、音声対話エージェントと対話したい(音声対話エージェントに対して音声による入力を行いたい)場合に、音声対話システムを構成する機器に対して、所定の音声入力開始操作を行う。すると、その機器は、その音声入力開始操作がなされてから所定期間、音声入力の受け付けが可能な状態となる。そして、機器が、音声入力の受け付けが可能な状態である期間に、そのユーザは、音声対話エージェントに対して音声による入力を行う。
【0015】
以下、この音声対話システムの詳細について図面を参照しながら説明する。
【0016】
<構成>
図1は、音声対話システム100の構成を示すシステム構成図である。
【0017】
同図に示されるように、音声対話システム100は、音声対話エージェントサーバ110a〜音声エージェントサーバ110bと、ネットワーク120と、ゲートウエイ130a〜ゲートウエイ130bと、機器140a〜機器140eとから構成される。
【0018】
これらのうち、ゲートウエイ130aと機器140a〜機器140cとは、家180内に配置され、ゲートウエイ130bと機器140d〜機器140eとは、車190内に配置されている。
【0019】
機器140a〜機器140eは、それぞれ、ゲートウエイ130(ゲートウエイ130aとゲートウエイ130bとを明示的に区別して表示する場合を除いて、ゲートウエイ130a又はゲートウエイ130bのことを、単にゲートウエイ130と呼ぶ。)と無線又は有線で通信する機能と、ゲートウエイ130及びネットワーク120を介して、音声対話エージェントサーバ110(音声対話エージェントサーバ110aと音声対話エージェントサーバ110bとを明示的に区別して表示する場合を除いて、音声対話エージェントサーバ110a又は音声対話エージェントサーバ110bのことを、単に音声対話エージェントサーバ110と呼ぶ。)と通信する機能とを有する。
【0020】
家180内に配置されている機器140a〜機器140cは、例えば、屋内に設置されたテレビ、エアコン、録画機、洗濯機、持ち運び自在なスマートフォン等であり、車190内に配置されている機器140d〜機器140eは、例えば、車190内に設置されているカーエアコン、カーナビ等である。
【0021】
ここでは、機器140a〜機器140eをそれぞれ個別に説明することに代えて、機器140a〜機器140eが共通に有している機能を有する仮想的な機器140について説明する。
【0022】
図2は、機器140の機能構成を示すブロック図である。
【0023】
同図に示されるように、機器140は、制御部210と、音声入力部220と、操作受付部230と、アドレス記憶部240と、通信部250と、音声出力部260と、表示部270と、実行部280とから構成される。
【0024】
音声入力部220は、一例として、マイクと、プログラムを実行するプロセッサとによって実現され、制御部210に接続され、制御部210によって制御される。そして、ユーザからの音声による入力を受け付けて、音声信号(以下、「入力音声データ」と呼ぶこともある。)を生成する機能を有する。
【0025】
音声入力部220は、制御部210によって制御されることで、音声入力を受け付けることが可能な音声入力受付可能状態と、音声入力の受け付けることが不可能な音声入力受付不可能状態とのいずれかの状態となる。
【0026】
操作受付部230は、一例として、タッチパネルと、タッチパネルコントローラと、プログラムを実行するプロセッサとによって実現され、制御部210に接続され、制御部210によって制御される。そして、ユーザによってなされる所定の接触操作を受け付けて、受け付けた接触操作に基づく電気信号を生成する機能を有する。
【0027】
操作受付部230が受け付ける、ユーザによってなされる所定の接触操作の中には、音声入力部220を利用して音声による入力を開始する旨を示す所定の音声入力開始操作が含まれる。
【0028】
音声入力開始操作は、一例として、操作受付部230の一部であるタッチパネル上に表示されている、音声入力開始操作を受け付けるためのアイコンにタッチする操作が考えられる。また、別の一例として、操作受付部230が、音声入力開始操作を受け付けるためのボタンを含んで構成されており、このボタンを押下する操作が考えられる。
【0029】
アドレス記憶部240は、一例として、メモリと、プログラムを実行するプロセッサとによって実現され、通信部250に接続される。そして、音声対話エージェントサーバ110の中の1つ(以下、この1つのことを、「特定音声対話エージェントサーバ」と呼ぶ。)についての、ネットワーク120のおけるIP(Internet Protocol)アドレスを記憶する機能を有する。
【0030】
この機能によって、機器140のそれぞれは、音声対話エージェントサーバ110の中の1つである特定音声対話エージェントサーバに対応付けられている。
【0031】
なお、機器140の内蔵するメモリとしては、一例として、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等が考えられる。
【0032】
通信部250は、一例として、プログラムを実行するプロセッサと、通信用LSI(Large Scale Integration)と、アンテナとによって実現され、制御部210と、アドレス記憶部240とに接続され、制御部210によって制御される。そして、以下の、ゲートウエイ通信機能と、音声対話エージェントサーバ通信機能とを有する。
【0033】
ゲートウエイ通信機能とは、ゲートウエイ130と無線又は有線にて、通信する機能である。
【0034】
音声対話エージェントサーバ通信機能とは、ゲートウエイ130とネットワーク120とを介して、音声対話エージェントサーバ110と通信する機能である。
【0035】
ここで、通信部250は、音声対話エージェントサーバ110のうちのいずれか1つと通信する場合において、制御部210から、通信先の音声対話エージェントサーバ110として、特定の1つを指定されないときには、アドレス記憶部240に記憶されるIPアドレスを参照して、特定音声対話エージェントサーバと通信する。
【0036】
音声出力部260は、一例として、プログラムを実行するプロセッサと、スピーカとによって実現され、制御部210に接続され、制御部210によって制御される。そして、制御部210から送られる電気信号を音声に変換して出力する機能を有する。
【0037】
表示部270は、一例として、タッチパネルと、タッチパネルコントローラと、プログラムを実行するプロセッサとによって実現され、制御部210に接続され、制御部210によって制御される。そして、制御部210から送られる電気信号に基づく画像、文字列等を表示する機能を有する。
【0038】
実行部280は、機器140が、機器として本来備えている機能(例えば、機器140がテレビであれば、テレビ信号を受信して復号し、復号したテレビ画像をディスプレイに表示して、復号したテレビ音声をスピーカから出力する機能等であり、例えば、機器140がエアコンであれば、エアコンの設置された部屋が設定温度となるように、送風口から冷風又は温風を送風する機能等である)を実現する機能ブロックであって、制御部210に接続され、制御部210によって制御される。
【0039】
実行部280は、例えば、機器140がテレビである場合には、一例として、テレビ信号受信機、テレビ信号チューナ、テレビ信号デコーダ、ディスプレイ、スピーカ等によって実現される。
【0040】
また、実行部280は、必ずしも、1つの筺体内に、その全ての構成要素が含まれて実現される構成である必要はない。例えば、機器140がテレビである場合には、リモコンと、ディスプレイとが、互いに別筺体に含まれて構成される例等が考えられる。同様に、機器140を構成する各機能ブロックは、1つの筺体内に、その全ての構成要素が含まれて実現される構成である必要はない。
【0041】
制御部210は、一例として、プログラムを実行するプロセッサによって実現され、音声入力部220と、操作受付部230と、通信部250と、音声出力部260と、表示部270と、実行部280とに接続され、音声入力部220を制御する機能と、操作受付部230を制御する機能と、通信部250を制御する機能と、音声出力部260を制御する機能と、表示部270を制御する機能と、実行部280を制御する機能とに加えて、以下に述べる音声入力部状態管理機能と、第1機器処理実現機能とを有する。
【0042】
音声入力部状態管理機能とは、音声入力受付可能状態と、音声入力受付不可能状態とのいずれかとなる音声入力部220の状態(以下、「ステート」とも言う。)を管理する機能である。
【0043】
図3は、制御部210によって管理されるステートの状態遷移図である。
【0044】
同図に示されるように、制御部210は、ステートが、音声入力受付不可能状態である場合において、(1)操作受付部230によって音声入力開始操作が受け付けられるまでは、音声入力受付不可能状態を維持し、(2)操作受付部230によって音声入力開始操作が受け付けられると、ステートを、音声入力受付可能状態へと遷移させる。そして、ステートが、音声入力受付可能状態である場合において、(3)ステートが音声入力受付可能状態へと遷移してから所定時間T1(例えば5秒)経過するまでは、音声入力受付可能状態を維持し、(4)所定時間T1経過すると、ステートを、音声入力受付不可能状態へと遷移させる。
【0045】
なお、機器140が起動された時点では、制御部210は、ステートを音声入力受付不可能状態として管理を開始する。
【0046】
再び
図2に戻って、制御部210の説明を続ける。
【0047】
第1機器処理実現機能とは、制御部210が、音声入力部220と、操作受付部230と、通信部250と、音声出力部260と、表示部270と、実行部280とを制御して、機器140に、その特徴的な動作である第1機器処理を実行させることで、機器140に、(1)ユーザによって音声入力開始操作がなされると、(2)ユーザからの音声による入力を受け付けて入力音声データを生成し、(3)生成した入力音声データを音声対話エージェントに送信し、(4)音声対話エージェントから返信された応答音声データを受信して、(5)受信した応答音声データに基づく音声を出力するという一連の処理を実現させる機能である。
【0048】
なお、第1機器処理については、後程<第1機器処理>の項目において、フローチャートを用いて詳細に説明する。
【0049】
図1に戻って、再び機器140の説明を続ける。
【0050】
ゲートウエイ130は、一例として、通信機能を有するパソコン等によって実現され、ネットワーク120に接続される。そして、記憶しているプログラムを実行することで、機器140と無線又は有線で通信する機能と、ネットワーク120を介して音声対話エージェントサーバ110と通信する機能と、機器140と音声対話エージェントサーバ110との間の通信を仲介する機能とを実現する。
【0051】
音声対話エージェントサーバ110は、一例として、1又は複数のコンピュータシステムによって構成される、通信機能を有するサーバによって実現され、ネットワーク120に接続される。そして、記憶しているプログラムを実行することで、ネットワーク120に接続される他の装置と通信する機能と、ゲートウエイ130を介して、機器140と通信する機能と、音声対話エージェント400を実現する機能とを有する。
【0052】
図4は、音声対話エージェントサーバ110によって実現される音声対話エージェント400の機能構成を示すブロック図である。
【0053】
同図に示されるように、音声対話エージェント400は、制御部410と、通信部420と、音声認識処理部430と、対話DB(Date Base:データベース)記憶部440と、音声合成処理部450と、命令生成部460とから構成される。
【0054】
通信部420は、一例として、プログラムを実行するプロセッサと、通信用LSIとによって実現され、制御部410と、音声認識処理部430と、音声合成処理部450とに接続され、制御部410によって制御される。そして、ネットワーク120に接続される他の装置と通信する機能と、ゲートウエイ130を介して、機器140と通信する機能とを有する。
【0055】
音声認識処理部430は、一例として、プログラムを実行するプロセッサによって実現され、制御部410と、通信部420とに接続され、制御部410によって制御される。そして、通信部420によって受信された入力音声データに対して音声認識処理を行って、その音声データを文字列(以下、「入力テキスト」とも呼ぶ。)に変換する機能を有する。
【0056】
音声合成処理部450は、一例として、プログラムを実行するプロセッサによって実現され、制御部410と通信部420とに接続され、制御部410によって制御される。そして、制御部410から送られてきた文字列に対して音声合成処理を行い、音声データに変換する機能を有する。
【0057】
対話DB記憶部440は、一例として、メモリと、プログラムを実行するプロセッサとによって実現され、制御部410に接続され、対話DB500を記憶する機能を有する。
【0058】
図5は、対話DB記憶部440に記憶される対話DB500のデータ構成図である。
【0059】
同図に示される通り、対話DB500は、キーワード510と、対象機器520と、起動アプリ530と、処理内容540と、応答テキスト550とが対応付けられて構成される。
【0060】
キーワード510は、音声認識処理部430によって変換された入力テキストに含まれると想定される文字列である。
【0061】
対象機器520は、対応付けられている処理内容540(後述)によって特定される処理を実行させる機器を特定する情報である。
【0062】
ここで、処理内容540によって特定される処理を実行させる機器に、音声対話エージェント400自身が含まれていてもよい。
【0063】
起動アプリ530は、対応付けられている処理内容540(後述)によって特定される処理を、対応付けられている対象機器520によって特定される機器に実行させるために、その機器において起動させるアプリケーションプログラムを特定する情報である。
【0064】
処理内容540は、音声認識処理部430によって変換された入力テキストに、対応付けられているキーワード510が含まれている場合に、対応付けられている対象機器520によって特定される機器に実行させると定められている処理を特定する情報である。
【0065】
応答テキスト550は、対応付けられている処理内容540によって指定される処理が実行された場合に、その処理結果に基づいて生成されると定められている文字列(以下、「応答テキスト」とも呼ぶ。)を示す情報である。
【0066】
再び
図4に戻って、音声対話エージェント400の説明を続ける。
【0067】
命令生成部460は、一例として、プログラムを実行するプロセッサによって実現され、制御部410に接続され、制御部410によって制御される。そして、制御部410から、対象機器520と、起動アプリ530と、処理内容540との組が送られてきた場合に、対象機器520によって特定される機器において、起動アプリ530によって特定されるアプリケーションプログラムを起動して、処理内容540によって特定される処理を実行させるための命令群を生成する機能を有する。
【0068】
制御部410は、一例として、プログラムを実行するプロセッサによって実現され、通信部420と、音声認識処理部430と、対話DB記憶部440と、音声合成処理部450と、命令生成部460とに接続され、通信部420を制御する機能と、音声認識処理部430を制御する機能と、音声合成処理部450を制御する機能と、命令生成部460を制御する機能とに加えて、以下の入力テキスト返信機能と、命令生成機能と、命令実行機能と、第1エージェント処理実現機能とを有する。
【0069】
入力テキスト返信機能とは、音声認識処理部430によって、通信部420によって受信された入力音声データが入力テキストに変換された場合に、通信部420を制御して、その入力音声データを送信してきた機器140に対して、その入力テキストを返信させる機能である。
【0070】
命令生成機能とは、音声認識処理部430から入力テキストが送られてきた場合に、(1)対話DB記憶部440に記憶されている対話DB500を参照して、その入力テキストに含まれているキーワード510から、そのキーワード510に対応付けられている、対象機器520と、起動アプリ530と、処理内容540と、応答テキスト550とを読み出して、(2)読み出した、対象機器520と、起動アプリ530と、処理内容540との組を、命令生成部460に送って、命令生成部460に命令群を生成させる機能である。
【0071】
命令実行機能とは、命令生成部460によって生成された命令群を実行して、その実行結果に基づいて、応答テキスト550によって指定されている応答テキストを生成して、音声合成処理部450に送る機能である。
【0072】
なお、制御部410は、命令実行機能を実現する際に、必要に応じて、通信部420を用いて、対象機器520によって特定される機器と通信して、その機器に命令群を実行させて、その機器から命令群の実行結果を送信させることで、応答テキストを生成する。
【0073】
第1エージェント処理実現機能とは、制御部410が、通信部420と、音声認識処理部430と、音声合成処理部450と、命令生成部460とを制御して、音声対話エージェント400に、その特徴的な動作である第1エージェント処理を実行させることで、音声対話エージェント400に、(1)機器から送信された入力音声データを受信し、(2)受信した入力音声データに対して音声認識処理を行って、入力テキストを生成して機器に返信し、(3)生成した入力テキストに基づいて命令群を生成して実行し、(4)実行結果に基づいて応答テキストを生成し、(5)生成した応答テキストを応答音声データに変換して、(6)応答テキストと応答音声データとを機器に返信するという一連の処理を実現させる機能である。
【0074】
なお、第1エージェント処理は、後程<第1エージェント処理>の項目において、フローチャートを用いて詳細に説明する。
【0075】
ここで、制御部410は、例えば、音声認識処理部430から、「Aさんの住所は?」という入力テキストが送られてきたとすると、対話DB記憶部440に記憶されている対話DB500を参照して、対象機器520で特定される機器「スマートフォン」に、起動アプリ530で特定されるアプリケーションプログラム「連絡先」を起動させて、処理内容540で特定される「Aさんの住所を調べる」という処理を実行させ、その処理の実行結果に基づいて、「Aさんの住所はXXXXです。」という応答テキストを生成する。
【0076】
以上のように構成される音声対話システム100の行う動作について、以下図面を参照しながら説明する。
【0077】
<動作>
音声対話システム100は、その特徴的な動作として、第1機器処理と、第1エージェント処理とを行う。
【0078】
以下、これらの処理について順に説明する。
【0079】
<第1機器処理>
第1機器処理は、機器140が行う処理であって、(1)ユーザによって音声入力開始操作がなされると、(2)ユーザからの音声による入力を受け付けて入力音声データを生成し、(3)生成した入力音声データを音声対話エージェントに送信し、(4)音声対話エージェントから返信された応答音声データを受信して、(5)受信した応答音声データに基づく音声を出力する処理である。
【0080】
図6は、第1機器処理のフローチャートである。
【0081】
第1機器処理は、機器140が起動されることで開始される。
【0082】
機器140が起動された時点で、制御部210によって管理されるステートは、音声入力受付不可能状態となる。
【0083】
第1機器処理が開始されると、制御部210は、音声対話システム100を利用するユーザによってなされる音声入力開始操作が、操作受付部230によって受け付けられるまで待機する(ステップS600:Noを繰り返す。)。そして、音声入力開始操作が受け付けられると(ステップS600:Yes)、制御部210は、ステートを、音声入力受付不可能状態から音声入力受付可能状態に遷移させて(ステップS610)、表示部270に、音声入力受付可能状態である旨を表示させる(ステップS620)。
【0084】
図11(a)は、機器140が、例えばスマートフォンである場合において、表示部270が、音声入力受付可能状態である旨を表示している様子の例を示す模式図である。
【0085】
同図において、スマートフォンを構成するタッチパネル1110は、表示部270の一部であって、その右下の領域1120を点滅表示させる(例えば、黒色と白色とを交互に点灯させる)ことで、ステートが音声入力受付可能状態である旨を表示している。
【0086】
再び
図6に戻って、第1機器処理の説明を続ける。
【0087】
ステップS620の処理が終了すると、機器140は、第1音声入力処理を実行する(ステップS630)。
【0088】
図7は、第1音声入力処理のフローチャートである。
【0089】
第1音声入力処理が開始されると、音声入力部220は、ユーザによる音声入力を受け付けて入力音声データを生成する(ステップS700)。そして、ステートが音声入力受付可能状態となってから所定時間T1経過すると(ステップS710:Noを繰り返したのちステップS710:Yes)、制御部210は、ステートを、音声入力受付可能状態から音声入力受付不可能状態に遷移させて(ステップS720)、表示部270に、音声入力受付可能状態である旨の表示を終了させる(ステップS730)。
【0090】
そして、制御部210は、通信部250を制御して、特定音声対話エージェントサーバによって実現される音声対話エージェント400に対して、音声入力部220によって生成された入力音声データを送信させる(ステップS740)。
【0091】
ステップS740の処理が終了すると、機器140は、その第1音声入力処理を終了する。
【0092】
再び
図6に戻って、第1機器処理の説明を続ける。
【0093】
第1音声入力処理が終了すると、制御部210は、ステップS740の処理において送信した入力音声データに応答して音声対話エージェント400から返信される入力テキストが、通信部250によって受信されるまで待機する(ステップS640:Noを繰り返す。)。
【0094】
ここで、この入力テキストデータは、ステップS740の処理において送信した入力音声データが、音声対話エージェント400によって文字列に変換されたものである。
【0095】
入力テキストが、通信部250によって受信されると(ステップS640:Yes)、表示部270は、その入力テキストを表示する(ステップS650)。
【0096】
図11(b)は、機器140が、例えばスマートフォンである場合において、表示部270が、入力テキストを表示している例を示す模式図である。
【0097】
同図は、入力テキストが、「部屋の温度は?」という文字列である場合の一例である。同図に示されるように、表示部270の一部であるタッチパネル1110に、入力テキストである『「部屋の温度は?」』という文字列が、「あなた」という文字列と共に表示されている。
【0098】
再び
図6に戻って、第1機器処理の説明を続ける。
【0099】
ステップS650の処理が終了すると、制御部210は、ステップS740の処理において送信した入力音声データに応答して音声対話エージェント400から返信される、応答テキストと応答音声データとが、通信部250によって受信されるまで待機する(ステップS660:Noを繰り返す。)。
【0100】
応答テキストと応答音声データとが、通信部250によって受信されると(ステップS660:Yes)、表示部270は、その応答テキストを表示して(ステップS670)、音声出力部260は、その応答音声データを音声に変換して出力する(ステップS680)。
【0101】
図11(c)は、機器140が、例えばスマートフォンである場合において、表示部270が、応答テキストを表示している例を示す模式図である。
【0102】
同図は、応答テキストが、「どちらの部屋の温度ですか?」という文字列である場合の一例である。同図に示されるように、表示部270の一部であるタッチパネル1110に、応答テキストである『「どちらの部屋の温度ですか?」』という文字列が、「家エージェント」という文字列と共に表示されている。
【0103】
再び
図6に戻って、第1機器処理の説明を続ける。
【0104】
ステップS680の処理が終了すると、機器140は、その第1機器処理を終了する。
【0105】
<第1エージェント処理>
第1エージェント処理は、音声対話エージェント400が行う処理であって、(1)機器から送信された入力音声データを受信し、(2)受信した入力音声データに対して音声認識処理を行って、入力テキストを生成して機器に返信し、(3)生成した入力テキストデータに基づいて命令群を生成して実行し、(4)実行結果に基づいて応答テキストを生成し、(5)生成した応答テキストを応答音声データに変換して、(6)応答テキストと応答音声データとを機器に返信する処理である。
【0106】
図8は、第1エージェント処理のフローチャートである。
【0107】
第1エージェント処理は、音声対話エージェント400が起動されることで開始される。
【0108】
第1エージェント処理が開始されると、音声対話エージェント400は、機器140から送信される入力音声データが、通信部420によって受信されるまで待機する(ステップS800:Noを繰り返す。)。そして、入力音声データが受信されると(ステップS800:Yes)、音声対話エージェント400は、第1命令実行処理を実行する(ステップS810)。
【0109】
図9は、第1命令実行処理のフローチャートである。
【0110】
第1命令実行処理が開始されると、音声認識処理部430は、通信部420によって受信された入力音声データに対して音声認識処理を行って、入力音声データを文字列である入力テキストに変換する(ステップS900)。
【0111】
入力テキストに変換されると、制御部410は、通信部420を制御して、その入力音声データを送信してきた機器140に対して、その入力テキストを返信させる(ステップS910)。
【0112】
そして、制御部410は、(1)対話DB記憶部440に記憶されている対話DB500を参照して、その入力テキストに含まれているキーワード510から、そのキーワード510に対応付けられている、対象機器520と、起動アプリ530と、処理内容540と、応答テキスト550とを読み出して、(2)読み出した、対象機器520と、起動アプリ530と、処理内容540との組を、命令生成部460に送って、命令生成部460に命令群を生成させる(ステップS920)。
【0113】
命令群が生成されると、制御部410は、生成された命令群を実行(ステップS930)し、その実行結果に基づいて、応答テキスト550によって指定されている応答テキストを生成する(ステップS940)。ここで、制御部410は、必要に応じて、通信部420を用いて、対象機器520によって特定される機器と通信して、その機器に命令群の一部を実行させて、その機器から命令群の実行結果を送信させることで、応答テキストを生成する。
【0114】
応答テキストが生成されると、音声合成処理部450は、生成された応答テキストに対して音声合成処理を行い、応答音声データを生成する(ステップS950)。
【0115】
応答音声データが生成されると、制御部410は、通信部420を制御して、入力音声データの送信元である機器140に対して、生成された応答テキストと、生成された応答音声データをと送信させる(ステップS960)。
【0116】
ステップS960の処理が終了すると、音声対話エージェント400は、その第1命令実行処理を終了する。
【0117】
再び
図8に戻って、第1エージェント処理の説明を続ける。
【0118】
第1命令実行処理が終了すると、音声対話エージェント400は、再びステップS800の処理に戻って、ステップS800以下の処理を続ける。
【0119】
上記構成の音声対話システム100の行う動作の具体例について、以下、図面を用いて説明する。
【0120】
<具体例>
図10は、音声対話システム100を利用するユーザが、機器140(ここでは、仮に、スマートフォンであるとする。)を用いて、音声対話エージェント400と音声を用いた対話を行い、音声対話エージェント400が、その対話の内容が反映された処理を行っている様子を模式的に示す処理手順図である。
【0121】
ユーザが機器140に対して音声入力開始操作を行うと(ステップS1000、
図6のステップS600:Yesに対応)、ステートが音声入力受付可能状態へと遷移して(ステップS1005、
図6のステップS610に対応)、機器140は、第1音声入力処理を行う(ステップS1010、
図6のステップS630に対応)。
【0122】
図11(a)は、この第1音声入力処理において、ステートが音声入力受付可能状態となっている期間、スマートフォンである機器140の表示部270の一部であるタッチパネル1110が、領域1120を点滅させることで、ステートが音声入力受付可能状態である旨を表示している様子の例を模式的に示す図である。
【0123】
再び
図10に戻って、具体例の説明を続ける。
【0124】
この第1音声入力処理において、ユーザが、「部屋の温度は?」との音声を入力したとすると、機器140は、「部屋の温度は?」という入力音声データを、音声対話エージェント400へ送信する(
図7のステップS740に対応)。
【0125】
すると、音声対話エージェント400は、その入力音声データを受信して(
図8のステップS800:Yesに対応)、第1命令実行処理を実行する(ステップS1060、
図8のステップS810に対応)。
【0126】
ここで、この第1命令実行処理において、音声対話エージェント400が、「どちらの部屋の温度でしょうか?」という応答音声データを生成したとすると、音声対話エージェント400は、機器140に、「どちらの部屋の温度でしょうか?」という応答音声データを送信する(
図9のステップS960に対応)。
【0127】
すると、機器140は、その応答音声データを受信して(
図6のステップS660:Yesに対応)、「どちらの部屋の温度でしょうか?」という音声を出力する(ステップS1015、
図6のステップS680に対応)。
【0128】
ステップS1010の処理において、ステートが音声入力受付可能状態へと遷移してから所定時間T1経過した時点で、ステートが再び音声入力受付不可能状態へと遷移している(
図7のステップS720に対応)。このため、機器140から出力された「どちらの部屋の温度でしょうか?」という音声を聞いたユーザは、新たに音声による入力を行うために、機器140に対して新たな音声入力開始操作を行う(ステップS1020、
図6のステップS600:Yesに対応)。すると、ステートが音声入力受付可能状態へと遷移して(ステップS1025、
図6のステップS610に対応)、機器140は、第1音声入力処理を行う(ステップS1030:
図6のステップS630に対応)。
【0129】
図11(c)は、この第1音声入力処理において、ステートが音声入力受付可能状態となっている期間、スマートフォンである機器140の表示部270の一部であるタッチパネル1110が、領域1120を点滅させることで、ステートが音声入力受付可能状態である旨を表示している様子の例を模式的に示す図である。
【0130】
再び
図10に戻って、具体例の説明を続ける。
【0131】
この第1音声入力処理において、ユーザが、「リビング。」との音声を入力したとすると、機器140は、「リビング。」という入力音声データを、音声対話エージェント400へ送信する(
図7のステップS740に対応)。
【0132】
すると、音声対話エージェント400は、その入力音声データを受信して(
図8のステップS800:Yesに対応)、第1命令実行処理を実行する(ステップS1065、
図8のステップS810に対応)。
【0133】
ここで、この第1命令実行処理において、音声対話エージェント400が、「リビングの温度は28度です。他に何かありますか?」という応答音声データを生成したとすると、音声対話エージェント400は、機器140に、「リビングの温度は28度です。他に何かありますか?」という応答音声データを送信する(
図9のステップS960に対応)。
【0134】
すると、機器140は、その応答音声データを受信して(
図6のステップS660:Yesに対応)、「リビングの温度は28度です。他に何かありますか?」という音声を出力する(ステップS1035、
図6のステップS680に対応)。
【0135】
ステップS1010の処理において、ステートが音声入力受付可能状態へと遷移してから所定時間T1経過した時点で、ステートが再び音声入力受付不可能状態へと遷移している(
図7のステップS720に対応)。このため、機器140から出力された「リビングの温度は28度です。他に何かありますか?」という音声を聞いたユーザは、新たに音声による入力を行うために、機器140に対して新たな音声入力開始操作を行う(ステップS1040、
図6のステップS600:Yesに対応)。すると、ステートが音声入力受付可能状態へと遷移して(ステップS1045、
図6のステップS610に対応)、機器140は、第1音声入力処理を行う(ステップS1050:
図6のステップS630に対応)。
【0136】
図12は、この第1音声入力処理において、ステートが音声入力受付可能状態となっている期間、スマートフォンである機器140の表示部270の一部であるタッチパネル1110が、領域1120を点滅させることで、ステートが音声入力受付可能状態である旨を表示している様子の例を模式的に示す図である。
【0137】
再び
図10に戻って、具体例の説明を続ける。
【0138】
この第1音声入力処理において、ユーザが、「ないよ。ありがとう。」との音声を入力したとすると、機器140は、「ないよ。ありがとう。」という入力音声データを、音声対話エージェント400へ送信する(
図7のステップS740に対応)。
【0139】
すると、音声対話エージェント400は、その入力音声データを受信して(
図8のステップS800:Yesに対応)、第1命令実行処理を実行する(ステップS1070、
図8のステップS810に対応)。
【0140】
ここで、この第1命令実行処理において、音声対話エージェント400が、「終了します。」という応答音声データを生成したとすると、音声対話エージェント400は、機器140に、「終了します。」という応答音声データを送信する(
図9のステップS960に対応)。
【0141】
すると、機器140は、その応答音声データを受信して(
図6のステップS660:Yesに対応)、「終了します。」という音声を出力する(ステップS1055、
図6のステップS680に対応)。
【0142】
<考察>
上記構成の音声対話システム100によると、音声対話システム100を利用するユーザは、機器140に対して音声入力開始操作を行うことで、機器140の状態を、音声入力受付可能状態にして、音声入力を行う。そして、その後、所定時間T1が経過すれば、ユーザによって、機器140の状態を音声入力受付不可能状態にするための操作が行われなくても、機器140の状態が、音声入力受付不可能状態になる。
【0143】
このため、音声入力が終了するたびに、機器140の状態を音声入力受付不可能状態にするための操作を行う必要がある音声対話システムに比べて、音声対話システム100は、音声入力に伴ってユーザが行う必要がある操作の回数が低減されている。
<実施の形態2>
<概要>
以下、本発明に係る音声対話方法の一態様、及び本発明に係る機器の一態様として、実施の形態1における音声対話システム100の一部が変形された第1変形音声対話システムについて説明する。
【0144】
実施の形態1における音声対話システム100は、機器140が、ユーザによって音声入力開始操作がなされると、その操作がなされた時点から所定時間T1が経過するまでの期間、音声入力が可能な状態となる構成の例であった。
【0145】
これに対して、実施の形態2における第1変形音声対話システムは、各機器が、上記期間に加えて、応答音声データに基づく音声を出力した場合において、その出力を行った時点から所定時間T1が経過するまでの期間にも、音声入力が可能な状態となる構成の例となっている。
【0146】
以下、この第1変形音声対話システムの詳細について、実施の形態1における音声対話システム100との相違点を中心に、図面を参照しながら説明する。
【0147】
<構成>
第1変形音声対話システムは、実施の形態1における音声対話システム100から、機器140が、機器1300に変更されるように変形されている。
【0148】
機器1300は、実施の形態1における機器140から、ハードウエアとしては変更されていないが、実行対象として記憶するソフトウエアの一部が変更されている。そして、このことによって、機器1300は、実施の形態1における機器140から、その機能の一部が変更されるように変形されている。
【0149】
図13は、機器1300の機能構成を示すブロック図である。
【0150】
同図に示されるように、機器1300は、実施の形態1における機器140(
図2参照)から、制御部210が、制御部1310に変更されるように変形されている。
【0151】
制御部1310は、実施の形態1における制御部210から、制御部210の有する機能のうち、音声入力部状態管理機能が、以下に述べる第1変形音声入力部状態管理機能に変更され、第1機器処理実現機能が、以下に述べる第2機能処理実現機能に変更されるように変形されている。
【0152】
第1変形音声入力部状態管理機能とは、実施の形態1における音声入力部状態管理機能と同様に、音声入力受付可能状態と、音声入力受付不可能状態とのいずれかとなる音声入力部220の状態(すなわち、「ステート」)を管理する機能であって、その状態遷移条件の一部が、実施の形態1における音声入力部状態管理機能から変更されている。
【0153】
図14は、制御部1310によって管理されるステートの状態遷移図である。
【0154】
同図に示されるように、制御部1310は、ステートが、音声入力受付不可能状態である場合において、(1)操作受付部230によって音声入力開始操作が受け付けられる、又は、音声出力部260によって、応答音声データに基づく音声のうちの所定の音声を除く音声が出力されるまでは、音声入力受付不可能状態を維持し、(2)操作受付部230によって音声入力開始操作が受け付けられる、又は、音声出力部260によって、応答音声データに基づく音声のうちの所定の音声を除く音声が出力されると、ステートを、音声入力受付可能状態へと遷移させる。そして、ステートが、音声入力受付可能状態である場合において、(3)ステートが音声入力受付可能状態へと遷移してから所定時間T1(例えば5秒)経過するまでは、音声入力受付可能状態を維持し、(4)所定時間T1経過すると、ステートを、音声入力受付不可能状態へと遷移させる。
【0155】
ここで、応答音声データに基づく音声のうちの所定の音声とは、予め定められた、新たな音声入力を必要としない旨を示す音声であり、例えば、「終了します。」という音声である。以下、この音声のことを「対話終了音声」とも呼ぶ。
【0156】
なお、機器1300が起動された時点では、制御部1310は、ステートを音声入力受付不可能状態として管理を開始する。
【0157】
再び
図13に戻って、制御部1310の説明を続ける。
【0158】
第2機能御処理実現機能とは、制御部1310が、音声入力部220と、操作受付部230と、通信部250と、音声出力部260と、表示部270と、実行部280とを制御して、機器1300に、その特徴的な動作である第2機器処理を実行させることで、機器1300に、(1)ユーザによって音声入力開始操作がなされると、(2)ユーザからの音声による入力を受け付けて入力音声データを生成し、(3)生成した入力音声データを音声対話エージェントに送信し、(4)音声対話エージェントから返信された応答音声データを受信して、(5)受信した応答音声データに基づく音声を出力し、(6)その音声が対話終了音声でなければ、ユーザによって音声入力開始操作がなされなくても、再び(2)以下の処理を繰り返すという一連の処理を実現させる機能である。
【0159】
なお、第2機器処理については、後程<第2機器処理>の項目において、フローチャートを用いて詳細に説明する。
【0160】
以上のように構成される第1変形音声対話システムの行う動作について、以下、図面を参照しながら説明する。
【0161】
<動作>
第1変形音声対話システムは、その特徴的な動作として、実施の形態1における第1エージェント処理に加えて、実施の形態1における第1機器処理から、その処理の一部が変更された第2機器処理を行う。
【0162】
以下、この第2機器処理について、第1機器処理からの変更点を中心に説明する。
【0163】
<第2機器処理>
第2機器処理は、機器1300が行う処理であって、(1)ユーザによって音声入力開始操作がなされると、(2)ユーザからの音声による入力を受け付けて入力音声データを生成し、(3)生成した入力音声データを音声対話エージェントに送信し、(4)音声対話エージェントから返信された応答音声データを受信して、(5)受信した応答音声データに基づく音声を出力し、(6)その音声が対話終了音声でなければ、ユーザによって音声入力開始操作がなされなくても、再び(2)以下の処理を繰り返す処理である。
【0164】
図15は、第2機器処理のフローチャートである。
【0165】
第2機器処理は、機器1300が起動されたことで開始される。
【0166】
機器1300が起動された時点で、制御部1310によって管理されるステートは、音声入力受付不可能状態となる。
【0167】
同図において、ステップS1500〜ステップS1580の処理は、実施の形態1における第1機器処理(
図6参照)のステップS600〜ステップS680の処理と同様の処理である。よって、これらの処理については説明済みである。
【0168】
ステップS1580の処理が終了すると、制御部1310は、ステップS1580の処理において音声出力部260によって出力された音声が、対話終了音声であるか否かを調べる(ステップS1585)。この処理は、一例として、ステップS1560:Yesの処理において受信された応答テキストが、予め定められた文字列(例えば、「終了します。」という文字列)であるか否かを調べることで実現される。
【0169】
ステップS1585の処理において、対話終了音声でない場合に(ステップS1585:No)、制御部1310は、ステートを、音声入力受付不可能状態から音声入力受付可能状態に遷移させて(ステップS1590)、表示部270に、音声入力受付可能状態である旨を表示させる(ステップS1595)。
【0170】
ステップS1595の処理が終了すると、機器1300は、ステップS1530の処理に戻って、ステップS1530以下の処理を繰り返す。
【0171】
ステップS1585の処理において、対話終了音声である場合に(ステップS1585:Yes)、機器1300は、その第2機器処理を終了する。
【0172】
上記構成の第1変形音声対話システムが行う動作の具体例について、以下、図面を用いて説明する。
【0173】
<具体例>
図16は、第1変形音声対話システムを利用するユーザが、機器1300(ここでは、仮に、スマートフォンであるとする。)を用いて、音声対話エージェント400と音声を用いた対話を行い、音声対話エージェント400が、その対話の内容が反映された処理を行っている様子を模式的に示す処理手順図である。
【0174】
ここでは、対話終了音声が、「終了します。」という音声であるとして説明する。
【0175】
同図において、ステップS1600〜ステップS1615の処理と、ステップS1630〜ステップS1635の処理と、ステップS1650〜ステップS1655の処理と、ステップS1660〜ステップS1670の処理とは、それぞれ、実施の形態1における具体例(
図10参照)の、ステップS1000〜ステップS1015の処理と、ステップS1030〜ステップS1035の処理と、ステップS1050〜ステップS1055の処理と、ステップS1060〜ステップS1070の処理と同様の処理である。よって、これらの処理については説明済みである。
【0176】
ステップS1615の処理が終了すると、「どちらの部屋の温度でしょうか?」という音声は、対話終了音声でないので(
図15のステップS1585:Noに対応)、ステートが音声入力受付可能状態へと遷移して(ステップS1625、
図15のステップS1590に対応)、機器1300は、第1音声入力処理を行う(ステップS1630:
図15のステップS1530に対応)。
【0177】
ステップS1635の処理が終了すると、「リビングの温度は28度です。他に何かありますか?」という音声は、対話終了音声でないので(
図15のステップS1585:Noに対応)、ステートが音声入力受付可能状態へと遷移して(ステップS1645、
図15のステップS1590に対応)、機器1300は、第1音声入力処理を行う(ステップS1650:
図15のステップS1530に対応)。
【0178】
ステップS1635の処理が終了すると、「終了します。」という音声は、対話終了音声なので(
図15のステップS1585:Yesに対応)、ステートが音声入力受付可能状態へと遷移されずに、機器1300は、第2機器処理を終了する。
【0179】
<考察>
上記構成の第1変形音声対話システムによると、機器1300は、音声対話エージェント400から送られてきた応答音声データに基づく音声を出力した場合に、その音声が対話終了音声でなければ、機器1300を利用するユーザによって音声入力操作がなされなくとも、音声入力受付可能状態となる。
【0180】
このため、ユーザは、機器1300に対して、一旦、音声入力開始操作を行えば、対話終了音声が出力されるまでは、応答音声データに基づく音声が出力されてから所定期間T1が経過するまでの期間において、機器1300に対して新たに音声入力操作を行わなくとも、新たな音声入力を行うことができる。
【0181】
このように、第1変形音声対話システムは、実施の形態1における音声対話システム100よりも、さらに、音声入力に伴ってユーザが行う必要がある操作の回数が低減されている。
<実施の形態3>
<概要>
以下、本発明に係る音声対話方法の一態様、及び本発明に係る機器の一態様として、実施の形態1における音声対話システム100の一部が変形された第2変形音声対話システムについて説明する。
【0182】
実施の形態1における音声対話システム100は、機器140が、ユーザによって音声入力開始操作がなされると、その操作がなされた時点から所定時間T1が経過するまでの期間、音声入力が可能な状態となる構成の例であった。
【0183】
これに対して、実施の形態3における第2変形音声対話システムは、各機器が、ユーザによって音声入力開始操作がなされると、その操作がなされた時点から、対話終了音声を出力するまでの期間、音声入力が可能な状態となる構成の例となっている。
【0184】
以下、この第2変形音声対話システムの詳細について、実施の形態1における音声対話システム100との相違点を中心に、図面を参照しながら説明する。
【0185】
<構成>
第2変形音声対話システムは、実施の形態1における音声対話システム100から、機器140が、機器1700に変更されるように変形されている。
【0186】
機器1700は、実施の形態1における機器140から、ハードウエアとしては変更されていないが、実行対象として記憶するソフトウエアの一部が変更されている。そして、このことによって、機器1700は、実施の形態1における機器140から、その機能の一部が変更されるように変形されている。
【0187】
図17は、機器1700の機能構成を示すブロック図である。
【0188】
同図に示されるように、機器1700は、実施の形態1における機器140(
図2参照)から、制御部210が、制御部1710に変更されるように変形されている。
【0189】
制御部1710は、実施の形態1における制御部210から、制御部210の有する機能のうち、音声入力部状態管理機能が、以下に述べる第2変形音声入力部状態管理機能に変更され、第1機器処理実現機能が、以下に述べる第3機能処理実現機能に変更されるように変形されている。
【0190】
第2変形音声入力部状態管理機能とは、実施の形態1における音声入力部状態管理機能、実施の形態2における第1変形音声入力部状態管理機能と同様に、音声入力受付可能状態と、音声入力受付不可能状態とのいずれかとなる音声入力部220の状態(すなわち、「ステート」)を管理する機能であって、その状態遷移条件の一部が、実施の形態1における音声入力部状態管理機能から変更されている。
【0191】
図18は、制御部1710によって管理されるステートの状態遷移図である。
【0192】
同図に示されるように、制御部1710は、ステートが、音声入力受付不可能状態である場合において、(1)操作受付部230によって音声入力開始操作が受け付けられるまでは、音声入力受付不可能状態を維持し、(2)操作受付部230によって音声入力開始操作が受け付けられると、ステートを、音声入力受付可能状態へと遷移させる。そして、ステートが、音声入力受付可能状態である場合において、(3)音声出力部260によって対話終了音声(例えば、「終了します。」という音声)が出力されるまでは、音声入力受付可能状態を維持し、(4)音声出力部260によって対話終了音声が出力されると、ステートを、音声入力受付不可能状態へと遷移させる。
【0193】
再び
図17に戻って、制御部1710の説明を続ける。
【0194】
第3機能御処理実現機能とは、制御部1710が、音声入力部220と、操作受付部230と、通信部250と、音声出力部260と、表示部270と、実行部280とを制御して、機器1700に、その特徴的な動作である第3機器処理を実行させることで、機器1700に、(1)ユーザによって音声入力開始操作がなされると、(2)ユーザからの音声による入力を受け付けて入力音声データを生成し、(3)生成した入力音声データを音声対話エージェントに送信し、(4)音声対話エージェントから返信された応答音声データを受信して、(5)受信した応答音声データに基づく音声を出力し、(6)その音声が対話終了音声でなければ、ユーザによって音声入力開始操作がなされなくても、再び(2)以下の処理を繰り返すという一連の処理を実現させる機能である。
【0195】
なお、第3機器処理については、後程<第3機器処理>の項目において、フローチャートを用いて詳細に説明する。
【0196】
以上のように構成される第2変形音声対話システムの行う動作について、以下、図面を参照しながら説明する。
【0197】
<動作>
第2変形音声対話システムは、その特徴的な動作として、実施の形態1における第1エージェント処理に加えて、実施の形態1における第1機器処理から、その処理の一部が変更された第3機器処理を行う。
【0198】
以下、この第3機器処理について、第1機器処理からの変更点を中心に説明する。
【0199】
<第3機器処理>
第3機器処理は、機器1700が行う処理であって、(1)ユーザによって音声入力開始操作がなされると、(2)ユーザからの音声による入力を受け付けて入力音声データを生成し、(3)生成した入力音声データを音声対話エージェントに送信し、(4)音声対話エージェントから返信された応答音声データを受信して、(5)受信した応答音声データに基づく音声を出力し、(6)その音声が対話終了音声でなければ、ユーザによって音声入力開始操作がなされなくても、再び(2)以下の処理を繰り返す処理である。
【0200】
図19は、第3機器処理のフローチャートである。
【0201】
第3機器処理は、機器1700が起動されたことで開始される。
【0202】
機器1700が起動された時点では、制御部1710によって管理されるステートは、音声入力受付不可能状態となっている。
【0203】
同図において、ステップS1900〜ステップS1920の処理と、ステップS1940〜ステップS1980の処理とは、それぞれ、実施の形態1における第1機器処理(
図6参照)のステップS600〜ステップS620の処理と、ステップS640〜ステップS680の処理と同様の処理である。よって、これらの処理については説明済みである。
【0204】
ステップS1920の処理が終了すると、機器1700は、第2音声入力処理を実行する(ステップS1930)。
【0205】
図20は、第2音声入力処理のフローチャートである。
【0206】
第2音声入力処理が開始されると、音声入力部220は、ユーザによる音声入力を受け付けて入力音声データを生成する(ステップS2000)。
【0207】
そして、制御部1910は、通信部250を制御して、音声対話エージェント400に対して、音声入力部220によって生成された入力音声データを送信させる(ステップS2040)。
【0208】
ステップS2040の処理が終了すると、機器1700は、その第2音声入力処理を終了する。
【0209】
再び
図19に戻って、第3機器処理の説明を続ける。
【0210】
第2音声入力処理が終了すると、機器1900は、ステップS1940の処理に進んで、ステップS1940以下の処理を行う。
【0211】
ステップS1980の処理が終了すると、制御部1710は、ステップS1980の処理において、音声出力部260によって出力された音声が、対話終了音声であるか否かを調べる(ステップS1985)。この処理は、一例として、ステップS1960:Yesの処理において受信された応答テキストが、予め定められた文字列(例えば、「終了します。」という文字列)であるか否かを調べることで実現される。
【0212】
ステップS1985の処理において、対話終了音声でない場合に(ステップS1985:No)、機器1900は、ステップS1930の処理に戻って、ステップS1930以下の処理を繰り返す。
【0213】
ステップS1985の処理において、対話終了音声である場合に(ステップS1585:Yes)、制御部1710は、ステートを、音声入力受付可能状態から音声入力受付不可能状態に遷移させる(ステップS1990)。
【0214】
ステップS1990の処理が終了すると、機器1900は、その第3機器処理を終了する。
【0215】
上記構成の第2変形音声対話システムが行う動作の具体例について、以下、図面を用いて説明する。
【0216】
<具体例>
図21は、第2変形音声対話システムを利用するユーザが、機器1700(ここでは、仮に、スマートフォンであるとする。)を用いて、音声対話エージェント400と音声を用いた対話を行い、音声対話エージェント400が、その対話の内容が反映された処理を行っている様子を模式的に示す処理手順図である。
【0217】
ここでは、対話終了音声が、「終了します。」という音声であるとして説明する。
【0218】
同図において、ステップS2100の処理と、ステップS2105の処理と、ステップS2115の処理と、ステップS2135の処理と、ステップS2155の処理と、ステップS2160〜ステップS2170の処理とは、それぞれ、実施の形態1における具体例(
図10参照)の、ステップS1000の処理と、ステップS1005の処理と、ステップS1015の処理と、ステップS1035の処理と、ステップS1055の処理と、ステップS1060〜ステップS1070の処理と同様の処理である。よって、これらの処理については説明済みである。
【0219】
ステップS2105の処理が終了すると、機器1700は、第2音声処理を行う(ステップS2110、
図19のステップS1930に対応)。
【0220】
この第2音声入力処理において、ユーザが、「部屋の温度は?」との音声を入力したとすると、機器1700は、「部屋の温度は?」という入力音声データを、音声対話エージェント400へ送信する(
図20のステップS2040に対応)。
【0221】
ステップS2115の処理が終了すると、「どちらの部屋の温度でしょうか?」という音声は、対話終了音声でないので(
図19のステップS1985:Noに対応)、機器1700は、第2音声処理を行う(ステップS2130、
図19のステップS1930に対応)。
【0222】
この第2音声入力処理において、ユーザが、「リビング。」との音声を入力したとすると、機器1700は、「リビング。」という入力音声データを、音声対話エージェント400へ送信する(
図20のステップS2040に対応)。
【0223】
ステップS2135の処理が終了すると、「リビングの温度は28度です。他に何かありますか?」という音声は、対話終了音声でないので(
図19のステップS1985:Noに対応)、機器1700は、第2音声処理を行う(ステップS2150、
図19のステップS1930に対応)。
【0224】
この第2音声入力処理において、ユーザが、「ないよ。ありがとう。」との音声を入力したとすると、機器1700は、「ないよ。ありがとう。」という入力音声データを、音声対話エージェント400へ送信する(
図20のステップS2040に対応)。
【0225】
ステップS2135の処理が終了すると、「終了します。」という音声は、対話終了音声なので(
図19のステップS1985:Yesに対応)、ステートが音声入力受付可能状態へと遷移されて(
図19のステップS1990に対応)、機器1700は、第3機器処理を終了する。
【0226】
<考察>
上記構成の第2変形音声対話システムによると、機器1700は、一旦、音声入力開始操作がなされると、その操作がなされた時点から、対話終了音声を出力するまでは、音声入力が可能な状態を維持する。
【0227】
このため、ユーザは、機器1700に対して、一旦、音声入力開始操作を行えば、対話終了音声が出力されるまでは、機器1700に対して新たな音声入力操作を行わなくとも、新たな音声入力を行うことができる。
【0228】
このように、第2変形音声対話システムは、実施の形態1における音声対話システム100よりも、さらに、音声入力に伴ってユーザが行う必要がある操作の回数が低減されている。
<実施の形態4>
<概要>
以下、本発明に係る音声対話方法の一態様、及び本発明に係る機器の一態様として、実施の形態3における第2変形音声対話システムの一部が変形された第3変形音声対話システムについて説明する。
【0229】
実施の形態3における第2変形音声対話システムは、機器1700が音声対話エージェントAとの間で通信を開始すると、一連の処理が終了するまでの間、通信対象の音声対話エージェントが、音声対話エージェントAに限定されている構成の例であった。
【0230】
これに対して実施の形態4における第3変形音声対話システムは、機器が音声対話エージェントAとの間で通信を開始した場合において、第3変形音声対話システムを利用するユーザが、その機器を用いて、他の音声エージェントBとの間で通信を行いたい旨の音声入力を行ったときに、以後、その機器の通信相手は、音声対話エージェントAから、音声対話エージェントBに変更される構成の例となっている。
【0231】
以下、この第3変形音声対話システムの詳細について、実施の形態3における第2変形音声対話システムとの相違点を中心に、図面を参照しながら説明する。
【0232】
<構成>
第3変形音声対話システムは、実施の形態3における第2変形音声対話システムから、音声対話エージェント400が、音声対話エージェント2200に変更されるように変形されている。
【0233】
音声対話エージェント2200は、実施の形態3における音声対話エージェント400と同様に、音声対話エージェントサーバ110によって実現される。
【0234】
音声対話エージェントサーバ110によって実行される、音声対話エージェント2200を実現するためのソフトウエアの一部が、実施の形態3における音声対話エージェント400を実現するためのソフトウエアから変更されている。そして、このことによって、音声対話エージェント2200は、実施の形態3における音声対話エージェント400から、その機能の一部が変更されるように変形されている。
【0235】
図22は、音声対話エージェント2200の機能構成を示すブロック図である。
【0236】
同図に示されるように、音声対話エージェント2200は、実施の形態3における音声対話エージェント400(
図4参照)から、対象エージェントDB記憶部2220が追加され、制御部410が、制御部2210に変更されるように変形されている。
【0237】
対象エージェントDB記憶部2220は、一例として、メモリと、プログラムを実行するプロセッサとによって実現され、制御部2210に接続され、対象エージェントDB2300を記憶する機能を有する。
【0238】
図23は、対象エージェントDB記憶部2220に記憶される対象エージェントDB2300のデータ構成図である。
【0239】
同図に示される通り、対象エージェントDB2300は、キーワード2310と、対象エージェント2320と、IPアドレス2330とが対応付けられて構成される。
【0240】
キーワード2310は、音声認識処理部430によって変換された入力テキストに含まれると想定される文字列である。
【0241】
対象エージェント2320は、機器140の通信対象となる、音声対話エージェント2200の中の1つ(以下、この1つのことを「追加音声対話エージェント」と呼ぶ。)を特定する情報である。
【0242】
この例では、対象エージェント2320によって特定される追加音声対象エージェントには、車エージェントと、小売店エージェントと、家エージェントとが含まれる構成の例となっている。
【0243】
ここで、車エージェントとは、車に搭載された機器について提供されるサービスが比較的充実している音声対話エージェント2200であり、小売店エージェントとは、小売店に配置された機器について提供されるサービスが比較的充実している音声対話エージェント2200であり、家エージェントとは、住宅(家)に配置された機器について提供されるサービスが比較的充実している音声対話エージェント2200であるとしている。
【0244】
IPアドレス2330は、対応付けられている対象エージェント2320によって特定される追加音声対話エージェントを実現する音声対話エージェントサーバ110についての、ネットワーク120におけるIPアドレスである。
【0245】
図23に示されるように、1つの対象エージェント2320には、1又は複数のキーワード2310が対応付けられている。一例として、「車エージェント」には、「車内」、「車」、「カー」、「ナビ」といったキーワード2310が対応付けられている。
【0246】
1つの対象エージェント2320に対して、複数のキーワード2310が対応付けられていることで、音声対話エージェント2200は、入力の曖昧さに対応することができる。
【0247】
例えば、ユーザは、車エージェントとの間で通信を行いたい場合に、「ナビの音声対話エージェントに接続して。」と音声入力する場合もあるし、「車の音声対話エージェントに接続して。」と音声入力する場合もある。
【0248】
ここでは、「ナビ」と「車」とが、共に「車エージェント」に対応付けられているため、音声対話エージェント2200は、対象エージェントDB2300を参照することで、どちらの音声入力の場合でも、対象エージェント2320が車エージェントであると特定することができる。
【0249】
再び
図22に戻って、音声対話エージェント2200の説明を続ける。
【0250】
制御部2210は、実施の形態3における制御部410から、制御部410が有する機能のうち、第1エージェント処理実現機能が、以下に述べる第2エージェント処理実現機能と、以下に述べる第3エージェント処理実現機能とに変更されるように変形されている。
【0251】
第2エージェント処理実現機能とは、制御部2210が、通信部420と、音声認識処理部430と、音声合成処理部450と、命令生成部460とを制御して、音声対話エージェント2200に、その特徴的な動作である第2エージェント処理を実行させることで、音声対話エージェント2200に、(1)機器から送信された入力音声データを受信し、(2)受信した入力音声データに対して音声認識処理を行って、入力テキストを生成して機器に返信し、(3)生成した入力テキストが、他の音声対話エージェントとの間で通信を行いたい旨を示すものである場合に、機器とその音声対話エージェントとの間の通信を実現させ、(4)そうでない場合に、生成した入力テキストに基づいて命令群を生成して実行し、(5)実行結果に基づいて応答テキストを生成し、(6)生成した応答テキストを応答音声データに変換して、(7)応答テキストと応答音声データとを機器に返信するという一連の処理を実現させる機能である。
【0252】
なお、第2エージェント処理は、後程<第2エージェント処理>の項目において、フローチャートを用いて詳細に説明する。
【0253】
第3エージェント処理実現機能とは、制御部2210が、通信部420と、音声認識処理部430と、音声合成処理部450と、命令生成部460とを制御して、音声対話エージェント2200に、その特徴的な動作である第3エージェント処理を実行させることで、音声対話エージェント2200に、(1)他の音声入力エージェントからの要求に応じて機器との通信を開始し、(2)機器から送信された入力音声データを受信し、(3)受信した入力音声データに対して音声認識処理を行って、入力テキストを生成して機器に返信し、(4)生成した入力テキストに基づいて命令群を生成して実行し、(5)実行結果に基づいて応答テキストを生成し、(6)生成した応答テキストを応答音声データに変換して、(7)応答テキストと応答音声データとを機器に返信するという一連の処理を実現させる機能である。
【0254】
なお、第3エージェント処理は、後程<第3エージェント処理>の項目において、フローチャートを用いて詳細に説明する。
【0255】
以上のように構成される第3変形音声対話システムの行う動作について、以下、図面を参照しながら説明する。
【0256】
<動作>
第3変形音声対話システムは、その特徴的な動作として、実施の形態3における第1機器処理に加えて、実施の形態3における第1エージェント処理から、その処理の一部が変更された、第2エージェント処理と第3エージェント処理とを行う。
【0257】
以下、これら第2エージェント処理と第3エージェント処理とについて、第1エージェント処理からの変更点を中心に説明する。
【0258】
<第2エージェント処理>
第2エージェント処理は、音声対話エージェント2200が行う処理であって、(1)機器から送信された入力音声データを受信し、(2)受信した入力音声データに対して音声認識処理を行って、入力テキストを生成して機器に返信し、(3)生成した入力テキストが、他の音声対話エージェントとの間で通信を行いたい旨を示すものである場合に、機器とその音声対話エージェントとの間の通信を実現させ、(4)そうでない場合に、生成した入力テキストに基づいて命令群を生成して実行し、(5)実行結果に基づいて応答テキストを生成し、(6)生成した応答テキストを応答音声データに変換して、(7)応答テキストと応答音声データとを機器に返信する処理である。
【0259】
図24は、第2エージェント処理のフローチャートである。
【0260】
第2エージェント処理は、音声対話エージェント2200が起動されることで開始される。
【0261】
第2エージェント処理が開始されると、音声対話エージェント2200は、機器1700から送信される入力音声データが、通信部420によって受信されるまで待機する(ステップS2400:Noを繰り返す。)。そして、入力音声データが受信されると(ステップS2400:Yes)、音声対話エージェント2200は、第2命令実行処理を実行する(ステップS2410)。
【0262】
図25は、第2命令実行処理のフローチャートである。
【0263】
同図において、ステップS2500〜ステップS2510の処理と、ステップS2520〜ステップS2560の処理とは、それぞれ、実施の形態3における第1命令実行処理(
図9参照)のステップS900〜ステップS910の処理と、ステップS920〜ステップS960の処理と同様の処理である。よって、これらの処理については説明済みである。
【0264】
ステップS2510の処理が終了すると、制御部2210は、音声認識処理部430によって変換された入力テキストが、他の音声対話エージェントとの通信を要求するものであるか否かを調べる(ステップS2515)。
【0265】
ステップS2515の処理において、他の音声対話エージェントとの通信を要求するものでない場合に(ステップS2515:No)、音声対話エージェント2200は、ステップS2520の処理に進み、ステップS2520〜ステップS2560の処理を行う。
【0266】
ステップS2515の処理において、他の音声対話エージェントとの通信を要求するものである場合に(ステップS2515:Yes)、制御部2210は、対象エージェントDB記憶部2220に記憶されている対象エージェントDB2300を参照して(ステップS2517)、通信先として要求される音声対話エージェント2200を特定する。すなわち、音声認識処理部430によって文字列に変換された入力テキストに含まれるキーワード2310に対応付けられた対象エージェント2320によって特定される追加音声対話エージェントを、通信先として要求される音声対話エージェント2200として特定する。
【0267】
通信先として要求される追加音声対話エージェントが特定されると、制御部2210は、特定された追加音声対象エージェントと、入力音声データの送信元である機器1700との間の通信を開始させる旨を示す所定の信号(以下、この信号を「接続命令」と呼ぶ。)を生成する(ステップS2565)。
【0268】
接続命令が生成されると、制御部2210は、通信部420を制御して、そのキーワード2310に対応付けられているIPアドレス2330を利用して、追加音声対象エージェントに対して、生成された接続命令を送信させる(ステップS2570)。
【0269】
その後、制御部2210は、ステップS2570の処理において送信した接続命令に応答して追加音声対話エージェントから返信される接続応答(後述)が、通信部420によって受信されるまで待機する(ステップS2575:Noを繰り返す。)。
【0270】
接続応答が、通信部420によって受信されると(ステップS2575:Yes)、音声対話エージェント2200は、第1接続応答処理を実行する(ステップS2580)。
【0271】
図26は、第1接続応答処理のフローチャートである。
【0272】
第1接続応答処理が開始されると、制御部2210は、追加音声対話エージェントと機器1700との間の通信が可能となった旨を示す、予め定められた応答テキスト(例えば、「『追加音声対話エージェント』に接続しました。」という文字列。)を生成する(ステップS2600)。
【0273】
ここで、『追加音声対話エージェント』の部分には、対象エージェントDB2300の対象エージェント2320によって特定される音声対話エージェント2200の名称(ここでは、車エージェントと、小売店エージェントと、家エージェントとのうちのいずれか)が挿入されることとする。
【0274】
応答テキストが生成されると、音声合成処理部450は、生成された応答テキストに対して音声合成処理を行い、応答音声データを生成する(ステップS2610)。
【0275】
応答音声データが生成されると、制御部2210は、通信部420を制御して、入力音声データの送信元である機器1700に対して、生成された応答テキストと、生成された応答音声データとを送信させる(ステップS2620)。
【0276】
ステップS2620の処理が終了すると、音声対話エージェント2200は、その第1接続応答処理を終了する。
【0277】
再び
図25に戻って、第2命令実行処理の説明を続ける。
【0278】
第1接続応答処理が終了すると、音声対話エージェント2200は、追加音声対話エージェントから送信される切断応答(後述)が、通信部420によって受信されるまで待機する(ステップS2585:Noを繰り返す。)。
【0279】
切断応答が、通信部420によって受信されると(ステップS2585:Yes)、音声対話エージェント2200は、切断応答処理を実行する(ステップS2590)。
【0280】
図27は切断応答処理のフローチャートである。
【0281】
切断応答処理が開始されると、制御部2210は、追加音声対話エージェントと機器1700との間の通信が終了した旨を示す、予め定められた応答テキスト(例えば、「『追加音声対話エージェント』との接続を切りました。他に何かありますか?」という文字列。)を生成する(ステップS2700)。
【0282】
ここで、『追加音声対話エージェント』の部分には、対象エージェントDB2300の対象エージェント2320によって特定される音声対話エージェント2200の名称(ここでは、車エージェントと、小売店エージェントと、家エージェントとのうちのいずれか)が挿入されることとする。
【0283】
応答テキストが生成されると、音声合成処理部450は、生成された応答テキストに対して音声合成処理を行い、応答音声データを生成する(ステップS2710)。
【0284】
応答音声データが生成されると、制御部2210は、通信部420を制御して、ステップS2400の処理において入力音声データの送信元である機器1700に対して、生成された応答テキストと、生成された応答音声データとを送信させる(ステップS2720)。
【0285】
ステップS2720の処理が終了すると、音声対話エージェント2200は、その切断応答処理を終了する。
【0286】
再び
図25に戻って、第2命令実行処理の説明を続ける
切断応答処理が終了した場合、又は、ステップS2560の処理が終了した場合に、音声対話エージェント2200は、その第2命令実行処理を終了する。
【0287】
再び
図24に戻って、第2エージェント処理の説明を続ける。
【0288】
第2命令実行処理が終了すると、音声対話エージェント2200は、再びステップS2400の処理に戻って、ステップS2400以下の処理を続ける。
【0289】
<第3エージェント処理>
第3エージェント処理は、音声対話エージェント2200が行う処理であって、(1)他の音声入力エージェントからの要求に応じて機器との通信を開始し、(2)機器から送信された入力音声データを受信し、(3)受信した入力音声データに対して音声認識処理を行って、入力テキストを生成して機器に返信し、(4)生成した入力テキストに基づいて命令群を生成して実行し、(5)実行結果に基づいて応答テキストを生成し、(6)生成した応答テキストを応答音声データに変換して、(7)応答テキストと応答音声データとを機器に返信する処理である。
【0290】
図28は、第3エージェント処理のフローチャートである。
【0291】
同図において、ステップS2800〜ステップS2810の処理と、ステップS2820〜ステップS2860の処理とは、それぞれ、実施の形態1における第1命令実行処理(
図9参照)のステップS900〜ステップS910の処理と、ステップS920〜ステップS960の処理と同様の処理である。よって、これらの処理については説明済みである。
【0292】
第3エージェント処理は、音声対話エージェント2200が起動されることで開始される。
【0293】
第3エージェント処理が開始されると、音声対話エージェント2200は、他の音声対話エージェントから送信される接続命令が、通信部420によって受信されるまで待機する(ステップS2811:Noを繰り返す。)。そして、接続命令が受信されると(ステップS2811:Yes)、制御部2210は、通信部420を制御して、接続命令において通信対象とされる機器1700との間の通信を開始する接続処理を実行する。
【0294】
ここで、この接続処理には、機器1700が送信する入力音声データの送信先を、接続命令を送信した音声対話エージェント2200から、接続命令を受信した音声対話エージェント2200へと変更させる処理を含んでいる。
【0295】
接続処理が実行されると、制御部2210は、通信部420を制御して、機器1700との間の通信が開始された旨を示す信号である接続応答を生成して、生成した接続応答を、接続命令の送信元である音声対話エージェントへ送信する(ステップS2813)。
【0296】
その後、制御部2210は、機器1700から送信される入力音声データが、通信部420によって受信されるまで待機する(ステップS2814:Noを繰り返す)。そして、入力音声データが受信されると(ステップS2814:Yes)、ステップS2800〜ステップS2810の処理を実行する。
【0297】
ステップS2810の処理が終了すると、制御部2210は、音声認識処理部430によって変換された入力テキストが、自音声対話エージェントとの通信を終了する旨のものであるか否かを調べる(ステップS2815)。
【0298】
ステップS2815の処理において、自音声対話エージェントとの通信を終了する旨のものでない場合に(ステップS2815:No)、音声対話エージェント2200は、ステップS2820の処理に進んで、ステップS2820〜ステップS2860の処理を行う。そして、ステップS2860の処理が終了すると、音声対話エージェント2200は、再びステップS2814の処理に戻って、ステップS2814以下の処理を行う。
【0299】
ステップS2815の処理において、自音声対話エージェントとの通信を終了する旨のものである場合に(ステップS2815:Yes)、制御部2210は、通信部420を制御して、機器1700との間の通信を終了する切断処理を実行する。
【0300】
ここで、この切断処理には、機器1700が送信する入力音声データの送信先を、接続命令を受信した音声対話エージェント2200から、接続命令を送信した音声対話エージェント2200へと変更させる処理を含んでいる。
【0301】
切断処理が実行されると、制御部2210は、通信部420を制御して、機器1700との間の通信が終了された旨を示す所定の信号である切断応答を生成して、生成した切断応答を、接続命令の送信元である音声対話エージェントへ送信する(ステップS2890)。
【0302】
ステップS2890の処理が終了すると、音声対話エージェント2200は、ステップS2811の処理に戻って、ステップS2811以下の処理を行う。
【0303】
上記構成の第3変形音声対話システムが行う動作の具体例について、以下、図面を用いて説明する。
【0304】
<具体例>
図29は、第3変形音声対話システムを利用するユーザが、機器1700を用いて、音声対話エージェント2200のうちの1つである家エージェントと音声を用いた対話を開始し、その後、家エージェントによって生成された接続命令によって、音声対話エージェント2200のうちの他の1つである車エージェントとの間の通信が開始されて、そのユーザが、車エージェントとの対話を行う様子を模式的に示す処理手順図である。
【0305】
ここでは、ユーザの利用する機器1700の特定音声対話エージェントサーバが、家エージェントを実現する音声対話エージェントサーバ110であり、対話終了音声が、「終了します。」という音声であるとして説明する。
【0306】
同図において、ステップS2900〜ステップS2905の処理は、それぞれ、実施の形態3における具体例(
図21参照)の、ステップS2100〜ステップS2105の処理と同様の処理である。よって、これらの処理については説明済みである。
【0307】
ステップS2905の処理が終了すると、機器1700は、第2音声処理を行う(ステップS2906、
図19のステップS1930に対応)。
【0308】
この第2音声入力処理において、ユーザが、「車エージェントに接続して。」との音声を入力したとすると、機器1700は、「車エージェントに接続して。」という入力音声データを、家エージェントに送信する(
図20のステップS2040に対応)。
【0309】
すると、家エージェントは、その入力音声データを受信して(
図24のステップS2400:Yesに対応)、第2命令実行処理を実行する(
図24のステップS2410に対応)。
【0310】
第2命令実行処理において、入力テキストが、車エージェントとの通信要求であるので(
図25のステップS2515:Yesに対応)、家エージェントは、車エージェントに対して、接続命令を送信する(
図25のステップS2570に対応)。
【0311】
すると、車エージェントは、接続命令を受信し(
図28のステップS2811:Yesに対応)、機器1700との間の通信を開始して(
図28のステップS2812に対応)、家エージェントに、接続応答を送信する(ステップS2990、
図28のステップS2813に対応)。
【0312】
すると、家エージェントは、接続応答を受信し(
図25のステップS2575:Yesに対応)、第1接続応答処理を実行する(ステップS2965、
図25のステップS2580に対応)。
【0313】
ここで、この第1接続応答処理において、音声対話エージェント2200が、「車エージェントに接続しました。」という応答音声データを生成したとすると、音声対話エージェント2200は、機器1700に、「車エージェントに接続しました。」という応答音声データを送信する(
図26のステップS2620に対応)。
【0314】
すると、機器1700は、その応答音声データを受信して(
図19のステップS1960:Yesに対応)、「車エージェントに接続しました。」という音声を出力する(ステップS2907、
図19のステップS1980に対応)。
【0315】
そして、「車エージェントに接続しました。」という音声は、対話終了音声でないので(
図19のステップS1985:Noに対応)、機器1700は、第2音声処理を行う(ステップS2910、
図19のステップS1930に対応)。
【0316】
この第2音声入力処理において、ユーザが、「車内の温度は?」との音声を入力したとすると、機器1700は、「車内の温度は?」という入力音声データを、車エージェントへ送信する(
図20のステップS2040に対応)。
【0317】
すると、車エージェントは、その入力音声データを受信して(
図28のステップS2814:Yesに対応)、その音声データが通信終了を要求するものではないため(
図28のステップS2815:Noに対応)、その入力音声データに対応する命令群を生成して実行する(ステップS2994、
図28のステップS2830に対応)。
【0318】
ここで、この命令群の実行において、車エージェントが、「車内の温度は38度です。他に何かありますか?」という応答音声データを生成したとすると、車エージェントは、機器1700に、「車内の温度は38度です。他に何かありますか?」という応答音声データを送信する(
図28のステップS2860に対応)。
【0319】
すると、機器1700は、その応答音声データを受信して(
図19のステップS1960:Yesに対応)、「車内の温度は38度です。他に何かありますか?」という音声を出力する(ステップS2915、
図19のステップS1980に対応)。
【0320】
そして、「車内の温度は38度です。他に何かありますか?」という音声は、対話終了音声でないので(
図19のステップS1985:Noに対応)、機器1700は、第2音声処理を行う(ステップS2930、
図19のステップS1930に対応)。
【0321】
この第2音声入力処理において、ユーザが、「ないよ。ありがとう。」との音声を入力したとすると、機器1700は、「ないよ。ありがとう。」という入力音声データを、車エージェントへ送信する(
図20のステップS2040に対応)。
【0322】
すると、車エージェントは、その入力音声データを受信して(
図28のステップS2814:Yesに対応)、その音声データが通信終了を要求するものであるため(
図28のステップS2815:Yesに対応)、機器1700との間の通信を終了して(
図28のステップS2870に対応)、家エージェントに切断応答を送信する(ステップS2998、
図28のステップS2890に対応)。
【0323】
すると、家エージェントは、その切断応答を受信して(
図25のステップS2585:Yesに対応)、切断応答処理を実行する(ステップS2970、
図25のステップS2890の処理に対応)。
【0324】
ここで、この切断処理において、音声対話エージェント2200が、「車エージェントとの接続を切りました。他に何かありますか?」という応答音声データを生成したとすると、音声対話エージェント2200は、機器1700に、「車エージェントとの接続を切りました。他に何かありますか?」という応答音声データを送信する(
図27のステップS2720に対応)。
【0325】
すると、機器1700は、その応答音声データを受信して(
図19のステップS1960:Yesに対応)、「車エージェントとの接続を切りました。他に何かありますか?」という音声を出力する(ステップS2935、
図19のステップS1980に対応)。
【0326】
そして、「車エージェントとの接続を切りました。他に何かありますか?」という音声は、対話終了音声でないので(
図19のステップS1985:Noに対応)、機器1700は、第2音声処理を行う(ステップS2950、
図19のステップS1930に対応)。
【0327】
この第2音声入力処理において、ユーザが、「ないよ。ありがとう。」との音声を入力したとすると、機器1700は、「ないよ。ありがとう。」という入力音声データを、家エージェントへ送信する(
図20のステップS2040に対応)。
【0328】
すると、家エージェントは、その入力音声データを受信して(
図24のステップS2800:Yesに対応)、第2命令実行処理を実行する(ステップS2975、
図24のステップS2410に対応)。
【0329】
ここで、この第2命令実行処理において、家エージェントが、「終了します。」という応答音声データを生成したとすると、家エージェントは、機器1700に、「終了します。」という応答音声データを送信する(
図25のステップS2560に対応)。
【0330】
すると、機器1700は、その応答音声データを受信して(
図19のステップS1960:Yesに対応)、「終了します。」という音声を出力する(ステップS2955、
図19のステップS1980に対応)。
【0331】
「終了します。」という音声は、対話終了音声なので(
図19のステップS1985:Yesに対応)、ステートが音声入力受付可能状態へと遷移されて(
図19のステップS1990に対応)、機器1700は、第3機器処理を終了する。
【0332】
<考察>
上記構成の第3変形音声対話システムによると、第3変形音声対話システムを利用するユーザは、音声対話エージェントAと通信している場合において、音声対話エージェントAよりも、音声対話エージェントBに処理を行わせる方が望ましいと考えたときに、通信して処理させる音声対話エージェントを、音声対話エージェントAから音声対話エージェントBに変更して、所望の処理を音声対話エージェントBに実行させることができるようになる。
【0333】
また、この場合には、音声対話エージェントAは、入力音声を、そのまま音声対話エージェントBに転送することになるので、音声対話エージェントBは、その入力音声そのものに対して音声認識処理を行うことができる。このため、ユーザは、音声対話エージェントBから、より適切なサービスの提供を受けることができるようになる。
<実施の形態5>
<概要>
以下、本発明に係る音声対話方法の一態様、及び本発明に係る機器の一態様として、実施の形態4における第3変形音声対話システムの一部が変形された第4変形音声対話システムについて説明する。
【0334】
実施の形態4における第3変形音声対話システムは、機器が音声対話エージェントAとの間で通信を開始した場合において、第3変形音声対話システムを利用するユーザが、その機器を用いて、他の音声エージェントBとの間で通信を行いたい旨の音声入力を行ったときに、以後、その機器の通信相手は、音声対話エージェントAから、音声対話エージェントBに変更される構成の例であった。
【0335】
これに対して実施の形態5における第4変形音声対話システムは、機器が音声対話エージェントAとの間で通信を開始した場合において、その通信内容において所定の条件が満たされるときに、音声対話エージェントAが、ユーザの利用する音声対話エージェントとして、自音声対話エージェントAよりも、他の音声対話エージェントBの方を通信相手とすべきであると判定して、以後、その機器の通信相手が、音声対話エージェントAから、音声対話エージェントBに変更される構成の例となっている。
【0336】
以下、この第4変形音声対話システムの詳細について、実施の形態4における第3変形音声対話システムとの相違点を中心に、図面を参照しながら説明する。
【0337】
<構成>
第4変形音声対話システムは、実施の形態4における第3変形音声対話システムから、音声対話エージェント2200が、音声対話エージェント3000に変更されるように変形されている。
【0338】
音声対話エージェント3000は、実施の形態4における音声対話エージェント2200と同様に、音声対話エージェントサーバ110によって実現される。
【0339】
音声対話エージェントサーバ110によって実行される、音声対話エージェント3000を実現するためのソフトウエアの一部が、実施の形態3における音声対話エージェント2200を実現するためのソフトウエアから変更されている。そして、このことによって、音声対話エージェント3000は、実施の形態4における音声対話エージェント2200から、その機能の一部が変更されるように変形されている。
【0340】
図30は、音声対話エージェント3000の機能構成を示すブロック図である。
【0341】
同図に示されるように、音声対話エージェント3000は、実施の形態4における音声対話エージェント2200(
図22参照)から、対象エージェントDB記憶部2220が削除され、利用可能サービスDB記憶部3020が追加され、制御部2210が、制御部3010に変更されるように変形されている。
【0342】
利用可能サービスDB記憶部3020は、一例として、メモリと、プログラムを実行するプロセッサとによって実現され、制御部3010に接続され、利用可能サービスDB3100を記憶する機能を有する。
【0343】
図31は、利用可能サービスDB記憶部3020に記憶される利用可能サービスDB3100のデータ構成図である。
【0344】
同図に示されるように、利用可能サービスDB3100は、キーワード3110と、対象エージェント3120と、処理内容3130と、IPアドレス3140と、利用可否3150とが対応付けられて構成される。
【0345】
キーワード3110は、音声認識処理部430によって変換された入力テキストに含まれると想定される文字列である。
【0346】
対象エージェント3120は、機器1700の通信対象となる、追加音声対話エージェントを特定する情報である。
【0347】
この例では、実施の形態4と同様に、対象エージェント2320によって特定される追加音声対象エージェントには、車エージェントと、小売店エージェントと、家エージェントとが含まれる構成の例となっている。
【0348】
処理内容3130は、音声認識処理部430によって変換された入力テキストに、対応付けられているキーワード3110が含まれている場合に、対応付けられている対象エージェント3120によって特定される追加音声対話エージェントによって実行される対象となる処理の内容を示す情報である。
【0349】
IPアドレス3140は、対応付けられている対象エージェント3120によって特定される追加音声対話エージェントを実現する音声対話エージェントサーバ110についての、ネットワーク120におけるIPアドレスである。
【0350】
利用可否3150は、対応付けられている処理内容3130によって示される内容の処理を、自音声対話エージェントで処理することが可能か否かを示す情報である。
【0351】
再び
図30に戻って、音声対話エージェント3000の説明を続ける。
【0352】
制御部3010は、実施の形態4における制御部2210から、制御部2210が有する機能のうち、第2エージェント処理実現機能が、以下に述べる第4エージェント処理実現機能に変更されるように変形されている。
【0353】
第4エージェント処理実現機能とは、制御部3010が、通信部420と、音声認識処理部430と、音声合成処理部450と、命令生成部460とを制御して、音声対話エージェント3000に、その特徴的な動作である第4エージェント処理を実行させることで、音声対話エージェント2200に、(1)機器から送信された入力音声データを受信し、(2)受信した入力音声データに対して音声認識処理を行って、入力テキストを生成して機器に返信し、(3)生成した入力テキストに所定のキーワードが含まれている場合に、機器と、そのキーワードに対応付けられている対象エージェントとの間の通信を実現させ、(4)そうでない場合に、生成した入力テキストに基づいて命令群を生成して実行し、(5)実行結果に基づいて応答テキストを生成し、(6)生成した応答テキストを応答音声データに変換して、(7)応答テキストと応答音声データとを機器に返信するという一連の処理を実現させる機能である。
【0354】
なお、第4エージェント処理は、後程<第4エージェント処理>の項目において、フローチャートを用いて詳細に説明する。
【0355】
以上のように構成される第4変形音声対話システムの行う動作について、以下、図面を参照しながら説明する。
【0356】
<動作>
第4変形音声対話システムは、その特徴的な動作として、実施の形態4における第2機器処理と、第3エージェント処理とに加えて、実施の形態3における第2エージェント処理から、その処理の一部が変更された第4エージェント処理を行う。
【0357】
以下、この第4エージェント処理について、第2エージェント処理からの変更点を中心に説明する。
【0358】
<第4エージェント処理>
第4エージェント処理は、音声対話エージェント3000が行う処理であって、(1)機器から送信された入力音声データを受信し、(2)受信した入力音声データに対して音声認識処理を行って、入力テキストを生成して機器に返信し、(3)生成した入力テキストに所定のキーワードが含まれている場合に、機器と、そのキーワードに対応付けられている対象エージェントとの間の通信を実現させ、(4)そうでない場合に、生成した入力テキストに基づいて命令群を生成して実行し、(5)実行結果に基づいて応答テキストを生成し、(6)生成した応答テキストを応答音声データに変換して、(7)応答テキストと応答音声データとを機器に返信する処理である。
【0359】
図32は、第4エージェント処理のフローチャートである。
【0360】
第4エージェント処理は、音声対話エージェント3000が起動されることで開始される。
【0361】
第4エージェント処理が開始されると、音声対話エージェント3000は、機器1700から送信される入力音声データが、通信部420によって受信されるまで待機する(ステップS3200:Noを繰り返す。)。そして、入力音声データが受信されると(ステップS3200:Yes)、音声対話エージェント3000は、第3命令実行処理を実行する(ステップS3210)。
【0362】
図33は、第3命令実行処理のフローチャートである。
【0363】
同図において、ステップS3300〜ステップS3310の処理と、ステップS3320〜ステップS3360の処理と、ステップS3365〜ステップS3375の処理と、ステップS3385〜ステップS3390の処理とは、それぞれ、実施の形態4におけるステップS2500〜ステップS2510の処理と、ステップS2520〜ステップS2560の処理と、ステップS2565〜ステップS2575の処理と、ステップS2585〜ステップS2590の処理と同様の処理である。よって、これらの処理については説明済みである。
【0364】
ステップS3310の処理が終了すると、制御部3010は、利用可能サービスDB記憶部3020に記憶されている利用可能サービスDB3100を参照して(ステップS3312)、入力テキストに対応する処理を、他の音声対話エージェントで実行すべきか否かを判定する(ステップS3315)。すなわち、入力テキストデータに、キーワード3110が含まれている場合において、そのキーワード3110に対応付けられている対象エージェント3120が、自音声対話エージェントでないときに、他の音声対話エージェント(対象エージェント3120によって特定される追加音声対話エージェント)で実行すべきであると判定し、それ以外であれば、他の音声対話エージェントで実行すべきでないと判定する。
【0365】
ステップS3315の処理において、他の音声対話エージェントで実行すべきでないと判定された場合に(ステップS3315:No)、音声対話エージェント3000は、ステップS3320の処理に進み、ステップS3320〜ステップS3360の処理を行う。
【0366】
ステップS3315の処理において、他の音声対話エージェントで実行すべきであると判定された場合に(ステップS3315:Yes)、音声対話エージェント3000は、ステップS3365の処理に進み、ステップS3365〜ステップS3375の処理を行う。
【0367】
ステップS3375の処理において、追加音声対話エージェントから返信される接続応答が、通信部420によって受信されると(ステップS3375:Yes)、音声対話エージェント3000は、第2接続応答処理を実行する(ステップS3380)。
【0368】
図34は、第2接続応答処理のフローチャートである。
【0369】
第2接続応答処理が開始されると、制御部3010は、通信部420を制御して、ステップS3200:Yesの処理において受信した入力音声データを、ステップS3315:Yesの処理において特定された追加音声対話エージェントへ転送する(ステップS3400)。
【0370】
ステップS3400の処理が終了すると、音声対話エージェント3000は、その第2接続応答処理を終了する。
【0371】
再び
図33に戻って、第2命令実行処理の説明を続ける。
【0372】
第2接続応答処理が終了すると、音声対話エージェント3000は、ステップS3385の処理に進んで、ステップS3385〜ステップS3390の処理を行う。
【0373】
ステップS3390の処理が終了した場合、又は、ステップS3360の処理が終了した場合に、音声対話エージェント3000は、その第3命令実行処理を終了する。
【0374】
再び、
図32に戻って、第4エージェント処理の説明を続ける。
【0375】
第3命令実行処理が終了すると、音声対話エージェント3000は、再びステップS3200の処理に戻って、ステップS3200以下の処理を続ける。
【0376】
上記構成の第4変形音声対話システムが行う動作の具体例について、以下、図面を用いて説明する。
【0377】
<具体例>
図35は、第4変形音声対話システムを利用するユーザが、機器1700を用いて、音声対話エージェント3000のうちの1つである家エージェントと音声を用いた対話を開始し、その後、家エージェントによって生成された接続命令によって、音声対話エージェント3000のうちの他の1つである車エージェントとの間の通信が開始されて、そのユーザが、車エージェントとの対話を行う様子を模式的に示す処理手順図である。
【0378】
ここでは、ユーザの利用する機器1700の特定音声対話エージェントサーバが、家エージェントを実現する音声対話エージェントサーバ110であり、対話終了音声が、「終了します。」という音声であるとして説明する。
【0379】
同図において、ステップS3500〜ステップS3505の処理は、それぞれ、実施の形態4における具体例(
図29参照)の、ステップS2900〜ステップS2905の処理と同様の処理である。よって、これらの処理については説明済みである。
【0380】
ステップS3505の処理が終了すると、機器1700は、第2音声処理を行う(ステップS3506、
図19のステップS1930に対応)。
【0381】
この第2音声入力処理において、ユーザが、「車内の温度は?」との音声を入力したとすると、機器1700は、「車内の温度は?」という入力音声データを、家エージェントに送信する(
図20のステップS2040に対応)。
【0382】
すると、家エージェントは、その入力音声データを受信して(
図32のステップS3200:Yesに対応)、第3命令実行処理を実行する(
図32のステップS3210に対応)。
【0383】
第3命令実行処理において、入力テキストに「温度」、「車内」というキーワードが含まれており、対象エージェント3120が、家エージェントでないため(
図33のステップS3315:Noに対応)、家エージェントは、車エージェントに対して、接続命令を送信する(
図33のステップS3370に対応)。
【0384】
すると、車エージェントは、接続命令を受信し(
図28のステップS2811:Yesに対応)、機器1700との間の通信を開始して(
図28のステップS2812に対応)、家エージェントに、接続応答を送信する(ステップS3590、
図28のステップS2813に対応)。
【0385】
すると、家エージェントは、接続応答を受信し(
図33のステップS3375:Yesに対応)、第2接続応答処理を実行する(
図33のステップS3380に対応)。
【0386】
第2接続応答処理において、家エージェントは、「車内の温度は?」という入力音声データを、車エージェントへ転送する(
図34のステップS3400に対応)。
【0387】
すると、車エージェントは、その入力音声データを受信して(
図28のステップS2814:Yesに対応)、その音声データが通信終了を要求するものではないため(
図28のステップS2815:Noに対応)、その入力音声データに対応する命令群を生成して実行する(ステップS3594、
図28のステップS2830に対応)。
【0388】
ここで、この命令群の実行において、車エージェントが、「車内の温度は38度です。他に何かありますか?」という応答音声データを生成したとすると、車エージェントは、機器1700に、「車内の温度は38度です。他に何かありますか?」という応答音声データを送信する(
図28のステップS2860に対応)。
【0389】
すると、機器1700は、その応答音声データを受信して(
図19のステップS1960:Yesに対応)、「車内の温度は38度です。他に何かありますか?」という音声を出力する(ステップS3507、
図19のステップS1980に対応)。
【0390】
そして、「車内の温度は38度です。他に何かありますか?」という音声は、対話終了音声でないので(
図19のステップS1985:Noに対応)、機器1700は、第2音声処理を行う(ステップS3510、
図19のステップS1930に対応)。
【0391】
この第2音声入力処理において、ユーザが、「エアコンを25度でオンにして。」との音声を入力したとすると、機器1700は、「エアコンを25度でオンにして。」という入力音声データを、車エージェントへ送信する(
図20のステップS2040に対応)。
【0392】
すると、車エージェントは、その入力音声データを受信して(
図28のステップS2814:Yesに対応)、その音声データが通信終了を要求するものではないため(
図28のステップS2815:Noに対応)、その入力音声データに対応する命令群を生成して実行する(ステップS3594、
図28のステップS2830に対応)。
【0393】
ここで、この命令群の実行において、車エージェントが、「エアコンを25度でオンにしました。他に何かありますか?」という応答音声データを生成したとすると、車エージェントは、機器1700に、「エアコンを25度でオンにしました。他に何かありますか?」という応答音声データを送信する(
図28のステップS2860に対応)。
【0394】
すると、機器1700は、その応答音声データを受信して(
図19のステップS1960:Yesに対応)、「エアコンを25度でオンにしました。他に何かありますか?」という音声を出力する(ステップS3525、
図19のステップS1980に対応)。
【0395】
そして、「エアコンを25度でオンにしました。他に何かありますか?」という音声は、対話終了音声でないので(
図19のステップS1985:Noに対応)、機器1700は、第2音声処理を行う(ステップS3530、
図19のステップS1930に対応)。
【0396】
この第2音声入力処理において、ユーザが、「ないよ。ありがとう。」との音声を入力したとすると、機器1700は、「ないよ。ありがとう。」という入力音声データを、車エージェントへ送信する(
図20のステップS2040に対応)。
【0397】
すると、車エージェントは、その入力音声データを受信して(
図28のステップS2814:Yesに対応)、その音声データが通信終了を要求するものであるため(
図28のステップS2815:Yesに対応)、機器1700との間の通信を終了して(
図28のステップS2870に対応)、家エージェントに切断応答を送信する(ステップS3598、
図28のステップS2890に対応)。
【0398】
すると、家エージェントは、その切断応答を受信して(
図25のステップS2585:Yesに対応)、切断応答処理を実行する(ステップS2970、
図25のステップS2890の処理に対応)。
【0399】
ここで、この切断処理において、音声対話エージェント2200が、「終了します。」という応答音声データを生成したとすると、音声対話エージェント2200は、機器1700に、「終了します。」という応答音声データを送信する(
図27のステップS2720に対応)。
【0400】
すると、機器1700は、その応答音声データを受信して(
図19のステップS1960:Yesに対応)、「終了します。」という音声を出力する(ステップS3555、
図19のステップS1980に対応)。
【0401】
「終了します。」という音声は、対話終了音声なので(
図19のステップS1985:Yesに対応)、ステートが音声入力受付可能状態へと遷移されて(
図19のステップS1990に対応)、機器1700は、第4機器処理を終了する。
【0402】
<考察>
上記構成の第4変形音声対話システムによると、第3変形音声対話システムを利用するユーザが音声対話エージェントAと通信している場合において、音声対話エージェントAが、音声対話エージェントAよりも音声対話エージェントBの方を通信相手とすべきであると判定した場合には、ユーザの通信相手の音声対話エージェントを、音声対話エージェントAから音声対話エージェントBに変更することができるようになる。
【0403】
このことによって、ユーザは、各音声対話エージェントにおいてどのようなサービスが提供されているかを知らなくても、より適切な音声対話エージェントからサービスの提供を受けることができるようになる。
【0404】
また、この場合には、音声対話エージェントAは、入力音声を、そのまま音声対話エージェントBに転送することになるので、音声対話エージェントBは、その入力音声そのものに対して音声認識処理そのものを行うことができる。このため、ユーザは、より適切なサービスの提供を受けることができるようになる。
【0405】
<実施の形態6>
ここでは、実施の形態1における音声対話システム100が運用される運用形態の一例について例示する。もちろん、実施の形態1における音声対話システム100は、ここで例示する以外の運用形態で運用されても構わない。
【0406】
図36(A)は、実施の形態1における音声対話システム100が運用される運用形態を模式的に示す模式図である。
【0407】
図36(A)において、グループ3600は、例えば企業、団体、家庭等であり、その規模を問わない。グループ3600には、複数の機器3601(機器A、機器B等)及びホームゲートウエイ3602が存在する。複数の機器3601には、インターネットと接続可能な機器(例えば、スマートフォン、PC、TV等)もあれば、それ自身ではインターネットと接続不可能な機器(例えば、照明、洗濯機、冷蔵庫等)も存在する。それ自身ではインターネットと接続不可能な機器であっても、ホームゲートウエイ3602を介してインターネットと接続可能となる機器が存在してもよい。またグループ3600には複数の機器3601を使用するユーザ10が存在する。例えば、グループ3600に示す機器のそれぞれが、実施の形態1における機器140に該当する。
【0408】
データセンタ運営会社3610には、クラウドサーバ3611が存在する。クラウドサーバ3611とはインターネットを介して様々な機器と連携する仮想化サーバである。主に通常のデータベース管理ツール等で扱うことが困難な巨大なデータ(ビッグデータ)等を管理する。データセンタ運営会社3610は、データ管理やクラウドサーバ3611の管理、それらを行うデータセンタの運営等を行っている。データセンタ運営会社3610が行っている役務については詳細を後述する。ここで、データセンタ運営会社3610は、データ管理やクラウドサーバ3611の運営等のみを行っている会社に限らない。例えば複数の機器3601のうちの1つの機器を開発・製造している機器メーカが、併せてデータ管理やクラウドサーバ3611の管理等を行っている場合は、機器メーカがデータセンタ運営会社3610に該当する(
図36(B)参照)。また、データセンタ運営会社3610は1つの会社に限らない。例えば機器メーカ及び他の管理会社が共同もしくは分担してデータ管理やクラウドサーバ3611の運営を行っている場合は、両者もしくはいずれか一方がデータセンタ運営会社3610に該当するものとする(
図36(C)参照)。例えば、データセンタ運営会社3610で、機器140に紐付けされた音声対話エージェント400(「第1の音声対話エージェント」とも言う。)が提供される。
【0409】
サービスプロバイダ3620は、サーバ3621を保有している。ここで言うサーバ3621とは、その規模は問わず例えば、個人用PC内のメモリ等も含む。また、サービスプロバイダがサーバ3621を保有していない場合もある。例えば、サービスプロバイダ3620で、第1の音声対話エージェントから接続される他の音声対話エージェント400(第2の音声対話エージェントとも言う。)が提供される。
【0410】
次に、上記運用形態における情報の流れを説明する。
【0411】
まず、グループ3600の機器A又は機器Bは、各ログ情報をデータセンタ3610のクラウドサーバ3611に送信する。クラウドサーバ3611は機器A又は機器Bのログ情報を集積する(
図36(a))。ここで、ログ情報とは複数の機器3601の、例えば運転状況や動作日時等を示す情報である。例えば、テレビの視聴履歴やレコーダの録画予約情報、洗濯機の運転日時・洗濯物の量、冷蔵庫の開閉日時・開閉回数などであるが、これらのものに限らずあらゆる機器から取得が可能な全ての情報を言う。ログ情報は、インターネットを介して複数の機器3601自体から直接クラウドサーバ3611に提供される場合もある。また複数の機器3601から一旦ホームゲートウエイ3602にログ情報が集積され、ホームゲートウエイ3602からクラウドサーバ3611に提供されてもよい。
【0412】
次に、データセンタ運営会社3610のクラウドサーバ3611は、集積したログ情報を一定の単位でサービスプロバイダ3620に提供する。ここで、データセンタ運営会社3610が集積した情報を整理してサービスプロバイダ3620に提供することのできる単位でもいいし、サービスプロバイダ3620が要求した単位でもいい。一定の単位と記載したが一定でなくてもよく、状況に応じて提供する情報量が変化する場合もある。前記ログ情報は、必要に応じてサービスプロバイダ3620が保有するサーバ3621に保存される(
図36(b))。そして、サービスプロバイダ3620は、ログ情報をユーザに提供するサービスに適合する情報に整理し、ユーザに提供する。提供するユーザは、複数の機器3601を使用するユーザ10でもよいし、外部のユーザ20でもよい。ユーザへのサービス提供方法は、例えば、サービスプロバイダ3620から直接ユーザへ提供されてもよい(
図36(e))。また、ユーザへのサービス提供方法は、例えば、データセンタ運営会社3610のクラウドサーバ3611を再度経由して、ユーザに提供されてもよい(
図36(c)、(d))。また、データセンタ運営会社3610のクラウドサーバ3611がログ情報をユーザに提供するサービスに適合する情報に整理し、サービスプロバイダ3620に提供してもよい。
【0413】
なお、ユーザ10とユーザ20とは、別でも同一でもよい。
【0414】
以下に、上記運用形態において提供され得るサービスの類型について、いくつか例示する。
【0415】
<サービスの類型1:自社データセンタ型>
図37は、サービスの類型1(自社データセンタ型)を模式的に示す模式図である。
【0416】
本類型は、サービスプロバイダ3620がグループ3600から情報を取得し、ユーザに対してサービスを提供する類型である。本類型では、サービスプロバイダ3620が、データセンタ運営会社の機能を有している。すなわち、サービスプロバイダ3620が、ビッグデータの管理をするクラウドサーバ3611を保有している。従って、データセンタ運営会社は存在しない。
【0417】
本類型では、サービスプロバイダ3620は、データセンタ(クラウドサーバ3611)を運営、管理している(3703)。また、サービスプロバイダ3620は、OS(3702)及びアプリケーション(3701)を管理する。サービスプロバイダ3620は、管理するOS(3702)及びアプリケーション(3701)を用いてサービス提供を行う(3704)。
【0418】
<サービスの類型2:IaaS利用型>
図38は、サービスの類型2(IaaS利用型)を模式的に示す模式図である。ここでIaaSとはインフラストラクチャー・アズ・ア・サービスの略であり、コンピュータシステムを構築及び稼動させるための基盤そのものを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
【0419】
本類型では、データセンタ運営会社3610がデータセンタ(クラウドサーバ3611)を運営、管理している(3703)。また、サービスプロバイダ3620は、OS(3702)及びアプリケーション(3701)を管理する。サービスプロバイダ3620は、管理するOS(3702)及びアプリケーション(3701)を用いてサービス提供を行う(3704)。
【0420】
<サービスの類型3:PaaS利用型>
図39は、サービスの類型3(PaaS利用型)を模式的に示す模式図である。ここでPaaSとはプラットフォーム・アズ・ア・サービスの略であり、ソフトウエアを構築及び稼動させるための土台となるプラットフォームを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
【0421】
本類型では、データセンタ運営会社3610は、OS(3702)を管理し、データセンタ(クラウドサーバ3611)を運営、管理している(3703)。また、サービスプロバイダ3620は、アプリケーション(3701)を管理する。サービスプロバイダ3620は、データセンタ運営会社3610が管理するOS(3702)及びサービスプロバイダ3620が管理するアプリケーション(3701)を用いてサービス提供を行う(3704)。
【0422】
<サービスの類型4:SaaS利用型>
図40は、サービスの類型4(SaaS利用型)を模式的に示す模式図である。ここでSaaSとはソフトウエア・アズ・ア・サービスの略である。例えばデータセンタ(クラウドサーバ)を保有しているプラットフォーム提供者が提供するアプリケーションを、データセンタ(クラウドサーバ)を保有していない会社・個人(利用者)がインターネットなどのネットワーク経由で使用できる機能を有するクラウドサービス提供モデルである。
【0423】
本類型では、データセンタ運営会社3610は、アプリケーション(3701)を管理し、OS(3702)を管理し、データセンタ(クラウドサーバ3611)を運営、管理している(3703)。また、サービスプロバイダ3620は、データセンタ運営会社3610が管理するOS(3702)及びアプリケーション(3701)を用いてサービス提供を行う(3704)。
【0424】
以上いずれの類型においても、サービスプロバイダ3620がサービス提供行為を行ったものとする。また例えば、サービスプロバイダ3620もしくはデータセンタ運営会社3610は、OS、アプリケーションもしくはビックデータのデータベース等を自ら開発してもよいし、また、第三者に外注させてもよい。
<補足>
以上、本発明に係る音声対話方法の一態様、及び本発明に係る機器の一態様として、実施の形態1〜実施の形態5において、5つの音声対話システムを例示して、また、実施の形態6において、音声対話システムの運用形態を例示して説明したが、以下のように変形することも可能であり、実施の形態1〜実施の形態6において例示した音声対話システム又はその運用形態で用いられた通りの、音声対話方法、及び機器に限られないことはもちろんである。
【0425】
(1)実施の形態1において、音声対話システム100は、
図1に示されるように、音声対話エージェントサーバ110と、ネットワーク120と、ゲートウエイ130と、機器140とから構成されるとして説明した。これに対して、別の一例として、音声対話システムは、音声対話エージェントサーバ110と、ネットワーク120と、ゲートウエイ130と、機器140とに加えて、対象エージェントDB2300を記憶し、音声対話エージェント間の対応付け、接続切り替え等を行う機能を有する仲介サーバ4150とから構成されるとしてもよい。
【0426】
図41は、仲介サーバ4150を含んで構成される音声対話システム4100の構成を示すシステム構成図である。
【0427】
図42は、仲介サーバ4150の機能構成を示すブロック図である。
【0428】
同図に示されるように、仲介サーバ4150は、通信部4220と、制御部4210と、対象エージェントDB記憶部4230とから構成される。
【0429】
ここで、対象エージェントDB記憶部4230は、実施の形態4における対象エージェントDB記憶部2220と同様に、対象エージェントDB2300を記憶する機能を有する。
【0430】
また、別の一例として、音声対話システムは、仲介サーバ4150に代えて、利用可能サービスDB3100を記憶し、音声対話エージェント間の対応付け、接続切り替え等を行う機能を有する仲介サーバ4350を含んで構成されるとしてもよい。
【0431】
図43は、仲介サーバ4350の機能構成を示すブロック図である。
【0432】
同図に示されるように、仲介サーバ4350は、通信部4320と、制御部4310と、利用可能サービスDB記憶部4330とから構成される。
【0433】
ここで、利用可能サービスDB記憶部4330は、実施の形態5における利用可能サービスDB3020と同様に、利用可能サービスDB3100を記憶する機能を有する。
【0434】
(2)実施の形態1において、機器140の表示部270に表示される画像として、
図12に示される画像を例示して説明した。
【0436】
図12、
図44(a)〜
図44(d)、
図45(b)の例では、表示される各応答テキストの行頭に、「あなた」、「車エージェント」、「家エージェント」等といった、発話の主体が特定される文字列が表示されている。また、
図45(a)では、発話の主体が特定されるアイコン(画像)が表示されている。
【0437】
図44(a)、
図44(b)の例では、現在対話している音声対話エージェントがわかるように、画面の上部に「家エージェントと対話中」、「車エージェントと対話中」といった対話している音声対話エージェントが特定される文字列が表示されている。
【0438】
図44(d)の例では、現在又は過去に対話している(していた)音声対話エージェントがわかるように、該当する応答テキストの上部に、「家エージェントと対話中」、「車エージェントと対話中」といった対話している(していた)音声対話エージェントを特定する文字列が表示されている。また、
図45(b)では、対話している(していた)音声対話エージェントが特定されるアイコン(画像)が表示されている。
【0439】
また、これらの表示例は、あくまで一例であって、色によってどの音声対話エージェントと対話しているかを示してもよいし、画面の形や、画面を構成する一部の形でどの音声対話エージェントと対話しているかを示してもよい。さらには、発話する主体毎に背景の色や壁紙等を変更してもよい。このように、対話している音声対話エージェント、又は、発話する主体が、ユーザによって識別可能に表示されていればよい。
【0440】
(3)実施の形態1、及び上記変形例において、対話している音声対話エージェント、又は、発話する主体が、視覚によって識別可能に表示される例について説明した。しかしながら、ユーザによって識別することができれば、必ずしも、対話している音声対話エージェント、又は、発話する主体が、視覚によって識別可能に表示される例に限られない。
【0441】
例えば、音声によって、対話している音声対話エージェントがわかるように、「家エージェントと対話中です。」と音声出力してもよいし、効果音にて、どの音声対話エージェントと対話しているかがわかるようにしてもよいし、声色、話速、音量等によって、どの音声対話エージェントと対話しているかがわかるようにしてもよい。
【0442】
(4)実施の形態1において、制御部210によってなされるステートの管理は、
図3の状態遷移図で示される態様で管理されるとして説明した。また、実施の形態2において、制御部1310によってなされるステートの管理は、
図14の状態遷移図で示される態様で管理されるとして説明した。そして、実施の形態3において、制御部1710によってなされるステートの管理は、
図18の状態遷移図で示される態様で管理されるとして説明した。
【0443】
これらに対して、制御部によってなされるステートの管理は、上記態様による管理に限られず、他の態様によるステートの管理も考えられる。
図46〜
図50に、制御部によってなされる他の態様によるステートの管理例を示す状態遷移図を示す。
【0444】
例えば、
図48の状態遷移図で示される態様でステートが管理される場合には、ステートが音声入力受付可能状態に遷移してから所定時間が経過していなくても、音声出力部260が、音声対話エージェント110から送信された応答テキストに基づく音声を出力した場合において、その音声が、対話終了音声であるときには、ステートが、音声入力受付不可能状態に遷移される。このため、音声入力部220は、通信部250によって受信された、音声対話エージェント110によって生成された音声信号が、新たな音声入力を必要としない旨を示すものであるときには、音声入力受付可能状態に遷移してから所定時間が経過していなくても、音声入力受付不可能状態となる。
【0445】
(5)実施の形態1において、表示部270は、一例として、タッチパネルと、タッチパネルコントローラと、プログラムを実行するプロセッサとによって実現され、音声入力受付可能状態である旨の表示を、表示部270の右下の領域1120(
図11(a)、
図11(c)、
図12等参照)を点滅させることで行う構成であるとして説明した。しかしながら、音声入力受付可能状態であることをユーザに認知させることができれば、必ずしも、上記構成の例に限られない。他の例として、表示部270は、LED(Light Emitting Diode)と、プログラムを実行するプロセッサとによって実現され、音声入力受付可能状態である旨の表示を、このLEDを点灯させることで行う構成の例が考えられる。但し、この構成の例では、表示部270は、文字列を表示する手段を有さないため、通信部250によって受信された応答テキストの表示を行わない。
【0446】
(6)実施の形態1において、通信部250は、通信先の音声対話エージェントサーバ110として、特定の1つを指定されないときには、アドレス記憶部240に記憶されるIPアドレスを参照して、特定音声対話エージェントサーバと通信する構成であると説明した。これに対して、他の一例として、アドレス記憶部240が、特定音声対話エージェントサーバのIPアドレスを記憶しておらず、ユーザによって指定される音声対話エージェントサーバ、又はユーザによって指定される音声対話エージェントを実現する音声対話エージェントサーバと通信する構成の例が考えられる。
【0447】
(7)実施の形態1において、機器140のそれぞれは、ゲートウエイ130とネットワーク120とを介して、音声対話エージェント110と通信するとして説明した。
【0448】
これに対して、機器140の中に、ゲートウエイ130を介さずに直接ネットワーク120に接続する機能を有し、ゲートウエイ130を介さずに、音声対話エージェントと通信するものが存在する構成であっても構わない。全ての機器140がゲートウエイを介さずに直接ネットワーク120に接続する場合には、ゲートウエイ130は不要となる。
【0449】
(8)上記実施の形態及び上記変形例を構成する各要素の一部又は全部は、1つのシステムLSIから構成されているとしてもよい。システムLSIは、複数の構成部を1つのチップに集積して製造された超多機能LSIである。具体的には、マイクロプロセッサ、ROM、RAM等を含んで構成されるコンピュータシステムである。ROM、RAM等にコンピュータプログラムが記憶され、マイクロプロセッサが、これらコンピュータプログラムに従って動作することによって、システムLSIは、その機能を実現する。
【0450】
(9)上記実施の形態及び上記変形例を構成する各要素の一部又は全部は、装置に着脱可能なIC(Integrated Circuit)カード又はモジュールを含んで構成されるとしてもよい。これらICカード又はモジュールは、マイクロプロセッサ、ROM、RAM等を含んで構成されるコンピュータシステムである。これらICカード又はモジュールは、前述の超多機能LSIを含むとしてもよい。ROM、RAM等にコンピュータプログラムが記憶され、マイクロプロセッサが、これらコンピュータプログラムに従って動作することによって、これらICカード又はモジュールは、その機能を実現する。これらICカード又はモジュールは、耐タンパ性を有するとしてもよい。
【0451】
(10)上記実施の形態及び上記変形例で利用されるコンピュータプログラム又はデジタル信号を、コンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MD、DVD、DVD−ROM、DVD−RAM、BD、半導体メモリ等に記録してもよい。
【0452】
また、上記実施の形態及び上記変形例で利用されるコンピュータプログラム又はデジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送してもよい。
【0453】
上記実施の形態及び上記変形例で利用されるコンピュータプログラム又はデジタル信号を、コンピュータ読み取り可能な記録媒体に記録して移送することによって、又は、ネットワーク等を経由して伝送することで、他のコンピュータシステムでも実施させることができるようになる。
【0454】
(12)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【0455】
(13)以下、さらに、本発明の一態様に係る音声対話方法、及び機器について、それらの構成及びそれらの変形例と各効果について説明する。
【0456】
(a)本発明の一実施形態に係る音声対話方法は、音声信号生成部と、音声対話エージェント部と、音声出力部と、音声入力制御部とを備える音声対話システムによって行われる音声対話方法であって、前記音声信号生成部が、音声入力を受け付けて、受け付けた音声入力に基づく音声信号を生成し、前記音声対話エージェント部が、前記音声信号生成部によって生成された音声信号に対して音声認識処理を行い、当該音声認識処理の結果に基づく処理を行い、当該処理に係る応答信号を生成し、前記音声出力部が、前記音声対話エージェント部によって生成された応答信号に基づく音声を出力し、前記音声出力部によって前記音声が出力される場合に、前記音声入力制御部が、当該出力から所定期間、前記音声信号生成部を、前記音声入力の受け付けが可能な受付可能状態とすることを特徴とする。
【0457】
上述の、本発明の一実施形態に係る音声対話方法によると、音声対話エージェント部によって生成された音声が出力されたときには、ユーザは、音声対話システムに対して操作を行わなくても、音声入力を行うことが可能となる。このことによって、対話形式による音声入力に伴ってユーザが行う必要がある操作の回数が、従来よりも低減されることとなる。
【0458】
(b)また、前記音声対話システムは、表示部を備え、前記音声信号生成部が前記受付可能状態である場合に、前記表示部が、前記音声信号生成部が前記受付可能状態である旨を示す表示を行うとしてもよい。
【0459】
このようにすることで、ユーザは、音声信号生成部が受付可能状態であるか否かを、目視によって認識することができるようになる。
【0460】
(c)また、前記音声対話システムは、追加音声対話エージェント部を備え、前記音声対話エージェント部が、前記音声認識処理の結果に基づいて、音声認識処理の結果に基づく処理を、前記音声対話エージェント部と前記追加音声対話エージェント部とのいずれで行うかを決定し、前記音声対話エージェント部は、前記決定において、前記音声対話エージェント部で行うと決定された場合に限って、前記音声認識処理の結果に基づく処理を行い、前記決定において、前記追加音声対話エージェント部で行うと決定された場合に、前記追加音声対話エージェント部が、前記音声信号生成部によって受け付けられた音声に対して音声認識処理を行い、当該音声認識処理の結果に基づく処理を行い、当該処理に係る応答信号を生成し、前記音声出力部が、前記追加音声対話エージェント部によって生成された応答信号に基づく音声を出力するとしてもよい。
【0461】
このようにすることで、音声対話エージェント部が処理するよりも、追加音声対話エージェント部が処理する方が適切な処理を、追加音声対話エージェント部に処理させることができるようになる。
【0462】
(d)また、前記表示部は、音声認識処理の結果に基づく処理を行うエージェント部が前記音声対話エージェント部である場合には、音声認識処理の結果に基づく処理を行うエージェント部が前記音声対話エージェント部である旨を示すように前記表示を行い、音声認識処理の結果に基づく処理を行うエージェント部が前記追加音声対話エージェント部である場合には、音声認識処理の結果に基づく処理を行うエージェント部が前記追加音声対話エージェント部である旨を示すように前記表示を行うとしてもよい。
【0463】
このようにすることで、ユーザは、処理を行うエージェント部が、音声対話エージェント部と追加音声対話エージェント部とのいずれであるかを、目視によって認識することができるようになる。
【0464】
(e)また、前記音声対話エージェント部は、前記決定において、前記追加音声対話エージェント部で行うと決定された場合に、前記音声対話エージェント部が、前記音声信号生成部によって生成された音声信号を前記追加音声対話エージェント部へ転送し、前記追加音声対話エージェント部が、前記音声対話エージェント部から転送された音声信号に対して前記音声認識処理を行うとしてもよい。
【0465】
このようにすることで、追加音声対話エージェント部は、音声対話エージェント部から転送された音声信号を利用して、音声認識処理を行うことができるようになる。
【0466】
(f)また、前記音声信号生成部が前記受付可能状態である場合において、前記音声対話エージェント部によって生成された応答信号が、新たな音声入力の受け付けは必要ない旨を示すものであるときには、前記所定期間であっても、前記音声入力制御部が、前記音声信号生成部を、前記音声入力の受け付けが不可能な受付不可能状態とするとしてもよい。
【0467】
このようにすることで、例え所定期間であっても、音声入力の受け付けが不要ならば、音声信号生成部を、受付不可能状態とすることができるようになる。
【0468】
(g)本発明の一実施形態に係る機器は、音声入力を受け付けて、受け付けた音声入力に基づく音声信号を生成する音声信号生成部と、前記音声信号生成部によって生成された音声信号を、外部のサーバに送信する送信部と、前記送信部によって送信された音声信号を受信した前記サーバによって、当該音声信号に基づいて生成されて返信された応答信号を受信する受信部と、前記受信部によって受信された応答信号に基づく音声を出力する音声出力部と、前記音声出力部によって前記音声が出力される場合に、当該出力から所定期間、前記音声信号生成部を、前記音声入力の受け付けが可能な受付可能状態とする音声入力制御部とを備えることを特徴とする。
【0469】
上述の、本発明の一実施形態に係る機器によると、サーバによって生成された音声が出力されたときには、ユーザは、機器に対して操作を行わなくても、音声入力を行うことが可能となる。このことによって、対話形式による音声入力に伴ってユーザが行う必要がある操作の回数が、従来よりも低減されることとなる。