(57)【要約】【課題】従来の技術では、ユーザ間の類似度を精度良く算出することができない。【解決手段】ユーザ情報処理装置１は、ユーザを識別するためのユーザ識別情報と、コンテンツの再生位置を示す位置情報と、その位置情報に対応するユーザの状態情報とを関連付けた反応データを読み込んで、ユーザ識別情報ごとに、コンテンツの特定区間に対応するブロックごとに複数の反応データを集約した集約データを計算する集約データ計算手段１２と、一のユーザの集約データと、他のユーザの集約データとを用いて、一のユーザと他のユーザとの類似度を計算する類似度計算手段１３と、を有する。【選択図】図７
2011129997.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
ユーザを識別するためのユーザ識別情報と、コンテンツの再生位置を示す位置情報と、その位置情報に対応する前記ユーザの状態情報とを関連付けた反応データを読み込んで、前記ユーザ識別情報ごとに、前記コンテンツの特定区間に対応するブロックごとに複数の前記反応データを集約した集約データを計算する集約データ計算手段、
一のユーザの前記集約データと、他のユーザの前記集約データとを用いて、一のユーザと他のユーザとの類似度を計算する類似度計算手段、
として機能させるためのユーザ情報処理プログラム。
【請求項２】
前記集約データ計算手段は更に、前記特定区間の開始位置および終了位置と前記ブロックとを関連付ける情報が格納されたブロック情報格納部を参照しながら、前記反応データに含まれる前記位置情報がどのブロックに対応するか判定して、前記集約データを計算する、
請求項１に記載のユーザ情報処理プログラム。
【請求項３】
前記集約データ計算手段は更に、複数の前記特定区間を１つのブロックに対応させた前記ブロック情報格納部を参照しながら、前記集約データを計算する、
請求項２に記載のユーザ情報処理プログラム。
【請求項４】
前記集約データ計算手段は更に、複数のコンテンツそれぞれの前記特定区間を１つのブロックに対応させた前記ブロック情報格納部を参照しながら、前記集約データを計算する、
請求項３に記載のユーザ情報処理プログラム。
【請求項５】
前記反応データには更に、複数種類の前記状態情報が含まれており、
前記集約データ計算手段は、前記複数種類の前記状態情報を用いて、前記ブロックごとに複数の前記反応データを集約した集約データを計算する、
請求項１から４のいずれかに記載のユーザ情報処理プログラム。
【請求項６】
前記集約データ計算手段は、前記反応データに含まれる前記状態情報の種類ごとに設定された前記特定区間を用いて、前記集約データを計算する、
請求項５に記載のユーザ情報処理プログラム。
【請求項７】
前記集約データ計算手段は、前記反応データに含まれる２種類以上の前記状態情報を同一のブロックに対応させて、前記集約データを計算する、
請求項５または６に記載のユーザ情報処理プログラム。
【請求項８】
前記類似度計算手段は、一のユーザの前記集約データで構成された一のベクトルデータと、他のユーザの前記集約データで構成された他のベクトルデータとを用いて、前記類似度を計算する、
請求項１から７のいずれかに記載のユーザ情報処理プログラム。
【請求項９】
前記類似度計算手段は、前記集約データ計算手段で計算された前記集約データに多変量解析手法を適用して、前記集約データの次元数よりも少ない次元数を持つ低次元ベクトルを算出すると共に、一のユーザの前記低次元ベクトルである一のベクトルデータと、他のユーザの前記低次元ベクトルである他のベクトルデータとを用いて、前記類似度を計算する、
請求項１から７のいずれかに記載のユーザ情報処理プログラム。
【請求項１０】
前記類似度計算手段は、
前記一のベクトルデータと、前記他のベクトルデータが共に正の値であるベクトル要素の数を用いて、
または、前記一のベクトルデータと、前記他のベクトルデータとの内積を用いて、
または、前記一のベクトルデータと、前記他のベクトルデータとの相関係数を用いて、
または、前記一のベクトルデータと、前記他のベクトルデータとの距離を用いて、
前記類似度を計算する、
請求項８または請求項９に記載のユーザ情報処理プログラム。
【請求項１１】
前記類似度計算手段は、
前記一のベクトルデータと、前記他のベクトルデータが共に正の値であるベクトル要素の数と、
前記一のベクトルデータと、前記他のベクトルデータとの内積と、
前記一のベクトルデータと、前記他のベクトルデータとの相関係数と、
前記一のベクトルデータと、前記他のベクトルデータとの距離と、
のうちの１つ以上を用いて複数の値を算出し、算出されたそれぞれの値に所定の重み係数を乗算した値を加算して、前記類似度を計算する、
請求項８または請求項９に記載のユーザ情報処理プログラム。
【請求項１２】
前記類似度計算手段は更に、前記類似度が所定値以上である他のユーザ、または前記類似度が大きい順に所定数を超えない数の他のユーザを一のユーザに対して選択する、
請求項１から１１のいずれかに記載のユーザ情報処理プログラム。
【請求項１３】
前記類似度計算手段は更に、一のユーザが希望する条件と合致するユーザ属性を持つ他のユーザの内から、前記類似度の大きな他のユーザを一のユーザに対して選択する、
請求項１から１２のいずれかに記載のユーザ情報処理プログラム。
【請求項１４】
コンピュータを、
コンテンツを再生するコンテンツ再生手段、
コンテンツ再生前およびコンテンツ再生中のユーザの状態を認識するユーザ状態認識手段、
前記ユーザ状態認識手段によって認識されたコンテンツ再生前およびコンテンツ再生中のユーザの状態を用いて、コンテンツの再生位置を示す位置情報と、その位置情報に対応する前記ユーザの状態情報とを関連付けた反応データを作成する反応データ作成手段、
として機能させるための再生プログラム。
【請求項１５】
コンピュータを、
コンテンツを再生するコンテンツ再生手段、
コンテンツ再生中およびコンテンツ再生後のユーザの状態を認識するユーザ状態認識手段、
前記ユーザ状態認識手段によって認識されたコンテンツ再生中およびコンテンツ再生後のユーザの状態を用いて、コンテンツの再生位置を示す位置情報と、その位置情報に対応する前記ユーザの状態情報とを関連付けた反応データを作成する反応データ作成手段、
として機能させるための再生プログラム。
【請求項１６】
前記ユーザ状態認識手段は、複数種類のユーザ状態を認識し、
前記反応データ作成手段は、前記状態情報の内にそれぞれの状態種類に関するユーザの反応度合いが含まれる前記反応データを作成すると共に、
前記コンテンツ再生前のユーザ状態の種類と、前記コンテンツ再生中のユーザ状態の種類が同じ場合に、コンテンツ再生中の前記反応度合いを減少させるように制御して前記反応データを作成する、
請求項１４に記載の再生プログラム。
【請求項１７】
前記ユーザ状態認識手段は、複数種類のユーザ状態を認識し、
前記反応データ作成手段は、前記状態情報の内にそれぞれの状態種類に関するユーザの反応度合いが含まれる前記反応データを作成すると共に、
前記コンテンツ再生前のユーザ状態の種類と、前記コンテンツ再生中のユーザ状態の種類が異なる場合に、コンテンツ再生中の前記反応度合いを増加させるように制御して前記反応データを作成する、
請求項１４または１６に記載の再生プログラム。
【請求項１８】
前記ユーザ状態認識手段は、複数種類のユーザ状態を認識し、
前記反応データ作成手段は、前記状態情報の内にそれぞれの状態種類に関するユーザの反応度合いが含まれる前記反応データを作成すると共に、
前記コンテンツ再生中のユーザ状態の種類と、前記コンテンツ再生後のユーザ状態の種類が同じ場合に、コンテンツ再生中の前記反応度合いを増加させるように制御して前記反応データを作成する、
請求項１５に記載の再生プログラム。
【請求項１９】
ユーザを識別するためのユーザ識別情報と、コンテンツの再生位置を示す位置情報と、その位置情報に対応する前記ユーザの状態情報とを関連付けた反応データを読み込んで、前記ユーザ識別情報ごとに、前記コンテンツの特定区間に対応するブロックごとに複数の前記反応データを集約した集約データを計算する集約データ計算手段と、
一のユーザの前記集約データと、他のユーザの前記集約データとを用いて、一のユーザと他のユーザとの類似度を計算する類似度計算手段と、
を備えるユーザ情報処理装置。
【請求項２０】
コンテンツを再生するコンテンツ再生手段と、
コンテンツ再生前およびコンテンツ再生中のユーザの状態を認識するユーザ状態認識手段と、
前記ユーザ状態認識手段によって認識されたコンテンツ再生前およびコンテンツ再生中のユーザの状態を用いて、コンテンツの再生位置を示す位置情報と、その位置情報に対応する前記ユーザの状態情報とを関連付けた反応データを作成する反応データ作成手段と、
を備える再生装置。
【請求項２１】
コンテンツを再生するコンテンツ再生手段と、
コンテンツ再生中およびコンテンツ再生後のユーザの状態を認識するユーザ状態認識手段と、
前記ユーザ状態認識手段によって認識されたコンテンツ再生中およびコンテンツ再生後のユーザの状態を用いて、コンテンツの再生位置を示す位置情報と、その位置情報に対応する前記ユーザの状態情報とを関連付けた反応データを作成する反応データ作成手段と、
を備える再生装置。
【請求項２２】
ユーザを識別するためのユーザ識別情報と、コンテンツの再生位置を示す位置情報と、その位置情報に対応する前記ユーザの状態情報とを関連付けた反応データを読み込んで、前記ユーザ識別情報ごとに、前記コンテンツの特定区間に対応するブロックごとに複数の前記反応データを集約した集約データを計算するステップと、
一のユーザの前記集約データと、他のユーザの前記集約データとを用いて、一のユーザと他のユーザとの類似度を計算するステップと、
を含むユーザ情報処理方法。
【請求項２３】
コンテンツを再生するステップと、
コンテンツ再生前およびコンテンツ再生中のユーザの状態を認識するステップと、
認識したコンテンツ再生前およびコンテンツ再生中のユーザの状態を用いて、コンテンツの再生位置を示す位置情報と、その位置情報に対応する前記ユーザの状態情報とを関連付けた反応データを作成するステップと、
を含む再生方法。
【請求項２４】
コンテンツを再生するステップと、
コンテンツ再生中およびコンテンツ再生後のユーザの状態を認識するステップと、
認識したコンテンツ再生中およびコンテンツ再生後のユーザの状態を用いて、コンテンツの再生位置を示す位置情報と、その位置情報に対応する前記ユーザの状態情報とを関連付けた反応データを作成するステップと、
を含む再生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツに係るユーザの反応情報を処理する技術に関するものであり、特に興味の似たユーザ同士を特定する技術に関するものである。
【背景技術】
【０００２】
近年、コンピュータ技術やネットワーク技術の進展を背景に、大量のコンテンツが制作され、流通している。また、ネットワークを介したユーザ間のコミュニケーションも盛んになっている。このためユーザの所望のコンテンツを検索する技術や、ユーザ間のコミュニケーションを促進する技術へのニーズが高まっている。コンテンツに対するユーザの興味や嗜好を把握するために、コンテンツに対するユーザの反応情報を収集することは有効であり、このような技術が開発されている。
【０００３】
例えば特許文献１には、コンテンツ再生中のユーザの表情、視線パターン、目の瞳孔直径、瞬き、体温、心拍数などの情報を計測し、それらのセンシングデータを収集するシステムが開示されている。
【０００４】
特許文献２には、コンテンツ視聴中のユーザの顔画像などから感情データを生成するシステムが開示されている。また特許文献２には、そのような感情データを使ってユーザ同士のマッチングを行う技術も開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１４２９７５号公報
【特許文献２】特開２００７−３６８７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、コンテンツに対するユーザの反応や、ユーザが抱く感情は、一般的には人によってそれぞれ異なる。例えば、同じ映画の同じシーンを見たとしても、あるユーザは、「楽しい」と感じ、別のユーザは「腹立たしい」と感じることがある。このような反応の違いは、ユーザの興味や価値観の違いに基づいて生じることが多い。すなわち、コンテンツ再生時にユーザが無意識で示す反応や、ユーザが自然に抱く感情には、そのユーザの個性（興味、嗜好、センス、考え方、価値観など）が顕著に現れるものであり、コンテンツ再生時のユーザの反応情報を収集して分析することにより、ユーザの個性を的確に捕えることが可能になる。ユーザの個性を的確に把握できれば、これを基にして、ユーザ同士のマッチングを精度良く行うことができる。このためには、複数のユーザの反応情報を収集して分析する必要がある。
【０００７】
上記の特許文献１では、複数のユーザの反応情報を収集しているが、それらの活用方法は必ずしも十分には考慮されていなかった。特に、複数のユーザ間の違いを利用した処理は行われていなかった。
【０００８】
上記の特許文献２では、コンテンツ再生時のユーザの反応情報を使って、ユーザ同士のマッチングの程度（類似度）を算出している。しかしながら、類似度の算出に用いている視聴者情報（時系列データ）のサンプルの取り方が一定であり、コンテンツ内の全ての位置を同じ様に扱っているため、十分な精度で類似度を算出できない場合があった。また、サンプルの取り方によっては、必要以上に処理量が多くなる場合があった。また、複数種類の反応情報を用いて類似度を計算することも十分には考慮させていなかった。
【０００９】
そこで本発明は、コンテンツ再生時のユーザの反応情報を用いて、ユーザ間の類似度を精度良く算出することを目的とする。また、ユーザ間の類似度を効率よく算出することを目的とする。更に、複数種類の反応情報を用いて、ユーザ間の類似度を精度良く、かつ効率良く計算することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明のユーザ情報処理プログラムは、コンピュータを、ユーザを識別するためのユーザ識別情報と、コンテンツの再生位置を示す位置情報と、その位置情報に対応する前記ユーザの状態情報とを関連付けた反応データを読み込んで、前記ユーザ識別情報ごとに、前記コンテンツの特定区間に対応するブロックごとに複数の前記反応データを集約した集約データを計算する集約データ計算手段、一のユーザの前記集約データと、他のユーザの前記集約データとを用いて、一のユーザと他のユーザとの類似度を計算する類似度計算手段、として機能させる。
【００１１】
本発明の再生プログラムは、コンピュータを、コンテンツを再生するコンテンツ再生手段、コンテンツ再生前およびコンテンツ再生中のユーザの状態を認識するユーザ状態認識手段、前記ユーザ状態認識手段によって認識されたコンテンツ再生前およびコンテンツ再生中のユーザの状態を用いて、コンテンツの再生位置を示す位置情報と、その位置情報に対応する前記ユーザの状態情報とを関連付けた反応データを作成する反応データ作成手段、として機能させる。
【００１２】
また、本発明の再生プログラムは、コンピュータを、コンテンツを再生するコンテンツ再生手段、コンテンツ再生中およびコンテンツ再生後のユーザの状態を認識するユーザ状態認識手段、前記ユーザ状態認識手段によって認識されたコンテンツ再生中およびコンテンツ再生後のユーザの状態を用いて、コンテンツの再生位置を示す位置情報と、その位置情報に対応する前記ユーザの状態情報とを関連付けた反応データを作成する反応データ作成手段、として機能させる。
【００１３】
本発明のユーザ情報処理装置は、ユーザを識別するためのユーザ識別情報と、コンテンツの再生位置を示す位置情報と、その位置情報に対応する前記ユーザの状態情報とを関連付けた反応データを読み込んで、前記ユーザ識別情報ごとに、前記コンテンツの特定区間に対応するブロックごとに複数の前記反応データを集約した集約データを計算する集約データ計算手段と、一のユーザの前記集約データと、他のユーザの前記集約データとを用いて、一のユーザと他のユーザとの類似度を計算する類似度計算手段と、を有する。
【００１４】
本発明の再生装置は、コンテンツを再生するコンテンツ再生手段と、コンテンツ再生前およびコンテンツ再生中のユーザの状態を認識するユーザ状態認識手段と、前記ユーザ状態認識手段によって認識されたコンテンツ再生前およびコンテンツ再生中のユーザの状態を用いて、コンテンツの再生位置を示す位置情報と、その位置情報に対応する前記ユーザの状態情報とを関連付けた反応データを作成する反応データ作成手段と、を有する。
【００１５】
また、本発明の再生装置は、コンテンツを再生するコンテンツ再生手段と、コンテンツ再生中およびコンテンツ再生後のユーザの状態を認識するユーザ状態認識手段と、前記ユーザ状態認識手段によって認識されたコンテンツ再生中およびコンテンツ再生後のユーザの状態を用いて、コンテンツの再生位置を示す位置情報と、その位置情報に対応する前記ユーザの状態情報とを関連付けた反応データを作成する反応データ作成手段と、を有する。
【００１６】
本発明のユーザ情報処理方法は、ユーザを識別するためのユーザ識別情報と、コンテンツの再生位置を示す位置情報と、その位置情報に対応する前記ユーザの状態情報とを関連付けた反応データを読み込んで、前記ユーザ識別情報ごとに、前記コンテンツの特定区間に対応するブロックごとに複数の前記反応データを集約した集約データを計算するステップと、一のユーザの前記集約データと、他のユーザの前記集約データとを用いて、一のユーザと他のユーザとの類似度を計算するステップと、を含む。
【００１７】
本発明の再生方法は、コンテンツを再生するステップと、コンテンツ再生前およびコンテンツ再生中のユーザの状態を認識するステップと、認識したコンテンツ再生前およびコンテンツ再生中のユーザの状態を用いて、コンテンツの再生位置を示す位置情報と、その位置情報に対応する前記ユーザの状態情報とを関連付けた反応データを作成するステップと、を含む。
【００１８】
また、本発明の再生方法は、コンテンツを再生するステップと、コンテンツ再生中およびコンテンツ再生後のユーザの状態を認識するステップと、認識したコンテンツ再生中およびコンテンツ再生後のユーザの状態を用いて、コンテンツの再生位置を示す位置情報と、その位置情報に対応する前記ユーザの状態情報とを関連付けた反応データを作成するステップと、を含む。
【発明の効果】
【００１９】
本発明のユーザ情報処理プログラム、ユーザ情報処理装置、およびユーザ情報処理方法によれば、コンテンツ再生に係るユーザの状態を利用して、ユーザ間の類似度を精度良く、かつ少ない処理量で効率的に計算することができる。このため他のユーザの情報を希望する一のユーザに対して、類似するユーザの情報を十分な精度で選択して提供することが出来る。
【００２０】
また、本発明の再生プログラム、再生装置、および再生方法によれば、コンテンツ再生中のユーザの状態を認識するだけでなく、コンテンツ再生前およびコンテンツ再生後のユーザの状態を認識し、これらの情報を用いてユーザ反応データを作成するので、ユーザ反応データの精度が高くなる。これにより、ユーザ情報処理装置において、さらにユーザ間の類似度を高い精度で計算できる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施例１におけるシステム全体の構成を示す図である。
【図２】本発明の実施例１おける再生装置の構成を示す図である。
【図３】本発明の実施例１における再生装置の動作を説明するフローチャートである。
【図４】本発明の実施例１におけるユーザ反応データのデータ形式を説明する図である。
【図５】本発明の実施例１におけるユーザ反応データの作成処理を説明するフローチャートである。
【図６】本発明の実施例１におけるユーザ反応データの補正処理を説明する図である。
【図７】本発明の実施例１におけるユーザ情報処理装置の構成を示す図である。
【図８】本発明の実施例１におけるユーザ情報処理装置の集約データ計算手段の構成を示す図である。
【図９】本発明の実施例１におけるブロック情報のデータ形式を説明する図である。
【図１０】本発明の実施例１におけるブロック情報のデータ形式を説明する図である。
【図１１】本発明の実施例１における集約データ計算手段の集約部の動作を説明するフローチャートである。
【図１２】本発明の実施例１における集約データ計算手段の集約データ格納部のデータ形式を説明する図である。
【図１３】本発明の実施例１における類似度計算手段の動作を説明するフローチャートである。
【図１４】本発明の実施例２におけるシステム全体の構成を示す図である。
【発明を実施するための形態】
【実施例１】
【００２２】
本発明の実施例１におけるシステム全体の構成を図１に示す。ユーザ情報処理装置１と、１つ以上の再生装置２（２ａ〜２ｎ）がネットワーク３を介して接続されている。図１ではユーザ情報処理装置１は１つであるが、複数のユーザ情報処理装置１（１ａ〜１ｎ）を用意し、各々のユーザ情報処理装置１の間で、データ交換を行って処理をするようにしてもよい。
【００２３】
次に、再生装置２の構成を図２に示す。再生装置２は、コンテンツを再生するコンテンツ再生手段２１と、ユーザの状態を認識するユーザ状態認識手段２２と、コンテンツ再生位置とユーザ状態とを関連付けたユーザ反応データを作成するユーザ反応データ作成手段２３と、ユーザ情報処理装置１との間でデータの送受信を行う送受信手段２４と、再生装置２全体の制御を行う制御手段２５と、ユーザ属性データを格納するユーザ属性格納手段２６と、により構成されている。また再生装置２には、表示装置２７、スピーカ等の音声出力装置２８、キーボード、マウス、トラックボール、リモコン等の入力装置２９、ユーザの状態を認識するためのセンサ装置３０が接続されている。
【００２４】
再生装置２は、ＣＰＵ、ＲＡＭ、ＲＯＭ、ハードディスクドライブ、ネットワークインタフェース等を備える一般的なコンピュータを用いて、ソフトウェア（プログラム）処理を実行する形態により実現することも可能である。
【００２５】
再生装置２の動作を図３のフローチャートを用いて説明する。
【００２６】
まずステップＳ１００では、制御手段２５がユーザの認証を行なう。再生装置２を使用するユーザには、ユーザ情報処理装置１でユーザを一意に識別可能なユーザ識別情報（ユーザＩＤ）があらかじめ割当られている。ユーザはあらかじめ登録されたユーザＩＤ、パスワードを入力装置２９により再生装置２に入力し、この情報を用いて制御手段２５はユーザを認証する。
【００２７】
ただし、ユーザ情報処理装置１において、ユーザを識別する処理を行なわず、再生装置２を識別する処理を行なう場合には、ステップＳ１００のユーザ認証処理を省略する。また後述するように、ユーザ状態認識手段２２においてユーザの個人識別を行なう場合にもステップＳ１００を省略してよい。
【００２８】
次にステップＳ１１０では、入力装置２９を介したユーザの指示に従って、コンテンツ再生手段２１が、コンテンツを再生する。本実施例におけるコンテンツは、動画、音声、音楽等の時間情報を伴うコンテンツである。コンテンツは再生装置２に格納されていてもよいし、ネットワーク３を介して外部から供給されてもよい。また放送受信手段（図示せず）を用いて放送コンテンツを受信してもよい。またコンテンツが格納されたディスク、可搬型メモリ等をメディアドライブ装置（図示せず）に装着し、メディアドライブ装置を介してコンテンツを読み取るようにしてもよい。
【００２９】
次にステップＳ１２０では、ユーザ状態認識手段２２が、センサ装置３０の出力を用いて、コンテンツ再生中（視聴中）のユーザの状態を認識する。
【００３０】
センサ装置３０は、ユーザの状態を検知し、ユーザに係る信号／データを出力する。出力する信号／データは、ユーザの顔を撮影した画像データ、ユーザの発する音声の音声データ、表示装置２７または音声出力装置２８とユーザとの間の距離データ、ユーザの姿勢に関するデータ、心拍数、血圧などの生体データなどである。またセンサ装置３０は、上記の内の一部（例えば、ユーザの発する音声のみ）を検知し出力するようにしてもよい。
【００３１】
ユーザ状態認識手段２２が認識するユーザの感情等の状態は、１種類または複数種類である。
【００３２】
１種類の状態を認識する場合、例えば、ユーザのコンテンツに対する注目度を認識する。例えば、ユーザの顔画像から視線方向を検出し、それが表示装置２７に向いている場合は、注目度が高い、そうでない場合は注目度が低いと認識する。また、ユーザの発する音声の音声データからユーザの声の大きさや興奮の程度を認識し、それを注目度としてもよい。ユーザの音声を利用する方法は、スポーツ・コンテンツやお笑い系コンテンツなどで特に有効である。また、表示装置２７または音声出力装置２８とユーザとの距離が近ければ注目度が高い、距離が遠ければ注目度が低いと認識してもよい。また、心拍数や血圧が上昇する場合に注目度が高いとしてもよい。また、机、椅子、床などにかかるユーザの体重分布を計測し、表示装置２７または音声出力装置２８に近い側に体重がかかっている場合に注目度が高く、そうでない場合に注目度が低いと認識してもよい。
【００３３】
また１種類の状態を認識する別の例として、ユーザの「笑い」を認識するようにしてもよい。ユーザの「笑い」を認識する方法として、公知の技術を用いることができる。例えば、ユーザの顔画像から「笑い」の表情を認識する場合、特開２００４−４６５９１号公報に記載の技術を用いることができる。また、音声から笑い等の感情を認識する場合、特開平９−２０６２９１号公報に記載の技術を用いることができる。
【００３４】
複数種類の状態を認識する場合、「喜び／笑い」、「怒り／不満」、「悲しみ」、「平常」、「無関心」など複数種類の状態を認識する。センサ装置３０の出力である画像、音声、生体情報などから、このようなユーザの状態を認識するために公知の技術を用いることができる。また、音声認識技術を用いて、ユーザが発する特定の単語やフレーズを認識してもよい。例えば、「へぇー」、「面白い」、「いいね」、「ちょ〜うける」、「ふざけるな」、「くだらない」、「またかよ」等の単語やフレーズである。また、ユーザの舌打ちや涙などを認識するようにしてもよい。更に、センサ装置３０の出力する音声データを用いてユーザの状態を認識する場合、音声出力装置２８で発生させたコンテンツ再生音の成分をキャンセルする処理を行なって、センサ装置３０の出力を利用するようにしてもよい。このようにすると、ユーザの音声をより精度良く認識できる。
【００３５】
１台の再生装置２を使って、同時に複数のユーザがコンテンツを視聴する場合の処理としては、以下の方法を用いることができる。
【００３６】
第１の方法は、ユーザ状態認識手段２２で、ユーザの個人識別を行なった上で、個々のユーザ毎に状態を認識する方法である。例えば、ユーザの顔画像や音声データを使って個人識別を行なう。この場合はステップＳ１００のユーザ認証処理は省略できる。
【００３７】
第２の方法は、個人識別を行なわず、複数のユーザの状態を合わせて、ステップＳ１００で認証した１人のユーザの状態として扱う方法である。例えば、「ユーザＡ」と「ユーザＢ」の２人が視聴していて、「再生位置＝５分」で「ユーザＡ」が笑い、「再生位置＝１０分」で「ユーザＢ」が「ふざけるな」、「くだらない」等の不満を表した場合、１人のユーザが「再生位置＝５分」で笑い、「再生位置＝１０分」で不満を表したとして処理する。
【００３８】
またユーザ状態認識手段２２は、コンテンツ再生時のユーザの状態を認識するだけでなく、コンテンツ再生前およびコンテンツ再生後のユーザの状態を認識して、ユーザ反応データ作成手段２３における処理で利用するようにしてもよい。
【００３９】
再生装置２の別の一例として、センサ装置３０を使用しない構成を用いてもよい。この場合、制御手段２５が、コンテンツ再生中にユーザの感情に関する選択肢を表示装置２７に表示し、入力装置２９を介してユーザからの反応を取得し、その情報をユーザ状態認識手段２２に転送する。例えば、「面白い」、「腹立たしい」、「悲しい」、などの選択肢が表示装置２７に表示され、入力装置２９を用いて、ユーザがその中からその時の自分の気持ちに近いものを選ぶと、それがユーザ状態認識手段２２に伝えられる。
【００４０】
更に別の一例として、コンテンツ再生に係るユーザ操作情報を用いてユーザ状態を認識してもよい。すなわち、ユーザが入力装置２９を用いて入力する、「再生開始」、「再生停止」、「一時停止」、「巻き戻し」、「早送り」、「チャネル切換え」、「音量変更」などの操作情報を制御手段２５が収集し、ユーザ状態認識手段２２に転送する。ユーザ状態認識手段２２は、これらの情報をもとに注目度を判定する。例えば、「巻き戻し」操作を行なって、コンテンツの同じ位置を繰り返し再生した場合は、その再生位置の注目度が高いと判定する。また、「早送り」操作を行なった箇所は、注目度が低いと判定する。
【００４１】
次にステップＳ１３０では、ユーザ反応データ作成手段２３が、コンテンツ再生位置とユーザ状態とを関連付けたユーザ反応データ（ユーザ履歴）を作成する。コンテンツ再生位置は通常、コンテンツ先頭からの相対時間で表す。ただし、放送日時が決まっているテレビ番組やネットのライブ配信などのコンテンツでは、受信日時を再生位置として用いてもよい。
【００４２】
ユーザ反応データの形式を図４に示す。
【００４３】
図４（Ａ）は、再生装置２を使用するユーザが１人であり、１種類の状態を認識する場合のユーザ反応データの形式の一例を示す図である。ユーザＩＤと、認識する状態の種類と、コンテンツＩＤと再生位置と反応度合いとを対応させたテーブルが記録されている。コンテンツＩＤは、ユーザ情報処理装置１でコンテンツを一意に識別可能な数値または文字列であり、コンテンツ制作者や販売事業者によってあらかじめ付与されている場合はそれを用いればよい。そうでない場合は、コンテンツのタイトル等を用いてコンテンツＩＤを生成する。放送番組であれば、放送局名、放送日時等を組み合わせてコンテンツＩＤを生成してもよい。再生位置はそのコンテンツの先頭からの経過時間を「時間：分：秒」の形式で表したものであり、例えば「００：０３：１０」は、先頭から「３分１０秒」を表している。この例では、一定の時間間隔（１０秒）ごとの反応度合いを記録している。反応度合いは、最小「０．０」、最大「１．０」の数値であり、数値が大きいほど、その状態（感情等）の程度が強いことを示している。例えば、音声で「笑い」を認識する場合、笑い声の大きさにより反応度合いを算出する。なお、ユーザ情報処理装置１でユーザを識別する処理を行なわずに、再生装置２を識別する処理を行なう場合は、ユーザＩＤの代わりに再生装置２を識別する再生装置ＩＤを含めてユーザ反応データを作成する。
【００４４】
図４（Ｂ）は、同様に再生装置２を使用するユーザが１人であり、１種類の状態を認識する場合のユーザ反応データの形式の別の一例を示す図である。ユーザＩＤと、認識対象の状態と、コンテンツＩＤと再生位置を対応させたテーブルが記録されている。この例では、再生装置２を使用するユーザのユーザＩＤが「Ｕ５５１０」であり、ユーザの「注目度」を認識していることを示している。図４（Ｂ）では、ユーザの反応度合いが所定値以上の箇所のみを記録しており、反応度合いそのものは省略している。すなわち、再生位置が記録されている箇所で、ユーザの注目度が高いことを示している。この例では、「Ｃ００１」コンテンツに対して、「３分１０秒」と「５分２１秒」の２カ所でユーザの注目度が高まったことになる。なお、一般的にはユーザの注目度が高い状態はある程度の時間持続するが、この例では、注目度が高い状態の最初の再生位置（時間）を記録している。その時間から一定の時間が経過して再び注目度が高くなった再生位置をテーブルの次の行に追加している。図４（Ｂ）の形式により、ユーザ反応データのデータ容量を少なくして、効率的に処理することが可能である。
【００４５】
図４（Ｃ）は、再生装置２を複数のユーザが利用し、ユーザの複数種類の状態（感情等）を認識する場合の例である。ユーザＩＤと、コンテンツＩＤと、再生位置と、状態の種類とを関連付けて記録する。この例のテーブルの１行目では、「Ｃ００２」のコンテンツの再生位置「４分２６秒」でユーザ「Ｕ５５１０」の「笑い」を認識したことを示している。図４（Ｃ）では、反応度合いが反応の種類に応じて決められた所定値以上の箇所のみのデータを作成し、反応度合いはデータに含めずに省略している。
【００４６】
ユーザ反応データの別の一例を図４（Ｄ）に示す。図４（Ｃ）との違いは、状態の先頭再生位置に加えて、状態の末尾再生位置を記録していることと、反応度合いを記録している点である。反応の先頭再生位置は、その状態が最初に認識された再生位置である。反応の末尾再生位置は、同一の状態と見なせる最後の再生位置である。なお一般的には、状態の先頭から状態の末尾までの間で、反応度合いは変化するが、その区間の平均値、または最大値を記録すればよい。図４（Ａ）〜（Ｄ）に示した形式はあくまでも一例であり、この他にも例えば、図４（Ａ）と同様に一定の時間間隔で、ユーザＩＤと、コンテンツＩＤと、状態の種類と、反応度合いとを関連付けて記録してもよい。
【００４７】
以上の説明では、コンテンツ再生中のユーザの状態を認識するものとしたが、更にコンテンツの再生前、またはコンテンツ再生後のユーザの状態を認識してユーザ反応データを作成するようにしてもよい。コンテンツ再生中にユーザが同じように笑った場合でも、コンテンツ再生前にユーザが怒ったり、悲しんでいた場合は、コンテンツ再生前に既にユーザが笑っていた場合よりも、笑いの度合いを大きくする、といった処理を行なう。コンテンツ再生前のユーザの状態種類と、コンテンツ再生後の最初のユーザの状態の種類が正反対である場合には、コンテンツ再生後の最初のユーザの状態の反応の度合いを強くする。また、コンテンツ再生中の最後の状態と、コンテンツ再生後の状態が同じであり、コンテンツ再生後の状態が長時間持続する場合には、コンテンツ再生中の最後の状態の反応の度合いを強くする。
【００４８】
このような処理を行なう場合のユーザ反応データ作成の処理を図５のフローチャートで説明する。
【００４９】
まずステップＳ２００では、ユーザ状態認識手段２２が、コンテンツ再生前に所定の時間ユーザ状態を認識し、結果を保持しておく。
【００５０】
次にステップＳ２１０では、ユーザ状態認識手段２２が、コンテンツ再生中のユーザ状態を認識し、結果を保持しておく。
【００５１】
次にステップＳ２２０では、ユーザ状態認識手段２２が、コンテンツ再生後も引き続き所定の時間ユーザ状態を認識し、結果を保持しておく。
【００５２】
次にステップＳ２３０では、コンテンツ再生後に所定の時間が経過した後に、ユーザ反応データ作成手段２３が、補正前のユーザ反応データを作成する。
【００５３】
次にステップＳ２４０では、ユーザ反応データ作成手段２３が、補正前のユーザ反応データを対象として、コンテンツ再生中のデータの中に、再生前と同じ種類のデータが存在するか否か判定する。「ＹＥＳ」であれば、該当データをマークしてステップＳ２５０に進み、「ＮＯ」であればステップＳ２６０に進む。なお、この際に、再生前にある状態が認識された時間（マイナスの再生位置）、あるいは再生開始の時間から所定時間（例えば１０分）以内のデータを処理対象にしてもよい。
【００５４】
ステップＳ２５０では、ユーザ反応データ作成手段２３が、ステップＳ２４０でマークされたデータを対象にして、反応度合いの数値を減少させる。コンテンツ再生前から同じ種類の状態（感情等）であれば、そのコンテンツの影響力は実際には、補正前の数値として現れたものより小さいためである。反応度合いの変更の方法としてはいくつかの方法がある。
【００５５】
第１の方法は、補正前の数値に「１」より小さい係数を乗算する方法である。例えば、係数が「０．８」で、補正前の数値が「０．５」である場合、補正後の数値は「０．４」となる。
【００５６】
第２の方法は、補正前の数値から所定値を減算する方法である。
【００５７】
第３の方法は、再生前の数値に所定係数を乗算した値を、補正前の反応度合いから減算する方法である。例えば、再生前の数値が「０．５」であり、所定係数が「０．２」で、補正前の反応度合いが「０．７」である場合、「０．７−０．５×０．２＝０．６」となり、補正後の数値は「０．６」となる。
【００５８】
次にＳ２６０では、ユーザ反応データ作成手段２３が、補正前のユーザ反応データを対象として、コンテンツ中のデータの中に、再生前と異なる種類のデータが存在するか否か判定する。「ＹＥＳ」であれば、該当データをマークしてステップＳ２７０に進み、「ＮＯ」であればステップＳ２８０に進む。なお、この際に、再生前にある状態が認識された時間（マイナスの再生位置）、あるいは再生開始の時間から所定時間（例えば１０分）以内のデータを処理対象にしてもよい。
【００５９】
ステップＳ２７０では、ユーザ反応データ作成手段２３が、ステップＳ２６０でマークされたデータを対象にして、反応度合いの数値を増加させる。コンテンツ再生前とは異なる種類の状態（感情等）であれば、そのコンテンツの影響力は実際には、補正前の数値として現れたものより大きいためである。反応度合いの変更の方法としてはいくつかの方法がある。
【００６０】
第１の方法は、補正前の数値に「１」より大きい係数を乗算する方法である。例えば、係数が「１．２」で、補正前の数値が「０．５」である場合、補正後の数値は「０．６」となる。
【００６１】
第２の方法は、補正前の数値に所定値を加算する方法である。
【００６２】
第３の方法は、再生前の数値に所定係数を乗算した値を、補正前の反応度合いに加算する方法である。例えば、再生前の数値が「０．５」であり、所定係数が「０．２」で、補正前の反応度合いが「０．７」である場合、「０．７＋０．５×０．２＝０．８」となり、補正後の数値は「０．８」となる。
【００６３】
また、これら第１〜第３の方法において、再生前の状態の種類と、再生中の状態の種類の組合せに応じて、加算値や、乗算の係数を適宜変えるようにしてもよい。例えば、再生前に「リラックス」で、再生中に「笑い」の場合より、再生前に「怒り」で、再生中に「笑い」の場合の方が、２つの状態の性質の違いが大きいので、後者の加算値や乗算係数をより大きなものにしてもよい。
【００６４】
次にＳ２８０では、ユーザ反応データ作成手段２３が、補正前のユーザ反応データを対象として、コンテンツ再生中のデータの中に、再生後と同じ種類のデータが存在するか否か判定する。「ＹＥＳ」であれば、該当データをマークしてステップＳ２９０に進み、「ＮＯ」であればステップＳ３００に進む。なお、この際に、再生後にある状態が認識された時間、あるいは再生終了の時間より所定時間（例えば１０分）だけ前の範囲にあるデータを処理対象にしてもよい。
【００６５】
ステップＳ２９０では、ユーザ反応データ作成手段２３が、ステップＳ２８０でマークされたデータを対象にして、反応度合いの数値を増加させる。
【００６６】
次にステップＳ３００では、補正前のユーザ反応データから、コンテンツ再生前および再生後のデータを削除する。
【００６７】
以上の処理により、補正後のユーザ反応データが作成される。補正後のデータは、コンテンツに対するユーザの反応をより精度良く表したものである。補正前と補正後のユーザ反応データの一例を図６に示す。
【００６８】
図６（Ａ）は、ステップＳ２３０で作成された、補正前のユーザ反応データを示している。図６（Ａ）の１行目では、状態の先頭再生位置および状態の末尾再生位置の値がマイナスとなっている。これはコンテンツ再生前という意味である。例えば「−００：０２:２０」は、コンテンツ再生の２分２０秒前の時間を示している。また５行目の再生位置の値には「＃（シャープ）」記号が付加されているが、これはコンテンツ再生終了後の時間の意味である。例えば、「＃００：０５：２０」はコンテンツの再生が終了してから５分２０秒後の時間を示している。
【００６９】
図６（Ｂ）は、補正後のユーザ反応データを示している。補正後のユーザ反応データからは、コンテンツ再生前およびコンテンツ再生後の行は削除されている。補正後の１行目は、補正前の２行目に対応するが、反応度合いが「０．８０」から「０．６４」に減少している。これは、補正前の１行目に示したように、コンテンツ再生前に同じ「笑い」のデータが存在した為である。また、補正後の３行目は、補正前の４行目に対応するが、反応度合いが「０．７３」から「０．８５」に増加している。これは、補正前の５行目に示したように、コンテンツ再生後にも同じ「悲しみ」という状態が持続している為である。また、補正後の４行目は、補正前の７行目に対応するが、反応度合いが「０．８」から「１．０」に増加している。これは、補正前の６行目に示したように、コンテンツ再生前の状態が「怒り」であり、これと性質の異なる状態（「笑い」）がコンテンツ再生中に認識された為である。このような補正処理を行なう場合には、補正後のデータをユーザ反応データとして利用する。
【００７０】
以上がステップＳ１３０およびユーザ反応データ作成手段２３の詳細な説明である。
【００７１】
図３のフローチャートの説明に戻ると、次にステップＳ１４０において、制御手段２５が、ステップＳ１３０で作成されたユーザ反応データと、ユーザ属性格納手段２６に格納されているユーザ属性データを送受信手段２４を介してユーザ情報処理装置１に送信する。ユーザ属性格納手段２６には、ユーザＩＤと対応させて、他のユーザに自己紹介するための情報、および他のユーザがコンタクトをとるための情報が格納されている。例えば、ユーザの年齢、性別、血液型、星座、容姿に関する情報、趣味、好きなアーティスト、住所、電話番号、メールアドレス等であるが、これらに限定される訳ではない。また、紹介を希望する他のユーザに関する条件、例えば、年齢層、性別、血液型、星座、容姿、趣味、好きなアーティスト、地域などの情報を合わせて格納し、ユーザ属性データとしてユーザ情報処理装置１に送信しても良い。
【００７２】
以上が再生装置２の動作の説明である。
【００７３】
次にユーザ情報処理装置１について説明する。ユーザ情報処理装置１の構成を図７に示す。再生装置２で作成されたユーザ反応データを格納するユーザ反応データ格納手段１１と、ユーザ反応データを用いて集約データを計算する集約データ計算手段１２と、ユーザ間の類似度を計算する類似度計算手段１３と、再生装置２との間でデータの送受信を行なう送受信手段１４と、ユーザ情報処理装置１全体の制御を行なう制御手段１５と、ユーザ属性を格納するユーザ属性格納手段１６と、により構成されている。またユーザ情報処理装置１には、表示装置１７、キーボード、マウス、トラックボール、リモコン等の入力装置１８が接続されている。
【００７４】
ユーザ情報処理装置１は、ＣＰＵ、ＲＡＭ、ＲＯＭ、ハードディスクドライブ、ネットワークインタフェース等を備える一般的なコンピュータを用いて、ソフトウェア（プログラム）処理を実行する形態により実現することも可能である。
【００７５】
ユーザ属性格納手段１６は、送受信手段１４を介して、各々の再生装置２（２ａ〜２ｎ）からユーザ属性データを受信し、それを格納する。ユーザ属性データには、ユーザＩＤと他のユーザに自己紹介するための情報、および他のユーザがコンタクトをとるための情報が含まれている。また、受信したユーザ属性データに、紹介を希望する他のユーザに関する条件が含まれている場合は、それも格納する。
【００７６】
ユーザ反応データ格納手段１１は、送受信手段１４を介して、各々の再生装置２（２ａ〜２ｎ）からユーザ反応データを受信し、それを格納する。図４に示したように、ユーザ反応データは、いくつかの形式を取り得るが、ユーザ反応データ格納手段１１は、それら全てに対応している。以下では、ユーザ反応データが図４（Ｄ）の形式である場合を主に説明するが、他の形式の場合についても同様である。
【００７７】
集約データ計算手段１２は、ユーザ反応データ格納手段１１に格納されたユーザ反応データを用いて、コンテンツの特定の区間に対応するブロックごとにユーザ反応データを集約した集約データを計算する。ユーザ反応データそのものを使って、ユーザ間の類似度を計算することも可能であるが、本発明においては集約データを用いてユーザ間の類似度を計算する。従来技術の特許文献２においては、図４（Ａ）の形式のユーザ反応データをそのまま用いて、ユーザ間の類似度を算出していると解釈できるが、この問題点を以下に説明する。
【００７８】
第１の問題は、反応度合いを計測する時間間隔を適切に設定することが難しい点である。時間間隔が短いと反応のないサンプルが多くなると共に、２人のユーザがほぼ同時に反応を示した場合であっても、データ上は異なる時間での反応になることが多いので、類似度の精度が低くなる場合がある。またサンプル数が多いと類似度計算に伴う処理量が増大する。逆に時間間隔が長いと、ユーザが反応しても、サンプル点とサンプル点の間の位置になってしまい、類似度に反映されない場合が多い。またそれを回避するために、反応を時間方向に積分する処理を入れると、本来時間的に区別すべき反応も同じ時間の反応として処理してしまうので、類似度の精度が低くなる場合がある。すなわち、類似度を精度良く、かつ少ない計算量で効率的に計算することが難しい。
【００７９】
第２の問題は、コンテンツの構成を反映した類似度計算ができない点である。テレビ番組や映画などの映像コンテンツ、あるいは音楽コンテンツなどでは通常、ある再生位置を境にその前後で内容、意味、印象等が大きく異なるような境界点が存在する。２人のユーザの反応が時間的に近い場合であっても、それらが境界点をはさんだものであれば、それぞれの反応の意味は必ずしも類似しているとは言えない。従来技術では、コンテンツの構成やこのような境界点を考慮していないため、類似度を精度良く計算することが難しい。
【００８０】
本発明では、コンテンツの構成に基づいて、ユーザ反応データから集約データを計算し、集約データを用いてユーザ間の類似度を計算するので、類似度を精度良く、かつ少ない計算量で効率的に計算することが可能である。
【００８１】
集約データ計算手段１２の構成を図８に示す。ブロック情報格納部３１と、集約部３２と、集約データ格納部３３とで構成されている。
【００８２】
ブロック情報格納部３１は、ユーザ反応データの再生位置をブロック番号に変換するための情報を格納している。
【００８３】
ユーザ情報処理装置１において１種類のユーザ状態のみ処理する場合のブロック情報格納部３１の格納データの形式を図９に示す。図９の例では、ユーザ状態として「注目度」を処理対象にしている。図９（Ａ）は、コンテンツＩＤごとに、ブロック先頭再生位置と、ブロック末尾再生位置と、ブロック番号とを対応させたデータである。ブロック先頭再生位置とブロック末尾再生位置は、ユーザ反応データの再生位置と同様に、コンテンツの先頭からの経過時間を「時間：分：秒」の形式で表したものである。本実施例では、コンテンツの特定区間を、「ブロック先頭再生位置」以上「ブロック末尾再生位置」未満の区間として表わす。ブロック番号は、１から始まる続き番号である。ブロックの個数はコンテンツ毎に異なっていてもよい。また、ブロック番号の順序は必ずしも再生位置（時間）の順序と同じでなくてもよい。図９（Ａ）の例では、コンテンツ「Ｃ００１」のブロック個数はＮａであり、コンテンツ「Ｃ００２」のブロック個数はＮｂである。このブロック情報は、コンテンツの構成を反映したものであり、各々のブロックは、そのコンテンツ中で内容、シーン、意味、印象等がある程度まとまっている箇所である。このため一般的には、ブロックごとにブロックの長さ（時間）は異なる。また通常、１番目のブロックは、そのコンテンツの先頭が対応するが、必ずしもその必要はなく、コンテンツの途中から１番目のブロックに対応させてもよい。例えば、図９（Ａ）の例では、コンテンツ「Ｃ００２」のブロック「１」は、「５分０秒」以上「９分３０秒」未満の区間である。この場合、「０分０秒」以上「５分０秒」未満の区間は、どのブロックにも対応しない。また、コンテンツ「Ｃ００２」のブロック「２」は、「１０分１５秒」以上「１２分４５秒」未満の区間である。ブロック「１」と「２」の間の「９：３０秒」以上「１０分１５秒」未満の区間は、どのブロックにも対応しない。コンテンツの中に含まれるコマーシャル部分、他のコンテンツの紹介などの部分、その他あまり重要でない部分は、このようにどのブロックにも対応させないようにしてもよい。どのブロックにも対応しない区間でユーザ反応していたとしても、その情報は類似度計算には利用されない。
【００８４】
また、コンテンツの複数の区間を同一のブロックに対応させてもよい。図９（Ａ）の例では、コンテンツ「Ｃ１００」において、「３分０秒」以上「５分１５秒」未満の区間と、「８分２０秒」以上「９分２４秒」未満の区間が、両方ともブロック「１」に対応している。また、「５分１５秒」以上「７分３２秒」未満の区間と「１０分５秒」以上「１２分３０秒」未満の区間が、両方ともブロック「２」に対応している。コンテンツの中で、内容、意味、印象等が似通っている区間は、このように１つのブロックにまとめてもよい。
【００８５】
更に複数のコンテンツの複数の区間を１つのブロックに対応させてもよい。この例を図９（Ｂ）に示す。コンテンツ「Ｃ０１１」の「０分０秒」以上「３分５秒」未満の区間と、コンテンツ「Ｃ０１２」の「５分０秒」以上「９分３０秒」未満の区間が共に、ブロック番号「１」に対応している。またそれ以降のブロック番号は、２つのコンテンツにまたがった通し番号になっており、この２つのコンテンツでＮｃ個のブロックがある。このように複数のコンテンツをまとめて扱う場合には、対象のコンテンツに同一の統合コンテンツＩＤ（図の例では「Ｄ００１」）を割り当て、それ以降の処理では、コンテンツＩＤの代わりに統合コンテンツＩＤを使う。シリーズ物のコンテンツなどでは、異なるコンテンツでも意味的に似通ったシーンは少なくないので、これらをまとめて１つのブロックにすることで、更に効率的に類似度を計算することが可能になる。また、異なるコンテンツの関連するシーンで、それぞれ似たような反応をするユーザ同士は、非常に類似度が高いと考えられる。複数のコンテンツにまたがるユーザの反応を１つのブロックにまとめることにより、複数のコンテンツに対するユーザの反応を簡潔に少数のデータで表現できるので、類似度を精度良く、かつ効率的に計算することが可能になる。
【００８６】
ユーザ情報処理装置１において、複数種類のユーザ状態を処理する場合のブロック情報格納部３１の格納データの形式を図１０に示す。
【００８７】
図１０（Ａ）は、各々のユーザ状態に同じ区間を対応させて、同じ個数（Ｎｄ個）のブロックを割り当てる場合の例である。この例では、コンテンツ「Ｃ０１０」に関係するユーザ状態は、「笑い」、「怒り」、「悲しみ」の３つであり、各々にＮｄ個、合計で３Ｎｄ個のブロックが割り当てられている。ブロック先頭再生位置とブロック末尾再生位置は、ユーザ状態の種類が異なっていても同じである。
【００８８】
図１０（Ｂ）は、ユーザ反応データのユーザ状態の種類応じて、それぞれ異なった区間に対応するブロックを作成する場合のブロック情報である。図１０（Ａ）において、状態の種類ごとに、異なる数のブロックが設定されている。コンテンツ「Ｃ００１」の場合、「笑い」に対して「Ｎｆ」個、「怒り」に対して「Ｎｇ」個、「悲しみ」に対して「１」個のブロックが設定されている。コンテンツ「Ｃ００１」では、合計「Ｎｆ＋Ｎｇ＋１」個のブロックが作成される。このように、状態の種類に応じて、最適な数のブロックを設定することにより、類似度計算を効率的かつ、精度良く行うことができる。例えば、コンテンツ「Ｃ００１」の例は、通常ユーザが「悲しみ」を表わす箇所が１か所であると想定される場合の例であり、この箇所以外にユーザが「悲しみ」を表わしたとしても、それを類似度計算に反映させる必要がない、むしろ反映させない方が類似度の精度が向上する、と判断できる場合の例である。もちろん、複数種類の状態に対して、それぞれ同じ数のブロックを設定してもよい。
【００８９】
図１０（Ｃ）は、複数種類の状態を１つのブロックに対応させた場合の一例である。この例では、コンテンツ「Ｃ００２」において、「５分０秒」以上「８分４０秒」未満の同じ区間で、「笑い」、「怒り」、「無関心（無表情）」の３つの状態が、類似度計算に利用されることになっている。まずこの区間で「笑い」を示すユーザは、他の２つを示すユーザと、明らかに個性が異なると判断した結果、「笑い」に独立したブロック「１」を対応させている。次に、この区間で「怒り」を示すユーザと、「無関心」を示すユーザは、本質的にそれほど変わらないと判断した結果、「怒り」と「無関心」を同じブロック「２」に対応させている。また、「１５分２０秒」以上「１６分１５秒」未満の「笑い」と、「１８分１０秒」以上「１８分３０秒」未満の「無関心」は、どちらもブロック番号「４」に対応している。これは、「１５分２０秒」以上「１６分１５秒」未満の区間で「笑い」を示し、「１８分１０秒」以上「１８分３０秒」未満の区間で「無関心（無表情）」を示しているユーザは、ある特定のタイプに該当すると判断されている。このように再生位置と状態の種類がともに異なっているユーザ反応であっても、場合によっては同一のブロックに対応させた方が、ユーザの個性をより明確に、かつ少数のデータで簡潔に表わすことができるので、類似度を精度よく、かつ効率よく計算することが可能になる。
【００９０】
この図の「状態係数」は、同一ブロックに対応する状態の種類の重みを示す係数であり、後述するように集計データを計算する際に使用する。例えば、ブロック「２」には、「怒り」と「無関心」が対応するが、「怒り」の重みを「０．６」、「無関心」の重みを「０．４」として、集計データを計算する。
【００９１】
なお、図１０の例では示していないが、複数のユーザ状態に対応するブロック情報の場合であっても、図９に示した例と同様に、複数の区間を同一のブロックに対応させたり、複数のコンテンツの複数の区間を同一のブロックに対応させてもよい。
【００９２】
次に、集約データ計算手段１２の集約部３２について説明する。集約部３２は、ブロック情報格納部３１を参照しながら、ユーザ反応データ格納手段１１に格納されているユーザ反応データから集約データを計算する。集約部３２の動作を図１１のフローチャートを用いて説明する。
【００９３】
まずステップＳ５００において、集約部３２は、計算過程で集約データを一時的に保持するためのバッファを初期化する。このバッファは、ユーザＩＤ（以下では「Ｕ」と表記）と、コンテンツＩＤ（統合コンテンツＩＤを含む。以下では「Ｃ」と表記）と、ブロック番号（以下では「Ｂ」と表記）の３つの引数を指定して、値の読み書きが可能なものである。以下では、「Ｐ(Ｕ, Ｃ, Ｂ)」という表記で、その値を表わす。またこのバッファは、必要に応じて記憶領域を自動的に拡張する機能を持つ。初期状態では、全てのユーザ、全てのコンテンツ、全てのブロック番号に対して、バッファの値は「０」である。
【００９４】
次にステップＳ５１０において、集約部３２は、ユーザ反応データ格納手段１１を参照し、ユーザ反応データに記録されているユーザＩＤの中から、まだ処理を行っていないユーザＩＤを１つ選ぶ。このユーザＩＤを以下では、「Ｕｘ」と表記する。
【００９５】
次にステップＳ５２０において、集約部３２は、ユーザ反応データ格納手段１１を参照し、ユーザＵｘに関してまだ処理を行っていないコンテンツＩＤを１つ選ぶ。このコンテンツＩＤを以下では、「Ｃｘ」と表記する。
【００９６】
次にステップＳ５３０において、集約部３２は、ユーザ反応データ格納手段１１を参照し、ユーザＵｘがコンテンツＣｘを利用した際のユーザ状態の中から、まだ処理に使用していないユーザ状態を１つ選ぶ。このユーザ状態を以下では、「Ｍｘ」と表記する。
【００９７】
次にステップＳ５４０において、集約部３２は、ユーザ反応データ格納手段１１を参照し、ユーザがＵｘで、コンテンツがＣｘで、ユーザ状態がＭｘである条件を満たすユーザ反応データの中から、まだ処理していないデータを１つ選ぶ。図４（Ｄ）に示す形式の場合であれば、テーブルの１行を読み出す。この選択したユーザ反応データを以下では「Ｒｘ」と表記する。
【００９８】
次にステップＳ５５０において、集約部３２は、ブロック情報格納部３１のブロック情報を参照しながら、Ｃｘ、Ｍｘ、Ｒｘの再生位置を用いて、Ｒｘに対応するブロックを判定する。
【００９９】
具体的には、ブロック情報のコンテンツＩＤが「Ｃｘ」であり、「Ｒｘの再生位置」が「ブロック先頭再生位置」以上かつ「ブロック末尾再生位置」未満であり、ブロック情報の中の状態の種類が「Ｍｘ」であるブロック番号を判定する。なお、ブロック情報に「状態の種類」が含まれない場合は、「状態の種類」が「Ｍｘ」と一致するという条件は含めない。また、Ｒｘに対応するブロック番号は、１つだけではなく複数存在する場合がある。例えば、ユーザ反応データが図４（Ｄ)に示すように状態区間の情報、すなわち「状態の先頭再生位置」と「状態の末尾再生位置」の情報を持っており、状態区間が複数のブロックにまたがっている場合である。このステップで判定されたブロック番号を「Ｂｘ」とする。
【０１００】
次にステップＳ５６０において、集約部３２は、ユーザ反応データＲｘにおける反応度合い（以下では「Ｄｘ」と表記する）を下記の数式（１）に示すように加算して、その時点での集計データ（集約値）であるＰ（Ｃｘ，Ｕｘ，Ｂｘ）を更新する。ユーザ反応データＲｘの中に、「反応度合い」が存在しない場合には、所定の数値をＰ（Ｃｘ，Ｕｘ，Ｂｘ）に加算する。例えば、「１．０」や「０．７」といった数値を用いればよい。また、ブロック情報の中に状態係数が存在する場合は、下記の数式（１）のＤｘに代えて、Ｄｘと状態係数を乗算した値を用いる。ステップＳ５５０で判定されたブロック番号が複数存在する場合は、ステップＳ５６０の処理をそれぞれのブロック番号について行う。
【数１】
2011129997.tif 000003
【０１０１】
次にステップＳ５７０において、集約部３２は、ユーザ反応データ格納手段１１を参照し、ユーザがＵｘで、コンテンツがＣｘで、ユーザ状態がＭｘである全てのユーザ反応データを処理したか否か判定する。未処理のデータが存在する場合はステップＳ５４０に進み、未処理のデータが存在しない場合はステップＳ５８０に進む。
【０１０２】
次にステップＳ５８０において、集約部３２は、ユーザ反応データ格納手段１１を参照し、ユーザＵｘがコンテンツＣｘを利用した際のユーザ状態の中から、まだ処理していないユーザ状態があるか否か判定する。未処理のユーザ状態が存在する場合はステップＳ５３０に進み、未処理のユーザ状態が存在しない場合はステップＳ５９０に進む。
【０１０３】
次にステップＳ５９０において、集約部３２は、ユーザ反応データ格納手段１１を参照し、ユーザＵｘに関してまだ処理を行っていないコンテンツがあるか否か判定する。未処理のコンテンツが存在する場合はステップＳ５２０に進み、未処理のコンテンツが存在しない場合はステップＳ６００に進む。
【０１０４】
次にステップＳ６００において、集約部３２は、ユーザ反応データ格納手段１１を参照し、ユーザ反応データに記録されているユーザＩＤの中から、まだ処理を行っていないユーザがいるか否か判定する。未処理のユーザが存在する場合はステップＳ５１０に進み、未処理のユーザが存在しない場合はステップＳ６１０に進む。
【０１０５】
次にステップＳ６１０において、集約部３２は、バッファ「Ｐ(Ｕ, Ｃ, Ｂ)」の全てのデータを集約データ格納部３３に格納する。
【０１０６】
以上が集約データ計算手段１２の集約部３２の動作の説明である。本実施例では以上の処理の結果、ユーザが反応を示したブロックの集約値は正の値（０より大きな値）となる。またユーザが反応していないブロックの集約値は、初期状態の「０」になっている。またユーザが利用していないコンテンツのブロックは、全て初期状態の「０」になっている。
【０１０７】
集約データ計算手段１２の集約データ格納部３３には、図１２に示す形式でデータが格納される。ユーザＩＤと、コンテンツＩＤ（または統合コンテンツＩＤ）と、ブロック番号と、グローバルブロック番号と、バッファ「Ｐ(Ｕ, Ｃ, Ｂ)」の値である集約値とが関連づけられて格納されている。なお、図９（Ｂ）に示したように、ブロック情報に統合コンテンツＩＤが存在する場合には、集約データ格納部３３において、コンテンツＩＤの代わりに対応する統合コンテンツＩＤを用いる。図１２の例では、集約データ格納部３３にＫ個のユーザＩＤと、Ｌ個のコンテンツＩＤ（または統合コンテンツＩＤ）が格納されている様子を示している。以下の説明では、このように集約データ格納部にＫ個のユーザＩＤと、Ｌ個のコンテンツＩＤおよび統合コンテンツＩＤが格納されているものとする。
【０１０８】
ブロック番号は、コンテンツ毎に付けられた１から始まる通し番号である。グローバルブロック番号は、集約データ格納部３３に格納されている全てのコンテンツの全てのブロックを一意に識別できる番号である。本実施例では、１からＮｚまでのグローバルブロック番号があるものとする。コンテンツＩＤとブロック番号の組み合わせで、全てのコンテンツのブロックを特定することもできるが、グローバルブロック番号を用いることにより、１種類の番号で、全てのコンテンツのブロックを特定できる。なお、集約データ格納部３３に、ユーザＩＤと、グローバルブロック番号と、集約値とを格納するようにして、コンテンツＩＤとブロック番号の格納を省略してもよい。
【０１０９】
次にユーザ情報処理装置１が再生装置２に対して提供する類似ユーザ情報を作成する方法について説明する。あるユーザ（一のユーザ）が利用する再生装置２において、一のユーザが入力装置２９を操作して、類似ユーザ情報の取得を指示すると、制御手段２５はステップＳ１００と同様のユーザ認証処理を行った後、送受信手段２４を介して、類似ユーザ情報リクエストとユーザＩＤとをユーザ情報処理装置１に送信する。なお、ユーザ情報処理装置１において、ユーザを識別する処理を行なわず、再生装置２を識別する処理を行なう場合には、ユーザＩＤの代わりに、再生装置２を識別する情報を送信すればよい。ユーザ情報処理装置１の送受信手段１４は、この類似ユーザ情報リクエストとユーザＩＤとを受信し、類似度計算手段１３に通知することにより、類似度計算手段１３が一のユーザに対する類似ユーザ情報を作成する。
【０１１０】
類似度計算手段１３の動作を図１３のフローチャートを用いて説明する。
【０１１１】
まずステップＳ７００において、類似度計算手段１３は、類似ユーザ情報リクエストを発行したユーザ（一のユーザ）のユーザＩＤ（一のユーザＩＤ）に対応する集約データを集約データ格納部３３から読み出す。以下では一のユーザＩＤをＵａとする。Ｕａの集約値をグローバルブロック番号に対応させて読み出し、ベクトル形式のデータとして保持する。以下ではこのベクトルをＶａ［ｉ］（ｉはグローバルブロック番号で、ｉ＝１〜Ｎｚ）で表わす。
【０１１２】
次にステップＳ７１０において、類似度計算手段１３は、集約データ格納部３３を参照しながら、Ｕａ以外のユーザＩＤの内からで、まだ処理を行っていないユーザＩＤを１つ選択する。このユーザＩＤをＵｂとする。
【０１１３】
次にステップＳ７２０において、類似度計算手段１３は、Ｕｂの集約データを集約データ格納部３３から読み出す。Ｕｂの集約値をグローバルブロック番号に対応させて読み出し、ベクトル形式のデータとして保持する。以下ではこのベクトルをＶｂ［ｉ］（ｉはグローバルブロック番号で、ｉ＝１〜Ｎｚ）で表わす。
【０１１４】
次にステップＳ７３０において、類似度計算手段１３は、ＶａとＶｂを用いて、ユーザＵａとユーザＵｂとの類似度Ｓａｂを計算し、ＵｂとＳａｂを対応させた結果をバッファＱに格納する。類似度の計算方法としては以下に示す種々の方法を用いることができる。以下ではＳａｂの値が大きいほど、ユーザ間の類似度が高いと判断できる。
【０１１５】
第１の計算方法は、下記の数式（２）に従って、ＶａとＶｂが共に正の値（０より大きな値）となるベクトル要素の数をカウントする方法である。コンテンツの同じブロックに対して反応を示すユーザは類似性が高いという判断に基づく処理である。
【数２】
2011129997.tif 000004
【０１１６】
第２の計算方法は、下記の数式（３）に従って、ＶａとＶｂのコサイン尺度（２つのベクトルのコサイン角度）を計算する方法である。数式（３）の分子は、ＶａとＶｂの内積であり、分母はＶａのノルムとＶｂのノルムの積である。
【数３】
2011129997.tif 000005
【０１１７】
第３の計算方法は、下記の数式（４）に従って、ＶａとＶｂの相関係数を計算する方法である。数式（４）において、Ｖａｍは、Ｖａ［ｉ］（ｉ＝１〜Ｎｚ）の平均値、Ｖｂｍは、Ｖｂ［ｉ］（ｉ＝１〜Ｎｚ）の平均値である。なお、数式（４）では、ｉ＝１〜Ｎｚの全てのグローバルブロックの集約値を用いて、相関係数を計算しているが、一部のグローバルブロックの集約値のみを用いて相関係数を計算してもよい。例えば、ＶａとＶｂが共に正の値となるグローバルブロックの集合を作成し、この集合を対象としてＶａの平均値ＶａｍとＶｂの平均値Ｖｂｍをそれぞれ計算した後、数式（４）の各々のΣで示されている加算演算を前記集合を対象として行い、相関係数を計算してもよい。
【数４】
2011129997.tif 000006
【０１１８】
第４の計算方法は、下記の数式（５）に従って、ＶａとＶｂの距離を計算し、これを用いて類似度を計算する方法である。広義の意味では、距離も類似度の内に入るが、距離が小さいほど類似性が高くなる。Ｓａｂの値が大きいほど類似性が高くなるようにした方が都合が良いので、数式（５）を用いる。ここでαは定数である。なお、ここではユークリッド距離を用いているが、マハラノビス距離を用いてもよい。また、ＶａとＶｂの差の２乗の代わりに、ＶａとＶｂの差の絶対値を計算して用いてもよい。
【数５】
2011129997.tif 000007
【０１１９】
第５の計算方法は、下記の数式（６）に従って、ＶａとＶｂの距離を計算し、これを用いて類似度を計算する方法である。β、γ、λは定数であり、γは通常１未満である。なお、ここではユークリッド距離を用いているが、マハラノビス距離を用いてもよい。また、ＶａとＶｂの差の２乗の代わりに、ＶａとＶｂの差の絶対値を計算して用いてもよい。
【数６】
2011129997.tif 000008
【０１２０】
第６の計算方法は、下記の数式（７）に従って、ＶａとＶｂの内積と、Ｖａ、Ｖｂそれぞれの２乗和を用いて計算する方法である。
【数７】
2011129997.tif 000009
【０１２１】
さらに、上記第１〜第６の計算方法を組合せて類似度Ｓａｂを計算してもよい。例えば、第２の計算方法と、第４の計算方法を組合せて、下記の数式（８）に従って計算してもよい。ここで、μ、νは定数である。
【数８】
2011129997.tif 000010
【０１２２】
以上が類似度Ｓａｂの計算方法の説明である。
【０１２３】
次にステップＳ７４０において、類似度計算手段１３は、集約データ格納部３３を参照しながら、Ｕａ以外のユーザＩＤで、まだ処理を行っていないユーザＩＤがあるか否か判定する。未処理のユーザＩＤが存在する場合はステップＳ７１０に進み、未処理のユーザＩＤが存在しなければ、ステップＳ７５０に進む。
【０１２４】
次にステップＳ７５０において、類似度計算手段１３は、一のユーザを除く他のユーザのユーザＩＤと類似度Ｓａｂとがそれぞれ記憶されているバッファＱを参照し、類似度の高いユーザを以下の方法で選ぶ。
【０１２５】
第１の選択方法は、類似度Ｓａｂが所定値以上のユーザを選ぶ方法である。また、所定値以上のユーザの人数が多すぎる場合や、人数が少なすぎる場合には、所定値を変更してユーザを選択し直してもよい。
【０１２６】
第２の選択方法は、類似度Ｓａｂを大きい順に並べた場合の上位から所定の人数を超えない人数だけ選択する方法である。バッファＱに所定数より多いユーザが存在する場合は、Ｓａｂの大きい順に所定数だけユーザを選択し、そうでない場合は、バッファＱに存在する全てのユーザを選択する。
【０１２７】
また、第１の選択方法と第２の選択方法を組合せてもよい。例えば、類似度Ｓａｂが所定値以上のユーザを候補として、その中から類似度の高い順に所定の人数を超えない人数だけ選択してもよい。すなわち、類似度Ｓａｂが所定値以上のユーザの人数が所定の人数よりも多い場合は、Ｓａｂの大きい順に所定の人数を選択し、そうでない場合は、Ｓａｂが所定値以上の全てのユーザを選択する。更に、ユーザ属性格納手段１６に格納されているユーザ属性データの中に、一のユーザが紹介を希望する他のユーザに関する条件が含まれている場合には、それに合致するユーザを対象にして、第１の選択方法、または第２の選択方法、または第１の選択方法と第２の選択方法を組合せた方法などにより、類似度の高いユーザを選択しても良い。
【０１２８】
次にステップＳ７６０において、類似度計算手段１３は、ステップＳ７５０で選択されたユーザのユーザＩＤに対応するユーザ属性データをユーザ属性格納手段１６から読み出し、送受信手段１４を介して、再生装置２に送信する。
【０１２９】
また上記とは別の方法として、類似度計算手段１３において特開２００５−７１１２６号公報などに記載の方法をベースに更に変形して用いてもよい。すなわち、ユーザＩＤを行列の行または列に対応させ、グローバルブロック番号をもう一方の列または行に対応させ、行列要素が集約値である行列を形成する。そして、この行列に対して数量化３類や主成分分析などの多変量解析手法を適用し、グローバルブロック数Ｎｚよりも小さな次元を持つ低次元ベクトル（スコアベクトル）を形成し、一のユーザの低次元ベクトルと他のユーザの低次元ベクトルの類似度を上記のステップＳ７３０と同様に計算して、類似度の高いユーザを選択してもよい。これにより、ユーザ間の類似度をさらに精度よく計算することができる。また、計算量をさらに削減することができる。
以上が類似度計算手段１３の動作の説明である。
【０１３０】
再生装置２の制御手段２５は、ユーザ情報処理装置１から類似ユーザの属性情報を送受信手段２４を介して受信し、表示装置２７にその情報を表示させる。これにより、一のユーザは自分とコンテンツに対する興味、嗜好、センスが類似するユーザの情報を知ることができ、そのユーザとコンタクトを取ることも可能になる。
また、一のユーザに対して、類似ユーザの情報を提供するだけでなく、他の情報を提供してもよい。例えば、ユーザ情報処理装置１が、コンテンツＩＤに対応させてコンテンツのタイトル、制作者、ジャンル、制作年、説明文等のコンテンツ属性情報を格納すると共に、ユーザ反応データ格納手段１１の中から、類似ユーザの利用頻度が高く、かつ一のユーザの利用頻度が少ない（または利用していない）コンテンツのコンテンツＩＤを選択し、選択したコンテンツＩＤに対応するコンテンツ属性情報を一のユーザに対して提供してもよい。
【実施例２】
【０１３１】
実施例２のシステム全体の構成を図１４に示す。実施例１では、ユーザ情報処理装置１と再生装置２が別々の装置であったが、実施例２においては、この２つの装置の機能を併せ持つ統合装置５を用いる。複数の統合装置５がネットワーク３を介して、ピアツーピアでお互いに接続可能なシステムである。統合装置５は、ユーザ情報処理部５１と、再生部５２で構成されている。ユーザ情報処理部５１の構成および動作は、実施例１におけるユーザ情報処理装置１と同様である。また再生部５２の構成および動作は、実施例１における再生装置２と同様である。
【符号の説明】
【０１３２】
１  ユーザ情報処理装置
２  再生装置
３  ネットワーク
５  統合装置
１１  ユーザ反応データ格納手段
１２  集約データ計算手段
１３  類似度計算手段
１４  送受信手段
１５  制御手段
１６  ユーザ属性格納手段
１７  表示装置
１８  入力装置
２１  コンテンツ再生手段
２２  ユーザ状態認識手段
２３  ユーザ反応データ作成手段
２４  送受信手段
２５  制御手段
２６  ユーザ属性格納手段
２７  表示装置
２８  音声出力装置
２９  入力装置
３０  センサ装置
３１  ブロック情報格納部
３２  集約部
３３  集約データ格納部
【図１】
2011129997.tif 000011
【図２】
2011129997.tif 000012
【図３】
2011129997.tif 000013
【図４】
2011129997.tif 000014
【図５】
2011129997.tif 000015
【図６】
2011129997.tif 000016
【図７】
2011129997.tif 000017
【図８】
2011129997.tif 000018
【図９】
2011129997.tif 000019
【図１０】
2011129997.tif 000020
【図１１】
2011129997.tif 000021
【図１２】
2011129997.tif 000022
【図１３】
2011129997.tif 000023
【図１４】
2011129997.tif 000024