(57)【特許請求の範囲】
【請求項１】
音声対話装置が、ユーザが発した音声を取得した後の所定の時点から、当該音声に対する応答が出力可能になるまでの待機時間を予測する待機時間予測部と、
上記待機時間予測部が予測した上記待機時間と、上記音声対話装置が実行可能な動作を示す複数の動作候補それぞれの実行に要する動作時間とに基づいて、上記複数の動作候補から１または複数を場つなぎ動作として選択する場つなぎ動作決定部と、
上記場つなぎ動作決定部が選択した上記場つなぎ動作を上記音声対話装置に実行させる場つなぎ動作実行部と、を備え、
上記場つなぎ動作決定部は、上記複数の動作候補のうち、上記動作時間から上記待機時間を減算した第２減算値が、０以上、かつ、上記応答が出力可能になってから上記場つなぎ動作の実行が完了するまでの時間として許容できる時間を示す第２許容時間以下である上記動作候補を、上記場つなぎ動作として決定することを特徴とする音声対話制御装置。
【請求項２】
上記場つなぎ動作決定部は、上記複数の動作候補のうち、上記動作時間を上記待機時間から減算した第１減算値が、０以上、かつ、上記場つなぎ動作の実行が完了してから上記応答が出力可能になるまでに上記音声対話装置が動作しない時間として許容できる時間を示す第１許容時間以下である上記動作候補を、上記場つなぎ動作として決定することを特徴とする請求項１に記載の音声対話制御装置。
【請求項３】
上記待機時間予測部は、上記音声の時間および上記音声から生成された音声データのサイズの少なくとも一方を用いて、上記待機時間を予測することを特徴とする請求項１または２に記載の音声対話制御装置。
【請求項４】
上記動作候補には、上記動作時間と共に、当該動作時間の変更可能範囲が予め設定されており、
上記場つなぎ動作決定部は、上記動作時間を上記変更可能範囲内で変更した動作時間に基づいて、上記動作候補を選択することを特徴とする請求項１から３のいずれか１項に記載の音声対話制御装置。
【請求項５】
音声対話装置に実行させる音声対話制御装置の制御方法であって、
音声対話装置が、ユーザが発した音声を取得した後の所定の時点から、当該音声に対する応答が出力可能になるまでの待機時間を予測する待機時間予測ステップと、
上記待機時間予測ステップにて予測された上記待機時間と、上記音声対話装置が実行可能な動作を示す複数の動作候補それぞれの実行に要する動作時間とに基づいて、上記複数の動作候補から１または複数を場つなぎ動作として選択する場つなぎ動作決定ステップと、
上記場つなぎ動作決定ステップにて選択された上記場つなぎ動作を上記音声対話装置に実行させる場つなぎ動作実行ステップと、を含み、
上記場つなぎ動作決定ステップでは、上記複数の動作候補のうち、上記動作時間から上記待機時間を減算した第２減算値が、０以上、かつ、上記応答が出力可能になってから上記場つなぎ動作の実行が完了するまでの時間として許容できる時間を示す第２許容時間以下である上記動作候補を、上記場つなぎ動作として決定することを特徴とする音声対話制御装置の制御方法。
【請求項６】
請求項１から４のいずれか１項に記載の音声対話制御装置を備えることを特徴とする音声対話装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの発話に対して応答する音声対話装置を制御するための音声対話制御装置に関する。
【背景技術】
【０００２】
ユーザの発話に対して音声や動作で応答することで、ユーザと対話する音声対話装置（ロボット）が、従来から広く研究されている。ここで、ユーザと音声対話装置の対話においては、ユーザが発話してから、音声対話装置が当該発話の内容に応じた応答をするまでにある程度の時間を要する。この時間に音声対話装置が何も動作しないと、ユーザが音声対話装置とのコミュニケーションにおいてストレスを感じる可能性がある。この問題に対する解決策として、例えば、下記の特許文献１には、ユーザの入力を受け付けてから、サーバとの通信状態が復帰するまでの待機時間を算出して、待機時間に応じた所定の情報の提示を行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１７４４８５号公報（２０１４年０９月２２日公開）
【特許文献２】特開２０１４−１９１０３０号公報（２０１４年１０月０６日公開）
【特許文献３】特開２００３−３３０９２３号公報（２００３年１１月２１日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の特許文献１〜３に記載の技術では、場つなぎ動作の内容は画一的であり、待機時間の長さに応じた柔軟な対応を取ることができない。例えば、特許文献１の技術では、算出した待機時間が所定時間以上であれば、待機時間がどれだけ長くても、実行される場つなぎ動作は対話の中断を謝罪するメッセージの出力となってしまう。
【０００５】
本発明は、上記の問題に鑑みてなされたものであり、その目的は、待機時間の長さに応じた場つなぎ動作を実行することで、ユーザと音声対話装置とのコミュニケーションの柔軟性を向上させる音声対話制御装置などを提供することにある。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明の一態様に係る音声対話制御装置は、音声対話装置が、ユーザが発した音声を取得した後の所定の時点から、当該音声に対する応答が出力可能になるまでの待機時間を予測する待機時間予測部と、上記待機時間予測部が予測した上記待機時間と、上記音声対話装置が実行可能な動作を示す複数の動作候補それぞれの実行に要する動作時間とに基づいて、上記複数の動作候補から１または複数を場つなぎ動作として選択する場つなぎ動作決定部と、上記場つなぎ動作決定部が選択した上記場つなぎ動作を上記音声対話装置に実行させる場つなぎ動作実行部と、を備える。
【０００７】
また、上記の課題を解決するために、本発明の一態様に係る音声対話制御装置の制御方法は、音声対話装置に実行させる音声対話制御装置の制御方法であって、音声対話装置が、ユーザが発した音声を取得した後の所定の時点から、当該音声に対する応答が出力可能になるまでの待機時間を予測する待機時間予測ステップと、上記待機時間予測ステップにて予測した上記待機時間と、上記音声対話装置が実行可能な動作を示す複数の動作候補それぞれの実行に要する動作時間とに基づいて、上記複数の動作候補から１または複数を場つなぎ動作として選択する場つなぎ動作決定ステップと、上記場つなぎ動作決定ステップにて決定された上記場つなぎ動作を上記音声対話装置に実行させる場つなぎ動作実行ステップと、を含む。
【発明の効果】
【０００８】
本発明の一態様によれば、ユーザと音声対話装置とのコミュニケーションの柔軟性を向上させるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態１に係る音声対話装置の構成を示すブロック図である。
【図２】図１に示す音声対話装置の記憶部に記憶されている場つなぎ動作テーブルのデータ構造およびデータ例を示す図である。
【図３】図１に示す音声対話装置の記憶部に記憶されている場つなぎ順序テーブルのデータ構造およびデータ例を示す図である。
【図４】図１に示す音声対話制御装置が実行する応答実行処理の流れの一例を示すフローチャートである。
【図５】図４に示すフローチャートにおける場つなぎ動作決定処理の流れの一例を示すフローチャートである。
【図６】本発明の実施形態２に係る音声対話装置の構成を示すブロック図である。
【図７】図６に示す音声対話装置の記憶部に記憶されている場つなぎ動作テーブルのデータ構造およびデータ例を示す図である。
【図８】図６に示す音声対話制御装置が実行する場つなぎ動作決定処理の流れの一例を示すフローチャートである。
【図９】本発明の実施形態３に係る音声対話装置の構成を示すブロック図である。
【図１０】図９に示す音声対話制御装置が実行する応答実行処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
〔実施形態１〕
本発明の一実施形態（実施形態１）について図１から図５に基づいて説明すると以下のとおりである。
【００１１】
まず、図１に基づいて、本実施形態に係る音声対話装置１０について説明する。図１は、本実施形態に係る音声対話装置１０の構成を示すブロック図である。
【００１２】
音声対話装置１０は、ユーザの発話に対して音声や動作で応答することで、ユーザと対話する装置である。なお、音声対話装置１０の具体例としては人型ロボットが挙げられるが、これに限定されるものではない。例えば、音声対話装置１０の他の具体例として、スマートフォンなどの音声対話機能付きの携帯端末や、音声対話機能付きのカーナビゲーションシステムなどが挙げられる。図１に示すように、音声対話装置１０は、音声対話制御装置を制御部１として備えている。なお、音声対話装置１０と音声対話制御装置とは別体であってもよい。また、音声対話装置１０は、上記制御部１（音声対話制御装置）の他に、音声入力部２、通信部３、音声出力部４、駆動部５、および記憶部６を備えている。
【００１３】
音声入力部２はユーザが発した音声を取得するいわゆるマイクである。音声入力部２は、取得した音声を音声データに変換し、後述する音声認識部１３に出力する。また音声入力部２は当該音声データのサイズ（データ量）および時間（発話時間）の少なくとも一方（以降、音声付属情報と称する）を、待機時間予測部１１に出力する。通信部３は音声対話装置１０と外部機器との通信を行う。具体的には、通信部３は、後述する応答生成部１４によって制御されて、外部機器から応答生成に必要なデータを受信する。例えば通信部３は、天気予報に関するデータを管理する天気予報サーバ（不図示）から、明日の天気に関するデータを取得し、応答生成部１４に出力する。音声出力部４は音声を出力するいわゆるスピーカである。具体的には、音声出力部４は、ユーザが発した音声に対する応答や、後述する場つなぎ動作としての音声を出力する。駆動部５は音声対話装置１０（人型ロボット）における頭部や脚部などの可動部位を駆動させるものであり、例えばサーボモータである。なお、サーボモータ以外のアクチュエータを用いてもよい。具体的には、駆動部５は、ユーザが発した音声に対する応答や、場つなぎ動作としての動作を、可動部位を駆動させることで音声対話装置１０に行わせる。なお、音声対話装置１０がスマートフォンなどの可動部位を有しない装置である場合、駆動部５は省略されてもよい。記憶部６は、音声対話装置１０にて使用される各種データを記憶する。記憶部６は少なくとも、場つなぎ動作テーブル６１および場つなぎ順序テーブル６２を記憶している。なお、これらのテーブルの詳細については後述する。
【００１４】
制御部１は、音声対話装置１０が備える各部を統括制御する。制御部１は、待機時間予測部１１、場つなぎ動作制御部１２、音声認識部１３、応答生成部１４、および応答実行部１５を含んでいる。
【００１５】
待機時間予測部１１は、音声対話装置１０がユーザの発した音声を取得してから、当該音声に対する応答が出力可能となるまでの待機時間を予測する。具体的には、待機時間予測部１１は音声入力部２から音声付属情報を受け取ると、当該音声データのサイズ（データ量）を用いて待機時間を予測する。より詳細には、待機時間予測部１１は、「待機時間＝α×データ量（αは単位データ量あたりに要する待機時間であり、所定の値である）」という計算式を用いて、待機時間を算出する。待機時間予測部１１は、予測（算出）した待機時間を後述する場つなぎ動作決定部２１に出力する。なお、待機時間予測部１１は、音声データの時間（ユーザの発話時間）を用いて待機時間を予測してもよい。具体的には、待機時間予測部１１は、「待機時間＝β×発話時間（βは単位発話時間あたりに要する待機時間であり、所定の値である）」という計算式を用いて、待機時間を算出してもよい。また、音声データのデータ量および発話時間の両方を用いて、待機時間を予測（算出）してもよい。データ量から算出した待機時間と発話時間から算出した待機時間とが異なる場合、より長い（または短い）方の待機時間を採用してもよいし、２つの待機時間の平均値を算出し、算出した平均待機時間を場つなぎ動作決定部２１に出力してもよい。
【００１６】
場つなぎ動作制御部１２は、場つなぎ動作の決定および実行を行う。場つなぎ動作制御部１２は、場つなぎ動作決定部２１および場つなぎ動作実行部２２を含む。
【００１７】
場つなぎ動作決定部２１は、待機時間予測部１１が予測した待機時間に基づいて、音声対話装置１０が実行する場つなぎ動作を決定する。ここで、場つなぎ動作とは、待機時間、すなわちユーザが発した音声を取得してから、当該音声に対する応答が出力可能となるまでの時間中に、音声対話装置１０に実行させる動作である。具体的には、場つなぎ動作決定部２１は、記憶部６に記憶されている場つなぎ動作テーブル６１を用いて、待機時間予測部１１が予測した待機時間と、待機時間中に音声対話装置１０に実行させる場つなぎ動作に要する場つなぎ動作時間とに応じて、場つなぎ動作を決定する。
【００１８】
ここで図２を参照して、場つなぎ動作テーブル６１の詳細について説明する。図２は、記憶部６に記憶されている場つなぎ動作テーブル６１のデータ構造およびデータ例を示す図である。なお、図２に示す場つなぎ動作テーブル６１は一例であり、データ構造およびデータ例を図２の例に限定するものではない。場つなぎ動作テーブル６１は、場つなぎ動作を示す情報と、当該場つなぎ動作に要する時間である場つなぎ動作時間とを対応付けたテーブルである。「場つなぎ動作」のカラムには、音声対話装置１０が実行可能な動作を示す複数の動作候補の情報（以下、場つなぎ動作情報と称する）が格納される。「種別」のカラムには、各場つなぎ動作が音声を出力するものであるか（図２では「音声」で示されている）、音声対話装置１０の可動部位を動作させるものであるか（図２では「身振り」で示されている）、またはその両方を実行するものであるか（図２では「音声＋身振り」で示されている）を示す情報が格納される。「場つなぎ動作時間」のカラムには上記場つなぎ動作時間が格納されている。
【００１９】
より具体的には、場つなぎ動作決定部２１は受け取った待機時間から、場つなぎ動作テーブル６１の各場つなぎ動作時間を減算して、各場つなぎ動作情報における減算値ＴＮ（第１減算値）を算出する。なお、Ｎは場つなぎ動作テーブル６１における「Ｎｏ．」に格納されている数字である。続いて、場つなぎ動作決定部２１は算出した減算値ＴＮのそれぞれについて、０以上かつ、場つなぎ動作を音声対話装置１０が実行してから応答の生成が完了するまでに、音声対話装置１０が動作しない時間として許容できる時間を示す第１許容時間Ｘ以下となるか否か（０≦ＴＮ≦Ｘを満たす場つなぎ動作情報があるか否か）を判定する。第１許容時間Ｘは予め設定されている値であり、例えばＸ＝２であれば、場つなぎ動作が完了してから応答の生成が完了するまでの時間として許容できる時間が２秒であるということである。
【００２０】
０≦ＴＮ≦Ｘを満たす場つなぎ動作情報がある場合、場つなぎ動作決定部２１は、当該場つなぎ動作情報が示す場つなぎ動作を音声対話装置１０に実行させる場つなぎ動作として決定し、当該場つなぎ動作情報を場つなぎ動作実行部２２に出力する。例えば待機時間が２秒であり、第１許容時間Ｘ＝１である場合、図２に示すＮｏ．２およびＮｏ．３の場つなぎ動作情報が０≦ＴＮ≦Ｘを満たす。よって、場つなぎ動作決定部２１は、Ｎｏ．２またはＮｏ．３の場つなぎ動作情報を読み出し、場つなぎ動作実行部２２に出力する。
【００２１】
なお、０≦ＴＮ≦Ｘを満たす場つなぎ動作情報が複数ある場合は、音声対話装置１０が動作を実行しない時間をより短くするために、減算値ＴＮの値がより小さい場つなぎ動作情報を選択することが好ましい。つまり上記の例の場合、減算値ＴＮが０となるＮｏ．３の場つなぎ動作情報を選択することが好ましい。また、減算値ＴＮの値が同じ場つなぎ動作情報が複数ある場合は、それらの中から場つなぎ動作情報を１つランダムに選択してもよい。
【００２２】
一方、０≦ＴＮ≦Ｘを満たす場つなぎ動作情報が無い場合、場つなぎ動作決定部２１は、減算値ＴＮの正負の符号を変更した値である符号変更値−ＴＮ（第２減算値）それぞれについて、０以上かつ、応答の生成が完了してから音声対話装置１０の場つなぎ動作が完了するまでの時間として許容できる時間を示す第２許容時間Ｙ以下となるか否か（０≦−ＴＮ≦Ｙを満たす場つなぎ動作情報があるか否か）を判定する。第２許容時間Ｙは予め設定されている値であり、例えば、Ｙ＝２であれば、応答の生成が完了してから、場つなぎ動作が完了するまでの時間として許容できる時間が２秒であるということである。なお、場つなぎ動作決定部２１は、各場つなぎ動作時間から受け取った待機時間を減算することで符号変換値−ＴＮを算出してもよい。
【００２３】
０≦−ＴＮ≦Ｙを満たす場つなぎ動作情報がある場合、場つなぎ動作決定部２１は、当該場つなぎ動作情報が示す場つなぎ動作を音声対話装置１０に実行させる場つなぎ動作として決定し、当該場つなぎ動作情報を場つなぎ動作実行部２２に出力する。例えば待機時間が１秒であり、第２許容時間Ｙ＝１である場合、図２に示すＮｏ．２およびＮｏ．３の場つなぎ動作情報が０≦−ＴＮ≦Ｙを満たす。そのため、場つなぎ動作決定部２１は、Ｎｏ．２またはＮｏ．３の場つなぎ動作情報を読み出し、場つなぎ動作実行部２２に出力する。
【００２４】
なお、０≦−ＴＮ≦Ｙを満たす場つなぎ動作情報が複数ある場合は、音声対話装置１０が動作を実行しない時間をより短くするために、符号変換値−ＴＮの値がより小さい場つなぎ動作情報を選択することが好ましい。つまり上記の例の場合、符号変換値−ＴＮが０となるＮｏ．２の場つなぎ動作情報を選択することが好ましい。また、符号変換値−ＴＮの値が同じ場つなぎ動作情報が複数ある場合は、それらの中から場つなぎ動作情報を１つランダムに選択してもよい。
【００２５】
なお、第１許容時間Ｘおよび第２許容時間Ｙの少なくとも一方において、すべての場つなぎ動作情報に対して同じ値が設定されてもよいし、場つなぎ動作情報ごとに異なる値が設定されてもよい。また、第１許容時間Ｘおよび第２許容時間Ｙの少なくとも一方は、音声データのデータ量および発話時間の少なくとも一方に応じて設定されてもよい。つまり場つなぎ動作決定部２１は、待機時間予測部１１から受け取った音声データのデータ量または発話時間に基づいて、第１許容時間Ｘおよび第２許容時間Ｙの少なくとも一方を決定する。
【００２６】
一方、０≦−ＴＮ≦Ｙを満たす場つなぎ動作情報が無い場合、場つなぎ動作決定部２１は、複数の場つなぎ動作情報を選択する。具体的には、場つなぎ動作決定部２１は、場つなぎ動作時間≦待機時間を満たす場つなぎ動作情報のうち、場つなぎ動作時間が最も長い場つなぎ動作情報を１つ選択する。そして、待機時間から、選択した場つなぎ動作情報に対応付けられた場つなぎ動作時間を減算した値（残時間）を算出し、場つなぎ動作時間≦残時間を満たす場つなぎ動作情報をさらに選択する。そして、場つなぎ動作決定部２１は、選択した複数の場つなぎ動作情報に対応付けられた場つなぎ動作時間を合計した合計値を算出し、０≦待機時間−合計値≦Ｘまたは０≦−（待機時間−合計値）≦Ｙを満たすか否かを判定する。いずれか一方を満たす場合、複数の場つなぎ動作情報を「Ｎｏ．」のカラムの数字と対応付けて、場つなぎ動作実行部２２に出力する。
【００２７】
一方、いずれも満たさない場合、待機時間から合計値を減算した値を算出し、場つなぎ動作時間≦当該算出した値を満たす場つなぎ動作情報をさらに選択する。そして、場つなぎ動作決定部２１は、選択した複数の場つなぎ動作情報に対応付けられた場つなぎ動作時間を合計した合計値を算出し、０≦待機時間−合計値≦Ｘまたは０≦−（待機時間−合計値）≦Ｙを満たすか否かを判定する。場つなぎ動作決定部２１は、これらの処理を０≦待機時間−合計値≦Ｘまたは０≦−（待機時間−合計値）≦Ｙのいずれか一方を満たすようになるまで繰り返す。
【００２８】
場つなぎ動作実行部２２は、場つなぎ動作決定部２１が決定した場つなぎ動作情報が示す場つなぎ動作を音声対話装置１０に実行させる。具体的には、場つなぎ動作実行部２２は、場つなぎ動作決定部２１から場つなぎ動作情報を受け取ると、当該場つなぎ動作情報が示す場つなぎ動作を音声対話装置１０に実行させる。例えば、音声出力部４を制御して音声を出力させたり、駆動部５を制御して音声対話装置１０の可動部位を動作させたりする。場つなぎ動作実行部２２は、場つなぎ動作の実行が完了すると、その旨を応答実行部１５に通知する。また、場つなぎ動作実行部２２は、場つなぎ動作決定部２１から複数の場つなぎ動作情報を受け取った場合、記憶部６に記憶されている場つなぎ順序テーブル６２を用いて複数の場つなぎ動作情報が示す場つなぎ動作の実行順序を決定する。
【００２９】
ここで、場つなぎ順序テーブル６２の詳細について図３を参照して説明する。図３は、記憶部６に記憶されている場つなぎ順序テーブル６２のデータ構造およびデータ例を示す図である。なお、図３に示す場つなぎ順序テーブル６２は一例であり、データ構造およびデータ例を図３の例に限定するものではない。場つなぎ順序テーブル６２は、場つなぎ動作の組み合わせと、当該組み合わせにおける場つなぎ動作の順序とを対応付けたテーブルである。つまり、場つなぎ動作実行部２２は、場つなぎ順序テーブル６２を参照することで、場つなぎ動作決定部２１から受け取った複数の場つなぎ動作情報が示す場つなぎ動作を実行する順序を決定することができる。「場つなぎ動作Ｎｏ」のカラムには、場つなぎ動作テーブル６１の「Ｎｏ．」のカラムの数字が複数格納されている。当該カラムにおいては、複数の数字の順序は特に意味を持たない。一方、「動作順序」のカラムにも、場つなぎ動作テーブル６１の「Ｎｏ．」のカラムの数字が複数格納されている。ただし、当該カラムにおける数字の順序は、場つなぎ動作を実行する順序を示している。例えば、図３に示すＮｏ．１の動作順序は「３，２」であるので、図２に示すＮｏ．３の場つなぎ動作情報が示す場つなぎ動作を実行した後で、図２に示すＮｏ．２の場つなぎ動作情報が示す場つなぎ動作を実行することを示している。「場つなぎ動作」のカラムには、「動作順序」のカラムに格納された順序に応じた、場つなぎ動作の内容が格納されている。なお、このカラムは動作順序を分かりやすく説明するために示しているものであり、場つなぎ順序テーブル６２から省略されてもよい。また、場つなぎ順序テーブル６２は、ユーザが編集可能であってもよい。
【００３０】
場つなぎ動作実行部２２は、場つなぎ順序テーブル６２から受け取った複数の場つなぎ動作情報と対応付けられている「Ｎｏ．」の数字の組み合わせを「場つなぎ動作Ｎｏ」のカラムから特定し、複数の場つなぎ動作の動作順序を特定する。そして、特定した動作順序で音声対話装置１０に場つなぎ動作を実行させる。なお、複数の場つなぎ動作の動作順序の決定は、上述した場つなぎ順序テーブル６２を用いる例に限定されない。例えば、場つなぎ動作実行部２２は、複数の場つなぎ動作の動作順序をランダムに決定してもよいし、動作順序を場つなぎ動作に対応付けられている「Ｎｏ．」の数字が若い順としてもよい。この場合、記憶部６は場つなぎ順序テーブル６２を記憶していなくてもよい。
【００３１】
音声認識部１３は、音声入力部２から受け取った音声データについて、音声認識処理を行う。なお、音声認識処理については既存の技術を利用することができる。音声認識部１３は、受け取った音声データの音声認識結果を応答生成部１４に出力する。
【００３２】
応答生成部１４は、ユーザが発した音声に対する応答を示す応答情報を生成する。この応答には、音声の出力、音声対話装置１０の可動部位の動作、並びに、音声の出力および可動部位の動作の３種類がある。応答生成部１４による応答情報の生成には既存の技術を利用することができる。例えば、記憶部６に認識した音声データの内容と応答内容とを対応付けたテーブル（不図示）を格納しておき、当該テーブルを参照することで応答情報を生成してもよい。また、応答生成部１４は、応答情報の生成に、明日の天気の情報などの外部データを用いる必要がある場合、通信部３を制御して取得した当該外部データを用いて応答情報を生成する。応答生成部１４は、生成した応答情報（音声出力用の音声データや、可動部位を動作させるためのアクションデータなど）を応答実行部１５に出力する。
【００３３】
応答実行部１５は、応答生成部１４が生成した応答情報が示す応答を実行する。具体的には、応答実行部１５は、応答生成部１４から応答情報を受け取り、場つなぎ動作実行部２２から場つなぎ動作が完了した旨を通知されると、当該応答情報が示す動作を音声対話装置１０に実行させる。例えば、音声出力部４を制御して音声を出力させたり、駆動部５を制御して音声対話装置１０の可動部位を動作させたりする。
【００３４】
次に、図４に基づいて、制御部１が実行する応答実行処理の流れについて説明する。図４は、制御部１が実行する応答実行処理の流れの一例を示すフローチャートである。
【００３５】
まず、音声入力部２は音声の入力を待機している（Ｓ１）。音声入力部２は、ユーザが発した音声を取得すると（Ｓ１でＹＥＳ）、取得した音声を音声データに変換し、当該音声データを音声認識部１３に出力し、また当該音声データの音声付属情報を待機時間予測部１１に出力する。
【００３６】
続いて待機時間予測部１１は待機時間を予測する（Ｓ２、待機時間予測ステップ）。待機時間予測部１１は予測した待機時間を場つなぎ動作決定部２１に出力する。続いて場つなぎ動作決定部２１は、場つなぎ動作決定処理を行う（Ｓ３）。なお、場つなぎ動作決定処理の詳細については後述する。場つなぎ動作決定部２１は、音声対話装置１０に実行させると決定した場つなぎ動作を示す場つなぎ動作情報を、場つなぎ動作実行部２２に出力する。そして、場つなぎ動作実行部２２は、受け取った場つなぎ動作情報に応じて、音声対話装置１０に場つなぎ動作を実行させる（Ｓ４、場つなぎ動作実行ステップ）。場つなぎ動作実行部２２は、場つなぎ動作の実行が完了すると、その旨を応答実行部１５に通知する。
【００３７】
一方、音声認識部１３は音声認識処理を行う（Ｓ５）。具体的には、音声認識部１３は、音声データを受け取ると、当該音声データについて音声認識処理を行い、音声認識結果を応答生成部１４に出力する。続いて応答生成部１４は応答情報を生成する（Ｓ６）。具体的には、応答生成部１４は、受け取った音声認識結果に応じた応答情報を生成し、応答実行部１５に出力する。
【００３８】
なお、図４に示すように、ステップＳ２、Ｓ３、Ｓ４の処理とステップＳ５、Ｓ６の処理とは並列に行われる。つまり、応答実行部１５は応答情報および場つなぎ動作の実行が完了した旨の通知のいずれか一方のみを受け取った場合、もう一方を受け取るまで待機する。そして、応答実行部１５は上記通知と応答情報とを受け取ると、音声対話装置１０に応答を実行させる（Ｓ７）。具体的には、応答実行部１５は、受け取った応答情報に応じて、音声出力部４を制御して音声を出力させたり駆動部５を制御して音声対話装置１０の可動部位を動作させたりする。以上で、応答実行処理は終了する。
【００３９】
続いて、図５に基づいて、場つなぎ動作決定部２１が実行する場つなぎ動作決定処理の流れについて説明する。図５は、図４のフローチャートにおける場つなぎ動作決定処理の流れの一例を示すフローチャートである。なお、図５のフローチャートにおいて、場つなぎ動作テーブル６１に含まれる場つなぎ動作情報には、一般的に想定される待機時間程度の場つなぎ動作時間が対応付けられているものとする。
【００４０】
まず、場つなぎ動作決定部２１は、待機時間予測部１１から待機時間を受け取ると、場つなぎ動作テーブル６１を読み出し、予測した待機時間から各場つなぎ動作時間を減算した減算値ＴＮを算出する（Ｓ１１）。続いて、場つなぎ動作決定部２１は、算出した減算値ＴＮおよび第１許容時間Ｘを用いて場つなぎ動作テーブル６１を参照し、０≦ＴＮ≦Ｘを満たす場つなぎ動作情報があるか否かを判定する（Ｓ１２）。
【００４１】
０≦ＴＮ≦Ｘを満たす場つなぎ動作情報がある場合（Ｓ１２でＹＥＳ）、場つなぎ動作決定部２１は、当該場つなぎ動作情報のうちの１つが示す場つなぎ動作を、音声対話装置１０が実行する場つなぎ動作に決定する（Ｓ１３、場つなぎ動作決定ステップ）。具体的には、０≦ＴＮ≦Ｘを満たす場つなぎ動作情報のうち、ＴＮの値がより小さい場つなぎ動作情報を選択する。そして、場つなぎ動作決定部２１は、選択した場つなぎ動作情報を場つなぎ動作実行部２２に出力する。
【００４２】
一方、０≦ＴＮ≦Ｘを満たす場つなぎ動作情報が無い場合（Ｓ１２でＮＯ）、場つなぎ動作決定部２１は、減算値ＴＮから符号変更値−ＴＮを算出し、符号変更値−ＴＮおよび第２許容時間Ｙを用いて場つなぎ動作テーブル６１を参照し、０≦−ＴＮ≦Ｙを満たす場つなぎ動作情報があるか否かを判定する（Ｓ１４）。
【００４３】
０≦−ＴＮ≦Ｙを満たす場つなぎ動作情報がある場合（Ｓ１４でＹＥＳ）、場つなぎ動作決定部２１は、当該場つなぎ動作情報のうちの１つが示す場つなぎ動作を、音声対話装置１０が実行する場つなぎ動作に決定する（Ｓ１５、場つなぎ動作決定ステップ）。具体的には、０≦−ＴＮ≦Ｙを満たす場つなぎ動作情報のうち、−ＴＮの値がより小さい場つなぎ動作情報を選択する。
【００４４】
一方、０≦−ＴＮ≦Ｙを満たす場つなぎ動作情報が無い場合（Ｓ１４でＮＯ）、複数の場つなぎ動作を組み合わせて、音声対話装置１０が実行する場つなぎ動作を示す場つなぎ動作情報とする（Ｓ１６、場つなぎ動作決定ステップ）。なお、この場合、上記ステップＳ４において、場つなぎ動作実行部２２は、受け取った複数の場つなぎ動作情報および「Ｎｏ．」の数字を用いて場つなぎ順序テーブル６２を参照し、複数の場つなぎ動作の実行順序（動作順序）を特定し、特定した動作順序で場つなぎ動作を実行させる。以上で、場つなぎ動作決定処理は終了する。
【００４５】
なお、本実施形態において、待機時間予測部１１が予測した待機時間よりも早く応答情報の生成が完了した場合であって、場つなぎ動作決定部２１が、複数の場つなぎ動作を選択している場合、場つなぎ動作実行部２２は、その時点以降に行う場つなぎ動作の実行をキャンセルしてもよい。具体的には、場つなぎ動作実行部２２は、応答実行部１５から応答の出力が可能となったことを通知されたとき、その時点以降に行う場つなぎ動作の実行をキャンセルして、場つなぎ動作の実行が完了したことを応答実行部１５に通知する。また、場つなぎ動作決定部２１は、組み合わせる複数の場つなぎ動作の場つなぎ動作時間を変更してもよい。
【００４６】
〔実施形態２〕
本発明の他の実施形態（実施形態２）について、図６〜図８に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【００４７】
上述した実施形態１では、０≦−ＴＮ≦Ｙを満たす場つなぎ動作情報が無い場合、複数の場つなぎ動作情報を組み合わせることで、０≦−ＴＮ≦Ｙを満たす場つなぎ動作情報としていた。一方、本実施形態では、０≦−ＴＮ≦Ｙを満たす場つなぎ動作情報が無い場合、場つなぎ動作情報に対応付けられた場つなぎ動作時間を変更することで、０≦−ＴＮ≦Ｙを満たす場つなぎ動作情報とする例について説明する。
【００４８】
まず、図６に基づいて、本実施形態に係る音声対話装置１０ａについて説明する。図６は、本実施形態に係る音声対話装置１０ａの構成を示すブロック図である。図６に示すように、音声対話装置１０ａは、実施形態１に係る音声対話装置１０と比較して、制御部１に代えて制御部１ａを備え、記憶部６に代えて記憶部６ａを備えている。本実施形態では、制御部１ａは、実施形態１に係る制御部１と比較して、場つなぎ動作制御部１２に代えて場つなぎ動作制御部１２ａを含む。また記憶部６ａは、実施形態１に係る記憶部６と比較して、場つなぎ動作テーブル６１に代えて場つなぎ動作テーブル６１ａを記憶している。また、記憶部６ａは、記憶部６と異なり場つなぎ順序テーブル６２を記憶していない。
【００４９】
場つなぎ動作制御部１２ａは、場つなぎ動作の決定および実行を行う。場つなぎ動作制御部１２ａは、場つなぎ動作決定部２１ａおよび場つなぎ動作実行部２２ａを含む。
【００５０】
場つなぎ動作決定部２１ａは、待機時間予測部１１が予測した待機時間に基づいて、音声対話装置１０ａが実行する場つなぎ動作を決定するものである。場つなぎ動作決定部２１ａは、実施形態１に係る場つなぎ動作決定部２１と異なり、０≦−ＴＮ≦Ｙを満たす場つなぎ動作情報が無い場合、場つなぎ動作テーブル６１ａを参照して、場つなぎ動作情報に対応付けられた場つなぎ動作時間を変更することで、０≦−ＴＮ≦Ｙを満たす場つなぎ動作情報とする。
【００５１】
ここで、図７を参照して、場つなぎ動作テーブル６１ａの詳細について説明する。図６は、記憶部６ａに記憶されている場つなぎ動作テーブル６１ａのデータ構造およびデータ例を示す図である。場つなぎ動作テーブル６１ａでは、場つなぎ動作情報と場つなぎ動作時間とに、さらに場つなぎ動作時間の変更幅を示す情報が対応付けられている。「場つなぎ動作時間変更幅」のカラムには、各場つなぎ動作時間の変更可能範囲を示す数値（変更許容情報、以降、変更幅と呼称する）が格納されている。例えば、Ｎｏ．２の場つなぎ動作は、場つなぎ動作時間が１秒であるが、変更幅が０．８〜１．５秒である。これはつまり、Ｎｏ．２の場つなぎ動作、すなわち「えっと。」の発話を０．８〜１．５秒の時間範囲で早くしたり、または遅くしたりすることができることを示している。なお、図７の例では変更幅として時間範囲の情報を格納しているが、変更幅はこの例に限定されない。例えば変更幅として、場つなぎ動作時間を基準時間（１００％）とするパーセンテージの情報（例えば、「８０〜１５０％」といった情報）を格納してもよい。また、変更幅はすべての場つなぎ動作情報で同じであってもよい。
【００５２】
より具体的には、場つなぎ動作決定部２１ａは、０≦−ＴＮ≦Ｙを満たす場つなぎ動作情報が無い場合、場つなぎ動作テーブル６１ａを参照して、０≦ＴＮ≦Ｘまたは０≦−ＴＮ≦Ｙを満たすような数値を変更幅に含む場つなぎ動作情報を特定し、当該数値を新たな場つなぎ動作時間とする。そして、特定した場つなぎ動作情報と、変更後の場つなぎ動作時間とを対応付けて場つなぎ動作実行部２２ａに出力する。なお、変更幅がパーセンテージである場合、場つなぎ動作決定部２１ａは、場つなぎ動作時間（基準時間）と当該パーセンテージとの乗算によって新たな場つなぎ動作時間を求める。
【００５３】
場つなぎ動作実行部２２ａは、場つなぎ動作決定部２１ａが決定した場つなぎ動作情報が示す場つなぎ動作を音声対話装置１０ａに実行させる。場つなぎ動作実行部２２ａは、実施形態１に係る場つなぎ動作実行部２２と異なり、場つなぎ動作決定部２１ａから場つなぎ動作情報と場つなぎ動作時間とを受け取った場合、当該場つなぎ動作時間で場つなぎ動作情報が示す場つなぎ動作が完了するように、音声対話装置１０ａに場つなぎ動作を実行させる。例えば、「えっと。」の発話を示す場つなぎ動作情報と、１．５秒という場つなぎ動作時間を受け取った場合、場つなぎ動作実行部２２ａは、通常は１秒で発話される（音声出力部４から出力される）「えっと。」を、１．５秒に引き伸ばして音声出力部４から出力させる。
【００５４】
次に、図８に基づいて、場つなぎ動作決定部２１ａが実行する場つなぎ動作決定処理の流れについて説明する。図８は、本実施形態における場つなぎ動作決定処理の流れの一例を示すフローチャートである。なお、本実施形態における応答実行処理は、場つなぎ動作決定処理の内容を除いて、実施形態１にて説明した応答実行処理（図４に示す応答実行処理）と同様であるため、ここでの説明を省略する。また、図８に示すフローチャートのうち、ステップＳ２１〜Ｓ２５については、図５に示すステップＳ１１〜Ｓ１５と同様であるため、ここでの説明を省略する。
【００５５】
０≦−ＴＮ≦Ｙを満たす場つなぎ動作情報が無い場合（Ｓ２４でＮＯ）、場つなぎ動作決定部２１ａは、場つなぎ動作時間を変更して、０≦ＴＮ≦Ｘまたは０≦−ＴＮ≦Ｙを満たす場つなぎ動作とする（Ｓ２６）。そして、特定した場つなぎ動作情報と変更後の場つなぎ動作時間とを対応付けて場つなぎ動作実行部２２ａに出力する。なお、この場合、上記ステップＳ４において、場つなぎ動作実行部２２ａは、場つなぎ動作決定部２１ａから場つなぎ動作情報と場つなぎ動作時間とを受け取ると、当該場つなぎ動作時間で場つなぎ動作情報が示す場つなぎ動作が完了するように、音声対話装置１０ａに場つなぎ動作を実行させる。最後に、場つなぎ動作実行部２２ａは、場つなぎ動作の実行が完了すると、その旨を応答実行部１５に通知する。以上で、場つなぎ動作決定処理は終了する。
【００５６】
〔実施形態３〕
本発明のさらに別の実施形態（実施形態３）について、図９および図１０に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【００５７】
上述した実施形態１および２では、待機時間の予測は音声データのデータ量および発話時間の少なくとも１つを用いて行われていた。一方、本実施形態では、さらに音声認識結果を用いる例について説明する。
【００５８】
まず、図９に基づいて、本実施形態に係る音声対話装置１０ｂについて説明する。図９は、本実施形態に係る音声対話装置１０ｂの構成を示すブロック図である。図９に示すように、音声対話装置１０ｂは、実施形態１に係る音声対話装置１０と比較して、制御部１に代えて制御部１ｂを備えている。本実施形態では、制御部１ｂは、実施形態１に係る制御部１と比較して、待機時間予測部１１に代えて待機時間予測部１１ｂを含み、場つなぎ動作制御部１２に代えて場つなぎ動作制御部１２ｂを含み、音声認識部１３に代えて音声認識部１３ｂを含む。
【００５９】
待機時間予測部１１ｂは、実施形態１に係る待機時間予測部１１と異なり、まず、ユーザが発した音声を取得してから、音声認識部１３ｂが音声認識を完了するまでの音声認識待機時間を予測する。具体的には、待機時間予測部１１ｂは、音声入力部２から音声付属情報を受け取ると、当該音声データのサイズ（データ量）を用いて音声認識待機時間を予測する。なお、データ量を用いる例については、実施形態１にて既に説明しているため、ここでの説明を省略する。また、待機時間予測部１１ｂは、音声認識部１３ｂから音声認識結果を受け取動作動作ると、音声認識処理が完了してから応答が出力可能となるまでの応答生成待機時間を予測する。具体的には、待機時間予測部１１ｂは、音声データのサイズ（データ量）を用いて応答生成待機時間を予測する。なお、データ量を用いる例については、実施形態１にて既に説明しているため、ここでの説明を省略する。また、待機時間予測部１１ｂは、音声データの時間（ユーザの発話時間）を用いて音声認識待機時間および応答生成待機時間を予測してもよい。また、音声データのデータ量および発話時間の両方を用いて、音声認識待機時間および応答生成待機時間を予測（算出）してもよい。発話時間を用いる例、およびデータ量および発話時間の両方を用いる例については、実施形態１にて既に説明しているため、ここでの説明を省略する。
【００６０】
さらに待機時間予測部１１ｂは、予測（算出）した応答生成待機時間を、受け取った音声認識結果に応じて修正する。具体的には、応答生成部１４が、通信部３を介して何らかの検索を行う必要があることを、音声認識結果が示している場合、応答情報の生成に要する時間が長くなると予想される。この場合、待機時間予測部１１ｂは、必要な検索の回数に応じて、応答生成待機時間を長くする。例えば、音声認識結果が、音声データ中に「明日の天気」、「降水確率」といった、天気予報を管理する外部サーバから情報を取得する必要がある文言が含まれていることを示している場合、応答生成待機時間を長くする。また、音声対話装置１０ｂが、ユーザを認識する（例えば応答として、ユーザの名前を呼ぶ、ユーザの方向を向く）必要があることを音声認識結果が示している場合、ユーザを識別したり、ユーザがいる場所を特定したりする必要があるため、応答情報の生成に要する時間が長くなると予想される。この場合も、待機時間予測部１１ｂは、応答生成待機時間を長くする。なお、ユーザを識別したり、ユーザのいる場所を特定したりする処理は、音声対話装置１０ｂが備えているカメラ（不図示）から動画または静止画を取得して行うことができる。そして、待機時間予測部１１ｂは、応答生成待機時間を場つなぎ動作決定部２１ｂに出力する。なお、待機時間予測部１１ｂは、音声の認識結果のデータサイズから待機時間を予測するなどの方法で、音声の認識結果のみから応答生成待機時間を予測してもよい。
【００６１】
場つなぎ動作制御部１２ｂは、実施形態１に係る場つなぎ動作制御部１２と比較して、場つなぎ動作決定部２１に代えて場つなぎ動作決定部２１ｂを含み、場つなぎ動作実行部２２に代えて場つなぎ動作実行部２２ｂを含む。
【００６２】
場つなぎ動作決定部２１ｂは、場つなぎ動作決定部２１と異なり、待機時間予測部１１ｂから音声認識待機時間または応答生成待機時間を受け取ると、音声対話装置１０ｂに実行させる場つなぎ動作を決定する。なお、決定の詳細は実施形態１に係る場つなぎ動作決定部２１と同様であるため、ここでの説明を省略する。
【００６３】
場つなぎ動作実行部２２ｂは、場つなぎ動作実行部２２と異なり、音声認識待機時間中の場つなぎ動作の実行が完了し、場つなぎ動作決定部２１ｂから、応答生成待機時間中に音声対話装置１０ｂに実行させる場つなぎ動作の場つなぎ動作情報を受け取ると、応答生成待機時間中の場つなぎ動作を音声対話装置１０ｂに実行させる。
【００６４】
音声認識部１３ｂは、実施形態１に係る音声認識部１３と異なり、音声認識結果を応答生成部１４と待機時間予測部１１ｂとに出力する。
【００６５】
次に図１０を参照して、制御部１ｂが実行する応答実行処理の流れについて説明する。図１０は制御部１ｂが実行する応答実行処理の流れの一例を示すフローチャートである。
【００６６】
まず、音声入力部２は音声の入力を待機している（Ｓ３１）。音声入力部２は、ユーザが発した音声を取得すると（Ｓ３１でＹＥＳ）、取得した音声を音声データに変換し、当該音声データを音声認識部１３ｂに出力し、また当該音声データの音声付属情報を待機時間予測部１１ｂに出力する。
【００６７】
続いて、待機時間予測部１１ｂは音声認識待機時間を予測する（Ｓ３２）。待機時間予測部１１ｂは予測した音声認識待機時間を場つなぎ動作決定部２１ｂに出力する。続いて、場つなぎ動作決定部２１ｂは場つなぎ動作決定処理を行う（Ｓ３３）。なお、場つなぎ動作決定処理の詳細については、実施形態１と同様であるためここでの説明を省略する。場つなぎ動作決定部２１ｂは、音声対話装置１０ｂに実行させると決定した場つなぎ動作を示す場つなぎ動作情報を、場つなぎ動作実行部２２ｂに出力する。そして、場つなぎ動作実行部２２ｂは、受け取った場つなぎ動作情報に応じて、音声対話装置１０ｂに場つなぎ動作を実行させる（Ｓ３４）。
【００６８】
一方、音声認識部１３ｂは音声認識処理を行う（Ｓ３５）。音声認識部１３ｂは、音声認識結果を待機時間予測部１１ｂおよび応答生成部１４に出力する。
【００６９】
待機時間予測部１１ｂは、音声認識結果を受け取ると、音声付属情報と音声認識結果とに基づいて応答生成待機時間を予測する（Ｓ３６）。待機時間予測部１１ｂは予測した応答生成待機時間を場つなぎ動作決定部２１ｂに出力する。続いて場つなぎ動作決定部２１ｂは、場つなぎ動作決定処理を行う（Ｓ３７）。場つなぎ動作決定部２１ｂは、音声対話装置１０ｂに実行させると決定した場つなぎ動作を示す場つなぎ動作情報を、場つなぎ動作実行部２２ｂに出力する。
【００７０】
一方、応答生成部１４は応答情報を生成する（Ｓ３９）。具体的には、応答生成部１４は、受け取った音声認識結果に応じた応答情報を生成し、応答実行部１５に出力する。
【００７１】
なお、図１０に示すように、場つなぎ動作実行部２２ｂは、ステップＳ３４の場つなぎ動作の実行が終了し、かつ、ステップＳ３７の場つなぎ動作決定処理が終了したとき、場つなぎ動作決定部２１ｂから受け取った場つなぎ動作情報に応じて、音声対話装置１０ｂに場つなぎ動作を実行させる（Ｓ３８）。ここでステップＳ３４の処理およびステップＳ３７の処理の一方が終了していない場合、場つなぎ動作実行部２２ｂは、当該処理が終了するまで待機する。
【００７２】
また、図１０に示すように、ステップＳ３８の処理と、ステップＳ３９の処理とは並列に行われる。つまり、応答実行部１５は、応答情報および場つなぎ動作の実行が完了した旨の通知のいずれか一方のみを受け取った場合、もう一方を受け取るまで待機する。そして、応答実行部１５は上記通知と応答情報とを受け取ると、音声対話装置１０ｂに応答を実行させる（Ｓ４０）。以上で、応答実行処理は終了する。
【００７３】
なお、本実施形態では、音声認識処理中にも音声対話装置１０ｂに場つなぎ動作を実行させていたが、音声認識処理中には場つなぎ処理を実行させなくてもよい。この場合、音声入力部２は音声を取得すると当該音声の音声データを音声認識部１３ｂにのみ出力する。またこの場合、図１０のステップＳ３２からＳ３４は省略される。つまり、待機時間予測部１１ｂが予測する待機時間は、応答生成待機時間のみとなる。
【００７４】
〔変形例〕
上述した実施形態１では、ユーザが発した音声の音声認識、および当該音声に対する応答情報の生成は、いずれも音声対話制御装置（制御部１）にて行っていたが、これらの処理は音声対話装置１０と通信可能な外部装置（外部サーバ、不図示）が行ってもよい。つまり、音声対話装置１０は、音声を取得すると音声データに変換し、通信部３を介して当該音声データを外部装置に送信する。外部装置は、音声認識および応答情報の生成を行い、応答情報を音声対話装置１０に送信する。また、第１許容時間Ｘまたは第２許容時間Ｙのいずれか一方のみを用いた判定を行ってもよい。また、場つなぎ動作決定部２１は、条件を満たす場つなぎ動作情報が複数ある場合、減算値ＴＮ（または符号変更値−ＴＮ）の値がより小さいものを選択していたが、この例に限定されるものではない。例えば、場つなぎ動作テーブル６１に各場つなぎ動作を最後に実行した日時を示す履歴情報を格納するカラムがあり、条件を満たす場つなぎ動作情報が複数ある場合は、当該履歴情報がより古い日時を示しているものを選択してもよい。また、待機時間予測部１１が予測した待機時間よりも早く応答情報の生成が完了した場合、場つなぎ動作実行部２２は、実行している場つなぎ動作の速度を速めて、当該動作の実行が早く完了するようにしてもよい。具体的には、場つなぎ動作実行部２２は、応答実行部１５から応答の出力が可能となったことを通知されたとき、実行している場つなぎ動作の速度を速めて実行する。なお、これらの変形例は実施形態２および３にも適用可能である。
【００７５】
また、上述した実施形態１において、待機時間予測部１１が予測した待機時間よりも応答情報の生成に時間がかかった場合、待機時間予測部１１は、音声認識部１３が行った音声認識結果を用いて、再度待機時間を予測してもよい。そして、新たな待機時間が以前の待機時間よりも長くなる場合、場つなぎ動作決定部２１は、再度場つなぎ動作の決定を行ってもよい。なお、この変形例は実施形態２にも適用可能である。
【００７６】
また、上述した実施形態１において、場つなぎ動作決定部２１が決定した場つなぎ動作の種別が「音声」である場合、決定した場つなぎ動作より場つなぎ動作時間が短く、かつ種別が「身振り」である場つなぎ動作情報を選択し、２つの場つなぎ動作情報を組み合わせて場つなぎ動作実行部２２に出力してもよい。同様に、決定した場つなぎ動作の種別が「身振り」である場合は、決定した場つなぎ動作より場つなぎ動作時間が短く、かつ種別が「音声」である場つなぎ動作情報を選択し、２つの場つなぎ動作情報を組み合わせて場つなぎ動作実行部２２に出力してもよい。例えば、図２のＮｏ．７の場つなぎ動作情報が示す場つなぎ動作（種別：身振り、「起き上がる」動作を行う）を、音声対話装置１０が実行する場つなぎ動作と決定した場合、場つなぎ動作決定部２１は、例えば図２のＮｏ．４の場つなぎ動作情報が示す場つなぎ動作（種別：音声、「ちょっと待ってね」と発話する）を音声対話装置１０が実行する場つなぎ動作としてさらに決定し、これらの場つなぎ動作情報を場つなぎ動作実行部２２に出力する。場つなぎ動作実行部２２は、この情報を受けて、音声対話装置１０に「『ちょっと待ってね』と発話しながら『起き上がる』動作」を実行させる。これにより、場つなぎ動作のバリエーションが増え、ユーザを飽きさせないようにすることができる。なお、この変形例は実施形態２および３にも適用可能である。
【００７７】
〔ソフトウェアによる実現例〕
音声対話制御装置、すなわち制御部１、制御部１ａ、および制御部１ｂは、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【００７８】
後者の場合、音声対話装置１０は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００７９】
〔まとめ〕
本発明の態様１に係る音声対話制御装置（制御部１）は、音声対話装置（１０）が、ユーザが発した音声を取得した後の所定の時点から、当該音声に対する応答が出力可能になるまでの待機時間を予測する待機時間予測部（１１）と、上記待機時間予測部が予測した上記待機時間と、上記音声対話装置が実行可能な動作を示す複数の動作候補それぞれの実行に要する動作時間とに基づいて、上記複数の動作候補から１または複数を場つなぎ動作として選択する場つなぎ動作決定部（２１）と、上記場つなぎ動作決定部が選択した上記場つなぎ動作を上記音声対話装置に実行させる場つなぎ動作実行部（２２）と、を備える。
【００８０】
上記の構成によれば、待機時間と、複数の動作候補それぞれの実行に要する動作時間とに基づいて、複数の動作候補から場つなぎ動作を決定するので、音声対話装置に、待機時間の長さに応じた場つなぎ動作を実行させることができる。例えば、待機時間が短い場合には、「えっと。」と発話するなどの短い時間で完了する場つなぎ動作を実行させる。また、待機時間が長い場合には、「腕を組んで首を上下する動作を定期的に繰り返す」動作の実行などの、完了までに長い時間がかかる場つなぎ動作を実行させる。よって、ユーザと音声対話装置とのコミュニケーションの柔軟性を向上させることができる。
【００８１】
なお、「ユーザが発した音声を取得した後の所定の時点」とは、待機時間の始点を示す文言である。当該文言が示す待機時間の始点は、ユーザが発した音声を取得した時点であってもよいし、音声を取得してから所定時間後の時点であってもよいし、音声認識処理を完了して、応答の生成を開始した時点であってもよい。つまり、待機時間の始点は、ユーザが発した音声を取得してから、当該音声に対する応答が出力可能になるまでの間において任意に設定可能である。
【００８２】
本発明の態様２に係る音声対話制御装置は、上記態様１において、上記場つなぎ動作決定部は、上記複数の動作候補のうち、上記動作時間を上記待機時間から減算した第１減算値が、０以上かつ、上記場つなぎ動作の実行が完了してから上記応答が出力可能になるまでに上記音声対話装置が動作しない時間として許容できる時間を示す第１許容時間以下である上記動作候補を、上記場つなぎ動作として決定してもよい。
【００８３】
上記の構成によれば、待機時間が動作時間より長く、待機時間と動作時間との差が第１許容時間以下となる動作を場つなぎ動作として決定するので、場つなぎ動作が終了した後から応答を実行するまでの間で、音声対話装置が動作しない時間を最低限とすることができる。これにより、ユーザが音声対話装置とのコミュニケーションにおいてストレスを感じることを防ぐことができる。
【００８４】
本発明の態様３に係る音声対話制御装置は、上記態様２において、上記第１許容時間は、上記動作候補ごとに、または、上記音声の時間および上記音声から生成された音声データのサイズの少なくとも一方に応じて設定されてもよい。
【００８５】
場つなぎ動作が終了した後から応答を実行するまでの音声対話装置が動作しない時間について、ユーザが許容できる時間は動作ごとに異なると考えられる。そこで上記の構成によれば、第１許容時間を動作候補ごとに設定するので、動作に応じた許容時間とすることができる。例えば、動作時間が短い動作の第１許容時間を短くしたり、動作時間が長い動作の第１許容時間を長くしたりすることで、動作に応じた許容時間とすることができる。
【００８６】
また、音声の時間および音声から生成された音声データのサイズが大きい場合、実際の待機時間において、外部からの影響を受けやすくなるため、予測した待機時間とのずれが大きくなると考えられる。そこで上記の構成によれば、第１許容時間を音声の時間および音声から生成された音声データのサイズの少なくとも一方に応じて設定するので、実際の待機時間と予測した待機時間とのずれを考慮した場つなぎ動作の選択を可能とすることができる。例えば、音声データのサイズが大きい場合に、第１許容時間を長くすれば、実際の待機時間が予測した待機時間を超過した場合でも、音声対話装置が動作しない時間を短くすることができる。
【００８７】
本発明の態様４に係る音声対話制御装置は、上記態様１から３のいずれかにおいて、上記場つなぎ動作決定部は、上記複数の動作候補のうち、上記待機時間を上記動作時間から減算した第２減算値が、０以上かつ、上記応答が出力可能になってから上記場つなぎ動作の実行が完了するまでの時間として許容できる時間を示す第２許容時間以下である上記動作候補を、上記場つなぎ動作として決定してもよい。
【００８８】
上記の構成によれば、動作時間が待機時間より長く、待機時間と動作時間との差が第２許容時間以下となる動作を場つなぎ動作として決定するので、応答の生成が完了してから場つなぎ動作が完了するまでの時間を最低限とすることができる。これにより、応答の生成が完了してから応答の実行までの時間を最低限とすることができる。
【００８９】
本発明の態様５に係る音声対話制御装置は、上記態様４において、上記第２許容時間は、上記動作候補ごとに、または、上記音声の時間および上記音声から生成された音声データのサイズの少なくとも一方に応じて設定されてもよい。
【００９０】
場つなぎ動作が実行される時間について、ユーザが許容できる時間は動作ごとに異なると考えられる。そこで上記の構成によれば、第２許容時間を動作候補ごとに設定するので、動作に応じた許容時間とすることができる。例えば、動作時間が長い動作の第２許容時間を短くすることで、長時間の場つなぎ動作の後で、音声対話装置がすぐに応答を返すこととなる。これにより、ユーザが音声対話装置とのコミュニケーションにおいてストレスを感じることを防ぐことができる。
【００９１】
また、音声の時間および音声から生成された音声データのサイズが大きい場合、実際の待機時間において、外部からの影響を受けやすくなるため、予測した待機時間とのずれが大きくなると考えられる。そこで上記の構成によれば、第２許容時間を音声の時間および音声から生成された音声データのサイズの少なくとも一方に応じて設定するので、実際の待機時間と予測した待機時間とのずれを考慮した場つなぎ動作の選択を可能とすることができる。例えば、音声データのサイズが大きい場合に、第２許容時間を長くすれば、実際の待機時間が予測した待機時間を超過した場合でも、応答の生成が完了した後、音声対話装置がすぐに応答を返すことができる。
【００９２】
本発明の態様６に係る音声対話制御装置は、上記態様１から５のいずれかにおいて、上記待機時間予測部は、上記音声の時間および上記音声から生成された音声データのサイズの少なくとも一方を用いて、上記待機時間を予測してもよい。
【００９３】
音声の時間が長いまたは音声データのサイズが大きいと、応答生成に要する時間が長くなると考えられる。そこで上記の構成によれば、音声の時間および音声データのサイズの少なくとも一方を用いて待機時間を予測する。これにより、待機時間を高精度で予測ことができる。
【００９４】
本発明の態様７に係る音声対話制御装置は、上記態様６において、上記待機時間予測部は、上記待機時間の予測に、さらに上記音声の認識結果を用いてもよい。
【００９５】
上記の構成によれば、音声の時間および音声データのサイズに加え、さらに音声の認識結果を用いて待機時間を予測するので、音声の内容に応じた待機時間の予測を行うことができ、さらに高精度な予測が可能となる。例えば、音声認識を行った結果、外部サーバにて管理されている情報の検索などを実行する必要がある場合、応答生成に時間がかかることが予想される。このような場合に待機時間を長く予測することで、待機時間と実際の応答生成に要する時間との間のずれをさらに少なくすることができる。
【００９６】
本発明の態様８に係る音声対話制御装置は、上記態様１から７のいずれかにおいて、上記動作候補には、上記動作時間と共に、当該動作時間の変更可能範囲が予め設定されており、上記場つなぎ動作決定部は、上記動作時間を上記変更可能範囲内で変更した動作時間に基づいて、上記動作候補を選択してもよい。
【００９７】
上記の構成によれば、実行開始から終了までの時間を変更することができるので、動作時間が固定的であった場合には選択できなかった場つなぎ動作を選択できるようになる。よって、場つなぎ動作のバリエーションを増やすことができる。
【００９８】
本発明の態様９に係る音声対話制御装置は、上記態様１から８のいずれかにおいて、上記場つなぎ動作決定部は、上記複数の動作候補から、２以上の動作候補を組み合わせて選択してもよい。
【００９９】
上記の構成によれば、２以上の動作候補を組み合わせて選択するので、待機時間中に１つの場つなぎ動作を実行したり、２以上の場つなぎ動作を実行したりすることができる。よって、場つなぎ動作のバリエーションを増やすことができる。
【０１００】
本発明の態様１０に係る音声対話制御装置は、上記態様９において、上記場つなぎ動作実行部は、上記音声に対する応答が出力可能になった時点で、上記場つなぎ動作決定部により選択され、かつ、実行を開始していない上記場つなぎ動作がある場合、当該場つなぎ動作の実行をキャンセルしてもよい。
【０１０１】
上記の構成によれば、応答が出力可能になった時点で、実行を開始していない動作場つなぎ動作の実行をキャンセルするので、応答が出力可能となってから応答の実行までの時間を最低限とすることができる。
【０１０２】
本発明の態様１１に係る音声対話制御装置の制御方法は、音声対話装置に実行させる音声対話制御装置の制御方法であって、音声対話装置が、ユーザが発した音声を取得した後の所定の時点から、当該音声に対する応答が出力可能になるまでの待機時間を予測する待機時間予測ステップ（Ｓ２）と、上記待機時間予測ステップにて予測された上記待機時間と、上記音声対話装置が実行可能な動作を示す複数の動作候補それぞれの実行に要する動作時間とに基づいて、上記複数の動作候補から１または複数を場つなぎ動作として選択する場つなぎ動作決定ステップ（Ｓ１３、Ｓ１５、Ｓ１６）と、場つなぎ動作決定ステップにて選択された上記場つなぎ動作を上記音声対話装置に実行させる場つなぎ動作実行ステップ（Ｓ４）と、を含む。この制御方法によれば、態様１に係る音声対話制御装置と同様の作用効果を有する。
【０１０３】
本発明の態様１２に係る音声対話装置は、上記態様１から１０のいずれかに係る音声対話制御装置を備えてもよい。上記の構成によれば、この音声対話装置は、ユーザとのコミュニケーションの柔軟性を向上させることができる。
【０１０４】
本発明の各態様に係る音声対話制御装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記音声対話制御装置が備える各部（ソフトウェア要素）として動作させることにより上記音声対話制御装置をコンピュータにて実現させる音声対話制御装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【０１０５】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
【産業上の利用可能性】
【０１０６】
本発明は、ユーザの発話に対して応答する音声対話装置を制御するための音声対話制御装置に利用することができる。
【符号の説明】
【０１０７】
１、１ａ、１ｂ  制御部（音声対話制御装置）、１０、１０ａ、１０ｂ  音声対話装置、１１、１１ｂ  待機時間予測部、２１、２１ａ、２１ｂ  場つなぎ動作決定部、２２、２２ａ、２２ｂ  場つなぎ動作実行部、Ｓ２  待機時間予測ステップ、Ｓ１３、Ｓ１５、Ｓ１６  場つなぎ動作決定ステップ、Ｓ４  場つなぎ動作実行ステップ
【図１】
0006495014.tif 000002
【図２】
0006495014.tif 000003
【図３】
0006495014.tif 000004
【図４】
0006495014.tif 000005
【図５】
0006495014.tif 000006
【図６】
0006495014.tif 000007
【図７】
0006495014.tif 000008
【図８】
0006495014.tif 000009
【図９】
0006495014.tif 000010
【図１０】
0006495014.tif 000011