(57)【要約】【課題】ユーザのアクセス履歴を用いてパーソナライゼーションに必要なユーザまたはオブジェクトを容易に検索できる検索処理技術を提供する。【解決手段】検索処理方法は、履歴データ３１からユーザのオブジェクトに対するアクセス時間に関する重みに基づいてユーザ間の直接関係情報３３を作成し、履歴データ３１と直接関係情報３３とを利用して、ユーザ間の直接関係および間接関係を合わせた関係を示す相対関係情報３４を作成し、直接関係情報３３および相対関係情報３４を連動させて更新する処理を事前に行い、ユーザＩＤが入力されたときに、相対関係情報３４から、入力されたユーザＩＤで特定されるユーザと他ユーザとの間の相対関係を抽出し、他ユーザの履歴データに含まれるオブジェクトに、相対関係を数値化したスコアを付与し、このスコアで順位付けしたオブジェクトリストを作成し検索結果として出力する。【選択図】図１
2008305055.tif 000002
【特許請求の範囲】
【請求項１】
対象とする複数のユーザが対象とする１以上のデジタル化されたオブジェクトにアクセスした履歴を示すユーザごとの全履歴データを利用して、前記ユーザと前記オブジェクトのうちの一方をリコメンドに関する第１処理対象としたときに他方を第２処理対象として前記第１処理対象に対して最適候補の第２処理対象を検索する検索処理方法であって、
関係情報作成手段によって、前記全履歴データから前記第１処理対象と前記第２処理対象とのアクセス時間に関する重みに基づいて前記第１処理対象間のすべての直接関係を示す関係情報を作成する関係情報作成ステップと、
データ管理手段によって、第１処理対象を特定するユーザの履歴に関する履歴関係情報を入力する入力ステップと、
関係抽出手段によって、前記作成された関係情報から、前記入力された履歴関係情報で特定される第１処理対象と、当該第１処理対象を除く他の第１処理対象との間のそれぞれの関係を抽出する関係抽出ステップと、
スコア算出手段によって、前記それぞれの他の第１処理対象の履歴データに含まれる第２処理対象に対して、前記それぞれ抽出された関係を数値化したスコアを算出するスコア算出ステップと、
スコアリスト作成手段によって、前記スコアが算出された第２処理対象を前記スコアで順位付けしたリストであるスコアリストを作成するスコアリスト作成ステップと、
データ管理手段によって、前記作成されたスコアリストを出力する出力ステップとを含むことを特徴とする検索処理方法。
【請求項２】
前記関係情報作成ステップは、前記関係情報として、
前記第１処理対象間のすべての直接関係を示す直接関係情報を作成する直接関係情報作成ステップと、
前記全履歴データと前記直接関係情報とを利用して、前記第１処理対象間の直接関係および間接関係を合わせた関係を示す相対関係情報を作成する相対関係情報作成ステップと、
所定の終了条件が成立するまで、前記直接関係情報作成ステップと前記相対関係情報作成ステップとの一連の処理において、前記第１処理対象としてユーザとオブジェクトとを交互に切り替えて、前記直接関係情報および前記相対関係情報を更新する関係情報更新ステップとを有し、
前記関係抽出ステップは、前記関係情報として、前記更新された相対関係情報から、前記入力された履歴関係情報で特定される第１処理対象と、当該第１処理対象を除く他の第１処理対象との間のそれぞれの関係を抽出することを特徴とする請求項１に記載の検索処理方法。
【請求項３】
前記直接関係情報作成ステップは、
前記全履歴データから前記第２処理対象を固定したときの所定の２つの第１処理対象間において、前記第２処理対象に関するアクセス時間に関する重みを示す時間重み情報を抽出する時間重み情報抽出ステップと、
前記抽出された時間重み情報に、前記第２処理対象の所定の重みを乗じて前記第２処理対象についてとった和を、前記第２処理対象について正規化することで得られる選択確率を前記所定の２つの第１処理対象間の直接関係として算出する選択確率算出ステップと、
前記選択確率を前記第１処理対象に亘って算出することで、前記直接関係情報を生成する直接関係情報生成ステップとを有することを特徴とする請求項２に記載の検索処理方法。
【請求項４】
前記相対関係情報作成ステップは、
前記第１処理対象間の直接関係を数値化した確率値の所定の第１処理対象ごとの和が所定のしきい値より大きいか否かを判別し、前記和が前記しきい値より大きい場合に当該確率値を要素とすると共に、前記和が前記しきい値以下の場合に全第１処理対象数で正規化した確率値を要素とする正方行列を、全第１処理対象間の直接遷移確率を示す直接遷移確率行列として生成する直接遷移確率行列生成ステップと、
前記直接遷移確率行列と、前記全第１処理対象数で正規化した確率値を要素とする正方行列とを凸結合により正規化した正規化行列を生成する正規化行列生成ステップと、
前記正規化行列を予め定められた第１処理対象間媒介変数を指数としてべき乗した結果についての前記第１処理対象間媒介変数に関する和を、前記相対関係情報として算出する相対関係情報算出ステップとを有することを特徴とする請求項３に記載の検索処理方法。
【請求項５】
前記相対関係情報作成ステップは、
前記正規化行列の最大固有値に対応する固有ベクトルのうち前記それぞれの第１処理対象に対応する値を、前記それぞれの第１処理対象に対する重みとして算出する重み算出ステップをさらに有し、
前記選択確率算出ステップは、
前記関係情報更新ステップでユーザとオブジェクトとが切り替えられた第１処理対象について前記時間重み情報抽出ステップで抽出された時間重み情報に、前記関係情報更新ステップでユーザとオブジェクトとが切り替えられる前に前記重み算出ステップで算出された第１処理対象に対する重みを乗じることで、前記切り替えられる前の第１処理対象間の直接関係として前記選択確率を算出することを特徴とする請求項４に記載の検索処理方法。
【請求項６】
前記第１処理対象はユーザであって、
前記関係抽出ステップは、
前記入力された履歴関係情報で特定されるユーザに対して前記重み算出ステップで算出された重みを、前記特定されるユーザと他のユーザとの関係として抽出し、
前記スコア算出ステップは、
前記特定されるユーザに対して抽出された重みが所定の基準値より大きいか否かを判別し、前記重みが前記基準値より小さい場合に前記相対関係情報に基づいて該当するそれぞれのオブジェクトに対してスコアを算出し、前記重みが前記基準値以上である場合に、未アクセスであるオブジェクトに対してスコアを算出することを特徴とする請求項５に記載の検索処理方法。
【請求項７】
請求項１ないし請求項６のいずれか一項に記載の検索処理方法をコンピュータに実行させることを特徴とする検索処理プログラム。
【請求項８】
請求項７に記載の検索処理プログラムが記録されたことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項９】
対象とする複数のユーザが対象とする１以上のデジタル化されたオブジェクトにアクセスした履歴を示すユーザごとの全履歴データを利用して、前記ユーザと前記オブジェクトのうちの一方をリコメンドに関する第１処理対象としたときに他方を第２処理対象として前記第１処理対象に対して最適候補の第２処理対象を検索する検索処理装置であって、
前記全履歴データから前記第１処理対象と前記第２処理対象とのアクセス時間に関する重みに基づいて前記第１処理対象間のすべての直接関係を示す関係情報を作成する関係情報作成手段と、
第１処理対象を特定するユーザの履歴に関する履歴関係情報を入力する入力手段と、
前記作成された関係情報から、前記入力された履歴関係情報で特定される第１処理対象と、当該第１処理対象を除く他の第１処理対象との間のそれぞれの関係を抽出する関係抽出手段と、
前記それぞれの他の第１処理対象の履歴データに含まれる第２処理対象に対して、前記それぞれ抽出された関係を数値化したスコアを算出するスコア算出手段と、
前記スコアが算出された第２処理対象を前記スコアで順位付けしたリストであるスコアリストを作成するスコアリスト作成手段と、
前記作成されたスコアリストを出力する出力手段とを備えることを特徴とする検索処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索処理技術に係り、特に、ユーザがデジタル化されたオブジェクトにアクセスした履歴を利用して、ユーザに対して最適候補のオブジェクトを検索したり、オブジェクトに対して最適候補のユーザを検索したりする検索処理技術に関する。
【背景技術】
【０００２】
従来、インターネット上のオンラインストアなどで、ユーザ（閲覧者）個々人を特定または識別し、その属性や行動に合わせて、ユーザに提供するサービスやコンテンツを変える仕組み、いわゆる、パーソナライゼーションが利用されている。また、従来、パーソナライゼーションにおいて、あるユーザと他のユーザとの関係（ユーザ間の関係）を、各ユーザからの影響の受け易さという観点で定義する技術（例えば非特許文献１参照）や、各ユーザの履歴の類似性の観点で定義する技術が知られている。
【０００３】
このうち非特許文献１に記載された技術は、ユーザの履歴を用いてユーザ間の情報伝播のモデル化を行ったものである。この技術では、数万人規模のユーザによるデジタル化されたオブジェクト（例えば、アイテム）に対する操作情報（例えば、ログイン、閲覧、ダウンロードなど）を利用してユーザの行動をシミュレートしている。この技術によれば、ユーザ毎に、影響を受けやすいユーザを、確率として定義することが可能である。
【非特許文献１】X. Song, C. Y. Lin, B. Tseng and M. T. Sun: Personalized Recommendation Driven by Information Flow, In Proc. of the ACM SIGIR: p.509-516, 2006
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、非特許文献１に記載された方法は、他のユーザに影響を及ぼすユーザから、影響を受けるユーザへ情報が遷移するモデルで確率を定義しているので、履歴に基づくパーソナライゼーション、すなわち、影響を受ける側のユーザから、影響を及ぼす側の他のユーザの履歴を選択するモデルへ適用するためには、まず、非特許文献１に記載された遷移確率の定義を逆に変更しなくてはならない。
その上で、従来技術では、ユーザ間の関係を、各ユーザの履歴の類似性、あるいは、各ユーザからの影響の受け易さという観点で定義しているので、パーソナライズにとって必要なオブジェクトの価値（重み）を考慮してユーザおよびその履歴を発見することが困難であるという問題がある。
また、ユーザ間にバーチャルネットワークの存在を仮定すると、従来のように、１対１のユーザ間の関係の定義だけでは、パーソナライゼーションに限界がある。そこで、ユーザ間の関係の定義を変更することが考えられる。
さらに、ユーザのアクセス履歴を用いてパーソナライズするために以下の要求を満たす技術が要望されている。
【０００５】
（１）ユーザが自身のニーズをクエリ以外のものを用いても検索できること。
（２）同じようなニーズを持つ複数のユーザでも、時系列的に見るとその行動パターンはそれぞれ違っていることを反映した技術であること。
（３）個々のユーザのニーズが時系列的に変化することを前提とした技術であること。
（４）ユーザ間の関係（またはオブジェクト間の関係）は、直接的なものだけでなく間接的なものも考慮した技術であること。
【０００６】
そこで、本発明は、以上のような問題点に鑑みてなされたものであり、ユーザのアクセス履歴を用いてパーソナライゼーションに必要なユーザまたはオブジェクトを容易に検索できる検索処理技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
前記課題を解決するために、本発明に係る検索処理方法は、対象とする複数のユーザが対象とする１以上のデジタル化されたオブジェクトにアクセスした履歴を示すユーザごとの全履歴データを利用して、前記ユーザと前記オブジェクトのうちの一方をリコメンドに関する第１処理対象としたときに他方を第２処理対象として前記第１処理対象に対して最適候補の第２処理対象を検索する検索処理方法であって、関係情報作成手段によって、前記全履歴データから前記第１処理対象と前記第２処理対象とのアクセス時間に関する重みに基づいて前記第１処理対象間のすべての直接関係を示す関係情報を作成する関係情報作成ステップと、データ管理手段によって、第１処理対象を特定するユーザの履歴に関する履歴関係情報を入力する入力ステップと、関係抽出手段によって、前記作成された関係情報から、前記入力された履歴関係情報で特定される第１処理対象と、当該第１処理対象を除く他の第１処理対象との間のそれぞれの関係を抽出する関係抽出ステップと、スコア算出手段によって、前記それぞれの他の第１処理対象の履歴データに含まれる第２処理対象に対して、前記それぞれ抽出された関係を数値化したスコアを算出するスコア算出ステップと、スコアリスト作成手段によって、前記スコアが算出された第２処理対象を前記スコアで順位付けしたリストであるスコアリストを作成するスコアリスト作成ステップと、データ管理手段によって、前記作成されたスコアリストを出力する出力ステップとを含むことを特徴とする。
【０００８】
また、前記課題を解決するために、本発明に係る検索処理装置は、対象とする複数のユーザが対象とする１以上のデジタル化されたオブジェクトにアクセスした履歴を示すユーザごとの全履歴データを利用して、前記ユーザと前記オブジェクトのうちの一方をリコメンドに関する第１処理対象としたときに他方を第２処理対象として前記第１処理対象に対して最適候補の第２処理対象を検索する検索処理装置であって、前記全履歴データから前記第１処理対象と前記第２処理対象とのアクセス時間に関する重みに基づいて前記第１処理対象間のすべての直接関係を示す関係情報を作成する関係情報作成手段と、第１処理対象を特定するユーザの履歴に関する履歴関係情報を入力する入力手段と、前記作成された関係情報から、前記入力された履歴関係情報で特定される第１処理対象と、当該第１処理対象を除く他の第１処理対象との間のそれぞれの関係を抽出する関係抽出手段と、前記それぞれの他の第１処理対象の履歴データに含まれる第２処理対象に対して、前記それぞれ抽出された関係を数値化したスコアを算出するスコア算出手段と、前記スコアが算出された第２処理対象を前記スコアで順位付けしたリストであるスコアリストを作成するスコアリスト作成手段と、前記作成されたスコアリストを出力する出力手段とを備えることを特徴とする。
【０００９】
かかる手順の検索処理方法、または、かかる構成の検索処理装置によれば、検索処理装置は、入力をキーとして検索処理を実行する前に予め行う事前処理として、全履歴データから第１処理対象間の直接関係を示す関係情報を作成する。これにより、ユーザ間のアクセス履歴を考慮したパーソナライゼーションが可能な検索処理装置を提供することができる。ここで、履歴データは、ユーザの識別情報と、オブジェクトの識別情報と、ユーザがオブジェクトにアクセスした時間（時刻情報）とを少なくとも含む。また、オブジェクトとは、例えば、電子化情報、実世界の情報、コンテンツ、アイテムを含み、アクセスとは、例えば、ログイン、閲覧、ダウンロード、購買などの操作情報を含む。また、検索処理装置は、例えば、ユーザを第１処理対象、オブジェクトを第２処理対象とした場合には、第１処理対象に対してお薦めするときに尤もアクセス効果が生じ易い第２処理対象を検索し、一方、オブジェクトを第１処理対象、ユーザを第２処理対象とした場合には、第１処理対象をお薦めするときに尤もアクセスされる効果を生じ易い第２処理対象を検索する。
【００１０】
そして、検索処理装置は、事前処理の後に行う検索処理として、予め作成された関係情報から、入力された履歴関係情報で特定される第１処理対象と、他の第１処理対象との間のそれぞれの関係を抽出し、他の第１処理対象の履歴データに含まれる第２処理対象に対して、それぞれ抽出された関係を数値化したスコアを算出する。ここで、履歴関係情報は、例えば、ユーザＩＤやオブジェクトＩＤを示す。これにより、例えば、ユーザが自身のニーズをクエリ以外のものを用いても検索できる。そして、検索処理装置は、スコアが算出された第２処理対象をランキングしたスコアリストを作成して出力する。これにより、例えば、ユーザを第１処理対象とし、オブジェクトを第２処理対象とした場合には、入力された履歴関係情報で特定されるユーザに対してお薦めするときに尤もアクセス効果が生じ易いオフジェクトをスコアリングしたオブジェクトランキングリストがスコアリストとして出力される。また、オブジェクトを第１処理対象、ユーザを第２処理対象とした場合には、入力された履歴関係情報で特定されるオブジェクトをお薦めするときに尤もアクセスされる効果を生じ易いユーザをスコアリングしたユーザランキングリストがスコアリストとして出力される。
【００１１】
また、本発明に係る検索処理方法は、前記関係情報作成ステップが、前記関係情報として、前記第１処理対象間のすべての直接関係を示す直接関係情報を作成する直接関係情報作成ステップと、前記全履歴データと前記直接関係情報とを利用して、前記第１処理対象間の直接関係および間接関係を合わせた関係を示す相対関係情報を作成する相対関係情報作成ステップと、所定の終了条件が成立するまで、前記直接関係情報作成ステップと前記相対関係情報作成ステップとの一連の処理において、前記第１処理対象としてユーザとオブジェクトとを交互に切り替えて、前記直接関係情報および前記相対関係情報を更新する関係情報更新ステップとを有し、前記関係抽出ステップが、前記関係情報として、前記更新された相対関係情報から、前記入力された履歴関係情報で特定される第１処理対象と、当該第１処理対象を除く他の第１処理対象との間のそれぞれの関係を抽出することが好ましい。
【００１２】
かかる手順の検索処理方法によれば、検索処理装置は、事前処理として、全履歴データから第１処理対象間の直接関係情報を作成すると共に、全履歴データと作成した直接関係情報とを利用して、第１処理対象間の相対関係情報を作成し、この直接関係情報と相対関係情報との一連の作成において、第１処理対象としてユーザとオブジェクトとを交互に切り替えて、直接関係情報と相対関係情報とを交互に更新しつつ作成する。これにより、各ユーザおよびユーザ間のニーズや行動の時系列的な変化を考慮したパーソナライゼーションが可能な検索処理装置を提供することができる。ここで、第１処理対象間の直接関係情報とは、任意の２つの第１処理対象間の直接関係、すなわち、任意の２つの第１処理対象間にそれ以外の第１処理対象を介さずに、かつ、第２処理対象を介したときの当該２つの第１処理対象間の関係に関する情報を示す。また、第１処理対象間の相対関係情報とは、任意の２つの第１処理対象間の直接関係および間接関係、すなわち、任意の２つの第１処理対象間にそれ以外の第１処理対象を介してもよいときの当該２つの第１処理対象間の関係に関する情報を示す。
【００１３】
また、本発明に係る検索処理方法は、前記直接関係情報作成ステップが、前記全履歴データから前記第２処理対象を固定したときの所定の２つの第１処理対象間において、前記第２処理対象に関するアクセス時間に関する重みを示す時間重み情報を抽出する時間重み情報抽出ステップと、前記抽出された時間重み情報に、前記第２処理対象の所定の重みを乗じて前記第２処理対象についてとった和を、前記第２処理対象について正規化することで得られる選択確率を前記所定の２つの第１処理対象間の直接関係として算出する選択確率算出ステップと、前記選択確率を前記第１処理対象に亘って算出することで、前記直接関係情報を生成する直接関係情報生成ステップとを有することが好ましい。
【００１４】
かかる手順の検索処理方法によれば、検索処理装置は、事前処理で直接関係情報を作成する際に、所定の２つの第１処理対象間において、全履歴データから第２処理対象との履歴に関する時間重み情報を抽出し、抽出した時間重み情報に対して第２処理対象の重みを乗じて算出した選択確率を当該２つの第１処理対象間の直接関係として算出する。ここで、時間重み情報は、２つの第１処理対象が共通の第２処理対象に関する履歴となった時間の順位または順序に関するものを示す。そして、検索処理装置は、２つの第１処理対象間の選択確率を第１処理対象に亘って算出することで、直接関係情報を生成する。これにより、直接関係情報を行列形式で表現できる。なお、この事前処理で個々の第１処理対象間の選択確率を算出するにあたって、その後の検索処理でクエリが決まっていて検索に支障をきたさなければ、必ずしも第１処理対象間のすべての組み合わせの選択確率を算出する必要は無く、この場合には計算コストを低減できる。
【００１５】
また、本発明に係る検索処理方法は、前記相対関係情報作成ステップが、前記第１処理対象間の直接関係を数値化した確率値の所定の第１処理対象ごとの和が所定のしきい値より大きいか否かを判別し、前記和が前記しきい値より大きい場合に当該確率値を要素とすると共に、前記和が前記しきい値以下の場合に全第１処理対象数で正規化した確率値を要素とする正方行列を、全第１処理対象間の直接遷移確率を示す直接遷移確率行列として生成する直接遷移確率行列生成ステップと、前記直接遷移確率行列と、前記全第１処理対象数で正規化した確率値を要素とする正方行列とを凸結合により正規化した正規化行列を生成する正規化行列生成ステップと、前記正規化行列を予め定められた第１処理対象間媒介変数を指数としてべき乗した結果についての前記第１処理対象間媒介変数に関する和を、前記相対関係情報として算出する相対関係情報算出ステップとを有することが好ましい。
【００１６】
かかる手順の検索処理方法によれば、検索処理装置は、事前処理で相対関係情報を作成する際に、それぞれの第１処理対象間の直接関係情報を直接遷移確率で示した直接遷移確率行列を生成し、この生成した直接遷移確率行列により、例えば、マルコフ連鎖のような仮定に適用可能な正規化行列を生成する。この正規化行列を生成するまでの段階では、第１処理対象間の関係は、従来公知の手法のように２つの第１処理対象間の直接関係を定義したことに相当する。そして、検索処理装置は、この正規化行列をべき乗した結果についてのべき乗の変数に関する和を相対関係情報として算出する。これにより、相対関係情報を生成した段階では、第１処理対象間の関係は、第１処理対象間の直接関係および間接的な関係を定義したことに相当する。例えば、第１処理対象間媒介変数の値をｎとすれば、着目している２つの第１処理対象間に、他の（ｎ−１）の第１処理対象を介した関係を考慮したこととなる。これにより、ユーザ間にバーチャルネットワークの存在を仮定した場合でもパーソナライズすることのできる検索処理装置を提供することができる。
【００１７】
また、本発明に係る検索処理方法は、前記相対関係情報作成ステップが、前記正規化行列の最大固有値に対応する固有ベクトルのうち前記それぞれの第１処理対象に対応する値を、前記それぞれの第１処理対象に対する重みとして算出する重み算出ステップをさらに有し、前記選択確率算出ステップが、前記関係情報更新ステップでユーザとオブジェクトとが切り替えられた第１処理対象について前記時間重み情報抽出ステップで抽出された時間重み情報に、前記関係情報更新ステップでユーザとオブジェクトとが切り替えられる前に前記重み算出ステップで算出された第１処理対象に対する重みを乗じることで、前記切り替えられる前の第１処理対象間の直接関係として前記選択確率を算出することが好ましい。
【００１８】
かかる手順の検索処理方法によれば、検索処理装置は、事前処理で相対関係情報を作成する際に、第１処理対象間の直接関係情報を示す直接遷移確率行列から生成した正規化行列を利用して、この正規化行列の最大固有値に対応する固有ベクトルの値を、第１処理対象に対する重みとして算出する。この重みは、事前処理で直接関係情報を作成する際にそのままでは利用することができない。その理由は、第１処理対象間の直接関係を算出するときには、２つの第１処理対象から抽出した時間重み情報に対して第２処理対象の重みを乗じるためである。ここで、第１処理対象と第２処理対象とは、いずれか一方がユーザを示し他方がオブジェクトを示す。したがって、例えば、第１処理対象がユーザである場合には、検索処理装置が算出する重みは、ユーザの重みを示す。このように第１処理対象がユーザである場合には、時間重み情報に対して乗じるために必要な重みは、オブジェクトの重みである。そのため、検索処理装置は、事前処理で相対関係情報を更新して作成する際に、ユーザとオブジェクトとが切り替えられた第１処理対象（例えばオブジェクト）についての時間重み情報に、ユーザとオブジェクトとが切り替えられる前に算出された第１処理対象に対する重み（例えばユーザの重み）を乗じることで、切り替えられる前の第１処理対象間の直接関係（例えばユーザ間の関係）として選択確率を算出する。したがって、直接関係情報と相対関係情報との更新を繰り返すたびに、ユーザの重みまたはオブジェクトの重みが変化する。これにより、各ユーザおよびユーザ間のニーズや行動の時系列的な変化を考慮したパーソナライゼーションが可能な検索処理装置を提供することができる。
【００１９】
また、本発明に係る検索処理方法は、前記第１処理対象はユーザであって、前記関係抽出ステップが、前記入力された履歴関係情報で特定されるユーザに対して前記重み算出ステップで算出された重みを、前記特定されるユーザと他のユーザとの関係として抽出し、前記スコア算出ステップが、前記特定されるユーザに対して抽出された重みが所定の基準値より大きいか否かを判別し、前記重みが前記基準値より小さい場合に前記相対関係情報に基づいて該当するそれぞれのオブジェクトに対してスコアを算出し、前記重みが前記基準値以上である場合に、未アクセスであるオブジェクトに対してスコアを算出するようにしてもよい。
【００２０】
かかる手順の検索処理方法によれば、検索処理装置は、検索処理において、重み算出ステップで算出されたユーザの重みを有効に用いて、オブジェクトに対してスコアを算出することができる。これによれば、検索のために入力されたユーザの情報から、そのユーザの重みが基準値より大きいかどうかによって、新規なオブジェクトをリコメンド対象としてリストに載せるか、他ユーザが既にアクセスしたオブジェクトをリコメンド対象としてリストに載せるかを切り替えることができる。つまり、全ユーザのアクセス履歴を用いたパーソナライズを効果的に行うことができる。さらに、検索処理において算出された全ユーザの重みを用いれば、あるオブジェクトに着目してユーザの重みが高いユーザが当該オブジェクトに未アクセスであったときに、そのオブジェクトにアクセスし易い（オブジェクトがそのユーザからヒットされ易い）という事象を予測することも可能となる。
【００２１】
また、本発明に係る検索処理プログラムは、前記した検索処理方法をコンピュータに実行させることを特徴とする。このように構成されることにより、このプログラムをインストールされたコンピュータは、このプログラムに基づいた各機能を実現することができる。
【００２２】
また、本発明に係るコンピュータ読み取り可能な記録媒体は、前記した検索処理プログラムが記録されたことを特徴とする。このように構成されることにより、この記録媒体を装着されたコンピュータは、この記録媒体に記録されたプログラムに基づいた各機能を実現することができる。
【発明の効果】
【００２３】
本発明によれば、ユーザのアクセス履歴を用いてパーソナライゼーションに必要なユーザまたはオブジェクトを容易に検索できる。
【発明を実施するための最良の形態】
【００２４】
以下、図面を参照して本発明の検索処理装置および検索処理方法を実施するための最良の形態（以下「実施形態」という）について詳細に説明する。
【００２５】
［検索処理装置の構成］
図１は、本発明の実施形態に係る検索処理装置の構成を示すブロック図である。
検索処理装置１は、対象とする複数のユーザが対象とする１以上のデジタル化されたオブジェクトにアクセスした履歴を示すユーザごとの全履歴データを利用して、ユーザとオブジェクトのうちの一方をリコメンドに関する第１処理対象としたときに他方を第２処理対象として第１処理対象に対して最適候補の第２処理対象を検索するものである。ここで、オブジェクトとは、例えば、電子化情報、実世界の情報、コンテンツ、アイテムを含み、アクセスとは、例えば、ログイン、閲覧、ダウンロード、購買などの操作情報を含む。検索処理装置１は、予めユーザの履歴データからユーザ間の相対関係およびオブジェクト間の相対関係を計算する事前処理と、あるユーザの検索要求があった際に、検索を行い、検索結果をパーソナライズしてスコアリストを出力する検索処理とを実行する。本実施形態では、検索処理装置１は、検索サービス（検索エンジンやＥＣサイト）のシステムに内包されているものとして説明する。
【００２６】
検索処理装置１は、図１に示すように、入力手段１０と、出力手段２０と、記憶手段３０と、制御手段４０とを備える。
入力手段１０は、所定の入力インタフェースから構成され、入力装置Ｍから入力される各種情報（履歴関係情報、各ユーザの履歴データ、コマンド、データ等）を制御手段４０に入力するものである。履歴関係情報は、検索値としての第１処理対象を特定するユーザの履歴に関する情報であり、例えば、ユーザＩＤやオブジェクトＩＤ、および、ユーザの検索クエリといったユーザの操作に関わる情報等を指す。各ユーザの履歴データは、入力手段１０によって、履歴データ処理手段５０に入力される。ユーザＩＤやオブジェクトＩＤなどの検索値は、入力手段１０によって、スコアリング処理手段６０に入力される。ここで、入力装置Ｍは、例えば、キーボード、マウス、ディスクドライブ装置などから構成される。なお、入力手段１０は、図示しない通信ネットワークから各種情報を入力する通信インタフェースから構成するようにしてもよい。
【００２７】
出力手段２０は、例えば、グラフィックボード等の出力インタフェースから構成され、制御手段４０による演算処理結果を出力装置Ｄに出力するものである。ここで、演算処理結果は、例えば、検索処理結果として作成されたスコアリスト（所定のスコアによって第２処理対象をランキングしたリスト）等である。ここで、出力装置Ｄは、例えば、液晶ディスプレイ等から構成される。
【００２８】
記憶手段３０は、例えば、一般的なハードディスク装置などから構成され、制御手段４０で用いられる各種プログラムや各種データ等を記憶する。この記憶手段３０は、各種データとして、履歴データ３１と、時間重み情報３２と、直接関係情報（関係情報）３３と、相対関係情報（関係情報）３４と、重みデータ３５とを備える。
【００２９】
履歴データ３１は、対象とする全ユーザの履歴を示すデータである。この履歴データ３１の具体例について図２を参照して説明する。図２は、履歴データの構造の一例を示す図である。この例では、３人のユーザ（ユーザＡ、ユーザＢ、ユーザＣ）から、それぞれ、ユーザＡの履歴データ２０１、ユーザＢの履歴データ２０２、および、ユーザＣの履歴データ２０３を収集したと仮定する。図２に示した履歴データ３１は、最小限の項目２１１〜２１３として、「ユーザＩＤ」と、「オブジェクトＩＤ」と、「時間」とを有している。例えば、１行目のデータは、「ユーザＡ」が時刻「００１」に「オブジェクトα」にアクセスしたことを示している。履歴データ３１の構造は、図２に示したものに限定されるものではなく、例えば各ユーザが操作した行動の種類（アクセス、購買、閲覧、ダウンロード）の項目を有することとしてもよい。
【００３０】
時間重み情報３２、直接関係情報３３、相対関係情報３４、および、重みデータ３５は、時間重み情報抽出手段５２１、直接関係情報算出手段５２３、相対関係情報算出手段６２４、および、重み算出手段６２３のそれぞれの処理結果を示している。
【００３１】
制御手段４０は、例えば、ＣＰＵ（Central Processing Unit）およびＲＡＭ（Random Access Memory）から構成される主制御装置であって、大別して履歴データ処理手段５０と、スコアリング処理手段６０とを備えている。
【００３２】
（履歴データ処理手段）
履歴データ処理手段５０は、データ管理手段５１と、直接関係情報作成手段（関係情報作成手段）５２とを備える。
データ管理手段５１は、入力手段１０から入力されるデータや直接関係情報作成手段５２の演算結果を記憶手段３０に書き込んだり、記憶手段３０から必要な情報を読み出して直接関係情報作成手段５２に出力したりするものである。このデータ管理手段５１は、入力手段１０から入力される履歴データ（全ユーザの履歴データ）を記憶手段３０に格納する。
【００３３】
＜直接関係情報作成手段＞
直接関係情報作成手段５２は、全履歴データから第１処理対象と第２処理対象とのアクセス時間に関する重みに基づいて第１処理対象間のすべての直接関係を示す直接関係情報を作成するものであり、図１に示すように、時間重み情報抽出手段５２１と、選択確率算出手段５２２と、直接関係情報算出手段５２３とを備える。
【００３４】
ここで、履歴データ処理手段５０の処理概要について図３を参照して説明する。図３は、データ間の直接関係の一例を示す説明図である。履歴データ処理手段５０は、図２に示すような履歴データ３１からオブジェクトを介したユーザ間の関係（直接関係情報）を算出する。この例では、図２と同様に３人のユーザ（ユーザＡ、ユーザＢ、ユーザＣ）を仮定する。また、第１処理対象をユーザ、第２処理対象をオブジェクトとする。
【００３５】
また、図３（ａ）に示すような個々の関係を仮定する。すなわち、ユーザＡとユーザＢとで共通してアクセスしたオブジェクトが合計５０個あり、そのうち、ユーザＡがユーザＢより先にアクセスしたオブジェクトが１０個あり、かつ、ユーザＢがユーザＡより先にアクセスしたオブジェクトが４０個あるものとする。なお、各オブジェクトの重みを「１」としている。
【００３６】
同様に、ユーザＢとユーザＣとで共通してアクセスしたオブジェクトが合計３５個あり、そのうち、ユーザＢがユーザＣより先にアクセスしたオブジェクトが３０個あり、かつ、ユーザＣがユーザＢより先にアクセスしたオブジェクトが５個あるものとする。また、ユーザＣとユーザＡとで共通してアクセスしたオブジェクトが合計７０個あり、そのうち、ユーザＣがユーザＡより先にアクセスしたオブジェクトが２０個あり、かつ、ユーザＡがユーザＣより先にアクセスしたオブジェクトが５０個あるものとする。
【００３７】
図３（ａ）に示した個々の定量的な関係を１つの表にまとめたものを、図３（ｂ）に示す。図３（ｂ）の表において、１行目に記載した各ユーザは、１列目に記載した各ユーザと共通したオブジェクトについて早くアクセスしたユーザを示している。なお、履歴データ処理手段５０は、図２に示すような履歴データ３１からユーザを介したオブジェクト間の関係（直接関係情報）を算出することができる。このオブジェクト間の関係は、第１処理対象と第２処理対象とを入れ替えれば、ユーザ間の関係を求めた方法と同様にして求めることができるので説明を省略する。
【００３８】
図１に戻って、直接関係情報作成手段５２の詳細を説明する。
≪時間重み情報抽出手段≫
時間重み情報抽出手段５２１は、全履歴データから第２処理対象を固定したときの所定の２つの第１処理対象間において、第２処理対象に関するアクセス時間に関する重みを示す時間重み情報を抽出するものである。本実施形態では、第１処理対象をユーザとしたときに、時間重み情報抽出手段５２１は、式（１）の演算を行う。すなわち、時間重み情報抽出手段５２１は、ユーザｕa（単にユーザａともいう）と、ユーザｕi（単にユーザｉともいう）との間で共通するオブジェクトｋ毎にオブジェクトのアクセス時間に関する重み（以下、時間重み情報という）oak、oikを比較し、比較結果に応じて式（１）に基づいて時間重み情報ｒai,kを求める。ここで、oakは、ユーザｕaがオブジェクトｋにアクセスした順位を示し、oikは、ユーザｕiがオブジェクトｋにアクセスした順位を示す。また、｜Ｕk｜は、オブジェクトｋにアクセスしたユーザ集合の要素数を示す。
【００３９】
【数１】
2008305055.tif 000003
【００４０】
ここで、便宜上、ユーザｕaがユーザｕiの履歴を選択するものとする。つまり、ユーザｕaを選択側のユーザ（単に選択側という）、ユーザｕiを被選択側のユーザ（単に被選択側という）とする。時間重み情報抽出手段５２１は、ユーザｕi（被選択側）毎に選択側の全ユーザに対して、この処理を行うと共に、ユーザｕa（選択側）毎に被選択側の全ユーザに対して、この処理を行う。
【００４１】
また、本実施形態では、第１処理対象をオブジェクトとしたときに、時間重み情報抽出手段５２１は、式（２）の演算を行う。すなわち、時間重み情報抽出手段５２１はオブジェクトｃa（単にオブジェクトａともいう）と、オブジェクトｃi（単にオブジェクトｉともいう）との間で共通するユーザｋ毎にユーザの時間重み情報oak、oikを比較し、比較結果に応じて式（２）に基づいて時間重み情報ｓai,kを求める。ここで、oakは、ユーザｋがオブジェクトｃaにアクセスした順位を示し、oikは、ユーザｋがオブジェクトｃiにアクセスした順位を示す。また、｜Ｃk｜は、ユーザｋにアクセスされたオブジェクト集合の要素数を示す。
【００４２】
【数２】
2008305055.tif 000004
【００４３】
ここで、便宜上、オブジェクトｃaにアクセスしたユーザが、オブジェクトｃiにアクセスしたユーザの履歴を選択するものとする。つまり、オブジェクトｃaを選択側のオブジェクト（単に選択側という）、オブジェクトｃiを被選択側のオブジェクト（単に被選択側という）とする。時間重み情報抽出手段５２１は、オブジェクトｃi（被選択側）毎に選択側の全オブジェクトに対して、この処理を行うと共に、オブジェクトｃa（選択側）毎に被選択側の全オブジェクトに対して、この処理を行う。
【００４４】
≪選択確率算出手段≫
選択確率算出手段５２２は、所定の２つの第１処理対象について時間重み情報抽出手段５２１で抽出された時間重み情報に、第２処理対象の所定の重みを乗じて第２処理対象についてとった和を、第２処理対象について正規化することで得られる選択確率を当該２つの第１処理対象間の直接関係として算出するものである。
【００４５】
本実施形態では、選択確率算出手段５２２は、後記する関係情報更新手段６３でユーザとオブジェクトとが切り替えられた第１処理対象について時間重み情報抽出手段５２１で抽出された時間重み情報に、関係情報更新手段６３でユーザとオブジェクトとが切り替えられる前に後記する重み算出手段６２３で算出された第１処理対象に対する重みを乗じることで、切り替えられる前の第１処理対象間の直接関係として選択確率を算出する。
また、本実施形態では、直接関係情報を各ユーザ（またはオブジェクト）が他ユーザ（または他オブジェクト）の履歴を選択する選択確率として定義する。
【００４６】
また、本実施形態では、第１処理対象をユーザとしたときに、選択確率算出手段５２２は、ユーザ毎の選択確率としてユーザｕa（選択側）がユーザｕi（被選択側）を選択する選択確率ｐ（ｕi｜ｕa）を、式（３）に基づいて算出する。なお、式（３）中の時間重み情報ｒai,kは前記した式（１）で示され、ｗkはオブジェクトｋの重みを示し、｜Ｃa,i｜は、オブジェクト集合の要素数を示す。本実施形態では、｜Ｃa,i｜は、例えば、ユーザｕaとユーザｕiとの間で共通しているオブジェクト数とする。なお、｜Ｃa,i｜＝１としてもよい。
【００４７】
【数３】
2008305055.tif 000005
【００４８】
式（３）の分子は、具体的には、ユーザｕaとユーザｕiとの間でオブジェクトの重みｗkと、求めた時間重み情報ｒai,kとの積をオブジェクトｋについて加算して、ユーザｕaとユーザｕiとの間で共通しているオブジェクト数｜Ｃa,i｜で割った値を示している。ここで、オブジェクトの重みｗkの初期値は「１」である。また、式（３）の分母の第１項は、ユーザｕa（選択側）に対する被選択側の全ユーザ（ユーザｕiを含む）に対して、式（３）の分子で示されるものと同じ処理を行って正規化した項を示している。なお、δは分母第１項の値が「０」のときに式（３）を定義するための微少値である。δのデフォルトは「０」である。また、式（３）の分母第１項の値が「０」のときには、後記する式（５）により、選択確率を「１／Ｎ」で定義することができる。
【００４９】
また、本実施形態では、第１処理対象をオブジェクトとしたときに、選択確率算出手段５２２は、オブジェクト毎の選択確率として、オブジェクトｃa（選択側）にアクセスしたユーザがオブジェクトｃi（被選択側）にアクセスしたユーザの履歴を選択する選択確率ｐ（ｃi｜ｃa）を、式（４）に基づいて算出する。なお、式（４）中の時間重み情報ｓai,kは前記した式（２）で示され、ｖkはユーザｋの重みを示し、｜Ｕa,i｜は、ユーザ集合の要素数を示す。本実施形態では、｜Ｕa,i｜は、例えば、オブジェクトｃaとオブジェクトｃiとの間で共通しているユーザ数とする。なお、｜Ｕa,i｜＝１としてもよい。
【００５０】
【数４】
2008305055.tif 000006
【００５１】
式（４）の分子は、具体的には、オブジェクトｃaとオブジェクトｃiとの間でユーザの重みｖkと、求めた時間重み情報ｓai,kとの積をユーザｋについて加算して、オブジェクトｃaとオブジェクトｃiとの間で共通しているユーザ数｜Ｕa,i｜で割った値を示している。ここで、ユーザの重みｖkの初期値は「１」である。また、式（４）の分母の第１項は、オブジェクトｃa（選択側）に対する被選択側の全オブジェクト（オブジェクトｃiを含む）に対して、式（４）の分子で示されるものと同じ処理を行って正規化した項を示している。なお、δは分母第１項の値が「０」のときに式（４）を定義するための微少値である。
【００５２】
≪直接関係情報算出手段≫
直接関係情報算出手段５２３は、選択確率算出手段５２２で算出された個々の選択確率を第１処理対象に亘って算出することで、直接関係情報を生成するものである。
具体的には、第１処理対象をユーザとしたときに、直接関係情報算出手段５２３は、選択側のユーザｕaを含む全ユーザに対して、選択確率算出手段５２２の演算を実行させることで、全ユーザ間の関係をユーザ毎の選択確率で構成した行列を生成する。これが全ユーザ間の直接関係情報となる。なお、後記するように、ユーザ間の直接関係情報を更新する計算を行う際には、スコアリング処理手段６０で算出されたオブジェクトの重みｗk（重みデータ３５）を、選択確率算出手段５２２の演算を実行させる際に用いる。
【００５３】
また、第１処理対象をオブジェクトとしたときに、直接関係情報算出手段５２３は、選択側のオブジェクトｃaを含む全オブジェクトに対して、選択確率算出手段５２２の演算を実行させることで、全オブジェクト間の関係をオブジェクト毎の選択確率で構成した行列を生成する。これが全オブジェクト間の直接関係情報となる。なお、後記するように、オブジェクト間の直接関係情報を更新する計算を行う際には、スコアリング処理手段６０で算出されたユーザの重みｖk（重みデータ３５）を、選択確率算出手段５２２の演算を実行させる際に用いる。
【００５４】
（スコアリング処理手段）
スコアリング処理手段６０は、図１に示すように、データ管理手段６１と、事前処理にそれぞれ用いられる相対関係情報作成手段（関係情報作成手段）６２および関係情報更新手段６３と、検索処理にそれぞれ用いられる相対関係抽出手段（関係抽出手段）６４と、スコア算出手段６５と、スコアリスト作成手段６６とを備える。
【００５５】
データ管理手段６１は、入力手段１０から入力されるデータや相対関係情報作成手段６２の演算結果を記憶手段３０に書き込んだり、記憶手段３０から必要な情報を読み出して相対関係情報作成手段６２に出力したりするものである。このデータ管理手段６１は、検索処理において入力手段１０から入力される検索値（履歴関係データ）を相対関係抽出手段６４に出力する。
【００５６】
＜相対関係情報作成手段＞
相対関係情報作成手段６２は、記憶手段３０に記憶された履歴データ３１（全履歴データ）と直接関係情報３３とを利用して、第１処理対象間の直接関係および間接関係を合わせた関係を示す相対関係情報を作成するものである。相対関係情報は、間接的な関係も含めた関係である点が、直接関係情報と大きく異なる。この相対関係情報を算出する仮定においてマルコフ連鎖のような仮定をおくことができる。この相対関係情報作成手段６２は、図１に示すように、直接遷移確率行列生成手段６２１と、正規化行列生成手段６２２と、重み算出手段６２３と、相対関係情報算出手段６２４とを備える。
【００５７】
≪直接遷移確率行列生成手段≫
直接遷移確率行列生成手段６２１は、第１処理対象間の直接関係を数値化した確率値の所定の第１処理対象ごとの和が所定のしきい値より大きいか否かを判別し、その和がしきい値より大きい場合に当該確率値を要素とすると共に、その和がしきい値以下の場合に全第１処理対象数で正規化した確率値を要素とする正方行列を、全第１処理対象間の直接遷移確率を示す直接遷移確率行列として生成するものである。
【００５８】
ここでは、まず、第１処理対象をユーザとして説明する。なお、本実施形態では、直接関係情報を各ユーザから他ユーザの選択確率として定義する。以下では、ユーザ毎の直接関係から求められた前記した式（３）で示した選択確率として、例えば、ユーザｊ（ｊ＝１〜Ｎ）がユーザｉ（ｉ＝１〜Ｎ，ｉ≠ｊ）の履歴を選択する確率ｐ（ｕi｜ｕj）のことを、説明の都合上、簡略化してＰijと表記する。なお、ｊは選択側、ｉは被選択側を示す。この直接関係から求められた選択確率は、直接関係情報３３であって、スコアリングには用いられないものである。本実施形態では、直接遷移確率行列生成手段６２１は、式（５）で示される演算を実行する。
【００５９】
【数５】
2008305055.tif 000007
【００６０】
式（５）に示すように、直接遷移確率行列生成手段６２１は、ユーザｉとユーザｊとの間で、Ｐij（選択確率ｐ（ｕi｜ｕj））のｊ（選択側）についての和が所定のしきい値（例えば、０）より大きいか否かを判定する。そして、直接遷移確率行列生成手段６２１は、所定のしきい値（例えば、０）より大きい場合には、Ｐijをその要素に持ち、所定のしきい値以下の場合（具体的には「０」である場合）、１／Ｎ（Ｎは全ユーザの数）を割り当てられた要素として持つ行列を生成する。この式（５）の左辺で示す行列が直接遷移確率行列を示す。
【００６１】
≪正規化行列生成手段≫
正規化行列生成手段６２２は、直接遷移確率行列生成手段６２１で生成された直接遷移確率行列と、全第１処理対象数（ここでは、全ユーザの数Ｎ）で正規化した確率値を要素とする正方行列とを凸結合により正規化した正規化行列を生成するものである。
本実施形態では、正規化行列生成手段６２２は、式（６）で示される演算を実行する。ここで、ｅは、全要素が「１」のＮ行１列の列ベクトルを示し、Ｔは転置を示す。すなわち、ｅｅTは全要素が「１」のＮ行Ｎ列の正方行列となる。また、パラメタαは、０から１の間で任意に決定された値を有する。この式（６）の左辺で示す行列が、正規化行列生成手段６２２で生成された正方行列を示す。
【００６２】
【数６】
2008305055.tif 000008
【００６３】
≪重み算出手段≫
重み算出手段６２３は、正規化行列生成手段６２２で生成された正規化行列の最大固有値に対応する固有ベクトルのうち、それぞれの第１処理対象に対応する値を、それぞれの第１処理対象に対する重みとして算出するものである。ここでは、第１処理対象をユーザとしたので、重み算出手段６２３は、この正規化行列の最大固有値に対応する固有ベクトルのうち、ユーザｋに対応する値をユーザの重みｖkとする。この値は、データ管理手段６１によって記憶手段３０に重みデータ３５として格納される。なお、このユーザの重みｖkを重みデータ３５として格納することなく履歴データ処理手段５０に入力するようにしてもよい。
【００６４】
≪相対関係情報算出手段≫
相対関係情報算出手段６２４は、正規化行列生成手段６２２で生成された正規化行列を予め定められた第１処理対象間媒介変数を指数としてべき乗した結果についての第１処理対象間媒介変数に関する和を、相対関係情報として算出するものである。
本実施形態では、相対関係情報算出手段６２４は、式（７）で示される演算を実行する。ここで、ｎは、第１処理対象間媒介変数を示す。
【００６５】
【数７】
2008305055.tif 000009
【００６６】
式（７）に示すように、正規化行列生成手段６２２で生成された正規化行列を、ｎを指数としてべき乗した行列の和を相対関係情報として定義する。この相対関係情報は、対角成分が０のＮ×Ｎの正方行列となる。この対角成分を除く各要素を、ユーザ毎の相対関係から求められた選択確率として、ユーザｊがユーザｉの履歴を選択する確率ｐ（ｕi｜ｕj）として定義する。したがって、この選択確率は、検索処理においてスコアリングに用いられるものである。なお、相対関係情報は、正規化行列を、ｎを指数としてべき乗した行列の和そのもので定義することなく、それと比例関係にある数値を相対関係情報として定義することができることはもちろんである。
【００６７】
式（７）は、定性的には以下のことを示している。すなわち、式（６）で定義された正規化行列が、オブジェクトを介した２つのユーザ間の関係しか考慮していないことに対して、式（７）に示す相対関係情報は、ユーザ間の関係を、バーチャルネットワークにおいて（ｎ−１）人のユーザを介したときのユーザ間の関係を定義していることに相当する。ここで、ｎは、式（７）に示す第１処理対象間媒介変数である。
【００６８】
前記した説明では、この相対関係情報作成手段６２において、第１処理対象がユーザであるものとして説明したが、第１処理対象がオブジェクトであっても同様である。したがって、第１処理対象がオブジェクトである場合の相対関係情報作成手段６２の機能については、詳細な説明を省略する。なお、オブジェクトｊ（ｊ＝１〜Ｎ）にアクセスしたユーザが、オブジェクトｉ（ｉ＝１〜Ｎ，ｉ≠ｊ）にアクセスしたユーザを選択する確率ｐ（ｃi｜ｃj）を計算する過程においては、直接関係情報３３および相対関係情報３４の更新の際に、オブジェクトｋの重みｗkが算出されることとなる。
【００６９】
＜関係情報更新手段＞
関係情報更新手段６３は、所定の終了条件が成立するまで、直接関係情報３３と相対関係情報３４との一連の作成において、第１処理対象としてユーザとオブジェクトとを交互に切り替えて、直接関係情報３３および相対関係情報３４を更新するものである。ここで、終了条件は、例えば、更新回数や経過時間が予め定められた上限値に達したときに成立する。なお、直接関係情報３３および相対関係情報３４の更新前後の変化率が予め定められた下限値に達したときに成立するようにしてもよい。
【００７０】
＜相対関係抽出手段＞
相対関係抽出手段６４は、相対関係情報３４から、入力された履歴関係情報で特定される第１処理対象と、当該第１処理対象を除く他の第１処理対象との間のそれぞれの相対関係を抽出するものである。本実施形態では、相対関係抽出手段６４は、相対関係として選択確率を抽出する。また、相対関係抽出手段６４は、第１処理対象がユーザである場合に、入力された履歴関係情報で特定されるユーザに対して重み算出手段６２３で算出されたユーザの重みｖkを、入力された履歴関係情報で特定されるユーザと他のユーザとの関係として抽出する。
【００７１】
＜スコア算出手段＞
スコア算出手段６５は、入力された履歴関係情報で特定される第１処理対象を除くそれぞれの他の第１処理対象の履歴データに含まれる第２処理対象に対して、相対関係抽出手段６４でそれぞれ抽出された相対関係（関係）を数値化したスコアを算出するものである。本実施形態では、スコア算出手段６５は、抽出されたそれぞれの選択確率（０〜１の値）の最大値を「１００」点とした場合に、それぞれのスコアを抽出する。
また、スコア算出手段６５は、第１処理対象がユーザである場合に、相対関係抽出手段６４で抽出されたユーザの重みｖkが所定の基準値より大きいか否かを判別し、ユーザの重みｖkが基準値より小さい場合に相対関係情報３４に基づいて該当するそれぞれのオブジェクトに対してスコアを算出し、ユーザの重みｖkが基準値以上である場合に、未アクセスであるオブジェクトに対してスコアを算出する。なお、未アクセスであるオブジェクトは、履歴データ３１の中で未アクセスであるオブジェクトに限らず、この検索処理装置１に対して別にそのデータを入力した新規のオブジェクトであってもよい。
【００７２】
＜スコアリスト作成手段＞
スコアリスト作成手段６６は、スコア算出手段６５によってスコアが算出された第２処理対象を、スコアで順位付けしたリストであるスコアリストを作成するものである。
【００７３】
ここで、相対関係抽出手段６４、スコア算出手段６５およびスコアリスト作成手段６６を用いた検索処理の具体例について図４を参照して説明する。図４は、データ間の相対関係の一例を示す説明図である。
【００７４】
相対関係抽出手段６４は、検索処理において、例えば、ユーザＩＤが入力されると、予め算出された相対関係情報３４を用いて、入力されたユーザＩＤで示される該当ユーザと個々の他ユーザ（ここで、他ユーザとは、該当ユーザ以外のユーザを指す）との関係を抽出する。なお、このとき、重み算出手段６２３は、全他ユーザの履歴データ（つまり、相対関係情報３４）を用いて、該当ユーザを含む全ユーザの重みｖkを算出する。この重みｖkは、関係情報更新手段６３で行う直接関係情報３３および相対関係情報３４の更新によって変化するので、結果として、この重み（重みデータ３５）を用いて他ユーザの履歴データに含まれるオブジェクトをランキングすることができる。
【００７５】
相対関係抽出手段６４は、相対関係情報３４を参照して、他ユーザのスコアリングのための選択確率を取得する。なお、図４では、選択確率を簡略化して表記している。
この例では、図４に示すように、ユーザＤに対するユーザＡの選択確率Ｐ（Ａ｜Ｄ）は、「0.3」である。また、ユーザＤに対するユーザＢの選択確率Ｐ（Ｂ｜Ｄ）は、「0.328」である。また、ユーザＤに対するユーザＣの選択確率Ｐ（Ｃ｜Ｄ）は、「0.346」である。オブジェクトαは、ユーザＡの履歴に含まれており、オブジェクトβは、ユーザＢの履歴に含まれており、オブジェクトγは、ユーザＣの履歴に含まれている。そして、オブジェクトα、β、γは、ユーザＤに対する各ユーザ間の相対関係情報３４によってスコアリングされる。
【００７６】
この例では、ユーザＤに対する各ユーザ間の選択確率の最大値は、「0.346」であり、この値は、ユーザＤに対するユーザＣの選択確率を示すものである。
ここでは、説明の都合上、一例として、オブジェクトαは、ユーザＡの履歴にのみ含まれ、オブジェクトβは、ユーザＢの履歴にのみ含まれ、オブジェクトγは、ユーザＣの履歴にのみ含まれていることとする。ユーザＣの履歴に含まれているオブジェクトは、「オブジェクトγ」である。したがって、スコア算出手段６５は、「オブジェクトγ」に最大のスコアを付与する。
このスコア算出手段６５は、各ユーザがオブジェクトにアクセスしたか否か（あるいは購入したか否かなど）を示す情報と、各ユーザ間の選択確率との積によって、スコアを算出する。ここで、アクセスしたか否かを示す情報としては、例えば、アクセスした場合に「１」、そうでない場合に「０」を割り当てることができる。この場合、例えば、オブジェクトγのスコアを「１００」とすると、「α：β:γ＝0.3×１：0.328×１：0.346×１」の関係からスコアを比例配分させることで、オブジェクトαのスコアは「８７」となり、オブジェクトβのスコアは「９５」となる。
なお、他の例として、例えば、オブジェクトγが、ユーザＡ、ユーザＢのそれぞれの履歴にも含まれている場合には、オブジェクトγのスコアは、オブジェクトγのスコアを「１００」とすると、「α：β:γ＝0.3×１：0.328×１：0.346×１＋0.328×１+0.3×１」の関係からスコアを比例配分させることで、オブジェクトαのスコアは「３１」となり、オブジェクトβのスコアは「３４」となる。
【００７７】
スコアリスト作成手段６６は、該当ユーザ（この例の場合にはユーザＤ）に対してランキングされたスコアリスト（オブジェクトに関するランキングリスト）を作成して出力手段２０を介して出力装置Ｄに出力する。これにより、検索処理において、あるユーザの検索要求があった際に、その検索結果をパーソナライズすることができる。ユーザＤに対するスコアリストの一例を図５に示す。スコアリスト５００は、図５に示すように、最大スコア「１００」のオブジェクトγを筆頭に、スコアの高い順に、オブジェクトを配列している。ここでは、オブジェクトαは、ユーザＡの履歴にのみ含まれ、オブジェクトβは、ユーザＢの履歴にのみ含まれ、オブジェクトγは、ユーザＣの履歴にのみ含まれていることとした。
【００７８】
なお、スコアリストにおいて、該当ユーザが既にアクセスしたオブジェクトが含まれてしまう場合にはこれを除いて出力するようにすることもできる。また、同様の処理によって、スコアリスト作成手段６６は、該当オブジェクトに対してランキングされたスコアリスト（ユーザに関するランキングリスト）を出力することが可能である。このスコアリストにおいて、該当オブジェクトに既にアクセスしたユーザが含まれてしまう場合にはこれを除いて出力するようにしてもよい。また、入力にクエリが含まれていた場合、相対関係抽出手段６４は、クエリに該当するものだけを抽出する。
【００７９】
[検索処理装置の動作]
図１に示した検索処理装置１の動作について図６ないし図９を参照（適宜図１参照）して説明する。図６は、検索処理装置の事前動作を示すフローチャートであり、図７は、図６に示した直接関係情報作成処理を示すフローチャートであり、図８は、図６に示した相対関係情報作成処理を示すフローチャートである。また、図９は、検索処理装置の検索処理を示すフローチャートである。
【００８０】
＜事前動作＞
図６に示すように、操作者の操作に基づいて、検索処理装置１は、入力手段１０によって、対象とする全ユーザの履歴データを入力する（ステップＳ１）。そして、検索処理装置１は、直接関係情報作成手段５２によって、直接関係情報作成処理を実行する（ステップＳ２：直接関係情報作成ステップ）。例えば、第１処理対象をオブジェクトとする場合に、オブジェクトを介したユーザ間の直接関係情報を作成する。続いて、検索処理装置１は、相対関係情報作成手段６２によって、相対関係情報作成処理を実行する（ステップＳ３：相対関係情報作成ステップ）。例えば、第１処理対象をオブジェクトとする場合に、オブジェクトを介してユーザ間の相対関係情報を作成する。
【００８１】
そして、検索処理装置１は、関係情報更新手段６３によって、終了条件が成立したか否かを判別する（ステップＳ４：関係情報更新ステップ）。終了条件が成立していない場合（ステップＳ４：Ｎｏ）、検索処理装置１は、関係情報更新手段６３によって、第１処理対象においてユーザとオブジェクトとを切り替え（ステップＳ５：関係情報更新ステップ）、ステップＳ２に戻る。これにより、例えば、前回の第１処理対象がオブジェクトであった場合には第１処理対象をユーザに変更して、ステップＳ２に戻ったときに、検索処理装置１は、直接関係情報作成手段５２によって、例えば、第１処理対象をユーザに変更して、ユーザを介したオブジェクト間の直接関係情報を作成する。続いて、ステップＳ３に進んだときに、同様に、検索処理装置１は、相対関係情報作成手段６２によって、例えば、第１処理対象をユーザに変更して、ユーザを介したオブジェクト間の相対関係情報を作成する。そして、ステップＳ４において、再び終了条件が成立していない場合には、検索処理装置１は、ステップＳ５において、前回の第１処理対象がユーザであったので第１処理対象をオブジェクトに切り替えてステップＳ２に戻る。以下同様に、検索処理装置１は、終了条件が成立するまで、ステップＳ５において、第１処理対象についてユーザとオブジェクトとを交互に切り替える。一方、終了条件が成立した場合（ステップＳ４：Ｙｅｓ）、検索処理装置１は、事前処理を終了する。そして、事前処理により所定回数だけ更新された相対関係情報３４が、第１処理対象に対してお薦めの第２処理対象の検索に利用されることとなる。
【００８２】
≪直接関係情報作成処理≫
図７に示すように、直接関係情報作成処理において、検索処理装置１は、時間重み情報抽出手段５２１によって、前記した式（１）または式（２）に基づいて、時間重み情報を抽出する（ステップＳ２１：時間重み情報抽出ステップ）。そして、検索処理装置１は、選択確率算出手段５２２によって、前記した式（３）または式（４）に基づいて、選択確率を算出する（ステップＳ２２：選択確率算出ステップ）。そして、検索処理装置１は、直接関係情報算出手段５２３によって、前記した式（３）または式（４）に示す演算を全第１処理対象に亘って行うことで直接関係情報を算出する（ステップＳ２３：直接関係情報生成ステップ）。この算出された直接関係情報は記憶手段３０に格納される。
【００８３】
≪相対関係情報作成処理≫
図８に示すように、相対関係情報作成処理において、検索処理装置１は、直接遷移確率行列生成手段６２１によって、前記した式（５）に基づいて、直接遷移確率行列を生成する（ステップＳ３１：直接遷移確率行列生成ステップ）。そして、検索処理装置１は、正規化行列生成手段６２２によって、前記した式（６）に基づいて、正規化行列を生成する（ステップＳ３２：正規化行列生成ステップ）。そして、検索処理装置１は、重み算出手段６２３によって、ステップＳ３２で生成した正規化行列から重みを算出する（ステップＳ３３：重み算出ステップ）。この算出された重みは記憶手段３０に格納される。そして、検索処理装置１は、相対関係情報算出手段６２４によって、ステップＳ３２で生成した正規化行列から前記した式（７）に基づいて、相対関係情報を算出する（ステップＳ３４：相対関係情報算出ステップ）。この算出された相対関係情報は記憶手段３０に格納される。
【００８４】
図９は、検索処理装置の検索処理を示すフローチャートである。操作者の操作に基づいて、検索処理装置１は、入力手段１０によって、履歴関係情報を入力する（ステップＳ５１：入力ステップ）。すなわち、検索処理装置１は、データ管理手段６１によって、履歴関係情報を相対関係抽出手段６４に入力する。そして、検索処理装置１は、相対関係抽出手段６４によって、記憶手段３０に記憶された相対関係情報３４から履歴関係情報に対応した相対関係を抽出する（ステップＳ５２：関係抽出ステップ）。そして、検索処理装置１は、スコア算出手段６５によって、スコアを算出し（ステップＳ５３：スコア算出ステップ）、スコアリスト作成手段６６によって、スコアリストを作成する（ステップＳ５４：スコアリスト作成ステップ）。そして、検索処理装置１は、出力手段２０によって、スコアリストを出力する（ステップＳ５５：出力ステップ）。すなわち、検索処理装置１は、データ管理手段６１によって、スコアリストを出力装置Ｄに出力手段２０を介して出力する。これにより、出力装置Ｄは、スコアリストを表示する。
【００８５】
なお、検索処理装置１は、一般的なコンピュータに、前記した各ステップを実行させる検索処理プログラムを実行することで実現することもできる。このプログラムは、通信回線を介して配布することも可能であるし、ＣＤ−ＲＯＭやフラッシュメモリ等のコンピュータ読み取り可能な記録媒体に書き込んで配布することも可能である。
【００８６】
＜検索処理の適用例１：オブジェクトを検索するＷｅｂ検索サービス＞
この適用例１において、第１に、検索処理装置１は、ユーザからの入力として、クエリおよび該当ユーザのＩＤを受け付けるものとする。
ここで、該当ユーザのＩＤが記憶手段３０にある場合には、検索処理装置１は、該当ユーザに対して、クエリに該当するオブジェクトのスコアリング結果を出力する。一方、該当ユーザのＩＤが記憶手段３０に無い場合には、検索処理装置１は、オブジェクトの重みｗkを用いてスコアリングした結果を出力することとする。
【００８７】
この適用例１において、第２に、検索処理装置１は、ユーザからの入力として、該当ユーザのＩＤのみを受け付けるものとする。
この場合には、検索処理装置１は、入力されたユーザＩＤをキーとして相対関係が高い（相対関係情報における選択確率値の高い）ユーザを発見し、そのユーザの履歴を用いてオブジェクトのスコアリングを行い、スコアリング結果を出力する。なお、受け付けた該当ユーザのＩＤが記憶手段３０に無い場合には、オブジェクトの重みｗkを用いてスコアリングした結果を出力する。
【００８８】
この適用例１は、Ｗｅｂ検索サービスのみならずＥＣサイトの商品検索や情報フィルタリングにおいても適用可能である。
また、検索処理装置１は、ユーザからの入力として、オブジェクトＩＤを受け付けることも可能である。受け付けた該当オブジェクトＩＤが記憶手段３０にある場合には、検索処理装置１は、該当オブジェクトによってスコアリングされたオブジェクトのリストを出力する。
さらに、検索処理装置１は、ユーザからの入力として、クエリおよびオブジェクトＩＤを受け付けることも可能である。受け付けた該当オブジェクトＩＤが記憶手段３０にある場合には、該当オブジェクトによってスコアリングされたオブジェクトのリストはクエリに該当し、かつ、該当オブジェクト毎にスコアリングされたオブジェクトのリストとなる。
【００８９】
＜検索処理の適用例２：ユーザを検索するＷｅｂ検索サービス＞
この適用例２において、第１に、検索処理装置１は、ユーザからの入力として、該当ユーザのＩＤを受け付けるものとする。ここで、該当ユーザのＩＤが記憶手段３０にある場合には、検索処理装置１は、ユーザ毎にスコアリングされたユーザのリストを出力する。一方、該当ユーザのＩＤが記憶手段３０に無い場合、ユーザの重みｖkを用いてスコアリングした結果を出力する。この適用例２は、広告配信やマーケティングにおいても適用可能である。
【００９０】
本実施形態によれば、ユーザのニーズをニーズそのものではなく、同じニーズに対するユーザ間の関係として、オブジェクトに対する時系列的なアクセスの順序の差で定義すると共に、ユーザのアクセス履歴を用いてユーザの行動とその時点のオブジェクトの時間および時系列の変化を利用したので、パーソナライゼーションに必要なユーザまたはオブジェクトを容易に検索することができる。また、ユーザ間にバーチャルネットワークの存在を仮定した場合でもパーソナライズすることができる。また、検索においてユーザの履歴データを用いているので、ニーズを、クエリだけではなく、過去のユーザの行動および類似した行動を取るユーザから類推できる。さらに、ユーザ間の行動およびオブジェクト間の時間および時系列の変化を利用しているので、各ユーザの行動パターンを、各ユーザの時系列な順序関係から予測することができる。
【００９１】
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、その趣旨を変えない範囲で実施することができる。例えば、検索処理装置１は、検索サービス（検索エンジンやＥＣサイト）のシステムに内包されるものとして説明したが、これに限定されるものではなく、検索サービス上で実行されるサービスをパーソナライズするために、その検索サービスのシステムとは独立したシステムとしても実装可能である。この場合には、複数の検索サービスに対してパーソナライズを実現することが可能である。また、この場合に、入力手段１０は、他の検索エンジンの検索出力結果やＥＣサイトの検索出力結果と、ユーザＩＤとを受け付けることができる。また、スコアリストを出力手段２０を介して出力装置Ｄに出力するものとしたが、スコアリストを、独立した検索サービスに対して返すことも可能である。
【００９２】
また、本実施形態では、前記した式（３）または式（４）において重みの初期値を「１」として、スコアリング処理手段６０の算出する重みを用いることとしたが、これに限定されるものではない。例えば、重みの初期値「１」を変化させること無くこのまま利用してもよい。また、式（８）で定義する減衰関数によって、重みを時系列的に変化させてもよい。ここで、Ｔkは予め定められた時刻、ｔkは経過時間をそれぞれ示す。
【００９３】
【数８】
2008305055.tif 000010
【００９４】
また、本実施形態では、前記した式（１）または式（２）において、アクセス順位を比較するものとしたが、図３を参照して説明したように単なる順序で比較するようにしてもよい。
【００９５】
また、本実施形態では、履歴データ処理手段５０は、計算処理結果（直接関係情報）を記憶手段３０に格納することとしたが、そのままスコアリング処理手段６０に渡すようにしてもよい。言い換えると、スコアリング処理手段６０は、記憶手段３０から読み出した直接関係情報３３を用いる代わりに、履歴データ処理手段５０から入力された直接関係情報を用いて相対関係情報および重みを算出するようにしてもよい。
【００９６】
また、本実施形態では、前記した式（３）または式（４）において重みを計算に用いるベストモードで説明したが、式（３）または式（４）において重みは必須ではない。重みを用いない場合には、処理を簡略化することができる。
また、本実施形態では、直接関係情報作成処理（Ｓ２）と相対関係情報作成処理（Ｓ３）とを繰り返すベストモードで説明したが、繰り返すことは必須ではない。また、本実施形態では、直接関係情報作成処理（Ｓ２）に続いて相対関係情報作成処理（Ｓ３）を実行するものとして説明したが、相対関係情報作成処理（Ｓ３）をスキップしてもよい。これらの簡易な処理によって、計算コストを低減できる。
【００９７】
また、検索処理装置１を構成する装置は、１台に限定されることはなく、複数の装置に機能を分散配置してもよい。例えば、制御手段４０の履歴データ処理手段５０とスコアリング処理手段６０とを、別々の装置として構成してもよい。これにより、各装置への負荷が分散され、高速な処理が実現可能となる。
【図面の簡単な説明】
【００９８】
【図１】本発明の実施形態に係る検索処理装置の構成を示すブロック図である。
【図２】履歴データの構造の一例を示す図である。
【図３】データ間の直接関係の一例を示す説明図である。
【図４】データ間の相対関係の一例を示す説明図である。
【図５】スコアリストの一例を示す図である。
【図６】検索処理装置の事前動作を示すフローチャートである。
【図７】直接関係情報作成処理を示すフローチャートである。
【図８】相対関係情報作成処理を示すフローチャートである。
【図９】検索処理装置の検索処理を示すフローチャートである。
【符号の説明】
【００９９】
１      検索処理装置
１０    入力手段
２０    出力手段
３０    記憶手段
３１    履歴データ
３２    時間重み情報
３３    直接関係情報（関係情報）
３４    相対関係情報（関係情報）
３５    重みデータ
４０    制御手段
５０    履歴データ処理手段
５１    データ管理手段
５２    直接関係情報作成手段（関係情報作成手段）
５２１  時間重み情報抽出手段
５２２  選択確率算出手段
５２３  直接関係情報算出手段
６０    スコアリング処理手段
６１    データ管理手段
６２    相対関係情報作成手段（関係情報作成手段）
６２１  直接遷移確率行列生成手段
６２２  正規化行列生成手段
６２３  重み算出手段
６２４  相対関係情報算出手段
６３    関係情報更新手段
６４    相対関係抽出手段（関係抽出手段）
６５    スコア算出手段
６６    スコアリスト作成手段
Ｍ      入力装置
Ｄ      出力装置
【図１】
2008305055.tif 000011
【図２】
2008305055.tif 000012
【図３】
2008305055.tif 000013
【図４】
2008305055.tif 000014
【図５】
2008305055.tif 000015
【図６】
2008305055.tif 000016
【図７】
2008305055.tif 000017
【図８】
2008305055.tif 000018
【図９】
2008305055.tif 000019