(57)【特許請求の範囲】
【請求項１】
ユーザーの要求・興味を表すユーザープロファイルを格納するプロファイル格納手段と、
このプロファイル格納手段に格納されたユーザープロファイルに基づいてユーザーに配信すべき情報を、データベースから選出する選出手段と、
この選出手段によって選出された情報に対する個々のユーザーのフィードバック情報を収集するための収集手段と、
この収集手段によって収集されたフィードバック情報に対してクラスタ分析を行い、このときのフィードバック情報を返したユーザを対象として、要求・興味の類似するユーザーを集めたユーザーグループを作成する作成手段と、
この作成手段で作成されたユーザーグループ毎に、前記収集手段によって収集されたフィードバック情報をもとに前記プロファイル格納手段に格納されたユーザプロファイルを修正するプロファイル修正手段と、
異なるユーザグループ方法で作成された複数のユーザグループ群毎に各々修正されたユーザープロファイルの精度を評価する評価手段と
を具備することを特徴とする情報フィルタリング装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ユーザーの要求・興味にあった情報を選出して配信する情報フィルタリング装置に関する。
【０００２】
【従来の技術】
近年、ＷＷＷ(World Wide Web)や電子図書館の発展に見られるように、テキスト、音声、画像などの大量の情報に個人がアクセスすることが可能になりつつある。アクセス可能な情報が増えるほど、その中から個人の要求・興味にあった情報を効率よくかつ精度よく選出して提示してくれる情報フィルタリングの技術が重要となる。
【０００３】
情報フィルタリングにおいては、個々のユーザーの要求・興味はユーザープロファイルにより表現される。例えばテキスト情報のフィルタリングの場合には、ユーザープロファイルにユーザーの要求・興味に関連する語彙を用いた検索条件を記述する方法などが用いられる。
【０００４】
しかし、ユーザーの要求・興味を始めからユーザープロファイルにより精緻に表現することは困難であり、さらに、ユーザーの要求・興味自体、時間や状況とともに推移していくという問題がある。
【０００５】
このため情報フィルタリングにおいては、情報検索の分野で古くから研究されているrelevance feedbackという技術を用いてユーザープロファイルを修正していくことが重要であると考えられる。Relevance feedbackは、まず初期プロファイルにより得られたフィルタリング結果に対してユーザーが評価を行い、この評価情報を利用してプロファイルを修正することにより、次回のフィルタリングの精度を高めようとするものである。
【０００６】
例えばテキスト情報のフィルタリングの場合には、ユーザーにフィルタリング結果の中から「興味のある文書」、「興味のない文書」などをいくつか選択してもらい、これらの本文中から新しい語彙を抽出して、プロファイルに反映させるといった方法が考えられる。テキスト情報を対象としたrelevance feedbackの具体的手法は、例えば文献（"Introduction to Modern Information Retrieval, Salton & McGill, McGraw-Hill Book Company, 1983）に開示されている。
【０００７】
従来の情報フィルタリングシステムでは、複数のユーザーに対してサービスを行う場合、以下のふたつの方法のいずれかをとっていた。第一は、個々のユーザーの興味に応じて個々のユーザープロファイルを修正する方法である。
【０００８】
第二は、個々のユーザーに対してユーザープロファイルをもつのではなく、あらかじめいくつかのトピックをシステム側で用意し、ユーザーにこの中から選択してもらう方法である。
【０００９】
前者では、ユーザ数の増大に比例してrelevance feedback処理のシステム負荷が増大してしまうという問題がある。後者では、この問題を回避するためにユーザー毎ではなくトピック毎にプロファイルをもつものであり、一般にひとつのトピックプロファイルを複数ユーザーが共有することになる。
【００１０】
また、複数ユーザーを扱い、ユーザーの要求・興味に合った情報を提供する他の試みとしては、協調フィルタリング（collaborative filtering, social filtering ）という技術が知られている。これは、例えば文献（"Social Information Filtering:Algorithms for Automating Word of Mouth, Upendra Shardanand and Pattie Maes, ACM CHI'95 Proceedings, 1995 ）に開示されているように、ユーザーのもつ興味の間の類似度をもとに、あるユーザーがおもしろいと判断した情報は、そのユーザーと似たユーザーにも提供しようとするものである。
【００１１】
【発明が解決しようとする課題】
しかし、同一トピックを選択した複数ユーザーの要求・興味は必ずしも似ているとは限らないため、これらのユーザーから得たフィードバック情報を利用して共通のトピックプロファイルを修正することは難しい。
【００１２】
例えば、ユーザーＡとユーザーＢが共に「ＤＶＤ」というトピックを選択し、ユーザーＡのフィードバック情報からユーザーＡは、「ＤＶＤプレーヤー」などハード面に興味があるが、ユーザーＢのフィードバック情報からユーザーＢは、「映画」「ＤＶＤタイトル」などソフト面に興味があることがわかる場合、両者を満足させるように「ＤＶＤ」のプロファイルを修正することは難しい。
【００１３】
本発明は、このような状況に鑑み、ユーザー数の増大を許容し、かつ個々のユーザーにとって効果的なrelevance feedbackを実現することを目的としたものである。
【００１４】
また、協調フィルタリングの方法では、どのユーザーも評価を行ったことのない未知の情報は扱うことができない。これに対しRelevance feedbackは、既知の情報に対するユーザーの評価情報を利用してプロファイルの修正を行い、これにより未知の情報に対するフィルタリングの精度を向上することを目的とする。
【００１５】
【課題を解決するための手段】
これらの課題を解決するために、本願発明は、ユーザーの要求・興味を表すユーザープロファイルを格納するプロファイル格納手段と、このプロファイル格納手段に格納されたユーザープロファイルに基づいてユーザーに配信すべき情報を、データベースから選出する選出手段と、この選出手段によって選出された情報に対する個々のユーザーのフィードバック情報を収集するための収集手段と、この収集手段によって収集されたフィードバック情報に対してクラスタ分析を行い、このときのフィードバック情報を返したユーザを対象として、要求・興味の類似するユーザーを集めたユーザーグループを作成する作成手段と、この作成手段で作成されたユーザーグループ毎に、前記収集手段によって収集されたフィードバック情報をもとに前記プロファイル格納手段に格納されたユーザプロファイルを修正するプロファイル修正手段と、異なるユーザグループ方法で作成された複数のユーザグループ群毎に各々修正されたユーザープロファイルの精度を評価する評価手段とを具備することを特徴とする。
【００１６】
このような本願発明により、ユーザー数が増大しても、その中に共通の要求・興味をもったユーザーが存在する場合に、ユーザー毎ではなくユーザーグループ毎にrelevance feedbackを行うことにより、フィードバックの処理量が軽減され、かつ個々のユーザーから見ても効果的なフィードバックを行うことができる。
【００１７】
また、複数のグループ化方法により様々なユーザーグループを定義し、これらに対してrelevance feedbackを行った場合のフィルタリング精度を実際にテストしてみることにより、relevance feedbackの観点から効果的なユーザーグループを構成することができる。
【００１８】
【発明の実施の形態】
（実施例１）
図１に、本実施例における情報フィルタリング装置の構成を示す。矢印はデータの流れを表している。本装置は、ユーザープロファイル格納部１、情報選出部２、情報提示部３、フィードバック情報収集部４、ユーザーグループ作成部５、ユーザープロファイル修正部６により構成される。
【００１９】
ここで、ユーザープロファイル格納部１は主記憶や外部記憶装置などに、情報提示部３はユーザーに情報を配信するための計算機ネットワークや表示するための計算機ディスプレイなどの出力装置に、フィードバック情報収集部４はユーザーからのフィルタリング結果に対する評価情報の入力を受けつける入力装置に、その他の構成要素は計算機のプログラムに対応する。
【００２０】
以下に、図１に沿って本発明における全体的な処理の流れを説明する。はじめに情報選出部２は、ユーザープロファイル格納部１に格納されている初期ユーザープロファイルをもとに、情報フィルタリングの対象となる情報データベース７から個々のユーザーにふさわしいと思われる情報を選出し、これを情報提示部３にわたす。各ユーザーは、自分に提示された初期フィルタリング結果を見て、これに対する評価情報をフィードバック情報収集部４をとおして入力する。
【００２１】
次に、ユーザーグループ作成部５は、各ユーザーのフィードバック情報をもとに、要求・興味が類似していると思われるユーザーを集めたユーザーグループを作成する。最後に、ユーザープロファイル修正部６は、ユーザーグループ毎にrelevance feedbackを行い、修正されたユーザープロファイルをユーザープロファイル格納部１に格納する。
【００２２】
本実施例の従来の情報フィルタリングシステムとの相違点は、フィードバック情報収集部４とユーザープロファイル修正部６の間にユーザーグループ作成部５を有する点である。
【００２３】
図２に、本実施例における情報選出部２の処理の流れの一例を示す。情報選出部２は、各ユーザーごとにユーザープロファイルをユーザープロファイル格納部１から取り出し（Ｓ２１）、ユーザープロファイルと情報との類似度を算出し（Ｓ２２）、類似度の高いもののみを情報提示部３にわたすことにより情報を絞り込む（Ｓ２３）。
【００２４】
ここで、本発明は類似度算出の具体的手法を問うものではなく、例えばテキスト情報のフィルタリングの場合には、ユーザープロファイルとテキスト情報の双方を単語の重みつきベクトルで表現し、このベクトル間の余弦により類似度を決定する文献（"Introduction to Modern Information Retrieval, Salton & McGill, McGraw-Hill Book Company,1983 ）などに開示されている手法などを用いればよい。
【００２５】
例えば、ユーザーが「ＤＶＤ」に関する話題について興味がある場合には、このユーザーの初期ユーザープロファイルを図３（ａ）のような、「ＤＶＤ」、「デジタル」、「ディスク」という単語の集合で表しておき、これらの語が出現する頻度に応じて各テキスト情報の類似度を算出することが考えられる。
【００２６】
図４に、本実施例におけるフィードバック情報収集部４の処理の流れの一例を示す。フィードバック情報収集部４は、各ユーザーに、初期フィルタリング結果に対する評価情報を入力させ（Ｓ４１）、これをユーザーグループ作成部５に渡す（Ｓ４２）。
【００２７】
図５に、各ユーザーのフィードバック情報の一例を示す。この例は、簡単のためにユーザー数を４人としており、各ユーザーが情報１〜５に対して２段階評価を行った様子を表している。例えばユーザー１は、情報２および情報３に対しては「興味がある」という判定を行ったが、情報１，情報４および情報５に対しては「興味がない」という判定を行ったことを示している。
【００２８】
あるいは、「興味がある」という情報だけを収集して、「興味がある」という評価がされなかった残りの情報に対しては“０”とするという方法も考えられる。さらに、以上の変形例として、各情報に対する評価を多段階評価にすることも考えられる。本発明は、以上で説明したようなフィードバック情報の形態を問うものではない。
【００２９】
図６に、本実施例におけるユーザーグループ作成部５の処理の流れの一例を示す。ユーザーグループ作成部５は、図５で例示したような各ユーザーのフィードバック情報をフィードバック情報収集部４から受け取り（Ｓ６１）、これをもとに、要求・興味が類似していると思われるユーザーを集めてユーザーグループを作成し（Ｓ６２）、このユーザーグループ情報をユーザープロファイル修正部６にわたす（Ｓ６３）。
【００３０】
本発明は、ユーザーグループのグループ化方法を問うものではないが、図５のようなフィードバック情報が与えられた場合のグループ化の方法の簡単な例を図７を利用して説明する。図７では、図５で示したフィードバック情報に対してクラスター分析を行うことによりユーザーグループを作成している。
【００３１】
まず図５において、各ユーザーベクトル間の類似度をJaccard 係数（対応する要素が１−１である個数をａ、１−０である個数をｂ、０−１である個数をｃ、０−０である個数をｄとしたとき、ａ／（ａ＋ｂ＋ｃ）で算出される）という尺度により算出する。
【００３２】
例えばユーザ１とユーザ２の類似度は、ａ＝１，ｂ＝１，ｃ＝２よりsim(1,2)＝sim(2,1)＝１／４となる。同様に、sim(3,1)＝０，sim(3,2)＝１／４，sim(4,1)＝１／４，sim(4,2)＝１／２，sim(4,3)＝１／４となる。
【００３３】
以上のうち、類似度が最も高かったユーザ対を同一グループとしてグループ化する。これにより、ユーザ２とユーザ４を同一グループとし、ユーザーグループは、(2,4) (1) (3) の３つになる。
【００３４】
次に、例えばＵＰＧＭＡ法（算術平均を用いた対グループ法）という手法を用いて、sim((2,4),1)＝(sim(2,1) ＋sim(4,1)) ／２＝１／４のように、ユーザーグループ間の類似度を計算する。その他の組合せについては図７に示したようになる。
【００３５】
ここで、sim((2,4),1)＝１／４，sim((2,4),3)＝１／４，sim(1,3)＝０のうち類似度の大きいのはsim((2,4),1)あるいはsim((2,4),3)である。仮に後者を選べば、新しいユーザーグループ(2,3,4) ができることになる。ちなみに、sim((2,3,4),1)＝１／６となる。
【００３６】
以上のようにして、(1) (2) (3) (4) →(2,4) (1) (3) →(2,3,4) (1) →(1,2,3,4) のようにクラスター分析を行うことができるので、これから指定したクラスタ数あるいは指定した類似度のもとでのユーザーグループ群を決定することができる。
【００３７】
以上では、グループ化の手法の一例としてクラスター分析について説明したが、このようなグループ化の手法自体は例えば文献（"Cluster Analysis for Researchers,Romesburg,Robert E.Krieger Publishing Company,Malabar,Florida,1989）に開示された公知の技術であり、本発明の主眼ではない。例えば、Jaccard 係数の他にもSorenson係数というものがあり、また、ＵＰＧＭＡ法の他にもWard法などがある。
【００３８】
図８に、本実施例におけるユーザープロファイル修正部６の処理の流れの一例を示す。本実施例におけるユーザープロファイル修正部６は、従来の情報フィルタリングシステムのようにユーザー毎にrelevance feedbackを行うのではなく、ユーザーグループ毎にrelevance feedbackを行うことを特徴とする。具体的には、ユーザープロファイル修正部は、各ユーザーグループに対して以下の処理を行う。
【００３９】
まずユーザーグループ情報をユーザーグループ作成部５から受け取り（Ｓ８１）、ユーザーグループに属する各ユーザーのフィードバック情報を用いて、「ユーザーグループのフィードバック情報」を決定する（Ｓ８２）。例えば、図５および図７の例の場合、ユーザーグループ(2,4) に対しては、ユーザー２のベクトル(01011) とユーザー４のベクトル(00111) をビット毎にＯＲをとることにより(01111) とするなどして、ひとりのユーザーのフィードバック情報と同様の形態のフィードバック情報を作成する。
【００４０】
他には、例えば多数決で、個々の情報を「興味がある」と見倣すか否かを決定する方法が考えられる。ただし本発明は、以上で例をあげて説明したような、複数ユーザーのフィードバック情報をひとつに統合する具体的な手法を問うものではなく、これは本発明の主眼ではない。これにより、従来のrelevance feedback手法は本発明にそのまま適用可能となる。
【００４１】
ユーザーグループに対するフィードバック情報が決定されると、ユーザープロファイル修正部６は、そのユーザーグループに属する各ユーザーのユーザープロファイルに対して、上記フィードバック情報を反映させる（Ｓ８３）。本発明は、具体的なrelevance feedback手法を問うものではないが、テキスト情報のフィルタリングなどの場合には、フィードバック情報の反映とは、ユーザープロファイルに記述された単語の重みの調整や、新しい単語の追加などを意味する。
【００４２】
例えば、図３（ａ）のような初期ユーザープロファイルに対して、フィードバック情報をもとに新しい単語を追加した例が図３（ｂ）である。本発明では、このようなユーザープロファイルの修正処理を、複数のユーザープロファイルに対して一括して行う。
【００４３】
以上、主にテキスト情報を対象としたフィルタリングにおいて、単語の羅列によりユーザープロファイルを表現した場合を例に説明したが、本発明はフィルタリングの対象となる情報の種類や、ユーザープロファイルの表現形式を限定するものではない。
【００４４】
（実施例２）
図９に、本実施例における情報フィルタリングシステムの構成を示す。本実施例と実施例１との構成上の違いは、ユーザープロファイル評価部８を有する点である。以下、実施例１と異なる点のみについて説明する。
【００４５】
全体の流れについては、情報選出部２、情報提示部３、フィードバック情報収集部４までは実施例１と同じであるが、それ以降、複数のグループ化手法が用いられる点が異なる。すなわち、本実施例では、ユーザーグループ作成部５が、複数のグループ化手法を用いることにより、ユーザーグループ群を複数セット作成して以降の処理にわたす。
【００４６】
例えば、図７の例において、実施例１の場合は、例えばユーザーグループ数を２あるいは類似度を１／４と決めることにより、ひとつのユーザーグループ群(2,3,4) (1) が決定されるが、本実施例では、例えばユーザーグループ数を２〜３、あるいは類似度を１／２〜１／４と変化させることにより、ふたつのユーザーグループ群(2,4) (1) (3) および(2,3,4) (1) を得ることができる。
【００４７】
また、図７の説明では、ユーザーベクトル間の類似度の尺度としてＪａｃｃａｒｄ係数を用い、クラスター分析の手法としてはＵＰＧＭＡ法を用いた場合について説明したが、これら以外のクラスター分析手法を用いて異なるユーザーグループ群を得ることもできる。さらに、ユーザーを分類するためにクラスター分析以外の手法を用いてもよい。本実施例では、以上のようなグループ化における様々なバリエーションを総称してグループ化手法と呼ぶ。
【００４８】
図１０に、本実施例におけるユーザープロファイル評価部８の処理の流れの一例を示す。ユーザープロファイル評価部８は、各グループ化手法を以下の手順で評価し、最終的にどのグループ化手法がよいか、ひいてはどのようなユーザーグループ群が適切であるかを決定する。
【００４９】
ユーザープロファイル評価部８は、あるグループ化手法をもとに修正されたユーザープロファイルの各々をユーザープロファイル格納部１から取り出し（Ｓ１０１）、そのフィルタリング精度を評価する（Ｓ１０２）。ここで、フィルタリング精度の尺度としては、例えば適合率（フィルタリング結果中の何パーセントが実際にユーザーが求めているものであるか）などが考えられる。フィルタリング精度の評価実験には、ユーザーが既に評価を行った情報を含むデータをフィルタリング対象として用いることが考えられる。
【００５０】
例えば、図５の例のユーザー１は、既に情報１〜情報５に対しては興味があるかないかの判定を行っているので、これらを評価用のデータに含めて、情報選出部２による仮のフィルタリング結果を作成し、この上位にユーザー１が興味があると判定した情報２や情報３がくるかを確認することができる。
【００５１】
ユーザープロファイル評価部８は、個々のユーザープロファイルのフィルタリング精度を算出すると、次にそのグループ化手法の平均的フィルタリング精度を算出する（Ｓ１０３）。これは例えば前述の各ユーザープロファイルの適合率を平均するなどして算出すればよい。
【００５２】
以上の処理を全てのグループ化手法に対して行い、最後に全グループ化手法のフィルタリング精度を比較し、もっとも効果的と思われるグループ化手法を採用し、これにより最終的なユーザークラスタを定める（Ｓ１０４）。
【００５３】
以上の流れを、図１１の具体例を用いて説明する。この例では、図５およびユーザー１〜４の初期ユーザープロファイルがそれぞれ図の上部に示されている。これらの４人のユーザーに対して、例えば図７のようなクラスター分析を行い、ユーザーグループが３の場合および２の場合を採用することにより、図１１の２つの矢印で示されるように、ユーザーグループ群(2,4) (1) (3) および(2,3,4) (1) をもとにした２とおりのグループ化手法によるrelevance feedbackを行うことができる。
【００５４】
これにより得られた修正後のユーザープロファイルの概念的に表したものが図１１の中央に示されている。各長方形の上半分は、初期ユーザープロファイルの時点で既にあった情報を表し、下半分は、relevance feedbackにより新たに付加された情報の部分を表している。
【００５５】
ここで、修正されたユーザープロファイルのうち左側のユーザー２，ユーザー４の下半分を同じ模様で図示しているのは、グループ化手法１ではユーザー１とユーザー２が同じユーザーグループに属するとみなされ、共通のrelevance feedbackが行われたことを表している。右側のユーザ，３，４の下半分の模様が共通であるのも同様のことを表している。
【００５６】
この例では、グループ化手法１の平均的フィルタリング精度は、図の左側の４つのユーザープロファイルのフィルタリング精度の平均により算出され、グループ化手法２の平均的フィルタリング精度は右側の４つの平均により算出される。そして、例えば前者が後者よりも大きい場合、グループ化手法１のほうが最終的に採用され、ユーザーグループ群は(2,4) (1) (3) と決定される。
【００５７】
ユーザーをグループ化する場合、どのような大きさのユーザーグループをいくつくらい作成すればよいのかを予め定めることが難しいが、本手法によれば、個々のユーザーにとってrelevance feedbackの効果が大きくなるように適切なグループ化を行うことができると考えられる。
【００５８】
（記憶媒体の実施形態）
本願発明は、専用のハードウェアを用いずとも、汎用のプロセッサを用いたソフトウェアによる処理で実現することができる。例えば、図２，図４，図６，図８，図１０の処理はコンピュータプログラムを用いて実現でき、これをフロッピーディスクやＣＤ−ＲＯＭなどの記録媒体を通じてコンピュータに導入して実行させることにより、本願発明を実施することができる。
【００５９】
【発明の効果】
このような本願発明により、ユーザー数が増大しても、その中に共通の要求・興味をもったユーザーが存在する場合に、ユーザー毎ではなくユーザーグループ毎にrelevance feedbackを行うことにより、フィードバックの処理量が軽減され、かつ個々のユーザーから見ても効果的なフィードバックを行うことができる。
【００６０】
また、複数のグループ化方法により様々なユーザーグループを定義し、これらに対してrelevance feedbackを行った場合のフィルタリング精度を実際にテストしてみることにより、relevance feedbackの観点から効果的なユーザーグループを構成することができる。
【図面の簡単な説明】
【図１】本願発明の一実施形態である実施例１の構成を示すブロック図。
【図２】本願発明の一実施形態である実施例１における情報選出部の処理の流れの一例を示す図。
【図３】本願発明の一実施形態である実施例１におけるユーザープロファイルの表現例を示す図。
【図４】本願発明の一実施形態である実施例１におけるフィードバック情報収集部の処理の流れの一例を示す図。
【図５】本願発明の一実施形態である実施例１における各ユーザーのフィードバック情報の一例を示す図。
【図６】本願発明の一実施形態である実施例１におけるユーザーグループ作成部の処理の流れの一例を示す図。
【図７】本願発明の一実施形態である実施例１におけるユーザーグループ作成方法の一例を示す図。
【図８】本願発明の一実施形態である実施例１におけるユーザープロファイル修正部の処理の流れの一例を示す図。
【図９】本願発明の一実施形態である実施例２の構成を示すブロック図。
【図１０】本願発明の一実施形態である実施例２におけるユーザープロファイル評価部の処理の流れの一例を示す図。
【図１１】本願発明の一実施形態である実施例２におけるグループ化手法の比較の流れの概念の一例を示す図。
【符号の説明】
１…ユーザープロファイル格納部
２…情報選出部
３…情報提示部
４…フィードバック情報収集部
５…ユーザーグループ作成部
６…ユーザープロファイル修正部
７…情報データベース
８…ユーザープロファイル評価部
【図１】
0003673093.tif 000002
【図２】
0003673093.tif 000003
【図３】
0003673093.tif 000004
【図４】
0003673093.tif 000005
【図５】
0003673093.tif 000006
【図６】
0003673093.tif 000007
【図７】
0003673093.tif 000008
【図８】
0003673093.tif 000009
【図９】
0003673093.tif 000010
【図１０】
0003673093.tif 000011
【図１１】
0003673093.tif 000012