(57)【特許請求の範囲】
【請求項１】
各ユーザのアイテム購入履歴を示す購入履歴情報に基づいて、購入サイトを訪問した訪問ユーザに対して購入を推薦する推薦アイテムを特定する推薦アイテム検索サーバであって、
前記購入履歴情報を記憶する購入履歴情報記憶手段と、
前記購入履歴情報を参照し、前記訪問ユーザが購入したアイテムあるいは当該訪問ユーザが購入を予定しているアイテムを示す訪問ユーザ関係アイテムの購入履歴を持つ他のユーザである関係ユーザを特定する関係ユーザ特定手段と、
前記購入履歴情報を参照し、前記関係ユーザ特定手段によって特定された関係ユーザが購入したアイテムの集合であるアイテム集合を導出するアイテム集合導出手段と、
前記アイテム集合に属する各アイテムと前記訪問ユーザ関係アイテムとの相関度を、前記購入履歴情報に基づいて導出する相関度導出手段と、
該相関度導出手段によって導出された相関度に応じて、前記訪問ユーザ関係アイテムとの相関度の高い所定数のアイテムを前記推薦アイテムに特定する推薦アイテム特定手段とを含む
ことを特徴とする推薦アイテム検索サーバ。
【請求項２】
前記購入履歴情報は、各アイテムが配列されたアイテム軸と、各ユーザが配列されたユーザ軸とを有する購入履歴マトリクステーブルに格納されており、
該購入履歴マトリクステーブルにおける各マスに購入実績の有無を示す購入実績情報が格納されている
請求項１記載の推薦アイテム検索サーバ。
【請求項３】
前記関係ユーザ特定手段は、前記購入履歴マトリクステーブルのアイテム軸における前記訪問ユーザ関係アイテムに対応する各マスを確認し、前記訪問ユーザ関係アイテムの購入実績が有ることを示す購入実績情報が格納されている各マスに対応するユーザ軸におけるユーザを関係ユーザとして特定する
請求項２記載の推薦アイテム検索サーバ。
【請求項４】
前記アイテム集合導出手段は、前記購入履歴マトリクステーブルのユーザ軸における前記関係ユーザに対応する各マスを確認し、当該関係ユーザが購入したアイテムの集合であるアイテム集合を導出する
請求項２または請求項３記載の推薦アイテム検索サーバ。
【請求項５】
前記推薦アイテム特定手段によって特定された前記推薦アイテムを前記訪問ユーザに対して推薦するアイテム推薦手段を含む
請求項１から請求項４のうちいずれかに記載の推薦アイテム検索サーバ。
【請求項６】
各ユーザのアイテム購入履歴を示す購入履歴情報に基づいて、購入サイトを訪問した訪問ユーザに対して購入を推薦する推薦アイテムを特定させる推薦アイテム検索プログラムであって、
コンピュータに、
前記購入履歴情報を記憶する購入履歴情報記憶手段に記憶された当該購入履歴情報を参照し、前記訪問ユーザが購入したアイテムあるいは当該訪問ユーザが購入を予定しているアイテムを示す訪問ユーザ関係アイテムの購入履歴を持つ他のユーザである関係ユーザを特定する関係ユーザ特定ステップと、
前記購入履歴情報を参照し、前記関係ユーザ特定ステップにて特定した関係ユーザが購入したアイテムの集合であるアイテム集合を導出するアイテム集合導出ステップと、
前記アイテム集合に属する各アイテムと前記訪問ユーザ関係アイテムとの相関度を、前記購入履歴情報に基づいて導出する相関度導出ステップと、
該相関度導出ステップにて導出した相関度に応じて、前記訪問ユーザ関係アイテムとの相関度の高い所定数のアイテムを前記推薦アイテムに特定する推薦アイテム特定ステップとを
実行させるための推薦アイテム検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各ユーザのアイテム購入履歴を示す購入履歴情報に基づいて、購入サイトを訪問した訪問ユーザに対して購入を推薦する推薦アイテムを特定する推薦アイテム検索サーバ、および推薦アイテム検索プログラムに関する。
【背景技術】
【０００２】
従来から、インターネット上で商品を購入することが可能な仮想店舗であるインターネットショップを提供する様々なインターネットショップサイトが運営されている。
【０００３】
このようなインターネットショップサイトにおいて、サイトに訪問してきた訪問ユーザに対して購入を推奨する商品を特定し、その推奨する商品を提示する機能を有しているものがある。例えば、訪問ユーザの購入履歴と、各ユーザの購入履歴とに基づいて、訪問ユーザに対して購入を推奨する商品が特定される。
【０００４】
購入を推奨する商品が特定方法として、アイテムベース協調フィルタリング（あるいは、ユーザーベース協調フィルタリング）と呼ばれるフィルタリング技術が用いられている（例えば、非特許文献１参照）。
【０００５】
このアイテムベース協調フィルタリングでは、全アイテムについての購入履歴情報に基づいて、各アイテムの相関関係を示す値があらかじめ算出されて保存されており、この保存データを用いて推奨する商品が特定される。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】“Ａｍａｚｏｎ．ｃｏｍ  Ｒｅｃｏｍｍｅｎｄａｔｉｏｎｓ”、［ｏｎｌｉｎｅ］、［平成２２年９月３０日検索］、インターネット＜ＵＲＬ：http://hugo.csie.ntu.edu.tw/~yjhsu/courses/u2010/papers/Amazon%20Recommendations.pdf#search='Amazon%20Recommendation%202003%20IEEE'＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来のフィルタリング技術では、各アイテムの相関関係を示す値をあらかじめ算出しておく必要があるが、この算出処理には膨大な時間を要する（例えば、１０万アイテムの場合、数十時間を要する）ため、推薦アイテムの特定処理を行う前に、事前に時間をかけて算出しておく必要があった。よって、最新の履歴情報に基づく推薦アイテムの特定を行うことができず、リアルタイム性に欠けるという問題があった。
【０００８】
また、各アイテムの相関関係を示す値はデータ量が膨大なものとなるが、このデータを継続して保存しておく必要があるため、大規模なメモリが必要になるという問題もあった。
【０００９】
本発明は、上述した問題を解消し、大容量のメモリを必要とすることなく、リアルタイムに推薦アイテムを特定することができるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明の推薦アイテム検索サーバは、各ユーザのアイテム購入履歴を示す購入履歴情報に基づいて、購入サイトを訪問した訪問ユーザに対して購入を推薦する推薦アイテムを特定する推薦アイテム検索サーバであって、前記購入履歴情報を記憶する購入履歴情報記憶手段と、前記購入履歴情報を参照し、前記訪問ユーザが購入したアイテムあるいは当該訪問ユーザが購入を予定しているアイテムを示す訪問ユーザ関係アイテムの購入履歴を持つ他のユーザである関係ユーザを特定する関係ユーザ特定手段と、前記購入履歴情報を参照し、前記関係ユーザ特定手段によって特定された関係ユーザが購入したアイテムの集合であるアイテム集合を導出するアイテム集合導出手段と、前記訪問ユーザ関係アイテムと、前記アイテム集合導出手段によって導出されたアイテム集合に属する各アイテムとの間の相関度を導出する相関度導出手段と、該相関度導出手段によって導出された相関度に応じて、前記訪問ユーザ関係アイテムとの相関度の高い所定数のアイテムを前記推薦アイテムに特定する推薦アイテム特定手段とを含むことを特徴とする。
【００１１】
上記の構成としたことで、大容量のメモリを必要とすることなく、リアルタイムに推薦アイテムを特定することができるようになる。
【００１２】
前記購入履歴情報は、各アイテムが配列されたアイテム軸と、各ユーザが配列されたユーザ軸とを有する購入履歴マトリクステーブルに格納されており、該購入履歴マトリクステーブルにおける各マスに購入実績の有無を示す購入実績情報が格納されている構成とされていてもよい。
【００１３】
前記関係ユーザ特定手段は、前記購入履歴マトリクステーブルのアイテム軸における前記訪問ユーザ関係アイテムに対応する各マスを確認し、前記訪問ユーザ関係アイテムの購入実績が有ることを示す購入実績情報が格納されている各マスに対応するユーザ軸におけるユーザを関係ユーザとして特定する構成とされていてもよい。
【００１４】
前記アイテム集合導出手段は、前記購入履歴マトリクステーブルのユーザ軸における前記関係ユーザに対応する各マスを確認し、当該関係ユーザが購入したアイテムの集合であるアイテム集合を導出する構成とされていてもよい。
【００１５】
前記推薦アイテム特定手段によって特定された前記推薦アイテムを前記訪問ユーザに対して推薦するアイテム推薦手段を含む構成とされていてもよい。
【００１６】
また、本発明の推薦アイテム検索プログラムは、各ユーザのアイテム購入履歴を示す購入履歴情報に基づいて、購入サイトを訪問した訪問ユーザに対して購入を推薦する推薦アイテムを特定させる推薦アイテム検索プログラムであって、コンピュータに、前記購入履歴情報を記憶する購入履歴情報記憶手段に記憶された当該購入履歴情報を参照し、前記訪問ユーザが購入したアイテムあるいは当該訪問ユーザが購入を予定しているアイテムを示す訪問ユーザ関係アイテムの購入履歴を持つ他のユーザである関係ユーザを特定する関係ユーザ特定ステップと、前記購入履歴情報を参照し、前記関係ユーザ特定ステップにて特定した関係ユーザが購入したアイテムの集合であるアイテム集合を導出するアイテム集合導出ステップと、前記訪問ユーザ関係アイテムと、前記アイテム集合導出ステップにて導出したアイテム集合に属する各アイテムとの間の相関度を導出する相関度導出ステップと、該相関度導出ステップにて導出した相関度に応じて、前記訪問ユーザ関係アイテムとの相関度の高い所定数のアイテムを前記推薦アイテムに特定する推薦アイテム特定ステップとを実行させるためのものである。
【発明の効果】
【００１７】
本発明によれば、大容量のメモリを必要とすることなく、リアルタイムに推薦アイテムを特定することができるようになる。
【図面の簡単な説明】
【００１８】
【図１】推薦アイテム検索システムの構成例を示すブロック図である。
【図２】推薦アイテム検索サーバの構成の例を示すブロック部である。
【図３】購入履歴情報の格納状態の例を示す説明図である。
【図４】推薦アイテムを提供するための既存の手法について説明するための説明図である。
【図５】推薦アイテム特定処理の例を示すフローチャートである。
【図６】アイテム検索画面の例を示す説明図である。
【図７】推薦アイテム特定処理における購入履歴情報の活用方法を説明するための説明図である。
【図８】推薦アイテム特定処理にて導出される相関度などの例を示す説明図である。
【図９】推薦アイテム表示画面の例を示す説明図である。
【図１０】推薦アイテム特定処理の他の例を示すフローチャートである。
【図１１】アイテム閲覧画面の例を示す説明図である。
【発明を実施するための形態】
【００１９】
以下、本発明の一実施の形態の例について図面を参照して説明する。
【００２０】
図１は、本発明の一実施の形態に係る推薦アイテム検索システム１００の構成例を示すブロック図である。図１に示すように、推薦アイテム検索システム１００は、推薦アイテム検索サーバ１０と、ユーザ端末２１〜２Ｎ（Ｎ：任意の正の整数）と、基地局３０と、Ｗｅｂフロントエンドサーバ（以下、ＷＦＥサーバ）４０とを含む。
【００２１】
基地局３０とＷＦＥサーバ４０は、例えば専用回線やインターネットなどの通信ネットワーク５０に接続されている。また、ユーザ端末２１〜２Ｎは、それぞれ無線通信回線によって基地局３０に接続する。すなわち、ユーザ端末２１〜２Ｎは基地局３０を介して通信ネットワーク５０に接続される。また、推薦アイテム検索サーバ１０は、専用回線により、エンドユーザ（本例においては、ユーザ端末２１〜２Ｎ）からの要求を受け付ける役割を果たすＷＦＥサーバ４０に接続されている。以下、ユーザ端末２１〜２Ｎと推薦アイテム検索サーバ１０との通信に関して、基地局３０とＷＦＥサーバ４０の動作についての説明は省略する。
【００２２】
推薦アイテム検索サーバ１０は、ＯＳ（Operating System）、ミドルウェア、および各種アプリケーションなどを備えた一般的な情報処理装置によって構成される。推薦アイテム検索サーバ１０は、例えば推薦アイテム検索システム１００のシステム管理者によって管理されるサーバである。
【００２３】
推薦アイテム検索サーバ１０は、自己が有する情報記憶媒体に記憶された購入履歴情報（または、商品購入履歴）を含む各種情報に基づいて、ユーザに対してアイテムを推薦するための処理（推薦アイテム特定処理）を含む各種処理を実行するための機能を有する。なお、本例における購入履歴情報と推薦アイテム特定処理については、後で詳しく説明する（図３、図５参照）。
【００２４】
図２は、本例における推薦アイテム検索サーバ１０の構成の例を示すブロック部である。図２に示すように、推薦アイテム検索サーバ１０は、制御部１１と、関係ユーザ特定部１２と、アイテム集合導出部１３と、相関度導出部１４と、推薦アイテム特定部１５と、アイテム推薦部１６とを含む。
【００２５】
制御部１１は、例えばＣＰＵ（中央処理装置）により構成され、推薦アイテム検索サーバ１０が有する情報記憶媒体に記憶されたコンピュータプログラム（ナビゲーション装置１００に動作制御させるためのコンピュータプログラムであり、推薦アイテム検索プログラムを含む。）に従い、推薦アイテム検索サーバ１０を構成する各要素を統括制御し、例えば各種情報を検索する情報検索処理を実行するための機能など各種機能を有する。なお、制御部１１が有する各種機能は、一般のサーバ装置が備える公知の技術によって実現される。
【００２６】
関係ユーザ特定部１２は、後述する購入履歴情報ＤＢ（database）１０Ａを参照し、訪問ユーザが購入したアイテムあるいは訪問ユーザが購入を予定しているアイテムを示す「訪問ユーザ関係アイテム」の購入履歴を持つ他のユーザ（関係ユーザ）を特定する
【００２７】
アイテム集合導出部１３は、後述する購入履歴情報ＤＢ１０Ａを参照し、関係ユーザ特定部１２によって特定された関係ユーザが購入したアイテムの集合であるアイテム集合を導出する処理を行う機能を有する。アイテム集合の導出方法の例については、後で詳しく説明する。
【００２８】
相関度導出部１４は、訪問ユーザ関係アイテムと、アイテム集合導出部１３によって導出されたアイテム集合に属する各アイテムとの間の相関度を導出する処理を行う機能を有する。ここで、本例における「相関度」とは、あるアイテム（アイテム１）の購入履歴を有しているユーザが、他の特定のアイテム（アイテム２）を購入している確率を示すものである。すなわち、ある２つのアイテムが同一ユーザの購入履歴に同時に含まれている確率（いわゆる、共起頻度）を示すものである。なお、相関度の導出方法としては、例えば、コサイン距離により相関度を示すコサイン処理測定法など、公知の算術式を用いることができる。なお、「コサイン距離」とは、ある２つの要素の特徴量をそれぞれベクトルで示す場合に、２つのベクトルの内積を各ベクトルの絶対値の積で除算して得られる値である。
【００２９】
本例においては、相関度導出部１４は、ユーザが購入したアイテム（ユーザ購入アイテム）「ｔ」と、ユーザが購入したアイテムを購入した他のユーザが購入しているアイテム（共起アイテム）「ｒ」とに関して下記の数式１を用いることにより、ユーザ購入アイテム「ｔ」と共起アイテム「ｒ」との相関度を導出する。
【００３０】
【数１】
0005841323.tif 000002
【００３１】
推薦アイテム特定部１５は、相関度導出部１４によって導出された相関度に応じて、訪問ユーザ関係アイテムとの相関度の高い所定数（例えば、相関度の高い順に５つ以内）のアイテムを推薦アイテムに特定する処理を行う機能を有する。
【００３２】
アイテム推薦部１６は、推薦アイテム特定部１５によって特定された推薦アイテムを訪問ユーザに対して推薦するための処理を行う機能を有する。本例においては、アイテム推薦部１６は、ユーザ端末が備える表示部に推薦アイテムを表示することにより推薦アイテムを推薦する。具体的には、アイテム推薦部１６は、例えば、ユーザ端末が備える表示装置の表示画面に、推薦アイテムの名称などを表示する推薦アイテム表示領域を含む表示画面を表示させるためのデータを作成し、作成したデータをユーザ端末に送信する処理を行う機能を有する。
【００３３】
また、推薦アイテム検索サーバ１０は、購入履歴情報を格納する記憶媒体である購入履歴情報ＤＢ１０Ａを備える。
【００３４】
図３は、購入履歴情報ＤＢ１０Ａに記憶される購入履歴情報の格納状態の例を示す説明図である。図３に示すように、本例における購入履歴情報は、各アイテムが配列されたアイテム軸と、各ユーザが配列されたユーザ軸とを有する購入履歴マトリクステーブルに格納されており、購入履歴マトリクステーブルにおける各マスに購入実績の有無を示す購入実績情報が格納されている。具体的には、図３に示すように、購入履歴情報は、列項目としてアイテムを一意に特定可能なアイテムＩＤを有し、行項目としてユーザを一意に特定可能なユーザＩＤを有する行列形式で管理し、例えばユーザＩＤ「Ｕ１」で示されるユーザがアイテムＩＤ「Ｉ１」で示されるアイテムを購入した場合、行列の（Ｕ１，Ｉ１）の要素に「１」が設定される。なお、その他の要素は「０」の値が設定されているものとする。また、「１」が設定された要素も、所定の条件（例えば、アイテム購入日から所定日数経過したこと）が満たされた場合に、再び「０」が設定される構成としてもよい。以下、本例においては説明を容易にするために、購入履歴情報については「５×５」の行列を例に説明を行なう。
【００３５】
次に、推薦アイテム検索システム１００における推薦アイテム検索サーバ１０の動作について図面を参照して説明する。なお、本発明に特に関係しない動作や処理については、その内容を省略している場合がある。
【００３６】
本例において、推薦アイテム検索サーバ１０は、ユーザ端末２１〜２Ｎを操作する各ユーザのアイテム購入履歴を示す購入履歴情報に基づいて、購入サイトを訪問した訪問ユーザに対して購入を推薦する推薦アイテムを特定する推薦アイテム特定処理を実行する。なお、購入サイトは推薦アイテム検索サーバ１０が提供する構成としてもよいし、推薦アイテム検索サーバ１０が、推薦アイテム検索サーバ１０に登録された購入サイト作成者が提供する購入サイトにおけるユーザの訪問に関する情報を収集する構成としてもよい。
【００３７】
ここで、改めて推薦アイテムを提供するために使用されている既存の手法と、推薦アイテム検索サーバ１０が実行する推薦アイテム特定処理の差異について説明する。
【００３８】
図４は、推薦アイテムを提供するための既存の手法について説明するための説明図である。図４に示すように、既存の手法では、購入履歴情報から、購入履歴情報に含まれるアイテム群同士の相関度を示す近傍情報をバッチ処理にて一括計算していた。そのため、この処理に係る処理負担は大きく、購入履歴情報の大きさによっては、処理開始から終了までに数十時間を要する場合もあった。そのため、近郷情報と訪問ユーザのアイテム購入履歴とに基づいて推薦アイテムを提供する場合、ユーザの訪問時（すわなち、サイト閲覧時）と近傍情報の更新時の時間的ずれが大きくなってしまうという問題があった。また、近傍情報を保存しておくための大規模な記憶領域を確保する必要があるという問題があった。
【００３９】
このような既存の手法に対して、推薦アイテム検索サーバ１０が実行する推薦アイテム特定処理は、近傍情報の作成と保存が不要な点で技術上の意義を有するものである。すなわち、推薦アイテム検索サーバ１０が実行する推薦アイテム特定処理は、購入履歴情報から推薦要求の度に入力情報から直接相関度を導出して推薦アイテムを検索する点で有用である。
【００４０】
図５は、推薦アイテム検索サーバ１０が実行する推薦アイテム特定処理の例を示すフローチャートである。なお、以下、処理主体を推薦アイテム検索サーバ１０が備える制御部１１として説明を行なう。
【００４１】
なお、推薦アイテム特定処理は、推薦アイテム検索サーバ１０にアクセスしてきたユーザ端末２２が有する表示装置の表示画面に、例えば図６に示すような、一般的なジャンル検索やキーワード検索を受け付ける画面の表示要求を受け付ける検索ボタン１０１と、推薦アイテム表示画面の表示要求を受け付ける推薦アイテム表示ボタン１０２とを含むアイテム検索画面が表示されているときに、推薦アイテム検索サーバ１０が、ユーザ端末２２から推薦アイテム表示ボタン１０２の選択を受け付けた旨の通知を受信したことに応じて開始される。以下、ユーザ端末２２に対する推薦アイテム検索サーバ１０の動作について説明する。
【００４２】
推薦アイテム特定処理において、先ず、制御部１１は、訪問ユーザであるユーザ端末２２のユーザの購入履歴（ユーザが購入したアイテムを示す情報）を特定し、入力行列Ｔ（ユーザＩＤ）を特定する（ステップＳ１０１）。本例においては、ユーザ端末２２のユーザを示すユーザＩＤが「Ｕ２」である場合を例に説明を行なう（図３参照）。
【００４３】
図７は、推薦アイテム特定処理における購入履歴情報の活用方法を説明するための説明図である。以下、適宜図７を参照して説明を行なう。なお、以下説明を容易にするため、アイテムやユーザを示す場合に「ＩＤ」の文字を省略する。すなわち、例えばユーザＩＤ「Ｕ２」が示すユーザを「ユーザＵ２」と、アイテムＩＤ「Ｉ１」が示すアイテムを「アイテムＩ１」と表すこととする。また、ユーザ情報やアイテム情報が行列の要素を構成する場合には、例えば「Ｉ１」というように、各要素を対応するＩＤで表すこととする。
【００４４】
ここでは、制御部１１は、要素［Ｉ１，Ｉ３］を入力行列Ｔ（Ｕ２）の要素として特定する。なお、入力行列の要素それぞれが「訪問ユーザ関係アイテム」である。
【００４５】
入力行列を特定すると（図７（Ａ）参照）、制御部１１は、入力行列の要素が空であるか否かを判定する（ステップＳ１０２）。ここで、入力行列の要素が空であると判定した場合（ステップＳ１０２のＹ）、制御部１１は、後述するステップＳ１１０の処理に移行する。
【００４６】
一方、入力行列の要素が空でないと判定すると（例えば、入力行列Ｔ（Ｕ２）の要素が［Ｉ１，Ｉ３］であると判定すると）（ステップＳ１０２のＮ）、制御部１１は、入力行列のうちの１つをユーザ購入アイテムとして特定する（すなわち、「ｔ」に入力行列Ｔ（Ｕ２）の要素のうちの１つを代入する）（ステップＳ１０３）。なお、ここでの要素の選択方法は特に限定されず、例えばアイテムＩＤが数値で示される場合には、数値が最も小さいものが選択される構成とすればよい。
【００４７】
ここで、例えば「ｔ」に要素「Ｉ１」を代入すると、制御部１１は、代入した要素「Ｉ１」を入力行列Ｔ（Ｕ２）から削除する（ステップＳ１０４）。すなわち、以降では行列Ｔ（Ｕ２）の要素は［Ｉ３］となる。
【００４８】
代入した要素を入力行列から削除すると、制御部１１は、アイテム集合導出部１３により、「ｔ」と共起しているアイテム集合Ｒ（ｔ）を特定する（ステップＳ１０５）。
【００４９】
本例においては、制御部１１は、先ず、関係ユーザ特定部１２により、ユーザＵ２が購入したアイテムの購入履歴を持つ他のユーザＲＵ（ｔ）（以下、関係ユーザＲＵ（ｔ））を特定する（図７（Ｂ）参照）。ここでは、要素［Ｕ１，Ｕ２，Ｕ３，Ｕ４，Ｕ５］を関係ユーザＲＵ（Ｉ１）として特定する。次いで、制御部１１は、関係ユーザ特定部１２により特定した関係ユーザＲＵ（Ｉ１）から訪問ユーザＵ２を削除し、アイテム集合導出部１３により、各関係ユーザの購入履歴に基づいて、アイテムＩ１と共起しているアイテム集合Ｒ（Ｉ１）を特定する。ここでは、要素［Ｉ２，Ｉ３，Ｉ４，Ｉ５］がアイテム集合Ｒ（Ｉ１）として導出される（図７（Ｃ）参照）。
【００５０】
なお、アイテム集合導出部１３は、アイテムＩ１と共起しているアイテムのうち、訪問ユーザが購入済みのアイテム（本例においては、アイテムＩ２）をアイテム集合から除外する構成としてもよい。
【００５１】
アイテム集合を導出すると、制御部１１は、アイテム集合の要素が空であるか否かを判定する（ステップＳ１０６）。ここで、アイテム集合が空であると判定すると（ステップＳ１０６のＹ）、制御部１１は、ステップＳ１０２の処理に移行する。
【００５２】
一方、アイテム集合が空でないと判定すると（例えば、アイテム集合Ｒ（Ｉ１）の要素が［Ｉ２，Ｉ３，Ｉ４，Ｉ５］であると判定すると）（ステップＳ１０６のＮ）、制御部１１は、アイテム集合のうちの１つをユーザ購入アイテム「ｔ」に対する共起アイテム「ｒ」として特定する（すなわち、「ｒ」にアイテム集合Ｒ（Ｉ１）の要素のうちの１つを代入する）（ステップＳ１０７）。なお、ここでの要素の選択方法は特に限定されず、例えばアイテムＩＤが数値で示される場合には、数値が最も小さいものが選択される構成とすればよい。
【００５３】
ここで、例えば、「ｒ」に要素「Ｉ２」を代入すると、制御部１１は、代入した要素「Ｉ２」をアイテム集合Ｒ（Ｉ１）から削除する（ステップＳ１０８）。すなわち、以降ではアイテム集合Ｒ（Ｉ１）の要素は［Ｉ３、Ｉ４，Ｉ５］となる。
【００５４】
代入した要素をアイテム集合から削除すると、制御部１１は、相関度導出部１４により、ユーザ購入アイテム「ｔ」と共起アイテム「ｒ」とに代入されたアイテム間の相関度を導出する（ステップＳ１０９）。
【００５５】
ここでは、相関度導出部１４は、ユーザ購入アイテム「Ｉ１」と共起アイテム「Ｉ２」との相関度を、数式１と購入履歴情報とに基づいて算出する（図３参照）。具体的には、相関度導出部１４は、購入履歴情報ＤＢ１０Ａを参照して、アイテムＩ１とアイテムＩ２それぞれを購入したユーザ数（両方を購入しているユーザ数を含む）と、アイテムＩ１とアイテムＩ２の両方を購入したユーザ数とを特定して、数式１を用いてアイテムＩ１とアイテムＩ２の相関度を算出する。
【００５６】
アイテム間の相関度を導出すると、制御部１１は、ステップＳ１０６の処理に移行する。
【００５７】
ステップＳ１０２〜Ｓ１０９までの処理を入力行列Ｔ（Ｕ２）の要素が空になるまで繰り返し、入力行列Ｔ（Ｕ２）の要素が空であると判定すると（ステップＳ１０２のＹ）、制御部１１は、推薦アイテム特定部１５により、導出した相関度の降順にアイテムをソートし、訪問ユーザＵ２が購入済みのアイテムの除いた所定数のアイテム（例えば、相関度の高い３つのアイテム）を推薦アイテムとして特定する（ステップＳ１１０）。
【００５８】
図８は、本例における推薦アイテム特定処理にて導出される相関度などの例を示す説明図である。図８（Ａ）は、制御部１１が、ステップＳ１０１〜Ｓ１０９の処理にて導出した入力行列Ｔ（Ｕ２）の各要素に対する相関度を示す説明図である。図８（Ａ）に示すように、訪問ユーザ関係アイテム［Ｉ１，Ｉ３］に対する各共起アイテムの相関度が導出された場合、制御部１１は、アイテム毎に、導出した相関度の和（以下、推薦度）を算出する（推薦度が同じ場合には、例えば同順位としてもよいし、アイテムＩＤなど他の要素を参照して順位を決定してもよい。）（図８（Ｂ）参照）。次いで、制御部１１は、推薦度の降順にアイテムをソートし、訪問ユーザＵ２が購入済みのアイテム（アイテムＩ１，Ｉ３）を除いた各アイテムに対して、推薦度の高い順に推薦順位を付与する（図８（Ｃ）参照）。推薦順位を付与すると、制御部１１は、予め推薦アイテム検索サーバ１０が備える記憶領域に記憶された推薦アイテムの選択数に応じて推薦順位の高い順にアイテムを選択し、選択したアイテムを推薦アイテムとして特定する。以下、制御部１１が、推薦アイテム特定部１５により、アイテムＩ２，Ｉ４，Ｉ５を推薦アイテムとして特定した場合を例にして説明を行なう。
【００５９】
推薦アイテムを特定すると、制御部１１は、アイテム推薦部１６により、推薦アイテムを含む推薦アイテム表示画面を作成する（すなわち、推薦アイテム表示画面を表示するためのデータを作成する）（ステップＳ１１１）。
【００６０】
推薦アイテム表示画面を作成すると、制御部１１は、作成した推薦アイテム表示画面をユーザ端末２２に送信して（ステップＳ１１２）、ここでの処理を終了する。
【００６１】
なお、図９は、ユーザ端末２２の表示装置の表示画面に表示される推薦アイテム表示画面の例を示す説明図である。図９に示すように、推薦アイテム表示画面は、推薦アイテム２０１Ａ〜２０１Ｃを選択可能に表示する推薦アイテム表示領域２０１と、アイテム検索画面の表示要求を受け付ける戻るボタン２０２とを含む。そして、例えば、推薦アイテム検索サーバ１０が、ユーザ端末２２からの推薦アイテム２０１Ａの選択通知を受け付けると、制御部１１は、アイテム２０１Ａとして表示されていたアイテムＩ２の詳細情報を表示する詳細情報表示画面を作成して、ユーザ端末２２に送信する。
【００６２】
なお、上述した実施の形態では、推薦アイテム特定処理にて、訪問ユーザの購入履歴に基づいて入力行列を特定して、特定した入力行列に対応するアイテム集合を特定する場合について説明を行なった。しかし、推薦アイテム検索サーバ１０の機能はこれに限定されない。すなわち、例えば訪問ユーザが購入を予定しているアイテムを訪問ユーザ関係アイテムとして特定する構成としてもよい。このような構成とすることにより、購入履歴を持たないユーザに対してもお薦めのアイテムを提供することができるようになる。以下、この場合の推薦アイテム検索サーバ１０の動作について図面を参照して説明する。なお、本発明に特に関係しない動作や処理については、その内容を省略している場合がある。
【００６３】
図１０は、この場合に推薦アイテム検索サーバ１０が実行する推薦アイテム特定処理の例を示すフローチャートである。ここでは、上述した推薦アイテム特定処理との違いを中心に説明を行ない、上述した推薦アイテム特定処理と同様の処理については同じステップ番号を付してその説明を省略する。
【００６４】
訪問ユーザが購入を予定しているアイテムから推薦アイテムを特定する場合、制御部１１は、推薦アイテム特定処理にて、先ず、訪問ユーザが購入を予定しているアイテム（購入予定アイテム）を「訪問ユーザ関係アイテム」として特定する（ステップＳ１０１Ａ）。なお、「購入を予定しているアイテム」とは、実際に訪問ユーザが購入を予定しているアイテムであるか否かは関係なく、推薦アイテム検索サーバ１０が、所定の判定条件に従って「訪問ユーザが購入を予定している」と判定したアイテムを意味するものとする。
【００６５】
本例においては、制御部１１は、訪問ユーザが操作するユーザ端末２２が備える表示装置の表示画面に表示中のアイテムを購入予定アイテムとして特定する。なお、例えば、購入を予定しているか否かの判定条件として、例えば、アイテムの累積表示回数や表示時間などを含む構成とされていてもよい。
【００６６】
訪問ユーザ関係アイテムを特定すると、制御部１１は、特定したユーザ関係アイテムを数式１における「ｔ」（ユーザ購入アイテム）として特定する（すなわち、数式１における「ｔ」に特定した訪問ユーザ関係アイテムを代入する）（ステップＳ１０３Ａ）。
【００６７】
次いで、制御部１１は、アイテム集合導出部１３により、「ｔ」と共起しているアイテム集合Ｒ（ｔ）を特定する（ステップＳ１０５）。なお、特定方法については、上述した方法を援用することができる（図７（Ｂ），（Ｃ）参照）のでここでの説明は省略する。
【００６８】
アイテム集合を特定すると、制御部１１は、特定したアイテム集合の要素が空であるか否か判定する（ステップＳ１０６Ａ）。ここで、特定したアイテム集合の要素が空でないと判定すると（ステップＳ１０６ＡのＮ）、制御部１１は、上述したステップＳ１０７ステップ〜Ｓ１０９と同様の処理を行い、ステップＳ１０６Ａの処理に移行する。
【００６９】
一方、特定したアイテム集合の要素が空であると判定すると（ステップＳ１０６ＡのＹ）、制御部１１は、上述したステップＳ１１０〜Ｓ１１２と同様の処理を行う。
【００７０】
なお、図１１は、訪問ユーザの購入予定アイテムから推薦アイテムを特定した場合に、推薦アイテム検索サーバ１０にて作成された推薦アイテム表示画面を受信したユーザ端末２２の表示装置の表示画面に表示されるアイテム閲覧画面の例を示す説明図である。図１１に示すように、本例におけるアイテム閲覧画面は、購入予定アイテムに関する各種情報（例えば、アイテム名や価格など）を表示するアイテム情報表示領域３０１と、受信した推薦アイテム表示画面に基づいて推薦アイテム３０２Ａを選択可能に表示する推薦アイテム表示領域３０２と、推薦アイテム表示領域の非表示要求を受け付ける閉じるボタン３０３とを含む。そして、例えば、推薦アイテム検索サーバ１０が、ユーザ端末２２からの推薦アイテム３０２Ａの選択通知を受け付けると、制御部１１は、アイテム３０２Ａとして表示されていたアイテムＩ２の詳細情報を表示する詳細情報表示画面を作成して、ユーザ端末２２に送信する。
【００７１】
なお、訪問ユーザが操作するユーザ端末２２が備える表示装置の表示画面に複数のアイテムを表示する構成とする場合、または、所定期間内に表示画面に表示したアイテムを一時的に保存して購入予定アイテムとして取り扱う構成とする場合には、制御部１１は、訪問ユーザの購入履歴から入力行列を特定する場合の推薦アイテム特定処理において、訪問ユーザの購入履歴の代わりに、ユーザ端末２２の表示画面に表示中の複数のアイテム、または一時的に保存されている購入予定アイテム群を入力行列Ｔとして取り扱う構成とすればよい（図５参照）。
【００７２】
以上に説明したように、上述した実施の形態では、各ユーザのアイテム購入履歴を示す購入履歴情報に基づいて、購入サイトを訪問した訪問ユーザに対して購入を推薦する推薦アイテムを特定する推薦アイテム検索サーバ１０が、購入履歴情報を記憶する購入履歴情報ＤＢ１０Ａを備え、購入履歴情報を参照し、訪問ユーザ（例えば、ユーザＵ２）が購入したアイテム（例えば、アイテムＩ１，Ｉ３）あるいは訪問ユーザが購入を予定しているアイテムを示す訪問ユーザ関係アイテムの購入履歴を持つ他のユーザである関係ユーザ（例えば、関係ユーザＲＵ（ｔ））を特定し、購入履歴情報を参照し、特定した関係ユーザが購入したアイテムの集合であるアイテム集合（例えば、アイテム集合Ｒ（ｔ））を導出し、訪問ユーザ関係アイテムと、導出したアイテム集合に属する各アイテムとの間の相関度を導出し、導出した相関度に応じて、訪問ユーザ関係アイテムとの相関度の高い所定数のアイテムを推薦アイテムに特定する構成としているので、大容量のメモリを必要とすることなく、リアルタイムに推薦アイテムを特定することができるようになる。
【００７３】
すなわち、購入履歴情報から推薦要求の度に入力データ（例えば、訪問ユーザ関係アイテム）から直接計算して推薦アイテムを特定する（例えば、訪問ユーザ関係アイテムに対する他のアイテムの相関度を購入履歴情報に基づいて計算する）構成としているので、オリジナル行列（例えば、購入履歴マトリクステーブル、図３参照）のみ推薦アイテム検索サーバ１０が備えるＤＢに格納されていればよく、スペース（記憶領域）の節約を実現することができるようになる。
【００７４】
また、いわゆる近傍行列（近傍情報、図４参照）を事前準備しておく時間が「０」になり、入力行列（例えば、入力行列Ｔ）の変化にリアルタイムに対応することができるようになる。
【００７５】
また、相関度の導出に関し、訪問ユーザが購入したアイテムとその共起アイテム間の相関度（例えば、コサイン距離に基づく相関度など）を求めるだけなので、必要最小限の計算コストで推薦アイテムを特定することができるようになる。
【００７６】
また、上述した実施の形態における推薦アイテム検索サーバ１０が実行する推薦アイテム検索処理（図５参照）は、例えばナイーブ法と比較するならば、行列サイズに依存せず、行列密度のみに依存するといえる。そのため、推薦アイテム検索サーバ１０を備えた推薦アイテム検索システム１００は、スケーラブルであるということができる。
【００７７】
ここで、「行列サイズ」とは、行列面積、すなわち１つの行列における行数と列数の積を意味する。また、「行列密度」とは、行列の要素のうち「０」が設定されていない要素の割合を意味する（すなわち、本例においては、行列がもつ要素数に対する「１」が設定されている要素数の割合を意味する。）。一般的に、購入履歴を行列で表す場合、この行列（購入行列）の行列密度は０．０１％〜０．１％程度しかなく、例えば１００×１００の行列（面積１００００の行列）でも、行列密度が０．１％ならば、「１」が設定されている要素数（「フラグ」という意味では、「１」が立っている要素数）は「１０（個）」となる。よって、行列面積に比べて、相関度の計算時に参照しなければならない要素数を大幅に減少させることができる。上述した実施の形態では、推薦アイテム検索サーバ１０が、購入行列（図３参照）において「１」が立っている位置を示す情報を記憶領域に保存しており、相関度の計算においても「１」が立っている位置についてしか計算を実行していないので、行列面積の拡大率（すなわち、アイテム数とユーザ数の増加率）と比例して相関度の計算に要する処理負荷が増大するということがなく、拡張性に優れている。よって、上述した実施の形態における推薦アイテム検索システムは、「行列面積に依存せず、スケーラブルである」ということができる。なお、相関度の計算に要する処理負荷は、行列密度に比例する。
【００７８】
また、上述した実施の形態では、購入履歴情報が、各アイテムが配列されたアイテム軸と、各ユーザが配列されたユーザ軸とを有する購入履歴マトリクステーブルに格納されており、購入履歴マトリクステーブルにおける各マスに購入実績の有無を示す購入実績情報が格納されている構成としているので（図３参照）、購入履歴を効率的に保持することができるようになる。
【００７９】
また上述した実施の形態では、推薦アイテム検索サーバ１０が、購入履歴マトリクステーブルのアイテム軸における訪問ユーザ関係アイテム（例えば、アイテムＩ１）に対応する各マスを確認し、訪問ユーザ関係アイテムの購入実績が有ることを示す購入実績情報が格納されている各マスに対応するユーザ軸におけるユーザ（例えば、ユーザＵ１，Ｕ３，Ｕ４，Ｕ５）を関係ユーザとして特定する構成としているので（図７参照）、単純な処理により訪問ユーザ関係アイテムに対応する関係ユーザを特定することができるようになる。
【００８０】
また上述した実施の形態では、推薦アイテム検索サーバ１０が、購入履歴マトリクステーブルのユーザ軸における関係ユーザに対応する各マスを確認し、関係ユーザが購入したアイテムの集合であるアイテム集合（例えば、アイテム集合Ｒ（ｔ））を導出する構成としているので（図７参照）、単純な処理により関係ユーザが購入したアイテムの集合を導出することができるようになる。
【００８１】
また上述した実施の形態では、推薦アイテム検索サーバ１０が、特定した推薦アイテムを訪問ユーザに対して推薦する（例えば、ユーザ端末が備える表示装置の表示画面に、推薦アイテムの名称などを表示する推薦アイテム表示領域を含む表示画面を表示させるためのデータを作成し、作成したデータをユーザ端末に送信する）構成としているので、ユーザが推薦アイテムを認識しやすいようにすることができるようになる。
【００８２】
なお、上述した実施の形態では特に言及していないが、推薦アイテム検索サーバ１０が、訪問ユーザに対してアイテムの推薦を行ったことに応じて、推薦したアイテムと訪問ユーザとを特定可能な情報（例えば、アイテムＩＤとユーザＩＤ）、及びアイテムを推薦した日時などを対応付けした情報（推薦情報）を一時的に記憶部２０の記憶領域に保存しておき、ユーザ端末からのアイテム推薦要求を受け付けた場合に、推薦情報を参照し、推薦要求を受け付けた日時が推薦情報が示すアイテムを推薦した日時から所定時間（例えば、２４時間など）経過していないと判定した場合には、推薦情報に含まれるアイテムＩＤが示すアイテムを推薦アイテムとして特定する構成としてもよい。
【００８３】
このような構成とすることにより、一旦推薦を行った訪問ユーザに対して、その結果をキャッシュすることで、一定時間既訪問ユーザに対する推薦演算を回避するといった機能を実現することができ、推薦アイテム検索サーバにかかる処理負担を軽減させることができるようになる。
【産業上の利用可能性】
【００８４】
本発明によれば、大容量のメモリを必要とすることなく、リアルタイムに推薦アイテムを特定することが可能なシステムを構築するのに有用である。
【符号の説明】
【００８５】
１０              推薦アイテム検索サーバ
１０Ａ            購入履歴情報ＤＢ
１１              制御部
１２              関係ユーザ特定部
１３              アイテム集合導出部
１４              相関度導出部
１５              推薦アイテム特定部
１６              アイテム推薦部
２１〜２Ｎ        ユーザ端末
３０              基地局
４０              Ｗｅｂフロントエンドサーバ（ＷＦＥサーバ）
５０              通信ネットワーク
１００            推薦アイテム検索システム
【図１】
0005841323.tif 000003
【図２】
0005841323.tif 000004
【図３】
0005841323.tif 000005
【図４】
0005841323.tif 000006
【図５】
0005841323.tif 000007
【図６】
0005841323.tif 000008
【図７】
0005841323.tif 000009
【図８】
0005841323.tif 000010
【図９】
0005841323.tif 000011
【図１０】
0005841323.tif 000012
【図１１】
0005841323.tif 000013