(57)【要約】【課題】複数の応答装置が同じキャラクターで応答することを防ぐ。【解決手段】ロボット（１）は、他のロボット（１）がユーザ（Ｕ）の問いへの応答時に適用するキャラクターを示す通知を取得するキャラクター通知取得部（１１）と、上記通知の示すキャラクターとは異なるキャラクターを、上記問いへの応答時に適用するキャラクターとするキャラクター決定部（１２）と、を備えている。【選択図】図１
2017052075.tif 000002
【特許請求の範囲】
【請求項１】
ユーザのアクションに対して、複数の所定のキャラクターの何れかを適用し、適用したキャラクターに応じた応答を行う応答装置であって、
上記アクションを検出した他の応答装置が該アクションに対する応答時に適用するキャラクター、または当該他の応答装置が上記アクションに対する応答時に適用しないキャラクターを示す通知を取得するキャラクター通知取得部と、
上記キャラクター通知取得部が取得した通知に応じて、上記他の応答装置とは異なるキャラクターを、上記アクションに対する応答時に適用するキャラクターとするキャラクター決定部と、を備えていることを特徴とする応答装置。
【請求項２】
上記他の応答装置の位置が、上記ユーザから所定範囲内にあるか否かを判定するための位置情報を取得する位置情報取得部を備え、
上記キャラクター決定部は、上記位置情報から、上記他の応答装置の位置が上記ユーザから所定範囲内にあると判定されたことを条件として、上記他の応答装置とは異なるキャラクターを、上記アクションに対する応答時に適用するキャラクターとする、ことを特徴とする請求項１に記載の応答装置。
【請求項３】
ユーザのアクションに対してキャラクターに応じた応答を行う応答装置であって、
複数の所定のキャラクターのうち上記アクションに対する応答時に適用するキャラクターを決定するキャラクター決定部と、
上記キャラクター決定部が決定したキャラクター、または上記複数の所定のキャラクターのうち上記キャラクター決定部が決定しなかったキャラクターを、上記アクションに応答する他の応答装置に通知するキャラクター通知部と、を備えていることを特徴とする応答装置。
【請求項４】
ユーザのアクションに対して、複数の所定のキャラクターの何れかに応じた応答を行う応答装置のキャラクターを調整する調整装置であって、
上記アクションに応答する複数の上記応答装置を検出する応答装置検出部と、
上記応答装置検出部が検出した各応答装置が上記ユーザへの応答の際に適用するキャラクターが重複しないように調整するキャラクター調整部と、を備えていることを特徴とする調整装置。
【請求項５】
上記応答装置検出部は、検出した複数の上記応答装置のそれぞれから、各応答装置が応答の際に適用しようとするキャラクターの通知を取得し、
上記キャラクター調整部は、複数の上記応答装置のうち、他の応答装置の通知したキャラクターと重複するキャラクターを通知した応答装置のキャラクターを、通知されたキャラクターとは異なるキャラクターと決定する、ことを特徴とする請求項４に記載の調整装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザのアクションに対して応答する応答装置、より詳細には設定されたキャラクターに応じた応答を行う応答装置等に関する。
【背景技術】
【０００２】
ユーザの問いに対して受け答えをするロボット等、ユーザのアクションに対して応答する装置が従来から知られており、そのような装置により適切な応答をさせるための技術の開発も従来から進められている。例えば、下記の特許文献１には、ロボットの個性を示す属性情報を用いることにより、個性的で複雑な反応、動作を行うことを可能にする技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−１７９６６５号公報（２００１年７月３日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、上述の従来技術では、同じ個性を有するロボットが同じ場に複数存在する状況について想定されていない。このため、あるロボットの個性と、同じ場に存在する他のロボットの個性とが重複してしまい、ユーザの問いに対して各ロボットが同じような対応をするおそれがあり、これでは、同じ場に複数のロボットが存在する意義が薄れてしまう。なお、この問題は、ロボットに限られず、ユーザのアクションに対して所定の性格（キャラクター）に応じた応答を行う応答装置に共通して生じる問題点である。
【０００５】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、複数の応答装置がユーザに対して同じキャラクターで応答することを防ぐことのできる応答装置等を実現することにある。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る応答装置は、上記課題を解決するために、ユーザのアクションに対して、複数の所定のキャラクターの何れかを適用し、適用したキャラクターに応じた応答を行う応答装置であって、上記アクションを検出した他の応答装置が該アクションに対する応答時に適用するキャラクター、または当該他の応答装置が上記アクションに対する応答時に適用しないキャラクターを示す通知を取得するキャラクター通知取得部と、上記キャラクター通知取得部が取得した通知に応じて、上記他の応答装置とは異なるキャラクターを、上記アクションに対する応答時に適用するキャラクターとするキャラクター決定部と、を備えている。
【０００７】
また、本発明の他の態様に係る応答装置は、上記課題を解決するために、ユーザのアクションに対してキャラクターに応じた応答を行う応答装置であって、複数の所定のキャラクターのうち上記アクションに対する応答時に適用するキャラクターを決定するキャラクター決定部と、上記キャラクター決定部が決定したキャラクター、または上記複数の所定のキャラクターのうち上記キャラクター決定部が決定しなかったキャラクターを、上記アクションに応答する他の応答装置に通知するキャラクター通知部と、を備えている。
【０００８】
そして、本発明の一態様に係る調整装置は、上記課題を解決するために、ユーザのアクションに対して、複数の所定のキャラクターの何れかに応じた応答を行う応答装置のキャラクターを調整する調整装置であって、上記アクションに応答する複数の上記応答装置を検出する応答装置検出部と、上記応答装置検出部が検出した各応答装置が上記ユーザへの応答の際に適用するキャラクターが重複しないように調整するキャラクター調整部と、を備えている。
【発明の効果】
【０００９】
上記各態様によれば、複数の応答装置がユーザに対して同じキャラクターで応答することを防ぐことができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態１に係るロボットの要部構成を示すブロック図である。
【図２】上記ロボットがユーザの問いに対して応答する処理の一例を示すフローチャートである。
【図３】上記処理の中で上記ロボットが実行する応答キャラクター確認処理の一例を示すフローチャートである。
【図４】本発明の実施形態２に係るロボットおよびサーバの要部構成を示すブロック図である。
【図５】ユーザとの対話において上記ロボットと上記サーバが実行する処理の一例を示すフローチャートである。
【図６】本発明の実施形態３に係るロボットおよびサーバの要部構成を示すブロック図である。
【図７】ユーザとの対話において上記ロボットと上記サーバが実行する処理の一例を示すフローチャートである。
【図８】本発明の実施形態４に係るロボットおよびサーバの要部構成を示すブロック図である。
【発明を実施するための形態】
【００１１】
〔実施形態１〕
図１〜３に基づいて、本発明の実施形態１を説明する。まず、本実施形態に係るロボット（応答装置）１の概要について、図１に基づいて説明する。図１は、ロボット１の要部構成の一例を示すブロック図である。また、同図では、ロボット１と対話するユーザＵを図示すると共に、該ユーザＵと対話するもう一台のロボット１（こちらは外観を図示）についても図示している。なお、ユーザＵと対話するロボット１の数は３台以上であってもよい。
【００１２】
ロボット１は、ユーザＵからの問いかけに対し、その問いかけの内容に応じた応答メッセージを音声出力する。つまり、ロボット１は、ユーザＵとの音声による対話が可能な装置である。また、ロボット１には予め複数のキャラクターが設定されており、適用したキャラクターによって異なる応答メッセージを出力する。そして、ロボット１は、ユーザＵからの問いを受けたときに、他のロボット１が近くに存在する場合、当該他のロボット１とは異なるキャラクターでユーザＵに応答を行う点が主な特徴点の１つである。
【００１３】
（ロボット１の構成）
次に、ロボット１の構成について、図１を用いて詳細に説明する。図示のように、ロボット１は、制御部１０、記憶部２０、計時部３０、通信部３１、音声入力部３２、音声出力部３３、および位置検出部３４を備えている。制御部１０は、ロボット１が有する各種の機能を統括的に制御する。制御部１０は、キャラクター通知取得部（位置情報取得部）１１、キャラクター決定部１２、位置判定部１３、キャラクター通知部１４、および対話処理部１５を含む。記憶部２０は、ロボット１が使用する各種データを記憶するものであり、記憶部２０には、基本キャラクターＩＤ２１、臨時キャラクターＩＤ２２、およびユーザ対応データベース２３が記憶されている。計時部３０は、時間を計測するものであり、通信部３１は、ロボット１が他の装置（本例では他のロボット１）と通信するためのものである。音声入力部３２は、外部からの音声の入力を受け付けて、入力された音声を示す音声情報を制御部１０に送信するものであり、例えばマイクである。音声出力部３３は、制御部１０の制御に従って音声を出力するものであり、例えばスピーカである。また、位置検出部３４は、ロボット１の位置を検出して、該位置を示す位置情報を制御部１０に出力する。位置検出部３４は、例えばＧＰＳ（Global Positioning System）を利用して位置を検出するものであってもよい。
【００１４】
基本キャラクターＩＤ２１は、ロボット１が応答に用いるキャラクターを示す情報（ＩＤ）であり、臨時キャラクターＩＤ２２は、基本キャラクターＩＤ２１の代わりに一時的に用いる臨時キャラクターを示す情報（ＩＤ）である。基本キャラクターＩＤ２１は、予め（例えば製造時や販売時）に設定されていてもよいし、ユーザが購入後に設定してもよく、例えばインターネット等のネットワーク経由で設定してもよい。ネットワーク経由で設定する場合は、臨時キャラクターＩＤ２２として登録してもよい。臨時キャラクターＩＤ２２が登録されている場合、そのＩＤのキャラクターは基本キャラクターＩＤ２１のキャラクターに優先して適用されるが、登録後、更新されずに一定期間経過する（期限切れになる）と臨時キャラクターＩＤ２２は消去される。また、ユーザ対応データベース２３は、ユーザＵのアクションと、それに対する応答内容とを対応付けたデータベースであり、キャラクターごとに異なる応答内容が登録されている。よって、ユーザ対応データベース２３を参照して応答を決定した場合、ユーザの同じアクションに対して、キャラクターに応じた異なる応答を決定することが可能である。なお、以下では、ユーザＵのアクションがロボット１に対する問いかけであり、これに対するロボットの応答が応答メッセージの出力である例を説明する。
【００１５】
キャラクター通知取得部１１は、他のロボット１がユーザＵへの応答の際に適用するキャラクターである応答キャラクターの通知を取得する。キャラクター決定部１２は、ユーザＵへの応答の際に適用するロボット１の応答キャラクターを、他のロボット１の応答キャラクターと重複しないように決定する。位置判定部１３は、位置検出部３４の出力する位置をロボット１の位置であると判定し、該位置を示す位置情報をキャラクター決定部１２に出力する。キャラクター通知部１４は、キャラクター決定部１２で決定したロボット１の応答キャラクターを他のロボット１へ通知する。また、キャラクター通知部１４は、応答キャラクターと共に位置検出部３４より取得した位置情報についても他のロボット１に通知してもよい。対話処理部１５は、音声入力部３２に入力されたユーザＵの問いかけ（発話）内容を解析し、それに対応する応答メッセージを生成し、音声出力部３３から音声出力する。詳細は後述するが、対話処理部１５は、キャラクター決定部１２が決定したキャラクターに応じた応答メッセージを、ユーザ対応データベース２３を参照して特定し、該応答メッセージを音声出力させる。
【００１６】
（ロボット１による対話処理の流れ）
図２および図３を参照して、ロボット１による応答処理（応答装置の制御方法）の流れを説明する。図２は、ロボット１がユーザの問いに対して応答する処理の一例を示すフローチャートである。また、図３は、上記処理の中でロボット１が実行する応答キャラクター確認処理の一例を示すフローチャートである。
【００１７】
図２に示すように、対話処理部１５は、ユーザの問いを音声入力部３２が受け付けるのを待ち受けている（Ｓ１）。そして、問いを受け付けた場合（Ｓ１でＹＥＳ）、当該問いに対する応答の際に適用するキャラクターを決定するようにキャラクター決定部１２に指示する。この指示を受信したキャラクター決定部１２は、キャラクター通知取得部１１が他のロボット１からキャラクターＩＤを受信したか否かを確認する（Ｓ２、キャラクター通知取得ステップ）。ここで、キャラクターＩＤを受信していた場合（Ｓ２でＹＥＳ）、キャラクター決定部１２は、位置判定部１３にロボット１の位置情報を取得させる。そして、取得させた位置情報と、キャラクター通知取得部１１がキャラクターＩＤと共に取得した、他のロボット１の位置情報とを比較し、他のロボット１が、ロボット１の近辺であるか否かを判定する（Ｓ３）。なお、Ｓ３において、ロボット１から所定範囲内であれば、他のロボット１がロボット１の近辺に存在すると判定すればよい。この所定範囲は、ユーザのアクションに対して応答が可能な他のロボット１を検出できる程度の範囲であればよく、例えばロボット１から数メートル以内としてもよい。ここでは、ユーザの近辺にあるロボット１の近辺に他のロボット１があるか否かを判定することにより、間接的にユーザから所定範囲内に他のロボット１があるか否かを判定している。
【００１８】
Ｓ３で近辺であると判定した場合（Ｓ３でＹＥＳ）、キャラクター決定部１２は、応答キャラクター確認処理を行って（Ｓ４Ａ）、Ｓ１の問いに対する応答時に適用するキャラクターを確認し、Ｓ５の処理に進む。つまり、キャラクター決定部１２は、他のロボット１の位置がユーザから所定範囲内にあると判定したことを条件として、Ｓ５以下の処理でロボット１のキャラクターの決定を行う。一方、Ｓ３で近辺ではないと判定した場合（Ｓ３でＮＯ）には、キャラクター決定部１２は、応答キャラクター確認処理を行い（Ｓ４Ｂ）、Ｓ８の処理に進む。また、Ｓ２でＮＯと判定した場合（他のロボット１からキャラクターＩＤを受信していない場合）にも、処理はＳ４Ｂに進む。
【００１９】
図３に基づいて、応答キャラクター確認処理（Ｓ４Ａ、Ｓ４Ｂ）の詳細を説明する。まず、キャラクター決定部１２は、記憶部２０に臨時キャラクターＩＤ２２の値が格納（記憶）されているか否かを判定する（Ｓ２１）。格納されていなかった場合（Ｓ２１でＮＯ）、Ｓ２５の処理に進む。一方、格納されていた場合（Ｓ２１でＹＥＳ）、キャラクター決定部１２は、計時部３０より取得した時刻情報を元に、当該ＩＤが期限切れであるか否かを判定する（Ｓ２２）。ここで、期限切れではなかった場合（Ｓ２２でＮＯ）、キャラクター決定部１２は、当該ＩＤのキャラクターを応答キャラクターとして（Ｓ２３）処理を終了する。一方、期限切れであった場合（Ｓ２２でＹＥＳ）、キャラクター決定部１２は、当該ＩＤの値を記憶部２０から削除し（Ｓ２４）、基本キャラクターＩＤ２１のキャラクターを応答キャラクターとして（Ｓ２５）処理を終了する。
【００２０】
ここで図２の説明に戻る。キャラクター決定部１２は、応答キャラクター確認処理（Ｓ４Ａ）にて確認した応答キャラクターが、Ｓ２で通知された応答キャラクターと同一であるか否か判定する（Ｓ５）。応答キャラクターが同一であった場合（Ｓ５でＹＥＳ）、キャラクター決定部１２は、自らの応答キャラクターを、他のロボット１から通知されたものとは異なるものに変更する（Ｓ６、キャラクター決定ステップ）。そして、変更後の応答キャラクターのＩＤを、臨時キャラクターＩＤ２２に登録する（Ｓ７）。また、キャラクター決定部１２は、登録したＩＤをキャラクター通知部１４と対話処理部１５に通知する。
【００２１】
Ｓ８では、キャラクター通知部１４が、キャラクター決定部１２にて決定した応答キャラクターを、通信部３１を介してロボット１の周囲（近辺）に位置する他のロボット１に通知する（Ｓ８、キャラクター通知ステップ）。また、キャラクター通知部１４は、位置検出部３４より取得した位置情報についても、応答キャラクターと同様に、周囲のロボット１に通知する（Ｓ９）。なお、Ｓ２で受信を確認したキャラクターＩＤの送信元のロボット１は応答キャラクターおよび位置情報の通知対象外としてもよい。最後に、対話処理部１５は、Ｓ１で受け付けた問いに対する、キャラクター決定部１２から通知されたＩＤの応答キャラクターに応じた応答メッセージを生成し（Ｓ１０）、音声出力部３３より出力する（Ｓ１１）。
【００２２】
なお、本実施形態では、Ｓ８およびＳ９の通知（Ｓ２で受信する通知）は、通信部３１を介した無線通信にて行うことを想定しているが、通知の態様はこの例に限られない。これは以下の各実施形態においても同様である。例えば、音声（可聴域外が好ましい）にて通知してもよい。この場合、無線通信では必要な事前の通信ネットワーク形成が不要である。また、通知の範囲が音声の届く範囲に限られるので、隣の部屋に設置されているロボット１のような、ユーザからの距離は近いがユーザとの対話には参加しないロボット１を調整の対象外とすることができる。また、通知元のロボットの位置確認（Ｓ３）および位置情報の通知（Ｓ９）は必須ではなく、省略してもよい。この場合、図１の位置判定部１３および位置検出部３４も省略できる。以下の各実施形態においても同様である。
【００２３】
また、上記の例では、応答キャラクターを通知する例を示したが、応答キャラクター以外の１または複数のキャラクターを通知してもよい。この場合、通知を受けたロボット１は、通知されたキャラクターの中から応答キャラクターを決定する。この構成では、一人のユーザに対して応答するキャラクターを所定の組み合わせとすることができる。例えば、一方のキャラクターをおおらか（問いに対する回答に概略的なものが多い）、他方を几帳面（問いに対する回答が詳細なものが多い）にするなど、対照的なキャラクターの組み合わせとして、各キャラクターを際立たせることも可能である。
【００２４】
〔実施形態２〕
図４〜５に基づいて、本発明の実施形態２を説明する。まず、本実施形態に係るロボット（応答装置）２００およびサーバ（調整装置）３００の概要について、図４に基づいて説明する。図４は、ロボット２００およびサーバ３００の要部構成の一例を示すブロック図である。本実施形態では２台のロボット２００のキャラクターの調整をサーバ３００が行う。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。以下の各実施形態でも同様である。
【００２５】
（ロボット２００の構成）
図４のロボット２００は、記憶部２０にロボットＩＤ２４が記憶されている点を除けば、図１のロボット１と同様の構成である。ロボットＩＤ２４は、ロボット２００の識別情報であり、各ロボット２００には固有のロボットＩＤ２４が予め割り当てられている。
【００２６】
（サーバ３００の構成）
サーバ３００は、複数のロボット２００がユーザに応答する際に、各ロボット２００の応答キャラクターが重複しないように調整する装置である。サーバ３００は、サーバ３００の各部を統括的に制御する制御部３１０、サーバ３００が使用する各種データを記憶する記憶部３２０、およびサーバ３００が他の装置（本例ではロボット２００）と通信するための通信部３３１を備えている。
【００２７】
制御部３１０は、通知取得部３１１（応答装置検出部）、キャラクター調整部３１２、およびキャラクター変更指示部（調整キャラクター通知部）３１３を含む。また、記憶部３２０にはキャラクター決定データベース３２１が記憶されている。キャラクター決定データベース３２１は、ロボット２００の応答キャラクターを決定するためのものであり、各ロボット２００から通知された応答キャラクターのＩＤが、該ロボットの２００の位置情報およびロボットＩＤ２４と対応付けられたデータベースである。
【００２８】
通知取得部３１１は、ユーザのアクション（問いかけ）に応答する複数のロボット２００を検出する。具体的には、通知取得部３１１は、ユーザのアクションを検出した各ロボット２００から応答キャラクターの通知を取得することによって、該通知の送信元のロボット２００（すなわちユーザのアクションに応答するロボット２００）を検出する。また、キャラクター調整部３１２は、通知取得部３１１が検出した各ロボット２００が上記ユーザへの応答の際に適用するキャラクターが重複しないように調整する。具体的には、キャラクター調整部３１２は、通知取得部３１１が取得した通知の示す応答キャラクターが、複数のロボット２００で重複する場合に、その重複を避けるように応答キャラクターを調整する。そして、キャラクター変更指示部３１３は、キャラクター調整部３１２がロボット２００の応答キャラクターを調整した場合に、調整後の応答キャラクターを通知して、当該応答キャラクターで応答するように当該ロボット２００に指示する。
【００２９】
（サーバ３００を用いたロボット２００による対話処理の流れ）
図５を参照して、ロボット２００とサーバ３００の実行する処理（応答装置の制御方法および調整装置の制御方法）の流れを説明する。図５は、ユーザとの対話においてロボット２００とサーバ３００が実行する処理の一例を示すフローチャートである。
【００３０】
対話処理部１５は、ユーザの問いを音声入力部３２が受け付けるのを待ち受けており（Ｓ３１）、問いを受け付けた場合（Ｓ３１でＹＥＳ）、キャラクター決定部１２に、当該問いに対する応答の際に適用するキャラクターを決定するように指示する。この指示を受信したキャラクター決定部１２は、実施形態１（図３）と同様の応答キャラクター確認処理（Ｓ３２）を実行して、応答キャラクターを確認し、キャラクター通知部１４に通知する。
【００３１】
次に、この通知を受信したキャラクター通知部１４は、通知された応答キャラクターのＩＤ、位置判定部１３から取得した位置情報、およびロボットＩＤ２４を、通信部３１を介してサーバ３００へ送信する（Ｓ３３）。なお、ユーザの問いを受けた時刻を示す時刻情報についても上記の各情報と共にサーバ３００に送信してもよい。また、図５には示していないが、ユーザの問いを他のロボット２００も受け付けていた場合、当該他のロボット２００も上記と同様にして、応答キャラクターのＩＤ、ロボットＩＤ２４、および位置情報をサーバ３００へ送信する。
【００３２】
サーバ３００の通知取得部３１１は、応答キャラクターのＩＤ、位置情報、およびロボットＩＤの通知、すなわちユーザの問いに応答するロボット２００が検出されることを待ち受けている（Ｓ４１、応答装置検出ステップ）。ここで、通知を受け付けた場合（Ｓ４１でＹＥＳ）、通知取得部３１１は、当該通知に含まれる応答キャラクターが他のロボット２００のものと重複するか否かを確認するよう、キャラクター調整部３１２に指示する。
【００３３】
上記指示を受信したキャラクター調整部３１２は、キャラクター決定データベース３２１を参照して、Ｓ４２〜Ｓ４４の判定を行う。具体的には、Ｓ４２では所定時間内に同じ地点から通知を受信したか否かを判定する。Ｓ３３でロボット２００が時刻情報を送信している場合、この時刻情報を参照してＳ４２の判定を行ってもよい。また、所定時間内に同じ地点からの通知があった場合（Ｓ４２でＹＥＳ）、Ｓ４３ではそれが同じロボット２００からの通知であったか否かを確認する。さらに、同じロボット２００からの通知ではなかった場合（Ｓ４３でＮＯ）、Ｓ４４ではそれらのロボット２００の応答キャラクターが同じであるか否かを判定する。そして、応答キャラクターと同じであった場合（Ｓ４４でＹＥＳ）、キャラクター調整部３１２は、通知されたＩＤとは異なる値の応答キャラクターを、ロボット２００の応答キャラクターとして、キャラクター決定データベース３２１に登録する（Ｓ４５、キャラクター調整ステップ）。この後、処理はＳ４７に進む。
【００３４】
一方、所定時間内に同じ地点からの通知がなかった場合（Ｓ４２でＮＯ）、同じロボット２００からの通知であった場合（Ｓ４３でＹＥＳ）、応答キャラクターが異なっていた場合（Ｓ４４でＮＯ）には、通知された応答キャラクターのＩＤをキャラクター決定データベース３２１へ登録する（Ｓ４６）。この後、処理はＳ４７に進む。Ｓ４７では、キャラクター変更指示部３１３は、通信部３３１を介して、ロボット２００へＳ４５またはＳ４６で登録した応答キャラクターを通知する。
【００３５】
ロボット２００のキャラクター通知取得部１１は、サーバ３００からの回答を待ち受けており（Ｓ３４）、回答を受け付けた場合（Ｓ３４でＹＥＳ）、当該回答の内容をキャラクター決定部１２に通知する。そして、キャラクター決定部１２は、応答キャラクターは応答キャラクターを変更する指示があったか否かを判定する（Ｓ３５、キャラクター通知取得ステップ）。具体的には、キャラクター決定部１２は、Ｓ３２で確認した応答キャラクターと、サーバ３００からの回答にて通知された応答キャラクターとが異なっていれば変更指示があったと判定する。ここで、変更指示はなかったと判定した場合（Ｓ３５でＮＯ）、処理はＳ３７に進む。
【００３６】
一方、変更指示があったと判定した場合（Ｓ３５でＹＥＳ）、キャラクター決定部１２は、サーバ３００より通知された応答キャラクターのＩＤを臨時キャラクターＩＤ２２として登録する（Ｓ３６、キャラクター決定ステップ）。臨時キャラクターＩＤ２２は、基本キャラクターＩＤ２１に優先して適用されるので、上記登録した臨時キャラクターＩＤ２２のキャラクターが応答キャラクターとなる。この後は、上記実施形態と同様にして、応答キャラクターに応じた応答メッセージを生成し（Ｓ３７）、出力する（Ｓ３８）。
【００３７】
なお、上記では、応答キャラクターを変更しない場合でもサーバ３００が応答キャラクターを通知する例を説明したが、変更する場合には通知し、変更しない場合には通知しないようにしてもよい。この場合、ロボット２００は、サーバ３００からの回答がなければ（Ｓ３４でＮＯ）、Ｓ３２で確認した応答キャラクターでユーザに応答する。
【００３８】
〔実施形態３〕
図６〜７に基づいて、本発明の実施形態３を説明する。まず、本実施形態に係るロボット（応答装置）４００およびサーバ（調整装置）５００の概要について、図６に基づいて説明する。図６は、ロボット４００およびサーバ５００の要部構成の一例を示すブロック図である。本実施形態では２台のロボット４００がユーザに対して異なるキャラクターで応答するが、各ロボット４００のキャラクターの調整に加え、応答メッセージの生成についてもサーバ５００が行う。
【００３９】
（ロボット４００およびサーバ５００の構成）
図６のロボット４００は、記憶部２０にユーザ対応データベース２３が記憶されていない点を除けば、図４のロボット２００と同様の構成である。また、図６のサーバ５００は、制御部３１０に応答生成部（応答内容通知部）５１１が含まれている点、および記憶部３２０にユーザ対応データベース５２１が記憶されている点を除けば、図４のサーバ３００と同様の構成である。ユーザ対応データベース５２１は、上述のユーザ対応データベース２３と同様のデータベースである。
【００４０】
応答生成部５１１は、キャラクター調整部３１２が調整した応答キャラクターとユーザの問いを元に、ユーザ対応データベース５２１から応答メッセージを生成し、通信部３３１よりロボット４００へ送信する。つまり、ロボット４００は、ユーザの発話内容をサーバ５００に通知し、サーバ５００はロボット４００の応答キャラクターを調整した上で、該応答キャラクターに応じた応答メッセージを生成する。そして、ロボット４００は、受信した応答メッセージを出力することにより、ユーザの発話（問い）に応答する。
【００４１】
（サーバ５００を用いたロボット４００による対話処理の流れ）
図７を参照してロボット４００とサーバ５００の実行する処理の流れを説明する。図７はユーザとの対話においてロボット４００とサーバ５００が実行する処理の一例を示すフローチャートである。なお、図７のＳ５１、５２、５４〜５６、６２〜６６は、それぞれ図５のＳ３１、３２、３４〜３６、４２〜４６と同様の処理であるから説明を省略する。
【００４２】
Ｓ５３では、キャラクター通知部１４は、通知された応答キャラクターのＩＤ、ユーザの問いの音声情報、ロボットＩＤ２４、および位置判定部１３から取得した位置情報を、通信部３１を介してサーバ５００へ送信する。なお、上記音声情報は、音声入力部３２を介して入力された音声（ユーザの問いかけ）を元に生成されたものである。
【００４３】
サーバ５００の通知取得部３１１は、応答キャラクター、音声情報、ロボットＩＤ２４、および位置情報の通知、すなわちユーザの問いに応答するロボット４００が検出されることを待ち受けている（Ｓ６１、応答装置検出ステップ）。ここで、通知を受け付けた場合（Ｓ６１でＹＥＳ）、Ｓ６２以降の処理が行われて、Ｓ６５（キャラクター調整ステップ）またはＳ６６にて応答キャラクターが登録される。続くＳ６７では応答生成部５１１は、Ｓ６１で受信を確認した音声情報と、ユーザ対応データベース５２１を元に、登録した応答キャラクターに応じた応答メッセージを生成する。そして、キャラクター変更指示部３１３は登録した応答キャラクターをロボット４００に送信し、応答生成部５１１はＳ６７で生成した応答メッセージをロボット４００に送信する（Ｓ６８）。このように、サーバ５００は、応答生成部５１１が応答メッセージをロボット４００に送信するので、ロボット４００の対話処理部１５は、通信部３１を介してサーバ５００より受信した応答メッセージを音声出力部３３より音声出力し（Ｓ５７）、処理を終了する。
【００４４】
〔実施形態４〕
図８に基づいて本発明の実施形態４を説明する。図８は、ロボット（応答装置）６００およびサーバ（調整装置）７００の要部構成の一例を示すブロック図である。本実施形態は実施形態３と同様であるが、サーバ７００が調整後のキャラクターをロボット６００に通知しない点で相違している。
【００４５】
（ロボット６００およびサーバ７００の構成）
図８のロボット６００は、制御部１０にキャラクター通知取得部１１およびキャラクター決定部１２が含まれていない点、および記憶部２０に臨時キャラクターＩＤ２２が記憶されていない点で図６のロボット４００と相違している。また、図８のサーバ７００は、制御部３１０にキャラクター変更指示部３１３が含まれていない点で図６のサーバ５００と相違している。
【００４６】
ロボット６００は、キャラクター通知取得部１１およびキャラクター決定部１２を備えていないので、対話処理部１５がユーザの問いを受け付けたときには、キャラクター通知部１４は、基本キャラクターＩＤ２１とユーザの問いを示す音声情報をサーバ７００に送信する。このときに、位置判定部１３が取得した位置情報についても合わせて送信してもよい。
【００４７】
一方、サーバ７００は、上記実施形態３と同様に、キャラクター調整部３１２にて必要に応じて応答キャラクターの調整を行い、応答生成部５１１にて調整後の応答キャラクターおよび上記音声情報に応じた応答メッセージを生成し、ロボット６００に送信する。ただし、サーバ７００は、キャラクター変更指示部３１３を備えていないため、調整後の応答キャラクターをロボット６００に通知しない。
【００４８】
なお、ロボット６００は、基本キャラクターＩＤ２１の送信を省略してもよい。この場合、サーバ７００の通知取得部３１１は、ユーザの問いを示す音声情報の受信により、ユーザの問いを受け付けた各ロボット６００を検出する。次に、サーバ７００のキャラクター調整部３１２は、通知取得部３１１が検出した各ロボット６００の応答キャラクターを重複しないように決定する。そして、応答生成部５１１は、上記決定した応答キャラクターによる応答内容を決定し、各ロボット６００に通知する。なお、決定した応答キャラクターを各ロボット６００に通知して、該応答キャラクターによる応答を行わせてもよく、この場合、各ロボット６００に応答内容を決定させればよい。
【００４９】
〔変形例〕
上記各実施形態では、１つのサーバ３００、５００、７００を用いる例を説明したが、サーバ３００、５００、７００の有する各機能が、個別のサーバにて実現されていてもよい。そして、複数のサーバを適用する場合においては、各サーバは、同じ事業者によって管理されていてもよいし、異なる事業者によって管理されていてもよい。
【００５０】
また、上記各実施形態では、ユーザの発話に対する応答を、ロボット１、２００、４００、または６００にて行う例を示したが、ユーザの発話に応答する応答装置はロボットに限られない。例えば、テレビや冷蔵庫等のようなユーザの身の周りの家電機器を応答装置としてもよい。この他にも、例えばスマートフォンや携帯電話機等の通信端末装置を応答装置とすることも可能である。また、応答の対象となるユーザのアクションは、発話に限られず、身振り等の音声を伴わないアクションであってもよい。この場合、カメラや動きセンサなどを用いることにより、ユーザの所定のアクションを検出することが可能である。同様に、応答装置による応答も応答メッセージの音声出力に限られず、例えば応答装置が表示部を有している場合には、表示部に応答メッセージを表示出力してもよい。また、例えばユーザのアクションに応じた動きで応答装置を動かすこと等も可能である。
【００５１】
また、上記実施形態１では、ロボット１の位置情報と他のロボット１の位置情報とから、２台のロボット１が近辺に存在すると判定した場合に、応答キャラクターの調整を行う例を示した。この位置情報は、ＧＰＳで取得した位置情報のように絶対位置を示すものであってもよいし、２台のロボット１間の相対位置を示すものであってもよい。また、キャラクターの調整は、ロボット１がアクションを検出したユーザの近辺に他のロボット１が存在する場合に行えばよいから、ユーザから所定範囲内に他のロボット１が存在するか否かを判定してもよい。
【００５２】
〔ソフトウェアによる実現例〕
ロボット１、２００、４００、６００およびサーバ３００、５００、７００の各ブロックは、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【００５３】
ロボット１、２００、４００、６００およびサーバ３００、５００、７００の制御ブロック（特に制御部１０および３１０）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【００５４】
後者の場合、ロボット１、２００、４００、６００およびサーバ３００、５００、７００は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００５５】
〔まとめ〕
本発明の態様１に係る応答装置（ロボット１、２００、４００）は、ユーザのアクションに対して、複数の所定のキャラクターの何れかを適用し、適用したキャラクターに応じた応答を行う応答装置であって、上記アクションを検出した他の応答装置（ロボット１、２００、４００）が該アクションに対する応答時に適用するキャラクター、または当該他の応答装置が上記アクションに対する応答時に適用しないキャラクターを示す通知を取得するキャラクター通知取得部（１１）と、上記キャラクター通知取得部が取得した通知に応じて、上記他の応答装置とは異なるキャラクターを、上記アクションに対する応答時に適用するキャラクターとするキャラクター決定部（１２）と、を備えている。
【００５６】
上記の構成によれば、キャラクター通知取得部が取得した通知に応じて、他の応答装置とは異なるキャラクターを、アクションに対する応答時に適用するキャラクターとする。よって、他の応答装置とは異なるキャラクターにて、ユーザのアクションに応答することができる。つまり、上記の構成によれば、複数の応答装置がユーザに対して同じキャラクターで応答することを防ぐことができるという効果を奏する。
【００５７】
本発明の態様２に係る応答装置は、上記態様１において、上記他の応答装置の位置が、上記ユーザから所定範囲内にあるか否かを判定するための位置情報を取得する位置情報取得部（キャラクター通知取得部１１）を備え、上記キャラクター決定部は、上記位置情報から、上記他の応答装置の位置が上記ユーザから所定範囲内にあると判定されたことを条件として、上記他の応答装置とは異なるキャラクターを、上記アクションに対する応答時に適用するキャラクターとしてもよい。
【００５８】
上記の構成によれば、他の応答装置の位置がユーザから所定範囲内にあると判定されたことを条件として、上記他の応答装置とは異なるキャラクターを、ユーザのアクションに対する応答時に適用するキャラクターとする。よって、ユーザから所定範囲内に他の応答装置が存在しており、応答に適用するキャラクターを調整する必要が高い状況において、応答に適用するキャラクターを決定することができる。言い換えれば、上記の構成によれば、ユーザから所定範囲内に他の応答装置が存在しておらず、調整の必要性が低い状況においては、キャラクターを決定せずに済ませることができる。なお、上記位置情報は、他の応答装置の位置が、上記ユーザから所定範囲内にあるか否かを判定できるような情報であればよい。例えば、他の応答装置の絶対位置、上記応答装置に対する他の応答装置の相対位置、上記ユーザに対する他の応答装置の相対位置等を上記位置情報としてもよい。
【００５９】
本発明の態様３に係る応答装置（ロボット１、２００）は、ユーザのアクションに対してキャラクターに応じた応答を行う応答装置であって、複数の所定のキャラクターのうち上記アクションに対する応答時に適用するキャラクターを決定するキャラクター決定部（１２）と、上記キャラクター決定部が決定したキャラクター、または上記複数の所定のキャラクターのうち上記キャラクター決定部が決定しなかったキャラクターを、上記アクションに応答する他の応答装置（ロボット１、２００）に通知するキャラクター通知部（１４）と、を備えている。
【００６０】
上記の構成によれば、ユーザのアクションに対する応答時に適用するキャラクターを決定すると共に、決定したまたは決定しなかったキャラクターを、上記アクションに応答する他の応答装置に通知する。よって、他の応答装置に、上記応答装置とは異なるキャラクターにて上記アクションに応答させることができる。つまり、上記の構成によれば、複数の応答装置がユーザに対して同じキャラクターで応答することを防ぐことができるという効果を奏する。
【００６１】
本発明の態様４に係る調整装置（サーバ３００、５００、７００）は、ユーザのアクションに対して、複数の所定のキャラクターの何れかに応じた応答を行う応答装置（ロボット２００、４００、６００）のキャラクターを調整する調整装置であって、上記アクションに応答する複数の上記応答装置を検出する応答装置検出部（３１１）と、上記応答装置検出部が検出した各応答装置が上記ユーザへの応答の際に適用するキャラクターが重複しないように調整するキャラクター調整部（３１２）と、を備えている。
【００６２】
上記の構成によれば、ユーザのアクションに応答する複数の応答装置を検出して、検出した各応答装置が上記ユーザへの応答の際に適用するキャラクターが重複しないように調整する。よって、複数の応答装置がユーザに対して同じキャラクターで応答することを防ぐことができるという効果を奏する。なお、上記「キャラクターが重複しないように調整する」は、例えば、重複したキャラクターで応答しようとする応答装置に適用させるキャラクター（応答装置が適用しようとするキャラクターとは異なるキャラクター）を決定することであってもよい。また、例えば、複数の応答装置のそれぞれについて、互いに重複しないキャラクターを決定することであってもよい。この他にも、例えば重複したキャラクターで応答しようとする応答装置に通知を送信して、キャラクターを変更させること等も上記「キャラクターが重複しないように調整する」に含まれる。
本発明の態様５に係る調整装置は、上記態様４において、上記応答装置検出部は、検出した複数の上記応答装置のそれぞれから、各応答装置が応答の際に適用しようとするキャラクターの通知を取得し、上記キャラクター調整部は、複数の上記応答装置のうち、他の応答装置の通知したキャラクターと重複するキャラクターを通知した応答装置のキャラクターを、通知されたキャラクターとは異なるキャラクターと決定してもよい。
【００６３】
上記の構成によれば、適用しようとするキャラクターが重複する応答装置についてのみキャラクターの調整を行えばよいので、調整の対象を最小限とした効率のよい調整が可能である。
【００６４】
本発明の態様６に係る調整装置は、上記態様５において、上記キャラクター調整部が決定したキャラクターに応じた上記ユーザへの応答内容を上記応答装置に通知する応答内容通知部（応答生成部５１１）を備えていてもよい。
【００６５】
上記の構成によれば、調整装置から応答装置にキャラクターに応じた応答内容を通知するので、応答装置が応答内容を決定する必要がない。よって、応答内容を決定する機能を有していない応答装置にも、キャラクターに応じた応答を行わせることができる。また、応答内容を決定する機能を有している応答装置には、該応答装置が決定する応答内容とは異なる応答内容で応答させることが可能である。
【００６６】
本発明の態様７に係る調整装置は、上記態様５または６において、上記キャラクター調整部が決定したキャラクターを上記応答装置に通知する調整キャラクター通知部（キャラクター変更指示部３１３）を備えていてもよい。
【００６７】
上記の構成によれば、キャラクター調整部が決定したキャラクター、すなわち他の応答装置のキャラクターと重複しないように調整したキャラクターを応答装置に通知する。よって、応答装置に当該キャラクターで応答させることができる。
【００６８】
本発明の各態様に係る応答装置および調整装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記応答装置または調整装置が備える各部（ソフトウェア要素）として動作させることにより上記応答装置または調整装置をコンピュータにて実現させる応答装置または調整装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【００６９】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
【符号の説明】
【００７０】
１、２００、４００、６００  ロボット（応答装置）
１１                        キャラクター通知取得部（位置情報取得部）
１２                        キャラクター決定部
１４                        キャラクター通知部
３００、５００、７００      サーバ（調整装置）
３１１                      通知取得部（応答装置検出部）
３１２                      キャラクター調整部
３１３                      キャラクター変更指示部（調整キャラクター通知部）
５１１                      応答生成部（応答内容通知部）
【図１】
2017052075.tif 000003
【図２】
2017052075.tif 000004
【図３】
2017052075.tif 000005
【図４】
2017052075.tif 000006
【図５】
2017052075.tif 000007
【図６】
2017052075.tif 000008
【図７】
2017052075.tif 000009
【図８】
2017052075.tif 000010