(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024138697
(43)【公開日】2024-10-09
(54)【発明の名称】情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法
(51)【国際特許分類】
G06F 3/16 20060101AFI20241002BHJP
G10L 15/10 20060101ALI20241002BHJP
G06F 3/01 20060101ALI20241002BHJP
G05D 1/00 20240101ALI20241002BHJP
G06T 13/20 20110101ALI20241002BHJP
【FI】
G06F3/16 650
G10L15/10 500N
G06F3/16 690
G06F3/01 510
G05D1/00 B
G06T13/20 500
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023049306
(22)【出願日】2023-03-27
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和2年度、国立研究開発法人科学技術振興機構、ムーンショット型研究開発事業「企業連携実証実験基盤の開発・運営と企業コンソーシアム活動支援」委託研究、産業技術力強化法第17条の適用を受ける特許出願。/ 令和2年度、国立研究開発法人科学技術振興機構、ムーンショット型研究開発事業「利用者モニタリングと経験管理の研究開発」委託研究、産業技術力強化法第17条の適用を受ける特許出願。
(71)【出願人】
【識別番号】393031586
【氏名又は名称】株式会社国際電気通信基礎技術研究所
(74)【代理人】
【識別番号】100090181
【弁理士】
【氏名又は名称】山田 義人
(72)【発明者】
【氏名】西村 祥吾
(72)【発明者】
【氏名】宮下 敬宏
(72)【発明者】
【氏名】内海 章
(72)【発明者】
【氏名】太田 陽
【テーマコード(参考)】
5B050
5E555
5H301
【Fターム(参考)】
5B050BA08
5B050BA12
5B050CA07
5B050EA09
5B050EA24
5B050EA27
5B050FA02
5B050FA05
5B050FA10
5E555AA61
5E555AA72
5E555BA87
5E555BA88
5E555BB08
5E555BD07
5E555BE15
5E555CA42
5E555CA47
5E555CB64
5E555CB67
5E555DA01
5E555DA23
5E555EA05
5E555EA22
5E555EA23
5E555EA28
5E555FA00
5H301AA01
5H301AA10
5H301BB14
5H301CC03
5H301CC06
5H301DD06
5H301DD17
5H301GG08
5H301GG09
5H301GG10
5H301GG17
5H301HH10
(57)【要約】
【課題】 対話エージェントの好みに合わせた応対が可能である。
【解決手段】 情報処理システム10では、ネットワーク14によって、サーバ12、操作者端末16およびロボット18が連係する。ロボットは、表示装置30に操作者のアバター画像28を表示し、操作者であるサービスユーザに所定のサービスを提供する。このとき、操作者は、ロボットを通して対話エージェントと対話する。対話エージェントについての顧客情報は、この対話エージェントのアバターに関する嗜好情報を少なくとも含み、操作者端末に表示される。操作者は、対話エージェントの顧客情報を見て応対し、対話エージェントの反応に応じて顧客情報に含まれる個別情報の重要度を更新する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ロボットまたはコンピュータグラフィックスのアバター、
前記アバターの動作および発話を制御する操作者が使用する操作者端末、および
前記アバターおよび前記操作者端末の各々と通信可能に接続される情報処理装置を備える、情報処理システムであって、
前記情報処理装置は、
前記アバターに対面し、前記操作者と対話する対話相手についての情報であって少なくとも前記アバターに関する嗜好情報を含む対話相手情報をデータベースから取得する対話相手情報取得手段、
前記対話相手情報取得手段によって取得された対話相手情報を前記操作者端末に送信する第1送信手段、
前記操作者端末からの制御信号および前記操作者の発話内容である操作者発話内容の少なくとも一方を受信する第1受信手段、
前記第1受信手段によって受信された前記操作者発話内容に基づいて前記アバターに発話させるアバター音声を生成するアバター音声生成手段、
前記制御信号および前記アバター音声の少なくとも一方を前記アバターに送信する第2送信手段、
前記対話相手の映像および音声の少なくとも一方を前記アバターから受信する第2受信手段、
前記第2受信手段によって受信された前記対話相手の映像および音声の少なくとも一方を前記操作者端末に送信する第3送信手段、
前記第2受信手段によって受信された前記対話相手の映像および音声の少なくとも一方に基づいて前記アバター音声に対する前記対話相手の反応を検出する反応検出手段、
最新の対話履歴から前記対話相手情報に含まれる個別情報を抽出する個別情報抽出手段、および
前記個別情報抽出手段によって抽出された個別情報および前記アバターに設定された個別情報についての重要度を、前記反応検出手段によって検出された前記対話相手の反応に基づいて更新する更新手段を備え、
前記操作者端末は、
前記第1送信手段によって送信された前記対話相手情報を受信する第3受信手段、
前記第3受信手段によって受信された前記対話相手情報を表示する対話相手情報表示手段、
前記操作者によって入力された前記アバターの動作を制御する前記制御信号を検して前記情報処理装置に送信する第4送信手段、
前記操作者によって入力された前記アバターの発話を制御する発話内容を検出して前記情報処理装置に送信する第5送信手段、
前記第2送信手段によって送信された前記対話相手の映像および音声の少なくとも一方を受信する第4受信手段、
前記第4受信手段によって受信された前記対話相手の映像を表示する対話相手映像表示手段、および
前記第4受信手段によって受信された前記対話相手の音声を出力する出力手段を備え、
前記アバターは、
前記第2送信手段によって送信された前記制御信号および前記アバター音声の少なくとも一方を受信する第5受信手段、
前記第5受信手段によって受信された前記制御信号に従う動作を実行する動作実行手段、
前記第5受信手段によって受信された前記アバター音声を出力するアバター音声出力手段、および
前記対話相手の映像および音声の少なくとも一方を検出して前記情報処理装置に送信する第6送信手段を備える、情報処理システム。
【請求項2】
前記対話者情報は少なくとも前記対話相手の前記アバターに関する嗜好についての個別情報を含む、請求項1記載の情報処理システム。
【請求項3】
前記反応検出手段は、前記対話相手の映像および音声の少なくとも一方に基づいて前記アバター音声に対する前記対話相手の感情を検出し、
前記更新手段は、前記対話相手の感情に基づいて、前記個別情報抽出手段によって抽出された個別情報についての重要度を更新する、請求項1または2記載の情報処理システム。
【請求項4】
前記更新手段は、前記対話相手の感情が喜びである場合に、前記個別情報抽出手段によって抽出された個別情報についての重要度を上昇させ、前記対話相手の感情が悲しみまたは怒りである場合に、前記個別情報についての重要度を下降させる、または、更新しない、請求項3記載の情報処理システム。
【請求項5】
ロボットまたはコンピュータグラフィックスのアバター、および前記アバターの動作および発話を制御する操作者が使用する操作者端末の各々と通信可能に接続される情報処理装置であって、
前記アバターに対面し、前記操作者と対話する対話相手についての情報であって少なくとも前記アバターに関する嗜好情報を含む対話相手情報をデータベースから取得する対話相手情報取得手段、
前記対話相手情報取得手段によって取得された対話相手情報を前記操作者端末に送信する第1送信手段、
前記操作者端末からの制御信号および前記操作者の発話内容である操作者発話内容の少なくとも一方を受信する第1受信手段、
前記第1受信手段によって受信された前記操作者発話内容に基づいて前記アバターに発話させるアバター音声を生成するアバター音声生成手段、
前記制御信号および前記アバター音声の少なくとも一方を前記アバターに送信する第2送信手段、
前記対話相手の映像および音声の少なくとも一方を前記アバターから受信する第2受信手段、
前記第2受信手段によって受信された前記対話相手の映像および音声の少なくとも一方を前記操作者端末に送信する第3送信手段、
前記第2受信手段によって受信された前記対話相手の映像および音声の少なくとも一方に基づいて前記アバター音声に対する前記対話相手の反応を検出する反応検出手段、
最新の対話履歴から前記対話相手情報に含まれる個別情報を抽出する個別情報抽出手段、および
前記個別情報抽出手段によって抽出された個別情報および前記アバターに設定された個別情報についての重要度を、前記反応検出手段によって検出した前記対話相手の反応に基づいて更新する更新手段を備える、情報処理装置。
【請求項6】
ロボットまたはコンピュータグラフィックスのアバター、および前記アバターの動作および発話を制御する操作者が使用する操作者端末の各々と通信可能に接続される情報処理装置の情報処理プログラムであって、
前記情報処理装置のプロセッサに、
前記アバターに対面し、前記操作者と対話する対話相手についての情報であって少なくとも前記アバターに関する嗜好情報を含む対話相手情報をデータベースから取得する対話相手情報取得ステップ、
前記対話相手情報取得ステップにおいて取得した対話相手情報を前記操作者端末に送信する第1送信ステップ、
前記操作者端末からの制御信号および前記操作者の発話内容である操作者発話内容の少なくとも一方を受信する第1受信ステップ、
前記第1受信ステップにおいて受信した前記操作者発話内容に基づいて前記アバターに発話させるアバター音声を生成するアバター音声生成ステップ、
前記制御信号および前記アバター音声の少なくとも一方を前記アバターに送信する第2送信ステップ、
前記対話相手の映像および音声の少なくとも一方を前記アバターから受信する第2受信ステップ、
前記第2受信ステップにおいて受信した前記対話相手の映像および音声の少なくとも一方を前記操作者端末に送信する第3送信ステップ、
前記第2受信ステップにおいて受信した前記対話相手の映像および音声の少なくとも一方に基づいて前記アバター音声に対する前記対話相手の反応を検出する反応検出ステップ、
最新の対話履歴から前記対話相手情報に含まれる個別情報を抽出する個別情報抽出ステップ、および
前記個別情報抽出ステップにおいて抽出した個別情報および前記アバターに設定された個別情報についての重要度を、前記反応検出ステップにおいて検出した前記対話相手の反応に基づいて更新する更新ステップを実行させる、情報処理プログラム。
【請求項7】
ロボットまたはコンピュータグラフィックスのアバター、
前記アバターの動作および発話を制御する操作者が使用する操作者端末、および
前記アバターおよび前記操作者端末の各々と通信可能に接続される情報処理装置を備える、情報処理システムの情報処理方法であって、
前記情報処理装置は、
前記アバターに対面し、前記操作者と対話する対話相手についての情報であって少なくとも前記アバターに関する嗜好情報を含む対話相手情報をデータベースから取得し、
取得した対話相手情報を前記操作者端末に送信し、
前記操作者端末からの制御信号および前記操作者の発話内容である操作者発話内容の少なくとも一方を受信し、
受信した前記操作者発話内容に基づいて前記アバターに発話させるアバター音声を生成し、
前記制御信号および前記アバター音声の少なくとも一方を前記アバターに送信し、
前記対話相手の映像および音声の少なくとも一方を前記アバターから受信し、
受信した前記対話相手の映像および音声の少なくとも一方を前記操作者端末に送信し、
受信した前記対話相手の映像および音声の少なくとも一方に基づいて前記アバター音声に対する前記対話相手の反応を検出し、
最新の対話履歴から前記対話相手情報に含まれる個別情報を抽出し、
抽出した個別情報および前記アバターに設定された個別情報についての重要度を、検出した前記対話相手の反応に基づいて更新し、
前記操作者端末は、
前記情報処理端末から前記対話相手情報を受信し、
受信した前記対話相手情報を表示し、
前記操作者によって入力された前記アバターの動作を制御する前記制御信号を検出して前記情報処理装置に送信し、
前記操作者によって入力された前記アバターの発話を制御する発話内容を検出して前記情報処理装置に送信し、
前記情報処理装置から前記対話相手の映像および音声の少なくとも一方を受信し、
受信した前記対話相手の映像を表示し、
受信した前記対話相手の音声を出力し、
前記アバターは、
前記情報処理装置から前記制御信号および前記アバター音声の少なくとも一方を受信し、
受信した前記制御信号に従う動作を実行し、
受信した前記アバター音声を出力し、
前記対話相手の映像および音声の少なくとも一方を検出して前記情報処理装置に送信する、情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法に関し、特にたとえば、操作者のアバターとして機能するロボットを用いた所定のサービスを提供する、情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法に関する。
【背景技術】
【0002】
この種の従来の情報処理システムの一例が特許文献1に開示されている。この特許文献1に開示された対話支援システムは、ユーザと対面するロボットと、対話支援情報を管理するデータベースサーバと、オペレータによって操作される端末装置とを備える。オペレータは端末装置を操作し、ユーザはロボットと対面する。また、オペレータとユーザとの間で対話を行うにあたって、データベースサーバによってデータベースから抽出された対話支援情報が、端末装置を通してオペレータに提示される。オペレータが対話支援情報を参照して発したメッセージは、ロボットを通してユーザに伝えられる。また、ユーザがロボットに向けて発したメッセージは、端末装置を通してオペレータに伝えられる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の特許文献1では、オペレータは対話支援情報を参照し、ユーザはロボットと向き合うため、オペレータ主導の活発な対話が実現されるが、ロボットの見た目やロボットを用いたオペレータの応対の仕方がユーザの好みに合っているかどうかは不明である。このため、対話支援情報の内容および提示の仕方については改善の余地がある。
【0005】
それゆえに、この発明の主たる目的は、新規な、情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法を提供することである。
【0006】
また、この発明の他の目的は、対話エージェントの好みに合わせた応対が可能である、情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法を提供することである。
【課題を解決するための手段】
【0007】
第1の発明は、ロボットまたはコンピュータグラフィックスのアバター、アバターの動作および発話を制御する操作者が使用する操作者端末、およびアバターおよび操作者端末の各々と通信可能に接続される情報処理装置を備える、情報処理システムであって、情報処理装置は、アバターに対面し、操作者と対話する対話相手についての情報であって少なくともアバターに関する嗜好情報を含む対話相手情報をデータベースから取得する対話相手情報取得手段、対話相手情報取得手段によって取得された対話相手情報を操作者端末に送信する第1送信手段、操作者端末からの制御信号および操作者の発話内容である操作者発話内容の少なくとも一方を受信する第1受信手段、第1受信手段によって受信された操作者発話内容に基づいてアバターに発話させるアバター音声を生成するアバター音声生成手段、制御信号およびアバター音声の少なくとも一方をアバターに送信する第2送信手段、対話相手の映像および音声の少なくとも一方をアバターから受信する第2受信手段、第2受信手段によって受信された対話相手の映像および音声の少なくとも一方を操作者端末に送信する第3送信手段、第2受信手段によって受信された対話相手の映像および音声の少なくとも一方に基づいてアバター音声に対する対話相手の反応を検出する反応検出手段、最新の対話履歴から対話相手情報に含まれる個別情報を抽出する個別情報抽出手段、および個別情報抽出手段によって抽出された個別情報およびアバターに設定された個別情報についての重要度を、反応検出手段によって検出された対話相手の反応に基づいて更新する更新手段を備え、操作者端末は、第1送信手段によって送信された対話相手情報を受信する第3受信手段、第3受信手段によって受信された対話相手情報を表示する対話相手情報表示手段、操作者によって入力されたアバターの動作を制御する制御信号を検して情報処理装置に送信する第4送信手段、操作者によって入力されたアバターの発話を制御する発話内容を検出して情報処理装置に送信する第5送信手段、第2送信手段によって送信された対話相手の映像および音声の少なくとも一方を受信する第4受信手段、第4受信手段によって受信された対話相手の映像を表示する対話相手映像表示手段、および第4受信手段によって受信された対話相手の音声を出力する出力手段を備え、アバターは、第2送信手段によって送信された制御信号およびアバター音声の少なくとも一方を受信する第5受信手段、第5受信手段によって受信された制御信号に従う動作を実行する動作実行手段、第5受信手段によって受信されたアバター音声を出力するアバター音声出力手段、および対話相手の映像および音声の少なくとも一方を検出して情報処理装置に送信する第6送信手段を備える、情報処理システムである。
【0008】
第2の発明は、第1の発明に従属し、対話者情報は少なくとも対話相手のアバターに関する嗜好についての個別情報を含む。
【0009】
第3の発明は、第1または第2の発明に従属し、反応検出手段は、対話相手の映像および音声の少なくとも一方に基づいてアバター音声に対する対話相手の感情を検出し、更新手段は、対話相手の感情に基づいて、個別情報抽出手段によって抽出された個別情報についての重要度を更新する。
【0010】
第4の発明は、第3の発明に従属し、更新手段は、対話相手の感情が喜びである場合に、個別情報抽出手段によって抽出された個別情報についての重要度を上昇させ、対話相手の感情が悲しみまたは怒りである場合に、個別情報についての重要度を下降させる、または、更新しない。
【0011】
第5の発明は、ロボットまたはコンピュータグラフィックスのアバター、およびアバターの動作および発話を制御する操作者が使用する操作者端末の各々と通信可能に接続される情報処理装置であって、アバターに対面し、操作者と対話する対話相手についての情報であって少なくともアバターに関する嗜好情報を含む対話相手情報をデータベースから取得する対話相手情報取得手段、対話相手情報取得手段によって取得された対話相手情報を操作者端末に送信する第1送信手段、操作者端末からの制御信号および操作者の発話内容である操作者発話内容の少なくとも一方を受信する第1受信手段、第1受信手段によって受信された操作者発話内容に基づいてアバターに発話させるアバター音声を生成するアバター音声生成手段、制御信号およびアバター音声の少なくとも一方をアバターに送信する第2送信手段、対話相手の映像および音声の少なくとも一方をアバターから受信する第2受信手段、第2受信手段によって受信された対話相手の映像および音声の少なくとも一方を操作者端末に送信する第3送信手段、第2受信手段によって受信された対話相手の映像および音声の少なくとも一方に基づいてアバター音声に対する対話相手の反応を検出する反応検出手段、最新の対話履歴から対話相手情報に含まれる個別情報を抽出する個別情報抽出手段、および個別情報抽出手段によって抽出された個別情報およびアバターに設定された個別情報についての重要度を、反応検出手段によって検出した対話相手の反応に基づいて更新する更新手段を備える、情報処理装置である。
【0012】
第6の発明は、ロボットまたはコンピュータグラフィックスのアバター、およびアバターの動作および発話を制御する操作者が使用する操作者端末の各々と通信可能に接続される情報処理装置の情報処理プログラムであって、情報処理装置のプロセッサに、アバターに対面し、操作者と対話する対話相手についての情報であって少なくともアバターに関する嗜好情報を含む対話相手情報をデータベースから取得する対話相手情報取得ステップ、対話相手情報取得ステップにおいて取得した対話相手情報を操作者端末に送信する第1送信ステップ、操作者端末からの制御信号および操作者の発話内容である操作者発話内容の少なくとも一方を受信する第1受信ステップ、第1受信ステップにおいて受信した操作者発話内容に基づいてアバターに発話させるアバター音声を生成するアバター音声生成ステップ、制御信号およびアバター音声の少なくとも一方をアバターに送信する第2送信ステップ、対話相手の映像および音声の少なくとも一方をアバターから受信する第2受信ステップ、第2受信ステップにおいて受信した対話相手の映像および音声の少なくとも一方を操作者端末に送信する第3送信ステップ、第2受信ステップにおいて受信した対話相手の映像および音声の少なくとも一方に基づいてアバター音声に対する対話相手の反応を検出する反応検出ステップ、最新の対話履歴から対話相手情報に含まれる個別情報を抽出する個別情報抽出ステップ、および個別情報抽出ステップにおいて抽出した個別情報およびアバターに設定された個別情報についての重要度を、反応検出ステップにおいて検出した対話相手の反応に基づいて更新する更新ステップを実行させる、情報処理プログラムである。
【0013】
第7の発明は、ロボットまたはコンピュータグラフィックスのアバター、アバターの動作および発話を制御する操作者が使用する操作者端末、およびアバターおよび操作者端末の各々と通信可能に接続される情報処理装置を備える、情報処理システムの情報処理方法であって、情報処理装置は、アバターに対面し、操作者と対話する対話相手についての情報であって少なくともアバターに関する嗜好情報を含む対話相手情報をデータベースから取得し、取得した対話相手情報を操作者端末に送信し、操作者端末からの制御信号および操作者の発話内容である操作者発話内容の少なくとも一方を受信し、受信した操作者発話内容に基づいてアバターに発話させるアバター音声を生成し、制御信号およびアバター音声の少なくとも一方をアバターに送信し、対話相手の映像および音声の少なくとも一方をアバターから受信し、受信した対話相手の映像および音声の少なくとも一方を操作者端末に送信し、受信した対話相手の映像および音声の少なくとも一方に基づいてアバター音声に対する対話相手の反応を検出し、最新の対話履歴から対話相手情報に含まれる個別情報を抽出し、抽出した個別情報およびアバターに設定された個別情報についての重要度を、検出した対話相手の反応に基づいて更新し、操作者端末は、情報処理端末から対話相手情報を受信し、受信した対話相手情報を表示し、操作者によって入力されたアバターの動作を制御する制御信号を検出して情報処理装置に送信し、操作者によって入力されたアバターの発話を制御する発話内容を検出して情報処理装置に送信し、情報処理装置から対話相手の映像および音声の少なくとも一方を受信し、受信した対話相手の映像を表示し、受信した対話相手の音声を出力し、アバターは、情報処理装置から制御信号およびアバター音声の少なくとも一方を受信し、受信した制御信号に従う動作を実行し、受信したアバター音声を出力し、対話相手の映像および音声の少なくとも一方を検出して情報処理装置に送信する、情報処理方法である。
【発明の効果】
【0014】
この発明によれば、対話エージェントの好みに合わせた応対が可能である。
【0015】
この発明の上述の目的、その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0016】
【
図1】
図1はこの発明の一実施例の情報処理システムを示す図である。
【
図2】
図2は
図1に示すサーバの電気的な構成の一例を示すブロック図である。
【
図3】
図3は
図1に示す操作者端末の電気的な構成の一例を示すブロック図である。
【
図4】
図4は
図1に示すロボットの電気的な構成の一例を示すブロック図である。
【
図5】
図5は操作者端末に表示される制御画面の一例を示す図である。
【
図6】
図6は操作者端末に表示される顧客情報画面の一例を示す図である。
【
図7】
図7は顧客情報DBに記憶される顧客情報の一例を示す図である。
【
図8】
図8は
図2に示すサーバのRAMのメモリマップの一例を示す図である。
【
図9】
図9は
図3に示す操作者端末のRAMのメモリマップの一例を示す図である。
【
図10】
図10は
図4に示すロボットのRAMのメモリマップの一例を示す図である。
【
図11】
図11は
図2に示すサーバのCPUの所定のサービスの実行中における情報処理の一例の第1の一部を示すフロー図である。
【
図12】
図12は
図2に示すサーバのCPUの所定のサービスの実行中における情報処理の一例の第2の一部であって、
図11に後続するフロー図である。
【
図13】
図13は
図2に示すサーバのCPUの所定のサービスの実行中における情報処理の一例の第3の一部であって、
図12に後続するフロー図である。
【
図14】
図14は
図2に示すサーバのCPUの所定のサービスの実行中における情報処理の一例の第4の一部であって、
図11に後続するフロー図である。
【
図15】
図15は
図2に示すサーバのCPUの所定のサービスの実行中における情報処理の一例の第5の一部であって、
図14に後続するフロー図である。
【
図16】
図16は
図2に示すサーバのCPUの所定のサービスの実行中における情報処理の一例の第6の一部であって、
図15に後続するフロー図である。
【
図17】
図17は
図2に示すサーバのCPUの所定のサービスの実行中における情報処理の一例の第7の一部であって、
図11および
図16に後続するフロー図である。
【
図18】
図18は
図3に示した操作者端末のCPUの情報処理の一例の第1の一部を示すフロー図である。
【
図19】
図19は
図3に示した操作者端末のCPUの情報処理の一例の第2の一部であって、
図18に後続するフロー図である。
【
図20】
図20は
図3に示した操作者端末のCPUの情報処理の一例の第3の一部であって、
図19に後続するフロー図である。
【
図21】
図21は
図4に示したロボットのCPUの制御処理の一例の一部を示すフロー図である。
【
図22】
図22は
図4に示したロボットのCPUの制御処理の一例の他の一部であって、
図21に後続するフロー図である。
【発明を実施するための形態】
【0017】
図1を参照して、この実施例の情報処理システム10はサーバ12を含み、サーバ12は、ネットワーク14を介して、複数の操作者端末16およびロボット18に通信可能に接続される。
【0018】
複数の操作者端末16は、それぞれ、操作者によって操作され、主として、ロボット18を遠隔操作するために使用される。この実施例では、操作者は、サーバ12によって提供されるアバターを用いた所定のサービスを利用する者(サービスユーザ)である。ロボット18は、操作者のアバターとして機能する。この実施例の情報処理システム10では、複数の操作者端末16のうちの1台の操作者端末16およびロボット18がネットワーク14を介して連係して、その1台の操作者端末16の操作者が、ロボット18を通して、後述する対話エージェントと対話する。ただし、ロボット18と連係する操作者端末16は、サーバ12にログインして、当該ロボット18を使用することを割り当てられた操作者端末16である。
【0019】
所定のサービスは、所定の環境(たとえば、企業のオフィス、店舗、博物館、美術館、水族館または科学館など)に配置されるロボット18を、遠隔に存在する操作者のアバターとして機能させ、アバターすなわちロボット18が所定の環境内を自由に動き回って利用されるサービスである。ただし、ロボット18は、受付サービスを行う場合には、所定の環境内の所定の場所に固定的に配置されてもよい。
【0020】
この場合、操作者は、ロボット18を通して、オフィス内に存在する人間と対話する。また、操作者は、ロボット18を通して、店舗、博物館、美術館、水族館または科学館などに存在する案内人である人間の説明を聞いたり、案内人である人間と対話したりする。つまり、操作者と対話する人間は、操作者の対話相手(すなわち、対話エージェント)である。
【0021】
なお、
図1では、1台のロボット18を示してあるが、実際には、複数のロボット18が設けられる。操作者が所定のサービスを利用する場合に、サーバ12によって、当該操作者(操作者端末16)に対して1台のロボット18が割り当てられる。以下、1台のロボット18を用いて説明するが、同じ内容が他のロボット18にも当てはまる。
【0022】
サーバ12は、情報処理装置の一例であり、汎用のサーバを用いることができる。この実施例では、サーバ12は、アバターを用いた所定のサービスを提供するウェブサイトを運営する。履歴データベース(以下、「履歴DB」という)12aおよび顧客情報データベース(以下「顧客情報DB」という)12bがサーバ12に接続されている。
【0023】
履歴DB12aは、操作者端末16とロボット18の間で、サーバ12を介して送受信される、対話エージェントの画像データおよび音声データと、操作者の発話データおよび操作者が指示した動作コマンドの履歴を記憶する。
【0024】
顧客情報DB12bは、各対話エージェントについての情報(以下、「顧客情報」という)を記憶する。この実施例では、顧客情報(「対話相手情報」に相当する)は、複数の個別情報を含み、複数の個別情報は、個人属性、社会属性、嗜好情報および重要な対話に分類されている。顧客情報については、後で詳細に説明することにする。
【0025】
なお、履歴DB12aおよび顧客情報DB12bは、サーバ12に内蔵されるHDDに設けてもよいし、ネットワーク14を介して通信可能に設けてもよい。
【0026】
ネットワーク14は、インターネットを含むIP網(または、IPネットワーク)と、このIP網にアクセスするためのアクセス網(または、アクセスネットワーク)とから構成される。アクセス網としては、公衆電話網、携帯電話網、有線LAN、無線LAN、CATV(Cable Television)等を用いることができる。
【0027】
複数の操作者端末16の各々は、サーバ12とは異なる他の情報処理装置であり、一例として、デスクトップ型PCである。他の例では、操作者端末16として、スマートフォン、タブレットPCまたはノート型PCなどの汎用の端末を用いることもできる。各操作者端末16は、同じ種類または異なる種類の情報処理装置である。
【0028】
ロボット18は、自律行動可能な、いわゆるテレプレゼンス(または、テレイグジステンス)ロボットであり、市販の移動型のロボットを用いることができる。一例として、ロボット18としては、Double Robotics, Incが販売するロボットDouble 3を使用することができる。ただし、ロボット18は、このような特定のロボットに限られることなく、特開2020-004182号に開示されるようなロボットも利用可能である。
【0029】
ロボット18を自律行動させる方法としては、一例として、特開2009-131914号に開示された方法を採用することができる。ただし、自律行動とは、ロボット18が、操作者の操作によらないで、移動を含む動作および発話の少なくとも一方を含むコミュニケーション行動を行うことを意味する。この実施例では、ロボット18の役割または提供する所定のサービスに応じて生成されたシナリオに従うコミュニケーション行動が行われる。また、この実施例では、サーバ12によってコミュニケーション行動が決定され、サーバ12がコミュニケーション行動についての動作コマンドおよび音声データ(後述する、「アバター音声データ」)の少なくとも一方をロボット18に送信する。ロボット18を自律行動させる方法として公知の技術を用いる場合には、そのために必要な回路コンポーネントおよびデータが適宜サーバ12に設けられる。また、この実施例では、操作者が居ない場合には、ロボット18はサーバ12の制御で自律行動を行う。
【0030】
また、ロボット18は、操作者によって遠隔操作することもできる。この実施例においては、操作者は、操作者端末16を操作して、ロボット18にタスク(動作)を実行させるためのコマンド(以下、「動作コマンド」という)を、サーバ12を介してロボット18に送信する。
【0031】
また、操作者端末16は、操作者の音声をマイク82で検出し、検出した音声を、サーバ12を介してロボット18に送信する。この実施例では、ロボット18のスピーカ112から操作者の音声に基づく音声が出力される。操作者の音声に基づく音声は、予め決定された男性の声、女性の声またはロボットらしい声に変換された操作者の音声である。ただし、操作者の音声をそのままロボット18のスピーカ112から出力することもできる。
【0032】
ロボット18は、所定のCG(Computer Graphics)キャラクタの画像を表示装置30に表示する。この実施例では、CGキャラクタの顔を含む上三身分または上半身の画像が表示装置30に表示される。一例として、CGキャラクタは、複数用意されており、男性、女性およびロボットのいずれかの姿形を有している。
【0033】
一方、ロボット18は、対話エージェントを含む画像をカメラ122で撮影し、撮影した画像(以下、「ロボット画像」という)を、サーバ12を介して操作者端末16に送信する。したがって、操作者端末16では、ロボット18から見た画像すなわち対話エージェントの画像が表示装置80に表示される。また、ロボット18は、対話エージェントの音声を含む周囲の音をマイク110で検出し、検出した音声を、サーバ12を介して操作者端末16に送信する。したがって、操作者端末16のスピーカ112から対話エージェントの音声を含む音が出力される。
【0034】
したがって、操作者は、対話エージェントの顔を見ながら対話したり、環境を見ながらロボット18を操作したりすることができる。
【0035】
また、ロボット18は、ベース20を含み、このベース20の正面には移動用センサの1つである超音波センサ22が設けられる。このベース20の両端には車輪(左車輪)24Lおよび車輪(右車輪)24Rが回転自在に設けられる。
【0036】
ベース20の上面には、上方に延びるポール26が設けられ、そのポール26の上端には、操作者に対応する画像(以下、「アバター画像」という)28(上述した、CGキャラクタの画像)を表示する表示装置30が設けられる。
【0037】
なお、この表示装置30には、タッチパネル、カメラ、マイクおよびスピーカ等が設けられるが、詳細は
図4に示すブロック図を参照して説明する。また、このロボット18は、バッテリ駆動型のロボットであり、バッテリはたとえばポール26の中に収容されている。
【0038】
図2は
図1に示したサーバ12の電気的な構成を示すブロック図である。
図2に示すように、サーバ12はCPU50を含み、CPU50は、内部バスを介して、RAM52、通信部54および入出力インタフェース(以下、「入出力I/F」という)56に接続される。
【0039】
CPU50は、サーバ12の全体的な制御を司る。ただし、CPU50に代えて、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)を設けてもよい。RAM52は、サーバ12の主記憶装置(メインメモリ)であり、CPU50のワーク領域およびバッファ領域として用いられる。
【0040】
図示は省略するが、サーバ12は、HDDおよびROMのような補助記憶装置も備える。ただし、HDDおよびROMに代えて、または、HDDおよびROMに加えて、SSD等の不揮発性メモリが使用されてもよい。
【0041】
通信部54は、CPU50の制御の下、ネットワーク14を介して、操作者端末16およびロボット18などの外部のコンピュータとの間で、制御信号(動作コマンドを含む)およびデータの送受信を行う。ただし、通信部54としては、有線LANのみならず、無線LANまたはBluetooth(登録商標)等を使用することもできる。
【0042】
入出力I/F56には、入力装置58および表示装置60が接続されている。入力装置58として、キーボードおよびコンピュータマウスが用いられる。表示装置60は、LCDまたは有機ELディスプレイである。
【0043】
入出力I/F56は、入力装置58から入力された操作データ(または、操作情報)をCPU50に出力するとともに、CPU50によって生成された画像データを表示装置60に出力して、画像データに対応する画面を表示装置60に表示させる。
【0044】
なお、
図2に示すサーバ12の電気的な構成は一例であり、限定される必要はない。
【0045】
図3は
図1に示した操作者端末16の電気的な構成を示すブロック図である。
図3に示すように、操作者端末16はCPU70を含み、CPU70は、内部バスを介して、RAM72、通信部74および入出力I/F76に接続される。
【0046】
CPU70は、操作者端末16の全体的な制御を司る。ただし、CPU70に代えて、CPU機能、GPU機能等の複数の機能を含むSoCを設けてもよい。RAM72は、操作者端末16の主記憶装置であり、CPU70のワーク領域およびバッファ領域として用いられる。
【0047】
図示は省略するが、操作者端末16は、HDDおよびROMのような補助記憶装置も備える。ただし、HDDおよびROMに代えて、または、HDDおよびROMに加えて、SSD等の不揮発性メモリが使用されてもよい。
【0048】
通信部74は、CPU70の制御の下、ネットワーク14を介して、サーバ12およびロボット18などの外部のコンピュータとの間で、制御信号(動作コマンドを含む)およびデータの送受信を行う。ただし、通信部74としては、有線LANのみならず、無線LANまたはBluetooth(登録商標)等を使用することもできる。
【0049】
入出力I/F76には、入力装置78および表示装置80、マイク82およびスピーカ84が接続されている。入力装置78として、キーボードおよびコンピュータマウスが用いられる。さらに、タッチパネルが設けられる場合もある。表示装置80は、LCDまたは有機ELディスプレイである。
【0050】
ただし、操作者端末16として、スマートフォンが用いられる場合には、入力装置78は、タッチパネルおよびハードウェアのボタンである。タッチパネルは、汎用のタッチパネルであり、静電容量方式、電磁誘導方式、抵抗膜方式、赤外線方式など、任意の方式のものを用いることができる。
【0051】
入出力I/F76は、マイク82で検出された操作者の音声をデジタルの音声データ(以下、「操作者音声データ」という)に変換してCPU70に出力するとともに、CPU70によって出力される音声データをアナログの音声信号に変換してスピーカ84から出力させる。ただし、実施例では、CPU50から出力される音声データは、サーバ12を介してロボット18から受信した音声データ(以下、「ロボット音声データ」という)である。また、入出力I/F76は、入力装置78から入力された操作データ(または、操作情報)をCPU70に出力するとともに、CPU70によって生成された画像データを表示装置80に出力して、画像データに対応する画面または画像を表示装置80に表示させる。ただし、この実施例では、表示装置80に表示される制御画面200(
図5参照)には、サーバ12を介してロボット18から受信したロボット画像データも出力される。ただし、ロボット画像データは、ロボット18のカメラ122で撮影された画像(動画像または静止画像)の画像データである。
【0052】
また、操作者端末16は、センサI/F86およびカメラ88を備えている。CPU70は、バスおよびセンサI/F86を介してカメラ88に接続される。カメラ88は、CCDまたはCMOSのような撮像素子を用いたカメラである。図示は省略するが、カメラ88は、表示装置80の近傍に設けられ、表示装置80の前方の所定範囲(画角で決まる範囲)を撮影する。したがって、カメラ88は、表示装置80に対面する操作者を撮影することができる。
【0053】
なお、
図3に示す操作者端末16の電気的な構成は一例であり、限定される必要はない。上述したように、各操作者端末16が異なる種類の情報処理装置である場合には、電気的な構成も異なる場合がある。
【0054】
また、操作者端末16がスマートフォンである場合には、携帯電話通信網、または、携帯電話網および公衆電話網を介して、通話するための通話回路を備えるが、この実施例では、そのような通話は行わないため、図示は省略してある。
【0055】
図4は
図1に示したロボット18の電気的な構成を示すブロック図である。
図4に示すように、ロボット18はCPU100を含み、CPU100は、内部バスを介して、RAM102、通信部104および入出力I/F106に接続される。
【0056】
CPU100は、ロボット18の全体的な制御を司る。ただし、CPU100に代えて、CPU機能、GPU機能等の複数の機能を含むSoCを設けてもよい。RAM52は、操作者端末16の主記憶装置であり、CPU100のワーク領域およびバッファ領域として用いられる。
【0057】
図示は省略するが、ロボット18は、HDDおよびROMのような補助記憶装置も備える。ただし、HDDおよびROMに代えて、または、HDDおよびROMに加えて、SSD等の不揮発性メモリが使用されてもよい。
【0058】
通信部104は、CPU100の制御の下、ネットワーク14を介して、サーバ12および操作者端末16などの外部のコンピュータとの間で、制御信号(動作コマンドを含む)およびデータの送受信を行う。ただし、通信部104としては、無線LANまたはBluetooth(登録商標)等を使用することができる。
【0059】
入出力I/F106には、入力装置108および表示装置30、マイク110およびスピーカ112が接続されている。入力装置108として、緊急停止用のハードウェアのボタンなどが設けられる。さらに、入力装置108として、表示装置30の表示面に重ねてタッチパネルが設けられる。表示装置30は、LCDまたは有機ELディスプレイである。一例として、タッチパネルは、汎用のタッチパネルであり、静電容量方式、電磁誘導方式、抵抗膜方式、赤外線方式など、任意の方式のものを用いることができる。
【0060】
入出力I/F106は、マイク110で検出された対話エージェントの音声をデジタルの音声データに変換してCPU100に出力するとともに、CPU100によって出力される音声データをアナログの音声信号に変換してスピーカ112から出力させる。
【0061】
ただし、実施例では、CPU100から出力される音声データは、サーバ12から受信した音声データである。サーバ12は、操作者端末16から受信した発話データ(以下、「操作者発話データ」という)に基づいて音声データを生成し、ロボット18に送信する。この実施例では、操作者発話データは、操作者の音声、または、操作者が入力した発話コマンドに従って発話される発話内容のテキストのデータである。
【0062】
また、入出力I/F106は、入力装置108から入力された操作データ(または、操作情報)をCPU100に出力するとともに、CPU100によって生成(または、出力)された画像データを表示装置30に出力して、画像データに対応する画面または画像を表示装置30に表示させる。
【0063】
ただし、この実施例では、サーバ12から送信された動作コマンドに応じた動作を行う所定のCGキャラクタについてのアバター画像28の画像データがロボット18によって生成され、生成された画像データに対応するアバター画像28が表示装置30に表示される。
【0064】
動作コマンドに応じた動作には、無意識に行う動作(以下、「無意識動作」という)も含まれる。無意識動作は、瞬きや呼吸のような生理的な動作および髪や顔を触るなどの癖による動作を意味する。また、動作コマンドは、ロボット18が自律行動を行う場合にはサーバ12から送信され、ロボット18が操作者によって遠隔操作される場合には操作者端末16からサーバ12を介して送信される。
【0065】
また、ロボット18は、モータドライバ114を備え、モータドライバ114はバスを介してCPU100に接続される。モータドライバ114は、CPU100の命令に従って、ロボット18の右車輪24Rを回転させる右車輪モータ116の駆動を制御するとともに、ロボット18の左車輪24Lを回転させる左車輪モータ118の駆動を制御する。
【0066】
また、ロボット18は、センサI/F120、カメラ122、レーザ距離計(LRF)124、LRF126、超音波センサ22および慣性計測ユニット128を備えている。
【0067】
CPU100は、バスおよびセンサI/F120を介して、カメラ122、LRF124、LRF126、超音波センサ22および慣性計測ユニット128にそれぞれ接続される。
【0068】
カメラ122は、CCDまたはCMOSのような撮像素子を用いたカメラである。
図1では省略したが、カメラ122は、表示装置30の上端部または下端部に設けられ、ロボット18の前方の所定範囲(画角で決まる範囲)を撮影する。したがって、カメラ122は、ロボット18に対面し、ロボット18を通して操作者と対話する対話エージェントまたは/およびロボット18が配置されたり移動したりする環境を撮影する。
【0069】
LRF124は、一般に、レーザ光を照射し、それが対象(物体や人体など)で反射して戻ってくるまでの時間から距離を計測する。この実施例のLRF124(後述する、LRF126も同じ)は、軸の周りをたとえば±45度の範囲で回転するミラー(図示せず)を含み、レーザ光の進路をこの回転ミラーでたとえば0.6度ずつ変化させながら計測を行う(レーザ光でスキャンする)ことができる。以下では、LRF124によってレーザ光でスキャン(走査)される平面をスキャン面と呼ぶ。また、LRF124で計測可能な距離は、レーザ光が人間の目に影響を与えないよう、所定距離R(たとえば15m)以下に制限されている。このため、LRF124の計測領域(すなわち、スキャン面)は、たとえば扇形、つまり所定距離Rの半径で中心角90度の扇形となる。なお、スキャン面(扇形)の中心角は90度とは限らず、たとえば180度や360度などでもよい。
【0070】
この実施例では、LRF124は、特定の人間を追跡するためなどの目的で設けられるものである。LRF126は、このロボット18の自律移動のためのものである。LRF124は、LRF126と兼用されてもよい。つまり、ロボット18の移動中と、ロボット18の移動を停止してアバターの画像(以下、「アバター画像」という)28による対話中とで、1つのLRFを使い分けるようにしてもよい。
【0071】
ロボット18は、LRF124の出力に基づいて、ロボット18またはLRF124に対する対象物までの距離および向きを検出することができる。したがって、ロボット18は、検出した自身の現在位置と、LRF124を用いて検出される対象物までの距離および向きに基づいて、対象物の現在位置を検出(算出)することができる。
【0072】
また、ロボット18は、LRF126の出力に基づいて、SLAM(Simultaneous Localization and Mapping)により、ロボット18が移動する環境の地図を作成するとともに、作成する環境の地図内における現在位置を推定し、それらに基づいて自身のナビゲーションを行う。この実施例では、LRF126は水平方向における障害物との距離を計測するため、ロボット18の周辺の障害物についての2次元の地図が作成される。したがって、ロボット18が作成する環境の地図は、ロボット18(LRF126)を真上方向から見た2次元の地図である。以下、ロボット18が作成する環境の地図を「作成地図」と呼ぶことにする。また、ロボット18は、自身が配置される環境について予め作成された環境の地図(この実施例では、「設定地図」)を記憶している。作成地図における原点と設定地図における原点を合わせるとともに、作成地図における方位と設定地図における方位を合わせておくことにより、設定地図(または、作成地図)におけるロボット18の現在位置が推定される。
【0073】
超音波センサ22は、超音波を用いた汎用の距離センサである。超音波センサ22は、ロボット18の前方に存在する対象物(人間または物)までの距離を計測する。一例として、超音波センサ22の水平方向における検知範囲は10度-45度であり、計測可能な距離は5m-15mである。上記のとおり、LRF128が設けられるため、超音波センサ22は設けなくてもよい。
【0074】
慣性計測ユニット128は3次元の慣性運動(直交3軸方向の並進運動および回転運動)を検出する装置であって、加速度センサによって並進運動を検出し、角速度(ジャイロ)センサによって回転運動を検出する。
【0075】
なお、
図4に示すロボット18の電気的な構成は一例であり、限定される必要はない。
【0076】
上述したように、ロボット18は、自律行動可能であり、配置された環境において予め決定されたスタート地点(移動開始地点)からゴール地点(目標地点)まで経路探索を行いながら移動することができる。ただし、スタート地点とゴール地点の間に、1または複数の経由地点が設定されてもよい。また、経路探索の方法としては、標準的な方法、すなわち、ウォーシャルフロイド法、ダイクストラ法、A*アルゴリズム、ポテンシャル法、RRT (Rapidly exploring Random Tree)などを用いることができる。スタート地点、ゴール地点および1または複数の経由地点は、サーバ12の管理者または操作者によって予め指定されている。
【0077】
また、ロボット18は、操作者の遠隔操作に従って、配置された環境において自由に移動することも可能である。操作者端末16でロボット18の移動等を操作することは既に周知であり、ここではその遠隔操作についての詳細な説明は省略する。
【0078】
図5に示す制御画面200は、ロボット18を遠隔操作するための画面である。制御画面200には、表示領域202、204、206および208が設けられる。また、制御画面200には、表示領域206および208の下方に、表示領域250およびボタン252が設けられ、これらの下方に、ボタン260がさらに設けられる。
【0079】
表示領域202は、ロボット18に設けられたカメラ124で撮影された映像(動画像または静止画像)を表示するための領域である。
【0080】
表示領域204は、ロボット18の移動を制御するコマンド(すなわち、動作コマンド)を入力するための複数のボタンを表示する。この実施例では、表示領域204には、ボタン210、212、214、216および218が表示される。ボタン210は、ロボット18を前進させるためのボタンである。ボタン212は、ロボット18を左折または左旋回させるためのボタンである。ボタン214は、ロボット18を右折または右旋回させるためのボタンである。ボタン216は、ロボット18を停止させるためのボタンである。ボタン218は、ロボット18を後進させるためのボタンである。
【0081】
詳細な説明は省略するが、ボタン210またはボタン218がオンされている状態で、ボタン212がオンされと、ロボット18は前進または後進しながら左に曲がる。また、ボタン210またはボタン218がオンされている状態で、ボタン214がオンされると、ロボット18は前進または後進しながら右に曲がる。ロボット18が停止している状態で、ボタン212がオンされると、ロボット18は反時計回りに進行方向を変える。また、ロボット18が停止している状態で、ボタン214がオンされると、ロボット18は時計回りに進行方向を変える。
【0082】
この実施例では、表示領域204に表示されたボタン210、212、214、216および218などが操作されると、各ボタン210、212、214、216および218に割り当てられた動作コマンドがサーバ12に送信される。
【0083】
表示領域206は、ロボット18のコミュニケーション行動を制御する動作コマンドを入力するための複数のボタンを表示する。この実施例では、表示領域206には、ボタン220、222、224、226および228などが表示される。ボタン220は、ロボット18を頷かせるためのボタンである。ボタン222は、ロボット18に首を振らせるためのボタンである。ボタン224は、ロボット18にお辞儀させるためのボタンである。ボタン226は、ロボット18に手を振らせるためのボタンである。ボタン228は、ロボット18に右手を挙げさせるためのボタンである。
【0084】
ただし、この実施例のロボット18は、手腕に相当する部位を有しておらず、また、腰および首に相当する関節も有していないため、アバター画像28を動作させることで、頷かせる、首を振らせる、お辞儀させる、手を振らせる、右手を挙げさせるなどのコミュニケーション行動が実行される。
【0085】
図示は省略するが、他のコミュニケーション行動を制御する動作コマンドを入力するための他の複数のボタンが設けられ、他の複数のボタンは表示領域206をスクロールすることで表示される。
【0086】
この実施例では、表示領域206に表示されたボタン220、222、224、226および228などが操作されると、各ボタン220、222、224、226および228に割り当てられた動作コマンドがサーバ12に送信される。
【0087】
表示領域208は、ロボット18の発話を制御するコマンド(すなわち、発話コマンド)を入力するための複数のボタンを表示する。表示領域208に表示された(設けられた)複数のボタンには、挨拶および呼び掛けなどの定型の言葉または文をロボット18に発話させるための発話コマンドが割り当てられる。この実施例では、表示領域208には、ボタン230、232、234、236および238などが表示される。ボタン230は、ロボット18に挨拶“おはよう”を発話させるためのボタンである。ボタン232は、ロボット18に挨拶“こんにちは”を発話させるためのボタンである。ボタン234は、ロボット18に挨拶“お久ぶりです”を発話させるためのボタンである。ボタン236は、ロボット18に呼び掛け“検温をお願いします”を発話させるためのボタンである。ボタン238は、ロボット18に呼び掛け“アルコール消毒をお願いします”を発話させるためのボタンである。ボタン230-238などがオンされると、オンされたボタン(230-238など)に割り当てられた定型の言葉または文についてテキストおよび当該テキストをロボット18に発話させることがサーバ12に指示される。
【0088】
図示は省略するが、他の発話を制御する発話コマンドを入力するための複数の他のボタンが設けられ、複数の他のボタンは表示領域208をスクロールすることで表示される。
【0089】
この実施例では、表示領域208に表示されたボタン230、232、234、236および238などが操作されると、各ボタン230、232、234、236および238に割り当てられた発話コマンドがサーバ12に送信される。
【0090】
また、表示領域250は、定型の言葉および文以外の発話内容をテキストで入力するための領域である。ボタン252は、表示領域250に入力または表示された発話内容すなわちテキストの内容をロボット18に発話させる発話コマンドを入力するためのボタンである。
【0091】
この実施例では、ボタン252が操作されると、表示領域250に表示されたテキストの内容をロボット18に発話させる発話コマンドがサーバ12に送信される。
【0092】
ボタン260は、ロボット18の遠隔操作の終了を指示するためのボタンである。一例として、ボタン260がオンされると、制御画面200が表示された操作者端末16の操作者がロボット18の遠隔操作を終了することがサーバ12に指示(または、通知)される。
【0093】
図6は顧客情報画面300の一例を示す図である。この顧客情報画面300は、上記の制御画面200と並んで表示される。また、顧客情報画面300は、ロボット18に対面する顧客すなわち対話エージェントについての顧客情報を表示するための画面である。
【0094】
図6に示すように、顧客情報画面300には、表示領域302、304、306および308が設けられる。また、顧客情報画面300の下端には、入力欄(表示領域)310、ボタン312およびボタン314が設けられる。
【0095】
表示領域302は、顧客すなわち対話エージェントの顔画像を表示するための領域である。表示領域304は、対話エージェントの基本情報を表示する領域である。基本情報は、対話エージェントについての個人属性および社会属性などの情報である。表示領域306は、対話エージェントの応対情報を表示する領域である。応対情報は、対話エージェントについての嗜好についての情報である。表示領域308は、重要な対話履歴を表示する領域である。
【0096】
入力欄310は、重要な対話履歴を入力する欄または表示領域である。ボタン312は、入力欄310に入力または表示された内容すなわち重要な対話履歴のテキストを顧客情報の重要な対話として登録するためのボタンである。ボタン314は、入力欄310に入力または表示された内容すなわち重要な対話履歴のテキストを顧客情報の重要な対話から削除するためのボタンである。
【0097】
この実施例では、サーバ12は、ロボット18から送信されたロボット画像データに基づいて対話エージェントを認証し、認証に成功した対話エージェントの顧客情報を顧客情報DB12bから取得し、取得した顧客情報をロボット18を遠隔操作する操作者端末16に送信する。操作者端末16は、サーバ12から受信した顧客情報に基づいて上記の顧客情報画面300を表示する。この実施例では、サーバ12は、ロボット画像データに含まれる顔画像と一致する顔画像を有する顧客情報が顧客情報DB12bに登録されているかどうかを判断することで、対話エージェントを認証する。サーバ12は、ロボット画像データに含まれる顔画像と一致する顔画像を有する顧客情報が顧客情報DB12bに登録されている場合には、認証に成功したと判断する。
【0098】
ただし、サーバ12は、認証した結果、対話エージェントの顧客情報が顧客情報DB12bに登録されていない場合には、認証に失敗したと判断し、新規顧客として当該対話エージェントの顧客情報を登録するとともに、登録した顧客情報を操作者端末16に送信する。サーバ12は、新規顧客として対話エージェントを登録する場合、顧客IDを発行し、発行した顧客IDに対応付けた、顔画像を含む顧客情報を生成し、顧客情報DB12bに登録する。新規に登録される顧客情報に含まれる顔画像は、ロボット画像データに含まれる顔画像である。
【0099】
図7に示すように、顧客情報は、顧客すなわち対話エージェント毎に、個人属性、社会属性、嗜好情報および重要な対話に分類された複数の個別情報を含む。また、各顧客情報には、顧客すなわち対話エージェントの識別情報(以下、「顧客ID」という)が付加されている。上述したように、顧客IDは、新規顧客についての顧客情報を登録するときに、サーバ12によって発行される。
【0100】
個人属性は、顧客すなわち対話エージェントについての個人に関する個別情報であり、顔画像、氏名、性別、年齢、交通手段、居住地、訪問先、前回訪問日(対話履歴の最新の日付)などを含む。
【0101】
社会情報は、顧客すなわち対話エージェントについての所属先および社会的地位に関する個別情報であり、所属する組織名と分類、役職名などを含む。
【0102】
嗜好情報は、顧客すなわち対話エージェントについてのアバターに関するまたはアバターを用いた操作者の応対に関する嗜好についての個別情報であり、呼ばれ方の嗜好、声の嗜好、方言の嗜好、服装の嗜好などを含む。
【0103】
ただし、嗜好情報については、1つの嗜好情報について複数の個別情報を有する場合がある。たとえば、呼ばれ方の嗜好としては、さん付け、様付けおよび役職名などの個別情報がある。したがって、呼ばれ方の嗜好として、さん付けと、様付けと、役職名とはそれぞれ別の個別情報として登録される。他の嗜好情報についても同様である。声の嗜好としては、男性の声、女性の声およびロボットらしい声などの個別情報がある。方言の嗜好としては、関東方言、近畿方言などの個別情報に加え、標準語の個別情報がある。服装の嗜好としては、制服、私服などの個別情報がある。
【0104】
重要な対話の履歴は、顧客すなわち対話エージェントとの対話の履歴のうち、重要な対話についての個別情報である。この実施例では、重要な対話は、操作者によって登録されたり、削除されたりする。
【0105】
なお、顧客情報およびその詳細は一例であり、限定される必要はない。顧客情報はさらに別の個別情報を含んでもよい。たとえば、別の分類として生体情報が設けられ、生体情報としては、対話エージェントの健康状態、音の聞こえやすさ、感情などの個別情報が含まれる。個別情報を増加させることで、対話エージェントにより適切に応対することができると考えられる。ただし、生体情報を含める場合には、ロボット18またはロボット18が配置される環境内に健康状態や音の聞こえやすさを検出するセンサを設けたり、検出した値から健康状態や音の聞こえやすさを解析するためのプログラムをロボット18またはサーバ12に適宜設けたりする必要がある。
【0106】
この実施例では、ロボット18を用いて所定のサービスを提供し、対話エージェントと対話する場合に、対話エージェントについての顧客情報に基づいて応対するようにしてある。
【0107】
また、各顧客情報には重要度が付加されている。重要度は、対話エージェントが、対応する個別情報についての関心の度合である。ロボット18は、自律行動する場合、高い重要度を有する個別情報に従ってコミュニケーション行動をサーバ12によって制御される。また、ロボット18は、遠隔操作される場合、操作者に高い重要度を有する個別情報を優先して提示することで、高い重要度を有する個別情報に従う制御を促す。
【0108】
ただし、顔画像は顧客情報画面300の表示領域302に必ず表示される情報であるため、この顔画像には重要度は設定されていない。また、重要な対話は、重要であるため、重要度は設定されていない。
【0109】
また、上述したように、新規顧客の顧客情報が登録されるときには、顔画像のみを含むため、この実施例では、他の個別情報については、自律行動または遠隔操作によりロボット18を用いて対話エージェントに応対し、その場合の対話した内容から抽出した個別情報および対話時に設定されたアバターの嗜好に関する個別情報が顧客情報に追加(登録)される。このとき、各個別情報には重要度(この実施例では、初期値=1)が付加される。
【0110】
対話した内容から個別情報を抽出し、分類する方法としては、一例として、次の方法を採用することができる。対話した内容のテキストを形態素解析して形態素に分離し、予め登録してある分類のための辞書データを参照して、形態素の文字列が分類される。
【0111】
ただし、対話が音声データである場合には、音声認識することでテキストに変換される。対話エージェントの音声および操作者の音声を音声認識する場合には、後述する特開2021-157145号に開示された推論器を用いることができる。
【0112】
また、分類のための辞書データは、予め個別情報として登録されることが決定されている複数の文字列が、それぞれ、顧客情報における分類と個別情報の種類を対応付けて記憶されたデータである。
【0113】
なお、分類するための辞書データに氏名を含めると、データ量が膨大になってしまうため、氏名については、自律行動するロボット18がシナリオに従って質問し、または、遠隔操作する操作者が質問し、それに対して対話エージェントが発話した音声を音声認識して、個別情報である氏名を抽出し、個人属性に分類するようにしてある。
【0114】
また、対話した内容から個別情報を抽出する方法としては、特開2020-071675号に開示された方法のような公知の方法を採用することもできる。また、抽出した個別情報を分類する方法としては、特開2021-018489号に開示された方法のような公知の方法を採用することもできる。対話した内容から個別情報を抽出したり分類したりする方法として公知の技術を用いる場合には、そのために必要な回路コンポーネントおよびデータが適宜サーバ12に設けられる。
【0115】
さらに、対話の履歴は、履歴DB12aに登録されるため、情報処理システム10またはサーバ12の管理者または操作者によって個別情報を追加(登録)するようにしてもおい。
【0116】
ロボット18が遠隔操作に従ってコミュニケーション行動する場合(以下、「遠隔モード」という)には、上述したように、ロボット18から送信されるロボット画像データおよびロボット音声データがサーバ12を介して、ロボット18を遠隔操作する操作者が使用する操作者端末16で受信され、この操作者端末16でロボット画像データおよびロボット音声データが出力されることにより、操作者は、ロボット18の周囲を見たり、ロボット18の周囲の状況を把握したり、ロボット18の表示装置30に対面している対話エージェントと対話したりすることができる。
【0117】
ただし、ロボット画像データおよびロボット音声データには、ロボット18の識別情報(ロボットID)が付加されている。したがって、サーバ12は、ロボット画像データおよびロボット音声データに付加されたロボットIDから当該ロボットIDを付与されたロボット18を特定するとともに、当該ロボット18を操作する操作者およびこの操作者が使用する操作者端末16を特定する。
【0118】
同様に、操作者発話データには、操作者の識別情報(操作者ID)が付加されている。したがって、サーバ12は、操作者発話データに付加された操作者IDから操作者を特定する。
【0119】
サーバ12では、ロボット18と操作者を特定することで、画像データ、音声データまたは操作者発話データおよび動作コマンドをRAM52に記憶する場合に、対話中の対話エージェントについての画像データ、対話中の対話エージェントの音声データおよび操作者発話データ、および、対話中に指示された動作コマンドをまとめた履歴として履歴DB12aに記録することができる。ただし、対話中の対話エージェントの画像データおよび音声データは、特定されたロボット18から送信されるロボット画像データおよびロボット音声データである。
【0120】
この実施例では、上述したように、操作者すなわちサービスユーザが所定のサービスを利用する場合に、対話エージェントと操作者は対話する。つまり、所定のサービスは、対話エージェントと操作者がロボット18を介して対話するサービス(対話サービス)を含む。また、サーバ12は、対話エージェントと操作者の対話の履歴、操作者の操作(この実施例では、動作コマンド)の履歴、対話エージェントおよび操作者の画像の履歴を履歴DB12aに記憶する。
【0121】
一例として、対話の履歴、操作の履歴、対話エージェントの画像の履歴は、操作者が対話エージェントに応対している場合に記録される。これは、自律行動または遠隔操作で操作者またはロボットと対話エージェントが対話した対話内容に含まれる個別情報を抽出し、抽出した個別情報を登録するのみならず、抽出した個別情報の重要度を更新するためである。
【0122】
また、この実施例では、上述したように、ロボット18は、操作者によらないで自律行動する場合(以下、「自律モード」という)または遠隔モードで動作等を行う。自律モードまたは遠隔モードは、サーバ12によって設定される。
【0123】
サーバ12は、所定のサービスを提供するロボット18を遠隔操作する操作者が居ない場合に、自律モードを設定する。この場合、サーバ12は、自律モードで動作等を行うことをロボット18に指示する。したがって、ロボット18は、自律モードで動作等を行う。
【0124】
自律モードでは、サーバ12は、ロボット画像データに含まれる顔画像から対話エージェントを認証(または、特定)し、認証した対話エージェントについての顧客情報を顧客情報DB12bから取得し、取得した顧客情報を用いて、サーバ12は、ロボット18の移動およびコミュニケーション行動を自動で制御する。
【0125】
一例として、自律モードでは、顧客情報のうちの重要度が高い情報を用いてアバターが制御される。サーバ12は、個人情報、社会情報、嗜好情報のうち、重要度が高い情報を用いて対話するようにロボット18を制御する。このとき、嗜好情報に含まれる、声の嗜好に従う音響モデルが用いられること、方言の嗜好に従う発話内容についてのテキストが用いられること、および、服装の嗜好に従う服装のアバターを表示することが設定される。ただし、この実施例では、アバター画像28はロボット18が生成するため、声の嗜好が示す性別等に応じたアバーであって、服装の嗜好に従う服装のアバターを表示することはロボット18に指示される。他の個別情報については、アバター音声データを生成する場合に、テキストに反映される。
【0126】
なお、この実施例では、自律モードにおいては、重要な対話履歴を記憶したり、削除したりしないようにしてあるが、限定される必要はない。ロボット音声データから重要な対話を抽出して、重要な対話履歴として記憶することもできる。一例として、対話から重要な対話履歴を抽出する方法としては、特開2020-071675号に開示される方法を用いることができる。対話から重要な対話履歴を抽出する手法として公知の技術を用いる場合には、そのために必要な回路コンポーネントおよびデータが適宜サーバ12に設けられる。
【0127】
また、サーバ12は、所定のサービスを提供するロボット18を遠隔操作する操作者を当該ロボット18に割り当てると、遠隔モードを設定する。ただし、操作者は、自身の操作者端末を用いてサーバ12にログインし、所定のサービスを利用することを選択した操作者である。
【0128】
上述したように、遠隔モードでは、サーバ12は、ロボット画像データに含まれる顔画像から対話エージェントを認証(または、特定)し、認証した対話エージェントについての顧客情報を顧客情報DB12bから取得し、取得した顧客情報を操作者端末16に送信する。操作者端末16では、顧客情報を用いて顧客情報画面300を表示する。このとき、顧客情報に含まれる個別情報は、重要度の高い順に表示される。操作者は顧客情報画面300を参照して、ロボット18を制御する。サーバ12は、ロボット18を遠隔操作することを割り当てた操作者の操作者端末16から送信される動作コマンドに従ってロボット18の動作を制御し、操作者端末16から送信される操作者発話データに従ってロボット18の発話を制御し、操作者端末16から送信される操作者画像データに従ってアバター画像28の表示を制御する。
【0129】
一例として、遠隔モードでは、顧客情報のうちの重要度が高い個別情報を用いてアバターを制御することができる。顧客情報に従ってアバターを制御するか否かは操作者に委ねられる。ただし、この実施例では、重要度が高い顧客情報が優先的に顧客情報画面300に表示されるため、顧客情報に従ってアバターを制御した場合には、対話エージェントに円滑に応対することができると考えられる。
【0130】
遠隔モードでは、サーバ12は、操作者の操作に従ってロボット18を制御する。このとき、対話エージェントの嗜好情報に含まれる、声の嗜好に従う音響モデルが用いられること、方言の嗜好に従う発話内容についてのテキストが用いられること、および、服装の嗜好に従う服装のアバターを表示することが操作者端末16から指示されると、声の嗜好に従う音響モデルが用いられること、方言の嗜好に従う発話内容についてのテキストが用いられること、および、服装の嗜好に従う服装のアバターを表示することが設定される。ただし、これらすべてが同時に設定される必要はない。いずれか1つ以上が設定されればよい。ただし、この実施例では、アバター画像28はロボット18が生成するため、声の嗜好に従う性別等のアバターであって、服装の嗜好に従う服装のアバターを表示することがロボット18に指示される。他の顧客情報については、アバター音声データを生成する場合に、テキストに反映される。
【0131】
詳細な説明および図示は省略するが、操作者は、操作者端末16に顧客情報画面300が表示されている場合に、オプションを選択することで、対話エージェントの嗜好情報に含まれる、声の嗜好に従う音響モデルが用いられること、方言の嗜好に従う発話内容についてのテキストが用いられること、および、服装の嗜好に従う服装のアバターを表示することを個別に指示(または、選択)することができる。また、指示(または、選択)した内容を解除することできる。
【0132】
また、上述したように、声の嗜好は、男性の声、女性の声またはロボットらしい声であり、サーバ12は、声の嗜好に応じた音声でロボット18に発話させる場合には、この嗜好に応じた音声についての音響モデルを用いて合成音声を生成する。この合成音声は、一例として、特開2021-157145号に開示された学習済みの推論器を用いて生成される。この学習済みの推論器では、入力されたテキストから合成音声が生成される。したがって、遠隔モードにおいては、操作者発話データが操作者音声データである場合には、操作者音声データに対応する操作者音声を音声認識した結果であるテキストが推論器に入力される。
【0133】
なお、推論器の学習は、特開2021-157145号に開示された方法を用いることができる。また、この推論器を用いることで操作者音声を音声認識することもできる。
【0134】
また、アバター画像28は、サーバ12から送信されるアバター音声データに基づいて音声を出力するとき、リップシンクされる。
【0135】
この実施例では、上述したように、各顧客情報に含まれる個別情報の重要度は更新される。一例として、個別情報は、自律モードまたは遠隔モードでロボット18が発話した場合の対話エージェントの反応に応じて更新される。この実施例では、サーバ12は、ロボット18が発話した後に受信したロボット画像データに含まれる対話エージェントの顔画像から対話エージェントの感情を推定(または、検出)する。対話エージェントの感情が肯定的である場合には、最新の対話に含まれる1または複数の個別情報およびアバターに設定されている個別情報に含まれる1または複数の個別情報の各々の重要度を所定値だけ上昇させる。一方、対話エージェントの感情が否定的である場合には、最新の対話に含まれる1または複数の個別情報およびアバターに設定されている個別情報に含まれる1または複数の個別情報の各々の重要度を所定値だけ下降させる、または、更新しない。
【0136】
ただし、この実施例では、最新の対話とは、履歴DB12aに記憶される最新の対話履歴であり、最新の対話履歴は、対話エージェントの音声データおよびこれに対する操作者の音声データ、または、操作者の音声データのみである。
【0137】
重要度は1から10の間の数値で設定され、上昇または下降させる所定値は0.2である。また、重要度は、個別情報が顧客情報に登録されたときに初期値(たとえば、1)に設定される。さらに、重要度は、最大値(10)および最小値(1)を超えて上昇または下降されない。
【0138】
推定される感情は、喜び、恐れ、悲しみ、嫌悪および怒りのいずれかであり、このうちの喜びが肯定的な感情であり、それ以外の恐れ、悲しみ、嫌悪および怒りが否定的な感情である。
【0139】
なお、操作者の顔画像から感情を推定する方法としては、公知の技術を用いることができる。たとえば、「小林 宏、原 文雄:ニューラルネットワークによる人の基本表情認識、計測自動制御学会論文集 Vol.29, No.1, 112/118(1993)」、「小谷中陽介、本間経康、酒井正夫、阿部健一:ニューラルネットワークを用いた顔表情認識、東北大医保健学科紀要 13(1):23~32, 2004」および「西銘 大喜、遠藤 聡志、當間 愛晃、山田 孝治、赤嶺 有平:畳み込みニューラルネットワークを用いた表情表現の獲得と顔特徴量の分析、人工知能学会論文誌 32巻5号FZ(2017年)」などに開示された技術を用いることができる。
【0140】
また、他の公知の技術では、顔画像から抽出した特徴点に基づいて人間の感情を推定する手法としては、特開2020-163660号公報に開示された技術を用いることもできる。
【0141】
また、音声から人間の感情を推定することもできる。音声から人間の感情を推定する手法としては、公知の技術を用いることができる。たとえば、特開2021-12285号および「森 大毅:音声から感情・態度の理解、電子情報通信学会誌 Vol. 101, No. 9, 2018」などに開示された技術を用いることができる。
【0142】
ただし、顔画像または音声に基づいて感情を推定する手法として公知の技術を用いる場合には、そのために必要な回路コンポーネントおよびデータが適宜サーバ12に設けられる。ただし、顔画像または音声に基づいて感情を推定する装置(以下、「推定装置」という)をクラウド上に設けて、推定装置に顔画像または音声を送信し、感情の推定結果を推定装置から受け取るようにしてもよい。
【0143】
なお、この実施例では、対話エージェントの反応として、対話エージェントの感情を推定するようにようにしたが、これに限定される必要はない。対話エージェントの反応として、対話エージェントがロボット18に視線を向けている時間の長さと視線を逸らしている時間の長さを検出してもよい。この場合、視線を向けている時間が長い程、重要度を上昇させ、視線を逸らしている時間が長い程、重要度を下降させることができる。ただし、視線を逸らしている時間が長くても、重要度を更新しなくてもよい。
【0144】
図8はサーバ12に内蔵されるRAM52のメモリマップ400の一例を示す。
図8に示すように、RAM52は、プログラム記憶領域402およびデータ記憶領域404を含む。プログラム記憶領域402には、この実施例のサーバ12で実行される情報処理プログラムが記憶されている。
【0145】
情報処理プログラムは、通信プログラム402a、認証プログラム402b、顧客情報送信プログラム402c、履歴記憶プログラム402d、動作モード設定プログラム402e、感情推定プログラム402f、個別情報登録プログラム402gおよび重要度更新プログラム402hなどを含む。
【0146】
通信プログラム402aは、外部の機器、この実施例では、操作者端末16およびロボット18とネットワーク14を介して通信(データの送信および受信)するためのプログラムである。
【0147】
認証プログラム402bは、対話エージェントの顧客情報が顧客情報DB12bに登録されているかどうかを認証するためのプログラムである。この実施例では、認証プログラム402bは、ロボット画像データの顔画像と一致する顔画像を有する顧客情報が顧客情報DB12bに登録されているかどうかを判断し、登録されている場合には、認証成功と判断する。ただし、認証プログラム402bは、対話エージェントの顧客情報が顧客情報DB12bに登録されていない場合には、認証失敗と判断し、顧客IDを発行し、発行した顧客IDに対応付けた、顔画像のデータを含む顧客情報データ404fを生成し、新規顧客として、生成した顧客情報データ404fを顧客情報DB12bに登録する。また、認証プログラム402bは、生成した顧客情報データ404fを操作者端末16に送信する。
【0148】
顧客情報送信プログラム402cは、遠隔モードの場合に、認証プログラム402bによって認証された対話エージェントについての顧客情報または新規顧客の顧客情報を操作者端末16に送信するためのプログラムである。
【0149】
履歴記憶プログラム402dは、操作者毎の応対履歴を記憶するためのプログラムである。この実施例では、応対履歴として、対話エージェントに応対している場合の動作コマンド、操作者発話データ、ロボット画像データおよびロボット音声のデータが時系列に従って記憶される。
【0150】
なお、詳細な説明は省略するが、情報処理システム10またはサーバ12の管理者が、対話履歴に基づいて、顧客情報を生成および更新することもできる。
【0151】
動作モード設定プログラム402eは、ロボット18の動作モードを設定および管理するためのプログラムである。この実施例では、遠隔操作する操作者が居ない場合には、動作モードとして自律モードが設定され、遠隔操作する操作者が割り当てられた場合には、遠隔モードが設定される。ただし、遠隔モードにおいて操作者端末16がログアウトした場合、すなわち、いずれの操作者端末16もログインしていない場合には、遠隔操作する操作者が居ないため、動作モードとして自律モードが設定される。
【0152】
感情推定プログラム402fは、ロボット画像データ404aに含まれる顔画像から対話エージェントの感情を推定するためのプログラムである。個別情報登録プログラム402gは、ロボット音声データ404bに含まれる対話エージェントの発話内容から個別情報を抽出し、抽出した個別情報が対話エージェントの顧客情報に含まれていない場合に、当該個別情報を登録するためのプログラムである。個別情報が登録される場合、当該個別情報の重要度は1に設定される。
【0153】
重要度更新プログラム402hは、自律モードまたは遠隔モードにおいてアバターが発話されたときの対話エージェントの反応(この実施例では、感情)に応じて、最新の対話に含まれる個別情報およびアバターに設定された個別情報(たとえば、声の嗜好、方言の嗜好、服装の嗜好)についての重要度を更新するためのプログラムである。
【0154】
なお、顧客情報データ404fやアバター音声データ404hを送信する場合には、通信プログラム402aも実行される。
【0155】
図示は省略するが、プログラム記憶領域402には、サーバ12のオペレーティングシステムおよびミドルウェアとは別に所定のサービスを提供するために必要な他のプログラムも記憶される。
【0156】
また、データ記憶領域404には、ロボット画像データ404a、ロボット音声データ404b、操作者発話データ404c、動作コマンドデータ404d、動作モードデータ404e、顧客情報データ404f、アバター設定データ404g、アバター音声データ404hおよび重要な対話データ404iなどが記憶される。
【0157】
ロボット画像データ404aは、ロボット18に設けられたカメラ124で撮影され、ロボット18から受信したカメラ画像のデータである。ロボット画像データ404aは、操作者端末16に送信された後にRAM52から消去される。
【0158】
ロボット音声データ404bは、ロボット18に設けられたマイク110で検出され、ロボット18から受信した音声のデータである。この音声には、対話エージェントの音声が含まれる。ロボット音声データ404bは、操作者端末16に送信された後にRAM52から消去される。
【0159】
操作者発話データ404cは、ロボット18を遠隔操作している操作者が使用する操作者端末16に設けられたマイク82で検出され、この操作者端末16から受信した音声のデータ、または、操作者端末16の表示装置80に表示された制御画面200を用いて発話することが指示されたテキストのデータである。ただし、音声のデータは、基本的には、ロボット18を遠隔操作している操作者の音声のデータすなわち操作者音声データである。
【0160】
動作コマンドデータ404dは、遠隔モードでは、操作者端末16から受信した、ロボット18を遠隔操作している操作者によって入力された動作コマンドのデータである。また、動作コマンドデータ404dは、自律モードでは、サーバ12で決定したコミュニケーション行動に含まれる動作の動作コマンドまたは無意識動作についての動作コマンドのデータである
動作モードデータ404eは、ロボット18の動作モードを識別するためのデータであり、この実施例では、自律モードまたは遠隔モードの別を示すデータである。
【0161】
顧客情報データ404fは、顧客情報DB12bから取得した、対話エージェントの顧客情報についてのデータである。
【0162】
アバター設定データ404gは、サーバ12自身によって、または、操作者の指示に従ってアバターに設定された個別情報についてのデータである。この実施例では、声の嗜好、方言の嗜好および服装の嗜好が該当する。また、アバター設定データ404gに声の嗜好または/および服装の嗜好のデータが含まれる場合には、声の嗜好に従う性別等のアバターを表示すること、または/および、服装の嗜好に従う服装のアバターを表示すること(すなわち、アバターの種類)がロボット18に指示される。
【0163】
アバター音声データ404hは、アバター画像28に発話させる合成音声のデータである。ただし、合成音声は、自律モードにおいては、デフォルトで設定された音響モデルを用いて生成され、遠隔モードにおいては、ロボット18を遠隔操作している操作者によって指示されたアバターの声に応じて設定された音響モデルを用いて生成される。
【0164】
重要な対話データ404iは、対話エージェントに対する重要な対話であって、操作者によって登録することが指示された重要な対話についてのテキストデータである。
【0165】
図示は省略するが、データ記憶領域404には、個別情報を分類するための辞書データなどの情報処理を実行するために必要な他のデータが記憶されたり、情報処理を実行するために必要なタイマ(カウンタ)およびフラグが設けられたりする。
【0166】
図9は操作者端末16に内蔵されるRAM72のメモリマップ500の一例を示す。
図9に示すように、RAM72は、プログラム記憶領域502およびデータ記憶領域504を含む。プログラム記憶領域502には、この実施例の操作者端末16で実行される情報処理プログラムが記憶されている。
【0167】
情報処理プログラムは、通信プログラム502a、操作検出プログラム502b、画像表示プログラム502c、音検出プログラム502dおよび音出力プログラム502eなどを含む。
【0168】
通信プログラム502aは、外部の機器、この実施例では、サーバ12およびロボット18と有線または無線で通信(データの送信および受信)するためのプログラムである。
【0169】
操作検出プログラム502bは、操作者の操作に従って入力装置78から入力される操作データを検出し、データ記憶領域504に記憶するためのプログラムである。
【0170】
ただし、制御画面200に設けられたボタン210-238、252および260が操作された場合には、操作されたボタン210-238、252および260に割り当てられた操作情報(動作コマンドを含む)のデータが操作データとして検出される。
【0171】
同様に、顧客情報画面300に設けられたボタン312およびボタン314が操作された場合には、操作されたボタン312または314に割り当てられた操作情報のデータが操作データとして検出される。
【0172】
また、顧客情報画面300において、オプションを選択したり、対話エージェントの嗜好情報に含まれる、声の嗜好に従う音響モデルが用いられること、方言の嗜好に従う発話内容についてのテキストが用いられること、および、服装の嗜好に従う服装のアバターを表示することを個別に指示(または、選択)したりした操作情報のデータが操作データとして検出される。
【0173】
画像表示プログラム502cは、各種の画面(この実施例では、制御画面200、顧客情報画面300)の表示画像データを生成し、生成した表示画像データを表示装置80に出力するためのプログラムである。ただし、制御画面200の表示画像データには、サーバ12から受信したロボット画像データ504dも含まれる。また、顧客情報画面300の表示画像データには、サーバ12から受信した顧客情報データ504cも含まれる。
【0174】
音検出プログラム502dは、マイク82から入力される操作者の音声を検出し、検出した音声に対応する操作者発話データ504fをデータ記憶領域504に記憶するためのプログラムである。
【0175】
音出力プログラム502eは、サーバ12から受信したロボット音声データ504eをスピーカ84に出力するためのプログラムである。また、音出力プログラム502eは、操作者発話データ504fをサーバ12に送信(または、出力)するためのプログラムでもある。このとき、通信プログラム502aも実行される。ただし、音出力プログラム502eは、ボタン252がオンされた場合に、表示領域250に表示されたテキストに対応する操作者発話データ504fもサーバ12に送信(または、出力)する。
【0176】
図示は省略するが、プログラム記憶領域502には、操作者端末16のオペレーティングシステム、任意のミドルウェアおよび任意のアプリケーションを実行するためのプログラムも記憶される。
【0177】
また、データ記憶領域504には、操作データ504a、画像生成データ504b、顧客情報データ504c、ロボット画像データ504d、ロボット音声データ504e、操作者発話データ504f、動作コマンドデータ504gおよび重要な対話データ504hなどが記憶される。
【0178】
操作データ504aは、操作検出プログラム502bに従って検出された操作データである。操作データ504aは、サーバ12に送信されたり、操作者端末16の処理に利用されたりした後に消去される。
【0179】
画像生成データ504bは、表示装置80に表示する画面(この実施例では、
図5に示した制御画面200および
図6に示した顧客情報画面300)を生成および表示するための画像データである。
【0180】
顧客情報データ504cは、サーバ12から受信した、応対中の対話エージェントについての顧客情報のデータである。
【0181】
ロボット画像データ504dは、サーバ12から受信したロボット画像データである。ロボット画像データ504dは、CPU70の処理に使用された後に消去される。
【0182】
ロボット音声データ504eは、サーバ12から受信したロボット音声データである。ロボット音声データ504eは、CPU70の処理に使用された後に消去される。
【0183】
操作者発話データ504fは、マイク82で検出された音声データまたは入力された発話コマンドのデータであり、サーバ12に送信された後に消去される。
【0184】
動作コマンドデータ504gは、入力された動作コマンドのデータであり、サーバ12に送信された後に消去される。
【0185】
重要な対話データ504hは、入力された重要な対話についてのテキストであり、顧客情報データ504cに追加または顧客情報データ504cから削除されるとともに、サーバ12に送信された後に消去される。
【0186】
図示は省略するが、データ記憶領域504には、情報処理を実行するために必要な他のデータが記憶されたり、情報処理を実行するために必要なタイマ(カウンタ)およびフラグが設けられたりする。
【0187】
図10はロボット18に内蔵されるRAM102のメモリマップ600の一例を示す。
図10に示すように、RAM102は、プログラム記憶領域602およびデータ記憶領域604を含む。プログラム記憶領域602には、この実施例のロボット18で実行される制御プログラムが記憶されている。
【0188】
制御プログラムは、通信プログラム602a、移動制御プログラム602b、撮影画像取得プログラム602c、アバター画像生成プログラム602d、画像表示プログラム602e、音検出プログラム602fおよび音出力プログラム602gなどを含む。
【0189】
通信プログラム602aは、外部の機器、この実施例では、サーバ12および操作者端末16と無線で通信(データの送信および受信)するためのプログラムである。
【0190】
移動制御プログラム602bは、サーバ12から受信した移動についての動作コマンドデータ604eに従って環境内を移動および停止するためのプログラムである。
【0191】
撮影画像取得プログラム602cは、カメラ122で撮影された撮影画像データを取得するためのプログラムである。
【0192】
アバター画像生成プログラム602dは、画像生成データ604aを用いて、サーバ12から受信したアバターの種類および動作コマンドデータ604eに従ってアバター画像データ604fを生成するためのプログラムである。
【0193】
画像表示プログラム602eは、アバター画像生成プログラム602dに従って生成したアバター画像データ604fに対応するアバター画像28を表示装置30に出力するためのプログラムである。
【0194】
音検出プログラム602fは、マイク110から入力される対話エージェント等の音声を検出し、検出した音声に対応するロボット音声データ604cをデータ記憶領域604に記憶するためのプログラムである。
【0195】
音出力プログラム602gは、サーバ12から受信したアバター音声データ604dをスピーカ112に出力するためのプログラムである。また、音出力プログラム602gは、音検出プログラム602fで検出したロボット音声データ604cをサーバ12に送信(または、出力)するためのプログラムでもある。このとき、通信プログラム602aも実行される。
【0196】
図示は省略するが、プログラム記憶領域602には、ロボット18のオペレーティングシステムおよび任意のミドルウェアに加えて、距離を検出するプログラムおよび慣性情報を検出するプログラムも記憶される。
【0197】
また、データ記憶領域604には、画像生成データ604a、ロボット画像データ604b、ロボット音声データ604c、アバター音声データ604d、動作コマンドデータ604eおよびアバター画像データ604fなどが記憶される。
【0198】
画像生成データ604aは、デフォルトのアバター、男性のアバター、女性のアバターについてのアバター画像28を生成するためのポリゴンデータおよびテクスチャデータなどのデータである。
【0199】
ロボット画像データ604bは、ロボット18が備えるカメラ122で撮影されたカメラ画像のデータである。ロボット画像データ604bは、サーバ12に送信された後に消去される。
【0200】
ロボット音声データ604cは、ロボット18が備えるマイク110で検出された対話エージェント等の音声のデータである。ロボット音声データ604cは、サーバ12に送信された後に消去される。
【0201】
アバター音声データ604dは、サーバ12から受信したアバター音声データである。アバター音声データ604dは、CPU100の処理に使用された後に消去される。
【0202】
動作コマンドデータ604eは、サーバ12から受信した動作コマンドのデータである。この動作コマンドに従ってロボット18の移動およびアバター画像28の動作が制御される。動作コマンドデータ604eは、CPU100の処理に使用された後に消去される。
【0203】
アバター画像データ604fは、アバター画像生成プログラム602dに従って生成されたアバター画像28の画像データである。
【0204】
図示は省略するが、データ記憶領域604には、制御処理を実行するために必要な他のデータが記憶されたり、制御処理を実行するために必要なタイマ(カウンタ)およびフラグが設けられたりする。
【0205】
図11-
図17は
図2に示したサーバ12のCPU50の所定のサービス実行時における情報処理の一例を示すフロー図である。図示は省略するが、サーバ12のCPU50は、操作者端末16からの要求に応じて、操作者端末16または操作者のログインおよびログアウトの処理を、情報処理と並行して実行する。
【0206】
図11に示すように、CPU50は、情報処理を開始すると、ステップS1で、ロボット18の動作モードが自律モードであるかどうかを判断する。ここでは、CPU50は、動作モードデータ404eを参照して、動作モードとして自律モードが設定されているかどうかを判断する。
【0207】
なお、CPU50は、ロボット18を操作する操作者が居ない場合に、つまり、いずれの操作者端末16もログインしていない場合に、自律モードを設定する。また、CPU50は、自律モードを設定した場合には、デフォルトのアバター画像28を表示することをロボット18に指示する。
【0208】
ただし、CPU50は、情報処理を開始したときに、ロボット18を遠隔操作する操作者が既に割り当てられている場合には、動作モードとして遠隔モードを設定する。
【0209】
ステップS1で“NO”であれば、つまり、動作モードが自律モードでなければ、
図14に示すステップS51に進む。一方、ステップS1で“YES”であれば、つまり、動作モードが自律モードであれば、ステップS3で、ロボット18が待機中であるかどうかを判断する。ここでは、CPU50は、ロボット18が対話エージェントに応対していないかどうかを判断する。一例として、CPU50は、ロボット18から音声データを受信しない状態が一定時間以上継続しているかどうかを判断する。
【0210】
ステップS3で“YES”であれば、つまり、ロボット18が待機中であれば、ステップS5で、無意識動作を実行するかどうかを判断する。ここでは、CPU50は、ロボット18を自律行動させるプログラムに従ってアバター(アバター画像28)が視線の向きを変えたり、顔を左または右に向けたりするタイミングであるかどうかを判断する。
【0211】
ステップS5で“NO”であれば、つまり、無意識動作を実行しない場合には、
図17に示すステップS117に進む。一方、ステップS5で“YES”であれば、つまり、無意識動作を実行する場合には、ステップS7で、無意識動作についての動作コマンドデータをロボット18に送信してステップS117に進む。
【0212】
上述したように、ステップS3で“NO”であれば、
図12に示すステップS9で、ロボット画像データを受信したかどうかを判断する。ステップS9で“NO”であれば、つまり、ロボット画像データを受信していなければ、
図13に示すステップS27に進む。一方、ステップS9で“YES”であれば、つまり、ロボット画像データを受信していれば、ステップS11で、ロボット画像データ404aをRAM52に記憶し、さらに、ステップS13で、ロボット画像データ404aを履歴DB12aに記憶する。
【0213】
次のステップS15では、対話エージェントを認識する。ここでは、CPU50は、ロボット画像データ404aにおいて人間の顔画像を認識し、顧客情報DB12bを参照して、認識した顔画像と一致する顔画像を含む顧客情報が登録されているかどうかを検索する。
【0214】
続いて、ステップS17で、対話エージェントの顧客情報が登録されているかどうかを判断する。ステップS17で“NO”であれば、つまり、対話エージェントの顧客情報が登録されていなければ、ステップS19で、対話エージェントを新規顧客として顧客情報DB12bに登録して、ステップS27に進む。このステップS19では、CPU50は、顧客IDを発行し、ステップS15で認識した顔画像を含む顧客情報に、発行した顧客IDを対応づけて顧客情報DB12bに登録する。このことは、後述するステップS71においても同じである。
【0215】
一方、ステップS17で“YES”であれば、対話エージェントの顧客情報が登録されていれば、ステップS21で、対話エージェントの変更かどうかを判断する。つまり、CPU50は、応対している対話エージェントが変わったかどうかを判断する。ただし、CPU50は、情報処理を開始した当初では、ロボット18が1人目の対話エージェントに応対する場合には、対話エージェントの変更でないと判断する。
【0216】
ステップS21で“YES”であれば、つまり、対話エージェントの変更であれば、ステップS25に進む。一方、ステップS21で“NO”であれば、つまり、対話エージェントの変更でなければ、ステップS23で、顧客情報の取得済みであるかどうかを判断する。
【0217】
ステップS23で“YES”であれば、つまり、顧客情報の取得済みであれば、ステップS27に進む。一方、ステップS23で“NO”であれば、つまり、顧客情報の取得済みでなければ、ステップS25で、ステップS15で認識した対話エージェントの顧客情報を顧客情報DB12bから取得して、顧客情報データ404fをRAM52に記憶して、ステップS27に進む。
【0218】
図13に示すように、ステップS27では、ロボット音声データを受信したかどうかを判断する。ステップS27で“NO”であれば、つまり、ロボット音声データを受信していなければ、ステップS33に進む。図示は省略するが、ロボット音声データを受信していない場合には、その時間が計測される。一方、ステップS27で“YES”であれば、つまり、ロボット音声データを受信していれば、ステップS39で、ロボット音声データ404bをRAM52に記憶して、ステップS33に進む。
【0219】
ステップS33では、対話エージェントの感情を推定する。対話エージェントの感情を推定する方法は上述したとおりである。次のステップS35では、最新の対話に含まれる個別情報およびアバターに設定された個別情報を抽出(または、取得)する。
【0220】
次のステップS37では、抽出した個別情報が対話エージェントの顧客情報に登録されているかどうかを判断する。ステップS37で“NO”であれば、つまり、抽出した個別情報が対話エージェントの顧客情報に登録されていなければ、ステップS39で、抽出した個別情報およびその重要度(ここでは、初期値=1)を対話エージェントの顧客情報に登録して、ステップS43に進む。
【0221】
一方、ステップS37で“YES”であれば、つまり、抽出した個別情報が対話エージェントの顧客情報に登録されていれば、ステップS41で、抽出した個別情報の重要度を更新して、ステップS43に進む。個別情報の重要度を更新する方法は上述したとおりである。また、ステップS35で、複数の個別情報が抽出されている場合には、ステップS37-S41の処理は、複数の個別情報の各々について実行される。
【0222】
ステップS43では、ロボット18のコミュニケーション行動を決定する。ただし、コミュニケーション行動の決定は、上述した特開2009-131914号に開示された方法に従って行われる。
【0223】
次のステップS45では、ステップS43で決定されたコミュニケーション行動に含まれる身振りすなわち動作についての動作コマンドデータをロボット18に送信する。ただし、コミュニケーション行動に動作が含まれない場合には、動作コマンドデータは送信されない。
【0224】
続くステップS47では、ステップS43で決定されたコミュニケーション行動に含まれる発話内容に対応するアバター音声データをロボット18に送信する。ただし、コミュニケーション行動に発話が含まれない場合には、アバター音声データは送信されない。
【0225】
そして、ステップS49で、動作コマンドデータおよびアバター音声データを履歴DB12aに記憶して、ステップS117に進む。ただし、コミュニケーション行動に動作が含まれない場合には、ステップS49で、動作コマンドデータは記憶されない。また、コミュニケーション行動に発話が含まれない場合には、ステップS49で、アバター音声データは記憶されない。
【0226】
上述したように、ステップS1で“NO”であれば、つまり、遠隔モードでは、
図14に示すステップS51で、操作者端末16から操作者発話データを受信したかどうかを判断する。ステップS51で“NO”であれば、つまり、操作者発話データを受信していなければ、ステップS59に進む。一方、ステップS51で“YES”であれば、つまり、操作者発話データを受信すれば、ステップS53で、操作者発話データ404cをRAM52に記憶し、ステップS55で、操作者発話データ404cに基づくアバター音声データ404hをロボット18に送信し、ステップS57で、操作者発話データ404cを履歴DB12aに記憶して、ステップS59に進む。
【0227】
ステップS59では、ロボット18からロボット画像データを受信したかどうかを判断する。ステップS59“NO”であれば、つまり、ロボット画像データを受信していなければ、
図15に示すステップS67に進む。一方、ステップS59で“YES”であれば、つまり、ロボット画像データを受信すれば、ステップS61で、ロボット画像データ404aをRAM52のデータ記憶領域404に記憶し、ステップS63で、ロボット画像データ404aを操作者端末16に送信し、ステップS65で、ロボット画像データ404aを履歴DB12aに記憶して、ステップS67に進む。
【0228】
図15に示すステップS67では、対話エージェントを認識し、ステップS69で、対話エージェントの顧客情報が登録されているかどうかを判断する。ステップS69で“NO”であれば、つまり、対話エージェントの顧客情報が登録されていなければ、ステップS71で、対話エージェントを新規顧客として顧客情報DB12bに登録して、ステップS79に進む。
【0229】
一方、ステップS69で“YES”であれば、対話エージェントの顧客情報が登録されていれば、ステップS73で、対話エージェントの変更かどうかを判断する。
【0230】
ステップS73で“YES”であれば、つまり、対話エージェントの変更であれば、ステップS77に進む。一方、ステップS73で“NO”であれば、つまり、対話エージェントの変更でなければ、ステップS75で、顧客情報の送信済みであるかどうかを判断する。
【0231】
ステップS75で“YES”であれば、つまり、顧客情報の送信済みであれば、
図16に示すステップS81に進む。一方、ステップS75で“NO”であれば、つまり、顧客情報の送信済みでなければ、ステップS77で、ステップS67で認識した対話エージェントの顧客情報を顧客情報DB12bから取得し、ステップS79で、対話エージェントの顧客情報を操作者端末16に送信して、ステップS81に進む。
【0232】
図16に示すように、ステップS81では、ロボット18からロボット音声データを受信したかどうかを判断する。ステップS81で“NO”であれば、つまり、ロボット音声データを受信していなければ、ステップS89に進む。一方、ステップS81で“YES”であれば、つまり、ロボット音声データを受信すれば、ステップS83で、ロボット音声データ404bをデータ記憶領域404に記憶し、ステップS85で、ロボット音声データ404bを操作者端末16に送信し、ステップS87で、ロボット音声データ404bを履歴DB12aに記憶して、ステップS89に進む。
【0233】
ステップS89では、対話エージェントの感情を推定する。対話エージェントの感情を推定する方法は上述したとおりである。次のステップS91では、最新の対話およびアバターに設定された応対情報から個別情報を抽出(または、取得)する。
【0234】
次のステップS93では、抽出した個別情報が対話エージェントの顧客情報に登録されているかどうかを判断する。ステップS93で“NO”であれば、つまり、抽出した個別情報が対話エージェントの顧客情報に登録されていなければ、ステップS95で、抽出した個別情報およびその重要度(ここでは、初期値=1)を対話エージェントの顧客情報に登録して、ステップS99に進む。つまり、新規顧客の対話エージェントについての顧客情報が登録される。
【0235】
一方、ステップS93で“YES”であれば、つまり、抽出した個別情報が対話エージェントの顧客情報に登録されていれば、ステップS97で、抽出した個別情報の重要度を更新して、ステップS99に進む。つまり、個別情報の重要度が更新されることによって、当該個別情報を含む顧客情報が更新される。ただし、個別情報の重要度を更新する方法は上述したとおりである。また、ステップS91で、複数の個別情報が抽出されている場合には、ステップS93-S97の処理は、複数の個別情報の各々について実行される。
【0236】
ステップS99では、更新または登録された顧客情報を操作者端末16に送信して、
図17に示すステップS101に進む。したがって、操作者端末16では、登録された顧客情報を用いた顧客情報画面300が表示されたり、更新された顧客情報を用いた顧客情報画面300が表示(更新)されたりする。したがって、操作者は、顧客情報画面300において、個別情報がほとんど表示されていない場合に、新規顧客またはほとんど対話したことのない対話エージェントに応対ししていることを知ることができる。また、対話中に個別情報が更新されることで、常に新しい顧客情報を参照しながら対話エージェントに応対することができる。つまり、対話エージェントに対して適切に応対することができる。
【0237】
図17に示すように、ステップS101では、操作者端末16から動作コマンドデータを受信したかどうかを判断する。ステップS101で“NO”であれば、つまり、動作コマンドデータを受信していなければ、ステップS117に進む。一方、ステップS101で“YES”であれば、つまり、動作コマンドデータを受信すれば、ステップS103で、動作コマンドデータ404dをRAM52のデータ記憶領域404に記憶し、ステップS105で、動作コマンドデータ404dをロボット18に送信し、ステップS107で、動作コマンドデータ404dを履歴DB12aに記憶する。
【0238】
続くステップS109では、操作者端末16から重要な対話の登録指示が有るかどうかを判断する。ステップS109で“YES”であれば、つまり、重要な対話の登録指示が有れば、ステップS111で、重要な対話を顧客情報データ404fおよび顧客情報DB12bに記憶された対話エージェントの顧客情報データに登録して、ステップS117に進む。一方、ステップS109で“NO”であれば、つまり、重要な対話の登録指示が無ければ、ステップS113で、重要な対話の削除指示が有るかどうかを判断する。
【0239】
ステップS113で“YES”であれば、つまり、重要な対話の削除指示が有れば、ステップS115で、削除指示された重要な対話を、顧客情報データ404fおよび顧客情報DB12bに記憶された対話エージェントの顧客情報データから削除して、ステップS117に進む。一方、ステップS113で“NO”であれば、つまり、重要な対話の削除指示が無ければ、ステップS117で、サービスの終了かどうかを判断する。ここでは、CPU50は、サービスの終了時刻になったり、サービスの提供をすべて終了したりしたかどうかを判断する。
【0240】
ステップS117で“NO”であれば、つまり、サービスの終了でなければ、ステップS1に戻る。一方、ステップS117で“YES”であれば、つまり、サービスの終了であれば、ステップS119で、サービスの終了通知を操作者端末16およびロボット18に送信して、情報処理を終了する。
【0241】
図18-
図20は
図3に示した操作者端末16のCPU70の情報処理の一例を示すフロー図である。なお、図示は省略するが、操作者端末16のCPU70は、操作データ504aを検出したり、操作者発話データ504fを取得したりして、各データをサーバ12に送信する処理(すなわち、送信処理)を実行したり、サーバ12から送信されたロボット画像データ404aおよびロボット音声データ404bを受信する処理(すなわち、受信処理)を実行したりする。
【0242】
図18に示すように、CPU70は、情報処理を開始すると、ステップS201で、サーバ12と接続状態を確立する。次のステップS203で、
図5に示したような制御画面200を表示装置80に表示(または、更新)する。ただし、情報処理を開始した当初では、ロボット画像データを受信していないため、表示領域202には何も画像が表示されない。また、このとき、動作モードとして遠隔モードが設定される。
【0243】
次のステップS205では、サーバ12から顧客情報を受信したかどうかを判断する。ステップS205で“NO”であれば、つまり、サーバ12から顧客情報を受信していなければ、ステップS209に進む。一方、ステップS205で“YES”であれば、つまり、サーバ12から顧客情報を受信していれば、ステップS207で、
図6に示したような顧客情報画面300を表示装置80に表示(または、更新)して、ステップS209に進む。上述したように、顧客情報画面300は、制御画面200に並べて表示される。
【0244】
ステップS209では、動作コマンドの入力が有るかどうかを判断する。ここでは、CPU70は、ボタン210-224、220-228…が操作されたかどうかを判断する。
【0245】
ステップS209で“NO”であれば、つまり、動作コマンドの入力が無ければ、ステップS213に進む。一方、ステップS209で“YES”であれば、つまり、動画コマンドの入力が有れば、ステップS211で、動作コマンドデータ504gをサーバ12に送信して、ステップS213に進む。
【0246】
ステップS213では、発話が有るかどうかを判断する。ここでは、CPU70は、操作者の音声が入力されたり、発話コマンドが入力されたりしたかどうかを判断する。
【0247】
ステップS213で“YES”であれば、つまり、発話が有れば、ステップS215で、操作者発話データをサーバ12に送信して、
図19に示すステップS217に進む。一方、ステップS213で“NO”であれば、つまり、発話が無ければ、ステップS217に進む。
【0248】
図19に示すように、ステップ217では、サーバ12から対話データを受信したかどうかを判断する。ステップS217で“NO”であれば、つまり、サーバから対話データを受信していなければ、ステップS227に進む。一方、ステップS217で“YES”であれば、つまり、サーバ12から対話データを受信すれば、ステップS219で、ロボット音声データが有るかどうかを判断する。
【0249】
ステップS219で“YES”であれば、つまり、ロボット音声データ504eが有れば、ステップS221で、ロボット音声データ504eを出力し、ステップS223で、ロボット画像データ504dを出力して、ステップS227に進む。したがって、ロボット18を通して操作者と対話する対話エージェントの音声が操作者端末16のスピーカ84から出力され、ロボット18を通して操作者と対話する対話エージェント等を含むカメラ画像が制御画面200の表示領域202に表示される。
【0250】
一方、ステップS219で“NO”であれば、つまり、ロボット音声データ504eが無ければ、ステップS225で、ロボット画像データ504dを出力して、ステップS227に進む。
【0251】
ステップS227では、発話内容のテキスト入力かどうかを判断する。ステップS227で“NO”であれば、つまり、発話内容のテキスト入力でなければ、ステップS231に進む。一方、ステップS227“YES”であれば、つまり、発話内容のテキスト入力であれば、ステップS229で、入力されたテキストを表示領域250に表示して、ステップS231に進む。
【0252】
ステップS231では、重要な対話の登録かどうかを判断する。ここでは、CPU70は、入力欄310にテキストが入力(表示)された状態でボタン312がオンされたかどうかを判断する。
【0253】
ステップS231で“NO”であれば、つまり、重要な対話の登録でなければ、
図20に示すステップS235に進む。一方、ステップS231で“YES”であれば、つまり、重要な対話の登録であれば、ステップS233で、重要な対話の登録指示をサーバ12に送信して、ステップS235に進む。ただし、ステップS233では、登録指示と重要な対話のテキストデータがサーバ12に送信される。図示は省略するが、このとき、重要な対話のテキストデータが、重要な対話に分類されて顧客情報データ504cに追加される。したがって、その後、顧客情報画面300を表示すると(S207)、追加された重要な対話が表示される。
【0254】
図20に示すように、ステップS235では、重要な対話の削除かどうかを判断する。ここでは、CPU70は、入力欄310にテキストが入力(表示)された状態でボタン314がオンされたかどうかを判断する。
【0255】
ステップS235で“NO”であれば、つまり、重要な対話の削除でなければ、ステップS239に進む。一方、ステップS235で“YES”であれば、つまり、重要な対話の削除であれば、ステップS237で、重要な対話の削除指示をサーバ12に送信して、ステップS239に進む。ただし、ステップS237では、削除指示と重要な対話のテキストデータがサーバ12に送信される。図示は省略するが、このとき、重要な対話のテキストデータが、顧客情報データ504cから削除される。したがって、その後、顧客情報画面300を表示すると(S207)、削除された重要な対話が非表示される。
【0256】
ステップS239では、重要な対話のテキスト入力かどうかを判断する。ステップS239で“NO”であれば、つまり、重要な対話のテキスト入力でなければ、ステップS243に進む。一方、ステップS239で“YES”であれば、つまり、重要な対話のテキスト入力であれば、ステップS241で、入力されたテキストを入力欄310に表示して、ステップS243に進む。
【0257】
ステップS243では、サービスの終了かどうかを判断する。ここでは、CPU70は、サーバ12からサービスの終了通知を受信したかどうかを判断する。ステップS243で“YES”であれば、つまり、サービス終了であれば、情報処理を終了する。
【0258】
一方、ステップS243で“NO”であれば、つまり、サービス終了でなければ、ステップS245で、ログアウトするかどうかを判断する。ここでは、CPU70は、操作者がログアウトを指示したかどうかを判断する。ステップS245で“NO”であれば、つまり、ログアウトしない場合には、ステップS203に戻る。一方、ステップS245で“YES”であれば、つまり、ログアウトする場合には、ステップS247で、ログアウトの指示をサーバ12に送信して、情報処理を終了する。
【0259】
図21および
図22は
図4に示したロボット18のCPU100の制御処理の一例を示すフロー図である。なお、図示は省略するが、ロボット18のCPU100は、ロボット画像データ604bを検出したり、ロボット音声データ604cを検出したり、各データをサーバ12に送信する送信処理を実行したり、サーバ12から送信されたアバター音声データ604dおよび動作コマンドデータ604gを受信する受信処理を実行したりする。
【0260】
図21に示すように、CPU100は、制御処理を開始すると、ステップS301で、サーバ12と接続状態を確立する。次のステップS303では、アバター画像データを生成および出力する。つまり、アバター画像28が表示装置30に表示される。
【0261】
ただし、表示するアバター画像28は、サーバ12から指示された種類(男性、女性またはロボット18らしい姿形)の画像である。このことは、後述するステップS317およびS319においても同じである。
【0262】
図示は省略するが、CPU100は、制御処理の実行中に、サーバ12からアバターの種類を変更することが指示されると、指示された種類のアバター画像28を表示する。
【0263】
続いて、ステップS305では、サービス終了であるかどうかを判断する。ここでは、CPU100は、サーバ12からサービスの終了通知を受信したかどうかを判断する。ステップS305で“YES”であれば、つまり、サービス終了であれば、制御処理を終了する。一方、ステップS305で“NO”であれば、つまり、サービス終了でなければ、ステップS307で、サーバ12から対話データを受信したかどうかを判断する。
【0264】
ステップS307で“NO”であれば、つまり、サーバ12から対話データを受信していなければ、
図22に示すステップS323に進む。一方、ステップS307で“YES”であれば、つまり、サーバ12から対話データを受信すれば、ステップS309で、アバター音声データ604dが有るかどうかを判断する。
【0265】
ステップS309で“NO”であれば、つまり、アバター音声データ604dが無ければ、
図22に示すステップS313に進む。ステップS309で“YES”であれば、つまり、アバター音声データ604dが有れば、ステップS311で、アバター音声データ604dをスピーカ112に出力して、ステップS313に進む。
【0266】
図22に示すように、ステップS313では、動作コマンドデータ604gが有るかどうかを判断する。ステップS313で“NO”であれば、つまり、動作コマンドデータ604gが無ければ、ステップS317に進む。一方、ステップS313で“YES”であれば、つまり、動作コマンドデータ604gが有れば、ステップS315で、動作コマンドデータ604gが移動の指示を含むかどうかを判断する。
【0267】
ステップS315で“NO”であれば、つまり、動作コマンドデータ604gが移動の指示を含まない場合には、ステップS317で、画像生成データ604aを用いて、動作コマンドデータ604gに従う動作を行うアバター画像データ604hを生成および出力して、ステップS323に進む。一方、ステップS315で“YES”であれば、つまり、動作コマンドデータ604gが移動を含む場合には、ステップS319で、画像生成データ604aを用いて、動作コマンドデータ604gに従う動作を行うアバター画像データ604hを生成および出力し、ステップS321で、動作コマンドデータ604gに従って移動処理を実行して、ステップS323に進む。
【0268】
ステップS323では、音声の入力が有るかどうかを判断する。ステップS323で“YES”であれば、つまり、音声の入力が有れば、ステップS325で、ロボット画像データ604bとロボット音声データ604cをサーバ12に送信して、ステップS305に戻る。一方、ステップS323で“NO”であれば、つまり、音声の入力が無ければ、ステップS327で、ロボット画像データ604bをサーバ12に送信して、ステップS305に戻る。
【0269】
この実施例によれば、顧客情報に含まれる個別情報を登録するとともに、対話に含まれる個別情報およびアバターに設定された個別情報の重要度を対話エージェントの反応に基づいて更新するので、個別情報を用いることで対話エージェントの好みに合わせて応対することができる。
【0270】
また、この実施例によれば、個別情報には、重要な対話履歴を含むので、異なる操作者が応対した場合であっても、重要な対話について適切に応対することができる。
【0271】
なお、この実施例では、表示装置にアバター画像が表示されたロボットを用いるようにしたが、これに限定される必要はない。
【0272】
本件出願人が販売等を行うコミュニケーションロットのロボビー(登録商標)を使用することができる。かかる場合には、手の動き、頭部(首)の動きは、ロボットによって実現することができる。ただし、見た目(服装および性別)を変えることはできない。
【0273】
また、本件出願人が販売等を行うアンドロイド(登録商標)のエリカを使用することもできる。かかる場合には、手の動き、頭部(首)の動き、顔の表情および口の動きは、ロボットによって実現することができる。ただし、見た目(服装および性別)を変えることはできない。
【0274】
したがって、実施例で説明したロボット、他のロボットは提供するサービスの種類によって使い分けされてもよい。
【0275】
なお、この実施例では、対話履歴として、画像データと音声データを記憶するようにしたが、音声データのみを記憶するようにしてもよい。かかる場合には、音声データに基づいて対話エージェントの感情が推定される。
【0276】
また、この実施例では、ロボットが発話した場合に、最新の対話に含まれる個別情報について重要度を更新するようにしたが、対話エージェントの応対をすべて終えた後に、全部の対話に含まれる個別情報について重要度を更新するようにしてもよい。
【0277】
さらに、この実施例では、操作者端末は、操作者音声データおよび動作コマンドデータを、サーバに送信し、サーバで声の嗜好に応じたアバター音声データを生成するようにしたが、これに限定される必要はない。操作者端末またはロボットで、声の嗜好に応じたアバター音声データを生成するようにしてもよい。
【0278】
操作者端末で声の嗜好に応じたアバター音声データを生成する場合には、当該操作者端末において、声の嗜好に応じた音響モデルに変換したアバター音声データが生成され、ロボット18に送信される。
【0279】
また、ロボットで声の嗜好に応じたアバター音声データを生成する場合には、当該ロボットにおいて、操作者端末から受信した操作者発話データから声の嗜好に応じた音響モデルに変換したアバター音声データが生成される。
【0280】
また、この実施例では、アバター画像28として、所定のCGのキャラクタを表示するようにしたが、操作者の映像を表示するようにしてもよい。かかる場合には、操作者端末が備えるカメラで撮影された操作者の映像がサーバを介してロボットに送信され、表示装置に出力される。
【0281】
また、この実施例では、ロボットのアバターを用いた対話サービスについて説明したが、CGのアバターを用いた対話サービスにも適用可能である。かかる場合には、ロボットに代えて、CGのアバターを表示する表示装置を備えるとともに、カメラ、マイクおよびスピーカをさらに備えるコンピュータが設けられる。一例として、コンピュータとしては、汎用のPC、スマートフォン、タブレットPCなどを用いることができる。この場合、CGのアバターは、操作者によって動作および発話を制御される。
【0282】
また、上述の実施例で示したフロー図の各ステップは同じ結果が得られる場合には、処理する順番を変更することが可能である。
【0283】
さらに、上述の実施例で挙げた各種の画面、具体的数値はいずれも単なる例示であり、必要に応じて適宜変更可能である。
【符号の説明】
【0284】
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 …慣性計測ユニット