(57)【要約】【課題】利用者の好みを精度よく把握し、利用者の好みに合った対話を行う。【解決手段】ロボット１００Ａは、ロボット１００Ａによる発話に対する所定の対象の反応を判定した結果と、ロボット１００Ａとは別個に設けられたロボット１００Ｂによる発話に対する所定の対象の反応を判定した結果とを含む複数の反応判定結果を取得する反応取得手段１１０Ａと、反応取得手段１１０Ａにより取得された複数の反応判定結果に基づいて、ロボット１００Ａ及びロボット１００Ｂを含む複数の発話装置の少なくとも何れかによる発話を制御する発話制御部１１５Ａと、を備える。【選択図】図３
2019175432.tif 000002
【特許請求の範囲】
【請求項１】
第１発話装置による発話に対する所定の対象の反応を判定した結果と、前記第１発話装置とは別個に設けられた第２発話装置による発話に対する前記所定の対象の反応を判定した結果とを含む複数の反応判定結果を取得する反応取得手段と、
前記反応取得手段により取得された複数の反応判定結果に基づいて、前記第１及び第２発話装置を含む複数の発話装置の少なくとも何れかによる前記発話を制御する発話制御手段と、
を備える、
ことを特徴とする対話制御装置。
【請求項２】
前記反応取得手段は、前記第１発話装置により前記発話が前記所定の対象に対して行われる場所と、前記第２発話装置により前記発話が前記所定の対象に対して行われる場所とが、前記第１及び第２発話装置による前記発話の両方を前記所定の対象が認識できないような場所である場合における、前記第１及び第２発話装置による発話の各々に対する前記所定の対象の反応を判定した結果を含む前記複数の反応判定結果を取得する、
ことを特徴とする請求項１に記載の対話制御装置。
【請求項３】
前記発話制御手段は、前記第１及び第２発話装置による前記発話を、互いに連続して行わずに、互いに所定時間以上異なるタイミングで行うように、制御する、
ことを特徴とする請求項１に記載の対話制御装置。
【請求項４】
前記発話制御手段は、前記第１及び第２発話装置による前記発話の話題を互いに異なる話題に決定する、
ことを特徴とする請求項１又は２に記載の対話制御装置。
【請求項５】
前記発話制御手段は、前記第１及び第２発話装置による前記発話の内容を互いに無関係に決定する、
ことを特徴とする請求項１又は２に記載の対話制御装置。
【請求項６】
前記複数の反応判定結果は、所定の対象が発した音声と前記所定の対象の撮像画像との少なくとも何れかに基づいて前記第１及び第２発話装置による発話に対する前記所定の対象の反応を判定した結果である、
ことを特徴とする請求項１乃至５の何れか１項に記載の対話制御装置。
【請求項７】
前記所定の対象が発した音声と、前記所定の対象の撮像画像の少なくとも何れかを取得する取得手段を更に備え、
前記反応取得手段は、
前記取得手段により取得された前記音声と前記撮像画像の前記少なくとも何れかに基づいて、前記第１及び第２発話装置の各々による前記発話に対する前記所定の対象の反応を判定することにより、前記複数の反応判定結果を取得する、
ことを特徴とする請求項１乃至６の何れか１項に記載の対話制御装置。
【請求項８】
前記反応取得手段は、
前記取得手段により取得された前記音声に基づいて、前記第１及び第２発話装置の各々による前記発話に対する前記所定の対象の前記音声の内容を判定する音声判定手段と、
前記取得手段により取得された前記撮像画像に基づいて、前記第１及び第２発話装置の各々による前記発話に対する前記所定の対象の表情を判定する表情判定手段と、
前記取得手段により取得された前記撮像画像に基づいて、前記第１及び第２発話装置の各々による前記発話に対する前記所定の対象の行動を判定する行動判定手段と、
の少なくとも何れかを有し、
前記音声判定手段、前記表情判定手段及び前記行動判定手段の前記少なくとも何れかの判定結果に基づいて、前記第１及び第２発話装置の各々による前記発話に対する前記所定の対象の反応を判定することにより、前記複数の反応判定結果を取得する、
ことを特徴とする請求項７に記載の対話制御装置。
【請求項９】
前記反応取得手段は、前記所定の対象の前記音声、前記表情及び前記行動の少なくとも何れかに基づいて、前記所定の対象の前記反応を肯定的な反応、否定的な反応、肯定的でも否定的でもない中立的な反応に分類することにより、前記所定の対象の前記反応を判定する、
ことを特徴とする請求項８に記載の対話制御装置。
【請求項１０】
前記所定の対象が発した前記音声と、前記第１発話装置による前記発話と、前記第２発話装置による前記発話との少なくとも何れかに基づいて、前記所定の対象との対話における話題を特定する特定手段と、
前記取得した複数の反応判定結果に基づいて、前記特定手段により特定された前記話題に対する前記所定の対象の嗜好の度合いを示す嗜好度を判定する嗜好判定手段と、
を更に備え、
前記発話制御手段は、前記嗜好判定手段により判定された嗜好度に基づいて、前記複数の発話装置の前記少なくとも何れかによる前記発話を制御する、
ことを特徴とする請求項７乃至９の何れか１項に記載の対話制御装置。
【請求項１１】
前記嗜好は、有形と無形とを問わず物事に関する趣味や好みであり、食品、スポーツ、天気に関する趣味や好みの他、前記第１発話装置と前記第２発話装置の少なくとも何れかの発話内容に対する好みを含む、
ことを特徴とする請求項１０に記載の対話制御装置。
【請求項１２】
前記嗜好判定手段は、前記話題に対する前記所定の対象の前記嗜好が高い順に、前記嗜好度を複数の段階に判定し、
前記発話制御手段は、前記嗜好判定手段により判定された前記嗜好度を示す前記複数の段階の情報に基づいて、前記複数の発話装置の前記少なくとも何れかによる前記発話を制御する、
ことを特徴とする請求項１０又は１１に記載の対話制御装置。
【請求項１３】
前記所定の対象は人又は動物又はロボットを含む、
ことを特徴とする請求項１乃至１２の何れか１項に記載の対話制御装置。
【請求項１４】
互いに異なる複数の対象から前記所定の対象を特定する対象特定手段を更に備え、
前記反応取得手段は、前記第１発話装置による発話に対する、前記特定された前記所定の対象の反応を判定した結果と、前記第１発話装置とは別個に設けられた第２発話装置による発話に対する、前記特定された前記所定の対象の反応を判定した結果とを含む複数の反応判定結果を取得する、
ことを特徴とする、請求項１乃至１３の何れか１項に記載の対話制御装置。
【請求項１５】
前記対話制御装置は、前記第１及び第２発話装置の少なくとも何れかに設けられていることを特徴とする、請求項１乃至１４の何れか１項に記載の対話制御装置。
【請求項１６】
前記対話制御装置は、前記第１及び第２発話装置とは別個に設けられていることを特徴とする、請求項１乃至１４の何れか１項に記載の対話制御装置。
【請求項１７】
発話可能に構成された第１発話装置及び第２発話装置と、対話制御装置と、を備える対話システムであって、
前記対話制御装置は、
前記第１発話装置による発話に対する所定の対象の反応を判定した結果と、前記第１発話装置とは別個に設けられた前記第２発話装置による発話に対する前記所定の対象の反応を判定した結果とを含む複数の反応判定結果を取得する反応取得手段と、
前記反応取得手段により取得された複数の反応判定結果に基づいて、前記第１及び第２発話装置を含む複数の発話装置の少なくとも何れかによる前記発話を制御する発話制御手段と、
を備える、
ことを特徴とする対話システム。
【請求項１８】
前記第１及び第２発話装置の各々は、
前記所定の対象が発した音声と、前記所定の対象の撮像画像の少なくとも何れかを取得する取得手段と、
第１通信手段と、を備え、
前記対話制御装置は、前記第１及び第２発話装置と前記第１通信手段を介して通信するための第２通信手段を更に備え、
前記対話制御装置の前記反応取得手段は、
前記第１発話装置の前記取得手段により取得された前記音声と前記撮像画像との前記少なくとも何れかである第１データを、前記第１及び第２通信手段を介して取得し、前記取得した前記第１データに基づいて、前記第１発話装置による前記発話に対する前記所定の対象の反応を判定することにより、前記第１発話装置による前記発話に対する前記所定の対象の反応の判定結果である第１反応判定結果を取得し、
前記第２発話装置の前記取得手段により取得された前記音声と前記撮像画像との前記少なくとも何れかである第２データを、前記第１及び第２通信手段を介して取得し、前記取得した前記第２データに基づいて、前記第２発話装置による前記発話に対する前記所定の対象の反応を判定することにより、前記第２発話装置による前記発話に対する前記所定の対象の反応の判定結果である第２反応判定結果を取得し、
前記対話制御装置の前記発話制御手段は、前記反応取得手段により取得された前記第１及び第２反応判定結果を含む前記複数の反応判定結果に基づき、前記第２及び第１通信手段を介して、前記第１及び第２発話装置による前記発話を制御する、
ことを特徴とする請求項１７に記載の対話システム。
【請求項１９】
第１発話装置による発話に対する所定の対象の反応を判定した結果と、前記第１発話装置とは別個に設けられた第２発話装置による発話に対する前記所定の対象の反応を判定した結果とを含む複数の反応判定結果を取得する処理と、
前記取得された複数の反応判定結果に基づいて、前記第１及び第２発話装置を含む複数の発話装置の少なくとも何れかによる前記発話を制御する処理と、
を含む、
ことを特徴とする対話制御方法。
【請求項２０】
コンピュータを、
第１発話装置による発話に対する所定の対象の反応を判定した結果と、前記第１発話装置とは別個に設けられた第２発話装置による発話に対する前記所定の対象の反応を判定した結果とを含む複数の反応判定結果を取得する反応取得手段、
前記反応取得手段により取得された複数の反応判定結果に基づいて、前記第１及び第２発話装置を含む複数の発話装置の少なくとも何れかによる前記発話を制御する発話制御手段、
として機能させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話制御装置、対話システム、対話制御方法及びプログラムに関する。
【背景技術】
【０００２】
人とコミュニケーションをするロボット等の機器の開発が進められており、このようなロボット等の機器の普及には、親しみやすさが重要な点である。例えば、特許文献１は、利用者との対話を通じて利用者の好みを学習し、利用者の好みに合った対話を行う技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−０７１９３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１が開示する技術では、利用者の好みを把握するために利用する情報の組合せが多岐にわたるため、利用者の好みを精度よく把握することが困難である。
【０００５】
本発明は、前述のような事情に鑑みてなされたものであり、利用者の好みを精度よく把握し、利用者の好みに合った対話を行うことができる対話制御装置、対話システム、対話制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
前記目的を達成するため、本発明に係る対話制御装置の一様態は、
第１発話装置による発話に対する所定の対象の反応を判定した結果と、前記第１発話装置とは別個に設けられた第２発話装置による発話に対する前記所定の対象の反応を判定した結果とを含む複数の反応判定結果を取得する反応取得手段と、
前記反応取得手段により取得された複数の反応判定結果に基づいて、前記第１及び第２発話装置を含む複数の発話装置の少なくとも何れかによる前記発話を制御する発話制御手段と、
を備える、
ことを特徴とする。
【０００７】
また、前記目的を達成するため、本発明に係る対話システムの一様態は、
発話可能に構成された第１発話装置及び第２発話装置と、対話制御装置と、を備える対話システムであって、
前記対話制御装置は、
前記第１発話装置による発話に対する所定の対象の反応を判定した結果と、前記第１発話装置とは別個に設けられた前記第２発話装置による発話に対する前記所定の対象の反応を判定した結果とを含む複数の反応判定結果を取得する反応取得手段と、
前記反応取得手段により取得された複数の反応判定結果に基づいて、前記第１及び第２発話装置を含む複数の発話装置の少なくとも何れかによる前記発話を制御する発話制御手段と、
を備える、
ことを特徴とする。
【０００８】
また、前記目的を達成するため、本発明に係る対話制御方法の一様態は、
第１発話装置による発話に対する所定の対象の反応を判定した結果と、前記第１発話装置とは別個に設けられた第２発話装置による発話に対する前記所定の対象の反応を判定した結果とを含む複数の反応判定結果を取得する処理と、
前記取得された複数の反応判定結果に基づいて、前記第１及び第２発話装置を含む複数の発話装置の少なくとも何れかによる前記発話を制御する処理と、
を含む、
ことを特徴とする。
【０００９】
また、前記目的を達成するため、本発明に係るプログラムの一様態は、
コンピュータを、
第１発話装置による発話に対する所定の対象の反応を判定した結果と、前記第１発話装置とは別個に設けられた第２発話装置による発話に対する前記所定の対象の反応を判定した結果とを含む複数の反応判定結果を取得する反応取得手段、
前記反応取得手段により取得された複数の反応判定結果に基づいて、前記第１及び第２発話装置を含む複数の発話装置の少なくとも何れかによる前記発話を制御する発話制御手段、
として機能させる、
ことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、利用者の好みを精度よく把握し、利用者の好みに合った対話を行うことができる対話制御装置、対話システム、対話制御方法及びプログラムを提供することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施の形態に係る対話システムの構成を示す図である。
【図２】第１の実施の形態に係るロボットの正面図である。
【図３】第１の実施の形態に係るロボットの構成を示すブロック図である。
【図４】第１の実施の形態に係る音声反応極性判定テーブルの一例を示す図である。
【図５】第１の実施の形態に係る対話制御処理の流れを示すフローチャートである。
【図６】第１の実施の形態に係るユーザ特定処理の流れを示すフローチャートである。
【図７】第１の実施の形態に係る音声判定処理の流れを示すフローチャートである。
【図８】第１の実施の形態に係る表情判定処理の流れを示すフローチャートである。
【図９】第１の実施の形態に係る行動判定処理の流れを示すフローチャートである。
【図１０】第１の実施の形態に係る嗜好判定処理の流れを示すフローチャートである。
【図１１】第２の実施の形態の対話システムの構成を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【００１３】
（第１の実施の形態）
本発明の第１の実施の形態に係る対話システム１は、複数のロボット１００を含んで構成される。複数のロボット１００は、所定の対象のオフィスや住宅等の居住スペース内に配置され、複数のロボット１００が所定の対象と対話する。以下の説明では、２台のロボット１００が所定の対象と対話する例を説明するが、対話システム１は、３台以上のロボット１００を含んで構成されてもよい。
【００１４】
ここで、所定の対象とは、対話システムを利用するユーザ（利用者）であり、典型的には、対話システムの所有者やこの所有者の家族又は友人等である。また、所定の対象には、人以外に、例えばペットとして飼われている動物やロボット１００とは異なる別のロボットも含まれる。
【００１５】
対話システム１は、図１に示すように、相互に通信可能な２台のロボット１００を備え、ユーザＵＳＲと対話を行う。ここで、説明の便宜を図るため、図１の紙面向かって左側のロボット１００をロボット１００Ａ、図１の紙面向かって右側のロボット１００をロボット１００Ｂとする。なお、ロボット１００Ａとロボット１００Ｂとを区別することなく説明する場合には、いずれかのロボット又はこれらを総称して「ロボット１００」と表記することがある。ロボット１００Ａとロボット１００Ｂは、互いに異なる場所に配置されており、ロボット１００Ａ及びロボット１００Ｂの発話の両方を同じ所定の対象が認識できないような場所に、それぞれ設けられている。例えば、ロボット１００Ａは所定の対象のオフィスに、ロボット１００Ｂはこのオフィスから離れた所定の対象の住宅に、それぞれ配置される。あるいは、ロボット１００Ａは所定の対象が通う施設に、ロボット１００Ｂはこの施設から離れた、所定の対象が通う他の施設に、それぞれ配置されている。
【００１６】
ロボット１００は、図２に示すように、外観的には人を模した立体的な形状を有するロボットである。また、ロボット１００の外装は、合成樹脂を主たる材料として形成されている。ロボット１００は、胴体部１０１と、胴体部１０１の上部に接続する頭部１０２と、胴体部１０１の左右のそれぞれに接続する手部１０３と、胴体部１０１から下部に接続する２本の足部１０４と、を有する。また、頭部１０２は、左右一対の目部１０５、口部１０６、左右一対の耳部１０７を有する。なお、図２の上側、下側、左側、右側を、各々、ロボット１００の上側、下側、右側、左側とする。
【００１７】
次に、図３を参照して、ロボット１００の構成について説明する。図３には、ロボット１００Ａとロボット１００Ｂとの各構成を示すブロック図を示しているが、ロボット１００Ａとロボット１００Ｂとの構成は同様である。まず、ロボット１００Ａを取り上げて、その構成について説明する。
【００１８】
ロボット１００Ａは、図３に示すように、制御部１１０Ａ、記憶部１２０Ａ、撮像部１３０Ａ、音声入力部１４０Ａ、音声出力部１５０Ａ、移動部１６０Ａ、通信部１７０Ａを備える。これらの各部は、バスラインＢＬを介して相互に電気的に接続されている。
【００１９】
制御部１１０Ａは、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）を有するコンピュータにより構成され、ロボット１００Ａ全体の動作を制御する。制御部１１０Ａは、ＣＰＵがＲＯＭに記憶された制御プログラムを読み出してＲＡＭ上で実行することにより、ロボット１００Ａの各部の動作を制御する。
【００２０】
制御部１１０Ａは、制御プログラムを実行することによって、ユーザ検知部１１１Ａ、ユーザ特定部１１２Ａ、ユーザ情報取得部１１３Ａ、音声認識部１１４Ａ、発話制御部１１５Ａ、音声合成部１１６Ａ、反応判定部１１７Ａ、嗜好判定部１１８Ａとして機能する。
【００２１】
ユーザ検知部１１１Ａは、ロボット１００Ａの周囲（例えば、ロボット１００Ａから半径２ｍの範囲内）に存在するユーザＵＳＲを検知する。ユーザ検知部１１１Ａは、例えば、後述する撮像部１３０Ａを制御して、ロボット１００Ａの周囲を撮像し、物体の動きや頭、顔等の検出に応じて、ロボット１００Ａの周囲に存在するユーザＵＳＲを検知する。
【００２２】
ユーザ特定部１１２Ａは、ユーザ検知部１１１Ａが検知したユーザＵＳＲを特定する。ユーザ特定部１１２Ａは、例えば、撮像部１３０Ａによる撮像画像からユーザＵＳＲの顔部分に相当する顔画像を抽出する。そして、ユーザ特定部１１２Ａは、この顔画像から特徴量を検出し、後述する記憶部１２０Ａのユーザ情報データベースに登録された、顔の特徴量を示す顔情報と照合して類似度を算出し、所定の基準を満たすか否かに応じてユーザＵＳＲを特定する。記憶部１２０Ａのユーザ情報データベースには、所定の複数のユーザＵＳＲの各々の顔の特徴量を示す顔情報が記憶されている。ユーザ検知部１１１Ａが検知したユーザＵＳＲが、これらのユーザＵＳＲのうちのいずれのユーザＵＳＲであるのかが、ユーザ特定部１１２Ａによって特定される。特徴量は、ユーザＵＳＲを識別可能な情報であればよく、例えば、目、鼻、口等の顔に含まれる各パーツの形状、大きさ、配置等の外観的特徴を数値で示した情報である。以下の説明では、ユーザ検知部１１１Ａにより検知され、ユーザ特定部１１２Ａにより特定されたユーザＵＳＲを対象ユーザと称する。このように、ユーザ特定部１１２Ａは、本発明の対象特定手段として機能する。
【００２３】
ユーザ情報取得部１１３Ａは、対象ユーザの発話、外観、行動等を表すユーザ情報を取得する。本実施の形態において、ユーザ情報取得部１１３Ａは、ユーザ情報として、例えば、撮像部１３０Ａ、音声入力部１４０Ａを制御して、対象ユーザをとらえた撮像画像の画像データを含む画像情報と対象ユーザが発した音声の音声データを含む音声情報との少なくとも何れかを取得する。このように、ユーザ情報取得部１１３Ａは、撮像部１３０Ａ、音声入力部１４０Ａと協働して、本発明の取得手段として機能する。
【００２４】
音声認識部１１４Ａは、ユーザ情報取得部１１３Ａが取得した音声情報に含まれる音声データに対して音声認識処理を施し、対象ユーザの発話内容を示すテキストデータに変換する。音声認識処理には、例えば、記憶部１２０Ａの音声情報ＤＢ（Data Base）１２２Ａが記憶する音響モデル、言語モデル、単語辞書が用いられる。音声認識部１１４Ａは、例えば、音声データから背景雑音を消去し、音響モデルを参照して、取得した音声データに含まれる音素を識別し、単語辞書を参照して、音素列を単語に変換した複数の変換候補を生成する。そして、音声認識部１１４Ａは、言語モデルを参照して、複数の変換候補の中から最も妥当性の高いものを選択し、音声データに対応するテキストデータとして出力する。
【００２５】
発話制御部１１５Ａは、ロボット１００Ａの発話を制御する。発話制御部１１５Ａは、例えば、記憶部１２０Ａの発話情報ＤＢ１２３Ａが記憶する発話情報を参照し、状況に応じた複数の発話候補を抽出する。そして、発話制御部１１５Ａは、ユーザ情報ＤＢ１２１Ａが記憶するユーザ情報に含まれる嗜好情報を参照し、抽出した複数の発話候補から対象ユーザの嗜好に適合する発話候補を選択し、ロボット１００Ａの発話内容として決定する。このように、発話制御部１１５Ａは、本発明の発話制御手段として機能する。
【００２６】
また、発話制御部１１５Ａは、通信部１７０Ａを介してロボット１００Ｂと通信し、ロボット１００Ｂの発話制御部１１５Ｂと連携して、以下のように、ロボット１００Ａの発話内容を調整して決定する。
【００２７】
すなわち、発話制御部１１５Ａは、ロボット１００Ｂの発話制御部１１５Ｂと連携して、例えばロボット１００Ｂが発話してからの経過時間を取得し、取得した経過時間が所定経過時間（例えば７２時間）以内であるときにロボット１００Ａが発話する場合には、ロボット１００Ａが発話する話題が、ロボット１００Ａの発話開始前の所定経過時間以内にロボット１００Ｂが発話した話題と異なる話題となるように、ロボット１００Ａの発話の話題を調整して決定する。このような話題の決定は、ロボット１００Ｂの発話制御部１１５Ｂにおいても同様にして行われる。以上により、ロボット１００Ａ及びロボット１００Ｂが発話する話題は、互いに異なる話題に決定され、決定された話題で両ロボット１００Ａ、１００Ｂの発話が制御される。
【００２８】
ロボット１００Ａ及びロボット１００Ｂの各々は、後述するように、自身の発話に対する対象ユーザの反応を判定し、その判定結果に基づいて対象ユーザの嗜好情報を収集（記憶）するが、この場合、ロボット１００Ａとロボット１００Ｂが発話する話題が重複したり、常に関連したりすると、対象ユーザの新たな嗜好情報や、より広い分野の嗜好情報を収集することができない。また、対象ユーザも重複した話題の発話を聞かされることにより、煩わしさを感じる。ロボット１００Ａとロボット１００Ｂの発話の話題を互いに異なる話題に決定することにより、より多くの様々な種類の嗜好情報を収集することができる。
【００２９】
これに対して、ロボット１００Ｂが発話してから所定経過時間以上経過している場合、発話制御部１１５Ａは、発話内容をロボット１００Ｂの発話内容に制限されず、独自に決定する。すなわち、ロボット１００Ａ及び１００Ｂが発話する話題（発話内容）は、互いに連携させずに、互いに無関係に（互いに独立して）決定される。
【００３０】
発話制御部１１５Ａは、ロボット１００Ｂと連携して決定した、自身の発話内容を示すテキストデータを生成し出力する。
【００３１】
音声合成部１１６Ａは、発話制御部１１５Ａから入力したロボット１００Ａの発話内容を示すテキストデータに対応する音声データを生成する。音声合成部１１６Ａは、例えば、記憶部１２０Ａの音声情報ＤＢ１２２Ａに格納された音響モデル等を用いて、テキストデータが示す文字列を読み上げる音声データを生成する。また、音声合成部１１６Ａは、音声出力部１５０Ａを制御して、生成した音声データを音声出力する。
【００３２】
反応判定部１１７Ａは、ロボット１００Ａの発話に対する対象ユーザの反応を判定する。これにより、前記所定の複数のユーザＵＳＲのうちのユーザ特定部１１２Ａで特定された対象ユーザごとに、ロボット１００Ａの発話に対する反応が判定される。反応判定部１１７Ａは、音声判定部１１７ＡＡ、表情判定部１１７ＢＡ、行動判定部１１７ＣＡを有する。音声判定部１１７ＡＡ、表情判定部１１７ＢＡ、行動判定部１１７ＣＡは、それぞれ、対象ロボット１００Ａの発話に対する反応を、対象ユーザの音声、表情、行動に基づいて、肯定的な反応である「ポジティブ（Positive）」、否定的な反応である「ネガティブ（Negative）」、肯定的でも否定的でもない中立的な反応である「ニュートラル（Neutral）」の３つの極性に分類することにより判定する。
【００３３】
音声判定部１１７ＡＡは、ロボット１００Ａが発話した後に対象ユーザが発した音声に基づいて、ロボット１００Ａの発話に対する対象ユーザの反応を判定する。音声判定部１１７ＡＡは、ロボット１００Ａの発話後にユーザ情報取得部１１３Ａが取得した音声に対して音声認識部１１４Ａが音声認識処理を施して生成されたテキストデータに基づいて、対象ユーザの発話内容を音声反応極性「ポジティブ」、「ネガティブ」、「ニュートラル」の３極性に分類することにより、ロボット１００Ａの発話に対する対象ユーザの反応を判定する。このように、音声判定部１１７ＡＡは、本発明の音声判定手段として機能する。
【００３４】
表情判定部１１７ＢＡは、ロボット１００Ａが発話した後の対象ユーザの表情に基づいて、ロボット１００Ａの発話に対する対象ユーザの反応を判定する。表情判定部１１７ＢＡは、対象ユーザの表情を評価するための指標として、笑顔の度合いを示す笑顔度を算出する。表情判定部１１７ＢＡは、ロボット１００Ａの発話後にユーザ情報取得部１１３Ａが取得した撮像画像から対象ユーザの顔画像を抽出し、対象ユーザの顔の特徴量を検出する。表情判定部１１７ＢＡは、記憶部１２０Ａの反応判定情報ＤＢ１２４Ａに記憶された笑顔度情報を参照し、検出した特徴量に基づいて、対象ユーザの笑顔度を算出する。表情判定部１１７ＢＡは、算出した笑顔度に応じて、対象ユーザの表情を表情反応極性「ポジティブ」、「ネガティブ」、「ニュートラル」の３極性に分類して、ロボット１００Ａの発話に対する対象ユーザの反応を判定する。このように、表情判定部１１７ＢＡは、本発明の表情判定手段として機能する。
【００３５】
行動判定部１１７ＣＡは、ロボット１００Ａが発話した後の対象ユーザの行動に基づいて、ロボット１００Ａの発話に対する対象ユーザの反応を判定する。行動判定部１１７ＣＡは、ロボット１００Ａの発話後にユーザ情報取得部１１３Ａが取得した撮像画像から対象ユーザの行動を検出し、対象ユーザの行動を行動反応極性「ポジティブ」、「ネガティブ」、「ニュートラル」の３極性に分類して、ロボット１００Ａの発話に対する対象ユーザの反応を判定する。このように、行動判定部１１７ＣＡは、本発明の行動判定手段として機能する。
【００３６】
嗜好判定部１１８Ａは、対象ユーザとロボット１００Ａとの対話における話題を特定し、反応判定部１１７Ａによる各判定結果に基づいて、特定した話題に対する対象ユーザの嗜好の高さを示す嗜好度を判定する。これにより、前記所定の複数のユーザＵＳＲのうちのユーザ特定部１１２Ａで特定された対象ユーザごとに、その嗜好度が判定される。ここで、嗜好とは、有形と無形とを問わず様々な物事に関する趣味や好みであり、例えば、食品、スポーツ、天気等に関する趣味や好みの他、ロボット１００の対応（発話内容）に対する好みを含む。嗜好判定部１１８Ａは、話題に対する対象ユーザの嗜好が高い順に、嗜好度を「嗜好度Ａ」、「嗜好度Ｂ」、「嗜好度Ｃ」、「嗜好度Ｄ」の４段階に分類する。このように、嗜好判定部１１８Ａは、本発明の特定手段及び嗜好判定手段として機能する。
【００３７】
なお、ユーザ検知部１１１Ａ、ユーザ特定部１１２Ａ、ユーザ情報取得部１１３Ａ、音声認識部１１４Ａ、発話制御部１１５Ａ、音声合成部１１６Ａ、反応判定部１１７Ａ、嗜好判定部１１８Ａは、単一のコンピュータで各機能を実現してもよいし、各々別個のコンピュータによって各機能を実現してもよい。
【００３８】
記憶部１２０Ａは、記憶内容が書き換え可能な不揮発性の半導体メモリ、ハードディスクドライブ等を備え、制御部１１０Ａがロボット１００Ａの各部を制御するために必要な各種データを記憶する。
【００３９】
記憶部１２０Ａは、各種データをそれぞれ格納する複数のデータベースを有する。記憶部１２０Ａは、例えば、ユーザ情報ＤＢ１２１Ａ、音声情報ＤＢ１２２Ａ、発話情報ＤＢ１２３Ａ、反応判定情報ＤＢ１２４Ａを有する。また記憶部１２０Ａには、ロボット１００Ａが発話した発話日時及び発話した話題等を含む発話履歴情報が、ユーザＵＳＲごとに記憶される。
【００４０】
ユーザ情報ＤＢ１２１Ａは、登録された複数のユーザＵＳＲの各々に関する各種情報をユーザ情報として蓄積して記憶する。ユーザ情報は、例えば、複数のユーザＵＳＲの各々を識別するために予め割り当てられたユーザ識別情報（例えば、ユーザＵＳＲのＩＤ）、ユーザＵＳＲの顔の特徴量を示す顔情報、各話題に対するユーザＵＳＲの嗜好度を示す嗜好情報を含む。このように、複数のユーザＵＳＲの各々の嗜好情報は、ユーザ識別情報を用いて、いずれのユーザＵＳＲのものであるのかを識別可能に記憶される。
【００４１】
音声情報ＤＢ１２２Ａは、音声認識処理又は音声合成処理に用いられるデータとして、例えば、他の語と意味を区別する音の最小単位である音素の各々の特徴（周波数特性）を表わす音響モデル、音素の特徴と単語とを対応付ける単語辞書、単語の並びとその連接確率を表す言語モデルを格納する。
【００４２】
発話情報ＤＢ１２３Ａは、ロボット１００Ａの発話候補を示す発話情報を記憶する。発話情報は、例えば、対象ユーザに話しかける場合の発話候補、対象ユーザの発話に対して応答する場合の発話候補、ロボット１００Ｂと会話する場合の発話候補等、対象ユーザとの対話の状況に応じた各種の発話候補が含まれる。
【００４３】
反応判定情報ＤＢ１２４Ａは、反応判定部１１７Ａがロボット１００Ａの発話に対する対象ユーザの反応を判定する際に用いる反応判定情報を記憶する。反応判定情報ＤＢ１２４Ａは、反応判定情報として、例えば、反応判定部１１７Ａの音声判定部１１７ＡＡがロボット１００Ａの発話に対する対象ユーザの反応を判定する際に用いる音声判定情報を記憶する。音声判定情報は、例えば、図４に示す音声反応極性判定テーブルの形式で記憶される。音声反応極性判定テーブルでは、後述する音声反応極性と特徴キーワードとが対応付けられている。また、反応判定情報ＤＢ１２４Ａは、反応判定情報として、例えば、反応判定部１１７Ａの表情判定部１１７ＢＡが対象ユーザの笑顔度を算出する際に用いる笑顔度情報を記憶する。笑顔度情報は、例えば、目尻や口角の位置、目や口の大きさ等の変化の度合いに応じて笑顔度を０〜１００％の範囲で数値化した情報である。
【００４４】
撮像部１３０Ａは、レンズ、ＣＣＤ（Charge Coupled Device）イメージセンサやＣＭＯＳ（Complementary Metal Oxide Semiconductor）イメージセンサ等の撮像素子を備えるカメラで構成され、ロボット１００Ａの周囲を撮像する。撮像部１３０Ａは、例えば頭部１０２の正面上部に設置され、頭部１０２の前方を撮像し、デジタル画像データを生成して出力する。カメラは、レンズが向く方向を変えるように動作可能なモータ駆動の架台（ジンバル等）に取り付けられ、ユーザＵＳＲの顔等を追尾することができるように構成される。
【００４５】
音声入力部１４０Ａは、マイクロフォン、Ａ／Ｄ（Analog to Digital）変換器等で構成され、例えば耳部１０７に設置されたマイクロフォンで集音した音声を増幅し、Ａ／Ｄ変換、符号化等の信号処理を施したデジタル音声データ（音声情報）を制御部１１０Ａに出力する。
【００４６】
音声出力部１５０Ａは、スピーカ、Ｄ／Ａ（Digital to Analog）変換器等で構成され、制御部１１０Ａの音声合成部１１６Ａから供給される音声データに復号化、Ｄ／Ａ変換、増幅等の信号処理を施し、アナログ音声信号を例えば口部１０６に設置されたスピーカから出力する。
【００４７】
ロボット１００Ａは、音声入力部１４０Ａのマイクロフォンで対象ユーザの音声を集音し、制御部１１０Ａの制御のもと、対象ユーザの発話内容に対応する音声を音声出力部１５０Ａのスピーカから出力することにより、対象ユーザと対話をしてコミュニケーションをとることができる。このように、ロボット１００Ａは、本発明の第１発話装置として機能する。
【００４８】
移動部１６０Ａは、ロボット１００Ａを移動させるための部位である。移動部１６０Ａは、ロボット１００Ａの左右の足部１０４の底部にそれぞれ設けられた車輪と、左右の車輪を回転駆動するモータと、モータを駆動制御する駆動回路と、を有する。制御部１１０Ａから受信した制御信号に従って、駆動回路は、モータに駆動用のパルス信号を供給する。モータは、駆動用のパルス信号に従って、左右の車輪を回転駆動させ、ロボット１００Ａを移動させる。このように、移動部１６０Ａは、本発明の移動手段として機能する。なお、左右の車輪がそれぞれ独立して回転駆動するように構成され、ロボット１００Ａが前進、後退、旋回、加減速などの走行が可能であれば、モータの数は任意である。例えば、連結機構や操舵機構を設けるなどして１つのモータで左右の車輪を駆動させてもよい。また、モータの数に合わせて駆動回路の数も適宜変更することができる。
【００４９】
通信部１７０Ａは、無線通信方式を用いて通信するための無線通信モジュール及びアンテナにより構成され、ロボット１００Ｂと無線データ通信を行う。無線通信方式としては、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＢＬＥ（Bluetooth Low Energy）、ＺｉｇＢｅｅ（登録商標）、赤外線通信等の近距離無線通信方式、ＷｉＦｉ（Wireless Fidelity）等の無線ＬＡＮ通信方式を適宜採用し得る。本実施の形態において、ロボット１００Ａは、通信部１７０Ａを介してロボット１００Ｂと無線データ通信を行うことにより、ロボット１００Ａとロボット１００Ｂとが対象ユーザと対話する。
【００５０】
ロボット１００Ｂは、ロボット１００Ａと同様であるため、その構成について簡単に説明する。ロボット１００Ｂは、ロボット１００Ａと同様に、制御部１１０Ｂ、記憶部１２０Ｂ、撮像部１３０Ｂ、音声入力部１４０Ｂ、音声出力部１５０Ｂ、移動部１６０Ｂ、通信部１７０Ｂを備える。制御部１１０Ｂは、ロボット１００Ｂ全体の動作を制御し、制御プログラムを実行することによって、ユーザ検知部１１１Ｂ、ユーザ特定部１１２Ｂ、ユーザ情報取得部１１３Ｂ、音声認識部１１４Ｂ、発話制御部１１５Ｂ、音声合成部１１６Ｂ、反応判定部１１７Ｂ、嗜好判定部１１８Ｂとして機能する。発話制御部１１５Ｂは、ユーザ情報ＤＢ１２１Ｂが記憶するユーザ情報に含まれる嗜好情報を参照し、抽出した複数の発話候補から対象ユーザの嗜好に適合する発話候補を選択し、ロボット１００Ｂの発話内容として決定する。通信部１７０Ｂを介してロボット１００Ａと通信し、ロボット１００Ａの発話制御部１１５Ａと連携して、例えばロボット１００Ａが発話してからの経過時間を取得する。取得した経過時間が前記所定経過時間以内であるとき、ロボット１００Ｂが発話する話題が、ロボット１００Ｂの発話開始前の所定経過時間以内にロボット１００Ａが発話した話題と異なるように、発話制御部１１５Ｂは、ロボット１００Ｂの発話内容を調整して決定する。反応判定部１１７Ｂは、ロボット１００Ｂの発話に対する対象ユーザの反応を判定する。反応判定部１１７Ｂは、音声判定部１１７ＡＢ、表情判定部１１７ＢＢ、行動判定部１１７ＣＢを有する。音声判定部１１７ＡＢ、表情判定部１１７ＢＢ、行動判定部１１７ＣＢは、それぞれ、対象ロボット１００Ｂの発話に対する反応を、対象ユーザの音声、表情、行動に基づいて、「ポジティブ」、「ネガティブ」、「ニュートラル」の３つの極性に分類することにより判定する。記憶部１２０Ｂは、各種データをそれぞれ格納する複数のデータベースを有する。記憶部１２０Ｂは、例えば、ユーザ情報ＤＢ１２１Ｂ、音声情報ＤＢ１２２Ｂ、発話情報ＤＢ１２３Ｂ、反応判定情報ＤＢ１２４Ｂを有する。また記憶部１２０Ｂには、ロボット１００Ｂが発話した発話日時及び発話した話題等を含む発話履歴情報が、ユーザＵＳＲごとに記憶される。ロボット１００Ｂは、音声入力部１４０Ｂのマイクロフォンで対象ユーザの音声を集音し、制御部１１０Ｂの制御のもと、対象ユーザの発話内容に対応する音声を音声出力部１５０Ｂのスピーカから出力することにより、対象ユーザと対話をしてコミュニケーションをとることができる。このように、ロボット１００Ｂは、本発明の第２発話装置として機能する。
【００５１】
次に、図５に示すフローチャートを参照しながら、ロボット１００が実行する対話制御処理について説明する。対話制御処理は、対象ユーザの嗜好に応じて対話を制御する処理である。ここでは、ロボット１００Ａの制御部１１０Ａが実行する場合を例にして対話制御処理を説明する。制御部１１０Ａは、ユーザ検知部１１１Ａがロボット１００Ａの周囲にユーザＵＳＲを検知したことを契機に、対話制御処理を開始する。
【００５２】
制御部１１０Ａは、対話制御処理を開始すると、まず、ユーザ特定処理を実行する（ステップＳ１０１）。ここで、図６に示すフローチャートを参照して、ユーザ特定処理について説明する。ユーザ特定処理は、ユーザ検知部１１１Ａが検知したロボット１００Ａの周囲に存在するユーザを特定する処理である。
【００５３】
制御部１１０Ａは、ユーザ特定処理を開始すると、まず、撮像部１３０Ａから取得した撮像画像から対象ユーザの顔画像を抽出する（ステップＳ２０１）。制御部１１０Ａ（ユーザ特定部１１２Ａ）は、例えば、撮像画像における肌色領域を検出し、肌色領域内に目、鼻、ロ等の顔パーツに相当する部分があるか否かを判定して、顔パーツに相当する部分があると判定すると肌色領域を顔画像とみなして抽出する。
【００５４】
続いて、制御部１１０Ａは、抽出した顔画像に対応する登録ユーザを検索する（ステップＳ２０２）。制御部１１０Ａ（ユーザ特定部１１２Ａ）は、例えば、抽出した顔画像から特徴量を検出し、記憶部１２０Ａのユーザ情報ＤＢ１２１Ａに記憶された顔情報と照合し、類似度が所定の基準以上である登録ユーザを検索する。
【００５５】
制御部１１０Ａは、ステップＳ２０２における検索結果に応じて、ロボット１００の周囲に存在するユーザＵＳＲを特定する（ステップＳ２０３）。制御部１１０Ａ（ユーザ特定部１１２Ａ）は、例えば、ユーザ情報ＤＢ１２１Ａに記憶された前記複数のユーザＵＳＲの各々の顔の特徴量うちの、顔画像から検出した特徴量との類似度が最も高い特徴量に対応するユーザＵＳＲを、ロボット１００Ａの周囲に存在する対象ユーザとして特定する。
【００５６】
制御部１１０Ａは、ステップＳ２０３の処理を実行した後、ユーザ特定処理を終了し、処理を対話制御処理に戻す。
【００５７】
図５に戻り、ユーザ特定処理（ステップＳ１０１）を実行した後、制御部１１０Ａは、ロボット１００Ｂ（他のロボット）との通信接続を確立する（ステップＳ１０２）。ここで、通信接続の確立とは、通信相手を指定して所定の手続きを行い、互いにデータの送受信可能な状態を確立することをいう。制御部１１０Ａは、通信部１７０Ａを制御して、通信方式に基づく所定の手続きを行うことにより、ロボット１００Ｂとの通信接続を確立する。なお、赤外線通信方式を用いてロボット１００Ａとロボット１００Ｂとがデータ通信を行う場合、事前に通信接続を確立する必要はない。
【００５８】
続いて、制御部１１０Ａは、前記所定経過時間よりも短い所定時間内（例えば、２０秒以内）に、ステップＳ１０１で特定した対象ユーザが発話したか否かを判定する（ステップＳ１０３）。制御部１１０Ａは、例えば、ＣＰＵに付設されたＲＴＣ（Real Time Clock）が計測する現在時刻情報を用いて本処理の実行開始時からの経過時間を計測し、ユーザ情報取得部１１３Ａが取得した音声情報に基づいて、所定時間内に対象ユーザの発話の有無を判定する。
【００５９】
所定時間内に対象ユーザが発話したと判定した場合（ステップＳ１０３：ＹＥＳ）、制御部１１０Ａ（発話制御部１１５Ａ）は、対象ユーザとの対話が実行されていると判断し、対象ユーザの発話に対する応答としての発話の内容を、ロボット１００Ｂと連携して決定する（ステップＳ１０４）。制御部１１０Ａ（発話制御部１１５Ａ）は、記憶部１２０Ａの発話情報ＤＢ１２３Ａ及びユーザ情報ＤＢ１２１Ａを参照し、対象ユーザの発話内容に対応し、且つ、ユーザ情報ＤＢ１２１Ａに記憶された対象ユーザの嗜好に適合する話題の候補を決定する。この場合、対象ユーザの嗜好に適合する話題として、後述する嗜好度Ａ及びＢに対応する話題を話題の候補として決定する。
【００６０】
このステップＳ１０４において、決定された話題の候補が一つであるときには、これを最終的な話題として決定する。一方、複数の話題の候補が決定された場合において、ロボット１００Ｂの記憶部１２０Ｂに発話履歴情報が記憶されているときには、制御部１１０Ａ（発話制御部１１５Ａ）は、通信部１７０Ａを介して記憶部１２０Ｂに記憶された発話履歴情報を読み出し、読み出した発話履歴情報の中に、複数の話題の候補の何れかと同じ又は関連する話題であって、その発話日時から現在（すなわちロボット１００Ａの発話開始時）までの経過時間が所定経過時間以内のもの（以下「第１比較対象話題」という）が存在するか否かを判定する。
【００６１】
そして、制御部１１０Ａ（発話制御部１１５Ａ）は、発話履歴情報の中に上記の第１比較対象話題が存在すると判定したときには、複数の話題の候補から、上記の第１比較対象話題と一致又は関連するものを除外し、最終的に話題を決定する。この除外により残った話題の候補が複数存在する場合には、それらのうちからランダムに選択した１つの話題が、最終的な話題として決定される。
【００６２】
一方、複数の話題の候補が決定された場合において、ロボット１００Ｂの記憶部１２０Ｂに発話履歴情報が何も記憶されていないとき、又は、第１比較対象話題が発話履歴情報中に存在しないと判定したときには、決定された複数の話題の候補のうちからランダムに選択した１つの話題が、最終的な話題として決定される。発話制御部１１５Ａは、以上のようにして決定した話題に沿った発話内容を示すテキストデータを出力する。
【００６３】
一方、所定時間内に対象ユーザが発話していないと判定した場合（ステップＳ１０３：ＮＯ）、制御部１１０Ａ（発話制御部１１５Ａ）は、対象ユーザに話しかける発話の話題を決定する（ステップＳ１０５）。このとき、制御部１１０Ａ（発話制御部１１５Ａ）は、記憶部１２０Ａの発話情報ＤＢ１２３Ａ及びユーザ情報ＤＢ１２１Ａを参照し、ユーザ情報ＤＢ１２１Ａに記憶された対象ユーザの嗜好に適合する複数の話題の候補を決定する。この場合、対象ユーザの嗜好に適合する話題として、後述する嗜好度Ａ及びＢに対応する話題を話題の候補として決定する。
【００６４】
このステップＳ１０５において、決定された話題の候補が一つであるときには、これを最終的な話題として決定する。一方、複数の話題の候補が決定されたときには、ステップＳ１０４の場合と同様にして、これらの複数の話題の候補から最終的な話題を選択する。具体的には、制御部１１０Ａ（発話制御部１１５Ａ）は、複数の話題の候補が決定された場合において、ロボット１００Ｂの記憶部１２０Ｂに発話履歴情報が記憶されているときには、制御部１１０Ａ（発話制御部１１５Ａ）は、通信部１７０Ａを介して記憶部１２０Ｂに記憶された発話履歴情報を読み出し、読み出した発話履歴情報の中に、前記の第１比較対象話題が存在するか否かを判定する。
【００６５】
そして、制御部１１０Ａ（発話制御部１１５Ａ）は、発話履歴情報の中に第１比較対象話題が存在すると判定したときには、複数の話題の候補から、第１比較対象話題と一致又は関連するものを除外し、最終的に話題を決定する。この除外により残った話題の候補が複数存在する場合には、それらのうちからランダムに選択した１つの話題が、最終的な話題として決定される。
【００６６】
一方、複数の話題の候補が決定された場合において、ロボット１００Ｂの記憶部１２０Ｂに発話履歴情報が何も記憶されていないとき、又は、第１比較対象話題が発話履歴情報中に存在しないと判定したときには、決定された複数の話題の候補のうちからランダムに選択した１つの話題が、最終的な話題として決定される。
【００６７】
対象ユーザが所定時間内に発話していない場合に対象ユーザに話しかける動作は、対象ユーザとロボット１００Ａ及びロボット１００Ｂとの対話のトリガとなるものであり、対象ユーザの対話システム１の利用を促すために実施される。
【００６８】
ステップＳ１０４又はステップＳ１０５を実行した後、制御部１１０Ａは、決定された話題に沿った発話内容に基づいて発話する（ステップＳ１０６）。制御部１１０Ａ（音声合成部１１６Ａ）は、発話制御部１１５Ａから入力したロボット１００Ａの発話内容を示すテキストデータに対応する音声データを生成し、音声出力部１５０Ａを制御して、音声データに基づく音声を出力する。
【００６９】
ステップＳ１０７〜ステップＳ１０９は、ステップＳ１０６におけるロボット１００Ａの発話に対する対象ユーザの反応を判定するための処理である。
【００７０】
制御部１１０Ａ（反応判定部１１７Ａの音声判定部１１７ＡＡ）は、まず、音声判定処理を実行する（ステップＳ１０７）。ここで、図７に示すフローチャートを参照して、音声判定処理について説明する。音声判定処理は、ロボット１００Ａの発話後に対象ユーザから発した音声に基づいて、ロボット１００Ａの発話に対する対象ユーザの反応を判定する処理である。
【００７１】
音声判定部１１７ＡＡは、音声判定処理を開始すると、まず、ステップＳ１０６におけるロボット１００Ａの発話後に対象ユーザの発話があったか否かを判定する（ステップＳ３０１）。制御部１１０Ａは、ユーザ情報取得部１１３Ａがロボット１００Ａの発話後に取得した音声情報に基づいて、ロボット１００Ａの発話に対する対象ユーザの発話の有無を判定する。
【００７２】
ロボット１００Ａの発話後に対象ユーザの発話があったと判定した場合（ステップＳ３０１：ＹＥＳ）、音声判定部１１７ＡＡは、ロボット１００Ａの発話に対する対象ユーザの発話から特徴キーワードを抽出する（ステップＳ３０２）。音声判定部１１７ＡＡは、音声認識部１１４による対象ユーザの発話の内容を示すテキストデータに基づいて、例えば、対象ユーザの発話の内容を特徴付ける特徴キーワードとして、感情に関わるキーワードを抽出する。
【００７３】
続いて、音声判定部１１７ＡＡは、特徴キーワードに基づいて音声反応極性を判定する（ステップＳ３０３）。音声判定部１１７ＡＡは、例えば、記憶部１２０Ａの反応判定情報ＤＢ１２４Ａに反応判定情報として記憶された図４に示す音声反応極性判定テーブルを参照し、抽出した特徴キーワードに対応付けられた音声反応極性に応じて判定する。音声判定部１１７ＡＡは、例えば、特徴キーワードが「好き」、「楽しい」等の場合には音声反応極性を「ポジティブ」と判定する。
【００７４】
一方、ロボット１００Ａの発話後に対象ユーザの発話がないと判定した場合（ステップＳ３０１：ＮＯ）、音声判定部１１７ＡＡは、ロボット１００Ａの発話に対する反応が判然としないため、音声反応極性を「ニュートラル」と判定する（ステップＳ３０４）。
【００７５】
制御部１１０は、ステップＳ３０３又はＳ３０４を実行した後、音声判定処理を終了し、処理を対話制御処理に戻す。
【００７６】
図５に戻り、音声判定処理（ステップＳ１０７）を実行した後、制御部１１０Ａ（反応判定部１１７の表情判定部１１７ＢＡ）は、表情判定処理を実行する（ステップＳ１０８）。ここで、図８に示すフローチャートを参照して、表情判定処理について説明する。表情判定処理は、対象ユーザの表情に基づいて、ロボット１００Ａの発話に対する対象ユーザの反応を判定する処理である。
【００７７】
制御部１１０Ａ（反応判定部１１７Ａの表情判定部１１７ＢＡ）は、表情判定処理を開始すると、まず、ステップＳ１０６におけるロボット１００Ａの発話後にユーザ情報取得部１１３Ａが取得した撮像画像から対象ユーザの顔画像を抽出する（ステップＳ４０１）。
【００７８】
続いて、表情判定部１１７ＢＡは、ステップＳ４０１において抽出した顔画像に基づいて、対象ユーザの笑顔度を算出する（ステップＳ４０２）。制御部１１０は、例えば、反応判定情報ＤＢ１２４Ａに記憶された笑顔度情報を参照し、顔画像における目尻の位置の変化や口の大きさの変化等に基づいて、対象ユーザの笑顔度を０〜１００％の範囲で算出する。
【００７９】
次に、表情判定部１１７ＢＡは、ステップＳ４０２において算出した対象ユーザの笑顔度が７０％以上であるか否かを判定する（ステップＳ４０３）。対象ユーザの笑顔度が７０％以上である場合（ステップＳ４０３：ＹＥＳ）、制御部１１０は、表情反応極性を「ポジティブ」と判定する（ステップＳ４０５）。
【００８０】
対象ユーザの笑顔度が７０％以上ではない場合（ステップＳ４０３：ＮＯ）、制御部１１０Ａは、対象ユーザの笑顔度が４０％以上７０％未満であるか否かを判定する（ステップＳ４０４）。対象ユーザの笑顔度が４０％以上７０％未満である場合（ステップＳ４０４：ＹＥＳ）、制御部１１０は、表情反応極性を「ニュートラル」と判定する（ステップＳ４０６）。
【００８１】
対象ユーザの笑顔度が４０％以上７０％未満ではない場合（ステップＳ４０４：ＮＯ）、すなわち、対象ユーザの笑顔度が４０％未満である場合、制御部１１０は、表情反応極性を「ネガティブ」と判定する（ステップＳ４０７）。
【００８２】
制御部１１０Ａは、ステップＳ４０５〜Ｓ４０７のいずれかにおいて対象ユーザの表情反応極性を判定した後、表情判定処理を終了し、処理を対話制御処理に戻す。
【００８３】
図５に戻り、表情判定処理（ステップＳ１０８）を実行した後、制御部１１０Ａは、行動判定処理を実行する（ステップＳ１０９）。ここで、図９に示すフローチャートを参照して、行動判定処理について説明する。行動判定処理は、対象ユーザの行動に基づいて、ロボット１００Ａの発話に対する対象ユーザの反応を判定する処理である。
【００８４】
制御部１１０Ａ（反応判定部１１７Ａの行動判定部１１７ＣＡ）は、行動判定処理を開始すると、まず、対象ユーザが活発に動いているか否かを判定する（ステップＳ５０１）。行動判定部１１７ＣＡは、ステップＳ１０６におけるロボット１００Ａの発話後にユーザ情報取得部１１３Ａが取得した撮像画像における対象ユーザの動きに基づいて判定する。対象ユーザが活発に動いていると判定した場合（ステップＳ５０１：ＹＥＳ）、行動判定部１１７ＣＡは、対象ユーザの視線がロボット１００Ａに向いているか否かを判定する（ステップＳ５０２）。行動判定部１１７ＣＡは、例えば、ユーザ情報取得部１１３Ａが取得した撮像画像における目の領域内の瞳の位置と顔の向き等とから対象ユーザの視線の向きを特定することにより判定する。
【００８５】
対象ユーザの視線がロボット１００Ａに向いていると判定した場合（ステップＳ５０２：ＹＥＳ）、行動判定部１１７ＣＡは、行動反応極性を「ポジティブ」と判定する（ステップＳ５０８）。一方、対象ユーザの視線がロボット１００Ａに向いていないと判定した場合（ステップＳ５０２：ＮＯ）、行動判定部１１７ＣＡは、行動反応極性を「ネガティブ」と判定する（ステップＳ５０９）。
【００８６】
ステップＳ５０１において、対象ユーザが活発に動いていないと判定した場合（ステップＳ５０１：ＮＯ）、行動判定部１１７ＣＡは、対象ユーザがロボット１００Ａに近づいたか否かを判定する（ステップＳ５０３）。行動判定部１１７ＣＡは、例えば、ユーザ情報取得部１１３Ａが取得した撮像画像における顔画像の大きさの変化に応じて判定する。
【００８７】
対象ユーザがロボット１００Ａに近づいたと判定した場合（ステップＳ５０３：ＹＥＳ）、行動判定部１１７ＣＡは、対象ユーザの視線がロボット１００Ａに向いているか否かを判定する（ステップＳ５０４）。対象ユーザの視線が、ロボット１００Ａに向いていると判定した場合（ステップＳ５０４：ＹＥＳ）、行動判定部１１７ＣＡは、行動反応極性を「ポジティブ」と判定する（ステップＳ５０８）。一方、対象ユーザの視線がロボット１００Ａに向いていないと判定した場合（ステップＳ５０４：ＮＯ）、行動判定部１１７ＣＡは、行動反応極性を「ネガティブ」と判定する（ステップＳ５０９）。
【００８８】
ステップＳ５０３において、対象ユーザがロボット１００Ａに近づいていないと判定した場合（ステップＳ５０３：ＮＯ）、行動判定部１１７ＣＡは、対象ユーザがロボット１００Ａから遠ざかったか否かを判定する（ステップＳ５０５）。対象ユーザがロボット１００Ａから遠ざかったと判定した場合（ステップＳ５０５：ＹＥＳ）、行動判定部１１７ＣＡは、行動反応極性を「ネガティブ」と判定する（ステップＳ５０９）。
【００８９】
一方、対象ユーザがロボット１００Ａから遠ざかっていないと判定した場合（ステップＳ５０５：ＮＯ）、行動判定部１１７Ｃは、対象ユーザの顔を見失ったか否かを判定する（ステップＳ５０６）。対象ユーザが顔の向きを反転させる等して撮像画像から対象ユーザの顔画像を抽出できなくなった場合には、行動判定部１１７ＣＡは、対象ユーザの顔部分を見失ったと判定する。対象ユーザの顔部分を見失ったと判定した場合（ステップＳ５０６：ＹＥＳ）、行動判定部１１７ＣＡは、行動反応極性を「ニュートラル」と判定する（ステップＳ５１０）。
【００９０】
対象ユーザの顔部分を見失っていないと判定した場合（ステップＳ５０６：ＮＯ）、行動判定部１１７ＣＡは、対象ユーザの視線がロボット１００Ａに向いているか否かを判定する（ステップＳ５０７）。対象ユーザの視線がロボット１００Ａに対して向いていると判定した場合（ステップＳ５０７：ＹＥＳ）、行動判定部１１７ＣＡは、行動反応極性を「ポジティブ」と判定する（ステップＳ５０８）。一方、対象ユーザの視線がロボット１００Ａに対して向いていないと判定した場合（ステップＳ５０７：ＮＯ）、行動判定部１１７ＣＡは、行動反応極性を「ネガティブ」と判定する（ステップＳ５０９）。
【００９１】
制御部１１０は、ステップＳ５０８〜ステップＳ５１０の何れかにおいて対象ユーザの行動反応極性を判定した後、行動判定処理を終了し、処理を対話制御処理に戻す。
【００９２】
図５に戻り、行動判定処理（ステップＳ１０９）を実行した後、制御部１１０Ａ（嗜好判定部１１８Ａ）は、嗜好判定処理を実行する（ステップＳ１１０）。ここで、図１０に示すフローチャートを参照して、嗜好判定処理について説明する。嗜好判定処理は、音声判定処理、表情判定処理、行動判定処理による各判定結果を用いて、対象ユーザとロボット１００Ａとの対話における話題に対する対象ユーザの嗜好度を総合的に判定する処理である。
【００９３】
嗜好判定部１１８Ａは、嗜好判定処理を開始すると、まず、対象ユーザとロボット１００Ａとの対話における話題を特定する（ステップＳ６０１）。嗜好判定部１１８Ａは、対話制御処理のステップＳ１０５において、対象ユーザが所定時間発話していない場合に対象ユーザに話しかける際に、話題が予め設定されている場合には、ＲＡＭ等に記憶された話題キーワードを参照して、対象ユーザとロボット１００Ａとの対話における話題を特定する。一方、予め話題が設定されていない場合には、音声認識部１１４Ａによる対象ユーザの発話の内容を示すテキストデータに基づいて、対象ユーザの発話から話題キーワードを抽出することにより、対象ユーザとロボット１００Ａとの対話における話題を特定する。例えば、「野球が好き」という対象ユーザの発話から、「野球」という話題が特定される。
【００９４】
次に、嗜好判定部１１８Ａは、図７の音声判定処理で判定された音声反応極性が「ポジティブ」であるか否かを判定し（ステップＳ６０２）、音声反応極性が「ポジティブ」である場合（ステップＳ６０２：ＹＥＳ）、嗜好度を「嗜好度Ａ」と判定する（ステップＳ６０９）。
【００９５】
音声反応極性が「ポジティブ」ではない場合（ステップＳ６０２：ＮＯ）、嗜好判定部１１８Ａは、音声反応極性が「ネガティブ」であるか否かを判定する（ステップＳ６０３）。音声反応極性が「ネガティブ」である場合（ステップＳ６０３：ＹＥＳ）、嗜好判定部１１８Ａは、図８の表情判定処理で判定された表情反応極性が「ポジティブ」であるか否かを判定する（ステップＳ６０４）。表情反応極性が「ポジティブ」である場合（ステップＳ６０４：ＹＥＳ）、嗜好判定部１１８Ａは、嗜好度を「嗜好度Ｂ」と判定する（ステップＳ６１０）。一方、表情反応極性が「ポジティブ」ではない場合（ステップＳ６０４：ＮＯ）、嗜好判定部１１８Ａは、嗜好度を「嗜好度Ｄ」と判定する（ステップＳ６１２）。
【００９６】
ステップＳ６０３において、音声反応極性が「ネガティブ」ではない場合（ステップＳ６０３：ＮＯ）、嗜好判定部１１８Ａは、図９の行動判定処理で判定された行動反応極性が「ポジティブ」であるか否かを判定する（ステップＳ６０５）。行動反応極性が「ポジティブ」である場合（ステップＳ６０５：ＹＥＳ）、嗜好判定部１１８Ａは、表情反応極性が「ポジティブ」又は「ニュートラル」の何れかであるか否かを判定する（ステップＳ６０６）。表情反応極性が「ポジティブ」又は「ニュートラル」の何れかである場合（ステップＳ６０６：ＹＥＳ）、嗜好判定部１１８Ａは、嗜好度を「嗜好度Ａ」と判定する（ステップＳ６０９）。一方、表情反応極性が「ポジティブ」と「ニュートラル」の何れでもない場合（ステップＳ６０６：ＮＯ）、すなわち、表情反応極性が「ネガティブ」である場合、嗜好判定部１１８Ａは、嗜好度を「嗜好度Ｃ」と判定する（ステップＳ６１１）。
【００９７】
ステップＳ６０５において、行動反応極性が「ポジティブ」ではない場合（ステップＳ６０５：ＮＯ）、嗜好判定部１１８Ａは、行動反応極性が「ニュートラル」であるか否かを判定し（ステップＳ６０７）、行動反応極性が「ニュートラル」ではない場合（ステップＳ６０７：ＮＯ）、嗜好判定部１１８Ａは、嗜好度を「嗜好度Ｃ」と判定する（ステップＳ６１１）。
【００９８】
一方、行動反応極性が「ニュートラル」である場合（ステップＳ６０７：ＹＥＳ）、嗜好判定部１１８Ａは、表情反応極性が「ポジティブ」であるか否かを判定する（ステップＳ６０８）。嗜好判定部１１８Ａは、表情反応極性が「ポジティブ」である場合（ステップＳ６０８：ＹＥＳ）、嗜好度を「嗜好度Ｂ」と判定し（ステップＳ６１０）、表情反応極性が「ポジティブ」ではない場合（ステップＳ６０８：ＮＯ）、嗜好度を「嗜好度Ｄ」と判定する（ステップＳ６１２）。
【００９９】
ステップＳ６０９〜ステップＳ６１２のいずれかにおいて、対象ユーザの嗜好度を判定した後、嗜好判定部１１８Ａは、嗜好判定処理を終了し、処理を対話制御処理に戻す。
【０１００】
図５に戻り、嗜好判定処理（ステップＳ１１０）を実行した後、制御部１１０Ａは、嗜好判定結果を嗜好度情報に反映する（ステップＳ１１１）。制御部１１０Ａは、嗜好判定処理における嗜好判定結果として、対象ユーザとロボット１００Ａとの対話における話題と嗜好度とが対応付けられた情報を、ユーザ情報ＤＢ１２１Ａに記憶されたユーザ情報の嗜好度情報に追加して、嗜好度情報を更新する。これにより、嗜好度情報は、ユーザＵＳＲごとに更新される。対象ユーザとロボット１００Ａとの対話における話題は、ＲＡＭ等に記憶された話題キーワードが示す話題である。また、制御部１１０Ａは、通信部１７０Ａを制御して、対象ユーザとロボット１００Ａとの対話における話題と嗜好度とが対応付けられた情報を、ロボット１００Ｂに送信する。この情報を受け取ったロボット１００Ｂは、同様に、ユーザ情報ＤＢ１２１Ｂに記憶されたユーザ情報の嗜好度情報に追加して、嗜好度情報を更新する。これにより、ロボット１００Ａとロボット１００Ｂは、各々の嗜好判定結果を共有することができる。なお、複数の話題の各々に対応付けて記憶される嗜好度情報に含まれる嗜好度の初期値は、嗜好度Ａに設定されている。このように、反応判定部１１７Ａ（１１７Ｂ）、嗜好判定部１１８Ａ（１１８Ｂ）を含む制御部１１０Ａ（１１０Ｂ）及び通信部１７０Ａ（１７０Ｂ）は本発明の反応取得手段として機能する。
【０１０１】
ステップＳ１１１の処理を実行した後、制御部１１０Ａは、ロボット１００Ａの周囲に対象ユーザが存在するか否かを判定する（ステップＳ１１２）。ロボット１００Ａの周囲に対象ユーザが存在すると判定した場合（ステップＳ１１２：ＹＥＳ）、制御部１１０Ａは、対象ユーザとの対話が継続可能であると判断し、処理をステップＳ１０３に戻す。このステップＳ１１２がＹＥＳの場合におけるステップＳ１０３では、ステップＳ１０６の発話が完了してからの経過時間が所定時間以内であるか否かが判定される。
【０１０２】
一方、ロボット１００Ａの周囲に対象ユーザが存在しないと判定した場合（ステップＳ１１２：ＮＯ）、制御部１１０Ａは、対象ユーザとの対話が継続不可能であると判断し、ロボット１００Ｂ（他のロボット）との通信接続を解除する（ステップＳ１１３）。制御部１１０Ａは、通信部１７０Ａを制御して、通信方式に基づく所定の手続きを行うことにより、ロボット１００Ｂとの通信接続を解除する。その後、制御部１１０Ａは、対話制御処理を終了する。
【０１０３】
以上がロボット１００Ａの制御部１１０Ａが実行する対話制御処理であるが、ロボット１００Ｂの制御部１１０Ｂが実行する対話制御処理も同様である。制御部１１０Ｂは、図５に示すように、対話制御処理を開始する。ユーザ特定処理は、図６に示すように実行される。
【０１０４】
図５のステップＳ１０３において、所定時間内に対象ユーザが発話したと判定した場合（ステップＳ１０３：ＹＥＳ）、制御部１１０Ｂ（発話制御部１１５Ｂ）は、対象ユーザとの対話が実行されていると判断し、対象ユーザの発話に対する応答としての発話の内容を決定する（ステップＳ１０４）。制御部１１０Ｂ（発話制御部１１５Ｂ）は、記憶部１２０Ｂの発話情報ＤＢ１２３Ｂ及びユーザ情報ＤＢ１２１Ｂを参照し、対象ユーザの発話内容に対応し、且つ、対象ユーザの嗜好に適合する話題の候補を決定する。
【０１０５】
このステップＳ１０４において、決定された話題の候補が一つであるときには、これを最終的な話題として決定する。一方、複数の話題の候補が決定された場合において、ロボット１００Ａの記憶部１２０Ａに発話履歴情報が記憶されているときには、制御部１１０Ｂ（発話制御部１１５Ｂ）は、通信部１７０Ｂを介して記憶部１２０Ａに記憶された発話履歴情報を読み出す。そして制御部１１０Ｂ（発話制御部１１５Ｂ）は、読み出した発話履歴情報の中に、複数の話題の候補の何れかと同じ又は関連する話題であって、その発話日時から現在（すなわちロボット１００Ｂの発話開始時）までの経過時間が所定経過時間以内のもの（以下「第２比較対象話題」という）が存在するか否かを判定する。
【０１０６】
制御部１１０Ｂ（発話制御部１１５Ｂ）は、第２比較対象話題が存在すると判定したときには、複数の話題の候補から、上記の第２比較対象話題と一致又は関連するものを除外し、最終的に話題を決定する。
【０１０７】
一方、複数の話題の候補が決定された場合において、ロボット１００Ａの記憶部１２０Ａに発話履歴情報が何も記憶されていないとき、又は、第２比較対象話題が発話履歴情報中に存在しないと判定したときには、決定された複数の話題の候補のうちからランダムに選択した１つの話題が、最終的な話題として決定される。発話制御部１１５Ｂは、以上のようにして決定した話題に沿った発話内容を示すテキストデータを出力する。
【０１０８】
一方、所定時間内に対象ユーザが発話していないと判定した場合（ステップＳ１０３：ＮＯ）、制御部１１０Ｂ（発話制御部１１５Ｂ）は、対象ユーザに話しかける発話の内容を決定する（ステップＳ１０５）。このとき、制御部１１０Ｂ（発話制御部１１５Ｂ）は、記憶部１２０Ｂの発話情報ＤＢ１２３Ｂ及びユーザ情報ＤＢ１２１Ｂを参照し、ユーザ情報ＤＢ１２１Ｂに記憶された対象ユーザの嗜好に適合する複数の話題の候補を決定する。この場合、対象ユーザの嗜好に適合する話題として、嗜好度Ａ及びＢに対応する話題を話題の候補として決定する。
【０１０９】
このステップＳ１０５において、決定された話題の候補が一つであるときには、これを最終的な話題として決定する。一方、複数の話題の候補が決定されたときには、ステップＳ１０４の場合と同様にして、これらの複数の話題の候補から最終的な話題を選択する。具体的には、制御部１１０Ｂ（発話制御部１１５Ｂ）は、複数の話題の候補が決定された場合において、ロボット１００Ａの記憶部１２０Ａに発話履歴情報が記憶されているときには、制御部１１０Ｂ（発話制御部１１５Ｂ）は、通信部１７０Ｂを介して記憶部１２０Ａに記憶された発話履歴情報を読み出す。そして制御部１１０Ｂ（発話制御部１１５Ｂ）は、読み出した発話履歴情報の中に、前記の第２比較対象話題が存在するか否かを判定する。
【０１１０】
制御部１１０Ｂ（発話制御部１１５Ｂ）は、第２比較対象話題が存在すると判定したときには、複数の話題の候補から、第２比較対象話題と一致又は関連するものを除外し、最終的に話題を決定する。
【０１１１】
一方、複数の話題の候補が決定された場合において、ロボット１００Ａの記憶部１２０Ａに発話履歴情報が何も記憶されていないとき、又は、第２比較対象話題が発話履歴情報中に存在しないと判定したときには、決定された複数の話題の候補のうちからランダムに選択した１つの話題が、最終的な話題として決定される。
【０１１２】
制御部１１０Ｂが、決定された話題に沿った発話内容に基づいて発話し（ステップＳ１０６）、音声が出力されると、対象ユーザの反応を判定する図７に示す音声判定処理、図８に示す表情判定処理、図９に示す行動判定処理が実行される。行動判定処理が終了すると、図１０に示す嗜好判定処理が実行される。制御部１１０Ｂは、嗜好判定処理における嗜好判定結果を、ユーザ情報ＤＢ１２１Ｂに記憶されたユーザ情報の嗜好度情報に追加して、嗜好度情報を更新する。また、制御部１１０Ｂは、通信部１７０Ｂを制御して、対象ユーザとロボット１００Ｂとの対話における話題と嗜好度とが対応付けられた情報を、ロボット１００Ａに送信する。この情報を受け取ったロボット１００Ａは、同様に、ユーザ情報ＤＢ１２１Ａに記憶されたユーザ情報の嗜好度情報に追加して、嗜好度情報を更新する。これにより、ロボット１００Ａとロボット１００Ｂは、各々の嗜好判定結果を共有する。
【０１１３】
なお、上述した第１の実施形態では、ロボット１００Ａ及び１００Ｂの一方のロボットが発話してから前記所定経過時間以内に他方のロボットが発話する場合、他方のロボットが発話する話題を、他方のロボットの発話前の所定経過時間以内に一方のロボットが発話した話題と異なる話題に決定する。それ以外の場合、ロボット１００Ａ及び１００Ｂが発話する話題を、互いに連携させずに、互いに無関係に（互いに独立して）決定している。この決定手法に代えて、ユーザ情報ＤＢ１２１Ａ（ＤＢ１２１Ｂ）に記憶された対象ユーザの嗜好情報の数が所定のしきい値よりも小さい場合に、ロボット１００Ａ及び１００Ｂが発話する話題を互いに異なる話題に決定し、所定のしきい値以上の場合に、ロボット１００Ａ及び１００Ｂが発話する話題を、互いに無関係に決定してもよい。すなわち、所定の条件が成立しているときに、ロボット１００Ａ及び１００Ｂが発話する話題を互いに異なる話題に決定し、所定の条件が成立していないときに、ロボット１００Ａ及び１００Ｂが発話する話題を互いに無関係に決定してもよい。あるいは、所定の条件に拘わらずに、ロボット１００Ａ及び１００Ｂが発話する話題（発話内容）を常に、互いに連携させずに互いに無関係に決定してもよい。
【０１１４】
（第２の実施の形態）
前記の実施の形態では、ロボット１００Ａとロボット１００Ｂがそれぞれ反応判定、発話制御の機能を有していたが、これらの機能がロボット１００Ａとロボット１００Ｂとは別個に存在してもよい。本実施の形態では、ロボット１００Ａ及びロボット１００Ｂと通信可能な外部のサーバを設け、サーバがロボット１００Ａとロボット１００Ｂの反応判定、発話制御の処理を行う。
【０１１５】
本実施の形態における対話システム１は、図１１に示すように、ロボット１００Ａ、ロボット１００Ｂ、サーバ２００を備える。
【０１１６】
ロボット１００Ａは、第１の実施の形態と同様に、制御部１１０Ａ、記憶部１２０Ａ、撮像部１３０Ａ、音声入力部１４０Ａ、音声出力部１５０Ａ、移動部１６０Ａ、通信部１７０Ａを備える。ただし、制御部１１０Ａは、第１の実施の形態の場合と異なり、発話制御部１１５Ａ、反応判定部１１７Ａ、嗜好判定部１１８Ａを備えていない。また、記憶部１２０Ａは、第１の実施の形態の場合と異なり、ユーザ情報ＤＢ１２１Ａ、音声情報ＤＢ１２２Ａ、発話情報ＤＢ１２３Ａ、反応判定情報ＤＢ１２４Ａを備えていない。ロボット１００Ｂの構成もロボット１００Ａと同様であり、制御部１１０Ｂ、記憶部１２０Ｂ、撮像部１３０Ｂ、音声入力部１４０Ｂ、音声出力部１５０Ｂ、移動部１６０Ｂ、通信部１７０Ｂを備える。制御部１１０Ｂは、発話制御部１１５Ｂ、反応判定部１１７Ｂ、嗜好判定部１１８Ｂを備えていない。また、記憶部１２０Ｂは、ユーザ情報ＤＢ１２１Ｂ、音声情報ＤＢ１２２Ｂ、発話情報ＤＢ１２３Ｂ、反応判定情報ＤＢ１２４Ｂを備えていない。
【０１１７】
サーバ２００は、制御部２１０、記憶部２２０、通信部２７０を備える。制御部２１０は、発話制御部２１５、反応判定部２１７、嗜好判定部２１８を備える。すなわち、ロボット１００Ａ及びロボット１００Ｂに代わって、サーバ２００は、ロボット１００Ａ及びロボット１００Ｂの各々の発話の制御や、ユーザの反応の判定、ユーザの嗜好の判定等を行うための各種の処理を行う。記憶部２２０は、ユーザ情報ＤＢ２２１、音声情報ＤＢ２２２、発話情報ＤＢ２２３、反応判定情報ＤＢ２２４を備える。すなわち、ロボット１００Ａとロボット１００Ｂが備えた上記データベースをサーバ２００に集約している。また、記憶部２２０は、ロボット１００Ａとロボット１００Ｂが発話した発話日時及び発話した話題等を含む発話履歴情報を、ユーザＵＳＲごとに記憶する。サーバ２００は、通信部２７０とロボット１００Ａの通信部１７０Ａ及びロボット１００Ｂの通信部１７０Ｂを介してロボット１００Ａ及びロボット１００Ｂと無線データ通信を行う。これによって、サーバ２００は、ロボット１００Ａとロボット１００Ｂとが対象ユーザと対話することを制御する。このように通信部２７０は、本発明の第１の通信手段として機能する。また、通信部１７０Ａ、１７０Ｂは、本発明の第２の通信手段として機能する。
【０１１８】
次に、本実施の形態における対話制御処理について説明する。ここでは、ロボット１００Ａの対話制御処理を例にして説明する。ロボット１００Ａの制御部１１０Ａは、ユーザ検知部１１１Ａがロボット１００Ａの周囲にユーザＵＳＲを検知したことを契機に、対話制御処理を開始する。
【０１１９】
制御部１１０Ａは、対話制御処理（図５参照）を開始すると、まず、ユーザ特定処理を実行する。制御部１１０Ａは、撮像部１３０Ａから取得した撮像画像から抽出した顔画像に対応する登録ユーザを検索する。制御部１１０Ａ（ユーザ特定部１１２Ａ）は、サーバ２００の記憶部２２０のユーザ情報ＤＢ２２１にアクセスして、撮像画像から抽出した顔画像を、ユーザ情報ＤＢ２２１に記憶された複数のユーザの各々の顔画像と照合し、ユーザＵＳＲを対象ユーザとして特定する。ここで、制御部２１０は本発明の対象特定手段として機能する。
【０１２０】
ユーザＵＳＲの情報を受信したサーバ２００の制御部２１０は、所定時間内に対象ユーザが発話したと判定した場合、制御部２１０（発話制御部２１５）は、対象ユーザとの対話が実行されていると判断し、対象ユーザの発話に対する応答としての発話の内容を決定する。制御部２１０（発話制御部２１５）は、記憶部２２０の発話情報ＤＢ２２３及びユーザ情報ＤＢ２２１を参照し、対象ユーザの発話内容に対応し、且つ、対象ユーザの嗜好に適合する話題の候補を決定する。
【０１２１】
決定された話題の候補が一つであるときには、これを最終的な話題として決定する。一方、複数の話題の候補が決定された場合において、記憶部２２０にロボット１００Ｂの発話履歴情報が記憶されているときには、制御部２１０（発話制御部２１５）は、記憶部２２０に記憶された発話履歴情報を読み出し、読み出した発話履歴情報の中に、第１比較対象話題が存在するか否かを判定する。
【０１２２】
制御部２１０（発話制御部２１５）は、第１比較対象話題が存在すると判定したときには、複数の話題の候補から、上記の第１比較対象話題と一致又は関連するものを除外し、最終的に話題を決定する。
【０１２３】
一方、複数の話題の候補が決定された場合において、ロボット１００Ｂの発話履歴情報が何も記憶されていないとき、又は、第１比較対象話題が発話履歴情報中に存在しないと判定したときには、決定された複数の話題の候補のうちからランダムに選択した１つの話題が、最終的な話題として決定される。発話制御部２１５は、以上のようにして決定した話題に沿った発話内容を示すテキストデータを出力する。
【０１２４】
一方、所定時間内に対象ユーザが発話していないと判定した場合、制御部２１０（発話制御部２１５）は、対象ユーザに話しかける発話の内容を決定する。このとき、発話制御部２１５は、記憶部２２０の発話情報ＤＢ２２３及びユーザ情報ＤＢ２２１を参照し、ユーザ情報ＤＢ２２１に記憶された対象ユーザの嗜好に適合する複数の話題の候補を決定する。
【０１２５】
決定された話題の候補が一つであるときには、これを最終的な話題として決定する。一方、複数の話題の候補が決定されたときには、これらの複数の話題の候補から最終的な話題を選択する。複数の話題の候補が決定された場合において、ロボット１００Ｂの発話履歴情報が記憶されているときには、制御部２１０（発話制御部２１５）は、発話履歴情報を読み出し、第１比較対象話題が存在するか否かを判定する。
【０１２６】
制御部２１０（発話制御部２１５）は、第１比較対象話題が存在すると判定したときには、複数の話題の候補から、第１比較対象話題と一致又は関連するものを除外し、最終的に話題を決定する。
【０１２７】
一方、複数の話題の候補が決定された場合において、ロボット１００Ｂの発話履歴情報が何も記憶されていないとき、又は、第１比較対象話題が発話履歴情報中に存在しないと判定したときには、決定された複数の話題の候補のうちからランダムに選択した１つの話題が、最終的な話題として決定される。
【０１２８】
ロボット１００Ａは、通信部１７０Ａを介してテキストデータを受信し、音声合成部１１６Ａに送る。音声合成部１１６Ａは、サーバ２００の記憶部２２０の音声情報ＤＢ２２２にアクセスして、音声情報ＤＢ２２２に格納された音響モデル等を用いてテキストデータから音声データを生成する。音声合成部１１６Ａは、音声出力部１５０Ａを制御して、生成した音声データを音声出力する。
【０１２９】
続いて、ロボット１００Ａの発話に対して対象ユーザの反応を判定する反応判定処理（図７から図９参照）を実行する。
【０１３０】
制御部２１０（反応判定部２１７の音声判定部２１７Ａ）は、音声判定処理（図７参照）を実行する。音声判定部２１７Ａは、ロボット１００Ａが発話した後に対象ユーザが発した音声に基づいて、ロボット１００Ａの発話に対する対象ユーザの反応を判定する。対象ユーザが発話すると、ロボット１００Ａの音声認識部１１４Ａは、サーバ２００の記憶部２２０の音声情報ＤＢ２２２にアクセスして、音声情報ＤＢ２２２に格納された音響モデル等を用いて音声データからテキストデータを生成する。テキストデータは、サーバ２００に送信される。音声判定部２１７Ａは、通信部２７０を通じて受信されたテキストデータに基づいて、ロボット１００Ａ及びロボット１００Ｂの発話に対する対象ユーザの反応を判定する。
【０１３１】
音声判定処理を実行した後、制御部２１０（反応判定部２１７の表情判定部２１７Ｂ）は、表情判定処理（図８参照）を実行する。表情判定部２１７Ｂは、ロボット１００Ａが発話した後の対象ユーザの表情に基づいて、ロボット１００Ａの発話に対する対象ユーザの反応を判定する。ロボット１００Ａのユーザ情報取得部１１３Ａがユーザの撮像画像を取得すると、通信部１７０Ａを介して撮像画像をサーバ２００に送信する。表情判定部２１７Ｂは、通信部２７０を介して取得された撮像画像から検出された対象ユーザの顔の特徴量を、記憶部２２０の反応判定情報ＤＢ２２４に記憶された笑顔度情報を参照し、検出した特徴量に基づいて、対象ユーザの笑顔度を算出する。表情判定部２１７Ｂは、算出した笑顔度に応じて、ロボット１００Ａの発話に対する対象ユーザの反応を判定する。
【０１３２】
表情判定処理を実行した後、制御部２１０は、行動判定処理（図９参照）を実行する。行動判定部２１７Ｃは、ロボット１００Ａが発話した後の対象ユーザの行動に基づいて、ロボット１００Ａの発話に対する対象ユーザの反応を判定する。行動判定部２１７Ｃは、通信部２７０を介して撮像画像から検出された対象ユーザの行動に基づいて、ロボット１００Ａの発話に対する対象ユーザの反応を判定する。
【０１３３】
行動判定処理を実行した後、制御部２１０（嗜好判定部２１８Ａ）は、嗜好判定処理（図１０参照）を実行する。嗜好判定部２１８は、対象ユーザとロボット１００Ａとの対話における話題を特定し、反応判定部２１７による各判定結果に基づいて、話題に対する対象ユーザの嗜好の高さを示す嗜好度を判定する。
【０１３４】
嗜好判定処理を実行した後、制御部２１０は、嗜好判定結果を嗜好度情報に反映する。制御部２１０は、嗜好判定処理における嗜好判定結果として、対象ユーザとロボット１００Ａとの対話における話題と嗜好度とが対応付けられた情報を、ユーザ情報ＤＢ２２１に記憶されたユーザ情報の嗜好度情報に追加して、嗜好度情報を更新する。これにより、嗜好情報はユーザＵＳＲごとに更新される。
【０１３５】
ロボット１００Ｂに対しても同様の制御処理がなされる。第１の実施の形態では、ロボット１００Ａが、対象ユーザとロボット１００Ａとの対話における嗜好度情報を更新するとともに、ロボット１００Ｂに送信して、この情報を受け取ったロボット１００Ｂは、同様に、ユーザ情報ＤＢ１２１Ｂに記憶された嗜好度情報を更新する。これにより、ロボット１００Ａとロボット１００Ｂは、各々の嗜好判定結果を共有することができる。これに対して、本実施の形態では、サーバ２００のユーザ情報ＤＢ２２１にロボット１００Ａ及びロボット１００Ｂの嗜好度情報がユーザＵＳＲごとに記憶されることから、互いの嗜好度情報を更新する必要がない。
【０１３６】
上記の実施の形態において、サーバ２００は、ロボット１００Ａ及びロボット１００Ｂの各々の発話の制御や、ユーザの反応の判定、ユーザの嗜好の判定等の各種の処理を実行した。しかし、これに限らず、サーバ２００は、ロボット１００Ａ及びロボット１００Ｂの任意の処理を選択して実行することができる。例えば、サーバ２００の制御部２１０は、発話制御部２１５のみを有し、ロボット１００Ａ及びロボット１００Ｂの発話制御の処理のみ実行し、他の処理はロボット１００Ａ及びロボット１００Ｂが実行してもよい。また、ロボット１００Ａ及びロボット１００Ｂのユーザ検知、ユーザ特定、ユーザ情報取得、音声認識、音声合成、発話制御、反応判定、嗜好判定の処理すべてをサーバが実行してもよい。また、本実施の形態において、サーバ２００の記憶部２２０は、ユーザ情報ＤＢ２２１、音声情報ＤＢ２２２、発話情報ＤＢ２２３、反応判定情報ＤＢ２２４を備える。しかし、これに限らず、サーバ２００は、任意のデータベースを備えることができる。例えば、本実施の形態において、音声情報ＤＢ２２２をサーバ２００が備えるのでなく、ロボット１００Ａ及びロボット１００Ｂのそれぞれが備えてもよい。また、ユーザ情報ＤＢ２２１のユーザを特定する顔情報についてサーバ２００だけでなく、ロボット１００Ａ及びロボット１００Ｂのそれぞれが備えてもよい。これによって、音声認識、音声合成、ユーザ特定の際に、ロボット１００Ａ及びロボット１００Ｂはサーバ２００にアクセスする必要がない。
【０１３７】
以上に説明したように、本実施の形態によれば、対話システム１は、ロボット１００Ａ、ロボット１００Ｂを備え、あるいはこれらに加えてサーバ２００を備え、ロボット１００Ａ（あるいはロボット１００Ｂ、あるいはサーバ２００）は、ロボット１００Ａによる発話に対する対象ユーザの反応を判定した結果（すなわち対象ユーザの嗜好情報）とロボット１００Ｂによる発話に対する対象ユーザの反応を判定した結果（すなわち対象ユーザの嗜好情報）とに基づいて、ロボット１００Ａ及びロボット１００Ｂの少なくとも何れかによる発話を制御する。これにより、対象ユーザの好みを精度よく把握し、対象ユーザの好みに合った対話を行うことができる。
【０１３８】
また、ロボット１００Ａの制御部１１０Ａ（あるいはロボット１００Ｂの制御部１１０Ｂ、あるいはサーバ２００）は、ロボット１００Ａによる発話に対する対象ユーザの反応を判定した結果とロボット１００Ｂによる発話に対する対象ユーザの反応を判定した結果に基づいて、ロボット１００Ａ及びロボット１００Ｂの少なくとも何れかによる発話を制御する。そのため、対象ユーザの好みを効率的に把握し、対象ユーザの好みを以降の発話に精度よく反映させることができる。
【０１３９】
なお、本発明は、前記の実施の形態に限定されず、種々の変形及び応用が可能である。前記の実施の形態は、次のように変形されてもよい。
【０１４０】
前記の実施の形態において、ロボット１００Ａとロボット１００Ｂは、互いの発話が対象ユーザに認識されない場所に設けられた。これに対して、ロボット１００Ａとロボット１００Ｂが、互いの発話が対象ユーザに認識される場所に設けられた場合の変形例について説明する。この場合、ロボット１００Ａとロボット１００Ｂは、同時に対象ユーザと対話することができる。ただし、ロボット１００Ａとロボット１００Ｂの発話時刻が重複又は連続すると、対象ユーザがどちらの発話に反応したのか適切に判断できないおそれがある。そうすると、対象ユーザの嗜好情報を適切に取得することができず、また、適切な応答ができない。そこで、発話制御部１１５Ａは、ロボット１００Ａ及びロボット１００Ｂによる発話時刻が互いに重複したり、互いに連続したりすることを防止するために、ロボット１００Ａの発話開始時期を、ロボット１００Ｂの発話制御部１１５Ｂと連携して決定する。発話制御部１１５Ａは、ロボット１００Ａ及びロボット１００Ｂの互いの発話間隔が例えば対象ユーザの反応を判断するのに十分な時間等の所定時間以上となるように、ロボット１００Ａの発話開始時期を決定する。また、ロボット１００Ｂの発話制御部１１５Ｂは、ロボット１００Ａの発話中及び発話終了直後連続してロボット１００Ｂが発話しないように、開始ロボット１００Ｂの発話開始時期を決定する。ロボット１００Ａとロボット１００Ｂの発話開始時期は、発話制御部１１５Ａ、１１５Ｂがそれぞれ決定する以外に、どちらか一方が決定してもよい。サーバ２００がロボット１００Ａ及びロボット１００Ｂの発話を制御する場合は、発話制御部２１５が両者の発話開始時期を決定する。これにより、ロボット１００Ａ及びロボット１００Ｂによる発話は、互いに連続して行われずに、互いに所定時間以上異なるタイミングで行われる。これにより、対象ユーザの嗜好を精度良く把握し、対象ユーザの嗜好にあった対話を行うことができる。
【０１４１】
さらに、上記の変形例において、発話制御部１１５Ａは、ロボット１００Ｂの発話制御部１１５Ｂと連携して、ロボット１００Ａ及びロボット１００Ｂが発話する話題を互いに異なる話題に決定してもよい。この場合に、第１の実施形態の場合と同様に、ロボット１００Ａ及び１００Ｂの一方のロボットが発話してから前記所定経過時間以内に他方のロボットが発話する場合に、他方のロボットが発話する話題を、他方のロボットの発話前の所定経過時間以内に一方のロボットが発話した話題と異なる話題に決定し、それ以外の場合に、ロボット１００Ａ及び１００Ｂが発話する話題を、互いに連携させずに、互いに無関係に（互いに独立して）決定してもよい。あるいは、この場合に、ユーザ情報ＤＢ１２１Ａ（ＤＢ１２１Ｂ）に記憶された対象ユーザの嗜好情報の数が所定のしきい値よりも小さい場合に、ロボット１００Ａ及び１００Ｂが発話する話題を互いに異なる話題に決定し、所定のしきい値以上の場合に、ロボット１００Ａ及び１００Ｂが発話する話題を、互いに無関係に決定してもよい。あるいは、上記のような所定の条件に拘わらずに、ロボット１００Ａ及び１００Ｂが発話する話題（発話内容）を常に、互いに連携させずに互いに無関係に決定してもよい。
【０１４２】
また、例えば、発話制御部１１５Ａの発話の制御に応じて、移動部１６０Ａを制御する移動制御手段を備えていてもよい。移動制御手段は、例えば、ロボット１００Ａの発話開始に合わせてロボット１００Ａを対象ユーザに近づくように移動部１６０Ａを制してもよい。
【０１４３】
例えば、対話システム１を構成する複数のロボット１００にマスタ／スレーブ方式を採用し、例えば、マスタとして機能するロボット１００が、スレーブとして機能するロボット１００の発話内容を含めて一括して決定し、スレーブとして機能するロボット１００に対して決定した発話内容に基づいて発話することを指示するようにしてもよい。この場合、マスタとして機能するロボット１００と、スレーブとして機能するロボット１００の決定方法は任意であり、例えば、最先に周囲のユーザＵＳＲを検知および特定したロボットがマスタとして機能し、その他のロボット１００がスレーブとして機能するようにしてもよい。また、例えば、ユーザＵＳＲにより最先に電源が投入されたロボット１００をマスタ、続いて電源が投入されたロボット１００をスレーブとして機能するようにしてもよいし、ユーザＵＳＲが物理的なスイッチ等を用いてマスタとして機能するロボット１００とスレーブとして機能するロボット１００を設定できるように構成してもよい。
【０１４４】
また、マスタとして機能するロボット１００とスレーブとして機能するロボット１００とを固定させてもよい。この場合、スレーブとして機能するロボット１００が実行可能な機能を一部省略してもよい。例えば、マスタとして機能するロボット１００の指示に従って発話する場合、スレーブとして機能するロボット１００は、発話制御部１１５Ａ等に相当する機能を備えていなくてもよい。
【０１４５】
また、前述の実施の形態では、ロボット１００Ａとロボット１００Ｂとが対象ユーザと対話する例を説明したが、１台のロボット１００によって対象ユーザとの対話を実施するように構成してもよい。この場合、例えば、１台のロボット１００が、前述したマスタとして機能する場合と同様に自身の発話内容と他のロボットの発話内容を一括して決定し、決定した発話内容を声色等を替えて順次音声出力することにより、あたかも１台のロボット１００が他のロボットの発話を代弁しているかのように演出すればよい。
【０１４６】
前記の実施の形態では、対話システム１が複数のロボット１００を備えるロボットシステムである場合を例に説明したが、対話システム１は、ロボット１００が備える構成の全部または１部を備える複数の対話装置によって構成されてもよい。
【０１４７】
前記の実施の形態において、制御部１１０Ａ、１１０ＢのＣＰＵが実行する制御プログラムは、予めＲＯＭ等に記憶されていた。しかしながら、本発明は、これに限定されず、前記の各種処理を実行させるための制御プログラムを、既存の汎用コンピュータや、フレームワーク、ワークステーション等の電子機器に実装することにより、前記の実施の形態に係るロボット１００Ａ、１００Ｂに相当する装置として機能させてもよい。例えば、ロボット１００Ａ、１００Ｂに相当する発話装置として、音声アシスタント機能を有する携帯端末、デジタルサイネージ等が含まれる。デジタルサイネージとは、ディスプレイ等の電子表示機器に映像や情報を表示するシステムである。なお発話はスピーカにより音声出力することに限らず、表示機器に文字として表示することも含む。したがって、発話を文字で表示する携帯端末、デジタルサイネージ等もロボット１００Ａ、１００Ｂに相当する発話装置として含まれる。
【０１４８】
このようなプログラムの提供方法は任意であり、例えば、コンピュータが読取可能な記録媒体（フレキシブルディスク、ＣＤ（Compact Disc）−ＲＯＭ、ＤＶＤ（Digital Versatile Disc）−ＲＯＭ）等に格納して配布してもよいし、インターネット等のネットワーク上のストレージにプログラムを格納しておき、これをダウンロードさせることにより提供してもよい。
【０１４９】
また、前記の処理をＯＳ（Operating System）とアプリケーションプログラムとの分担、又は、ＯＳとアプリケーションプログラムとの協働によって実行する場合には、アプリケーションプログラムのみを記録媒体やストレージに格納してもよい。また、搬送波にプログラムを重畳し、ネットワークを介して配信することも可能である。例えば、ネットワーク上の掲示板（Bulletin Board System：BBS）に前記プログラムを掲示し、ネットワークを介してプログラムを配信してもよい。そして、配信されたプログラムを起動し、ＯＳの制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行できるように構成してもよい。
【０１５０】
本発明は、本発明の広義の精神と範囲とを逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、前述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及び特許請求の範囲と同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
【０１５１】
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【０１５２】
（付記）
（付記１）
第１発話装置による発話に対する所定の対象の反応を判定した結果と、前記第１発話装置とは別個に設けられた第２発話装置による発話に対する前記所定の対象の反応を判定した結果とを含む複数の反応判定結果を取得する反応取得手段と、
前記反応取得手段により取得された複数の反応判定結果に基づいて、前記第１及び第２発話装置を含む複数の発話装置の少なくとも何れかによる前記発話を制御する発話制御手段と、
を備える、
ことを特徴とする対話制御装置。
【０１５３】
（付記２）
前記反応取得手段は、前記第１発話装置により前記発話が前記所定の対象に対して行われる場所と、前記第２発話装置により前記発話が前記所定の対象に対して行われる場所とが、前記第１及び第２発話装置による前記発話の両方を前記所定の対象が認識できないような場所である場合における、前記第１及び第２発話装置による発話の各々に対する前記所定の対象の反応を判定した結果を含む前記複数の反応判定結果を取得する、
ことを特徴とする付記１に記載の対話制御装置。
【０１５４】
（付記３）
前記発話制御手段は、前記第１及び第２発話装置による前記発話を、互いに連続して行わずに、互いに所定時間以上異なるタイミングで行うように、制御する、
ことを特徴とする付記１に記載の対話制御装置。
【０１５５】
（付記４）
前記発話制御手段は、前記第１及び第２発話装置による前記発話の話題を互いに異なる話題に決定する、
ことを特徴とする付記１又は２に記載の対話制御装置。
【０１５６】
（付記５）
前記発話制御手段は、前記第１及び第２発話装置による前記発話の内容を互いに無関係に決定する、
ことを特徴とする付記１又は２に記載の対話制御装置。
【０１５７】
（付記６）
前記複数の反応判定結果は、所定の対象が発した音声と前記所定の対象の撮像画像との少なくとも何れかに基づいて前記第１及び第２発話装置による発話に対する前記所定の対象の反応を判定した結果である、
ことを特徴とする付記１乃至５の何れか１つに記載の対話制御装置。
【０１５８】
（付記７）
前記所定の対象が発した音声と、前記所定の対象の撮像画像の少なくとも何れかを取得する取得手段を更に備え、
前記反応取得手段は、
前記取得手段により取得された前記音声と前記撮像画像の前記少なくとも何れかに基づいて、前記第１及び第２発話装置の各々による前記発話に対する前記所定の対象の反応を判定することにより、前記複数の反応判定結果を取得する、
ことを特徴とする付記１乃至６の何れか１つに記載の対話制御装置。
【０１５９】
（付記８）
前記反応取得手段は、
前記取得手段により取得された前記音声に基づいて、前記第１及び第２発話装置の各々による前記発話に対する前記所定の対象の前記音声の内容を判定する音声判定手段と、
前記取得手段により取得された前記撮像画像に基づいて、前記第１及び第２発話装置の各々による前記発話に対する前記所定の対象の表情を判定する表情判定手段と、
前記取得手段により取得された前記撮像画像に基づいて、前記第１及び第２発話装置の各々による前記発話に対する前記所定の対象の行動を判定する行動判定手段と、
の少なくとも何れかを有し、
前記音声判定手段、前記表情判定手段及び前記行動判定手段の前記少なくとも何れかの判定結果に基づいて、前記第１及び第２発話装置の各々による前記発話に対する前記所定の対象の反応を判定することにより、前記複数の反応判定結果を取得する、
ことを特徴とする付記７に記載の対話制御装置。
【０１６０】
（付記９）
前記反応取得手段は、前記所定の対象の前記音声、前記表情及び前記行動の少なくとも何れかに基づいて、前記所定の対象の前記反応を肯定的な反応、否定的な反応、肯定的でも否定的でもない中立的な反応に分類することにより、前記所定の対象の前記反応を判定する、
ことを特徴とする付記８に記載の対話制御装置。
【０１６１】
（付記１０）
前記所定の対象が発した前記音声と、前記第１発話装置による前記発話と、前記第２発話装置による前記発話との少なくとも何れかに基づいて、前記所定の対象との対話における話題を特定する特定手段と、
前記取得した複数の反応判定結果に基づいて、前記特定手段により特定された前記話題に対する前記所定の対象の嗜好の度合いを示す嗜好度を判定する嗜好判定手段と、
を更に備え、
前記発話制御手段は、前記嗜好判定手段により判定された嗜好度に基づいて、前記複数の発話装置の前記少なくとも何れかによる前記発話を制御する、
ことを特徴とする付記７乃至９の何れか１つに記載の対話制御装置。
【０１６２】
（付記１１）
前記嗜好は、有形と無形とを問わず物事に関する趣味や好みであり、食品、スポーツ、天気に関する趣味や好みの他、前記第１発話装置と前記第２発話装置の少なくとも何れかの発話内容に対する好みを含む、
ことを特徴とする付記１０に記載の対話制御装置。
【０１６３】
（付記１２）
前記嗜好判定手段は、前記話題に対する前記所定の対象の前記嗜好が高い順に、前記嗜好度を複数の段階に判定し、
前記発話制御手段は、前記嗜好判定手段により判定された前記嗜好度を示す前記複数の段階の情報に基づいて、前記複数の発話装置の前記少なくとも何れかによる前記発話を制御する、
ことを特徴とする付記１０又は１１に記載の対話制御装置。
【０１６４】
（付記１３）
前記所定の対象は人又は動物又はロボットを含む、
ことを特徴とする付記１乃至１２の何れか１つに記載の対話制御装置。
【０１６５】
（付記１４）
互いに異なる複数の対象から前記所定の対象を特定する対象特定手段を更に備え、
前記反応取得手段は、前記第１発話装置による発話に対する、前記特定された前記所定の対象の反応を判定した結果と、前記第１発話装置とは別個に設けられた第２発話装置による発話に対する、前記特定された前記所定の対象の反応を判定した結果とを含む複数の反応判定結果を取得する、
ことを特徴とする、付記１乃至１３の何れか１つに記載の対話制御装置。
【０１６６】
（付記１５）
前記対話制御装置は、前記第１及び第２発話装置の少なくとも何れかに設けられていることを特徴とする、付記１乃至１４の何れか１つに記載の対話制御装置。
【０１６７】
（付記１６）
前記対話制御装置は、前記第１及び第２発話装置とは別個に設けられていることを特徴とする、付記１乃至１４の何れか１つに記載の対話制御装置。
【０１６８】
（付記１７）
発話可能に構成された第１発話装置及び第２発話装置と、対話制御装置と、を備える対話システムであって、
前記対話制御装置は、
前記第１発話装置による発話に対する所定の対象の反応を判定した結果と、前記第１発話装置とは別個に設けられた前記第２発話装置による発話に対する前記所定の対象の反応を判定した結果とを含む複数の反応判定結果を取得する反応取得手段と、
前記反応取得手段により取得された複数の反応判定結果に基づいて、前記第１及び第２発話装置を含む複数の発話装置の少なくとも何れかによる前記発話を制御する発話制御手段と、
を備える、
ことを特徴とする対話システム。
【０１６９】
（付記１８）
前記第１及び第２発話装置の各々は、
前記所定の対象が発した音声と、前記所定の対象の撮像画像の少なくとも何れかを取得する取得手段と、
第１通信手段と、を備え、
前記対話制御装置は、前記第１及び第２発話装置と前記第１通信手段を介して通信するための第２通信手段を更に備え、
前記対話制御装置の前記反応取得手段は、
前記第１発話装置の前記取得手段により取得された前記音声と前記撮像画像との前記少なくとも何れかである第１データを、前記第１及び第２通信手段を介して取得し、前記取得した前記第１データに基づいて、前記第１発話装置による前記発話に対する前記所定の対象の反応を判定することにより、前記第１発話装置による前記発話に対する前記所定の対象の反応の判定結果である第１反応判定結果を取得し、
前記第２発話装置の前記取得手段により取得された前記音声と前記撮像画像との前記少なくとも何れかである第２データを、前記第１及び第２通信手段を介して取得し、前記取得した前記第２データに基づいて、前記第２発話装置による前記発話に対する前記所定の対象の反応を判定することにより、前記第２発話装置による前記発話に対する前記所定の対象の反応の判定結果である第２反応判定結果を取得し、
前記対話制御装置の前記発話制御手段は、前記反応取得手段により取得された前記第１及び第２反応判定結果を含む前記複数の反応判定結果に基づき、前記第２及び第１通信手段を介して、前記第１及び第２発話装置による前記発話を制御する、
ことを特徴とする付記１７に記載の対話システム。
【０１７０】
（付記１９）
第１発話装置による発話に対する所定の対象の反応を判定した結果と、前記第１発話装置とは別個に設けられた第２発話装置による発話に対する前記所定の対象の反応を判定した結果とを含む複数の反応判定結果を取得する処理と、
前記取得された複数の反応判定結果に基づいて、前記第１及び第２発話装置を含む複数の発話装置の少なくとも何れかによる前記発話を制御する処理と、
を含む、
ことを特徴とする対話制御方法。
【０１７１】
（付記２０）
コンピュータを、
第１発話装置による発話に対する所定の対象の反応を判定した結果と、前記第１発話装置とは別個に設けられた第２発話装置による発話に対する前記所定の対象の反応を判定した結果とを含む複数の反応判定結果を取得する反応取得手段、
前記反応取得手段により取得された複数の反応判定結果に基づいて、前記第１及び第２発話装置を含む複数の発話装置の少なくとも何れかによる前記発話を制御する発話制御手段、
として機能させる、
ことを特徴とするプログラム。
【符号の説明】
【０１７２】
１…対話システム、１００，１００Ａ，１００Ｂ…ロボット、１０１…胴体部、１０２…頭部、１０３…手部、１０４…足部、１０５…目部、１０６…口部、１０７…耳部、１１０Ａ，１１０Ｂ，２１０…制御部、１１１Ａ，１１１Ｂ…ユーザ検知部、１１２Ａ，１１２Ｂ…ユーザ特定部、１１３Ａ，１１３Ｂ…ユーザ情報取得部、１１４Ａ，１１４Ｂ…音声認識部、１１５Ａ，１１５Ｂ，２１５…発話制御部、１１６Ａ，１１６Ｂ…音声合成部、１１７Ａ，１１７Ｂ，２１７…反応判定部、１１７ＡＡ，１１７ＡＢ，２１７Ａ…音声判定部、１１７ＢＡ，１１７ＢＢ，２１７Ｂ…表情判定部、１１７ＣＡ，１１７ＣＢ，２１７Ｃ…行動判定部、１１８Ａ，１１８Ｂ，２１８…嗜好判定部、１２０Ａ，１２０Ｂ，２２０…記憶部、１２１Ａ，１２１Ｂ，２２１…ユーザ情報ＤＢ、１２２Ａ，１２２Ｂ，２２２…音声情報ＤＢ、１２３Ａ，１２３Ｂ，２２３…発話情報ＤＢ、１２４Ａ，１２４Ｂ，２２４…反応判定情報ＤＢ、１３０Ａ，１３０Ｂ…撮像部、１４０Ａ，１４０Ｂ…音声入力部、１５０Ａ，１５０Ｂ…音声出力部、１６０Ａ，１６０Ｂ…移動部、１７０Ａ，１７０Ｂ，２７０…通信部、２００…サーバ、ＢＬ…バスライン、ＵＳＲ…ユーザ
【図１】
2019175432.tif 000003
【図２】
2019175432.tif 000004
【図３】
2019175432.tif 000005
【図４】
2019175432.tif 000006
【図５】
2019175432.tif 000007
【図６】
2019175432.tif 000008
【図７】
2019175432.tif 000009
【図８】
2019175432.tif 000010
【図９】
2019175432.tif 000011
【図１０】
2019175432.tif 000012
【図１１】
2019175432.tif 000013