以下に、本発明の実施の形態について図面を参照して説明する。
[全体構造]
まず、図1と図2を参照し、本発明の概略を説明する。
図1は、本発明を適用した情報処理システムの一実施の形態の構成を示す図である。図1に示したシステムは、ユーザの所定の情報を取得し、その取得された情報を基に、ユーザが好ましいとしている処理を、ユーザの代わりに(ユーザの手を煩わせずに)行うことを1つの目的としている。
その目的のための構成とし、図1に示したシステムは、ユーザAの所定の情報を取得する子機12、その子機12により取得された情報を基に所定の処理を実行する親機11、そして、親機11の処理により所定のデータが送信されたときの送信先としての親機21から構成されている。
子機12は、ユーザAの所定の情報を取得するために設けられており、その取得される情報は、ここではユーザAの生体情報であるとする。生体情報とは、例えば、脈拍、血圧、体温、発汗量、指紋、声紋、身長、体重などである。これらの生体情報のうち、少なくとも1つの情報が子機12により取得される。なお、子機12により取得される生体情報は、親機11が後述する処理を実施するうえで、最も適していると考えられる1または複数の情報である。
子機12により取得されたユーザAの生体情報は、親機11に送信される。ここでは、親機11と子機12は、別体として構成され、それぞれの機器同士は、データの授受を無線(例えば、赤外線を用いたものや、ブルートゥースなどを用いたもの)により行うとする。
ただし、必ずしも親機11と子機12は、別体で構成されるということを条件とするものではなく、一体型に構成されるようにしても良い。また、有線、例えば、USB(Universal Serial Bus)などにより相互接続され、相互接続された状態で、データの授受が行われるように構成されても良い。
親機11と子機12において行われる動作について図2のフローチャートを参照して説明する。
ステップS11において、子機12は、ユーザAの生体情報を取得する。取得される生体情報が脈拍である場合、例えば、子機12は、腕時計型に構成され、ユーザAの脈拍を測定するように構成される(腕時計に脈拍を測定できる機能を持たせ、その機能を子機12に適用するようにしても良い)。
また、子機12は、生体情報としてユーザAの声を取得するようにした場合、携帯電話などに組み込まれるようにしても良い。携帯電話などの組み込むようにした場合、相手の声を取得することもでき、その相手の声から相手を特定することも可能となる。このように子機12は、子機12として単独に構成されるのではなく、他の装置に組み込まれる構成とされても良い。
ステップS12において、親機11は、子機12からの生体情報に基づきユーザAの感情を判断する。例えば、ユーザAの脈拍が、人と会ったと判断されるときに、急上昇したような場合、一般的にユーザAにとってその人は、緊張する人であると推測することが可能である。このようなことが利用され、生体情報からユーザAの感情が推測される。
生体情報から感情を推測する方法としては、幾つかの方法が提案されている。例えば、本出願人も、先に特願2003−040993号や特開2001−215993号公報において生体情報からユーザ(使用者)の感情を推測する方法を提案している。このような方法が用いられ、生体情報からユーザAの感情が推測されるようにしても良い。
ステップS13において、推測された感情に対応したデータが選択され、ステップS14において、そのデータが送信される。図1に示したようなシステムの場合、換言すれば、ユーザAはユーザBと会話しているような場合、選択されたデータは、ユーザBの親機21に対して送信される。
例えば、感情が親しい友人であることを示しているような場合、親しい友人に対して送信しても良いようなデータ(例えば、ユーザAが旅行したときの写真など)が選択され、送信される。
ユーザBが特定できるような場合(例えば、画像認識技術を用いてユーザBを特定できる機能を、子機12または親機11に備えるようにした場合)、ユーザBが写っていると判断される画像のデータが選択され、親機21に対して送信されるようにしても良い。この例については、[送信されるデータが写真のデータである場合]というところで後述する。
また、ユーザBが特定できるようにした場合、予めユーザBを特定するための情報が、親機11または子機12に記憶されている必要があるが、このことを利用し、登録されてなく、かつ、生体情報から推測される感情が“緊張している”というものであった場合、初対面であると判断され、名刺のデータが選択され、送信されるようにしても良い。
なお、ここでは、生体情報から感情を推測し、結果としてユーザの感情が反映されたデータが選択、送信されるようにしたが、例えば、生体情報として脈拍を用い、その脈拍数の変化幅が所定の数値以上である場合には、データが送信されるようにしても良い。
このようにした場合、感情の推測を行わずに(ステップS12の処理を行わずに、または、推測を行うとしてもその処理自体は簡略化した処理とし)、生体情報からデータを送信するか否かを判断するようにする。
[子機の構成]
このような処理を行う子機12の内部構成例を図3に示す。
上述したように、子機12は、ユーザAの生体情報を取得し、親機11に供給するという処理を実行する。そのために、子機12は、ユーザAの生体情報を取得するセンサ41を備えている。センサ41により取得された生体情報は、制御部42に供給される。制御部42は、送信部43を制御し、センサ41により取得された生体情報を親機11に送信する。
センサ41は、1つのセンサから構成されるのではなく、複数のセンサから構成されていても良い。換言すれば、センサ41は、ユーザAから取得する生体情報に応じたセンサから構成される。例えば、図4に示しように、生体情報として脈拍が測定される場合、センサ41は、少なくとも脈拍センサ61を備える構成とされる。
また、生体情報として血圧が測定される場合、血圧センサ62、体温が測定される場合、体温センサ63が、それぞれセンサ41を構成するセンサとされる。
また、ユーザAの状態、例えば、緊張している状態、悲しい状態、うれしい状態などは、ユーザAが発する声でも判断することが可能であると考えられるため、ユーザAの音声を取得するためのマイクロフォン64も、センサ41内のセンサとして備えるようにしても良い。
さらに、ユーザAの状態、例えば、緊張している状態、悲しい状態、うれしい状態などは、ユーザAの顔の表情からも判断することが可能であると考えられるため、ユーザAの顔の表情を取得するためのカメラ65も、センサ41内のセンサとして備えるようにしても良い。
このような複数のセンサのうちの少なくとも1つの生体情報を取得できるセンサから、センサ41は構成される。なお、図4に示したセンサ61乃至65は、一例であり、これらのセンサのみが、センサ41を構成するという限定を加えるものではない。よって、生体情報として、上述したもの以外を取得(測定)するようにした場合、図4に図示していないセンサも、センサ41を構成するセンサとして追加されてももちろん良い。
[対象者を認識する場合の構成]
子機12に、ユーザAと会話(対面)している相手(例えば、ユーザB)を認識するための情報を取得する機能を設けるようにしても良い。すなわち、図5に示すように、認識情報取得部81を、子機12に設けるようにしても良い。この認識情報取得部81としては、例えば、先にセンサ41を構成するとして説明したマイクロフォン64やカメラ65(いずれも図4)を用いることが可能である。
認識情報処理部81としてマイクロフォン64を用いた場合、マイクロフォン64を、ユーザAと会話している相手(例えば、ユーザB)の音声を取得することができるように構成する。そのように構成した場合、マイクロフォン64で取得された相手の声と、既に取得され、記憶されている声とのマッチングを行うことにより(声紋のマッチングを行うことにより)、その相手を特定することが可能となる。そのようなマッチングの処理は、親機11側で行なわれるようにしても良いし、子機12の制御部42が行うように構成しても良い。
認識情報処理部81としてカメラ65を用いた場合、カメラ65を、ユーザAと会話している相手の顔を撮像することができるように構成する。そのように構成した場合、カメラ65で撮像された相手の顔の画像と、既に取得され、記憶されている顔の画像とのマッチングを行うことにより、その相手を特定することが可能となる。そのようなマッチングの処理などは、親機11側で行なわれるようにしても良いし、子機12の制御部42が行うように構成しても良い。
認識情報処理部81は、マイクロフォン64やカメラ65から構成することができるため、センサ41としてのマイクロフォン64やカメラ65と共用されるように構成されても良い。
以下の説明において、ユーザAと会話している相手を、対象者と記述する。図1においては、対象者はユーザBのことである。
[親機の構成]
このような構成を有する子機12から情報を送信される親機11について説明する。なお、親機11と親機21の構成は、基本的に同様であるので、親機11を例として挙げて説明し、親機21の説明は省略する。
図6に親機11の内部構成例を示す。親機11は、例えば、パーソナルコンピュータを用いることが可能である。親機11のCPU(Central Processing Unit)101は、ROM(Read Only Memory)102に記憶されているプログラムに従って各種の処理を実行する。
RAM(Random Access Memory)103には、CPU101が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。例えば、RAM103には、子機12からの生体情報が一時的に記憶される。入出力インタフェース105は、キーボードやマウスから構成される入力部106が接続され、入力部106に入力された信号をCPU101に出力する。また、入出力インタフェース105には、ディスプレイやスピーカなどから構成される出力部107も接続されている。
さらに、入出力インタフェース105には、ハードディスクなどから構成される記憶部108、および、インターネットなどのネットワークや、無線により他の装置(例えば、子機12や親機21)とデータの授受を行う通信部109も接続されている。ドライブ110は、磁気ディスク121、光ディスク122、光磁気ディスク123、半導体メモリ124などの記録媒体からデータを読み出したり、データを書き込んだりするときに用いられる。
このような構成を有する親機11において実現される機能について、図7を参照して説明する。子機12から送信された生体情報や認識情報は、親機11の受信部141に受信される。この受信部141は、主に通信部109(図6)により実現される機能である。受信部141により受信された情報は、制御部142に供給される。制御部142は、主に、CPU101(図6)により実現される機能である。
制御部142は、供給された情報が生体情報である場合、その生体情報を感情推測部143に供給する。感情推測部143は、予め設定されている手法により、生体情報から感情を推測する。その推測結果は、評価値設定部144に供給される。評価値設定部144は、推測結果から、評価値を設定する。感情推測部143と評価値設定部144は、主に、記憶部108(図6)に記憶されているプログラムが、ROM102(図6)に展開され、その展開されたプログラムに基づきCPU101(図6)が処理を実行することにより実現される機能である。
生体情報から推測される感情と評価値が1対1対応であるならば、感情推測部143と評価値設定部144を一体化し、生体情報から直接的に評価値が設定されるようにしても良い。例えば、生体情報として取得される情報が脈拍数であり、その脈拍数が所定の変化幅で有れば、緊張している状態であり、緊張している状態は評価値“5”と設定すると決められているときには、脈拍数が所定の変化幅であるときには評価値“5”と一意的に算出されるようにしても良い。そのようなときには、感情推測部143と評価値設定部144を1つの機能としてまとめることが可能である。
生体情報から推測される感情が複数であり(例えば、感情が細分化されており、それぞれの感情を数値で表すことにより1つの感情を推測するような場合)、感情推測部143からは、複数の推測結果が出力され、評価値設定部144は、複数の推測結果から、1つの評価値を設定する。例えば、予め“緊張”、“怒り”、“好き”といったような複数の項目が設定されており、取得された生体情報から、それぞれの項目の得点が算出され、それらが推測結果として、評価値設定部144に出力されるようにした場合、評価値設定部144は、それらの複数の推測結果から、1つの評価値を設定する。
感情設定部143と評価値設定部144は、生体情報から感情を推測する方法や、その推測された感情から評価値を算出する方法に、どのような方法を適用するかにより、適宜変更される部分である。いずれの方法を用いるようにしても良いが、ここでは、生体情報から、最終的に評価値が算出されるとして説明を続ける。
評価値設定部144により設定された評価値は、記憶部145に記憶されているテーブル(記憶部145に記憶されているテーブルは、認証用テーブル191とし、その認証用テーブル191の説明は、図14を参照して後述する)に追記または、対応する評価値が更新される。また、評価値設定部144により設定された評価値は、データ選択部146にも供給される。記憶部145は、主に、ROM102、RAM103、記憶部108(図6)により実現される機能である。
データ選択部146は、評価値から、その時点で会話や対面している対象者に対して送信するデータを、記憶部145に記憶されているデータを参照し、決定する。データ選択部146は、評価値設定部144などと同様に、CPU101(図6)が所定のプログラムに基づき処理を実行することにより実現される機能である。
データ選択部146により選択されたデータは、送信部147に供給される。送信部147は、供給されたデータを、対象者が所持している親機21(図1)に送信する。送信部147は、主に、通信部109(図6)により実現される機能である。
制御部142は、供給された情報が認識情報である場合、その認識情報を認識部148に供給する。認識部148は、評価値設定部144などと同様に、CPU101(図6)が所定のプログラムに基づき処理を実行することにより実現される機能である。
認識部148は、供給された認識情報を用いて、また、認識用のデータとして予め取得され、記憶部145に記憶されているデータを用いて、対象者が誰であるのかを判断する。その判断結果は、必要に応じ、データ選択部146に供給される。データ選択部146は、データを選択する際、認識部148からの認識結果も考慮してデータを選択する。
次に、親機11、子機12において、それぞれ行われる処理について説明する。
[子機の動作]
まず先に子機12が行う処理について図8のフローチャートを参照して説明する。ここでは、図5に示した構成を有する子機12(すなわち、認識情報取得部81を備えている子機12)の動作について説明する。
ステップS31において、制御部42は、センサ41により取得される生体情報を取得する。制御部42は、所定の周期で、センサ41に生体情報の取得(測定)を指示し、その指示の結果、センサ41が取得した生体情報を、センサ41から取得する。
ステップS32において、認識情報取得部81により、会話(対面)している相手の情報が取得される。認識情報取得部81による情報の取得は、生体情報の取得と同程度の頻度で行われる必要性はないため、ステップS31の処理の後にステップS32の処理が必ずしも行われるのではなく、必要に応じてステップS32の処理が行われるようにしても良い。例えば、生体情報が10回取得された時点で、認識情報が1回取得されるなど、取得回数を異なる回数としても良い。
なお、子機12が図3に示したような構成(すなわち、認識情報取得部81を備えない構成)とされている場合、ステップS32における処理は省略される。
制御部42は、ステップS33において、センサ31により取得された生体情報や認識情報取得部81により取得された認識情報を、親機11に対して送信する。
[親機の動作]
このようにして、子機12から送信された情報を受信し、処理する親機11の処理について、図9のフローチャートを参照して説明する。図9のフローチャートを参照した説明は、対象者の認識を行なわない場合とし、対象者の認識を行う場合については、図15のフローチャートを参照して後述する。
ステップS51において、受信部141(図7)は、子機12から送信された生体情報を受信する。受信された生体情報は、制御部142の制御のもと、感情推測部143に供給される。感情推測部143は、ステップS52において、供給された生体情報から子機12を装着しているユーザ(この場合、ユーザA(図1))の感情を推測する。
この感情の推測の仕方について、一例を挙げて説明する。図10は、ユーザAの脈拍を所定の時間だけ計測したときの計測結果を示すグラフであり、縦軸が脈拍数、横軸が時刻を示している。図10のグラフにおいて、時刻t1以降の脈拍数は、急激に上昇している。そして、時刻t1以降、脈拍数は、その上昇した状態で一定時間(図10内の線で囲んだ部分)、大きな変化がない状態で推移している。
このような場合、ユーザAは、時刻t1において、対象者(ユーザB)に会い、対象者と会ったために脈拍数が変化したと考えられる。また、その脈拍数の変化が、急激な上昇ということなので、ユーザAは、対象者と会ったことにより、緊張したなどの感情の変化があったと考えられる。このような感情の変化は、大きく分類するならば、好ましくない変化であると考えられる。
ステップS52において行われる感情の推測においは、好ましい状態に変化したのか、好ましくない状態に変化したのかが、少なくとも推測結果として算出される必要がある。
なお、ここで、脈拍数が上昇した場合は、好ましくない状態に変化したと判断されるとしたが、例えば、好意を抱いている対象者と会ったようなときにも脈拍数は上昇する場合があると考えられ、一元的に、“脈拍数の上昇=好ましくない状態”と判断されるということを意味しているわけではない。
また、このようなことを考慮すると、生体情報としては1つではなく、複数取得され、それらの複数の生体情報から感情が推測されるようにし、精度良く、ユーザの感情が推測されるようにする必要はある。その方法については、既存の実験結果や、提案されている方法などを適宜利用することが可能である。
ここでは、生体情報からある程度精度良くユーザの感情が推測できる手法を用いるとして図9のフローチャートの説明を続ける。ステップS52において、生体情報から感情が推測され、その推測結果が評価値設定部144に供給されると、評価値設定部144は、ステップS53において、評価値の算出を行う。評価値の算出の仕方について図11を参照して説明する。
図11に評価値として、1乃至10が設定されている例を示す。ここでは、評価値は10個あるとして説明するが、10個に限定されるものではない。図11の上段に示した例では、評価値が高い値ほど対象者に対して好意的(好ましい状態)であるように設定されている。このように、評価値は、好ましい状態であるか否かをパラメータ的に示したものとすることが考えられる。
また、図11の下段に示すように、各評価値に、所定の感情を割り当てることも考えられる。この場合、評価値は、感情を識別する識別子としての役割を有する。例えば、図11の下段に示した例では、評価値“10”には“楽しい”という感情が関連付けられ、評価値“9”には“好意”という感情が関連付けられ、評価値“2”には“怒り”という感情が関連付けられ、評価値“1”には“嫌い”という感情が関連付けられている。
図11の上段に示した例では、評価値の大きさは、大きいほど好ましい状態を示すといったように、その値の大小が意味を有する。これに対し、図11の下段に示した例では、評価値と感情が関連付けられている例であり、評価値の値自体は、単に識別子的に扱われるため、その値の大小自体には意味を有しない。よって、図11の下段に示した例を採用した場合、評価値としては連続的な値である必要はなく、また、数字ではなく、アルファベットなどでも良い。
しかしながら、図11の下段に示した例においても、後述する処理のこと、例えば、図9のステップS54において、データを送信するか否かを判断するが、その判断の1例として、評価値が閾値以上であるか否かを判断するという処理が実行されることを考慮し、評価値として連続的な数値を用い、各評価値に関連付けられる感情も、評価値の大小に伴って、何らかの規則に基づいて変化するようにした方が良い。
何らかの規則とは、ここでは、隣りあう評価値(例えば、9と10)には、類似した感情が関連付けられることを意味する。類似した感情とは、ここでは、例えば、“好まし状態”であると判断される“楽しい”と“好意”といった感情や、“好ましくない状態”であると判断される“怒り”や“嫌い”といった感情である。
さらに、図11の下段に示した例では、好ましい状態であると判断される感情は、数値が大きい評価値に関連付けられ、好ましくない状態であると判断される感情は、数値が小さい評価値に関連付けられている。このようにすることで、評価値自体が、識別子の役割とともに、図11の上段に示した例と同様に、パラメータ的な役割も有するようになる。
ここで説明した評価値の算出は、一例であり、限定を示すものではない。例えば、評価値は、推測される感情から、何らかの数式に基づいて、その都度、算出されるようにしても良い。
図9のフローチャートの説明に戻り、ステップS53において評価値が算出されると、ステップS54に処理が進められる。ステップS54において、データを送信するか否かが判断される。データを送信するか否かの判断は、ステップS53において算出された評価値が、所定の閾値以上の評価値であればデータを送信すると判断する方法がある。例えば、評価値が“5”以上であった場合、データを送信すると設定しておく。そして、ステップS54においては、評価値が5以上であるか否かが判断されることにより、データを送信するか否かの判断が行なわれる。
なお、閾値は、固定的なものであっても良いし、学習などにより動的に変化するものであっても良い。動的に変化する場合における閾値の設定については、[閾値の設定に係わる学習]のところで後述する。
そして、評価値が“5”以上であった場合、ステップS55に処理が進められ、送信すべきデータが選択される。ステップS55において、データ選択部146においてデータの選択が行われる。記憶部145には、予め選択対象とされるデータが記憶されている。
選択対象とされるデータは、図12の上段に示すように、専用のフォルダ161内に、予め、ユーザAにより選択対象のデータとして設定され、記憶されている。または、図12の下段に示すように、専用のフォルダではなく、予め作成されている複数のフォルダ171−1乃至171−N内に記憶されている。フォルダ171−1乃至171−Nの、それぞれのフォルダは、例えば、ワードプロセッサの機能により作成されたテキストデータが記憶されるフォルダ、画像データが記憶されているフォルダなどである。
フォルダ171−1乃至171−N自体は、ステップS55の処理を実行するために専用に設けられたフォルダではないが、ステップS55の処理の対象になるフォルダとして、ユーザAにより予め設定されているようにしても良く、そのように設定されていることにより、選択対象のデータが記憶されているフォルダの数が限定されるため、データの選択にかかる時間を短縮することが可能となる。
データ選択部146は、データを選択する際、評価値設定部144から供給される評価値を基準としてデータの選択を行う。このとき、評価値により、選択されるデータが異なるようにしても良いし、同一のデータが送信されるようにしても良い。
また、他のデータの選択方法としては、予め評価値毎に選択されるデータを設定しておく。例えば、評価値が“5”の場合にはデータA、評価値が“6”の場合にはデータBといったように、評価値と選択されるデータが関連付けられているようにしても良い。
他の方法を用いてデータが選択が行われるようにしても良いが、基本的には、評価値に応じたデータが選択される。データ選択部146は、選択対象とされるデータが専用に記憶されているフォルダ161が設けられている場合、そのフォルダ161内を検索し、評価値に応じたデータ161’を選択する。または、データ選択部146は、予め設けられているフォルダ171−1乃至171−N内を順次検索し、評価値に応じたデータを探しだし、その結果として適切であると判断されるデータ171−1’を選択する。
このようにして選択されたデータは、ステップS56(図9)の処理として、対象者側に送信される。この送信は、対象者の親機(図1においては、ユーザBの親機21)が、ユーザAの親機11に近接しているような状態のとき、換言すれば、ユーザAとユーザBが対面しているような状態のときには、無線(例えば、Bluetoothなどを適用)により行われる。また、ユーザAとユーザBが近接していないとき、例えば、電話などで話しているときには、電子メールなどが用いられ、所定のネットワーク経由で行われる。
このように、ユーザの生体情報を取得し、その生体情報から推測される感情に応じたデータを選択し、他のユーザに対して送信するといった一連の処理が、ユーザの手を煩わすことなく実行されるようにすることが可能となる。また、そのような一連の処理は、生体情報が取得された時点、すなわち、ユーザAがユーザBと接している時点で、リアルタイムに行うことが可能である。
[対象者を認識した場合の処理について]
ところで、ステップS56の処理としてデータが送信される際、“電子メールなどが用いられ、所定のネットワーク経由で行わる”と記載したが、例えば、電子メールを用いてデータを送信する場合、送信先の電子メールのアドレスを特定する必要があり、そのために、対象者を認識し、特定する必要がある。そこで、対象者を認識し、特定するようにした場合を例に挙げ、親機11の処理について再度説明する。
対象者を認識するためには、予め対象者の情報を取得し、記憶(登録)しておく必要がある。対象者の登録の処理について、図13のフローチャートを参照して説明する。ステップS71において、対象者の登録の指示があったか否かが判断される。ユーザは、対象者の登録を所望したとき、子機12に設けられている所定のボタン(不図示)を操作する。ボタンが操作されたときには、ボタンが操作されたことを示す信号が、子機12から親機11に対して送信される。
親機11は、子機12から送信された信号を受信した場合、受信した信号を解析することにより対象者の登録が指示されたと判断する。また、対象者の情報として、名前や電子メールアドレス(適宜、属性情報と記述する)なども登録させる必要があるため、そのような情報が登録される場合、親機11側で所定の操作、例えば、登録用のプログラムの起動の指示などがユーザにより行われ、そのような指示を受けたときにも、親機11は、登録の指示があったと判断するように構成されている。
ステップS71において、対象者の登録の指示があったと判断された場合、ステップS72に処理が進められる。ステップS72において、認識情報や属性情報の取得が行われる。認識情報の取得は、子機12の認識情報取得部81(図5)により取得される。認識情報取得部81は、上述したように、対象者の声(声紋)を取得するマイクロフォン64(図4)や、対象者の顔(全身)の画像を撮像するカメラ65(図4)により構成される。
子機12により取得された認識情報は、親機11に対して送信される。親機11は、子機12から送信された認識情報を受信することにより取得する。取得された認識情報は、記憶部145に記憶される。
また、親機11は、ユーザから、例えば、入力部106(図6)としてのキーボードなどが操作されることにより入力される属性情報も取得する。取得された属性情報は、認識情報と関連付けられて記憶部145に記憶される。
このような記憶の処理が繰り返されることにより複数の対象者のデータが蓄積される。その蓄積されるデータは、図14に示すような認識用テーブル191として管理される。認識用テーブル191は、認識情報と評価値が関連付けられて記憶されている。図14に示した例では、認識情報としての“画像A”と評価値としての“5”が関連付けられ、認識情報としての“声紋B”と評価値としての“2”が関連付けられている。認識情報として記憶されるのは、子機12から送信されてきた認識情報であり、そのために、ここでは、画像や声紋といった対象者の顔や声のデータとなる。
評価値は、図9のフローチャートのステップS53の処理として説明したようにして算出された値が記載される。登録が指示されたときに、認識情報とともに取得された生体情報から算出された評価値が、認識情報と共に管理される。または、登録時には、規定値としての評価値が割り当てられる(例えば、“6”が割り当てられる)ようにしても良い。
認識用テーブル191に記載された評価値は、対象者と会話したりすることにより更新され(例えば、図15のステップS105の処理や、[評価値の設定に係わる学習]のところで後述する)、その対象者に対する評価値がより適正になるようにされている。
認識用テーブル191には、認識情報や評価値の他に、対象者の名前や電子メールアドレスなどの属性情報も必要に応じて関連付けられて、認識用テーブル191で管理される。
なお、ここでは、認識用テーブル191は、親機11の記憶部145に記憶されるとして説明するが、子機12側に記憶される(子機12側でも記憶される)ようにしてももちろん良い。また、認識用テーブル191の一部は、子機12側で管理されるようにしても良い。
例えば、認識用テーブル191で管理される情報のうち、認識情報は、子機12側で管理される(子機12側でも管理される)ようにする。そして、子機12の認識情報取得部81が認識情報を取得したとき、既に記憶され、管理されている認識情報とのマッチングをとり、一致するものを探し出す。探し出された結果(例えば、対象者を識別するための識別子)が、親機11に送信されるようにしても良い。識別子などの比較的データ量が小さいデータを子機12と親機11との間で授受されるようにすることにより、送受信に係る処理時間や能力を低減させることが可能となる。
ここでは、認識用テーブル191は、親機11の記憶部145に記憶され、管理されているとして説明を続ける。
[対象者の認識を含む親機11の動作]
認識用テーブル191を管理する場合の親機11の動作について、図15のフローチャートを参照して説明する。
ステップS101において、親機11の受信部141(図7)は、子機12からの生体情報と認識情報をそれぞれ受信する。受信された生体情報は、感情推測部143に供給され、認識情報は、認識部148に供給される。感情推測部143は、ステップS102において、生体情報から感情を推測し、その推測された感情を基に、評価値設定部144は、評価値を設定する(ステップS103)。このステップS102とステップS103は、図9のステップS52とステップS53の処理と同様であるので、その詳細は説明は省略する。
ステップS104において、認識部148は、供給された認識情報を用いて、対象者の認識(特定)を行う。認識部148には、認識情報として、対象者の顔の画像または声(声紋)が供給される。認識部148は、その供給された認識情報と一致する情報を、記憶部145に記憶されている認識用テーブル191を検索し、探し出す。そのような処理が行われた結果、対象者が特定されると、ステップS105に処理が進められる。
なお、供給された認識情報と一致する情報が、認識用テーブル191に記憶されていない場合がある。そのような場合、供給された認識情報が新たに認識用テーブル191に追記されるようにしても良い。このような場合、図13に示した登録処理に関するフローチャートの処理が実質的に行われる。このようにすることで、ユーザが意識しなくても、対象者の登録が随時行われることになる。ユーザは、後の時点で、属性情報も、認識用テーブル191に追記されるような処理を実行すればよい。
また、供給された認識情報と一致する情報が、認識用テーブル191に記憶されていない場合、記憶されていない人物であると判断(特定)するように設定しておく。記憶されていない人物であると特定され、その特定が行われた時点で、ユーザAから取得された生体情報から推測される感情が、緊張している状態であると判断できる場合、対象者は初対面であると判断されるようにしても良い。そして、初対面の人であると判断されるときには、後段の処理で、名刺のデータ(自己紹介用のデータ)が選択され、送信されるようにしても良い。
ステップS104において、対象者が特定されると、その特定された対象者の認識情報と関連付けられている評価値が更新される。この更新は、ステップS103において算出された評価値が考慮されて行われる。
例えば、図14を参照するに、認識情報が“画像A”である人が、その時点での対象者であると特定された場合、その特定された対象者の認識情報に関連付けられている評価値“5”が更新の対象とされる。そして、評価値が“5”であるような場合に、ステップS103において算出された評価値が“5”以下(例えば“3”)であったときには、低い評価値に更新され、“5”以上(例えば、“7”)であったときには、高い評価値に更新される。
または、算出された評価値と、評価値の算出された回数の履歴を残すようにし、評価値が算出される毎に、その新たに算出された評価値も含めた平均値が算出され、その平均値が、更新後の評価値として設定されるようにしても良い。
このように、対象者と対話する毎に評価値が更新されることにより、ユーザAにとっての対象者への評価値をより正確(適切)なものとすることが可能となる。
このようにして評価値の更新が行われると、ステップS106に処理が進められ、データを送信するか否かが判断される。データを送信するか否かの判断は、例えば、評価値が所定の閾値以上である場合には送信すると設定されているようなときには、ステップS106の処理として評価値が閾値以上であるか否かが判断される。
なお、対象となる評価値は、ステップS103で算出された評価値でも良いし、ステップS105において更新された後の評価値でも良い。ステップS103で算出された評価値を用いると、その時点でのユーザの対象者に対する感情が反映されたものとなり、ステップS105において更新された後の評価値を用いると、その時点までにユーザが対象者に対して抱いていた感情が反映されたものとなる。もちろん、2つの評価値を所定の計算式(重み付けなどを行う式)に代入し、その計算式に基づく計算が行われた結果を、ステップS106における判断に用いるようにしても良い。
ステップS106において、データを送信すると判断された場合、ステップS107に処理が進められ、データは送信しないと判断された場合、データの送信に係わる親機11の処理は終了される。
ステップS107において、通信方式の決定が行われる。通信方式としては、無線などにより直接的に行う方式か、または、電子メールなどによりネットワークを介して間接的に行う方式が考えられる。どちらの方式にするかは、例えば、データを送信すると決定した時点で、親機11が、近辺に自己と直接的に通信を行うことができる機器が存在するか否かを判断し、存在すると判断された場合、その機器に対して直接的にデータを送信するとし、その送信に対応する通信方式に決定され、存在しないと判断された場合、電子メールにより送信するという通信方式に決定される。
電子メールにより送信する通信方式に決定された場合、特定された対象者に関連付けられている電子メールアドレスが、認識用テーブル191から読み出される。
ステップS107において通信方式が決定されると、ステップS108に処理が進められる。ステップS108において、特定された対象者に対して送信されるデータが選択され、その選択されたデータが、ステップS109の処理として、決定された通信方式により送信される。
ステップS108におけるデータの選択の処理であるが、対象者を特定することにより、より適切なデータを選択することが可能となる。例えば、対象者が特定されることにより、その対象者が写っている写真(画像)を選択する、その対象者が関係している(興味を持っている)話題を選択するなどを実行することが可能となる。
このように、本発明によれば、ユーザの感情に応じて、また、対象者に応じて、データを選択し、送信するので、送信されるデータを、対象者にとってより適切であるものにすることができる。また、そのような送信に係わる処理は、基本的にユーザの手を煩わさずに行うことが可能となる。
次に、具体的な例を挙げて、説明を加える。
[送受信されるデータが写真のデータである場合]
送信されるデータが、写真(画像)のデータである場合を例に挙げて説明する。写真のデータが送信される場合におけるステップS108の処理(データの選択の処理)に関し、図16のフローチャートを参照し説明する。
ステップS121において、ステップS104(図15)の処理により、特定された対象者の画像データの取得が行われる。ステップS121において取得される画像データは、認識用テーブル191に記憶されている認識情報でもよいし、対象者の画像として設定されている画像データが所定のフォルダから読み出されるようにしても良い。または、その時点で、子機12のセンサ41または認識情報取得部81(図5)により取得された(必要に応じ、子機12に取得を指示するようにしても良い)画像を用いるようにしても良い。
また、取得される画像データとしては、後述するマッチングの処理を実行する上で必要となるデータであり、そのマッチングを行うためには、対象者の顔の画像データであることが好ましい。
ステップS121において、対象者の画像データが取得されると、ステップS122において、その画像データとマッチングをとる画像データが特定される。後述するように、選択され、送信されたデータに関するログが、送信済であるデータと、そうでないデータを認識できるようにするために残される。このログに記載されているデータ(フォルダなどでも良い)は、再度送信される必要は無いため、ログに残されているデータは、マッチング対象のデータとはしない(従って、送信されるデータの対象ともされない)ようにする。
もちろん、図12を参照して説明したように、選択対象とされるデータが記憶されているフォルダは、予め設定されており、その設定されている範囲内にあるデータが、ステップS122におけるマッチング対象のデータとされるという条件も、ログに関する条件とともにある。
ステップS122において、マッチング対象とされるデータが特定されると、その特定されたデータに対してマッチングの処理が実行される(ステップS123)。ここで、マッチングとは、対象者の顔が写っている写真(画像)を探し出すために行われる処理である。画像マッチングは、既存の画像マッチングの手法を用いることが可能であり、ここでは、その詳細な説明は省略する。
ステップS123の処理が実行された結果、マッチング(一致)したデータがあったか否か(この場合、対象者が写っている写真があったか否か)が判断される(ステップS124)。ステップS124において、一致したデータがあると判断された場合、ステップS125に処理が進められ、一致したデータはないと判断された場合、結果として送信するデータがないため、図16に示した写真データの選択に関する処理は終了される。
ステップS125において、一致したと判断されたデータが、ステップS109(図15)において送信されるデータとして設定される。この際、そのデータが記憶されているフォルダ内の他のデータも、送信されるデータとして設定されるようにしても良い。このように設定しておけば、例えば、ユーザAとユーザBが一緒に旅行にいったときの写真を、1つのフォルダ内に記憶させておけば、そのフォルダ内の1枚の写真に、ユーザBが写っていれば、他の写真とともに、ユーザBに提供することが可能となる。
ステップS126において、送信されるとして設定されたデータに関するログが追記される。このログは、送信したデータと送信先の対象者が関連付けられたデータが少なくとも記載されているものである。この後、ステップS109の処理として、データが送信される。
なお、画像データは、比較的、容量の大きいものである。特に、複数の画像データを送信するような場合、送信すべきデータ量は、大きなものとなる。実際の画像データの送信および受信は、後の時点で行われるようにし(例えば、ネットワークなどに接続し、比較的容易に大容量のデータを送受信できる状態とされたときに行われるようにし)、後の時点で行われるデータの送受信に備えて、送受信する画像データのインデックス情報のみを先に送受信するようにしても良い。
このように、対象者が特定されることにより、その特定された対象者が写っている写真を、ユーザAの手を煩わすことなく対象者(例えば、ユーザB)に提供することが可能となる。よって、例えば、対象者に渡そうと思っていたが忘れていたような写真を、対象者と会ったときに渡す(送信する)ことが可能となる。また、対象者と会ったときに、写真を送信することにより、その写真についての話題作りができると考えら、ユーザ同士のコミュニケーションを向上させるうえで、有効な手段になると考えられる。
また、ここでは、対象者が写っている写真を送信するとしたが、その写真に関連がある写真も送信されるようにしても良い。例えば、対象者が写っている写真と同じ日に撮像された写真や、同じフォルダ内に管理されていた写真は、関連があるとし、送信対象と設定されるようにしても良い。このような設定も加えることで、さらにユーザの手を煩わせずに、対象者と共用したい写真を送信することが可能である。
このようなことは、ユーザA側の親機11のみで行われるのではなく、対象者としてのユーザB側の親機21(図1)でも行われれば、親機21から親機11へ(ユーザBからユーザAへ)写真が送信されることになり、互いに写真の交換を行うことが可能となる。例えば、一緒に旅行などに行き、その後、写真の交換を行うときなどに、適用して好適である。
[受信されたデータの分類]
上述したように、ユーザAとユーザBとの間でデータの授受が行われる。ユーザA(親機11)からユーザB(親機21)に対してデータ送信された場合、ユーザBのユーザAに対する評価値に基づいて、親機21側で、受信されたデータの記憶先のフォルダを決定するようにしても良い。
例えば、ユーザBがユーザAに対して高い評価値を付けているような場合、評価値の高い人から送信されて来たデータを記憶させるフォルダとして設定されているフォルダに、データを記憶させるようにする。同様に、ユーザBがユーザAに対して低い評価値を付けているような場合、評価値の低い人から送信されて来たデータを記憶させるフォルダとして設定されているフォルダに、データを記憶させるようにする。または、低い評価値が付けられているユーザからのデータは、記憶されずに削除されるようにしても良い。
このように、受信されたデータを分類するようにした場合、データを受信する親機11(または親機21)側の処理について、図17のフローチャートを参照して説明する。ここでは、親機11がデータを受信するとして説明をする。
ステップS141において、親機11の受信部141は、他の親機から送信されたデータを受信する。受信されたデータは、制御部142に供給される。制御部142は、ステップS142において、データを送信してきた親機(その親機の送信者)を特定する。
ユーザ同士が対面しているときにデータが受信された場合、親機11側では、図15のフローチャートの処理が実行され、その処理の過程で、対象者(この場合、データの送信者)を特定している。そこで、ステップS142における処理では、その特定された対象者を送信者として特定する。
または、データが送信される際、データの送信者を示すようなデータが付加された状態で送信されるようにし、そのデータが受信側で読みとられることにより、ステップS142における送信者の特定が行われるようにしても良い。
いずれの方法でも良いが、送信者が特定されると、その特定された送信者に割り当てられている評価値が読み出される。親機11は、記憶部145に認識用テーブル191(図14)を記憶しており、その認識用テーブル191を参照し、特定された送信者(対象者)に割り当てられている評価値が読み出される。
ステップS143において、読み出された評価値に対応するフォルダが選択される。図18に示すように、例えば、“評価値1〜5”の送信者から送信されてきたデータを記憶するフォルダ201と、“評価値5〜10”の送信者から送信されてきたデータを記憶するフォルダ202が予め記憶部145に設定されており、ステップS142の処理で判断された評価値に対応するフォルダが選択される。
このフォルダは、評価値に依存するものでなくても良い。例えば、図19に示すように、“グループA”に属する送信者から送信されてきたデータを記憶するフォルダ211と、“グループB”に属する送信者から送信されてきたデータを記憶するフォルダ212といったように、予めユーザにより分類されているグループに依存するものでも良い。
グループとは、例えば、会社関係のグループ、友達のグループ、趣味が一緒のグループなど、ユーザによりさまざまなグループが設定され、フォルダとして設けられる。このようなグループに依存するフォルダを設けるようにした場合、ステップS142に処理において、送信者の評価値を判断する代わりに、送信者が属するグループが判断される。また、認識用テーブル191には、送信者(対象者)が属するグループも、他の情報と関連付けられて管理される。
評価値またはグループ毎に設定されたフォルダのうち、その時点で受信されたデータを記憶させるフォルダが、ステップS143の処理として設定されると、ステップS144において、その設定されたフォルダに、受信されたデータが記憶される。
このような処理が、データが受信される毎に行われることにより、データを受信した側のユーザの手を煩わせることなく、データを分類することが可能となる。
[データのリレー1]
上述したようなデータの送受信を利用した他の処理について説明する。まず、評価値に基づくデータのリレーということについて説明する。
図20と図21は、評価値に基づくデータのリレーについての概念を説明するための図である。図20に示すように、ユーザA側では、評価値の高いユーザとして、「ユーザB」、「ユーザ1」、および、「ユーザ2」が登録され、評価値の低いユーザとして、「ユーザ3」と「ユーザ4」が登録されている。
同様に、ユーザB側では、評価値の高いユーザとして、「ユーザA」、「ユーザ2」、および、「ユーザ11」が登録され、評価値の低いユーザとして、「ユーザ1」が登録されている。
このような状態のとき、図21に示すように、時刻t1において、ユーザAからユーザBに対してデータが送信される。ユーザAからユーザBに対してデータが送信される際、ユーザA(送信者)側が評価値の高いユーザであると設定しているユーザのリストが作成され、そのリストが、データと共に(データに付加されて)送信される。
この場合、送信されるリストには、「ユーザB」、「ユーザ1」、および「ユーザ2」が記載されているリストである。
ユーザAからユーザBに対してデータが送信された時刻t1より後の時点である時刻t2において、ユーザBとユーザ1が対面したとする。ユーザ1は、ユーザAから送信されてきたリスト内に存在しているユーザである。そのようなときには、時刻t1において授受されたデータが、時刻t2においてユーザBからユーザ1に対して供給される。
すなわちこの場合、ユーザAは、評価値の高いユーザBに対してデータを送信し、同じく評価値の高いユーザ1に対してはデータを送信していないが、結果的にはユーザ1に対してもデータは供給される。
このように、評価値の高い人同士(この場合、ユーザA、ユーザB、およびユーザ1)で、共通のデータを所持することが可能となり、かつ、そのような処理は、ユーザの手を煩わすことなく行われる。また、データの発信源となったユーザAからは、ユーザBにだけデータが供給されたわけだが、データがリレーされることにより、ユーザ1にまでデータが供給されることになる。
このような処理が実行される場合の親機11の動作について説明を加える。まず、データと共にリストを送信する親機11の処理(図21で時刻t1において行われるユーザAからユーザBに対するデータの送信に係わるユーザA側の処理)について、図22のフローチャートを参照して説明する。
ステップS171において、送信するデータが取得される。このデータの取得は、図15に示したフローチャートのステップS108の処理に該当する。ステップS172において、リストが作成される。このリストは、上述したように、ユーザAにとって評価値の高いユーザが列記されているものである。
そのようなリストは、予め作成され、記憶部145に記憶されている。または、リストを送信する必要が生じたときに、認識用テーブル191を参照し、所定の閾値以上のユーザ(対象者)をピックアップし、そのピックアップされたユーザを記載していくことによりリストが作成される。
ステップS172において、リストが作成されると(リストが取得されると)、ステップS173において、そのリストと取得されたデータが送信される。このステップS173の処理は、図15に示したフローチャートのステップS109の処理に該当するが、データと共にリストが送信される点が異なる。
このようにして送信されたリストとデータを受信した側は、リストとデータを関連付けて記憶する。受信側の処理は、図17のフローチャートを参照して既に説明したように行われる。ただし、データのみでなく、リストも、そのデータと関連付けられて記憶される。
次に、図23のフローチャートを参照して、リストを用いてデータを送信する親機21の処理(図21で時刻t2において行われるユーザBからユーザ1に対するデータの送信に係わるユーザB側の処理)について説明する。
ステップS191において、親機21は対象者を特定する。この対象者の特定の処理については、図15のステップS104の処理と同様に行われる。ステップS192において、リストが検索される。まず、リスト自体が記憶されているか否かが判断される。そして、リストが記憶されていると判断された場合には、そのリストに、特定された対象者が記載されているか否かが判断される。
このステップS192の処理の結果を受け、ステップS193において、対象者が記載されているリストがあったか否かが判断される。ステップS193において、対象者が記載されているリストがあったと判断された場合、ステップS194に処理が進められ、対象者が記載されていたリストに関連付けられているデータが選択され、送信される。
ステップS194においてデータが送信される際、そのデータに関連付けられていたリストも送信されるようにしても良い。リストも送信されるようにすると、1度だけリレーが行われるのではなく、順次繰り返しリレーが行われることになる。例えば、図21を再度参照するに、ユーザBからユーザ1に対してリレーが行われた後の時点で、さらにユーザ1からユーザ2に対してデータのリレーが行われるといったような複数回のデータのリレーが可能となる。
一方、ステップS193において、対象者が記載されているリストはなかったと判断された場合、処理は終了される。この図23に示したフローチャートに基づくデータの送信は、図15に示したフローチャートに基づくデータの送信と、別々に行われる。換言すれば、リストに基づいてはデータを送信することがなくても、図15に示した通常の処理においてはデータが送信されることもある。
なお、図23のフローチャートには、ステップとして記載していないが、ステップS194において、データが送信された場合、その送信されたデータに関連付けられているリストからは、送信対象となった対象者は削除される(例えば、図21を参照するに、送信対象となった対象者は、ユーザ1であるので、ユーザ1は、リストから削除される)ようにしても良い。削除されるようにすることにより、再度同じデータが同じユーザに送信されてしまうようなことを防ぐことが可能となる。なお、削除するのではなく、ログを残すようにし、残されたログを参照して送信するか否かが判断されるような仕組みを適用してももちろん良い。
また、ステップS194において、データとともにリストも送信するようにした場合、そのリストには、その時点での送信者(例えば、ユーザB)が削除されたリストが送信される。このようにすることで、再度同じデータが、ユーザBに送信されてくるようなことを防ぐことが可能となる。
この[データのリレー1]の場合、始めにデータを送信したユーザ(図21においてはユーザA)の評価値が反映された形で、データがリレーされる。次に、データを受け取った側(図21においてはユーザB)の評価値が反映された形で、データがリレーされる場合を説明する。
[データのリレー2]
親機11における基本的な動作は、図22や図23に、それぞれ示したフローチャートを参照して説明した場合(データのリレー1の場合)と同様であるので、再度図22と図23を参照し、異なる部分に関してのみ説明を加える。
まず図22を再度参照するに、ステップS172において作成されるリストは、例えば、送信者(図21においてはユーザA)が、どのような評価値を有する人にはデータをリレーしても良いといったことを示すデータとする。
例えば、ユーザAが、おもしろい話を聞いたのでその話を広く伝えたいといったような気持ちがある場合、その話(データとしては、音声データまたはテキストデータである)に貼付するリストに記載される評価値は、低い値が記載される。低い値の評価値が記載されることにより、該当者が多くなり、結果として、沢山のユーザにその話が伝わることになる。
受信した側の処理について図23のフローチャートを参照して説明するに、ステップS192において検索されるリストには、データのリレーが許可される評価値の条件が記載されている。そして、ステップS193において、その時点で認識されている対象者に設定されている評価値で満たされる条件が記載されているリストがあったか否かが判断される。
例えば、対象者に設定されている評価値が“7”であった場合、そして、あるリストに記載されている条件が“評価値が6以上”というものであったとき、対象者に設定されている評価値で満たされる条件が記載されているリストがあったと判断されることになる。
ステップS193において、YESと判断された場合、ステップS194に処理が進められ、送信すべきデータが選択され(条件を満たすと判断されたリストと関連付けられているデータが読み出され)、送信される。
データのリレー2を適用した場合、データを受信した側の評価値に依存してデータがリレーされる。そのため、評価値が高い対象者にデータがリレーされると設定されているような場合には、比較的、親しい人同士の間でデータがリレーされることになる。よって、例えば、共通の趣味などを有している人(似ている人)などを不特定に集めたい(情報を伝達したい)といったようなときに効果的である。
なお、ここでは、ステップS172の処理として、データを送信する側でリストが作成されるとした。他の実施の形態とし、送信する側でリストを作成するのではなく、受信者側で作成するようにしても良い。受信者側で作成される場合、受信した側は、まず、データを送信してきた送信者の評価値を判断する。そして、その評価値と同じ評価値を有する対象者(または、その評価値より上の評価値を有する対象者)を、データをリレーする対象者として設定する。
このような設定だけを、予めしておいても良いが、この設定を残すためのリストを作成するようにしても良い。そして、その設定に基づきデータが、対象者と会った時点で送信される。
このようにした場合でも、データを受信した側の評価値に依存してデータがリレーされることになる。よって、上記したような効果を望むことが可能である。
このようにデータのリレー1、または/および、リレー2が適用されるようにすると、ある程度気の合う仲間同士内で(ある評価値が設定された対象者同士内で)、データを送受信することが可能となる。そして、その送受信されるデータを基に、話がはずむなどの効果を期待でき、人同士のコミュニケーションの向上に役に立つ。
[学習に係わる処理]
ところで、説明してきた実施の形態においては、評価値に基づいて、データが交換されるなどの何らかの処理が行われる。例えば、図9のフローチャートを参照して説明したように、評価値が所定の閾値以上であるか否かを判断することにより、データを送信するか否かが判断された。よって、その評価値や閾値の設定は、適切な値が設定されるようにする必要がある。
そこで、上述してきた説明においては、評価値の更新(図15のステップS105)を行うようにすることにより、適切な評価値が設定されるようにした。さらに、評価値をより適切な値にするために、学習という処理が実行されるようにしても良い。
[評価値の設定に係わる学習]
学習の一例をここで説明する。送受信(交換)されるデータが、写真のデータであるという具体例を、再度例に挙げて説明する。写真のデータは、上述したように、本発明を適用することにより、ユーザの手を煩わせずに(ユーザからみれば、自動的に)、データが送受信されるが、もちろん、ユーザ自身が所定の操作を行うことにより、意識的にデータを送受信させることも可能である。
そして、ユーザが意識的に写真のデータを送受信させる場合、送信者は、その写真を受信者(対象者)に見せたいから送信するのであって、このような行動をとるのは、親しい間柄(少なくとも好ましい状態にある間柄)であると考えられる。評価値との関連を考えると、意識的に写真を交換する間柄は、評価値が高いユーザ同士であると考えられる。
そこで、ユーザが意識的に写真のデータを送受信させたときの回数や、交換した写真の枚数などを考慮して評価値が更新されるようにする。例えば、親しい間柄であれば、写真を交換する回数が多くなり、交換する写真の枚数も多くなると考えられるので、そのような対象者の評価値は、上げられる(高い値に設定される)ように更新されるようにする。このような更新は、送信者側でも受信者側でも行われる。
すなわち、データを送信した側(ユーザAとする)は、受信する側(ユーザBとする)に対して好意的であると考えられるため、ユーザAのユーザBに対する評価値を上げるという処理(学習)がユーザA側で行われる。一方、ユーザBは、ユーザAから好意的に思われていると考えられるため、ユーザBのユーザAに対する評価値を上げるという処理(学習)がユーザB側で行われる。
このような学習に係わる処理において、データを送信した側とデータを受信した側とで、同様に更新がされても良いが、例えば、送信した側で上げられる値と、受信した側で上げられる値は異なるように処理される(重み付けを行った処理がされる)ようにしても良い。
また、更新の処理として、図15のステップS105の処理と同様に行われる(例えば、評価値の平均値を算出する)ようにしても良い。
なお、この場合、ユーザB側での学習は、ユーザAのユーザBに対する気持ちが反映されるものとなる。よって、ユーザBの気持ち(感情)のみが反映されるように評価値を設定する場合、データを受信した際に行われるとして説明したユーザB側の学習は、行われないようにしても良い。受信側における評価値の更新は、適宜行われるようにすればよい。
[閾値の設定に係わる学習1]
上述した実施の形態においては、例えば、図9のフローチャートのステップS54において、データを送信するか否かの判断を、評価値が所定の閾値以上であるか否かを判断することにより行うとした。この閾値は、予め設定された値(例えば“5”)のまま、継続的(固定的)に用いられるようにしても良い。
例えば、ユーザにより、低い評価値(例えば“3”以下など)の人にもデータを送信したい、逆に、高い評価値(例えば、“7”以上など)の人にしかデータを送信したくないといったような要望があると考えられる。このようなことを考慮すると、閾値をユーザ自身が所望の値に設定できるような仕組みを設けるようにしても良い。
ここでは、閾値も学習により、ユーザの手を煩わすことなく、かつ、ユーザが所望する値に適切に設定されるようにする仕組みを設けるとし、その学習の仕方について説明する。
ここでも送受信(交換)されるデータが、写真のデータである場合を、再度例に挙げて説明する。上述した[評価値の設定に係わる学習]のところでも説明したように、ユーザ(ユーザAとする)が写真を意図的に交換した場合、その交換先のユーザ(ユーザBとする)とは親しい間柄であると考えられる。
評価値との関係を考えると、ユーザAは、ユーザBに対する評価値程度のユーザに対して、写真の交換を行うことがあるということを示している。例えば、ユーザBに対する評価値が“3”といった比較的低い(規定値とされている値よりも低い)評価値のユーザに対しても、ユーザAは、写真などのデータを送信することが有ることを示している。ユーザAが、ユーザBだけでなく、比較的評価値の低い他のユーザに対しても、写真などのデータを送信しているような場合、ユーザAは、評価値の低いユーザともデータの交換を望んでいると考えることができる。
逆に、ユーザAは、評価値の高いユーザ(例えば、“7”以上)とデータの交換を行うことが多い場合、そのユーザAは、評価値の高いユーザとだけ、データの交換を望んでいると考えることができる。
このようなことを考慮し、ユーザが意識的に写真のデータを送受信させたときの、相手(対象者)の評価値を考慮して閾値が更新されるようにする。例えば、ユーザが意識的に写真のデータを送受信させたとき毎に、その相手の評価値が読み出され、その読み出された評価値を含めた評価値の平均値が算出され、その算出された平均値が閾値として設定されるようにする。
このように、データを送信した先の対象者の評価値の平均値を算出し、その平均値を閾値とすることにより、ユーザがデータの送信先として指定する可能性の高い(ユーザがデータの交換を所望する)対象者を、適切に設定することが可能となる。
なお、閾値の設定は、評価値の平均値を算出することに限定されるわけではなく、平均値以外の方法で設定されるようにしても良い。
[閾値の設定に関する学習2]
[閾値の設定に関する学習1]のところでは、データの送信先とされた対象者の評価値を考慮して閾値が設定されるとした。このような学習により閾値を設定するということは、閾値以上の評価値を有する対象者に対しては、データの内容に関係なく、そのデータが送信される場合があることを意味する。
しかしながら、閾値以上の評価値を有する対象者に対しても送信して良いデータと、そうではないデータがあると考えられる。そこで、データ自体に閾値を設けるようにしても良い。例えば、データAは、閾値“5”と設定し、評価値が“5”以上である対象者に対しては送信して良いデータとし、データBは、閾値“8”と設定し、評価値が“8”以上である対象者に対しては送信して良いデータとするといったように、データ毎に送信しても良い評価値を規定するための閾値が設定されるようにする。
この設定は、ユーザにより、データ毎に行われるようしてももちろん良いが、データ数が多くなると、全てのデータに対して閾値を設定するのは面倒であるといったような課題がある。そこで、この設定自体も学習により行われるようにする。この学習も、[閾値の設定に関する学習1]と同様に、ユーザが意図的にデータを交換したときの、対象者の評価値を考慮して行われるようにする。
例えば、ユーザAが意図的に対象者(ユーザBとする)に対してデータ(データBとする)を送信したとき、ユーザBの評価値がデータBの閾値とされる。その後、データBが、ユーザCに対しても送信された場合、ユーザBの評価値とユーザCの評価値の平均値が、データBの閾値とされる。このように、データが送信される毎に、そのデータが送信された先の対象者の評価値を読み出し、そして評価値の平均値を算出し、その算出された平均値が、そのデータに対する閾値として設定される。
このようにデータ毎に、そのデータの送信先の対象者の評価値の平均値が、そのデータの閾値として設定されるようにすることにより、評価値の低い対象者に対しても送信して良いデータ、評価値の高い対象者のみに送信するデータといったような分類が、データ毎に行えるようになる。
なお、閾値の設定は、評価値の平均値を算出することに限定されるわけではなく、平均値以外の方法で設定されるようにしても良い。
[補助装置の利用]
上述した実施の形態においては、データが送信される先(受信側)は、例えば、ユーザBの親機21(図1)であるとし、その親機21は、ユーザAの親機11と同様の構成であるとして説明した。また、親機11(21)は、パーソナルコンピュータなどを用いることができ、その内部構成は、図6に示したような構成であるとして説明した。
しかしながら、上述した説明でデータが送信される先は、パーソナルコンピュータのような装置に限定されることを意味するものではなく、パーソナルコンピュータのような装置以外でも良い。また、送信される先がパーソナルコンピュータのような装置であっても、他の装置を介して、最終的にパーソナルコンピュータのような装置に送信されるようにしても良い。そこで、パーソナルコンピュータ以外の装置(ここでは、補助装置と称する)にデータが送信される場合について説明する。
図24は、補助装置を用いた場合のシステムの構成を示す図である。図1に示した構成と同様に、ユーザAは、子機12を装着し、子機12と親機11は、データの授受が行えるように構成されている。図24に示した例では、補助装置251は、親機11または子機12とデータの授受が行える構成とされている。また、図24には図示していないが、補助装置251から、ユーザBの親機21に対してデータが送信されるように構成することも可能である。
ここで補助装置251は、例えば、ロボットである。近年、ペット型ロボットなどと称され、人とコミュニケーションをとるロボットがあるが、そのようなロボットを、補助装置251として用いることができる。
このようなシステムにおける処理について説明する。まず先に図25のフローチャートを参照し、親機11が処理を実行する場合のシステムの動作について説明し、次に図26のフローチャートを参照し、親機11が処理を実行しない場合のシステムの動作について説明する。
図25のフローチャートに基づく動作について説明するに、ステップS301において、子機12は、ユーザAの生体情報を測定する。測定された生体情報は、ステップS302において、親機11に対して送信される。親機11は、子機12からの生体情報を、ステップS311において受信すると、ステップS312において、生体情報に基づき感情を推測する。
そして親機11は、ステップS313において、推測された感情を基に、データを選択し、ステップS314において、選択されたデータを補助装置251に対して送信する。送信されたデータは、ステップS321において、補助装置251により受信される。補助装置251は、ステップS322において、受信されたデータに基づく処理を実行する。
ここまでの親機11と子機12の処理は、基本的に図2のフローチャートを参照して説明した場合と同様である。ただし、ステップS313における処理で選択されるデータは、補助装置251が行う処理を規定するデータである。このような補助装置251の動作を規定するためのデータを選択するために、そのようなデータは、予め親機11側で管理されている。例えば、図12を参照してデータが記憶されているフォルダについて説明したが、そのようなフォルダの1つに、補助装置251の動作を規定するためのデータが記憶される。
補助装置251の動作を規定するためのデータを受信した補助装置251は、その受信したデータに基づく処理を実行する。その受信されるデータは、ユーザAの感情を基に選択されたものであるが、例えば、ユーザAが緊張している状態であると推測されるときには、その緊張をほぐすような動作(例えば、踊るなど)が、補助装置251で行われるようなデータである。
また、人と対面したと判断されるときには、“こんにちは”といった言葉を発するようなデータであっても良い。さらに、その言葉も、子機12が認識情報取得部81(図5)を有し、親機11の方で、対象者が認識できる構成とされている場合、認識された対象者の評価値により、同じ意味をもつ言葉であっても、異なる言葉(例えば、“お久しぶりでございます”と“久しぶり〜”といったような言葉)で挨拶させるようにするためのデータであっても良い。
次に、親機11を介さずに子機12から補助装置251にデータが送信される際のシステムの動作について、図26のフローチャートを参照して説明する。子機12側の処理は、図25のフローチャートを参照して説明した場合と同様に、ユーザAの生体情報を測定し、その生体情報を送信するといった処理である。ただし、この場合、送信先は補助装置251である。
補助装置251は、ステップS361において、子機12からの生体情報を受信すると、ステップS362において、その受信した生体情報からユーザAの感情を推測する。この処理は、親機11側で、ステップS312(図25)において行われた処理と同様に行われる。なお、感情の推測まで、子機12側で行われ、推測結果が、補助装置251に送信されるようにしても良い。
ステップS363において、推測された感情に基づき、行動が選択される。例えば、ユーザAの感情を表すような行動を、補助装置251が行うようにしても良い。また、推測された感情から算出される評価値に応じた行動が選択されるようにしても良い。または、子機12の認識情報取得部81が、認識用テーブル191を記憶し、その認識用テーブル191に記載されている、対象者に関連付けられた評価値を送信するようにし、その評価値に応じた行動が補助装置251側で選択され、実行されるようにしても良い。
この選択対象とされる行動に関するデータは、補助装置251に、例えば、感情(評価値)と行動が関連付けられた状態で、予め記憶されている。または、補助装置251で規定されている(プログラミングされている)ことを利用することも可能である。行動が選択されると、その選択に応じた処理が、ステップS364において実行される。
補助装置251側で行われるステップS362とステップS363の処理は、図25のフローチャートにおける親機11が、ステップS312とステップS313において行う処理と基本的に同様に行うことが可能である。ここでは補助装置251を設けたが、基本的には補助装置251=親機11とする構成でも良い。
このように、補助装置251は、ユーザAの感情に応じた行動(ユーザAの対象者に対する評価値に応じた行動)をする。この行動自体は、ユーザAに対してでも良いし、対象者に対してでも良い。上述したように、ユーザAが緊張しているような場合には、ユーザAに対する行動として、その緊張をほぐすような行動が実行され、対象者に対面したと判断されるような場合には、対象者に対する行動として、対象者に挨拶するような行動が実行される。
このように、補助装置251が、ユーザの感情を反映したような行動をとることにより、ユーザ同士のコミュニケーションにおいて、1つのコミュニケーション手段を提供することができる。もって、コミュニケーションの向上をはかることが可能となる。
このように、補助装置251は、ユーザの感情を反映したような行動をとらせることができるため、ユーザの分身として行動させることが可能となる。ユーザの分身としての補助装置251同士が、互いにコミュニケーションをとり、その結果として、補助装置251のユーザ同士がコミュニケーションをとることができるようにしても良い。
例えば、コミュニケーションの1例として、補助装置251がペット型のロボットであり、そのペット型のロボットが画像を撮像する機能を有している場合、散歩中に、補助装置251同士が、評価値に応じて画像の交換を行う(親機11と親機21が画像の交換を行う場合と基本的に同様に行われる)といったことが行われる。
このように、本発明を適用することで、ユーザ同士のコミュニケーションをより円滑に行えるようにするための1手段を提供できるようになる。
また、本発明を適用することで、データの交換を必要とする相手(対象者)と、容易にデータの交換を行うことができ、その交換は、ユーザの手を煩わすことなく行うことが可能となる。もって、ユーザがデータの交換を忘れてしまうといったような不都合が発生する可能性を低くすることが可能となる。
上述した実施の形態においては、交換されるデータとして、写真のデータを例に挙げて説明した。しかしながら、本発明を適用して交換されるデータは、写真のデータに限定されるものではなく、画像データ、音声データ、映像データ、テキストデータなど、種々のデータでも良い。
また、仲の良い、従って、評価値の高いユーザ同士のスケジュールが、交換されるデータの対象とされても良い。また、評価値に応じて、ユーザと対象者のデータを同期させるような処理が実行されるようにしても良い。
なお、上述した実施の形態として説明したこと以外に、評価値を利用することも可能である。例えば、評価値毎に、対象者をグループ分けするといったことも可能である。そしてグループ分けのデータを用いて、アドレス帳に記載されているユーザを分類するといったような、予め評価値に依存した処理の対象として設定されていないような他のデータに対しても、何らかの処理を実行するようにしても良い。
[記録媒体について]
上述した一連の処理は、それぞれの機能を有するハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
汎用のパーソナルコンピュータは、例えば、図6に示すような内部構成を有している。記録媒体は、図6に示すように、パーソナルコンピュータ(親機11)とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク121(フレキシブルディスクを含む)、光ディスク122(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク123(MD(Mini-Disc)(登録商標)を含む)、若しくは半導体メモリ124などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記憶されているROM102や記憶部108が含まれるハードディスクなどで構成される。
なお、本明細書において、媒体により提供されるプログラムを記述するステップは、記載された順序に従って、時系列的に行われる処理は勿論、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
11 親機, 12 子機, 21 親機, 41 センサ, 42 制御部, 43 送信部, 61 脈拍センサ, 62 血圧センサ, 63 体温センサ, 64 マイクロフォン, 65 カメラ, 81 認識情報取得部, 101 CPU, 102 ROM, 103 RAM, 106 入力部, 107 出力部, 108 記憶部, 109 通信部, 110 ドライブ, 141 受信部, 142 制御部, 143 感情推測部, 144 評価値設定部, 145 記憶部, 146 データ選択部, 147 送信部, 148 認識部