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

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

▶ ソフトバンクグループ株式会社の特許一覧

<>
  • 特開-情報処理システム、及びプログラム 図1
  • 特開-情報処理システム、及びプログラム 図2
  • 特開-情報処理システム、及びプログラム 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024158646
(43)【公開日】2024-11-08
(54)【発明の名称】情報処理システム、及びプログラム
(51)【国際特許分類】
   G10L 13/08 20130101AFI20241031BHJP
   G06F 3/16 20060101ALI20241031BHJP
   G10L 13/00 20060101ALI20241031BHJP
   G10L 15/22 20060101ALI20241031BHJP
   G10L 15/10 20060101ALN20241031BHJP
   G10L 25/63 20130101ALN20241031BHJP
【FI】
G10L13/08 124
G06F3/16 650
G06F3/16 690
G10L13/00 100M
G10L15/22 300Z
G10L15/10 500N
G10L25/63
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023074002
(22)【出願日】2023-04-28
(71)【出願人】
【識別番号】591280485
【氏名又は名称】ソフトバンクグループ株式会社
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】孫 正義
(72)【発明者】
【氏名】柴田 暁穂
(57)【要約】      (修正有)
【課題】同一タイミング、同一サブジェクトにおける一のロボットと複数のユーザとの1対nのコミュニケーションで、それぞれのユーザに対する最適な返答を行う情報処理システム及びプログラムを提供する。
【解決手段】サーバが通信ネットワークを通じて複数のロボットを制御するシステムにおいて、サーバ100は、ユーザと会話するようにロボット200を制御する制御部と、ロボットが一のサブジェクトについて複数のユーザと会話しているときに、複数のユーザのそれぞれについて、ユーザの感情を示すユーザ感情値を決定する感情決定部と、会話内容に、複数のユーザのユーザ感情値を対応付けた対応データを生成する対応データ生成部と、対応データ生成部が生成した複数の対応データに基づいて、一のサブジェクトに対応する会話内容を生成する会話内容生成部と、を含む処理部110を備える。
【選択図】図2
【特許請求の範囲】
【請求項1】
ユーザと会話するように電子機器を制御する制御部と、
前記電子機器が、一のサブジェクトについて複数のユーザと会話しているときに、前記複数のユーザのそれぞれについて、ユーザの感情を示すユーザ感情値を決定する感情決定部と、
前記会話の会話内容に、前記複数のユーザの前記ユーザ感情値を対応付けた対応データを生成する対応データ生成部と、
前記対応データ生成部によって生成された複数の前記対応データに基づいて、前記一のサブジェクトに対応する会話内容を生成する会話内容生成部と
を備える、情報処理システム。
【請求項2】
前記会話内容生成部は、前記一のサブジェクトについて複数のユーザと会話する場合における前記複数のユーザに適した前記会話内容を生成する、請求項1に記載の情報処理システム。
【請求項3】
前記会話内容生成部は、前記一のサブジェクトについて複数のユーザと会話する場合における当該複数のユーザのすべての前記ユーザ感情値が負の値にならない前記会話内容を生成する、請求項2に記載の情報処理システム。
【請求項4】
前記一のサブジェクトに対応する会話内容を自動的に調整する会話内容調整部
をさらに備え、
前記制御部は、前記電子機器が前記一のサブジェクトについて複数のユーザと会話するときに、当該一のサブジェクトに対応する前記会話内容調整部によって調整された前記会話内容に従って前記複数のユーザと会話するように前記電子機器を制御し、
前記対応データ生成部は、前記調整された前記会話内容に従って前記電子機器が前記複数のユーザと会話しているときの、前記複数のユーザの前記ユーザ感情値と、当該会話内容とを対応付けた対応データを生成する、請求項1から3のいずれか一項に記載の情報処理システム。
【請求項5】
前記会話内容生成部は、前記複数の対応データのうち、より新しい対応データを優先して、前記一のサブジェクトに対応する前記会話内容を生成する、請求項1から3のいずれか一項に記載の情報処理システム。
【請求項6】
前記電子機器と前記一のサブジェクトについて会話している前記複数のユーザのそれぞれについて、ユーザの行動を認識するユーザ状態認識部
をさらに備え、
前記対応データ生成部は、前記会話の会話内容に、前記複数のユーザの前記ユーザ感情値と、前記ユーザの行動を示すユーザ行動情報とを対応付けた前記対応データを生成する、請求項1から3のいずれか一項に記載の情報処理システム。
【請求項7】
前記感情決定部は、前記電子機器が前記複数のユーザと会話しているときに、前記電子機器の感情を示す電子機器感情値を更に決定し、
前記会話内容生成部は、前記電子機器と前記複数のユーザとが会話しているときに、前記複数のユーザの前記ユーザ感情値と、前記電子機器感情値とに基づいて、前記会話の会話内容を調整する、請求項1から3のいずれか一項に記載の情報処理システム。
【請求項8】
前記電子機器を更に備える、請求項1から3のいずれか一項に記載の情報処理システム。
【請求項9】
コンピュータを、請求項1から3のいずれか一項に記載の情報処理システムとして機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、ロボットの会話相手であるユーザの状態に対して適切なロボットの行動を決定する行動制御システムについて記載されている。特許文献2には、ロボットの感情を特定する感情特定システムについて記載されている。
[先行技術文献]
[特許文献]
[特許文献1]特開2016-012341号公報
[特許文献2]特開2017-199319号公報
【発明の概要】
【課題を解決するための手段】
【0003】
本発明の一実施態様によれば、情報処理システムが提供される。前記情報処理システムは、ユーザと会話するように電子機器を制御する制御部を備えてよい。前記情報処理システムは、前記電子機器が、一のサブジェクトについて複数のユーザと会話しているときに、前記複数のユーザのそれぞれについて、ユーザの感情を示すユーザ感情値を決定する感情決定部を備えてよい。前記情報処理システムは、前記会話の会話内容に、前記複数のユーザの前記ユーザ感情値を対応付けた対応データを生成する対応データ生成部を備えてよい。前記情報処理システムは、前記対応データ生成部によって生成された複数の前記対応データに基づいて、前記一のサブジェクトに対応する会話内容を生成する会話内容生成部を備えてよい。
【0004】
前記情報処理システムにおいて、前記会話内容生成部は、前記一のサブジェクトについて複数のユーザと会話する場合における前記複数のユーザに適した前記会話内容を生成してよい。前記会話内容生成部は、前記一のサブジェクトについて複数のユーザと会話する場合における当該複数のユーザのすべての前記ユーザ感情値が負の値にならない前記会話内容を生成してよい。
【0005】
前記いずれかの情報処理システムは、前記一のサブジェクトに対応する会話内容を自動的に調整する会話内容調整部をさらに備えてよく、前記制御部は、前記電子機器が前記一のサブジェクトについて複数のユーザと会話するときに、当該一のサブジェクトに対応する前記会話内容調整部によって調整された前記会話内容に従って前記複数のユーザと会話するように前記電子機器を制御してよく、前記対応データ生成部は、前記調整された前記会話内容に従って前記電子機器が前記複数のユーザと会話しているときの、前記複数のユーザの前記ユーザ感情値と、当該会話内容とを対応付けた対応データを生成してよい。
【0006】
前記いずれかの情報処理システムにおいて、前記会話内容生成部は、前記複数の対応データのうち、より新しい対応データを優先して、前記一のサブジェクトに対応する前記会話内容を生成してよい。
【0007】
前記いずれかの情報処理システムは、前記電子機器と前記一のサブジェクトについて会話している前記複数のユーザのそれぞれについて、ユーザの行動を認識するユーザ状態認識部をさらに備えてよく、前記対応データ生成部は、前記会話の会話内容に、前記複数のユーザの前記ユーザ感情値及び前記ユーザ行動情報を対応付けた前記対応データを生成してよい。
【0008】
前記いずれかの情報処理システムにおいて、前記感情決定部は、前記電子機器が前記複数のユーザと会話しているときに、前記電子機器の感情を示す電子機器感情値を更に決定してよく、前記会話内容生成部は、前記電子機器と前記複数のユーザとが会話しているときに、前記複数のユーザの前記ユーザ感情値と、前記電子機器感情値とに基づいて、前記会話の内容を調整してよい。
【0009】
本発明の一実施態様によれば、コンピュータを、前記情報処理システムとして機能させるためのプログラムが提供される。
【0010】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0011】
図1】本実施形態に係るシステム10の全体構成の一例を概略的に示す。
図2】ロボット200及びサーバ100の機能ブロック構成を概略的に示す。
図3】サーバ100、又はロボット200の一部として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。
【発明を実施するための形態】
【0012】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0013】
図1は、本実施形態に係るシステム10の全体構成の一例を概略的に示す。システム10は、サーバ100と、ロボット200とを備える。ロボット200は、人型ロボットであってよい。ロボット200は、人型以外のロボットであってもよい。ロボット200は、電子機器の一例であってよい。システム10は、複数のロボット200を備えてよい。なお、サーバ100は、情報処理システムとして機能し得る。ロボット200は、制御システムの制御対象オブジェクトの一例であってよい。システム10は、情報処理システムの一例であってもよい。
【0014】
ロボット200は、任意の場所に配置される。ユーザ20は、ロボット200を利用する利用者である。
【0015】
ロボット200は、例えば、家庭に配置される。ユーザ20は、ロボット200が配置された家庭の家族や、その家庭を訪れた他人であってよい。ロボット200は、例えば、店舗や事務所の受付等に配置される。ユーザ20は、店舗や事務所に来訪した顧客であってよい。ロボット200は、例えば、病院や診療所に配置される。ユーザ20は、病院や診療所を訪れる患者等であってよい。ロボット200は、例えば、公共交通機関に配置される。ユーザ20は、公共交通機関の利用者等であってよい。ロボット200の利用形態は、これらの利用形態に限られない。
【0016】
サーバ100は、ロボット200とは遠隔に設けられる。サーバ100は、通信ネットワーク50を通じてロボット200を制御することができる。例えば、サーバ100は、ロボット200で検出されたセンサ情報を、通信ネットワーク50を通じて取得して、取得したセンサ情報に基づいて、ロボット200に行わせる動作を決定して、通信ネットワーク50を通じて制御情報を送信してロボット200に指示する。
【0017】
例えば、ロボット200は、ユーザ20の音声及び画像や、ロボット200が受けた外力の情報等、センサで検出した各種の情報を取得して、サーバ100に送信する。サーバ100は、ロボット200から取得した情報に基づいて、ロボット200を制御するための制御情報を生成する。サーバ100は、例えば、ロボット200から取得した情報に基づいて、ニューラルネットワーク(NN)を用いて、ロボット200を制御するための制御情報を生成する。
【0018】
システム10では、ロボット200の行動を決定すべく各種情報を処理したり、各種情報を処理した結果に基づいてロボット200の行動を決定したりする処理を、サーバ100が実行してよい。なお、それらの処理の一部又は全てを、ロボット200が実行してもよい。この場合、ロボット200の一部が、情報処理システムとして機能する。
【0019】
近年、大規模言語モデル(LLM:Large Language Models)によるチャットシステム等の利用が広がっている。既存のLLMによるチャットシステムは、PC(Personal Computer)やスマートフォン等での利用を前提に生成されており、LLMの活用で期待される人型ロボットを含むコミュニケーションデバイスへの組み込みにおいて、同一タイミング、同一サブジェクトにおける一のロボットと複数のユーザとの1対nのコミュニケーションで、それぞれのユーザに対する最適な返答が行えない、という課題がある。また、既存のLLMによるチャットシステムでは、過去のコミュニケーション結果を踏まえたユーザへの受け答えのケアが難しい。
【0020】
本実施形態に係るシステム10は、ロボット200の会話相手の複数のユーザ20について、ユーザ認識を行ってユーザ毎の会話内容とユーザの感情を示すユーザ感情値の遷移とを記録する機能と、会話生成を行う機能と、ユーザ20の感情認識とコミュニケーションデバイスへの感情表現の指示を行う機能と、を備えてよい。図1では、サーバ100が、ユーザ認識を行って、ユーザ毎の会話内容とユーザの感情を示すユーザ感情値の遷移とを記録する感情遷移記録DB101と、会話生成を行えるLLM102と、ユーザ20の感情認識とロボット200への感情表現の指示が行える感情エンジン103とを備える例を示しているが、複数の機能の実現形態は、これに限られない。
【0021】
感情エンジン103は、ロボット200が複数のユーザ20と会話しているときに、複数のユーザ20の感情と行動の遷移を認識記録してよい。感情エンジン103は、状況に合わせたロボット200の感情生成をし、生成された感情に従った表現で、ロボット200に複数のユーザ20とのコミュニケーションを行わせてよい。
【0022】
感情遷移記録DB101は、複数のユーザ20を顔認証によりID管理し、それぞれのユーザ20毎の会話内容と感情遷移、ロボット200とのコミュニケーションの結果を記録してよい。
【0023】
サーバ100は、感情コミュニケーションモデルによって、ロボット200の行動結果及びロボット200とそれぞれのユーザ20間のコミュニケーション内容、感情遷移を評価してよい。サーバ100は、評価結果から、同一サブジェクトでそれぞれのユーザ20が会話に参加している場合、個々のユーザ20に最適な、又は会話に参加している全員にとって不適切にならない表現、受け答えが行えるようにしてよい。
【0024】
過去のやりとりや個々人のデータがない(まっさらな)状態では、各ユーザ20それぞれがポジティブになるような表現となり、全員がポジティブにならないケースも発生するが、そのような履歴も蓄積・学習、一定の試行錯誤をすることで、全員がポジティブになるような内容になっていく。なお、ユーザ認識することによって、例えば、子供がポジティブになると、一緒にいる両親もポジティブになる等、ユーザ20の組み合わせも評価対象になり得る。
【0025】
感情遷移記録DB101は、年/月/週単位での記録を行い、時間差分によって受け答えの修正レベルを調整してよい。時間差分が大きいほど修正レベルは小さく、時間差分が小さいほど修正レベルを大きくしてよい。これにより、時間による過去の会話結果の影響を最適に反映しつつ、複数のユーザ20とロボット200とのコミュニケーションにおいても個々のユーザ20に配慮した自然なコミュニケーションを実現することができる。人間同士の会話をイメージすると、1ヶ月前にはポジティブに感じていた内容も1週間前には感情が薄れ、今日はポジティブに感じないこともある。感情遷移記録DB101は、より古い記録による影響が大きくなりすぎないよう時間に応じてウエイトをつけて調整してよい。
【0026】
図2は、ロボット200及びサーバ100の機能ブロック構成の一例を概略的に示す。まず、ロボット200の機能ブロック構成について説明する。ロボット200は、センサ部210と、情報処理部220と、制御対象230と、通信部240とを有する。情報処理部220は、MPU等のプロセッサであってよい。通信部240は、サーバ100との通信を担う。通信部240は、ネットワークIF等の通信デバイスであってよい。
【0027】
制御対象230は、スピーカを含む。制御対象230は、表示部を含む。表示部は、ロボット200の胸部等、ロボット200の任意の位置に配置されてよい。制御対象230は、目部等に設置されたLEDを含む。制御対象230は、ロボット200の肢部や頭部等の可動部を駆動するモータ等を含む。
【0028】
センサ部210は、マイク211、ジャイロセンサ212、モータセンサ213、カメラ214、赤外線センサ215、電池残量センサ216等の各種のセンサを有する。センサ部210がこれらの全てを有することは必須とは限らず、また、センサ部210はこれら以外を有してもよい。
【0029】
マイク211は、周囲の音声を取得する。例えば、マイク211は、ユーザ20の音声を取得する。ジャイロセンサ212は、ロボット200全体及びロボット200の各部の角速度を検出する。モータセンサ213は、ロボット200の可動部を駆動するモータの駆動軸の回転角度を検出する。カメラ214は、可視光によって撮影して動画や静止画の画像情報を生成する。赤外線センサ215は、赤外線により周囲の物体を検出する。電池残量センサ216は、ロボット200が備える電池の残存容量を検出する。
【0030】
センサ部210は、マイク211で取得された音声データ、カメラ214で撮影された画像、ジャイロセンサ212で検出された角速度、モータセンサ213で検出された回転角度、電池残量センサ216で検出した残存容量、赤外線センサ215で検出した物体情報等の各種のセンサデータを、情報処理部220に出力する。情報処理部220は、取得したセンサ信号を通信部240に供給して、サーバ100へ送信させる。また、情報処理部220は、サーバ100から取得した制御情報に基づいて、ロボット200のスピーカから発話させたり、ロボット200のLEDを発光させたり、ロボット200の肢部等を動作させたりする。
【0031】
次に、サーバ100の機能ブロック構成について説明する。サーバ100は、処理部110と、通信部120と、記憶部130とを有する。処理部110は、制御部111と、ユーザ状態認識部112と、感情決定部113と、対応データ生成部114と、会話内容生成部115と、会話内容調整部116とを備える。処理部110がこれらの全てを備えることは必須とは限らない。通信部120は、情報取得部122を有する。
【0032】
通信部120は、ロボット200との通信を担う。通信部120は、ネットワークIF等の通信デバイスであってよい。情報取得部122は、各種情報を取得する。例えば、情報取得部122は、ロボット200のセンサ部210で検出された情報を、通信ネットワーク50を通じて取得する。
【0033】
記憶部130は、ハードディスク装置、フラッシュメモリ等の記憶媒体を有する。また、記憶部130は、RAM等の揮発性記憶装置を有する。記憶部130は、処理部110が実行時に読み出すプログラムコードや各種の一時データの他、処理部110の処理の実行に必要な情報等を格納する。記憶部130は、通信部120がロボット200から取得した情報を記憶する。
【0034】
制御部111は、記憶部130に記憶されている情報と、情報取得部122が取得した情報とを用いて、ロボット200の行動を決定し、決定した行動を実行させるための制御情報を、通信部120を介してロボット200に送信する。制御部111は、例えば、ユーザ20と会話するようにロボット200を制御する。
【0035】
ユーザ状態認識部112は、情報取得部122が取得した情報に基づいて、ユーザ20の状態を認識する。ユーザ状態認識部112は、カメラ214によって撮像された撮像画像を解析して、ユーザ20の顔を認識してよい。例えば、記憶部130が、複数の人物の顔画像を記憶しておき、ユーザ状態認識部112は、撮像画像と、記憶された顔画像とをマッチングすることによって、ユーザ20の顔を認識する。ユーザ状態認識部112は、カメラ214によって撮像された撮像画像を解析して、ユーザ20の表情を認識してよい。ユーザ状態認識部112は、マイク211によって検出されたユーザ20の音声を解析して、ユーザ20の発声内容を認識してよい。ユーザ状態認識部112は、マイク211によって検出されたユーザ20の音声を解析することにより、音声感情認識を実行してもよい。例えば、ユーザ状態認識部112は、音声の周波数成分等の特徴量を抽出して、抽出した特徴量に基づいて、ユーザ20の感情を認識する。
【0036】
ユーザ状態認識部112は、情報取得部122が取得した情報に基づいて、ユーザ20の行動を認識してよい。例えば、ユーザ状態認識部112は、情報取得部122が取得した情報と、情報取得部122が当該情報を取得したときの実際のユーザ20の行動とを訓練データとして学習された、情報取得部122が取得した情報から、ユーザ20の行動を出力するニューラルネットワークを予め記憶しておき、情報取得部122が取得した情報を、当該ニューラルネットワークに入力することによって、ユーザ20の行動を特定する。当該ニューラルネットワークは、ユーザ状態認識部112によって認識されたユーザ20の表情及びユーザ20の発声内容を受け付けるように構成されてもよい。ユーザの行動を認識する方法は、これに限られず、公知の他の方法を用いてもよい。ユーザ状態認識部112は、ユーザ20の行動を示すユーザ行動情報を生成してよい。
【0037】
感情決定部113は、ロボット200と会話しているユーザ20の感情を示すユーザ感情値を決定する。感情決定部113は、情報取得部122が取得した情報を用いて、ユーザ20のユーザ感情値を決定してよい。感情決定部113は、ユーザ状態認識部112によって認識されたユーザ状態を用いて、ユーザ20のユーザ感情値を決定してよい。感情決定部113は、ユーザ状態認識部112によって音声感情認識が実行された場合に、情報取得部122が取得した情報と、音声感情認識結果とを用いて、ユーザ20のユーザ感情値を決定してもよい。
【0038】
ユーザ感情値は、ユーザ20の感情の種類と、ユーザ20の感情の正負と感情の度合を示す値とを含んでよい。ユーザ20の感情の種類として、「喜」、「楽」、「快」、「安心」、「興奮」、「安堵」、「充実感」、「怒」、「哀」、「不快」、「不安」、「悲しみ」、「心配」、及び「虚無感」等が挙げられる。なお、これらは例示であって、これらに限られない。ユーザ20の感情の正負を示す値は、例えば、ユーザ20の感情が、「喜」、「楽」、「快」、「安心」、「興奮」、「安堵」、及び「充実感」のように、快感や安らぎを伴う明るい感情であれば、正の値を示し、明るい感情であるほど、大きい値となる。ユーザの感情が、「怒」、「哀」、「不快」、「不安」、「悲しみ」、「心配」、及び「虚無感」のように、嫌な気持ちになってしまう感情であれば、負の値を示し、嫌な気持ちであるほど、負の値の絶対値が大きくなる。ユーザの感情が、上記の何れでもない場合(「普通」)、0の値を示す。
【0039】
例えば、感情決定部113は、情報取得部122が取得した情報と、情報取得部122が当該情報を取得したときの実際のユーザ20の感情を示すユーザ感情値とを訓練データとして学習された、情報取得部122が取得した情報から、ユーザ20のユーザ感情値を出力するニューラルネットワークを予め記憶しておき、情報取得部122が取得した情報を、当該ニューラルネットワークに入力することによって、ユーザ感情値を取得する。当該ニューラルネットワークは、ユーザ状態認識部112によって認識されたユーザ20の表情及びユーザ20の発声内容を受け付けるように構成されてもよい。ユーザ感情値を決定する方法は、これに限られず、公知の他の方法を用いてもよい。
【0040】
本実施形態に係るロボット200は、感情を有してもよい。感情決定部113は、ロボット200の感情を示すロボット感情値を決定してよい。ロボット感情値は、電子機器感情値の一例であってよい。ロボット感情値は、ロボット200の感情の種類と、ロボット200の感情の正負と感情の度合を示す値とを含んでよい。ロボット200の感情の種類として、「喜」、「楽」、「快」、「安心」、「興奮」、「安堵」、「充実感」、「怒」、「哀」、「不快」、「不安」、「悲しみ」、「心配」、及び「虚無感」等が挙げられる。なお、これらは例示であって、これらに限られない。ロボット200の感情の正負を示す値は、例えば、ロボット200の感情が、「喜」、「楽」、「快」、「安心」、「興奮」、「安堵」、及び「充実感」のように、快感や安らぎを伴う明るい感情であれば、正の値を示し、明るい感情であるほど、大きい値となる。ロボット200の感情が、「怒」、「哀」、「不快」、「不安」、「悲しみ」、「心配」、及び「虚無感」のように、嫌な気持ちになってしまう感情であれば、負の値を示し、嫌な気持ちであるほど、負の値の絶対値が大きくなる。ロボット200の感情が、上記の何れでもない場合(「普通」)、0の値を示す。
【0041】
感情決定部113は、情報取得部122が取得した情報と、ユーザ状態認識部112によって認識されたユーザ20の状態とに基づいて、ロボット感情値を決定してよい。具体的には、感情決定部113は、情報取得部122が取得した情報、及びユーザ状態認識部112によって認識されたユーザ20の状態に対応付けて定められた、ロボット感情値を更新するルールに従って、ロボット感情値を決定してよい。例えば、感情決定部113は、ユーザ状態認識部112によってユーザ20が寂しそうと認識された場合、ロボット200の「哀」の感情値を増大させる。また、感情決定部113は、ユーザ状態認識部112によってユーザ20が笑顔になったと認識された場合、ロボット200の「喜」の感情値を増大させる。なお、感情決定部113は、ロボット200の状態を更に考慮して、ロボット感情値を決定してもよい。例えば、感情決定部113は、ロボット200のバッテリー残量が少ない場合や部屋が真っ暗な場合等に、ロボット200の「哀」の感情値を増大させてもよい。例えば、感情決定部113は、バッテリー残量が少ないにも関わらず継続して話しかけてくるユーザ20の場合、「怒」の感情値を増大させてもよい。
【0042】
記憶部130は、会話している相手であるユーザ20のユーザ感情値と、ユーザ20の行動と、ロボット200のロボット感情値とに基づいてロボット200の行動を決定するための反応ルールを記憶してよい。反応ルールには、例えば、ユーザ20の行動が「笑う」である場合に対して、「笑う」という行動が、ロボット200の行動として定められている。また、反応ルールには、例えば、ユーザ20の行動が「怒る」である場合に対して、「謝る」という行動が、ロボット200の行動として定められている。また、反応ルールには、例えば、ユーザ20の行動が「質問する」である場合に対して、「回答する」という行動が、ロボット200の行動として定められている。また、反応ルールには例えば、ユーザ20の行動が「悲しむ」である場合に対して、「声をかける」という行動が、ロボット200の行動として定められている。制御部111は、反応ルールに基づいて、ロボット200の行動を決定して、決定した行動をロボット200に実行させてよい。
【0043】
記憶部130は、複数のサブジェクトのそれぞれについて、複数のユーザ20と会話するときの会話内容を記憶してよい。制御部111は、記憶部130に記憶されている会話内容に従って、ロボット200に、複数のユーザ20との会話を実行させてよい。感情決定部113は、ロボット200が一のサブジェクトについて複数のユーザ20と会話しているときに、複数のユーザ20のそれぞれについて、ユーザ感情値を決定してよい。
【0044】
対応データ生成部114は、ロボット200が一のサブジェクトについて複数のユーザ20と会話しているときに、当該会話の会話内容に、複数のユーザ20のユーザ感情値を対応付けた対応データを生成する。対応データ生成部114は、生成した対応データを記憶部130に記憶させる。会話内容は、複数の段階によって構成されてよく、対応データ生成部114は、複数の段階のそれぞれにおける、複数のユーザ20のユーザ感情値を対応付けてもよい。対応データ生成部114は、各段階において、複数のタイミングにおける複数のユーザ20のユーザ感情値を対応付けてもよい。
【0045】
会話内容生成部115は、対応データ生成部114によって生成された複数の対応データに基づいて、一のサブジェクトに対応する会話内容を生成する。会話内容を生成することは、新たに会話内容を生成することを含んでよく、既存の会話内容を更新することを含んでよい。
【0046】
例えば、会話内容生成部115は、一のサブジェクトについて複数のユーザ20と会話する場合における複数のユーザ20に適した会話内容を生成する。具体例として、会話内容生成部115は、一のサブジェクトについて複数のユーザ20と会話する場合における当該複数のユーザ20のすべてのユーザ感情値が負の値にならない会話内容を生成する。
【0047】
ロボット200が、あるサブジェクトについて複数のユーザ20と会話することを、多数実行することによって、様々な対応データを蓄積することができる。
【0048】
ロボット200とユーザ20との1対1のコミュニケーションの場合、当該ユーザ20の感情の遷移等に合わせて会話内容を調整することによって、当該ユーザ20と適切な形でコミュニケーションをとることが可能である。しかし、1対nのコミュニケーションの場合において、例えば、複数のユーザ20のうちのいずれか1人の感情の遷移等に合わせて会話内容を調整すると、他のユーザ20の感情がネガティブになる場合がある。
【0049】
それに対して、本実施形態に係るシステム10では、様々な対応データによって、ロボット200と、複数のユーザ20との1対nのコミュニケーションをとるときに、どのような会話内容とすることによって、より多くのユーザ20が、ネガティブな感情を抱きにくく、ポジティブな感情を抱きやすくなるかを、学習することができる。同じサブジェクトについて会話する場合においても、言い回しや表現によって、複数のユーザ20の感じ方は変わるものであり、会話内容生成部115が、上述した生成を継続的に行うことによって、会話内容を、会話相手である複数のユーザ20の全員がポジティブになるような内容にしていくことができる。
【0050】
会話内容調整部116は、一のサブジェクトに対応するロボット200による会話内容を自動的に調整する。会話内容調整部116は、ロボット200が、複数のユーザ20と一のサブジェクトについて会話する機会毎に、会話内容を自動的に調整してよい。制御部111は、ロボット200が一のサブジェクトについて複数のユーザ20と会話するときに、当該一のサブジェクトに対応する、会話内容調整部116によって調整された会話内容に従って複数のユーザ20と会話するようにロボット200を制御してよい。そして、対応データ生成部114は、調整された会話内容に従ってロボット200が複数のユーザ20と会話しているときの、複数のユーザ20のユーザ感情値と、当該会話内容とを対応付けた対応データを生成してよい。このように、サーバ100側において、会話内容を適宜調整しながら、対話データの収集を行うことによって、様々なバリエーションの対話データを収集することができる。これにより、複数のサブジェクトのそれぞれについて、ロボット200が複数のユーザ20と会話する場合における、複数のユーザ20に適した会話内容を自動的に模索することができ、複数のユーザ20全員に最適な、又は複数のユーザ20全員にとって不適切にならない表現、受け答えを行えるように、会話内容を自動的に調整することができる。
【0051】
会話内容生成部115は、記憶部130に記憶されている複数の対応データのうち、より新しい対応データを優先して、各サブジェクトに対応する会話内容を生成してもよい。会話内容生成部115は、例えば、より新しい対応データに対して、より高い優先度を適用して、会話内容を生成する。会話内容生成部115は、例えば、より優先度が高い対応データにより重い重みを適用して、対応データに基づいて会話内容を生成する。会話内容生成部115は、例えば、優先度が予め定められた閾値より高い対応データのみに基づいて、会話内容を生成する。
【0052】
例えば、1か月前の対応データでは、会話内容に、ポジティブな感情であって感情の度合が強いユーザ感情値が対応付けられており、1週間前の対応データでは、会話内容に、ポジティブな感情であって感情の度合が低いユーザ感情値が対応付けられており、1日前の対応データでは、会話内容に、ポジティブな感情が対応付けられていない場合、会話内容生成部115は、より新しい対応データを優先して、当該会話内容では、複数のユーザ20がポジティブな感情を有さないものとして、会話内容を生成する。人間同士の会話をイメージすると、1ヶ月前にはポジティブに感じていた内容も1週間前には感情が薄れ、今日はポジティブに感じないこともあるが、そのような人間同士の会話の感覚を、ロボット200の会話内容に適用することができる。
【0053】
具体例として、サブジェクトが感染症であり、ある時期(第1の時期と記載する場合がある。)においてロボット200と複数のユーザ20とが感染症の会話をしたときには、複数のユーザ20のほとんどが恐怖や不安を感じていたのに対して、その後(第2の時期と記載する場合がある。)には、複数のユーザ20のほとんどが恐怖も不安も感じていない状況を例に挙げて説明する。第1の時期においては、会話内容に対して恐怖や不安が対応付けられた会話データが多数であることから、会話内容生成部115は、恐怖や不安を低下させるように会話内容を調整する。それに対して、第2の時期においては、会話内容生成部115は、第1の時期よりも第2の時期の対応データを優先して会話内容を生成するので、恐怖や不安を低下させるように会話内容を調整するのではなく、他の要素を重視して会話内容を調整する。
【0054】
第1の時期の対応データと、第2の時期の対応データを同等に扱った場合、第2の時期においても、会話内容生成部115は、恐怖や不安を低下させるように会話に内容を調整することになり、恐怖や不安を感じていないユーザ20にとって、違和感のある会話内容となってしまい得る。それに対して、第2の時期の対応データを優先的に扱うことによって、より現状に適合した会話内容を生成することができる。
【0055】
対応データ生成部114は、ロボット200が一のサブジェクトについて複数のユーザ20と会話しているときに、当該会話の会話内容に、複数のユーザ20のユーザ感情値に加えて、複数のユーザ20同士の関係を対応付けてもよい。複数のユーザ20同士の関係の例として、親子、家族、友達、及び仕事の同僚等が挙げられるが、これらに限られない。対応データ生成部114は、ロボット200が一のサブジェクトについて複数のユーザ20と会話する場合に、会話相手である複数のユーザ20同士の関係と同一又は類似する関係が対応付けられている対応データを用いて、会話内容を生成してよい。複数のユーザ20同士の関係によって、会話内容に対して、ポジティブな感情を抱くのか、ネガティブな感情を抱くのかに違いがある場合がある。例えば、仕事の同僚の集まりと会話するときに、子供っぽい話し方をしたり、アニメのキャラクタをまねした話し方をしたりした場合、ネガティブな感情を抱く可能性が高い。それに対して、親子の集まりと会話するときに、子供っぽい話し方をしたり、アニメのキャラクタをまねした話し方をしたりした場合、子供の感情がポジティブになりやすく、それに伴って親の感情もポジティブになる可能性が高い。対応データ生成部114が、会話相手の複数のユーザ20同士の関係と同一又は類似する関係が対応付けられている対応データを用いることによって、このような傾向を反映した会話内容を生成することができる。
【0056】
対応データ生成部114は、ロボット200が一のサブジェクトについて複数のユーザ20と会話しているときに、当該会話の会話内容に、複数のユーザ20のユーザ感情値に加えて、複数のユーザ20のユーザ行動情報を対応付けてもよい。これにより、対応データに含まれる会話内容に従ってロボット200が複数のユーザ20と会話したときの、複数のユーザ20の感情の遷移に加えて、複数のユーザ20の行動を用いて、複数のユーザ20に適した会話内容を生成することを可能にできる。例えば、会話内容に従った会話の途中で、多くのユーザ20が欠伸をしていることを対応データが示す場合、会話内容生成部115は、多くのユーザ20が欠伸をする前のタイミングで、ユーザ20の注意をひくような発言をするように、会話内容を調整する。
【0057】
会話内容生成部115は、ロボット200と複数のユーザ20とが会話しているときに、複数のユーザ20のユーザ感情値に加えて、ロボット200のロボット感情値に基づいて、会話の会話内容を調整してもよい。例えば、記憶部130が、複数のユーザ20の感情、及びロボット200の感情に基づいて、ロボット200の会話内容を決定するための反応ルールを記憶しておき、会話内容生成部115は、当該反応ルールを用いて会話内容を調整する。例えば、反応ルールには、ロボット200の感情が「普通」であり、複数のユーザ20の多くの感情が「怒」である場合に、ロボット200の感情を「哀」に変化させ、会話内容の表現をより丁寧にすることが定められる。このように、全体的には対応データを用いて複数のユーザ20の感情がポジティブになるように会話内容を生成しつつ、ロボット感情値を用いてきめ細やかに会話内容を調整することができ、複数のユーザ20にとって適した会話を実現することに貢献できる。
【0058】
以上に説明したサーバ100の機能は、1以上のコンピュータによって実装されてよい。サーバ100の少なくとも一部の機能は、仮想マシンによって実装されてよい。また、サーバ100の機能の少なくとも一部は、クラウドで実装されてよい。上記実施形態では、電子機器の例としてロボット200を主に挙げて説明したが、これに限られない。電子機器の例として、スマートフォン、タブレット端末、PC(Personal Computer)、及びスマートスピーカ等、ぬいぐるみ等、自動車や自動二輪車等の車両、家電製品等で挙げられる。なお、これらは例示であり、電子機器は、これらに限られない。
【0059】
図3は、サーバ100、又はロボット200の一部として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。コンピュータ1200は、例えば、サーバ100として機能してよい。コンピュータ1200にインストールされたプログラムは、コンピュータ1200を、本実施形態に係る装置の1又は複数の「部」として機能させ、又はコンピュータ1200に、本実施形態に係る装置に関連付けられるオペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ1200に、本実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
【0060】
本実施形態によるコンピュータ1200は、CPU1212、RAM1214、及びグラフィックコントローラ1216を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、記憶装置1224、DVDドライブ1226、及びICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ1220を介してホストコントローラ1210に接続されている。DVDドライブ1226は、DVD-ROMドライブ及びDVD-RAMドライブ等であってよい。記憶装置1224は、ハードディスクドライブ及びソリッドステートドライブ等であってよい。コンピュータ1200はまた、ROM1230及びキーボードのようなレガシの入出力ユニットを含み、それらは入出力チップ1240を介して入出力コントローラ1220に接続されている。
【0061】
CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又はそれ自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。
【0062】
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。記憶装置1224は、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納する。DVDドライブ1226は、プログラム又はデータをDVD-ROM1227等から読み取り、記憶装置1224に提供する。ICカードドライブは、プログラム及びデータをICカードから読み取り、及び/又はプログラム及びデータをICカードに書き込む。
【0063】
ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、様々な入出力ユニットをUSBポート、パラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ1220に接続してよい。
【0064】
プログラムは、DVD-ROM1227又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
【0065】
例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、記憶装置1224、DVD-ROM1227、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
【0066】
また、CPU1212は、記憶装置1224、DVDドライブ1226(DVD-ROM1227)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
【0067】
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0068】
上で説明したプログラム又はソフトウエアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
【0069】
本実施形態におけるフローチャート及びブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び/又はアナログハードウェア回路を含んでよく、集積回路(IC)及び/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、及びプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、及び他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。
【0070】
コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0071】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。
【0072】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0073】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0074】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0075】
10 システム、20 ユーザ、50 通信ネットワーク、100 サーバ、101 感情遷移記録DB、102 LLM、103 感情エンジン、110 処理部、111 制御部、112 ユーザ状態認識部、113 感情決定部、114 対応データ生成部、115 会話内容生成部、116 会話内容調整部、120 通信部、122 情報取得部、130 記憶部、200 ロボット、210 センサ部、211 マイク、212 ジャイロセンサ、213 モータセンサ、214 カメラ、215 赤外線センサ、216 電池残量センサ、220 情報処理部、230 制御対象、240 通信部、1200 コンピュータ、1210 ホストコントローラ、1212 CPU、1214 RAM、1216 グラフィックコントローラ、1218 ディスプレイデバイス、1220 入出力コントローラ、1222 通信インタフェース、1224 記憶装置、1226 DVDドライブ、1227 DVD-ROM、1230 ROM、1240 入出力チップ
図1
図2
図3