(57)【特許請求の範囲】
【請求項１】
個々のコンテンツに対する利用者の評価を予測し、前記コンテンツの中から前記利用者に適合するコンテンツを検出する情報フィルタリングシステムにおいて、
各前記利用者によりこれまでに示されている各前記利用者の各前記コンテンツに対する評価を行列で示す評価値データと、前記評価に関連する行列データである関連データとを予め記録して備える記憶部と、
前記記憶部に記憶された該評価値データに特異値分解を適用し、該特異値分解で得られた行列を所定の次元に圧縮したデータを算出し、該算出したデータに基づいて、評価値データを該評価値データのうち評価予測に有効でない情報を取り除いたデータに変換するための式である圧縮変換方法データを算出する圧縮変換方法データ算出手段と、
前記関連データに前記圧縮変換方法データを適用することにより、各前記関連データから評価に影響を与えない部分を取り除いたデータである圧縮データを算出する圧縮変換手段と、
前記圧縮データと前記記憶部に記憶された前記評価値データとの双方の情報を基に、
各前記利用者の評価傾向の特徴を示す利用者評価特徴データと、前記コンテンツの特徴を示すコンテンツ評価特徴データとを算出する評価特徴算出手段と、
前記利用者評価特徴データと前記コンテンツ評価特徴データを基にして、各コンテンツに対して各利用者が与える評価を予測値として算出する評価予測手段を備えることを特徴とする情報フィルタリングシステム。
【請求項２】
前記関連データに、各前記コンテンツの内容を表現する属性データを含むことを特徴とする請求項１に記載の情報フィルタリングシステム。
【請求項３】
前記関連データに、各前記利用者に関する情報を示す利用者データを含むことを特徴とする請求項１又は請求項２に記載の情報フィルタリングシステム。
【請求項４】
前記圧縮変換手段は、
前記関連データに前記圧縮変換方法データを適用することにより、前記関連データからの前記圧縮データを算出する圧縮変換の方法を指定するデータである、第２圧縮変換方法データを算出する第２圧縮変換方法データ算出手段と、
前記関連データに前記第２圧縮変換方法データを適用することにより、前記圧縮データを算出する圧縮算出手段を備えることを特徴とする請求項１から請求項３の何れか１項に記載の情報フィルタリングシステム。
【請求項５】
前記圧縮変換手段は、
前記関連データ及び前記評価値データを、特異値分解により圧縮変換し、前記圧縮データを算出することを特徴とする請求項１から請求項４の何れか１項に記載の情報フィルタリングシステム。
【請求項６】
前記評価特徴算出手段は、
前記圧縮データと前記評価値データとの双方の情報を用いて示されるデータを、圧縮変換することにより、前記利用者評価特徴データと、前記コンテンツ評価特徴データとを算出することを特徴とする請求項１から請求項５の何れか１項に記載の情報フィルタリングシステム。
【請求項７】
前記評価特徴算出手段は、
前記圧縮データと前記評価値データとの双方の情報を用いて示されるデータを、特異値分解により圧縮変換し、前記利用者評価特徴データと、前記コンテンツ評価特徴データとを算出することを特徴とする請求項６に記載の情報フィルタリングシステム。
【請求項８】
各前記利用者によりこれまでに示されている、各前記利用者のそれぞれの各前記コンテンツに対する評価を行列で示す評価値データを、入力し記録する評価入力手段と、
各前記コンテンツの内容を表現するデータである属性データを抽出する属性抽出手段を備えることを特徴とする請求項１から請求項７のいずれか一つに記載の情報フィルタリングシステム。
【請求項９】
インターネット上に公開される前記コンテンツを、フィルタリングすることを特徴とする請求項１から請求項８の何れか１項に記載の情報フィルタリングシステム。
【請求項１０】
コンピュータ処理装置を利用して個々のコンテンツに対する利用者の評価を予測し、前記コンテンツの中から前記利用者に適合するコンテンツを検出する情報フィルタリングシステムにおける情報フィルタリング方法であって、
前記コンピュータ処理装置が備えるデータ処理手段が、
各前記利用者によりこれまでに示されている各前記利用者の各前記コンテンツに対する評価を行列で示す評価値データと、前記評価に関連する行列データである関連データとを予め記録する記憶部からデータを参照するステップと、
前記記憶部に記憶された該評価値データに特異値分解を適用し、該特異値分解で得られた行列を所定の次元に圧縮したデータを算出し、該算出したデータに基づいて、評価値データを該評価値データのうち評価予測に有効でない情報を取り除いたデータに変換するための式である圧縮変換方法データを算出する圧縮変換方法データ算出ステップと、
前記関連データに前記圧縮変換方法データを適用することにより、各前記関連データから評価に影響を与えない部分を取り除いたデータである圧縮データを算出する圧縮変換ステップと、
前記圧縮データと前記記憶部に記憶された前記評価値データとの双方の情報を基に、各前記利用者の評価傾向の特徴を示す利用者評価特徴データと、前記コンテンツの特徴を示すコンテンツ評価特徴データとを算出する評価特徴算出ステップと、
前記利用者評価特徴データと前記コンテンツ評価特徴データを基にして、各コンテンツに対して各利用者が与える評価を予測値として算出する評価予測ステップを備えることを特徴とする情報フィルタリング方法。
【請求項１１】
前記関連データに、各前記コンテンツの内容を表現する属性データを含むことを特徴とする請求項１０に記載の情報フィルタリング方法。
【請求項１２】
前記関連データに、各前記利用者に関する情報を示す利用者データを含むことを特徴とする請求項１０又は請求項１１に記載の情報フィルタリング方法。
【請求項１３】
前記圧縮変換ステップは、
前記関連データに前記圧縮変換方法データを適用することにより、前記関連データからの前記圧縮データを算出する圧縮変換の方法を指定するデータである、第２圧縮変換方法データを算出する第２圧縮変換方法データ算出ステップと、
前記関連データに前記第２圧縮変換方法データを適用することにより、前記圧縮データを算出する圧縮算出ステップを備えることを特徴とする請求項１０から請求項１２の何れか１項に記載の情報フィルタリング方法。
【請求項１４】
前記圧縮変換ステップは、
前記関連データ及び前記評価値データを、特異値分解により圧縮変換し、前記圧縮データを算出することを特徴とする請求項１０から請求項１３の何れか１項に記載の情報フィルタリング方法。
【請求項１５】
前記評価特徴算出ステップは、
前記圧縮データと前記評価値データとの双方の情報を用いて示されるデータを、圧縮変換することにより、前記利用者評価特徴データと、前記コンテンツ評価特徴データとを算出することを特徴とする請求項１０から請求項１４の何れか１項に記載の情報フィルタリング方法。
【請求項１６】
前記評価特徴算出ステップは、
前記圧縮データと前記評価値データとの双方の情報を用いて示されるデータを、特異値分解により圧縮変換し、前記利用者評価特徴データと、前記コンテンツ評価特徴データとを算出することを特徴とする請求項１５に記載の情報フィルタリング方法。
【請求項１７】
前記コンピュータ処理装置が備える入力手段が、
各前記利用者によりこれまでに示されている、各前記利用者のそれぞれの各前記コンテンツに対する評価を行列で示す評価値データを入力し前記記憶部に記録する評価入力ステップを備え、
前記データ処理手段が、
各前記コンテンツの内容を表現するデータである属性データを抽出する属性抽出ステップを備えることを特徴とする請求項１０から請求項１６の何れか１項に記載の情報フィルタリング方法。
【請求項１８】
前記データ処理手段が、
インターネット上に公開される前記コンテンツを、前記コンテンツ間の参照情報を含む前記関連データに基づいてフィルタリングすることを特徴とする請求項１０から請求項１７の何れか１項に記載の情報フィルタリング方法。
【請求項１９】
コンピュータを制御することにより、個々のコンテンツに対する利用者の評価を予測し、前記コンテンツの中から前記利用者に適合するコンテンツを検出する情報フィルタリングプログラムにおいて、
前記コンピュータが備えるデータ処理手段に、
各前記利用者によりこれまでに示されている各前記利用者の各前記コンテンツに対する評価を行列で示す評価値データと、前記評価に関連する行列データである関連データの、予め記録されたデータを参照する処理と、
参照した該評価値データに特異値分解を適用し、該特異値分解で得られた行列を所定の次元に圧縮したデータを算出し、該算出したデータに基づいて、評価値データを該評価値データのうち評価予測に有効でない情報を取り除いたデータに変換するための式である圧縮変換方法データを算出する圧縮変換方法データ算出処理と、
前記関連データに前記圧縮変換方法データを適用することにより、各前記関連データから評価に影響を与えない部分を取り除いたデータである圧縮データを算出する圧縮変換処理と、
前記圧縮データと前記評価値データとの双方の情報を基に、各前記利用者の評価傾向の評価の特徴を示す利用者評価特徴データと、前記コンテンツの特徴を示すコンテンツ評価特徴データとを算出する評価特徴算出処理と、
前記利用者評価特徴データと前記コンテンツ評価特徴データを基にして、各コンテンツに対して各利用者が与える評価を予測値として算出する評価予測処理を実行させることを特徴とする情報フィルタリングプログラム。
【請求項２０】
前記関連データに、各前記コンテンツの内容を表現する属性データを含むことを特徴とする請求項１９に記載の情報フィルタリングプログラム。
【請求項２１】
前記関連データに、各前記利用者に関する情報を示す利用者データを含むことを特徴とする請求項１９又は請求項２０に記載の情報フィルタリングプログラム。
【請求項２２】
前記圧縮変換処理においては、
前記関連データに前記圧縮変換方法データを適用することにより、前記関連データからの前記圧縮データを算出する圧縮変換の方法を指定するデータである、第２圧縮変換方法データを算出する第２圧縮変換方法データ算出処理と、
前記関連データに前記第２圧縮変換方法データを適用することにより、前記圧縮データを算出する圧縮算出処理を実行させることを特徴とする請求項１９から請求項２１の何れか１項に記載の情報フィルタリングプログラム。
【請求項２３】
前記圧縮変換処理においては、
前記関連データ及び前記評価値データを、特異値分解により圧縮変換し、前記圧縮データを算出する処理を実行させることを特徴とする請求項１９から請求項２２の何れか１項に記載の情報フィルタリングプログラム。
【請求項２４】
前記評価特徴算出処理においては、
前記圧縮データと前記評価値データとの双方の情報を用いて示されるデータを、圧縮変換することにより、前記利用者評価特徴データと、前記コンテンツ評価特徴データとを算出する処理を実行させることを特徴とする請求項１９から請求項２３の何れか１項に記載の情報フィルタリングプログラム。
【請求項２５】
前記評価特徴算出処理においては、
前記圧縮データと前記評価値データとの双方の情報を用いて示されるデータを、特異値分解により圧縮変換し、前記利用者評価特徴データと、前記コンテンツ評価特徴データとを算出する処理を実行させることを特徴とする請求項２４に記載の情報フィルタリングプログラム。
【請求項２６】
前記コンピュータが備える入力手段に、
各前記利用者によりこれまでに示されている、各前記利用者のそれぞれの各前記コンテンツに対する評価を行列で示す評価値データを入力し前記記憶部に記録する評価入力処理を実行させ、
前記データ処理手段に、
各前記コンテンツの内容を表現するデータである属性データを抽出する属性抽出処理を実行させることを特徴とする請求項１９から請求項２５の何れか１項に記載の情報フィルタリングプログラム。
【請求項２７】
前記データ処理手段に、
インターネット上に公開される前記コンテンツを、前記コンテンツ間の参照情報を含む前記関連データに基づいてフィルタリングを実行させることを特徴とする請求項１９から請求項２６の何れか１項に記載の情報フィルタリングプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、利用者の興味や嗜好に合ったコンテンツや商品等を選別・推薦する情報フィルタリングに関し、特に、コンテンツの属性と他の利用者のコンテンツに対する評価値との双方に基づいてフィルタリングを行なう情報フィルタリングシステムとそのフィルタリング方法、及び情報フィルタリングプログラムに関する。
【０００２】
【従来の技術】
従来、利用者の興味や嗜好に合ったコンテンツや商品等を選別・推薦するシステムである情報フィルタリングシステムにおいては、データベースやＷＷＷ（World Wide Web）等の情報システムが提供する大量の情報や文書、多数のサービスや商品等（以下、これらをコンテンツと呼ぶこととする）を検索の対象としている。
【０００３】
従来の情報フィルタリングシステムは、利用者が未評価のコンテンツについて、その利用者が与えるであろう評価値を予測することで、利用者が必要とするコンテンツを選別する。利用者がコンテンツに与える評価を予測する方式には、一般にＣＢＦ（Constant Based Filtering）方式とＳＩＦ（Social Information Filtering）方式の２つが存在する。
【０００４】
ＣＢＦ方式は、コンテンツの中に含まれているキーワードや単語頻度等のデータ（以下、本明細書では、このデータのことを属性と記載する）によって、各コンテンツの内容を表現し、各利用者の興味・嗜好をキーワードの重み等で表現したものとマッチングすることにより、コンテンツをフィルタリングする方式である。
【０００５】
ＳＩＦ方式は、予め、各利用者による個々のコンテンツに対する興味や嗜好の度合いを示す評価の値（以下、本明細書では、このデータのことを評価と記載する）を記憶しておき、自分（情報フィルタリングの要求者）が過去に与えた評価と、要求者以外の利用者の評価を比較して、要求者と嗜好が似た利用者を検索して見つけ出し、その嗜好が似た利用者によって高い評価を与えられたコンテンツを選び出して要求者に推薦することにより、コンテンツをフィルタリングする方式である。
【０００６】
また従来、こうした情報フィルタリングの精度を上げるための工夫が２種類ある。
【０００７】
第１に、ＣＢＦ方式とＳＩＦ方式との、フィルタリングの方法を組合せて実行するという方法がある。つまり、各コンテンツを、ＣＢＦ方式とＳＩＦ方式との両方式により検索し抽出するのである。
【０００８】
第２に、フィルタリングのために参照するデータを、類似したものをまとめ、フィルタリングに役立たないものを削除するというものである（以下、この処理を圧縮変換と呼ぶ）。例えば、ＣＢＦで圧縮変換を用いると、各利用者やコンテンツの属性等のフィルタリングに用いるデータから、役に立たないデータを識別して削除し、重要なデータのみを用いてフィルタリングを行なうことにより、情報フィルタリングの精度を上げることができる。また、圧縮変換の類似したものをまとめる性質により、“計算機”と “コンピュータ”といった類似した意味の単語を１つにまとめることができ、これによりフィルタリングの漏れが少なくなり、情報フィルタリングの精度を上げることができる。
【０００９】
この圧縮変換の処理を取り入れた情報フィルタリングシステムの一例が、「１９９９年８月、アイ・ジェイ・シー・エイ・アイ９９・ワークショップ・マシンラーニング・フォー・インフォメーション・フィルタリング、８６〜９１頁（IJCAI99 Workshop Machine Learning for Information Filtering, pp.86-91, August, 1999）」に記載されている。
【００１０】
ここで、この文献に記載された情報フィルタリングシステムについて、図面を参照して詳細に説明する。図７は、この従来の情報フィルタリングシステム１００ｂの構成を示すブロック図である。
【００１１】
図７を参照すると、この従来の情報フィルタリングシステム１００ｂは、入出力部１０とデータ処理部４０と記憶部５０を備えている。
【００１２】
入出力部１０は、要求入力部１１、コンテンツ提示部１２、評価入力部１３を備えている。
【００１３】
データ処理部４０は、属性抽出部２１、プロファイル学習部４１、プロファイル変換部４２、属性変換部４３、評価予測部４４、コンテンツ選択部２５を備えている。
【００１４】
属性抽出部２１は、記憶部５０に記憶されたコンテンツデータ３１から、特徴となる属性を抽出し、これを属性データ３２として記憶部５０に格納する。
【００１５】
プロファイル学習部４１は、評価値３３のデータから、利用者がコンテンツに与えた評価と、属性データ３２中のコンテンツの属性の内で要求者が評価済みのコンテンツの属性とを基にして、要求者の評価と属性の間の関係を表すプロファイルを学習し、その結果をプロファイルデータ５１として記憶部５０に格納する。
【００１６】
プロファイル変換部４２は、利用者のプロファイルデータ５１を圧縮変換し、その結果を変換プロファイルデータ５４として記憶部５０に格納する。更に、プロファイル変換部４２は、どの属性をまとめてどの属性を削除するかという、プロファイルを圧縮変換する方法を指定する情報を、変換方法データ５２として記憶部５０に格納する。
【００１７】
属性変換部４３は、属性データ３２として示される各コンテンツの属性を、変換方法データ５２により指定された変換方法を用いて、圧縮変換を実行し、圧縮された属性データを変換属性データ５３として記憶部５０に格納する。
【００１８】
評価予測部４４は、入出力部１０の要求入力部１１から、要求者の情報フィルタリング要求を受け付けた場合に、要求者の圧縮変換されたプロファイルデータである変換プロファイルデータ５４と、各コンテンツの圧縮された属性データである変換属性データ５３とを比較して、各コンテンツの要求者に対する評価値を予測しその値を算出する。
【００１９】
コンテンツ選択部２５は、評価予測部４４から各コンテンツの要求者に対する予測評価値を受け取り、コンテンツデータ３１として記録されている登録コンテンツの中から、予測評価値の高いコンテンツを選別し、これを入出力部１０のコンテンツ提示部１２を通じて要求者に提供する。
【００２０】
記憶部５０は、コンテンツデータ３１、属性データ３２、評価値３３、プロファイルデータ５１、変換方法データ５２、変換属性データ５３、変換プロファイルデータ５４を備えている。
【００２１】
コンテンツデータ３１は、推薦対象となる登録コンテンツ６０のデータである。
【００２２】
評価値３３は、利用者がコンテンツに与えた評価の値であり、要求者及び要求者以外の利用者による評価も含まれる。また、評価入力部１３から新しい評価が入力されることにより、評価値３３の値は追加・更新される。
【００２３】
属性データ３２は、属性抽出部２１が算出したコンテンツの属性のデータである。
【００２４】
プロファイルデータ５１は、プロファイル学習部４１で生成された利用者のプロファイルのデータである。
【００２５】
変換方法データ５２は、プロファイルの圧縮変換方法を指定するデータであり、プロファイル変換部４２により生成される。
【００２６】
変換属性データ５３は、コンテンツの圧縮変換された属性データであり、属性変換部４３により圧縮変換されたデータである。
【００２７】
変換プロファイルデータ５４は、圧縮変換されたプロファイルデータであり、プロファイル変換部４２により圧縮変換されたデータである。
【００２８】
次に、図８、図９のフローチャートを参照して、図７に示されるこの従来技術の動作について説明する。
【００２９】
動作は事前に実行する準備動作と、利用者のフィルタリング要求を受けて実行するフィルタリング動作に大きく分かれる。
【００３０】
まず、準備動作について説明する。図８は、従来の情報フィルタリングシステムの準備動作を説明するためのフローチャートである。
【００３１】
図８を参照すると、準備動作では、まずコンテンツデータ３１中のコンテンツから、属性抽出部２１が特徴となる属性を抽出し、属性データ３２として記憶部５０に格納する（ステップ８０１）。
【００３２】
ここでいう“属性”には、コンテンツの内容を特徴づけるキーワードや単語頻度等を用いることができる。例えば、『あるコンテンツの中には、「野球」と「サッカー」いうキーワードが含まれる。』というように、コンテンツの特徴を示す属性を抽出する。
【００３３】
次に、プロファイル学習部４１が、要求者が評価済みのコンテンツの属性データ３２と、利用者が各コンテンツに与えた評価値３３とを基にして、要求者の評価と属性との間の関係を表すプロファイルを学習し、その結果をプロファイルデータ５１として記憶部５０に格納する（ステップ８０２）。
【００３４】
このプロファイルの学習結果は、例えば、要求者は、過去に「野球」というキーワードを含むコンテンツを高く評価したが、逆に「サッカー」というキーワードを含むコンテンツは、低く評価したというように、要求者の評価と属性との間の関係を示すデータであり、言い換えれば、利用者の興味をコンテンツに含まれる単語（キーワード）の重みで表現したデータである。
【００３５】
次に、プロファイル変換部４２が、利用者のプロファイルデータ５１に関してその属性を圧縮変換し、変換プロファイルデータ５４として記憶部５０に格納する（ステップ８０３）。更に、プロファイル変換部４２は、どの属性をまとめてどの属性を削除するかという、プロファイルの圧縮変換方法を指定する情報を、変換方法データ５２として記憶部５０に格納する。
【００３６】
この圧縮変換の処理の内容は、例えば、ある利用者のプロファイルにおいて、「野球」「ベースボール」「ピッチャー」といった野球に関するキーワードとその重みが格納されているとき、これらを１つにまとめて、その利用者の［野球］という話題に関する関心の程度を表現するようにするものである。また例えば、「ひと」「もの」等のように、一般的で話題を特定するのに役立たないキーワードを削除する。この従来技術においては、プロファイル変換部４２において、“特異値分解”という数学手法を用いてこれらの圧縮変換処理を実行している。
【００３７】
次に、属性変換部４３が、各コンテンツの属性データ３２を、変換方法データ５２において指定された変換方法に従い圧縮変換し、その結果を変換属性データ５３として記憶部５０に格納する（ステップ８０４）。
【００３８】
この準備動作に続いて、実際のフィルタリング動作の処理を説明する。図９は、従来の情報フィルタリングシステムのフィルタリング動作を説明するためのフローチャートである。
【００３９】
まず、要求入力部１１から要求者の情報フィルタリング要求を受け付けると（ステップ９０１）、評価予測部４４が、要求者の圧縮変換されたプロファイルである変換プロファイルデータ５４と、各コンテンツの圧縮された属性である変換属性データ５３とを比較して、各コンテンツの要求者に対する評価値を予測し、その予測評価値を出力する（ステップ９０２）。
【００４０】
次に、コンテンツ選択部２５が、評価予測部４４から各コンテンツの要求者に対する予測評価値を受け取り、コンテンツデータ３１の内で予測評価値の高いコンテンツを選別する（ステップ９０３）。
【００４１】
最後に、このコンテンツ選択部２５により選別された、予測評価値の高いコンテンツを、コンテンツ提示部１２を通じて要求者に提供する（ステップ９０４）。
【００４２】
例えば、要求者が［野球］の話題を扱ったコンテンツに関心があり、逆に［サッカー］の話題を扱ったコンテンツには関心がない場合には、評価予測部４４は、その旨の情報を示す圧縮変換されたプロファイルを受け取る。そして、評価予測部４４は、このプロファイルと各コンテンツの変換属性データとマッチングをとり、これを予測評価値として出力する。このとき、［野球］という話題を扱ったコンテンツの予測評価値は高くなり、逆に［サッカー］という話題を扱ったコンテンツの予測評価値は低くなる。この従来技術では、圧縮変換した要求者のプロファイルと、圧縮変換したコンテンツの属性との相関係数を用いて、予測評価値を算出している。
【００４３】
そして、コンテンツ選択部２５は、この評価予測部の予測結果を受け取ると、コンテンツデータ３１の中から、予測評価値が高く、かつ、過去に要求者が評価していないコンテンツを選択するので、［野球］という話題を扱ったコンテンツは選択され、コンテンツ提示部１２に出力される。逆に［サッカー］という話題を扱ったコンテンツは選択されない。
【００４４】
次に、要求者は、コンテンツ提示部１２に提示されたコンテンツが、自分の関心や嗜好に合うか評価し、評価を評価入力部１３から入力する。この評価入力部１３から入力された評価は、評価値３３として記憶部５０内に格納する。
【００４５】
【発明が解決しようとする課題】
次に、上述した従来の技術、即ちＣＢＦ方式単独、ＳＩＦ方式単独、及び両方式を組合せた方式のそれぞれの問題点を説明する。
【００４６】
ＣＢＦ方式単独の場合では、コンテンツの属性と評価との関係を学習して、コンテンツをフィルタリングする。つまり、利用者から高い評価を与えられたコンテンツと、属性が類似したコンテンツは、予測評価値が高くなり、利用者に推薦されることになる。
【００４７】
しかし、属性の類似性と評価の類似性は、完全には一致しない。つまり、属性が持っている情報の中には、評価と関連する部分と評価には関連しない部分の双方があり、このＣＢＦ方式では、評価と関連しない部分のデータも評価予測のために使われてしまう。このため、従来のＣＢＦ方式では、属性が持つ情報の内で評価と関連しない部分の影響により、フィルタリング精度が低くなるという問題点があった。
【００４８】
また、ＳＩＦ方式とＣＢＦ方式を組合せた方式の場合でも、このＣＢＦ方式の問題点が存在する。つまり、組合せた方式においても、ＣＢＦ方式による情報フィルタリングを行なうため、属性に含まれる評価と関連しない部分の情報による評価予測への影響が発生するからである。
【００４９】
ＳＩＦ方式単独の場合では、他の利用者により評価された、まだ要求者が評価していないコンテンツの情報をフィルタリングする。このため、従来のＳＩＦ方式では、予めある程度の量の評価が集まらなければ、適切なフィルタリングを行なうことができないという問題点がある。
【００５０】
これは、ＳＩＦ方式が各利用者の評価を用いてフィルタリングする方式だからである。このように、ＳＩＦ方式では、評価者の数が少ない場合にはフィルタリングの精度が悪いものとなり、特に、まだ誰も評価していない新しい情報を推薦することができないという、大きな問題点がある。ＳＩＦ方式のこの問題点は、ＣＢＦ方式と組み合わせることにより軽減できるが、その場合は、ＳＩＦ方式とＣＢＦ方式を組合せた方式の問題点が問題となる。
【００５１】
本発明の第１の目的は、上記従来技術の欠点を解決し、コンテンツの属性と他の利用者のコンテンツに対する評価値との双方に基づいて、効率よく高精度の情報フィルタリングを実現する情報フィルタリングシステムとそのフィルタリング方法、及び情報フィルタリングプログラムを提供することにある。
【００５２】
【課題を解決するための手段】
上記目的を達成するため本発明の情報フィルタリングシステムは、個々のコンテンツに対する利用者の評価を予測し、前記コンテンツの中から前記利用者に適合するコンテンツを検出する情報フィルタリングシステムにおいて、各前記利用者によりこれまでに示されている各前記利用者の各前記コンテンツに対する評価を行列で示す評価値データと、前記評価に関連する行列データである関連データとを予め記録して備える記憶部と、前記記憶部に記憶された該評価値データに特異値分解を適用し、該特異値分解で得られた行列を所定の次元に圧縮したデータを算出し、該算出したデータに基づいて、評価値データを該評価値データのうち評価予測に有効でない情報を取り除いたデータに変換するための式である圧縮変換方法データを算出する圧縮変換方法データ算出手段と、前記関連データに前記圧縮変換方法データを適用することにより、各前記関連データから評価に影響を与えない部分を取り除いたデータである圧縮データを算出する圧縮変換手段と、前記圧縮データと前記記憶部に記憶された前記評価値データとの双方の情報を基に、各前記利用者の評価傾向の特徴を示す利用者評価特徴データと、前記コンテンツの特徴を示すコンテンツ評価特徴データとを算出する評価特徴算出手段と、前記利用者評価特徴データと前記コンテンツ評価特徴データを基にして、各コンテンツに対して各利用者が与える評価を予測値として算出する評価予測手段を備えることを特徴とする。
【００５３】
請求項２の本発明の情報フィルタリングシステムは、前記関連データに、各前記コンテンツの内容を表現する属性データを含むことを特徴とする。
【００５４】
請求項３の本発明の情報フィルタリングシステムは、前記関連データに、各前記利用者に関する情報を示す利用者データを含むことを特徴とする。
【００５５】
請求項４の本発明の情報フィルタリングシステムは、前記圧縮変換手段は、前記関連データに前記圧縮変換方法データを適用することにより、前記関連データからの前記圧縮データを算出する圧縮変換の方法を指定するデータである、第２圧縮変換方法データを算出する第２圧縮変換方法データ算出手段と、前記関連データに前記第２圧縮変換方法データを適用することにより、前記圧縮データを算出する圧縮算出手段を備えることを特徴とする。
【００５６】
請求項５の本発明の情報フィルタリングシステムは、前記圧縮変換手段は、前記関連データ及び前記評価値データを、特異値分解により圧縮変換し、前記圧縮データを算出することを特徴とする。
【００５７】
請求項６の本発明の情報フィルタリングシステムは、前記評価特徴算出手段は、前記圧縮データと前記評価値データとの双方の情報を用いて示されるデータを、圧縮変換することにより、前記利用者評価特徴データと、前記コンテンツ評価特徴データとを算出することを特徴とする。
【００５８】
請求項７の本発明の情報フィルタリングシステムは、前記評価特徴算出手段は、前記圧縮データと前記評価値データとの双方の情報を用いて示されるデータを、特異値分解により圧縮変換し、前記利用者評価特徴データと、前記コンテンツ評価特徴データとを算出することを特徴とする。
【００５９】
請求項８の本発明の情報フィルタリングシステムは、各前記利用者によりこれまでに示されている、各前記利用者のそれぞれの各前記コンテンツに対する評価を行列で示す評価値データを、入力し記録する評価入力手段と、各前記コンテンツの内容を表現するデータである属性データを抽出する属性抽出手段を備えることを特徴とする。
【００６０】
請求項９の本発明の情報フィルタリングシステムは、インターネット上に公開される前記コンテンツを、フィルタリングすることを特徴とする。
【００６１】
請求項１０の本発明の情報フィルタリング方法は、コンピュータ処理装置を利用して個々のコンテンツに対する利用者の評価を予測し、前記コンテンツの中から前記利用者に適合するコンテンツを検出する情報フィルタリングシステムにおける情報フィルタリング方法であって、前記コンピュータ処理装置が備えるデータ処理手段が、各前記利用者によりこれまでに示されている各前記利用者の各前記コンテンツに対する評価を行列で示す評価値データと、前記評価に関連する行列データである関連データとを予め記録する記憶部からデータを参照するステップと、前記記憶部に記憶された該評価値データに特異値分解を適用し、該特異値分解で得られた行列を所定の次元に圧縮したデータを算出し、該算出したデータに基づいて、評価値データを該評価値データのうち評価予測に有効でない情報を取り除いたデータに変換するための式である圧縮変換方法データを算出する圧縮変換方法データ算出ステップと、前記関連データに前記圧縮変換方法データを適用することにより、各前記関連データから評価に影響を与えない部分を取り除いたデータである圧縮データを算出する圧縮変換ステップと、前記圧縮データと前記記憶部に記憶された前記評価値データとの双方の情報を基に、各前記利用者の評価傾向の特徴を示す利用者評価特徴データと、前記コンテンツの特徴を示すコンテンツ評価特徴データとを算出する評価特徴算出ステップと、前記利用者評価特徴データと前記コンテンツ評価特徴データを基にして、各コンテンツに対して各利用者が与える評価を予測値として算出する評価予測ステップを備えることを特徴とする。
【００６２】
請求項１１の本発明の情報フィルタリング方法は、前記関連データに、各前記コンテンツの内容を表現する属性データを含むことを特徴とする。
【００６３】
請求項１２の本発明の情報フィルタリング方法は、前記関連データに、各前記利用者に関する情報を示す利用者データを含むことを特徴とする。
【００６４】
請求項１３の本発明の情報フィルタリング方法は、前記圧縮変換ステップは、前記圧縮変換ステップは、前記関連データに前記圧縮変換方法データを適用することにより、前記関連データからの前記圧縮データを算出する圧縮変換の方法を指定するデータである、第２圧縮変換方法データを算出する第２圧縮変換方法データ算出ステップと、前記関連データに前記第２圧縮変換方法データを適用することにより、前記圧縮データを算出する圧縮算出ステップを備えることを特徴とする。
【００６５】
請求項１４の本発明の情報フィルタリング方法は、前記圧縮変換ステップは、前記関連データ及び前記評価値データを、特異値分解により圧縮変換し、前記圧縮データを算出することを特徴とする。
【００６６】
請求項１５の本発明の情報フィルタリング方法は、前記評価特徴算出ステップは、前記圧縮データと前記評価値データとの双方の情報を用いて示されるデータを、圧縮変換することにより、前記利用者評価特徴データと、前記コンテンツ評価特徴データとを算出することを特徴とする。
【００６７】
請求項１６の本発明の情報フィルタリング方法は、前記評価特徴算出ステップは、前記圧縮データと前記評価値データとの双方の情報を用いて示されるデータを、特異値分解により圧縮変換し、前記利用者評価特徴データと、前記コンテンツ評価特徴データとを算出することを特徴とする。
【００６８】
請求項１７の本発明の情報フィルタリング方法は、前記コンピュータ処理装置が備える入力手段が、各前記利用者によりこれまでに示されている、各前記利用者のそれぞれの各前記コンテンツに対する評価を行列で示す評価値データを入力し前記記憶部に記録する評価入力ステップを備え、前記データ処理手段が、各前記コンテンツの内容を表現するデータである属性データを抽出する属性抽出ステップを備えることを特徴とする。
【００６９】
請求項１８の本発明の情報フィルタリング方法は、前記データ処理手段が、インターネット上に公開される前記コンテンツを、前記コンテンツ間の参照情報を含む前記関連データに基づいてフィルタリングすることを特徴とする。
【００７０】
請求項１９の本発明の情報フィルタリングプログラムは、コンピュータを制御することにより、個々のコンテンツに対する利用者の評価を予測し、前記コンテンツの中から前記利用者に適合するコンテンツを検出する情報フィルタリングプログラムにおいて、前記コンピュータが備えるデータ処理手段に、各前記利用者によりこれまでに示されている各前記利用者の各前記コンテンツに対する評価を行列で示す評価値データと、前記評価に関連する行列データである関連データの、予め記録されたデータを参照する処理と、参照した該評価値データに特異値分解を適用し、該特異値分解で得られた行列を所定の次元に圧縮したデータを算出し、該算出したデータに基づいて、評価値データを該評価値データのうち評価予測に有効でない情報を取り除いたデータに変換するための式である圧縮変換方法データを算出する圧縮変換方法データ算出処理と、前記関連データに前記圧縮変換方法データを適用することにより、各前記関連データから評価に影響を与えない部分を取り除いたデータである圧縮データを算出する圧縮変換処理と、前記圧縮データと前記評価値データとの双方の情報を基に、各前記利用者の評価傾向の評価の特徴を示す利用者評価特徴データと、前記コンテンツの特徴を示すコンテンツ評価特徴データとを算出する評価特徴算出処理と、前記利用者評価特徴データと前記コンテンツ評価特徴データを基にして、各コンテンツに対して各利用者が与える評価を予測値として算出する評価予測処理を実行させることを特徴とする。
【００７４】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００７５】
本発明では、個々のコンテンツに対する利用者の評価を予測し、その各コンテンツの中から利用者に適合するコンテンツを検出する情報フィルタリングにおいて、各利用者によりこれまでに示されている各利用者の各コンテンツに対する評価を示す評価値のデータと、評価に関連する情報である関連データとに基づいて、各関連データから評価に影響を与えない部分を取り除いたデータである圧縮データを算出し、この圧縮データと評価値との双方の情報を基に、各コンテンツに対して各利用者が与える評価を予測し算出することを特徴とする。
【００７６】
ここで、評価に関連する情報である関連データとしては、例えば、各コンテンツの内容を表現するデータである属性データや、各利用者に関する情報（コンテンツの好み等）である利用者データを用いることができる。また、圧縮データの算出方法としては、以下の実施例において示される様に、特異値分解等の方法を用いることができる。このように、属性データや利用者データ等を圧縮して、評価に影響を与えない部分を取り除いた圧縮属性データや圧縮利用者を生成し、これを用いて評価を行うことにより、評価予測に有効でない部分のデータによる悪影響を解消することができる。また、利用者による評価値と、その他の関連データである属性データ等の双方に基づいて評価予測を算出するため、まだ各利用者からの評価が少ないコンテンツであっても、各コンテンツの特徴を参照して適切に判定することができる。
【００７７】
図１は、本発明の第１の実施の形態による情報フィルタリングシステムの構成を示すブロック図である。本実施の形態においては、前述の関連データとして、各コンテンツの内容を表現するデータである属性データを用いる。また、図１においては、図７に示される上述した従来の技術と同様な構成については、同一の符号を付している。こうした従来の技術と同様な構成においては、特に必要がない限りその説明を省略する。
【００７８】
図１を参照すると、本実施の形態の情報フィルタリングシステムは、入出力部１０、データ処理部２０、記憶部３０を備えている。
【００７９】
入出力部１０は、要求入力部１１、コンテンツ提示部１２、評価入力部１３を備えている。
【００８０】
データ処理部２０は、属性抽出部２１、属性圧縮変換部２２、評価特徴算出部２３、評価予測部２４、コンテンツ選択部２５を備えている。
【００８１】
属性抽出部２１は、登録コンテンツのコンテンツデータ３１から、特徴となる属性を抽出し、属性データ３２として記憶部３０に格納する。
【００８２】
属性圧縮変換部２２は、コンテンツの属性データ３２と評価値３３とを基にして、属性データから評価予測に有効でない部分を削除するために属性データを圧縮変換し、圧縮属性データ３４として記憶部３０に格納する。
【００８３】
評価特徴算出部２３は、圧縮属性データ３４と評価値３３とを基にして、評価予測に有効な利用者特徴を算出し、利用者評価特徴データ３５として記憶部３０に格納する。加えて、評価特徴算出部２３は、評価予測に有効なコンテンツ特徴を算出し、コンテンツ評価特徴データ３６として記憶部３０に格納する。
【００８４】
評価予測部２４は、入出力部１０の要求入力部１１から、要求者のフィルタリング要求を受け付けた場合に、利用者評価特徴データ３５とコンテンツ評価特徴データ３６とを基にして、各コンテンツに要求者が与える評価値を予測しその値を算出する。
【００８５】
コンテンツ選択部２５は、評価予測部４４から予測評価値を受け取り、コンテンツデータ３１として記録されている登録コンテンツの中から、予測評価値の高いコンテンツを選別し、入出力部１０のコンテンツ提示部１２を通じて要求者に提供する。
【００８６】
記憶部３０は、コンテンツデータ３１、属性データ３２、評価値３３、圧縮属性データ３４、利用者評価特徴データ３５、コンテンツ評価特徴データ３６を記憶している。
【００８７】
コンテンツデータ３１は、推薦対象となる登録コンテンツ６０のデータである。
【００８８】
属性データ３２は、属性抽出部２１が算出したコンテンツの属性のデータである。
【００８９】
評価値３３は、利用者がコンテンツに与えた評価の値であり、要求者及び要求者以外の利用者による評価が含まれる。また、入出力部１０の評価入力部１３から新たな評価が入力されることにより、評価値３３は追加・更新される。
【００９０】
圧縮属性データ３４は、属性圧縮変換部２２により算出された、圧縮変換により評価に有効でない部分が削除された属性データである。
【００９１】
利用者評価特徴データ３５は、評価特徴算出部２３により算出された、利用者の評価の特徴を示すデータである。
【００９２】
コンテンツ評価特徴データ３６は、評価特徴算出部２３により算出された、コンテンツの評価の特徴を示すデータである。
【００９３】
次に、図２、図３のフローチャートを参照して、本実施の形態の情報フィルタリングシステムの動作について説明する。
【００９４】
動作は事前に実行する準備動作と、利用者のフィルタリング要求を受けて実行するフィルタリング動作に大きく分かれる。
【００９５】
まず、準備動作について説明する。図２は、本実施の形態による情報フィルタリングシステムの準備動作を説明するためのフローチャートである。
【００９６】
準備動作では、まず登録コンテンツのコンテンツデータ３１から、属性抽出部２１が特徴となる属性を抽出し、属性データ３２として記憶部３０に格納する（ステップ２０１）。
【００９７】
次に、属性圧縮変換部２２が、コンテンツの属性データ３２と評価値３３とを基にして、属性データから評価予測に有効でない部分を削除するために属性データを圧縮変換し、圧縮属性データ３４として記憶部３０に格納する（ステップ２０２）。
【００９８】
次に、評価特徴算出部２３が、圧縮属性データ３４と評価値３３とを基にして、評価予測に有効な利用者特徴を算出し、利用者評価特徴データ３５として記憶部３０に格納する（ステップ２０３）。加えて、評価特徴算出部２３は、評価予測に有効なコンテンツ特徴を算出し、コンテンツ評価特徴データ３６として記憶部３０に格納する。
【００９９】
この準備動作に続いて、実際のフィルタリング動作について説明する。図３は、本実施の形態による情報フィルタリングシステムのフィルタリング動作を説明するためのフローチャートである。
【０１００】
まず、入出力部１０の要求入力部１１から、要求者の情報フィルタリング要求を受け付けると（ステップ３０１）、評価予測部２４が、利用者評価特徴データ３５とコンテンツ評価特徴データ３６とを基にして、各コンテンツに要求者が与える評価値を予測し、その予測評価値を算出する（ステップ３０２）。
【０１０１】
次に、コンテンツ選択部２５が、評価予測部４４から予測評価値を受け取り、コンテンツデータ３１から予測評価値の高いコンテンツを選別する（ステップ３０３）。
【０１０２】
最後に、コンテンツ選択部２５により選別されたコンテンツを、入出力部１０のコンテンツ提示部１２を通じて要求者に提供する（ステップ３０４）。
【０１０３】
そして、要求者は、コンテンツ提示部１２に提示されたコンテンツが、自分の関心や嗜好に合うか評価し、評価を評価入力部１３から入力する。この評価入力部１３から入力された評価は、評価値３３として記憶部３０内に格納する。
【０１０４】
次に、本実施の形態の情報フィルタリングシステムにおいて、主要な処理を実行する構成要素である属性圧縮変換部２２を、図面を参照してより詳細に説明する。図４は、本実施の形態の属性圧縮変換部２２の構成の一例を示すブロック図である。
【０１０５】
図４の例を参照すると、属性圧縮変換部２２は、評価圧縮変換部２６、第２属性圧縮変換部２７、圧縮属性算出部２８を備え、又、内部に評価変換方法データ３７、属性変換方法データ３８を記憶する。
【０１０６】
評価圧縮変換部２６は、評価値３３を基にして、評価データから評価予測に有効でない部分を削除するための算出方法を指定するデータを算出し、評価変換方法データ３７として記憶する。
【０１０７】
第２属性圧縮変換部２７は、コンテンツの属性データ３２と評価変換方法データ３７とを基にして、属性データから評価予測に有効でない部分を削除するための算出方法を指定するデータを算出し、属性変換方法データ３８として記憶する。
【０１０８】
圧縮属性算出部２８は、コンテンツの属性データ３２に、属性変換方法データ３８が示す変換方法を適用して、属性データから評価予測に有効でない部分を削除し、圧縮属性データ３４として記憶部３０に格納する。
【０１０９】
評価変換方法データ３７は、評価圧縮変換部２６により算出された、評価データから評価予測に有効でない部分を削除する方法を指定するデータである。
【０１１０】
属性変換方法データ３８は、第２属性圧縮変換部２７により算出された、属性データから評価予測に有効でない部分を削除する方法を指定するデータである。
【０１１１】
次に、属性圧縮変換部２２の動作について説明する。図５は、本実施の形態の属性圧縮変換部２２の動作の一例を説明するためのフローチャートである。
【０１１２】
まず、評価圧縮変換部２６が、評価値３３を基にして、評価データから評価予測に有効でない部分を削除するための算出方法を指定するデータを算出し、評価変換方法データ３７として記憶する（ステップ５０１）。
【０１１３】
次に、第２属性圧縮変換部２７が、コンテンツの属性データ３２と評価変換方法データ３７とを基にして、属性データから評価予測に有効でない部分を削除するための算出方法を指定するデータを算出し、属性変換方法データ３８として記憶する（ステップ５０２）。
【０１１４】
次に、圧縮属性算出部２８が、コンテンツの属性データ３２に、属性変換方法データ３８が示す変換方法を適用して、属性データから評価予測に有効でない部分を削除し、圧縮属性データ３４として記憶部３０に格納する（ステップ５０３）。
【０１１５】
次に、この属性圧縮変換部２２における処理を、より具体的に詳細に説明する。
【０１１６】
本発明における圧縮変換の処理方法の一例として、本実施の形態の属性圧縮変換部２２と評価特徴算出部２３は、特異値分解（ＳＶＤ：Singular Value Decomposition）と呼ばれる数学手法を用いて、圧縮変換を行なう。
【０１１７】
まず、特異値分解について説明する。
【０１１８】
本実施の形態における属性データ３２や評価値３３の情報は、数学的にデータ行列と考えることができる。例えば、属性データ３２は、各行に各属性を割当て、各列に各コンテンツを割当て、行列の各要素には、その列に対応するコンテンツのその行に対応する属性の属性値を割当てることにより、属性値のデータ行列と考えることができる。同様に、評価値３３は、各行に各利用者を割当て、各列に各コンテンツを割当て、行列の各要素には対応するコンテンツの対応する利用者による評価値を割当てることにより、データ行列と考えることができる。
【０１１９】
このようなデータ行列に、特異値分解を適用することで、下記の処理を容易に実現することができる。
・データ行列を本質的部分に圧縮
・欠損値の予測
・新しいデータの圧縮後空間への変換式の決定
【０１２０】
特異値分解は、数学的には以下のように定義できる。
【０１２１】
いま、行列Ａを、ｍ行×ｎ列で、ｒａｎｋ(Ａ)＝ｒ（ランクがｒ）のデータ行列とする。行列Ａは、ｍ次元空間上のｎ種類のデータを表現しているとも、ｎ次元空間上のｍ種類のデータを表現しているとも解釈することができる。
【０１２２】
特異値分解は、この行列Ａを、以下のように分解する線形代数の手法である。任意の行列Ａから、下記の条件を満たす３つの行列Ｕ、Ｒ、Ｖが算出される。ここで、行列の右肩の“┬”は、転置行列を示す記号である。
Ａｍ×ｎ＝Ｕｍ×ｒ・Ｒｒ×ｒ・Ｖ┬ｒ×ｎ        （１）
ただし、行列Ｕ、Ｖは正規直交行列であり、行列Ｒは対角行列である。
Ｕ┬・Ｕ＝Ｉｒ        （Ｉｒは、ｒ次の単位行列）
Ｖ┬・Ｖ＝Ｉｒ
Ｒ＝diag（ｄ１、ｄ２、・・・、ｄｒ）、  ｄ１≧ｄ２≧・・・≧ｄｒ＞０
【０１２３】
ｄ１、ｄ２、・・・、ｄｒは、対角行列Ｒの対角要素であり、圧縮後の空間（後で説明）の各軸における情報量を示している。
【０１２４】
この特異値分解を用いることで、以下のようにデータ行列Ａを圧縮することができる。
【０１２５】
まず式（１）において、ＡとＵに注目すると、特異値分解における行列Ａから行列Ｕを算出する処理
Ａｍ×ｎ→Ｕｍ×ｒ
を考えると、行例Ａの列数をｎからｒに圧縮したものが行列Uということができる。
【０１２６】
元のデータ行列Ａにおける各列のベクトル間では、類似性が高いものもあれば低いものもある。しかし、この特異値分解によるＡからＵを求める変換により、行列Ａで類似した列ベクトルは同じ列にまとめられ、圧縮後のＵでは各列ベクトルは直交したものになる。つまり、ｍ個のデータをＡではｎ次元空間上で表現していたものが、Ｕではｒ次元空間で表現できたことになる。
【０１２７】
同様に、ＡとＶに注目して、特異値分解における行列Ａから行列Ｖを算出する処理
Ａｍ×ｎ→Ｖ┬ｒ×ｎ
を考えると、行列Aの行数をｍからｒに圧縮したものが行列Ｖということができる。
【０１２８】
行の圧縮と考えた場合も、行列Ａの各行ベクトルの類似性に基づいて圧縮されている。この場合、ｎ個のデータをＡではｍ次元空間上で表現していたものが、Ｖではｒ次元空間で表現できたことになる。
【０１２９】
更に、ＵとＶ共にｒ次元空間であるが、特異値分解では２つの空間は単に次元数が同じなのではなく、ＵとＶは同一の空間となっている。
【０１３０】
また、Ｒの各対角要素ｄ１、ｄ２、・・・、ｄｒは、圧縮後のｒ次元空間の各軸が持つ情報量を示している。そこで、ｒ個の軸の内で、対角要素の値の大きい（つまり情報量が多い）指定された個数の（例えばｋ個）の軸だけを利用することにすれば、次の式（２）に示されるように、行列Ａをｋ次元まで圧縮した行列Ａ’を得ることができる。
Ａ’ｍ×ｎ＝Ｕ’ｍ×ｋ・Ｒ’ｋ×ｋ・Ｖ’┬ｋ×ｎ        （２）
ただし、ここで行列Ｕ’、Ｖ’、Ｒ’は、それぞれもとの行列Ｕ、Ｖ、Ｒの第１〜ｋ列の部分のみを用いた行列である。この圧縮においては、行列Ａが持っていた情報の本質的な部分が失われることなく、本質的でない部分が取り除かれることにより、行列Ａが行列Ａ’に変換される。
【０１３１】
この特異値分解を用いることで、以下のようにデータ行列中の欠損値を予測することができる。
【０１３２】
データ行列Ａに欠損値がある場合には、式（２）を利用して、欠損値を予測することができる。式（２）の行列Ａ’は、特異値分解による圧縮空間の軸の内、情報量の多い主要な軸だけを利用してＡを再合成したものである。そのため、Ａ’から欠損値に対応する要素の値を読み出すことで、Ａの欠損値を予測することができる。このときの予測値は、ｋ次元空間で表現されるＡの本質的部分と最も整合性がとれている値になっている。
【０１３３】
特異値分解を行なった後で、データ行列にデータの追加や更新があった場合、以下のような手続きによりデータの追加・更新を反映することができる。
【０１３４】
新しいデータが追加されて、行列Ａのセルの値が更新されたり、列や行が追加された場合、本来は、特異値分解をやり直して新しい圧縮空間を生成する必要がある。しかし、データ追加前のＡの圧縮空間での、新しいデータの位置を簡単に求めることができれば、追加・更新データ量が多くない場合には、特異値分解をやり直さなくてもよい。
【０１３５】
式（１）のＡ＝Ｕ・Ｒ・Ｖ┬から、ＶとＲを辺々移動することにより、
Ａ・（Ｖ┬）−１・Ｒ−１＝Ｕ
が得られる。更に、Ｕ、Ｖは正規直交行列なので、逆行列は転置行列に等しいため前式は、
Ａ・Ｖ・Ｒ−１＝Ｕ
となる。この式に示されるように、新しいデータが追加されてＡの要素が更新されたり新しい行が追加されてた場合に、その変化の量が少ない場合においては、最新の行列Ａに対して
Ｖ・Ｒ−１
を右から掛けることによる簡易な演算により、更新後の行列Ｕ（を十分に近似する行列）を効率よく求めることができる。
【０１３６】
また、既にｋ次元まで圧縮されている場合においても、同様に、式（２）から
Ｖ’・Ｒ’−１        （３）
を右から掛ければよい。
【０１３７】
Ｖを更新する場合も同様に、Ｒ−１・Ｕ−１・Ａ＝Ｒ−１・Ｕ┬・Ａ＝Ｖ┬であるから、データ追加により、Ａのセルが更新されたり新しい列が追加されても、その変化の量が少ない場合においては、最新の行列Ａに対して
Ｒ−１・Ｕ┬
を左から掛けることよる簡易な演算により、更新後の行列Ｖ（を十分に近似する行列）を効率よく求めることができる。
【０１３８】
この場合もｋ次元まで圧縮したときは、式（２）から
Ｒ’−１・Ｕ’┬        （４）
を左から掛ければよい。
【０１３９】
次に、本実施の形態の情報フィルタリングシステムの、特異値分解による圧縮処理の一実施例を詳細に説明する。
【０１４０】
ここで、予め記憶部３０には、コンテンツの属性データ３２としてコンテンツ毎の各単語の出現率が格納されており、かつ、各利用者が推薦してコンテンツに与えた評価値３３が格納されている。
【０１４１】
属性圧縮変換部２２は、まず、評価圧縮変換部２６により、評価値３３中の評価値を基にして、各行にコンテンツを各列に利用者を割当てた評価データ行列（以下Ｅと呼ぶ）を生成する。ここで、例えばコンテンツ数がｍ件で、そのコンテンツを評価した利用者数がｎ人の場合には、評価データ行列Ｅはｍ×ｎ行列になる。
【０１４２】
次に、評価圧縮変換部２６は、評価データ行列Ｅを特異値分解する。
Ｅ＝Ｄ１・Ｒ１・Ｕ１┬        （５）
【０１４３】
次に、圧縮後の次元数を決めて（以下、圧縮後の次元数をｋ１とする）、Ｅを（ｋ１次の）Ｕ１’┬に変換するための行列
Ｒ１’−１・Ｄ１’┬        （６）
を算出し、評価変換方法データ３７として記憶部３０に格納する。
【０１４４】
各利用者の評価、つまり、評価データ行列Ｅの各列は、各利用者の興味を表現していると考えられる。この特異値分解を利用する演算（式（６）をＥに掛ける演算）を、ＥからＵ１’┬への変換と考えると、Ｅの行数がコンテンツ数ｍだったのがｋ１に圧縮変換されたことになる。これは、各利用者の興味を判別するためには、コンテンツｍ個全てを参照する必要はなく、本質的な情報を表現しているｋ１種類の値のみを参照するものとしても同様が判別が実現されることを示している。これから、Ｕ１’┬のｋ１個の行は各利用者の興味の特徴を表現していると考えられる。そして、式（５）は、評価データ行列ＥをＵ１┬に圧縮変換するので、利用者傾向の特徴を算出する式と考えることができる。Ｅの各行は、コンテンツを表現していたので、Ｕ１┬’の各行が表現するものを、以下では特徴コンテンツと呼ぶこととする。
【０１４５】
次に、第２属性圧縮変換部２７は、まず、属性データ３２として格納されている各コンテンツの単語出現率データから、各行にコンテンツを各列に単語（キーワード）を割当てた属性データ行列（以下この行列を、Ｆと記す）を生成する。
【０１４６】
コンテンツ数がｍ件で、単語が全部でｐ種類だったとすると、属性データ行列Ｆはｍ×ｐ行列になる。
【０１４７】
次に、属性データ行列Ｆに評価変換方法データ３７として記憶された式（６）を適用し、行列Ｆの行数をｍからｋ１に圧縮した行列Ｆ１を生成する。
【０１４８】
次に、行列Ｆ１を特異値分解する。
Ｆ１＝Ｄ２・Ｒ２・Ｔ２┬        （７）
【０１４９】
次に、圧縮後の次元数を決めて（以下、圧縮後の次元数をｋ２とする）、Ｆ１を（ｋ２次の）Ｄ２’に変換するための行列
Ｔ２・Ｒ２’−１        （８）
を算出し、属性変換方法データ３８として記憶部３０に格納する。
【０１５０】
属性データ行列Ｆは、各コンテンツの単語出現率を表わしており、行列Ｆを式（６）により圧縮した行列Ｆ１は、特徴コンテンツの単語出現率を表わしている。
【０１５１】
この特異値分解を利用した行列Ｆ１から行列Ｄ２’への変換を考えると、行列Ｆ１の列数が、単語の種類数ｐだったのがｋ２に圧縮変換されたことになる。これは、各利用者の興味を判別する特徴コンテンツを、単語出現率から判別するためには、単語ｐ種類の全てが必要ではなく、ｋ２個の値を用いるのみでも同様に判別できることを示している。これから、行列Ｄ２’のｋ２個の列は、各特徴コンテンツの特徴を表現していると考えられる。そして、式（８）は、行列Ｆ１を行列Ｄ２’に変換するので、コンテンツの特徴を算出する式と考えることができる。行列Ｆ１の各列は単語を表現していたので、Ｄ２’の各列が表現するものを以下では特徴単語と呼ぶこととする。
【０１５２】
次に、圧縮属性算出部２８は、まず、属性データ３２として格納されている各コンテンツの単語出現率データから、各行にコンテンツを各列に単語を割当てた属性データ行列（先と同様にこの行列を、Ｆと記す）を生成する。コンテンツ数がｍ件で、全部でｐ種類だったとすると、属性データ行列Ｆはｍ×ｐ行列になる。
【０１５３】
そして、属性変換方法データ３８として記憶された式（８）を用いて、属性データ行列Ｆの列数を、ｐから（圧縮後の次数として設定された）ｋ２に圧縮した行列Ｆ２を生成し、圧縮属性データ３４として記憶部３０に格納する。
【０１５４】
属性データ行列Ｆは、各コンテンツの単語出現率を表わしており、行列Ｆを式（８）により圧縮した行列Ｆ２は、各コンテンツの特徴単語の出現率を表わしている。
【０１５５】
この特徴単語は、利用者の評価傾向の特徴を表現する特徴コンテンツの特徴を表現するものであるので、特徴単語の出現率を表わしている行列Ｆ２は、元の単語出現率を表わした行列Ｆの持っている情報から、評価傾向の特徴を表現しない部分は削除されて、評価傾向の特徴を表現する部分だけが含まれている。
【０１５６】
次に、評価特徴算出部２３では、まず、評価値３３中の評価を基にして、各行にコンテンツを、各列に利用者を割当てた評価データ行列（先と同様にこの行列を、Ｅと記す）を生成する。コンテンツ数がｍ件で、そのコンテンツを評価した利用者数がｎ人だとすると、評価データ行列Ｅはｍ×ｎ行列になる。
【０１５７】
そして、圧縮属性データ３４として記憶された各コンテンツの特徴単語の出現率を表わした行列Ｆ２と行列Ｅをつなげた行列Ｅ２を生成する。この行列Ｅ２は、各行にコンテンツが割当てられ、第１列から第ｎ列までは利用者が割当てられ、第ｎ＋１列から第ｎ＋ｋ２列までは各特徴単語が割当てられたｍ行ｎ＋ｋ２列行列として生成する。
【０１５８】
次に、この行列Ｅ２を特異値分解する。
Ｅ２＝Ｄ３・Ｒ３・Ｕ３┬        （９）
【０１５９】
次に、圧縮後の次元数を決めて（以下、圧縮後の次元数をｋ３とする）、これまでに説明された圧縮変換処理を同様に実施することにより、Ｄ３、Ｒ３、Ｕ３の各行列を圧縮した、Ｄ３’、Ｒ３’、Ｕ３’の行列を算出する。そして、行列Ｒ３’と行列Ｕ３’を利用者評価特徴データ３５として格納し、行列Ｄ３’をコンテンツ評価特徴データ３６として格納する。
【０１６０】
行列Ｅ２は、評価データと、属性データのうち評価に影響を与える部分である圧縮属性データを結合したものである。そのためＥ２を圧縮変換することで算出した利用者評価特徴データは、評価データと属性データを基にして利用者の評価傾向の特徴を表現したものであり、かつ、属性データの評価傾向の特徴を表現しない部分は含まれていない。これは、コンテンツ評価特徴データも同様である。
【０１６１】
次に、評価予測部２４は、要求入力部１１から要求者の情報フィルタリング要求を受け付けると、利用者評価特徴データ３５として記憶された行列Ｒ３’と、行列Ｕ３’Tにおける要求者に対応する列と、コンテンツ評価特徴データ３６として記憶された行列Ｄ３’とから、行列Ｅ２’の要求者に対応する列を算出することにより、各コンテンツに対して要求者が与える評価の予測値を求める。
【０１６２】
また、本実施の形態においては、属性データとして、各コンテンツの単語出現頻度を用いたが、単語のTF・IDF値などを用いることもできる。また、コンテンツの著者などの書誌データを用いることもできる。また、コンテンツがWebページなど他のコンテンツ間で参照関係がある場合は、コンテンツから他のページへの参照や、他のページからの参照の情報を属性データとして用いることができる。
【０１６３】
以上説明したように、本発明の情報フィルタリングシステムによれば、コンテンツの属性と他の利用者のコンテンツに対する評価値との双方に基づいて、効率よく高精度の情報フィルタリングを実現することができる。
【０１６４】
次に本発明の第２の実施の形態を説明する。
【０１６５】
図６は、本発明の第２の実施の形態による情報フィルタリングシステムの構成を示すブロック図である。先の第１の実施の形態においては、関連データとして属性データを用いたが、本実施の形態においては、各利用者の年齢、性別、趣味等の利用者に関する情報である利用者データを関連データとして用いる。
【０１６６】
つまり、本実施の形態においては、先の第１の実施の形態と同様の方法により、この利用者データから、評価に影響を与える部分だけを取りだし、フィルタリングを行う。本実施の形態の利用者データ圧縮変換部２２ａは、先の第１の実施の形態における属性圧縮変換部２２が、属性データと評価データを基に評価に影響を与える部分だけを取り出した圧縮属性データを算出したのと同様の方法により、利用者データと評価データを基に、利用者データから評価に影響を与える部分だけを取り出して、圧縮利用者データ３４ａとして格納する。
【０１６７】
本実施の形態の評価特徴算出部２３ａは、評価データと圧縮利用者データ３４ａを基に、先の第１の実施の形態における評価特徴算出部２３と同様の方法で、利用者評価特徴データ３５とコンテンツ評価特徴データ３６を算出し、記憶部３０に格納する。
【０１６８】
次に、評価特徴算出部２３ａの処理を詳しく説明する。圧縮利用者データ３４ａとして格納された行列（以下Ｆ３と呼ぶ）は、利用者数がｎで、圧縮利用者データの種類がｋ３種類だったとすると、ｋ３行ｎ列の行列となる。評価特徴算出部２３ａでは、まず、評価値３３中の評価を基にして、各行にコンテンツを、各列に利用者を割当てた評価データ行列（先と同様にこの行列を、Ｅと記す）を生成する。コンテンツ数がｍ件で、そのコンテンツを評価した利用者数がｎ人だとすると、評価データ行列Ｅはｍ×ｎ行列になる。
【０１６９】
そして、圧縮利用者データ３４ａとして格納された行列Ｆ３と行列Ｅをつなげた行列Ｅ３を生成する。この行列Ｅ３は、各列に利用者が割当てられ、第１列から第ｍ行まではコンテンツが割当てられ、第ｍ＋１列から第ｎ＋ｋ３列までは圧縮された利用者データが割当てられたｍ＋ｋ３行ｎ列行列として生成する。
【０１７０】
以降、第１の実施の形態と同様な処理を行なうことにより、評価データと、利用者データのうち評価に影響を与える部分を基にしたフィルタリングを行なうことができる。
【０１７１】
また、利用者データとして、利用者の年齢、性別、趣味等を例示したが、利用者と他の利用者との関係（上司・部下など）や、利用者の興味を示すキーワードやＣＢＦ方式で算出された利用者プロファイル等を用いることもできる。
【０１７２】
また、本形態と第１の形態を組み合わせ、利用者データのうち評価に影響を与える部分と、属性データのうち評価に影響を与える部分と、評価データを基にしたフィルタリングを行なうこともできる。
【０１７３】
また、上記各実施の形態においては、圧縮変換を特異値分解を用いて処理する方式を例に説明したが、本発明の圧縮変換の方法はこの方式に限るものではなく、他に、多変量解析で使用される次元縮約の方法や、独立成分分析や、ニューラルネットワーク等を用いる実施の形態も同様に可能である。
【０１７４】
なお、上記各実施の形態の情報フィルタリングシステム１００、１００ａは、データ処理部２０、２０ａにおける属性抽出部２１、属性圧縮変換部２２、利用者データ圧縮変換部２２ａ、評価特徴算出部２３、２３ａ、評価予測部２４、コンテンツ選択部２５、評価圧縮変換部２６、第２属性圧縮変換部２７、圧縮属性算出部２８等の機能や、その他の機能をハードウェア的に実現することは勿論として、各機能を備えるコンピュータプログラムを、コンピュータ処理装置のメモリにロードされることで実現することができる。このコンピュータプログラムは、磁気ディスク、半導体メモリその他の記録媒体９０、９０ａに格納される。そして、その記録媒体からコンピュータ処理装置にロードされ、コンピュータ処理装置の動作を制御することにより、上述した各機能を実現する。
【０１７５】
以上好ましい実施の形態及び実施例をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。
【０１７６】
【発明の効果】
以上説明したように本発明の情報フィルタリングシステムによれば、以下のような効果が達成される。
【０１７７】
第１に、本発明の情報フィルタリングシステムでは、属性圧縮変換部により、コンテンツの属性から評価予測に有効でない部分を削除することができる。このため、従来のＣＢＦ方式（やＳＩＦ方法と組合せた方式）における、評価と関連しない部分の影響によりフィルタリング精度が低くなるという問題点を、軽減・解消することができる。
【０１７８】
第２に、本発明の情報フィルタリングシステムでは、コンテンツの属性も利用して評価値を予測することができる。このため、従来のＳＩＦ方法における、予めある程度の量の評価が集まらなければフィルタリングの精度が悪く、かつ得られる情報は既に他の利用者により評価・推薦された情報のみであること等の問題点を解決することができる。
【図面の簡単な説明】
【図１】  本発明の第１の実施の形態による情報フィルタリングシステムの構成を示すブロック図である。
【図２】  本発明の第１の実施の形態による情報フィルタリングシステムの動作を説明するためのフローチャートである。
【図３】  本発明の第１の実施の形態による情報フィルタリングシステムの動作を説明するためのフローチャートである。
【図４】  本発明の第１の実施の形態の属性圧縮変換部の構成の一例を示すブロック図である。
【図５】  本発明の第１の実施の形態の属性圧縮変換部の動作の一例を説明するためのフローチャートである。
【図６】  本発明の第２の実施の形態による情報フィルタリングシステムの構成を示すブロック図である。
【図７】  従来の情報フィルタリングシステムの構成を示すブロック図である。
【図８】  従来の情報フィルタリングシステムの動作を説明するためのフローチャートである。
【図９】  従来の情報フィルタリングシステムの動作を説明するためのフローチャートである。
【符号の説明】
１００、１００ａ  情報フィルタリングシステム
１０  入出力部
１１  要求入力部
１２  コンテンツ提示部
１３  評価入力部
２０、２０ａ  データ処理部
２１  属性抽出部
２２  属性圧縮変換部
２３  評価特徴算出部
２４  評価予測部
２５  コンテンツ選択部
２６  評価圧縮変換部
２７  第２属性圧縮変換部
２８  圧縮属性算出部
３０  記憶部
３１  コンテンツデータ
３２  属性データ
３３  評価値
３４  圧縮属性データ
３５  利用者評価特徴データ
３６  コンテンツ評価特徴データ
３７  評価変換方法データ
３８  属性変換方法データ
２２ａ  利用者データ圧縮変換部
２３ａ  評価特徴算出部
３２ａ  利用者データ
３４ａ  圧縮利用者データ
４０  データ処理部
４１  プロファイル学習部
４２  プロファイル変換部
４３  属性変換部
４４  評価予測部
５０  記憶部
５１  プロファイルデータ
５２  変換方法データ
５３  変換属性データ
５４  変換プロファイルデータ
６０  登録コンテンツ
９０、９０ａ  記録媒体
【図１】
0003788254.tif 000002
【図２】
0003788254.tif 000003
【図３】
0003788254.tif 000004
【図４】
0003788254.tif 000005
【図５】
0003788254.tif 000006
【図６】
0003788254.tif 000007
【図７】
0003788254.tif 000008
【図８】
0003788254.tif 000009
【図９】
0003788254.tif 000010