(57)【要約】【課題】対話装置の通信状況が悪い場合の受け答え技術を改善する。【解決手段】対話装置１００は、マイク２１と、音声記録部１１１と、通信部２５と、応答文情報取得部１１３と、応答部１１４と、を備える。マイク２１は、ユーザが発話した音声を音声データとして取得する。音声記録部１１１は、マイク２１が取得した音声データに基づく音声情報を記録する。通信部２５は、サーバ装置と通信する。応答文情報取得部１１３は、通信部２５によるサーバ装置との通信が一時的に切断した後に回復した状態において、通信切断中に音声記録部１１１が記録した音声情報をサーバ装置に送信し、音声情報に対する応答文情報をサーバ装置から取得する。応答部１１４は、応答文情報取得部１１３が取得した応答文情報に基づいて作成された応答文でユーザに応答する。【選択図】図３
2019061098.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが発話した音声に対する応答文を外部のサーバ装置と通信しながら作成する対話装置であって、
ユーザが発話した音声を音声データとして取得する音声取得部と、
前記音声取得部が取得した音声データに基づく音声情報を記録する音声記録部と、
前記サーバ装置と通信する通信部と、
前記通信部による前記サーバ装置との通信が一時的に切断した後に回復した状態において、通信切断中に前記音声記録部が記録した音声情報を前記サーバ装置に送信し、前記音声情報に対する応答文情報を前記サーバ装置から取得する、応答文情報取得部と、
前記応答文情報取得部が取得した応答文情報に基づいて作成された応答文でユーザに応答する応答部と、
を備える対話装置。
【請求項２】
前記通信部による前記サーバ装置との通信が切断している間ユーザに聞いている風に見せかける見せかけ部をさらに備える、
請求項１に記載の対話装置。
【請求項３】
前記見せかけ部は、前記音声取得部が取得した前記音声データに応じてうなずく、相づちを打つ、つぶやく、の少なくとも１つを実行する、
請求項２に記載の対話装置。
【請求項４】
前記見せかけ部は、釈明基準時間が経過すると、ユーザに対し適切な応答ができないことを釈明する、
請求項２又は３に記載の対話装置。
【請求項５】
前記応答文は、前記音声データを音声認識して取得したテキストデータに含まれる特徴単語に基づいて作成される、
請求項１から４のいずれか１項に記載の対話装置。
【請求項６】
前記特徴単語は、前記音声データを音声認識して取得したテキストデータに最も多く含まれる特定ワードである、
請求項５に記載の対話装置。
【請求項７】
前記特徴単語は、前記音声データを音声認識して取得したテキストデータに含まれる特定ワードのうち、強調修飾語に修飾された特定ワードである、
請求項５に記載の対話装置。
【請求項８】
前記応答文は、前記特徴単語に応答文作成ルールを適用することによって作成される、
請求項５から７のいずれか１項に記載の対話装置。
【請求項９】
前記応答文情報取得部は、通信切断中に前記音声記録部が記録した音声情報の話題毎の前記音声情報に対する応答文情報を前記サーバ装置から取得し、
前記応答部は、前記応答文情報取得部が取得した話題毎の応答文情報に基づいて作成した応答文でユーザに応答する、
請求項１から８のいずれか１項に記載の対話装置。
【請求項１０】
前記応答部は、前記応答文情報取得部が取得した応答文情報に基づいて作成した応答文に前置きを追加した応答文で、ユーザに応答する、
請求項１から９のいずれか１項に記載の対話装置。
【請求項１１】
自己の位置データを取得する位置取得部をさらに備え、
前記応答文情報取得部は、前記通信部による前記サーバ装置との通信が一時的に切断した後に回復した状態において、通信切断中に前記音声記録部が記録した音声情報及び通信切断中に前記位置取得部が取得した位置データを前記サーバ装置に送信し、前記音声情報に対する応答文情報及び前記位置データに対応する場所名を前記サーバ装置から取得し、
前記応答部は、前記応答文情報取得部が取得した応答文情報に基づいて作成された応答文に、前記応答文情報取得部が取得した場所名を含む前置きを追加した応答文でユーザに応答する、
請求項１から１０のいずれか１項に記載の対話装置。
【請求項１２】
制御部が、ユーザが発話した音声に基づく音声情報を記録し、
外部のサーバ装置との通信が一時的に切断した後に回復した状態において、通信切断中に記録された前記音声情報に対応する応答文情報を前記サーバ装置に作成させ、
前記サーバ装置から受信した前記応答文情報に基づいた応答文でユーザに応答する対話方法。
【請求項１３】
ユーザが発話した音声に対する応答文をサーバ装置と通信しながら作成する対話装置と、前記サーバ装置と、を備える対話システムにおけるサーバ装置であって、
前記対話装置と通信する通信部と、
前記ユーザが発話した音声に基づく音声情報を前記対話装置から前記通信部を介して受信する受信部と、
前記受信部が受信した音声情報に含まれる音声データを音声認識してテキストデータを生成する音声認識部と、
前記音声認識部が生成したテキストデータから該テキストデータに含まれる特徴的な単語である特徴単語を抽出する特徴単語抽出部と、
前記特徴単語抽出部が抽出した特徴単語に基づき、応答文情報を作成する応答作成部と、
前記応答作成部が作成した応答文情報を前記通信部を介して送信する送信部と、
を備え、
前記通信部による前記対話装置との通信が一時的に切断した後に回復した状態において、通信切断中の音声情報を前記対話装置から受信し、前記受信した音声情報に対する応答文情報を作成して前記対話装置に送信する、
ことを特徴とするサーバ装置。
【請求項１４】
ユーザが発話した音声に対する応答文を外部のサーバ装置と通信しながら作成する対話装置のコンピュータに、
ユーザが発話した音声に基づく音声情報を記録する音声記録ステップ、
前記サーバ装置との通信が一時的に切断した後に回復した状態において、通信切断中に前記音声記録ステップで記録した音声情報を前記サーバ装置に送信し、前記音声情報に対する応答文情報を前記サーバ装置から取得する、応答文情報取得ステップ、及び、
前記応答文情報取得ステップで取得した応答文情報に基づいて作成された応答文でユーザに応答する応答ステップ、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット等が音声によってユーザと対話を行う技術に関する。
【背景技術】
【０００２】
ユーザと対話することができる端末やロボットの開発が進められている。そして、これら端末やロボットがユーザと対話をする際に、例えば音声認識処理、言語理解処理等の負荷の高い処理や、ロボットの記憶手段に記憶されていない情報を検索する処理等を、外部のサーバに行わせるシステムの開発も進められている。例えば、特許文献１には、ユーザとのやり取りに応じて外部のサーバとネットワーク接続して、必要なデータやプログラムを動的に取得し、ユーザとのコミュニケーションに活用するロボット装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−１１１９８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載のロボット装置は、外部のサーバとの通信状況が悪い場合や通信が切断された場合には、必要なデータを取得することができないため、適当な対話や行動を続けることによって、ユーザとの対話が途切れないようにする。しかし、このロボット装置による適当な対話や行動はその場限りのものであるため、その後のユーザとのコミュニケーションに支障が生じる可能性がある。
【０００５】
例えば、外部のサーバとの通信が切断されている時にユーザがこのロボット装置に何らかの問い合わせを行うと、ロボット装置はその問い合わせに対する適当な行動としてうなずき続ける行動をすることが考えられる。しかし、このロボットはそのユーザの問い合わせを聞き流しているだけであるから、その後外部のサーバと通信可能な状態になったとしても、その問い合わせに対する適切な回答を行うことはできない。したがって、ユーザの問い合わせをうなずきながら聞いてくれていたにもかかわらず適切な回答を行うことができないこのロボットに対し、ユーザは不信感を抱く可能性がある。このように、従来の対話装置では、通信状況が悪い場合の受け答え技術に改善の余地がある。
【０００６】
本発明は、上記実情に鑑みてなされたものであり、対話装置の通信状況が悪い場合の受け答え技術を改善することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の対話装置は、
ユーザが発話した音声に対する応答文を外部のサーバ装置と通信しながら作成する対話装置であって、
ユーザが発話した音声を音声データとして取得する音声取得部と、
前記音声取得部が取得した音声データに基づく音声情報を記録する音声記録部と、
前記サーバ装置と通信する通信部と、
前記通信部による前記サーバ装置との通信が一時的に切断した後に回復した状態において、通信切断中に前記音声記録部が記録した音声情報を前記サーバ装置に送信し、前記音声情報に対する応答文情報を前記サーバ装置から取得する、応答文情報取得部と、
前記応答文情報取得部が取得した応答文情報に基づいて作成された応答文でユーザに応答する応答部と、
を備える。
【発明の効果】
【０００８】
本発明によれば、対話装置の通信状況が悪い場合の受け答え技術を改善することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１実施形態に係る対話システムの構成を示す図である。
【図２】第１実施形態に係る対話装置の外観を示す図である。
【図３】第１実施形態に係る対話装置の構成を示す図である。
【図４】第１実施形態に係る対話装置が記憶する付加情報付音声情報の一例を示す図である。
【図５】第１実施形態に係るサーバ装置の構成を示す図である。
【図６】第１実施形態に係るサーバ装置が記憶する応答文作成ルールの一例を示す図である。
【図７】第１実施形態に係る対話装置の対話制御処理のフローチャートである。
【図８】第１実施形態に係る対話装置の見せかけスレッドのフローチャートである。
【図９】第１実施形態に係るサーバ装置の応答文作成処理のフローチャートである。
【図１０】本発明の第２実施形態に係る対話装置の構成を示す図である。
【図１１】第２実施形態に係る対話装置が記憶する応答文情報リストの一例を示す図である。
【図１２】第２実施形態に係る対話装置の対話制御処理のフローチャートである。
【図１３】第２実施形態に係るサーバ装置の応答文作成処理のフローチャートである。
【図１４】本発明の第３実施形態に係る対話装置の構成を示す図である。
【図１５】第３実施形態に係る対話装置が記憶する位置履歴データの一例を示す図である。
【図１６】第３実施形態に係る対話装置の対話制御処理のフローチャートである。
【図１７】第３実施形態に係るサーバ装置が対話装置に送信する特徴単語、応答文、及び場所名の例を示す図である。
【図１８】第３実施形態に係るサーバ装置の応答文作成処理のフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、図表を参照して説明する。なお、図中同一又は相当部分には同一符号を付す。
【００１１】
（第１実施形態）
図１に示すように、本発明の第１実施形態に係る対話システム１０００は、音声でユーザＵと対話するロボットである対話装置１００と、対話装置１００がユーザＵと対話する際に必要な各種処理（例えば音声認識処理、応答文作成処理等）を行うサーバ装置２００と、を備える。対話装置１００はユーザが発話した音声のデータ（音声データ）を外部のサーバ装置２００に送信し、該サーバ装置２００に音声認識処理や応答文情報作成等を行ってもらうことにより、ユーザＵと対話する際の対話装置１００自身の処理負荷を軽くしている。
【００１２】
図２に示すように、対話装置１００は頭２０と胴体３０とからなる。そして、対話装置１００の頭２０には、マイク２１と、カメラ２２と、スピーカ２３と、センサ群２４と、が設けられている。
【００１３】
マイク２１は、頭２０の左右、人の顔でいうところの耳の位置に複数設けられており、アレイマイクを構成する。マイク２１は、対話装置１００の周囲にいるユーザＵが発話した音声を音声データとして取得する音声取得部として機能する。
【００１４】
カメラ２２は、頭２０の前面の中央部、人の顔でいうところの鼻の位置に設けられている撮像装置である。カメラ２２は、対話装置１００の正面の画像のデータ（画像データ）を取得する画像取得部として機能し、取得した画像データを後述する制御部１１０に入力する。
【００１５】
スピーカ２３は、カメラ２２の下側、人の顔でいうところの口の位置に設けられている。スピーカ２３は、音声を出力する音声出力部として機能する。
【００１６】
センサ群２４は、人の顔でいうところの目の位置に設けられている。センサ群２４は、加速度センサ、障害物検知センサ等を含み、各種物理量を検出して、対話装置１００の姿勢制御、衝突回避、安全性確保等のために使用される。
【００１７】
対話装置１００の頭２０と胴体３０とは、図２に示すように、破線で示される首関節３１によって相互に連結されている。首関節３１は、複数のモータを含む。後述する制御部１１０がこれら複数のモータを駆動することにより、対話装置１００の頭２０を上下方向、左右方向及び傾ける方向の３軸で回転させることができる。これにより、対話装置１００は、例えばうなずきの動作をすることができる。
【００１８】
図２に示すように、対話装置１００の胴体３０の下部には足回り部３２が設けられている。足回り部３２は、４つの車輪（ホイール）と駆動モータとを含む。４つの車輪のうち、２つが前輪として胴体３０の前側に、残り２つが後輪として胴体３０の後ろ側に、それぞれ配置されている。車輪としては、例えば、オムニホイール、メカナムホイール等を使用してもよい。後述する制御部１１０が、駆動モータを制御して車輪を回転させると、対話装置１００は移動する。
【００１９】
次に、図３を参照して、対話装置１００の機能構成を説明する。図３に示すように、対話装置１００は、上述の構成に加え、通信部２５と、操作ボタン３３と、制御部１１０と、記憶部１２０と、を備える。
【００２０】
通信部２５は、サーバ装置２００等の外部装置と無線通信するための、アンテナを含む無線モジュールである。例えば、通信部２５は、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）により無線通信を行うための無線モジュールである。通信部２５を用いることにより、対話装置１００は、サーバ装置２００に音声データ等の音声情報を送信し、また、サーバ装置２００から後述する応答文情報を受信することができる。対話装置１００とサーバ装置２００との無線通信は、ダイレクトな通信でもよいし、基地局、アクセスポイント等を介しての通信でもよい。
【００２１】
操作ボタン３３は、図示しないが、胴体３０の背中の位置に設けられている。操作ボタン３３は、対話装置１００を操作するための各種ボタンである。操作ボタン３３は、電源ボタン、スピーカ２３の音量調節ボタン等を含む。
【００２２】
制御部１１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等で構成される。制御部１１０は、記憶部１２０に記憶されたプログラムを実行することにより、後述する音声記録部１１１、見せかけ部１１２、応答文情報取得部１１３及び応答部１１４として機能する。また、制御部１１０は、時計機能及びタイマー機能を備え、現在時刻（現在日時）や経過時間を取得することができる。
【００２３】
記憶部１２０は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成され、制御部１１０のＣＰＵが実行するプログラム、各種データ等を記憶する。また、記憶部１２０は、音声取得部（マイク２１）が取得した音声データに発話日時等を付加した付加情報付音声情報１２１も記憶する。
【００２４】
付加情報付音声情報１２１は、図４に示すように、ユーザが発話した内容を、通信状態及び発話日時とともに記録したデータである。通信状態の値は、通信部２５がサーバ装置２００と通信可能な状態なら「接続」、通信不可能な状態なら「切断」となる。図４では、通信状態によらずに付加情報付音声情報１２１を記憶しているが、通信状態が「切断」の付加情報付音声情報１２１だけを記憶部１２０に記録するようにしてもよい。また、通信切断の検出をトリガにして付加情報付音声情報１２１の記録を開始するようにしてもよい。また、通信状態の値は付加情報付音声情報１２１に含めずに、サーバ装置２００が発話日時に基づいて通信状態を判断してもよい。
【００２５】
次に、制御部１１０が実現する各機能について説明する。制御部１１０は、前述したように、記憶部１２０に記憶されたプログラムを実行することにより、音声記録部１１１、見せかけ部１１２、応答文情報取得部１１３及び応答部１１４として機能する。また、制御部１１０は、マルチスレッド機能に対応しており、複数のスレッド（異なる処理の流れ）を並行して実行することができる。
【００２６】
音声記録部１１１は、音声取得部（マイク２１）が取得した音声データに発話日時等を付加して付加情報付音声情報１２１として、記憶部１２０に記録する。なお、本実施形態では後述するように音声認識処理をサーバ装置２００で行うが、音声認識処理を対話装置１００で行う実施形態も考えられる。この場合、音声記録部１１１は、音声データを音声認識したテキストデータを記憶部１２０に記録してもよい。そこで、対話装置１００がサーバ装置２００に送信する情報を音声情報と表現することとする。本実施形態では音声情報は音声取得部が取得した音声データであるが、音声情報が音声認識後のテキストデータである実施形態も考えられる。そして、音声情報に発話日時等を付加した情報が、付加情報付音声情報１２１である。
【００２７】
見せかけ部１１２は、通信部２５によるサーバ装置２００との通信が切断されている場合に、ユーザＵにユーザＵが発話している内容を聞いている風に見せかける動作をするための制御を行う。具体的には、うなずく、相づちを打つ等の動作をするように、首関節３１やスピーカ２３等を制御する。
【００２８】
応答文情報取得部１１３は、サーバ装置２００が作成した応答文に関する情報（応答文情報）を、通信部２５を介して取得する。応答文情報については後述する。
【００２９】
応答部１１４は、応答文情報取得部１１３が取得した応答文情報に基づいて作成された応答文で、ユーザＵに対して応答する。具体的には、応答部１１４は、応答文情報に基づいて作成された応答文を音声合成し、スピーカ２３から該応答文の音声を出力する。なお、音声合成処理をサーバ装置２００が行う実施形態も考えられる。このような実施形態では音声合成後のボイスデータが応答文情報としてサーバ装置２００から送信されるため、応答部１１４は、音声合成処理をする必要なく、そのままそのボイスデータをスピーカ２３から出力することができる。
【００３０】
以上、対話装置１００の機能構成を説明した。次に、サーバ装置２００の機能構成を説明する。図５に示すように、サーバ装置２００は、制御部２１０と、記憶部２２０と、通信部２３０と、を備える。
【００３１】
制御部２１０は、ＣＰＵ等で構成される。制御部２１０は、記憶部２２０に記憶されたプログラムを実行することにより、後述する音声認識部２１１、特徴単語抽出部２１２及び応答作成部２１３として機能する。
【００３２】
記憶部２２０は、ＲＯＭ、ＲＡＭ等で構成され、制御部２１０のＣＰＵが実行するプログラム、各種データ等を記憶する。また、記憶部２２０は、後述する応答文作成ルール２２１も記憶する。
【００３３】
応答文作成ルール２２１は、図６に示すように、特定の単語（特徴単語）毎に応答文を対応させたルールである。なお、図６では、応答文作成ルール２２１は、特徴単語として、「暑い」「映画」「かわいい」のような具体的な単語を割り当てたルールになっているが、これに限られない。例えば、特徴単語を「寒暖を表すネガティブな形容詞：○い」と定義し、これに対応する応答文を「○い○い言ってると余計○くなるよ。」とルール付けしてもよい。また、寒暖を表す形容詞の他の応答文作成ルール例として、例えば、特徴単語を「寒暖を表すポジティブな形容詞：○い」と定義し、これに対応する応答文を「最近は○くなってきたのかな。○いと気持ち良いね。」とルール付けしてもよい。ここで、「寒暖を表すネガティブな形容詞」としては、例えば「暑い」「寒い」等が挙げられ、「寒暖を表すポジティブな形容詞」としては、例えば「涼しい」「暖かい」等が挙げられる。
【００３４】
通信部２３０は、対話装置１００等の外部装置と無線通信するための、アンテナを含む無線モジュールである。例えば、通信部２３０は、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）により無線通信を行うための無線モジュールである。通信部２３０を用いることにより、サーバ装置２００は、対話装置１００から音声データ等の音声情報を受信し、また、対話装置１００に後述する応答文情報を送信することができる。制御部２１０は、通信部２３０を介して対話装置１００から音声情報を受信する際には受信部として機能し、通信部２３０を介して対話装置１００に応答文情報を送信する際には送信部として機能する。
【００３５】
次に、制御部２１０が実現する各機能について説明する。制御部２１０は、前述したように、記憶部２２０に記憶されたプログラムを実行することにより、音声認識部２１１、特徴単語抽出部２１２及び応答作成部２１３として機能する。
【００３６】
音声認識部２１１は、対話装置１００から送信された付加情報付音声情報１２１に含まれる音声データを音声認識して、ユーザＵの発話内容を表すテキストデータを生成する。上述したように、音声認識を対話装置１００が行う実施形態においては、音声認識部２１１は不要であり、この場合は、対話装置１００から送信された付加情報付音声情報１２１に音声認識後のテキストデータが含まれている。
【００３７】
特徴単語抽出部２１２は、音声認識部２１１が生成したテキストデータ（又は付加情報付音声情報１２１に含まれているテキストデータ）から、該テキストデータに含まれる特徴的な単語である特徴単語を抽出する。特徴単語とは、例えば、テキストデータ中に含まれる特定ワード（名詞、動詞、形容詞、形容動詞）のうち、最も多く含まれる特定ワードである。また、テキストデータ中に含まれる特定ワードのうち、強調修飾語（「とても」、「すごく」等）に修飾された特定ワードも、特徴単語になり得る。
【００３８】
応答作成部２１３は、特徴単語抽出部２１２が抽出した特徴単語を、記憶部２２０に記憶されている応答文作成ルール２２１に適用して、応答文に関する情報（応答文情報）を作成する。なお、本実施形態では、応答作成部２１３が完成した応答文を作成しているが、これに限られない。対話処理においては、ユーザが発話した音声を音声認識し、構文解析等して、応答文を作成し、音声合成するという一連の処理が存在するが、この中の一部をサーバ装置２００が行い、残りの処理を対話装置１００が行うようにしてもよい。例えば、音声認識や構文解析等の重い処理をサーバ装置２００が行い、応答文を完成させる処理は対話装置１００が行ってもよい。これらの処理のどれをどちらの装置で行うかは任意である。そこで、サーバ装置２００が対話装置１００へ送信する情報を応答文情報と表現し、対話装置１００がユーザＵに発話する情報を応答文と表現するものとする。応答文情報と応答文が同一である（デジタルデータかアナログ音声であるか等の信号形態は異なるとしても、内容として同じ）場合もある。本実施形態では、応答文情報は応答文と同一である。
【００３９】
以上、サーバ装置２００の機能構成を説明した。次に、対話装置１００の制御部１１０が行う対話制御処理について、図７を参照して説明する。この処理は、対話装置１００が起動して初期設定が完了すると開始される。
【００４０】
まず、制御部１１０は、通信部２５によるサーバ装置２００との通信が切断されているか否かを判定する（ステップＳ１０１）。例えば、通信部２５がアクセスポイントを経由してサーバ装置２００と通信している場合、該アクセスポイントの電波が受信できないならサーバ装置２００との通信が切断されていると判断する。
【００４１】
サーバ装置２００との通信が切断されているなら（ステップＳ１０１；Ｙｅｓ）、制御部１１０は、現在時刻（通信が切断された時刻）を記憶部１２０に記憶する（ステップＳ１０２）。そして、見せかけ部１１２としての制御部１１０は、後述する見せかけスレッドを起動し（ステップＳ１０３）、見せかけスレッドの処理を並行して行う。
【００４２】
そして、音声記録部１１１としての制御部１１０は、音声取得部（マイク２１）が取得した音声データに、通信状態（切断）及び現在時刻の情報を付加して、付加情報付音声情報１２１として記憶部１２０に記録する（ステップＳ１０４）。ステップＳ１０４は、音声記録ステップとも呼ばれる。その後、制御部１１０は、サーバ装置２００との通信が回復したか否かを判定する（ステップＳ１０５）。サーバ装置２００との通信が回復していなければ（ステップＳ１０５；Ｎｏ）、制御部１１０は、ステップＳ１０４に戻って、通信が回復するまで付加情報付音声情報１２１を記録しながら待機する。サーバ装置２００との通信が回復したら（ステップＳ１０５；Ｙｅｓ）、制御部１１０は、見せかけスレッドを終了させる（ステップＳ１０６）。
【００４３】
そして、制御部１１０は、ステップＳ１０２で記憶部２２０に記憶した通信切断時刻から現在時刻までの（通信切断中の）付加情報付音声情報１２１を、通信部２５を介して、サーバ装置２００に送信する（ステップＳ１０７）。なお、ここでは通信の回復を対話装置１００が検出しているが、サーバ装置２００が通信の回復を検出して、対話装置１００に付加情報付音声情報１２１の送信をリクエストしてもよい。対話装置１００がステップＳ１０７で送信した付加情報付音声情報１２１はサーバ装置２００で音声認識され、サーバ装置２００は対話装置１００に応答文情報を送信する。
【００４４】
すると、応答文情報取得部１１３としての制御部１１０は、通信部２５を介して、サーバ装置２００が送信した応答文情報を取得する（ステップＳ１０８）。ステップＳ１０８は、応答文情報取得ステップとも呼ばれる。本実施形態では完成文としての応答文を応答文情報として取得するが、これに限らず、サーバ装置２００が応答文作成の全部でなく一部を担当する場合は、部分的な情報としての応答文情報（例えば後述する特徴単語の情報）を取得し、対話装置１００内で応答文を完成させてもよい。
【００４５】
そして、応答部１１４としての制御部１１０は、応答文情報取得部１１３が取得した応答文情報に基づき、ユーザに応答する（ステップＳ１０９）。本実施形態では、応答文情報は応答文そのものなので、具体的には、応答部１１４は、応答文の内容を音声合成して、スピーカ２３から応答文を発話する。この応答文は、サーバ装置２００と対話装置１００との連携により、通信切断中の音声に対応する内容の応答文になっているので、ユーザは対話装置１００が通信切断中もユーザの発話内容をきちんと聞いていてくれたことを確認できる。ステップＳ１０９は、応答ステップとも呼ばれる。そして、制御部１１０は、処理をステップＳ１０１に戻す。
【００４６】
一方、ステップＳ１０１で、サーバ装置２００との通信が切断されていないなら（ステップＳ１０１；Ｎｏ）、音声記録部１１１としての制御部１１０は、マイク２１が取得した音声に、通信状態（接続）及び現在時刻の情報を付加して、付加情報付音声情報１２１として記憶部１２０に記録する（ステップＳ１１０）。そして、制御部１１０は、ステップＳ１１０で記録した（通信接続中の）付加情報付音声情報１２１を、通信部２５を介してサーバ装置２００に送信する（ステップＳ１１１）。
【００４７】
なお、通信状態が「切断」の付加情報付音声情報１２１だけが記憶部１２０に記録されるようにした場合は、ステップＳ１１０の処理をスキップし、ステップＳ１１１の処理の代わりに、制御部１１０は、マイク２１が取得した音声データに、通信状態（接続）及び現在時刻を付加して、付加情報付音声情報１２１として、通信部２５を介してサーバ装置２００に送信する。
【００４８】
本実施形態では、上記いずれの場合も、ここで送信された付加情報付音声情報１２１に含まれる音声データがサーバ装置２００で音声認識され、サーバ装置２００は対話装置１００に応答文を送信する。このサーバ装置２００による処理（応答文作成処理）については後述する。
【００４９】
すると、応答文情報取得部１１３としての制御部１１０は、通信部２５を介して、サーバ装置２００が送信した応答文情報を取得する（ステップＳ１１２）。そして、応答部１１４としての制御部１１０は、応答文情報取得部１１３が取得した応答文情報に基づき、ユーザに応答する（ステップＳ１１３）。本実施形態では、応答文情報は応答文そのものなので、具体的には、応答部１１４は、応答文の内容を音声合成して、スピーカ２３から応答文を発話する。この応答文は、サーバ装置２００と対話装置１００との連携により、通信接続中の音声に対応する内容の応答文になっているので、従来技術により作成された応答文と同様の内容である。そして、制御部１１０は、処理をステップＳ１０１に戻す。
【００５０】
次に、ステップＳ１０３で起動される見せかけスレッドの処理について、図８を参照して説明する。
【００５１】
まず、制御部１１０は、制御部１１０が備えるタイマーを、釈明を行う間隔設定用に使うためにリセットする（ステップＳ２０１）。これ以降このタイマーを釈明用タイマーと呼ぶことにする。
【００５２】
そして、制御部１１０は、カメラ２２が取得した画像を認識し（ステップＳ２０２）、ユーザに見つめられているか否かを判定する（ステップＳ２０３）。ユーザに見つめられているなら（ステップＳ２０３；Ｙｅｓ）、ユーザに例えば「今、頭がボーッとしていて、きちんとしたお返事ができないのです。ごめんなさい。」等のような釈明をする（ステップＳ２０４）。この時は、サーバ装置２００との間の通信が切断されており、音声認識や応答文作成ができないからである。
【００５３】
そして、釈明をしたことにより、制御部１１０は、釈明用タイマーをリセットする（ステップＳ２０５）。そして、制御部１１０は、１０秒待ってから（ステップＳ２０６）、ステップＳ２０２に戻る。ここで、この１０秒という値は、対話装置１００が頻繁に同じ動作を繰り返さないようにするための待ち時間の例であり、１０秒に限定する必要はなく、３秒、１分等、任意の値に変更可能である。なお、ステップＳ２０６におけるこの待ち時間を、他の待ち時間と区別するために、見せかけ待ち基準時間と呼ぶことにする。
【００５４】
一方、ステップＳ２０３で、ユーザに見つめられていないなら（ステップＳ２０３；Ｎｏ）、制御部１１０は、釈明用タイマーの値がリセット後３分経過しているか否かを判定する（ステップＳ２０７）。なおこの３分という値は、対話装置１００が頻繁に釈明しないようにするための待ち時間の例であり、３分に限定する必要はない。例えば、１分、１０分等、任意の値に変更可能である。なお、この待ち時間を他の待ち時間と区別するために、釈明基準時間と呼ぶことにする。
【００５５】
３分経過しているなら（ステップＳ２０７；Ｙｅｓ）、ステップＳ２０４に進み、以降の処理は上述した通りとなる。３分経過していないなら（ステップＳ２０７；Ｎｏ）、制御部１１０は、マイク２１から取得される音声が途切れたか否かを判定する（ステップＳ２０８）。この判定は、例えば、マイク２１から取得される音声において、無音期間が基準無音時間（例えば１秒）以上続いたら、制御部１１０は音声が途切れたと判定する。
【００５６】
音声が途切れていなければ（ステップＳ２０８；Ｎｏ）、ステップＳ２０２に戻る。音声が途切れていれば（ステップＳ２０８；Ｙｅｓ）、制御部１１０は、「うなずく」、「相づちを打つ」、「つぶやく」の３つの中から１つランダムに選択し、選択した動作を行うように、首関節３１、スピーカ２３等を制御する（ステップＳ２０９）。
【００５７】
例えば、「うなずく」を選択したら、制御部１１０は、首関節３１を用いて頭２０を縦に振るように動かす。このうなずきの動作について、制御部１１０は、ステップＳ２０９を実行する度に、頭２０を振る回数や速度をランダムに変更してもよい。また、「相づちを打つ」を選択したら、制御部１１０は、首関節３１を用いて頭２０を縦に振るように動かしながら、スピーカ２３から「はい」、「そうですね」、「うん」等を発話する。この相づちの動作についても、制御部１１０は、ステップＳ２０９を実行する度に、制御部１１０は、頭２０を振る回数や速度、スピーカ２３から発話する内容をランダムに変更してもよい。
【００５８】
また「つぶやく」を選択したら、制御部１１０は、スピーカ２３から適当なつぶやきを発話させる。ここで、適当なつぶやきとは、人間的なつぶやきでもよいが、動物の鳴き声を模倣した音や、ロボットにありがちな人間には理解不能な電子音等でもよい。このつぶやきについても、制御部１１０は、ステップＳ２０９を実行する度に、いくつかの種類の中から制御部１１０がランダムに選択したつぶやきを発話させるようにしてもよい。
【００５９】
そして、ステップＳ２０６に進み、以降の処理は上述した通りとなる。以上、説明した見せかけスレッドの処理により、対話装置１００は、サーバ装置２００との通信が切断している時でも、ユーザに聞いている風に見せかけることができる。
【００６０】
次に、サーバ装置２００が行う応答文作成処理について、図９を参照して説明する。なお、サーバ装置２００は起動すると応答文作成処理を開始する。
【００６１】
まず、サーバ装置２００の通信部２３０は、対話装置１００が送信した付加情報付音声情報１２１を受信する（ステップＳ３０１）。対話装置１００から付加情報付音声情報１２１が送信されていないなら、送信されるまでステップＳ３０１で待機する。そして、制御部２１０は、受信した付加情報付音声情報１２１が、通信切断中のものであるか否かを判定する（ステップＳ３０２）。付加情報付音声情報１２１には、図４に示すように通信状態を示す情報が含まれているので、この情報を参照することにより、受信した付加情報付音声情報１２１が通信切断中のものであるか否かを判定することができる。また、サーバ装置２００は、対話装置１００との通信状況を把握できるので、付加情報付音声情報１２１に通信状態を示す情報が含まれていなくても、付加情報付音声情報１２１に含まれている発話日時の情報に基づいて、その付加情報付音声情報１２１が通信切断中のものであるか否かを判断することもできる。
【００６２】
受信した付加情報付音声情報１２１が、通信切断中のものであるなら（ステップＳ３０２；Ｙｅｓ）、音声認識部２１１としての制御部２１０は、付加情報付音声情報１２１に含まれる音声データを音声認識してテキストデータを生成する（ステップＳ３０３）。そして、特徴単語抽出部２１２としての制御部２１０は、生成されたテキストデータから特徴単語を抽出する（ステップＳ３０４）。そして、応答作成部２１３としての制御部２１０は、抽出された特徴単語と応答文作成ルール２２１に基づき、応答文情報（本実施形態では応答文そのもの）を作成する（ステップＳ３０５）。そして、応答作成部２１３は、作成した応答文（応答文情報）を、通信部２３０を介して対話装置１００に送信する（ステップＳ３０６）。そして、ステップＳ３０１に戻る。
【００６３】
一方、受信した付加情報付音声情報１２１が、通信切断中のものでなければ（ステップＳ３０２；Ｎｏ）、音声認識部２１１としての制御部２１０は、付加情報付音声情報１２１に含まれる音声データを音声認識してテキストデータを生成する（ステップＳ３０７）。そして、応答作成部２１３としての制御部２１０は、生成されたテキストデータに対する応答文情報（本実施形態では応答文そのもの）を、従来の応答文作成技術を用いて作成する（ステップＳ３０８）。そして、応答作成部２１３は、作成した応答文（応答文情報）を、通信部２３０を介して対話装置１００に送信する（ステップＳ３０９）。そして、ステップＳ３０１に戻る。
【００６４】
以上説明した応答文作成処理により、通信接続中は通常の応答文情報が生成され、通信切断中は、特徴単語及び応答文作成ルールに基づいて応答文情報が作成される。したがって、サーバ装置２００は、対話装置１００との通信が切断している間の音声情報に対して、ユーザの発話をきちんと聞いていたかのように思わせるための応答文情報を作成することができる。
【００６５】
そして、上述の対話装置１００の対話制御処理により、サーバ装置２００との通信が切断している間の音声情報に対する応答文情報をサーバ装置２００から取得することにより、対話装置１００は、ユーザの発話をきちんと聞いていたかのように思わせる応答文を発話することができる。
【００６６】
例えば、図４のＮｏ１からＮｏ．３に示すユーザの発話内容に対し、対話装置１００はその時点では応答文を返答できないが、サーバ装置２００との通信が回復した時点で、これらのＮｏ．１からＮｏ．３に示すユーザの発話内容がサーバ装置２００に送信される。そして、サーバ装置２００の特徴単語抽出部２１２により、これらのユーザの発話内容から、最も多く使われている特定ワードとして「暑い」が抽出される。この「暑い」を図６に示す応答文作成ルールに適用することにより、応答作成部２１３は「暑い暑い言っていると余計暑くなるよ。」という応答文情報（本実施形態では、応答文そのもの）を作成する。そして、対話装置１００の応答文情報取得部１１３は、この応答文（応答文情報）を取得し、応答部１１４により、対話装置１００はユーザに対して「暑い暑い言ってると余計暑くなるよ。」と発話することができる。
【００６７】
このように、対話装置１００は、サーバ装置２００との通信が切断している時には小まめな応答を行うことができないが、通信が回復した時に、切断中のユーザの発話内容に含まれる特徴単語（最も多く使われている特定ワード等）に基づいた応答文を発話することによって、比較的短い応答文で、通信切断中もきちんとユーザの発話内容を聞いていたことをユーザに示すことができる。このように、対話装置１００は、通信状況が悪い場合の受け答え技術を改善することができる。
【００６８】
（第２実施形態）
上述した第１実施形態では、対話装置１００は、サーバ装置２００との通信が切断している間にユーザが発話した内容全体の中で最も多く使われている特定ワード等（１つの特徴単語）に対応する応答文で応答する。特徴単語はユーザの印象に残りやすいので、このような応答でもあまり問題は生じないと考えられるが、場合によってはユーザが発話中に話題が変化し、時間の経過とともに複数の特徴単語が同じ位多く使われることもあり得る。このような場合は、話題毎にそれぞれ最も多く使われている特徴単語を抽出して、抽出された複数の特徴単語それぞれに対応する応答文により複数回応答した方が望ましい場合もあると考えられる。そこで、このような複数の応答文により応答可能な第２実施形態について説明する。
【００６９】
第２実施形態に係る対話システム１００１が対話装置１０１とサーバ装置２０１とを備える点は、第１実施形態に係る対話システム１０００と同じである。第２実施形態に係る対話装置１０１は、第１実施形態に係る対話装置１００と同じ外観である。対話装置１０１の機能構成は、図１０に示すように、第１実施形態に係る対話装置１００と比較して、記憶部１２０に、応答文情報リスト１２２を記憶する点が異なる。また、サーバ装置２０１の機能構成は、第１実施形態に係るサーバ装置２００と同じである。
【００７０】
応答文情報リスト１２２は、図１１に示すように、「発話日時」、「特徴単語」「ユーザの音声に対する応答文」を含み、これらは、サーバ装置２０１から送信された情報である。例えば、図１１のＮｏ．１は、ユーザが２０１７年９月５日１０時３分５秒から２０１７年９月５日１０時３分１１秒までの間に発話した内容に含まれている特徴単語が「暑い」であり、このユーザの発話に対する応答文が「暑い暑い言ってると余計暑くなるよ。」であることを示している。Ｎｏ．２以降も同様である。なお、説明のための一例であるが、図１１に示される「ユーザの音声に対する応答文」が対応する「ユーザの発話内容」は、図４に示す付加情報付音声情報１２１に示されているものである。
【００７１】
次に、対話装置１０１の制御部１１０が行う対話制御処理について、図１２を参照して説明する。この処理は、第１実施形態に係る対話装置１００の対話制御処理（図７）と比べ、一部を除いて同じなので、異なる点を中心に説明する。
【００７２】
ステップＳ１０１からステップＳ１０７及びステップＳ１１０からステップＳ１１３は、図７を参照して説明した処理と同じである。ステップＳ１０７の次のステップであるステップＳ１２１では、応答文情報取得部１１３としての制御部１１０は、通信部２５を介して、サーバ装置２０１が送信した応答文情報リスト１２２を取得する。次に、応答文情報リスト１２２には、１つ以上の応答文情報が含まれているので、応答文情報取得部１１３としての制御部１１０は、応答文情報リスト１２２から応答文情報を１つ取り出す（ステップＳ１２２）。
【００７３】
応答文情報リスト１２２から取り出した応答文情報は、図１１に示すように、「発話日時」が含まれている。制御部１１０は、「発話日時」の終了時刻が現在時刻より２分以上前であるか否かを判定する（ステップＳ１２３）。ここで２分とは、次に述べるステップＳ１２４で前置きを追加するか否かを判定するための時間なので、前置き判定基準時間とも言い、２分に限られない。前置き判定基準時間は、例えば３分、１０分等、任意の値に変更可能である。
【００７４】
「発話日時」の終了時刻が現在時刻より２分以上前なら（ステップＳ１２３；Ｙｅｓ）、応答部１１４としての制御部１１０は、応答文情報に前置きを追加する。ここで前置きとは、例えば「そういえば、暑いと言ってましたけど」というような句である。より一般的には、「そういえば、［特徴単語］と言ってましたけど」と表すことができる。この前置きを追加することにより、「特徴単語」に対応する応答文が唐突に発話されたような印象をユーザに与えることを避けることができる。なお、「発話日時」の終了時刻が現在時刻より２分以上前ということではないなら（ステップＳ１２３；Ｎｏ）、前置きを追加すること無く、ステップＳ１２５に進む。
【００７５】
そして、応答部１１４としての制御部１１０は、応答文情報取得部１１３が取得した応答文情報（ステップＳ１２４で前置きが追加された場合は、前置き付きの応答文情報）に基づき、ユーザに応答する（ステップＳ１２５）。本実施形態では、応答文情報は応答文そのものなので、具体的には、応答部１１４は、応答文（又は前置き付きの応答文）の内容を音声合成して、スピーカ２３から応答文を発話する。そして、制御部１１０は、応答文情報リスト１２２に次の応答文情報（まだ発話の対象になっていない応答文情報）が有るかないかを判定する（ステップＳ１２６）。
【００７６】
次の応答文情報があるなら（ステップＳ１２６；Ｙｅｓ）、ステップＳ１２２に戻り、応答文情報リストに存在する全ての応答文情報が発話されるまで、ステップＳ１２２からステップＳ１２５までの処理を繰り返す。次の応答文情報がないなら（ステップＳ１２６；Ｎｏ）、ステップＳ１０１に戻る。この応答文情報リストには、サーバ装置２０１で作成された、通信切断中の音声に対応する内容の、複数の応答文が含まれているので、ユーザは対話装置１０１が通信切断中もユーザの発話内容をきちんと聞いていてくれたことを確認できる。
【００７７】
次に、サーバ装置２０１が行う応答文作成処理について、図１３を参照して説明する。この処理は、第１実施形態に係るサーバ装置２００の応答文作成処理（図９）と比べ、一部を除いて同じなので、異なる点を中心に説明する。
【００７８】
ステップＳ３０１からステップＳ３０３及びステップＳ３０７からステップＳ３０９は、図９を参照して説明した処理と同じである。ステップＳ３０３の次のステップであるステップＳ３２１では、制御部２１０は、対話装置１０１が送信した音声情報（本実施形態では音声データ）から話の切れ目（話題）を抽出する。これは、ステップＳ３０３で生成されたテキストデータに基づいて話の切れ目（話題）を抽出してもよいし、音声データに基づいて例えば音声の途切れ等に基づいて話の切れ目（話題）を抽出してもよい。
【００７９】
次に、特徴単語抽出部２１２としての制御部２１０は、ステップＳ３２１で抽出した話の切れ目（話題）毎に、特徴単語を抽出する（ステップＳ３２２）。例えば、音声データの話の切れ目が発話開始から３分のところと５分のところに抽出された場合を想定する。この場合、発話開始後３分までの部分に最も多く含まれている特定ワードを最初の話題の特徴単語として抽出する。そして、発話開始後３分から５分までの部分に最も多く含まれている特定ワードを２番目の話題の特徴単語として抽出する。そして、発話開始後５分以降の部分に最も多く含まれている特定ワードを３番目の話題の特徴単語として抽出する。
【００８０】
そして、応答作成部２１３としての制御部２１０は、話の切れ目（話題）毎に抽出した特徴単語を応答文作成ルール２２１に適用して応答文情報（本実施形態では応答文そのもの）を作成し、その応答文に発話日時及び特徴単語を付加して、図１１に示すような応答文情報リストを作成する（ステップＳ３２３）。そして、応答作成部２１３は、作成した応答文情報リストを、通信部２３０を介して対話装置１０１に送信する（ステップＳ３２４）。そして、ステップＳ３０１に戻る。
【００８１】
以上説明した応答文作成処理により、通信切断中に複数の話題からなる発話をユーザがしたとしても、各話題にそれぞれ含まれる特徴単語に基づいて応答文情報リストが作成される。したがって、サーバ装置２０１は、対話装置１０１との通信が切断している間に発話された複数の話題それぞれに対応する応答文情報を作成することができる。
【００８２】
そして、上述の対話装置１０１の対話制御処理により、サーバ装置２０１との通信が切断している間の音声情報に対する応答文情報リストをサーバ装置２０１から取得することにより、対話装置１０１は、複数の応答文による応答を行うことができる。これによって、１つの応答文による応答に比べ、ユーザの発話をよりきちんと聞いていたかのように思わせる応答を行うことができる。
【００８３】
例えば、図４のＮｏ．８からＮｏ．１２に示すユーザの発話内容に対し、対話装置１０１はその時点では応答文を返答できないが、サーバ装置２０１との通信が回復した時点で、これらのＮｏ．８からＮｏ．１２に示すユーザの発話内容がサーバ装置２０１に送信される。そして、サーバ装置２０１の応答文作成処理により、これらのユーザの発話内容から、図１１のＮｏ．２及びＮｏ．３に示す応答文情報リストが作成される。そして、対話装置１０１の応答文情報取得部１１３は、この応答文情報リストを取得し、応答部１１４により、対話装置１０１はユーザに対して「そういえば、映画と言ってましたけど、映画って良いよね。私も映画大好き。」、「そういえば、かわいいと言ってましたけど、かわいいって私のこと？嬉しい。」等と発話することができる。
【００８４】
このように、対話装置１０１は、サーバ装置２０１との通信が切断している時には小まめな応答を行うことができないが、通信が回復した時に、切断中のユーザの発話内容に複数の話題が含まれていても、それぞれの話題中の特徴単語（最も多く使われている特定ワード等）に基づいた応答文を発話することができる。したがって、対話装置１０１は、各話題についてきちんとユーザの発話内容を聞いていたことを示すことができる。このように、対話装置１０１は、通信状況が悪い場合の受け答え技術をさらに改善することができる。
【００８５】
（第３実施形態）
対話装置が自己の位置を取得できるようにすると、応答文に位置に関する情報を含めることができるようになり、ユーザの発話内容をどこで聞いていたかということも示すことができるようになる。このような第３実施形態について説明する。
【００８６】
第３実施形態に係る対話システム１００２が対話装置１０２とサーバ装置２０２とを備える点は、第１実施形態に係る対話システム１０００と同じである。第３実施形態に係る対話装置１０２は、第１実施形態に係る対話装置１００と同じ外観である。対話装置１０２の機能構成は、図１４に示すように、第１実施形態に係る対話装置１００と比較して、位置取得部２６を備える点と、記憶部１２０に位置履歴データ１２３を記憶する点が異なる。また、サーバ装置２０２の機能構成は、第１実施形態に係るサーバ装置２００と同じである。
【００８７】
位置取得部２６は、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）衛星からの電波を受信することによって、自己位置の座標（位置データ）を取得することができる。自己位置の座標の情報は、緯度及び経度で表されている。
【００８８】
位置履歴データ１２３は、図１５に示すように、自己位置を取得した日時と、自己位置の座標（緯度及び経度）と、のペアの履歴である。
【００８９】
次に、対話装置１０２の制御部１１０が行う対話制御処理について、図１６を参照して説明する。この処理は、第１実施形態に係る対話装置１００の対話制御処理（図７）と比べ、一部を除いて同じなので、異なる点を中心に説明する。
【００９０】
ステップＳ１０１からステップＳ１０３、ステップＳ１０５からステップＳ１０６及びステップＳ１１０からステップＳ１１３は、図７を参照して説明した処理と同じである。ステップＳ１０３の次のステップであるステップＳ１３１では、音声記録部１１１としての制御部１１０は、マイク２１が取得した音声データを、通信状態（切断）及び現在時刻とともに、付加情報付音声情報１２１として記憶部１２０に記録し、また、制御部１１０は、位置取得部２６が取得した位置データを取得日時とともに、位置履歴データ１２３として記憶部１２０に記憶する。
【００９１】
そして、ステップＳ１０６の次のステップであるステップＳ１３２では、制御部１１０は、ステップＳ１０２で記憶部２２０に記憶した通信切断時刻から現在時刻までの（通信切断中の）付加情報付音声情報１２１と位置履歴データ１２３とを、通信部２５を介して、サーバ装置２０２に送信する。ここで送信した付加情報付音声情報１２１及び位置履歴データ１２３はサーバ装置２０２で音声認識及び場所名検索され、サーバ装置２０２は対話装置１０２に特徴単語、応答文及び位置に対応する場所名を送信する。具体例を示すと、位置に対応する場所名が存在すれば、サーバ装置２０２は、例えば、図１７のＮｏ．１に示すように、特徴単語「暑い」、応答文及び場所名「第一公園」を送信する。また、位置に対応する場所名が存在しなければ、サーバ装置２０２は、例えば、図１７のＮｏ．２に示すように、特徴単語「映画」、応答文及び場所名が無いことを示すデータ「−−−」を送信する。このサーバ装置２０２による処理（応答文作成処理）については後述する。
【００９２】
すると、応答文情報取得部１１３としての制御部１１０は、通信部２５を介して、サーバ装置２０２が送信した特徴単語、応答文情報（本実施形態においては応答文そのもの）及び位置に対応する場所名を取得する（ステップＳ１３３）。そして、応答部１１４としての制御部１１０は、位置に対応する場所名が存在するか否かを判定する（ステップＳ１３４）。位置に対応する場所名が存在するなら（ステップＳ１３４；Ｙｅｓ）、応答文情報取得部１１３は、取得した応答文情報に、場所に関する前置きを追加する（ステップＳ１３５）。場所に関する前置きとは、例えば「そういえば、さっき公園にいたときに、暑いって言ってたけど」というような句である。より一般的には、「そういえば、さっき［位置に対応する場所名］にいたときに、［特徴単語］って言ってたけど」と表すことができる。なお、位置に対応する場所名が存在しないなら（ステップＳ１３４；Ｎｏ）、前置きを追加すること無く、ステップＳ１３６に進む。
【００９３】
そして、応答部１１４としての制御部１１０は、応答文情報取得部１１３が取得した応答文情報（ステップＳ１３５で前置きが追加された場合は、前置き付きの応答文情報）に基づき、ユーザに応答する（ステップＳ１３６）。本実施形態では、応答文情報は応答文そのものなので、具体的には、応答部１１４は、応答文（又は前置き付きの応答文）の内容を音声合成して、スピーカ２３から応答文を発話する。そして、制御部１１０は、処理をステップＳ１０１に戻す。
【００９４】
次に、サーバ装置２０２が行う応答文作成処理について、図１８を参照して説明する。この処理は、第１実施形態に係るサーバ装置２００の応答文作成処理（図９）と比べ、一部を除いて同じなので、異なる点を中心に説明する。
【００９５】
ステップＳ３０１からステップＳ３０２、ステップＳ３０３からステップＳ３０５及びステップＳ３０７からステップＳ３０９は、図９を参照して説明した処理と同じである。ステップＳ３０２の判定がＹｅｓの場合の処理であるステップＳ３３１では、通信部２３０は、対話装置１０２が送信した位置履歴データ１２３を受信する。そして、制御部２１０は、位置履歴データ１２３に含まれる各座標について、緯度及び経度から場所名を取得するクラウドサービスを利用して、場所名を取得する（ステップＳ３３２）。例えば、ｇｏｏｇｌｅ（登録商標）や、ゼンリン（登録商標）等の地図データベースを保有する企業から情報提供を受けることにより、ビル名などのかなり詳細な場所名を取得することができる。ただし、場所名が定義されていない座標も存在するので、場所名が取得できないこともある。
【００９６】
そして、ステップＳ３０５の次のステップであるステップＳ３３３では、制御部２１０は、ステップＳ３３２で場所名を取得できたか否かを判定する。場所名が取得できたなら（ステップＳ３３３；Ｙｅｓ）、応答作成部２１３は、ステップＳ３０４で抽出した特徴単語、ステップＳ３０５で作成した応答文情報、及び、ステップＳ３３２で取得した場所名を通信部２３０を介して対話装置１０２に送信する（ステップＳ３３４）。この送信データは、例えば図１７のＮｏ．１やＮｏ．３に示すようなデータである。
【００９７】
場所名が取得できなかったなら（ステップＳ３３３；Ｎｏ）、応答作成部２１３は、ステップＳ３０４で抽出した特徴単語、ステップＳ３０５で作成した応答文情報、及び、場所名が無いことを示すデータを、通信部２３０を介して対話装置１０２に送信する（ステップＳ３３５）。この送信データは、例えば図１７のＮｏ．２に示すようなデータである。
【００９８】
そして、何れの場合（場所名が取得できた場合も取得できない場合も）も、その後、ステップＳ３０１に戻る。
【００９９】
以上説明した応答文作成処理により、通信切断中の発話内容に対する応答文情報には、特徴単語の情報と場所名の情報を付加して対話装置１０２に送信することができる。そして、上述の対話装置１０２の対話制御処理により、サーバ装置２０２との通信が切断している間の音声情報に対する応答文情報を、サーバ装置２０２から取得することにより、対話装置１０２は、ユーザがどの場所でどのような話をしたかをきちんと聞いていたかのように思わせる応答文で応答することができる。このように、対話装置１０２は、通信状況が悪い場合の受け答え技術をさらに改善することができる。
【０１００】
（変形例）
上述の各実施形態は任意に組み合わせることができる。例えば第２実施形態と第３実施形態とを組み合わせることにより、複数の話題に対応した応答文を、各話題を発話した場所についての前置きとともに発話させることができるようになる。これにより、例えば、「そういえば、さっき、第一公園にいたときに、暑いって言ってたけど、暑い暑い言ってると余計暑くなるよ。」、「そういえば、映画って言ってましたけど、映画って良いよね。私も映画大好き。」、「そういえば、さっき、第三食堂にいたときに、かわいいって言ってたけど、かわいいって私のこと？嬉しい。」のような発話を対話装置にさせることができる。これにより、対話装置がサーバ装置と通信できない状態のときのユーザの発話内容の話題の変化や各話題がどの場所で発話されたかに対して、あたかも対話装置がきちんと聞いていたかのように受け答えすることができる。したがって、この対話装置の変形例は、通信状況が悪い場合の受け答え技術をさらに改善することができる。
【０１０１】
また、上述の各実施形態では、サーバ装置と対話装置の通信環境の乱れを想定して説明したが、節電等のために意図的に両装置間の通信を遮断した場合にも適用できるものである。
【０１０２】
また、上述の各実施形態では、対話装置がユーザ１名に対応しているイメージで説明したが、対話装置が個人認識機能を搭載することにより、複数のユーザにそれぞれ対応した受け答えをすることが可能である。
【０１０３】
なお、対話装置１００，１０１，１０２の各機能は、通常のＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等のコンピュータによっても実施することができる。具体的には、上記実施形態では、対話装置１００，１０１，１０２が行う対話制御処理等のプログラムが、記憶部１２０のＲＯＭに予め記憶されているものとして説明した。しかし、プログラムを、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）及びＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  Ｄｉｓｃ）等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の各機能を実現することができるコンピュータを構成してもよい。
【０１０４】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【０１０５】
（付記１）
ユーザが発話した音声に対する応答文を外部のサーバ装置と通信しながら作成する対話装置であって、
ユーザが発話した音声を音声データとして取得する音声取得部と、
前記音声取得部が取得した音声データに基づく音声情報を記録する音声記録部と、
前記サーバ装置と通信する通信部と、
前記通信部による前記サーバ装置との通信が一時的に切断した後に回復した状態において、通信切断中に前記音声記録部が記録した音声情報を前記サーバ装置に送信し、前記音声情報に対する応答文情報を前記サーバ装置から取得する、応答文情報取得部と、
前記応答文情報取得部が取得した応答文情報に基づいて作成された応答文でユーザに応答する応答部と、
を備える対話装置。
【０１０６】
（付記２）
前記通信部による前記サーバ装置との通信が切断している間ユーザに聞いている風に見せかける見せかけ部をさらに備える、
付記１に記載の対話装置。
【０１０７】
（付記３）
前記見せかけ部は、前記音声取得部が取得した前記音声データに応じてうなずく、相づちを打つ、つぶやく、の少なくとも１つを実行する、
付記２に記載の対話装置。
【０１０８】
（付記４）
前記見せかけ部は、釈明基準時間が経過すると、ユーザに対し適切な応答ができないことを釈明する、
付記２又は３に記載の対話装置。
【０１０９】
（付記５）
前記応答文は、前記音声データを音声認識して取得したテキストデータに含まれる特徴単語に基づいて作成される、
付記１から４のいずれか１つに記載の対話装置。
【０１１０】
（付記６）
前記特徴単語は、前記音声データを音声認識して取得したテキストデータに最も多く含まれる特定ワードである、
付記５に記載の対話装置。
【０１１１】
（付記７）
前記特徴単語は、前記音声データを音声認識して取得したテキストデータに含まれる特定ワードのうち、強調修飾語に修飾された特定ワードである、
付記５に記載の対話装置。
【０１１２】
（付記８）
前記応答文は、前記特徴単語に応答文作成ルールを適用することによって作成される、
付記５から７のいずれか１つに記載の対話装置。
【０１１３】
（付記９）
前記応答文情報取得部は、通信切断中に前記音声記録部が記録した音声情報の話題毎の前記音声情報に対する応答文情報を前記サーバ装置から取得し、
前記応答部は、前記応答文情報取得部が取得した話題毎の応答文情報に基づいて作成した応答文でユーザに応答する、
付記１から８のいずれか１つに記載の対話装置。
【０１１４】
（付記１０）
前記応答部は、前記応答文情報取得部が取得した応答文情報に基づいて作成した応答文に前置きを追加した応答文で、ユーザに応答する、
付記１から９のいずれか１つに記載の対話装置。
【０１１５】
（付記１１）
自己の位置データを取得する位置取得部をさらに備え、
前記応答文情報取得部は、前記通信部による前記サーバ装置との通信が一時的に切断した後に回復した状態において、通信切断中に前記音声記録部が記録した音声情報及び通信切断中に前記位置取得部が取得した位置データを前記サーバ装置に送信し、前記音声情報に対する応答文情報及び前記位置データに対応する場所名を前記サーバ装置から取得し、
前記応答部は、前記応答文情報取得部が取得した応答文情報に基づいて作成された応答文に、前記応答文情報取得部が取得した場所名を含む前置きを追加した応答文でユーザに応答する、
付記１から１０のいずれか１つに記載の対話装置。
【０１１６】
（付記１２）
制御部が、ユーザが発話した音声に基づく音声情報を記録し、
外部のサーバ装置との通信が一時的に切断した後に回復した状態において、通信切断中に記録された前記音声情報に対応する応答文情報を前記サーバ装置に作成させ、
前記サーバ装置から受信した前記応答文情報に基づいた応答文でユーザに応答する対話方法。
【０１１７】
（付記１３）
ユーザが発話した音声に対する応答文をサーバ装置と通信しながら作成する対話装置と、前記サーバ装置と、を備える対話システムにおけるサーバ装置であって、
前記対話装置と通信する通信部と、
前記ユーザが発話した音声に基づく音声情報を前記対話装置から前記通信部を介して受信する受信部と、
前記受信部が受信した音声情報に含まれる音声データを音声認識してテキストデータを生成する音声認識部と、
前記音声認識部が生成したテキストデータから該テキストデータに含まれる特徴的な単語である特徴単語を抽出する特徴単語抽出部と、
前記特徴単語抽出部が抽出した特徴単語に基づき、応答文情報を作成する応答作成部と、
前記応答作成部が作成した応答文情報を前記通信部を介して送信する送信部と、
を備え、
前記通信部による前記対話装置との通信が一時的に切断した後に回復した状態において、通信切断中の音声情報を前記対話装置から受信し、前記受信した音声情報に対する応答文情報を作成して前記対話装置に送信する、
ことを特徴とするサーバ装置。
【０１１８】
（付記１４）
ユーザが発話した音声に対する応答文を外部のサーバ装置と通信しながら作成する対話装置のコンピュータに、
ユーザが発話した音声に基づく音声情報を記録する音声記録ステップ、
前記サーバ装置との通信が一時的に切断した後に回復した状態において、通信切断中に前記音声記録ステップで記録した音声情報を前記サーバ装置に送信し、前記音声情報に対する応答文情報を前記サーバ装置から取得する、応答文情報取得ステップ、及び、
前記応答文情報取得ステップで取得した応答文情報に基づいて作成された応答文でユーザに応答する応答ステップ、
を実行させるためのプログラム。
【符号の説明】
【０１１９】
２０…頭、２１…マイク、２２…カメラ、２３…スピーカ、２４…センサ群、２５，２３０…通信部、２６…位置取得部、３０…胴体、３１…首関節、３２…足回り部、３３…操作ボタン、１００，１０１，１０２…対話装置、１１０，２１０…制御部、１１１…音声記録部、１１２…見せかけ部、１１３…応答文情報取得部、１１４…応答部、１２０，２２０…記憶部、１２１…付加情報付音声情報、１２２…応答文情報リスト、１２３…位置履歴データ、２００，２０１，２０２…サーバ装置、２１１…音声認識部、２１２…特徴単語抽出部、２１３…応答作成部、２２１…応答文作成ルール、１０００，１００１，１００２…対話システム、Ｕ…ユーザ
【図１】
2019061098.tif 000003
【図２】
2019061098.tif 000004
【図３】
2019061098.tif 000005
【図４】
2019061098.tif 000006
【図５】
2019061098.tif 000007
【図６】
2019061098.tif 000008
【図７】
2019061098.tif 000009
【図８】
2019061098.tif 000010
【図９】
2019061098.tif 000011
【図１０】
2019061098.tif 000012
【図１１】
2019061098.tif 000013
【図１２】
2019061098.tif 000014
【図１３】
2019061098.tif 000015
【図１４】
2019061098.tif 000016
【図１５】
2019061098.tif 000017
【図１６】
2019061098.tif 000018
【図１７】
2019061098.tif 000019
【図１８】
2019061098.tif 000020