(57)【要約】【課題】複数人の利用者を前提とした環境において、既存の単独の利用者との対話を想定したシステムを用いて、適切に対話を行う複数人対話システムを提供する。【解決手段】利用者と、利用者が属するグループに対応するセッションとが関連付けられた情報を記憶する記憶部と、利用者の対話の内容を、セッションごとに対話可能な対話システムの入力形式に変換する入力部と、入力部により変換された利用者の対話の内容を、記憶部に記憶されている情報を用いて利用者が属するグループに対応するセッションを指定して対話システムに送信し、対話システムから返信された対話に対する応答を受信する制御部と、制御部が受信した応答を出力形式に変換して出力する出力部と、を設けるようにした。【選択図】図１
2020154269.tif 000002
【特許請求の範囲】
【請求項１】
利用者と、前記利用者が属するグループに対応するセッションとが関連付けられた情報を記憶する記憶部と、
利用者の対話の内容を、セッションごとに対話可能な対話システムの入力形式に変換する入力部と、
前記入力部により変換された利用者の対話の内容を、前記記憶部に記憶されている情報を用いて前記利用者が属するグループに対応するセッションを指定して前記対話システムに送信し、前記対話システムから返信された前記対話に対する応答を受信する制御部と、
前記制御部が受信した応答を出力形式に変換して出力する出力部と、
を備えることを特徴とする複数人対話システム。
【請求項２】
前記入力部は、音声を受け付け、
前記制御部は、前記入力部により受け付けられた音声が発せられた音源の場所から利用者を識別し、識別した利用者と前記場所を示す場所情報とを関連付けて記憶し、記憶している場所情報から、前記入力部により受け付けられた音声を発した利用者の近くに前記音声に係る対話に関係する人がいないと判定した場合、グループを作成し、前記音声を発した利用者と、作成したグループに対応するセッションとを関連付けて前記記憶部に記憶する、
ことを特徴とする請求項１に記載の複数人対話システム。
【請求項３】
カメラで撮影された画像から利用者を検出する検出部を備え、
前記検出部は、前記カメラで撮影された画像から検出した利用者の場所を示す場所情報を生成し、生成した場所情報と、前記利用者とを関連付けて記憶し、
前記入力部は、音声を受け付け、
前記制御部は、前記入力部で受け付けられた音声を発した利用者の場所を示す場所情報から利用者を識別し、識別した利用者の場所の近くに前記音声に係る対話に関係する人がいないと判定した場合、グループを作成し、前記音声を発した利用者と、作成したグループに対応するセッションとを関連付けて前記記憶部に記憶する、
ことを特徴とする請求項１に記載の複数人対話システム。
【請求項４】
前記検出部は、前記カメラで撮影された画像の利用者から音声が発せられた区間を検出し、
前記制御部は、前記入力部により受け付けられた音声が発せられた区間と、前記検出部により画像から検出された区間との一致度に基づいて、前記入力部で受け付けられた音声を発した利用者と、前記カメラで撮影された画像の利用者とを関連付け、前記音声を発した利用者を識別する、
ことを特徴とする請求項３に記載の複数人対話システム。
【請求項５】
前記出力部は、前記入力部で受け付けられた対話を行う利用者が属するグループに属する全ての利用者に対して出力を行う、
ことを特徴とする請求項１に記載の複数人対話システム。
【請求項６】
前記入力部、前記制御部、および前記出力部が設けられる対話エージェントを動作させる動作部を備え、
前記動作部は、前記出力部により利用者の対話に対する応答が出力される間、前記利用者が属するグループに属する全ての利用者に対して前記対話エージェントを逐次的に対面させる、
ことを特徴とする請求項１に記載の複数人対話システム。
【請求項７】
前記入力部、前記制御部、および前記出力部は、対話エージェントに設けられ、
前記入力部で受け付けられた利用者の対話が前記対話エージェントに向けられていない発話の内容を、前記対話エージェントに向けた内容に変換する目的で作成された変換情報を用いて、前記対話の内容を前記対話エージェントに向けた内容に変換する変換部を備え、
前記制御部は、前記入力部で受け付けられた利用者の対話が前記対話エージェントに向けた対話でない場合、前記入力部により変換された利用者の対話の内容を前記変換部に送信し、前記変換部により変換された内容を前記対話システムに送信する、
ことを特徴とする請求項１に記載の複数人対話システム。
【請求項８】
前記入力部は、音声を受け付け、
前記変換部は、前記入力部により利用者の音声が受け付けられているとき、前記対話エージェントに対する前記利用者の顔または体全体の姿勢から、前記利用者の音声が前記対話エージェントに向けた音声であるか否かを判定する、
ことを特徴とする請求項７に記載の複数人対話システム。
【請求項９】
前記入力部は、音声を受け付け、
前記変換部は、前記入力部により受け付けられた利用者の音声の特徴から、前記利用者の音声が前記対話エージェントに向けた音声であるか否かを判定する、
ことを特徴とする請求項７に記載の複数人対話システム。
【請求項１０】
利用者と、前記利用者が属するグループに対応するセッションとが関連付けられた情報を記憶する記憶部を備える複数人対話システムにおける複数人対話方法であって、
入力部が、利用者の対話の内容を、セッションごとに対話可能な対話システムの入力形式に変換する第１のステップと、
制御部が、前記入力部により変換された利用者の対話の内容を、前記記憶部に記憶されている情報を用いて前記利用者が属するグループに対応するセッションを指定して前記対話システムに送信し、前記対話システムから返信された前記対話に対する応答を受信する第２のステップと、
出力部が、前記制御部が受信した応答を出力形式に変換して出力する第３のステップと、
ことを特徴とする複数人対話方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は複数人対話システムおよび複数人対話方法に関し、例えば複数人と対話する複数人対話システムおよび複数人対話方法に適用して好適なものである。
【背景技術】
【０００２】
近年、公共空間において利用者と音声による会話を行いながらサービスを提供する対話エージェントが開発されている。対話エージェントは、機動可能な機構を備えたロボット、ディスプレイ内に表示されるキャラクタ等として実装される。対話エージェントは、マイクロフォン、カメラなどの入力装置により、利用者の要求と周囲の状況とを検知し、スピーカ、ディスプレイなどの出力装置により、利用者が求める情報を提示する。この際、入力装置から得られる各種の情報から、出力装置に出力すべき情報を計算する必要がある。この一連のシステムを対話システムと称する。また、主に音声による入出力を想定した対話システムを音声対話システムと称する。
【０００３】
ここで、利用者の満足度が高い対話を行う音声対話システムを実現するには、様々な技術が必要となる。
【０００４】
基本的な要素技術としては、高精度な音声認識技術、高品質な音声合成技術、対話の状況を管理して適切な応答を生成する対話制御技術などがある。
【０００５】
対話エージェントが音声出力している最中にユーザが割り込んで発言した音声に対してもそれを受け付ける機能（バージイン機能）もよく用いられる。その際、対話制御部は、その割り込みのタイミングに応じた適切な応答を生成することが望ましい。
【０００６】
また、特に公共空間における対話エージェントは、複数人の利用者と対峙するケースが多く、そのような状況下で適切に行動することが求められる。
【０００７】
例えば、特許文献１では、画像データから親と子とを判別し、親子が対話しているかを判別し、過去に検出した子の活動内容に基づく最新の話題を提供する音声対話プログラムが開示されている。
【０００８】
また、例えば、特許文献２では、利用者の数、各利用者の人間関係などを音声および画像から推定し、ある利用者との対話中に別の利用者から注目を受ければ、その利用者に話しかけたり、別の利用者と相談したりするマルチモーダル対話装置が開示されている。
【０００９】
一方で、一対一の音声対話、テキスト対話を想定した自動応答システム、スマートスピーカ向け対話システム、チャットボットシステムなどが現在広く普及している。対応するコンテンツ生成システムも提供され、数多くのシステム（サービス）が利用可能な状態となっている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１８−０９７１８５号公報
【特許文献２】特開２０１１−２１５９００号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
複数人の利用者を前提とした環境において、対話エージェントを動作させる場合、特許文献１および特許文献２に記載の方法では、それぞれ独自の方法で対話コンテンツを作成する必要があり、導入にいたるまでに時間を要したり、コストが大きくなったりする。このようなことから、既存の単独の利用者との対話を想定したシステムを用いて、適切に対話を行う複数人対話システムが求められている。しかしながら、既存の単独の利用者との対話を想定したシステムを用いると、複数人の利用者を前提とした環境においては、対話が混線してしまう問題がある。
【００１２】
本発明は以上の点を考慮してなされたもので、複数人の利用者を前提とした環境において、既存の単独の利用者との対話を想定したシステムを用いて、適切に対話を行う複数人対話システムを提案しようとするものである。
【課題を解決するための手段】
【００１３】
かかる課題を解決するため本発明においては、利用者と、前記利用者が属するグループに対応するセッションとが関連付けられた情報を記憶する記憶部と、利用者の対話の内容を、セッションごとに対話可能な対話システムの入力形式に変換する入力部と、前記入力部により変換された利用者の対話の内容を、前記記憶部に記憶されている情報を用いて前記利用者が属するグループに対応するセッションを指定して前記対話システムに送信し、前記対話システムから返信された前記対話に対する応答を受信する制御部と、前記制御部が受信した応答を出力形式に変換して出力する出力部と、を設けるようにした。
【００１４】
上記構成によれば、グループに対応するセッションを指定して利用者の対話の内容を対話システムに送信するので、例えば、複数人の利用者を前提とした環境において、既存の単独の利用者との対話を想定したシステムを用いた場合であっても、対話を混戦させることなく、対話を適切に制御することができる。
【発明の効果】
【００１５】
本発明によれば、対話の混線を回避することができる。
【図面の簡単な説明】
【００１６】
【図１】第１の実施の形態による複数人対話システムに係る構成の一例を示す図である。
【図２】第１の実施の形態による対話エージェントに係る構成の一例を示す図である。
【図３】第１の実施の形態による対話システムに係る構成の一例を示す図である。
【図４】第１の実施の形態による対話制御プログラムの処理に係るフローチャートの一例を示す図である。
【図５】第１の実施の形態による利用者グループＤＢに係る構成の一例を示す図である。
【図６】第２の実施の形態による対話エージェントに係る構成の一例を示す図である。
【図７】第２の実施の形態による利用者グループ検出プログラムの処理に係るフローチャートの一例を示す図である。
【図８】第２の実施の形態による対話制御プログラムの処理に係るフローチャートの一例を示す図である。
【図９】第３の実施の形態による対話エージェントに係る構成の一例を示す図である。
【図１０】第３の実施の形態による対話制御プログラムの処理に係るフローチャートの一例を示す図である。
【図１１】第３の実施の形態による入力変換プログラムの処理に係るフローチャートの一例を示す図である。
【図１２】第３の実施の形態による入力変換ルールＤＢに係る構成の一例を示す図である。
【発明を実施するための形態】
【００１７】
以下図面について、本発明の一実施の形態を詳述する。本実施の形態は、複数人の利用者と主に音声を用いてコミュニケーションを取りながらサービスを提供する対話システムに関するものである。本実施の形態の複数人対話システムでは、複数人の利用者を前提とした環境において、既存の単独の利用者との対話を想定したシステムを用いて、適切に対話を行う構成を備える。以下では、かかる構成について説明する。
【００１８】
なお、以下の説明では、同種の要素を区別しないで説明する場合には、枝番を含む参照符号のうちの共通部分（枝番を除く部分）を使用し、同種の要素を区別して説明する場合は、枝番を含む参照符号を使用することがある。例えば、利用者を特に区別しないで説明する場合には、「利用者１３０」と記載し、個々の利用者を区別して説明する場合には、「利用者１３０−１」、「利用者１３−２」のように記載することがある。
【００１９】
（１）第１の実施の形態
図１において、１００は全体として第１の実施の形態による複数人対話システムを示す。
【００２０】
図１は、複数人対話システム１００に係る構成の一例を示す図である。複数人対話システム１００は、対話エージェント１１０を含んで構成される。なお、複数人対話システム１００には、対話システム１２０などの他の構成要素が含まれていてもよい。
【００２１】
対話エージェント１１０は、ロボット等であり、複数の利用者１３０（利用者１３０−１、利用者１３０−２、利用者１３０−３等）と同一の空間に配置される。対話エージェント１１０は、無線アクセスポイント１４０と無線ＬＡＮ（Local Area Network）接続で通信し、対話システム１２０と任意のデータを送受信することができる。
【００２２】
図２は、対話エージェント１１０に係る構成の一例を示す図である。
【００２３】
対話エージェント１１０は、一般的なコンピュータの構成と同様の構成を有する。より具体的には、対話エージェント１１０は、ＣＰＵ（Central Processing Unit）２１０、記憶装置２２０、およびＮＩＣ（Network Interface Card）２３０を備える。また、対話エージェント１１０は、入出力デバイスとして、マイク２４０、カメラ２５０、スピーカ２６０、およびモータ２７０を備える。それぞれのコンポーネントは、バス２８０を通してデータを送受信することができる。
【００２４】
記憶装置２２０（記憶部の一例）は、ＲＡＭ（Random Access Memory）、ＨＤＤ（Hard Disk Drive）等であり、プログラムとして音声認識プログラム２２１（入力部の一例）、音声合成プログラム２２２（出力部の一例）、対話制御プログラム２２３（制御部の一例）、モータ制御プログラム２２４（動作部の一例）、利用者グループ検出プログラム２２５（検出部の一例）を備える。これらのプログラムは、対話エージェント１１０の起動時に、記憶装置２２０内に存在する図示しないＯＳ（Operating System）により、ＣＰＵ２１０に読み込まれて実行される。
【００２５】
なお、対話エージェント１１０の機能（入力部、出力部、制御部、動作部、検出部など）は、例えば、ＣＰＵ２１０がプログラムを記憶装置２２０に読み出して実行すること（ソフトウェア）により実現されてもよいし、専用の回路などのハードウェアにより実現されてもよいし、ソフトウェアとハードウェアとが組み合わされて実現されてもよい。また、対話エージェント１１０の機能の一部は、対話エージェント１１０と通信可能な他のコンピュータにより実現されてもよい。
【００２６】
音声認識プログラム２２１は、マイク２４０から音声波形を受信し、音声を検出したとき、検出した音声をテキストに変換し、その音声が発せられた音源の方向を計測し、計測した音源の方向をテキストとともに音声認識結果として対話制御プログラム２２３に送信する。
【００２７】
音源の方向を計測するためには、マイク２４０を複数搭載し、ＧＣＣ−ＰＨＡＴ（Generalized Cross Correlation with Phase Transform）法、ＭＵＳＩＣ（Multiple  Signal
Classification）法などにより計算を行う。音声をテキストに変換する手段としては、市販の音声認識の製品、オープンソースソフトウェア等を搭載したり、インターネット上に公開されている音声認識ＡＰＩ（Application Programming Interface）に音声波形をＮＩＣ２３０を通して送信したりすることで実現できる。
【００２８】
音声合成プログラム２２２は、対話制御プログラム２２３からテキストを受信し、受信したテキストに従って音声波形を生成し、スピーカ２６０に送信する。音声合成プログラム２２２は、市販の製品、オープンソースソフトウェアなどを利用することができる。
【００２９】
対話制御プログラム２２３は、利用者１３０の対話を制御する。対話制御プログラム２２３の詳細については図４を用いて後述する。
【００３０】
モータ制御プログラム２２４は、対話制御プログラム２２３からモータ２７０に関する指示を受信し、モータ２７０の制御を行う。モータ２７０は、対話エージェント１１０の位置、向きを変更したり、マイク２４０、カメラ２５０などの入力装置の位置、向きを変更したり、対話エージェント１１０に搭載された図示しない腕、目などを動かして利用者１３０とのコミュニケーションを円滑にしたりするという目的で利用される。
【００３１】
利用者グループ検出プログラム２２５は、例えば、カメラ２５０で撮影された利用者１３０の画像から利用者１３０を検出する。
【００３２】
また、記憶装置２２０は、ＤＢ（Database）として、利用者グループＤＢ２２６を備える。利用者グループＤＢ２２６については図５を用いて後述する。
【００３３】
図３は、対話システム１２０に係る構成の一例を示す図である。
【００３４】
対話システム１２０は、サーバ装置などであり、ネットワーク内のクライアント装置（例えば、対話エージェント１１０）に対してテキスト対話サービスを提供する。対話システム１２０は、一般的なコンピュータの構成と同様の構成を有する。より具体的には、対話システム１２０は、ＣＰＵ３１０、記憶装置３２０、およびＮＩＣ３３０を備える。それぞれのコンポーネントは、バス３４０を通してデータを送受信することができる。
【００３５】
記憶装置３２０は、プログラムとして、対話制御プログラム３２１（制御部の一例）およびセッション推定プログラム３２２（推定部の一例）を備える。これらのプログラムは、対話システム１２０の起動時に、記憶装置３２０内に存在する図示しないＯＳにより、ＣＰＵ３１０に読み込まれて実行される。
【００３６】
対話システム１２０の機能（制御部、推定部など）は、例えば、ＣＰＵ３１０がプログラムを記憶装置３２０に読み出して実行すること（ソフトウェア）により実現されてもよいし、専用の回路などのハードウェアにより実現されてもよいし、ソフトウェアとハードウェアとが組み合わされて実現されてもよい。また、対話システム１２０の機能の一部は、対話システム１２０と通信可能な他のコンピュータにより実現されてもよい。
【００３７】
また、記憶装置３２０は、対話コンテンツＤＢ３２３およびセッション管理ＤＢ３２４を備える。対話コンテンツＤＢ３２３には、想定入力テキスト、現状態ＩＤ、出力テキスト、次状態ＩＤの組からなるレコードがサービス開発者により複数登録されている。セッション管理ＤＢ３２４では、セッションＩＤとセッションＩＤに対応する状態ＩＤとの組からなるレコードを管理する。
【００３８】
対話制御プログラム３２１は、対話エージェント１１０からのテキスト（以下では、入力テキストと適宜称する。）とセッションＩＤとをＮＩＣ３３０を介して受信する。対話制御プログラム３２１は、入力テキストを解析し、対話コンテンツＤＢ３２３を用いて、テキスト（以下では、出力テキストと適宜称する。）を生成し、生成した出力テキストをＮＩＣ３３０を介して対話エージェント１１０に送信する。
【００３９】
また、対話制御プログラム３２１は、セッションＩＤからセッション管理ＤＢ３２４を参照して現状態ＩＤを取得し、対話コンテンツＤＢ３２３において現状態ＩＤが一致し、さらに入力テキストに一番近い想定入力テキストを持つ出力テキストを選択する。また、対話制御プログラム３２１は、同レコードの次状態ＩＤをセッション管理ＤＢ３２４に書き出す。
【００４０】
セッション推定プログラム３２２は、対話エージェント１１０からの入力テキストを「セッション推定モード」として受信する。この場合、セッション推定プログラム３２２は、セッションＩＤからセッション管理ＤＢ３２４を参照して現状態ＩＤを取得し、対話コンテンツＤＢ３２３において現状態ＩＤが一致し、さらに入力テキストに一番近い想定入力テキストを持つ出力テキストを選択する。このときの入力テキストと想定入力テキストとの一致度を推定信頼度とし、最も推定信頼度が高いセッションＩＤとその推定信頼度とを、セッション推定結果として対話エージェント１１０に送信する。入力テキストと想定入力テキストとの一致度を得る方法としては、編集距離に基づく既存技術、ＥｌａｓｔｉｃＳｅａｒｃｈなどのソフトウェアを用いる。
【００４１】
対話システム１２０においては、以上で述べた、セッション管理、単独話者との対話機能などを備えている一般のテキスト対話サービスを用いることができる。このことは、本発明の効果の１つとして挙げられる。
【００４２】
図４は、対話制御プログラム２２３の処理に係るフローチャートの一例を示す図である。
【００４３】
ステップＳ４１０では、対話制御プログラム２２３は、システムを終了するか否かを判定する。対話制御プログラム２２３は、システムを終了すると判定した場合、処理を終了し、システムを終了しないと判定した場合、ステップＳ４２０に処理を移す。
【００４４】
ステップＳ４２０では、対話制御プログラム２２３は、音声認識プログラム２２１から音声認識結果を受信したか否かを判定する。対話制御プログラム２２３は、受信したと判定した場合、ステップＳ４３０に処理を移し、受信していないと判定した場合、ステップＳ４１０に処理を移す。換言するならば、対話制御プログラム２２３は、音声認識プログラム２２１から音声認識結果を受信するまで待機する。なお、音声認識結果には、上述したように、音声が変換されたテキストおよび音源の方向の情報が含まれる。
【００４５】
ステップＳ４３０では、対話制御プログラム２２３は、利用者グループＤＢ２２６を更新する。より具体的には、対話制御プログラム２２３は、音声認識プログラム２２１から音声認識結果を受信すると、利用者グループＤＢ２２６の各利用者ＩＤの方向情報と照合し、最も方向が近い利用者ＩＤを取得する。ここで、取得した方向と音声認識結果の方向との差が一定の閾値を超えた場合、新しい利用者１３０であると判定し、新しい利用者ＩＤを付与し、利用者グループＤＢ２２６を更新する。なお、この際、新しい利用者１３０が属するグループは、不明であるので、対話制御プログラム２２３は、セッションＩＤについては、後述するセッション推定モードのセッション推定結果を受けて登録する。
【００４６】
ステップＳ４４０では、対話制御プログラム２２３は、音声認識結果を対話システム１２０に「セッション推定モード」として送信する。対話システム１２０のセッション推定プログラム３２２は、セッション管理ＤＢ３２４に存在しているすべてのセッションに対して、そのセッションの現状態ＩＤにおいて受信したテキストの一致度から計算される推定信頼度を計算し、最大の推定信頼度とそれを出力したセッションＩＤとをセッション推定結果として出力する。対話制御プログラム２２３は、推定信頼度が一定の閾値以上である場合、セッションＩＤを更新する。他方、対話制御プログラム２２３は、推定信頼度が一定の閾値より低い場合、利用者グループＤＢ２２６の利用者ＩＤのうち最も方向情報が近い利用者ＩＤとの方向の差分が一定の閾値以下である場合、最も方向情報が近い利用者ＩＤと同じグループに属しているとみなし、当該利用者のセッションＩＤを付与する。セッションＩＤが未付与となった場合、新しいセッションＩＤを割り当てる。このように、音声認識結果を受信するごと（発話ごと）に、グループが適切に形成されているかを判定し、利用者グループＤＢ２２６のセッションＩＤを更新する。
【００４７】
ステップＳ４５０では、対話制御プログラム２２３は、音声認識結果とセッションＩＤとを対話システム１２０に送信する。なお、対話システム１２０の対話制御プログラム３２１は、上述したように、出力テキストを生成し、生成した出力テキストを対話エージェント１１０に送信する。
【００４８】
ステップＳ４６０では、対話制御プログラム２２３は、受信した出力テキストを音声合成プログラム２２２に送信する。このとき、出力テキストには、音声合成するテキスト以外にモータ制御情報を含むことができる。その場合、対話制御プログラム２２３は、モータ制御プログラム２２４にモータ制御情報を送信する。
【００４９】
例えば、対話制御プログラム２２３は、対話を行う利用者１３０が属するグループに属する全ての利用者１３０に対して同時または逐次的に出力を行うように、出力テキストを音声合成プログラム２２２に送信する。
【００５０】
また、例えば、対話制御プログラム２２３は、当該セッションＩＤと同じ値を持つすべての利用者の方向情報を利用者グループＤＢ２２６から取得し、各方向情報が示す方向に対話エージェント１１０が対面するようなモータ制御情報をモータ制御プログラム２２４に送信する。より具体的には、対話制御プログラム２２３は、出力テキストから変換される音声の発話区間全体（Ｔ）を方向情報の数（Ｎ）で等分割し、各分割点の時刻（Ｔｎ＝Ｔ・ｎ／Ｎ、ｎ＝１、・・・，Ｎ）に対して対話エージェント１１０全体を回転させるモータ２７０の目標位置を、それぞれの方向に設定する。
【００５１】
図５は、利用者グループＤＢ２２６に係る構成の一例（利用者グループＤＢ５００）を示す図である。
【００５２】
利用者グループＤＢ５００は、利用者ＩＤ、方向情報、およびセッションＩＤを含んで構成されるレコードを複数格納する。対話制御プログラム２２３によりレコードの追加、参照、変更、削除が行われる。
【００５３】
なお、利用者１３０が入れ替わった場合、古いレコードの情報が残っていると正しく動作しないケースがある。その場合、例えば、カメラ２５０などのセンサにより利用者１３０が立ち去ったことを検出した場合、一定時間の情報更新がないなどの状況が発生した場合、対話制御プログラム２２３は、必要に応じてレコードを削除する。
【００５４】
以上により説明した内容で例えば音声対話システムを構成すれば、利用者の位置関係および会話内容に基づいて識別されたグループごとに、対話システムのセッションが自動的に作成され、それぞれの会話が混線することを防止することができる。
【００５５】
本実施の形態によれば、複数人の利用者がいる環境で、単独利用者との対話を想定したシステムを利用することができるので、導入にいたるまでに時間を削減したり、サービス開発コストを大幅に削減したりすることができる。
【００５６】
（２）第２の実施の形態
本実施の形態では、利用者の画像を用いることでグループ化の精度を高めている点が、第１の実施の形態と主に異なる。本実施の形態では、第１の実施の形態と異なる点について主に説明する。
【００５７】
図６は、本実施の形態の対話エージェント１１０に係る構成の一例を示す図である。
【００５８】
記憶装置２２０は、さらに、利用者管理ＤＢ６１０を備える。利用者管理ＤＢ６１０は、利用者１３０の位置および利用者１３０が発話している区間（発話区間）を管理するためのＤＢである。より具体的には、利用者管理ＤＢ６１０は、利用者１３０の位置、利用者１３０の利用者ＩＤ、および発話区間を含んで構成されるレコードを複数格納する。
【００５９】
図７は、本実施の形態の利用者グループ検出プログラム２２５の処理に係るフローチャートの一例を示す図である。
【００６０】
ステップＳ７１０では、利用者グループ検出プログラム２２５は、システムを終了するか否かを判定する。利用者グループ検出プログラム２２５は、システムを終了すると判定した場合、処理を終了し、システムを終了しないと判定した場合、ステップＳ７２０に処理を移す。
【００６１】
ステップＳ７２０では、利用者グループ検出プログラム２２５は、カメラ２５０から画像を取得する。
【００６２】
ステップＳ７３０では、利用者グループ検出プログラム２２５は、画像内の人物および当該人物の位置（利用者１３０および利用者１３０の位置）を検出する。人物の検出には、一般的な顔検出技術、人物検出技術などを用いる。また、利用者グループ検出プログラム２２５は、画像内の人物と利用者管理ＤＢ６１０に登録済みの情報とを用いたトラッキングを行い、画像内の人物の利用者ＩＤを特定する。トラッキングは、画像特徴量、バウンディングボックスの距離に基づく一般的な方法を用いることができる。当てはまる情報が利用者管理ＤＢ６１０にない場合、新規の利用者ＩＤを付与する。
【００６３】
ステップＳ７４０では、利用者グループ検出プログラム２２５は、検出した画像内の人物が発話中であるかどうかを検出する。発話中の検出には、唇の動き検出、顔画像の動き特徴量からの検出、人物画像全体の動き特徴量からの検出などの一般的な手法を用いる。
【００６４】
ステップＳ７５０では、利用者グループ検出プログラム２２５は、検出結果として、利用者１３０の位置、利用者ＩＤ、および発話区間の情報を利用者管理ＤＢ６１０に登録する。
【００６５】
図８は、本実施の形態の対話制御プログラム２２３の処理に係るフローチャートの一例を示す図である。
【００６６】
ステップＳ８１０では、対話制御プログラム２２３は、音声認識結果に対応する音声の発話区間と、利用者管理ＤＢ６１０の発話区間とをマッチさせ（照合し）、一致した利用者管理ＤＢ６１０のレコードに紐付けられた利用者１３０の位置（位置情報）を音声認識結果に対応する音声の方向情報として用いる。または、発話区間が一致した利用者１３０の利用者ＩＤを音声認識結果に対応する音声の利用者ＩＤとして用いる。この場合、一致する利用者ＩＤがないときは、新しい利用者１３０であると判定し、新しい利用者ＩＤを付与し、利用者グループＤＢ２２６を更新する。
【００６７】
なお、音声の発話区間（発話時間）については、音声認識結果に含まれていてもよいし、利用者ＩＤと対応付けられて記憶装置２２０に記憶されていてもよい。
【００６８】
本実施の形態では、発話区間により、音声を発した利用者と画像の利用者との対応付けを行うことで、利用者をより正確に識別でき、グループ化の精度を更に高めることができる。
【００６９】
（３）第３の実施の形態
既存の対話システムでは、単独の利用者との対話を想定しているため、複数人の利用者を前提とした環境で各利用者の音声を認識し、その認識結果を入力すると、想定外の入力に対応できないという事態が生じ得る。本実施の形態によれば、このような事態を回避することができる点が第１の実施の形態と主に異なる。本実施の形態では、第１の実施の形態と異なる点について主に説明する。
【００７０】
図９は、本実施の形態の対話エージェント１１０に係る構成の一例を示す図である。
【００７１】
記憶装置２２０は、さらに、入力変換プログラム９１０および入力変換ルールＤＢ９２０を備える。
【００７２】
図１０は、本実施の形態の対話制御プログラム２２３の処理に係るフローチャートの一例を示す図である。
【００７３】
ステップＳ１０１０では、対話制御プログラム２２３は、音声認識結果を対話システム１２０に送信する前に、音声認識結果が対話エージェント１１０に向けて発話されたものであるか否かを判定する。
【００７４】
より具体的には、対話制御プログラム２２３は、利用者１３０の発話区間においてカメラ２５０から得られた画像から対話エージェント１１０に対する顔または体全体の姿勢を検出し、対話エージェント１１０の方向を向いているかどうかを数値化する。具体的な手法としては、既存の画像処理技術である人物検出、顔検出、姿勢推定などで得られる特徴量を入力とし、数値を出力とする推定器を機械学習したものを用いる。
【００７５】
さらに、対話制御プログラム２２３は、利用者の発話区間において、マイク２４０から得られた音声から対話エージェント１１０に対する発話であるかどうかを数値化する。具体的な手法としては、所定の時間（例えば、２０ミリ秒）ごとの音声区間ごとに、音声の特徴量をフーリエ変換により周波数領域に変換した特徴ベクトルを入力とし、それが時系列で入力されたときに数値を出力する推定器を機械学習したものを用いる。
【００７６】
対話制御プログラム２２３は、両者の数値の平均値が一定の閾値を超えたかどうかで、音声認識結果が対話エージェント１１０に向けて発話されたものか否かを判定する。
【００７７】
対話制御プログラム２２３は、音声認識結果が対話エージェント１１０に向けて発話されたものであると判定した場合、ステップＳ４５０に処理を移し、音声認識結果が対話エージェント１１０に向けて発話されたものでないと判定した場合、ステップＳ１０２０に処理を移す。
【００７８】
ステップＳ１０２０では、対話制御プログラム２２３は、音声認識結果を入力変換プログラム９１０に送信する。かかる入力変換プログラム９１０の処理については、図１１を用いて後述する。対話制御プログラム２２３は、入力変換プログラム９１０から受信する内容（変更されたテキスト）で音声認識結果を上書きする。
【００７９】
図１１は、本実施の形態の入力変換プログラム９１０の処理に係るフローチャートの一例を示す図である。
【００８０】
ステップＳ１１１０では、入力変換プログラム９１０は、システムを終了するか否かを判定する。入力変換プログラム９１０は、システムを終了すると判定した場合、処理を終了し、システムを終了しないと判定した場合、ステップＳ１１２０に処理を移す。
【００８１】
ステップＳ１１２０では、入力変換プログラム９１０は、対話制御プログラム２２３から入力テキストを受信したか否かを判定する。入力変換プログラム９１０は、受信したと判定した場合、ステップＳ１１３０に処理を移し、受信していないと判定した場合、ステップＳ１１１０に処理を移す。
【００８２】
ステップＳ１１３０では、入力変換プログラム９１０は、入力テキストを入力変換ルールＤＢ９２０の各レコードの変換前と照合し、マッチしたレコードに対して変換後のルールで置き換える。例えば、正規表現を用いて変換前および変換後を記載しておくことにより、入力変換プログラム９１０は、入力テキストに現れる特定の表現を別の表現に置き換えることができる。
【００８３】
ステップＳ１１４０では、入力変換プログラム９１０は、変換したテキストを対話制御プログラム２２３に送信する。
【００８４】
図１２は、本実施の形態の入力変換ルールＤＢ９２０に係る構成の一例（入力変換ルールＤＢ１２００）を示す図である。
【００８５】
入力変換ルールＤＢ１２００は、変換前および変換後のレコードを複数保持する。例えば、正規表現を用いて変換前および変換後が記載されている。
【００８６】
以上により説明した内容で音声対話システムを構成すれば、第１の実施の形態の効果に加え、さらに利用者が対話エージェント向けにではなく他の利用者に話した内容についても、それを対話エージェントは対話システムに対してあたかも単独のユーザが連続して入力したテキストであるかのような変換を行って入力することで、単独ユーザとの対話向けに設計されたシステムは、適切な応答を返すことができる。
【００８７】
本実施の形態によれば、適切な応答を返すことができるので、対話が混線してしまう事態を低減することができる。
【００８８】
（４）他の実施の形態
なお上述の実施の形態においては、本発明を複数人対話システムに適用するようにした場合について述べたが、本発明はこれに限らず、この他種々のシステム、装置、方法、プログラムに広く適用することができる。
【００８９】
また上述の実施の形態においては、対話として、発話を例に挙げて述べたが、本発明はこれに限らず、テキストの入力であってもよいし、手話であってもよいし、ジェスチャーであってもよいし、その他の意思表示であってもよい。
【００９０】
また上述の実施の形態においては、音源の場所を示す場所情報（音声の地理的情報）として、音源の方向を例に挙げて述べたが、本発明はこれに限らず、音源の位置、音源の距離などを用いてもよい。
【００９１】
また上述の実施の形態においては、画像内の人物（利用者）の場所を示す場所情報（画像の地理的情報）として、利用者の位置を例に挙げて述べたが、本発明はこれに限らず、利用者の方向、利用者の距離などを用いてもよい。
【００９２】
また上述の実施の形態においては、ステップＳ１０１０において、対話制御プログラム２２３が、両者の数値の平均値が一定の閾値を超えたかどうかで、音声認識結果が対話エージェント１１０に向けて発話されたものか否かを判定する場合について述べたが、本発明はこれに限らず、対話制御プログラム２２３が、何れか一方の数値が一定の閾値を超えたかどうかで、音声認識結果が対話エージェント１１０に向けて発話されたものか否かを判定するようにしてもよい。
【００９３】
また、上述の実施の形態において、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ部によって実行されることで、定められた処理を、適宜に記憶部（例えばメモリ）及び／又はインターフェース部（例えば通信ポート）等を用いながら行うため、処理の主語がプロセッサとされてもよい。プログラムを主語として説明された処理は、プロセッサ部あるいはそのプロセッサ部を有する装置が行う処理としてもよい。また、プロセッサ部は、処理の一部又は全部を行うハードウェア回路（例えばＦＰＧＡ（Field-Programmable Gate Array）またはＡＳＩＣ（Application Specific Integrated Circuit））を含んでもよい。プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な記録媒体（例えば非一時的な記録媒体）であってもよい。また、以下の説明において、２以上のプログラムが１つのプログラムとして実現されてもよいし、１つのプログラムが２以上のプログラムとして実現されてもよい。
【００９４】
また、上述の実施の形態において、各テーブルの構成は一例であり、１つのテーブルは、２以上のテーブルに分割されてもよいし、２以上のテーブルの全部または一部が１つのテーブルであってもよい。
【００９５】
また、上記の説明において、各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記憶装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【００９６】
また、本発明は、例えば、下記の特徴的な構成を有する。
【００９７】
利用者（例えば、利用者１３０）と、上記利用者が属するグループに対応するセッションとが関連付けられた情報（例えば、利用者グループＤＢ２２６、利用者グループＤＢ５００）を記憶する記憶部（例えば、記憶装置２２０）と、利用者の対話（例えば、発話（音声））の内容（例えば、音声波形）を、セッションごとに対話可能な対話システム（例えば、対話システム１２０）の入力形式（例えば、入力テキスト）に変換する入力部（例えば、音声認識プログラム２２１）と、上記入力部により変換された利用者の対話の内容を、上記記憶部に記憶されている情報を用いて上記利用者が属するグループに対応するセッションを指定して上記対話システムに送信し、上記対話システムから返信された上記対話に対する応答（例えば、出力テキスト）を受信する制御部（例えば、対話制御プログラム２２３）と、上記制御部が受信した応答を出力形式（例えば、音声波形）に変換して出力する出力部（例えば、音声合成プログラム２２２）と、を備えることを特徴とする。
【００９８】
上記構成によれば、グループに対応するセッションを指定して利用者の対話の内容を対話システムに送信するので、例えば、複数人の利用者を前提とした環境において、既存の単独の利用者との対話を想定したシステムを用いた場合であっても、対話を混戦させることなく、対話を適切に制御することができる。
【００９９】
上記入力部は、音声を受け付け、上記制御部は、上記入力部により受け付けられた音声が発せられた音源の場所から利用者を識別し、識別した利用者と上記場所を示す場所情報（例えば、利用者グループＤＢ２２６、利用者グループＤＢ５００）とを関連付けて記憶し（例えば、ステップＳ４３０）、記憶している場所情報から、上記入力部により受け付けられた音声を発した利用者の近くに上記音声に係る対話に関係する人がいないと判定した場合、グループを作成し、上記音声を発した利用者と、作成したグループに対応するセッションとを関連付けて上記記憶部に記憶する（例えば、ステップＳ４４０およびステップＳ４５０）、ことを特徴とする。
【０１００】
上記構成によれば、例えば、音声の場所情報より利用者を識別し、グループを作成することができる。
【０１０１】
カメラ（例えば、カメラ２５０）で撮影された画像から利用者を検出する検出部（例えば、利用者グループ検出プログラム２２５）を備え、上記検出部は、上記カメラで撮影された画像から検出した利用者の場所を示す場所情報を生成し、生成した場所情報と、上記利用者とを関連付けて記憶し（例えば、ステップＳ７２０〜ステップＳ７５０）、上記入力部は、音声を受け付け、上記制御部は、上記入力部で受け付けられた音声を発した利用者の場所を示す場所情報から利用者を識別し、識別した利用者の場所の近くに上記音声に係る対話に関係する人がいないと判定した場合、グループを作成し、上記音声を発した利用者と、作成したグループに対応するセッションとを関連付けて上記記憶部に記憶する（例えば、ステップＳ８１０、ステップＳ４４０）、ことを特徴とする。
【０１０２】
上記構成によれば、例えば、画像の場所情報を用いて利用者を識別するので、利用者をより正確に識別でき、グループ化の精度を高めることができる。
【０１０３】
上記検出部は、上記カメラで撮影された画像の利用者から音声が発せられた区間を検出し（例えば、ステップＳ７４０）、上記制御部は、上記入力部により受け付けられた音声が発せられた区間と、上記検出部により画像から検出された区間との一致度に基づいて、上記入力部で受け付けられた音声を発した利用者と、上記カメラで撮影された画像の利用者とを関連付け、上記音声を発した利用者を識別する（例えば、ステップＳ８１０）、ことを特徴とする。
【０１０４】
上記構成によれば、例えば、発話区間により、音声を発した利用者と画像の利用者との対応付けを行うことで、利用者をより正確に識別でき、グループ化の精度を更に高めることができる。
【０１０５】
上記出力部は、上記入力部で受け付けられた対話を行う利用者が属するグループに属する全ての利用者に対して出力を行う（例えば、ステップＳ４６０）、ことを特徴とする。
【０１０６】
上記構成では、例えば、音声を発した利用者が属するグループに属する利用者に向けて出力が行われることで、他のグループが存在していたとしても、対話が混線してしまう事態を回避することができる。
【０１０７】
上記入力部、上記制御部、および上記出力部が設けられる対話エージェント（例えば、対話エージェント１１０）を動作させる動作部（例えば、モータ制御プログラム２２４）を備え、上記動作部は、上記出力部により利用者の対話に対する応答が出力される間、上記利用者が属するグループに属する全ての利用者に対して上記対話エージェントを逐次的に対面させる（例えば、ステップＳ４６０）、ことを特徴とする。
【０１０８】
上記構成では、例えば、利用者が属するグループに属する全ての利用者に対して対話エージェントを逐次的に対面させて出力が行われるので、他のグループの利用者が混じって存在していたとしても、対話が混線してしまう事態を回避できる。
【０１０９】
上記入力部、上記制御部、および上記出力部は、対話エージェント（例えば、対話エージェント１１０）に設けられ、上記入力部で受け付けられた利用者の対話が上記対話エージェントに向けられていない発話の内容を、上記対話エージェントに向けた内容に変換する目的で作成された変換情報（例えば、入力変換ルールＤＢ９２０、入力変換ルールＤＢ１２００）を用いて、上記対話の内容を上記対話エージェントに向けた内容に変換する変換部（例えば、入力変換プログラム９１０）を備え、上記制御部は、上記入力部で受け付けられた利用者の対話が上記対話エージェントに向けた対話でない場合、上記入力部により変換された利用者の対話の内容を上記変換部に送信し、上記変換部により変換された内容を上記対話システムに送信する（例えば、ステップＳ１０１０、ステップＳ１０２０）、ことを特徴とする。
【０１１０】
上記構成では、例えば、人同士の対話については、対話エージェントに向けた内容に変換されるので、対話システムに対して、あたかも一人の人間と話しているように見せることができる。これにより、人同士の対話をそのまま入力してしまうことにより不自然な対話になってしまう事態を回避できる。
【０１１１】
上記入力部は、音声を受け付け、上記変換部は、上記入力部により利用者の音声が受け付けられているとき、上記対話エージェントに対する上記利用者の顔または体全体の姿勢から、上記利用者の音声が上記対話エージェントに向けた音声であるか否かを判定する（例えば、ステップＳ１０１０）、ことを特徴とする。
【０１１２】
上記構成によれば、例えば、既存の画像処理技術を用いて、対話エージェントに向けた発話であるか否かを判定できる。
【０１１３】
上記入力部は、音声を受け付け、上記変換部は、上記入力部により受け付けられた利用者の音声の特徴から、上記利用者の音声が上記対話エージェントに向けた音声であるか否かを判定する（例えば、ステップＳ１０１０）、ことを特徴とする。
【０１１４】
上記構成によれば、例えば、既存の音声処理技術を用いて、対話エージェントに向けた発話であるか否かを判定できる。
【０１１５】
また上述した構成については、本発明の要旨を超えない範囲において、適宜に、変更したり、組み替えたり、組み合わせたり、省略したりしてもよい。
【符号の説明】
【０１１６】
１００……複数人対話システム、１１０……対話エージェント、１２０……対話システム、１３０……利用者。
【図１】
2020154269.tif 000003
【図２】
2020154269.tif 000004
【図３】
2020154269.tif 000005
【図４】
2020154269.tif 000006
【図５】
2020154269.tif 000007
【図６】
2020154269.tif 000008
【図７】
2020154269.tif 000009
【図８】
2020154269.tif 000010
【図９】
2020154269.tif 000011
【図１０】
2020154269.tif 000012
【図１１】
2020154269.tif 000013
【図１２】
2020154269.tif 000014