IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社国際電気通信基礎技術研究所の特許一覧

特開2024-99902情報処理装置、情報処理プログラムおよび情報処理方法
<>
  • 特開-情報処理装置、情報処理プログラムおよび情報処理方法 図1
  • 特開-情報処理装置、情報処理プログラムおよび情報処理方法 図2
  • 特開-情報処理装置、情報処理プログラムおよび情報処理方法 図3
  • 特開-情報処理装置、情報処理プログラムおよび情報処理方法 図4
  • 特開-情報処理装置、情報処理プログラムおよび情報処理方法 図5
  • 特開-情報処理装置、情報処理プログラムおよび情報処理方法 図6
  • 特開-情報処理装置、情報処理プログラムおよび情報処理方法 図7
  • 特開-情報処理装置、情報処理プログラムおよび情報処理方法 図8
  • 特開-情報処理装置、情報処理プログラムおよび情報処理方法 図9
  • 特開-情報処理装置、情報処理プログラムおよび情報処理方法 図10
  • 特開-情報処理装置、情報処理プログラムおよび情報処理方法 図11
  • 特開-情報処理装置、情報処理プログラムおよび情報処理方法 図12
  • 特開-情報処理装置、情報処理プログラムおよび情報処理方法 図13
  • 特開-情報処理装置、情報処理プログラムおよび情報処理方法 図14
  • 特開-情報処理装置、情報処理プログラムおよび情報処理方法 図15
  • 特開-情報処理装置、情報処理プログラムおよび情報処理方法 図16
  • 特開-情報処理装置、情報処理プログラムおよび情報処理方法 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024099902
(43)【公開日】2024-07-26
(54)【発明の名称】情報処理装置、情報処理プログラムおよび情報処理方法
(51)【国際特許分類】
   G10L 25/51 20130101AFI20240719BHJP
   G10L 15/22 20060101ALI20240719BHJP
   G10L 17/00 20130101ALI20240719BHJP
   G10L 15/10 20060101ALI20240719BHJP
   G10L 25/63 20130101ALI20240719BHJP
【FI】
G10L25/51
G10L15/22 300U
G10L17/00 200C
G10L15/10 200W
G10L25/63
G10L15/10 500N
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023003512
(22)【出願日】2023-01-13
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和2年度、国立研究開発法人科学技術振興機構、ムーンショット型研究開発事業「CA基盤構築及び階層的CA連携と操作者割り当ての研究開発」委託研究、産業技術力強化法第17条の適用を受ける特許出願。/ 令和2年度、国立研究開発法人科学技術振興機構、ムーンショット型研究開発事業「利用者モニタリングと経験管理の研究開発」委託研究、産業技術力強化法第17条の適用を受ける特許出願。
(71)【出願人】
【識別番号】393031586
【氏名又は名称】株式会社国際電気通信基礎技術研究所
(74)【代理人】
【識別番号】100090181
【弁理士】
【氏名又は名称】山田 義人
(72)【発明者】
【氏名】太田 陽
(72)【発明者】
【氏名】宮下 敬宏
(72)【発明者】
【氏名】内海 章
(72)【発明者】
【氏名】西村 祥吾
(57)【要約】      (修正有)
【課題】アバターを用いた対話サービスにおける対話のトラブルの原因を容易に究明する方法を提供する。
【解決手段】ネットワーク14によって、サーバ12、操作者端末16及びロボット18が連係する情報処理システム10において、ロボットは、表示装置30に操作者のアバター28を表示し、操作者であるサービスユーザに所定のサービスを提供する。このとき、操作者は、ロボット18を通して対話エージェントと対話する。操作者及び対話エージェントの音声は、サーバを介してロボット又は操作者端末から出力されるとともに、サーバのメインメモリに一時記憶され、トラブルが発生している場合に、一時記憶された所定時間分の操作者及び対話エージェントの音声が履歴DB12aに記憶される。また、履歴DBに記憶される音声については、操作者又は対話エージェントが特定されるとともに、トラブルについての加害者又は被害者が分類される。
【選択図】図1
【特許請求の範囲】
【請求項1】
操作者端末およびロボットがネットワークを介して連係して、前記操作者端末の操作者が、前記ロボットを通して対話エージェントと対話する遠隔対話システムにおける情報処理装置であって、
前記情報処理装置のプロセッサは、
前記操作者の音声を受信してメインメモリに一時記憶するとともに前記ロボットに送信し、
前記対話エージェントの音声を受信して前記メインメモリに一時記憶するとともに前記操作者端末に送信し、
前記メインメモリに一時記憶された所定時間分の前記操作者の音声または前記対話エージェントの音声に基づいてトラブルが発生していることを検出し、
トラブルが発生している場合に、前記メインメモリに一時記憶された所定時間分の前記操作者の音声または/および前記対話エージェントの音声の履歴をデータベースに記憶し、
予め登録してある声紋データを用いて、前記データベースに記憶した音声について前記操作者または/および前記対話エージェントを特定し、
前記データベースに記憶した音声に前記トラブルの発生の原因となる言葉が含まれる場合に、当該音声の話者を加害者に分類し、および
前記データベースに記憶した音声に基づいて悲しみまたは恐れの感情が推定される場合に、当該音声の話者を被害者に分類する、情報処理装置。
【請求項2】
前記プロセッサは、さらに、
前記操作者の画像を受信してメインメモリに一時記憶するとともに前記ロボットに送信し、
前記対話エージェントの画像を受信して前記メインメモリに一時記憶するとともに前記操作者端末に送信し、
前記メインメモリに一時記憶された所定時間分の前記操作者の画像または前記対話エージェントの画像に基づいて前記トラブルが発生しているかどうかを検出する、請求項1記載の情報処理装置。
【請求項3】
前記プロセッサは、前記メインメモリに一時記憶された所定時間分の前記操作者の音声または前記対話エージェントの音声にトラブルの発生の原因となる言葉が含まれている場合に当該トラブルが発生していることを検出する、請求項1記載の情報処理装置。
【請求項4】
前記プロセッサは、前記メインメモリに一時記憶された所定時間分の前記操作者の画像または前記対話エージェントの画像から推定した感情がネガティブな感情である場合に前記トラブルが発生していることを判断する、請求項2記載の情報処理装置。
【請求項5】
操作者端末およびロボットがネットワークを介して連係して、前記操作者端末の操作者が、前記ロボットを通して対話エージェントと対話する遠隔対話システムにおける情報処理装置で実行される情報処理プログラムであって、
前記情報処理装置のプロセッサに、
前記操作者の音声を受信してメインメモリに一時記憶するとともに前記ロボットに送信させ、
前記対話エージェントの音声を受信して前記メインメモリに一時記憶するとともに前記操作者端末に送信させ、
前記メインメモリに一時記憶された所定時間分の前記操作者の音声または前記対話エージェントの音声に基づいてトラブルが発生しているかどうかを判断させ、
トラブルが発生している場合に、前記メインメモリに一時記憶された所定時間分の前記操作者の音声または/および前記対話エージェントの音声の履歴をデータベースに記憶させ、
予め登録してある声紋データを用いて、前記データベースに記憶した音声について前記操作者または/および前記対話エージェントを特定させ、
前記データベースに記憶した音声に前記トラブルの発生の原因となる言葉が含まれる場合に、当該音声の話者を加害者に分類させ、そして
前記データベースに記憶した音声に基づいて悲しみまたは恐れの感情が推定される場合に、当該音声の話者を被害者に分類させる、情報処理プログラム。
【請求項6】
操作者端末およびロボットがネットワークを介して連係して、前記操作者端末の操作者が、前記ロボットを通して対話エージェントと対話する遠隔対話システムにおける情報処理装置の情報処理方法であって、
前記操作者の音声を受信してメインメモリに一時記憶するとともに前記ロボットに送信し、
前記対話エージェントの音声を受信して前記メインメモリに一時記憶するとともに前記操作者端末に送信し、
前記メインメモリに一時記憶された所定時間分の前記操作者の音声または前記対話エージェントの音声に基づいてトラブルが発生しているかどうかを判断し、
トラブルが発生している場合に、前記メインメモリに一時記憶された所定時間分の前記操作者の音声または/および前記対話エージェントの音声の履歴をデータベースに記憶し、
予め登録してある声紋データを用いて、前記データベースに記憶した音声について前記操作者または/および前記対話エージェントを特定し、
前記データベースに記憶した音声に前記トラブルの発生の原因となる言葉が含まれる場合に、当該音声の話者を加害者に分類し、
前記データベースに記憶した音声に基づいて悲しみまたは恐れの感情が推定される場合に、当該音声の話者を被害者に分類する、情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、情報処理装置、制御プログラムおよび制御方法に関し、特にたとえば、操作者のアバターとして機能するロボットを用いた所定のサービスを提供する、情報処理装置、情報処理プログラムおよび情報処理方法に関する。
【背景技術】
【0002】
この種の従来の情報処理装置の一例が特許文献1に開示されている。この特許文献1には、事故発生時における事故原因の究明に有効な情報を記録するロボット用ドライブレコーダ装置が開示される。このロボット用ドライブレコーダ装置は、自ロボットの稼動時の周辺環境を撮像するカメラ、マイクロフォン、ロボットセンサ、各データを記録する記録装置と、自ロボットに接近或いは接触する物体を検出しその検出結果から異常状態にあるか否かを判断するCPUと、ネットワークを介して外部データベースに通信可能な通信部とを備え、CPUが異常状態であると判断したときは、記録装置に記録された各種データを通信部によって外部データベースに送信するものである。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011-699号
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の特許文献1では、事故原因の究明に有効な情報を記録するだけである。操作者が操作者のアバターとして機能するロボットを制御し、ロボットを介して操作者と対話エージェントが対話する場合には、事故のみならず、ヘイトスピーチなどによる対話におけるトラブルが発生することもある。引用文献1では、ロボットの周辺環境の映像および音声を記録するだけであり、対話のトラブルの原因を究明するためには改善の余地がある。
【0005】
それゆえに、この発明の主たる目的は、新規な、情報処理装置、情報処理プログラムおよび情報処理方法を提供することである。
【0006】
また、この発明の他の目的は、アバターを用いた対話におけるトラブルの原因を容易に究明することができる、情報処理装置、情報処理プログラムおよび情報処理方法を提供することである。
【課題を解決するための手段】
【0007】
第1の発明は、操作者端末およびロボットがネットワークを介して連係して、操作者端末の操作者が、ロボットを通して対話エージェントと対話する遠隔対話システムにおける情報処理装置であって、情報処理装置のプロセッサは、操作者の音声を受信してメインメモリに一時記憶するとともにロボットに送信し、対話エージェントの音声を受信してメインメモリに一時記憶するとともに操作者端末に送信し、メインメモリに一時記憶された所定時間分の操作者の音声または対話エージェントの音声に基づいてトラブルが発生していることを検出し、トラブルが発生している場合に、メインメモリに一時記憶された所定時間分の操作者の音声または/および対話エージェントの音声の履歴をデータベースに記憶し、予め登録してある声紋データを用いて、データベースに記憶した音声について操作者または/および対話エージェントを特定し、データベースに記憶した音声にトラブルの発生の原因となる言葉が含まれる場合に、当該音声の話者を加害者に分類し、およびデータベースに記憶した音声に基づいて悲しみまたは恐れの感情が推定される場合に、当該音声の話者を被害者に分類する、情報処理装置である。
【0008】
第2の発明は、第1の発明に従属し、プロセッサは、さらに、操作者の画像を受信してメインメモリに一時記憶するとともにロボットに送信し、対話エージェントの画像を受信してメインメモリに一時記憶するとともに操作者端末に送信し、メインメモリに一時記憶された所定時間分の操作者の画像または対話エージェントの画像に基づいてトラブルが発生しているかどうかを検出する。
【0009】
第3の発明は、第1の発明に従属し、プロセッサは、メインメモリに一時記憶された所定時間分の操作者の音声または対話エージェントの音声にトラブルの発生の原因となる言葉が含まれている場合に当該トラブルが発生していることを検出する。
【0010】
第4の発明は、第2の発明に従属し、プロセッサは、メインメモリに一時記憶された所定時間分の操作者の画像または対話エージェントの画像から推定した感情がネガティブな感情である場合にトラブルが発生していることを判断する。
【0011】
第5の発明は、操作者端末およびロボットがネットワークを介して連係して、操作者端末の操作者が、ロボットを通して対話エージェントと対話する遠隔対話システムにおける情報処理装置で実行される情報処理プログラムであって、情報処理装置のプロセッサに、操作者の音声を受信してメインメモリに一時記憶するとともにロボットに送信させ、対話エージェントの音声を受信してメインメモリに一時記憶するとともに操作者端末に送信させ、メインメモリに一時記憶された所定時間分の操作者の音声または対話エージェントの音声に基づいてトラブルが発生しているかどうかを判断させ、トラブルが発生している場合に、メインメモリに一時記憶された所定時間分の操作者の音声または/および対話エージェントの音声の履歴をデータベースに記憶させ、予め登録してある声紋データを用いて、データベースに記憶した音声について操作者または/および対話エージェントを特定させ、データベースに記憶した音声にトラブルの発生の原因となる言葉が含まれる場合に、当該音声の話者を加害者に分類させ、そしてデータベースに記憶した音声に基づいて悲しみまたは恐れの感情が推定される場合に、当該音声の話者を被害者に分類させる、情報処理プログラムである。
【0012】
第6の発明は、操作者端末およびロボットがネットワークを介して連係して、操作者端末の操作者が、ロボットを通して対話エージェントと対話する遠隔対話システムにおける情報処理装置の情報処理方法であって、操作者の音声を受信してメインメモリに一時記憶するとともにロボットに送信し、対話エージェントの音声を受信してメインメモリに一時記憶するとともに操作者端末に送信し、メインメモリに一時記憶された所定時間分の操作者の音声または対話エージェントの音声に基づいてトラブルが発生しているかどうかを判断し、トラブルが発生している場合に、メインメモリに一時記憶された所定時間分の操作者の音声または/および対話エージェントの音声の履歴をデータベースに記憶し、予め登録してある声紋データを用いて、データベースに記憶した音声について操作者または/および対話エージェントを特定し、データベースに記憶した音声にトラブルの発生の原因となる言葉が含まれる場合に、当該音声の話者を加害者に分類し、データベースに記憶した音声に基づいて悲しみまたは恐れの感情が推定される場合に、当該音声の話者を被害者に分類する、情報処理方法である。
【発明の効果】
【0013】
この発明によれば、アバターを用いた対話におけるトラブルの原因を容易に究明することができる。
【0014】
この発明の上述の目的、その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0015】
図1図1はこの発明の一実施例の情報処理システムを示す図である。
図2図2図1に示すサーバの電気的な構成の一例を示すブロック図である。
図3図3図1に示す操作者端末の電気的な構成の一例を示すブロック図である。
図4図4図1に示すロボットの電気的な構成の一例を示すブロック図である。
図5図5は操作者端末に表示されるUI画面の一例を示す図である。
図6図6は関係者テーブルの一例を示す図である。
図7図7図2に示すサーバのRAMのメモリマップの一例を示す図である。
図8図8図3に示す操作者端末のRAMのメモリマップの一例を示す図である。
図9図9図4に示すロボットのRAMのメモリマップの一例を示す図である。
図10図10図2に示すサーバのCPUの所定のサービスの実行中における送受信処理の一例の一部を示すフロー図である。
図11図11図2に示すサーバのCPUの所定のサービスの実行中における送受信処理の一例の他の一部であって、図10に後続するフロー図である。
図12図12図2に示すサーバのCPUの履歴記憶および関係者情報作成処理の一例の一部を示すフロー図である。
図13図13図2に示すサーバのCPUの履歴記憶および関係者情報作成処理の一例の他の一部であって、図12に後続するフロー図である。
図14図14図3に示した操作者端末のCPUの情報処理の一例の一部を示すフロー図である。
図15図15図3に示した操作者端末のCPUの情報処理の一例の他の一部であって、図14に後続するフロー図である。
図16図16図4に示したロボットのCPUの制御処理の一例の一部を示すフロー図である。
図17図17図4に示したロボットのCPUの制御処理の一例の他の一部であって、図16に後続するフロー図である。
【発明を実施するための形態】
【0016】
図1を参照して、この実施例の情報処理システム10はサーバ12を含み、サーバ12は、ネットワーク14を介して、操作者端末16およびロボット18に通信可能に接続される。
【0017】
操作者端末16は、操作者によって操作され、主として、ロボット18を制御するために使用される。この実施例では、操作者は、サーバ12によって提供されるアバターを用いた所定のサービスを利用する者(サービスユーザ)である。ロボット18は、操作者のアバターとして機能する。この実施例の情報処理システム10では、操作者端末16およびロボット18がネットワーク14を介して連係して、操作者端末16の操作者が、ロボット18を通して、後述する対話エージェントと対話する。
【0018】
所定のサービスは、所定の環境(たとえば、企業のオフィス、店舗、博物館、美術館、水族館または科学館など)に配置されるロボット18を、遠隔に存在する操作者のアバターとして機能させ、アバターすなわちロボット18が所定の環境内を自由に動き回って利用されるサービスである。
【0019】
この場合、操作者は、ロボット18を通して、オフィス内に存在する人間と対話する。また、操作者は、ロボット18を通して、店舗、博物館、美術館、水族館または科学館などに存在する案内人である人間の説明を聞いたり、案内人である人間と対話したりする。つまり、操作者と対話する人間は、操作者の対話相手(すなわち、対話エージェント)である。
【0020】
なお、図1では、1台の操作者端末16および1台のロボット18を示してあるが、実際には、複数の操作者端末16および複数のロボット18が設けられる、操作者が所定のサービスを利用する場合に、サーバ12によって、当該操作者(操作者端末16)に対して1台のロボット18が割り当てられる。以下、1台の操作者端末16および1台のロボット18を用いて説明するが、同じ内容が他の操作者端末16および他のロボット18にも当てはまる。
【0021】
サーバ12は、情報処理装置の一例であり、汎用のサーバを用いることができる。この実施例では、サーバ12は、アバターを用いた所定のサービスを提供するウェブサイトを運営する。履歴データベース(以下、「履歴DB」という)12aおよび辞書データベース(以下「辞書DB」という)12bがサーバ12に接続されている。
【0022】
履歴DB12aは、操作者端末16とロボット18の間で、サーバ12を介して送受信される、対話エージェントおよび操作者の画像データおよび音声データの履歴と、当該履歴に関する情報(後述する、「関係者テーブル」である)を記憶する。
【0023】
関係者テーブル(図6を参照)は、履歴として記憶される音声データに対応する音声の発話者を特定するとともに、その発話者を加害者または被害者として分類した情報である。関係者テーブルについては後で詳細に説明する。
【0024】
辞書DB12bは、音声認識用の辞書データ、トラブルが発生しているかどうかを判断するための特定のワードのデータおよび特定の表情のデータと、対話エージェントの音声データに基づいて対話エージェントを特定するための情報を記憶する。この実施例では、個人の識別情報(個人ID)に対応して声紋データが記憶されている。
【0025】
なお、履歴DB12aおよび辞書DB12bは、サーバ12に内蔵されるHDDに設けてもよいし、ネットワーク14を介して通信可能に設けてもよい。
【0026】
ネットワーク14は、インターネットを含むIP網(または、IPネットワーク)と、このIP網にアクセスするためのアクセス網(または、アクセスネットワーク)とから構成される。アクセス網としては、公衆電話網、携帯電話網、有線LAN、無線LAN、CATV(Cable Television)等を用いることができる。
【0027】
操作者端末16は、サーバ12とは異なる他の情報処理装置であり、一例として、デスクトップ型PCである。他の例では、操作者端末16として、スマートフォン、タブレットPCまたはノート型PCなどの汎用の端末を用いることもできる。
【0028】
ロボット18は、自律行動可能な、いわゆるテレプレゼンス(または、テレイグジステンス)ロボットであり、市販の移動型のロボットを用いることができる。一例として、ロボット18としては、出願人が開発等したロボビー(登録商標)またはDouble Robotics, Incが販売するロボットDouble 3を使用することができる。ただし、ロボット18は、このような特定のロボットに限られることなく、特開2020-004182号に開示されるようなロボットも利用可能である。
【0029】
なお、一例として、ロボット18を自律行動させる方法としては、特開2009-131914号に開示された方法を採用することができる。
【0030】
また、ロボット18は、操作者によって遠隔操作することもできる。この実施例では、基本的には、ロボット18は自律行動し、操作者からの遠隔操作が有る場合に、遠隔操作に従って行動する。ただし、ロボット18は自律行動しないで、操作者の遠隔操作に従ってのみ行動するようにすることもできる。
【0031】
実施例においては、操作者は、操作者端末16を操作して、ロボット18にタスク(動作)を実行させるためのコマンド(以下、「動作コマンド」という)を、サーバ12を介してロボット18に送信する。また、操作者端末16は、操作者の音声をマイク82で検出し、検出した音声を、サーバ12を介してロボット18に送信する。したがって、ロボット18のスピーカ112から操作者の音声が出力される。ただし、操作者の音声は、他のキャラクタの音声に変換されて出力されてもよい。さらに、操作者端末16は、操作者の画像(以下、「操作者画像」という)をカメラ88で撮影し、撮影した操作者画像を、サーバ12を介してロボット18に送信する。この実施例では、操作者画像は、操作者の顔を含む動画像(静止画像でもよい)である。したがって、通常、ロボット18の表示装置30には、操作者の顔画像が表示される。
【0032】
一方、ロボット18は、対話エージェントを含む画像をカメラ122で撮影し、撮影した画像(以下、「ロボット画像」という)を、サーバ12を介して操作者端末16に送信する。したがって、操作者端末16では、ロボット18から見た画像すなわち対話エージェントの画像が表示装置80に表示される。また、ロボット18は、対話エージェントの音声を含む周囲の音をマイク110で検出し、検出した音声を、サーバ12を介して操作者端末16に送信する。したがって、操作者端末16のスピーカ112から対話エージェントの音声を含む音が出力される。
【0033】
したがって、操作者は、対話エージェントの顔を見ながら対話したり、環境を見ながらロボット18を操作したりすることができる。
【0034】
また、ロボット18は、ベース20を含み、このベース20の正面には移動用センサの1つである超音波センサ22が設けられる。このベース20の両端には車輪(左車輪)24Lおよび車輪(右車輪)24Rが回転自在に設けられる。
【0035】
ベース20の上面には、上方に延びるポール26が設けられ、そのポール26の上端には、操作者の画像(たとえば、顔画像)28を表示することができる、表示装置30が設けられる。
【0036】
なお、この表示装置30には、タッチパネル、カメラ、マイクおよびスピーカ等が設けられるが、詳細は図4に示すブロック図を参照して説明する。また、このロボット18は、バッテリ駆動型のロボットであり、バッテリはたとえばポール26の中に収容されている。
【0037】
図2図1に示したサーバ12の電気的な構成を示すブロック図である。図2に示すように、サーバ12はCPU50を含み、CPU50は、内部バスを介して、RAM52、通信部54および入出力インタフェース(以下、「入出力I/F」という)56に接続される。
【0038】
CPU50は、サーバ12の全体的な制御を司る。ただし、CPU50に代えて、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)を設けてもよい。RAM52は、サーバ12の主記憶装置(メインメモリ)であり、CPU50のワーク領域およびバッファ領域として用いられる。
【0039】
図示は省略するが、サーバ12は、HDDおよびROMのような補助記憶装置も備える。ただし、HDDおよびROMに代えて、または、HDDおよびROMに加えて、SSD等の不揮発性メモリが使用されてもよい。
【0040】
通信部54は、CPU50の制御の下、ネットワーク14を介して、操作者端末16およびロボット18などの外部のコンピュータとの間で、制御信号(動作コマンドを含む)およびデータの送受信を行う。ただし、通信部54としては、有線LANのみならず、無線LANまたはBluetooth(登録商標)等を使用することもできる。
【0041】
入出力I/F56には、入力装置58および表示装置60が接続されている。入力装置58として、キーボードおよびコンピュータマウスが用いられる。表示装置60は、LCDまたは有機ELディスプレイである。
【0042】
入出力I/F56は、入力装置58から入力された操作データ(または、操作情報)をCPU50に出力するとともに、CPU50によって生成された画像データを表示装置60に出力して、画像データに対応する画面を表示装置60に表示させる。
【0043】
なお、図2に示すサーバ12の電気的な構成は一例であり、限定される必要はない。
【0044】
図3図1に示した操作者端末16の電気的な構成を示すブロック図である。図3に示すように、操作者端末16はCPU70を含み、CPU70は、内部バスを介して、RAM72、通信部74および入出力I/F76に接続される。
【0045】
CPU70は、操作者端末16の全体的な制御を司る。ただし、CPU70に代えて、CPU機能、GPU機能等の複数の機能を含むSoCを設けてもよい。RAM72は、操作者端末16の主記憶装置であり、CPU70のワーク領域およびバッファ領域として用いられる。
【0046】
図示は省略するが、操作者端末16は、HDDおよびROMのような補助記憶装置も備える。ただし、HDDおよびROMに代えて、または、HDDおよびROMに加えて、SSD等の不揮発性メモリが使用されてもよい。
【0047】
通信部74は、CPU70の制御の下、ネットワーク14を介して、サーバ12およびロボット18などの外部のコンピュータとの間で、制御信号(動作コマンドを含む)およびデータの送受信を行う。ただし、通信部74としては、有線LANのみならず、無線LANまたはBluetooth(登録商標)等を使用することもできる。
【0048】
入出力I/F76には、入力装置78および表示装置80、マイク82およびスピーカ84が接続されている。入力装置78として、キーボードおよびコンピュータマウスが用いられる。さらに、タッチパネルが設けられる場合もある。表示装置80は、LCDまたは有機ELディスプレイである。
【0049】
ただし、操作者端末16として、スマートフォンが用いられる場合には、入力装置78は、タッチパネルおよびハードウェアのボタンである。タッチパネルは、汎用のタッチパネルであり、静電容量方式、電磁誘導方式、抵抗膜方式、赤外線方式など、任意の方式のものを用いることができる。
【0050】
入出力I/F76は、マイク82で検出された操作者の音声をデジタルの音声データ(以下、「操作者音声データ」という)に変換してCPU70に出力するとともに、CPU70によって出力される音声データをアナログの音声信号に変換してスピーカ84から出力させる。ただし、実施例では、CPU50から出力される音声データは、サーバ12を介してロボット18から受信した音声データ(以下、「ロボット音声データ」という)である。また、入出力I/F76は、入力装置78から入力された操作データ(または、操作情報)をCPU70に出力するとともに、CPU70によって生成された画像データを表示装置80に出力して、画像データに対応する画面または画像を表示装置80に表示させる。ただし、この実施例では、表示装置80に表示されるUI画面200(図5参照)には、サーバ12を介してロボット18から受信したロボット画像データも出力される。ただし、ロボット画像データは、ロボット18のカメラ122で撮影された画像(動画像または静止画像)の画像データである。
【0051】
また、操作者端末16は、センサI/F86およびカメラ88を備えている。CPU70は、バスおよびセンサI/F86を介してカメラ88に接続される。カメラ88は、CCDまたはCMOSのような撮像素子を用いたカメラである。図示は省略するが、カメラ88は、表示装置80の近傍に設けられ、表示装置80の前方の所定範囲(画角で決まる範囲)を撮影する。したがって、カメラ88は、表示装置80に対面する操作者を撮影する。
【0052】
なお、図3に示す操作者端末16の電気的な構成は一例であり、限定される必要はない。
【0053】
また、操作者端末16がスマートフォンである場合には、携帯電話通信網、または、携帯電話網および公衆電話網を介して、通話するための通話回路を備えるが、この実施例では、そのような通話は行わないため、図示は省略してある。
【0054】
図4図1に示したロボット18の電気的な構成を示すブロック図である。図4に示すように、ロボット18はCPU100を含み、CPU100は、内部バスを介して、RAM102、通信部104および入出力I/F106に接続される。
【0055】
CPU100は、ロボット18の全体的な制御を司る。ただし、CPU100に代えて、CPU機能、GPU機能等の複数の機能を含むSoCを設けてもよい。RAM52は、操作者端末16の主記憶装置であり、CPU100のワーク領域およびバッファ領域として用いられる。
【0056】
図示は省略するが、ロボット18は、HDDおよびROMのような補助記憶装置も備える。ただし、HDDおよびROMに代えて、または、HDDおよびROMに加えて、SSD等の不揮発性メモリが使用されてもよい。
【0057】
通信部104は、CPU100の制御の下、ネットワーク14を介して、サーバ12および操作者端末16などの外部のコンピュータとの間で、制御信号(動作コマンドを含む)およびデータの送受信を行う。ただし、通信部104としては、無線LANまたはBluetooth(登録商標)等を使用することができる。
【0058】
入出力I/F106には、入力装置108および表示装置30、マイク110およびスピーカ112が接続されている。入力装置108として、緊急停止用のハードウェアのボタンなどが設けられる。さらに、入力装置108として、表示装置30の表示面に重ねてタッチパネルが設けられる。表示装置30は、LCDまたは有機ELディスプレイである。一例として、タッチパネルは、汎用のタッチパネルであり、静電容量方式、電磁誘導方式、抵抗膜方式、赤外線方式など、任意の方式のものを用いることができる。
【0059】
入出力I/F106は、マイク110で検出された対話エージェントの音声をデジタルの音声データに変換してCPU100に出力するとともに、CPU100によって出力される音声データをアナログの音声信号に変換してスピーカ112から出力させる。ただし、実施例では、CPU100から出力される音声データは、サーバ12を介して操作者端末16から受信した操作者音声データである。また、入出力I/F106は、入力装置108から入力された操作データ(または、操作情報)をCPU100に出力するとともに、CPU100によって生成(または、出力)された画像データを表示装置30に出力して、画像データに対応する画面または画像を表示装置30に表示させる。ただし、この実施例では、表示装置30には、サーバ12を介して操作者端末16から受信した操作者画像データが出力される。つまり、操作者の顔画像が表示装置30に表示される。ただし、操作者の顔画像に代えて、操作者に対応するキャラクタの顔画像が表示装置30に表示されてもよい。
【0060】
また、ロボット18は、モータドライバ114を備え、モータドライバ114はバスを介してCPU100に接続される。モータドライバ114は、CPU100の命令に従って、ロボット18の右車輪24Rを回転させる右車輪モータ116の駆動を制御するとともに、ロボット18の左車輪24Lを回転させる左車輪モータ118の駆動を制御する。
【0061】
また、ロボット18は、センサI/F120、カメラ122、レーザ距離計(LRF)124、LRF126、超音波センサ22および慣性計測ユニット128を備えている。
【0062】
CPU100は、バスおよびセンサI/F120を介して、カメラ122、LRF124、LRF126、超音波センサ22および慣性計測ユニット128にそれぞれ接続される。
【0063】
カメラ122は、CCDまたはCMOSのような撮像素子を用いたカメラである。図1では省略したが、カメラ122は、表示装置30の上端部または下端部に設けられ、ロボット18の前方の所定範囲(画角で決まる範囲)を撮影する。したがって、カメラ122は、ロボット18に対面し、ロボット18を通して操作者と対話する対話エージェントまたは/およびロボット18が配置されたり移動したりする環境を撮影する。
【0064】
LRF124は、一般に、レーザ光を照射し、それが対象(物体や人体など)で反射して戻ってくるまでの時間から距離を計測する。この実施例のLRF124(後述する、LRF126も同じ)は、軸の周りをたとえば±45度の範囲で回転するミラー(図示せず)を含み、レーザ光の進路をこの回転ミラーでたとえば0.6度ずつ変化させながら計測を行う(レーザ光でスキャンする)ことができる。以下では、LRF124によってレーザ光でスキャン(走査)される平面をスキャン面と呼ぶ。また、LRF124で計測可能な距離は、レーザ光が人間の目に影響を与えないよう、所定距離R(たとえば15m)以下に制限されている。このため、LRF124の計測領域(すなわち、スキャン面)は、たとえば扇形、つまり所定距離Rの半径で中心角90度の扇形となる。なお、スキャン面(扇形)の中心角は90度とは限らず、たとえば180度や360度などでもよい。
【0065】
この実施例では、LRF124は、特定の人間を追跡するためなどの目的で設けられるものである。LRF126は、このロボット18の自律移動のためのものである。LRF124は、LRF126と兼用されてもよい。つまり、ロボット18の移動中と、ロボット18の移動を停止してアバター28による対話中とで、1つのLRFを使い分けるようにしてもよい。
【0066】
ロボット18は、LRF124の出力に基づいて、ロボット18またはLRF124に対する対象物までの距離および向きを検出することができる。したがって、ロボット18は、検出した自身の現在位置と、LRF124を用いて検出される対象物までの距離および向きに基づいて、対象物の現在位置を検出(算出)することができる。
【0067】
また、ロボット18は、LRF126の出力に基づいて、SLAM(Simultaneous Localization and Mapping)により、ロボット18が移動する環境の地図を作成するとともに、作成する環境の地図内における現在位置を推定し、それらに基づいて自身のナビゲーションを行う。この実施例では、LRF126は水平方向における障害物との距離を計測するため、ロボット18の周辺の障害物についての2次元の地図が作成される。したがって、ロボット18が作成する環境の地図は、ロボット18(LRF126)を真上方向から見た2次元の地図である。以下、ロボット18が作成する環境の地図を「作成地図」と呼ぶことにする。また、ロボット18は、自身が配置される環境について予め作成された環境の地図(この実施例では、「設定地図」)を記憶している。作成地図における原点と設定地図における原点を合わせるとともに、作成地図における方位と設定地図における方位を合わせておくことにより、設定地図(または、作成地図)におけるロボット18の現在位置が推定される。
【0068】
超音波センサ22は、超音波を用いた汎用の距離センサである。超音波センサ22は、ロボット18の前方に存在する対象物(人間または物)までの距離を計測する。一例として、超音波センサ22の水平方向における検知範囲は10度-45度であり、計測可能な距離は5m-15mである。上記のとおり、LRF128が設けられるため、超音波センサ22は設けなくてもよい。
【0069】
慣性計測ユニット128は3次元の慣性運動(直交3軸方向の並進運動および回転運動)を検出する装置であって、加速度センサによって並進運動を検出し、角速度(ジャイロ)センサによって回転運動を検出する。
【0070】
なお、図4に示すロボット18の電気的な構成は一例であり、限定される必要はない。
【0071】
上述したように、ロボット18は、自律行動可能であり、配置された環境において予め決定されたスタート地点(移動開始地点)からゴール地点(目標地点)まで経路探索を行いながら移動することができる。ただし、スタート地点とゴール地点の間に、1または複数の経由地点が設定されてもよい。また、経路探索の方法としては、標準的な方法、すなわち、ウォーシャルフロイド法、ダイクストラ法、A*アルゴリズム、ポテンシャル法、RRT (Rapidly exploring Random Tree)などを用いることができる。スタート地点、ゴール地点および1または複数の経由地点は、サーバ12の管理者または操作者によって予め指定されている。
【0072】
また、ロボット18は、操作者の遠隔操作に従って、配置された環境において自由に移動することも可能である。操作者端末16でロボット18の移動等を操作することは既に周知であり、ここではその遠隔操作についての詳細な説明は省略する。
【0073】
図5に示すUI画面200は、ロボット18を遠隔操作するための画面である。UI画面200には、表示領域202、204および206が設けられる。表示領域202は、ロボット18に設けられたカメラ124で撮影された映像(動画像または静止画像)を表示するための領域である。
【0074】
表示領域204は、ロボット18の移動を制御するコマンド(すなわち、「動作コマンド」という)を入力するための複数のボタンを表示する。この実施例では、表示領域204には、ボタン210、212、214、216および218が表示される。ボタン210は、ロボット18を前進させるためのボタンである。ボタン212は、ロボット18を左折または左旋回させるためのボタンである。ボタン214は、ロボット18を右折または右旋回させるためのボタンである。ボタン216は、ロボット18を停止させるためのボタンである。ボタン218は、ロボット18を後進させるためのボタンである。
【0075】
詳細な説明は省略するが、ボタン210またはボタン218がオンされている状態で、ボタン212がオンされと、ロボット18は前進または後進しながら左に曲がる。また、ボタン210またはボタン218がオンされている状態で、ボタン214がオンされると、ロボット18は前進または後進しながら右に曲がる。ロボット18が停止している状態で、ボタン212がオンされると、ロボット18は反時計回りに進行方向を変える。また、ロボット18が停止している状態で、ボタン214がオンされると、ロボット18は時計回りに進行方向を変える。
【0076】
表示領域206は、ロボット18の行動を制御する動作コマンドを入力するための複数のボタンを表示する。この実施例では、表示領域206には、ボタン220、222および224が表示される。ボタン220は、ロボット18を頷かせるためのボタンである。ボタン222は、ロボット18に首を振らせるためのボタンである。ボタン224は、ロボット18にお辞儀させるためのボタンである。
【0077】
なお、詳細な説明は省略するが、ロボット18は、表示装置30を前方に傾けた後に元の位置に戻すことで、頷く。また、ロボット18は、表示装置30を左および右に10度から15度ずつ回動させ、これを2回繰り返すことで、首を振る。さらに、ロボット18は、右車輪24Rおよび左車輪24Lを前方に10度から20度回動した後に元の位置に戻すことにより、ポール26および表示装置30を前に10度から20度傾けた後に直立した状態に戻すことで、お辞儀する。
【0078】
図1および図4では省略するが、ロボット18は、少なくとも、表示装置30の表示面を前後および左右に回転させる機構を備えている。さらに、ロボット18は、表示装置30の表示面を左右に傾ける機構を備えていてもよい。
【0079】
また、図5に示したロボット18を制御する動作コマンドは一例であり、使用するロボット18が備える機能に応じて適宜変更および設定可能である。この実施例では、動作コマンドもまた、操作者端末16からサーバ12を介してロボット18に送信される。
【0080】
ロボット18が自律行動する場合および遠隔操作で移動等する場合のいずれの場合にも、上述したように、ロボット18から送信されるロボット画像データおよびロボット音声データがサーバ12を介して操作者端末16で受信され、操作者端末16でロボット画像データおよびロボット音声データが出力されることにより、操作者は、ロボット18の周囲を見たり、ロボット18の周囲の状況を把握したり、ロボット18の表示装置30に対面している対話エージェントと対話したりすることができる。
【0081】
ただし、ロボット画像データおよびロボット音声データには、ロボット18の識別情報(ロボットID)が付加されている。したがって、サーバ12は、ロボット画像データおよびロボット音声データに付加されたロボットIDから当該ロボットIDを付与されたロボット18を特定するとともに、当該ロボット18を操作する操作者を特定する。
【0082】
同様に、操作者画像データおよび操作者音声データには、操作者の識別情報(操作者ID)が付加されている。したがって、サーバ12は、操作者画像データおよび操作者音声データに付加された操作者IDから操作者を特定する。
【0083】
サーバ12では、ロボット18と操作者を特定することで、画像データおよび音声データをRAM52に記憶する場合に、対話中の対話エージェントおよび操作者についての画像データを1の領域に記憶するとともに、対話中の対話エージェントおよび操作者についての音声データを他の1の領域に記憶し、それらの画像データおよび音声データをまとめた履歴として履歴DB12aに記録することができる。ただし、対話中の対話エージェントの画像データおよび音声データは、特定されたロボット18から送信されるロボット画像データおよびロボット音声データである。
【0084】
この実施例では、上述したように、サーバ12は、操作者すなわちサービスユーザが所定のサービスを利用する場合に、対話エージェントと操作者は対話する。つまり、所定のサービスは、対話エージェントと操作者がロボット18を介して対話するサービス(対話サービス)を含む。また、サーバ12は、対話エージェントと操作者の対話の履歴を履歴DB12aに記憶する。
【0085】
一例として、対話の履歴は対話エージェントと操作者の間でトラブルが発生した場合に、トラブルの原因となる者つまり加害者とその被害者を特定するために記録される。
【0086】
ただし、すべての対話の履歴を記憶した場合には、データ量が膨大になってしまう。また、トラブルが発生している場合の対話をすべての対話の履歴から探し出すのは困難である。
【0087】
したがって、この実施例では、第1所定時間分の画像データおよび音声データに基づいてトラブルが発生していることが判断された場合に、この第1所定時間分の画像データおよび音声データすなわち対話の履歴を記憶し、トラブルが発生していることが判断されない場合には、この第1所定時間分の画像データおよび音声データすなわち対話の履歴を記憶しない。
【0088】
したがって、この実施例では、サーバ12のRAM52には、第1所定時間(たとえば、5分)分の音声データおよび画像データを記憶する領域が設けられており、トラブルが発生していることが判断されると、第1所定時間分の音声データと画像データが履歴として履歴DB12aに記憶される。このとき、履歴として記憶される音声データと画像データに対応する話者すなわち対話の関係者が特定され、特定された関係者について加害者または被害者が判断される。
【0089】
ただし、第1所定時間分の音声データおよび画像データをRAM52に記憶するため、対話エージェントのみまたは操作者のみの音声データが履歴として記憶される場合もある。
【0090】
関係者は、この実施例では、対話エージェントおよび操作者であり、操作者は操作者画像データおよび操作者音声データに付加された操作者IDによって特定される。対話エージェントは、操作者が操作するロボット18から受信したロボット音声データの声紋を予め登録されている対話エージェントの声紋と照合することで特定される。
【0091】
なお、ロボット18に対応して対話エージェントが予め設定されている場合には、操作者が操作するロボット18を特定することで対話エージェントを特定することもできる。
【0092】
この実施例では、トラブルが発生しているかどうかは、対話の中に特定のワードが含まれているかどうか、または/および、話者の感情が特定の感情であるかどうかで判断される。特定のワードおよび特定の感情は予め情報処理システム10またはサーバ12の管理者等によって決定され、そのデータが辞書DB12bに登録されている。特定のワードは、人を馬鹿にしたり、卑下したりする言葉である。特定の感情は、ネガティブな感情であり、この実施例では、怒り、嫌悪、恐怖および悲しみである。
【0093】
対話中に特定のワードが含まれている、または/および、話者の感情が特定の感情であることが判断されると、トラブルが発生していることが判断される。
【0094】
特定のワードが含まれるかどうかは次のように判断される。検出した音声データが音声認識され、音声認識された音声が辞書DB12bに記憶された特定のワードを含むかどうかで判断される。音声認識については周知であるため、詳細な説明は省略する。
【0095】
特定の感情であるかどうかは次のように判断される。検出した画像データに含まれる顔画像から感情が推定され、推定された感情が辞書DB12bに記憶された特定の感情であるかどうかで判断される。
【0096】
顔画像から人間の感情を推定する手法としては、公知の技術を用いることができる。たとえば、「小林 宏、原 文雄:ニューラルネットワークによる人の基本表情認識、計測自動制御学会論文集 Vol.29, No.1, 112/118(1993)」、「小谷中陽介、本間経康、酒井正夫、阿部健一:ニューラルネットワークを用いた顔表情認識、東北大医保健学科紀要 13(1):23~32, 2004」および「西銘 大喜、遠藤 聡志、當間 愛晃、山田 孝治、赤嶺 有平:畳み込みニューラルネットワークを用いた表情表現の獲得と顔特徴量の分析、人工知能学会論文誌 32巻5号FZ(2017年)」などに開示された技術を用いることができる。
【0097】
また、他の公知の技術では、顔画像から抽出した特徴点に基づいて人間の感情を推定する手法としては、特開2020-163660号公報に開示された技術を用いることもできる。
【0098】
また、音声から人間の感情を推定することもできる。音声から人間の感情を推定する手法としては、公知の技術を用いることができる。たとえば、特開2021-12285号および「森 大毅:音声から感情・態度の理解、電子情報通信学会誌 Vol. 101, No. 9, 2018」などに開示された技術を用いることができる。
【0099】
ただし、顔画像または音声に基づいて感情を推定する手法として公知の技術を用いる場合には、そのために必要な回路コンポーネントおよびデータが適宜サーバ12に設けられる。ただし、顔画像または音声に基づいて感情を推定する装置(以下、「推定装置」という)をクラウド上に設けて、推定装置に顔画像または音声を送信し、感情の推定結果を推定装置から受け取るようにしてもよい。
【0100】
図6は関係者テーブルの一例を示す図である。トラブルが発生していることが判断された場合に、関係者テーブルが作成される。関係者テーブルは、当該トラブルの関係者すなわち加害者または被害者を特定および分類した情報である。具体的には、関係者テーブルは、トラブルIDに対応して、発話開始時刻、発話終了時刻、発話者IDおよび分類が記載される。トラブルIDは、トラブルが発生していることが判断された第1所定時間分の音声データおよび画像データ毎にサーバ12によって割り当てられる識別情報であり、一例として、8桁の数字で表される。発話開始時刻は、話者が発話を開始した時刻であり、西暦、年月日および時分秒の情報である。図6に示す例では、西暦および年月日を示す数字がアンダーバーの左側に記載され、時分秒を示す数字がアンダーバーの右側に記載される。このことは、発話終了時刻も同じである。発話終了時刻は、話者が発話を終了した時刻であり、西暦、年月日および時分秒の情報である。発話者IDは、話者の識別情報であり、複数のアルファベットの文字列で表される。発話者IDは、各対話エージェントおよび各操作者に個別に予め割り当てられているIDである。一例として、対話エージェントには、「DA」で始まるIDが割り当てられており、操作者には、「OP」で始まるIDが割り当てられている。分類は、トラブルの関係者が加害者または被害者であるかの別を示す。
【0101】
発話開始時刻および発話終了時刻は、音声を検出した装置、この実施例では、操作者端末16およびロボット18において付加される。したがって、図示は省略したが、操作者端末16およびロボット18には、RTCのような時計回路が設けられている。
【0102】
上述したように、対話エージェントのIDは予め割り当てられており、対話エージェントのIDに対応して、対話エージェントの名称および声紋データがそれぞれ辞書DB12bに記憶されている。
【0103】
なお、操作者も声紋データを用いて特定する場合には、操作者のIDに対応して、操作者の名称および声紋データがそれぞれ辞書DB12bに記憶される。
【0104】
発話に、上述したようなトラブルの発生の原因となる特定のワードが含まれている場合には、当該発話の話者は加害者として分類される。一方、発話した話者の感情が特定の感情のうちの悲しみまたは恐れの感情である場合には、当該話者は被害者として分類される。
【0105】
図7はサーバ12に内蔵されるRAM52のメモリマップ400の一例を示す。図7に示すように、RAM52は、プログラム記憶領域402およびデータ記憶領域404を含む。プログラム記憶領域402には、この実施例のサーバ12で実行される情報処理プログラムが記憶されている。
【0106】
情報処理プログラムは、通信プログラム402a、トラブル検出プログラム402b、履歴記憶プログラム402cおよび関係者情報作成プログラム402dなどを含む。
【0107】
通信プログラム402aは、外部の機器、この実施例では、操作者端末16およびロボット18とネットワーク14を介して通信(データの送信および受信)するためのプログラムである。
【0108】
トラブル検出プログラム402bは、対話エージェントと操作者の対話においてトラブルが発生しているかどうかを検出するためのプログラムである。この実施例では、対話に特定のワードが含まれていることが判断されるとともに、話者が特定の感情であることが判断され、これらの判断結果で、トラブルが発生しているかどうかが検出される。
【0109】
履歴記憶プログラム402cは、トラブル検出プログラム402bに従ってトラブルが発生していることが検出された場合に、そのトラブルが発生している期間における履歴を記憶するためのプログラムである。
【0110】
関係者情報作成プログラム402dは、トラブル検出プログラム402bに従ってトラブルが発生していることが検出された場合に、そのトラブルの関係者を特定および分類して、図6に示したような関係者テーブル(後述する、関係者データ404f)を作成するためのプログラムである。
【0111】
図示は省略するが、プログラム記憶領域402には、サーバ12のオペレーティングシステムおよびミドルウェアとは別に所定のサービスを提供するために必要な他のプログラムも記憶される。
【0112】
また、データ記憶領域404には、ロボット画像データ404a、ロボット音声データ404b、操作者画像データ404c、操作者音声データ404d、動作コマンドデータ404eおよび関係者データ404fなどが記憶される。
【0113】
ロボット画像データ404aは、ロボット18に設けられたカメラ124で撮影され、ロボット18から受信したカメラ画像のデータである。
【0114】
ロボット音声データ404bは、ロボット18に設けられたマイク110で検出され、ロボット18から受信した音声のデータである。この音声には、対話エージェントの音声が含まれる。
【0115】
操作者画像データ404cは、操作者端末16に設けられたカメラ88で撮影され、操作者端末16から受信した操作者の画像のデータである。
【0116】
操作者音声データ404dは、操作者端末16に設けられたマイク82で検出され、操作者端末16から受信した音声のデータである。この音声は、基本的には、操作者の音声である。
【0117】
ロボット画像データ404a、ロボット音声データ404b、操作者画像データ404cおよび操作者音声データ404dは、それぞれ、第1所定時間(この実施例では、5分)分をRAM52のデータ記憶領域404に記憶可能であり、第1所定時間毎に、対話エージェントと操作者との間にトラブルが発生しているかどうかが検出される。
【0118】
トラブルが発生していることが検出された場合には、第1所定時間分のロボット画像データ404a、ロボット音声データ404b、操作者画像データ404cおよび操作者音声データ404dが履歴DB12aに記憶され、RAM52から消去される。
【0119】
トラブルが発生していることが検出されない場合には、第1所定時間分のロボット画像データ404a、ロボット音声データ404b、操作者画像データ404cおよび操作者音声データ404dがRAM52から消去される。
【0120】
動作コマンドデータ404eは、サーバ12から受信した、操作者の操作による動作コマンドのデータである。動作コマンドデータ404eは、ロボット18に送信された後にRAM52から消去される。
【0121】
関係者データ404fは、トラブルの関係者を特定するとともに、各関係者について加害者または被害者を分類したデータであって、この実施例では、図6に示した関係者テーブルについてのデータである。関係者データ404fは、履歴DB12aに記憶された後にRAM52から消去される。
【0122】
図示は省略するが、データ記憶領域404には、情報処理を実行するために必要な他のデータが記憶されたり、情報処理を実行するために必要なタイマ(カウンタ)およびフラグが設けられたりする。
【0123】
図8は操作者端末16に内蔵されるRAM72のメモリマップ500の一例を示す。図8に示すように、RAM72は、プログラム記憶領域502およびデータ記憶領域504を含む。プログラム記憶領域502には、この実施例の操作者端末16で実行される情報処理プログラムが記憶されている。
【0124】
情報処理プログラムは、通信プログラム502a、操作検出プログラム502b、撮影画像取得プログラム502c、画像表示プログラム502d、音検出プログラム502eおよび音出力プログラム502fなどを含む。
【0125】
通信プログラム502aは、外部の機器、この実施例では、サーバ12およびロボット18と有線または無線で通信(データの送信および受信)するためのプログラムである。
【0126】
操作検出プログラム502bは、操作者の操作に従って入力装置78から入力される操作データを検出し、データ記憶領域504に記憶するためのプログラムである。ただし、UI画面200に設けられたボタン210-224が操作された場合には、操作されたボタン210-224に割り当てられた操作情報(動作コマンドを含む)のデータが操作データとして検出される。
【0127】
撮影画像取得プログラム502cは、カメラ88で撮影された操作者画像データ504eを取得し、取得した操作者画像データ504eをデータ記憶領域504に記憶するためのプログラムである。
【0128】
画像表示プログラム502dは、UI画面200の表示画像データを生成し、生成した表示画像データを表示装置80に出力するためのプログラムである。UI画面200の表示画像データには、サーバ12から受信したロボット画像データ504cも含まれる。
【0129】
音検出プログラム502eは、マイク82から入力される操作者の音声を検出し、検出した音声に対応する操作者音声データ504fをデータ記憶領域504に記憶するためのプログラムである。
【0130】
音出力プログラム502fは、サーバ12から受信したロボット音声データ504dをスピーカ84に出力するためのプログラムである。また、音出力プログラム502fは、音検出プログラム502eで検出した操作者音声データ504fをサーバ12に送信(または、出力)するためのプログラムでもある。このとき、通信プログラム502aも実行される。
【0131】
図示は省略するが、プログラム記憶領域502には、操作者端末16のオペレーティングシステム、任意のミドルウェアおよび任意のアプリケーションを実行するためのプログラムも記憶される。
【0132】
また、データ記憶領域504には、操作データ504a、UI画面データ504b、ロボット画像データ504c、ロボット音声データ504d、操作者画像データ504eおよび操作者音声データ504fなどが記憶される。
【0133】
操作データ504aは、操作検出プログラム502bに従って検出された操作データである。操作データ504aは、サーバ12に送信されたり、操作者端末16の処理に利用されたりした後に消去される。
【0134】
UI画面データ504bは、図5に示したUI画面200を表示するための画像データである。
【0135】
ロボット画像データ504cは、サーバ12から受信したロボット画像データである。ロボット画像データ504cは、CPU70の処理に使用された後に消去される。
【0136】
ロボット音声データ504dは、サーバ12から受信したロボット音声データである。ロボット音声データ504dは、CPU70の処理に使用された後に消去される。
【0137】
操作者画像データ504eは、カメラ88から取得した撮影画像データであり、サーバ12に送信された後に消去される。
【0138】
操作者音声データ504fは、マイク82で検出された音声データであり、サーバ12に送信された後に消去される。
【0139】
図示は省略するが、データ記憶領域504には、情報処理を実行するために必要な他のデータが記憶されたり、情報処理を実行するために必要なタイマ(カウンタ)およびフラグが設けられたりする。
【0140】
図9はロボット18に内蔵されるRAM102のメモリマップ600の一例を示す。図9に示すように、RAM102は、プログラム記憶領域602およびデータ記憶領域604を含む。プログラム記憶領域602には、この実施例のロボット18で実行される制御プログラムが記憶されている。
【0141】
制御プログラムは、通信プログラム602a、動作実行プログラム602b、撮影画像取得プログラム602c、画像表示プログラム602d、音検出プログラム602eおよび音出力プログラム602fなどを含む。
【0142】
通信プログラム602aは、外部の機器、この実施例では、サーバ12およびロボット18と有線または無線で通信(データの送信および受信)するためのプログラムである。
【0143】
動作実行プログラム602bは、自律行動またはサーバ12から受信した操作者の操作データ(動作コマンド)に従う動作を実行するためのプログラムである。
【0144】
撮影画像取得プログラム602cは、カメラ122で撮影された撮影画像データを取得するためのプログラムである。
【0145】
画像表示プログラム602dは、サーバ12から受信した操作者画像データ604cを表示装置30に出力するためのプログラムである。
【0146】
音検出プログラム602eは、マイク110から入力される操作者の音声等を検出し、検出した音声に対応するロボット音声データ604bをデータ記憶領域604に記憶するためのプログラムである。
【0147】
音出力プログラム602fは、サーバ12から受信した操作者音声データ604dをスピーカ112に出力するためのプログラムである。また、音出力プログラム602fは、音検出プログラム602eで検出したロボット音声データ604bをサーバ12に送信(または、出力)するためのプログラムでもある。このとき、通信プログラム602aも実行される。
【0148】
図示は省略するが、プログラム記憶領域602には、ロボット18のオペレーティングシステムおよび任意のミドルウェアに加えて、距離を検出するプログラムおよび慣性情報を検出するプログラムも記憶される。
【0149】
また、データ記憶領域604には、ロボット画像データ604a、ロボット音声データ604b、操作者画像データ604c、操作者音声データ604dおよび動作コマンドデータ604eなどが記憶される。
【0150】
ロボット画像データ604aは、ロボット18が備えるカメラ122で撮影されたカメラ画像のデータである。ロボット画像データ604aは、サーバ12に送信された後に消去される。
【0151】
ロボット音声データ604bは、ロボット18が備えるマイク110で検出された操作者等の音声のデータである。ロボット音声データ604bは、サーバ12に送信された後に消去される。
【0152】
操作者画像データ604cは、サーバ12から受信した操作者画像データである。操作者画像データ604cは、CPU100の処理に使用された後に消去される。
【0153】
操作者音声データ604dは、サーバ12から受信した操作者音声データである。操作者音声データ604dは、CPU100の処理に使用された後に消去される。
【0154】
動作コマンドデータ604eは、サーバ12から受信した、操作者の操作による動作コマンドのデータである。動作コマンドデータ604gは、CPU100の処理に使用された後に消去される。
【0155】
図示は省略するが、データ記憶領域604には、制御処理を実行するために必要な他のデータが記憶されたり、制御処理を実行するために必要なタイマ(カウンタ)およびフラグが設けられたりする。
【0156】
図10および図11図2に示したサーバ12のCPU50の所定のサービス実行時における送受信処理の一例を示すフロー図である。また、図12および図13図2に示したサーバ12のCPU50の履歴記憶および関係者情報作成処理の一例を示すフロー図である。
【0157】
図10に示すように、CPU50は、送受信処理を開始すると、ステップS1で、操作者端末16から操作者画像データを受信したかどうかを判断する。ステップS1で“NO”であれば、つまり、操作者画像データを受信していなければ、ステップS7に進む。
【0158】
一方、ステップS1で“YES”であれば、つまり、操作者画像データを受信すれば、ステップS3で、操作者画像データ404cをRAM52のデータ記憶領域404に記憶し、ステップS5で、操作者画像データ404cをロボット18に送信して、ステップS7に進む。
【0159】
ステップS7では、操作者端末16から操作者音声データを受信したかどうかを判断する。ステップS7で“NO”であれば、つまり、操作者音声データを受信していなければ、ステップS13に進む。一方、ステップS7で“YES”であれば、つまり、操作者音声データを受信すれば、ステップS9で、操作者音声データ404dをRAM52のデータ記憶領域404に記憶し、ステップS11で、操作者音声データ404dをロボット18に送信して、ステップS13に進む。
【0160】
ステップS13では、操作者端末16から動作コマンドデータを受信したかどうかを判断する。ステップS13で“NO”であれば、つまり、動作コマンドデータを受信していなければ、図11に示すステップS19に進む。一方、ステップS13で“YES”であれば、つまり、動作コマンドデータを受信すれば、ステップS15で、動作コマンドデータ404eをRAM52のデータ記憶領域404に記憶し、ステップS17で、動作コマンドデータ404eをロボット18に送信して、ステップS19に進む。
【0161】
図11に示すように、ステップS19で、ロボット18からロボット画像データを受信したかどうかを判断する。ステップS19“NO”であれば、つまり、ロボット画像データを受信していなければ、ステップS25に進む。一方、ステップS19で“YES”であれば、つまり、ロボット画像データを受信すれば、ステップS21で、ロボット画像データ404aをRAM52のデータ記憶領域404に記憶し、ステップS23で、ロボット画像データ404aを操作者端末16に送信して、ステップS25に進む。
【0162】
ステップS25では、ロボット18からロボット音声データを受信したかどうかを判断する。ステップS25で“NO”であれば、つまり、ロボット音声データを受信していなければ、ステップS31に進む。一方、ステップS25で“YES”であれば、つまり、ロボット音声データを受信すれば、ステップS27で、ロボット音声データ404bをデータ記憶領域404に記憶し、ステップS29で、ロボット音声データ404bを操作者端末16に送信して、ステップS31に進む。
【0163】
ステップS31では、サービスの終了かどうかを判断する。ここでは、CPU50は、操作者端末16からサービスの終了通知を受信したかどうかを判断する。ステップS31で“NO”であれば、つまり、サービスの終了でなければ、ステップS1に戻る。一方、ステップS31で“YES”であれば、つまり、サービスの終了であれば、ステップS33で、サービスの終了通知をロボット18に送信して、送受信処理を終了する。
【0164】
また、図12に示すように、サーバ12のCPU50は履歴記憶および関係者情報作成処理を開始すると、ステップS71で、第1所定時間分の操作者および対話エージェントの画像データおよび音声データを取得する。ここでは、CPU50は、第1所定時間分のロボット画像データ404a、ロボット音声データ404b、操作者画像データ404cおよび操作者音声データ404dを読み出す。
【0165】
次のステップS73では、トラブルの発生の原因となる発話の有無を検出し、ステップS75で、顔画像に基づいて話者の感情を検出(推定)する。
【0166】
続いて、ステップS77では、トラブルが発生しているかどうかを判断する。ここでは、CPU50は、発話に特定のワードが含まれるかどうか、または/および、話者の感情が特定の感情(怒りや嫌悪)であるかどうかを判断する。CPU50は、発話に特定のワードが含まれている場合または/および話者の感情が特定の感情である場合に、トラブルが発生していることを判断(検出)する。
【0167】
ステップS77で“NO”であれば、つまり、トラブルが発生していなければ、図13に示すステップS89に進む。一方、ステップS77で“YES”であれば、つまり、トラブルが発生していれば、図13に示すステップS79で、第1所定時間分の操作者および対話エージェントの画像データおよび音声データを履歴DB12aに記憶する。つまり、CPU50は、第1所定時間分のロボット画像データ404a、ロボット音声データ404b、操作者画像データ404cおよび操作者音声データ404dを履歴として履歴DB12aに記憶する。
【0168】
次のステップS81では、話者を特定する。ここでは、CPU50は、履歴として記憶した操作者音声データ404dに付加された操作者のIDを取得するとともに、履歴として記憶したロボット音声データ404bに含まれる声紋データと一致する声紋データを辞書DB12bから検出し、検出した声紋データに対応する対話エージェントのIDを取得する。
【0169】
次のステップS83では、今回記憶した履歴についての話者をラベリングする。つまり、CPU50は、図6に示したような関係者テーブルに、今回の記憶した履歴に含まれる発話について、トラブルIDを付加するとともに、当該トラブルIDに対応して発話開始時刻および発話終了時刻を記載し、ステップS81で取得した対話エージェントのIDまたは操作者のIDを発話者IDとして記憶する。
【0170】
なお、トラブルIDは、同じロボット18を用いたサービスにおいては、第2所定時間(たとえば、5分)を超えて音声を検出しない状態が継続しない場合には、最初にトラブルの発生を検出したときに付したトラブルIDと同じトラブルIDが付される。
【0171】
また、発話開始時刻および発話終了時刻は、ロボット音声データ404bおよび操作者音声データ404dに付加されている。
【0172】
続いて、ステップS85で、トラブルの発生の原因となる発話の話者を加害者に分類し、ステップS87で、悲しみまたは恐れの感情の話者を被害者に分類する。つまり、CPU50は、図6に示したような関係者テーブルにおいて、各話者を加害者または被害者に分類する。
【0173】
さらに、ステップS89では、話者を分類したかどうかを判断する。ステップS89で“YES”であれば、つまり、話者を分類していれば、ステップS93に進む。一方、ステップS89で“NO”であれば、つまり、話者を分類していなければ、ステップS91で、話者を分類不能に決定し、ステップS93に進む。
【0174】
なお、話者を分類できない場合は、対話に特定のワードが含まれていない場合、または、話者の感情が悲しみおよび恐れの感情のいずれでもない場合である。たとえば、話者を分類できない場合であっても、管理者等が履歴の音声および画像を確認することによって事後的に分類することができる。履歴は対話にトラブルが発生していることが判断された場合の画像データおよび音声データのみであるため、事後的に分類する場合であっても比較的容易である。
【0175】
そして、ステップS93で、サービスの終了かどうかを判断する。ステップS93で“NO”であれば、つまり、サービスの終了でなければ、ステップS73に戻る。一方、ステップS93で“YES”であれば、つまり、サービスの終了であれば、履歴記憶および関係者情報作成処理を終了する。図示は省略するが、サービスを終了するのに先立って、関係者データ404fが履歴DB12aに記憶され、関係者データ404fがRAM52から消去される。
【0176】
図14および図15図3に示した操作者端末16のCPU70の情報処理の一例を示すフロー図である。なお、図示は省略するが、操作者端末16のCPU70は、操作データ504aを検出したり、操作者画像データ504eを検出したり、操作者音声データ504fを取得したりして、各データをサーバ12に送信する処理(すなわち、送信処理)を実行したり、サーバ12から送信されたロボット画像データ404aおよびロボット音声データ404bを受信する処理(すなわち、受信処理)を実行したりする。
【0177】
図14に示すように、CPU70は、情報処理を開始すると、ステップS201で、サーバ12と接続状態を確立する。次のステップS203で、図5に示したようなUI画面200を表示装置80に表示する。ただし、情報処理を開始した当初では、ロボット画像データを受信していないため、表示領域202には何も画像が表示されない。
【0178】
次のステップS205では、動作コマンドの入力が有るかどうかを判断する。ここでは、CPU70は、ボタン210-224が操作されたかどうかを判断する。
【0179】
ステップS205で“NO”であれば、つまり、動作コマンドの入力が無ければ、ステップS209に進む。一方、ステップS205で“YES”であれば、つまり、動画コマンドの入力が有れば、ステップS207で、動作コマンドデータをサーバ12に送信して、ステップS209に進む。
【0180】
ステップS209では、音声の入力が有るかどうかを判断する。ステップS209で“YES”であれば、つまり、音声の入力が有れば、ステップS211で、操作者画像データおよび操作者音声データをサーバ12に送信して、図15に示すステップS215に進む。
【0181】
一方、ステップS209で“NO”であれば、つまり、音声の入力が無ければ、ステップS213で、操作者画像データをサーバ12に送信して、ステップS215に進む。
【0182】
図15に示すように、ステップ215では、サーバ12からデータを受信したかどうかを判断する。ステップS215で“YES”であれば、つまり、サーバ12からデータを受信すれば、ステップS217で、ロボット音声データが有るかどうかを判断する。
【0183】
ステップS217で“YES”であれば、つまり、ロボット音声データ504dが有れば、ステップS219で、ロボット音声データ504dを出力し、ステップS221で、ロボット画像データ504cを出力して、ステップS225に進む。したがって、ロボット18を通して操作者と対話する対話エージェントの音声が操作者端末16のスピーカ84から出力され、ロボット18を通して操作者と対話する対話エージェント等を含むカメラ画像がUI画面200の表示領域202に表示される。
【0184】
一方、ステップS217で“NO”であれば、つまり、ロボット音声データ504dが無ければ、ステップS223で、ロボット画像データ504cを出力して、ステップS225に進む。
【0185】
ステップS225では、サービスの終了かどうかを判断する。ここでは、CPU70は、操作者によってサービスを終了することが指示されたかどうかを判断する。ステップS225で“NO”であれば、つまり、サービス終了でなければ、ステップS203に戻る。一方、ステップS2225で“YES”であれば、つまり、サービス終了であれば、ステップS227で、サービスの終了通知をサーバ12に送信して、情報処理を終了する。
【0186】
図16および図17図4に示したロボット18のCPU100の制御処理の一例を示すフロー図である。なお、図示は省略するが、ロボット18のCPU100は、ロボット画像データ604aを検出したり、ロボット音声データ604bを検出したり、各データをサーバ12に送信する送信処理を実行したり、サーバ12から送信された操作者画像データ604c、操作者音声データ604dおよび動作コマンドデータ604eを受信する受信処理を実行したりする。
【0187】
図16に示すように、CPU100は、制御処理を開始すると、ステップS301で、サーバ12と接続状態を確立する。次のステップS303では、操作者画像を表示装置30に表示する。ただし、制御処理を開始した当初では、操作者画像データ604cを受信していないため、操作者画像は表示されない。
【0188】
続いて、ステップS305では、サービス終了であるかどうかを判断する。ここでは、CPU100は、サーバ12からサービスの終了通知を受信したかどうかを判断する。テップS305で“YES”であれば、つまり、サービス終了であれば、制御処理を終了する。一方、ステップS305で“NO”であれば、つまり、サービス終了でなければ、ステップS307で、サーバ12から画像データまたは/および音声データを受信したかどうかを判断する。
【0189】
ステップS307で“NO”であれば、つまり、サーバ12から画像データおよび音声データのいずれも受信していなければ、ステップS317に進む。一方、ステップS307で“YES”であれば、つまり、サーバ12から画像データまたは/および音声データを受信すれば、ステップS309で、操作者音声データ604dが有るかどうかを判断する。
【0190】
ステップS309で“YES”であれば、つまり、操作者音声データ604dが有れば、ステップS311で、操作者音声データ604dをスピーカ112に出力し、ステップS313で、操作者画像データ604cを表示装置30に出力して、ステップS317に進む。
【0191】
一方、ステップS309で“NO”であれば、つまり、操作者音声データ604dが無ければ、ステップS315で、操作者画像データ604cを表示装置30に出力し、ステップS317に進む。
【0192】
ステップS317では、サーバ12から動作コマンドデータ604eを受信したかどうかを判断する。ステップS317で“NO”であれば、つまり、動作コマンドデータ604eを受信していなければ、図17に示すステップS321に進む。一方、ステップS317で“YES”であれば、つまり、動作コマンドデータ604eを受信していれば、ステップS319で、動作コマンドデータ604eに従う動作を実行して、ステップS321に進む。
【0193】
図17に示すように、ステップS321では、音声の入力が有るかどうかを判断する。ステップS321で“YES”であれば、つまり、音声の入力が有れば、ステップS323で、ロボット画像データ604aとロボット音声データ604bをサーバ12に送信して、ステップS305に戻る。一方、ステップS321で“NO”であれば、つまり、音声の入力が無ければ、ステップS325で、ロボット画像データ604aをサーバ12に送信して、ステップS305に戻る。
【0194】
この実施例によれば、トラブルが発生していることが検出された場合の対話の音声データと画像データの履歴をデータベースに保存するので、すべての対話の音声データと画像データの履歴を保存した場合と比べて、トラブルが発生している場合の履歴を見つけ出すなどの手間が無いため、対話のトラブルの原因を容易に究明することができる。
【0195】
また、この実施例によれば、トラブルが発生していることが検出された場合の対話の関係者を特定するとともに、各関係者を加害者または被害者に分類するので、アバターを用いた対話サービスにおける対話のトラブルの原因をさらに容易に究明することができる。
【0196】
なお、この実施例では、対話の履歴として、画像データと音声データを記憶するようにしたが、音声データのみを記憶するようにしてもよい。かかる場合には、音声データに特定のワードが含まれるかどうか、または/および、音声データに基づいて推定される話者の感情が特定の感情であるかどうかが判断され、トラブルの発生が検出されるとともに、加害者および被害者が分類される。
【0197】
また、この実施例では、操作者端末は、操作者画像データ、操作者音声データおよび動作コマンドデータを、サーバを介してロボットに送信するようにしたが、これらのデータは、サーバを介さずにロボットに直接送信されてもよい。ただし、サーバが履歴の記憶等を行うため、操作者画像データおよび操作者音声データは、サーバにも送信される。同様に、ロボット画像データおよびロボット音声データは、サーバと操作者端末の両方に送信されてもよい。
【0198】
また、この実施例では、ロボットのアバターを用いた対話サービスについて説明したが、CG(Computer Graphics)のアバターを用いた対話サービスにも適用可能である。かかる場合には、ロボットに代えて、CGのアバターを表示する表示装置を備えるとともに、カメラ、マイクおよびスピーカをさらに備えるコンピュータが設けられる。一例として、コンピュータとしては、汎用のPC、スマートフォン、タブレットPCなどを用いることができる。この場合、CGのアバターは、操作者によって動作および発話を制御される。
【0199】
また、上述の実施例で示したフロー図の各ステップは同じ結果が得られる場合には、処理する順番を変更することが可能である。
【0200】
さらに、上述の実施例で挙げた各種の画面、具体的数値はいずれも単なる例示であり、必要に応じて適宜変更可能である。
【符号の説明】
【0201】
10 …情報処理システム
12 …サーバ
14 …ネットワーク
16 …操作者端末
18 …ロボット
50、70、100 …CPU
52、72、102 …RAM
54、74、104 …通信I/F
56、76、106 …入出力I/F
58、78、108 …入力装置
30、60、80 …表示装置
82、110 …マイク
84、112 …スピーカ
86、120 …センサI/F
88、122 …カメラ
124、126 …LRF
128 …慣性計測ユニット
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17