説明

ユーザ情報処理プログラム、ユーザ情報処理装置、及び、ユーザ情報処理方法

【課題】従来の技術では、ユーザ間の類似度を精度良く算出することができない。
【解決手段】ユーザ情報処理装置1は、ユーザ識別情報と、コンテンツの再生位置を示す位置情報と、位置情報に対応するユーザの状態情報とを関連付けた反応データを読み込んで、位置情報を所定の開始位置と所定の終了位置を持つ各フレームに対応させ、フレームごとに複数のユーザの反応データを集計した反応データ集計値を算出する反応データ集計手段18と、1つ以上のフレームをグループ化してブロック情報を生成するブロック情報生成手段19と、反応データの位置情報をブロックに対応させて、ユーザ識別情報ごとに、ブロックごとに複数の反応データを集約した集約データを計算する集約データ計算手段12と、一のユーザ及び他のユーザの集約データを用いて、一のユーザと他のユーザとの類似度を計算する類似度計算手段13と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンテンツに係るユーザの反応情報を処理する技術に関するものであり、特にコンテンツに対する興味の似たユーザ同士を特定する技術に関するものである。
【背景技術】
【0002】
近年、コンピュータ技術やネットワーク技術の進展を背景に、大量のコンテンツが制作され、流通している。また、ネットワークを介したユーザ間のコミュニケーションも盛んになっている。このためユーザの所望のコンテンツを検索する技術や、ユーザ間のコミュニケーションを促進する技術へのニーズが高まっている。コンテンツに対するユーザの興味や嗜好を把握するために、コンテンツに対するユーザの反応情報を収集することは有効であり、このような技術が開発されている。
【0003】
例えば特許文献1には、コンテンツ再生中のユーザの表情、視線パターン、目の瞳孔直径、瞬き、体温、心拍数などの情報を計測し、それらのセンシングデータを収集するシステムが開示されている。
【0004】
特許文献2には、コンテンツ視聴中のユーザの顔画像などから感情データを生成するシステムが開示されている。また特許文献2には、そのような感情データを使ってユーザ同士のマッチングを行う技術も開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−142975号公報
【特許文献2】特開2007−36874号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、コンテンツに対するユーザの反応や、ユーザが抱く感情は、一般的には人によってそれぞれ異なる。例えば、同じ映画の同じシーンを見たとしても、あるユーザは、「楽しい」と感じ、別のユーザは「腹立たしい」と感じることがある。このような反応の違いは、ユーザの興味や価値観の違いに基づいて生じることが多い。すなわち、コンテンツ再生時にユーザが無意識で示す反応や、ユーザが自然に抱く感情には、そのユーザの個性(興味、嗜好、センス、考え方、価値観など)が顕著に現れるものであり、コンテンツ再生時のユーザの反応情報を収集して分析することにより、ユーザの個性を的確に捕えることが可能になる。ユーザの個性を的確に把握できれば、これを基にして、ユーザ同士のマッチングを精度良く行うことができる。このためには、複数のユーザの反応情報を収集して分析する必要がある。
【0007】
上記の特許文献1では、複数のユーザの反応情報を収集しているが、それらの活用方法は必ずしも十分には考慮されていなかった。特に、複数のユーザ間の違いを利用した処理は行われていなかった。
【0008】
上記の特許文献2では、コンテンツ再生時のユーザの反応情報を使って、ユーザ同士のマッチングの程度(類似度)を算出している。しかしながら、十分な精度で類似度を算出できない場合があった。また、サンプルの取り方によっては、必要以上に処理量が多くなる場合があった。
【0009】
そこで本発明は、コンテンツ再生時のユーザの反応情報を用いて、ユーザ間の類似度を精度良く算出することを目的とする。また、ユーザ間の類似度を効率よく算出することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明のユーザ情報処理プログラムは、コンピュータを、ユーザを識別するためのユーザ識別情報と、コンテンツの再生位置を示す位置情報と、その位置情報に対応する前記ユーザの状態情報とを関連付けた反応データを読み込んで、前記位置情報を所定の開始位置と所定の終了位置を持つ各フレームに対応させると共に、前記フレームごとに複数のユーザの前記反応データを集計した反応データ集計値を算出する反応データ集計手段、前記反応データ集計値の分布情報を用いて、1つ以上の前記フレームをグループ化し、各グループの先頭のフレームの前記開始位置と末尾のフレーム前記終了位置との間にある前記位置情報を同一のブロックに対応させるためのブロック情報を生成するブロック情報生成手段、前記ブロック情報に基づいて、前記反応データの前記位置情報をブロックに対応させて、前記ユーザ識別情報ごとに、前記ブロックごとに複数の前記反応データを集約した集約データを計算する集約データ計算手段、一のユーザの前記集約データと、他のユーザの前記集約データとを用いて、一のユーザと他のユーザとの類似度を計算する類似度計算手段、として機能させる。
【0011】
本発明のユーザ情報処理装置は、ユーザを識別するためのユーザ識別情報と、コンテンツの再生位置を示す位置情報と、その位置情報に対応する前記ユーザの状態情報とを関連付けた反応データを読み込んで、前記位置情報を所定の開始位置と所定の終了位置を持つ各フレームに対応させると共に、前記フレームごとに複数のユーザの前記反応データを集計した反応データ集計値を算出する反応データ集計手段と、前記反応データ集計値の分布情報を用いて、1つ以上の前記フレームをグループ化し、各グループの先頭のフレームの前記開始位置と末尾のフレーム前記終了位置との間にある前記位置情報を同一のブロックに対応させるためのブロック情報を生成するブロック情報生成手段と、前記ブロック情報に基づいて、前記反応データの前記位置情報をブロックに対応させて、前記ユーザ識別情報ごとに、前記ブロックごとに複数の前記反応データを集約した集約データを計算する集約データ計算手段と、一のユーザの前記集約データと、他のユーザの前記集約データとを用いて、一のユーザと他のユーザとの類似度を計算する類似度計算手段と、を有する。
【0012】
本発明のユーザ情報処理方法は、ユーザを識別するためのユーザ識別情報と、コンテンツの再生位置を示す位置情報と、その位置情報に対応する前記ユーザの状態情報とを関連付けた反応データを読み込んで、前記位置情報を所定の開始位置と所定の終了位置を持つ各フレームに対応させると共に、前記フレームごとに複数のユーザの前記反応データを集計した反応データ集計値を算出するステップと、前記反応データ集計値の分布情報を用いて、1つ以上の前記フレームをグループ化し、各グループの先頭のフレームの前記開始位置と末尾のフレーム前記終了位置との間にある前記位置情報を同一のブロックに対応させるためのブロック情報を生成するステップと、前記ブロック情報に基づいて、前記反応データの前記位置情報をブロックに対応させて、前記ユーザ識別情報ごとに、前記ブロックごとに複数の前記反応データを集約した集約データを計算するステップと、一のユーザの前記集約データと、他のユーザの前記集約データとを用いて、一のユーザと他のユーザとの類似度を計算するステップと、を含む。
【発明の効果】
【0013】
本発明のユーザ情報処理プログラム、ユーザ情報処理装置、及び、ユーザ情報処理方法によれば、コンテンツ再生に係るユーザの状態を利用して、ユーザ間の類似度を精度良く、かつ少ない処理量で効率的に計算することができる。このため他のユーザの情報を希望する一のユーザに対して、類似するユーザの情報を十分な精度で選択して提供することが出来る。
【0014】
また、コンテンツの再生位置をブロックに対応させるためのブロック情報をあらかじめ準備しておく必要がないため、どのようなコンテンツもユーザ間類似度の計算に利用することが可能になる。
【図面の簡単な説明】
【0015】
【図1】本発明の実施例1におけるシステム全体の構成を示す図である。
【図2】本発明の各実施例おける再生装置の構成を示す図である。
【図3】本発明の各実施例における再生装置の動作を説明するためのフローチャートである。
【図4】本発明の各実施例におけるユーザ反応データのデータ形式を示す図である。
【図5】本発明の各実施例におけるユーザ反応データの作成処理を説明するためのフローチャートである。
【図6】本発明の各実施例におけるユーザ反応データの補正処理を説明するための図である。
【図7】本発明の各実施例におけるユーザ情報処理装置の構成を示す図である。
【図8】本発明の各実施例におけるユーザ反応データの変化の様子を示す模式図である。
【図9】本発明の各実施例における反応データ集計値の算出方法を説明するための模式図である。
【図10】本発明の各実施例における反応データ集計値の算出方法を説明するための模式図である。
【図11】本発明の各実施例におけるブロック情報の生成方法を説明するための模式図である。
【図12】本発明の各実施例におけるブロック情報の生成方法を説明するための模式図である。
【図13】本発明の各実施例におけるブロック情報の生成方法を説明するための模式図である。
【図14】本発明の各実施例におけるブロック情報の生成方法を説明するための模式図である。
【図15】本発明の各実施例におけるブロック情報の生成方法を説明するための模式図である。
【図16】本発明の各実施例におけるブロック情報の生成方法を説明するための模式図である。
【図17】本発明の各実施例におけるブロック情報の生成方法を説明するための模式図である。
【図18】本発明の各実施例におけるブロック情報のデータ形式を説明する図である。
【図19】本発明の各実施例における集約データ計算手段の動作を説明するためのフローチャートである。
【図20】本発明の各実施例における集約データ計算手段の集約データ格納部のデータ形式を説明する図である。
【図21】本発明の各実施例における類似度計算手段の動作を説明するためのフローチャートである。
【図22】本発明の実施例2におけるシステム全体の構成を示す図である。
【発明を実施するための形態】
【実施例1】
【0016】
本発明の実施例1におけるシステム全体の構成を図1に示す。ユーザ情報処理装置1と、1つ以上の再生装置2(2a〜2n)がネットワーク3を介して接続されている。図1ではユーザ情報処理装置1は1つであるが、複数のユーザ情報処理装置1(1a〜1n)を用意し、各々のユーザ情報処理装置1の間で、データ交換を行って処理をするようにしてもよい。
【0017】
次に、再生装置2の構成を図2に示す。再生装置2は、コンテンツを再生するコンテンツ再生手段21と、ユーザの状態を認識するユーザ状態認識手段22と、コンテンツ再生位置とユーザ状態とを関連付けたユーザ反応データを作成するユーザ反応データ作成手段23と、ユーザ情報処理装置1との間でデータの送受信を行う送受信手段24と、再生装置2全体の制御を行う制御手段25と、ユーザ属性データを格納するユーザ属性格納手段26と、により構成されている。また再生装置2には、表示装置27、スピーカ等の音声出力装置28、キーボード、マウス、トラックボール、リモコン等の入力装置29、ユーザの状態を認識するためのセンサ装置30が接続されている。
【0018】
再生装置2は、CPU、RAM、ROM、ハードディスクドライブ、ネットワークインタフェース等を備える一般的なコンピュータを用いて、ソフトウェア(プログラム)処理を実行する形態により実現することも可能である。
【0019】
再生装置2の動作を図3のフローチャートを用いて説明する。
【0020】
まずステップS100では、制御手段25がユーザの認証を行なう。再生装置2を使用するユーザには、ユーザ情報処理装置1でユーザを一意に識別可能なユーザ識別情報(ユーザID)があらかじめ割当られている。ユーザはあらかじめ登録されたユーザID、パスワードを入力装置29を用いて再生装置2に入力し、この情報を用いて制御手段25はユーザを認証する。
【0021】
ただし、ユーザ情報処理装置1において、ユーザを識別する処理を行なわず、再生装置2を識別する処理を行なう場合には、ステップS100のユーザ認証処理を省略する。また後述するように、ユーザ状態認識手段22においてユーザの個人識別を行なう場合にもステップS100を省略してよい。
【0022】
次にステップS110では、入力装置29を介したユーザの指示に従って、コンテンツ再生手段21が、コンテンツを再生する。本実施例におけるコンテンツは、動画、音声、音楽等の時間情報を伴うコンテンツである。コンテンツは再生装置2に格納されていてもよいし、ネットワーク3を介して外部から供給されてもよい。また放送受信手段(図示せず)を用いて放送コンテンツを受信してもよい。またコンテンツが格納されたディスク、可搬型メモリ等をメディアドライブ装置(図示せず)に装着し、メディアドライブ装置を介してコンテンツを読み取るようにしてもよい。
【0023】
次にステップS120では、ユーザ状態認識手段22が、センサ装置30の出力を用いて、コンテンツ再生中(視聴中)のユーザの状態を認識する。
【0024】
センサ装置30は、ユーザの状態を検知し、ユーザに係る信号/データを出力する。出力する信号/データは、ユーザの顔を撮影した画像データ、ユーザの発する音声の音声データ、表示装置27または音声出力装置28とユーザとの間の距離データ、ユーザの姿勢に関するデータ、心拍数、血圧などの生体データなどである。またセンサ装置30は、上記の内の一部(例えば、ユーザの発する音声のみ)を検知し出力するようにしてもよい。
【0025】
ユーザ状態認識手段22が認識するユーザの感情等の状態は、1種類または複数種類である。
【0026】
1種類の状態を認識する場合、例えば、ユーザのコンテンツに対する注目度を認識する。例えば、ユーザの顔画像から視線方向を検出し、それが表示装置27に向いている場合は、注目度が高い、そうでない場合は注目度が低いと認識する。また、ユーザの発する音声の音声データからユーザの声の大きさや興奮の程度を認識し、それを注目度としてもよい。ユーザの音声を利用する方法は、スポーツ・コンテンツやお笑い系コンテンツなどで特に有効である。また、表示装置27または音声出力装置28とユーザとの距離が近ければ注目度が高い、距離が遠ければ注目度が低いと認識してもよい。また、心拍数や血圧が上昇する場合に注目度が高いとしてもよい。また、机、椅子、床などにかかるユーザの体重分布を計測し、表示装置27または音声出力装置28に近い側に体重がかかっている場合に注目度が高く、そうでない場合に注目度が低いと認識してもよい。
【0027】
また1種類の状態を認識する別の例として、ユーザの「笑い」を認識するようにしてもよい。ユーザの「笑い」を認識する方法として、公知の技術を用いることができる。例えば、ユーザの顔画像から「笑い」の表情を認識する場合、特開2004−46591号公報に記載の技術を用いることができる。また、音声から笑い等の感情を認識する場合、特開平9−206291号公報に記載の技術を用いることができる。
【0028】
複数種類の状態を認識する場合、「喜び/笑い」、「怒り/不満」、「悲しみ」、「平常」、「無関心」など複数種類の状態を認識する。センサ装置30の出力である画像、音声、生体情報などから、このようなユーザの状態を認識するために公知の技術を用いることができる。また、音声認識技術を用いて、ユーザが発する特定の単語やフレーズを認識してもよい。例えば、「へぇー」、「面白い」、「いいね」、「ちょ〜うける」、「ふざけるな」、「くだらない」、「またかよ」等の単語やフレーズである。また、ユーザの舌打ちや涙などを認識するようにしてもよい。更に、センサ装置30の出力する音声データを用いてユーザの状態を認識する場合、音声出力装置28で発生させたコンテンツ再生音の成分をキャンセルする処理を行なって、センサ装置30の出力を利用するようにしてもよい。このようにすると、ユーザの音声をより精度良く認識できる。
【0029】
1台の再生装置2を使って、同時に複数のユーザがコンテンツを視聴する場合の処理としては、以下の方法を用いることができる。
【0030】
第1の方法は、ユーザ状態認識手段22で、ユーザの個人識別を行なった上で、個々のユーザ毎に状態を認識する方法である。例えば、ユーザの顔画像や音声データを使って個人識別を行なう。この場合はステップS100のユーザ認証処理は省略できる。
【0031】
第2の方法は、個人識別を行なわず、複数のユーザの状態を合わせて、ステップS100で認証した1人のユーザの状態として扱う方法である。例えば、「ユーザA」と「ユーザB」の2人が視聴していて、「再生位置=5分」で「ユーザA」が笑い、「再生位置=10分」で「ユーザB」が「ふざけるな」、「くだらない」等の不満を表した場合、1人のユーザが「再生位置=5分」で笑い、「再生位置=10分」で不満を表したとして処理する。
【0032】
またユーザ状態認識手段22は、コンテンツ再生時のユーザの状態を認識するだけでなく、コンテンツ再生前およびコンテンツ再生後のユーザの状態を認識して、ユーザ反応データ作成手段23における処理で利用するようにしてもよい。
【0033】
再生装置2の別の一例として、センサ装置30を使用しない構成を用いてもよい。この場合、制御手段25が、コンテンツ再生中にユーザの感情に関する選択肢を表示装置27に表示し、入力装置29を介してユーザからの反応を取得し、その情報をユーザ状態認識手段22に転送する。例えば、「面白い」、「腹立たしい」、「悲しい」、などの選択肢が表示装置27に表示され、入力装置29を用いて、ユーザがその中からその時の自分の気持ちに近いものを選ぶと、それがユーザ状態認識手段22に伝えられる。
【0034】
更に別の一例として、コンテンツ再生に係るユーザ操作情報を用いてユーザ状態を認識してもよい。すなわち、ユーザが入力装置29を用いて入力する、「再生開始」、「再生停止」、「一時停止」、「巻き戻し」、「早送り」、「チャネル切換え」、「音量変更」などの操作情報を制御手段25が収集し、ユーザ状態認識手段22に転送する。ユーザ状態認識手段22は、これらの情報をもとに注目度を判定する。例えば、「巻き戻し」操作を行なって、コンテンツの同じ位置を繰り返し再生した場合は、その再生位置の注目度が高いと判定する。また、「早送り」操作を行なった箇所は、注目度が低いと判定する。
【0035】
次にステップS130では、ユーザ反応データ作成手段23が、コンテンツ再生位置とユーザ状態とを関連付けたユーザ反応データ(ユーザ履歴)を作成する。コンテンツ再生位置は通常、コンテンツ先頭からの相対時間で表す。ただし、放送日時が決まっているテレビ番組やネットのライブ配信などのコンテンツでは、受信日時を再生位置として用いてもよい。
【0036】
ユーザ反応データの形式を図4に示す。
【0037】
図4(A)は、再生装置2を使用するユーザが1人であり、1種類の状態を認識する場合のユーザ反応データの形式の一例を示す図である。ユーザIDと、認識するユーザ状態の種類と、コンテンツIDと再生位置と反応度合いとを対応させたテーブルが記録されている。コンテンツIDは、ユーザ情報処理装置1でコンテンツを一意に識別可能な数値または文字列であり、コンテンツ制作者や販売事業者によってあらかじめ付与されている場合はそれを用いればよい。そうでない場合は、コンテンツのタイトル等を用いてコンテンツIDを生成する。放送番組であれば、放送局名、放送日時等を組み合わせてコンテンツIDを生成してもよい。再生位置はそのコンテンツの先頭からの経過時間を「時間:分:秒」の形式で表したものであり、例えば「00:03:10」は、先頭から「3分10秒」を表している。この例では、一定の時間間隔(10秒)ごとの反応度合いを記録している。記録する時間間隔は、もちろん10秒とは異なった間隔、例えば1秒や5秒であってもよい。反応度合いは、最小「0.0」、最大「1.0」の数値であり、数値が大きいほど、その状態(感情等)の程度が強いことを示している。例えば、音声で「笑い」を認識する場合、笑い声の大きさにより反応度合いを算出する。なお、ユーザ情報処理装置1でユーザを識別する処理を行なわずに、再生装置2を識別する処理を行なう場合は、ユーザIDの代わりに再生装置2を識別する再生装置IDを含めてユーザ反応データを作成する。
【0038】
図4(B)は、同様に再生装置2を使用するユーザが1人であり、1種類の状態を認識する場合のユーザ反応データの形式の別の一例を示す図である。ユーザIDと、認識対象の状態と、コンテンツIDと再生位置を対応させたテーブルが記録されている。この例では、再生装置2を使用するユーザのユーザIDが「U5510」であり、ユーザの「注目度」を認識していることを示している。図4(B)では、ユーザの反応度合いが所定値以上の箇所のみを記録しており、反応度合いそのものは省略している。すなわち、再生位置が記録されている箇所で、ユーザの注目度が高いことを示している。この例では、「C001」コンテンツに対して、「3分10秒」と「5分21秒」の2カ所でユーザの注目度が高まったことになる。なお、一般的にはユーザの注目度が高い状態はある程度の時間持続するが、この例では、注目度が高い状態の最初の再生位置(時間)を記録している。その時間から一定の時間が経過して再び注目度が高くなった再生位置をテーブルの次の行に追加している。図4(B)の形式により、ユーザ反応データのデータ容量を少なくして、効率的に処理することが可能である。
【0039】
図4(C)は、再生装置2を複数のユーザが利用し、ユーザの複数種類の状態(感情等)を認識する場合の例である。ユーザIDと、コンテンツIDと、再生位置と、ユーザ状態の種類とを関連付けて記録する。この例のテーブルの1行目では、「C002」のコンテンツの再生位置「4分26秒」でユーザ「U5510」の「笑い」を認識したことを示している。図4(C)では、反応度合いが反応の種類に応じて決められた所定値以上の箇所のみのデータを作成し、反応度合いはデータに含めずに省略している。
【0040】
ユーザ反応データの別の一例を図4(D)に示す。図4(C)との違いは、状態の先頭再生位置に加えて、状態の末尾再生位置を記録していることと、反応度合いを記録している点である。反応の先頭再生位置は、その状態が最初に認識された再生位置である。反応の末尾再生位置は、同一の状態と見なせる最後の再生位置である。なお一般的には、状態の先頭から状態の末尾までの間で、反応度合いは変化するが、その区間の平均値、または最大値を記録すればよい。
【0041】
図4(A)〜(D)に示した形式はあくまでも一例であり、この他にも例えば、図4(A)と同様に一定の時間間隔で、ユーザIDと、コンテンツIDと、ユーザ状態の種類と、反応度合いとを関連付けて記録するようにしてもよい。
【0042】
以上の説明では、コンテンツ再生中のユーザの状態を認識するものとしたが、更にコンテンツの再生前、またはコンテンツ再生後のユーザの状態を認識してユーザ反応データを作成するようにしてもよい。コンテンツ再生中にユーザが同じように笑った場合でも、コンテンツ再生前にユーザが怒ったり、悲しんでいた場合は、コンテンツ再生前に既にユーザが笑っていた場合よりも、笑いの度合いを大きくする、といった処理を行なう。コンテンツ再生前のユーザの状態種類と、コンテンツ再生後の最初のユーザ状態の種類が正反対である場合には、コンテンツ再生後の最初のユーザの状態の反応の度合いを強くする。また、コンテンツ再生中の最後の状態と、コンテンツ再生後の状態が同じであり、コンテンツ再生後の状態が長時間持続する場合には、コンテンツ再生中の最後の状態の反応の度合いを強くする。
【0043】
このような処理を行なう場合のユーザ反応データ作成の処理を図5のフローチャートで説明する。
【0044】
まずステップS200では、ユーザ状態認識手段22が、コンテンツ再生前に所定の時間ユーザ状態を認識し、結果を保持しておく。
【0045】
次にステップS210では、ユーザ状態認識手段22が、コンテンツ再生中のユーザ状態を認識し、結果を保持しておく。
【0046】
次にステップS220では、ユーザ状態認識手段22が、コンテンツ再生後も引き続き所定の時間ユーザ状態を認識し、結果を保持しておく。
【0047】
次にステップS230では、コンテンツ再生後に所定の時間が経過した後に、ユーザ反応データ作成手段23が、補正前のユーザ反応データを作成する。
【0048】
次にステップS240では、ユーザ反応データ作成手段23が、補正前のユーザ反応データを対象として、コンテンツ再生中のデータの中に、再生前と同じ種類のデータが存在するか否か判定する。「YES」であれば、該当データをマークしてステップS250に進み、「NO」であればステップS260に進む。なお、この際に、再生前にある状態が認識された時間(マイナスの再生位置)、あるいは再生開始の時間から所定時間(例えば10分)以内のデータを処理対象にしてもよい。
【0049】
ステップS250では、ユーザ反応データ作成手段23が、ステップS240でマークされたデータを対象にして、反応度合いの数値を減少させる。コンテンツ再生前から同じ種類の状態(感情等)であれば、そのコンテンツの影響力は実際には、補正前の数値として現れたものより小さいためである。反応度合いの変更の方法としてはいくつかの方法がある。
【0050】
第1の方法は、補正前の数値に「1」より小さい係数を乗算する方法である。例えば、係数が「0.8」で、補正前の数値が「0.5」である場合、補正後の数値は「0.4」となる。
【0051】
第2の方法は、補正前の数値から所定値を減算する方法である。
【0052】
第3の方法は、再生前の数値に所定係数を乗算した値を、補正前の反応度合いから減算する方法である。例えば、再生前の数値が「0.5」であり、所定係数が「0.2」で、補正前の反応度合いが「0.7」である場合、「0.7−0.5×0.2=0.6」となり、補正後の数値は「0.6」となる。
【0053】
次にS260では、ユーザ反応データ作成手段23が、補正前のユーザ反応データを対象として、コンテンツ中のデータの中に、再生前と異なる種類のデータが存在するか否か判定する。「YES」であれば、該当データをマークしてステップS270に進み、「NO」であればステップS280に進む。なお、この際に、再生前にある状態が認識された時間(マイナスの再生位置)、あるいは再生開始の時間から所定時間(例えば10分)以内のデータを処理対象にしてもよい。
【0054】
ステップS270では、ユーザ反応データ作成手段23が、ステップS260でマークされたデータを対象にして、反応度合いの数値を増加させる。コンテンツ再生前とは異なる種類の状態(感情等)であれば、そのコンテンツの影響力は実際には、補正前の数値として現れたものより大きいためである。反応度合いの変更の方法としてはいくつかの方法がある。
【0055】
第1の方法は、補正前の数値に「1」より大きい係数を乗算する方法である。例えば、係数が「1.2」で、補正前の数値が「0.5」である場合、補正後の数値は「0.6」となる。
【0056】
第2の方法は、補正前の数値に所定値を加算する方法である。
【0057】
第3の方法は、再生前の数値に所定係数を乗算した値を、補正前の反応度合いに加算する方法である。例えば、再生前の数値が「0.5」であり、所定係数が「0.2」で、補正前の反応度合いが「0.7」である場合、「0.7+0.5×0.2=0.8」となり、補正後の数値は「0.8」となる。
【0058】
また、これら第1〜第3の方法において、再生前のユーザ状態の種類と、再生中のユーザ状態の種類の組合せに応じて、加算値や、乗算の係数を適宜変えるようにしてもよい。例えば、再生前に「リラックス」で、再生中に「笑い」の場合より、再生前に「怒り」で、再生中に「笑い」の場合の方が、2つの状態の性質の違いが大きいので、後者の加算値や乗算係数をより大きなものにしてもよい。
【0059】
次にS280では、ユーザ反応データ作成手段23が、補正前のユーザ反応データを対象として、コンテンツ再生中のデータの中に、再生後と同じ種類のデータが存在するか否か判定する。「YES」であれば、該当データをマークしてステップS290に進み、「NO」であればステップS300に進む。なお、この際に、再生後にある状態が認識された時間、あるいは再生終了の時間より所定時間(例えば10分)だけ前の範囲にあるデータを処理対象にしてもよい。
【0060】
ステップS290では、ユーザ反応データ作成手段23が、ステップS280でマークされたデータを対象にして、反応度合いの数値を増加させる。
【0061】
次にステップS300では、補正前のユーザ反応データから、コンテンツ再生前および再生後のデータを削除する。
【0062】
以上の処理により、補正後のユーザ反応データが作成される。補正後のデータは、コンテンツに対するユーザの反応をより精度良く表したものである。補正前と補正後のユーザ反応データの一例を図6に示す。
【0063】
図6(A)は、ステップS230で作成された、補正前のユーザ反応データを示している。図6(A)の1行目では、状態の先頭再生位置および状態の末尾再生位置の値がマイナスとなっている。これはコンテンツ再生前という意味である。例えば「−00:02:20」は、コンテンツ再生の2分20秒前の時間を示している。また5行目の再生位置の値には「#(シャープ)」記号が付加されているが、これはコンテンツ再生終了後の時間の意味である。例えば、「#00:05:20」はコンテンツの再生が終了してから5分20秒後の時間を示している。
【0064】
図6(B)は、補正後のユーザ反応データを示している。補正後のユーザ反応データからは、コンテンツ再生前およびコンテンツ再生後の行は削除されている。補正後の1行目は、補正前の2行目に対応するが、反応度合いが「0.80」から「0.64」に減少している。これは、補正前の1行目に示したように、コンテンツ再生前に同じ「笑い」のデータが存在した為である。また、補正後の3行目は、補正前の4行目に対応するが、反応度合いが「0.73」から「0.85」に増加している。これは、補正前の5行目に示したように、コンテンツ再生後にも同じ「悲しみ」という状態が持続している為である。また、補正後の4行目は、補正前の7行目に対応するが、反応度合いが「0.8」から「1.0」に増加している。これは、補正前の6行目に示したように、コンテンツ再生前の状態が「怒り」であり、これと性質の異なる状態(「笑い」)がコンテンツ再生中に認識された為である。このような補正処理を行なう場合には、補正後のデータをユーザ反応データとして利用する。
【0065】
以上がステップS130およびユーザ反応データ作成手段23の詳細な説明である。
【0066】
図3のフローチャートの説明に戻ると、次にステップS140において、制御手段25が、ステップS130で作成されたユーザ反応データと、ユーザ属性格納手段26に格納されているユーザ属性データを送受信手段24を介してユーザ情報処理装置1に送信する。ユーザ属性格納手段26には、ユーザIDと対応させて、他のユーザに自己紹介するための情報、および他のユーザがコンタクトをとるための情報が格納されている。例えば、ユーザの年齢、性別、血液型、星座、容姿に関する情報、趣味、好きなアーティスト、住所、電話番号、メールアドレス等であるが、これらに限定される訳ではない。また、紹介を希望する他のユーザに関する条件、例えば、年齢層、性別、血液型、星座、容姿、趣味、好きなアーティスト、地域などの情報を合わせて格納し、ユーザ属性データとしてユーザ情報処理装置1に送信してもよい。
【0067】
以上が再生装置2の動作の説明である。
【0068】
次にユーザ情報処理装置1について説明する。ユーザ情報処理装置1の構成を図7に示す。再生装置2で作成されたユーザ反応データを格納するユーザ反応データ格納手段11と、集約データ計算手段12と、類似度計算手段13と、再生装置2との間でデータの送受信を行なう送受信手段14と、ユーザ情報処理装置1全体の制御を行なう制御手段15と、ユーザ属性データを格納するユーザ属性格納手段16と、反応データ集計手段18と、ブロック情報生成手段19と、により構成されている。またユーザ情報処理装置1には、表示装置41、キーボード、マウス、トラックボール、リモコン等の入力装置42が接続されている。
【0069】
ユーザ情報処理装置1は、CPU、RAM、ROM、ハードディスクドライブ、ネットワークインタフェース等を備える一般的なコンピュータを用いて、ソフトウェア(プログラム)処理を実行する形態により実現することも可能である。
【0070】
ユーザ属性格納手段16は、送受信手段14を介して、各々の再生装置2(2a〜2n)からユーザ属性データを受信し、それを格納する。ユーザ属性データには、ユーザIDと他のユーザに自己紹介するための情報、および他のユーザがコンタクトをとるための情報が含まれている。さらに上述したように、紹介希望の相手の条件に関する情報を含んでいてもよい。
【0071】
ユーザ反応データ格納手段11は、送受信手段14を介して、各々の再生装置2(2a〜2n)からユーザ反応データを受信し、それを格納する。図4に示したように、ユーザ反応データは、いくつかの形式を取り得るが、ユーザ反応データ格納手段11は、それら全てに対応している。以下では、ユーザ反応データが図4(D)の形式である場合を主に説明するが、他の形式の場合についても同様である。
【0072】
制御手段15は、ユーザ反応データがユーザ反応データ格納手段11に格納された後に、反応データ集計手段18に対して、動作開始の指示を与える。
【0073】
反応データ集計手段18は、ユーザ反応データ格納手段11に格納されている複数のユーザのユーザ反応データを用いて、ユーザ状態の種類ごとに反応データ集計値を算出する。反応データ集計手段18は、ユーザ反応データにおける位置情報(コンテンツの再生位置)を所定の時間幅を持つフレームに対応させて処理を行う。図8の例は、あるコンテンツに対する、あるユーザ状態の種類(例えば「笑い」)のユーザ反応データの様子を2人のユーザについて示したものである。グラフの横軸は再生位置であり、再生位置の1秒ごとにフレームが対応している。すなわち、0〜1秒の再生位置がフレーム1、1〜2秒再生位置がフレーム2、2〜3秒の再生位置がフレーム3、というように対応している。フレームの長さはもちろん1秒に限定される訳ではなく、他の長さを用いてもよい。また、全てのフレームの長さが必ずしも同じでなくてもよい。グラフの縦軸は、反応度合いを示している。
【0074】
ユーザAは、2秒〜7秒の間で、ある種類の反応を示しており、反応の強さは、その区間一定で「0.2」である。ユーザBは、4秒から8.5秒まで同じ種類の反応を示している。4〜6秒の間は直線的に反応度合いが強まり、6秒〜8.5秒で最も反応度合いが強く、「0.4」となっている。
【0075】
反応データ集計手段18における反応データ集計値の算出方法として、以下の方法を用いることができる。
【0076】
集計値算出の第1の方法は、反応を示したユーザ数をフレームごとに集計する方法である。図8の例で示したユーザ反応データに対しては、図9に示すような反応データ集計値を算出する。図9において、フレーム1〜2の集計値は、反応を示したユーザが1人もいないため「0」、フレーム3〜4の集計値は、ユーザAのみ反応したので「1」、フレーム5〜8の集計値は、ユーザAとユーザBが反応したので「2」となる。またフレーム9(再生位置8〜9秒)では、ユーザBが反応しているが、フレーム時間幅の1秒ではなく、0.5秒しか反応していないので、フレーム時間幅に対する反応時間の割合である「0.5」を集計値としている。また、図9の例では、反応度合いの値に関わらず、「0」を超える反応度合いを全て「反応有り」として処理しているが、反応度合いが所定のしきい値以上である場合のみ「反応有り」とみなしてもよい。例えば、しきい値として「0.1」を用いてもよい。第1の方法は簡便な方法であり、処理量が少なくて済む。
【0077】
集計値算出の第2の方法は、反応度合いの値をフレームごとに加算して集計する方法である。図8の例で示したユーザ反応データに対しては、図10に示すような反応データ集計値を算出する。図10において、フレーム1〜2の集計値は、どのユーザの反応も存在しないため「0」、フレーム3〜4の集計値は、ユーザAの反応度合い「0.2」がそのまま集計値となる。フレーム5の区間(4〜5秒)において、ユーザBの反応度合いは変化しているが、この区間のユーザBの反応度合いの平均値は「0.1」であるため、この値とユーザAの反応度合い「0.2」を加算した値「0.3」が集計値となる。フレーム6においても、ユーザBの反応度合いの平均値が「0.3」になるため、ユーザAの反応度合い「0.2」を加算した値「0.5」が集計値となる。このように、フレーム区間の途中で反応度合いが変化している場合は、反応度合いの平均値(図8のグラフ上の面積に相当)を用いればよい。フレーム7では、ユーザAの「0.2」とユーザBの「0.4」を加算した値「0.6」が集計値となる。フレーム8では、ユーザBしか反応していないので、「0.4」となる。フレーム9では、ユーザBが反応しているが、フレーム時間幅の1秒ではなく、0.5秒しか反応していないので、フレーム時間幅に対する反応時間の割合「0.5」を反応度合い「0.4」に乗じた値「0.2」を集計値としている。このように、フレーム区間の一部しか反応していない場合は、その時間割合を反応度合いに乗じた値を用いればよい。この値は、図8においてフレーム区間におけるグラフの面積に相当する。
【0078】
反応データ集計手段18は、以上のように反応データ集計値を算出した後に、制御手段15に対して処理終了を通知する。
【0079】
制御手段15は、反応データ集計手段18からの通知を受けると、ブロック情報生成手段19に対して、動作開始の指示を与える。
【0080】
ブロック情報生成手段19は、反応データ集計手段18で算出された反応データ集計値を用いて、コンテンツの再生位置をブロックに対応させるためのブロック情報をユーザ状態の種類ごとに生成する。本実施例においてブロックとは、1つ以上のフレームをグループ化したものであり、ユーザ反応データにおいて、再生位置が多少異なるデータでも同じ再生位置のデータとして扱うために用いる。本実施例では、ブロックは1つ以上のフレームにより構成される。
【0081】
ブロック情報は、以下に説明する方法により生成される。
【0082】
ブロック情報生成の第1の方法は、反応データ集計値が所定値以下になる箇所を分割点として、その前のフレームと後のフレームが別々のブロックになるようにブロックを生成する方法である。図11は、この方法を説明するための模式図である。図10と同様にフレームの時間幅を1秒とした例である。図11の点線は、所定のしきい値を示しており、反応データ集計値がこれ以下のフレームをブロックの分割点とする。再生位置0〜2秒に対応するフレーム1〜2と、再生位置6〜8秒に対応するフレーム7〜8と、再生位置10〜11秒に対応するフレーム11が、ブロックの分割点となる。そして、分割点の前後のフレームが別々のブロックに属するようにブロックを生成する。この例では、フレーム3〜6(再生位置2〜6秒)がブロック1、フレーム9〜10(再生位置8〜10秒)がブロック2、フレーム12(再生位置11〜12秒)がブロック3に対応する。なお、しきい値として「0」を用いてもよい。また図の例では、分割箇所のフレームは、どのブロックにも対応していないが、いずれかのブロックに対応させるようにしてもよい。例えば、分割箇所のフレームをその直前のブロックに対応させるようにして、フレーム7〜8をブロック1に含ませてもよい。
【0083】
ブロック情報生成の第2の方法は、反応データ集計値が所定値以下になるフレームが所定個数以上連続する箇所を分割点として、その前のフレームと後のフレームが別々のブロックになるようにブロックを生成する方法である。図12は、この方法を説明するための模式図である。図12の点線は、所定のしきい値を示しており、反応データ集計値がこれ以下のフレームが2個以上連続している箇所をブロックの分割点とする。再生位置0〜2秒に対応するフレーム1〜2と、再生位置6〜8秒に対応するフレーム7〜8は、ブロックの分割点になるが、再生位置10〜11秒に対応するフレーム11は、ブロックの分割点にはならない。そして、分割点の前後のフレームが別々のブロックに属するようにブロックを生成する。この例では、フレーム3〜6(再生位置2〜6秒)がブロック1、フレーム9〜12(再生位置8〜12秒)がブロック2に対応する。なお、しきい値として「0」を用いてもよい。
【0084】
ブロック情報生成の第3の方法は、反応データ集計値が極小となる箇所を検出し、それを分割点として、その前のフレームと後のフレームが別々のブロックになるようにブロックを生成する方法である。図13は、この方法を説明するための模式図である。フレームkが極小フレームか否かを判定するには、フレームkの反応データ集計値をS[k]として、(S[k−1]≧S[k]∩S[k+1]≧S[k])という条件を満たすかを判定し、条件を満たせば極小フレームとする。図13の例では、フレーム8とフレーム10が極小フレームであり、分割点となる。そして、分割点の前後のフレームが別々のブロックに属するようにブロックを生成する。この例では、フレーム3〜7(再生位置2〜7秒)がブロック1、フレーム9(再生位置8〜9秒)がブロック2、フレーム11〜12(再生時間10〜12秒)がブロック3に対応する。なお、図13の例では、極小フレームは、いずれのブロックにも対応しないが、いずれかのブロックに対応させてもよい。例えば、極小フレームをその直前のブロックに含ませるようにして、フレーム8をブロック1に対応させ、フレーム10をブロック2に対応させてもよい。
【0085】
ブロック情報生成の第4の方法は、反応データ集計値が所定値以下で、かつ極小となる箇所を検出し、それを分割点として、その前のフレームと後のフレームが別々のブロックになるようにブロックを生成する方法である。図14は、この方法を説明するための模式図である。図14の点線は、所定のしきい値を示している。図14の例では、フレーム8は、極小フレームであり、かつしきい値以下であるため分割点になるが、フレーム10は、極小フレームではあるが、しきい値より大きいため、分割点とならない。そして、分割点の前後のフレームが別々のブロックに属するようにブロックを生成する。この例では、フレーム3〜7(再生位置2〜7秒)がブロック1、フレーム9〜12(再生時間8〜12秒)がブロック2に対応する。なお、図14の例では、極小フレームは、いずれのブロックにも対応しないが、いずれかのブロックに対応させてもよい。例えば、極小フレームをその直前のブロックに含ませるようにして、フレーム8をブロック1に対応させてもよい。
【0086】
ブロック情報生成の第5の方法は、反応データ集計値が極小となるフレーム(箇所)、および極大となるフレーム(箇所)を検出し、ある極小フレームと、その極小フレームの両側にある極大フレームとの距離(フレーム差、時間差)を算出し、その2つの距離のうちの少なくとも一方の距離が所定値以上である場合に、その極小フレームを分割点として、その前のフレームと後のフレームが別々のブロックになるようにブロックを生成する方法である。図15は、この方法を説明するための模式図である。図15の例では、フレーム4、7、10が極小フレームであり、フレーム2、5、9、11が極大フレームである。フレームkが極大フレームか否かを判定するには、フレームkの反応データ集計値をS[k]として、(S[k−1]≦S[k]∩S[k+1]≦S[k])という条件を満たすかを判定し、条件を満たせば極大フレームとする。極小フレーム4の両側の極大フレームは2および5であり、それらとの距離(フレームの差)は、4−2=2および5−4=1である。ここで、極大フレームと極小フレーム間の少なくとも一方の距離が2以上の箇所を分割点にするという条件を設定すると、前者はこの条件を満たすので、フレーム4は分割点になる。同様に、極小フレーム7について判定を行うと、両側の極大フレームが5および9なので、極小フレームと極大フレームの間の距離は共に2となり、この条件を満たす。極小フレーム10については、両側の極大フレームが9および11となって、距離が1になるため、この条件を満たさず、分割点にならない。この例では、フレーム4とフレーム7が分割点になり、分割点の前後のフレームが異なるブロックに属するようにブロックを生成する(フレーム1〜3がブロック1、フレーム5〜6がブロック2、フレーム8〜12がブロック3となる)。図15の例では、極小フレームは、いずれのブロックにも対応しないが、いずれかのブロックに対応させてもよい。例えば、極小フレームをその直前のブロックに含ませるようにして、フレーム4をブロック1に対応させてもよい。また、極小フレームの両側にある極大フレームとの2つの距離の両方ともが所定値以上である場合に、その極小フレームを分割点とするようにしてもよい。例えば、極大フレームと極小フレーム間の両方の距離が2以上の箇所を分割点にしてもよい。この条件を図15に示したデータに適用すると、フレーム4は分割点ではなくなり、フレーム7のみが分割点となる。そして、フレーム1〜6をブロック1、フレーム8〜12をブロック2に対応させることになる。更に、分割点とする条件として、極小フレームの極小値が所定値以下であることを加えてもよい。
【0087】
ブロック情報生成の第6の方法は、反応データ集計値が極小となるフレーム(箇所)、および極大となるフレーム(箇所)を検出し、ある極小フレームの極小値と、その極小フレームの両側にある極大フレームの極大値との差を算出し、その2つの差のうちの少なくとも一方が所定値以上である場合に、その極小フレームを分割点として、その前のフレームと後のフレームが別々のブロックになるようにブロックを生成する方法である。図16は、この方法を説明するための模式図である。図16の例では、フレーム4、7、10が極小フレームであり、フレーム2、5、9、11が極大フレームである。また、極大値と極小値との差が図16のしきい値以上である場合に、極小フレームを分割点にする。極小フレーム4の両側の極大フレームは2および5であり、フレーム4と2の差はしきい値未満であるが、フレーム4と5の差はしきい値以上であるため、フレーム4は分割点になる。同様に、極小フレーム7について判定を行うと、両側の極大フレームが5および9であり、フレーム7と5の差、フレーム7と9との差は、両方ともしきい値以上なので、フレーム7は分割点になる。極小フレーム10については、両側の極大フレームが9および11となり、これらとの差がいずれもしきい値未満なので、分割点にならない。この例では、フレーム4とフレーム7が分割点になり、分割点の前後のフレームが異なるブロックに属するようにブロックを生成する(フレーム1〜3がブロック1、フレーム5〜6がブロック2、フレーム8〜12がブロック3となる)。図16の例では、極小フレームは、いずれのブロックにも対応しないが、いずれかのブロックに対応させてもよい。例えば、極小フレームをその直前のブロックに含ませるようにして、フレーム4をブロック1に対応させてもよい。また、極小フレームの両側にある極大フレームの極大値と極小値との2つの差が両方とも所定値以上である場合に、その極小フレームを分割点とするようにしてもよい。この条件を図16に示したデータに適用すると、フレーム4は分割点ではなくなり、フレーム7のみが分割点となる。そして、フレーム1〜6をブロック1、フレーム8〜12をブロック2に対応させることになる。更に、分割点とする条件として、極小フレームの極小値が所定値以下であることを加えてもよい。
【0088】
ブロック情報生成の第7の方法は、ブロック情報生成の第6の方法における極大値と極小値との差の代わりに、極大値と極小値との比率を用いる方法である。すなわち、反応データ集計値が極小となるフレーム(箇所)、および極大となるフレーム(箇所)を検出し、ある極小フレームの極小値に対する、その極小フレームの両側にある極大フレームの極大値の比率を算出し、その2つの比率のうちの少なくとも一方が所定値以上である場合に、その極小フレームを分割点として、その前のフレームと後のフレームが別々のブロックになるようにブロックを生成する方法である。この比率として、極大値÷極小値を算出して用いるが、極小値が0の場合は、比率を無限大、またはあらかじめ設定した値 にする。また、極小フレームの極小値と、極小フレームの両側にある極大フレームの極大値との2つの比率が両方とも所定値以上である場合に、分割点とするようにしてもよい。更に、分割点とする条件として、極小フレームの極小値が所定値以下であることを加えてもよい。なお、以上の説明では、極大値÷極小値を比率として用いたが、極小値÷極大値を比率として用いてもよい。この場合は、比率が所定値以下である場合に、該当する極小フレームを分割点とする。
【0089】
ブロック情報生成の第8の方法は、一の種類のユーザ状態(例えば、「悲しみ」)の反応データ集計値が、所定値未満から所定以上に変化する箇所、または所定値以上から所定値未満に変化する箇所を中間点として検出し、一の種類以外のあるユーザ状態(例えば「笑い」)のブロック情報を生成する際に、検出した中間点の前後のフレームが別々のブロックになるように、ブロックを生成する方法である。図17は、ユーザ状態が「笑い」(実線)と「悲しみ」(破線)である2種類の反応データ集計値の様子を示したものである。「悲しみ」の集計値が所定値未満から所定値以上に変化する箇所(図のA点)、および所定値以上から所定値未満に変化する箇所(図のB点)を中間点として検出する。中間点(中間フレーム)においては、隣接する2つのフレームの一方の集計値が所定値未満であり、もう一方の集計値が所定値以上になっている。そして、ユーザ状態が「笑い」であるブロック情報を生成する際に、検出した中間フレームを分割点として、その前後のフレームが別々のブロックとなるように、ブロック1、ブロック2、ブロック3を生成している。
【0090】
更に、上記のブロック情報生成の第1〜第8の方法を適宜組合せてもよい。この場合、各々の方法における分割点の条件をAND論理(論理積)で組み合わせる。例えば、第1の方法と第6の方法を組合せて、極小フレームの極小値と、その極小フレームの両側にある極大フレームの極大値との差を算出し、その2つの差のうちの少なくとも一方が第1の所定値以上であり、かつ極小値が第2の所定値以下である場合に、分割点とするようにしてもよい。また、第5の方法と第6の方法を組合せてもよい。すなわち、反応データ集計値の極小フレームの両側にある極大フレームとの距離のうちの少なくとも一方の距離が所定値以上であり、かつ極大値と極小値との2つの差の少なくとも一方の差が所定値以上である場合に、その極小フレームを分割点としてもよい。また、第5の方法と第7の方法を組合せてもよい。すなわち、反応データ集計値の極小フレームの両側にある極大フレームとの距離のうちの少なくとも一方の距離が所定値以上であり、かつ極大値と極小値との2つの比率の少なくとも一方の比率が所定値以上である場合に、その極小フレームを分割点としてもよい。
【0091】
以上の処理により、フレーム番号とブロックが対応したブロック情報が得られる。ブロック情報生成手段19は、その結果を図18に示す形式で格納する。フレーム番号は、それぞれ再生位置に対応しているので、フレーム番号を再生位置に換算した後に、コンテンツIDと、ユーザ状態の種類と、ブロック先頭の再生位置と、ブロック末尾の再生位置と、ブロック番号とを対応させて格納する。図18において、ユーザ状態の種類ごとに、異なる数のブロックが設定されている。コンテンツ「C001」の場合、「笑い」に対して「Nf」個、「怒り」に対して「Ng」個、「悲しみ」に対して「1」個のブロックが設定されている。コンテンツ「C001」では、合計「Nf+Ng+1」個のブロックが作成される。ブロック番号は、コンテンツごとに1から始まる続き番号である。なお、ユーザ反応データ格納手段11に格納されたユーザ反応データにおいて、情報の種類が1種類のみである場合は、図18の「ユーザ状態の種類」を省略できる。
【0092】
ブロック情報生成手段19は、ブロック情報の格納を終了すると、動作終了を制御手段15に通知する。
【0093】
制御手段15は、ブロック情報生成手段19からの通知を受けると、集約データ計算手段12に対して、動作開始の指示を与える。
【0094】
次に、図19のフローチャートを用いて、集約データ計算手段12の動作を説明する。集約データ計算手段12は、ブロック情報生成手段19に格納されたブロック情報を参照しながら、ユーザ反応データ格納手段11に格納されているユーザ反応データから集約データを計算する。
【0095】
まずステップS500において、集約データ計算手段12は、計算過程で集約データを一時的に保持するためのバッファを初期化する。このバッファは、ユーザID(以下では「U」と表記)と、コンテンツID(以下では「C」と表記)と、ブロック番号(以下では「B」と表記)の3つの引数を指定して、値の読み書きが可能なものである。以下では、「P(U, C, B)」という表記で、その値を表わす。またこのバッファは、必要に応じて記憶領域を自動的に拡張する機能を持つ。初期状態では、全てのユーザ、全てのコンテンツ、全てのブロック番号に対して、バッファの値は「0」である。
【0096】
次にステップS510において、集約データ計算手段12は、ユーザ反応データ格納手段11を参照し、ユーザ反応データに記録されているユーザIDの中から、まだ処理を行っていないユーザIDを1つ選ぶ。このユーザIDを以下では、「Ux」と表記する。
【0097】
次にステップS520において、集約データ計算手段12は、ユーザ反応データ格納手段11を参照し、ユーザUxに関してまだ処理を行っていないコンテンツIDを1つ選ぶ。このコンテンツIDを以下では、「Cx」と表記する。
【0098】
次にステップS530において、集約データ計算手段12は、ユーザ反応データ格納手段11を参照し、ユーザUxがコンテンツCxを利用した際のユーザ状態の中から、まだ処理に使用していないユーザ状態を1つ選ぶ。このユーザ状態を以下では、「Mx」と表記する。
【0099】
次にステップS540において、集約データ計算手段12は、ユーザ反応データ格納手段11を参照し、ユーザがUxで、コンテンツがCxで、ユーザ状態がMxである条件を満たすユーザ反応データの中から、まだ処理していないデータを1つ選ぶ。図4(D)に示す形式の場合であれば、テーブルの1行を読み出す。この選択したユーザ反応データを以下では「Rx」と表記する。
【0100】
次にステップS550において、集約データ計算手段12は、ブロック情報生成手段19のブロック情報を参照しながら、Cx、Mx、Rxの再生位置を用いて、Rxに対応するブロックを判定する。
【0101】
具体的には、ブロック情報のコンテンツIDが「Cx」であり、「Rxの再生位置」が「ブロック先頭再生位置」以上かつ「ブロック末尾再生位置」未満であり、ブロック情報の中の状態の種類が「Mx」であるブロック番号を判定する。また、Rxに対応するブロック番号は、1つだけではなく複数存在する場合がある。例えば、ユーザ反応データが図4(D)に示すように状態区間の情報、すなわち「状態の先頭再生位置」と「状態の末尾再生位置」の情報を持っており、状態区間が複数のブロックにまたがっている場合である。このステップで判定されたブロック番号を「Bx」とする。
【0102】
次にステップS560において、集約データ計算手段12は、ユーザ反応データRxにおける反応度合い(以下では「Dx」と表記する)を下記の数式(1)に示すように加算して、その時点での集計データ(集約値)であるP(Cx,Ux,Bx)を更新する。ユーザ反応データRxの中に、反応度合いが存在しない場合には、所定の数値をP(Cx,Ux,Bx)に加算する。例えば、「1.0」や「0.7」といった所定の数値を加算すればよい。ステップS550で判定されたブロック番号が複数存在する場合は、ステップS560の処理を該当する全てのブロック番号に対して行う。
【数1】

【0103】
次にステップS570において、集約データ計算手段12は、ユーザ反応データ格納手段11を参照し、ユーザがUxで、コンテンツがCxで、ユーザ状態がMxである全てのユーザ反応データを処理したか否か判定する。未処理のデータが存在する場合はステップS540に進み、未処理のデータが存在しない場合はステップS580に進む。
【0104】
次にステップS580において、集約データ計算手段12は、ユーザ反応データ格納手段11を参照し、ユーザUxがコンテンツCxを利用した際のユーザ状態の中から、まだ処理していないユーザ状態があるか否か判定する。未処理のユーザ状態が存在する場合はステップS530に進み、未処理のユーザ状態が存在しない場合はステップS590に進む。
【0105】
次にステップS590において、集約データ計算手段12は、ユーザ反応データ格納手段11を参照し、ユーザUxに関してまだ処理を行っていないコンテンツがあるか否か判定する。未処理のコンテンツが存在する場合はステップS520に進み、未処理のコンテンツが存在しない場合はステップS600に進む。
【0106】
次にステップS600において、集約データ計算手段12は、ユーザ反応データ格納手段11を参照し、ユーザ反応データに記録されているユーザIDの中から、まだ処理を行っていないユーザがいるか否か判定する。未処理のユーザが存在する場合はステップS510に進み、未処理のユーザが存在しない場合はステップS610に進む。
【0107】
次にステップS610において、集約データ計算手段12は、バッファ「P(U, C, B)」の全てのデータを集約データ計算手段12の集約データ格納部33(図示せず)に格納する。
【0108】
本実施例では以上の処理の結果、ユーザが反応を示したブロックの集約値は正の値(0より大きな値)となる。またユーザが反応していないブロックの集約値は、初期状態の「0」になっている。またユーザが利用していないコンテンツのブロックは、全て初期状態の「0」になっている。
【0109】
集約データ計算手段12の集約データ格納部33には、図20に示す形式でデータが格納される。ユーザIDと、コンテンツIDと、ブロック番号と、グローバルブロック番号と、バッファ「P(U, C, B)」の値である集約値とが関連づけられて格納されている。図20の例では、K個のユーザIDと、L個のコンテンツIDが格納されている様子を示している。以下の説明では、このように集約データ格納部にK個のユーザIDと、L個のコンテンツIDおよび統合コンテンツIDが格納されているものとする。
【0110】
ブロック番号は、コンテンツ毎に付けられた1から始まる通し番号である。グローバルブロック番号は、集約データ格納部33に格納されている全てのコンテンツの全てのブロックを一意に識別できる番号である。具体的には、最初のコンテンツに対して、そのコンテンツのブロック番号と同じ1〜N1までの番号をグローバルブロック番号として付与し、2番目のコンテンツに対しては、N1+1〜N1+N2までの番号をグローバルブロック番号として付与する(ただし、N2は2番目のコンテンツのブロック数)。このような処理を全てのコンテンツに対して行う。本実施例では、1からNzまでのグローバルブロック番号があるものとする。コンテンツIDとブロック番号の組み合わせで、全てのコンテンツのブロックを特定することもできるが、グローバルブロック番号を用いることにより、1種類の番号で、全てのコンテンツのブロックを特定できる。なお、集約データ格納部33に、ユーザIDと、グローバルブロック番号と、集約値とを格納するようにして、コンテンツIDとブロック番号の格納を省略してもよい。
【0111】
集約データ計算手段12は、以上のように集約データを計算して格納した後に、制御手段15に対して処理終了を通知する。
【0112】
本実施例においては、類似度計算手段13が、集約データ計算手段12の集約データ格納部33に格納された集約データを用いて、ユーザ間の類似度を計算する。この理由を以下に説明する。
【0113】
本発明と異なる方法として、ユーザ反応データそのものを使って、ユーザ間の類似度を計算することも考えられる。例えば、従来技術の特許文献2においては、図4(A)の形式のユーザ反応データをそのまま用いて、ユーザ間の類似度を算出していると解釈できる。しかしながら、この方法には、ユーザの反応を計測する時間間隔を適切に設定することが難しいという問題がある。
【0114】
ユーザの反応を短い時間間隔で計測し、それを類似度計算に用いると、データ量が増えるので、ユーザ間の類似度計算の処理量も増える。一般的には、収集したサンプルの大半は、ユーザが反応を示さないデータ(ゼロデータ)になる。更に、2人のユーザがほぼ同時に反応を示した場合であっても、異なる位置(時間)での反応扱いになることが多く、実際よりも類似度が低い値で計算される傾向がある。
【0115】
ユーザの反応を長い時間間隔で計測し、それを類似度計算に用いると、計算量は少なくて済む。しかし、ユーザが反応しても、サンプル点とサンプル点の間の位置になってしまい、類似度に反映されない可能性が出てくる。またそれを回避するために、反応を時間方向に積分する処理を入れると、本来時間的に区別すべき反応も同じ時間の反応として処理してしまうので、類似度の精度が低くなる場合がある。すなわち、従来技術のように、ユーザ反応データをそのまま使って類似度を計算する方法では、ユーザ間の類似度を精度良く、かつ少ない計算量で効率的に計算することが難しい。
【0116】
本発明では、反応データ集計手段18と、ブロック情報生成手段19と、集約データ計算手段12を組み合わせた処理により、ユーザ反応データから集約データを計算し、集約データを用いてユーザ間の類似度を計算するので、ユーザ間の類似度を精度良く、かつ少ない計算量で効率的に計算することが可能である。また本発明は、ユーザ反応データからブロック情報を生成しているため、あらかじめコンテンツごとのブロック情報を用意しておく必要がない。このため、コンテンツの種類が非常に多い場合であっても、容易に対応できるという優れた特徴を有している。
【0117】
次にユーザ情報処理装置1が再生装置2に対して提供する類似ユーザ情報を作成する方法について説明する。あるユーザ(一のユーザ)が利用する再生装置2において、一のユーザが入力装置29を操作して、類似ユーザ情報の取得を指示すると、制御手段25はステップS100と同様のユーザ認証処理を行った後、送受信手段24を介して、類似ユーザ情報リクエストとユーザIDとをユーザ情報処理装置1に送信する。なお、ユーザ情報処理装置1において、ユーザを識別する処理を行なわず、再生装置2を識別する処理を行なう場合には、ユーザIDの代わりに、再生装置2を識別する情報を送信すればよい。ユーザ情報処理装置1の送受信手段14は、この類似ユーザ情報リクエストとユーザIDとを受信し、類似度計算手段13に通知することにより、類似度計算手段13が一のユーザに対する類似ユーザ情報を作成する。
【0118】
類似度計算手段13の動作を図21のフローチャートを用いて説明する。
【0119】
まずステップS700において、類似度計算手段13は、類似ユーザ情報リクエストを発行したユーザ(一のユーザ)のユーザID(一のユーザID)に対応する集約データを集約データ計算手段12の集約データ格納部33から読み出す。以下では一のユーザIDをUaとする。Uaの集約値をグローバルブロック番号に対応させて読み出し、ベクトル形式のデータとして保持する。以下ではこのベクトルをVa[i](iはグローバルブロック番号で、i=1〜Nz)で表わす。
【0120】
次にステップS710において、類似度計算手段13は、集約データ格納部33を参照しながら、Ua以外のユーザIDの内から、まだ処理を行っていないユーザIDを1つ選択する。このユーザIDをUbとする。
【0121】
次にステップS720において、類似度計算手段13は、Ubの集約データを集約データ格納部33から読み出す。Ubの集約値をグローバルブロック番号に対応させて読み出し、ベクトル形式のデータとして保持する。以下ではこのベクトルをVb[i](iはグローバルブロック番号で、i=1〜Nz)で表わす。
【0122】
次にステップS730において、類似度計算手段13は、VaとVbを用いて、ユーザUaとユーザUbとの類似度Sabを計算し、UbとSabを対応させた結果をバッファQに格納する。類似度の計算方法としては以下に示す種々の方法を用いることができる。以下ではSabの値が大きいほど、ユーザ間の類似度が高いと判断できる。
【0123】
第1の計算方法は、下記の数式(2)に従って、VaとVbが共に正の値(0より大きな値)となるベクトル要素の数をカウントする方法である。コンテンツの同じブロックに対して反応を示すユーザは類似性が高いという判断に基づく処理である。
【数2】

【0124】
第2の計算方法は、下記の数式(3)に従って、VaとVbのコサイン尺度(2つのベクトルのコサイン角度)を計算する方法である。数 式(3)の分子は、VaとVbの内積であり、分母はVaのノルムとVbのノルムの積である。
【数3】

【0125】
第3の計算方法は、下記の数式(4)に従って、VaとVbの相関係数を計算する方法である。数式(4)において、Vamは、Va[i](i=1〜Nz)の平均値、Vbmは、Vb[i](i=1〜Nz)の平均値である。なお、数式(4)では、i=1〜Nzの全てのグローバルブロックの集約値を用いて、相関係数を計算しているが、一部のグローバルブロックの集約値のみを用いて相関係数を計算してもよい。例えば、VaとVbが共に正の値となるグローバルブロックの集合を作成し、この集合を対象としてVaの平均値VamとVbの平均値Vbmをそれぞれ計算した後、数式(4)の各々のΣで示されている加算演算を前記集合を対象として行い、相関係数を計算してもよい。
【数4】

【0126】
第4の計算方法は、下記の数式(5)に従って、VaとVbの距離を計算し、これを用いて類似度を計算する方法である。広義の意味では、距離も類似度の内に入るが、距離が小さいほど類似性が高くなる。Sabの値が大きいほど類似性が高くなるようにした方が都合がよいので、数式(5)を用いる。ここでαは定数である。なお、ここではユークリッド距離を用いているが、マハラノビス距離を用いてもよい。また、VaとVbの差の2乗の代わりに、VaとVbの差の絶対値を計算して用いてもよい。
【数5】

【0127】
第5の計算方法は、下記の数式(6)に従って、VaとVbの距離を計算し、これを用いて類似度を計算する方法である。β、γ、λは定数であり、γは通常1未満である。なお、ここではユークリッド距離を用いているが、マハラノビス距離を用いてもよい。また、VaとVbの差の2乗の代わりに、VaとVbの差の絶対値を計算して用いてもよい。
【数6】

【0128】
第6の計算方法は、下記の数式(7)に従って、VaとVbの内積と、Va、Vbそれぞれの2乗和を用いて計算する方法である。
【数7】

【0129】
さらに、上記第1〜第6の計算方法を組合せて類似度Sabを計算してもよい。例えば、第2の計算方法と、第4の計算方法を組合せて、下記の数式(8)に従って計算してもよい。ここで、μ、νは定数である。
【数8】

【0130】
以上が類似度Sabの計算方法の説明である。
【0131】
次にステップS740において、類似度計算手段13は、集約データ格納部33を参照しながら、Ua以外のユーザIDで、まだ処理を行っていないユーザIDがあるか否か判定する。未処理のユーザIDが存在する場合はステップS710に進み、未処理のユーザIDが存在しなければ、ステップS750に進む。
【0132】
次にステップS750において、類似度計算手段13は、一のユーザを除く他のユーザのユーザIDと類似度Sabとがそれぞれ記憶されているバッファQを参照し、類似度の高いユーザを以下の方法で選ぶ。
【0133】
第1の選択方法は、類似度Sabが所定値以上のユーザを選ぶ方法である。また、所定値以上のユーザの人数が多すぎる場合や、人数が少なすぎる場合には、所定値を変更してユーザを選択し直してもよい。
【0134】
第2の選択方法は、類似度Sabを大きい順に並べた場合の上位から所定の人数を超えない人数だけ選択する方法である。バッファQに所定数より多いユーザが存在する場合は、Sabの大きい順に所定数だけユーザを選択し、そうでない場合は、バッファQに存在する全てのユーザを選択する。
【0135】
また、第1の選択方法と第2の選択方法を組合せてもよい。例えば、類似度Sabが所定値以上のユーザを候補として、その中から類似度の高い順に所定の人数を超えない人数だけ選択してもよい。すなわち、類似度Sabが所定値以上のユーザの人数が所定の人数よりも多い場合は、Sabの大きい順に所定の人数を選択し、そうでない場合は、Sabが所定値以上の全てのユーザを選択する。更に、ユーザ属性格納手段16に格納されているユーザ属性データの中に、一のユーザが紹介を希望する他のユーザに関する条件が含まれている場合には、それに合致するユーザを対象にして、第1の選択方法、または第2の選択方法、または第1の選択方法と第2の選択方法を組合せた方法などにより、類似度の高いユーザを選択しても良い。
【0136】
次にステップS760において、類似度計算手段13は、ステップS750で選択されたユーザのユーザIDに対応するユーザ属性データをユーザ属性格納手段16から読み出し、送受信手段14を介して、一のユーザの利用する再生装置2に送信する。
【0137】
また上記とは別の方法として、類似度計算手段13において特開2005−71126号公報などに記載の方法をベースに更に変形して用いてもよい。すなわち、ユーザIDを行列の行または列に対応させ、グローバルブロック番号をもう一方の列または行に対応させ、行列要素が集約値である行列を形成する。そして、この行列に対して数量化3類や主成分分析などの多変量解析手法を適用し、グローバルブロック数Nzよりも小さな次元を持つ低次元ベクトル(スコアベクトル)を形成し、一のユーザの低次元ベクトルと他のユーザの低次元ベクトルの類似度を上記のステップS730と同様に計算して、類似度の高いユーザを選択してもよい。これにより、ユーザ間の類似度をさらに精度よく計算することができる。また、計算量をさらに削減することができる。
【0138】
以上が類似度計算手段13の動作の説明である。
【0139】
再生装置2の制御手段25は、ユーザ情報処理装置1から類似ユーザの属性情報を送受信手段24を介して受信し、表示装置27にその情報を表示させる。これにより、一のユーザは自分とコンテンツに対する興味、嗜好、センスが類似するユーザの情報を知ることができ、そのユーザとコンタクトを取ることも可能になる。
【0140】
また、一のユーザに対して、類似ユーザの情報を提供するだけでなく、他の情報を提供してもよい。例えば、ユーザ情報処理装置1が、コンテンツIDに対応させてコンテンツのタイトル、制作者、ジャンル、制作年、説明文等のコンテンツ属性情報を格納すると共に、ユーザ反応データ格納手段11の中から、類似ユーザの利用頻度が高く、かつ一のユーザの利用頻度が少ない(または利用していない)コンテンツのコンテンツIDを選択し、選択したコンテンツIDに対応するコンテンツ属性情報を一のユーザに対して提供してもよい。
【実施例2】
【0141】
実施例2のシステム全体の構成を図22に示す。実施例1では、ユーザ情報処理装置1と再生装置2が別々の装置であったが、実施例2においては、この2つの装置の機能を併せ持つ統合装置5を用いる。複数の統合装置5がネットワーク3を介して、ピアツーピアでお互いに接続可能なシステムである。統合装置5は、ユーザ情報処理部51と、再生部52で構成されている。ユーザ情報処理部51の構成および動作は、実施例1におけるユーザ情報処理装置1と同様である。また再生部52の構成および動作は、実施例1における再生装置2と同様である。
【符号の説明】
【0142】
1 ユーザ情報処理装置
2(2a〜2n) 再生装置
3 ネットワーク
5(5a〜5n) 統合装置
11 ユーザ反応データ格納手段
12 集約データ計算手段
13 類似度計算手段
14 送受信手段
15 制御手段
16 ユーザ属性格納手段
18 反応データ集計手段
19 ブロック情報生成手段
21 コンテンツ再生手段
22 ユーザ状態認識手段
23 ユーザ反応データ作成手段
24 送受信手段
25 制御手段
26 ユーザ属性格納手段
27 表示装置
28 音声出力装置
29 入力装置
30 センサ装置
33 集約データ格納部
41 表示装置
42 入力装置

【特許請求の範囲】
【請求項1】
コンピュータを、
ユーザを識別するためのユーザ識別情報と、コンテンツの再生位置を示す位置情報と、その位置情報に対応する前記ユーザの状態情報とを関連付けた反応データを読み込んで、前記位置情報を所定の開始位置と所定の終了位置を持つ各フレームに対応させると共に、前記フレームごとに複数のユーザの前記反応データを集計した反応データ集計値を算出する反応データ集計手段、
前記反応データ集計値の分布情報を用いて、1つ以上の前記フレームをグループ化し、各グループの先頭のフレームの前記開始位置と末尾のフレーム前記終了位置との間にある前記位置情報を同一のブロックに対応させるためのブロック情報を生成するブロック情報生成手段、
前記ブロック情報に基づいて、前記反応データの前記位置情報をブロックに対応させて、前記ユーザ識別情報ごとに、前記ブロックごとに複数の前記反応データを集約した集約データを計算する集約データ計算手段、
一のユーザの前記集約データと、他のユーザの前記集約データとを用いて、一のユーザと他のユーザとの類似度を計算する類似度計算手段、
として機能させるためのユーザ情報処理プログラム。
【請求項2】
前記ブロック情報生成手段は、前記反応データ集計値が所定値以下のフレームの前のフレームと後のフレームが、異なるブロックに対応するように制御して前記ブロック情報を生成する、
請求項1に記載のユーザ情報処理プログラム。
【請求項3】
前記ブロック情報生成手段は、前記反応データ集計値が所定値以下 のフレームが所定個数以上連続する区間を検出し、その区間の前のフレームと後のフレームが、異なるブロックに対応するように制御して前記ブロック情報を生成する、
請求項1に記載のユーザ情報処理プログラム。
【請求項4】
前記ブロック情報生成手段は、前記反応データ集計値が第1の所定値以下のフレームが所定個数以上連続する区間を検出し、その区間において、前記反応データ集計値が前記第1の所定値よりも小さい第2の所定値以下のフレームが存在する場合に、その区間の前のフレームと後のフレームが、異なるブロックに対応するように制御して前記ブロック情報を生成する、
請求項1に記載のユーザ情報処理プログラム。
【請求項5】
前記ブロック情報生成手段は、前記反応データ集計値が極小となる極小フレームを検出し、その極小フレームの前のフレームと後のフレームが、異なるブロックに対応するように制御して前記ブロック情報を生成する、
請求項1から4のいずれかに記載のユーザ情報処理プログラム。
【請求項6】
前記ブロック情報生成手段は、前記反応データ集計値が極小となる極小フレーム、および前記反応データ集計値が極大となる極大フレームを検出し、検出された一の極小フレームと、前記一の極小フレームの両側にある直近の2つの前記極大フレームとの距離を算出し、少なくとも一方 の距離が所定値以上である場合に、前記一の極小フレームの前のフレームと後のフレームが、異なるブロックに対応するように制御して前記ブロック情報を生成する、
請求項1から5のいずれかに記載のユーザ情報処理プログラム。
【請求項7】
前記ブロック情報生成手段は、前記反応データ集計値が極小となる極小フレーム、および前記反応データ集計値が極大となる極大フレームを検出し、検出された一の極小フレームの極小値と、前記一の極小フレームの両側にある直近の2つの前記極大フレームの極大値との差分を算出し、少なくとも一方の差分が所定値以上である場合に、前記一の極小フレームの前のフレームと後のフレームが、異なるブロックに対応するように制御して前記ブロック情報を生成する、
請求項1から6のいずれかに記載のユーザ情報処理プログラム。
【請求項8】
前記ブロック情報生成手段は、前記反応データ集計値が極小となる極小フレーム、および前記反応データ集計値が極大となる極大フレームを検出し、検出された一の極小フレームの極小値と、前記一の極小フレームの両側にある直近の2つの前記極大フレームの極大値との比率を算出し、少なくとも一方の比率が所定値以上である場合に、前記一の極小フレームの前のフレームと後のフレームが、異なるブロックに対応するように制御して前記ブロック情報を生成する、
請求項1から7のいずれかに記載のユーザ情報処理プログラム。
【請求項9】
前記反応データ集計手段は、前記フレームごとにユーザ反応データの存在するユーザ数を集計した値を前記反応データ集計値とする、
請求項1から8のいずれかに記載のユーザ情報処理プログラム。
【請求項10】
前記反応データ集計手段は、前記フレームごとにユーザ反応データの反応度合いを加算した値を前記反応データ集計値とする、
請求項1から8のいずれかに記載のユーザ情報処理プログラム。
【請求項11】
前記反応データ集計手段は、複数種類の前記状態情報を含む前記反応データを読み込んで、前記状態情報の種類ごとに前記反応データ集計値を算出し、
前記ブロック情報生成手段は、前記状態情報の種類ごとに前記ブロック情報を生成す る、
請求項1から10のいずれかに記載のユーザ情報処理プログラム。
【請求項12】
前記ブロック情報生成手段は、一の種類の前記状態情報の前記反応データ集計値を対象として、隣接するフレームの一方が所定値未満であり、隣接するフレームのもう一方が所定値以上であるフレームを中間フレームとして検出し、前記中間フレームの前のフレームと後のフレームが、異なるブロックに対応するように制御して、前記一の種類以外の他の種類の前記状態情報に対応する前記ブロック情報を生成する、
請求項11に記載のユーザ情報処理プログラム。
【請求項13】
前記類似度計算手段は、一のユーザの前記集約データで構成された一のベクトルデータと、他のユーザの前記集約データで構成された他のベクトルデータとを用いて、前記類似度を計算する、
請求項1から12のいずれかに記載のユーザ情報処理プログラム。
【請求項14】
前記類似度計算手段は、前記集約データ計算手段で計算された前記集約データに多変量解析手法を適用して、前記集約データの次元数よりも少ない次元数を持つ低次元ベクトルを算出すると共に、一のユーザの前記低次元ベクトルである一のベクトルデータと、他のユーザの前記低次元ベクトルである他のベクトルデータとを用いて、前記類似度を計算する、
請求項1から12のいずれかに記載のユーザ情報処理プログラム。
【請求項15】
前記類似度計算手段は、
前記一のベクトルデータと、前記他のベクトルデータが共に正の値であるベクトル要素の数を用いて、
または、前記一のベクトルデータと、前記他のベクトルデータとの内 積を用いて、
または、前記一のベクトルデータと、前記他のベクトルデータとの相関係数を用いて、
または、前記一のベクトルデータと、前記他のベクトルデータとの距離を用いて、
前記類似度を計算する、
請求項13または14に記載のユーザ情報処理プログラム。
【請求項16】
前記類似度計算手段は、
前記一のベクトルデータと、前記他のベクトルデータが共に正の値であるベクトル要素の数と、
前記一のベクトルデータと、前記他のベクトルデータとの内 積と、
前記一のベクトルデータと、前記他のベクトルデータとの相関係数と、
前記一のベクトルデータと、前記他のベクトルデータとの距離と、
のうちの1つ以上を用いて 複数の値を算出し、算出されたそれぞれの値に所定の重み係数を乗算した値を加算して、前記類似度を計算する、
請求項13または14に記載のユーザ情報処理プログラム。
【請求項17】
前記類似度計算手段は更に、前記類似度が所定値以上である他のユーザ、または前記類似度が大きい順に所定数を超えない数の他のユーザを一のユーザに対して選択する、
請求項1から16のいずれかに記載のユーザ情報処理プログラム。
【請求項18】
前記類似度計算手段は更に、一のユーザが希望する条件と合致するユーザ属性を持つ他のユーザを対象として、前記類似度が所定値以上である他のユーザ、または前記類似度が大きい順に所定数を超えない数の他のユーザを一のユーザに対して選択する、
請求項1から17のいずれかに記載のユーザ情報処理プログラム。
【請求項19】
ユーザを識別するためのユーザ識別情報と、コンテンツの再生位置を示す位置情報と、その位置情報に対応する前記ユーザの状態情報とを関連付けた反応データを読み込んで、前記位置情報を所定の開始位置と所定の終了位置を持つ各フレームに対応させると共に、前記フレームごとに複数のユーザの前記反応データを集計した反応データ集計値を算出する反応データ集計手段と、
前記反応データ集計値の分布情報を用いて、1つ以上の前記フレームをグループ化し、各グループの先頭のフレームの前記開始位置と末尾のフレーム前記終了位置との間にある前記位置情報を同一のブロックに対応させるためのブロック情報を生成するブロック情報生成手段と、
前記ブロック情報に基づいて、前記反応データの前記位置情報をブロックに対応させて、前記ユーザ識別情報ごとに、前記ブロックごとに複数の前記反応データを集約した集約データを計算する集約データ計算手段と、
一のユーザの前記集約データと、他のユーザの前記集約データとを用いて、一のユーザと他のユーザとの類似度を計算する類似度計算手段と、
を備えるユーザ情報処理装置。
【請求項20】
ユーザを識別するためのユーザ識別情報と、コンテンツの再生位置を示す位置情報と、その位置情報に対応する前記ユーザの状態情報とを関連付けた反応データを読み込んで、前記位置情報を所定の開始位置と所定の終了位置を持つ各フレームに対応させると共に、前記フレームごとに複数のユーザの前記反応データを集計した反応データ集計値を算出するステップと、
前記反応データ集計値の分布情報を用いて、1つ以上の前記フレームをグループ化し、各グループの先頭のフレームの前記開始位置と末尾のフレーム前記終了位置との間にある前記位置情報を同一のブロックに対応させるためのブロック情報を生成するステップと、
前記ブロック情報に基づいて、前記反応データの前記位置情報をブロックに対応させて、前記ユーザ識別情報ごとに、前記ブロックごとに複数の前記反応データを集約した集約データを計算するステップと、
一のユーザの前記集約データと、他のユーザの前記集約データとを用いて、一のユーザと他のユーザとの類似度を計算するステップと、
を含むユーザ情報処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2011−128790(P2011−128790A)
【公開日】平成23年6月30日(2011.6.30)
【国際特許分類】
【出願番号】特願2009−285402(P2009−285402)
【出願日】平成21年12月16日(2009.12.16)
【出願人】(308036402)JVC・ケンウッド・ホールディングス株式会社 (1,152)
【Fターム(参考)】