以下に、本開示の情報処理方法、情報処理装置、プログラム及び情報処理システムについて、その実施形態を示す図面に基づいて詳述する。
(実施形態1)
図1は情報処理システムの構成例を示す模式図である。本実施形態の情報処理システムは、多数のユーザがそれぞれ所有する多数のユーザ端末10(情報処理装置)を含み、ユーザ端末10のそれぞれは、インターネット等のネットワークNを介して相互に情報の送受信を行う。例えば第1ユーザは自身の自宅に第1ユーザ端末10を所有しており、第2ユーザは自身の自宅に第2ユーザ端末10を所有しているが、第1ユーザ端末10及び第2ユーザ端末10の設置場所は自宅に限定されない。なお、第1ユーザ端末10及び第2ユーザ端末10は同様の構成を有しており、まとめてユーザ端末10として説明する。ユーザ端末10は、例えば情報処理システムに用いられる専用端末であり、例えばパーソナルコンピュータを用いて構成されている。なお、ユーザ端末10の外観は様々な形状に形成することができ、例えば図1に示す第1ユーザのユーザ端末10のような筐型、図1に示す第2ユーザのユーザ端末10のようなロボット型等に形成されていてもよい。
図1に示す第1ユーザのユーザ端末10は、例えば四角柱状の筐体10bの一面(図1では上面)に、ミラー10aが枢軸(図示せず)により回動可能に取り付けられて構成されている。枢軸は筐体10bの上面の一辺に沿う軸であり、ミラー10aは、筐体10bの上面を覆う位置(閉位置)と、筐体10bの上面から立ち上がった位置(開位置)との間で回動可能に支持されている。図1ではミラー10aが開位置にある状態のユーザ端末10を示す。ミラー10aは閉位置にある場合に外面(上面)が反射面となるように取り付けられており、ミラー10aには表示部16が内蔵されている。このような構成のユーザ端末10では、ミラー10aによる反射面と、表示部16による表示面とが切り替えられるように構成されており、例えば表示部16が動作していないときは、ミラー10aの反射面が鏡として使用できる。また、図1に示す第1ユーザのユーザ端末10は、例えばミラー10aの所定箇所にカメラ19が設けられており、筐体10bの適宜箇所にスピーカ17及びマイク18が設けられている。図1に示す例では、ミラー10aが開位置にある場合にミラー10aの上端部の位置にカメラ19が設けてあり、筐体10bの上面にスピーカ17及びマイク18が設けてあるが、これらの配置位置はこの例に限定されない。例えばカメラ19は、ミラー10aが開位置にある場合に、ミラー10aの前方向に居るユーザを撮影できる位置に設けてあればよく、スピーカ17は、ユーザ端末10の近傍のユーザに出力音声が届く位置に設けてあればよく、マイク18は、ユーザ端末10の近傍のユーザが発する音声を集音できる位置に設けてあればよい。更に、図1に示す第1ユーザのユーザ端末10は、筐体10bの下面(底面)に複数のタイヤ20aが設けられており、移動機構20(図2参照)によってタイヤ20aを回転させることにより自動走行できるように構成されている。
図1に示す第2ユーザのユーザ端末10は、例えば円柱状の胴体部10dの上に頭部10cが連結されて構成されている。また、図1に示す第2ユーザのユーザ端末10は、例えば頭部10cの適宜箇所にカメラ19、表示部16、スピーカ17が設けられており、胴体部10dの適宜箇所にマイク18が設けられている。図1に示す例では、頭部10cの中央に表示部16が設けてあり、表示部16の上部及び下部にそれぞれカメラ19及びスピーカ17が設けてあり、胴体部10dの上方位置にマイク18が設けてあるが、これらの配置位置はこの例に限定されない。例えば表示部16及びカメラ19は、ユーザ端末10の同一面(例えば正面側の面)に設けられ、表示部16は、ユーザ端末10の正面に居るユーザが視認できる位置に設けてあればよく、カメラ19は、ユーザを撮影できる位置に設けてあればよい。またスピーカ17は、ユーザ端末10の近傍のユーザに出力音声が届く位置に設けてあればよく、マイク18は、ユーザ端末10の近傍のユーザが発する音声を集音できる位置に設けてあればよい。更に、図1に示す第2ユーザのユーザ端末10は、胴体部10dの下面(底面)に複数のタイヤ20aが設けられており、移動機構20(図2参照)によってタイヤ20aを回転させることにより自動走行できるように構成されている。なお、図1に示す第2ユーザのユーザ端末10は、頭部10cが胴体部10dに対して鉛直方向を軸として回転するように、また、頭部10cが水平面に対して適宜角度揺動するように首振り機構を有していてもよい。
本実施形態では、ユーザ端末10を、図1に示すような外観の専用端末として説明するが、ユーザ端末10は、表示部16、スピーカ17、マイク18及びカメラ19を有する端末であれば専用端末でなくてもよい。例えばユーザ端末10は移動機構20を備えていなくてもよく、例えばスマートフォン又はタブレット端末等を用いてユーザ端末10を構成することもできる。本実施形態の情報処理システムにおいて、各ユーザ端末10は、各ユーザの言動(対話履歴情報及び行動履歴情報)に基づいて各ユーザの固有の情報が蓄積されたユーザモデルを構築しており、それぞれのユーザモデルに基づく各種の処理を実行する。なお、各ユーザ端末10には各ユーザに対応するアバターが設定してあり、各ユーザ端末10は、自端末のユーザモデルに基づく処理を実行する際に、必要に応じてアバターを用いる。
図2はユーザ端末10の構成例を示すブロック図である。ユーザ端末10は、制御部11、記憶部12、処理部13、通信部14、入力部15、表示部16、スピーカ17、マイク18、カメラ19、移動機構20、センサ部21、読み取り部22等を含み、これらの各部はバスを介して相互に接続されている。制御部11は、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)又はGPU(Graphics Processing Unit)等の1又は複数のプロセッサを含む。制御部11は、記憶部12に記憶してある制御プログラム12Pを適宜実行することにより、ユーザ端末10が行うべき種々の情報処理、制御処理等を実行する。
記憶部12は、RAM(Random Access Memory)、フラッシュメモリ、ハードディスク、SSD(Solid State Drive)等を含む。記憶部12は、制御部11が実行する制御プログラム12P及び制御プログラム12Pの実行に必要な各種のデータ等を予め記憶している。また記憶部12は、制御部11が制御プログラム12Pを実行する際に発生するデータ等を一時的に記憶する。また記憶部12は、ユーザ端末10のユーザの対話履歴及び行動履歴に基づいて収集されたユーザ固有の情報が蓄積されたユーザモデル12Mを記憶する。更に記憶部12は、後述する宛先情報DB(データベース)12a、対話履歴DB12b及び行動履歴DB12cを記憶する。宛先情報DB12a、対話履歴DB12b及び行動履歴DB12cは、ユーザ端末10に接続された外部記憶装置に記憶されてもよく、ユーザ端末10が通信可能な外部記憶装置に記憶されてもよい。更に記憶部12は、ユーザ端末10のユーザに対応付けて設定されたアバターに関する情報(アバター情報)を記憶する。アバターに関する情報は、アバターを表示するための画像データ、アバターに発話させる際の音声データ、アバターの表示画像に動きを付加するためのモーションデータ等を含む。
ユーザモデル12Mは、例えば深層学習アルゴリズムを用いて学習されたディープラーニングモデルであり、例えばRNN(Recurrent Neural Network)を用いたSeq2Seq(Sequence to Sequence)モデル、CNN(Convolution Neural Network)モデルで構成されている。なお、ユーザモデル12Mは、これらのモデルを用いて構築される構成に限定されず、各種のDNN(Deep Neural Network )モデルを用いて構成できる。ユーザモデル12Mは、ユーザ端末10のユーザの対話履歴及び行動履歴に基づいて学習された学習済みモデルである。具体的には、ユーザモデル12Mは、ユーザに対して提示した対話情報と、提示した対話情報に対してユーザが返答した返答情報とを含む対話履歴情報を教師データに用いて、対話情報が入力された場合に、入力された対話情報に対応する返答情報を出力するように学習されている。このような教師データは、例えばスピーカ17又は表示部16を介してユーザに対して所定の対話情報を提示した場合に、提示した対話情報に対してユーザが返答した返答情報をマイク18又は入力部15を介して取得することにより得られる。このように得られた教師データを用いてユーザモデル12Mを学習させることにより、ユーザに関する情報、ユーザが返答する可能性の高い対話情報等を出力できるユーザモデル12Mを生成できる。具体的には、例えば「お名前は?」の対話情報を提示したときに、ユーザが「○○○○です」の返答情報を返した場合、ユーザの返答情報からユーザの名前は「○○○○」であるとの教師データが得られ、このような教師データを用いることにより、ユーザモデル12Mに、ユーザの氏名(ユーザ固有情報)が「○○○○」であることを学習させることができる。また、「何かあったの?」の対話情報を提示したときに、ユーザが「今日、お父さんと喧嘩したよ」の返答情報を返した場合、ユーザの返答情報から、ユーザの最近の出来事として「今日お父さんと喧嘩した」との教師データが得られ、このような教師データを用いることにより、ユーザモデル12Mに、ユーザの最近の出来事の情報(ユーザ固有情報)を学習させることができる。更に、「今日どこ行ったの?」の対話情報を提示したときに、ユーザが「○○の映画を観たよ」の返答情報を返した場合、ユーザの返答情報から、ユーザが最近観た映画が「○○」であるとの教師データが得られ、このような教師データを用いることにより、ユーザモデル12Mに、ユーザが最近観た映画の情報(ユーザ固有情報)を学習させることができる。また例えば「おはよう」の対話情報を提示したときに、ユーザが「おはようございます」の返答情報を返した場合、ユーザの返答情報からユーザは「おはよう」の対話情報に対して「おはようございます」と返答するとの教師データが得られ、このような教師データを用いることにより、ユーザモデル12Mに、ユーザの朝の挨拶は「おはようございます」であることを学習させることができる。
また、ユーザ端末10にインストールされている各種のアプリケーションプログラムによって実行される処理に係る情報から対話履歴情報を収集してもよい。例えばユーザ(ユーザ端末10)が電子メール、LINE(登録商標)メッセージ、LINEスタンプ、SNS(Social Network Service)等を介して他のユーザ(他のユーザ端末10)からの対話情報を受信したときに、この対話情報に対してユーザ(ユーザ端末10)が他のユーザ(他のユーザ端末10)へ返答情報を返信した場合、この対話情報及び返答情報を含む対話履歴情報を教師データに用いてもよい。また、ユーザ(ユーザ端末10)がSNSを介してメッセージを閲覧したときに、閲覧したメッセージに対してメッセージを投稿(返信)した場合、閲覧したメッセージ及び投稿したメッセージを含む対話履歴情報を教師データに用いてもよい。このようにネットワークNを介して提供される各種サービスによって送受信されるデータ等から対話履歴情報を収集して教師データに用いてもよい。
また、ユーザモデル12Mは、ユーザに対して行われたアクションに関する情報(行動情報)と、このアクションに対してユーザが行った行動情報(反応情報)とを含む行動履歴情報を教師データに用いて、行動情報が入力された場合に、入力された行動情報に対応する反応情報を出力するように学習されている。このような教師データは、例えば、ユーザがLINEメッセージを受信したときに所定のLINEスタンプ又はLINEメッセージを返信した場合、LINEメッセージの受信を行動情報とし、所定のLINEスタンプ又はLINEメッセージの返信を反応情報とすることにより得られる。また例えば、ユーザが電子メール、LINEメッセージ、SNS等を介して会議のスケジュールに関する情報を受信したときに、その後、ユーザ端末10を用いて会議室の使用を予約するための予約アプリ(アプリケーションプログラム)を実行して会議室の予約を行ったとする。この場合、会議のスケジュールに関する情報の受信を行動情報とし、予約アプリを用いた会議室の予約を反応情報とすることによって教師データを取得してもよい。また、ユーザが電子メール、LINEメッセージ、SNS等を介して食事のお誘いに関するメッセージを受信したときに、その後、ユーザ端末10を用いてレストランの予約サイトを介したレストランの予約を行ったとする。この場合、食事のお誘いに関するメッセージの受信を行動情報とし、レストランの予約サイトにアクセスするためのブラウザの起動を反応情報とすることによって教師データを取得してもよい。また、ユーザがネットワークN上の旅行の予約サイトを介して旅行の予約を行ったときに、その後、ユーザ端末10を用いてレストランの予約サイトを介したレストランの予約、又はオプショナルツアーの予約サイトを介したオプショナルツアーの申込を行ったとする。この場合、旅行の予約サイトを介した旅行の予約を行動情報とし、レストランの予約サイト又はオプショナルツアーの予約サイトにアクセスするためのブラウザの起動を反応情報とすることによって教師データを取得してもよい。更に、ユーザが例えば書籍販売サイトから書籍に関する広告情報を受信したときに、その後、ユーザ端末10を用いて書籍販売サイトを介して書籍の購買注文を行ったとする。この場合、書籍の広告情報の受信を行動情報とし、書籍販売サイトにアクセスするためのブラウザの起動を反応情報とすることによって教師データを取得してもよい。
また、例えばユーザが草花を見たときに写真を撮った場合、草花を見る行動を行動情報とし、写真の撮影を反応情報とすることによって教師データを取得してもよい。また、例えばユーザが自動車の運転を開始する際にユーザ端末10を用いて音楽の再生を行った場合、自動車の運転を行動情報とし、音楽の再生を反応情報とすることによって教師データを取得してもよい。また、例えばユーザがジョギングを開始する際にユーザ端末10を用いて音楽の再生を行った場合、ジョギングを行動情報とし、音楽の再生を反応情報とすることによって教師データを取得してもよい。更に、例えばユーザがジョギングを行い、その後、ユーザ端末10を用いて健康管理アプリを起動して走行時間又は走行距離の入力を行った場合、ジョギングを行動情報とし、健康管理アプリの起動を反応情報とすることによって教師データを取得してもよい。また、例えばユーザが東京駅又は空港等の所定場所に到着した場合に、ユーザ端末10を用いて交通機関の経路検索アプリを起動して目的地までの経路検索を行った場合、所定場所への到着を行動情報とし、経路検索アプリの起動を反応情報とすることによって教師データを取得してもよい。
上述したような教師データは、例えばユーザが何らかの行動を行っている際に、ユーザ端末10のカメラ19、マイク18及びセンサ部21を用いてユーザの撮影画像、音声データ及び動作情報を取得し、取得した撮影画像、音声データ及び動作情報に基づいてユーザの行動に係る行動情報及び反応情報を取得することにより得られる。例えば、ユーザが草花の写真を撮っている状況の撮影画像を取得した場合、撮影画像から、ユーザが草花を見たときに写真を撮ることを示す教師データ(草花を見る行動を行動情報とし、写真の撮影を反応情報とする教師データ)を取得できる。また、ユーザが音楽を聴きながら自動車の運転を行っている状況の撮影画像及び音声データを取得した場合、撮影画像及び音声データから、ユーザが自動車を運転するときに音楽を再生することを示す教師データ(自動車の運転を行動情報とし、音楽の再生を反応情報とする教師データ)を取得できる。更に、ユーザが音楽を聴きながらジョギングをしている状況の撮影画像、音声データ及び動作情報を取得した場合、撮影画像、音声データ及び動作情報から、ユーザがジョギングするときに音楽を再生することを示す教師データ(ジョギングを行動情報とし、音楽の再生を反応情報とする教師データ)を取得できる。
上述したような教師データを用いてユーザモデル12Mを学習させることにより、ユーザに対して何らかのアクションが行われた場合にユーザが反応する可能性の高い反応情報(行動情報)又はユーザが返答する可能性の高い対話情報等を出力できるユーザモデル12Mを生成できる。また、ユーザがある行動を行った場合に次に行う可能性の高い行動内容又は対話内容を出力できるユーザモデル12Mを生成できる。ユーザモデル12Mは、上述したようにユーザの対話履歴情報及び行動履歴情報に基づいてユーザに関する各種の情報を収集(学習)し、ユーザの個人情報、趣味、好み、行動履歴、行動傾向、思考傾向等、ユーザに関する様々な情報を蓄積する。なお、学習済みモデルは、入力値に対して所定の演算を行い、演算結果を出力するものであり、この演算を規定する関数の係数や閾値等のデータが、ユーザモデル12Mとして記憶部12に記憶される。
ユーザモデル12Mは、各ユーザのユーザ端末10において学習が行われてもよく、他の学習装置において学習された後に各ユーザのユーザ端末10の記憶部12に記憶されてもよい。ユーザモデル12Mは、教師データに含まれる対話情報が入力された場合に、教師データに含まれる返答情報が出力されるように学習する。またユーザモデル12Mは、教師データに含まれる行動情報が入力された場合に、教師データに含まれる反応情報が出力されるように学習する。なお、学習処理において、ユーザモデル12Mは、入力データに対して行う所定の演算を規定する関数の係数や閾値等のデータを最適化する。これにより、入力された対話情報又は行動情報に基づいて、ユーザ端末10のユーザが行う可能性の高い返答情報又は反応情報を出力するように学習されたユーザモデル12Mを生成できる。本実施形態のユーザ端末10は、上述したように自端末のユーザの対話履歴及び行動履歴に基づいて構築されたユーザモデル12Mに基づく処理を行うことにより、ユーザが行う可能性の高い対話及び行動をユーザに代わって実現するように構成されている。
図3は、ユーザモデル12Mの変形例を示すブロック図である。ユーザモデル12Mは、例えば図3に示すように複数種類の学習モデルを用いて構成されていてもよい。図3に示すユーザモデル12Mは、対話用ユーザモデル12M1及び行動用ユーザモデル12M2を有し、行動用ユーザモデル12M2は更に画像判別モデル12M3、音声判別モデル12M4及びセンサ出力判別モデル12M5を有する。対話用ユーザモデル12M1は、例えばSeq2Seqモデルで構成されており、ユーザ端末10のマイク18又は入力部15を介して取得されたユーザからの対話情報が入力された場合に、この対話情報に対応する返答情報を出力する。また、行動用ユーザモデル12M2の画像判別モデル12M3は、例えばCNNモデルで構成されており、ユーザ端末10のカメラ19で撮影したユーザの撮影画像が入力された場合に、この撮影画像に対応する対話情報又は行動情報を出力する。ここでは、画像判別モデル12M3は、撮影されたユーザの行動内容に対応してユーザ端末10が行うべき対話情報又は行動情報を出力する。また、行動用ユーザモデル12M2の音声判別モデル12M4は、例えばRNNモデル又はDNNモデルで構成されており、ユーザ端末10のマイク18で集音したユーザの音声データが入力された場合に、この音声データに対応する対話情報又は行動情報を出力する。ここでは、音声判別モデル12M4は、集音されたユーザの発話内容に対応してユーザ端末10が行うべき対話情報又は行動情報を出力する。更に、行動用ユーザモデル12M2のセンサ出力判別モデル12M5は、例えばRNNモデルで構成されており、ユーザ端末10のセンサ部21が検知したユーザの動作に係る動作情報(センサからの出力信号)が入力された場合に、このセンサからの出力信号に対応する対話情報又は行動情報を出力する。ここでは、センサ出力判別モデル12M5は、検知されたユーザの動作内容に対応してユーザ端末10が行うべき対話情報又は行動情報を出力する。上述した構成のユーザモデル12Mを用いることにより、ユーザからの対話情報又はユーザの行動情報に対応してユーザ端末10が行うべき対話情報又は行動情報を決定できる。
処理部13は、対話処理部13a及び行動処理部13b等を含む。処理部13の各部は、例えば記憶部12に記憶してある制御プログラム12Pを制御部11が実行することによって実現されてもよいし、これらの一部を専用のハードウェア回路で実現してもよい。対話処理部13aは、例えばユーザ端末10のユーザからの指示又はユーザモデル12Mに基づいて対話処理を行う。対話処理部13aは、例えばユーザ端末10のユーザとの対話を行い、この場合、マイク18を介した音声入力又は入力部15を介した入力(例えばテキスト入力)によってユーザからの対話情報(発話情報)を取得し、取得した対話情報に対する対話情報(返答情報)を生成し、生成した返答情報をスピーカ17を介した音声出力又は表示部16に表示することによってユーザに応答する。これにより、対話処理部13aはユーザ端末10のユーザとの対話を行うことができる。なお、対話処理部13aはユーザからの発話情報に対する返答情報を生成する際にユーザモデル12Mを用いることにより、ユーザが返答する可能性の高い対話(返答)を実現できる。具体的には、対話処理部13aは、ユーザからの発話情報を取得した場合に、取得した発話情報をユーザモデル12Mに入力し、ユーザモデル12Mから出力される、前記発話情報に対する返答情報を取得し、取得した返答情報を出力する。
なお、対話処理部13aは、ユーザからの発話情報に対して行うべき返答情報を予めテンプレートとして複数記憶しておき、ユーザからの発話情報に応じた返答情報をテンプレートから選択して出力することによりユーザとの対話を行ってもよい。また対話処理部13aは、挨拶メッセージ及び質問メッセージ等の対話情報(発話情報)を予め記憶しておき、発話情報をスピーカ17を介した音声出力又は表示部16に表示することによってユーザに話しかけ、マイク18を介した音声入力又は入力部15を介した入力によってユーザからの返答情報を取得することによりユーザとの対話を行ってもよい。この場合、対話処理部13aは、挨拶メッセージ及び質問メッセージ等の対話情報を予めテンプレートとして複数記憶しておき、任意のテンプレートを選択して出力することにより、ユーザに話しかけてもよい。
なお、本実施形態では、第1ユーザのユーザモデル12M(第1ユーザモデル12M、第1の学習モデル)が、第2ユーザの第2ユーザ端末10に送信されて第2ユーザ端末10にデプロイされることにより、第2ユーザ端末10が第1ユーザモデル12Mに基づく処理を実行できるように構成されている。即ち、第2ユーザ端末10が第1ユーザモデル12Mに基づく処理を行うことにより、第2ユーザ端末10において、第1ユーザが行う可能性の高い対話を実現できる。この場合、第2ユーザは、第2ユーザ端末10を介して擬似的な第1ユーザ(第1ユーザモデル12M)との対話を行うことができる。なお、第1ユーザモデル12Mが第2ユーザ端末10にデプロイされた場合、第2ユーザ端末10の制御部11は、第1ユーザモデル12Mに基づく処理を終了するまで(第1ユーザモデル12Mがアンデプロイされるまで)、第2ユーザ端末10のハードウェア各部を、第1ユーザモデル12Mに基づく処理によって占有されるように構成されている。即ち、複数のユーザモデル12Mが同時に1つのユーザ端末10にデプロイすることはできない。具体的には、第2ユーザ端末10において、第1ユーザモデル12Mがデプロイされた場合、第2ユーザの第2ユーザモデル12M(第2の学習モデル)に基づく処理の実行(動作)が禁止される。なお、第2ユーザ端末10において、第1ユーザモデル12Mがアンデプロイされた場合、制御部11は、第2ユーザモデル12Mに基づく処理の実行を再開する。第2ユーザモデル12Mに基づく処理の禁止は、例えば第2ユーザモデル12Mを記憶部12の所定の退避領域に移動させることによって行われてもよく、この場合、処理の再開は、第2ユーザモデル12Mを記憶部12の所定領域に戻すことによって行うことができる。また、第2ユーザモデル12Mへのアクセスを禁止することによって、第2ユーザモデル12Mに基づく処理を禁止してもよく、この場合、第2ユーザモデル12Mへのアクセスを許可することによって、第2ユーザモデル12Mに基づく処理が再開される。更に本実施形態では、第1ユーザの第1ユーザモデル12Mと、第2ユーザの第2ユーザモデル12Mとの間の対話も実現できる。この場合、例えば第1ユーザ端末10の対話処理部13aは、第2ユーザ端末10から対話情報(発話情報)を受信し、受信した発話情報に対する返答情報を第1ユーザモデル12Mに基づいて特定し、特定した返答情報を第2ユーザ端末10へ送信する。一方、第2ユーザ端末10の対話処理部13aは、第2ユーザ端末10から対話情報(発話情報)を受信し、受信した発話情報に対する返答情報を第2ユーザモデル12Mに基づいて特定し、特定した返答情報を第1ユーザ端末10へ送信する。これにより、第1ユーザ端末10は第1ユーザモデル12Mに基づく対話を行い、第2ユーザ端末10は第2ユーザモデル12Mに基づく対話を行うことにより、第1ユーザと第2ユーザとの擬似的な対話を実現できる。
行動処理部13bは、例えばユーザ端末10のユーザからの指示又はユーザモデル12Mに基づいて行動処理を行う。行動処理部13bは、例えばカメラ19及びマイク18を用いて映像及び音声の取得(撮影)を行い、スピーカ17及び表示部16を用いて音声及び映像の出力を行い、移動機構20を用いて任意の場所への移動を行う。行動処理部13bは、ユーザからの指示又はユーザモデル12Mに基づいて、ユーザ端末10の設置場所において撮影するか否か、音声及び映像を出力するか否か、移動するか否かを判断する。例えば行動処理部13bは、ユーザ端末10のユーザが、ユーザ端末10の設置場所において撮影したいと思っているか否かを判断し、撮影したいと思っていると判断した場合、ユーザ端末10の設置場所において撮影すると判断する。また行動処理部13bは、ユーザ端末10のユーザが、ユーザ端末10の設置場所において音声及び映像を出力したいと思っているか否かを判断し、出力したいと思っていると判断した場合、ユーザ端末10の設置場所において音声及び映像を出力すると判断する。更に行動処理部13bは、ユーザ端末10のユーザが、ユーザ端末10の設置場所において移動したいと思っているか否かを判断し、移動したいと思っていると判断した場合、ユーザ端末10の設置場所において移動すると判断する。そして行動処理部13bは、撮影すると判断した場合、カメラ19及びマイク18を用いて撮影を行い、音声及び映像を出力すると判断した場合、スピーカ17及び表示部16を用いて出力を行い、移動すると判断した場合、移動機構20を用いて移動を行う。
また行動処理部13bは、例えばユーザ端末10のユーザが対話したい他のユーザがいるか否か、ユーザ端末10の設置場所から離れてユーザ端末10のユーザが行きたい場所があるか否か、やりたいと思っていることがあるか否か等を特定する。なお、ユーザモデル12Mはユーザの趣味、好み、行動履歴、行動傾向等を蓄積しているので、行動処理部13bは、ユーザモデル12Mに基づいて、ユーザが対話したい他のユーザ、行きたい場所、やりたいこと等を特定できる。具体的には、行動処理部13bは、例えば「対話したい人は?」のメッセージをユーザモデル12Mに入力することにより、ユーザモデル12Mから出力される、対話したい相手に関する情報を取得できる。また行動処理部13bは、例えば「行きたい場所は?」のメッセージをユーザモデル12Mに入力することにより、ユーザモデル12Mから出力される、行きたい場所に関する情報を取得できる。更に行動処理部13bは、例えば「やりたいことは?」のメッセージをユーザモデル12Mに入力することにより、ユーザモデル12Mから出力される、やりたいことに関する情報を取得できる。行動処理部13bは、対話したい相手、行きたい場所、やりたいこと等を特定した場合、特定結果に対応する他のユーザ端末10(第2ユーザ端末10という)を外出先に特定する。例えば行動処理部13bは、対話したい相手を特定した場合、対話したい相手のユーザ端末10(第2ユーザ端末10)を外出先に特定し、行きたい場所を特定した場合、行きたい場所に対応するユーザ端末10(例えば行きたい場所に設置してある第2ユーザ端末10)を外出先に特定し、やりたいことを特定した場合、やりたいことに対応するユーザ端末10(例えばやりたいことができる場所に設置してある第2ユーザ端末10)を外出先に特定する。そして行動処理部13bは、外出先に特定した第2ユーザ端末10に、自身のユーザ端末10(第1ユーザ端末10)の第1ユーザモデル12Mを送信する。
なお、第2ユーザ端末10は、第1ユーザ端末10から第1ユーザモデル12Mを受信した場合、受信した第1ユーザモデル12Mを記憶部12に記憶し、第1ユーザモデル12Mに基づく処理を行えるようにデプロイする。これにより、第2ユーザ端末10は第1ユーザモデル12Mに基づく処理を実行することができ、第2ユーザ端末10の対話処理部13aが第1ユーザモデル12Mに基づく対話処理を行うことにより、第2ユーザ端末10において第1ユーザが行う可能性の高い対話を実行することができ、第2ユーザ端末10の行動処理部13bが第1ユーザモデル12Mに基づく行動処理を行うことにより、第2ユーザ端末10において第1ユーザが行う可能性の高い行動を実行することができる。上述した処理により、第1ユーザモデル12M(擬似的な第1ユーザ)は、第2ユーザの自宅(第2ユーザ端末10)に擬似的に遊びに行って、第2ユーザ端末10の対話処理部13aによって第2ユーザと対話することができる。また、第1ユーザモデル12M(擬似的な第1ユーザ)は、任意の場所(デプロイされる第2ユーザ端末10)に擬似的に外出し、第2ユーザ端末10の行動処理部13bによってカメラ19及びマイク18を用いた撮影、スピーカ17及び表示部16を用いた音声及び映像の出力、移動機構20を用いた移動等の行動を行うことができる。
通信部14は、有線通信又は無線通信によってネットワークNに接続するためのインタフェースであり、ネットワークNを介して外部装置との間で情報の送受信を行う。入力部15は、ユーザによる操作入力を受け付け、操作内容に対応した制御信号を制御部11へ送出する。表示部16は、液晶ディスプレイ又は有機ELディスプレイ等であり、制御部11からの指示に従って各種の情報を表示する。入力部15及び表示部16は一体として構成されたタッチパネルであってもよい。
スピーカ17は、増幅器等を有する音声出力装置であり、制御部11からの指示に従った音声データを増幅器にて増幅した後、音声出力する。マイク18は、増幅器及びA/D(アナログ/デジタル)変換器等を有する音声入力装置であり、周囲の音声を収集してアナログの音声データを取得し、取得した音声データを増幅器にて増幅し、A/D変換器にてデジタルの音声データに変換して音声データを取得する。マイク18は、制御部11からの指示に従って集音を行い、取得した音声データを逐次制御部11へ送出する。スピーカ17及びマイク18は、ユーザ端末10に内蔵されていてもよいし、ケーブル等を介してユーザ端末10に外付けされていてもよいし、ユーザ端末10と無線通信するように構成されていてもよい。スピーカ17及びマイク18は一体として構成されたヘッドセットであってもよい。
カメラ19は、レンズ及び撮像素子等を有する撮像部であり、レンズを介して入射した光を撮像素子にて光電変換して画像データを取得する。カメラ19は、制御部11からの指示に従って撮影を行い、取得した画像データ(撮影画像)を逐次制御部11へ送出する。カメラ19は、ユーザ端末10に内蔵されていてもよいし、ケーブル等を介してユーザ端末10に外付けされていてもよい。
移動機構20は、複数のタイヤ20a及び各タイヤ20aを回転させるためのモータ(図示せず)等を含む。移動機構20は、制御部11からの指示に従ったモータ駆動量で各モータを駆動させることにより各タイヤ20aを回転させ、ユーザ端末10を所定方向に移動又は方向転換させる。移動機構20は、タイヤ20aを用いる二輪走行方式、四輪走行方式、六輪走行方式の移動機構に限定されず、キャタピラ走行方式の移動機構であってもよく、二足歩行方式又は四足歩行方式等の歩行型の移動機構であってもよく、蛇型無足歩行方式又はミミズ型無足歩行方式等の無足歩行型の移動機構であってもよい。また移動機構20は、床面上又は地面上を移動する構成に限定されず、室内又は屋外を飛行する飛行機構を備えていてもよい。
センサ部21は、GPS(Global Positioning System )センサ、加速度センサ、地磁気センサ等の各種のセンサを含み、ユーザ端末10の位置及び動きを検出する。センサ部21は、ユーザ端末10の位置及び動きを検出することにより、ユーザ端末10を携帯しているユーザの位置及び動きを検出できる。センサ部21は、ユーザ端末10に内蔵されていてもよいし、ユーザ端末10と無線通信できるように構成されていてもよい。センサ部21がユーザ端末10と無線通信できるように構成されている場合、ユーザはセンサ部21のみを携帯すればよく、センサ部21は、検出したユーザの位置及び動きをユーザ端末10へ送信する。
読み取り部22は、CD(Compact Disc)−ROM、DVD(Digital Versatile Disc)−ROM又はUSB(Universal Serial Bus)メモリを含む可搬型記憶媒体1aに記憶された情報を読み取る。記憶部12に記憶される制御プログラム12P及び各種のデータは、制御部11が読み取り部22を介して可搬型記憶媒体1aから読み取って記憶部12に記憶してもよい。また、記憶部12に記憶される制御プログラム12P及び各種のデータは、制御部11が通信部14を介して外部装置からダウンロードして記憶部12に記憶してもよい。更に、制御プログラム12P及び各種のデータを半導体メモリ1bに記憶しておき、制御部11が半導体メモリ1bから読み出して記憶部12に記憶してもよい。
図4はユーザ端末10に記憶されるDB12a〜12cの構成例を示す模式図である。図4Aは宛先情報DB12aを、図4Bは対話履歴DB12bを、図4Cは行動履歴DB12cをそれぞれ示す。宛先情報DB12aは、ユーザ端末10がネットワークN経由で情報の送受信を行う際に用いる他のユーザ端末10の宛先情報を記憶するアドレス帳である。図4Aに示す宛先情報DB12aは、端末ID列、所有者名列、宛先情報列等を含む。端末ID列は、他のユーザ端末10のそれぞれに予め割り当てられた識別情報を記憶し、所有者名列は、端末IDに対応付けて他のユーザ端末10のユーザの氏名を記憶する。宛先情報列は、端末IDに対応付けて他のユーザ端末10に割り当てられた宛先情報を記憶する。宛先情報は、例えば他のユーザ端末10に割り当てられた電話番号、メールアドレス、IP(Internet Protocol Address )アドレス、LINE−ID等を用いることができる。宛先情報DB12aに記憶される端末IDは、制御部11が新たな他のユーザ端末10の情報を入力部15又は通信部14を介して取得した場合に、制御部11によって発行されて記憶される。宛先情報DB12aに記憶される端末ID以外の各情報は、制御部11が入力部15又は通信部14を介して追加又は変更の指示を取得する都度、制御部11によって追加又は変更される。宛先情報DB12aの記憶内容は図4Aに示す例に限定されず、他のユーザ端末10に関する各種の情報を記憶することができる。
対話履歴DB12bは、ユーザ端末10において対話処理部13aがユーザモデル12Mに基づいて実行した対話の履歴情報を記憶する。具体的には、第1ユーザ端末10の対話履歴DB12bは、第1ユーザ端末10の対話処理部13aが第1ユーザモデル12Mに基づいて実行した第1ユーザとの対話の履歴情報を記憶する。また、第1ユーザ端末10に第2ユーザモデル12Mがデプロイされた場合、第1ユーザ端末10の対話処理部13aは第2ユーザモデル12Mに基づく対話が可能となる。よって、対話履歴DB12bは、第1ユーザ端末10が第2ユーザモデル12Mに基づいて実行した第1ユーザとの対話の履歴情報を記憶する。またユーザモデル12M(第1ユーザモデル12M)が他のユーザ端末10(第2ユーザ端末10)にデプロイされた場合に、第2ユーザ端末10の対話処理部13aが第1ユーザモデル12Mに基づく対話が可能となる。よって、対話履歴DB12bは、第2ユーザ端末10の対話処理部13aが第1ユーザモデル12Mに基づいて実行した第2ユーザとの対話の履歴情報を記憶する。なお、第2ユーザ端末10において実行された対話の履歴情報は、第2ユーザ端末10から第1ユーザ端末10へ送信され、第1ユーザ端末10の対話履歴DB12bに記憶される。
図4Bに示す対話履歴DB12bは、対話ID列、相手情報列、対話情報列等を含む。対話ID列は、第1ユーザ端末10又は第1ユーザモデル12Mがデプロイされた第2ユーザ端末10の対話処理部13aが実行した対話処理のそれぞれに割り当てられた識別情報を記憶する。相手情報列は、対話IDに対応付けて、対話処理における対話相手の情報を記憶する。対話相手は、例えば第1ユーザ端末10の対話処理部13aが第1ユーザ端末10を介して実行した対話の相手(例えば第1ユーザ)、第2ユーザ端末10の対話処理部13aが第2ユーザ端末10を介して実行した対話の相手(例えば第2ユーザ)等を含み、対話相手の情報は、例えば対話相手の氏名、対話相手のユーザ端末10の端末ID又は宛先情報等を用いることができる。対話情報列は、対話IDに対応付けて、対話処理中に取得した各種のデータ(対話データ)を記憶する。対話データは、例えば第1ユーザ端末10又は第1ユーザモデル12Mがデプロイされた第2ユーザ端末10の対話処理部13aが対話処理を実行中に第1ユーザ端末10又は第2ユーザ端末10のカメラ19及びマイク18を用いて取得した映像及び音声のデータ、入力部15及び表示部16を用いて取得又は表示したテキストデータ等を含む。なお、対話データは、対話履歴DB12bに記憶される構成に限定されず、記憶部12の所定領域又はユーザ端末10に接続された外部記憶装置に記憶してもよい。この場合、対話情報列には、対話データを読み出すための情報(例えばデータの記憶場所を示すファイル名)を記憶してもよい。対話履歴DB12bの記憶内容は図4Bに示す例に限定されず、第1ユーザ端末10又は第1ユーザモデル12Mがデプロイされた第2ユーザ端末10の対話処理部13aが実行した対話処理に関する各種の情報を記憶することができる。
行動履歴DB12cは、ユーザ端末10において行動処理部13bがユーザモデル12Mに基づいて実行した行動の履歴情報を記憶する。具体的には、第1ユーザ端末10の行動履歴DB12cは、第1ユーザ端末10の行動処理部13bが第1ユーザモデル12Mに基づいて実行したカメラ19及びマイク18を用いた撮影、スピーカ17及び表示部16を用いた音声及び映像の出力、移動機構20を用いた移動等の行動の履歴情報を記憶する。また行動履歴DB12cは、ユーザモデル12M(第1ユーザモデル12M)が他のユーザ端末10(第2ユーザ端末10)にデプロイされた場合に、第2ユーザ端末10の行動処理部13bが第1ユーザモデル12Mに基づいて実行した行動の履歴情報を記憶する。具体的には、第2ユーザ端末10の行動処理部13bが第1ユーザモデル12Mに基づいて実行したカメラ19及びマイク18を用いた撮影、スピーカ17及び表示部16を用いた音声及び映像の出力、移動機構20を用いた移動等の行動の履歴情報を記憶する。なお、第2ユーザ端末10において実行された行動の履歴情報は、第2ユーザ端末10から第1ユーザ端末10へ送信され、第1ユーザ端末10の行動履歴DB12cに記憶される。
図4Cに示す行動履歴DB12cは、行動ID列、場所情報列、行動情報列等を含む。行動ID列は、第1ユーザ端末10又は第1ユーザモデル12Mがデプロイされた第2ユーザ端末10の行動処理部13bが実行した行動処理のそれぞれに割り当てられた識別情報を記憶する。場所情報列は、行動IDに対応付けて、行動処理における外出先の場所の情報を記憶する。外出先は、第1ユーザ端末10の行動処理部13bが第1ユーザからの指示又は第1ユーザモデル12Mに基づいて決定した第2ユーザ端末10であり、第1ユーザモデル12Mがデプロイされた第2ユーザ端末10を含む。外出先の場所の情報は、例えば外出先に決定された第2ユーザ端末10の端末ID、宛先情報又は設置場所の情報、第2ユーザ端末10の所有者(第2ユーザ)の氏名等を用いることができる。行動情報列は、行動IDに対応付けて、行動処理中に取得した各種のデータ(行動データ)を記憶する。行動データは、例えば第1ユーザ端末10又は第1ユーザモデル12Mがデプロイされた第2ユーザ端末10の行動処理部13bが行動処理を実行中に第1ユーザ端末10又は第2ユーザ端末10のカメラ19及びマイク18を用いて取得した映像及び音声のデータ、入力部15及び表示部16を用いて取得及び表示したテキストデータ等を含む。なお、行動データは、行動履歴DB12cに記憶される構成に限定されず、記憶部12の所定領域又はユーザ端末10に接続された外部記憶装置に記憶してもよい。この場合、行動情報列には、行動データを読み出すための情報(例えばデータの記憶場所を示すファイル名)を記憶してもよい。行動履歴DB12cの記憶内容は図4Cに示す例に限定されず、第1ユーザ端末10又は第1ユーザモデル12Mがデプロイされた第2ユーザ端末10の行動処理部13bが実行した行動処理に関する各種の情報を記憶することができる。例えば、行動処理部13bが実行した行動(外出)に同伴者がいた場合、同伴者の情報を行動履歴DB12cに記憶してもよい。
以下に、それぞれのユーザ端末10が行う処理について説明する。以下の処理は、それぞれのユーザ端末10において、記憶部12に記憶してある制御プログラム12Pに従って制御部11によって実行される。なお、本実施形態では、以下の処理を制御部11が制御プログラム12Pを実行することにより実現するが、一部の処理を専用のハードウェア回路で実現してもよい。図5は、ユーザ端末10による対話処理手順の一例を示すフローチャート、図6は、ユーザ端末10における画面例を示す模式図である。
ユーザ端末10の制御部11は、マイク18又は入力部15を介して、自端末のユーザからのメッセージ(対話情報)を受け付けたか否かを判断する(S11)。ユーザ端末10のユーザは、自身のユーザ端末10(自身のユーザモデル12M)と対話したい場合、話しかけるメッセージを、マイク18を介した音声入力又は入力部15を介したテキスト入力等によって入力する。ユーザ端末10の制御部11は、ユーザからのメッセージを受け付けたと判断した場合(S11:YES)、受け付けたメッセージに対する返答メッセージを対話処理部13aによって生成する(S12)。制御部11(対話処理部13a)は、例えば受け付けたメッセージをユーザモデル12Mに入力し、ユーザモデル12Mからの出力情報に基づいて返答メッセージを生成する。なお、ユーザモデル12Mは、メッセージが入力された場合に、入力されたメッセージに対する返答メッセージを出力するように学習されており、制御部11は、ユーザモデル12Mから出力されたメッセージをそのまま返答メッセージとしてもよい。また、例えば所定のメッセージに対して行うべき返答メッセージをテンプレートとして記憶している場合、制御部11(対話処理部13a)は、受け付けたメッセージに対する返答メッセージをテンプレートから選択してもよい。
制御部11は、生成した返答メッセージをスピーカ17又は表示部16を介して出力する(S13)。具体的には、制御部11は、返答メッセージをスピーカ17を介して音声出力するか、表示部16に表示することによってユーザに応答する。これにより、ユーザ端末10は、受け付けたユーザからのメッセージに対して返答メッセージを返すことができ、ユーザとの間で対話を行うことができる。なお、制御部11は、返答メッセージを出力する際に、図6A及びBに示すように、記憶部12に記憶してあるアバターに係る画像データに基づいて、ユーザ端末10のユーザが設定したアバターの画像を表示部16に表示し、記憶部12に記憶してあるアバターに係る音声データに基づく音声にて返答メッセージをスピーカ17から音声出力してもよい。この場合、ユーザは、図6A及びBに示す画面に表示されたアバターと対面して対話しているように感じることができる。またこのとき、記憶部12に記憶してあるアバターのモーションデータに基づいて、表示部16に表示されたアバターに動きを付加することもでき、この場合、ユーザはアバターとの対話をより楽しむことができる。なお、アバターの表示画像は、ユーザ端末10のユーザの実写画像、人間に似たキャラクタの画像、動物等の画像、動物等のキャラクタの画像等を用いることができる。
ユーザからのメッセージを受け付けていないと判断した場合(S11:NO)、制御部11は、ユーザ端末10のユーザとの対話を開始すべきタイミングであるか否かを判断する(S14)。例えばユーザから対話開始のタイミングとして任意の日時がタイマ設定されていた場合、制御部11は、タイマ設定された日時が到来したか否かに応じて、対話開始のタイミングであるか否かを判断する。また例えば制御部11は、「話したいことはありますか」のようなメッセージをユーザモデル12Mに入力し、ユーザモデル12Mからの出力情報に基づいて、対話開始のタイミングであるか否かを判断してもよい。この場合、例えばユーザとの対話を開始したい旨のメッセージがユーザモデル12Mから出力された場合、制御部11は、対話開始のタイミングであると判断してもよい。更に、制御部11は、例えばカメラ19によってユーザ端末10の周囲を撮影し、撮影画像に基づいてユーザ端末10の周囲にユーザが居るか否かを判断し、居る場合に、対話開始のタイミングであると判断してもよい。
対話開始のタイミングであると判断した場合(S14:YES)、制御部11は、ユーザ端末10のユーザと対話すべき対話メッセージを生成する(S15)。制御部11(対話処理部13a)は、例えば「話したいことはありますか」のようなメッセージをユーザモデル12Mに入力したときに、ユーザモデル12Mからユーザとの対話におけるメッセージが出力された場合、出力されたメッセージを対話メッセージとしてもよい。また、「こんにちは。元気?」のような挨拶メッセージ、「お名前は?」及び「何かあったの?」のようなユーザの情報(個人情報、固有の情報)を収集できるような質問メッセージ等をテンプレートとして記憶している場合、制御部11(対話処理部13a)は、現時点での日時又は過去のユーザとの対話内容等を考慮したメッセージをテンプレートから選択してもよい。制御部11は、生成した対話メッセージをスピーカ17又は表示部16を介して出力する(S16)。ここでも制御部11は、対話メッセージをスピーカ17を介して音声出力するか、表示部16に表示することによってユーザに話しかける。これにより、ユーザ端末10は、適宜のタイミングでユーザに話しかけることができ、ユーザとの対話を開始できる。ユーザとの対話を開始すべきタイミングでないと判断した場合(S14:NO)、制御部11は、ステップS15〜S16の処理をスキップする。
ステップS13又はステップS16の処理後、制御部11は、ユーザ端末10のユーザとの対話を終了するか否かを判断する(S17)。例えば制御部11は、ユーザから「またね」、「バイバイ」等のような対話を終了する際のメッセージをマイク18又は入力部15を介して受け付けた場合、対話を終了すると判断する。対話を終了しないと判断した場合(S17:NO)、制御部11は、ステップS11の処理に戻り、ステップS11〜S16の処理を繰り返す。これにより、制御部11(対話処理部13a)は、ユーザからの対話メッセージに対する応答メッセージを返すことができ、またユーザに話しかけるべき対話メッセージを出力することができ、ユーザとの対話を実現できる。なお、上述した処理により対話処理部13aがユーザモデル12Mに基づいてユーザと対話することによって、ユーザへの対話メッセージ及びユーザからの返答メッセージに基づいてユーザモデル12Mがユーザに関することを学習し、ユーザに関する情報(ユーザ固有の情報)がユーザモデル12Mに蓄積される。よって、ユーザが意識することなく、ユーザに関する情報が収集されてユーザモデル12Mに蓄積される。このようにユーザに関する各種の情報が蓄積されたユーザモデル12Mに基づいて対話処理及び行動処理を行うことにより、ユーザが行う可能性の高い対話及び行動を実現できる。
対話を終了すると判断した場合(S17:YES)、制御部11は、ユーザとの間で行われた対話の履歴情報を対話履歴DB12bに記憶し(S18)、処理を終了する。なお、対話処理部13aがユーザとの対話を行っている場合、例えば行動処理部13bがカメラ19及びマイク18を用いてユーザの映像及び音声のデータを取得(撮影)する。そして、行動処理部13bが取得したユーザの映像及び音声のデータと、対話処理部13aがスピーカ17及び表示部16を用いて出力したアバターの画像及び音声のデータとを対話情報として対話履歴DB12bに記憶する。これにより、対話処理部13aがユーザとの間で行った対話の履歴情報が対話履歴DB12bに記憶される。上述した処理により、ユーザは、自身のユーザ端末10を介して、自身のアバターと対話することができ、孤独感及び不安を和らげることができる。また、自身のアバターはユーザモデル12Mに基づく対話及び行動を行うので、ユーザと似た対話及び行動を実現でき、ユーザは快適な対話を楽しむことができる。
上述した処理において、対話処理部13aは、ユーザとの対話を行う際に、対話メッセージ及び返答メッセージを生成するだけでなく、ユーザの撮影画像に基づいてユーザの感情を分析してもよい。この場合、対話処理部13aは、撮影画像中のユーザの表情及び姿勢等に基づいて、ユーザの感情が、例えば喜び、怒り、悲しみ、驚き、嫌悪、リラックス等のいずれである可能性が高いかを分析する。そして、対話処理部13aは、分析したユーザの感情とユーザからの対話メッセージとをユーザモデル12Mに入力し、ユーザモデル12Mからの出力情報に基づいて返答メッセージ(対話情報)を特定する。またこのとき、ユーザモデル12Mは、返答メッセージに加えて、ユーザの感情に対してユーザモデル12M(アバター)が抱くべき感情を特定してもよい。この場合、ユーザモデル12Mは、対話履歴情報及び感情と、これらに応じた対話情報及び行動情報(感情)とを含む教師データを用いて学習している。これにより、ユーザモデル12Mは、対話情報(ユーザからの対話メッセージ)と感情(ユーザの感情)とが入力された場合に、出力すべき対話情報(返答メッセージ)及び感情(ユーザの感情に対して反応する感情)を出力できる。なお、例えば対話相手の感情に応じて自身(ユーザ)が感じる可能性の高い感情をテンプレートとして記憶しておき、対話処理部13aが、分析したユーザの感情に対してユーザモデル12M(アバター)が抱く可能性の高い感情をテンプレートから特定してもよい。ユーザモデル12M(アバター)が抱くべき感情を特定した場合、対話処理部13a又は行動処理部13bは、特定した感情(行動情報)を出力する。例えば対話処理部13aは、表示部16に表示するアバターに、特定した感情に対応する表情又は動きを付加することにより、アバターの感情を表現してもよい。また例えば、行動処理部13bは、図6Cに示すように、特定した感情に対応する目の画像を表示部16に表示することによりアバターの感情を表現してもよい。なお、図6Cに示す例では上側の目は喜びの感情を、下側の目は悲しみの感情をそれぞれ表現している。また行動処理部13bは、特定した感情に応じた動きを移動機構20を用いて行うことにより、ユーザ端末10の動きによってアバターの感情を表現してもよい。例えば、特定した感情が喜びである場合、行動処理部13bは、移動機構20を用いてユーザ端末10を回転又は移動させることによりユーザ端末10にダンスさせて喜びの感情を表現してもよい。また、ユーザ端末10が手又は足の部分を有する場合、行動処理部13bは、特定した感情に対応する身振り及び手振りをユーザ端末10に実行させることによりアバターの感情を表現してもよい。このような構成とした場合、ユーザ端末10は、ユーザとの間でメッセージのやりとりを行えるだけでなく、感情のやりとりも行うことができ、ユーザはアバターとの間でより現実的な対話を行うことができる。
上述した処理を行うユーザ端末10において、ユーザモデル12Mがユーザに関する情報を学習する際に、ユーザの心拍数、脳波、筋電図等を計測し、ユーザの心身の状態がリラックスして冷静であるか否かを判断し、冷静である時に行われた対話内容から収集されたユーザに関する情報のみを蓄積するようにしてもよい。この場合、心身の状態が冷静でない興奮状態の時に行われた対話内容から収集されたユーザに関する情報を破棄することにより、ユーザの普段の状態で収集されたユーザに関する情報のみを蓄積(学習)できる。
図7は、ユーザ端末10による行動処理手順の一例を示すフローチャートである。ユーザ端末10の制御部11は、ユーザ端末10の設置場所の近傍で移動するか否かを判断する(S21)。例えば制御部11は、ユーザからの指示又はユーザモデル12Mに基づいて、自端末のユーザが行きたい場所(移動したい場所)があるか否かを判断し、行きたい場所がある場合に移動すると判断する。例えばユーザが、ユーザ端末10の設置場所で飼っているペットを定期的に撮影する処理を設定している場合、又はこのような行動傾向を有する場合、制御部11は、所定のタイミングでペットの近傍に移動して撮影する行動処理を行うことを判断する。この場合、制御部11は、所定のタイミングでペットの近傍に移動すると判断する。また例えば制御部11は、「行きたい所はある?」のようなメッセージをユーザモデル12Mに入力し、ユーザモデル12Mからの出力情報に基づいて、行きたい場所があるか否かを判断し、行きたい場所がある場合に移動すると判断してもよい。更に例えばユーザ端末10のユーザの移動に追随して移動するように設定されている場合、制御部11は、ユーザの移動に従って移動すると判断してもよい。移動すると判断した場合(S21:YES)、制御部11(行動処理部13b)は、移動機構20を用いて行きたい場所まで移動する(S22)。例えばペットを撮影する行動を行う場合、行動処理部13bは、移動機構20を用いてペットを撮影できる位置までユーザ端末10を移動させる。具体的には、行動処理部13bは、ペットの近くまでの移動を示す移動情報(行動情報)に応じた移動処理命令を含む処理命令を移動機構20(ハードウェア)に対して出力し、移動機構20による移動処理を実行させる。なお、このとき、行動処理部13bは、カメラ19を用いてユーザ端末10の周囲を撮影し、撮影画像に基づいてペットの位置を確認しながらペットの近傍までユーザ端末10を移動させる。また、ユーザの移動に追随する場合、行動処理部13bは、カメラ19を用いてユーザを撮影し、撮影画像に基づいてユーザの位置を確認しながらユーザから所定距離を維持しつつユーザ端末10を移動させる。移動しないと判断した場合(S21:NO)、制御部11はステップS22の処理をスキップする。
制御部11は、ユーザ端末10の設置場所又は移動後の場所で撮影及び/又は録音するか否かを判断する(S23)。例えば制御部11は、ユーザからの指示又はユーザモデル12Mに基づいて、自端末のユーザが撮影及び/又は録音したいと思っているか否かを判断し、撮影及び/又は録音したいと思っている場合に撮影及び/又は録音すると判断する。例えば制御部11は、ペットを撮影する行動処理を行うことを判断し、ペットの近傍まで移動した場合、ペットを撮影及び録音すると判断する。また例えば制御部11は、「撮影したいものはある?」のようなメッセージをユーザモデル12Mに入力し、ユーザモデル12Mからの出力情報に基づいて、撮影したいものがあるか否かを判断し、撮影したいものがある場合に撮影すると判断してもよい。撮影及び/又は録音すると判断した場合(S23:YES)、制御部11(行動処理部13b)は、カメラ19及びマイク18を用いて撮影及び録音を行う(S24)。例えばペットを撮影する行動を行う場合、行動処理部13bは、カメラ19及びマイク18を用いてペットの撮影画像(映像)及び音声を取得する。具体的には、行動処理部13bは、ペットの撮影及び録音を示す行動情報に応じた処理命令をカメラ19及びマイク18(ハードウェア)に対して出力し、カメラ19及びマイク18による撮影及び録音処理を実行させる。なお、このとき、行動処理部13bは、カメラ19で逐次取得する撮影画像に基づいてペットの位置を追跡しながらペットの映像及び音声を取得する。撮影及び録音しないと判断した場合(S23:NO)、制御部11はステップS24の処理をスキップする。
制御部11は、ユーザ端末10の設置場所又は移動後の場所で音声及び/又は映像を出力するか否かを判断する(S25)。例えば制御部11は、ユーザからの指示又はユーザモデル12Mに基づいて、自端末のユーザが音声及び/又は映像を出力したいと思っているか否かを判断し、音声及び/又は映像を出力したいと思っている場合に音声及び/又は映像を出力すると判断する。例えばユーザが部屋(ユーザ端末10の設置場所)にいる場合に、ユーザに話しかける処理が設定されている場合、又はこのような行動傾向(習慣)を有する場合、制御部11は、ユーザが部屋にいる場合、音声及び/又は映像を出力する(話しかける)と判断する。また例えば制御部11は、「出力したい音声又は映像はある?」「話したいことはある?」のようなメッセージをユーザモデル12Mに入力し、ユーザモデル12Mからの出力情報に基づいて、出力したい音声又は映像があるか否かを判断し、出力したい音声又は映像がある場合に音声及び/又は映像を出力すると判断してもよい。音声及び/又は映像を出力すると判断した場合(S25:YES)、制御部11(行動処理部13b)は、スピーカ17及び表示部16を用いて音声及び/又は映像を出力する(S26)。例えば部屋にいるユーザに話しかける場合、行動処理部13bは、表示部16にアバターの画像を表示しつつスピーカ17から「こんにちは。今は暇?」等のメッセージを音声出力し、ユーザ端末10の近傍にいるユーザに話しかける。具体的には、行動処理部13bは、音声の出力を示す行動情報に応じた処理命令をスピーカ17(ハードウェア)に対して出力し、スピーカ17による音声出力処理を実行させる。音声及び映像を出力しないと判断した場合(S25:NO)、制御部11はステップS26の処理をスキップする。
制御部11は、ユーザからの指示又はユーザモデル12Mに基づく行動を終了するか否かを判断する(S27)。例えば制御部11は、ペットを撮影する行動処理を行うことを判断し、ペットの撮影及び録音を完了した場合、行動を終了すると判断する。行動を終了しないと判断した場合(S27:NO)、制御部11は、ステップS21の処理に戻り、ステップS21〜S26の処理を繰り返す。これにより、制御部11(行動処理部13b)は、ユーザからの指示又はユーザモデル12Mに基づいて、自端末のユーザが行う可能性の高い行動を行うことができる。
行動を終了すると判断した場合(S27:YES)、制御部11は、ユーザ端末10が行った行動の履歴情報を行動履歴DB12cに記憶し(S28)、処理を終了する。なお、行動処理部13bは、移動機構20による移動、スピーカ17及び表示部16による音声及び映像の出力を行っている場合に、カメラ19及びマイク18を用いてユーザ端末10の周囲の映像及び音声を取得(撮影)しており、このような映像及び音声のデータを含め、カメラ19及びマイク18で取得した映像及び音声のデータを行動情報として行動履歴DB12cに記憶する。これにより、行動処理部13bが行った行動の履歴情報が行動履歴DB12cに記憶される。
上述した処理において、行動処理部13bがユーザからの指示又はユーザモデル12Mに基づいて実行した行動についても、ユーザモデル12Mはユーザの行動履歴及び行動傾向としてユーザに関することを学習することができる。よって、ユーザが意識することなく、ユーザの行動履歴及び行動傾向が逐次収集されてユーザモデル12Mに蓄積される。
図8及び図9は、ユーザ端末10による対話処理手順の一例を示すフローチャート、図10は、ユーザ端末10における画面例を示す模式図である。図8及び図9に示す処理は、第1ユーザの第1ユーザモデル12M(第1ユーザのアバター)が、第2ユーザ又は第2ユーザの第2ユーザモデル12M(第2ユーザのアバター)と対話を行う際の処理である。図8及び図9では左側に第1ユーザ端末10が行う処理を、右側に第2ユーザ端末10が行う処理をそれぞれ示す。
第1ユーザ端末10の制御部11(行動処理部13b)は、対話したい第2ユーザがいるか否かを判断する(S31)。例えば制御部11は、第1ユーザからの指示又は第1ユーザモデル12Mに基づいて、第1ユーザが対話したい第2ユーザがいるか否かを判断する。例えば第1ユーザが第1ユーザ端末10(第1ユーザモデル12M)との対話中に「○○さんは元気かな?」と発話していた場合、制御部11は、第1ユーザは○○さん(第2ユーザ)と対話したいと判断する。また例えば制御部11は、「誰かと対話したい?」のようなメッセージを第1ユーザモデル12Mに入力し、第1ユーザモデル12Mからの出力情報に基づいて、第1ユーザが対話したい第2ユーザがいるか否かを判断し、対話したい第2ユーザがいる場合、第2ユーザを特定する。このように第1ユーザモデル12Mに基づいて、対話したい第2ユーザを特定することにより、第1ユーザが対話したい可能性の高い第2ユーザを特定できる。対話したい第2ユーザがいないと判断した場合(S31:NO)、制御部11は待機する。
対話したい第2ユーザがいると判断した場合(S31:YES)、制御部11は、第2ユーザの宛先情報を宛先情報DB12aから読み出す(S32)。例えば制御部11は、第2ユーザの情報(例えば氏名、第2ユーザ端末10の所有者名)に対応付けて宛先情報DB12aに記憶してある宛先情報を読み出す。そして制御部11は、読み出した宛先情報に基づいて、第2ユーザの第2ユーザ端末10に対して対話の実行を要求する(S33)。なお、制御部11は、第2ユーザ端末10に対して、第2ユーザとの対話の実行を要求する要求信号を送信する。
第2ユーザ端末10の制御部11は、第1ユーザ端末10から対話の要求信号を受信した場合、例えばスピーカ17又は表示部16を介して、第1ユーザから対話要求を受け付けたことを出力する(S34)。例えば制御部11は、スピーカ17から「○○さんから対話要求がきています。どうしますか」等のメッセージを音声出力し、第1ユーザから対話要求があることを第2ユーザに通知する。また制御部11は、表示部16に「○○さんから対話要求がきています」等のメッセージと、対話の実行開始を指示するためのOKボタンと、対話の実行を拒否するためのキャンセルボタンとを表示し、第1ユーザから対話要求があることを第2ユーザに通知する。
第2ユーザ端末10の制御部11は、第2ユーザが第1ユーザのアバター(第1ユーザ端末10の第1ユーザモデル12M)との対話を実行できるか否かを判断する(S35)。例えば第2ユーザ端末10の制御部11は、マイク18を介した音声入力によって第2ユーザから対話の可否を示す返答を受け付け、受け付けた返答に応じて、第2ユーザが対話可能であるか否か(第2ユーザによって対話が許可されたか否かを)を判断する。また制御部11は、表示部16に表示したOKボタン又はキャンセルボタンに対する操作を入力部15にて受け付け、受け付けた操作に応じて、第2ユーザが対話可能であるか否かを判断してもよい。第2ユーザが対話可能でないと判断した場合(S35:NO)、第2ユーザ端末10の制御部11は、第2ユーザの代わりに第2ユーザのアバター(第2ユーザモデル12M)が、第1ユーザのアバター(以下、第1アバターという)との対話を実行することを決定し、第2ユーザのアバター(以下、第2アバターという)が対話可能であることを第1ユーザ端末10に通知する(S36)。そして第2ユーザ端末10の制御部11(対話処理部13a)は、第2ユーザモデル12Mに基づいて第1アバターとの対話を開始する(S37)。具体的には、第2ユーザ端末10の制御部11は第2ユーザの代わりに、第2ユーザモデル12Mに基づいて対話メッセージを生成し、生成した対話メッセージを第1ユーザ端末10へ送信する(S38)。
一方、第1ユーザ端末10の制御部11(対話処理部13a)は、第2ユーザ端末10から第2アバターが対話可能であることを通知された場合、第1ユーザモデル12Mに基づいて第2アバターとの対話を開始する(S39)。ここでは、第1ユーザ端末10の制御部11は第1ユーザの代わりに、第1ユーザモデル12Mに基づいて対話メッセージを生成し、生成した対話メッセージを第2ユーザ端末10へ送信する(S40)。これにより、第1ユーザ端末10(第1ユーザモデル12M)と第2ユーザ端末10(第2ユーザモデル12M)との間でメッセージの送受信が行われる。なお、メッセージの送受信は、例えばチャットアプリ又はメッセージアプリ等を用いることができ、チャットアプリ又はメッセージアプリは、例えばそれぞれのユーザ端末10の記憶部12に予め記憶してある。
第1ユーザ端末10の制御部11は、例えば第2ユーザ端末10から受信した対話メッセージを第1ユーザモデル12Mに入力し、第1ユーザモデル12Mからの出力情報に基づいて返答メッセージを生成して第2ユーザ端末10へ送信する。同様に第2ユーザ端末10の制御部11は、例えば第1ユーザ端末10から受信した対話メッセージを第2ユーザモデル12Mに入力し、第2ユーザモデル12Mからの出力情報に基づいて返答メッセージを生成して第1ユーザ端末10へ送信する。なお、第1ユーザ端末10及び第2ユーザ端末10の制御部11は、例えば所定のメッセージに対して予め用意してある返答メッセージのテンプレートから、受信した対話メッセージに対する返答メッセージを選択してもよい。
第1ユーザ端末10の制御部11は、第2ユーザ端末10(第2アバター)との対話を終了するか否かを判断する(S41)。例えば制御部11は、第2ユーザ端末10から対話を終了する際のメッセージを受信した場合、対話を終了すると判断する。制御部11は、対話を終了しないと判断した場合(S41:NO)、ステップS40の処理を繰り返し、これにより、第1ユーザ端末10は、第2ユーザ端末10へ対話メッセージ又は返答メッセージを送信し、第2ユーザ端末10から返答メッセージ又は対話メッセージを受信し、第2ユーザ端末10(第2アバター)との対話を実現する。同様に、第2ユーザ端末10の制御部11は、第1ユーザ端末10(第1アバター)との対話を終了するか否かを判断し(S43)、対話を終了しないと判断した場合(S43:NO)、ステップS38の処理を繰り返し、これにより、第2ユーザ端末10は、第1ユーザ端末10へ対話メッセージ又は返答メッセージを送信し、第1ユーザ端末10から返答メッセージ又は対話メッセージを受信し、第1ユーザ端末10(第1アバター)との対話を実現できる。
第1ユーザ端末10の制御部11は、第2アバターとの対話を終了すると判断した場合(S41:YES)、第2アバターとの間で行われた対話の履歴情報を対話履歴DB12bに記憶し(S42)、処理を終了する。同様に、第2ユーザ端末10の制御部11は、第1アバターとの対話を終了すると判断した場合(S43:YES)、第1アバターとの間で行われた対話の履歴情報を対話履歴DB12bに記憶し(S44)、処理を終了する。なお、第1アバターと第2アバターとの間で対話が行われている場合、例えばそれぞれのユーザ端末10からそれぞれのアバターの画像(映像)及び音声のデータが送受信されるように構成することができ、この場合、第1ユーザ端末10及び第2ユーザ端末10の間で送受信された各アバターの映像及び音声のデータを対話情報として対話履歴DB12bに記憶する。これにより、第1アバターと第2アバターとの間で行われた対話の履歴情報が、それぞれのユーザ端末10の対話履歴DB12bに記憶される。
上述した処理において、第1ユーザ端末10の制御部11が第1ユーザモデル12Mに基づいて第2ユーザとの対話メッセージを生成し、第2ユーザ端末10の制御部11が第2ユーザモデル12Mに基づいて第1ユーザとの対話メッセージを生成する。これにより、第1ユーザ端末10は、第1ユーザの代わりに第1ユーザが行う可能性の高い対話を実現でき、第2ユーザ端末10は、第2ユーザの代わりに第2ユーザが行う可能性の高い対話を実現できる。よって、第1ユーザ及び第2ユーザが対話できない状況であっても、第1アバターと第2アバターとが対話することによって、第1ユーザと第2ユーザとが擬似的に対話を行うことができる。
ステップS35で第2ユーザが対話可能であると判断した場合(S35:YES)、第2ユーザ端末10の制御部11は、第2ユーザが対話可能であることを第1ユーザ端末10に通知する(S45)。第1ユーザ端末10の制御部11は、第2ユーザ端末10から第2ユーザが対話可能であることを通知された場合、第1ユーザモデル12Mを第2ユーザ端末10へ送信する(S46)。なお、第1ユーザ端末10の制御部11は、第2ユーザ端末10において第1ユーザモデル12Mに基づく処理を行えるように、第2ユーザ端末10に対して第1ユーザモデル12Mをデプロイするように指示する。
第2ユーザ端末10の制御部11は、第1ユーザ端末10から第1ユーザモデル12Mを受信した場合、第1ユーザモデル12Mを記憶部12に記憶し、第1ユーザモデル12Mに基づく処理を行えるようにデプロイする。そして第2ユーザ端末10の制御部11は、第1ユーザモデル12Mに基づく処理を開始する(S47)。具体的には、第2ユーザ端末10の制御部11は、マイク18又は入力部15を介して、第2ユーザからのメッセージを受け付けたか否かを判断する(S48)。第1アバターとの対話を承諾した第2ユーザは、第2ユーザ端末10を介して第1ユーザモデル12M(第1アバター)に話しかけるメッセージを、マイク18を介した音声入力又は入力部15を介したテキスト入力等によって入力する。第2ユーザ端末10の制御部11は、第2ユーザからのメッセージを受け付けていないと判断した場合(S48:NO)、第1ユーザモデル12Mに基づいて、第2ユーザと対話すべき対話メッセージを生成し(S49)、生成した対話メッセージをスピーカ17又は表示部16を介して出力する(S50)。例えば制御部11は、「こんにちは」のような対話メッセージを生成し、生成した対話メッセージをスピーカ17から音声出力するか、表示部16に表示することによって第2ユーザに話かける。これにより、第2ユーザ端末10を介して、第1ユーザモデル12M(第1アバター)が第2ユーザとの対話を開始する。なお、制御部11は、対話メッセージを出力する際に、図10に示すように、第1ユーザモデル12Mに対応する第1アバターの画像を表示部16に表示し、第1アバターの音声にて返答メッセージをスピーカ17から音声出力してもよい。
第2ユーザからのメッセージを受け付けたと判断した場合(S48:YES)、第2ユーザ端末10の制御部11は、受け付けたメッセージに対する返答メッセージを第1ユーザモデル12Mに基づいて生成する(S51)。制御部11は、例えば受け付けたメッセージを第1ユーザモデル12Mに入力し、第1ユーザモデル12Mからの出力情報に基づいて返答メッセージを生成する。制御部11は、生成した返答メッセージをスピーカ17又は表示部16を介して出力する(S52)。これにより、第2ユーザ端末10は、受け付けた第2ユーザからのメッセージに対して返答メッセージを返すことができ、第2ユーザとの間で対話を行うことができる。ここでも制御部11は、第1アバターの画像を表示部16に表示し、第1アバターの音声にて返答メッセージをスピーカ17から音声出力してもよい。
ステップS50又はステップS52の処理後、第2ユーザ端末10の制御部11は、第1アバター(第1ユーザモデル12M)と第2ユーザとの対話を終了するか否かを判断する(S53)。対話を終了しないと判断した場合(S53:NO)、制御部11は、ステップS48の処理に戻り、ステップS48〜S52の処理を繰り返す。これにより、第2ユーザ端末10は、第2ユーザからの対話メッセージに対する応答メッセージを返すことができ、また第2ユーザに話しかけるべき対話メッセージを出力することができ、第1ユーザモデル12Mに基づいて第2ユーザとの対話を実現できる。
対話を終了すると判断した場合(S53:YES)、第2ユーザ端末10の制御部11は、第1アバターと第2ユーザとの間で行われた対話の対話情報を第1ユーザ端末10へ送信する(S54)。なお、第2ユーザ端末10の対話処理部13aが第1ユーザモデル12Mに基づいて第2ユーザと対話を行っている場合、制御部11(行動処理部13b)はカメラ19及びマイク18を用いて第2ユーザを撮影しており、取得した第2ユーザの映像及び音声のデータと、スピーカ17及び表示部16を用いて出力した第1アバターの画像及び音声のデータとを対話情報として第1ユーザ端末10へ送信する。また第2ユーザ端末10の制御部11は、送信した対話情報を対話の履歴情報として対話履歴DB12bに記憶し(S55)、処理を終了する。一方、第1ユーザ端末10の制御部11は、第2ユーザ端末10から対話情報を受信した場合、受信した対話情報を、第1アバターが第2ユーザとの間で行った対話の履歴情報として対話履歴DB12bに記憶し(S56)、処理を終了する。
上述した処理により、第2ユーザ端末10の対話処理部13aは、第2ユーザへ出力する対話メッセージを第1ユーザモデル12Mに基づいて生成するので、第1ユーザが発言する可能性の高い対話メッセージを第2ユーザに発することができる。よって、第2ユーザは、第1アバターと対話することによって、第1ユーザと擬似的な対話を行うことができる。また上述した処理により、第1アバターが、第1ユーザの代わりに、第2ユーザ又は第2アバターとの対話を行うことができ、対話結果を示す履歴情報(対話情報)が第1ユーザ端末10の対話履歴DB12bに記憶される。よって、第1ユーザは、対話の履歴情報を後日確認することにより、自身の代理の第1アバターが第2ユーザ又は第2アバターとの間で行った対話の内容を確認できる。よって、第1ユーザが第2ユーザと対話する時間がない場合、又は第2ユーザと直接対話し辛い場合に、自身の第1アバターに第2ユーザとの対話を行わせることができ、第1ユーザは、対話の結果を知ることができる。また、第2ユーザも、第1アバターと対話する時間がない場合、又は第1アバターと直接対話したくない場合には、自身の第2アバターに第1アバターとの対話を行わせることができる。
図11は、ユーザ端末10による対話処理手順の一例を示すフローチャートである。図11に示す処理は、第1ユーザが、第1ユーザ端末10を介して第2ユーザモデル12M(第2ユーザのアバター)と対話を行う際の処理である。図11では左側に第1ユーザ端末10が行う処理を、右側に第2ユーザ端末10が行う処理をそれぞれ示す。第1ユーザ端末10の制御部11は、第1ユーザからの指示に基づいて、第1ユーザが第2アバターと対話するか否かを判断する(S61)。即ち、制御部11は、第1ユーザが第2アバターを第1ユーザ端末10に招待したいか否かを判断する。第2アバターは、第1ユーザ以外のユーザ(第2ユーザ)のアバター(第2ユーザモデル12M)である。第1ユーザは、例えば第1ユーザ端末10の入力部15を介して「○○さんのアバターとおしゃべりしたい」と音声入力し、この場合、制御部11は、第1ユーザは○○さんのアバター(第2アバター)と対話すると判断する。第1ユーザが第2アバターと対話しないと判断した場合(S61:NO)、制御部11は待機する。第1ユーザが第2アバターと対話すると判断した場合(S61:YES)、制御部11は、第2ユーザの宛先情報を宛先情報DB12aから読み出す(S62)。そして制御部11は、読み出した宛先情報に基づいて、第2ユーザの第2ユーザ端末10に対して、第2アバターとの対話の実行を要求する要求信号を送信する(S63)。即ち、制御部11は、第2ユーザ端末10に対して、第2アバターを第1ユーザ端末10に招待する招待情報を送信する。
第2ユーザ端末10の制御部11は、第1ユーザ端末10から第2アバターとの対話の要求信号を受信した場合、第2ユーザモデル12Mを第1ユーザ端末10へ送信する(S64)。第1ユーザ端末10の制御部11は、第2ユーザ端末10から第2ユーザモデル12Mを受信した場合、第2ユーザモデル12Mを記憶部12に記憶し、第2ユーザモデル12Mに基づく処理を行えるようにデプロイする。そして第1ユーザ端末10の制御部11は、第2ユーザモデル12Mに基づく処理を開始する(S65)。これにより、第1ユーザ端末10の制御部11は、図9に示す対話処理において第2ユーザ端末10が行っていたステップS48〜S53の処理と同様の処理を行い(S66〜S71)、第1ユーザと第2ユーザモデル12M(第2アバター)との対話を実現する。具体的には、第1ユーザ端末10の制御部11は、第1ユーザからのメッセージを受け付けたか否かを判断し(S66)、受け付けていないと判断した場合(S66:NO)、第2ユーザモデル12Mに基づいて第1ユーザと対話すべき対話メッセージを生成し(S67)、生成した対話メッセージを出力する(S68)。また第1ユーザからのメッセージを受け付けたと判断した場合(S66:YES)、第1ユーザ端末10の制御部11は、受け付けたメッセージに対する返答メッセージを第2ユーザモデル12Mに基づいて生成し(S69)、生成した返答メッセージを出力する(S70)。これにより、第1ユーザ端末10は、第1ユーザに対話メッセージを発することができ、第1ユーザからの対話メッセージに対する応答メッセージを返すことができ、第2ユーザモデル12M(第2アバター)と第1ユーザとの間の対話を行うことができる。
ステップS68又はステップS70の処理後、第1ユーザ端末10の制御部11は、第1ユーザと第2アバターとの対話を終了するか否かを判断し(S71)、終了しないと判断した場合(S71:NO)、ステップS66の処理に戻り、ステップS66〜S71の処理を繰り返す。これにより、第1ユーザ端末10は、第1ユーザからの対話メッセージに対する応答メッセージを返すことができ、また第1ユーザに話しかけるべき対話メッセージを出力することができ、第2ユーザモデル12Mに基づいて第1ユーザとの対話を実現できる。
対話を終了すると判断した場合(S71:YES)、第1ユーザ端末10の制御部11は、第1ユーザと第2アバターとの間で行われた対話の対話情報を第2ユーザ端末10へ送信する(S72)。なお、対話情報は、第1ユーザを撮影した映像及び音声のデータと、第2アバターの画像及び音声のデータとを含む。また第1ユーザ端末10の制御部11は、送信した対話情報を対話の履歴情報として対話履歴DB12bに記憶し(S73)、処理を終了する。一方、第2ユーザ端末10の制御部11は、第1ユーザ端末10から対話情報を受信した場合、受信した対話情報を、第2アバターが第1ユーザとの間で行った対話の履歴情報として対話履歴DB12bに記憶し(S74)、処理を終了する。
上述した処理により、第1ユーザが第2アバターと対話したい場合、第2アバター(第2ユーザモデル12M)を第2ユーザ端末10から第1ユーザ端末10にダウンロードすることにより、第1ユーザ端末10において第2アバターとの対話を実現できる。第1ユーザ端末10は、第2ユーザモデル12Mに基づく対話を行うので、第1ユーザは、第2アバターと対話することによって、第2ユーザと擬似的な対話を行うことができる。上述した処理により、第2アバターが第2ユーザの代わりに、第1ユーザとの対話を行うので、第2ユーザが多忙で対話する時間を確保できない場合であっても、第1ユーザは、第2ユーザが発する可能性の高い対話メッセージを受け取ることができ、また時間を気にすることなく第2アバターとの対話を楽しむことができる。
図12及び図13は、ユーザ端末10による行動処理手順の一例を示すフローチャートである。図12及び図13に示す処理は、第1アバター(第1ユーザモデル12M)が、第1ユーザが行きたい場所(第2ユーザ端末10の設置場所)に擬似的に外出する際の処理である。図12及び図13では左側に第1ユーザ端末10が行う処理を、右側に第2ユーザ端末10が行う処理をそれぞれ示す。第1ユーザ端末10の制御部11は、第1ユーザからの指示又は第1ユーザモデル12Mに基づいて、第1ユーザ端末10の設置場所から離れた場所で第1ユーザが行きたい場所があるか否かを判断する(S81)。例えば第1ユーザが第1ユーザ端末10(第1ユーザモデル12M)との対話中に「△△に行ってみたいな」と発話していた場合、制御部11は、第1ユーザは△△に行きたいと判断する。また例えば制御部11は、「行きたい所はある?」のようなメッセージを第1ユーザモデル12Mに入力し、第1ユーザモデル12Mからの出力情報に基づいて、第1ユーザが行きたい場所があるか否かを判断してもよい。このように第1ユーザモデル12Mに基づいて、第1ユーザが行きたい場所を特定することにより、第1ユーザが行きたい可能性の高い場所を特定できる。第1ユーザが行きたい場所がないと判断した場合(S81:NO)、制御部11は待機する。
第1ユーザが行きたい場所があると判断した場合(S81:YES)、第1ユーザ端末10の制御部11は、第1ユーザが行きたい場所に設置してある第2ユーザ端末10を特定する(S82)。なお、本実施形態の制御部11は、第1ユーザが行きたい場所として、宛先情報DB12aに登録してある各ユーザ端末10のいずれかを特定し、特定したユーザ端末10(第2ユーザ端末10)の宛先情報を宛先情報DB12aから読み出す(S83)。そして制御部11は、読み出した宛先情報に基づいて、第2ユーザ端末10に対して貸出を要求する要求信号を送信する(S84)。第2ユーザ端末10の制御部11は、第1ユーザ端末10から貸出の要求信号を受信した場合、第2ユーザ端末10の貸出が可能であるか否かを判断する(S85)。例えば第2ユーザ端末10が既に他のユーザ(ユーザモデル12M)に貸し出されている場合、具体的には、他のユーザのユーザモデル12Mが第2ユーザ端末10にデプロイされている場合、第2ユーザ端末10の制御部11は、貸出できないと判断する。また、第2ユーザが第2ユーザ端末10を用いて第2ユーザモデル12Mと対話中である場合、貸出できないと判断してもよい。更に、第2ユーザ端末10のユーザによって第2ユーザ端末10の貸出禁止が設定されている場合、第2ユーザ端末10の制御部11は、貸出できないと判断してもよい。なお、第2ユーザ端末10のユーザによって第2ユーザ端末10の貸出許可が設定されている場合、第2ユーザ端末10の制御部11は、貸出できると判断してもよい。第2ユーザ端末10の制御部11は、貸出可能でないと判断した場合(S85:NO)、貸出可能でないこと(貸出不可)を第1ユーザ端末10に通知する(S86)。第1ユーザ端末10の制御部11は、第2ユーザ端末10から貸出不可を受信した場合(S87)、何も行わずに処理を終了する。なお、第1ユーザ端末10の制御部11は、ステップS81の処理に戻り、第1ユーザが行きたいほかの場所があるか否かを判断し、ほかの場所がある場合にステップS82〜S84の処理を繰り返してもよい。
第2ユーザ端末10の制御部11は、貸出可能であると判断した場合(S85:YES)、貸出可能であることを第1ユーザ端末10に通知する(S88)。第1ユーザ端末10の制御部11は、第2ユーザ端末10から貸出可能であることを通知された場合、第1ユーザモデル12Mを第2ユーザ端末10へ送信する(S89)。第2ユーザ端末10の制御部11は、第1ユーザ端末10から第1ユーザモデル12Mを受信した場合、第1ユーザモデル12Mを記憶部12に記憶し、第1ユーザモデル12Mに基づく処理を行えるようにデプロイする。そして第2ユーザ端末10の制御部11は、第1ユーザモデル12Mに基づく処理を開始する(S90)。ここでは、第2ユーザ端末10の制御部11は、図7に示す行動処理と同様の処理を行い(S91〜S97)、第2ユーザ端末10が第1ユーザモデル12Mに基づく行動処理を行うことにより、第1ユーザモデル12M(第1アバター)は、第2ユーザ端末10を用いて各種の行動を行うことができる。
具体的には、第2ユーザ端末10の制御部11は、第1ユーザモデル12Mに基づいて、第2ユーザ端末10の設置場所の近傍で、第1ユーザ(第1アバター)が行きたい場所があるか否かを判断し、行きたい場所があるか否かに応じて移動するか否かを判断する(S91)。第2ユーザ端末10の制御部11(行動処理部13b)は、移動すると判断した場合(S91:YES)、移動機構20を用いて行きたい場所まで移動し(S92)、移動しないと判断した場合(S91:NO)、ステップS92の処理をスキップする。次に第2ユーザ端末10の制御部11は、第1ユーザモデル12Mに基づいて、第1ユーザが撮影又は録音したいか否かを判断し、撮影又は録音したいか否かに応じて撮影及び/又は録音するか否かを判断する(S93)。撮影及び/又は録音すると判断した場合(S93:YES)、第2ユーザ端末10の制御部11は、カメラ19及びマイク18を用いて第2ユーザ端末10の周囲の撮影及び録音を行う(S94)。なお、第2ユーザ端末10の行動処理部13bは、第1ユーザモデル12Mに基づいて第1ユーザが撮影したい可能性の高い被写体を特定し、特定した被写体の撮影及び録音を行う。撮影及び録音しないと判断した場合(S93:NO)、制御部11はステップS94の処理をスキップする。
次に第2ユーザ端末10の制御部11は、第1ユーザモデル12Mに基づいて、第1ユーザが音声又は映像を出力したいか否かを判断し、音声又は映像を出力したいか否かに応じて音声及び/又は映像を出力するか否かを判断する(S95)。第2ユーザ端末10の制御部11は、音声及び/又は映像を出力すると判断した場合(S95:YES)、スピーカ17又は表示部16を用いて音声及び/又は映像を出力し(S96)、音声及び映像を出力しないと判断した場合(S95:NO)、ステップS26の処理をスキップする。第2ユーザ端末10の制御部11は、第1ユーザモデル12Mに基づく行動を終了するか否かを判断する(S97)。なお、第1ユーザモデル12Mに基づいて第1ユーザが行動(擬似的な外出)を終了したい可能性が高いと判断される場合、行動を終了すると判断してもよい。また例えば第2ユーザ端末10に貸出可能な時間が設定されており、貸出可能な時間が経過した場合に行動を終了すると判断してもよい。
行動を終了しないと判断した場合(S97:NO)、第2ユーザ端末10の制御部11は、ステップS91の処理に戻り、ステップS91〜S96の処理を繰り返す。これにより、第2ユーザ端末10は、第1ユーザモデル12Mに基づいて第1ユーザが行う可能性の高い行動を行うことができる。行動を終了すると判断した場合(S97:YES)、第2ユーザ端末10の制御部11は、第2ユーザ端末10が第1ユーザモデル12Mに基づいて行った行動の履歴情報を第1ユーザ端末10へ送信する(S98)。なお、第2ユーザ端末10は、移動機構20による移動、スピーカ17及び表示部16による音声及び映像の出力等の行動を行っている場合にもカメラ19及びマイク18を用いて第2ユーザ端末10の周囲の映像及び音声を取得(撮影)しており、このような映像及び音声のデータを行動情報として第1ユーザ端末10へ送信する。第1ユーザ端末10の制御部11は、第2ユーザ端末10から行動の履歴情報(行動情報)を受信した場合、行動履歴DB12cに記憶し(S99)、処理を終了する。これにより、第2ユーザ端末10において第1ユーザモデル12Mに基づいて行われた行動の履歴情報が第1ユーザ端末10の行動履歴DB12cに記憶される。
上述した処理により、第1ユーザモデル12Mが送信された第2ユーザ端末10において、第2ユーザモデル12Mに基づく行動処理が行われることにより、第1ユーザが行う可能性の高い行動を第2ユーザ端末10において実行することができる。よって、第1アバターは、第1ユーザが行きたい場所に擬似的に出かけ、出かけた先で第2ユーザ端末10を用いて、第1ユーザが行う可能性の高い行動を行うことができる。上述した処理により、第1ユーザが実際に外出する代わりに、第1アバターが擬似的に外出し、外出先で撮影した映像及び音声が履歴情報として行動履歴DB12cに蓄積される。この履歴情報を第1ユーザが後日確認することにより、第1アバターが第2ユーザ端末10において行った行動を辿ることができ、第1ユーザは自身が体験したように感じることができる。よって、第1ユーザが多忙で外出する時間を確保できない場合であっても、第1ユーザが行う可能性の高い行動を第1アバターが行うことにより、第1ユーザは様々な行動を擬似的に体験できる。
上述した処理において、第2ユーザ端末10の制御部11は、第1ユーザモデル12Mに基づく行動を終了した後、例えば所定位置に戻ってくる(移動する)ように構成されていてもよい。この場合、第2ユーザ端末10が第1ユーザモデル12Mに貸し出された場合であっても、貸出後に所定位置に戻ることができるので、第2ユーザ端末10の所有者である第2ユーザが例えば第2ユーザ端末10を回収するような手間が増えない。
図14は、履歴情報の再生処理手順の一例を示すフローチャート、図15は、ユーザ端末10における画面例を示す模式図である。図14に示す処理は、図5,図8〜図9,図11に示す対話処理によって対話履歴DB12bに対話情報(対話の履歴情報)が蓄積され、図7,図12〜図13に示す行動処理によって行動履歴DB12cに行動情報(行動の履歴情報)が蓄積されたユーザ端末10において、履歴情報が再生される際の処理である。ユーザ端末10の制御部11は、対話履歴DB12b又は行動履歴DB12cに蓄積されたいずれかの履歴情報の再生要求を受け付けたか否かを判断する(S101)。ユーザ端末10のユーザは、対話又は行動の履歴情報を再生したい場合、例えばマイク18又は入力部15を介して履歴情報の再生要求を入力する。履歴情報の再生要求を受け付けていないと判断した場合(S101:NO)、制御部11は再生要求を受け付けるまで待機する。
履歴情報の再生要求を受け付けたと判断した場合(S101:YES)、制御部11は、対話履歴DB12bに蓄積された対話の履歴情報と、行動履歴DB12cに蓄積された行動の履歴情報とに基づいて、図15に示すようにそれぞれの履歴情報に関する情報を表示する履歴画面を生成し(S102)、表示部16に表示する(S103)。図15に示す履歴画面は、自身のアバターが行った活動(対話及び行動)について、サムネイル画像及び活動内容を示す情報を表示する。具体的には、自身のユーザ端末10(第1ユーザ端末10)で第1ユーザモデル12Mに基づいて行われた対話及び行動と、他のユーザ端末10(第2ユーザ端末10)で第1ユーザモデル12Mに基づいて行われた対話及び行動とについて、サムネイル画像及び活動内容を示す情報が表示される。なお、サムネイル画像は、対話情報又は行動情報に含まれる画像(映像)から生成することができ、活動内容の情報は、対話については対話相手の情報及び対話した時刻を含み、行動については外出先の場所の情報及び外出した時刻を含む。また履歴画面は、自身のアバターが過去に行った活動(対話及び行動)におけるサムネイル画像及び活動内容を示す情報を表示させるための「過去の履歴」ボタンを表示している。よって、履歴画面において「過去の履歴」ボタンが入力部15を介して操作された場合、制御部11は、対話履歴DB12b及び行動履歴DB12cに蓄積してある過去の履歴情報に関する情報を履歴画面に表示するように構成してある。
履歴画面は、表示された履歴情報のいずれかを再生対象に選択できるように構成されており、選択された履歴情報の再生を指示するための再生ボタンと、再生処理を終了するためのキャンセルボタンとを表示している。制御部11は、履歴画面において入力部15を介していずれかの履歴情報が選択されて再生ボタンが操作されたか否かに応じて、選択された履歴情報に対する再生指示を受け付けたか否かを判断する(S104)。再生指示を受け付けていないと判断した場合(S104:NO)、制御部11は、履歴画面の表示を継続し、再生指示を受け付けるまで待機する。再生指示を受け付けたと判断した場合(S104:YES)、制御部11は、選択された履歴情報を対話履歴DB12b又は行動履歴DB12cから読み出し(S105)、読み出した履歴情報を表示部16及びスピーカ17にて出力する(S106)。制御部11は、例えば履歴情報に画像データ(映像データ)が含まれる場合、画像データを表示部16に表示し、履歴情報に音声データが含まれる場合、音声データをスピーカ17から音声出力する。また履歴情報にテキストデータが含まれる場合、制御部11は、テキストデータを表示部16に表示する。これにより、ユーザ端末10に設定した自身のアバターが、自身の端末(第1ユーザ端末10)又は他の端末(第2ユーザ端末10)で行った対話処理及び擬似的な外出処理を再現することができる。なお、ユーザ端末10がプロジェクタを備える場合、又はプロジェクタが接続されている場合、制御部11は、履歴情報をプロジェクタによって出力してもよい。
上述した処理により、本実施形態では、ユーザ端末10のユーザ(自身)に代わってユーザが設定したアバターが、他のユーザ又は他のアバターと対話することができ、また、擬似的な外出を行うことができる。よって、ユーザ端末10のユーザ(自身)は、蓄積された対話及び行動の履歴情報を再生することにより、アバターが行った対話の内容及び擬似的な外出先の映像及び音声を確認することができ、アバターが行った対話及び行動を辿ることができる。またユーザは、アバターが実行した対話及び行動を参考にして、実際の行動に移すことができ、現実世界での行動範囲の拡大が期待できる。
(実施形態2)
図16は、実施形態2の情報処理システムの構成例を示すブロック図である。本実施形態の情報処理システムは、貸出用の学習モデルである貸出可能なユーザモデル(以下では貸出モデルという)が予め用意されており、各ユーザは、自身のユーザ端末10に貸出モデルをダウンロードすることにより、貸出モデルに基づく対話及び行動を自身のユーザ端末10で実現することができるシステムである。本実施形態の情報処理システムは、多数のユーザ端末10と、貸出モデルを管理するモデル管理サーバ40とを含み、ユーザ端末10及びモデル管理サーバ40のそれぞれは、ネットワークNを介して相互に情報の送受信を行う。なお、図16では1つのユーザ端末10のみを示しており、ユーザ端末10は実施形態1と同様の構成を有し、同様の処理を行う。
モデル管理サーバ40は、パーソナルコンピュータ又はサーバコンピュータ等を用いて構成される。モデル管理サーバ40は、制御部41、記憶部42、通信部43、入力部44、表示部45、読み取り部46等を含み、これらの各部はバスを介して相互に接続されている。制御部41、記憶部42、通信部43、入力部44、表示部45、読み取り部46の各部は、実施形態1で説明したユーザ端末10の制御部11、記憶部12、通信部14、入力部15、表示部16、読み取り部22の各部と同様の構成を有するので、構成についての説明は省略する。なお、モデル管理サーバ40の記憶部42は、制御プログラム42Pのほかに、複数の貸出モデル42M1〜42M3と、後述するモデル情報DB42aとを記憶する。図16に示す例では3つの貸出モデル42M1,42M2,42M3が記憶してあるが、記憶部42には予め用意された多数の貸出モデルが記憶されている。以下では、第1貸出モデル42M1〜第3貸出モデル42M3…をまとめて貸出モデル42Mとして説明する。貸出モデル42M及びモデル情報DB42aは、モデル管理サーバ40に接続された外部記憶装置に記憶されてもよく、モデル管理サーバ40が通信可能な外部記憶装置に記憶されてもよい。
貸出モデル42Mは、実施形態1で説明したユーザモデル12Mと同様の構成を有し、同様の学習処理によって各ユーザの対話履歴及び行動履歴に基づいて各ユーザの固有情報が収集(学習)された学習済みモデルである。貸出モデル42Mは、例えばスポーツ選手、芸能人、医師、看護師、栄養士、スポーツトレーナー、教師、料理の先生、弁護士、税理士等、様々な分野のユーザの固有情報を学習させたユーザモデルである。貸出モデル42Mは、例えば各ユーザが自身のユーザ端末10において学習させたユーザモデル12Mをモデル管理サーバ40へ送信して記憶部42に記憶させたものである。なお、貸出モデル42Mの学習は、モデル管理サーバ40において行われてもよく、他の学習装置で行われてもよい。
図17はモデル情報DB42aの構成例を示す模式図である。モデル情報DB42aは、モデル管理サーバ40の記憶部42に登録された貸出モデル42Mに関する情報を記憶する。図17に示すモデル情報DB42aは、貸出モデルID列、氏名列、プロフィール列、料金列、貸出可能数列、貸出状況列等を含む。貸出モデルID列は、記憶部42に記憶された貸出モデル42Mのそれぞれに割り当てられた識別情報を記憶する。氏名列は、貸出モデルIDに対応付けて、貸出モデル42Mに対応するユーザの氏名を記憶し、プロフィール列は、貸出モデル42Mに対応するユーザのプロフィールを記憶する。料金列は、貸出モデルIDに対応付けて、貸出モデル42Mを貸し出す際の料金(使用料)の情報を記憶する。料金の情報は例えば1時間単位等のような所定時間単位の料金、貸出モデル42Mに対して行いたい質問の個数(対話の実行回数)に応じた料金等を示す。貸出可能数列は、貸出モデルIDに対応付けて、例えば同時に貸出できる数(貸出先のユーザ数)を記憶する。なお、貸出料金は、貸出モデル42Mに設定された貸出可能数(同時にデプロイ可能なユーザ端末10の装置数)に応じた料金としてもよく、例えば貸出可能数が少ないほど高い料金が設定されてもよい。貸出状況列は、貸出モデル42Mの貸出状況を示す情報を記憶する。貸出状況を示す情報は、例えば貸出が行われた日時、貸出が予約された日時等の情報を記憶する。
モデル情報DB42aに記憶される貸出モデルIDは、新たな貸出モデル42Mが記憶部42に記憶される際に、制御部41によって発行されて記憶される。モデル情報DB42aに記憶される氏名及びプロフィールは、例えば新たな貸出モデル42Mが記憶部42に記憶される際に、制御部41が通信部43を介して取得して記憶される。モデル情報DB42aに記憶される料金及び貸出可能数は、例えば貸出モデル42Mに対応するユーザによって設定され、制御部41が通信部43を介して取得して記憶又は変更される。モデル情報DB42aに記憶される貸出状況は、貸出モデル42Mがユーザ端末10に貸し出された際又は貸出が予約された際に、制御部41が貸し出した日時又は予約された日時を記憶する。モデル情報DB42aの記憶内容は図17に示す例に限定されず、貸出モデル42Mに関する各種の情報を記憶することができる。
以下に、ユーザ端末10がモデル管理サーバ40から貸出モデル42Mをダウンロードし、貸出モデル42Mに基づく対話及び行動をユーザ端末10で実行する処理について説明する。図18は、貸出モデル42Mの貸出処理手順の一例を示すフローチャート、図19は、ユーザ端末10における画面例を示す模式図である。図18では左側にユーザ端末10が行う処理を、右側にモデル管理サーバ40が行う処理をそれぞれ示す。
ユーザ端末10の制御部11は、マイク18又は入力部15を介して自端末のユーザから、貸出モデル42Mの貸出要求を受け付けたか否かを判断する(S111)。ユーザは、モデル管理サーバ40が管理している貸出可能な貸出モデル42Mを借りたい場合、例えば貸出モデル42Mを借りたい旨のメッセージをマイク18を介して音声入力する。また、ユーザ端末10の表示部16に、貸出モデル42Mの貸出を要求するための貸出ボタンが表示されている場合、ユーザは、入力部15を介して貸出ボタンを操作する。ユーザ端末10の制御部11は、貸出モデル42Mの貸出要求を受け付けていないと判断した場合(S111:NO)、待機する。貸出モデル42Mの貸出要求を受け付けたと判断した場合(S111:YES)、制御部11は、モデル管理サーバ40に、貸出モデル42Mのリストを要求する(S112)。なお、モデル管理サーバ40の宛先情報は例えば記憶部12に記憶してある。
モデル管理サーバ40の制御部41は、いずれかのユーザ端末10から貸出モデル42Mのリストを要求された場合、モデル情報DB42aの記憶内容に基づいて、貸出可能な貸出モデル42Mのリストを生成してユーザ端末10へ送信する(S113)。ユーザ端末10の制御部11は、モデル管理サーバ40から受信した貸出モデル42Mのリストに基づいて、図19に示すようなリストを表示部16に表示する(S114)。図19に示すリストは、貸出モデル42Mに対応するユーザを専門分野毎に分類し、専門分野毎に、各ユーザの氏名、プロフィール、貸出料金等を表示する。図19に示すリストでは、貸出モデル42Mのユーザとしてスポーツ分野(スポーツ選手)、芸能分野(芸能人)、医療分野(医師)のユーザの固有情報を学習させた貸出モデル42Mのリストが表示されている。リストにおいて各貸出モデル42Mの情報は選択可能に表示されており、ユーザ端末10のユーザは入力部15を介して、借りたい貸出モデル42Mを選択して決定ボタンを操作する。ユーザ端末10の制御部11は、任意の貸出モデル42Mが選択されて決定ボタンが操作されることにより、選択された貸出モデル42Mの貸出指示を受け付ける。よって、制御部11は、貸出モデル42Mの貸出指示を受け付けたか否かを判断しており(S115)、受け付けていないと判断した場合(S115:NO)、貸出モデル42Mのリストの表示を継続する(S114)。
貸出モデル42Mの貸出指示を受け付けたと判断した場合(S115:YES)、制御部11は、選択された貸出モデル42Mの貸出をモデル管理サーバ40に要求する(S116)。なお、制御部11は、例えば貸出モデル42Mのリストを介して、ユーザが希望する貸出時間を受け付け、貸出時間を含み、貸出モデル42Mの貸出を要求する要求信号をモデル管理サーバ40へ送信する。モデル管理サーバ40の制御部41(デプロイ部)は、いずれかのユーザ端末10から貸出モデル42Mの貸出を要求された場合、要求された貸出モデル42Mを記憶部42から読み出してユーザ端末10へ送信(デプロイ)する(S117)。なお、モデル管理サーバ40の制御部41は、貸出を要求された貸出モデル42Mについて、貸出状況及び貸出可能数を確認し、貸し出し可能である場合に、貸出モデル42Mをユーザ端末10へ送信する。
ユーザ端末10の制御部11は、モデル管理サーバ40から送信された貸出モデル42Mを受信し、受信した貸出モデル42Mを記憶部12に記憶し、貸出モデル42Mに基づく処理を行えるようにデプロイする。なお、制御部11は、貸出モデル42Mがデプロイされた場合、ユーザ端末10のハードウェア各部を、貸出モデル42Mに基づく処理によって占有されるように構成されている。これにより、例えばユーザ端末10のユーザモデル12Mに基づく処理と、貸出モデル42Mに基づく処理とが混在する状況を回避する。そして制御部11は、貸出モデル42Mに基づく処理を開始する(S118)。これにより、ユーザ端末10の制御部11は、図9に示す対話処理において第2ユーザ端末10が行っていたステップS48〜S53の処理と同様の処理を行い(S119〜S124)、貸出モデル42Mに基づいて、ユーザ端末10のユーザと、貸出モデル42Mのアバターとの対話を実現する。具体的には、ユーザ端末10の制御部11は、ユーザ端末10のユーザからのメッセージを受け付けたか否かを判断し(S119)、受け付けていないと判断した場合(S119:NO)、貸出モデル42Mに基づいてユーザと対話すべき対話メッセージを生成し(S120)、生成した対話メッセージを出力する(S121)。またユーザからのメッセージを受け付けたと判断した場合(S119:YES)、制御部11は、受け付けたメッセージに対する返答メッセージを貸出モデル42Mに基づいて生成(特定)し(S122)、生成した返答メッセージを出力する(S123)。これにより、ユーザ端末10は、貸出モデル42Mに基づく貸出モデル42Mのアバターと、ユーザ端末10のユーザとの間の対話を行うことができる。
ステップS121又はステップS123の処理後、ユーザ端末10の制御部11は、貸出モデル42Mのアバターとユーザとの対話を終了するか否かを判断し(S124)、終了しないと判断した場合(S124:NO)、ステップS119の処理に戻り、ステップS119〜S124の処理を繰り返す。対話を終了すると判断した場合(S124:YES)、制御部11は、ユーザ端末10のユーザと貸出モデル42Mに基づくアバターとの間で行われた対話の対話情報を対話の履歴情報として記憶部12の対話履歴DB12bに記憶し(S125)、処理を終了する。なお、ステップS124において、制御部11は、ユーザ端末10が貸出モデル42Mの貸出をモデル管理サーバ40に要求する際に指定した貸出時間が経過した場合に貸出モデル42Mに基づく対話を終了すると判断してもよい。また、貸出モデル42Mが、指定された貸出時間が経過した場合に使用禁止となるように構成されていてもよい。この場合、貸出時間が経過すれば貸出モデル42Mの使用ができなくなる。なお、例えばモデル管理サーバ40の制御部41は、貸出モデル42Mをユーザ端末10へ送信した場合、又はユーザ端末10が貸出モデル42Mの使用を終了した場合、貸出モデル42Mの貸出料金(使用料金)の課金処理を行ってもよい。例えば、モデル管理サーバ40の制御部41は、貸出モデル42Mに設定されていた貸出料金の支払いを要求する要求情報をユーザ端末10へ送信し、ユーザ端末10の制御部11は、要求情報に従って貸出料金の支払処理を行ってもよい。
上述した処理により、ユーザは、モデル管理サーバ40を介して貸出可能な貸出モデル42Mを借り受け、自身のユーザ端末10において貸出モデル42Mに基づく処理を実行することにより、貸出モデル42Mのアバターと対話することができ、貸出モデル42Mのユーザと疑似的な対話を実現できる。貸出モデル42Mを用いて、貸出モデル42Mのユーザの代わりに、ユーザ端末10のユーザとの対話を行うので、多忙な有名人又は専門家の代わりに、貸出モデル42Mのアバターがユーザ端末10のユーザからの質問に回答し、アドバイス等を行うことができる。具体的には、例えばユーザ端末10に料理の先生のアバター(貸出モデル42M)を借り受け、ユーザ端末10のユーザが、料理の先生のアバターと対話しながら料理することにより、料理の先生のアバターからアドバイスを受けつつ料理することができる。また、ユーザ端末10のユーザが有名人又は専門家と直接対話し辛い内容であっても、有名人又は専門家のアバターと対話することにより、気軽に相談できるようになる。
本実施形態においても、実施形態1と同様の効果が得られる。また本実施形態では、有名人又は専門家の固有情報を学習させた貸出モデル42Mの貸出が可能であり、各ユーザは、貸出モデル42Mを自身のユーザ端末10にダウンロードして実行させることにより、有名人又は専門家のそれぞれが行う可能性の高い対話を自身のユーザ端末10で実現することができる。よって、ユーザは、専門家等の意見を聞きたい場合に、専門家の貸出モデル42Mを借り受けて自身のユーザ端末10で貸出モデル42Mに基づく対話処理を実行させることにより、専門家のアバターと対話することができ、専門家との疑似的な対話を実現できる。この場合、専門家自身が対応できるユーザの数には限度があるが、貸出モデル42Mを貸し出すことにより、専門家が疑似的に各ユーザの質問等に回答できるので、多数のユーザの悩みを解消できることが期待される。また例えば好きな芸人がいる場合に、劇場に行けない状況であっても、ユーザが、この芸人の貸出モデル42Mを借り受けて自身のユーザ端末10で貸出モデル42Mに基づく処理を実行させることにより、好きな芸人のアバターと対話することができ、芸人との疑似的な対話を実現できる。なお、ユーザ端末10は、貸し出された貸出モデル42Mに基づく対話処理だけでなく行動処理を実行してもよく、この場合、貸出モデル42Mのユーザが行う可能性の高い行動をユーザ端末10において実現できる。よって、ユーザ端末10のユーザは、貸出モデル42Mのユーザとの擬似的な行動を、ユーザ端末10が実現する貸出モデル42Mのアバターを介して実現できる。
本実施形態において、貸出モデル42Mは、貸出先のユーザ端末10において、貸出先のユーザ端末10のユーザとの間で行った対話処理及び行動処理の内容に基づいて再学習するように構成されていてもよい。これにより、貸出先のユーザ端末10で行った対話処理及び行動処理の履歴に基づいて、貸出モデル42Mのユーザに関する情報を更に収集(学習)することができ、貸出モデル42Mに蓄積できる。なお、貸出先のユーザ端末10で再学習された貸出モデル42Mは、モデル管理サーバ40に返送され、モデル管理サーバ40の記憶部42に記憶してある貸出モデル42M(再学習前の貸出モデル42M)とは別に記憶してもよく、上書き保存してもよい。これにより、再学習された貸出モデル42Mを貸し出し対象のモデルとすることができる。なお、貸出モデル42Mは、貸出先のユーザ端末10での対話処理及び行動処理の履歴に基づく再学習を行うか否かを選択できるように構成されていてもよい。
(実施形態3)
図20は、実施形態3の情報処理システムの構成例を示すブロック図である。本実施形態の情報処理システムは、貸出用の情報処理装置である貸出可能な端末(以下では貸出端末という)が予め用意されており、各ユーザのユーザモデル12Mを貸出端末にダウンロードすることにより、貸出端末において各ユーザのユーザモデル12Mに基づく対話及び行動を実現することができるシステムである。本実施形態の情報処理システムは、例えば観光地に分散配置された複数の貸出端末50と、貸出端末50を管理する端末管理サーバ70とを含み、貸出端末50及び端末管理サーバ70のそれぞれは、ネットワークNを介して相互に情報の送受信を行う。なお、図20では観光地A,Bにそれぞれ3つの貸出端末50が配置されている例を示しているが、各観光地に4つ以上の貸出端末50が配置されていてもよい。
図21は、貸出端末50の構成例を示すブロック図である。貸出端末50は、実施形態1のユーザ端末10と同様の構成を有しており、制御部51、記憶部52、処理部53、通信部54、入力部55、表示部56、スピーカ57、マイク58、カメラ59、移動機構60、センサ部61等を含む。上述した各部51〜61は、実施形態1のユーザ端末10の各部11〜21と同様の構成を有するので、構成についての説明は省略する。なお、貸出端末50の記憶部52は、制御プログラム52Pのみを記憶している。また、貸出端末50は、実施形態1のユーザ端末10と同様に読み取り部を有する構成でもよい。本実施形態の貸出端末50は、図20中の観光地A,Bにおける左側の貸出端末50のように、実施形態1のユーザ端末10と同様の構成を有する端末であってもよい。また、図20中の観光地A,Bにおける中央の貸出端末50のように移動機構を備えない端末であってもよく、右側の貸出端末50のように移動機構として飛行機構を備える端末であってもよい。なお、各貸出端末50において、それぞれの外形に応じて適切な位置に表示部56、スピーカ57、マイク58、カメラ59が設けられている。
図22は、端末管理サーバ70の構成例を示す模式図である。端末管理サーバ70は、パーソナルコンピュータ又はサーバコンピュータ等を用いて構成され、制御部71、記憶部72、通信部73、入力部74、表示部75、読み取り部76等を含む。上述した各部71〜76は、実施形態2のモデル管理サーバ40の各部41〜46と同様の構成を有するので、構成についての説明は省略する。なお、端末管理サーバ70の記憶部72は、制御プログラム72Pのほかに、後述する端末情報DB72a及び貸出状況DB72bを記憶している。
図23は、端末管理サーバ70に記憶されるDB72a〜72bの構成例を示す模式図である。図23Aは端末情報DB72aを、図23Bは貸出状況DB72bをそれぞれ示す。端末情報DB72aは、貸出可能に観光地等に配置された貸出端末に関する情報を記憶する。図23に示す端末情報DB72aは、貸出端末ID列、設置場所列、リソース列、料金列等を含む。貸出端末ID列は、貸出端末50のそれぞれに割り当てられた識別情報を記憶する。設置場所列は、貸出端末IDに対応付けて、貸出端末50の設置場所に関する情報を記憶する。設置場所の情報は、例えば住所、地名、ランドマーク名、緯度及び経度等を用いることができる。リソース列は、貸出端末IDに対応付けて、貸出端末50が有する機能、ハードウェア資源等に関する情報を記憶する。例えば、貸出端末50が有するマイク58及びカメラ59の性能を示す情報、及び移動機構60によって移動できる距離、時間、移動方法等がリソース列に記憶される。具体的には、マイク58の集音方向(指向性)、カメラ59が全方位カメラであるか否か、カメラ59のレンズの種類、移動機構60が飛行可能であるか否か等の情報が記憶される。料金列は、貸出端末IDに対応付けて、貸出端末50を借りる際の料金(貸出料金)の情報を記憶する。料金の情報は例えば1時間単位等のような所定時間単位の料金、貸出端末50においてデプロイされるユーザモデル12Mに基づく処理の実行回数(処理回数)に応じた料金等を示す。なお、貸出端末50に対する貸出料金は、例えば貸出端末50が有する機能の品質に応じて設定されてもよい。
端末情報DB72aに記憶される貸出端末IDは、新たな貸出端末50の情報が記憶部72に記憶される際に、制御部71によって発行されて記憶される。端末情報DB72aに記憶される設置場所及びリソースの情報は、例えば新たな貸出端末50が登録される際、又は登録内容が変更される際に、制御部71が通信部73を介して取得して記憶される。端末情報DB72aに記憶される料金は、例えば貸出端末50の所有者によって設定され、制御部71が通信部73を介して取得して記憶又は変更される。端末情報DB72aの記憶内容は図23Aに示す例に限定されず、貸出端末50に関する各種の情報を記憶することができる。
貸出状況DB72bは、端末情報DB72aに登録された貸出端末50の貸出状況を記憶する。図23Bに示す貸出状況DB72bは、貸出端末ID列、予約情報列、予約可能時間帯列等を含む。貸出端末ID列は、貸出端末50の識別情報を記憶する。予約情報列は、貸出端末IDに対応付けて、貸出端末50に対して予約された貸出状況(予約状況)を示す情報を記憶する。具体的には、予約情報列は予約時間帯列及び予約者情報列を含み、予約時間帯列は、貸出端末50の使用が予約された日時の情報を記憶し、予約者情報列は、貸出端末50の使用を予約したユーザ(予約者)の情報を記憶する。予約者の情報は例えば予約者の氏名等の情報、予約者のユーザ端末10を特定するための情報等を用いることができる。予約可能時間帯列は、貸出端末IDに対応付けて、貸出端末50に設定された貸出可能な時間帯を記憶する。
貸出状況DB72bに記憶される貸出端末IDは、例えば端末情報DB72aに新たな貸出端末50の情報が登録された場合に、端末情報DB72aに記憶された貸出端末IDが制御部71によって記憶される。貸出状況DB72bに記憶される予約情報は、制御部71がユーザ端末10から貸出端末50の貸出の予約又は予約の変更を受け付け、予約又は予約の変更が成立した場合に、制御部71によって記憶又は更新される。貸出状況DB72bに記憶される予約可能時間帯は、例えば貸出端末50の所有者(ユーザ)によって設定され、制御部71が通信部73を介して取得して記憶又は変更される。貸出状況DB72bの記憶内容は図23Bに示す例に限定されず、貸出端末50に対する予約状況に関する各種の情報を記憶することができる。
以下に、ユーザ端末10のユーザが貸出端末50の貸出を予約し、予約した貸出端末50に自身のユーザモデル12Mをダウンロードし、自身のユーザモデル12Mに基づく対話及び行動を貸出端末50で実行する処理について説明する。図24は、貸出端末50の貸出に対する予約処理手順の一例を示すフローチャート、図25は、ユーザ端末10における画面例を示す模式図である。図24では左側にユーザ端末10が行う処理を、右側に端末管理サーバ70が行う処理をそれぞれ示す。
ユーザ端末10の制御部11は、ユーザモデル12Mに基づいて、ユーザ端末10の設置場所から離れた場所でユーザが行きたい場所があるか否かを判断する(S131)。ユーザモデル12Mに基づいてユーザが行きたい場所を特定することにより、ユーザが行きたい可能性の高い場所を特定できる。ユーザが行きたい場所がないと判断した場合(S131:NO)、制御部11は待機する。ユーザが行きたい場所があると判断した場合(S131:YES)、制御部11は、端末管理サーバ70に、貸出端末50のリストを要求する(S132)。なお、端末管理サーバ70の宛先情報は例えば記憶部12に記憶してある。
端末管理サーバ70の制御部71は、いずれかのユーザ端末10から貸出端末50のリストを要求された場合、端末情報DB72aの記憶内容に基づいて、貸出可能な貸出端末50のリストを生成してユーザ端末10へ送信する(S133)。ユーザ端末10の制御部11は、端末管理サーバ70から受信した貸出端末50のリストに基づいて、図25に示すようなリストを表示部16に表示する(S134)。図25に示すリストは、貸出端末50の設置場所毎(例えば観光地毎)に各貸出端末50の設置場所、端末リソース、貸出料金等を表示する。なお、各貸出端末50に端末名が付加されている場合には、リストに各貸出端末50の端末名を表示してもよい。また、貸出端末50のリストは、貸出端末50の貸出を予約したい予約時間帯を入力する入力欄を有する。制御部11は、ユーザモデル12Mに基づいて予約時間帯を決定し、入力欄に対して予約時間帯を入力する。例えば、制御部11は、「いつ行く?」のメッセージをユーザモデル12Mに入力し、ユーザモデル12Mからの出力情報に基づいて、予約時間帯を決定することができる。なお、制御部11は、入力欄に対する予約時間帯の入力を入力部15を介してユーザから受け付けてもよく、この場合、受け付けた予約時間帯を入力欄に入力する。また、リストにおいて各貸出端末50の情報は選択可能に表示されており、制御部11は、ユーザモデル12Mに基づいて特定した、ユーザが行きたい場所に対応する貸出端末50を選択する。なお、貸出端末50の選択も入力部15を介してユーザから受け付けてもよく、この場合、制御部11は、入力部15を介して受け付けた貸出端末50を選択する。ユーザ端末10の制御部11は、貸出端末50を選択し、予約時間帯を決定した場合、貸出端末50の貸出指示を行うか否かを判断する(S135)。なお、貸出端末50の選択及び予約時間帯の入力をユーザ端末10のユーザが行う場合、ユーザは、リストに表示された各貸出端末50の設置場所及びリソース等を確認し、入力部15を介して借りたい貸出端末50を選択して予約時間帯を入力して決定ボタンを操作する。この場合、制御部11は、入力部15を介して貸出端末50の貸出指示を受け付ける。制御部11は、貸出端末50の貸出指示を行わないと判断した場合(S135:NO)、即ち、貸出端末50の選択及び予約時間帯の決定が完了していない場合、貸出端末50のリストの表示を継続する(S134)。貸出端末50の貸出指示を行うと判断した場合(S135:YES)、制御部11は、選択した貸出端末50の貸出の予約を端末管理サーバ70に申し込む(S136)。なお、制御部11は、貸出端末50のリストを介して選択した貸出端末50の情報と、指定した予約時間帯の情報とを含み、貸出端末50の貸出を予約する予約申込信号を端末管理サーバ70へ送信する。
端末管理サーバ70の制御部71は、いずれかのユーザ端末10からいずれかの貸出端末50に対する貸出予約の申込を受け付けた場合、予約申込された貸出端末50に対して、予約申込された予約時間帯での予約を行う(S137)。具体的には、制御部71は、予約申込された貸出端末50の貸出端末IDに対応付けて、予約申込された予約時間帯と、予約申込してきたユーザ(予約者)の情報(予約者情報)とを予約情報として貸出状況DB72bに記憶して予約処理を行う。なお、制御部71は、予約申込された予約時間帯での貸出が可能であるか否かを判断し、可能である場合に予約処理を行う。具体的には、制御部71は、予約申込された予約時間帯が、予約申込された貸出端末50の予約可能時間帯内であるか否かを判断し、更に、予約申込された予約時間帯に他のユーザの予約があるか否かを判断する。そして制御部71は、予約時間帯が予約可能時間帯内であり、予約時間帯に他のユーザの予約がない場合に、予約時間帯での予約が可能であると判断する。なお、予約時間帯での貸出が可能でないと判断した場合、即ち、予約時間帯が予約可能時間帯内でない場合、又は予約時間帯に対して既に他のユーザの予約がある場合、制御部71は、予約時間帯での予約(貸出)ができない旨をユーザ端末10に通知してもよい。この場合、予約できない旨を通知されたユーザは、予約時間帯を変更して再度予約申込を行うことができる。制御部71は、予約が完了した後、予約した貸出端末50の情報及び予約時間帯を含む予約情報をユーザ端末10に送信し(S138)、予約が完了したことをユーザ端末10に通知する。なお、制御部71は、予約処理の際に、予約した貸出端末50を貸し出す際に貸出端末50がユーザ端末10を認証するためのパスワード等の認証情報を生成しており、認証情報も予約情報に含めてユーザ端末10へ送信する。更に制御部71は、予約者情報、予約時間帯及び認証情報を含む予約情報を貸出端末50に送信しておく。
ユーザ端末10の制御部11は、端末管理サーバ70から、予約した貸出端末50の情報、予約時間帯及び認証情報を含む予約情報を受信し、受信した予約情報を記憶部12に記憶し(S139)、予約処理を終了する。上述した処理により、ユーザ端末10のユーザは、端末管理サーバ70を介して貸出可能な貸出端末50に対する貸出予約を行うことができる。
図26及び図27は、貸出端末50の貸出処理手順の一例を示すフローチャートである。図26及び図27では左側にユーザ端末10が行う処理を、右側に貸出端末50が行う処理をそれぞれ示す。ユーザ端末10の制御部11は、貸出端末50の貸出を予約した予約時間が到来したか否かを判断し(S151)、到来していないと判断する場合(S151:NO)、待機する。予約時間が到来したと判断した場合(S151:YES)、制御部11は、端末管理サーバ70から受信した予約情報に基づいて、予約した貸出端末50に貸出を申し込む(S152)。制御部11は、予約情報に含まれる貸出端末50の情報(例えば宛先情報)に基づいて、予約情報に含まれる認証情報を含む貸出申込情報を貸出端末50に送信する。貸出端末50の制御部51は、ユーザ端末10から貸出申込情報を受信した場合、貸出申込情報に含まれる認証情報に基づいてユーザ端末10を認証する。具体的には、制御部51は、貸出申込情報に含まれる認証情報が、端末管理サーバ70から受信した予約情報に含まれる認証情報に一致するか否かを判断し、一致する場合、貸出申込情報を送信してきたユーザ端末10は正当な端末であると認証し、一致しない場合は認証しない。
制御部51は、貸出申込情報を送信してきたユーザ端末10を認証できたか否かを判断しており(S153)、認証できなかった場合(S153:NO)、貸出端末50を貸出できないことをユーザ端末10へ送信する(S154)。ユーザ端末10の制御部11は、貸出申込した貸出端末50から貸出できないことを受信した場合(S155)、処理を終了する。貸出端末50の制御部51は、ユーザ端末10を認証できたと判断した場合(S153:YES)、貸出端末50を貸出できることをユーザ端末10へ送信する(S156)。ユーザ端末10の制御部11は、貸出申込した貸出端末50から貸出できることを受信した場合、自身のユーザモデル12Mを記憶部12から読み出して貸出端末50へ送信する(S157)。なお、制御部11は、端末管理サーバ70から受信した予約情報に含まれる貸出端末50の情報に基づいて、ユーザモデル12Mを貸出端末50へ送信する。
貸出端末50の制御部51は、ユーザ端末10からユーザモデル12Mを受信した場合、ユーザモデル12Mを記憶部52に記憶し、ユーザモデル12Mに基づく処理を行えるようにデプロイする。そして制御部51は、ユーザモデル12Mに基づく処理を開始する(S158)。これにより、貸出端末50の制御部51は、図7に示す行動処理と同様の処理を行い(S159〜S165)、貸出端末50がユーザモデル12Mに基づく処理を行うことにより、ユーザモデル12M(ユーザのアバター)は、貸出端末50を用いて各種の行動を行うことができる。
具体的には、貸出端末50の制御部51は、ユーザ端末10から受信したユーザモデル12Mに基づいて、貸出端末50の設置場所の近傍で、ユーザ端末10のユーザが行きたい場所があるか否かを判断し、行きたい場所があるか否に応じて移動するか否かを判断する(S159)。なお、ここでの移動は、地表上での移動だけでなく飛行による移動も含まれる。貸出端末50の制御部51(行動処理部53b)は、移動すると判断した場合(S159:YES)、移動機構60を用いて行きたい場所まで移動し(S160)、移動しないと判断した場合(S159:NO)、ステップS160の処理をスキップする。次に制御部51は、ユーザモデル12Mに基づいて、ユーザが撮影又は録音したいか否かを判断し、撮影又は録音したいか否かに応じて撮影及び/又は録音するか否かを判断する(S161)。撮影及び/又は録音すると判断した場合(S161:YES)、制御部51は、カメラ59及びマイク58を用いて貸出端末50の周囲の撮影及び録音を行う(S162)。なお、貸出端末50の行動処理部53bは、ユーザモデル12Mに基づいてユーザが撮影したい可能性の高い被写体を特定し、特定した被写体の撮影及び録音を行う。撮影及び録音しないと判断した場合(S161:NO)、制御部51はステップS162の処理をスキップする。
次に制御部51は、ユーザモデル12Mに基づいて、ユーザが音声又は映像を出力したいか否かを判断し、音声又は映像を出力したいか否かに応じて音声及び/又は映像を出力するか否かを判断する(S163)。制御部51は、音声及び/又は映像を出力すると判断した場合(S163:YES)、スピーカ57又は表示部56を用いて音声及び/又は映像を出力し(S164)、音声及び映像を出力しないと判断した場合(S163:NO)、ステップS164の処理をスキップする。制御部51は、ユーザモデル12Mに基づく行動を終了するか否かを判断する(S165)。なお、制御部51は、ユーザモデル12Mに基づいてユーザが行動(疑似的な外出)を終了したい可能性が高いと判断される場合、行動を終了すると判断してもよい。また制御部51は、端末管理サーバ70から受信した予約情報に含まれる予約時間が満了した場合に行動を終了すると判断してもよい。更に、貸出端末50が、予約時間を満了した場合に所定のスタンバイ位置に戻って動作を終了するように構成されていてもよい。この場合、予約時間が満了すれば貸出端末50の使用ができなくなる。なお、例えば端末管理サーバ70の制御部71は、貸出端末50の予約を行った場合、又はユーザ端末10のユーザモデル12Mが貸出端末50にデプロイされた場合に、貸出端末50の貸出料金(使用料金)の課金処理を行ってもよい。例えば、端末管理サーバ70の制御部71は、貸出端末50に設定されていた貸出料金の支払いを要求する要求情報をユーザ端末10へ送信し、ユーザ端末10の制御部11は、要求情報に従って貸出料金の支払処理を行ってもよい。
行動を終了しないと判断した場合(S165:NO)、制御部51は、ステップS159の処理に戻り、ステップS159〜S164の処理を繰り返す。これにより、貸出端末50は、ユーザモデル12Mに基づいてユーザ端末10のユーザが行う可能性の高い行動を行うことができる。即ち、貸出端末50は、デプロイされるユーザモデル12Mに基づく処理を実行するので、ユーザモデル12M毎に異なる行動を行い、ユーザモデル12Mのユーザの趣味、好み、行動傾向等に応じた行動を実現することができる。行動を終了すると判断した場合(S165:YES)、貸出端末50の制御部51は、貸出端末50がユーザモデル12Mに基づいて行った行動の履歴情報をユーザ端末10へ送信する(S166)。なお、貸出端末50は、移動機構60による移動、スピーカ57及び表示部56による音声及び映像の出力等の行動を行っている場合にもカメラ59及びマイク58を用いて貸出端末50の周囲の映像及び音声を取得(撮影)しており、このような映像及び音声のデータを行動情報としてユーザ端末10へ送信する。
ユーザ端末10の制御部11は、貸出端末50から送信された行動の履歴情報(行動情報、処理結果)を受信し、受信した履歴情報を行動履歴DB12cに記憶し(S167)、処理を終了する。これにより、貸出端末50においてユーザモデル12Mに基づいて行われた行動の履歴情報(処理結果)がユーザ端末10の行動履歴DB12cに記憶される。
上述した処理により、ユーザ端末10からユーザモデル12Mが送信された貸出端末50において、ユーザモデル12Mに基づく行動処理が行われることにより、ユーザが行う可能性の高い行動を貸出端末50において実行することができる。これにより、ユーザが実際に外出する代わりに、ユーザのアバターが疑似的に外出し、外出先で撮影した映像及び音声が履歴情報として行動履歴DB12cに蓄積される。この履歴情報(処理結果)をユーザが後日確認することにより、アバターが貸出端末50において行った行動を辿ることができ、ユーザはアバターの体験を自身の体験のように感じることができ、様々な行動を疑似的に体験できる。
本実施形態においても、実施形態1と同様の効果が得られる。また本実施形態では、観光地等に配置された貸出端末50の貸出が可能であり、各ユーザのユーザモデル12Mが貸出端末50にダウンロードされ、貸出端末50でユーザモデル12Mに基づく処理(対話及び行動)が行われることにより、各ユーザが行う可能性の高い行動を貸出端末50で実現することができる。これにより、ユーザ自身が観光地等に出向くことなく、ユーザモデル12Mに基づいて貸出端末50が取得した映像及び音声等を得ることができ、ユーザは擬似的に観光地に行くことができる。また、各ユーザのユーザモデル12Mをダウンロードする貸出端末50は、ユーザモデル12Mに基づいて決定されるので、ユーザ自身は何も行うことなく、自身が行きたい場所の情報(撮影された映像及び音声等)を収集することができる。なお、ユーザモデル12Mがダウンロードされた貸出端末50は、ユーザモデル12Mに基づく行動処理だけでなく対話処理を実行してもよい。この場合、貸出端末50は、観光地等において、ユーザモデル12Mのユーザが行う可能性の高い対話を現地で実現でき、貸出端末50においてユーザのアバターが現地の人との対話を行うことにより、ユーザは擬似的に現地の人と対話することができる。
本実施形態では、例えば絶景を見ることができる場所に貸出端末50を設置(固定)しておいた場合、各ユーザが自身のユーザモデル12Mを貸出端末50にダウンロード(デプロイ)することにより、貸出端末50を介して絶景を撮影することができる。よって、各ユーザは、ユーザモデル12Mに基づく処理を行う貸出端末50を介して、擬似的に外出及び旅行することができる。
本実施形態では、所定範囲内に存在するユーザ端末10及び貸出端末50(即ち、近い位置にある端末10,50)間において、それぞれの端末10,50に異なるユーザモデル12Mがデプロイされることにより、ユーザモデル12Mのユーザの代わりにアバター間で対話を行うことができる。よって、例えば複数人で会議を行う際に欠席者がいる場合、欠席者の代わりに欠席者のユーザモデル12Mを会議室内の端末(貸出端末50又はユーザ端末10)にダウンロードすることにより、欠席者の代わりに欠席者のアバターが会議に参加できる。例えば5人で会議を行う際に2人の欠席者がいる場合、2人の欠席者のユーザモデル12M(例えば第1ユーザモデル12M及び第2ユーザモデル12M)を、会議室内に設置された端末(第1情報処理装置及び第2情報処理装置)にダウンロード(デプロイ)する。そして、第1情報処理装置が第1ユーザモデル12Mに基づく処理を行い、第2情報処理装置が第2ユーザモデル12Mに基づく処理を行うことにより、欠席者の代わりに欠席者のアバターが会議に参加し、3人の参加者(ユーザ)と、2人の欠席者のアバターとの間で対話を行うことができる。よって、会議の出席者全員の時間調整が難しい場合であっても、欠席者のアバターが会議に出席することにより、会議を円滑に進めることが可能となる。また、このように行われた会議の履歴情報(撮影画像及び集音した音声データ)は、欠席者のユーザ端末10へ送信されるので、欠席者は履歴情報を確認することにより会議内容を把握でき、擬似的に会議に参加できる。
上述した各実施形態では、各ユーザの固有情報がユーザモデル12Mに蓄積されるので、ユーザモデル12Mに基づいてユーザが行う可能性の高い対話及び行動を再現できる。よって、例えばユーザ本人が病気等で対話できなくなった場合であっても、ユーザモデル12Mに基づく処理によって、ユーザ本人が何を言いたいのか、何をしたいのか等を予測できる。
上述した各実施形態では、ユーザ端末10、ユーザモデル12Mがデプロイされた第2ユーザ端末10及び貸出端末50は、ユーザモデル12Mに基づく処理を行うので、ユーザモデル12Mのユーザが行う可能性の高い対話及び行動を実現する。この構成に加えて、ユーザモデル12Mのユーザが行う可能性の低い対話及び行動を特定し、所定の確率でこのような対話及び行動を実行し、履歴情報をユーザに提供してもよい。また、ユーザ端末10又は貸出端末50が、自端末の設置場所で流行っているもの又は流行っていることを特定し、流行っているもの又は流行っていることをユーザモデル12Mに基づいて実行し、履歴情報をユーザに提供してもよい。このような構成とした場合、ユーザが普段しないような対話相手との対話及び行動を擬似的に体験することができ、ユーザの新たな発見が期待できる。
上述した各実施形態において、ユーザ端末10及び貸出端末50は、例えば表示部16,56の配置位置(配置高さ)を変更できるように構成されていてもよい。図28は、ユーザ端末10及び貸出端末50の構成の変形例を示す模式図である。図28Aに示す例は、図1に示したユーザ端末10の変形例を示しており、図28Aの左側に示すように、ユーザ端末10は、胴体部10dに対する頭部10cの上下方向の位置を調整できる高さ調整機構10eを有してもよい。また、図28Aの右側に示すように、ユーザ端末10は、頭部10c及び胴体部10dの上下方向の位置を調整できる高さ調整機構10eを有してもよい。更に、図28Bに示すように、ユーザ端末10及び貸出端末50は、床面又は地面に接する移動機構20,60に対する表示部16,56の上下方向の位置を調整できるように構成されていてもよい。このような構成のユーザ端末10及び貸出端末50では、自身のユーザモデル12M又はデプロイされたユーザモデル12Mに基づく処理を行う際に、ユーザの身体的特徴(特に身長)に応じて、表示部16,56の上下方向の位置を変更することができる。これにより、ユーザモデル12Mのユーザの身長に合わせた高さに表示部16,56を配置することができ、表示部16,56に表示されるアバターを、よりユーザに近い存在として対話することができる。なお、各ユーザの身体的特徴に関する情報も各ユーザのユーザモデル12Mが学習している。
また、表示部16,56の配置高さを変更できる構成のほかに、例えば図1に示した第2ユーザのユーザ端末10における胴体部10dの横幅を変更できるように構成されていてもよい。例えば、胴体部10dを複数の横幅に切り替えられるような構造に構成し、ユーザモデル12Mのユーザの体格に合わせた横幅に切り替えることにより、表示部16,56に表示されるアバターに対応するユーザをよりイメージできるユーザ端末10を実現できる。また、例えば女性タイプ、男性タイプ、落語家タイプ、やせ型、ぽっちゃり型等のタイプに応じた胴体部10dの横幅を予め設定しておき、ユーザモデル12Mのユーザのタイプに合わせた横幅に切り替えるように構成されていてもよい。また、ユーザ端末10の外面の色を変更できるように構成されていてもよい。例えば、ユーザ端末10の外面又は胴体部10dの外面に液晶ディスプレイを設けることにより、ユーザモデル12Mのユーザの好み又はイメージに合わせた色合いの外面にすることができる。この場合にも、表示されるアバターに対応するユーザをよりイメージできるユーザ端末10を実現できる。
上述した各実施形態において、あるユーザモデル12M(貸出モデル42Mを含む)があるユーザ端末10(貸出端末50を含む)にデプロイされた場合に、ユーザ端末10の表示部16に、デプロイされたユーザモデル12Mのユーザに関する情報(例えばユーザの氏名、ニックネーム等)を表示するように構成されていてもよい。例えば第1ユーザのユーザモデル12Mが第2ユーザのユーザ端末10にデプロイされている場合に、第2ユーザのユーザ端末10の表示部16に第1ユーザの情報が表示されてもよい。このような構成とすることにより、ユーザ端末10を介してアバターと対話しているユーザが、ユーザ端末10の表示部16に表示されているアバターが誰のアバターであるかを容易に把握できる。よって、アバターと対話するユーザは、アバターに対してより親近感を抱くことが期待できる。また、例えば複数の欠席者がいる会議において、各欠席者の代わりに出席したアバターが誰のアバターであるかを容易に把握できるので、会議を円滑に行うことができる。
上述した各実施形態では、各ユーザの固有情報はユーザモデル12Mに蓄積される構成であるが、例えばテーブル又はDBに蓄積される構成としてもよい。この場合、例えばユーザ端末10の制御部11は、対話処理部13aがユーザと対話した内容からユーザ固有の情報を抽出し、テーブル又はDBに記憶する。このような構成においても、上述した各実施形態と同様の処理が可能であり、同様の効果が得られる。
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。