JP2008305055A - 検索処理装置、検索処理方法、検索処理プログラムおよびそのプログラムを記録した記録媒体 - Google Patents

検索処理装置、検索処理方法、検索処理プログラムおよびそのプログラムを記録した記録媒体 Download PDF

Info

Publication number
JP2008305055A
JP2008305055A JP2007150137A JP2007150137A JP2008305055A JP 2008305055 A JP2008305055 A JP 2008305055A JP 2007150137 A JP2007150137 A JP 2007150137A JP 2007150137 A JP2007150137 A JP 2007150137A JP 2008305055 A JP2008305055 A JP 2008305055A
Authority
JP
Japan
Prior art keywords
user
processing
information
processing target
relationship information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007150137A
Other languages
English (en)
Inventor
Noriaki Kawamae
徳章 川前
Takeshi Yamada
武士 山田
Shuko Ueda
修功 上田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2007150137A priority Critical patent/JP2008305055A/ja
Publication of JP2008305055A publication Critical patent/JP2008305055A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】ユーザのアクセス履歴を用いてパーソナライゼーションに必要なユーザまたはオブジェクトを容易に検索できる検索処理技術を提供する。
【解決手段】検索処理方法は、履歴データ31からユーザのオブジェクトに対するアクセス時間に関する重みに基づいてユーザ間の直接関係情報33を作成し、履歴データ31と直接関係情報33とを利用して、ユーザ間の直接関係および間接関係を合わせた関係を示す相対関係情報34を作成し、直接関係情報33および相対関係情報34を連動させて更新する処理を事前に行い、ユーザIDが入力されたときに、相対関係情報34から、入力されたユーザIDで特定されるユーザと他ユーザとの間の相対関係を抽出し、他ユーザの履歴データに含まれるオブジェクトに、相対関係を数値化したスコアを付与し、このスコアで順位付けしたオブジェクトリストを作成し検索結果として出力する。
【選択図】図1

Description

本発明は、検索処理技術に係り、特に、ユーザがデジタル化されたオブジェクトにアクセスした履歴を利用して、ユーザに対して最適候補のオブジェクトを検索したり、オブジェクトに対して最適候補のユーザを検索したりする検索処理技術に関する。
従来、インターネット上のオンラインストアなどで、ユーザ(閲覧者)個々人を特定または識別し、その属性や行動に合わせて、ユーザに提供するサービスやコンテンツを変える仕組み、いわゆる、パーソナライゼーションが利用されている。また、従来、パーソナライゼーションにおいて、あるユーザと他のユーザとの関係(ユーザ間の関係)を、各ユーザからの影響の受け易さという観点で定義する技術(例えば非特許文献1参照)や、各ユーザの履歴の類似性の観点で定義する技術が知られている。
このうち非特許文献1に記載された技術は、ユーザの履歴を用いてユーザ間の情報伝播のモデル化を行ったものである。この技術では、数万人規模のユーザによるデジタル化されたオブジェクト(例えば、アイテム)に対する操作情報(例えば、ログイン、閲覧、ダウンロードなど)を利用してユーザの行動をシミュレートしている。この技術によれば、ユーザ毎に、影響を受けやすいユーザを、確率として定義することが可能である。
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
しかしながら、非特許文献1に記載された方法は、他のユーザに影響を及ぼすユーザから、影響を受けるユーザへ情報が遷移するモデルで確率を定義しているので、履歴に基づくパーソナライゼーション、すなわち、影響を受ける側のユーザから、影響を及ぼす側の他のユーザの履歴を選択するモデルへ適用するためには、まず、非特許文献1に記載された遷移確率の定義を逆に変更しなくてはならない。
その上で、従来技術では、ユーザ間の関係を、各ユーザの履歴の類似性、あるいは、各ユーザからの影響の受け易さという観点で定義しているので、パーソナライズにとって必要なオブジェクトの価値(重み)を考慮してユーザおよびその履歴を発見することが困難であるという問題がある。
また、ユーザ間にバーチャルネットワークの存在を仮定すると、従来のように、1対1のユーザ間の関係の定義だけでは、パーソナライゼーションに限界がある。そこで、ユーザ間の関係の定義を変更することが考えられる。
さらに、ユーザのアクセス履歴を用いてパーソナライズするために以下の要求を満たす技術が要望されている。
(1)ユーザが自身のニーズをクエリ以外のものを用いても検索できること。
(2)同じようなニーズを持つ複数のユーザでも、時系列的に見るとその行動パターンはそれぞれ違っていることを反映した技術であること。
(3)個々のユーザのニーズが時系列的に変化することを前提とした技術であること。
(4)ユーザ間の関係(またはオブジェクト間の関係)は、直接的なものだけでなく間接的なものも考慮した技術であること。
そこで、本発明は、以上のような問題点に鑑みてなされたものであり、ユーザのアクセス履歴を用いてパーソナライゼーションに必要なユーザまたはオブジェクトを容易に検索できる検索処理技術を提供することを目的とする。
前記課題を解決するために、本発明に係る検索処理方法は、対象とする複数のユーザが対象とする1以上のデジタル化されたオブジェクトにアクセスした履歴を示すユーザごとの全履歴データを利用して、前記ユーザと前記オブジェクトのうちの一方をリコメンドに関する第1処理対象としたときに他方を第2処理対象として前記第1処理対象に対して最適候補の第2処理対象を検索する検索処理方法であって、関係情報作成手段によって、前記全履歴データから前記第1処理対象と前記第2処理対象とのアクセス時間に関する重みに基づいて前記第1処理対象間のすべての直接関係を示す関係情報を作成する関係情報作成ステップと、データ管理手段によって、第1処理対象を特定するユーザの履歴に関する履歴関係情報を入力する入力ステップと、関係抽出手段によって、前記作成された関係情報から、前記入力された履歴関係情報で特定される第1処理対象と、当該第1処理対象を除く他の第1処理対象との間のそれぞれの関係を抽出する関係抽出ステップと、スコア算出手段によって、前記それぞれの他の第1処理対象の履歴データに含まれる第2処理対象に対して、前記それぞれ抽出された関係を数値化したスコアを算出するスコア算出ステップと、スコアリスト作成手段によって、前記スコアが算出された第2処理対象を前記スコアで順位付けしたリストであるスコアリストを作成するスコアリスト作成ステップと、データ管理手段によって、前記作成されたスコアリストを出力する出力ステップとを含むことを特徴とする。
また、前記課題を解決するために、本発明に係る検索処理装置は、対象とする複数のユーザが対象とする1以上のデジタル化されたオブジェクトにアクセスした履歴を示すユーザごとの全履歴データを利用して、前記ユーザと前記オブジェクトのうちの一方をリコメンドに関する第1処理対象としたときに他方を第2処理対象として前記第1処理対象に対して最適候補の第2処理対象を検索する検索処理装置であって、前記全履歴データから前記第1処理対象と前記第2処理対象とのアクセス時間に関する重みに基づいて前記第1処理対象間のすべての直接関係を示す関係情報を作成する関係情報作成手段と、第1処理対象を特定するユーザの履歴に関する履歴関係情報を入力する入力手段と、前記作成された関係情報から、前記入力された履歴関係情報で特定される第1処理対象と、当該第1処理対象を除く他の第1処理対象との間のそれぞれの関係を抽出する関係抽出手段と、前記それぞれの他の第1処理対象の履歴データに含まれる第2処理対象に対して、前記それぞれ抽出された関係を数値化したスコアを算出するスコア算出手段と、前記スコアが算出された第2処理対象を前記スコアで順位付けしたリストであるスコアリストを作成するスコアリスト作成手段と、前記作成されたスコアリストを出力する出力手段とを備えることを特徴とする。
かかる手順の検索処理方法、または、かかる構成の検索処理装置によれば、検索処理装置は、入力をキーとして検索処理を実行する前に予め行う事前処理として、全履歴データから第1処理対象間の直接関係を示す関係情報を作成する。これにより、ユーザ間のアクセス履歴を考慮したパーソナライゼーションが可能な検索処理装置を提供することができる。ここで、履歴データは、ユーザの識別情報と、オブジェクトの識別情報と、ユーザがオブジェクトにアクセスした時間(時刻情報)とを少なくとも含む。また、オブジェクトとは、例えば、電子化情報、実世界の情報、コンテンツ、アイテムを含み、アクセスとは、例えば、ログイン、閲覧、ダウンロード、購買などの操作情報を含む。また、検索処理装置は、例えば、ユーザを第1処理対象、オブジェクトを第2処理対象とした場合には、第1処理対象に対してお薦めするときに尤もアクセス効果が生じ易い第2処理対象を検索し、一方、オブジェクトを第1処理対象、ユーザを第2処理対象とした場合には、第1処理対象をお薦めするときに尤もアクセスされる効果を生じ易い第2処理対象を検索する。
そして、検索処理装置は、事前処理の後に行う検索処理として、予め作成された関係情報から、入力された履歴関係情報で特定される第1処理対象と、他の第1処理対象との間のそれぞれの関係を抽出し、他の第1処理対象の履歴データに含まれる第2処理対象に対して、それぞれ抽出された関係を数値化したスコアを算出する。ここで、履歴関係情報は、例えば、ユーザIDやオブジェクトIDを示す。これにより、例えば、ユーザが自身のニーズをクエリ以外のものを用いても検索できる。そして、検索処理装置は、スコアが算出された第2処理対象をランキングしたスコアリストを作成して出力する。これにより、例えば、ユーザを第1処理対象とし、オブジェクトを第2処理対象とした場合には、入力された履歴関係情報で特定されるユーザに対してお薦めするときに尤もアクセス効果が生じ易いオフジェクトをスコアリングしたオブジェクトランキングリストがスコアリストとして出力される。また、オブジェクトを第1処理対象、ユーザを第2処理対象とした場合には、入力された履歴関係情報で特定されるオブジェクトをお薦めするときに尤もアクセスされる効果を生じ易いユーザをスコアリングしたユーザランキングリストがスコアリストとして出力される。
また、本発明に係る検索処理方法は、前記関係情報作成ステップが、前記関係情報として、前記第1処理対象間のすべての直接関係を示す直接関係情報を作成する直接関係情報作成ステップと、前記全履歴データと前記直接関係情報とを利用して、前記第1処理対象間の直接関係および間接関係を合わせた関係を示す相対関係情報を作成する相対関係情報作成ステップと、所定の終了条件が成立するまで、前記直接関係情報作成ステップと前記相対関係情報作成ステップとの一連の処理において、前記第1処理対象としてユーザとオブジェクトとを交互に切り替えて、前記直接関係情報および前記相対関係情報を更新する関係情報更新ステップとを有し、前記関係抽出ステップが、前記関係情報として、前記更新された相対関係情報から、前記入力された履歴関係情報で特定される第1処理対象と、当該第1処理対象を除く他の第1処理対象との間のそれぞれの関係を抽出することが好ましい。
かかる手順の検索処理方法によれば、検索処理装置は、事前処理として、全履歴データから第1処理対象間の直接関係情報を作成すると共に、全履歴データと作成した直接関係情報とを利用して、第1処理対象間の相対関係情報を作成し、この直接関係情報と相対関係情報との一連の作成において、第1処理対象としてユーザとオブジェクトとを交互に切り替えて、直接関係情報と相対関係情報とを交互に更新しつつ作成する。これにより、各ユーザおよびユーザ間のニーズや行動の時系列的な変化を考慮したパーソナライゼーションが可能な検索処理装置を提供することができる。ここで、第1処理対象間の直接関係情報とは、任意の2つの第1処理対象間の直接関係、すなわち、任意の2つの第1処理対象間にそれ以外の第1処理対象を介さずに、かつ、第2処理対象を介したときの当該2つの第1処理対象間の関係に関する情報を示す。また、第1処理対象間の相対関係情報とは、任意の2つの第1処理対象間の直接関係および間接関係、すなわち、任意の2つの第1処理対象間にそれ以外の第1処理対象を介してもよいときの当該2つの第1処理対象間の関係に関する情報を示す。
また、本発明に係る検索処理方法は、前記直接関係情報作成ステップが、前記全履歴データから前記第2処理対象を固定したときの所定の2つの第1処理対象間において、前記第2処理対象に関するアクセス時間に関する重みを示す時間重み情報を抽出する時間重み情報抽出ステップと、前記抽出された時間重み情報に、前記第2処理対象の所定の重みを乗じて前記第2処理対象についてとった和を、前記第2処理対象について正規化することで得られる選択確率を前記所定の2つの第1処理対象間の直接関係として算出する選択確率算出ステップと、前記選択確率を前記第1処理対象に亘って算出することで、前記直接関係情報を生成する直接関係情報生成ステップとを有することが好ましい。
かかる手順の検索処理方法によれば、検索処理装置は、事前処理で直接関係情報を作成する際に、所定の2つの第1処理対象間において、全履歴データから第2処理対象との履歴に関する時間重み情報を抽出し、抽出した時間重み情報に対して第2処理対象の重みを乗じて算出した選択確率を当該2つの第1処理対象間の直接関係として算出する。ここで、時間重み情報は、2つの第1処理対象が共通の第2処理対象に関する履歴となった時間の順位または順序に関するものを示す。そして、検索処理装置は、2つの第1処理対象間の選択確率を第1処理対象に亘って算出することで、直接関係情報を生成する。これにより、直接関係情報を行列形式で表現できる。なお、この事前処理で個々の第1処理対象間の選択確率を算出するにあたって、その後の検索処理でクエリが決まっていて検索に支障をきたさなければ、必ずしも第1処理対象間のすべての組み合わせの選択確率を算出する必要は無く、この場合には計算コストを低減できる。
また、本発明に係る検索処理方法は、前記相対関係情報作成ステップが、前記第1処理対象間の直接関係を数値化した確率値の所定の第1処理対象ごとの和が所定のしきい値より大きいか否かを判別し、前記和が前記しきい値より大きい場合に当該確率値を要素とすると共に、前記和が前記しきい値以下の場合に全第1処理対象数で正規化した確率値を要素とする正方行列を、全第1処理対象間の直接遷移確率を示す直接遷移確率行列として生成する直接遷移確率行列生成ステップと、前記直接遷移確率行列と、前記全第1処理対象数で正規化した確率値を要素とする正方行列とを凸結合により正規化した正規化行列を生成する正規化行列生成ステップと、前記正規化行列を予め定められた第1処理対象間媒介変数を指数としてべき乗した結果についての前記第1処理対象間媒介変数に関する和を、前記相対関係情報として算出する相対関係情報算出ステップとを有することが好ましい。
かかる手順の検索処理方法によれば、検索処理装置は、事前処理で相対関係情報を作成する際に、それぞれの第1処理対象間の直接関係情報を直接遷移確率で示した直接遷移確率行列を生成し、この生成した直接遷移確率行列により、例えば、マルコフ連鎖のような仮定に適用可能な正規化行列を生成する。この正規化行列を生成するまでの段階では、第1処理対象間の関係は、従来公知の手法のように2つの第1処理対象間の直接関係を定義したことに相当する。そして、検索処理装置は、この正規化行列をべき乗した結果についてのべき乗の変数に関する和を相対関係情報として算出する。これにより、相対関係情報を生成した段階では、第1処理対象間の関係は、第1処理対象間の直接関係および間接的な関係を定義したことに相当する。例えば、第1処理対象間媒介変数の値をnとすれば、着目している2つの第1処理対象間に、他の(n−1)の第1処理対象を介した関係を考慮したこととなる。これにより、ユーザ間にバーチャルネットワークの存在を仮定した場合でもパーソナライズすることのできる検索処理装置を提供することができる。
また、本発明に係る検索処理方法は、前記相対関係情報作成ステップが、前記正規化行列の最大固有値に対応する固有ベクトルのうち前記それぞれの第1処理対象に対応する値を、前記それぞれの第1処理対象に対する重みとして算出する重み算出ステップをさらに有し、前記選択確率算出ステップが、前記関係情報更新ステップでユーザとオブジェクトとが切り替えられた第1処理対象について前記時間重み情報抽出ステップで抽出された時間重み情報に、前記関係情報更新ステップでユーザとオブジェクトとが切り替えられる前に前記重み算出ステップで算出された第1処理対象に対する重みを乗じることで、前記切り替えられる前の第1処理対象間の直接関係として前記選択確率を算出することが好ましい。
かかる手順の検索処理方法によれば、検索処理装置は、事前処理で相対関係情報を作成する際に、第1処理対象間の直接関係情報を示す直接遷移確率行列から生成した正規化行列を利用して、この正規化行列の最大固有値に対応する固有ベクトルの値を、第1処理対象に対する重みとして算出する。この重みは、事前処理で直接関係情報を作成する際にそのままでは利用することができない。その理由は、第1処理対象間の直接関係を算出するときには、2つの第1処理対象から抽出した時間重み情報に対して第2処理対象の重みを乗じるためである。ここで、第1処理対象と第2処理対象とは、いずれか一方がユーザを示し他方がオブジェクトを示す。したがって、例えば、第1処理対象がユーザである場合には、検索処理装置が算出する重みは、ユーザの重みを示す。このように第1処理対象がユーザである場合には、時間重み情報に対して乗じるために必要な重みは、オブジェクトの重みである。そのため、検索処理装置は、事前処理で相対関係情報を更新して作成する際に、ユーザとオブジェクトとが切り替えられた第1処理対象(例えばオブジェクト)についての時間重み情報に、ユーザとオブジェクトとが切り替えられる前に算出された第1処理対象に対する重み(例えばユーザの重み)を乗じることで、切り替えられる前の第1処理対象間の直接関係(例えばユーザ間の関係)として選択確率を算出する。したがって、直接関係情報と相対関係情報との更新を繰り返すたびに、ユーザの重みまたはオブジェクトの重みが変化する。これにより、各ユーザおよびユーザ間のニーズや行動の時系列的な変化を考慮したパーソナライゼーションが可能な検索処理装置を提供することができる。
また、本発明に係る検索処理方法は、前記第1処理対象はユーザであって、前記関係抽出ステップが、前記入力された履歴関係情報で特定されるユーザに対して前記重み算出ステップで算出された重みを、前記特定されるユーザと他のユーザとの関係として抽出し、前記スコア算出ステップが、前記特定されるユーザに対して抽出された重みが所定の基準値より大きいか否かを判別し、前記重みが前記基準値より小さい場合に前記相対関係情報に基づいて該当するそれぞれのオブジェクトに対してスコアを算出し、前記重みが前記基準値以上である場合に、未アクセスであるオブジェクトに対してスコアを算出するようにしてもよい。
かかる手順の検索処理方法によれば、検索処理装置は、検索処理において、重み算出ステップで算出されたユーザの重みを有効に用いて、オブジェクトに対してスコアを算出することができる。これによれば、検索のために入力されたユーザの情報から、そのユーザの重みが基準値より大きいかどうかによって、新規なオブジェクトをリコメンド対象としてリストに載せるか、他ユーザが既にアクセスしたオブジェクトをリコメンド対象としてリストに載せるかを切り替えることができる。つまり、全ユーザのアクセス履歴を用いたパーソナライズを効果的に行うことができる。さらに、検索処理において算出された全ユーザの重みを用いれば、あるオブジェクトに着目してユーザの重みが高いユーザが当該オブジェクトに未アクセスであったときに、そのオブジェクトにアクセスし易い(オブジェクトがそのユーザからヒットされ易い)という事象を予測することも可能となる。
また、本発明に係る検索処理プログラムは、前記した検索処理方法をコンピュータに実行させることを特徴とする。このように構成されることにより、このプログラムをインストールされたコンピュータは、このプログラムに基づいた各機能を実現することができる。
また、本発明に係るコンピュータ読み取り可能な記録媒体は、前記した検索処理プログラムが記録されたことを特徴とする。このように構成されることにより、この記録媒体を装着されたコンピュータは、この記録媒体に記録されたプログラムに基づいた各機能を実現することができる。
本発明によれば、ユーザのアクセス履歴を用いてパーソナライゼーションに必要なユーザまたはオブジェクトを容易に検索できる。
以下、図面を参照して本発明の検索処理装置および検索処理方法を実施するための最良の形態(以下「実施形態」という)について詳細に説明する。
[検索処理装置の構成]
図1は、本発明の実施形態に係る検索処理装置の構成を示すブロック図である。
検索処理装置1は、対象とする複数のユーザが対象とする1以上のデジタル化されたオブジェクトにアクセスした履歴を示すユーザごとの全履歴データを利用して、ユーザとオブジェクトのうちの一方をリコメンドに関する第1処理対象としたときに他方を第2処理対象として第1処理対象に対して最適候補の第2処理対象を検索するものである。ここで、オブジェクトとは、例えば、電子化情報、実世界の情報、コンテンツ、アイテムを含み、アクセスとは、例えば、ログイン、閲覧、ダウンロード、購買などの操作情報を含む。検索処理装置1は、予めユーザの履歴データからユーザ間の相対関係およびオブジェクト間の相対関係を計算する事前処理と、あるユーザの検索要求があった際に、検索を行い、検索結果をパーソナライズしてスコアリストを出力する検索処理とを実行する。本実施形態では、検索処理装置1は、検索サービス(検索エンジンやECサイト)のシステムに内包されているものとして説明する。
検索処理装置1は、図1に示すように、入力手段10と、出力手段20と、記憶手段30と、制御手段40とを備える。
入力手段10は、所定の入力インタフェースから構成され、入力装置Mから入力される各種情報(履歴関係情報、各ユーザの履歴データ、コマンド、データ等)を制御手段40に入力するものである。履歴関係情報は、検索値としての第1処理対象を特定するユーザの履歴に関する情報であり、例えば、ユーザIDやオブジェクトID、および、ユーザの検索クエリといったユーザの操作に関わる情報等を指す。各ユーザの履歴データは、入力手段10によって、履歴データ処理手段50に入力される。ユーザIDやオブジェクトIDなどの検索値は、入力手段10によって、スコアリング処理手段60に入力される。ここで、入力装置Mは、例えば、キーボード、マウス、ディスクドライブ装置などから構成される。なお、入力手段10は、図示しない通信ネットワークから各種情報を入力する通信インタフェースから構成するようにしてもよい。
出力手段20は、例えば、グラフィックボード等の出力インタフェースから構成され、制御手段40による演算処理結果を出力装置Dに出力するものである。ここで、演算処理結果は、例えば、検索処理結果として作成されたスコアリスト(所定のスコアによって第2処理対象をランキングしたリスト)等である。ここで、出力装置Dは、例えば、液晶ディスプレイ等から構成される。
記憶手段30は、例えば、一般的なハードディスク装置などから構成され、制御手段40で用いられる各種プログラムや各種データ等を記憶する。この記憶手段30は、各種データとして、履歴データ31と、時間重み情報32と、直接関係情報(関係情報)33と、相対関係情報(関係情報)34と、重みデータ35とを備える。
履歴データ31は、対象とする全ユーザの履歴を示すデータである。この履歴データ31の具体例について図2を参照して説明する。図2は、履歴データの構造の一例を示す図である。この例では、3人のユーザ(ユーザA、ユーザB、ユーザC)から、それぞれ、ユーザAの履歴データ201、ユーザBの履歴データ202、および、ユーザCの履歴データ203を収集したと仮定する。図2に示した履歴データ31は、最小限の項目211〜213として、「ユーザID」と、「オブジェクトID」と、「時間」とを有している。例えば、1行目のデータは、「ユーザA」が時刻「001」に「オブジェクトα」にアクセスしたことを示している。履歴データ31の構造は、図2に示したものに限定されるものではなく、例えば各ユーザが操作した行動の種類(アクセス、購買、閲覧、ダウンロード)の項目を有することとしてもよい。
時間重み情報32、直接関係情報33、相対関係情報34、および、重みデータ35は、時間重み情報抽出手段521、直接関係情報算出手段523、相対関係情報算出手段624、および、重み算出手段623のそれぞれの処理結果を示している。
制御手段40は、例えば、CPU(Central Processing Unit)およびRAM(Random Access Memory)から構成される主制御装置であって、大別して履歴データ処理手段50と、スコアリング処理手段60とを備えている。
(履歴データ処理手段)
履歴データ処理手段50は、データ管理手段51と、直接関係情報作成手段(関係情報作成手段)52とを備える。
データ管理手段51は、入力手段10から入力されるデータや直接関係情報作成手段52の演算結果を記憶手段30に書き込んだり、記憶手段30から必要な情報を読み出して直接関係情報作成手段52に出力したりするものである。このデータ管理手段51は、入力手段10から入力される履歴データ(全ユーザの履歴データ)を記憶手段30に格納する。
<直接関係情報作成手段>
直接関係情報作成手段52は、全履歴データから第1処理対象と第2処理対象とのアクセス時間に関する重みに基づいて第1処理対象間のすべての直接関係を示す直接関係情報を作成するものであり、図1に示すように、時間重み情報抽出手段521と、選択確率算出手段522と、直接関係情報算出手段523とを備える。
ここで、履歴データ処理手段50の処理概要について図3を参照して説明する。図3は、データ間の直接関係の一例を示す説明図である。履歴データ処理手段50は、図2に示すような履歴データ31からオブジェクトを介したユーザ間の関係(直接関係情報)を算出する。この例では、図2と同様に3人のユーザ(ユーザA、ユーザB、ユーザC)を仮定する。また、第1処理対象をユーザ、第2処理対象をオブジェクトとする。
また、図3(a)に示すような個々の関係を仮定する。すなわち、ユーザAとユーザBとで共通してアクセスしたオブジェクトが合計50個あり、そのうち、ユーザAがユーザBより先にアクセスしたオブジェクトが10個あり、かつ、ユーザBがユーザAより先にアクセスしたオブジェクトが40個あるものとする。なお、各オブジェクトの重みを「1」としている。
同様に、ユーザBとユーザCとで共通してアクセスしたオブジェクトが合計35個あり、そのうち、ユーザBがユーザCより先にアクセスしたオブジェクトが30個あり、かつ、ユーザCがユーザBより先にアクセスしたオブジェクトが5個あるものとする。また、ユーザCとユーザAとで共通してアクセスしたオブジェクトが合計70個あり、そのうち、ユーザCがユーザAより先にアクセスしたオブジェクトが20個あり、かつ、ユーザAがユーザCより先にアクセスしたオブジェクトが50個あるものとする。
図3(a)に示した個々の定量的な関係を1つの表にまとめたものを、図3(b)に示す。図3(b)の表において、1行目に記載した各ユーザは、1列目に記載した各ユーザと共通したオブジェクトについて早くアクセスしたユーザを示している。なお、履歴データ処理手段50は、図2に示すような履歴データ31からユーザを介したオブジェクト間の関係(直接関係情報)を算出することができる。このオブジェクト間の関係は、第1処理対象と第2処理対象とを入れ替えれば、ユーザ間の関係を求めた方法と同様にして求めることができるので説明を省略する。
図1に戻って、直接関係情報作成手段52の詳細を説明する。
≪時間重み情報抽出手段≫
時間重み情報抽出手段521は、全履歴データから第2処理対象を固定したときの所定の2つの第1処理対象間において、第2処理対象に関するアクセス時間に関する重みを示す時間重み情報を抽出するものである。本実施形態では、第1処理対象をユーザとしたときに、時間重み情報抽出手段521は、式(1)の演算を行う。すなわち、時間重み情報抽出手段521は、ユーザua(単にユーザaともいう)と、ユーザui(単にユーザiともいう)との間で共通するオブジェクトk毎にオブジェクトのアクセス時間に関する重み(以下、時間重み情報という)oak、oikを比較し、比較結果に応じて式(1)に基づいて時間重み情報rai,kを求める。ここで、oakは、ユーザuaがオブジェクトkにアクセスした順位を示し、oikは、ユーザuiがオブジェクトkにアクセスした順位を示す。また、|Uk|は、オブジェクトkにアクセスしたユーザ集合の要素数を示す。
Figure 2008305055
ここで、便宜上、ユーザuaがユーザuiの履歴を選択するものとする。つまり、ユーザuaを選択側のユーザ(単に選択側という)、ユーザuiを被選択側のユーザ(単に被選択側という)とする。時間重み情報抽出手段521は、ユーザui(被選択側)毎に選択側の全ユーザに対して、この処理を行うと共に、ユーザua(選択側)毎に被選択側の全ユーザに対して、この処理を行う。
また、本実施形態では、第1処理対象をオブジェクトとしたときに、時間重み情報抽出手段521は、式(2)の演算を行う。すなわち、時間重み情報抽出手段521はオブジェクトca(単にオブジェクトaともいう)と、オブジェクトci(単にオブジェクトiともいう)との間で共通するユーザk毎にユーザの時間重み情報oak、oikを比較し、比較結果に応じて式(2)に基づいて時間重み情報sai,kを求める。ここで、oakは、ユーザkがオブジェクトcaにアクセスした順位を示し、oikは、ユーザkがオブジェクトciにアクセスした順位を示す。また、|Ck|は、ユーザkにアクセスされたオブジェクト集合の要素数を示す。
Figure 2008305055
ここで、便宜上、オブジェクトcaにアクセスしたユーザが、オブジェクトciにアクセスしたユーザの履歴を選択するものとする。つまり、オブジェクトcaを選択側のオブジェクト(単に選択側という)、オブジェクトciを被選択側のオブジェクト(単に被選択側という)とする。時間重み情報抽出手段521は、オブジェクトci(被選択側)毎に選択側の全オブジェクトに対して、この処理を行うと共に、オブジェクトca(選択側)毎に被選択側の全オブジェクトに対して、この処理を行う。
≪選択確率算出手段≫
選択確率算出手段522は、所定の2つの第1処理対象について時間重み情報抽出手段521で抽出された時間重み情報に、第2処理対象の所定の重みを乗じて第2処理対象についてとった和を、第2処理対象について正規化することで得られる選択確率を当該2つの第1処理対象間の直接関係として算出するものである。
本実施形態では、選択確率算出手段522は、後記する関係情報更新手段63でユーザとオブジェクトとが切り替えられた第1処理対象について時間重み情報抽出手段521で抽出された時間重み情報に、関係情報更新手段63でユーザとオブジェクトとが切り替えられる前に後記する重み算出手段623で算出された第1処理対象に対する重みを乗じることで、切り替えられる前の第1処理対象間の直接関係として選択確率を算出する。
また、本実施形態では、直接関係情報を各ユーザ(またはオブジェクト)が他ユーザ(または他オブジェクト)の履歴を選択する選択確率として定義する。
また、本実施形態では、第1処理対象をユーザとしたときに、選択確率算出手段522は、ユーザ毎の選択確率としてユーザua(選択側)がユーザui(被選択側)を選択する選択確率p(ui|ua)を、式(3)に基づいて算出する。なお、式(3)中の時間重み情報rai,kは前記した式(1)で示され、wkはオブジェクトkの重みを示し、|Ca,i|は、オブジェクト集合の要素数を示す。本実施形態では、|Ca,i|は、例えば、ユーザuaとユーザuiとの間で共通しているオブジェクト数とする。なお、|Ca,i|=1としてもよい。
Figure 2008305055
式(3)の分子は、具体的には、ユーザuaとユーザuiとの間でオブジェクトの重みwkと、求めた時間重み情報rai,kとの積をオブジェクトkについて加算して、ユーザuaとユーザuiとの間で共通しているオブジェクト数|Ca,i|で割った値を示している。ここで、オブジェクトの重みwkの初期値は「1」である。また、式(3)の分母の第1項は、ユーザua(選択側)に対する被選択側の全ユーザ(ユーザuiを含む)に対して、式(3)の分子で示されるものと同じ処理を行って正規化した項を示している。なお、δは分母第1項の値が「0」のときに式(3)を定義するための微少値である。δのデフォルトは「0」である。また、式(3)の分母第1項の値が「0」のときには、後記する式(5)により、選択確率を「1/N」で定義することができる。
また、本実施形態では、第1処理対象をオブジェクトとしたときに、選択確率算出手段522は、オブジェクト毎の選択確率として、オブジェクトca(選択側)にアクセスしたユーザがオブジェクトci(被選択側)にアクセスしたユーザの履歴を選択する選択確率p(ci|ca)を、式(4)に基づいて算出する。なお、式(4)中の時間重み情報sai,kは前記した式(2)で示され、vkはユーザkの重みを示し、|Ua,i|は、ユーザ集合の要素数を示す。本実施形態では、|Ua,i|は、例えば、オブジェクトcaとオブジェクトciとの間で共通しているユーザ数とする。なお、|Ua,i|=1としてもよい。
Figure 2008305055
式(4)の分子は、具体的には、オブジェクトcaとオブジェクトciとの間でユーザの重みvkと、求めた時間重み情報sai,kとの積をユーザkについて加算して、オブジェクトcaとオブジェクトciとの間で共通しているユーザ数|Ua,i|で割った値を示している。ここで、ユーザの重みvkの初期値は「1」である。また、式(4)の分母の第1項は、オブジェクトca(選択側)に対する被選択側の全オブジェクト(オブジェクトciを含む)に対して、式(4)の分子で示されるものと同じ処理を行って正規化した項を示している。なお、δは分母第1項の値が「0」のときに式(4)を定義するための微少値である。
≪直接関係情報算出手段≫
直接関係情報算出手段523は、選択確率算出手段522で算出された個々の選択確率を第1処理対象に亘って算出することで、直接関係情報を生成するものである。
具体的には、第1処理対象をユーザとしたときに、直接関係情報算出手段523は、選択側のユーザuaを含む全ユーザに対して、選択確率算出手段522の演算を実行させることで、全ユーザ間の関係をユーザ毎の選択確率で構成した行列を生成する。これが全ユーザ間の直接関係情報となる。なお、後記するように、ユーザ間の直接関係情報を更新する計算を行う際には、スコアリング処理手段60で算出されたオブジェクトの重みwk(重みデータ35)を、選択確率算出手段522の演算を実行させる際に用いる。
また、第1処理対象をオブジェクトとしたときに、直接関係情報算出手段523は、選択側のオブジェクトcaを含む全オブジェクトに対して、選択確率算出手段522の演算を実行させることで、全オブジェクト間の関係をオブジェクト毎の選択確率で構成した行列を生成する。これが全オブジェクト間の直接関係情報となる。なお、後記するように、オブジェクト間の直接関係情報を更新する計算を行う際には、スコアリング処理手段60で算出されたユーザの重みvk(重みデータ35)を、選択確率算出手段522の演算を実行させる際に用いる。
(スコアリング処理手段)
スコアリング処理手段60は、図1に示すように、データ管理手段61と、事前処理にそれぞれ用いられる相対関係情報作成手段(関係情報作成手段)62および関係情報更新手段63と、検索処理にそれぞれ用いられる相対関係抽出手段(関係抽出手段)64と、スコア算出手段65と、スコアリスト作成手段66とを備える。
データ管理手段61は、入力手段10から入力されるデータや相対関係情報作成手段62の演算結果を記憶手段30に書き込んだり、記憶手段30から必要な情報を読み出して相対関係情報作成手段62に出力したりするものである。このデータ管理手段61は、検索処理において入力手段10から入力される検索値(履歴関係データ)を相対関係抽出手段64に出力する。
<相対関係情報作成手段>
相対関係情報作成手段62は、記憶手段30に記憶された履歴データ31(全履歴データ)と直接関係情報33とを利用して、第1処理対象間の直接関係および間接関係を合わせた関係を示す相対関係情報を作成するものである。相対関係情報は、間接的な関係も含めた関係である点が、直接関係情報と大きく異なる。この相対関係情報を算出する仮定においてマルコフ連鎖のような仮定をおくことができる。この相対関係情報作成手段62は、図1に示すように、直接遷移確率行列生成手段621と、正規化行列生成手段622と、重み算出手段623と、相対関係情報算出手段624とを備える。
≪直接遷移確率行列生成手段≫
直接遷移確率行列生成手段621は、第1処理対象間の直接関係を数値化した確率値の所定の第1処理対象ごとの和が所定のしきい値より大きいか否かを判別し、その和がしきい値より大きい場合に当該確率値を要素とすると共に、その和がしきい値以下の場合に全第1処理対象数で正規化した確率値を要素とする正方行列を、全第1処理対象間の直接遷移確率を示す直接遷移確率行列として生成するものである。
ここでは、まず、第1処理対象をユーザとして説明する。なお、本実施形態では、直接関係情報を各ユーザから他ユーザの選択確率として定義する。以下では、ユーザ毎の直接関係から求められた前記した式(3)で示した選択確率として、例えば、ユーザj(j=1〜N)がユーザi(i=1〜N,i≠j)の履歴を選択する確率p(ui|uj)のことを、説明の都合上、簡略化してPijと表記する。なお、jは選択側、iは被選択側を示す。この直接関係から求められた選択確率は、直接関係情報33であって、スコアリングには用いられないものである。本実施形態では、直接遷移確率行列生成手段621は、式(5)で示される演算を実行する。
Figure 2008305055
式(5)に示すように、直接遷移確率行列生成手段621は、ユーザiとユーザjとの間で、Pij(選択確率p(ui|uj))のj(選択側)についての和が所定のしきい値(例えば、0)より大きいか否かを判定する。そして、直接遷移確率行列生成手段621は、所定のしきい値(例えば、0)より大きい場合には、Pijをその要素に持ち、所定のしきい値以下の場合(具体的には「0」である場合)、1/N(Nは全ユーザの数)を割り当てられた要素として持つ行列を生成する。この式(5)の左辺で示す行列が直接遷移確率行列を示す。
≪正規化行列生成手段≫
正規化行列生成手段622は、直接遷移確率行列生成手段621で生成された直接遷移確率行列と、全第1処理対象数(ここでは、全ユーザの数N)で正規化した確率値を要素とする正方行列とを凸結合により正規化した正規化行列を生成するものである。
本実施形態では、正規化行列生成手段622は、式(6)で示される演算を実行する。ここで、eは、全要素が「1」のN行1列の列ベクトルを示し、Tは転置を示す。すなわち、eeTは全要素が「1」のN行N列の正方行列となる。また、パラメタαは、0から1の間で任意に決定された値を有する。この式(6)の左辺で示す行列が、正規化行列生成手段622で生成された正方行列を示す。
Figure 2008305055
≪重み算出手段≫
重み算出手段623は、正規化行列生成手段622で生成された正規化行列の最大固有値に対応する固有ベクトルのうち、それぞれの第1処理対象に対応する値を、それぞれの第1処理対象に対する重みとして算出するものである。ここでは、第1処理対象をユーザとしたので、重み算出手段623は、この正規化行列の最大固有値に対応する固有ベクトルのうち、ユーザkに対応する値をユーザの重みvkとする。この値は、データ管理手段61によって記憶手段30に重みデータ35として格納される。なお、このユーザの重みvkを重みデータ35として格納することなく履歴データ処理手段50に入力するようにしてもよい。
≪相対関係情報算出手段≫
相対関係情報算出手段624は、正規化行列生成手段622で生成された正規化行列を予め定められた第1処理対象間媒介変数を指数としてべき乗した結果についての第1処理対象間媒介変数に関する和を、相対関係情報として算出するものである。
本実施形態では、相対関係情報算出手段624は、式(7)で示される演算を実行する。ここで、nは、第1処理対象間媒介変数を示す。
Figure 2008305055
式(7)に示すように、正規化行列生成手段622で生成された正規化行列を、nを指数としてべき乗した行列の和を相対関係情報として定義する。この相対関係情報は、対角成分が0のN×Nの正方行列となる。この対角成分を除く各要素を、ユーザ毎の相対関係から求められた選択確率として、ユーザjがユーザiの履歴を選択する確率p(ui|uj)として定義する。したがって、この選択確率は、検索処理においてスコアリングに用いられるものである。なお、相対関係情報は、正規化行列を、nを指数としてべき乗した行列の和そのもので定義することなく、それと比例関係にある数値を相対関係情報として定義することができることはもちろんである。
式(7)は、定性的には以下のことを示している。すなわち、式(6)で定義された正規化行列が、オブジェクトを介した2つのユーザ間の関係しか考慮していないことに対して、式(7)に示す相対関係情報は、ユーザ間の関係を、バーチャルネットワークにおいて(n−1)人のユーザを介したときのユーザ間の関係を定義していることに相当する。ここで、nは、式(7)に示す第1処理対象間媒介変数である。
前記した説明では、この相対関係情報作成手段62において、第1処理対象がユーザであるものとして説明したが、第1処理対象がオブジェクトであっても同様である。したがって、第1処理対象がオブジェクトである場合の相対関係情報作成手段62の機能については、詳細な説明を省略する。なお、オブジェクトj(j=1〜N)にアクセスしたユーザが、オブジェクトi(i=1〜N,i≠j)にアクセスしたユーザを選択する確率p(ci|cj)を計算する過程においては、直接関係情報33および相対関係情報34の更新の際に、オブジェクトkの重みwkが算出されることとなる。
<関係情報更新手段>
関係情報更新手段63は、所定の終了条件が成立するまで、直接関係情報33と相対関係情報34との一連の作成において、第1処理対象としてユーザとオブジェクトとを交互に切り替えて、直接関係情報33および相対関係情報34を更新するものである。ここで、終了条件は、例えば、更新回数や経過時間が予め定められた上限値に達したときに成立する。なお、直接関係情報33および相対関係情報34の更新前後の変化率が予め定められた下限値に達したときに成立するようにしてもよい。
<相対関係抽出手段>
相対関係抽出手段64は、相対関係情報34から、入力された履歴関係情報で特定される第1処理対象と、当該第1処理対象を除く他の第1処理対象との間のそれぞれの相対関係を抽出するものである。本実施形態では、相対関係抽出手段64は、相対関係として選択確率を抽出する。また、相対関係抽出手段64は、第1処理対象がユーザである場合に、入力された履歴関係情報で特定されるユーザに対して重み算出手段623で算出されたユーザの重みvkを、入力された履歴関係情報で特定されるユーザと他のユーザとの関係として抽出する。
<スコア算出手段>
スコア算出手段65は、入力された履歴関係情報で特定される第1処理対象を除くそれぞれの他の第1処理対象の履歴データに含まれる第2処理対象に対して、相対関係抽出手段64でそれぞれ抽出された相対関係(関係)を数値化したスコアを算出するものである。本実施形態では、スコア算出手段65は、抽出されたそれぞれの選択確率(0〜1の値)の最大値を「100」点とした場合に、それぞれのスコアを抽出する。
また、スコア算出手段65は、第1処理対象がユーザである場合に、相対関係抽出手段64で抽出されたユーザの重みvkが所定の基準値より大きいか否かを判別し、ユーザの重みvkが基準値より小さい場合に相対関係情報34に基づいて該当するそれぞれのオブジェクトに対してスコアを算出し、ユーザの重みvkが基準値以上である場合に、未アクセスであるオブジェクトに対してスコアを算出する。なお、未アクセスであるオブジェクトは、履歴データ31の中で未アクセスであるオブジェクトに限らず、この検索処理装置1に対して別にそのデータを入力した新規のオブジェクトであってもよい。
<スコアリスト作成手段>
スコアリスト作成手段66は、スコア算出手段65によってスコアが算出された第2処理対象を、スコアで順位付けしたリストであるスコアリストを作成するものである。
ここで、相対関係抽出手段64、スコア算出手段65およびスコアリスト作成手段66を用いた検索処理の具体例について図4を参照して説明する。図4は、データ間の相対関係の一例を示す説明図である。
相対関係抽出手段64は、検索処理において、例えば、ユーザIDが入力されると、予め算出された相対関係情報34を用いて、入力されたユーザIDで示される該当ユーザと個々の他ユーザ(ここで、他ユーザとは、該当ユーザ以外のユーザを指す)との関係を抽出する。なお、このとき、重み算出手段623は、全他ユーザの履歴データ(つまり、相対関係情報34)を用いて、該当ユーザを含む全ユーザの重みvkを算出する。この重みvkは、関係情報更新手段63で行う直接関係情報33および相対関係情報34の更新によって変化するので、結果として、この重み(重みデータ35)を用いて他ユーザの履歴データに含まれるオブジェクトをランキングすることができる。
相対関係抽出手段64は、相対関係情報34を参照して、他ユーザのスコアリングのための選択確率を取得する。なお、図4では、選択確率を簡略化して表記している。
この例では、図4に示すように、ユーザDに対するユーザAの選択確率P(A|D)は、「0.3」である。また、ユーザDに対するユーザBの選択確率P(B|D)は、「0.328」である。また、ユーザDに対するユーザCの選択確率P(C|D)は、「0.346」である。オブジェクトαは、ユーザAの履歴に含まれており、オブジェクトβは、ユーザBの履歴に含まれており、オブジェクトγは、ユーザCの履歴に含まれている。そして、オブジェクトα、β、γは、ユーザDに対する各ユーザ間の相対関係情報34によってスコアリングされる。
この例では、ユーザDに対する各ユーザ間の選択確率の最大値は、「0.346」であり、この値は、ユーザDに対するユーザCの選択確率を示すものである。
ここでは、説明の都合上、一例として、オブジェクトαは、ユーザAの履歴にのみ含まれ、オブジェクトβは、ユーザBの履歴にのみ含まれ、オブジェクトγは、ユーザCの履歴にのみ含まれていることとする。ユーザCの履歴に含まれているオブジェクトは、「オブジェクトγ」である。したがって、スコア算出手段65は、「オブジェクトγ」に最大のスコアを付与する。
このスコア算出手段65は、各ユーザがオブジェクトにアクセスしたか否か(あるいは購入したか否かなど)を示す情報と、各ユーザ間の選択確率との積によって、スコアを算出する。ここで、アクセスしたか否かを示す情報としては、例えば、アクセスした場合に「1」、そうでない場合に「0」を割り当てることができる。この場合、例えば、オブジェクトγのスコアを「100」とすると、「α:β:γ=0.3×1:0.328×1:0.346×1」の関係からスコアを比例配分させることで、オブジェクトαのスコアは「87」となり、オブジェクトβのスコアは「95」となる。
なお、他の例として、例えば、オブジェクトγが、ユーザA、ユーザBのそれぞれの履歴にも含まれている場合には、オブジェクトγのスコアは、オブジェクトγのスコアを「100」とすると、「α:β:γ=0.3×1:0.328×1:0.346×1+0.328×1+0.3×1」の関係からスコアを比例配分させることで、オブジェクトαのスコアは「31」となり、オブジェクトβのスコアは「34」となる。
スコアリスト作成手段66は、該当ユーザ(この例の場合にはユーザD)に対してランキングされたスコアリスト(オブジェクトに関するランキングリスト)を作成して出力手段20を介して出力装置Dに出力する。これにより、検索処理において、あるユーザの検索要求があった際に、その検索結果をパーソナライズすることができる。ユーザDに対するスコアリストの一例を図5に示す。スコアリスト500は、図5に示すように、最大スコア「100」のオブジェクトγを筆頭に、スコアの高い順に、オブジェクトを配列している。ここでは、オブジェクトαは、ユーザAの履歴にのみ含まれ、オブジェクトβは、ユーザBの履歴にのみ含まれ、オブジェクトγは、ユーザCの履歴にのみ含まれていることとした。
なお、スコアリストにおいて、該当ユーザが既にアクセスしたオブジェクトが含まれてしまう場合にはこれを除いて出力するようにすることもできる。また、同様の処理によって、スコアリスト作成手段66は、該当オブジェクトに対してランキングされたスコアリスト(ユーザに関するランキングリスト)を出力することが可能である。このスコアリストにおいて、該当オブジェクトに既にアクセスしたユーザが含まれてしまう場合にはこれを除いて出力するようにしてもよい。また、入力にクエリが含まれていた場合、相対関係抽出手段64は、クエリに該当するものだけを抽出する。
[検索処理装置の動作]
図1に示した検索処理装置1の動作について図6ないし図9を参照(適宜図1参照)して説明する。図6は、検索処理装置の事前動作を示すフローチャートであり、図7は、図6に示した直接関係情報作成処理を示すフローチャートであり、図8は、図6に示した相対関係情報作成処理を示すフローチャートである。また、図9は、検索処理装置の検索処理を示すフローチャートである。
<事前動作>
図6に示すように、操作者の操作に基づいて、検索処理装置1は、入力手段10によって、対象とする全ユーザの履歴データを入力する(ステップS1)。そして、検索処理装置1は、直接関係情報作成手段52によって、直接関係情報作成処理を実行する(ステップS2:直接関係情報作成ステップ)。例えば、第1処理対象をオブジェクトとする場合に、オブジェクトを介したユーザ間の直接関係情報を作成する。続いて、検索処理装置1は、相対関係情報作成手段62によって、相対関係情報作成処理を実行する(ステップS3:相対関係情報作成ステップ)。例えば、第1処理対象をオブジェクトとする場合に、オブジェクトを介してユーザ間の相対関係情報を作成する。
そして、検索処理装置1は、関係情報更新手段63によって、終了条件が成立したか否かを判別する(ステップS4:関係情報更新ステップ)。終了条件が成立していない場合(ステップS4:No)、検索処理装置1は、関係情報更新手段63によって、第1処理対象においてユーザとオブジェクトとを切り替え(ステップS5:関係情報更新ステップ)、ステップS2に戻る。これにより、例えば、前回の第1処理対象がオブジェクトであった場合には第1処理対象をユーザに変更して、ステップS2に戻ったときに、検索処理装置1は、直接関係情報作成手段52によって、例えば、第1処理対象をユーザに変更して、ユーザを介したオブジェクト間の直接関係情報を作成する。続いて、ステップS3に進んだときに、同様に、検索処理装置1は、相対関係情報作成手段62によって、例えば、第1処理対象をユーザに変更して、ユーザを介したオブジェクト間の相対関係情報を作成する。そして、ステップS4において、再び終了条件が成立していない場合には、検索処理装置1は、ステップS5において、前回の第1処理対象がユーザであったので第1処理対象をオブジェクトに切り替えてステップS2に戻る。以下同様に、検索処理装置1は、終了条件が成立するまで、ステップS5において、第1処理対象についてユーザとオブジェクトとを交互に切り替える。一方、終了条件が成立した場合(ステップS4:Yes)、検索処理装置1は、事前処理を終了する。そして、事前処理により所定回数だけ更新された相対関係情報34が、第1処理対象に対してお薦めの第2処理対象の検索に利用されることとなる。
≪直接関係情報作成処理≫
図7に示すように、直接関係情報作成処理において、検索処理装置1は、時間重み情報抽出手段521によって、前記した式(1)または式(2)に基づいて、時間重み情報を抽出する(ステップS21:時間重み情報抽出ステップ)。そして、検索処理装置1は、選択確率算出手段522によって、前記した式(3)または式(4)に基づいて、選択確率を算出する(ステップS22:選択確率算出ステップ)。そして、検索処理装置1は、直接関係情報算出手段523によって、前記した式(3)または式(4)に示す演算を全第1処理対象に亘って行うことで直接関係情報を算出する(ステップS23:直接関係情報生成ステップ)。この算出された直接関係情報は記憶手段30に格納される。
≪相対関係情報作成処理≫
図8に示すように、相対関係情報作成処理において、検索処理装置1は、直接遷移確率行列生成手段621によって、前記した式(5)に基づいて、直接遷移確率行列を生成する(ステップS31:直接遷移確率行列生成ステップ)。そして、検索処理装置1は、正規化行列生成手段622によって、前記した式(6)に基づいて、正規化行列を生成する(ステップS32:正規化行列生成ステップ)。そして、検索処理装置1は、重み算出手段623によって、ステップS32で生成した正規化行列から重みを算出する(ステップS33:重み算出ステップ)。この算出された重みは記憶手段30に格納される。そして、検索処理装置1は、相対関係情報算出手段624によって、ステップS32で生成した正規化行列から前記した式(7)に基づいて、相対関係情報を算出する(ステップS34:相対関係情報算出ステップ)。この算出された相対関係情報は記憶手段30に格納される。
図9は、検索処理装置の検索処理を示すフローチャートである。操作者の操作に基づいて、検索処理装置1は、入力手段10によって、履歴関係情報を入力する(ステップS51:入力ステップ)。すなわち、検索処理装置1は、データ管理手段61によって、履歴関係情報を相対関係抽出手段64に入力する。そして、検索処理装置1は、相対関係抽出手段64によって、記憶手段30に記憶された相対関係情報34から履歴関係情報に対応した相対関係を抽出する(ステップS52:関係抽出ステップ)。そして、検索処理装置1は、スコア算出手段65によって、スコアを算出し(ステップS53:スコア算出ステップ)、スコアリスト作成手段66によって、スコアリストを作成する(ステップS54:スコアリスト作成ステップ)。そして、検索処理装置1は、出力手段20によって、スコアリストを出力する(ステップS55:出力ステップ)。すなわち、検索処理装置1は、データ管理手段61によって、スコアリストを出力装置Dに出力手段20を介して出力する。これにより、出力装置Dは、スコアリストを表示する。
なお、検索処理装置1は、一般的なコンピュータに、前記した各ステップを実行させる検索処理プログラムを実行することで実現することもできる。このプログラムは、通信回線を介して配布することも可能であるし、CD−ROMやフラッシュメモリ等のコンピュータ読み取り可能な記録媒体に書き込んで配布することも可能である。
<検索処理の適用例1:オブジェクトを検索するWeb検索サービス>
この適用例1において、第1に、検索処理装置1は、ユーザからの入力として、クエリおよび該当ユーザのIDを受け付けるものとする。
ここで、該当ユーザのIDが記憶手段30にある場合には、検索処理装置1は、該当ユーザに対して、クエリに該当するオブジェクトのスコアリング結果を出力する。一方、該当ユーザのIDが記憶手段30に無い場合には、検索処理装置1は、オブジェクトの重みwkを用いてスコアリングした結果を出力することとする。
この適用例1において、第2に、検索処理装置1は、ユーザからの入力として、該当ユーザのIDのみを受け付けるものとする。
この場合には、検索処理装置1は、入力されたユーザIDをキーとして相対関係が高い(相対関係情報における選択確率値の高い)ユーザを発見し、そのユーザの履歴を用いてオブジェクトのスコアリングを行い、スコアリング結果を出力する。なお、受け付けた該当ユーザのIDが記憶手段30に無い場合には、オブジェクトの重みwkを用いてスコアリングした結果を出力する。
この適用例1は、Web検索サービスのみならずECサイトの商品検索や情報フィルタリングにおいても適用可能である。
また、検索処理装置1は、ユーザからの入力として、オブジェクトIDを受け付けることも可能である。受け付けた該当オブジェクトIDが記憶手段30にある場合には、検索処理装置1は、該当オブジェクトによってスコアリングされたオブジェクトのリストを出力する。
さらに、検索処理装置1は、ユーザからの入力として、クエリおよびオブジェクトIDを受け付けることも可能である。受け付けた該当オブジェクトIDが記憶手段30にある場合には、該当オブジェクトによってスコアリングされたオブジェクトのリストはクエリに該当し、かつ、該当オブジェクト毎にスコアリングされたオブジェクトのリストとなる。
<検索処理の適用例2:ユーザを検索するWeb検索サービス>
この適用例2において、第1に、検索処理装置1は、ユーザからの入力として、該当ユーザのIDを受け付けるものとする。ここで、該当ユーザのIDが記憶手段30にある場合には、検索処理装置1は、ユーザ毎にスコアリングされたユーザのリストを出力する。一方、該当ユーザのIDが記憶手段30に無い場合、ユーザの重みvkを用いてスコアリングした結果を出力する。この適用例2は、広告配信やマーケティングにおいても適用可能である。
本実施形態によれば、ユーザのニーズをニーズそのものではなく、同じニーズに対するユーザ間の関係として、オブジェクトに対する時系列的なアクセスの順序の差で定義すると共に、ユーザのアクセス履歴を用いてユーザの行動とその時点のオブジェクトの時間および時系列の変化を利用したので、パーソナライゼーションに必要なユーザまたはオブジェクトを容易に検索することができる。また、ユーザ間にバーチャルネットワークの存在を仮定した場合でもパーソナライズすることができる。また、検索においてユーザの履歴データを用いているので、ニーズを、クエリだけではなく、過去のユーザの行動および類似した行動を取るユーザから類推できる。さらに、ユーザ間の行動およびオブジェクト間の時間および時系列の変化を利用しているので、各ユーザの行動パターンを、各ユーザの時系列な順序関係から予測することができる。
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、その趣旨を変えない範囲で実施することができる。例えば、検索処理装置1は、検索サービス(検索エンジンやECサイト)のシステムに内包されるものとして説明したが、これに限定されるものではなく、検索サービス上で実行されるサービスをパーソナライズするために、その検索サービスのシステムとは独立したシステムとしても実装可能である。この場合には、複数の検索サービスに対してパーソナライズを実現することが可能である。また、この場合に、入力手段10は、他の検索エンジンの検索出力結果やECサイトの検索出力結果と、ユーザIDとを受け付けることができる。また、スコアリストを出力手段20を介して出力装置Dに出力するものとしたが、スコアリストを、独立した検索サービスに対して返すことも可能である。
また、本実施形態では、前記した式(3)または式(4)において重みの初期値を「1」として、スコアリング処理手段60の算出する重みを用いることとしたが、これに限定されるものではない。例えば、重みの初期値「1」を変化させること無くこのまま利用してもよい。また、式(8)で定義する減衰関数によって、重みを時系列的に変化させてもよい。ここで、Tkは予め定められた時刻、tkは経過時間をそれぞれ示す。
Figure 2008305055
また、本実施形態では、前記した式(1)または式(2)において、アクセス順位を比較するものとしたが、図3を参照して説明したように単なる順序で比較するようにしてもよい。
また、本実施形態では、履歴データ処理手段50は、計算処理結果(直接関係情報)を記憶手段30に格納することとしたが、そのままスコアリング処理手段60に渡すようにしてもよい。言い換えると、スコアリング処理手段60は、記憶手段30から読み出した直接関係情報33を用いる代わりに、履歴データ処理手段50から入力された直接関係情報を用いて相対関係情報および重みを算出するようにしてもよい。
また、本実施形態では、前記した式(3)または式(4)において重みを計算に用いるベストモードで説明したが、式(3)または式(4)において重みは必須ではない。重みを用いない場合には、処理を簡略化することができる。
また、本実施形態では、直接関係情報作成処理(S2)と相対関係情報作成処理(S3)とを繰り返すベストモードで説明したが、繰り返すことは必須ではない。また、本実施形態では、直接関係情報作成処理(S2)に続いて相対関係情報作成処理(S3)を実行するものとして説明したが、相対関係情報作成処理(S3)をスキップしてもよい。これらの簡易な処理によって、計算コストを低減できる。
また、検索処理装置1を構成する装置は、1台に限定されることはなく、複数の装置に機能を分散配置してもよい。例えば、制御手段40の履歴データ処理手段50とスコアリング処理手段60とを、別々の装置として構成してもよい。これにより、各装置への負荷が分散され、高速な処理が実現可能となる。
本発明の実施形態に係る検索処理装置の構成を示すブロック図である。 履歴データの構造の一例を示す図である。 データ間の直接関係の一例を示す説明図である。 データ間の相対関係の一例を示す説明図である。 スコアリストの一例を示す図である。 検索処理装置の事前動作を示すフローチャートである。 直接関係情報作成処理を示すフローチャートである。 相対関係情報作成処理を示すフローチャートである。 検索処理装置の検索処理を示すフローチャートである。
符号の説明
1 検索処理装置
10 入力手段
20 出力手段
30 記憶手段
31 履歴データ
32 時間重み情報
33 直接関係情報(関係情報)
34 相対関係情報(関係情報)
35 重みデータ
40 制御手段
50 履歴データ処理手段
51 データ管理手段
52 直接関係情報作成手段(関係情報作成手段)
521 時間重み情報抽出手段
522 選択確率算出手段
523 直接関係情報算出手段
60 スコアリング処理手段
61 データ管理手段
62 相対関係情報作成手段(関係情報作成手段)
621 直接遷移確率行列生成手段
622 正規化行列生成手段
623 重み算出手段
624 相対関係情報算出手段
63 関係情報更新手段
64 相対関係抽出手段(関係抽出手段)
65 スコア算出手段
66 スコアリスト作成手段
M 入力装置
D 出力装置

Claims (9)

  1. 対象とする複数のユーザが対象とする1以上のデジタル化されたオブジェクトにアクセスした履歴を示すユーザごとの全履歴データを利用して、前記ユーザと前記オブジェクトのうちの一方をリコメンドに関する第1処理対象としたときに他方を第2処理対象として前記第1処理対象に対して最適候補の第2処理対象を検索する検索処理方法であって、
    関係情報作成手段によって、前記全履歴データから前記第1処理対象と前記第2処理対象とのアクセス時間に関する重みに基づいて前記第1処理対象間のすべての直接関係を示す関係情報を作成する関係情報作成ステップと、
    データ管理手段によって、第1処理対象を特定するユーザの履歴に関する履歴関係情報を入力する入力ステップと、
    関係抽出手段によって、前記作成された関係情報から、前記入力された履歴関係情報で特定される第1処理対象と、当該第1処理対象を除く他の第1処理対象との間のそれぞれの関係を抽出する関係抽出ステップと、
    スコア算出手段によって、前記それぞれの他の第1処理対象の履歴データに含まれる第2処理対象に対して、前記それぞれ抽出された関係を数値化したスコアを算出するスコア算出ステップと、
    スコアリスト作成手段によって、前記スコアが算出された第2処理対象を前記スコアで順位付けしたリストであるスコアリストを作成するスコアリスト作成ステップと、
    データ管理手段によって、前記作成されたスコアリストを出力する出力ステップとを含むことを特徴とする検索処理方法。
  2. 前記関係情報作成ステップは、前記関係情報として、
    前記第1処理対象間のすべての直接関係を示す直接関係情報を作成する直接関係情報作成ステップと、
    前記全履歴データと前記直接関係情報とを利用して、前記第1処理対象間の直接関係および間接関係を合わせた関係を示す相対関係情報を作成する相対関係情報作成ステップと、
    所定の終了条件が成立するまで、前記直接関係情報作成ステップと前記相対関係情報作成ステップとの一連の処理において、前記第1処理対象としてユーザとオブジェクトとを交互に切り替えて、前記直接関係情報および前記相対関係情報を更新する関係情報更新ステップとを有し、
    前記関係抽出ステップは、前記関係情報として、前記更新された相対関係情報から、前記入力された履歴関係情報で特定される第1処理対象と、当該第1処理対象を除く他の第1処理対象との間のそれぞれの関係を抽出することを特徴とする請求項1に記載の検索処理方法。
  3. 前記直接関係情報作成ステップは、
    前記全履歴データから前記第2処理対象を固定したときの所定の2つの第1処理対象間において、前記第2処理対象に関するアクセス時間に関する重みを示す時間重み情報を抽出する時間重み情報抽出ステップと、
    前記抽出された時間重み情報に、前記第2処理対象の所定の重みを乗じて前記第2処理対象についてとった和を、前記第2処理対象について正規化することで得られる選択確率を前記所定の2つの第1処理対象間の直接関係として算出する選択確率算出ステップと、
    前記選択確率を前記第1処理対象に亘って算出することで、前記直接関係情報を生成する直接関係情報生成ステップとを有することを特徴とする請求項2に記載の検索処理方法。
  4. 前記相対関係情報作成ステップは、
    前記第1処理対象間の直接関係を数値化した確率値の所定の第1処理対象ごとの和が所定のしきい値より大きいか否かを判別し、前記和が前記しきい値より大きい場合に当該確率値を要素とすると共に、前記和が前記しきい値以下の場合に全第1処理対象数で正規化した確率値を要素とする正方行列を、全第1処理対象間の直接遷移確率を示す直接遷移確率行列として生成する直接遷移確率行列生成ステップと、
    前記直接遷移確率行列と、前記全第1処理対象数で正規化した確率値を要素とする正方行列とを凸結合により正規化した正規化行列を生成する正規化行列生成ステップと、
    前記正規化行列を予め定められた第1処理対象間媒介変数を指数としてべき乗した結果についての前記第1処理対象間媒介変数に関する和を、前記相対関係情報として算出する相対関係情報算出ステップとを有することを特徴とする請求項3に記載の検索処理方法。
  5. 前記相対関係情報作成ステップは、
    前記正規化行列の最大固有値に対応する固有ベクトルのうち前記それぞれの第1処理対象に対応する値を、前記それぞれの第1処理対象に対する重みとして算出する重み算出ステップをさらに有し、
    前記選択確率算出ステップは、
    前記関係情報更新ステップでユーザとオブジェクトとが切り替えられた第1処理対象について前記時間重み情報抽出ステップで抽出された時間重み情報に、前記関係情報更新ステップでユーザとオブジェクトとが切り替えられる前に前記重み算出ステップで算出された第1処理対象に対する重みを乗じることで、前記切り替えられる前の第1処理対象間の直接関係として前記選択確率を算出することを特徴とする請求項4に記載の検索処理方法。
  6. 前記第1処理対象はユーザであって、
    前記関係抽出ステップは、
    前記入力された履歴関係情報で特定されるユーザに対して前記重み算出ステップで算出された重みを、前記特定されるユーザと他のユーザとの関係として抽出し、
    前記スコア算出ステップは、
    前記特定されるユーザに対して抽出された重みが所定の基準値より大きいか否かを判別し、前記重みが前記基準値より小さい場合に前記相対関係情報に基づいて該当するそれぞれのオブジェクトに対してスコアを算出し、前記重みが前記基準値以上である場合に、未アクセスであるオブジェクトに対してスコアを算出することを特徴とする請求項5に記載の検索処理方法。
  7. 請求項1ないし請求項6のいずれか一項に記載の検索処理方法をコンピュータに実行させることを特徴とする検索処理プログラム。
  8. 請求項7に記載の検索処理プログラムが記録されたことを特徴とするコンピュータ読み取り可能な記録媒体。
  9. 対象とする複数のユーザが対象とする1以上のデジタル化されたオブジェクトにアクセスした履歴を示すユーザごとの全履歴データを利用して、前記ユーザと前記オブジェクトのうちの一方をリコメンドに関する第1処理対象としたときに他方を第2処理対象として前記第1処理対象に対して最適候補の第2処理対象を検索する検索処理装置であって、
    前記全履歴データから前記第1処理対象と前記第2処理対象とのアクセス時間に関する重みに基づいて前記第1処理対象間のすべての直接関係を示す関係情報を作成する関係情報作成手段と、
    第1処理対象を特定するユーザの履歴に関する履歴関係情報を入力する入力手段と、
    前記作成された関係情報から、前記入力された履歴関係情報で特定される第1処理対象と、当該第1処理対象を除く他の第1処理対象との間のそれぞれの関係を抽出する関係抽出手段と、
    前記それぞれの他の第1処理対象の履歴データに含まれる第2処理対象に対して、前記それぞれ抽出された関係を数値化したスコアを算出するスコア算出手段と、
    前記スコアが算出された第2処理対象を前記スコアで順位付けしたリストであるスコアリストを作成するスコアリスト作成手段と、
    前記作成されたスコアリストを出力する出力手段とを備えることを特徴とする検索処理装置。
JP2007150137A 2007-06-06 2007-06-06 検索処理装置、検索処理方法、検索処理プログラムおよびそのプログラムを記録した記録媒体 Pending JP2008305055A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007150137A JP2008305055A (ja) 2007-06-06 2007-06-06 検索処理装置、検索処理方法、検索処理プログラムおよびそのプログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007150137A JP2008305055A (ja) 2007-06-06 2007-06-06 検索処理装置、検索処理方法、検索処理プログラムおよびそのプログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
JP2008305055A true JP2008305055A (ja) 2008-12-18

Family

ID=40233751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007150137A Pending JP2008305055A (ja) 2007-06-06 2007-06-06 検索処理装置、検索処理方法、検索処理プログラムおよびそのプログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP2008305055A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013517558A (ja) * 2010-01-13 2013-05-16 マイクロソフト コーポレーション 関係性ベースの共有オンライン空間内参加者表現

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005141486A (ja) * 2003-11-06 2005-06-02 Nippon Telegr & Teleph Corp <Ntt> コンテンツ推薦対象ユーザ選出装置と方法ならびにプログラムおよびコンテンツ推薦システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005141486A (ja) * 2003-11-06 2005-06-02 Nippon Telegr & Teleph Corp <Ntt> コンテンツ推薦対象ユーザ選出装置と方法ならびにプログラムおよびコンテンツ推薦システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013517558A (ja) * 2010-01-13 2013-05-16 マイクロソフト コーポレーション 関係性ベースの共有オンライン空間内参加者表現

Similar Documents

Publication Publication Date Title
US11995112B2 (en) System and method for information recommendation
US20190130285A1 (en) Artificial intelligence system for real-time visual feedback-based refinement of query results
US20190228105A1 (en) Dynamic website content optimization
JP7083375B2 (ja) 個人化コンテンツ推薦のためのリアルタイムグラフに基づく埋め込み構築方法およびシステム
US11403532B2 (en) Method and system for finding a solution to a provided problem by selecting a winner in evolutionary optimization of a genetic algorithm
JP5477297B2 (ja) 能動計量学習装置、能動計量学習方法および能動計量学習プログラム
KR20180091043A (ko) 사용자 포트레이트를 획득하는 방법 및 장치
JP6028103B2 (ja) データ管理方法、データ管理装置及び記憶媒体
JP2002230021A (ja) 情報検索装置及び情報検索方法並びに記憶媒体
CA2953775A1 (en) Systems and methods for serving product recommendations
US11163783B2 (en) Auto-selection of hierarchically-related near-term forecasting models
Kwong et al. A methodology of integrating marketing with engineering for defining design specifications of new products
US20140108162A1 (en) Predicting performance of an online advertising campaign
KR101818717B1 (ko) 컨셉 키워드 확장 데이터 셋을 이용한 검색방법, 장치 및 컴퓨터로 판독 가능한 기록매체
KR20210152395A (ko) 정보 처리장치, 정보 처리방법 및 컴퓨터 판독가능한 기록매체
CN118093801A (zh) 基于大语言模型的信息交互方法、装置以及电子设备
US20230351655A1 (en) Automatic design-creating artificial neural network device and method, using ux-bits
Chen et al. Session-based recommendation: Learning multi-dimension interests via a multi-head attention graph neural network
CN118093962A (zh) 数据检索方法、装置、系统、电子设备及可读存储介质
JP5143182B2 (ja) 機械学習方法および機械学習システム
KR20190013907A (ko) 정보 처리 시스템 및 방법, 및 프로그램
Luo et al. Linear programming embedded genetic algorithm for product family design optimization with maximizing imprecise part-worth utility function
JP2008305055A (ja) 検索処理装置、検索処理方法、検索処理プログラムおよびそのプログラムを記録した記録媒体
CN116910345A (zh) 一种标签推荐方法、装置、设备及存储介质
KR101818716B1 (ko) 컨셉 키워드 확장 데이터 셋 생성방법, 장치 및 컴퓨터로 판독 가능한 기록매체

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090715

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110705

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110810

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120228