(57)【要約】【課題】人と音声対話装置との自然な対話を可能にする。【解決手段】複数の音声対話装置がユーザと対話する対話システムを構成する音声対話装置であって、ユーザが発した音声を取得する音声入力手段と、前記取得した音声に基づいて、複数の音声対話装置の中から前記ユーザが話し掛けた音声対話装置を特定するための情報であるユーザ発話情報を生成する情報生成手段と、生成した前記ユーザ発話情報を他の音声対話装置に送信し、他の音声対話装置から、当該音声対話装置が生成したユーザ発話情報を受信する送受信手段と、前記生成および受信したユーザ発話情報に基づいて、前記ユーザの発話に応答すべきであるか否かを判定する判定手段と、前記判定の結果に基づいて、前記ユーザとの対話を行う対話手段と、を有する。【選択図】図１
2018013545.tif 000002
【特許請求の範囲】
【請求項１】
複数の音声対話装置がユーザと対話する対話システムを構成する音声対話装置であって、
ユーザが発した音声を取得する音声入力手段と、
前記取得した音声に基づいて、複数の音声対話装置の中から前記ユーザが話し掛けた音声対話装置を特定するための情報であるユーザ発話情報を生成する情報生成手段と、
生成した前記ユーザ発話情報を他の音声対話装置に送信し、他の音声対話装置から、当該音声対話装置が生成したユーザ発話情報を受信する送受信手段と、
前記生成および受信したユーザ発話情報に基づいて、前記ユーザの発話に応答すべきであるか否かを判定する判定手段と、
前記判定の結果に基づいて、前記ユーザとの対話を行う対話手段と、
を有する音声対話装置。
【請求項２】
前記音声入力手段は、自装置に対する音声の到来方向を検出可能なマイクを有し、
前記情報生成手段は、自装置に対する音声の到来方向を表す情報と、前記音声の音圧に関する情報、のいずれかを含むユーザ発話情報を生成する、
請求項１に記載の音声対話装置。
【請求項３】
前記判定手段は、複数の音声対話装置の中で、自装置が前記ユーザに対して最も正面に位置すると判定した場合に、前記ユーザの発話に応答すべきであると判定する、
請求項２に記載の音声対話装置。
【請求項４】
前記判定手段は、複数の音声対話装置の中で、自装置が前記ユーザに対して最も近い位置にいると判定した場合に、前記ユーザの発話に応答すべきであると判定する、
請求項２に記載の音声対話装置。
【請求項５】
前記判定手段が、前記ユーザの発話に応答すべきであると判定した場合に、
前記対話手段は、前記音声の到来方向または音圧の変動量が所定の閾値を超えるまで、前記ユーザとの対話を継続する、
請求項２から４のいずれかに記載の音声対話装置。
【請求項６】
前記送受信手段は、自装置と前記ユーザとの対話状態を表す情報を他の音声対話装置に送信し、
前記判定手段は、受信した前記情報に基づいて、他の音声対話装置と前記ユーザとの対話が継続しているか否かを判定し、当該判定の結果に基づいて、前記ユーザの発話に応答すべきか否かの判定を休止する、
請求項５に記載の音声対話装置。
【請求項７】
前記取得した音声を発したユーザを識別するユーザ識別手段をさらに有し、
前記情報生成手段は、前記ユーザ発話情報に前記ユーザの識別子を関連付け、
前記判定手段は、前記ユーザの発話に応答すべきであるか否かの判定を、識別したユーザごとに行う、
請求項１から６のいずれかに記載の音声対話装置。
【請求項８】
複数の音声対話装置がユーザと対話する対話システムを構成する音声対話装置が行う発話制御方法であって、
前記ユーザが発した音声を取得する音声入力ステップと、
前記取得した音声に基づいて、複数の音声対話装置の中から前記ユーザが話し掛けた音声対話装置を特定するための情報であるユーザ発話情報を生成する情報生成ステップと、
生成した前記ユーザ発話情報を他の音声対話装置に送信し、他の音声対話装置から、当該音声対話装置が生成したユーザ発話情報を受信する送受信ステップと、
前記生成および受信したユーザ発話情報に基づいて、前記ユーザの発話に応答すべきであるか否かを判定する判定ステップと、
前記判定の結果に基づいて、前記ユーザとの対話を行う対話ステップと、
を含む、発話制御方法。
【請求項９】
請求項８に記載の発話制御方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声によって人と対話する装置に関する。
【背景技術】
【０００２】
近年、人と対話をすることによって様々な情報を提供するロボットが開発されている。例えば、特許文献１には、マイクによって入力された音声をネットワーク上で処理し、入力に対する応答を音声で返すコミュニケーションロボットが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−０１３３５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
前述したような、音声によって対話を行うロボットは、基本的に一対一での対話を想定しているため、ユーザ環境内に複数のロボットを置くことができない。例えば、ユーザの声が届く範囲に複数のロボットがいた場合、ユーザに呼び掛けに対して全てのロボットが反応してしまうため、ユーザが所望する相手との会話のみを開始させることができない。
この問題を解決するためには、各ロボットが、ユーザが誰に向かって話しかけているかを適切に判定し、返答するか否かを決定する必要がある。
【０００５】
本発明は上記の課題を考慮してなされたものであり、人と音声対話装置との自然な対話を可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る音声対話装置は、
複数の音声対話装置がユーザと対話する対話システムを構成する音声対話装置であって、ユーザが発した音声を取得する音声入力手段と、前記取得した音声に基づいて、複数の音声対話装置の中から前記ユーザが話し掛けた音声対話装置を特定するための情報であるユーザ発話情報を生成する情報生成手段と、生成した前記ユーザ発話情報を他の音声対話装置に送信し、他の音声対話装置から、当該音声対話装置が生成したユーザ発話情報を受信する送受信手段と、前記生成および受信したユーザ発話情報に基づいて、前記ユーザの発話に応答すべきであるか否かを判定する判定手段と、前記判定の結果に基づいて、前記ユーザとの対話を行う対話手段と、を有することを特徴とする。
【０００７】
情報生成手段は、外部から取得した音声に基づいて、ユーザが話し掛けた音声対話装置を特定するための情報であるユーザ発話情報を生成する。ユーザ発話情報は、例えば、装置に対する音声の到来方向（装置から見たユーザの方向）、音声対話装置とユーザとの距離、ユーザの発話内容などであるが、これらに限られない。
また、送受信手段が、生成したユーザ発話情報を他の音声対話装置に送信し、他の音声対話装置からユーザ発話情報を受信する。すなわち、システムを構成する各音声対話装置が生成したユーザ発話情報が、全ての音声対話装置によって共有される。そして、判定手段が、収集したユーザ発話情報に基づいて、ユーザの発話に応答すべきか否かを決定する。
かかる構成によると、複数の音声対話装置で構成される対話システムにおいて、ユーザに返答を返すべき音声対話装置を一意に特定することができ、ユーザと音声対話装置との一対一の対話を開始させることができる。
【０００８】
また、前記音声入力手段は、自装置に対する音声の到来方向を検出可能なマイクを有し、前記情報生成手段は、自装置に対する音声の到来方向を表す情報と、前記音声の音圧に関する情報、のいずれかを含むユーザ発話情報を生成することを特徴としてもよい。
【０００９】
自装置に対する音声の到来方向は、例えば、複数の音声入力素子を有するマイク（アレイマイク）などを用いて取得することができる。
ユーザが音声対話装置に呼び掛けを行う場合、多くの場合は当該音声対話装置の方向を向いて発声する。そこで、音声対話装置に対する音声の到来方向に関する情報、または、当該音声の音圧を用いることで、ユーザが呼び掛けた装置を特定することができる。
【００１０】
また、前記判定手段は、複数の音声対話装置の中で、自装置が前記ユーザに対して最も正面に位置すると判定した場合に、前記ユーザの発話に応答すべきであると判定することを特徴としてもよい。
また、前記判定手段は、複数の音声対話装置の中で、自装置が前記ユーザに対して最も近い位置にいると判定した場合に、前記ユーザの発話に応答すべきであると判定することを特徴としてもよい。
【００１１】
このように、音声対話装置とユーザとの角度または距離に基づいて判定を行うことで、呼び掛けられた音声対話装置を精度よく特定することができる。なお、音声対話装置とユーザとの距離は、例えば、取得した音圧に基づいて推定してもよい。
【００１２】
また、前記判定手段が、前記ユーザの発話に応答すべきであると判定した場合に、前記対話手段は、前記音声の到来方向または音圧の変動量が所定の閾値を超えるまで、前記ユーザとの対話を継続することを特徴としてもよい。
【００１３】
ユーザが発話を行うごとに、返答すべき音声対話装置をその都度判定した場合、僅かな条件の変動で対話相手が変わってしまう場合がある。そこで、一旦ユーザの発話に応答すると判定した場合、音声の到来方向または音圧の変動量が所定の閾値を超えるまで対話を継続する。これにより、一時的にユーザの声量が小さくなったり、顔の向きが変わった場合であっても対話を継続させることができる。
【００１４】
また、前記送受信手段は、自装置と前記ユーザとの対話状態を表す情報を他の音声対話装置に送信し、前記判定手段は、受信した前記情報に基づいて、他の音声対話装置と前記ユーザとの対話が継続しているか否かを判定し、当該判定の結果に基づいて、前記ユーザの発話に応答すべきか否かの判定を休止することを特徴としてもよい。
【００１５】
ある音声対話装置がユーザとの対話を一旦開始したら、対話が継続している限り、他の音声対話装置は応答判定を休止することが好ましい。そこで、例えば、ユーザと対話する音声対話装置が、対話を開始した旨および対話が終了した旨の情報を送信するようにしてもよい。なお、対話状態を表す情報であれば、送信する情報は、「対話開始および対話終了を表す情報」「対話開始を表す情報」「対話終了を表す情報」のいずれであってもよい。これにより、不要な処理を削減することができる。
【００１６】
また、本発明に係る音声対話装置は、前記取得した音声を発したユーザを識別するユーザ識別手段をさらに有し、前記情報生成手段は、前記ユーザ発話情報に前記ユーザの識別子を関連付け、前記判定手段は、前記ユーザの発話に応答すべきであるか否かの判定を、識別したユーザごとに行うことを特徴としてもよい。
【００１７】
音声に基づいてユーザの個人識別を行い、識別したユーザごとに応答可否の判定を行っ
てもよい。かかる構成によると、複数人のユーザがロボットとの会話を行えるようになる。
【００１８】
なお、本発明は、上記手段の少なくとも一部を含む音声対話装置や対話システムとして特定することができる。また、前記音声対話装置や対話システムが行う発話制御方法として特定することもできる。上記処理や手段は、技術的な矛盾が生じない限りにおいて、自由に組み合わせて実施することができる。
【発明の効果】
【００１９】
本発明によれば、人と音声対話装置との自然な対話を可能にすることができる。
【図面の簡単な説明】
【００２０】
【図１】第一の実施形態に係るロボットのシステム構成図である。
【図２】ロボットと、音源となるユーザの位置関係を説明する図である。
【図３】複数のロボットとユーザの位置関係を説明する図である。
【図４】第一の実施形態におけるロボットの処理フローチャート図である。
【図５】第二の実施形態におけるロボットの処理フローチャート図である。
【図６】第三の実施形態に係るロボットのシステム構成図である。
【図７】変形例を説明する図である。
【発明を実施するための形態】
【００２１】
（第一の実施形態）
以下、本発明の好ましい実施形態について図面を参照しながら説明する。
本実施形態に係る音声対話システムは、複数のロボットから構成され、当該ロボットが自然言語によってユーザと対話を行うシステムである。
【００２２】
<システム構成>
図１は、本実施形態に係るロボット１０のシステム構成図である。なお、図１には示していないが、本実施形態に係る音声対話システムは、複数のロボット１０を含んで構成することができる。
【００２３】
ロボット１０は、外部から音声を取得する機能と、発話内容の文章（以下、発話文）を取得する機能と、当該発話文を音声によって出力する機能を有するロボットである。ロボット１０は、例えば、コミュニケーションロボットであるが、必ずしもキャラクターの形をしている必要はない。例えば、ロボットに組み込むことができる汎用のコンピュータであってもよい。
また、ロボット１０は、ユーザの発話を検知した場合に、周囲に存在する他のロボット１０と通信を行い、「どのロボットが話し掛けられたか」を特定し、特定されたロボットのみが応答するという機能を有している。
【００２４】
ロボット１０は、近距離通信部１１、音声入出力部１２、応答生成部１３、対話判定部１４、制御部１５から構成される。
【００２５】
近距離通信部１１は、ロボット１０同士で無線通信を行う手段である。第一の実施形態では、近距離通信部１１は、Ｂｌｕｅｔｏｏｔｈ（登録商標）接続を利用した通信を行う。第一の実施形態では、近距離通信部１１を用いて複数のロボット１０間における情報交換を実現する。
【００２６】
音声入出力部１２は、音声を入出力する手段である。具体的には、内蔵されたマイクを用いて、音声を電気信号（以下、音声データ）に変換する。取得した音声データは、後述
する応答生成部１３へ出力される。また、音声入出力部１２は、内蔵されたスピーカを用いて、応答生成部１３から送信された音声データを音声に変換する。
また、音声入出力部１２は、マイクとして、図２に示したようなアレイマイク（点線で図示）を有している。それぞれのマイクから得られた信号を一旦記録して演算することで、音源の方向や距離を算出することができる。なお、マイクは二次元的に配置されてもよいし、三次元的に配置されてもよい。三次元的に配置することで、高さ（Ｚ軸）方向の位置を検出することが可能になる。
【００２７】
応答生成部１３は、音声入出力部１１が取得した音声に対して音声認識を行い、認識結果に基づいて応答文を生成する手段である。
音声認識は、既知の技術によって行うことができる。例えば、取得した音声データと音響モデルとを比較して特徴を抽出し、抽出した特徴を認識辞書とをマッチングさせることで音声認識を行う。
そして、取得したテキスト（すなわちユーザが行った発話の内容）に基づいて、ユーザへの返答となる文章（応答文）を生成する。応答生成部１３は、例えば、予め記憶された対話シナリオ（対話辞書）に基づいて応答を生成してもよい。
応答生成部１３が生成した返答は、制御部１５へテキスト形式で送信され、その後、合成音声によってユーザに向けて出力される。
【００２８】
対話判定部１４は、自ロボットの近傍にいるユーザが、自ロボットに向けて話しかけているか否かを判定し、当該ユーザの発話に応答するか否かを決定する手段である。
ロボット１０は、入力された音声に基づいて応答文を生成するが、応答条件を設けないと、複数台のロボットがユーザに対して一斉に応答するなどの不都合が生じてしまう。そこで、本実施形態に係るロボット１０は、通信範囲内にいる他のロボットと通信を行い、ユーザと対話するロボットを一台のみ決定する。
具体的には、対話判定部１４は、（１）音声入出力部１２が取得した音声に基づいて、ロボットとユーザとの位置関係を表す情報を生成し、（２）当該情報を周辺にいるロボットと交換し、（３）交換した情報に基づいて、自ロボットがユーザと対話するか否かを決定する。具体的な方法については後述する。
【００２９】
制御部１５は、ロボット１０が行う音声対話全般を制御する手段である。
具体的には、対話相手（ユーザ）の呼び掛けに応じて対話を開始する機能、ユーザの発話に基づいて応答文を取得する機能、取得した応答文を音声データに変換し音声入出力部１２を介して出力する機能などを実行する。
【００３０】
ロボット１０は、いずれもＣＰＵ、主記憶装置、補助記憶装置を有する情報処理装置として構成することができる。補助記憶装置に記憶されたプログラムが主記憶装置にロードされ、ＣＰＵによって実行されることで、図１に図示した各手段が機能する。なお、図示した機能の全部または一部は、専用に設計された回路を用いて実行されてもよい。
【００３１】
<ユーザ発話情報>
次に、対話判定部１４が取得し、ロボット１０同士で交換する情報（以下、ユーザ発話情報）について説明する。本実施形態に係るロボット１０は、図２に示したように、複数のマイクを有しており、Ｘ−Ｙ平面内におけるユーザの相対位置を算出することができる。具体的には、取得した音声の時間差に基づいて自ロボットに対するユーザの角度θを算出し、かつ、音圧に基づいて、自ロボットとユーザとの距離ｄを推定する。これらの方法は公知なものであるため、詳細な説明は省略する。
なお、ユーザが発話した際にロボットに届く音声の音圧は、ユーザの声の大きさによって変わる。よって、対話判定部１４は、ユーザが一定の声量で発話しているものと仮定したうえで処理を行うようにしてもよい。
【００３２】
ユーザ発話情報は、ロボットが取得ないし推定した角度θおよび距離ｄを含む情報である。対話判定部１４によって生成されたユーザ発話情報は、近距離通信部１１を介して、無線によってブロードキャストされる。また、各ロボット１０は、ブロードキャストされたユーザ発話情報を受信し、対話判定部１４に記憶させる。
図３は、三台のロボット１０（Ａ〜Ｃ）とユーザとの位置関係を表した図である。
【００３３】
<ユーザ発話情報に基づく判定>
次に、収集したユーザ発話情報に基づいて、ユーザに応答するロボットを決定する処理について説明する。なお、本例では、ユーザが、ロボット１０Ａに対して話し掛けた場合を想定して説明を行う。
【００３４】
ユーザがロボットに対して発話を行うと、ロボット１０Ａ〜Ｃのそれぞれが、前述した方法によって角度θおよび距離ｄを算出する。ここでは、ロボット１０Ａが角度θ1およ
び距離ｄ1、ロボット１０Ｂが角度θ2および距離ｄ2、ロボット１０Ｃが角度θ3および距離ｄ3を算出したものとする。各ロボットが生成したユーザ発話情報は、ブロードキャス
ト送信され、全てのロボットによって共有される。ここでは、図３に示したように、ユーザ発話情報Ａ〜Ｃが、ロボット１０Ａ〜Ｃによって共有される。
【００３５】
次に、対話判定部１４が、収集したユーザ発話情報に基づいて、ユーザの発話に応答するか否かを決定する。例えば、角度θおよび距離ｄを正規化し、重み付け加算することでスコアを算出し、当該スコアが最も高いロボットを、ユーザの発話に応答するロボットとして決定する。以下、ユーザの発話に応答すると判定されたロボットを、発話権を得たロボットと表現する。対話判定部１４が、自ロボットが発話権を得たと判定した場合、その旨を制御部１５へ送信し、制御部１５が、ユーザとの対話を開始する制御を行う。また、他のロボットが発話権を得たと判定した場合、待機状態に戻る。
【００３６】
<処理フローチャート>
次に、ロボット１０が行う具体的な処理の内容について、処理フローチャート図である図４を参照しながら説明する。図４に示したフローチャートは、ロボット１０が、ユーザが発した音声を検知した場合に開始される。
【００３７】
まず、ステップＳ１１で、音声入出力部１２が、マイクを通して装置のユーザから音声を取得する。取得した音声は音声データに変換され、対話判定部１４および制御部１５へ送信される。
【００３８】
次に、対話判定部１４が、取得した音声データに基づいて、当該音声の到来方向とユーザとの距離を判定する（ステップＳ１２）。そして、得られた方向および距離に基づいてユーザ発話情報を生成し、近距離通信部１１を介してブロードキャスト送信する（ステップＳ１３）。
【００３９】
ステップＳ１４では、音声が入力されてから所定の時間が経過したか否かを判定し、経過していない場合、待機する。また、ステップＳ１１〜Ｓ１４の間で、他のロボットからユーザ発話情報を受信した場合、当該ユーザ発話情報を一時的に記憶する。
ステップＳ１４にて、所定の時間が経過した場合、記憶している複数のユーザ発話情報に基づいて、前述した方法によって、自ロボットがユーザに応答すべきか否かを判定する（ステップＳ１５）。
【００４０】
この結果、応答すべきと判定された場合（ステップＳ１６−Ｙｅｓ）、対話判定部１４は、応答すべき旨を制御部１５に通知する。そして、制御部１５が、音声データを応答生
成部１３に送信する。応答生成部１３は、送信された音声データに対して音声認識を実行し、続いて、認識結果のテキストに基づいて発話文を生成する（ステップＳ１７）。
生成された発話文は制御部１５へ送信され、制御部１５が当該発話文に基づいて音声合成を行い、音声入出力部１１を介して出力する。
ステップＳ１６で応答すべきでないと判定された場合、処理は終了し、待機状態に戻る。
【００４１】
以上説明したように、第一の実施形態では、ユーザの発話を受け取ったロボットが、音声が到来した方向と音圧に基づいてユーザ発話情報を生成し、交換し合う。そして、各ロボットが、収集したユーザ発話情報に基づいてユーザに応答するか否かを決定する。かかる構成によると、環境内に複数台のロボットがいる場合であっても、ユーザに応答するロボットを一台のみ決定することができるため、精度の高い対話を行うことができる。
【００４２】
（第二の実施形態）
第一の実施形態では、ユーザがロボットに対して発話を行う度に、当該ユーザに応答するロボットを決定した。しかし、ユーザと対話するロボットを、ユーザが発話するごとに判定した場合、僅かな条件の変動で対話相手が変わってしまうおそれがある。第二の実施形態は、これに対応するため、ロボットが一旦獲得した発話権を、トリガが発生するまで保持し続ける実施形態である。
第二の実施形態に係るロボット１０のシステム構成図は、第一の実施形態と同様であるため詳細な説明は省略し、相違点についてのみ述べる。
【００４３】
図５は、第二の実施形態に係るロボット１０の処理フローチャートである。ここではまず、ステップＳ１７から先の処理について説明する。
第二の実施形態では、ロボット１０が発話権を獲得し、ユーザに対する応答を生成した後で、発話権を獲得した旨を他のロボットに通知済みであるか否かを判定する（ステップＳ１８）。ここで、通知を行っていない場合、発話権を取得した旨を、周囲のロボットにブロードキャスト送信によって通知する（ステップＳ１９）。通知済みの場合、処理は終了する。また、当該通知を取得した他のロボットは、発話権を取得したロボットが他にいる旨を一時的に記憶する。
【００４４】
一方、ユーザが発した音声をロボット１０が取得した場合、第二の実施形態では、発話権の状態を判定する（ステップＳ１１Ａ）。本ステップでは、記憶されている情報に基づいて、「自己が発話権を有している」、「他のロボットが発話権を有している」、「いずれのロボットも発話権を有していない」のいずれであるか判定する。
【００４５】
ステップＳ１１Ａで判定を行った結果、他のロボットが発話権を有している場合、処理はそのまま終了する。すなわち、対話には参加しない。
一方、いずれのロボットも発話権を有していない場合、ステップＳ１２へ遷移し、第一の実施形態と同様に、応答するロボットを決定する処理を実行する。
【００４６】
また、自己が発話権を有している場合、ステップＳ２０で、対話判定部１４が、取得した音声データに基づいて、当該音声の到来方向とユーザとの距離を判定する。
そして、得られた方向および距離が、前回取得した方向および距離と大きく変動しているか否かを判定し、変動している場合に、ユーザが自ロボットに向けて発話していないと判定し、発話権を返上することを決定する（ステップＳ２１）。例えば、方向または距離のいずれかが所定の閾値を超えて変動した場合や、方向および距離から得られるスコアが所定の閾値を超えて変動した場合に、発話権を返上する。
なお、ここで設定する閾値は、ステップＳ１６で肯定判定となるための条件よりも緩い、すなわち、方向や距離の変動をある程度許容する値であることが好ましい。このように
することで、ユーザの声量が一時的に小さくなったり、顔の向きが一時的に変わった場合であっても対話を継続させることができる。
【００４７】
発話権を返上することを決定した場合、ステップＳ２２にて、発話権を返上する旨を表す情報をブロードキャスト送信する。また、当該情報を受信したロボットは、発話権がどのロボットにも無い旨の情報を記憶する。
【００４８】
ステップＳ２１にて、発話権を維持すると決定した場合、ステップＳ１７へ遷移し、ユーザに対する応答を生成する。すなわち、対話を継続する。
【００４９】
以上説明したように、第二の実施形態によると、一旦発話権を取得したロボットが、条件が大きく変動しないかぎり発話権を保持し、他のロボットが応答を休止する。かかる構成によると、ユーザとロボットが対話中に異なるロボットが反応し、対話の相手が変わってしまうことを防ぐことができる。
【００５０】
（第三の実施形態）
第一および第二の実施形態では、一人のユーザがロボットと対話する例を挙げた。これに対し、第三の実施形態は、複数のユーザがロボットと対話する実施形態である。
図６は、第三の実施形態に係るロボット１０のシステム構成図である。第一の実施形態と同様の構成については同一の符号を付し、説明は省略する。
【００５１】
話者判定部１６は、音声入出力部１２が取得した音声に基づいて、当該音声を発したユーザを識別する手段である。ユーザの個人識別は、例えば音声から取得した特徴量に基づいて行うことができる。このため、話者判定部１６は、ユーザの声に関する情報を、当該ユーザの識別子と関連付けて予め保持している。
第三の実施形態では、ステップＳ１１で音声入出力部１２が音声を取得すると、話者判定部１６が、当該音声を発したユーザを識別する。また、取得した音声に、ユーザの識別子を関連付ける。そして、ステップＳ１２以降の処理を、識別したユーザごとに行う。
【００５２】
例えば、ユーザＡとユーザＢが発話を順次行った場合、ロボット１０は、それぞれのユーザに対して応答するか否かを決定する。例えば、対話判定部１４が、「ユーザＡに対して応答しない」「ユーザＢに対して応答する」と決定した場合、ロボット１０は、ユーザＢのみを対象として応答文の生成を行う。
【００５３】
また、第二の実施形態のように、発話権に関する情報を他のロボットに通知してもよい。この場合、発話権をユーザごとに管理する。すなわち、「誰に対する発話権を獲得／返上したか」を、ステップＳ１９およびＳ２２にて通知し、他のロボットが、発話権の有無をユーザ単位で判定するようにすればよい。
【００５４】
なお、本実施形態では、ユーザの声に関する情報を話者判定部１６に予め記憶させたが、当該情報を用いずとも、前述した機能を実現することができる。例えば、音声の解析結果に基づいて、既知のユーザであるか、新規のユーザであるかをその都度判定し、新規ユーザが加わったと判定した場合に、当該ユーザの識別子を都度付番してもよい。
【００５５】
（変形例）
上記の実施形態はあくまでも一例であって、本発明はその要旨を逸脱しない範囲内で適宜変更して実施しうる。
【００５６】
例えば、実施形態の説明では、各ロボットがブロードキャスト送信によってユーザ発話情報を共有したが、図７に示したロボット１０Ｂとロボット１０Ｃのように、互いの通信
範囲に入っていないロボットがいた場合、互いの存在を認識できない場合がある。これを防ぐため、他のロボットからユーザ発話情報を受信した場合に、自らが生成したユーザ発話情報を加えて再送信するようにしてもよい。ただし、これを繰り返すと通信路が輻輳するおそれがあるため、所定の時刻をもって送信を打ち切るようにしてもよい。
【００５７】
また、第二の実施形態では、発話権を獲得した旨の情報を送信したが、当該情報の送信を省略してもよい。例えば、ステップＳ１６で否定判定となった場合、他のロボットから、発話権を返上する旨の通知が送信されるまで、「自己に発話権が無い」ものとして処理を行ってもよい。
また、第二の実施形態では、発話権を返上する旨の情報を送信したが、当該情報の送信を省略してもよい。例えば、あるロボットが発話権を獲得してから、一定の時間が経過した場合に、発話権が返上されたものとして各ロボットが処理を行ってもよい。また、その他の情報に基づいて、発話権が返上されたことを検出してもよい。もちろん、両方を省略することも可能である。
【００５８】
また、実施形態の説明では、方向および距離に基づいて発話権の判定を行ったが、他の基準を用いて判定を行ってもよい。例えば、ユーザが行った発話の内容に基づいて、発話権を有するロボットを決定してもよい。例えば、ロボット１０Ａが、ユーザが自分を呼んだことを認識して、「自分が呼ばれた」という情報を周辺のロボットに通知してもよい。
また、ロボット１０Ａが、ユーザがロボット１０Ｂを呼んだことを判定した場合、「ロボット１０Ｂが呼ばれた」という情報を周辺のロボットに通知してもよい。このようにすると、ロボット１０Ｂが、直接の聞き取りに失敗した場合であっても、自己が呼ばれたことを認識することができる。
また、実施形態の説明では、取得した音声の音圧に基づいてユーザとの距離を推定したが、距離への換算を行わず、音圧自体を用いて処理を行ってもよい。
【符号の説明】
【００５９】
１０・・・ロボット
１１・・・近距離通信部
１２・・・音声入出力部
１３・・・応答生成部
１４・・・対話判定部
１５・・・制御部
【図１】
2018013545.tif 000003
【図２】
2018013545.tif 000004
【図３】
2018013545.tif 000005
【図４】
2018013545.tif 000006
【図５】
2018013545.tif 000007
【図６】
2018013545.tif 000008
【図７】
2018013545.tif 000009