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