(57)【特許請求の範囲】
【請求項１】
ユーザのコンテンツに対する評価値を格納したユーザ×コンテンツ行列から復元ユーザ×コンテンツ行列を推定するコンテンツ推薦装置であって、
ユーザのコンテンツに対する評価値からユーザ×コンテンツ行列を生成する行列生成部と、
前記生成されたユーザ×コンテンツ行列に基づき、ユーザ圧縮行列とコンテンツ圧縮行列とを初期的に設定する初期値設定部と、
前記ユーザ圧縮行列に前記ユーザの属性情報を加算することによりユーザ圧縮属性情報加算行列を生成する属性情報加算部と、
前記生成されたユーザ圧縮属性情報加算行列と前記コンテンツ圧縮行列とを所定の更新処理により更新する更新処理部と、
前記更新されたユーザ圧縮属性情報加算行列とコンテンツ圧縮行列とから復元ユーザ×コンテンツ行列を計算し、前記ユーザ×コンテンツ行列と前記復元ユーザ×コンテンツ行列との差分が所定の閾値以下であるか判断する更新判定部と、
を有し、
前記更新判定部は、前記差分が前記所定の閾値を超える場合には前記更新処理部に前記更新処理を再実行するよう指示し、前記差分が前記所定の閾値以下である場合には前記計算された復元ユーザ×コンテンツ行列を推定された復元ユーザ×コンテンツ行列として決定するコンテンツ推薦装置。
【請求項２】
前記属性情報は、コンテンツに対する嗜好に関連性を有するユーザ固有の情報である、請求項１記載のコンテンツ推薦装置。
【請求項３】
前記所定の更新処理は、前記差分を目的関数とする最急降下法による更新処理である、請求項１又は２記載のコンテンツ推薦装置。
【請求項４】
ユーザのコンテンツに対する評価値を格納したユーザ×コンテンツ行列から復元ユーザ×コンテンツ行列を推定するコンテンツ推薦方法であって、
ユーザのコンテンツに対する評価値からユーザ×コンテンツ行列を生成するステップと、
前記生成されたユーザ×コンテンツ行列に基づき、ユーザ圧縮行列とコンテンツ圧縮行列とを初期的に設定するステップと、
前記ユーザ圧縮行列に前記ユーザの属性情報を加算することによりユーザ圧縮属性情報加算行列を生成するステップと、
前記生成されたユーザ圧縮属性情報加算行列と前記コンテンツ圧縮行列とを所定の更新処理により更新するステップと、
前記更新されたユーザ圧縮属性情報加算行列とコンテンツ圧縮行列とから復元ユーザ×コンテンツ行列を計算し、前記ユーザ×コンテンツ行列と前記復元ユーザ×コンテンツ行列との差分が所定の閾値以下であるか判断するステップと、
を有し、
前記差分が前記所定の閾値を超える場合には、前記更新するステップにおいて前記更新処理を再実行し、前記差分が前記所定の閾値以下である場合には、前記計算された復元ユーザ×コンテンツ行列を推定された復元ユーザ×コンテンツ行列として決定するコンテンツ推薦方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に情報処理装置に関し、より詳細には、コンテンツ推薦装置及び方法に関する。
【背景技術】
【０００２】
近年の情報処理技術の発達は、データベースなどに格納されている大量のデータから何らかの有用な知識を抽出することを可能にした。このような技術を利用して、各ユーザの行動履歴に関する情報をデータベースに蓄積し、これらの情報を分析することによって、ユーザの嗜好に適合したコンテンツや商品などを推薦するレコメンドシステムが開発されている。
【０００３】
このようなレコメンドシステムでは、ユーザの行動履歴を分析するため、コンテンツフィルタリング、ベイジアンネットワーク、ルールベース、協調フィルタリングなどの各種解析手法が利用されている。これら手法のうち、協調フィルタリングを利用したコンテンツレコメンドシステムでは、対象ユーザと嗜好の類似している他のユーザが探索され、検出されたユーザのコンテンツ履歴に基づき対象ユーザにコンテンツが推薦される。
【０００４】
図１は、協調フィルタリングの仕組みを概略的に示す。図１では、Ａさんは、料理番組を録画し、カーレース番組を予約し、サッカー番組を検索したことが示されている。また、Ｂさんは、恋愛ドラマを視聴し、ウェディングに関する番組を検索し、リゾート地に関する番組に興味を持ったことが示されている。さらに、Ｃさんは、ニュース番組を予約し、サッカー番組についてコメントを投稿し、料理番組に興味を持ったことが示されている。協調フィルタリングでは、このような各ユーザの行動履歴から、ＡさんとＣさんは、料理番組とサッカー番組に関する共通の履歴を有し、嗜好が類似していると推定される。このように嗜好が類似するユーザが推定されると、例えば、ＡさんにはＣさんが予約したニュース番組が推薦され、ＣさんにはＡさんが予約したカーレース番組が推薦される。
【０００５】
具体的には、ユーザの各コンテンツに対する行動履歴からユーザの各コンテンツに対する評価を決定し、これらの評価値を図示されるようなマトリックス形式などのデータとして記録する。例えば、ユーザがあるコンテンツを録画した場合、ユーザは当該コンテンツをかなり高く評価していると考えられるため、相対的に高い評価値が付与される（例えば、５など）。他方、ユーザがあるコンテンツを単に検索しただけである場合、ユーザは当該コンテンツをそれほど高く評価していないと考えられるため、相対的に低い評価値が付与される（例えば、１など）。このようにしてユーザのコンテンツに対する行動履歴を収集することによって、図示されるようなマトリックスＲが取得される。ここで、図示されたマトリックスＲでは、Ｂさんはカーレース番組に対してはまだ何れのアクションも実行しておらず、評価値が未確定状態になっている。実際には、コンテンツは無数にあるため、ユーザがすべてのコンテンツに何れのアクションも実行していないことが一般的であり、マトリックスＲは評価値が未確定な要素を含む疎なマトリックスであると考えられる。協調フィルタリングでは、評価値が判明している要素から評価値が未確定な要素を推定し、まだ何れのアクションも実行されていないが、高い評価値が推定されたコンテンツをユーザに推薦する。このようにして、同様の嗜好を有した他のユーザの行動履歴に基づき、まだ何れのアクションもされていないコンテンツをユーザに推薦することができ、当該ユーザがこれまでまったく気づかなかったコンテンツを推薦すること、すなわち、ユーザに"気づき"を与えることが可能となる。
【０００６】
このような協調フィルタリングに利用される具体的なレコメンド計算手法として、Ｎｅｔｆｌｉｘなどにも利用される高速特異値分解アルゴリズムが知られている。この高速特異値分解アルゴリズムは、特異値分解とインクリメント学習を利用することによって高速計算の特性を有していることが知られている。
【０００７】
従来の協調フィルタリングアルゴリズムでは、典型的には、図２に概略的に示されるように、以下の処理が実行される。
【０００８】
まず、ｉ）各ユーザの各コンテンツに対する評価値が各要素に記述されたユーザ×コンテンツ行列Ｒに対する特異値分解を適用後のユーザ行列Ｕ√ＳＴとコンテンツ行列√ＳＶＴに対して、初期的に設定された次元に基づき、ユーザ行列Ｕ√ＳＴとコンテンツ行列√ＳＶＴがそれぞれ圧縮されたユーザ圧縮行列Ｕｋ√ＳＴｋとコンテンツ圧縮行列√ＳｋＶＴｋの初期値を設定する。
【０００９】
次に、ｉｉ）ユーザ圧縮行列×コンテンツ圧縮行列により生成される復元ユーザ×コンテンツ行列が以下のように計算される。
【００１０】
【数１】
0005442547.tif 000002
このようにして取得された復元ユーザ×コンテンツ行列と元のユーザ×コンテンツ行列Ｒとの差分（誤差）が最小となるように最急降下法を適用し、差分が所定の閾値以下となる復元ユーザ×コンテンツ行列が導出される。より詳細には、
【００１１】
【数２】
0005442547.tif 000003
を最小化するため、元のユーザ×コンテンツ行列Ｒと復元ユーザ×コンテンツ行列の対応する各要素の差分
【００１２】
【数３】
0005442547.tif 000004
の和が最小化される。なお、Ｔは元のユーザ×コンテンツ行列Ｒの評価値が判明している要素の集合を表す。これは、上述したように、行列Ｒが疎な行列であり、すべての要素が値を有しているとは限らないためである。ここで、復元ユーザ×コンテンツ行列の各要素は、
【００１３】
【数４】
0005442547.tif 000005
により表される（ｋは任意の整数）。ここで、ｐｕｋ及びｑｋｉはそれぞれユーザ圧縮行列Ｕｋ√ＳＴｋ（＝ＰｋＴ）及びコンテンツ圧縮行列√ＳｋＶＴｋ（＝Ｑｋ）の要素を表す。
【００１４】
この各差分の平方の和ＳＳＥと、ＳＳＥを集合Ｔの要素の個数で割った商の平方根ＲＭＳＥとは、以下のように表され、
【００１５】
【数５】
0005442547.tif 000006
これらの式に対して最急降下法を適用して、ＳＳＥ及び／又はＲＭＳＥの値を最小化するパラメータを推定する。
【００１６】
【数６】
0005442547.tif 000007
具体的には、最急降下法に従って、
【００１７】
【数７】
0005442547.tif 000008
を繰り返し実行し、各繰り返し毎にＳＳＥ及び／又はＲＭＳＥの値が十分小さな所定の閾値以下になったか判定され、この閾値以下になったときのパラメータＰ，Ｑにより生成される行列を復元ユーザ×コンテンツ行列とする。
【００１８】
ｉｉｉ）このようにして導出された復元ユーザ×コンテンツ行列における評価値の高いコンテンツが、ユーザに推薦される。
【先行技術文献】
【特許文献】
【００１９】
【特許文献１】特開２００５−３１００９４号公報
【特許文献２】特開２００５−１６７６２８号公報
【発明の概要】
【発明が解決しようとする課題】
【００２０】
しかしながら、上述した協調フィルタリングは、メンテナンスコストが小さい、大規模データベースに適している、書籍やビデオなど比較的スペックで定義しづらい商品の推薦に適している、などのメリットを有する一方、購買又は行動履歴のない新商品への対応が困難である、購買頻度が低く行動履歴の少ない疎なデータには適していない、精度問題と根拠が不明確である、などのデメリットもある。
【００２１】
本発明の課題は、上記問題点に鑑み、協調フィルタリングを利用したレコメンド技術において、嗜好が類似したユーザの選定時に上述したユーザの行動履歴だけでなくユーザの属性情報をも利用することによって、購買頻度が低く行動履歴情報が少ない場合における推薦精度を向上させることが可能なコンテンツ推薦装置及び方法を提供することである。
【課題を解決するための手段】
【００２２】
本発明の一特徴は、ユーザのコンテンツに対する評価値を格納したユーザ×コンテンツ行列から復元ユーザ×コンテンツ行列を推定するコンテンツ推薦装置であって、ユーザのコンテンツに対する評価値からユーザ×コンテンツ行列を生成する行列生成部と、前記生成されたユーザ×コンテンツ行列に基づき、ユーザ圧縮行列とコンテンツ圧縮行列とを初期的に設定する初期値設定部と、前記ユーザ圧縮行列に前記ユーザの属性情報を加算することによりユーザ圧縮属性情報加算行列を生成する属性情報加算部と、前記生成されたユーザ圧縮属性情報加算行列と前記コンテンツ圧縮行列とを所定の更新処理により更新する更新処理部と、前記更新されたユーザ圧縮属性情報加算行列とコンテンツ圧縮行列とから復元ユーザ×コンテンツ行列を計算し、前記ユーザ×コンテンツ行列と前記復元ユーザ×コンテンツ行列との差分が所定の閾値以下であるか判断する更新判定部とを有し、前記更新判定部は、前記差分が前記所定の閾値を超える場合には前記更新処理部に前記更新処理を再実行するよう指示し、前記差分が前記所定の閾値以下である場合には前記計算された復元ユーザ×コンテンツ行列を推定された復元ユーザ×コンテンツ行列として決定するコンテンツ推薦装置に関する。
【発明の効果】
【００２３】
本発明によると、協調フィルタリングを利用したレコメンド技術において、嗜好が類似したユーザの選定時に上述したユーザの行動履歴だけでなくユーザの属性情報をも利用することによって、購買頻度が低く行動履歴情報が少ない場合における推薦精度を向上させることが可能なコンテンツ推薦装置及び方法を提供することができる。
【図面の簡単な説明】
【００２４】
【図１】図１は、協調フィルタリングの仕組みを概略的に示す。
【図２】図２は、従来の協調フィルタリングアルゴリズムを概略的に示す。
【図３】図３は、本発明の一実施例によるコンテンツ推薦システムを示す。
【図４】図４は、本発明の一実施例による協調フィルタリングアルゴリズムを概略的に示す。
【図５】図５は、一例となるユーザ属性情報を示す。
【図６】図６は、一例となる主成分分析結果を示す。
【図７】図７は、一例となる抽出された主成分により表現された属性情報を示す。
【図８】図８は、一例となる属性情報項を示す。
【図９】図９は、本発明の一実施例によるコンテンツ推薦サーバを示す。
【発明を実施するための形態】
【００２５】
以下、図面に基づいて本発明の実施の形態を説明する。
【００２６】
図３を参照して、本発明の一実施例によるコンテンツ推薦システムを説明する。図３は、本発明の一実施例によるコンテンツ推薦システムの構成を示す。図３に示されるように、コンテンツ推薦システム１００は、コンテンツ推薦サーバ２００と、１以上のクライアント３００と、ネットワーク４００とを有する。コンテンツ推薦サーバ２００は、ネットワーク４００を介し１以上のクライアント３００と通信接続される。
【００２７】
コンテンツ推薦サーバ２００は、典型的には、補助記憶装置、メモリ装置、プロセッサ、通信装置などの各種ハードウェアリソースの１以上から構成される。補助記憶装置は、ハードディスクやフラッシュメモリなどから構成され、後述される各種処理を実現するプログラム及びデータを格納する。メモリ装置は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などから構成され、プログラムの起動指示があった場合に、補助記憶装置からプログラムを読み出して格納する。プロセッサは、メモリ装置に格納されたプログラムに従って後述される各種機能を実現する。通信装置は、ネットワーク４００を介し他の装置と接続するための各種通信回路から構成される。通信装置は、典型的には、各種ネットワーク４００と接続するための通信インタフェースなどを有する。なお、コンテンツ推薦サーバ２００は、上述したハードウェア構成に限定されるものでなく、ネットワーク４００を介しクライアント３００と双方向通信するための機能を有する他の何れか適切なハードウェア構成を有してもよい。
【００２８】
クライアント３００は、典型的には、パーソナルコンピュータや携帯電話端末などの通信機能を有する情報処理装置であり、ネットワーク４００と無線又は有線接続する。クライアント３００は、典型的には、補助記憶装置、メモリ装置、プロセッサ、通信装置、表示装置、入力装置などの各種ハードウェアリソースの１以上から構成される。補助記憶装置は、ハードディスクやフラッシュメモリなどから構成され、後述される各種処理を実現するプログラム及びデータを格納する。メモリ装置は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などから構成され、プログラムの起動指示があった場合に、補助記憶装置からプログラムを読み出して格納する。プロセッサは、メモリ装置に格納されたプログラムに従って各種処理を実行する。通信装置は、ネットワーク４００を介し他の装置と有線及び／又は無線接続するための各種通信回路から構成される。通信装置はさらに、ネットワーク４００上のコンテンツ推薦サーバ２００などの他の装置と接続するための通信インタフェースなどを有する。表示装置は、ディスプレイなどから構成され、コンテンツ推薦サーバ２００から受信した情報をＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）等により表示する。入力装置は、典型的には、操作ボタン、キーボード、マウス等で構成され、クライアント３００のユーザが様々な操作命令を入力するのに用いられる。なお、クライアント３００は、上述したハードウェア構成に限定されるものでなく、ネットワーク４００を介しコンテンツ推薦サーバ２００と双方向通信するための機能を有する他の何れか適切なハードウェア構成を有してもよい。
【００２９】
ネットワーク４００は、無線ネットワークでもよいし、有線ネットワークであってもよく、コンテンツ推薦サーバ２００とクライアント３００とを通信接続する。典型的には、ネットワーク４００はインターネットなどである。
【００３０】
次に図４を参照して、本発明の一実施例によるコンテンツ推薦サーバにおける処理を説明する。図４は、本発明の一実施例による協調フィルタリングアルゴリズムを概略的に示す。
【００３１】
本実施例によるコンテンツ推薦サーバにおいて実行される協調フィルタリングアルゴリズムでは、典型的には、以下の処理が実行される。
【００３２】
まず、ｉ）各ユーザの各コンテンツに対する評価値が各要素に記述されたユーザ×コンテンツ行列Ｒに対する特異値分解を適用後のユーザ行列Ｕ√ＳＴとコンテンツ行列√ＳＶＴに対して、初期的に設定された次元に基づき、ユーザ行列Ｕ√ＳＴとコンテンツ行列√ＳＶＴがそれぞれ圧縮されたユーザ圧縮行列Ｕｋ√ＳＴｋとコンテンツ圧縮行列√ＳｋＶＴｋの初期値を設定する。
【００３３】
次に、ｉｉ）ユーザ圧縮行列Ｕｋ√ＳＴｋに属性情報を加算し、ユーザ圧縮属性情報加算行列を生成し、このように生成されたユーザ圧縮属性情報加算行列とコンテンツ圧縮行列に基づき、復元ユーザ×コンテンツ行列の各要素が以下のように計算される。
【００３４】
【数８】
0005442547.tif 000009
に示されるような計算が実行される。ここで、ｐｕｋ及びｑｋｉはそれぞれユーザ圧縮行列Ｕｋ√ＳＴｋ（＝ＰｋＴ）及びコンテンツ圧縮行列√ＳｋＶＴｋ（＝Ｑｋ）の要素を表す。また、ｂｕ及びｂｉは調整用のパラメータである。
【００３５】
上の式において、
【００３６】
【数９】
0005442547.tif 000010
が属性情報項である。属性情報とは、典型的には、各ユーザに固有の性別、年齢、趣味などに関する情報であるが、本発明はこれに限定されることなく、コンテンツを嗜好する傾向に関連性があると考えられる他の何れか適切な各ユーザに固有の属性情報が利用されてもよい。このように、ユーザ行動履歴情報だけでなくユーザ属性情報もまた考慮して復元ユーザ×コンテンツ行列を生成することによって、より精度の高いレコメンド処理が可能となる。なお、本実施例では、ユーザ圧縮行列に属性情報項を加算することによってユーザ行動履歴情報とユーザ属性情報とを組み合わせたが、本発明はこれに限定されることなく、他の何れか適切な組み合わせ方法が利用されてもよい。
【００３７】
さらに、ｉｉｉ）このように取得された復元ユーザ×コンテンツ行列と元のユーザ×コンテンツ行列Ｒとの差分（誤差）が最小となるように最急降下法を適用し、差分が所定の閾値以下となる復元ユーザ×コンテンツ行列が導出される。より詳細には、
【００３８】
【数１０】
0005442547.tif 000011
を最小化するため、元のユーザ×コンテンツ行列Ｒと復元ユーザ×コンテンツ行列の対応する各要素の差分
【００３９】
【数１１】
0005442547.tif 000012
の和が最小化される。このとき、各差分の平方の和ＳＳＥと、ＳＳＥを集合Ｔの要素の個数で割った商の平方根ＲＭＳＥとは、以下のように表すことができる。
【００４０】
【数１２】
0005442547.tif 000013
ただし、
【００４１】
【数１３】
0005442547.tif 000014
である。
【００４２】
これらの式に対して最急降下法を適用して、ＳＳＥ及び／又はＲＭＳＥの値を最小化するパラメータを推定する。すなわち、最急降下法に従って、更新式
【００４３】
【数１４】
0005442547.tif 000015
により表される更新処理を繰り返し実行し、各繰り返し毎にＳＳＥ及び／又はＲＭＳＥの値が十分小さな所定の閾値以下になったか、すなわち、ｅ´ｕｉが所定の閾値以下になったか判定され、この閾値以下になったときのパラメータＰ，Ｑにより生成される行列を復元ユーザ×コンテンツ行列とする。
【００４４】
【数１５】
0005442547.tif 000016
ただし、Ｎはバイナリ行列である。
【００４５】
ｉｖ）このようにして導出された復元ユーザ×コンテンツ行列における評価値の高いコンテンツが、ユーザに推薦される。
【００４６】
次に図５〜８を参照して、上述したコンテンツ推薦サーバにおける処理を具体的な数値を用いて説明する。
【００４７】
まず、各ユーザの属性情報を表す属性情報項は以下のように生成される。図５に示されるようなユーザ属性情報が予め取得されているとする。図示された例では、属性情報項目として、「性別」、「年齢」及び「趣味」が設定されている。そして、各属性情報項目についてカテゴリが設定され、例えば、属性情報項目「性別」については２つのカテゴリ「男性」と「女性」が設定されている。また、属性情報項目「年齢」については３つのカテゴリ「２０代以下」、「３０代」及び「４０代以上」が設定され、属性情報項目「趣味」については４つのカテゴリ「映画」、「ファッション」、「旅行」及び「ショッピング」が設定されている。さらに、このように設定された各カテゴリについて、収集されたデータの個数が設定されている。このようなデータの収集は、図示されるユーザＡの属性情報などのように各ユーザについて取得され、収集した属性情報からユーザ属性情報が取得される。図示された例では、１０００人のユーザから属性情報が収集され、図示されたユーザ属性情報が構成されている。図示されたユーザ属性情報では、属性情報項目「年齢」について、「男性」は６５０人で、「女性」は３５０人であることがわかる。
【００４８】
まず、ｉ）このような属性情報項目から主成分分析を実行し、固有値の大きい主成分を抽出する。図５に示されたユーザ属性情報からは、例えば、図６に示されるような実行結果が得られる。図示された例では、上位３つの固有値が抽出されている。
【００４９】
次に、ｉｉ）このようにして抽出した主成分によって属性情報項を表す。このようにして生成された属性情報項の具体例が、図７に示される。
【００５０】
次に、ｉｉｉ）各ユーザに対して、属性情報項に該当する主成分を加算する。例えば、ユーザＡの主成分について、次元１は０．４２２−０．２３３＋０．３２１＝０．５１となり、次元２は−０．０４３＋０．３２１−０．１２３＝０．１５５となり、次元３は−０．０９２＋０．２３４−０．２３１＝−０．０８９となる。
【００５１】
さらに、ｉｖ）このようにして加算した主成分を所定の閾値に基づき３値（−１，０，１など）に分割する。ここでは、加算した主成分が０．２５０以上の場合には１とし、−０．２５０〜０．２５０の場合には０とし、−０．２５０以下の場合には−１としている。
【００５２】
ｖ）このようにして取得された主成分について、図８に示されるように、行をユーザとして、列を抽出した主成分とした行列を生成する。
【００５３】
次に、このようにして取得された属性情報項を利用することによるユーザ×コンテンツ行列から復元ユーザ×コンテンツ行列の導出について具体的な数値を用いて説明する。
【００５４】
各ユーザの行動履歴に関して、以下のユーザ×コンテンツ行列が取得されているとする。
【００５５】
【数１６】
0005442547.tif 000017
このユーザ×コンテンツ行列に対する特異値分解としてユーザ圧縮行列Ｐｋとコンテンツ圧縮行列Ｑｋが初期的に設定されたとする。
【００５６】
【数１７】
0005442547.tif 000018
他方、ユーザ属性情報に対して主成分分析することによって、固有値の大きい主成分を抽出した以下のユーザ×主成分行列が取得されているとする。
【００５７】
【数１８】
0005442547.tif 000019
このユーザ×主成分行列について以下の属性情報項のパラメータが初期的に設定される。
【００５８】
【数１９】
0005442547.tif 000020
なお、計算の簡単化のため、ここでは復元ユーザ×コンテンツ行列の各要素は以下の簡略化された式により規定される。
【００５９】
【数２０】
0005442547.tif 000021
上述した各行列に対してこの簡略化された式を適用することによって、以下の復元ユーザ×コンテンツ行列が求められる。
【００６０】
【数２１】
0005442547.tif 000022
また、計算の簡単化のため、調整用のパラメータを排除した以下の式を最急降下法の目的関数として使用する。
【００６１】
【数２２】
0005442547.tif 000023
このとき、誤差行列Ｅは以下のようになる。
【００６２】
【数２３】
0005442547.tif 000024
その後、以下の更新式を用いて最急降下法の更新処理が実行され、以下の各行列が取得される。
【００６３】
【数２４】
0005442547.tif 000025
上述した更新処理を所定の終了条件を満たすまで、すなわち、誤差が十分小さな所定の閾値以下になるまで繰り返す。
【００６４】
次に図９を参照して、本発明の一実施例によるコンテンツ推薦サーバの構成を説明する。図９は、本発明の一実施例によるコンテンツ推薦サーバの構成を示す。図９に示されるように、コンテンツ推薦サーバ２００は、行列生成部２１０と、初期値設定部２１２と、属性情報加算部２１４と、更新処理部２１６と、更新判定部２１８と、データ格納部２２０と、推薦情報格納部２２２とを有する。
【００６５】
行列生成部２１０は、クライアント２００などから収集した各ユーザのコンテンツに対する評価値からユーザ×コンテンツ行列を生成し、生成したユーザ×コンテンツ行列をユーザ×コンテンツ行列テーブルとしてデータ格納部２２０に格納する。
【００６６】
初期値設定部２１２は、生成されたユーザ×コンテンツ行列に基づきユーザ圧縮行列とコンテンツ圧縮行列との初期値を設定し、このように初期値が設定されたユーザ圧縮行列とコンテンツ圧縮行列とを圧縮行列テーブルとしてデータ格納部２２０に格納する。さらに、初期値設定部２１２は、生成したユーザ圧縮行列を属性情報加算部２１４に提供する。
【００６７】
属性情報加算部２１４は、データ格納部２２０に格納されているユーザ属性情報テーブルからユーザ属性情報を取得する。属性情報加算部２１４は、初期値設定部２１２から提供されたユーザ圧縮行列に取得したユーザ属性情報を加算してユーザ圧縮属性情報加算行列を生成し、更新処理部２１６に提供する。
【００６８】
更新処理部２１６は、提供されたユーザ圧縮属性情報加算行列とデータ格納部２２０に格納されているコンテンツ圧縮行列とから復元ユーザ×コンテンツ行列を決定し、元のユーザ×コンテンツ行列と決定された復元ユーザ×コンテンツ行列とから最急降下法の目的関数であるｅ´ｕｉを求める。その後、更新処理部２１６は、この目的関数ｅ´ｕｉを最小化するため上述した更新処理を実行する。
【００６９】
更新判定部２１８は、更新処理部２１６により更新された値により各差分ｅｕｉを計算し、計算された差分ｅｕｉの和が所定の閾値以下であるか判定する。計算された差分ｅｕｉの和が所定の閾値以下である場合、更新判定部２１８は、計算された各差分ｅｕｉが最急降下法の最小値に達したと判断して更新処理を終了し、当該更新処理により取得された復元ユーザ×コンテンツ行列を推薦情報格納部２２２にコンテンツ管理テーブルとして格納する。他方、計算された差分ｅｕｉの和が所定の閾値を超える場合、更新判定部２１８は、計算された各差分ｅｕｉが最急降下法の最小値に達していないと判断して、更新処理部２１６に更新処理を継続するよう指示する。この場合、更新処理部２１６は、上述した更新式に従って更新処理を繰り返し、新たな差分ｅｕｉを計算する。
【００７０】
以上、本発明の実施例について詳述したが、本発明は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００７１】
１００  コンテンツ推薦システム
２００  コンテンツ推薦サーバ
３００  クライアント
４００  ネットワーク
【図１】
0005442547.tif 000026
【図２】
0005442547.tif 000027
【図３】
0005442547.tif 000028
【図４】
0005442547.tif 000029
【図５】
0005442547.tif 000030
【図６】
0005442547.tif 000031
【図７】
0005442547.tif 000032
【図８】
0005442547.tif 000033
【図９】
0005442547.tif 000034