〔実施形態1〕
以下、図1〜図19に基づいて、本発明の実施の形態について詳細に説明する。なお、以下では本発明の実施の一形態に係る会話処理装置を、家庭内における会話システムに適用した例について説明する。
会話システムとは、家庭内に置かれた情報処理装置によって取得されたユーザの音声が会話処理サーバにおいて音声認識される一方、該会話処理サーバで生成されたメッセージが該情報処理装置によって音声出力されることにより、1世帯の家族の各メンバ(例えば、お父さん、お母さん、子供、祖父母)が、情報処理装置と会話を行うためのコミュニケーションシステムである。
なお、以下の図面において同一または相当する部分には、同一の参照符号を付すものとし、それらの説明は重複して行なわない。また、図面における長さ、大きさおよび幅などの寸法関係ならびに形状は、図面の明瞭化と簡略化のために適宜に変更されており、実際の寸法および形状を表してはいない。さらに、図1〜図19において、「ロボ」とは、情報処理装置を指している。
本発明の実施の一形態に係る会話処理サーバ1(会話処理装置)の理解を容易にするため、以下にまず、会話システム100の概要について整理しておく。
(会話システムの概要)
図2は、会話システム100の概要を示す図である。
図2に示すように、本実施の形態に係る会話システム100は、会話処理サーバ1、情報処理装置2(他の装置)を含む構成であり、さらに、例えば、ニュース配信サーバ3A、情報検索用サーバ3B等の外部の情報提供サーバ3を含んでもよい。そして、会話処理サーバ1は、情報処理装置2および情報提供サーバ3と通信を行う。
情報処理装置2は、例えば、家庭内に置かれる自走式の情報処理装置であり、家族のメンバ(例えば、お父さん、お母さんなど)から話し掛けられたり、家族のメンバと出会ったりすると、該メンバの音声および顔画像を取得する。そして、上記メンバの上記音声および顔画像の情報(以下、「音声情報」および「顔画像情報」とする)を、会話処理サーバ1に送信する。また、情報処理装置2は、会話処理サーバ1からメッセージを受信して、該メッセージを音声出力する。
会話処理サーバ1は、情報処理装置2から受信する音声情報および顔画像情報に基づいて上記家族の各メンバのユーザ認証処理を行う。また、上記音声情報を解析して内容を把握し、その内容に応じたメッセージを生成する。なお、詳細は後述するが、会話処理サーバ1は、上記音声情報の内容とは関係ない内容のメッセージを自発的に生成することもできる。会話処理サーバ1は、生成した上記メッセージを情報処理装置2に送信して、情報処理装置2に上記メッセージを音声出力させる。
会話システム100において、情報処理装置2が家族のメンバ(例えば、お母さん)と出合ったり、メンバから話しかけられたりすると、情報処理装置2は、該メンバの音声情報および顔画像情報を、会話処理サーバ1に送信する。会話処理サーバ1は、情報処理装置2から受信した上記音声情報および顔画像情報に基づいて上記メンバを認証した後、上記メンバ以外の他のメンバ(例えば、お父さん)のプロフィールを質問するメッセージを生成し、該メッセージを情報処理装置2に送信する。情報処理装置2は、会話処理サーバ1からの上記メッセージを受信して、上記メッセージを音声出力し、つまり、上記メンバ(例えば、お母さん)に対して、上記メンバ以外の他のメンバ(例えば、お父さん)のプロフィールを質問する。情報処理装置2は、上記メンバ(例えば、お母さん)から、上記質問に対する応答を、つまり、上記メンバ以外の他のメンバ(例えば、お父さん)のプロフィールについての応答を取得すると、該応答に係る音声情報を会話処理サーバ1に送信する。会話処理サーバ1は、情報処理装置2から上記応答に係る音声情報を受信し、これを音声認識して、情報処理装置2が話し掛けられたり、出会ったりした上記メンバ(例えば、お母さん)以外の他のメンバ(例えば、お父さん)のプロフィールを取得する。会話処理サーバ1は、上記の処理を繰り返すことによって、家族の各メンバのプロフィールを、家族の他のメンバからの応答に基づいて取得し、家族の全員のプロフィールを構築していく。
図2に示す例では、会話処理サーバ1は、まず、情報処理装置2に、「お母さん、お父さんの誕生日はいつ?」と音声出力させている(図2の(1))。なお、会話処理サーバ1のこの処理の前提として、会話処理サーバ1は、情報処理装置2から顔画像情報および音声情報を受信して、既に以下の状況が発生していることを認識している。すなわち、お母さんが情報処理装置2に話しかけている状況、または、情報処理装置2がお母さんに出会った状況が発生していることを、会話処理サーバ1は、情報処理装置2から顔画像情報および音声情報の少なくとも一方を受信して、認識している。従って、会話処理サーバ1は、少なくとも情報処理装置2の周囲にお母さんが居る状況が発生していることを、認識している。
図2の(2)に示すように、情報処理装置2からの、「お母さん、お父さんの誕生日はいつ?」という質問に対し、お母さんは、「お父さんの誕生日は6月10日よ。」と回答している。情報処理装置2は、お母さんのこの回答を、音声情報として会話処理サーバ1に送信する。
会話処理サーバ1は、情報処理装置2から受信した、お母さんの上記回答に係る音声情報を音声認識して、お父さんのプロフィールとして、お父さんの誕生日を登録する。
6月10日になって、情報処理装置2が家族のメンバに出会う、または家族のメンバから話し掛けられると、情報処理装置2は、該メンバの顔画像情報および音声情報の少なくとも一方を会話処理サーバ1に送信する。会話処理サーバ1は、情報処理装置2から受信した、上記顔画像情報および音声情報の少なくとも一方に基づいて、情報処理装置2が出会った、または話し掛けられた、上記メンバはお父さんである、と判定すると、以下の処理を行う。すなわち、まず、登録してあるお父さんのプロフィールを参照して、「6月10日がお父さんの誕生日である」ことを把握する。次に、「今日の日付は6月10日である」ことを確認する。そして、「情報処理装置2が出会っている、または話し掛けられているメンバは、お父さんである」という条件と、「今日の日付は6月10日である」という条件と、「6月10日がお父さんの誕生日である」という条件とに基づいて、以下のメッセージを生成する。すなわち、上記3つの条件を基にして、会話処理サーバ1は、「パパ、誕生日おめでとう!」というメッセージを生成し、該メッセージを情報処理装置2に送信して、情報処理装置2に、「パパ、誕生日おめでとう!」というメッセージを音声出力させる。
情報処理装置2は、会話処理サーバから上記メッセージを受信すると、6月10日に、お父さんに対し、「パパ、誕生日おめでとう!」と発言する(図2の(3))。
この結果、図2の(4)に示すように、お父さんは、情報処理装置2から直接質問されたことのない自分の誕生日を、情報処理装置2から祝福されることによって、「おお、どうして僕の誕生日を?でも、ありがとう!」と言っている。
つまり、図2に示す例では、会話処理サーバ1は、情報処理装置2に、お母さんに対し、お父さんのプロフィールについて質問させ、お母さんからの応答を取得して、お父さんのプロフィールを充実させていく。そして、会話処理サーバ1は、情報処理装置2に、お父さんに対し、お父さんのプロフィールに基づいて、メッセージを音声出力させる。
従って、会話システム100において、ユーザ(例えば、お父さん)は、情報処理装置2から直接質問されていない、例えば、自分の誕生日等のプロフィールに関するメッセージを、情報処理装置2から発言される。すなわち、会話処理サーバ1は、情報処理装置2に、或るユーザ(例えば、お父さん)のプロフィールについて、該或るユーザとは別のユーザ(お母さん)に対して質問させる。そして、会話処理サーバ1は、上記別のユーザ(お母さん)からの回答を音声認識することによって、上記或るユーザ(例えば、お父さん)のプロフィールを登録する。また、会話処理サーバ1は、上記別のユーザ(お母さん)から取得した、上記或るユーザ(例えば、お父さん)についてのプロフィールに基づいて、上記或るユーザ(例えば、お父さん)に対して、情報処理装置2にメッセージを音声出力させる。従って、会話システム100において、ユーザは、これまでのロボットとの会話には感じることのできなかった意外性を感じることができる。
さらに、会話処理サーバ1は、インターネットを介して必要な情報を収集する情報検索機能を有している。会話処理サーバ1は、図示のとおり、インターネットに接続されているあらゆる情報提供サーバ3(例えば、ニュース配信サーバ3A、情報検索用サーバ3B)にアクセスすることができる。なお、図示しないが、会話処理サーバ1が通信を行うことのできる情報提供サーバは、さらに、情報提供サーバ3C、3D、・・・と多数存在していてもよい。
図2に示す例では、会話処理サーバ1は、ニュース配信サーバ3Aが定期的に自動配信してくるニュース情報を受信するだけでなく、情報検索用サーバ3Bに情報を要求して、必要な情報を情報検索用サーバ3Bから取得する。
そして、会話処理サーバ1は、ニュース配信サーバ3A、情報検索用サーバ3Bといった情報提供サーバ3から取得した情報について、その情報の内容と、家族の各メンバのプロフィールとに基づいて、該情報を提供するメンバを決定することができる。すなわち、会話処理サーバ1は、家族のプロフィールデータを充実させつつ、該プロフィールデータを用いて、家族の各メンバに提供する情報の内容を決定することができる。例えば、「本日のプロ野球結果速報」といったニュースをニュース配信サーバ3Aから取得した場合、会話処理サーバ1は、プロフィールデータを参照して、お父さんの「趣味は野球である」と認識すると、該ニュースの提供先をお父さんに決定する。また、例えば、プロフィールデータを参照して、お母さんの「最近の関心事は、近所の安売り店である」と認識すると、家宅近隣の小売店または施設の情報の提供先をお父さんに決定することができる。さらに、例えば家族の全員が共通して一定の関心を抱いている天気予報情報などについては、家族の全員を提供先に決定してもよい。
会話処理サーバ1は、プロフィールデータを用いて、各メンバに対し、各メンバのそれぞれが関心を抱いている可能性が高い情報を、提供することができる。
以下では、或るユーザのプロフィール情報を別のユーザに質問しながら充実させることによって、該或るユーザに対し、意外性があって、かつ、関心の高い情報を提供することのできる会話システム100について、より詳細に説明する。まず、会話システム100に含まれる情報処理装置2について説明する。
(情報処理装置の概要)
本実施の形態において、情報処理装置2は、例えば、自動で床の掃除を行う自走式の掃除機である。また、情報処理装置2は、掃除のための機能の他、動作ログの記憶機能、充電残量の検出および出力機能、画像撮影機能、音声取得機能、音声出力機能等を備えている。さらに、情報処理装置2は、空調装置(エアコン)、照明装置、冷蔵庫、パソコン等の家庭内機器(図示しない)に制御信号を送信してこれを操作する機能も有している。
図1に示すように、情報処理装置2は、制御部20、マイク21、カメラ22、スピーカ23、情報処理装置通信部24を含む構成である。
マイク21は、音を取得して電気信号に変換するものである。カメラ22は、画像を取得し、電気信号に変換するものである。スピーカ23は、情報処理装置通信部24から通知されたメッセージを音声として外部に出力するものである。
制御部20は、マイク21が取得した音が人の音声であるか否かを判断したり、カメラ22が取得した画像が人の顔の画像であるか否かを判断したりすることができる。そして、取得した音、画像が、人の音声、顔画像である場合には、これらの情報を、音声情報、顔画像情報として、情報処理装置通信部24に通知する。
情報処理装置通信部24は、会話処理サーバ1との通信を行うものである。すなわち、情報処理装置2は、情報処理装置通信部24を介して、会話処理サーバ1に顔画像情報および音声情報を送信し、会話処理サーバ1からメッセージを受信する。
前述のように、情報処理装置2は、ユーザから話し掛けられると、つまり、マイク21がユーザの音声を取得すると、該音声に係る音声情報を、情報処理装置通信部24を介して、会話処理サーバ1に送信する。また、情報処理装置2は、ユーザと出会うと、つまり、カメラ22がユーザの顔画像を取得すると、該顔画像に係る顔画像情報を、情報処理装置通信部24を介して、会話処理サーバ1に送信する。さらに、情報処理装置2は、情報処理装置通信部24を介して、会話処理サーバ1からメッセージを受信し、該メッセージをスピーカ23から音声出力する。
次に、情報処理装置2に音声出力させるメッセージを生成する会話処理サーバ1について、詳細を説明する。
(会話処理サーバの構成)
図1は、会話処理サーバ1の要部構成の一例を示すブロック図である。
始めに概要を整理しておけば、会話処理サーバ1は、複数のユーザの何れか一人を検出するユーザ認証部103(ユーザ検出手段)と、ユーザ認証部103が上記複数のユーザの一人を検出したとき、上記複数のユーザのプロフィール項目をそれぞれのユーザに紐付けて格納する記憶部13に、上記複数のユーザのうちの、上記検出したユーザ以外のユーザのプロフィール項目が未登録である場合、当該プロフィール項目を上記検出したユーザに質問するメッセージを生成するメッセージ生成部106(メッセージ生成手段)と、メッセージ生成部106が生成したメッセージを、情報処理装置2(他の装置)を介して、上記検出したユーザに提示させる第1通信部11(質問提示手段)と、第1通信部11が提示した質問に対する上記検出したユーザの回答に基づいて得た内容を、上記未登録であった上記プロフィール項目として記憶部13に登録するプロフィール登録部105(プロフィール登録手段)と、を備える。
つまり、会話処理サーバ1は、プロフィール項目が未登録であるユーザの該未登録のプロフィールについて質問するメッセージを、該ユーザ以外の別のユーザに対して提示し、該別のユーザからの応答に基づいて、該ユーザについての該プロフィール項目を登録することができる。
従って、或るユーザについて、該ユーザ以外の別のユーザからの視点に基づいて、該ユーザのプロフィール項目を登録することが可能となる。また、本人に聞かずに、本人のプロフィール項目を取得でき、例えば、或るユーザ本人に対しては質問していない、該ユーザのプロフィール項目に基づいて、該ユーザ宛てのメッセージを生成することができる。従って、提示するメッセージに対してユーザに意外性を感じさせることができる。
図1に示すとおり、会話処理サーバ1は、制御部10、第1通信部11、第2通信部12、および、記憶部13を備えている。
第1通信部11は、会話処理サーバ1が情報処理装置2と通信するためのものである。
第2通信部12は、会話処理サーバ1が外部の情報提供サーバ3と通信するためのものである。具体的には、会話処理サーバ1は、第2通信部12を介して、ニュース配信サーバ3A、情報検索用サーバ3Bと通信を行う。
記憶部13は、会話処理サーバ1が使用する各種データを格納するものである。記憶部13は、会話処理サーバ1の制御部10が実行する(1)制御プログラム、(2)OSプログラム、(3)各種機能を実行するためのアプリケーションプログラム、および、(4)該アプリケーションプログラムを実行するときに読み出す各種データを記憶するものである。上記の(1)〜(4)のデータは、例えば、ROM(read only memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(登録商標)(Electrically EPROM)、HDD(Hard Disc Drive)等の不揮発性記憶装置に記憶される。
会話処理サーバ1は、図示しない一時記憶部を備えていてもよい。一時記憶部は、会話処理サーバ1が実行する各種処理の過程で、演算に使用するデータおよび演算結果等を一時的に記憶するいわゆるワーキングメモリであり、RAM(Random Access Memory)などの揮発性記憶装置で構成される。
どのデータをどの記憶装置に記憶するのかについては、会話処理サーバ1の使用目的、利便性、コスト、または、物理的な制約などから適宜決定される。
また、記憶部13には、ユーザごとの複数のプロフィール項目を含む、プロフィールデータ132が格納されている。なお、図示するように、記憶部13にはさらに、認証用データ131、質問シナリオデータ133、会話データ134等がさらに格納されていてもよい。記憶部13に格納されるこれらのデータについて、詳細は後述する。
制御部10は、音声認識処理、ユーザ認証処理、プロフィール登録処理、メッセージ生成処理等を含む会話処理サーバ1の機能を統括して制御するものである。図示の制御部110には、機能ブロックとして、顔情報取得部101、音声情報取得部102、ユーザ認証部103、音声認識部104、プロフィール登録部105、メッセージ生成部106、および提供情報取得部107が含まれている。
上述した制御部10の各機能ブロックは、例えば、CPU(central processing unit)などが、ROM(read only memory)、NVRAM(non-Volatile random access memory)等で実現された記憶装置(記憶部12)に記憶されているプログラムを不図示のRAM(random access memory)等に読み出して実行することで実現できる。
以下、制御部10中の各機能ブロックについて詳細を説明する。
(各機能ブロックの概要)
顔情報取得部101は、第1通信部11を介して、情報処理装置2が送信した顔画像情報を取得し、ユーザ認証部103に通知する。
音声情報取得部102は、第1通信部11を介して、情報処理装置2が送信した音声情報を取得し、ユーザ認証部103および音声認識部104に通知する。
ユーザ認証部103は、ユーザ認証処理を実行する機能ブロックである。すなわち、ユーザ認証部103は、音声情報取得部102から通知される音声情報、および顔情報取得部101から通知される顔画像情報の少なくとも一方によって、情報処理装置2が話しかけられ、または出会ったメンバが、誰であるのかを特定する。また、特定した結果、または特定できなかったという結果を、メッセージ生成部106に通知する。
具体的には、音声情報取得部102からの音声情報および顔情報取得部101からの顔画像情報の少なくとも一方を取得すると、記憶部13の認証用データ131を参照する。そして、ユーザ認証部103は、音声情報取得部102から取得した音声情報および顔情報取得部101から顔画像情報の少なくとも一方を、記憶部13の認証用データ131と比較する。
ここで、記憶部13には、各メンバの声紋および顔画像情報が、各メンバを識別するための家族IDと対応付けられて、認証用データ131として格納されている。
ユーザ認証部103は、音声情報取得部102から取得した音声情報の声紋と一致する声紋が認証用データ131に含まれている場合、該声紋と対応付けられている家族IDを取得する。また、ユーザ認証部103は、顔情報取得部101から取得した顔画像情報と一致する顔画像情報が認証用データ131に含まれている場合、該顔画像情報と対応付けられている家族IDを取得する。このようにして、ユーザ認証部103は、通知された音声情報および顔画像情報に基づいて、情報処理装置2が話しかけられ、または出会ったメンバの家族IDを取得する。そして、ユーザ認証部103は、取得した家族IDを、メッセージ生成部106に通知する。
通知された音声情報および顔画像情報が、認証用データ131に既に登録されているメンバの音声情報および顔画像情報と一致しない場合、ユーザ認証部103は、該判定結果をメッセージ生成部106に通知する。また、ユーザ認証部103は、音声情報取得部102から通知された音声情報に含まれる声紋情報、および顔情報取得部101から通知された顔画像情報を、新しく追加する家族IDと対応付けて、認証用データ131に格納する。
例えば、認証用データ131に、家族IDが1であるユーザの声紋情報および顔画像情報のみが登録されている場合、音声情報取得部102および顔情報取得部101から声紋情報および顔画像情報を通知されると、ユーザ認証部103は、以下の処理を行う。すなわち、ユーザ認証部103は、まず認証用データ131を参照して、通知された声紋情報および顔画像情報と一致する声紋情報および顔画像情報があるかを判定する。一致する声紋情報および顔画像情報が認証用データ131に格納されていた場合、ユーザ認証部103は、該声紋情報および顔画像情報と対応付けられている家族IDを取得し、該家族IDをメッセージ生成部106に通知する。一致する声紋情報および顔画像情報が認証用データ131に格納されていない場合、ユーザ認証部103は、音声情報取得部102および顔情報取得部101から通知された声紋情報および顔画像情報を、「家族ID:2」と対応付けて、認証用データ131に格納する。また、ユーザ認証部103は、メッセージ生成部106に、声紋情報および顔画像情報を今回取得したメンバは今まで認証用データ131に登録されていなかったメンバであること、および該メンバの家族IDは2としたこと、を通知する。
音声認識部104は、音声認識処理を実行する機能ブロックである。すなわち、音声認識部104は、音声情報取得部102から取得した音声情報の音声認識処理を行い、処理結果を、プロフィール登録部105およびメッセージ生成部106に通知する。なお、音声認識処理そのものは従来技術を用いて可能であるので、説明は省略する。
プロフィール登録部105は、プロフィール登録処理を実行する機能ブロックである。すなわち、プロフィール登録部105は、音声認識部104による音声認識処理の結果に基づいて、各メンバのプロフィールを、記憶部13に、プロフィールデータ132として登録する。なお、プロフィールデータ132とは、詳細は後述するが、メンバごと(より正確には、家族IDごと)に、名前、家庭内での役割、年齢、誕生日、趣味、好きな食べ物といった、複数のプロフィール項目が登録される情報である。
例えば、音声認識部104が、音声情報取得部102から取得した音声情報に対して音声認識処理を実行し、該音声情報が「お父さんの誕生日は6月10日だよ」というものであると判定した場合、さらに、以下の処理が実行される。すなわち、音声認識部104はまず、「お父さんの誕生日は6月10日だよ」という処理結果をプロフィール登録部105に通知する。また、プロフィール登録部105は、音声認識部104からのこの通知を受けて、プロフィールデータ132の「お父さん」の「誕生日」の欄に「6月10日」を登録する。
メッセージ生成部106は、メッセージ生成処理を実行する機能ブロックである。すなわち、メッセージ生成部106は、質問シナリオデータ133等に基づいて、情報処理装置2に音声出力させるメッセージを生成し、第1通信部11に出力する。
ここで、詳細は後述するが、質問シナリオデータ133には、メッセージ生成部106によって生成されるメッセージと、該メッセージが生成される条件とが対応付けられて、格納されている。
メッセージ生成部106は、質問シナリオデータ133によって定められている質問生成規則に基づいて、プロフィールデータ132を参照しながら、メッセージを生成する。例えば、メンバごとのプロフィール項目が格納されるプロフィールデータ132において或るメンバの或るプロフィール項目が未登録であると、メッセージ生成部106は、該メンバの該プロフィール項目について質問するメッセージを生成することができる。具体的には、プロフィールデータ132において、家族IDが「1」であるお父さんの「誕生日」というプロフィール項目が未登録である場合、「お父さんの誕生日はいつ?」、または「あなたの誕生日はいつですか?」といったメッセージを生成する。
なお、メッセージ生成部106は、上記のように、ユーザ認証部103から家族IDを通知され、つまり、情報処理装置2が話し掛けられ、または出会ったメンバが誰であるのかを通知される。従って、情報処理装置2が話し掛けるメンバに応じて、質問の表現を制御することができる。例えば、情報処理装置2がお父さん以外のメンバから話し掛けられ、または出会った時には、お父さんの誕生日を尋ねる質問として、「お父さんの誕生日はいつ?」というメッセージを、生成することができる。また、情報処理装置2がお父さんから話し掛けられ、または出会った時には、お父さんの誕生日を尋ねる質問として、「あなたの誕生日はいつですか?」というメッセージを、生成することができる。
詳細は後述するが、メッセージ生成部106は、質問シナリオデータ133の「質問の対象者」が、「本人」であるのか、「本人以外」であるのかによって、質問の表現に係る上記制御を実行することができる。メッセージ生成部106は、質問シナリオデータ133の「質問の対象者」に区分に従って、「質問を話し掛けるメンバ」と、「誰のプロフィール項目についての質問なのか」とに応じて、生成するメッセージの内容を、つまり質問の表現を制御することができる。
また、メッセージ生成部106は、プロフィールデータ132において各メンバのプロフィール項目として格納されている情報を、提供情報取得部107に、検索ワードとして通知する。詳細は後述するが、提供情報取得部107は、メッセージ生成部106から通知される検索ワードに基づいて、情報検索用サーバ3Bから該検索ワードに関係する情報を取得し、メッセージ生成部106に出力する。
さらに、メッセージ生成部106は、プロフィールデータ132における各メンバの各プロフィール項目に基づいて、メッセージを生成する。例えば、プロフィールデータ132を参照して、家族IDが「1」であるお父さんの「誕生日」の欄に「6月10日」が登録されているのを確認すると、メッセージ生成部106は、以下の処理を実行する。すなわち、メッセージ生成部106は、情報処理装置2が6月10日にお父さんから話し掛けられ、または出会った時に音声出力するメッセージとして、「パパ、誕生日おめでとう!」を生成する。
加えて、メッセージ生成部106は、提供情報取得部107から、提供情報取得部107が外部の情報提供サーバ3から第2通信部12を介して取得した情報を、通知されると、該情報に係るメッセージを生成する。例えば、提供情報取得部107は、ニュース配信サーバ3Aから自動配信されてきた「本日のプロ野球結果(タイガース、ドラゴンズと引き分け)」といったニュース速報等の配信ニュースを取得すると、この情報をメッセージ生成部106に通知する。メッセージ生成部106は、提供情報取得部107から通知された上記情報に基づいて、「今日、タイガースは、ドラゴンズと引き分けたよ!」というメッセージを生成する。
なお、メッセージ生成部106は、プロフィールデータ132における各メンバの各プロフィール項目に基づいて、上記「今日、タイガースは、ドラゴンズと引き分けたよ!」というメッセージの宛先を決定することができる。例えば、プロフィールデータ132を参照して、家族IDが「1」であるお父さんの「趣味2」の欄に「プロ野球観戦」が登録されているのを確認すると、メッセージ生成部106は、上記プロ野球結果についてのメッセージの宛先を、「お父さん」に決定する。従って、メッセージ生成部106は、例えば、情報処理装置2がお父さんから話し掛けられたり、出会ったりした場合にのみ、「今日、タイガースは、ドラゴンズと引き分けたよ!」というメッセージを、情報処理装置2に発言させることができる。
さらに、メッセージ生成部106は、メンバからの定型的な発言に対して、定型的な応答メッセージを生成することができる。例えば、図示しないが、メンバからの定型的な発言と、該発言に対する定型的な応答メッセージとが対応付けられて、定型会話データとして、記憶部13に格納されていてもよい。上記定型会話データにおいては、メンバからの「おはよう」という挨拶には、「おはよう」という応答メッセージが対応付けられている。また、メンバから情報処理装置2に何かの処理を依頼する「○○して」という発言には、「承知しました」、「分かった!」といった応答メッセージが対応付けられている。上記定型会話データを参照することによって、メッセージ生成部106は、メンバからの定型的な発言に対しては、定型的な応答を情報処理装置2に即答させることができる。
なお、メッセージ生成部106は、情報処理装置2に対し、情報処理装置2に音声出力させるメッセージだけでなく、情報処理装置2に家宅内での移動を継続させるような、情報処理装置2の動作に係る指示コマンドを送信することもできる。
メッセージ生成部106の機能について、再度、整理しておけば、以下のようになる。すなわち、メッセージ生成部106は、質問シナリオデータ133等に基づいてメッセージを生成する。そして、生成した上記メッセージを、第1通信部11を介して情報処理装置2に送信し、情報処理装置2に上記メッセージを音声出力させる。
例えば、メッセージ生成部106は、プロフィールデータ132において未登録のプロフィール項目を確認する質問を、情報処理装置2に発言させることができる。さらに、メッセージ生成部106は、ユーザ認証部103からの通知によって、情報処理装置2が話し掛けられ、または出会ったメンバが誰であるのかを把握することができる。従って、メッセージ生成部106は、情報処理装置2に、或るメンバのプロフィール項目を、該メンバ本人に対して質問させることも、該メンバ以外のメンバに質問させることができ、かつ、質問を話し掛けさせる相手に応じて質問の表現を変えることができる。
さらに、メッセージ生成部106は、プロフィールデータ132に格納されている情報に基づいて、各メンバに応じた話題を、各メンバに対して、情報処理装置2に発言させることができる。すなわち、プロフィールデータ132に格納されている「お父さんの誕生日は6月10日である」という情報に基づいて、6月10日に、お父さんに対して、「お父さん、誕生日おめでとう!」と、情報処理装置2に発言させることができる。また、プロフィールデータ132に格納されている「お父さんの趣味は野球観戦である」という情報に基づいて、お父さんに対して、お父さんが関心を持つ可能性の高いプロ野球結果速報に係るメッセージを、情報処理装置2に発言させることができる。
なお、メッセージ生成部106による上記機能は、メッセージ生成部106に含まれる、ユーザ設定部106a、空欄検出部106b、メッセージ決定部106cによって実現されるとしてもよい。すなわち、詳細は後述するが、ユーザ設定部106aは、プロフィールデータ132および認証用データ131に登録されるメンバの人数について質問するメッセージを、質問シナリオデータ133を参照して、生成する。また、空欄検出部106bは、プロフィールデータ132を参照して、未登録のプロフィール項目および該未登録のプロフィール項目に対応付けられているメンバ(家族ID)を検出し、検出結果をメッセージ決定部106cに通知する。さらに、メッセージ決定部106cは、空欄検出部106bから通知される未登録のプロフィール項目および該未登録のプロフィール項目に対応付けられている家族IDによって、質問シナリオデータ133を参照して、生成すべきメッセージを決定する。
提供情報取得部107は、第2通信部12を介して、外部の情報提供サーバ3から、情報を取得し、該情報にメッセージ生成部106に通知する。
具体的には、提供情報取得部107は、ニュース配信サーバ3Aから配信されてくるニュースを取得し、該ニュースをメッセージ生成部106に通知する。
また、提供情報取得部107は、メッセージ生成部106から通知される検索ワードに基づいて、情報検索用サーバ3Bから該検索ワードに関係する情報を取得する。具体的には、提供情報取得部107は、上記検索ワードに基づく検索結果の出力を情報検索用サーバ3Bにリクエストし、情報検索用サーバ3Bが該リクエストに応じて出力する検索結果を、提供情報として取得する。
次に、記憶部13に格納されている種々のデータについて、詳細を説明していく。
(記憶部に格納されている情報について)
前述のように、記憶部13には、ユーザごとの複数のプロフィール項目を含む、プロフィールデータ132が格納されている。なお、図2に示すように、記憶部13にはさらに、認証用データ131、質問シナリオデータ133、会話データ134等がさらに格納されていてもよい。
図5は、会話処理サーバ1が保持する、各ユーザを認証するための認証用データ131のデータ構造および具体例を示す図である。
認証用データ131には、各メンバの顔情報および声紋情報が、各メンバを識別するための家族IDごとに格納されている。
図4は、家族のメンバごとの複数のプロフィール項目を含む、プロフィールデータ132のデータ構造および具体例を示す図である。具体的には、プロフィールデータ132には、家族IDごとに、例えば、名前、家庭内の役割、年齢、誕生日、趣味、好きな食べ物等の、複数のプロフィール項目が格納される。つまり、記憶部13には、家族のメンバのプロフィール項目が、それぞれのメンバに紐付けられて、プロフィールデータ132として格納されている。
なお、プロフィールデータ132において、プロフィール項目は、内容および個数を変更することができる。すなわち、図4には、家族IDごとに、名前、家庭内での役割、年齢、誕生日、趣味1、趣味2という6個のプロフィール項目が登録され得るプロフィールデータ132が示されている。しかしながら、プロフィールデータ132において、例えば、「趣味2」というプロフィール項目は、「好きな食べ物」に変更されることが可能である。また、上記6個のプロフィール項目を維持しつつ、さらに「好きな食べ物」というプロフィール項目を追加して、プロフィールデータ132のプロフィール項目の総数を7個に増やすことができる。
また、認証用データ131における家族IDと、プロフィールデータ132における家族IDとは対応しており、同じ家族IDは、認証用データ131と、プロフィールデータ132とにおいて、同じメンバを指し示している。具体的には、認証用データ131においても、プロフィールデータ132においても、家族IDが「1」のメンバは、「お父さん」である「一郎さん」であり、家族IDが「2」のメンバは、「お母さん」である「和子さん」である。
図3は、質問シナリオデータ133のデータ構造および具体例を示す図である。質問シナリオデータ133は、会話処理サーバ1が生成する質問について、該質問の内容と、該質問が生成される条件等との組み合わせについての情報であり、つまり質問生成規則を整理したものである。例えば、メッセージ生成部106は、質問シナリオデータ133によって定められている質問生成規則に基づいて、プロフィールデータ132を参照しながら、メッセージを生成する。具体的には、メッセージ生成部106は、プロフィールデータ132において或るメンバについての未登録のプロフィール項目があると、該未登録のプロフィール項目についての質問メッセージを、質問シナリオデータ133に基づいて、生成する。
図3の質問シナリオデータ133において、「質問項目」の列は、「何についての質問であるのか」という質問の概要を示しており、基本的には、プロフィールデータ132におけるプロフィール項目に対応する。例えば、或るメンバの「誕生日」というプロフィール項目が未登録であるある場合、質問シナリオデータ133の「質問項目:誕生日」に格納されている質問生成規則に基づいて、該メンバの誕生日を質問するメッセージが生成される。ただし、「質問項目:家族の人数」については、プロフィールデータ132における各プロフィール項目に対応するものではなく、プロフィールデータ132に登録されるべきメンバ(家族ID)の総数についての質問を生成する際の、質問生成規則である。詳細は後述するが、各メンバの各プロフィール項目について質問していくのよりも早い段階で、プロフィールを構築していく家族の総数を把握することによって、効率的に質問をしていくことが可能となる。
「質問の対象者」の列は、「情報処理装置2が質問を問いかける相手は誰であるのか」、つまり、「情報処理装置2が話し掛けられ、または出会ったのが、誰なのか」を示している。なお、「質問の対象者」の列において「本人」とは、「情報処理装置2が、或るメンバのプロフィール項目についての質問を問いかける相手が、該或るメンバ本人である」ことを示している。また、「本人以外」とは、「情報処理装置2が、或るメンバのプロフィール項目についての質問を問いかける相手が、該或るメンバ以外のメンバである」ことを示している。すなわち、例えば、情報処理装置2に、お父さんの名前、年齢、誕生日等を、お父さんに対して、質問させる場合、「質問の対象者」は「本人」ということになる。また、情報処理装置2に、お父さんの誕生日を、お父さん以外のメンバに対して、質問させる場合、「質問の対象者」は「本人以外」ということになる。
「質問のタイミング」の列は、「情報処理装置2に質問をさせるタイミング」を、つまり、「情報処理装置2に質問をさせる条件」を示している。
「質問フレーズ」の列は、「情報処理装置2に発言させるメッセージ」そのものを示している。なお、「質問フレーズ」の列における「※※」は、プロフィールデータ132において「データが登録されていないプロフィール項目を有するメンバの『名前』、または、お父さん、お母さん、子供、といった『家庭内役割』」である。
例えば、プロフィールデータ132において、家族IDが「1」であるお父さんの「誕生日」が未登録である場合、メッセージ生成部106は、質問シナリオデータ133の「質問項目:誕生日」の行に基づいて、下記のメッセージを生成することができる。すなわち、情報処理装置2が話し掛けられ、または出会ったメンバがお父さんである場合、つまり「質問の対象者:本人」である場合、「ところで(もしもし)、あなたの誕生日はいつ?」というメッセージが生成される。また、情報処理装置2が話し掛けられ、または出会ったメンバがお父さん以外のメンバである場合、つまり「質問の対象者:本人以外」である場合、「ところで(もしもし)、お父さんの誕生日っていつ?」というメッセージが生成される。
なお、質問シナリオデータ133のデータ構造は図3に示すものに限られず、メッセージ生成部106が生成する質問の内容と、該質問が生成される条件等とが対応づけられた情報であればよい。
図18は、会話データ134のデータ構造および具体例を示す図である。会話データ134は、会話処理サーバ1(具体的には、メッセージ生成部106)が生成するメッセージについて、該メッセージの内容と、該メッセージが生成される条件等との組み合わせについての情報である。
例えば、12月25日になった場合、つまり「発言条件:12月25日」が満たされた場合、情報処理装置2が、家族の任意のメンバから話し掛けられ、または出会った時に、会話処理サーバ1は、情報処理装置2に、「メリークリスマス!」と発言させる。
ここで、「第1カテゴリ:情報提供」の「第2カテゴリ:自発的情報提供」には、以下の2種類のメッセージおよび該メッセージの生成条件等との組み合わせが含まれる。
1つは、会話処理サーバ1がニュース配信サーバ3Aからニュース情報を取得した場合に、会話処理サーバ1が生成するメッセージと、生成条件等との組み合わせを示している。例えば、会話処理サーバ1がニュース配信サーバ3Aからプロ野球速報の配信を受けている状態で、情報処理装置2が、「プロ野球観戦」が趣味のお父さんから話し掛けられ、または出会った時に、情報処理装置2が、該速報について発言することを示している。
1つは、プロフィールデータ132における或るメンバの或るプロフィール項目に格納されている情報に基づく検索結果を、情報検索用サーバ3Bから取得した場合の、会話処理サーバ1が生成するメッセージと、生成条件等との組み合わせを示している。例えば、情報処理装置2が、お父さんから話し掛けられ、または出会った時に、お父さんの「好きな食べ物」である「お好み焼き」についての検索結果を、情報処理装置2が、発言することを示している。
なお、図示しないが、記憶部13にはさらに、メッセージ生成部106が生成するメッセージの内容について、優先順位を定めるデータが格納されていてもよい。
例えば、情報処理装置2が、或るメンバA(例えば、お母さん)から話し掛けられ、または出会った時、該メンバA以外のメンバB(例えば、お父さん)に未登録のプロフィール項目がある場合には、会話処理サーバ1は、情報処理装置2に、該メンバBの該未登録のプロフィール項目について、優先的に質問させる。そして、上記メンバA以外に未登録のプロフィール項目があるメンバが存在しない場合に、メンバAに対して、該未登録のプロフィール項目についての質問をさせる。さらに、全てのメンバについて、全てのプロフィール項目が登録されている場合に初めて、プロフィール項目に関する質問ではなく、既に登録済みのプロフィール項目に基づいて、発言を行わせるのが望ましい。
さらに、「誰に、誰のプロフィール項目についての質問をさせるか」だけではなく、質問の内容についても、優先順位を定めるデータが格納されている方が望ましい。例えば、詳細は後述するが、会話処理サーバ1は、情報処理装置2に、まず「メンバが所属する家族の総数」を質問させ、次に「各メンバの名前」を質問させ、最後に「各メンバの、名前以外のプロフィール項目」を質問させるのが望ましい。
(処理の概要)
会話処理サーバ1が、情報処理装置2に、家族の各メンバに対して質問をさせるタイミングには、つまり、メッセージ生成部106が第1通信部11を介して情報処理装置2にメッセージを送信するタイミングには、原則、下記の2通りがある。
第1に、情報処理装置2が家族のメンバから話し掛けられた時である。この時、会話処理サーバ1は、情報処理装置2に、上記メンバに対して、話し掛けの内容に即した応答をさせた後に、質問をさせる。すなわち、情報処理装置2が家族のメンバから話し掛けられると、該メンバの音声情報および顔画像情報の少なくとも一方を、会話処理サーバ1に送信する。会話処理サーバ1は、情報処理装置2から受信した音声情報および顔画像情報の少なくとも一方に基づいて、該メンバの認証を行った後、該メンバに応じたメッセージを生成して情報処理装置2に送信し、情報処理装置2に該メッセージを音声出力させる。
第2に、情報処理装置2が家族のメンバと出会った都度、会話処理サーバ1は、情報処理装置2に、該メンバに声をかけさせる。すなわち、情報処理装置2が家宅内を移動中に家族のメンバに出会うと、該メンバの音声情報および顔画像情報の少なくとも一方を、会話処理サーバ1に送信する。会話処理サーバ1は、情報処理装置2から受信した音声情報および顔画像情報の少なくとも一方に基づいて、該メンバの認証を行った後、該メンバに応じたメッセージを生成して情報処理装置2に送信し、情報処理装置2に該メッセージを音声出力させる。
従って、以下の説明において「質問のタイミング」とは、情報処理装置2が家族のメンバから話し掛けられたり、家族のメンバと出会ったりしたタイミングを指している。また、「質問のタイミングを検知する」とは、情報処理装置2が、会話処理サーバ1に、情報処理装置2に話し掛け、または出会ったメンバの顔画像情報および音声情報を出力し、会話処理サーバ1が該顔画像情報および音声情報を受信したことを意味する。
図6は、会話処理サーバ1が、家族のプロフィールを構築していく処理の概要を示すフローチャートである。図6に示す通り、会話処理サーバ1は、まず、ステップ100(以下、S100のように略記する)で家族人数登録処理を行い、次に、家族名前登録処理(S200)を行い、最後に、家族プロフィール登録処理(S300)を行う。
会話処理サーバ1は、早い段階で、プロフィール項目を登録していくべきメンバの総数を把握することによって、それ以後、情報処理装置2に、効率的に家族の全メンバのプロフィール項目を質問させていくことが可能となる。例えば、既にお父さんとお母さんの2人の家族IDおよび名前を登録した状態で、家族の総数が6人であることを把握することができれば、家族IDおよび名前の登録が必要なメンバは、残り4人であると推定することができる。従って、例えば家族の総数を確認できた後、会話処理サーバ1は、情報処理装置2に、「残る4人の名前はなんていうの?」といった質問をさせることにより、効率的に、家族の全員のプロフィールを構築していくことが可能となる。
これに対し、家族の総数が分からないと、「残る4人の名前はなんていうの?」といった質問をさせることはできない。さらに、家族の全員の家族IDを登録できたか否かの確認が遅れ、またはできなくなり、効率的に、家族全員のプロフィールを構築していくことができない。
また、名前以外のプロフィール項目は、名前を聞いた後に、取得してゆくことによって、ユーザに、情報処理装置2との会話を自然なものに感じさせることが可能となる。例えば、情報処理装置2に、お母さんに対して、子供の趣味を聞かせる際、「子供の趣味って何?」といきなり聞くのではなく、まず「子どもの名前はなんていうの?」と聞いて、子供の名前を確認した後に、例えば、子供の名前が太郎であるならば、「太郎君の趣味って何?」と聞いた方が自然である。従って、会話処理サーバ1は、各メンバの名前を登録できた後に、情報処理装置2に、名前を登録できたメンバの、名前以外のプロフィール項目を質問させていくことによって、ユーザとの会話を自然なものとすることが可能となる。
ただし、S100からS300までのこの処理の順序は必須ではなく、あくまで処理の一般的な流れを示しているに過ぎない。例えば、図10等を用いて後述する通り、情報処理装置2が家庭内に初めて置かれて、初めて家族のメンバから話し掛けられ、または出会った場合、まずは、家族人数登録処理ではなく、該メンバの名前を質問するのが望ましい。初めて話し掛けられ、または出会ったメンバに対して、いきなり家族の総数を質問するのは不自然だからである。認証用データ131およびプロフィールデータ132に格納されている家族IDの数が一定数(例えば、2)に達するまでは、家族人数登録処理ではなく、家族名前登録処理を行うといったルールが記憶部13に格納されていてもよい。そして、メッセージ生成部106は、記憶部13に格納されているこのルールに従って質問を生成するとしてもよい。
図7は、家族人数登録処理の流れを示すフローチャートである。
まず、会話処理サーバ1が質問のタイミングを検知する(S101)。つまり、情報処理装置2は、話し掛けられ、または出会ったメンバの音声情報および顔画像情報を、情報処理装置通信部24を介して、会話処理サーバ1に送信し、会話処理サーバ1は該音声情報および顔画像情報を受信する。
会話処理サーバ1は、具体的にはメッセージ生成部106は、質問シナリオデータ133を参照して、質問のタイミングに合わせた質問を取得する(S102)。すなわち、メッセージ生成部106は、質問シナリオデータ133の「質問項目:家族の人数」の行に登録されて質問生成規則に従って、質問を生成する。具体的には、メッセージ生成部106は、「ところで(もしもし)、家族は何人いるの?」というメッセージを生成し、第1通信部11を介して、該メッセージを情報処理装置2に送信する。
情報処理装置2は、会話処理サーバ1から上記メッセージを受信して、スピーカ23から、「ところで(もしもし)、家族は何人いるの?」という質問を音声出力する(S103)。情報処理装置2からの上記質問に対して、上記メンバは、例えば「6人家族だよ」といった、応答を行う。
情報処理装置2は、上記メンバからの上記回答(音声による回答)を取得する(S104)。そして、情報処理装置2は、該音声に係る音声情報を、情報処理装置通信部24を介して、会話処理サーバ1に送信する。
会話処理サーバ1は、情報処理装置2から受信する、上記メンバからの上記回答に係る音声情報に対し、音声認識処理を実行する(S105)。具体的には、音声認識部104が、上記音声情報に対し、音声認識処理を実行する。
音声認識部104による音声認識処理が成功した場合(S106でYes)、音声認識部104は、処理結果を、つまり、例えば「6人家族だよ」といった発言内容を、プロフィール登録部105に通知する。プロフィール登録部105は、音声認識部104から通知される処理結果に基づいて、プロフィールデータ132に、人数分だけ家族IDを登録する(S107)。
音声認識部104による音声認識処理が失敗した場合(S106でNo)、会話処理サーバ1は再度、質問のタイミングの検知を行い、つまり、情報処理装置2がメンバから話し掛けられ、または出会っている状況であるかを確認する(S101)。
なお、家族人数登録処理と並行して、家族構成登録処理を行うのが望ましい。すなわち、各メンバの家庭内での、「お父さん」、「お母さん」、「子供」、「おじいちゃん」、「おばあちゃん」といった役割について質問し、各メンバの「家庭内役割」というプロフィール項目についても、できるだけ早い段階で取得するのが望ましい。例えば、或るメンバの名前が分からない状況においても、「家庭内役割」が分かれば、例えば、「『子供』の名前はなんていうの?」といった形式で、該メンバ本人以外のメンバに対し、該メンバのプロフィール項目を質問することができるからである。
家族構成登録処理においては、例えば、「僕、新しくお家に来た情報処理装置2だよ。一緒にお家に住む家族について教えて欲しいな。」といった発言を端緒として、家族構成を質問し、「家庭内役割」等の家族構成に係る情報を収集すればよい。また、例えば、「ママの和子だよ」、「パパの一郎だよ」といった発言から、該発言を行ったメンバ本人の「家庭内役割」(お母さん、お父さん)だけでなく、「子供が居る家庭である」、つまり「子供の居る家族構成である」と判断してもよい。
図8は、家族名前登録処理の流れを示すフローチャートである。
まず、会話処理サーバ1が質問のタイミングを検知する(S201)。つまり、情報処理装置2は、話し掛けられ、または出会ったメンバの音声情報および顔画像情報を、情報処理装置通信部24を介して、会話処理サーバ1に送信し、会話処理サーバ1は該音声情報および顔画像情報を受信する。
会話処理サーバ1のユーザ認証部103は、認証用データ131を参照し、上記音声情報に含まれる声紋情報および顔画像情報を用いて、ユーザ認証処理を実行する(S202)。すなわち、ユーザ認証部103は、会話処理サーバ1が情報処理装置2から受信した上記音声情報に含まれる声紋情報および顔画像情報と一致する声紋情報および顔画像情報が認証用データ131に登録されているかを確認する。一致する声紋情報および顔画像情報がある場合、ユーザ認証部103は、上記声紋情報および顔画像情報に対応付けられている家族IDを、認証用データ131から取得して、メッセージ生成部106に通知する。一致する声紋情報および顔画像情報がない場合、ユーザ認証部103は、一致する声紋情報および顔画像情報がなかった旨を、つまり、情報処理装置2が初めて話し掛けられ、または初めて出会ったメンバであることを、メッセージ生成部106に通知する。
ユーザ認証部103からユーザ認証処理の結果を通知されると、メッセージ生成部106は、質問シナリオデータ133に基づいて、質問のタイミングに合わせた質問を取得する(S203)。
ユーザ認証部103から、認証用データ131に既に登録されていた家族IDを通知された場合、メッセージ生成部106は、まず、プロフィールデータ132を参照して、ユーザ認証部103から通知された家族ID以外の家族IDであって、プロフィールデータ132に家族IDが登録されているにもかかわらず、「名前」の欄が登録されていないメンバの、家庭内役割の欄を取得する。メッセージ生成部106は、次に、質問シナリオデータ133の「質問項目:家族の名前」であって、「質問の対象者:本人以外」の行に登録されて質問生成規則に従って、質問を生成する。例えば、ユーザ認証部103から通知された家族IDが2である場合に、家族IDが3であって、家庭内役割が子供であるメンバの「名前」がプロフィールデータ132に登録されていない時、メッセージ生成部106は、以下のメッセージを生成する。すなわち、「ところで(もしもし)、子供の名前は?」という質問を生成する。そして、メッセージ生成部106は、上記メッセージを情報処理装置2に送信する。
ユーザ認証部103から、情報処理装置2が話し掛けられ、または出会ったメンバが、初めて話し掛けられ、または初めて出会ったメンバであることを通知された場合、メッセージ生成部106は以下の処理を実行する。すなわち、メッセージ生成部106は、質問シナリオデータ133の「質問項目:家族の名前」であって、「質問の対象者:本人」の行に登録されて質問生成規則に従って、質問を生成する。つまり、「ところで(もしもし)、あなたのお名前は?」というメッセージを生成する。
メッセージ生成部106は、上記のように、質問シナリオデータ133に基づいて、質問のタイミングに合わせたメッセージを生成し、該メッセージを情報処理装置2に送信する。
情報処理装置2は、会話処理サーバ1から上記メッセージを受信して、上記質問を発話する(S204)。そして、情報処理装置2からの上記質問に対して、上記メンバは、名前を聞かれたメンバの名前を回答する。情報処理装置2は、上記メンバからの上記回答(音声による回答)を取得する(S205)。そして、情報処理装置2は、該音声に係る音声情報を、情報処理装置通信部24を介して、会話処理サーバ1に送信する。会話処理サーバ1は、情報処理装置2から受信する、上記メンバからの上記回答に係る音声情報に対し、音声認識処理を実行する(S206)。
音声認識部104による音声認識処理が成功した場合(S207でYes)、音声認識部104は、処理結果をプロフィール登録部105に通知する。プロフィール登録部105は、音声認識部104から通知される処理結果に基づいて、プロフィールデータ132に、名前を聞いたメンバの名前を登録する。(S208)。
音声認識処理が失敗した場合(S207でNo)、会話処理サーバ1は再度、質問のタイミングの検知を行い、つまり、情報処理装置2がメンバから話し掛けられ、または出会っている状況であるかを確認する(S201)。
S202のユーザ認証処理において、情報処理装置2が話し掛けられ、または出会ったメンバが、初めてのメンバである場合、ユーザ認証部103は、認証用データ131に、該メンバの声紋情報および顔画像情報を登録する(S209)。
なお、S209における、ユーザ認証部103による、「初めてのメンバの声紋情報および顔画像情報の、認証用データ131への登録」処理は、S208の後に実行されなくてはならない訳ではない。例えば、S202において、ユーザ認証処理の後に、「新しいメンバの声紋情報および顔画像情報の、認証用データ131への登録」処理を行ってもよい。すなわち、ユーザ認証部103は、会話処理サーバ1が情報処理装置2から取得した音声情報に含まれる声紋情報および顔画像情報に一致する声紋情報および顔画像情報が認証用データ131に登録されていないのを確認すると、以下のような判定を下す。すなわち、情報処理装置2が話し掛けられ、または出会ったメンバが、初めて話し掛けられ、または初めて出会ったメンバであると判定する。ユーザ認証部103は、上記判定結果をメッセージ生成部106に通知する。さらに、ユーザ認証部103は、認証用データ131に未登録であった、会話処理サーバ1が情報処理装置2から取得した音声情報に含まれる声紋情報および顔画像情報を、新しい家族IDに対応付けて、認証用データ131に登録する。
また、上記の説明では、S203において、メッセージ生成部106は、ユーザ認証部103から認証用データ131に既登録の家族IDを通知されると、該既登録の家族ID以外の家族IDに対応するメンバの名前を質問するメッセージを生成するとした。すなわち、S203において、会話処理サーバ1は、「情報処理装置2が、会話処理サーバ1に既に家族IDが登録済であるメンバから話し掛けられ、または出会った」場合、該メンバ以外のメンバの名前を質問するメッセージを生成する、と説明した。例えば、情報処理装置2が、会話処理サーバ1に既に家族IDが登録済であるお母さんから話し掛けられた場合、会話処理サーバ1は以下のメッセージを生成する。すなわち、お母さん以外のメンバであって、プロフィールデータ132に家族IDが登録されているにもかかわらず、「名前」の欄が登録されていないメンバの名前を質問するメッセージを生成する。
しかしながら、S203において、会話処理サーバ1は、「情報処理装置2が、会話処理サーバ1に既に家族IDが登録済であるメンバから話し掛けられ、または出会った」場合、該メンバの名前が不明であった場合には、該メンバ本人に対して、該メンバの名前を質問するメッセージを生成してもよい。例えば、お母さんから「子供が2人いる」ことは既に聞いており、既にこの2人の子供と話したことはあり、この2人の子供の家族ID、声紋情報、および顔画像情報は登録済である。しかし、何らかの理由により、未だこの2人の子供の名前を登録していない。そのような状況下で、この2人の子供から情報処理装置2が話し掛けられた場合、会話処理サーバ1は、「あなたの名前を教えてください」というメッセージを生成し、情報処理装置2に、この2人の子供に対して、該メッセージを音声出力させてもよい。
図9は、家族プロフィール登録処理の流れを示すフローチャートである。
まず、会話処理サーバ1が質問のタイミングを検知する(S301)。つまり、情報処理装置2は、話し掛けられ、または出会ったメンバの音声情報および顔画像情報を会話処理サーバ1に送信し、会話処理サーバ1は該音声情報および顔画像情報を受信する。
会話処理サーバ1は、情報処理装置2から受信する上記音声情報および顔画像情報に基づいて、ユーザ認証処理を実行する。会話処理サーバ1は、さらに、質問シナリオデータ133の「質問の対象者」の「本人」の行に定められた質問生成規則に従って質問を生成するか、それとも、「本人以外」の行に定められた質問生成規則に従って質問を生成するか、を決定する(S302)。つまり、情報処理装置2に音声出力させる質問を、S301において情報処理装置2が話し掛けられ、または出会ったメンバのプロフィール項目に関する質問とするか、または、該メンバ以外のメンバのプロフィール項目に関する質問とするかを決定する。
この決定を行う方法については、例えば、前述のように「本人以外のメンバについて、未登録のプロフィール項目がある場合には、該本人以外のメンバの該未登録のプロフィール項目についての質問を優先させる」といったものであってよい。或るメンバのプロフィール項目を、該或るメンバ以外のメンバから取得することによって、該或るメンバについて、多様な視点に基づいて、プロフィールを構築していくことが可能となる。また、例えば「子供に対して、名前以外のプロフィール項目については質問しない」といったものであってもよい。この方法は、例えば、子供の年齢がまだ小さく、子供から取得する情報の信ぴょう性が低い場合に、特に有効である。さらに、「情報処理装置2が、所定時間(例えば、30分)以内に、同じメンバから複数回、話し掛けられ、または出会った場合には、2回目以降は、該メンバ自身のプロフィールについて質問する」といったものであってもよい。自分以外の人のことについてばかり質問されると、自分が無視されているように感じて、不快感を覚える可能性があるからである。なお、これらの方法は、データとして、記憶部13に格納されていてもよい。
以上に例示したような方法に基づき、S302においてメッセージ生成部106は、質問シナリオデータ133の「質問の対象者:本人」または「質問の対象者:本人以外」に定められた質問生成規則のいずれに従って質問を生成するのかを決定する。
メッセージ生成部106が、質問シナリオデータ133の「質問の対象者」の「本人」の行に定められた質問生成規則に従って質問を生成することになった場合(S302でYes)、メッセージ生成部106は以下の処理を実行する。
なお、念のため再度確認しておけば、「質問の対象者:本人」の場合の質問生成規則とは、情報処理装置2が話し掛けられ、または出会ったメンバに対する、該メンバ本人の未登録のプロフィール項目に関する質問を生成する際に適用される質問生成規則である。また、「質問の対象者:本人以外」の場合の質問生成規則とは、情報処理装置2が話し掛けられ、または出会ったメンバに対する、該メンバ以外のメンバの未登録のプロフィール項目に関する質問を生成する際に適用される質問生成規則である。例えば、お父さんの誕生日についての質問をお父さん本人に対してする場合には、「質問の対象者:本人」の場合の質問生成規則に従って、質問が生成される。また、お父さんの誕生日についての質問をお母さんに対してする場合には、「質問の対象者:本人以外」の場合の質問生成規則に従って、質問が生成される。
S302でYesの場合、メッセージ生成部106は、まず、ユーザ認証部103から、上記本人の、つまり、S301において情報処理装置2が話し掛けられ、または出会ったメンバの、家族IDを取得する(S303)。
メッセージ生成部106は、次に、プロフィールデータ132に対し、上記本人の家族IDで、データの入っていないフィールドの、つまり、データが未登録のプロフィール項目の検索を実行する(S304)。
プロフィールデータ132において、上記本人の家族IDに、未登録のプロフィール項目がある場合(S305でYes)、メッセージ生成部106は、質問シナリオデータ133から、上記本人の未登録プロフィール項目に関する質問を取得する(S306)。すなわち、メッセージ生成部106は、質問シナリオデータ133の「質問の対象者:本人」の行に定められた質問生成規則に従って、上記未登録プロフィール項目に関する質問メッセージを生成する。そして、メッセージ生成部106は、生成したメッセージを情報処理装置2に送信する。その後、S307に進むが、S307については後述する。
プロフィールデータ132において、上記本人の家族IDに、未登録のプロフィール項目がない場合(S305でNo)、S312に進む。S312については後述する。
メッセージ生成部106が、質問シナリオデータ133の「質問の対象者」の「本人以外」の行に定められた質問生成規則に従って質問を生成することになった場合(S302でNo)、メッセージ生成部106は以下の処理を実行する。
メッセージ生成部106は、上記本人(S301において情報処理装置2が話し掛けられ、または出会ったメンバ)以外のメンバの家族IDを取得する(S312)。すなわち、メッセージ生成部106は、まず、ユーザ認証部103から、上記本人の家族IDを取得する。そして、プロフィールデータ132または認証用データ131に登録されている家族IDのうち、上記本人の家族ID以外の家族IDを取得する。
メッセージ生成部106は、次に、プロフィールデータ132に対し、上記本人以外のメンバの家族IDで、データの入っていないフィールドの、つまり、データが未登録のプロフィール項目の検索を実行する(S313)。
プロフィールデータ132において、上記本人以外のメンバの家族IDに、未登録のプロフィール項目がある場合(S314でYes)、メッセージ生成部106は、上記本人以外のメンバの家族IDに対応付けられている「名前」を取得する(S315)。
ここで、例えば複数のメンバについて、各々、複数のプロフィール項目が未登録である場合、その中の任意の1人のメンバの家族IDおよび名前と、該メンバの未登録のプロフィール項目のうちの任意の1つのプロフィール項目の名称とを取得すればよい。例えば、「お母さん」について「年齢」と「誕生日」が、「お父さん」について「誕生日」と「趣味」が、「おじいちゃん」について「年齢」と「誕生日」と「趣味」が、未登録である場合、プロフィールデータ132は以下のいずれかを取得すればよい。すなわち、プロフィールデータ132は、お母さんの、家族ID、名前、および、年齢または誕生日というプロフィール項目名を、取得してもよい。また、プロフィールデータ132は、お父さんの、家族ID、名前、および、誕生日または趣味というプロフィール項目名を、取得してもよい。さらに、プロフィールデータ132は、おじいちゃんの、家族ID、名前と、年齢、誕生日、または趣味の何れかのプロフィール項目名とを、取得してもよい。
プロフィールデータ132において、上記本人以外のメンバの家族IDに、未登録のプロフィール項目がない場合(S314でNo)、メッセージ生成部106は、家族プロフィール登録処理を終了する。プロフィールデータ132において、未登録のプロフィール項目はないからである。
S315に続いて、メッセージ生成部106は、さらに、質問シナリオデータ133から、上記本人以外のメンバの未登録プロフィール項目に関する質問を取得する(S316)。すなわち、メッセージ生成部106は、質問シナリオデータ133の「質問の対象者:本人以外」の行に定められた質問生成規則に従って、上記未登録プロフィール項目に関する質問メッセージを生成する。そして、メッセージ生成部106は、生成したメッセージを情報処理装置2に送信する。その後、S307に進む。
情報処理装置2は、S306またはS316において会話処理サーバ1から送信される上記メッセージを受信し、上記メッセージの音声出力を実行する(S307)。情報処理装置2からのこの音声出力に対して、上記メンバは音声による応答を行う。
情報処理装置2は、上記メンバからの上記回答(音声による回答)を取得し(S308)、上記回答に係る音声情報を会話処理サーバ1に送信する。
会話処理サーバ1は、情報処理装置2から受信する、上記メンバからの上記回答に係る音声情報に対し、音声認識処理を実行する(S309)。
音声認識処理が成功した場合(S310でYes)、音声認識部104は、音声認識処理の処理結果をプロフィール登録部105に通知する。プロフィール登録部105は、音声認識部104から通知される処理結果に基づいて、プロフィールデータ132を登録する(S311)。
音声認識処理が失敗した場合(S310でNo)、会話処理サーバ1は再度、質問のタイミングの検知を行い、つまり、情報処理装置2がメンバから話し掛けられ、または出会っている状況であるかを確認する(S301)。
なお、前述のように、メッセージ生成部106に含まれるユーザ設定部106aが特に、上記家族人数登録処理を行うとしてもよい。すなわち、ユーザ設定部106aが、プロフィールデータ132および認証用データ131に登録されるメンバの人数について質問するメッセージを、質問シナリオデータ133を参照して、生成してもよい。家族人数登録処理は、プロフィールデータ132における未登録のプロフィール項目についての質問を生成する処理ではなく、プロフィールデータ132および認証用データ131に登録されるメンバの人数自体を質問し、該人数を登録する処理である。つまり、家族人数登録処理は、「プロフィールデータ132を参照して未登録のプロフィール項目および該プロフィール項目と対応付けられる家族IDを検出」し、「該プロフィール項目および家族IDに基づき、質問シナリオデータ133に従って、生成するメッセージを決定」する処理と、区別することができる。従って、家族人数登録処理については、特に、ユーザ設定部106aによって実行されるとしてもよい。なお、さらに、「プロフィールデータ132を参照して未登録のプロフィール項目および該プロフィール項目と対応付けられる家族IDを検出する」処理については、空欄検出部106bが実行するとしてもよい。また、「空欄検出部106bの検出結果に基づいて、質問シナリオデータ133を参照して、生成するメッセージを決定する」処理については、メッセージ決定部106cが実行するとしてもよい。
以上を整理すれば、会話処理サーバ1の制御方法は、複数のユーザの何れか一人を検出するユーザ検出ステップ(S202、S302)と、上記ユーザ検出ステップにて上記複数のユーザの一人を検出したとき、上記複数のユーザのプロフィール項目をそれぞれのユーザに紐付けて格納する記憶部13(より正確に言えば、記憶部13のプロフィールデータ132)に、上記複数のユーザのうちの、上記検出したユーザ以外のユーザのプロフィール項目が未登録である場合、当該プロフィール項目を上記検出したユーザに質問するメッセージを生成するメッセージ生成ステップ(S203、S306およびS316)と、上記メッセージ生成ステップにて生成したメッセージを、自装置からまたは他の装置を介して、上記検出したユーザに提示する質問提示ステップ(S204、S307)と、上記質問提示ステップにて提示した質問に対する上記検出したユーザの回答に基づいて得た内容を、上記未登録であった上記プロフィール項目として上記記憶部に登録するプロフィール登録ステップ(S208、S311)と、を含む。
(ユーザと会話しながら家族のプロフィールを構築していく具体例)
以下、図10〜図13を用いて、会話処理サーバ1が、情報処理装置2に、メンバと会話をさせながら、家族のプロフィールを構築していく具体的なケースを説明する。なお、図面の明瞭化と簡略化のため、図10〜図17においては、会話処理サーバ1における処理を省略し、会話処理サーバ1における処理によって情報処理装置2において実現される機能、および情報処理装置2とメンバとの会話を中心に説明を行っている。
図10は、会話システム100において、初めて、家族のメンバ(図10の例では「お母さん」)が情報処理装置2に話し掛けた時の、情報処理装置2と該メンバ(お母さん)との会話を示している。図10に示す例では、会話処理サーバ1は、認証用データ131およびプロフィールデータ132に格納されている家族IDの数が一定数(例えば、2)に達するまでは、家族人数登録処理ではなく、家族名前登録処理を行う。
図10の(1)において、まず、お母さんが、情報処理装置2に、「キレイにして!」、つまり「部屋をお掃除して!」と言って、話し掛けている。なお、お母さんは、この家庭において、初めて情報処理装置2に話し掛け、または出会ったメンバであるとする。
情報処理装置2は、マイク21によって取得したお母さんの音声に係る音声情報、およびカメラ22によって取得したお母さんの顔画像に係る顔画像情報を、情報処理装置通信部24を介して、会話処理サーバ1に送信する。なお、この時点においては、会話処理サーバ1(プロフィールデータ132等)に「お母さん」の家族ID、声紋情報、顔画像情報、および、名前・家庭内の役割・年齢等のプロフィール項目は登録されていない。従って、情報処理装置2は、人の声を認識したり、人の顔画像を認識したりしたら、誰であるかは不明であるが、とにかく、顔画像と音声とを取得し、それらの情報を会話処理サーバ1に送信している。
会話処理サーバ1は、情報処理装置2から上記音声情報および顔画像情報を取得する。そして、上記音声情報に含まれる声紋情報および顔画像情報を用いて、ユーザ認証処理を実行する。具体的には、ユーザ認証部103が、認証用データ131を参照して、上記音声情報(に含まれる声紋情報)および顔画像情報に対応付けられて格納されている家族IDはないと判定し、該判定結果をメッセージ生成部106に通知する。
メッセージ生成部106は、ユーザ認証部103から通知されるユーザ認証処理の上記結果、質問シナリオデータ133、およびプロフィールデータ132における登録状況等に基づいて、情報処理装置2に出力する質問を生成する。ここで、メッセージ生成部106は、前述のように、認証用データ131およびプロフィールデータ132を参照して、登録されている家族IDがない、つまり、家族IDの数が一定数(例えば、2)未満である場合、家族人数登録処理よりも、家族名前登録処理を優先するとする。
従って、メッセージ生成部106は、質問シナリオデータ133の「質問項目:名前」、「質問の対象者:本人」、「質問のタイミング:話し掛けられた時」に定められた質問生成規則に従って、「ところで、あなたのお名前は(あなたは誰ですか)?」という質問を生成する。
また、会話処理サーバ1の音声認識部104は、お母さんの上記「キレイにして!」という発言を音声認識処理し、「部屋をお掃除して欲しい」という掃除実行指示であると認識し、該認識結果をメッセージ生成部106に通知する。メッセージ生成部106は、上記のような実行指示に対して、前述の定型会話データ等に基づいて、「承知しました。」という応答メッセージを生成する。
そして、メッセージ生成部106は、生成した上記質問および応答メッセージを組み合わせ、「承知しました。ところであなたは誰ですか?」というメッセージを、情報処理装置2に送信する。
情報処理装置2は、会話処理サーバ1からの上記メッセージを受信し、お母さんに対し、「承知しました。ところであなたは誰ですか?」と発言する(図10の(2))。お母さんは、情報処理装置2からの上記音声出力に対し、情報処理装置2に、「ママの和子だよ。」と応答する(図10の(3))。
情報処理装置2は、お母さんからの上記応答に係る音声情報(声紋情報を含む)、および、お母さんの顔画像情報を取得する(図10の(4))。そして、情報処理装置2は、お母さんの上記顔画像情報および音声情報を、会話処理サーバ1に送信する。
会話処理サーバ1は、情報処理装置2から受信したお母さんの上記顔画像情報および音声情報に基づいて、まずユーザ認証処理を行って、さらに、音声認識処理を行う。そして、会話処理サーバ1は、「和子」という名前、「お母さん」という家庭内での地位を、例えば「家族ID:2」と組み合わせて、プロフィールデータ132として、記憶部13に登録する(図10の(5))。
なお、上記のように、「お母さん」の家族ID、声紋情報、および顔画像情報の認証用データ131への登録は、以下の2つのいずれかのタイミングで行えばよい。すなわち、(1)のお母さんによる「キレイにして!」という発言を取得したタイミングの後に行ってもよいし、(3)のお母さんによる「ママの和子だよ。」という発言を取得したタイミングの後に行ってもよい。
図11は、会話システム100において、既に家族の一部のメンバ(お母さん)が会話処理サーバ1に登録済の場合に、未登録のメンバ(お父さん)から情報処理装置2が話しかけられた時の、情報処理装置2と該メンバ(お父さん)との会話を示している。図11に示す例においても、会話処理サーバ1は、認証用データ131およびプロフィールデータ132に格納されている家族IDの数が一定数(例えば、2)に達するまでは、家族人数登録処理ではなく、家族名前登録処理を行う。
図11の(1)においては、まず、お父さんが、情報処理装置2に、「エアコンつけて!」と言って話し掛けている。情報処理装置2は、お父さんの上記発言に係る音声情報、およびお父さんの顔画像に係る顔画像情報を、会話処理サーバ1に送信する。会話処理サーバ1は、情報処理装置2から上記音声情報および顔画像情報を取得する。そして、上記音声情報に含まれる声紋情報および顔画像情報を用いて、ユーザ認証処理を実行する。なお、この段階においては、認証用データ131およびプロフィールデータ132に、図10に示したお母さんの家族ID(家族ID:2)のみが登録されている。従って、ユーザ認証部103は、認証用データ131を参照して、お父さんの「エアコンつけて!」という発言に係る音声情報(に含まれる声紋情報)および顔画像情報に対応付けられて格納されている家族IDはないと判定する。そして、ユーザ認証部103は、上記判定結果を、メッセージ生成部106に通知する。
メッセージ生成部106は、ユーザ認証部103から通知されるユーザ認証処理の上記結果、質問シナリオデータ133、およびプロフィールデータ132における登録状況等に基づいて、情報処理装置2に出力する質問を生成する。ここで、メッセージ生成部106は、前述のように、認証用データ131およびプロフィールデータ132を参照して、登録されている家族IDが一定数(例えば、2)未満である場合、家族人数登録処理よりも、家族名前登録処理を優先するとする。なお前述のように、この段階においては、認証用データ131およびプロフィールデータ132に登録済の家族IDは「家族ID:2」のみであり、つまり、認証用データ131およびプロフィールデータ132に登録済の家族IDは1件である。
従って、メッセージ生成部106は、質問シナリオデータ133の「質問項目:名前」、「質問の対象者:本人」、「質問のタイミング:話し掛けられた時」に定められた質問生成規則に従って、「ところで、あなたのお名前は(あなたは誰ですか)?」という質問を生成する。
また、会話処理サーバ1の音声認識部104は、お父さんの上記「エアコンつけて!」という発言を音声認識処理し、エアコンの電源をオンにするようにとの指示であると認識し、該認識結果をメッセージ生成部106に通知する。メッセージ生成部106は、上記のような実行指示に対して、前述の定型会話データ等に基づいて、「承知しました。」という応答メッセージを生成する。
そして、メッセージ生成部106は、生成した上記質問および応答メッセージを組み合わせ、「承知しました。ところであなたは誰ですか?」というメッセージを、情報処理装置2に送信する。
情報処理装置2は、会話処理サーバ1からの上記メッセージを受信し、お父さんに対し、「承知しました。ところであなたは誰ですか?」と発言する(図11の(2))。お父さんは、情報処理装置2からの上記音声出力に対し、情報処理装置2に、「パパの一郎だよ」と応答する(図11の(3))。
情報処理装置2は、お父さんからの上記応答に係る音声情報(声紋情報を含む)、および、お父さんの顔画像情報を取得する(図11の(4))。そして、情報処理装置2は、お父さんの上記顔画像情報および音声情報を、会話処理サーバ1に送信する。
会話処理サーバ1は、情報処理装置2から受信したお父さんの上記顔画像情報および音声情報に基づいて、まずユーザ認証処理を行って、さらに、音声認識処理を行う。そして、会話処理サーバ1は、「一郎」という名前、「お父さん」という家庭内での地位を、例えば「家族ID:1」と組み合わせて、プロフィールデータ132として、記憶部13に登録する(図11の(5))。
なお、図10の時と同じように、「お父さん」の家族ID、声紋情報、および顔画像情報の認証用データ131への登録は、(1)のお父さんからの発言を取得したタイミングの後に行っても、(3)のお父さんからの発言を取得したタイミングに行ってもよい。
図12は、会話システム100において、情報処理装置2が、会話処理サーバ1に既に登録されているメンバ(お母さん)から話し掛けられた時、情報処理装置2が、該メンバ(お母さん)に対して、家族の総数を質問しているケースを示す図である。
まず、お母さんが、情報処理装置2に、「こんにちは!」と言って話し掛けている(図12の(1))。情報処理装置2は、お母さんの上記発言に係る音声情報、およびお母さんの顔画像に係る顔画像情報を、会話処理サーバ1に送信する。会話処理サーバ1は、情報処理装置2から上記音声情報および顔画像情報を取得する。そして、上記音声情報に含まれる声紋情報および顔画像情報を用いて、ユーザ認証処理を実行する。なお、この段階においては、認証用データ131およびプロフィールデータ132に、図10および図11に示した、お母さん(家族ID:2)とお父さん(家族ID:1)が登録されている。従って、ユーザ認証部103は、認証用データ131を参照して、お母さんの「こんにちは!」という発言に係る音声情報(に含まれる声紋情報)および顔画像情報に対応付けられて格納されている家族ID(家族ID:2)を、メッセージ生成部106に通知する。
メッセージ生成部106は、ユーザ認証部103から「家族ID:2」を通知されると、質問シナリオデータ133、およびプロフィールデータ132における登録状況等に基づいて、情報処理装置2に出力する質問を生成する。例えば、メッセージ生成部106は、前述のように、認証用データ131およびプロフィールデータ132を参照して、登録されている家族IDが一定数(例えば、2)以上である場合、家族名前登録処理よりも、家族人数登録処理を優先することができる。ここで、前述のように、この段階においては、認証用データ131およびプロフィールデータ132にはお母さん(家族ID:2)とお父さん(家族ID:1)とが登録されており、つまり、登録済の家族IDは2件である。従って、メッセージ生成部106は、例えば以下のように、家族人数登録処理を行う。
すなわち、メッセージ生成部106は、質問シナリオデータ133の「質問項目:家族の人数」に定められた質問生成規則に従って、「ところで、家族は何人いるの(家族は何人いるのでしょうか)?」という質問を生成する。
また、会話処理サーバ1の音声認識部104は、お母さんの上記「こんにちは!」という発言を音声認識処理し、「こんにちは」という定型的挨拶であると認識し、該認識結果をメッセージ生成部106に通知する。メッセージ生成部106は、上記のような定型的挨拶に対して、前述の定型会話データ等に基づいて、「こんにちは。」という応答メッセージを生成する。
そして、メッセージ生成部106は、生成した上記質問および応答メッセージを組み合わせ、「こんにちは。ところで、家族は何人いるのでしょうか?」というメッセージを、情報処理装置2に送信する。
情報処理装置2は、会話処理サーバ1からの上記メッセージを受信し、お母さんに対し、「こんにちは。ところで、家族は何人いるのでしょうか?」と発言する(図12の(2))。お母さんは、情報処理装置2からの上記音声出力に対し、情報処理装置2に、「6人家族だよ。」と応答する(図12の(3))。
情報処理装置2は、お母さんからの上記応答に係る音声を取得し、該音声に係る音声情報を会話処理サーバ1に送信する。会話処理サーバ1は、情報処理装置2から上記音声情報を受信すると、音声認識処理を行い、プロフィールデータ132に対して以下の処理を行う。すなわち、会話処理サーバ1は、家族の人数についての上記質問に対する、メンバからの応答を音声認識処理し、その認識処理の結果に応じて、記憶部13のプロフィールデータ132に、家族の人数分の家族IDが登録できるように、空行を追加する。例えば、「家族の合計人数−既に登録(記憶部に記憶)しているユーザ数」分の空白行を追加する。上記の例では、既に、お母さん(家族ID:2)とお父さん(家族ID:1)とが、プロフィールデータ132に格納されており、つまり、登録済の家族IDの数は2である。また、お母さんの(3)における上記回答(「6人家族だよ。」)を音声認識処理して、家族の合計人数は6人であると判断する。従って、プロフィール登録部105は、プロフィールデータ132に、「4人(=6人−2人)」分の行を追加する(図12の(4))。
以上を整理すれば、会話処理サーバ1において、上記複数のメンバ(ユーザ)は一つの家族コミュニティ(グループ)に属し、メッセージ生成部106は、上記グループに属するユーザの総数を確認するためのメッセージを生成し、プロフィール登録部105は、音声認識部104によって検出したユーザの回答に基づいて得たユーザの総数分のユーザのプロフィール項目を登録可能とするように、各プロフィール項目を未登録の状態として記憶部13に設定する。
つまり、会話処理サーバ1は、プロフィール項目を登録していくべきメンバの総数を設定することができる。従って、設定されたユーザの総数に基づいて、各ユーザのプロフィール項目について質問するメッセージを、効率的に生成することができる。すなわち、ユーザを検出すると、該ユーザ以外の別のユーザが何人いるかを判別でき、つまり、該ユーザに対し該別のユーザの未登録のプロフィール項目について質問する際、該別のユーザが何人いるかを判別することができる。例えば、上記プロフィール項目を登録していくべきユーザの総数が不明である場合、まず、上記プロフィール項目を登録していくべきユーザが存在するか否かを確認してからでないと、存在しないユーザのプロフィール項目を質問してしまうような事態が発生する。つまり、ユーザの総数が不明である場合、或るユーザを検出した都度、該ユーザ以外の別のユーザが存在するか否かを毎回確認してからでないと、該別のユーザのプロフィール項目について質問することができない。これに対し、上記プロフィール項目を登録していくべきユーザの総数を設定できることによって、プロフィール項目が未登録である上記別のユーザの人数を判別することができ、別のユーザの存在を都度確認するような非効率な質問を省略することができる。つまり、未登録のプロフィール項目があるユーザの人数を判別でき、プロフィール項目を登録すべきユーザ自体の存在を確認する質問を省略することができる。
図13は、情報処理装置2が、会話処理サーバ1に登録済のメンバ(お母さん)から話し掛けられた時、情報処理装置2が、該メンバ(お母さん)に対し、該メンバ(お母さん)以外のメンバのプロフィールについて質問しているケースを示す図である。すなわち、会話処理サーバ1は、プロフィールデータ132において、未登録のプロフィール項目があるメンバ(家族ID)がいる場合、該メンバの該未登録のプロフィール項目について、該メンバ以外のメンバに質問する。
まず、お母さんが、情報処理装置2に、「元気?」と言って話し掛けている(図13の(1))。情報処理装置2は、お母さんの上記発言に係る音声情報、およびお母さんの顔画像に係る顔画像情報を、会話処理サーバ1に送信する。会話処理サーバ1は、情報処理装置2から取得した上記音声情報および顔画像情報を用いて、ユーザ認証処理を実行する。なお、この段階においては、認証用データ131には、お母さん(家族ID:2)とお父さん(家族ID:1)が登録されている。また、プロフィールデータ132には、お母さん(家族ID:2)とお父さん(家族ID:1)の名前が登録されている。つまり、「家族ID:1」と対応付けられて、「名前:一郎」および「家庭内役割:お父さん」が、「家族ID:2」と対応付けられて、「名前:和子」および「家庭内役割:お母さん」が登録されている。プロフィールデータ132には、さらに、「家族ID」、「名前」は未登録であって、「家庭内役割」に「子供」とだけ登録された2行が登録されている。
なお、前述のように、会話処理サーバ1は、家族人数登録処理だけでなく、家族構成登録処理を行うのが好ましい。この家族構成登録処理においては、認証用データ131およびプロフィールデータ132に家族IDが登録済のメンバに対して、家族の構成について質問する。この家族構成登録処理及び家族人数登録処理の結果に基づいて、会話処理サーバ1は、情報処理装置2が未だ話し掛けられたことも出会ったこともないメンバの人数および該メンバの家庭内役割を推定することができる。つまり、家族構成登録処理及び家族人数登録処理の結果に基づいて、会話処理サーバ1は、プロフィールデータ132に以下のようなデータを登録することができる。すなわち、情報処理装置2が未だ話し掛けられたことも出会ったこともない、つまり、「家族ID」も「名前」も未登録のメンバの、「家庭内役割」および「人数」を、プロフィールデータ132に登録することができる。
ユーザ認証部103は、ユーザ認証処理において、認証用データ131を参照して、情報処理装置2から取得した上記音声情報に含まれる声紋情報および顔画像情報に一致する声紋情報および顔画像情報に対応付けられた家族IDとして、「家族ID:2」を取得する。そして、ユーザ認証部103は、「家族ID:2」を、メッセージ生成部106に通知する。
メッセージ生成部106は、ユーザ認証部103から「家族ID:2」を通知されると、質問シナリオデータ133、およびプロフィールデータ132における登録状況等に基づいて、情報処理装置2に出力する質問を生成する。例えば、メッセージ生成部106は、プロフィールデータ132を参照して、「家族ID」、「名前」は未登録であって、「家庭内役割」に「子供」とだけ登録されたメンバが2名いることを把握する。この時、メッセージ生成部106は、質問シナリオデータ133の「質問項目:名前」、「質問の対象者:本人以外」に対応付けられている質問生成規則に従って、下記のメッセージを生成する。すなわち、「ところで、『子供』のお名前は(『子供』の名前はなんていうの)?」という質問を生成する。
また、会話処理サーバ1の音声認識部104は、お母さんの上記「元気?」という発言を音声認識処理し、現在の状態を尋ねる定型的挨拶であると認識し、該認識結果をメッセージ生成部106に通知する。メッセージ生成部106は、上記のような定型的挨拶に対して、前述の定型会話データ等に基づいて、「元気だよー」という応答メッセージを生成する。
そして、メッセージ生成部106は、生成した上記質問および応答メッセージを組み合わせ、「元気だよー。ところで、子どもの名前はなんていうの?」というメッセージを、情報処理装置2に送信する。
情報処理装置2は、会話処理サーバ1からの上記メッセージを受信し、お母さんに対し、「元気だよー。ところで、子どもの名前はなんていうの?」と発言する(図13の(2))。お母さんは、情報処理装置2からの上記音声出力に対し、情報処理装置2に、「太郎と花子だよ」と応答する(図13の(3))。
情報処理装置2は、お母さんからの上記応答に係る音声を取得し、該音声に係る音声情報を会話処理サーバ1に送信する。会話処理サーバ1は、情報処理装置2から上記音声情報を受信すると、音声認識処理を行い、プロフィールデータ132に対して以下の処理を行う。すなわち、会話処理サーバ1は、プロフィールデータ132の、「家庭内役割:子供」の2行の「名前」の欄のそれぞれに、「太郎」と「花子」とを登録する(図13の(4))。
〔実施形態2〕
本発明の他の実施形態について、図14に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
本実施の形態に係る会話処理サーバ1は、情報処理装置2がメンバから話し掛けられ、または出会った場合、プロフィールデータ132に登録されているプロフィール項目に基づいて、該メンバに対して、メッセージを情報処理装置2に発言をさせる。
図14は、会話処理サーバ1が、情報処理装置2に、プロフィールデータ132に登録されているメンバの誕生日に基づいて、メンバ(太郎君)に対して、誕生日を祝う発言(アクション)を起こさせるケースを示す図である。以下にその詳細を説明する。
まず、太郎君が、情報処理装置2に、「遊ぼう!」と言って話し掛けている(図14の(1))。情報処理装置2は、太郎君の上記発言に係る音声情報、および太郎の顔画像に係る顔画像情報を、会話処理サーバ1に送信する。会話処理サーバ1は、情報処理装置2から上記音声情報および顔画像情報を取得する。
会話処理サーバ1は、情報処理装置2から、上記音声情報および顔画像情報を取得するとまず、上記音声情報に含まれる声紋情報および顔画像情報を用いて、ユーザ認証処理を実行する。具体的には、ユーザ認証部103は、認証用データ131を参照して、太郎君の「遊ぼう!」という発言に係る音声情報(に含まれる声紋情報)および顔画像情報に一致する声紋情報および顔画像情報が認証用データ131に格納されていないかを確認する。そして、一致する声紋情報および顔画像情報を見つけると、該声紋情報および顔画像情報に対応付けられて格納されている家族IDとして、「家族ID:3」を取得し、これをメッセージ生成部106に通知する。つまり、ユーザ認証部103は、情報処理装置2が話し掛けられ、または出会ったメンバが「太郎君」であることを、メッセージ生成部106に通知する。
メッセージ生成部106は、ユーザ認証部103から「家族ID:3」を通知されると、プロフィールデータ132を参照して、「家族ID:3」に該当するメンバの名前、家庭内役割、年齢、誕生日、趣味等を取得する(図14の(2))。つまり、会話処理サーバ1は、記憶部13のプロフィールデータ132を参照して、「家族ID:3」に該当するメンバである太郎君に関する、家庭内役割、年齢、誕生日、趣味等のプロフィール項目に係る情報を取得する。なお、実施の形態1において説明したように、会話処理サーバ1は、或るメンバ(例えば、太郎君)のプロフィールに係る情報を、該メンバ以外のメンバ(例えば、お母さん)に質問して、該メンバのプロフィール(例えば、誕生日)に係る情報を、登録している。
図14では、メッセージ生成部106は、プロフィールデータ132を参照して、「太郎君」の「誕生日」が「12月8日」であることを取得する。そして、情報処理装置2が太郎君から「遊ぼう!」と言って話し掛けられた日が「12月8日」である場合、以下のメッセージを生成する。すなわち、メッセージ生成部106は、「太郎君、今日は誕生日だね!おめでとう!」というメッセージを、生成する。
また、会話処理サーバ1の音声認識部104は、太郎君の上記「遊ぼう!」という発言を音声認識処理し、「遊ぼう!」という定型的挨拶であると認識し、該認識結果をメッセージ生成部106に通知する。メッセージ生成部106は、上記のような定型的挨拶に対して、前述の定型会話データ等に基づいて、「分かった。」という応答メッセージを生成する。
そして、メッセージ生成部106は、「太郎君、今日は誕生日だね!おめでとう!」というメッセージと、上記応答メッセージとを組み合わせ、「分かった。太郎君、今日は誕生日だね!おめでとう!」というメッセージを、情報処理装置2に送信する。
情報処理装置2は、会話処理サーバ1からの上記メッセージを受信すると、太郎君に対し、「分かった。太郎君、今日は誕生日だね!おめでとう!」と発言する(図14の(3))。
太郎君は、情報処理装置2から質問されたことのない自分の誕生日について、情報処理装置2から上記のような祝福の発言をされるとは思っていなかったため、上記の発言を聞いて、「わぁ、びっくりした!ありがとう!」と言っている(図14の(4))。
従って、本実施の形態に係る会話処理サーバ1において、メッセージ生成部106は、ユーザ認証部103が検出したユーザに対応付けて記憶部13に登録されたプロフィールデータ132(プロフィール項目)に基づいてメッセージを生成する。
会話処理サーバ1は、或るユーザ本人に対しては質問していない、該ユーザのプロフィール項目に基づいて、該ユーザ宛てのメッセージを生成することができる。従って、会話処理装置は、ユーザに、会話処理装置が提示するメッセージに対して意外性を感じさせることができる。
〔実施形態3〕
本発明の他の実施形態について、図15に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
本実施の形態では、情報処理装置2は、ユーザから話しかけられた時ではなく、家宅内を動き回ってユーザと出会った時に、つまり、ユーザの顔画像をカメラ22で取得した時に、そのユーザに向けてアクションを起こす。
すなわち、前述のように、情報処理装置2は自走式掃除機であり、自分で家宅内を動き回って、カメラ22によって、情報処理装置2が出会ったユーザの顔画像を、会話処理サーバ1に送信することができる。
図15は、プロフィールデータ132においてお父さんの誕生日が未登録である場合に、情報処理装置2がお母さんと出会うと、会話処理サーバ1は、まず、情報処理装置2に、お父さんの誕生日を質問させるケースを示す図である。図15はさらに、会話処理サーバ1が、情報処理装置2に、お母さんからの応答によってプロフィールデータ132に登録されたお父さんの誕生日に基づいて、お父さんに対して、誕生日を祝う発言(アクション)を起こさせるケースを示している。以下にその詳細を説明する。
まず、プロフィールデータ132において、「家族ID:1」のお父さん(名前:一郎)の「誕生日」が未登録であったとする。この時、会話処理サーバ1は、お父さん以外のメンバ、例えば、「家族ID:2」のお母さん、「家族ID:3」の子供の音声情報および顔画像情報の少なくとも一方を、情報処理装置2から取得するまで、情報処理装置2に、家宅内の移動を継続させる指示を送信する。
情報処理装置2は、会話処理サーバ1からの上記指示に従って家宅内を動き回り、メンバに出会うと都度、該メンバの音声および顔画像の少なくとも一方を取得し、該音声の音声情報および該顔画像の顔画像情報の少なくとも一方を、会話処理サーバ1に送信する。会話処理サーバ1は、情報処理装置2から取得する上記音声情報(に含まれる声紋情報)および顔画像情報の少なくとも一方によって、情報処理装置2が話し掛けられ、または出会ったメンバのユーザ認証処理を実行する。そして、会話処理サーバ1は、情報処理装置2が話し掛けられ、または出会ったメンバがお父さん以外のメンバであると判定すると、お父さんの誕生日を質問する以下のメッセージを生成し、情報処理装置2に発言させる。すなわち、会話処理サーバ1は、情報処理装置2に、お父さん以外のメンバに対して、「お父さんの誕生日はいつ?」というメッセージを情報処理装置2に発言させる。
図15の(1)に示す例では、情報処理装置2はお母さんに出会い、会話処理サーバ1は、情報処理装置2に、お母さんに対し、「お母さん、お父さんの誕生日はいつ?」と質問させている。そして、お母さんは、情報処理装置2からの上記質問に対し、「お父さんの誕生日は6月10日だよ」と応答している(図15の(2))。
情報処理装置2は、お母さんの上記応答を音声情報として会話処理サーバ1に送信する。会話処理サーバ1は、お母さんの上記応答に音声認識処理を実行し、その処理結果に基づいて、プロフィールデータ132の、「家族ID:1」のお父さん(名前:一郎)の「誕生日」の項目に「6月10日」を格納する(図15の(3))。
会話処理サーバ1は、6月10日に、情報処理装置2がお父さん(家族ID:1)に出会ったことを、情報処理装置2から受信する音声情報および顔画像情報の少なくとも一方に基づいて認識すると、以下の処理を実行する。
すなわち、会話処理サーバ1は、プロフィールデータ132を参照して、「家族ID:1」に対応付けられた「誕生日」の項目を確認して、「6月10日」を取得する。そして、「家族ID:1」に対応付けられた「名前:一郎」、「家庭内役割:お父さん」のメンバの「誕生日」が、今日「6月10日」であることを把握する。会話処理サーバ1は、「パパ、お誕生日おめでとう!」というメッセージを生成し、該メッセージを情報処理装置2に送信する。
情報処理装置2は、会話処理サーバ1からの上記メッセージを受信すると、お父さんに対し、「パパ、誕生日おめでとう!」と発言する(図15の(4))。
お父さんは、情報処理装置2から質問されたことのない自分の誕生日について、情報処理装置2から上記のような祝福の発言をされるとは思っていなかったため、上記の発言を聞いて、「おお、どうして僕の誕生日を?でも、ありがとう!」と言っている(図15の(5))。
上記の例に示したように、会話処理サーバ1は、情報処理装置2が或るメンバと出会っただけの時であっても、つまり、情報処理装置2が顔画像のみしか取得できなかった場合であっても、該顔画像に係る顔画像情報に基づいてユーザ認証処理を実行できる。そして、上記ユーザ認証処理の結果に基づき、上記ユーザに係るプロフィール情報をプロフィールデータ132から取得し、上記ユーザに対し、プロフィールデータ132に格納された上記ユーザに係るプロフィール情報に基づくメッセージを生成することができる。
なお、上記の例では、会話処理サーバ1は、「パパ、誕生日おめでとう!」というメッセージを、情報処理装置2がお父さんに出会った後に生成している。
しかしながら、会話処理サーバ1は、情報処理装置2がお父さんから話し掛けられ、または出会う前に、「パパ、誕生日おめでとう!」というメッセージを、生成しておいてもよい。つまり、会話処理サーバ1は、本日の日付(6月10日)と、プロフィールデータ132に格納されている情報とに基づき、「パパ、誕生日おめでとう!」というメッセージを、予め生成しておいてもよい。そして、会話処理サーバ1は、情報処理装置2に、上記メッセージとともに、「お父さんに出会うまで、宅内での移動を継続する」指示を、送信してもよい。
上記指示を受信すると、情報処理装置2は、宅内での移動を開始し、家族のメンバから話し掛けられ、または出会う都度、該メンバの音声情報および顔画像情報を会話処理サーバ1に送信する。そして、会話処理サーバ1から、該メンバの家族IDが1であることを通知されるまで、宅内での移動を継続する。そして、会話処理サーバ1から、該メンバの家族IDが1であることを通知されると直ぐに、予め会話処理サーバ1から受信していた「パパ、誕生日おめでとう!」というメッセージを音声出力する。
〔実施形態4〕
本発明の他の実施形態について、図16に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
本実施の形態では、会話処理サーバ1は、プロフィールデータ132に新たに追加されたプロフィール項目に基づいて、情報処理装置2に該プロフィール項目について、情報処理装置2に質問をさせている。会話処理サーバ1は、さらに、プロフィールデータ132に格納されたプロフィール情報に基づいて、該プロフィール情報に関連する提供情報を外部の情報提供サーバ3から取得し、該提供情報についてのメッセージを情報処理装置2に音声出力させている。
前述のように、プロフィールデータ132において、プロフィール項目は、その内容および個数を変更することができる。そして、例えば、プロフィールデータ132に、「好きな食べ物」という新たなプロフィール項目が追加された場合、会話処理サーバ1は、情報処理装置2に、各メンバ(各家族ID)に対して、「好きな食べ物」についての質問をさせる。
また、メッセージ生成部106は、プロフィールデータ132において各メンバのプロフィール項目として格納されている情報を、提供情報取得部107に、検索ワードとして通知する。そして、提供情報取得部107は、メッセージ生成部106から検索ワードを通知されると、情報検索用サーバ3B等の外部の情報提供サーバ3から該検索ワードに関係する情報を取得し、メッセージ生成部106に出力する。
図16は、プロフィールデータ132に「好きな食べ物」という新たなプロフィール項目が追加された場合に、会話処理サーバ1が、情報処理装置2に、お父さんに対して、該「好きな食べ物」についての質問をさせているケースを示す図である。図16はさらに、会話処理サーバ1が、プロフィールデータ132に登録されたお父さんの「好きな食べ物」に基づいて、情報処理装置2に、お父さんに対して、音声による情報提供を行っているケースを示している。以下にその詳細を説明する。
まず、お父さん(家族ID:1)が、情報処理装置2に、「あ〜、暇だな」と言って話し掛けている(図16の(1))。情報処理装置2は、お父さんの上記発言に係る音声情報、およびお父さんの顔画像に係る顔画像情報を、会話処理サーバ1に送信する。会話処理サーバ1は、情報処理装置2から上記音声情報および顔画像情報を取得する。
会話処理サーバ1は、情報処理装置2から、上記音声情報および顔画像情報を取得するとまず、上記音声情報に含まれる声紋情報および顔画像情報を用いて、ユーザ認証処理を実行する。具体的には、ユーザ認証部103は、上記音声情報に含まれる声紋情報および顔画像情報に一致する声紋情報および顔画像情報と対応付けられて認証用データ131に格納されている家族IDとして、「家族ID:1」を取得する。そして、ユーザ認証部103は、「家族ID:1」を、つまり、情報処理装置2が話し掛けられ、または出会ったメンバが「お父さん」であることを、メッセージ生成部106に通知する。
メッセージ生成部106は、ユーザ認証部103から「家族ID:1」を通知されると、プロフィールデータ132を参照して、「家族ID:1」に該当するメンバの名前、家庭内役割、年齢、誕生日、趣味、好きな食べ物等を取得する。そして、「家族ID:1」に対応付けられた「好きな食べ物」というプロフィール項目が未登録であることを確認すると、メッセージ生成部106は、「パパは、何か好きな食べものある?」という質問メッセージを生成する。そして、メッセージ生成部106は、上記質問メッセージを、情報処理装置2に送信する。
情報処理装置2は、会話処理サーバ1からの上記メッセージを受信すると、お父さんに対し、「パパは、何か好きな食べものある?」と質問する(図16の(2))。情報処理装置2からの上記質問に対して、お父さんは、情報処理装置2に、「お好み焼き食べたい」と応答している(図16の(3))。
情報処理装置2は、お父さんの上記応答を音声情報として会話処理サーバ1に送信する。会話処理サーバ1は、お父さんの上記応答に音声認識処理を実行し、その処理結果に基づいて、プロフィールデータ132の、「家族ID:1」の「好きな食べ物」に「お好み焼き」を格納する(図16の(4))。
メッセージ生成部106は、プロフィールデータ132を参照して、「家族ID:1」の「好きな食べ物」に登録されている「お好み焼き」を、検索ワードとして、提供情報取得部107に通知する。
提供情報取得部107は、メッセージ生成部106から上記検索ワードを通知されると、情報提供サーバ3(より正確には、情報検索用サーバ3B)に、例えば「お好み焼き、おすすめ」といった検索式での検索結果の出力をリクエストする(図16の(5))。そして、提供情報取得部107は、情報検索用サーバ3Bから、「オモニ(所在地:○○県―鶴橋)」といった検索結果を取得すると、該検索結果をメッセージ生成部106に通知する。
メッセージ生成部106は、提供情報取得部107から通知された上記検索結果に基づいて、「お好み焼きなら鶴橋にあるオモニがお勧めやで〜」というメッセージを生成し、該メッセージを情報処理装置2に送信する。情報処理装置2は、会話処理サーバ1からの上記メッセージを受信すると、お父さんに対し、「お好み焼きなら鶴橋にあるオモニがお勧めやで〜」と発言する(図16の(6))。
従って、会話処理サーバ1は、プロフィールデータ132に格納された各メンバのプロフィール情報に基づいて、情報処理装置2に、各メンバが興味を抱く可能性の高い話題を、各メンバに対し、提供させることが可能となる。
従って、本実施の形態に係る会話処理サーバ1は、プロフィールデータ132(プロフィール項目)に基づいて関心が高いと推定される提供情報を、外部の情報提供サーバ3から取得する提供情報取得部107を備え、メッセージ生成部106は、提供情報取得部107が取得した提供情報を含むメッセージを、ユーザ認証部103が検出したユーザであって、プロフィールデータ132に格納されているプロフィール項目に基づいて関心が高いと推定したユーザ宛に生成する。
つまり、会話処理サーバ1は、各ユーザに対し、プロフィール項目に基づいて、該ユーザの関心が高いと推定される提供情報を取得し、該提供情報を含むメッセージを提示することができる。
〔実施形態5〕
本発明の他の実施形態について、図17に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
本実施の形態では、会話処理サーバ1は、プロフィールデータ132に格納された各メンバのプロフィール情報に基づいて、ニュースなどの外部の情報提供サーバ3から取得した情報に係るメッセージを、情報処理装置2に、最適なユーザに対して、提供させる。
図17は、会話処理サーバ1が、ニュース配信サーバから配信されたプロ野球結果を、プロフィールデータ132を参照して、「野球観戦」が趣味である「家族ID:1」のお父さんに対し、情報処理装置2に、音声出力させているケースを示している。以下にその詳細を説明する。
会話処理サーバ1は、情報提供サーバ3(より正確には、ニュース配信サーバ3A)から、「本日のプロ野球結果(タイガース、ドラゴンズと引き分け)」といったニュース速報等の配信ニュースを取得する(図17の(1))。具体的には、提供情報取得部107は、ニュース配信サーバ3Aが配信する提供情報を取得する。そして、提供情報取得部107は、取得した上記提供情報をメッセージ生成部106に通知する。
メッセージ生成部106は、プロフィールデータ132を参照して、上記配信ニュースの提供先、つまり、情報処理装置2に上記配信ニュースに係るメッセージを音声出力させる際の発話対象者を決定する(図17の(2))。例えば、メッセージ生成部106は、プロフィールデータ132を参照して、お父さん(家族ID:1、名前:一郎)と、子供(家族ID:3、名前:太郎)の趣味2として、「プロ野球観戦」を取得する。そして、ニュース配信サーバ3Aからの配信ニュースが、例えば「スポーツ―プロ野球」等のニュース種別等を含んでいた場合、メッセージ生成部106は、該配信ニュースの該ニュース種別等と、「家族ID:1および3」の「趣味2」とが一致すると判定する。メッセージ生成部106は、上記判定結果に基づき、上記配信ニュースに対する関心が高いであろうメンバの家族IDとして、「家族ID:1および3」を取得する。
情報処理装置2は、家族のメンバから話し掛けられ、または出会うと、該メンバの音声情報および顔画像情報の少なくとも一方を会話処理サーバ1に送信する。そして、会話処理サーバ1は、情報処理装置2から受信する音声情報および顔画像情報の少なくとも一方に基づいて、ユーザ認証処理を行う。会話処理サーバ1は、上記ユーザ認証処理の結果、情報処理装置2が話し掛けられ、または出会ったメンバが、「家族ID:1または3」であるとのユーザ認証処理結果を取得すると、上記配信ニュースに係るメッセージを生成する。例えば、ユーザ認証部103から、情報処理装置2が話し掛けられ、または出会ったメンバが「家族ID:1」のお父さんであると通知されると、メッセージ生成部106は、下記のメッセージを生成し、情報処理装置2に送信する。すなわち、メッセージ生成部106は、「パパ、今日、タイガースは、ドラゴンズと引き分けたよ!」といったメッセージを生成し、情報処理装置2に送信する。
情報処理装置2は、会話処理サーバ1からの上記メッセージを受信すると、お父さんに対し、「パパ、今日、タイガースは、ドラゴンズと引き分けたよ!」と発言して、プロ野球結果について、音声による情報提供を行う(図17の(3))。
「プロ野球観戦」が「趣味」であるお父さんは、情報処理装置2からの上記情報提供を受けて、「そうか、残念!」と発言している(図17の(4))。
従って、本実施の形態に係る会話処理サーバ1は、外部の情報提供サーバ3から提供情報を取得する提供情報取得部107を備え、メッセージ生成部106は、提供情報取得部107が取得した提供情報を含むメッセージを、プロフィールデータ132に基づいて提供情報取得部107が取得した提供情報に対する関心が高いと推定されるユーザ宛に生成する。
つまり、会話処理サーバ1は、プロフィールデータ132に基づいて、各メンバの各々について、関心を抱く可能性の高い話題および情報を認識することができる。そして、ニュース等の情報を取得すると、該情報の内容等に応じて、該情報に関心を抱く可能性の高いメンバを、該情報の提供対象者として選択することができる。つまり、そして、各メンバに対して、メンバの各々が関心を抱く可能性の高い情報を、情報処理装置2に、音声出力させて情報提供させることができる。
〔実施形態6〕
上記に説明した各実施の形態では、会話処理サーバ1が、ユーザ認証処理、音声認識処理、プロフィール登録処理、メッセージ生成処理等を行なうとした。そして、情報処理装置2は、会話処理サーバ1に音声情報および顔画像情報を送信し、会話処理サーバ1からメッセージを受信して、該メッセージを合成音声として出力する。しかしながら、ユーザ認証処理、音声認識処理、プロフィール登録処理、メッセージ生成処理等についても、情報処理装置が行ってもよい。
本実施の形態に係る情報処理装置4(会話処理装置)は、自動で床の掃除を行う自走式の掃除機であって、さらに、自装置のみで、ユーザ認証処理、音声認識処理、プロフィール登録処理、メッセージ生成処理等を行うことができる。
すなわち、情報処理装置4は、複数のユーザの何れか一人を検出するユーザ認証部203(ユーザ検出手段)と、ユーザ認証部203が上記複数のユーザの一人を検出したとき、上記複数のユーザのプロフィール項目をそれぞれのユーザに対応付けて格納する記憶部25に、上記複数のユーザのうちの、上記検出したユーザ以外のユーザのプロフィール項目が未登録である場合、当該プロフィール項目を上記検出したユーザに質問するメッセージを生成するメッセージ生成部206(メッセージ生成手段)と、メッセージ生成部206が生成したメッセージを、自装置から、上記検出したユーザに提示するスピーカ23(質問提示手段)と、スピーカ23が提示した質問に対する上記検出したユーザの回答に基づいて得た内容を、上記未登録であった上記プロフィール項目として記憶部25に登録するプロフィール登録部205(プロフィール登録手段)と、を備える。
図19は、情報処理装置4の要部構成の一例を示すブロック図である。
図19に示すとおり、情報処理装置4は、制御部20、マイク21、カメラ22、スピーカ23、情報処理装置通信部24、および、記憶部25を備えている。
マイク21、カメラ22、スピーカ23については、情報処理装置2のマイク21、カメラ22、スピーカ23と変わらないので、説明を省略する。
情報処理装置通信部24は、情報処理装置4が外部の情報提供サーバ3と通信するためのものである。具体的には、情報処理装置4は、情報処理装置通信部24を介して、ニュース配信サーバ3A、情報検索用サーバ3Bと通信を行う。
記憶部25は、会話処理サーバ1の記憶部13と同様のものであり、情報処理装置4が使用する各種データを格納するものである。記憶部25には、プロフィールデータ252、認証用データ251、質問シナリオデータ253、会話データ254等が格納されている。記憶部25に格納されているこれらのデータは、基本的に、会話処理サーバ1の記憶部13に格納されている、プロフィールデータ132、認証用データ131、質問シナリオデータ133、会話データ134等に対応するものなので、詳細な説明は省略する。
制御部20は、ユーザ認証処理、音声認識処理、プロフィール登録処理、メッセージ生成処理等を含む情報処理装置4の機能を統括して制御するものである。図示の制御部20には、機能ブロックとして、顔情報取得部201、音声情報取得部202、ユーザ認証部203、音声認識部204、プロフィール登録部205、メッセージ生成部206、および提供情報取得部207が含まれている。これらの各機能ブロックについても、会話処理サーバ1の制御部10に含まれる、顔情報取得部101、音声情報取得部102、ユーザ認証部103、音声認識部104、プロフィール登録部105、メッセージ生成部106、および提供情報取得部107に対応するものなので、詳細な説明は省略する。
〔変形例〕
上記に説明した各実施の形態では、会話処理サーバ1のメッセージ生成部106は、第1通信部11を介して、情報処理装置2に音声出力させるメッセージを送信していた。しかしながら、メッセージ生成部106が、第1通信部11を介して、情報処理装置2に出力するのは、情報処理装置2に音声出力させるメッセージのみでなくともよい。以下、メッセージ生成部106が、第1通信部11を介して、情報処理装置2に出力するメッセージ以外の情報について、詳細を説明する。
これまでに説明した各実施の形態では、例えば、情報処理装置2がお父さんに話し掛けられ、または出会ったのを会話処理サーバ1が認識した後、会話処理サーバ1は、「パパ、誕生日おめでとう!」というメッセージを生成し、情報処理装置2に発言させていた。
しかし、「パパ、誕生日おめでとう!」というメッセージを生成するのは、必ずしも、情報処理装置2がお父さんに話し掛けられ、または出会った後でなくともよい。すなわち、会話処理サーバ1は、朝一番に予め「パパ、誕生日おめでとう!」というメッセージを生成する一方、「情報処理装置2に、お父さんに出会うまで、宅内での移動を継続させる」指示を生成し、上記メッセージとともに、情報処理装置2に送信してもよい。
これまで説明してきたように、会話処理サーバ1(具体的にはメッセージ生成部106)は、質問シナリオデータ133等に基づいて、生成するメッセージの内容とメッセージの宛先とを、予め決定することができる。従って、会話処理サーバ1は、上記宛先に出会うまで、情報処理装置2に、宅内での移動を継続させる指示を、上記メッセージとともに、情報処理装置2に、送信してもよい。
〔実施形態7〕
会話処理サーバ1および情報処理装置4の制御ブロック(特に、顔情報取得部101、音声情報取得部102、ユーザ認証部103、音声認識部104、プロフィール登録部105、メッセージ生成部106、提供情報取得部107、顔情報取得部201、音声情報取得部202、ユーザ認証部203、音声認識部204、プロフィール登録部205、メッセージ生成部206、および提供情報取得部207)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、会話処理サーバ1および情報処理装置4は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
〔まとめ〕
本発明の態様1に係る会話処理装置(会話処理サーバ1、情報処理装置4)は、複数のユーザの何れか一人を検出するユーザ検出手段(ユーザ認証部103、ユーザ認証部203)と、上記ユーザ検出手段が上記複数のユーザの一人を検出したとき、上記複数のユーザのプロフィール項目をそれぞれのユーザに紐付けて格納する記憶部に、上記複数のユーザのうちの、上記検出したユーザ以外のユーザのプロフィール項目が未登録である場合、当該プロフィール項目を上記検出したユーザに質問するメッセージを生成するメッセージ生成手段(メッセージ生成部106、メッセージ生成部206)と、上記メッセージ生成手段が生成したメッセージを、自装置(情報処理装置4)からまたは他の装置(情報処理装置2)を介して、上記検出したユーザに提示する質問提示手段(第1通信部11、スピーカ23)と、上記質問提示手段が提示した質問に対する上記検出したユーザの回答に基づいて得た内容を、上記未登録であった上記プロフィール項目として上記記憶部に登録するプロフィール登録手段(プロフィール登録部105、プロフィール登録部205)と、を備えている。
本発明の態様6に係る会話処理装置の制御方法は、複数のユーザの何れか一人を検出するユーザ検出ステップ(S202、S302)と、上記ユーザ検出ステップにて上記複数のユーザの一人を検出したとき、上記複数のユーザのプロフィール項目をそれぞれのユーザに紐付けて格納する記憶部に、上記複数のユーザのうちの、上記検出したユーザ以外のユーザのプロフィール項目が未登録である場合、当該プロフィール項目を上記検出したユーザに質問するメッセージを生成するメッセージ生成ステップ(S203、S306およびS316)と、上記メッセージ生成ステップにて生成したメッセージを、自装置からまたは他の装置を介して、上記検出したユーザに提示する質問提示ステップ(S204、S307)と、上記質問提示ステップにて提示した質問に対する上記検出したユーザの回答に基づいて得た内容を、上記未登録であった上記プロフィール項目として上記記憶部に登録するプロフィール登録ステップ(S208、S311)と、を含む。
本発明の会話処理装置の上記の構成および方法によれば、上記プロフィール項目が未登録であるユーザの該未登録のプロフィールについて質問するメッセージを、該ユーザ以外の別のユーザに対して提示し、該別のユーザからの応答に基づいて、該ユーザについての上記プロフィール項目を登録することが可能となる。
従って、或るユーザについて、該ユーザ以外の別のユーザからの視点に基づいて、該ユーザのプロフィール項目を登録することが可能となる。また、本人に聞かずに、本人のプロフィール項目を取得でき、例えば、或るユーザ本人に対しては質問していない、該ユーザのプロフィール項目に基づいて、該ユーザ宛てのメッセージを生成することができる。従って、提示するメッセージに対してユーザに意外性を感じさせることができる。
本発明の態様2に係る会話処理装置は、上記態様1において、上記複数のユーザは一つのグループに属し、上記メッセージ生成手段は、上記グループに属するユーザの総数を確認するためのメッセージを生成し、上記プロフィール登録手段は、上記検出したユーザの回答に基づいて得たユーザの総数分のユーザのプロフィール項目を登録可能とするように、各プロフィール項目を未登録の状態として記憶部に設定しもよい。
上記の構成によれば、上記プロフィール項目を登録していくべきユーザの総数を設定することができる。従って、設定されたユーザの総数に基づいて、各ユーザのプロフィール項目について質問するメッセージを、効率的に生成することができる。すなわち、ユーザを検出すると、該ユーザ以外の別のユーザが何人いるかを判別でき、つまり、該ユーザに対し該別のユーザの未登録のプロフィール項目について質問する際、該別のユーザが何人いるかを判別することができる。例えば、上記プロフィール項目を登録していくべきユーザの総数が不明である場合、まず、上記プロフィール項目を登録していくべきユーザが存在するか否かを確認してからでないと、存在しないユーザのプロフィール項目を質問してしまうような事態が発生する。つまり、ユーザの総数が不明である場合、或るユーザを検出した都度、該ユーザ以外の別のユーザが存在するか否かを毎回確認してからでないと、該別のユーザのプロフィール項目について質問することができない。これに対し、上記プロフィール項目を登録していくべきユーザの総数を設定できることによって、プロフィール項目が未登録である上記別のユーザの人数を判別することができ、別のユーザの存在を都度確認するような非効率な質問を省略することができる。つまり、未登録のプロフィール項目があるユーザの人数を判別でき、プロフィール項目を登録すべきユーザ自体の存在を確認する質問を省略することができる。
本発明の態様3に係る会話処理装置は、上記態様1または2において、上記メッセージ生成手段は、上記ユーザ検出手段が検出したユーザに対応付けて上記記憶部に登録された上記プロフィール項目に基づいてメッセージを生成してもよい。
上記の構成によれば、或るユーザ本人に対しては質問していない、該ユーザのプロフィール項目に基づいて、該ユーザ宛てのメッセージを生成することができる。従って、会話処理装置は、ユーザに、会話処理装置が提示するメッセージに対して意外性を感じさせることができる。
本発明の態様4に係る会話処理装置は、上記態様1から3のいずれかにおいて、外部の情報提供サーバ(3)から提供情報を取得する情報取得手段(提供情報取得部107、提供情報取得部207)をさらに備え、上記メッセージ生成手段は、上記情報取得手段が取得した提供情報を含むメッセージを、上記プロフィール項目に基づいて上記情報取得手段が取得した提供情報に対する関心が高いと推定されるユーザ宛に生成してもよい。
上記の構成によれば、各ユーザに対し、プロフィール項目に基づいて、該ユーザの関心が高いと推定される提供情報を含むメッセージを提示することができる。
本発明の態様5に係る会話処理装置は、上記態様1から4のいずれかにおいて、上記プロフィール項目に基づいて関心が高いと推定される提供情報を、外部の情報提供サーバから取得する情報取得手段(提供情報取得部107、提供情報取得部207)をさらに備え、上記メッセージ生成手段は、上記情報取得手段が取得した提供情報を含むメッセージを、上記ユーザ検出手段が検出したユーザであって、上記プロフィール項目に基づいて関心が高いと推定したユーザ宛に生成してもよい。
上記の構成によれば、各ユーザに対し、プロフィール項目に基づいて、該ユーザの関心が高いと推定される提供情報を取得し、該提供情報を含むメッセージを提示することができる。
本発明の各態様に係る会話処理装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記会話処理装置が備える各手段として動作させることにより上記会話処理装置をコンピュータにて実現させる会話処理装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。