(57)【要約】【課題】関係性算出するペア間での関係性の強さの非対称性を考慮した協調フィルタリングを可能にする協調フィルタリングシステムを提供する。【解決手段】ユーザ行動履歴ＤＢ３２１は、ユーザがアイテムに対して行った行動の履歴を記憶する。ユーザペア関係性算出手段３２３は、ユーザ行動履歴ＤＢ３２１を参照し、一対一の非対称性が許容される、ユーザペア間の関係性を算出する（Ｕ２ＵＣＦの場合）。アイテムスコア算出手段３２５は、ユーザペア間の関係性とユーザの行動履歴情報とを用いて、アイテムスコアを算出する。【選択図】図１
2011034379.tif 000002
【特許請求の範囲】
【請求項１】
ユーザがアイテムに対して行った行動の履歴情報を記憶するユーザ行動履歴ＤＢを参照し、一対一の非対称性が許容される、ユーザペア間、アイテムペア間、又は、コンテキストペア間の関係性を算出する関係性算出手段と、
前記ペア間の関係性と前記行動履歴情報とを用いて、アイテムスコアを算出するアイテムスコア算出手段とを備える協調フィルタリングシステム。
【請求項２】
前記関係性算出手段は、前記ユーザ行動履歴ＤＢを参照し、関係性を算出するペアに対して非対称性が許容される重みを決定する重み算出手段と、前記ユーザ行動履歴ＤＢを参照して、前記ペア間の相関を示す相関係数を算出する相関算出手段とを含み、前記重み算出手段が決定した重みと前記相関算出手段が算出した相関係数との積をペア間の関係性とする、請求項１に記載の協調フィルタリングシステム。
【請求項３】
前記相関算出手段は、前記ペア間の相関係数の算出元となる要素に対し、要素がペア間の相関係数の算出に与える影響を要素に応じて設定した上で相関係数を算出する、請求項２に記載の協調フィルタリングシステム。
【請求項４】
前記要素がペア間の相関係数の算出に与える影響の大きさが、前記ペア間で非対称性が許容される、請求項３に記載の協調フィルタリングシステム。
【請求項５】
前記重み算出手段は、前記関係性を算出するペア間で、ペアの一方から見たとき、ペアの他方のみに存在する行動履歴の量に基づいて、前記ペアの一方から見た他方への重みを決定する、請求項２乃至４の何れか一に記載の協調フィルタリングシステム。
【請求項６】
前記重み算出手段は、前記関係性を算出するペア間での行動履歴の時刻の前後関係に基づいて、前記重みを決定する、請求項２乃至４の何れか一に記載の協調フィルタリングシステム。
【請求項７】
コンピュータが、ユーザがアイテムに対して行った行動の履歴情報を記憶するユーザ行動履歴ＤＢを参照し、一対一の非対称性が許容される、ユーザペア間、アイテムペア間、又は、コンテキストペア間の関係性を算出するステップと、
前記コンピュータが、前記ペア間の関係性と前記行動履歴情報とを用いて、アイテムスコアを算出するステップとを有する協調フィルタリング方法。
【請求項８】
前記関係性を算出するステップが、
前記コンピュータが、前記ユーザ行動履歴ＤＢを参照し、関係性を算出するペアに対して非対称性が許容される重みを決定する重み算出ステップと、
前記コンピュータが、前記ユーザ行動履歴ＤＢを参照して、前記ペア間の相関を示す相関係数を算出する相関算出ステップと、
前記コンピュータが、前記重みと前記相関係数との積を演算し、前記ペア間の関係性とするステップとを含む、請求項７に記載の協調フィルタリング方法。
【請求項９】
前記相関算出ステップでは、前記コンピュータは、前記ペア間の相関係数の算出元となる要素に対し、要素がペア間の相関係数の算出に与える影響を要素に応じて設定した上で相関係数を算出する、請求項８に記載の協調フィルタリング方法。
【請求項１０】
前記要素がペア間の相関係数の算出に与える影響の大きさが、前記ペア間で非対称性が許容される、請求項９に記載の協調フィルタリング方法。
【請求項１１】
前記重み算出ステップでは、前記コンピュータは、前記関係性を算出するペア間で、ペアの一方から見たとき、ペアの他方のみに存在する行動履歴の量に基づいて、前記ペアの一方から見た他方への重みを決定する、請求項８乃至１０の何れか一に記載の協調フィルタリング方法。
【請求項１２】
前記重み算出ステップでは、前記コンピュータは、前記関係性を算出するペア間での行動履歴の時刻の前後関係に基づいて、前記重みを決定する、請求項８乃至１０の何れか一に記載の協調フィルタリング方法。
【請求項１３】
コンピュータに、
ユーザがアイテムに対して行った行動の履歴情報を記憶するユーザ行動履歴ＤＢを参照し、一対一の非対称性が許容される、ユーザペア間、アイテムペア間、又は、コンテキストペア間の関係性を算出する処理と、
前記ペア間の関係性と前記行動履歴情報とを用いて、アイテムスコアを算出する処理とを実行させるプログラム。
【請求項１４】
前記関係性を算出する処理が、
前記ユーザ行動履歴ＤＢを参照し、関係性を算出するペアに対して非対称性が許容される重みを決定する重み算出処理と、
前記ユーザ行動履歴ＤＢを参照して、前記ペア間の相関を示す相関係数を算出する相関算出処理と、
前記重みと前記相関係数との積を演算し、前記ペア間の関係性とする処理とを含む、請求項１３に記載のプログラム。
【請求項１５】
前記相関算出処理では、前記ペア間の相関係数の算出元となる要素に対し、要素がペア間の相関係数の算出に与える影響を要素に応じて設定した上で相関係数を算出する、請求項１４に記載のプログラム。
【請求項１６】
前記要素がペア間の相関係数の算出に与える影響の大きさが、前記ペア間で非対称性が許容される、請求項１５に記載のプログラム。
【請求項１７】
前記重み算出処理では、前記関係性を算出するペア間で、ペアの一方から見たとき、ペアの他方のみに存在する行動履歴の量に基づいて、前記ペアの一方から見た他方への重みを決定する、請求項１４乃至１６の何れか一に記載のプログラム。
【請求項１８】
前記重みを算出する処理では、前記重みを、前記関係性を算出するペア間での行動履歴の時刻の前後関係に基づいて決定する、請求項１４乃至１６の何れか一に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、協調フィルタリングシステム、方法、及び、プログラムに関し、更に詳しくは、情報推薦技術に用いられる協調フィルタリングシステム、方法、及び、プログラムに関する。
【背景技術】
【０００２】
協調フィルタリング（以下、ＣＦ（ＣＦ：Collaborative Filtering）とも呼ぶ）と呼ばれる技術がある。ＣＦには、ユーザ間（Ｕ２Ｕ：User to User）の相関を取るＵ２ＵＣＦと、アイテムや情報間（Ｉ２Ｉ：Item to Item）の相関を取るＩ２ＩＣＦとがある。ＣＦは、ＡｍａｚｏｎやＮｅｔｆｌｉｘなどにおいて、コンテンツ推薦に実用化されている。
【０００３】
図４（ａ）及び（ｂ）に、Ｕ２ＵＣＦとＩ２ＩＣＦにおける原理を示す。図４（ａ）は、Ｕ２ＵＣＦにおけるユーザとアイテムの関係を示している。ユーザ１１には、アイテム１３を参照した履歴がある。ユーザ１２には、アイテム１３とアイテム１４とを参照した履歴がある。ＣＦは、ユーザ１１の履歴とユーザ１２の履歴とを入力する。アイテム１３に対して、ユーザ１１とユーザ１２とは共通であり、ユーザ間の相関が得られる。従って、ユーザ１１とユーザ１２とは、互いに嗜好が似ているユーザという仮説が成り立つ。そこで、ユーザ１２にのみ履歴があるアイテム１４が、相関のあるユーザ１１にも好まれるという推測のもと、ユーザ１１にアイテム１４を推薦する。
【０００４】
図４（ｂ）は、Ｉ２ＩＣＦにおけるユーザとアイテムの関係を示している。ユーザ１１には、アイテム１３を参照した履歴があり、ユーザ１２には、アイテム１３とアイテム１４とを参照した履歴がある。ＣＦは、ユーザ１１とユーザ１２の履歴とを入力する。ユーザ１２に対して、アイテム１３とアイテム１４とは共通であり、アイテムの相関が得られる。従って、アイテム１３とアイテム１４とは、互いに似ているアイテムという仮説が成り立つ。そこで、アイテム１４が、アイテム１４と相関があるアイテム１３にのみ履歴があるユーザ１１にも好まれるという推測のもと、ユーザ１１に、アイテム１４を推薦する。
【０００５】
ＣＦでは、ユーザ間又はアイテム間の相関（関係性）を算出する。相関算出には、Ｐｅａｒｓｏｎ相関係数やＳｐｅａｒｍａｎ順位相関係数などが用いられる。以下、関係性算出の手法として、Ｐｅａｒｓｏｎを例に挙げて説明する。なお、以下では、冗長性を避けるために、Ｕ２ＵＣＦにおける関係性算出について説明するが、Ｉ２ＩＣＦでも、同様の手法で関係性を算出できる。
【０００６】
相関を算出するユーザペアを、ユーザ１、ユーザ２とする。ユーザ１のユーザ行動履歴をＸ１とし、ユーザ２のユーザ行動履歴をＸ２とする。行動履歴Ｘは、各アイテムに対してユーザが行った行動の履歴を要素とするベクトルで表される。ユーザ行動履歴Ｘ１、Ｘ２の要素をｘ１（ｉ）、ｘ２（ｉ）（ｉ＝１〜ｎ）とする。ｎはアイテムの総数である。要素ｘ１（ｉ）、ｘ２（ｉ）は、それぞれ、ｉ番目のアイテムに対するユーザの行動履歴を表す。ここでは、要素ｘ１（ｉ）、ｘ２（ｉ）の値を、ユーザがｉ番目のアイテムを履歴に含むときは１、含まない時は０と定義する。要素ｘ（ｉ）の値は、参照したか否かを示す値だけでなく、ユーザがアイテムに対して下した評価や、アイテムを参照した時間など、アイテムに対する行動を示すその他の値でもよい。
【０００７】
ユーザペア間の相関Ｃ（Ｘ１，Ｘ２）は、下記式で求められる。
【数１】
2011034379.tif 000003
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Xiaodan Song, Yun Chi, Koji Hino, Belle L. Tseng,  “Identifying Opinion Leaders in the Blogosphere”, CIKM ’07, November 2007.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
Ｕ２ＵＣＦでは、ユーザ間の関係性は、ユーザが行ったアイテム参照履歴などに基づいて、ユーザペア間の共通部分からその共通項の大きさやアイテムに対して下した評価内容の近さを指標に導出している。この関係性の大きさは、双方向に同じ大きさになる。つまり、ユーザＸからみたユーザＹの関係性の強さは、ユーザＹから見たユーザＸの関係性の強さと等しい。しかし、一般に、人間関係は、同じ強さの関係にならないことが多い。協調フィルタリングでは、ペア間の相関を双方向に同じ強さの相関で算出するため、実際のペア間の関係性を反映させた協調フィルタリングを行うことができない。
【００１０】
ユーザ間の関係性について、非特許文献１では、早期に履歴を残した者をＯｐｉｎｉｏｎＬｅａｄｅｒとして発見し、重要視している。しかし、これは、ＣＦに適応したものではない。また、非特許文献１では、時間的な関係性にのみ焦点を絞っており、例えば、行動が早かった順にユーザＡ、Ｂ、Ｃの３人がいるとき、重要性は、「Ａ＞Ｂ」、「Ｂ＞Ｃ」となる。従って、「Ａ＞Ｃ」である。しかし、実際には、「Ａ＞Ｂ」、「Ｂ＞Ｃ」、「Ａ＜Ｃ」という関係も考えられる。非特許文献１では、そのような関係には対応できない。また、非特許文献１では、関係性は時間的なものしか具体例になっておらず、ユーザの行動履歴の量や、ある嗜好の履歴がそのユーザの行動履歴全体の中での割合を考慮したものではなかった。
【００１１】
本発明は、関係性算出するペア間での関係性の強さの非対称性を考慮した協調フィルタリングを可能にする協調フィルタリングシステム、方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、本発明は、ユーザがアイテムに対して行った行動の履歴情報を記憶するユーザ行動履歴ＤＢを参照し、一対一の非対称性が許容される、ユーザペア間、アイテムペア間、又は、コンテキストペア間の関係性を算出する関係性算出手段と、前記ペア間の関係性と前記行動履歴情報とを用いて、アイテムスコアを算出するアイテムスコア算出手段とを備える協調フィルタリングシステムを提供する。
【００１３】
本発明は、コンピュータが、ユーザがアイテムに対して行った行動の履歴情報を記憶するユーザ行動履歴ＤＢを参照し、一対一の非対称性が許容される、ユーザペア間、アイテムペア間、又は、コンテキストペア間の関係性を算出するステップと、前記コンピュータが、前記ペア間の関係性と前記行動履歴情報とを用いて、アイテムスコアを算出するステップとを有する協調フィルタリング方法を提供する。
【００１４】
本発明は、コンピュータに、ユーザがアイテムに対して行った行動の履歴情報を記憶するユーザ行動履歴ＤＢを参照し、一対一の非対称性が許容される、ユーザペア間、アイテムペア間、又は、コンテキストペア間の関係性を算出する処理と、前記ペア間の関係性と前記行動履歴情報とを用いて、アイテムスコアを算出する処理とを実行させるプログラムを提供する。
【発明の効果】
【００１５】
本発明の協調フィルタリングシステム、方法、及び、プログラムは、関係性算出するペア間での関係性の強さの非対称性を考慮した協調フィルタリングが可能である。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１実施形態の協調フィルタリングシステムを示すブロック図。
【図２】動作手順を示すフローチャート。
【図３】ユーザペア関係性保存ＤＢのデータ例を示す図。
【図４】(ａ)及び（ｂ）は、それぞれＵ２ＵＣＦとＩ２ＩＣＦの原理を示すブロック図。
【発明を実施するための形態】
【００１７】
実施形態の説明に先立って、関係性に非対称性を持たせることの意義について説明する。ユーザペアとして、参照したアイテムの数が大きく異なる二人のユーザ（ユーザ１、ユーザ２）を考える。すなわち、ユーザ１の行動履歴の総数Σｘ１（ｉ）とユーザ２の行動履歴Σｘ２（ｉ）とを比較したとき、
Σｘ１（ｉ）＜＜Σｘ２（ｉ）
であったとする。
【００１８】
ユーザ１の行動履歴の総数が１１０で、ユーザ２の行動履歴の総数が１０１００で、行動履歴の共通部分の総数が１００であったとする。ユーザ１とユーザ２とが共通に参照したアイテムの数は、アイテムの総数をｎとして、
【数２】
2011034379.tif 000004
となる。ユーザ１が参照し、ユーザ２は参照しなかったアイテムの数は、
【数３】
2011034379.tif 000005
となる。ユーザ１は参照せず、ユーザ２が参照したアイテムの数は、
【数４】
2011034379.tif 000006
となる。ユーザ１もユーザ２も参照しなかったアイテムの数は、
【数５】
2011034379.tif 000007
となる。
【００１９】
ユーザ１とユーザ２とで共通に参照したアイテムは１００アイテムあるので、ユーザ１とユーザ２とは相関を持つ。しかし、ユーザ２が参照したアイテムの総数と共通に参照したアイテム数とを比較すると、アイテム総数に比して共通に参照したアイテムの数は少ない。つまり、ユーザ２は、ユーザ１が参照履歴を残していないアイテムへの参照履歴を多数有している、ユーザ２が多種多様なアイテムへの参照履歴を持つユーザであるとした場合、ユーザ２が参照した多種多様なアイテムのうちの１００アイテムが、たまたまユーザ１が参照したアイテムと重なったに過ぎないと考えられる。従って、ユーザ２が参照履歴を持つ残りの１００００のアイテムについては、ユーザ１の参考にはならず、ユーザ１に推薦すべきではない。
【００２０】
一方、ユーザ１が参照したアイテムの総数は１１０で、ユーザ２と共通に参照したアイテムの数は１００であるので、ユーザ１が参照したアイテムの総数に占める共通に参照したアイテムの割合は高い。従って、ユーザ２にとっては、ユーザ１が参照し、自身が参照していないアイテムは参考になり、残りの１０アイテムをユーザ２に推薦すべきである。このように、ユーザ１にとってユーザ２は参考にならないが、ユーザに２にとってはユーザ１が参考になるという例は、現実に存在する。しかし、ユーザペア間の相関が対称性を持つ場合は、このようなケースには対応できない。
【００２１】
そこで、本発明では、ユーザ行動履歴ＤＢを参照し、ユーザペア間、アイテムペア間、又は、コンテキストペア間で、一対一の非対称性が許容される関係性を算出する関係性算出手段を用いる。この関係性算出手段に、ペア間の関係性とユーザ行動履歴ＤＢに記憶された行動履歴情報とを用いて、アイテムスコアを算出するアイテムスコア算出手段を加えたものが本発明の最小構成となる。関係性算出手段で、ペア間で非対称性が許容される関係性を算出し、その関係性を用いてアイテムスコアを計算することで、ペア間での関係性の強さの非対称性を考慮した協調フィルタリングが可能になる。例えば、上記のケースでは、ユーザ１から見たユーザ２の関係性を弱く、ユーザ２から見たユーザ１の関係性を強くすることで、ユーザ１にのみ参照履歴があるアイテムをユーザ２に推薦しつつ、ユーザ１には、ユーザ２にのみ参照履歴があるアイテムを推薦しないようにできる。
【００２２】
以下、図面を参照し、本発明の実施の形態を詳細に説明する。図１は、本発明の第１実施形態の協調フィルタリングシステムを示している。協調フィルタリングシステムは、推薦エンジン３０を有する。推薦エンジン３０は、サーバなどのコンピュータシステムである。推薦エンジン３０は、ネットワークなどを介して、ユーザ端末（２１、２２、２３）と接続される。推薦エンジン３０は、ユーザの行動履歴の受付と保持、ユーザの検索要求受付、推薦アイテムの出力、スコア計算などを実施する。なお、図１では、ユーザ端末の数を３台としているが、これには限られない。
【００２３】
ユーザ端末２１、２２、２３は、携帯電話機やＰＣ（Personal Computer）などのユーザが使用する端末装置である。ユーザは、ユーザ端末２１、２２、２３を操作し、推薦エンジン３０に対して、アイテム（情報）を推薦することを要求することができる。推薦エンジン３０は、要求に従って、アイテムの推薦を行う。ユーザ端末２１、２２、２３は、推薦内容の表示などを行う。また、ユーザは、ユーザ端末２１、２２、２３を用いて、自身のアイテム参照行動などの行動情報を推薦エンジン３０に送信することができる。
【００２４】
推薦エンジン３０は、ユーザＩＦ３１、スコアリング部３２、アイテムデータ保存ＤＢ３４、及び、ユーザデータ保存ＤＢ３５を有する。ユーザＩＦ３１は、ユーザ行動入力ＩＦ３１１、推薦要求受付ＩＦ３１２、推薦アイテム出力ＩＦ３１３を有する。スコアリング部３２は、ユーザ行動履歴ＤＢ３２１、重み算出手段３２２、ユーザペア関係性算出手段３２３、ユーザペア関係性保存ＤＢ３２４、アイテムスコア算出手段３２５、及び、相関算出手段３２６を有する。
【００２５】
ユーザＩＦ３１は、ユーザ端末２１、２２、２３とスコアリング部３２との間で情報の伝達を行う部分である。スコアリング部３２は、アイテムスコアを算出し、その結果をユーザＩＦ３１に返す。アイテムデータ保存ＤＢ３４は、アイテムの名称、ＩＤなど、アイテムに関する情報を保存する。ユーザデータ保存ＤＢ３５は、ユーザの名前、ＩＤなど、ユーザに関する情報を保存する。アイテムデータ保存ＤＢ３４及びユーザデータ保存ＤＢ３５は、推薦エンジン３０内にある必要はなく、外部のデータベースでも構わない。また、スコアリング部３２のユーザ行動履歴ＤＢ３２１及びユーザペア関係性保存ＤＢ３２４も、スコアリング部３２内にある必要はなく、外部のデータベースでも構わない。
【００２６】
ユーザ行動入力ＩＦ３１１は、ユーザ端末２１、２２、２３から、ユーザの行動履歴を受け取る。ユーザの行動履歴は、ユーザが実行したアイテムの参照履歴などの情報を含む。ユーザ行動入力ＩＦ３１１は、受け取ったユーザの行動履歴を、ユーザ行動履歴ＤＢ３２１に保存する。ユーザ行動履歴ＤＢ３２１は、ユーザＩＤ、アイテムのＩＤ、参照やブックマークなどの行動、日時などのデータ項目を有する。
【００２７】
推薦エンジン３０は、ユーザからのアイテム参照要求などを受け付けるアクション実行手段を有してもよい。アクション実行手段は、アイテム詳細参照手段、アイテム詳細データ保存ＤＢ、アイテムブックマーク手段、アイテムブックマークＤＢなどを含む。アイテム詳細参照手段は、ユーザＩＦ３１を介して、ユーザ端末からアイテム詳細参照要求を受ける。アイテム詳細参照手段は、アイテム詳細データ保存ＤＢに、参照したアイテムの詳細なデータを保存する。アイテムブックマーク手段は、ユーザＩＦ３１を介して、ユーザ端末からアイテムブックマーク要求を受ける。アイテムブックマーク手段は、要求されたアイテムを、アイテムブックマークＤＢに保存する。このような構成の場合、アクション実行手段が、ユーザが詳細データを参照したという行動履歴、及び、ユーザがアイテムをブックマークしたという行動履歴を、ユーザ行動履歴ＤＢ３２１に保存する構成としてもよい。
【００２８】
推薦要求受付ＩＦ３１２は、ユーザ端末が送信するアイテムの推薦要求を受け付ける。ユーザは、例えば検索キーワードなどを用いて、推薦を要求するアイテムの条件を指定することができる。推薦要求受付ＩＦ３１２は、推薦要求を受けると、受け取った推薦要求をアイテムスコア算出手段３２５に伝達する。推薦アイテム出力ＩＦ３１３は、アイテムスコア算出手段３２５から、推薦するアイテムのリストとそのスコアとを受け取る。推薦アイテム出力ＩＦ３１３は、推薦アイテムのリストとそのスコアとを、アイテムの推薦要求を送信したユーザのユーザ端末に送信する。
【００２９】
ユーザペア関係性算出手段３２３は、ユーザ行動履歴ＤＢ３２１を参照し、一対一の非対称性が許容されるユーザペア間の関係性を算出する。ユーザペア関係性算出手段３２３は、重み算出手段３２２と相関算出手段３２６とを含む。重み算出手段３２２は、ユーザ行動履歴ＤＢ３２１を参照し、ユーザペア間の重みを算出する。重み算出手段３２２が算出する重みは、各ユーザペアの双方向で異なることが許容される。つまり、あるユーザｐから見た別のユーザｑの重みと、ユーザｑから見たユーザｐの重みとが異なることが許容される。重み算出手段３２２は、例えば、ペアの一方から見た他方への重みを、ペアの他方のみに存在する行動履歴の量に基づいて決定する。或いは、重み算出手段３２２は、ペア間での行動履歴の時刻の前後関係に基づいて、重みを決定してもよい。
【００３０】
相関算出手段３２６は、ユーザ行動履歴ＤＢ３２１を参照して、ユーザペア間の相関を示す相関係数を算出する。相関係数には、任意の相関係数を用いることができる。相関算出手段３２６は、例えばＰｅａｒｓｏｎ相関係数を算出する。ユーザペア関係性算出手段３２３は、重み算出手段３２２が算出したユーザペア間の重みと、相関算出手段３２６が算出したユーザペア間の相関係数とから、ユーザペア間の関係性を算出する。ユーザペア関係性算出手段３２３は、算出したユーザペア間の関係性を、ユーザペア関係性保存ＤＢ３２４に保存する。
【００３１】
アイテムスコア算出手段３２５は、ユーザ行動履歴ＤＢ３２１とユーザペア関係性保存ＤＢ３２４とを参照し、ユーザの行動履歴とユーザペア間の関係性とに基づいて、アイテムスコアを算出する。アイテムスコアの算出は、ユーザペア間の関係性が非対称性を有することが許容されている点を除けば、通常のアイテムスコアの算出と同様な手法で行うことができる。アイテムスコア算出手段３２５は、算出したアイテムスコアを推薦アイテム出力ＩＦ３１３へ伝達する。
【００３２】
重みの算出について説明する。ユーザペアをユーザｐとユーザｑとしたとき、ユーザｐから見たユーザｑの重みをｗｐｑと定義する。ユーザｑが参照したアイテムの総数に占める、ユーザｐとユーザｑが共通に参照したアイテム数が多いとき、すなわち、ユーザｑのみが参照したアイテム数が少ないとき、ユーザｑは、ユーザｐにとって参考になるユーザであると言える。逆に、ユーザｑが参照したアイテムの総数に占める、ユーザｐとユーザｑが共通に参照したアイテム数が少ないとき、すなわち、ユーザｑのみが参照したアイテムの数が多いときは、ユーザｑは、ユーザｐにとってそれほど参考になるユーザではないと言える。そこで、重みｗｐｑは、ユーザｑが参照したアイテムのうち、ユーザｐが参照したアイテムと重複しないアイテムの数が多いほど、重みが小さくなるように設定する。
【００３３】
具体的には、重みｗｐｑを下記式１で定義する。
【数６】
2011034379.tif 000008
上記式１におけるｘ（ｉ）は、ユーザの行動履歴Ｘの要素であり、ユーザｘがｉ番目のアイテムを参照したときは１、参照していないときは０となる関数である。また、ｎは、アイテムの総数を表している。式１で定義される重みは、アイテムの総数をユーザｑのみが参照したアイテム数で割った値に相当する。ユーザｑから見たユーザｐの重みｗｑｐは、式１にて、ｐとｑを入れ替えることで算出できる。重み算出手段３２２は、ユーザ行動履歴ＤＢ３２１からユーザｐ、ユーザｑの行動履歴を取得し、式１に基づいて、ユーザペア間の重みを算出する。
【００３４】
相関算出手段３２６は、ユーザ行動履歴から、ユーザペア間の相関係数を算出する。ここでは、相関係数は、Ｐｅａｒｓｏｎ相関係数とする。相関係数自体は、対称性を有する。ユーザペア関係性算出手段３２３は、重み算出手段３２２が算出した非対称性が許容される重みと、相関算出手段３２６が算出した対称性を有する相関係数との積を、ユーザペア間の関係性とする。具体的には、ユーザペア関係性算出手段３２３は、下記式２を用いて、ユーザｐから見たユーザｑの関係性を算出する。
【数７】
2011034379.tif 000009
【００３５】
図２は、動作手順を示している。ユーザ行動履歴ＤＢ３２１には、ユーザの行動履歴情報が記憶されている。重み算出手段３２２は、ユーザ行動履歴ＤＢ３２１を参照し、行動履歴情報に基づいて、ユーザペア間の重みを算出する（ステップＳ１）。また、相関算出手段３２６は、ユーザ行動履歴ＤＢ３２１を参照して、行動履歴情報に基づいて、ユーザペア間の相関を示す相関係数を算出する（ステップＳ２）。
【００３６】
ユーザペア関係性算出手段３２３は、重みと相関係数との積をユーザペア間の関係性として、ユーザペア関係性保存ＤＢ３２４に保存する（ステップＳ３）。ユーザペア関係性算出手段３２３は、例えば、ユーザ行動履歴ＤＢ３２１にユーザの行動履歴情報が記憶されるごとに、関係性の算出を行う。或いは、ユーザペア関係性算出手段３２３は、所定の時間間隔で周期的に関係性の算出を行ってもよい。
【００３７】
アイテムスコア算出手段３２５は、推薦要求受付ＩＦ３１２を介して、推薦要求を受け付ける（ステップＳ４）。アイテムスコア算出手段３２５は、ユーザ行動履歴ＤＢ３２１とユーザペア関係性保存ＤＢ３２４とを参照し、ユーザの行動履歴とユーザペア間の関係性とに基づいて、アイテムスコアを算出する（ステップＳ５）。アイテムスコア算出手段３２５は、推薦するアイテムのリストとそのスコアとを、推薦アイテム出力ＩＦ３１３を介して要求出力元のユーザ端末へ送信する（ステップＳ６）。
【００３８】
以下、具体的数値例を用いて説明する。ユーザ端末２１のユーザをユーザ１、ユーザ端末２２のユーザをユーザ２、ユーザ端末２３のユーザをユーザ３とする。ユーザペア（ユーザ１，ユーザ２）について、ユーザ行動履歴ＤＢ３２１に記憶されたユーザ１の行動履歴Ｘ１とユーザ２の行動履歴Ｘ２とから、ユーザ１とユーザ２とが共通に参照したアイテム数、ユーザ１のみが参照したアイテム数、ユーザ２のみが参照したアイテム数、双方が参照しなかったアイテム数を求めると、下記のようになったとする。
・ユーザ１とユーザ２とが共通に参照したアイテム
【数８】
2011034379.tif 000010
・ユーザ１が参照し、ユーザ２は参照しなかったアイテム
【数９】
2011034379.tif 000011
・ユーザ１は参照せず、ユーザ２が参照したアイテム
【数１０】
2011034379.tif 000012
・ユーザ１もユーザ２も参照しなかったアイテム
【数１１】
2011034379.tif 000013
【００３９】
また、ユーザペア（ユーザ１，ユーザ３）について、ユーザ行動履歴ＤＢ３２１に記憶されたユーザ１の行動履歴Ｘ１とユーザ３の行動履歴Ｘ３とから、ユーザ１とユーザ３とが共通に参照したアイテム数、ユーザ１のみが参照したアイテム数、ユーザ３のみが参照したアイテム数、双方が参照しなかったアイテム数を求めると、下記のようになったとする。
・ユーザ１とユーザ３とが共通に参照したアイテム
【数１２】
2011034379.tif 000014
・ユーザ１が参照し、ユーザ３は参照しなかったアイテム
【数１３】
2011034379.tif 000015
・ユーザ１は参照せず、ユーザ３が参照したアイテム
【数１４】
2011034379.tif 000016
・ユーザ１もユーザ３も参照しなかったアイテム
【数１５】
2011034379.tif 000017
【００４０】
ユーザペア（ユーザ２，ユーザ３）について、ユーザ行動履歴ＤＢ３２１に記憶されたユーザ２の行動履歴Ｘ２とユーザ３の行動履歴Ｘ３とから、ユーザ２とユーザ３とが共通に参照したアイテム数、ユーザ２のみが参照したアイテム数、ユーザ３のみが参照したアイテム数、双方が参照しなかったアイテム数を求めると、下記のようになったとする。
・ユーザ２とユーザ３とが共通に参照したアイテム
【数１６】
2011034379.tif 000018
・ユーザ２が参照し、ユーザ３は参照しなかったアイテム
【数１７】
2011034379.tif 000019
・ユーザ２は参照せず、ユーザ３が参照したアイテム
【数１８】
2011034379.tif 000020
・ユーザ２もユーザ３も参照しなかったアイテム
【数１９】
2011034379.tif 000021
【００４１】
上記をまとめると、ユーザペア間のアイテム参照状況は、下記表１で表される。
【表１】
2011034379.tif 000022
【００４２】
重み算手段３２２は、式１を用いて各ユーザペアの双方向の重みを求める。アイテムの総数ｎは、ｎ＝１０００００であるとする。各ユーザペア間の重みは、
ｗ１２＝１０、ｗ２１＝１００００
ｗ１３＝１０００、ｗ３１＝１０００
ｗ２３＝１０００００／６０、ｗ３２＝１０００００／１００５０
となる。ユーザ１とユーザ２のペアを見ると、ユーザ１のみが参照したアイテム数が１０で、ユーザ２のみが参照したアイテム数が１００００あるので、ユーザ１から見たユーザ２の重みｗ１２は、ユーザ２から見たユーザ１の重みｗ２１よりも軽くなっている。一方、ユーザ１とユーザ３とのペアでは、ユーザ１のみが参照したアイテム数とユーザ３のみが参照したアイテム数が同数であるので、ｗ１３とｗ３１とは同じ重みになっている。
【００４３】
ユーザペア関係性算出手段３２３は、式２で、ユーザペア間の関係を算出する。ユーザ１〜３の行動履歴の平均は、それぞれ、
【数２０】
2011034379.tif 000023
であったとする。各ユーザペア間の関係性は、以下のように求まる。
【数２１】
2011034379.tif 000024
【００４４】
ユーザペア関係性算出手段３２３は、求めたユーザペア間の関係性を、ユーザペア関係性保存ＤＢ３２４に保存する。図３は、ユーザペア関係性保存ＤＢ３２４に保存する関係性のデータを示している。ユーザペア間の関係は、行及び列にユーザを並べた正方行列で表すことができる。ただし、対角成分の値は存在しない。
【００４５】
例えば、ユーザ１が、ユーザ端末２１を用いて、推薦要求受付ＩＦ３１２に推薦要求を発行したとする。推薦要求受付ＩＦ３１２は、アイテムスコア算出手段３２５に対し、アイテムスコア算出を指示する。アイテムスコア算出手段３２５は、ユーザ行動履歴ＤＢ３２１とユーザペア関係性保存ＤＢ３２４とを参照し、アイテムスコアを算出する。具体的には、アイテムスコア算出手段３２５は、下記式３に従って、アイテムスコアを算出する。
【数２２】
2011034379.tif 000025
なお、推薦を要求するアイテムの条件が指定されている場合は、アイテムスコア算出に先立って、その条件に従って、条件に合致しないアイテムを除外しておいてもよい。その場合、スコア算出対象となるアイテムについて、アイテムスコアを算出する。
【００４６】
縦ベクトルＩを、下記のように定義する。
【数２３】
2011034379.tif 000026
アイテムスコア算出手段３２５は、式３で求めたアイテムスコアのベクトルと、Ｉ−Ｘ１Ｔとをかけたものを求める。
【数２４】
2011034379.tif 000027
上記演算を行うことで、ユーザ１がまだ参照していないアイテムにアイテムスコアが残る。アイテムスコア算出手段３２５は、式４で求めたアイテムスコアの中からスコアが大きいアイテムのアイテム名とスコアとを推薦アイテム出力ＩＦ３１３に渡す。
【００４７】
推薦アイテム出力ＩＦ３１３は、アイテムスコア算出手段３２５から、推薦するアイテムのリストとそのスコアとを受け取る。推薦アイテム出力ＩＦ３１３は、推薦アイテムのリストとそのスコアとを、アイテムの推薦要求を送信したユーザ１のユーザ端末２１に送信する。ユーザ１は、ユーザ端末２１を操作して、表示画面上などに推薦アイテムのリストを表示する。
【００４８】
ユーザ１が、ユーザ端末２１を操作し、推薦リストの中から好みのアイテムｉを参照したとする。アイテムｉの参照は、外部に設けたアクション実行手段が行ってもよく、或いは、推薦エンジン３０内のアクション実行手段が行ってもよい。ユーザ端末２１は、ユーザ行動入力ＩＦ３１１に、ユーザ１がアイテムｉを参照したことを伝達する。ユーザ行動入力ＩＦ３１１は、ユーザ行動履歴ＤＢ３２１のユーザ１の行動履歴Ｘ１の該当する要素（ｉ番目の要素）を１に変更し、重み算出手段３２２へ伝達する。
【００４９】
重み算出手段３２２は、ユーザ行動履歴ＤＢ３２１を参照して重みを計算する。また、相関算出手段３２６は、ユーザ行動履歴ＤＢ３２１を参照して、ユーザペア間の相関係数を算出する。ユーザペア関係性算出手段３２３は、重み算出手段３２２が算出した重みと、相関算出手段３２６が算出した相関係数との積を演算し、これをユーザペア間の関係とする。ユーザ行動履歴ＤＢ３２１に記憶されるユーザ１の行動履歴が変更されることで、重み算出手段３２２が算出する重み、及び、相関算出手段３２６が算出する相関係数が変化し、それらの積であるユーザペア間の関係性が変化する。重み及び関係性の再計算は、ユーザの行動履歴が変化するたびに行ってもよく、或いは、ある程度の変更が蓄積された段階で行ってもよい。または、定期的に行ってもよい。
【００５０】
本実施形態では、ユーザペア関係性算出手段３２３は、ユーザ行動履歴ＤＢ３２１を参照し、ユーザペア間で非対称性が許容されるペア間の関係性を算出する。本実施形態では、ユーザペア間で非対称が許容される関係性を用いてアイテムスコアを算出しているので、ユーザペア間の関係性をより正しく反映した協調フィルタリングが可能になる。
【００５１】
本実施形態では、重み算出手段３２２は、ユーザペア間で非対称性を有する重みを算出し、相関算出手段３２６は、ユーザペア間で対称性を有する相関係数を算出している。重みと相関係数との積をユーザペア間の関係性とすることで、ユーザペア間の関係性を非対称性にできる。
【００５２】
重みは、ユーザペアの一方から見て、他方のユーザの参照アイテムが参考になると考えられるときは、一方のユーザから見た他方のユーザへの重みを重くし、逆に、他方のユーザから見て一方のユーザの参照アイテムが参考にならないと考えられるときは、他方のユーザから見た一方のユーザへの重みを軽くすればよい。本実施形態では、あるユーザから見て、ペアの他方のユーザのみが参照したアイテムが多いときは重みを軽くし、他方のユーザのみが参照したアイテム数が少ないときは重みを重くしている。このような重み設定を行うことで、多種多様なアイテムに行動履歴を有するユーザのような、誰とでも関係性が強く出るユーザの影響度を抑えることが可能になる。
【００５３】
例えば、前述のユーザ１とユーザ２のペアを考えると、ユーザ１の行動履歴の数は１１０で、ユーザ２の行動履歴の数は１００１０である。ユーザ１は、特定の分野のアイテムを参照するユーザであり、ユーザ２は、多種多様なアイテムを参照するユーザであると考えられる。関係の非対称性を考慮しない場合、ユーザ１にのみ行動履歴があるアイテムのアイテムスコアと、ユーザ２にのみ行動履歴があるアイテムのアイテムスコアとが同程度になる。ユーザ１の嗜好（参照範囲）は、ユーザ２の嗜好と重複部分が大きいので、ユーザ１にのみ行動履歴があるアイテムは、ユーザ２に推薦すべきである。しかし、ユーザ２は、ユーザ１とは異なる嗜好に多くの行動履歴を有しており、ユーザ２のみに行動履歴があるアイテムは、ユーザ１にとっては、推薦されてもあまり意味がない。本実施形態では、ユーザペア間の関係性を非対称にし、ユーザ１から見たユーザ２の関係性を弱くすると共に、ユーザ２から見たユーザ１の関係性を強くできる。従って、ユーザ２に対してユーザ１にのみ行動履歴があるアイテムを推薦できると共に、ユーザ１に対しては、ユーザ２にのみ行動履歴があるアイテムを推薦しないようにできる。
【００５４】
なお、以上では、重みをユーザペアの相手側にのみ行動履歴があるアイテムの数に応じた重みとしたが、重みはこれには限定されない。例えば、アイテムへの参照が早い方の重みを重くするという手法でもよい。具体的には、アイテムごとに、ａｐｑ（ｉ）を、
【数２５】
2011034379.tif 000028
と定義し、重み算出手段３２２は、
【数２６】
2011034379.tif 000029
を用いて重みを算出してもよい。例えば、ユーザｐとユーザｑとが共通に参照したアイテムが１００あるとして、そのうち、ｐが先に参照したアイテム数が３０で、ｑが先に参照したアイテム数が７０であれば、
ｗｐｑ＝８５、ｗｑｐ＝６５
となる。このような重みを用いる場合、ユーザペア間で共通に参照したアイテムについて、より早くアイテムを参照したユーザが重要視され、影響力を持つことになる。
【００５５】
第１実施形態では、協調フィルタリングをＵ２ＵＣＦとしたが、Ｉ２ＩＣＦなどの他の関係性に適用することもできる。例えば、Ｉ２ＩＣＦであれば、ユーザペア間で重みを算出したのと同様な手法でアイテムペア間の重みを算出し、これを用いてアイテムペア間で、一対一の非対称性が許容される関係性を算出すればよい。また、ユーザのプレゼンス（所在、位置などの情報）などを用い、コンテキストペア間で重みを算出し、これを用いてコンテキストペア間の関係性を算出してもよい。例えば、ユーザ１について、職場にいるというプレゼンスをコンテキスト１とし、プライベートプレゼンスをコンテキスト２とする。また、ユーザ２について、職場にいるというプレゼンスをコンテキスト３とし、プライベートプレゼンスをコンテキスト４とする。コンテキストを用いる場合、例えば、コンテキスト１（職場のユーザ１）は、コンテキスト２（プライベートのユーザ１）に対して大きな影響を与えるが、その逆はそうでもないといった関係性を用いた協調フィルタリングが可能になる。
【００５６】
続いて、第２実施形態について説明する。本発明の第２実施形態の協調フィルタリングシステムの構成は、図１に示す第１実施形態の協調フィルタリングシステムと同様な構成である。本実施形態の協調フィルタリングシステムは、相関算出手段３２６が、ペア間の相関係数の算出元となる要素に対し、要素がペア間の相関係数の算出に与える影響を要素に応じて設定した上で相関係数を算出する点で、第１実施形態と異なる。すなわち、第１実施形態では、相関算出手段３２６は、式２を用いて相関係数を算出しており、個々のアイテムが相関係数に与える影響は、アイテム間で一定であった。本実施形態では、アイテムに応じて、アイテムが関係性の算出結果に与える影響を設定可能とする。
【００５７】
相関算出手段３２６は、下記式５を用いて、ユーザペア（ユーザｐ，ユーザｑ）の相関係数を算出する。
【数２７】
2011034379.tif 000030
式５におけるｋ（ｉ）は、ｉ番目のアイテムが関係性算出に与える影響を表す値（係数）である。ｋ（ｉ）は、例えば、０≦ｋ（ｉ）≦１の値を採る。ｋ（ｉ）の値が大きいほど、ｉ番目のアイテムが相関係数に与える影響は大きくなり、ｋ（ｉ）＝０のとき、ｉ番目のアイテムは、相関係数の計算に影響しない。全てのｋ（ｉ）がｋ（ｉ）＝１のとき、式５を用いて計算した相関係数は、Ｐｅａｒｓｏｎ相関係数と等しくなる。なお、上記では、Ｐｅａｒｓｏｎ相関係数の算出式にｋ（ｉ）を導入しているが、ベースとなる相関係数の算出式は任意であり、Ｐｅａｒｓｏｎ相関係数の算出式には限定されない。
【００５８】
ｋ（ｉ）の値は、例えば、次のように決定する。アイテムデータ保存ＤＢ３４に、メタ情報として、アイテムが属するカテゴリなどの情報を記憶しておく。相関算出手段３２６は、アイテムのカテゴリに応じて、ｋ（ｉ）の値を決定する。例えば、ユーザは、推薦要求受付手段３１２にアイテムの推薦要求を送信する際に、より重視するアイテムのカテゴリを指定する。相関算出手段３２６は、ユーザが重視するカテゴリのアイテムに対してｋ（ｉ）を１とし、類似するカテゴリのアイテムに対してｋ（ｉ）の値を１／２とし、関連がないカテゴリのアイテムに対してｋ（ｉ）を０に設定する。ここで記載したｋ（ｉ）の値は、一例にすぎず、ｉ番目のアイテムに対するｋ（ｉ）の値の設定方法は任意である。
【００５９】
重み算出手段３２２が行う重みｗｐｑの計算は、第１実施形態と同様である。つまり、重み算出手段３２２は、非対称性が許容される重みを算出する。関係性算出手段３２３は、重み算出手段３２２が算出した重みと、相関算出手段３２６が算出した相関係数とを用いて、下記式６で、ユーザペア間の関係性を算出する。
【数２８】
2011034379.tif 000031
【００６０】
本実施形態では、相関算出手段３２６は、ペア間の相関係数の算出元となる要素に対し、要素がペア間の相関係数の算出に与える影響を要素に応じて設定した上で、相関係数を算出する。このようにすることで、特定のアイテムについて、そのアイテムに対する行動情報がユーザペア間の関係性の算出に与える影響を大きくすることができ、特定の他のアイテムについて、そのアイテムに対する行動情報がユーザペア間の関係性の算出に与える影響を小さくすることができる。本実施形態においても、重み算出手段３２２が算出しｗｐｑを用いてユーザｐから見たユーザｑとの関係性Ｃ（Ｘｐ，Ｘｑ）を算出しており、第１実施形態と同様に、ユーザ間の非対称性を反映した関係性の算出が可能である。
【００６１】
なお、第２実施形態では、協調フィルタリングをＵ２ＵＣＦとしたが、第１実施形態と同様に、Ｉ２ＩＣＦなどの他の関係性に適用することもできる。例えば、Ｉ２ＩＣＦであれば、相関算出手段３２６は、相関係数の算出元の要素であるユーザに対し、ユーザがアイテムペア間の相関係数の算出に与える影響をユーザに応じて設定した上で相関係数を算出すればよい。また、コンテキストペア間の関係性を算出する場合、相関算出手段３２６は、相関係数の算出元の要素であるアイテムに対し、アイテムがコンテキストペア間の相関係数の算出に与える影響をアイテムに応じて設定した上で相関係数を算出すればよい。重みの算出については、第１実施形態で説明した通りである。
【００６２】
本発明の第３実施形態について説明する。本発明の第３実施形態の協調フィルタリングシステムの構成は、図１に示す第１実施形態の協調フィルタリングシステムと同様な構成である。第２実施形態では、相関算出手段３２６は、要素がペア間の相関係数の算出に与える影響をアイテムに応じて設定可能とした。本実施形態は、要素がペア間の相関係数の算出に与える影響の大きさが、ペア間で非対称性が許容される点で、第２実施形態と相違する。本実施形態では、重み算出手段３２２が算出する重みだけでなく、相関算出手段３２６が算出する相関係数にも非対称性が許容される。
【００６３】
相関算出手段３２６は、下記式７を用いて、ユーザｐから見たユーザｑの相関係数を算出する。
【数２９】
2011034379.tif 000032
式７におけるｋｐｑ（ｉ）は、ｉ番目のアイテムが関係性算出に与える影響を表す値（係数）である。ｉ番目のアイテムについて、ユーザｐから見たユーザｑの相関係数を算出するときと、ユーザｑから見たユーザｐの相関係数を算出するときとで、ｉ番目のアイテムが相関係数の算出に与える影響は相互に異なることが許容される。すなわち、ｋｐｑ（ｉ）≠ｋｑｐ（ｉ）となることが許容される。ｋｐｑ（ｉ）は、例えば、０≦ｋｐｑ（ｉ）≦１の値を採る。ｋｐｑ（ｉ）の値が大きいほど、ｉ番目のアイテムが相関係数に与える影響は大きくなり、ｋｐｑ（ｉ）＝０のとき、ｉ番目のアイテムは、相関係数の計算に影響しない。全てのｋｐｑ（ｉ）がｋｐｑ（ｉ）＝１のとき、式７を用いて計算した相関係数は、Ｐｅａｒｓｏｎ相関係数と等しくなる。また、全てのアイテムについて、ｋｐｑ（ｉ）＝ｋｑｐ（ｉ）のとき、ユーザｐから見たユーザｑの相関係数と、ユーザｑから見たユーザｐの相関係数とは等しくなる。
【００６４】
ｋｐｑ（ｉ）の値は、例えば次のように決定する。ユーザｑがｉ番目のアイテムに対して参照履歴を持つときはｋｐｑ（ｉ）＝１とし、それ以外はｋｐｑ（ｉ）＝１／２とする。この場合、ユーザｑが参照履歴を持つアイテムが相関係数の算出に与える影響が大きくなる。或いは、ユーザｑがユーザｐよりも先にｉ番目のアイテムを参照しているときは、ｋｐｑ（ｉ）＝１、それ以外はｋｐｑ（ｉ）＝１／２とする。この場合、ユーザｑがユーザｐよりも先に参照したアイテムが、ユーザｐから見たユーザｑの相関係数の算出に与える影響を大きくできる。ここで記載したｋｐｑ（ｉ）の値は、一例にすぎず、ｉ番目のアイテムに対するｋｐｑ（ｉ）の値の設定方法は任意である。相関係数の算出に際しては、事前に、フィルタリングを行い、特定のカテゴリに属するアイテムについては、ｋｐｑ（ｉ）の値を０にしておいてもよい。
【００６５】
重み算出手段３２２が行う重みｗｐｑの計算は、第１実施形態と同様である。つまり、重み算出手段３２２は、非対称性が許容される重みを算出する。関係性算出手段３２３は、重み算出手段３２２が算出した重みと、相関算出手段３２６が算出した相関係数とを用いて、下記式８で、ユーザペア間の関係性を算出する。
【数３０】
2011034379.tif 000033
【００６６】
本実施形態では、相関係数の算出に際して、要素がペア間の相関係数の算出に与える影響の大きさが、ペア間で非対称性が許容される。このようにすることで、ペアの一方から他方を見たときと、他方から一方を見たときとで、アイテムに対する行動情報がユーザペア間の関係性の算出に与える影響を変えることができる。本実施形態においても、重み算出手段３２２が算出したｗｐｑを用いてユーザｐから見たユーザｑとの関係性Ｃ（Ｘｐ，Ｘｑ）を算出しており、第１実施形態と同様に、ユーザ間の非対称性を反映した関係性の算出が可能である。
【００６７】
なお、第３実施形態では、協調フィルタリングをＵ２ＵＣＦとしたが、第２実施形態と同様に、Ｉ２ＩＣＦなどの他の関係性に適用することもできる。例えば、Ｉ２ＩＣＦであれば、相関算出手段３２６は、相関係数の算出元の要素であるユーザに対し、ユーザがアイテムペア間の相関係数の算出に与える影響を非対称に設定し、相関係数を算出すればよい。また、コンテキストペア間の関係性を算出する場合、相関算出手段３２６は、相関係数の算出元の要素であるアイテムに対し、アイテムがコンテキストペア間の相関係数の算出に与える影響を非対称にして相関係数を算出すればよい。重みの算出については、第１実施形態で説明した通りである。
【００６８】
ところで、第１〜第３実施形態で、関係性を算出するペア間での重み、及び、アイテムが相関算出に与える影響を全て１に設定すれば、ペア間の関係は対称になる。すなわち、式２における重みｗｐｑを全て１とし、式６における重みｗｐｑ及びｋ（ｉ）を全て１とし、式８におけるｗｐｑ及びｋｐｑ（ｉ）を全て１に設定すれば、ペア間の関係性は対称になる。これは、既存の協調フィルタリングと同等になることを意味する。従って、重み算出手段及び相関算出手段部分の動作を変更すれば、非対称性を有する関係性を用いた協調フィルタリングと、対称性を有する関係性を用いた協調フィルタリングとを切り換えることができる。
【００６９】
以上、本発明をその好適な実施形態に基づいて説明したが、本発明の協調フィルタリングシステム、方法、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
【００７０】
最後に、本発明の最小構成について説明する。本発明の協調フィルタリングシステムは、最小構成として、関係性算出手段と、アイテムスコア算出手段とを有する。関係性算出手段は、ユーザがアイテムに対して行った行動の履歴情報を記憶するユーザ行動履歴ＤＢを参照し、一対一の非対称性が許容される、ユーザペア間、アイテムペア間、又は、コンテキストペア間の関係性を算出する。アイテムスコア算出手段は、ペア間の関係性と行動履歴情報とを用いて、アイテムスコアを算出する。
【００７１】
本発明の協調フィルタリング方法の最小構成は、ユーザがアイテムに対して行った行動の履歴情報を記憶するユーザ行動履歴ＤＢを参照し、一対一の非対称性が許容される、ユーザペア間、アイテムペア間、又は、コンテキストペア間の関係性を算出するステップと、ペア間の関係性と行動履歴情報とを用いて、アイテムスコアを算出するステップとを有するという構成である。
【００７２】
本発明のプログラムの最小構成は、コンピュータに、ユーザがアイテムに対して行った行動の履歴情報を記憶するユーザ行動履歴ＤＢを参照し、一対一の非対称性が許容される、ユーザペア間、アイテムペア間、又は、コンテキストペア間の関係性を算出する処理と、ペア間の関係性と行動履歴情報とを用いて、アイテムスコアを算出する処理とを実行させるという構成である。
【００７３】
本発明では、非対称性が許容される関係性を算出し、その関係性を用いてアイテムスコアを算出する。ユーザ間の関係性は、一対一の非対称性が許容されており、ペア間で、一方から他方を見たときの関係性を強くし、他方から一方を見たときの関係性を弱くすることが可能である。従って、このような関係性を協調フィルタリングに用いることで、算出するペア間での関係性の強さの非対称性を考慮した協調フィルタリングが可能になる。
【符号の説明】
【００７４】
２１〜２３：ユーザ端末
３０：推薦エンジン
３１：ユーザＩＦ
３２：スコアリング部
３４：アイテムデータ保存ＤＢ
３５：ユーザデータ保存ＤＢ
３１１：ユーザ行動入力ＩＦ
３１２：推薦要求受付ＩＦ
３１３：推薦アイテム出力ＩＦ
３２１：ユーザ行動履歴ＤＢ
３２２：重み算出手段
３２３：ユーザペア関係性算出手段
３２４：ユーザペア関係性保存ＤＢ
３２５：アイテムスコア算出手段
３２６：相関算出手段
【図１】
2011034379.tif 000034
【図２】
2011034379.tif 000035
【図３】
2011034379.tif 000036
【図４】
2011034379.tif 000037