(57)【要約】  複数のロボットがユーザに対し同じメッセージを出力することを防ぐ。ロボット（２）に出力させるメッセージが、ロボット（１）に出力させるメッセージまたは当該ロボット（１）に出力させたメッセージと同じとなるか判定し、同じとなると判定した場合に、ロボット（２）にロボット（１）とは異なるメッセージを出力させるか、またはロボット（２）にはメッセージを出力させないメッセージ決定部（８３）を備える。
2015174172.tif 000002
【特許請求の範囲】
【請求項１】
第１出力装置と第２出力装置とを含む複数の出力装置にメッセージを出力させる制御装置であって、
上記第１出力装置に出力させるメッセージが、上記第２出力装置に出力させるメッセージまたは当該第２出力装置に出力させたメッセージと同じとなるか判定する判定部と、
上記判定部が同じとなると判定した場合に、上記第１出力装置に上記第２出力装置とは異なるメッセージを出力させるか、または上記第１出力装置にはメッセージを出力させない制御部と、を備えることを特徴とする制御装置。
【請求項２】
上記第１出力装置および第２出力装置のそれぞれから、上記第１出力装置および第２出力装置に対して発話したユーザの発話内容を示す発話内容情報を受信して、各発話内容情報に応じたメッセージを生成するメッセージ生成部を備え、
上記判定部は、上記第１出力装置および第２出力装置のそれぞれから受信した発話内容情報が同一の発話に対応している場合に、上記第１出力装置に出力させるメッセージが、上記第２出力装置に出力させるメッセージまたは当該第２出力装置に出力させたメッセージと同じとなると判定することを特徴とする請求項１に記載の制御装置。
【請求項３】
上記判定部は、上記第１出力装置および第２出力装置のそれぞれから、上記第１出力装置および第２出力装置に対して発話したユーザを示すユーザ特定情報を取得するとともに、上記発話内容情報が示す発話内容が一致し、かつ上記ユーザ特定情報が示すユーザが一致する場合に、上記発話内容情報が同一の発話に対応していると判定することを特徴とする請求項２に記載の制御装置。
【請求項４】
上記判定部は、上記第１出力装置および第２出力装置のそれぞれについて、上記第１出力装置および第２出力装置に対してユーザが発話した時刻を示す発話時刻情報を取得するとともに、上記発話内容情報が示す発話内容が一致し、かつ上記発話時刻情報が示す時刻の差が所定範囲内である場合に、上記発話内容情報が同一の発話に対応していると判定することを特徴とする請求項２または３に記載の制御装置。
【請求項５】
請求項１から４のいずれか１項に記載の制御装置と、
上記複数の出力装置と、を含むことを特徴とするメッセージ出力制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、出力装置がユーザに対して出力するメッセージを制御する制御装置およびメッセージ出力制御システムに関する。
【背景技術】
【０００２】
音声や文字等でメッセージを提示することにより、ユーザとコミュニケーションをとる対話型ロボットが従来から知られている。このような対話型ロボットは、ユーザの問いかけ等に応じて最適な応答メッセージを提示することが望ましい。そのため、ロボットの応答を最適化する種々の技術が開発されている。例えば、特許文献１には、対話型ロボットがユーザの発話音声を取得してコンピュータに送信し、コンピュータがユーザの発話音声に応じた応答文を対話型ロボットの応答文と決定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】日本国公開特許公報「特開２００５−３７４７（公開日：２００５年１月６日）」
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ユーザと複数のロボットとが対話する場合、上述した従来技術では、全てのロボットが同じメッセージをユーザに提示してしまう可能性がある。これは、各ロボットが取得した音声は同じユーザが発した同じ音声であり、その音声に応じた応答文を決定するコンピュータも同じであるからである。そして、ユーザの発話に対し、複数のロボットが同じ応答をすることは、当然望ましくない。なお、このような問題は、対話型ロボットに限られず、ユーザに対してメッセージを出力する出力装置全般に生じる問題点である。【０００５】
本発明は上記問題点を鑑みてなされたものであり、その目的は、複数の出力装置がユーザに対し同じメッセージを出力することを防ぐことが可能な制御装置およびメッセージ出力制御システムを実現することにある。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明の一態様に係る制御装置は、第１出力装置と第２出力装置とを含む複数の出力装置にメッセージを出力させる制御装置であって、上記第１出力装置に出力させるメッセージが、上記第２出力装置に出力させるメッセージまたは当該第２出力装置に出力させたメッセージと同じとなるか判定する判定部と、上記判定部が同じとなると判定した場合に、上記第１出力装置に上記第２出力装置とは異なるメッセージを出力させるか、または上記第１出力装置にはメッセージを出力させない制御部と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明の一様態によれば、複数の出力装置がユーザに対し同じメッセージを出力することを防ぐことができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態１に係るロボットおよびサーバの要部構成を示すブロック図である。
【図２】本発明の実施形態１に係るメッセージ提示システムの概要を示す図である。
【図３】上記サーバがメッセージの決定に用いるメッセージテーブルのデータ構造を示す図である。
【図４】上記ロボットおよび上記サーバの情報の流れを時系列で示したシーケンス図である。
【図５】上記サーバの行うメッセージ決定処理の流れを示すフローチャートである。
【図６】本発明の実施形態２に係るメッセージ出力制御システムの概要を示す図である。
【発明を実施するための形態】
【０００９】
〔実施形態１〕
以下、本発明の第１の実施形態について、図１〜５を参照して説明する。まず始めに、本実施形態に係るメッセージ出力制御システム１００について図２を用いて説明する。図２は、本実施形態に係るメッセージ出力制御システム１００の概要を示す図である。
【００１０】
≪システムの概要≫
メッセージ出力制御システム１００は、複数のロボットがそれぞれ、ユーザの発話した内容（発話内容）に適した応答メッセージをユーザに提示するためのシステムである。メッセージ出力制御システム１００は図示の通り、ロボット（出力装置、第１出力装置、第２出力装置）１および２と、サーバ（制御装置）３とで構成される。なお、本実施形態ではロボットが２体である例を説明するが、ロボットは２体以上であればその数は問わない。以降の実施形態でも同様である。
【００１１】
ロボット１およびロボット２は、ユーザと音声で対話する機能を備えた装置であり、ユーザの発話を検出し、該発話に対して音声または文字等で応答メッセージを出力（提示）する。また、サーバ３は、ロボット１およびロボット２の発言内容を制御する装置である。メッセージ出力制御システム１００において、ロボット１およびロボット２は、ユーザの発話を検出すると、当該発話に対し自装置が返答すべき応答メッセージを決定するための情報であり、上記検出された発話に関わる情報である発話情報（出力情報）をサーバ３に送信する。
【００１２】
サーバ３はロボット１またはロボット２から発話情報を受信すると、発話情報に応じた応答メッセージを決定し、発話情報の送信元のロボットに送信する。例えば、ユーザがロボット１に対して、「明日の天気教えて。」と発話した場合、ロボット１からサーバ３に、上記の発話に関する発話情報が送信される。この場合、サーバ３は、発話情報の示す発話内容「明日の天気教えて。」に応じて、ロボット１の応答メッセージをメッセージＡ（「晴れ時々曇りです」という台詞）と決定し、ロボット１にメッセージＡを送信する。そして、ロボット１は受信したメッセージＡを出力する。すなわち、ロボット１はユーザに対し「晴れ時々曇りです」と発言する。
【００１３】
また、サーバ３は、複数のロボットから受信した発話情報の中にメッセージが同じになる発話情報が複数ある場合、例えば、ユーザの同じ発話を複数のロボットが検出した場合、これらのロボットが同じ応答メッセージを出力しないように、発話内容に応じた応答メッセージで、かつ他のロボットと異なる応答メッセージを送信元のロボットに返す。例えば、ユーザの発話がロボット１および２の両方で検出された場合、各ロボットからユーザの同じ発話についての発話情報が送信される。例えば、ロボット２が、上述したロボット１と共に、「明日の天気教えて。」というユーザの発話を検出した場合、ロボット１とほぼ同時に、ロボット２も発話情報をサーバ３に送信する場合がある。このような場合、サーバ３は、ロボット１にはメッセージＡを出力させると共に、ロボット２には、ユーザの発話内容に応じた応答メッセージであり、かつメッセージＡと異なるメッセージＡ’を出力させる。例えば、ロボット２は、「最高気温は２４度です」のような、ロボット１と異なる発言をする。このように、メッセージ出力制御システム１００では、複数のロボットが同じ発話を検出した場合、例えばユーザが複数のロボットに向けて（または複数のロボットの近くで）発話したような場合に、複数のロボットに、ユーザに対して異なる応答メッセージを返させることができる。
【００１４】
≪ロボットおよびサーバの要部構成≫
次に、メッセージ出力制御システム１００を構成するロボット１、ロボット２、およびサーバ３の内部構成について図１を用いて説明する。図１は、本実施形態に係るロボット１、ロボット２、およびサーバ３の要部構成を示すブロック図である。なお、本実施形態において、ロボット２の内部の要部構成はロボット１と同様である。そのため、ロボット２の構成については図示および説明を省略する。
【００１５】
≪ロボットの要部構成≫
ロボット１は、装置制御部１０と、マイク２０と、カメラ３０と、出力部４０と、装置通信部５０とを備えている。マイク２０は、ユーザの発話を音声データに変換し取得するものである。マイク２０は取得した音声信号を、後述する発話情報作成部１１へと送信する。カメラ３０は、ユーザを被写体として撮影するものである。カメラ３０は撮影画像（ユーザの画像）を、後述する発話情報作成部１１へと送信する。なお、後述するユーザ特定部１３が画像データ以外のデータからユーザを特定する場合は、カメラ３０は設けられなくてもよい。出力部４０は、装置制御部１０から受信したメッセージを出力するものである。出力部４０としては、例えばスピーカ等を用いればよい。装置通信部５０は、サーバ３とデータの送受信を行うためのものである。
【００１６】
装置制御部１０は、ロボット１を統括的に制御するものである。装置制御部１０は、後述の発話情報作成部１１にて生成した発話情報をサーバ３に送信する。また、装置制御部１０は、サーバ３からロボット１が出力するメッセージを受信し、当該メッセージを出力部４０に出力させる。装置制御部１０は、より詳しくは、発話情報作成部１１と、発話内容特定部１２と、ユーザ特定部１３とを含む。また、装置制御部１０は、図示しないが計時部を備えている。計時部は、例えば装置制御部１０のリアルタイムクロックで実現可能である。
【００１７】
発話情報作成部１１は、発話情報を作成するものである。なお、発話情報作成部１１は、発話情報とともに、サーバ３に応答メッセージのリクエストを送信してもよい。発話情報作成部１１は、発話情報に含める各種情報を生成するため、発話内容特定部１２と、ユーザ特定部１３とを含む。
【００１８】
発話内容特定部１２は、ユーザの発話内容を特定し、発話内容を示す情報（発話内容情報）を生成する。発話内容情報は、後述するサーバ３のメッセージ決定部８３が、該発話内容情報が示す発話内容に応じた応答メッセージを特定可能であればよく、その形式はとくに限定されない。本実施形態では、発話内容特定部１２は、発話内容情報としてユーザの発話音声の音声データから１つ以上のキーワードを特定および抽出する。なお、発話内容特定部１２は、マイク２０から受信した音声データ自体、または当該音声データからユーザの発話音声を抽出したものを、発話内容情報としてもよい。
【００１９】
ユーザ特定部１３は、発話したユーザを特定する。ユーザの特定方法は、特に限定しないが、例えば、カメラ３０から撮影画像を取得し、画像解析により当該撮影画像に写っているユーザを特定すればよい。また、ユーザ特定部１３は、マイク２０が取得した音声データに含まれる声紋を分析することにより、ユーザを特定してもよい。このように、画像分析または声紋分析を行うことにより、発話したユーザを正確に（精度良く）特定することができる。
【００２０】
発話情報作成部１１は、発話情報作成時の時刻（発話時刻情報）と、発話内容特定部１２が生成した発話内容情報と、ユーザ特定部１３が特定したユーザを示す情報（ユーザ特定情報）とを含む発話情報を作成する。すなわち、発話情報作成部１１は、「いつ（時刻）、誰が（ユーザ特定情報）、何を話した（発話内容）か」を示す情報を含む発話情報を作成する。そして、発話情報作成部１１は作成した発話情報を、装置通信部５０を介しサーバ３に送信する。
【００２１】
≪サーバの要部構成≫
サーバ３は、サーバ通信部７０と、サーバ制御部８０と、一時記憶部８２と、記憶部９０とを備える。サーバ通信部７０は、ロボット１およびロボット２とデータの送受信を行うためのものである。
【００２２】
一時記憶部８２は、発話情報を一時的に格納するものである。一時記憶部８２は、メッセージ決定部８３から発話情報と当該発話情報に応じて決定された応答メッセージとを受信し、上記発話情報と上記応答メッセージとを対応づけて所定の期間記憶しておく。なお、ここでいう「所定の期間」は、少なくとも、他のロボットから同じ発話に基づく発話情報がサーバ３に届き得る期間（すなわち、ロボット間の通信および処理のタイムラグ）以上の期間であることが望ましい。
【００２３】
記憶部９０は、後述するメッセージ決定部８３がメッセージを決定する処理（メッセージ決定処理）の際に読み出されるメッセージテーブル９１を格納する。以下、メッセージテーブルの構成について図３を用いて説明する。
【００２４】
≪メッセージテーブルのデータ構造≫
図３は、メッセージテーブル９１のデータ構成を示す図である。なお、図３においてメッセージテーブル９１をテーブル形式のデータ構造にて示したことは一例であって、メッセージテーブル９１のデータ構造はテーブル形式に限定されない。図３に例示するメッセージテーブル９１は、「発話内容」列と、「メッセージ」列と、「優先度」列とを含み、「発話内容」列の情報に、「メッセージ」列の情報が対応付けられている。さらに、「メッセージ」列の情報に対し、「優先度」列の情報が対応付けられている。
【００２５】
「発話内容」列は、ユーザの発話内容を示す情報を格納する。「発話内容」列の情報は、メッセージ決定部８３が、受信した発話情報に含まれる発話内容情報と照合可能な形式で格納されている。例えば、発話内容情報がユーザの発話から抽出したキーワードである場合、「発話内容」列のデータとして、発話内容を示すキーワード（または複数のキーワードの組み合わせ）を示す情報を格納しておけばよい。また、発話内容情報が、発話の音声データそのものである場合、「発話内容」列のデータとして、上記音声データとマッチング可能な音声データを格納しておけばよい。
【００２６】
「メッセージ」列は、ロボット１およびロボット２に出力させる応答メッセージを示す情報を格納する。なお、図示の通り、メッセージテーブル９１は、１つの「発話内容」列の情報に対し、複数の応答メッセージが対応付けられている。
【００２７】
「優先度」列は、「発話内容」列に示された１つの発話内容に対応する「メッセージ」列の複数の応答メッセージそれぞれの優先順位を示す情報を格納する。なお、当該優先順位の付し方は特に限定されない。なお、「優先度」列の情報は必須ではない。「優先度」列の情報を用いない場合、「発話内容」列に対応する各応答メッセージからランダムに１つの応答メッセージを選択してもよい。
【００２８】
サーバ制御部８０は、サーバ３を統括的に制御するものであり、発話情報受信部８１と、メッセージ決定部（判定部、制御部、メッセージ生成部）８３とを含む。発話情報受信部８１は、ロボット１およびロボット２が送信した発話情報を、サーバ通信部７０を介して取得する。発話情報受信部８１は、取得した発話情報をメッセージ決定部８３に送信する。
【００２９】
メッセージ決定部８３は応答メッセージを決定する。メッセージ決定部８３は、発話情報受信部８１から発話情報を受信すると、一時記憶部８２に保存された他の発話情報（上記発話情報より前に受信した発話情報）および当該他の発話情報に対応付けられた応答メッセージを読み出す。なお、以降の説明では、発話情報受信部８１が受信した発話情報、すなわちサーバ３がこれから応答メッセージを決定する発話情報を「対象発話情報」と称する。次にメッセージ決定部８３は、他の発話情報の中に、対象発話情報と同じ発話に対応する発話情報を検出する。メッセージ決定部８３は、上記検出を行うため、時刻判定部８４と、発話内容判定部８５と、ユーザ判定部８６とを含む。
【００３０】
時刻判定部８４は、他の発話情報に含まれる時刻と、対象発話情報に含まれる時刻との差が所定範囲内であるか否かを判定する。なお、時刻判定部８４は、上記判定の精度を上げるため、発話情報に含まれる時刻だけでなく、サーバ３が当該発話情報を受信した時刻を計時し、これを発話情報と共に記憶しておいてもよい。そして、対象発話情報の受信時刻と、他の発話情報の受信時刻との差が所定範囲内であるか否かを判定してもよい。これにより、例えばロボット１の計時する時刻とロボット２の計時する時刻がずれている場合等でも、精度よく時刻の比較を行うことができる。発話内容判定部８５は、他の発話情報の発話内容情報と、対象発話情報の発話内容情報とが一致するか否かを判定する。ユーザ判定部８６は、対象発話情報のユーザ特定情報と、他の発話情報のユーザ特定情報とが一致するか否かを判定する。
【００３１】
メッセージ決定部８３は、上記時刻判定部８４、発話内容判定部８５、およびユーザ判定部８６の上記判定結果から、対象発話情報と時刻の差が所定範囲内であり、発話内容が一致し、かつユーザ特定情報が一致する他の発話情報を検出する。以下では、メッセージ決定部８３が検出する上記他の発話情報を、検出対象発話情報と呼ぶ。ここで、検出対象発話情報は、複数のロボットが同じユーザの発話をほぼ同時に検出することにより作成された発話情報であると推定される。換言すると、上記検出対象発話情報は、対象発話情報と同一の発話に対応して作成された発話情報であると推定される。そして、メッセージ決定部８３は、記憶部９０のメッセージテーブル９１を検索して、対象発話情報に対応する応答メッセージを特定する。
【００３２】
応答メッセージの特定において、メッセージ決定部８３は、対象発話情報の応答メッセージが、検出対象発話情報の応答メッセージと同じにならないようにする。具体的には、対象発話情報の発話内容情報に対応する応答メッセージのうち、検出対象発話情報の応答メッセージと異なり、かつ優先度が最も高い応答メッセージを特定する。なお、検出対象発話情報が存在しない場合には、対象発話情報の発話内容情報に対応する応答メッセージのうち最も優先度の高い応答メッセージ特定する。そして、メッセージ決定部８３は、対象発話情報と特定した応答メッセージとを対応付けて一時記憶部８２に記憶させる。
【００３３】
なお、メッセージ決定部８３は、対象発話情報の応答メッセージを決定した後、一時記憶部８２を参照して応答メッセージが等しい他の発話情報を検出した場合に、決定した応答メッセージを他の応答メッセージに変更してもよい。この構成であっても、複数のロボットが同じ応答メッセージを出力することを防ぐことができる。なお、この構成においても、検出した他の発話情報と対象発話情報とで、時刻判定部８４、発話内容判定部８５、およびユーザ判定部８６の判定処理を行い、両発話情報が一致した場合に、決定した応答メッセージを他の応答メッセージに変更してもよい。
【００３４】
≪装置間のデータ通信の流れ≫
次に、ロボット１およびロボット２とサーバ３とのデータのやりとりについて、図４を用いて説明する。図４はロボット１およびロボット２と、サーバ３との間のデータ通信を時系列で示したシーケンス図である。なお、図４のＳ３００およびＳ４００に示すサブルーチンは、図５に示す一連のメッセージ決定処理（Ｓ３０２〜Ｓ３１０）を示す。なお、以降の説明では、ロボット１の発話情報に含まれる時刻をＴ１、発話内容情報をＱ１、ユーザ特定情報をＵ１とし、これらを含む発話情報を発話情報（Ｔ１、Ｑ１、Ｕ１）と記載する。また、ロボット２の発話情報に含まれる時刻をＴ２、発話内容情報をＱ２、ユーザ特定情報をＵ２とし、これらを含む発話情報を発話情報（Ｔ２、Ｑ２、Ｕ２）と記載する。
【００３５】
ユーザが発話すると、ロボット１およびロボット２はマイク２０で発話を取得し発話情報作成部１１へ送信する（Ｓ１００およびＳ２００）。また、このときカメラ３０にて発話したユーザが撮影され、撮影画像が発話情報作成部１１へ送信される。発話情報作成部１１の発話内容特定部１２は、音声データからユーザの発話に含まれるキーワードを特定する。また、ユーザ特定部１３は撮影画像からユーザを特定する。そして、発話情報作成部１１は、計時した時刻（発話情報作成時の時刻）と、発話内容情報と、ユーザ特定情報とを付加した発話情報を作成し（Ｓ１０２および２０２）、サーバ３に送信する。サーバ３はロボット１から発話情報（Ｔ１、Ｑ１、Ｕ１）を受信すると、メッセージ決定処理を行う（Ｓ３００）。ここで、ロボット１の発話情報は、図示の通りサーバ３が最初に受信した（他の発話情報がサーバ３の一時記憶部８２に記憶されていない状態で受信した）発話情報であり、発話情報（Ｔ１、Ｑ１、Ｕ１）が対象発話情報である。そのため、検出対象発話情報は存在せず、メッセージ決定部８３は、Ｑ１に対応する応答メッセージのうち、最も優先度の高い応答メッセージをロボット１に出力させる応答メッセージとして決定する。そして、サーバ３は、決定したメッセージＡをロボット１に送信する。ロボット１はメッセージＡを受信すると、これを出力部４０から出力する（Ｓ１０４）。
【００３６】
サーバ３は続いて、ロボット２から受信した発話情報（Ｔ２、Ｑ２、Ｕ２）について、メッセージ決定処理を行う（Ｓ４００）。上述の通り、ロボット１の発話情報（Ｔ１、Ｑ１、Ｕ１）に対するメッセージ決定処理が先に行われているので、サーバ３の一時記憶部８２には、他の発話情報（発話情報（Ｔ１、Ｑ１、Ｕ１））が格納されており、ここでは発話情報（Ｔ２、Ｑ２、Ｕ２）が対象発話情報となる。したがって、メッセージ決定部８３は、時刻判定部８４、発話内容判定部８５、およびユーザ判定部８６により、対象発話情報（Ｔ２、Ｑ２、Ｕ２）と、他の発話情報（Ｔ１、Ｑ１、Ｕ１）とが一致するか判定する。そして、一致すると判定した場合、発話情報（Ｔ１、Ｑ１、Ｕ１）が検出対象発話情報となる。この場合、サーバ３は、発話情報（Ｔ１、Ｑ１、Ｕ１）に対応する応答メッセージＡとは異なるメッセージＡ’を決定し、ロボット２に送信する。一方、発話情報（Ｔ１、Ｑ１、Ｕ１）が検出対象発話情報ではない場合、サーバ３は、応答メッセージＡについて考慮することなくＱ２に応じてメッセージＡ’を決定しロボット２に送信する。ロボット２はメッセージＡ’を受信すると、これを出力部４０から出力する（Ｓ２０４）。
【００３７】
≪メッセージ決定処理≫
次に、図５を用いて、メッセージ決定部８３がメッセージを決定する処理（メッセージ決定処理）の流れの詳細を説明する。なお、ここでは一例として、図４のロボット２の応答メッセージを決定する際の、メッセージ決定処理（Ｓ４００）について説明する。図５はメッセージ決定処理の流れを示すフローチャートである。なお、図５のＳ３０２〜３０６の処理の順序は入れ替わっていてもよい。
【００３８】
メッセージ決定部８３は、発話情報（Ｔ２、Ｑ２、Ｕ２）を受信すると、Ｓ３０２〜３０６の処理を行うことにより、他の発話情報のうち対象発話情報（この例ではＴ２、Ｑ２、Ｕ２）と同じ発話に対応する発話情報を検出する。具体的には、メッセージ決定部８３に含まれる時刻判定部８４は、対象発話情報（Ｔ２、Ｑ２、Ｕ２）の時刻Ｔ２と、他の発話情報（この例ではＴ１、Ｑ１、Ｕ１）の時刻Ｔ１との差が所定範囲内であるか否かを判定する（Ｓ３０２）。Ｔ２とＴ１との差が所定範囲内である場合（Ｓ３０２でＹＥＳ）、次に、発話内容判定部８５は、Ｑ２とＱ１とが一致するか否かを判定する（Ｓ３０４）。Ｑ２とＱ１とが一致する場合（Ｓ３０４でＹＥＳ）、ユーザ判定部８６は、Ｕ２とＵ１とが一致するか否かを判定する（Ｓ３０６）。Ｕ２とＵ１とが一致する場合（Ｓ３０６でＹＥＳ）、メッセージ決定部８３は、他の発話情報（Ｔ１、Ｑ１、Ｕ１）を、対象発話情報（Ｔ２、Ｑ２、Ｕ２）と同じ発話に基づく発話情報（検出対象発話情報）として検出する。
【００３９】
そして、メッセージ決定部８３は、Ｑ２に応じたメッセージを決定する。具体的には、メッセージ決定部８３はメッセージテーブル９１の「発話内容」列と、Ｑ２が示す発話内容とを照合することにより、Ｑ２に対応する応答メッセージを特定する。なお、このとき、メッセージ決定部８３は、検出対象発話情報（Ｔ１、Ｑ１、Ｕ１）に対応する応答メッセージ、すなわちＱ１に対応する応答メッセージと異なるメッセージのうち、最も優先度が高いメッセージを、対象発話情報の送信元のロボットが出力するメッセージとして決定する（Ｓ３０８）。
【００４０】
一方、Ｔ２とＴ１との差が所定範囲内でない場合、Ｑ２とＱ１とが異なる場合、またはＵ２とＵ１とが異なる場合（Ｓ３０２〜Ｓ３０６のいずれかでＮＯ）は、メッセージ決定部８３は、検出対象発話情報が存在しないと判定する。なお、他の発話情報が２以上記憶されている場合には、他の発話情報のそれぞれについて、Ｓ３０２〜３０６の処理を行う。そして、メッセージ決定部８３は、メッセージテーブル９１を参照することにより、対象発話情報に対応する応答メッセージのうち、最も優先度の高い応答メッセージを、対象発話情報の送信元のロボットが出力する応答メッセージとして特定する（Ｓ３１０）。
【００４１】
〔実施形態２〕
本発明において、ロボットは、ユーザの発話に対応して応答メッセージを提示するのではなく、ユーザに向けて自発的にメッセージを出力してもよい。以下、本発明の第２の実施形態について図６を用いて説明する。以降、ロボットが自発的に出力（発言）するメッセージを「自発メッセージ」と称する。
【００４２】
図６は、本実施形態に係るメッセージ出力制御システム２００の概要を示す図である。メッセージ出力制御システム２００はメッセージ出力制御システム１００と同様に、複数のロボット（ロボット（出力装置）１およびロボット（出力装置）２）と、サーバ（制御装置）４とを含む。サーバ４の構成は、サーバ３（図１参照）と同様であるが、サーバ４は、予め設定された事象（条件）をトリガとしてロボット１および２に自発メッセージを出力させる点でサーバ３と異なる。なお、上記「予め設定された事象（条件）」については特に限定しない。以降の説明では、一例として、ロボット１およびロボット２が、ユーザの接近を検出する（ユーザが、ロボットの検出範囲に入る）と自発メッセージを出力させる例について説明する。
【００４３】
ロボット１およびロボット２は、ユーザが自装置の検出範囲に入ると、サーバ４にその旨を通知する。サーバ４は、上記通知を受信すると、自発メッセージを決定して、該通知の送信元のロボットに送信する。例えばサーバ４はロボット１から上記通知を受信すると、ロボット１の自発メッセージを自発メッセージＢ（「遊ぼうよ」という台詞）と決定し、ロボット１に出力させる。
【００４４】
ここで、ユーザが、ロボット１に近付いたときに、その近くにロボット２があった場合、ロボット２においても上記ユーザが検出され、その旨がサーバ４に通知される。サーバ４は、このような場合に、ロボット２がロボット１と同じ自発メッセージを出力しないように、ロボット２の自発メッセージを決定する。例えば、サーバ４は、自発メッセージＢとは異なる自発メッセージＢ’（「お手伝いしようか？」という台詞）をロボット２の自発メッセージと決定し、ロボット２に出力させる。このように、メッセージ出力制御システム２００では、複数のロボットが同じユーザに対し、同じタイミングで同じ自発メッセージを出力してしまうことを防止できる。
【００４５】
〔実施形態３〕
上記各実施形態では、音声発話によってユーザにメッセージを提示する例を示したが、メッセージの提示はユーザが該メッセージを認識できる態様で行われればよく、この例に限られない。例えば、電子掲示板等の電子媒体にユーザ向けのメッセージを登録することによってメッセージを提示してもよい。この場合、サーバ３または４は、ロボット１およびロボット２の代理として（ロボット１およびロボット２の名前で）メッセージを登録してもよい。
【００４６】
また、上記実施形態では、サーバ３がユーザの音声発話に対する応答メッセージを生成する例を示したが、ユーザが電子媒体に書き込んだ（投稿した）情報に応じたメッセージを生成してもよい。例えば、短文投稿サイトにユーザが投稿したコメントに対し、ロボット１またはロボット２のメッセージをサーバ３が投稿する場合を考える。この場合、サーバ３は、両ロボットのメッセージが同じになると判定したときに、何れかのロボットのメッセージのみを投稿する、各ロボットのメッセージを異ならせる、等により、１つのコメントに対して同じメッセージが投稿されないように制御してもよい。なお、各ロボットのメッセージの投稿は、ユーザの投稿に限られず、所定の条件を満たしたとき（例えば予め設定された日時になったとき）に行ってもよい。
【００４７】
〔変形例〕
上記実施形態のメッセージ出力制御システム１００および２００では、１つのサーバ３または４にてメッセージの決定およびロボットの出力制御等の機能を果たしているが、これらの機能は個別のサーバで実現してもよい。例えば、ロボット１またはロボット２の出力する応答メッセージ（または自発メッセージ）を決定するメッセージ決定サーバと、当該メッセージ決定サーバが決定したメッセージをロボットに出力させる出力制御サーバとの組み合わせであっても、メッセージ出力制御システム１００および２００と同様の機能を実現できる。
【００４８】
また、ユーザ特定部１３は、ロボット１の位置情報から、該ロボット１に対して発話したユーザを特定してもよい。例えば、ロボット１の位置情報が、該ロボットがあるユーザの居室内の位置を示している場合には、ロボット１に対して発話したユーザを、上記あるユーザと特定することができる。なお、位置情報は、ＧＰＳ（Global Positioning System）を用いて取得してもよい。また、室内等ＧＰＳの受信感度が落ちる場合は、自装置の持つ無線通信機能を用いて位置情報を補正してもよい。また、例えばＩＭＥＳ（Indoor MEssaging System）機能を用いて、またはカメラ３０が取得する画像などから自装置の位置を特定してもよい。
【００４９】
また、メッセージ出力制御システム１００において、ロボット１およびロボット２は発話内容特定部１２において発話内容を特定せずに、マイク２０が取得した音声データ自体を発話内容情報としてもよい。この場合、サーバ３側で発話内容を示すキーワードの抽出を行えばよい。この場合、サーバ３側で音声データの声紋認証を行うことによりユーザを特定してもよく、これによりロボット１および２はユーザ特定情報を送信する必要がなくなる。
【００５０】
また、サーバ３はロボット１およびロボット２から発話情報を受信した場合、先着順でメッセージ決定処理を行うのではなく、いずれかのロボットから発話情報を受信してから所定時間待機してもよい。そして、サーバ３は待機中に他のロボットから発話情報を受信した場合、予め定めた順番に従って、またはランダムに、上記受信した発話情報についてのメッセージ決定処理をそれぞれ行ってもよい。より具体的には、サーバ３は、それぞれの発話情報の送信元のロボットに設定された優先度に沿った順番でメッセージ決定処理を行ってもよいし、発話情報に含まれる各種情報の内容（例えば、発話内容の特定精度など）に応じて、メッセージ決定処理を行う順番、すなわち優先度の高いメッセージを振り分ける順番を定めてもよい。
【００５１】
また、上記各実施形態では、各ロボットに異なるメッセージを出力させる例を示したが、何れかのロボットにはメッセージを出力させない（メッセージを送信しない）構成としてもよい。この構成によっても、複数のロボットが同じメッセージを出力しないようにすることができる。
【００５２】
〔ソフトウェアによる実現例〕
ロボット１、ロボット２、サーバ３、およびサーバ４の制御ブロック（特に発話情報作成部１１およびメッセージ決定部８３）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【００５３】
後者の場合、ロボット１、ロボット２、およびサーバ３は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００５４】
〔まとめ〕
本発明の態様１に係る制御装置（サーバ３および４）は、第１出力装置と第２出力装置とを含む複数の出力装置（ロボット１および２）にメッセージ（応答メッセージまたは自発メッセージ）を出力させる制御装置であって、上記第１出力装置に出力させるメッセージが、上記第２出力装置に出力させるメッセージまたは当該第２出力装置に出力させたメッセージと同じとなるか判定する判定部（メッセージ決定部８３）と、上記判定部が同じとなると判定した場合に、上記第１出力装置に上記第２出力装置とは異なるメッセージを出力させるか、または上記第１出力装置にはメッセージを出力させない制御部（メッセージ決定部８３）と、を備えることを特徴とする。
【００５５】
上記構成によると制御装置は、第１出力装置に出力させるメッセージが、第２出力装置に出力させる、またはすでに出力させたメッセージと同じとなる場合、第１出力装置が第２出力装置と同じメッセージを出力しないようにすることができる。したがって、制御装置は、複数の出力装置が同じメッセージを出力することを防止できる。
【００５６】
本発明の態様２に係る制御装置は、上記態様１において、上記第１出力装置および第２出力装置のそれぞれから、上記第１出力装置および第２出力装置に対して発話したユーザの発話内容を示す発話内容情報を受信して、各発話内容情報に応じたメッセージを生成するメッセージ生成部（メッセージ決定部８３）を備え、上記判定部は、上記第１出力装置および第２出力装置のそれぞれから受信した発話内容情報が同一の発話に対応している場合に、上記第１出力装置に出力させるメッセージが、上記第２出力装置に出力させるメッセージまたは当該第２出力装置に出力させたメッセージと同じとなると判定してもよい。
【００５７】
上記構成によると、制御装置は、第１出力装置および第２出力装置のそれぞれから受信した発話内容情報が同一の発話に対応している場合、これらの出力装置が同じメッセージを出力しないように出力装置を制御することができる。したがって、複数の出力装置が同じ発話を検出し応答（メッセージを出力）する場合に、同じメッセージを出力することを防止できる。
【００５８】
本発明の態様３に係る制御装置は、上記態様２において、上記判定部は、上記第１出力装置および第２出力装置のそれぞれから、上記第１出力装置および第２出力装置に対して発話したユーザを示すユーザ特定情報を取得するとともに、上記発話内容情報が示す発話内容が一致し、かつ上記ユーザ特定情報が示すユーザが一致する場合に、上記発話内容情報が同一の発話に対応していると判定してもよい。
【００５９】
上記構成によると、制御装置は、第１出力装置が、第２出力装置と同じユーザの同じ発話内容に対してメッセージを出力する場合に、第２出力装置と同じメッセージを出力しないように制御することができる。したがって、制御装置は、複数の出力装置が同じユーザの同じ発話内容に対して同じ発言をすることを防止できる。
【００６０】
本発明の態様４に係る制御装置は、上記態様２または３において、上記判定部は、上記第１出力装置および第２出力装置のそれぞれについて、上記第１出力装置および第２出力装置に対してユーザが発話した時刻を示す発話時刻情報を取得するとともに、上記発話内容情報が示す発話内容が一致し、かつ上記発話時刻情報が示す時刻の差が所定範囲内である場合に、上記発話内容情報が同一の発話に対応していると判定してもよい。
【００６１】
ここで、上記「所定範囲」は、各出力装置の処理や通信のタイムラグを考慮した上で、ユーザが発話した時刻が同じであると推定される範囲内に設定すればよい。また、「ユーザが発話した時刻」は、ユーザが実際に発話した時刻と概ね一致していればよく、完全に一致している必要はない。例えば、出力装置がユーザの発話を検出した時刻、または制御装置が発話内容情報を受信した時刻を「ユーザが発話した時刻」としてもよい。前者の場合、制御装置は上記発話時刻情報を出力装置から取得すればよく、後者の場合、制御装置の備える計時部により受信時刻を特定すればよい。
【００６２】
上記構成により、制御装置は、第１出力装置と第２出力装置との両方が、同じ時刻に（同じタイミングに）なされた発話に対してメッセージを出力する場合に、これらの出力装置が同じメッセージを出力しないように制御することができる。したがって、制御装置は、複数の出力装置が同じユーザの同じ発話内容に対して同じ発言をすることを防止できる。
【００６３】
本発明の態様５に係るメッセージ出力制御システム（メッセージ出力制御システム１００およびメッセージ出力制御システム２００）は、上記態様１から４のいずれか１態様に記載の制御装置（サーバ３および４）と、上記複数の出力装置と、を含む。
【００６４】
本発明の各態様に係る制御装置および出力装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記制御装置または上記出力装置が備える各部として動作させることにより上記制御装置または上記出力装置をコンピュータにて実現させる上記制御装置または上記出力装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【００６５】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
【産業上の利用可能性】
【００６６】
本発明は、ユーザにメッセージを提示する出力装置、当該出力装置の出力するメッセージを決定する制御装置等に好適に利用することができる。
【符号の説明】
【００６７】
１および２  ロボット（出力装置、第１出力装置、第２出力装置）、３  サーバ（制御装置）、８３  メッセージ決定部（判定部、制御部、メッセージ生成部）、１００および２００  メッセージ出力制御システム
【図１】
2015174172.tif 000003
【図２】
2015174172.tif 000004
【図３】
2015174172.tif 000005
【図４】
2015174172.tif 000006
【図５】
2015174172.tif 000007
【図６】
2015174172.tif 000008
【国際調査報告】
2015174172.tif 000009
2015174172.tif 000010