(57)【要約】【課題】高い確率でユーザに購入行動を起こさせることができる商品推薦システムを提供する。【解決手段】学習処理部１１は、ユーザの閲覧履歴を基に、プロファイルＤＢ１９に係るデータを作成する。インデックス作成部１３は、プロファイルＤＢ１９を基に、インデックスＤＢ１７に係るデータを作成する。推薦処理部１５は、インデックスＤＢ１７およびプロファイルＤＢ１９を基に、ユーザに対して推薦する商品を決定する。推薦処理部１５は、商品を選択していない状況では、ユーザの興味情報を基に、推薦する商品を決定する。また、推薦処理部１５は、商品を選択している状況では、ユーザの興味情報に加えて、選択している商品を基に、推薦する商品を決定する。【選択図】図１
2009237891.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが使用する端末と、前記端末からの要求に応答するサーバとがネットワークを介して接続され、前記サーバがユーザに対して推薦する商品を提示する商品推薦システムであって、
前記サーバは、
ユーザがセッションごとに接触した商品、および商品説明に含まれる重要単語を示すＣキーワードを基に、ユーザの興味情報を示すＹキーワード、および前記Ｙキーワードの重要度を含むユーザプロファイルを作成する手段、を少なくとも有する学習処理部と、
前記ユーザプロファイルを基に、前記Ｙキーワードに対する推薦商品、および前記Ｙキーワードに対する推薦度を含むＹキーワードインデックスを作成するＹキーワードインデックス作成手段、を少なくとも有するインデックス作成部と、
ユーザが特定の商品を選択していない場合には、前記ユーザプロファイルおよび前記Ｙキーワードインデックスを基に、ユーザに対して推薦する商品を提示する手段、を少なくとも有する推薦処理部と、
を具備することを特徴とする商品推薦システム。
【請求項２】
前記インデックス作成部は、前記ユーザプロファイルを基に、商品かつＹキーワードに対する推薦商品および推薦度を含む商品−Ｙキーワードインデックスを作成する商品−Ｙキーワードインデックス作成手段、を更に有し、
前記推薦処理部は、ユーザが特定の商品を選択している場合には、前記ユーザプロファイルおよび前記商品−Ｙキーワードインデックスを基に、ユーザに対して推薦する商品を提示する手段、を更に有することを特徴とする請求項１に記載の商品推薦システム。
【請求項３】
前記Ｙキーワードインデックス作成手段は、特定のＹキーワードで示される興味を持つユーザによる特定の商品の見られやすさによって特定の商品の推薦度を定めることを特徴とする請求項１に記載の商品推薦システム。
【請求項４】
前記商品−Ｙキーワードインデックス作成手段は、特定のＹキーワードで示される興味を持ち、かつ第１の商品を閲覧したユーザによる第２の商品の見られやすさによって第２の商品の推薦度を定めることを特徴とする請求項２に記載の商品推薦システム。
【請求項５】
前記Ｙキーワードインデックス作成手段によって算出される特定の商品の推薦度は、（特定のＹキーワードで示される興味を持つユーザが、特定の商品を閲覧したときの重要度の和）／（特定のＹキーワードで示される興味を持つユーザが、任意の商品を閲覧したときの重要度の和）、によって定めることを特徴とする請求項３に記載の商品推薦システム。
【請求項６】
前記商品−Ｙキーワードインデックス作成手段によって算出される第２の商品の推薦度は、（特定のＹキーワードで示される興味を持つユーザが、第１の商品を閲覧し、更に第２の商品を閲覧したときの重要度の和）／（特定のＹキーワードで示される興味を持つユーザが、任意の商品を閲覧し、更に第２の商品を閲覧したときの重要度の和）、によって定めることを特徴とする請求項４に記載の商品推薦システム。
【請求項７】
ユーザが使用する端末とネットワークを介して接続され、前記端末からの要求に応答し、ユーザに対して推薦する商品を提示するサーバであって、
ユーザがセッションごとに接触した商品、および商品説明に含まれる重要単語を示すＣキーワードを基に、ユーザの興味情報を示すＹキーワード、および前記Ｙキーワードの重要度を含むユーザプロファイルを作成する手段、を少なくとも有する学習処理部と、
前記ユーザプロファイルを基に、前記Ｙキーワードに対する推薦商品、および前記Ｙキーワードに対する推薦度を含むＹキーワードインデックスを作成するＹキーワードインデックス作成手段、を少なくとも有するインデックス作成部と、
ユーザが特定の商品を選択していない場合には、前記ユーザプロファイルおよび前記Ｙキーワードインデックスを基に、ユーザに対して推薦する商品を提示する手段、を少なくとも有する推薦処理部と、
を具備することを特徴とするサーバ。
【請求項８】
前記インデックス作成部は、前記ユーザプロファイルを基に、商品かつＹキーワードに対する推薦商品および推薦度を含む商品−Ｙキーワードインデックスを作成する商品−Ｙキーワードインデックス作成手段、を更に有し、
前記推薦処理部は、ユーザが特定の商品を選択している場合には、前記ユーザプロファイルおよび前記商品−Ｙキーワードインデックスを基に、ユーザに対して推薦する商品を提示する手段、を更に有することを特徴とする請求項７に記載のサーバ。
【請求項９】
コンピュータを請求項７または請求項８に記載のサーバとして機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザに対して商品を推薦する商品推薦システム、サーバおよびプログラムに関する。
【背景技術】
【０００２】
現在、インターネット上のショッピングサイト等において、ユーザに対して商品を推薦するリコメンデーションシステムが利用されている。以下、商品とは、有償、無償を問わず、また、有形、無形を問わず、更に、サービスも含むものとする。
リコメンデーションシステムにおけるサーバは、実在する店舗において商品を推薦する店員と同等の役割を担う。実在する店舗では、店員がお客様の要望を聞き、お客様に合った商品を推薦する。これと同様に、リコメンデーションシステムにおけるサーバは、お客様の興味・嗜好を収集・分析し、お客様に最適な商品を推薦する。
【０００３】
現在利用されているリコメンデーションシステムは、いわゆる協調ベース型がほとんどである。協調ベース型とは、各ユーザが簡単なアンケートに答えるなどして自らの関心をシステムに入力し、システムが入力された情報から類似の関心を持つ他人（通常は複数名）を決定する。そして、システムが類似の関心を持つ他人の購入行動などを収集・分析して、ユーザに商品を推薦するものである。例えば、協調ベース型の一手法として、商品を購入、または商品を閲覧したユーザに対して商品の評価を依頼し、類似の関心を持つ他人の商品の評価を収集・分析して、他のユーザに商品を推薦する評価ベース型がある。また、例えば、他の協調ベース型の一手法として、類似の関心を持つ他人が、過去にどのような商品を購入したか、または過去にどのような商品を閲覧したかといった履歴を用いる履歴ベース型もある。
【０００４】
一方、協調ベース型とは異なる手法として、コンテンツベース型がある。コンテンツベース型とは、推薦を行うユーザ自身が、過去にどのような商品を購入したか、または過去にどのような商品を閲覧したかといった情報を収集・分析して、当該ユーザに商品を推薦するものである。
【０００５】
しかしながら、評価ベース型では、ユーザが商品の評価を行わなければならないことから、ユーザの負荷が高く、多くの情報を収集することができず、結果として、最適な商品を推薦することが出来ない場合が多い。また、履歴ベース型では、ユーザの嗜好が当初から変化している場合、ユーザにとって最適な商品を推薦することが出来ない場合が多い。
【０００６】
また、コンテンツベース型では、同じ傾向の商品を推薦してしまうことが多くなり、ユーザにとって意外性のある商品を推薦することができない。
【０００７】
そこで、履歴ベース型における欠点、およびコンテンツベース型における欠点の両方を補う仕組みとして、本発明者らは、特許文献１に記載の仕組みを考案している。特許文献１に記載の仕組みでは、ユーザの閲覧履歴などに基づいてユーザの嗜好情報を表すユーザプロファイルを更新していく。そして、特定のユーザに商品を推薦する際には、特定のユーザのユーザプロファイルに基づいて、最も嗜好が類似する協調ユーザを決定し、協調ユーザのユーザプロファイルに基づいて、特定のユーザに商品を推薦する。ユーザプロファイルを常に更新し、更新されたユーザプロファイルに基づいて協調ユーザを決定することで、ユーザの嗜好が当初から変化している場合であっても、ユーザにとって最適な商品を推薦できる。また、特定のユーザに商品を推薦する際、協調ユーザのユーザプロファイルの中から、特定のユーザのユーザプロファイルと最も類似しないユーザプロファイルを基にすることで、ユーザにとって意外性のある商品を推薦することができる。
【特許文献１】特開２００２−２１５６６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明者らは、特許文献１に記載の仕組みを更に改良し、より精度の高い商品推薦システムの構築を課題として研究・開発を行った。ここで、精度の高い商品推薦システムとは、高い確率でユーザに購入行動を起こさせることができるものである。
【０００９】
このように、本発明の目的は、精度の高い商品推薦システム、すなわち、高い確率でユーザに購入行動を起こさせることができる商品推薦システムを提供することである。
【課題を解決するための手段】
【００１０】
前述した目的を達成するために第１の発明は、ユーザが使用する端末と、前記端末からの要求に応答するサーバとがネットワークを介して接続され、前記サーバがユーザに対して推薦する商品を提示する商品推薦システムであって、前記サーバは、ユーザがセッションごとに接触した商品、および商品説明に含まれる重要単語を示すＣキーワードを基に、ユーザの興味情報を示すＹキーワード、および前記Ｙキーワードの重要度を含むユーザプロファイルを作成する手段、を少なくとも有する学習処理部と、前記ユーザプロファイルを基に、前記Ｙキーワードに対する推薦商品、および前記Ｙキーワードに対する推薦度を含むＹキーワードインデックスを作成するＹキーワードインデックス作成手段、を少なくとも有するインデックス作成部と、ユーザが特定の商品を選択していない場合には、前記ユーザプロファイルおよび前記Ｙキーワードインデックスを基に、ユーザに対して推薦する商品を提示する手段、を少なくとも有する推薦処理部と、を具備することを特徴とする商品推薦システムである。尚、Ｃキーワードになり得る重要単語は、例えば、メーカー名、スペック等も含み、商品、商品説明のみに限るものではない。
【００１１】
第１の発明において、前記インデックス作成部は、前記ユーザプロファイルを基に、商品かつＹキーワードに対する推薦商品および推薦度を含む商品−Ｙキーワードインデックスを作成する商品−Ｙキーワードインデックス作成手段、を更に有し、前記推薦処理部は、ユーザが特定の商品を選択している場合には、前記ユーザプロファイルおよび前記商品−Ｙキーワードインデックスを基に、ユーザに対して推薦する商品を提示する手段、を更に有することが望ましい。
【００１２】
また、第１の発明において、前記Ｙキーワードインデックス作成手段は、特定のＹキーワードで示される興味を持つユーザによる特定の商品の見られやすさによって特定の商品の推薦度を定める。例えば、前記Ｙキーワードインデックス作成手段によって算出される特定の商品の推薦度は、（特定のＹキーワードで示される興味を持つユーザが、特定の商品を閲覧したときの重要度の和）／（特定のＹキーワードで示される興味を持つユーザが、任意の商品を閲覧したときの重要度の和）、によって定める。
【００１３】
また、第１の発明において、前記商品−Ｙキーワードインデックス作成手段は、特定のＹキーワードで示される興味を持ち、かつ第１の商品を閲覧したユーザによる第２の商品の見られやすさによって第２の商品の推薦度を定める。例えば、前記商品−Ｙキーワードインデックス作成手段によって算出される第２の商品の推薦度は、（特定のＹキーワードで示される興味を持つユーザが、第１の商品を閲覧し、更に第２の商品を閲覧したときの重要度の和）／（特定のＹキーワードで示される興味を持つユーザが、任意の商品を閲覧し、更に第２の商品を閲覧したときの重要度の和）、によって定める。
【００１４】
第２の発明は、ユーザが使用する端末とネットワークを介して接続され、前記端末からの要求に応答し、ユーザに対して推薦する商品を提示するサーバであって、ユーザがセッションごとに接触した商品、および商品説明に含まれる重要単語を示すＣキーワードを基に、ユーザの興味情報を示すＹキーワード、および前記Ｙキーワードの重要度を含むユーザプロファイルを作成する手段、を少なくとも有する学習処理部と、前記ユーザプロファイルを基に、前記Ｙキーワードに対する推薦商品、および前記Ｙキーワードに対する推薦度を含むＹキーワードインデックスを作成するＹキーワードインデックス作成手段、を少なくとも有するインデックス作成部と、ユーザが特定の商品を選択していない場合には、前記ユーザプロファイルおよび前記Ｙキーワードインデックスを基に、ユーザに対して推薦する商品を提示する手段、を少なくとも有する推薦処理部と、を具備することを特徴とするサーバである。
【００１５】
第２の発明において、前記インデックス作成部は、前記ユーザプロファイルを基に、商品かつＹキーワードに対する推薦商品および推薦度を含む商品−Ｙキーワードインデックスを作成する商品−Ｙキーワードインデックス作成手段、を更に有し、前記推薦処理部は、ユーザが特定の商品を選択している場合には、前記ユーザプロファイルおよび前記商品−Ｙキーワードインデックスを基に、ユーザに対して推薦する商品を提示する手段、を更に有することが望ましい。
【００１６】
第３の発明は、コンピュータを第２の発明のサーバとして機能させるプログラムである。
【発明の効果】
【００１７】
本発明により、高い確率でユーザに購入行動を起こさせることができる商品推薦システムを提供することができる。
【発明を実施するための最良の形態】
【００１８】
以下図面に基づいて、本発明の実施形態を詳細に説明する。以下では、本発明をインターネット上のショッピングサイトに適用した場合を例として説明する。しかしながら、本発明の適用範囲は、インターネット上のショッピングサイトだけではないことは言うまでもない。
【００１９】
（１．推薦商品システム１の概要構成）
まず、図１を参照しながら、本発明の実施の形態に係る推薦商品システムの概略構成について説明する。図１は、推薦商品システム１の概略構成を示す図である。
【００２０】
図１に示すように、推薦商品システム１は、端末７−１、端末７−２、端末７−３等と第１サーバ５が、ネットワーク９を介して接続される。また、第１サーバ５は、第２サーバ３とデータの送受信が可能に接続される。
【００２１】
端末７−１、端末７−２、端末７−３等は、ショッピングサイトのユーザが使用するコンピュータである。第１サーバ５は、ショッピングサイトの各機能を提供するサーバであって、端末からの各種の要求に応答する。ネットワーク９は、インターネットである。
【００２２】
第２サーバ３は、第１サーバ５からの処理依頼を受信し、各種の処理を行い、処理結果を第１サーバ５に送信する。また、第２サーバ３は、定期的なバッチ処理によって、各種の処理を行う。そして、第２サーバ３は、学習処理部１１、インデックス作成部１３、推薦処理部１５、インデックスＤＢ（データベース）１７、プロファイルＤＢ（データベース）１９等の機能を具備する。
【００２３】
インデックスＤＢ１７は、後述する商品マスタテーブル、Ｃキーワードテーブル、関連商品テーブル、Ｙキーワードテーブル、商品−Ｙキーワードテーブル等に係るデータを記憶する。プロファイルＤＢ１９は、後述するユーザプロファイルテーブル、商品プロファイルテーブル等に係るデータを記憶する。
【００２４】
学習処理部１１は、ユーザの閲覧履歴を基に、プロファイルＤＢ１９に係るデータを作成する。インデックス作成部１３は、プロファイルＤＢ１９を基に、インデックスＤＢ１７に係るデータを作成する。推薦処理部１５は、インデックスＤＢ１７およびプロファイルＤＢ１９を基に、ユーザに対して推薦する商品を決定する。
【００２５】
商品推薦システム１は、第１サーバ５および第２サーバ３を一台のコンピュータによって実装しても良い。また、商品推薦システム１は、第１サーバ５が具備する機能を複数台のコンピュータによって実装しても良い。
【００２６】
以下では、端末７−１、端末７−２、端末７−３等を総称して「端末」と記載する。また、第１サーバ５、第２サーバ３を総称して「サーバ」と記載する。
【００２７】
（２．コンピュータのハードウェア構成）
次に、図２を参照しながら、端末とサーバのハードウェア構成について説明する。図２は、端末とサーバを実現するコンピュータのハードウェア構成図である。尚、図２のハードウェア構成は一例であり、用途、目的に応じて様々な構成を採ることが可能である。
端末とサーバを実現するコンピュータは、制御部２１、記憶部２３、メディア入出力部２５、通信制御部２７、入力部２９、表示部３１、周辺機器Ｉ／Ｆ部３３等が、バス３５を介して接続される。
【００２８】
制御部２１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成される。
【００２９】
ＣＰＵは、記憶部２３、ＲＯＭ、記録媒体等に格納されるプログラムをＲＡＭ上のワークメモリ領域に呼び出して実行し、バス３５を介して接続された各装置を駆動制御し、端末とサーバが行う後述する処理を実現する。
ＲＯＭは、不揮発性メモリであり、コンピュータのブートプログラムやＢＩＯＳ等のプログラム、データ等を恒久的に保持している。
ＲＡＭは、揮発性メモリであり、記憶部２３、ＲＯＭ、記録媒体等からロードしたプログラム、データ等を一時的に保持するとともに、制御部２１が各種処理を行う為に使用するワークエリアを備える。
【００３０】
記憶部２３は、ＨＤＤ（ハードディスクドライブ）であり、制御部２１が実行するプログラム、プログラム実行に必要なデータ等が格納される。プログラムに関しては、ＯＳに相当する制御プログラムや、後述の処理に相当するアプリケーションプログラムが格納されている。
これらの各プログラムコードは、制御部２１により必要に応じて読み出されてＲＡＭに移され、ＣＰＵに読み出されて各種の手段として実行される。
【００３１】
メディア入出力部２５（ドライブ装置）は、データの入出力を行い、例えば、ＣＤドライブ（−ＲＯＭ、−Ｒ、−ＲＷ等）、ＤＶＤドライブ（−ＲＯＭ、−Ｒ、−ＲＷ等）、ＭＯドライブ等のメディア入出力装置を有する。
【００３２】
通信制御部２７は、通信制御装置、通信ポート等を有し、コンピュータとネットワーク９間の通信を媒介する通信インタフェースであり、ネットワーク９を介して、他のコンピュータ間との通信制御を行う。
【００３３】
入力部２９は、データの入力を行い、例えば、キーボード、マウス等のポインティングデバイス、テンキー等の入力装置を有する。
入力部２９を介して、コンピュータに対して、操作指示、動作指示、データ入力等を行うことができる。
【００３４】
表示部３１は、ＣＲＴモニタ、液晶パネル等のディスプレイ装置、ディスプレイ装置と連携してコンピュータのビデオ機能を実現するための論理回路等（ビデオアダプタ等）を有する。
【００３５】
周辺機器Ｉ／Ｆ（インタフェース）部３３は、コンピュータに周辺機器を接続させるためのポートであり、周辺機器Ｉ／Ｆ部３３を介してコンピュータは周辺機器とのデータの送受信を行う。周辺機器Ｉ／Ｆ部３３は、ＵＳＢやＩＥＥＥ１３９４やＲＳ−２３２Ｃ等で構成されており、通常複数の周辺機器Ｉ／Ｆを有する。周辺機器との接続形態は有線、無線を問わない。
【００３６】
バス３５は、各装置間の制御信号、データ信号等の授受を媒介する経路である。
【００３７】
（３．本発明の優位性）
次に、図３、図４を参照しながら、本発明を適用したショッピングサイトの画面例を説明する。尚、図３、図４は、本発明の理解を助けるための図面であり、本発明の適用は、ショッピングサイトに限定されるものではない。
【００３８】
図３は、ショッピングサイトにおけるユーザごとのトップページの一例を示す図である。図３に示す例では、トップページとしてのマイページ４１において、お勧め商品としてＤＶＤレコーダー（Ａ社）４２、液晶テレビ（Ｂ社）４３、ノートＰＣ（Ｃ社）４４が表示されている。マイページ４１を表示する場合、ユーザは、ショッピングサイト内の商品を何も選択していない。従って、推薦する商品は、ユーザの嗜好情報を基にして決定することになる。マイページ４１の画面に表示されるお勧め商品は、実際の店舗であれば、ショーウィンドウに展示されている商品である。後述するように、本発明では、実際の店舗においてユーザごとにショーウィンドウに展示する商品を換えることと同等の効果を奏する。
【００３９】
図４は、ショッピングサイトにおける商品詳細ページの一例を示す図である。図４に示す例では、商品詳細ページ５１において、ユーザが選択した商品であるＤＶＤレコーダー（Ａ社）５２、及び、お勧め商品としてＤＶＤレコーダー（Ｂ社）５３、プラズマテレビ（Ａ社）５４、液晶テレビ（Ｂ社）５５が表示されている。商品詳細ページ５１を表示する場合、ユーザは、ショッピングサイト内の特定の商品を選択している。従って、推薦する商品は、ユーザの嗜好情報、および選択している商品の情報を基にして決定することができる。商品詳細ページ５１の画面に表示されるお勧め商品は、実際の店舗であれば、顧客が特定の商品を手に取り、更に、顧客が手に取った特定の商品を基に、店員が推薦する商品である。後述するように、本発明では、実際の店舗において常に専属の店員がアドバイスをすることと同等の効果を奏する。
【００４０】
（４．商品推薦システム１において使用するデータ）
次に、図５から図１９までを参照しながら、商品推薦システム１において使用するデータについて説明する。
【００４１】
図５は、ユーザプロファイルテーブル１０１を示す図である。図５に示すように、ユーザプロファイルテーブル１０１は、ユーザＩＤ１０２、セッションＩＤ１０３、Ｙキーワード１０４、重要度１０５、頻度１０６、閲覧商品ＩＤ１０７等のデータ項目を有する。各データ項目の右側に記載された記号（例えば、ユーザＩＤに対しては「Ｕ」）は、以下の説明において、各データ項目を示す記号として用いることもある。
【００４２】
ユーザＩＤ１０２は、ユーザごとに割り振られたＩＤであって、１ユーザに対し１つだけ存在する。セッションＩＤ１０３は、ユーザがショッピングサイトにログインしてからログアウトするまでのセッションごとに割り振られるＩＤであって、１ユーザに対して複数存在する。Ｙキーワード１０４は、ユーザが同一セッション中に持っている興味情報（どのような商品を閲覧したかなど）を示すキーワードであって、ユーザＩＤ１０２およびセッションＩＤ１０３ごとに複数存在する。Ｙキーワード１０４をいくつ保持するかは、初期設定ファイルなどで設定する。
【００４３】
重要度１０５は、Ｙキーワード１０４の重要性の度合いである。重要度１０５の取り得る値は、０より大きい実数である。頻度１０６は、ユーザが同一セッション内で、Ｙキーワード１０４を持つときに閲覧商品ＩＤ１０７に係る商品を閲覧した回数である。頻度１０６の取り得る値は、０より大きい整数である。閲覧商品ＩＤ１０７は、ユーザが同一セッション内で、Ｙキーワードを持つときに閲覧した商品の商品ＩＤである。尚、商品ＩＤは、商品ごとに割り振られたＩＤであって、閲覧商品ＩＤ１０７をいくつ保持するかは、初期設定ファイルなどで設定する。
【００４４】
ユーザプロファイルテーブル１０１は、ユーザＩＤ１０２、セッションＩＤ１０３、Ｙキーワード１０４、閲覧商品ＩＤ１０７ごとに一義的に定まるデータを保持する。物理テーブルとしては、ユーザＩＤ１０２、セッションＩＤ１０３ごとに、Ｙキーワード１０４、重要度１０５、頻度１０６を保持するテーブル、およびユーザＩＤ１０２、セッションＩＤ１０３、Ｙキーワード１０４ごとに、閲覧商品ＩＤ１０７を保持するテーブルに分けても良い。尚、後述する図６に示す例では、説明の都合上、ユーザＩＤ１０２、セッションＩＤ１０３、Ｙキーワード１０４ごとに、複数の閲覧商品ＩＤ１０７を保持するように表示している。
【００４５】
図６は、ユーザプロファイルテーブル１０１に係るデータの一例を示す図である。図６に示す例では、例えば、１番目のレコードは、ユーザＩＤ１０２が「０００１」、セッションＩＤ１０３が「００００１」、Ｙキーワード１０４が「液晶テレビ」、重要度１０５が「１０」、頻度１０６が「３」、閲覧商品ＩＤ１０７が「０１００１０、０１００２１、０２００１１」である。
【００４６】
図７は、商品プロファイルテーブル２０１を示す図である。図７に示すように、商品プロファイルテーブル２０１は、ユーザＩＤ２０２、商品ＩＤ２０３、頻度２０４等のデータ項目を有する。各データ項目の右側に記載された記号（例えば、ユーザＩＤに対しては「Ｕ」）は、以下の説明において、各データ項目を示す記号として用いることもある。
【００４７】
ユーザＩＤ２０２は、前述の図５に示すユーザＩＤ１０２と同じ意味のデータである。商品ＩＤ２０３は、ユーザが閲覧した商品ＩＤである。商品ＩＤ２０３は、ユーザＩＤ２０２ごとに対象とする商品の数だけ存在する。頻度２０４は、ユーザが今までに商品ＩＤ２０３に係る商品を閲覧した回数（異なるセッションを全て総合する。）である。頻度２０４の取り得る値は、０以上の整数（０を含む。）である。
【００４８】
図８は、商品プロファイルテーブル２０１に係るデータの一例を示す図である。図８に示す例では、例えば、１番目のレコードは、ユーザＩＤ２０２が「０００１」、商品ＩＤ２０３が「０００００１」、頻度２０４が「１」である。
【００４９】
図９は、商品プロファイルテーブル２０１に係るデータの作成手順を示す図である。商品プロファイルテーブル２０１に係るデータの作成手順は、図９に示すように、ユーザＩＤ２０２×商品ＩＤ２０３の表をイメージすると理解し易い。サーバは、図９に示すような表に相当する記憶領域を有し、ショッピングサイト内において商品の閲覧行動が起こる度に、該当するユーザＩＤ２０２および商品ＩＤ２０３に係る頻度２０４の値を１だけ加算する。例えば、ユーザＩＤ２０２が「Ｕ１」のユーザが、商品ＩＤが「Ｉ１」の商品を閲覧すると、サーバは、ユーザＩＤ２０２が「Ｕ１」かつ商品ＩＤ２０３が「Ｉ１」の頻度２０４の値に１加算する。
【００５０】
図１０は、商品マスタテーブル３０１を示す図である。図１０に示すように、商品マスタテーブル３０１は、商品ＩＤ３０２、商品情報３０３等のデータ項目を有する。商品マスタテーブル３０１は、マスタテーブルであることから、対象とする全ての商品についてのデータを有する。各データ項目の右側に記載された記号（例えば、商品ＩＤに対しては「Ｉ」）は、以下の説明において、各データ項目を示す記号として用いることもある。
【００５１】
商品ＩＤ３０２は、商品ごとに割り振られたＩＤである。商品情報３０３は、商品の情報、例えば、商品名、メーカー名、商品説明等の情報である。
【００５２】
図１１は、商品マスタテーブル３０１に係るデータの一例を示す図である。図１１に示す例では、商品マスタテーブル３０１に係るデータは、商品情報３０３として、商品名３０４、メーカー名３０５、商品説明３０６のデータ項目を有する。図１１に示す例では、例えば、１番目のレコードは、商品ＩＤ３０２が「０００００１」、商品名３０４が「液晶ＴＶ」、メーカー名３０５が「Ａ社」、商品説明３０６が「地上デジタル対応の大画面が低価格にて」である。
【００５３】
図１２は、Ｃキーワードテーブル４０１を示す図である。図１２に示すように、Ｃキーワードテーブル４０１は、商品ＩＤ４０２、Ｃキーワード４０３、重要度４０４等のデータ項目を有する。各データ項目の右側に記載された記号（例えば、商品ＩＤに対しては「Ｉ」）は、以下の説明において、各データ項目を示す記号として用いることもある。
【００５４】
商品ＩＤ４０２は、図１０に示す商品ＩＤ３０２と同じ意味のデータである。Ｃキーワード４０３は、例えば、図１１に示す商品説明３０６に含まれるキーワードであって、商品ＩＤ３０２ごとに複数存在する。Ｃキーワード４０３をいくつ保持するかは、初期設定ファイルなどで設定する。尚、Ｃキーワード４０３は、商品に関連するキーワードであれば良く、図１１に示す商品説明３０６に含まれるかどうかに限定されるわけではない。重要度４０４は、Ｃキーワード４０３の重要性の度合いである。重要度４０４の取り得る値は、０より大きい実数である。
【００５５】
図１３は、Ｃキーワードテーブル４０１に係るデータの一例を示す図である。図１３に示す例では、例えば、１番目のレコードは、商品ＩＤ４０２が「０００００１」、Ｃキーワード４０３が「液晶テレビ」、重要度４０４が「１０」である。
【００５６】
図１４は、関連商品テーブル５０１を示す図である。図１４に示すように、関連商品テーブル５０１は、商品ＩＤ５０２、推薦商品ＩＤ５０３、推薦度５０４等のデータ項目を有する。各データ項目の右側に記載された記号（例えば、商品ＩＤに対しては「Ｉ」）は、以下の説明において、各データ項目を示す記号として用いることもある。
【００５７】
商品ＩＤ５０２は、図１０に示す商品ＩＤ３０２と同じ意味のデータである。推薦商品ＩＤ５０３は、商品ＩＤ５０２に対して推薦する商品（例えば、商品ＩＤ５０２を閲覧したユーザに対して推薦する商品）の商品ＩＤである。推薦商品ＩＤ５０３は、商品ＩＤ５０２ごとに複数存在する。推薦商品ＩＤ５０３をいくつ保持するかは、初期設定ファイルなどで設定する。推薦度５０４は、推薦商品ＩＤ５０３に係る商品の推薦を行うかどうかの度合いである。推薦度５０４の取り得る値は、０より大きく１以下の実数である。
【００５８】
図１５は、関連商品テーブル５０１に係るデータの一例を示す図である。図１５に示す例では、例えば、１番目のレコードは、商品ＩＤ５０２が「０００００１」、推薦商品ＩＤ５０３が「００１００４」、推薦度５０４が「０．９２」である。
【００５９】
図１６は、Ｙキーワードテーブル６０１を示す図である。図１６に示すように、Ｙキーワードテーブル６０１は、Ｙキーワード６０２、推薦商品ＩＤ６０３、推薦度６０４等のデータ項目を有する。各データ項目の右側に記載された記号（例えば、Ｙキーワードに対しては「Ｋｙ」）は、以下の説明において、各データ項目を示す記号として用いることもある。
【００６０】
Ｙキーワード６０２は、図５に示すＹキーワード１０４と同じ意味のデータである。推薦商品ＩＤ６０３は、Ｙキーワード６０２に対して推薦する商品（例えば、Ｙキーワード６０２を含むユーザプロファイルを有するユーザに対して推薦する商品）の商品ＩＤである。推薦商品ＩＤ６０３は、Ｙキーワード６０２ごとに複数存在する。推薦商品ＩＤ６０３をいくつ保持するかは、初期設定ファイルなどで設定する。推薦度６０４は、推薦商品ＩＤ６０３に係る商品の推薦を行うかどうかの度合いである。推薦度６０４の取り得る値は、０より大きく１以下の実数である。
【００６１】
図１７は、Ｙキーワードテーブル６０１に係るデータの一例を示す図である。図１７に示す例では、例えば、１番目のレコードは、Ｙキーワード６０２が「プラズマＴＶ」、推薦商品ＩＤ６０３が「００１００４」、推薦度６０４が「０．９２」である。
【００６２】
図１８は、商品−Ｙキーワードテーブル７０１を示す図である。図１８に示すように、商品−Ｙキーワードテーブル７０１は、商品ＩＤ７０２、Ｙキーワード７０３、推薦商品ＩＤ７０４、推薦度７０５等のデータ項目を有する。各データ項目の右側に記載された記号（例えば、商品ＩＤに対しては「Ｉｃ」）は、以下の説明において、各データ項目を示す記号として用いることもある。
【００６３】
商品ＩＤ７０２は、図１０に示す商品ＩＤ３０２と同じ意味のデータである。Ｙキーワード７０３は、図５に示すＹキーワード１０４と同じ意味のデータである。推薦商品ＩＤ７０４は、商品ＩＤ７０２およびＹキーワード７０３に対して推薦する商品（例えば、Ｙキーワード７０３を含むユーザプロファイルを有するユーザが商品ＩＤ７０２に係る商品を閲覧したときに推薦する商品）の商品ＩＤである。推薦度７０５は、推薦商品ＩＤ７０４に係る商品の推薦を行うかどうかの度合いである。推薦度７０５の取り得る値は、０より大きく１以下の実数である。
【００６４】
図１９は、商品−Ｙキーワードテーブル７０１に係るデータの一例を示す図である。図１９に示す例では、例えば、１番目のレコードは、商品ＩＤ７０２が「００００２２」、Ｙキーワード７０３が「プラズマＴＶ」、推薦商品ＩＤ７０４が「００１００４」、推薦度７０５が「０．９２」である。
【００６５】
（５．商品推薦システム１における各種処理）
＜ユーザプロファイル作成処理＞
次に、図２０から図２２を参照しながら、ユーザプロファイル作成処理について説明する。ユーザプロファイル作成処理は、ユーザが端末を介して商品を閲覧・購入するタイミングでサーバが行うものである。ユーザプロファイル作成処理におけるデータフローは、入力がＣキーワードテーブル４０１に係るデータ、及び端末からの受信データ、出力がユーザプロファイルテーブル１０１に係るデータである。
【００６６】
図２０は、ユーザプロファイル作成処理のフローチャートである。図２０に示すように、ユーザが商品の閲覧または購入を行うために、端末が商品の閲覧または購入の要求をサーバに送信すると（Ｓ１００１）、サーバは、要求を受信し、受信した要求に含まれる商品ＩＤ、セッションＩＤ、ユーザＩＤを抽出する（Ｓ１００２）。
【００６７】
次に、サーバは、Ｓ１００２にて抽出した商品ＩＤをキーとして、Ｃキーワードテーブル４０１が保持するデータを検索し、Ｃキーワード４０３および重要度４０４を抽出する（Ｓ１００３）。
【００６８】
図２１は、Ｃキーワードテーブル４０１に係るデータの一例を示す図である。例えば、Ｓ１００１において、端末は、商品ＩＤが「Ｉ１」に係る商品の閲覧の要求をサーバに送信したとする。この場合、サーバは、商品ＩＤが「Ｉ１」を検索条件として図２１に示すＣキーワードテーブル４０１を検索する。そして、サーバは、商品ＩＤが「Ｉ１」のレコードに係るＣキーワード４０３および重要度４０４を抽出する。図２１に示す例では、Ｃキーワード４０３が「Ｋｃ１」、「Ｋｃ２」等のレコードが抽出されることになる。
【００６９】
図２０の説明に戻ると、次に、サーバは、抽出したＣキーワード４０３をユーザプロファイルテーブル１０１のＹキーワード１０４として、重要度１０５および頻度１０６を算出する（Ｓ１００４）。重要度１０５の算出は、次式に従う。
【数１】
2009237891.tif 000003
但し、Ｗｙｋ：重要度１０５（右辺は更新前のデータ、左辺は更新後のデータ）、Ｗ：重
要度４０４、である。
また、頻度１０６は、更新前のデータに１を加算することで算出する。尚、サーバは、ユーザプロファイルテーブル１０１から、更新対象のレコードの重要度１０５および頻度１０６を取得しておく。更新対象のレコードの検索は、Ｓ１００２にて抽出した商品ＩＤ、セッションＩＤ、ユーザＩＤをキーとする。
【００７０】
次に、サーバは、ユーザプロファイルを作成する（Ｓ１００５）。具体的には、サーバは、Ｓ１００４にて決定したＹキーワード１０４、Ｓ１００４にて算出した重要度１０５および頻度１０６を用いて、ユーザプロファイルテーブル１０１の更新対象のレコードを更新する。但し、サーバは、ユーザプロファイルテーブル１０１にユーザＩＤ１０２、Ｙキーワード１０４の組合せがなければ、新しいレコードを生成し、重要度１０５、頻度１０６、閲覧商品ＩＤ１０７を登録する。
【００７１】
図２２は、ユーザプロファイルテーブル１０１に係るデータの一例を示す図である。例えば、Ｓ１００１において、ユーザＩＤが「Ｕ１」のユーザが使用する端末が、セッションＩＤが「Ｓｅ１」のセッション内に、商品ＩＤが「Ｉ１」に係る商品の閲覧の要求をサーバに送信したとする。この場合、サーバは、図２２に示す１番目のレコード、すなわち、ユーザＩＤ１０２が「Ｕ１」、セッションＩＤ１０３が「Ｓｅ１」、閲覧商品ＩＤ１０７が「ＩＣ１」（商品ＩＤが「Ｉ１」に相当）に係るレコードを更新対象とする。そして、サーバは、重要度１０５、頻度１０６を算出し、更新対象のレコードを更新する。
【００７２】
＜商品プロファイル作成処理＞
次に、図２３から図２５を参照しながら、商品プロファイル作成処理について説明する。商品プロファイル作成処理は、ユーザが端末を介して商品を閲覧・購入するタイミングでサーバが行うものである。商品プロファイル作成処理におけるデータフローは、入力が端末からの受信データ、出力が商品プロファイルテーブル２０１に係るデータである。
【００７３】
図２３は、商品プロファイル作成処理のフローチャートである。図２３に示すように、ユーザが商品の閲覧または購入を行うために、端末が商品の閲覧または購入の要求をサーバに送信すると（Ｓ２００１）、サーバは、要求を受信し、受信した要求に含まれる商品ＩＤ、セッションＩＤ、ユーザＩＤを抽出し、抽出したユーザＩＤに係るユーザに対し、閲覧、購入した商品数をカウントする（Ｓ２００２）。そして、サーバは、商品プロファイルを作成する（Ｓ２００３）。
【００７４】
図２４は、商品プロファイルテーブル２０１に係るデータの一例を示す図である。例えば、Ｓ２００１において、ユーザＩＤが「Ｕ１」のユーザが利用する端末が、商品ＩＤが「Ｉ１」に係る商品の閲覧の要求をサーバに送信したとする。この場合、サーバは、ユーザＩＤ２０２が「Ｕ１」、商品ＩＤ２０３が「Ｉ１」を検索条件として図２４に示す商品プロファイルテーブル２０１を検索する。そして、サーバは、検索されたレコードの頻度２０４に１加算して、更新する。図２４に示す例では、ユーザＩＤ２０２が「Ｕ１」、商品ＩＤ２０３が「Ｉ１」に係るレコードの頻度２０４が、更新前の状態（図示しない。）から１加算されて、「１」となっている。
【００７５】
図２５は、商品プロファイルテーブル２０１に係るデータの作成手順を示す図である。図９にも示したように、商品プロファイルテーブル２０１に係るデータの作成手順は、ユーザＩＤ２０２×商品ＩＤ２０３の表をイメージすると理解し易い。サーバは、図２５に示すような表に相当する記憶領域を有し、ショッピングサイト内において商品の閲覧行動が起こる度に、該当するユーザＩＤ２０２および商品ＩＤ２０３に係る頻度２０４の値を１だけ加算する。
【００７６】
＜Ｃキーワードインデックス作成処理＞
次に、図２６から図２８を参照しながら、Ｃキーワードインデックス作成処理について説明する。Ｃキーワードインデックス作成処理は、例えば、商品情報が登録される度にサーバが行うものである。商品情報の登録は、例えば、サーバがバッチ処理にて定期的に入力ファイル（商品マスタテーブル３０１に係るデータを有するファイル）を読み込み、商品マスタテーブル３０１を更新する。また、管理者がサーバの入力部２９等を介して、サーバにＣキーワードインデックス作成処理を指示するようにしても良い。Ｃキーワードインデックス作成処理におけるデータフローは、入力が商品マスタテーブル３０１に係るデータ、出力がＣキーワードテーブル４０１に係るデータである。
【００７７】
図２６は、Ｃキーワードインデックス作成処理のフローチャートである。図２６に示すように、商品情報が登録されると（Ｓ３００１）、サーバは、商品マスタテーブル３０１からテキスト部分を抽出し、キーワードを抽出する（Ｓ３００２）。
【００７８】
図２７は、商品マスタテーブル３０１に係るデータの一例を示す図である。例えば、商品ＩＤ３０２が「Ｉ１」に係るレコードについては、サーバは、商品名３０４から「液晶ＴＶ」、メーカー名３０５から「Ａ社」、商品説明３０６から「地上デジタル」、「大画面」、「低価格」等のキーワードを抽出する。
【００７９】
図２６の説明に戻ると、次に、サーバは、抽出したキーワードの重要度を算出し（Ｓ３００３）、Ｃキーワードインデックスを作成する（Ｓ３００４）。尚、重要度の算出方法は、例えば、公知のＴＦＩＤＦ法を採用する。Ｓ３００３におけるキーワードの重要度の算出は、次式に従う。
【数２】
2009237891.tif 000004
但し、Ｗ：重要度４０４、ｔｆ：１ドキュメント中の単語の出現頻度、ｉｄｆ：逆出現頻度、Ｎ：総ドキュメント数、ｎ：単語を含むドキュメント数、である。尚、「ドキュメント」とは、商品マスタテーブル３０１に係るレコードを指す。
【００８０】
ここで、商品ＩＤ３０２が「Ｉ１」に係るレコードから抽出したキーワードである「液晶ＴＶ」の重要度の算出について考える。今、総ドキュメント数（Ｎ）が「１００００」、「液晶ＴＶ」を含むドキュメント数（ｎ）が「１０」とする。「液晶ＴＶ」の出現頻度（ｔｆ）は、商品ＩＤ３０２が「Ｉ１」に係るレコード内において「１」であるから、重要度４０４（Ｗ）は、Ｗ＝１×（ｌｏｇ２（１００００／１０）＋１）≒１０．９６５８となる。
【００８１】
図２８は、Ｃキーワードテーブル４０１に係るデータの一例を示す図である。図２８に示す例は、前述の算出結果によるものである。商品ＩＤ４０２が「Ｉ１」、かつＣキーワード４０３が「液晶ＴＶ」に係るレコードは、重要度４０４が「４」である。
【００８２】
＜関連商品インデックス作成処理＞
次に、図２９から図３１を参照しながら、関連商品インデックス作成処理について説明する。関連商品インデックス作成処理は、例えば、サーバがバッチ処理にて定期的に行うものである。また、管理者がサーバの入力部２９等を介して、サーバに関連商品インデックス作成処理を指示するようにしても良い。関連商品インデックス作成処理におけるデータフローは、入力が商品プロファイルテーブル２０１に係るデータ、出力が関連商品テーブル５０１に係るデータである。
【００８３】
図２９は、関連商品インデックス作成処理のフローチャートである。図２９に示すように、サーバは、商品プロファイルテーブル２０１の商品ＩＤ間で類似度を算出し（Ｓ４００１）、関連商品インデックスを作成する（Ｓ４００２）。類似度の算出は、次式に従う。
【数３】
2009237891.tif 000005
但し、ｘ、ｙ：商品ＩＤ、ｘｉ：商品ＩＤが「ｘ」、かつユーザＩＤが「ｉ」の頻度２０４、ｙｉ：商品ＩＤが「ｙ」、かつユーザＩＤが「ｉ」の頻度２０４、μｘ：商品ＩＤが「ｘ」の頻度２０４の平均値、μｙ：商品ＩＤが「ｙ」の頻度２０４の平均値、である。
【００８４】
図３０は、商品の類似度の算出を示す図である。ここで、商品ＩＤ２０３が「Ｉ１」に係る商品と商品ＩＤ２０３が「Ｉ２」に係る商品の類似度の算出について考える。図３０に示すように、商品ＩＤ２０３が「Ｉ１」の頻度２０４の平均値は、１．２５である。また、商品ＩＤ２０３が「Ｉ２」の頻度２０４の平均値は、１．２５である。そして、式（３）から、これらの類似度は、次式のように算出される。
【数４】
2009237891.tif 000006
但し、Ｘ＝０．０１７５、である。
【００８５】
図３１は、関連商品テーブル５０１に係るデータの一例を示す図である。図３１に示すように、図３１に示す例は、前述の算出結果によるものである。商品ＩＤ５０２が「Ｉ１」、かつ推薦商品ＩＤ５０３が「Ｉ２」に係るレコードは、推薦度５０４が「Ｘ」（＝０．０１７５）である。
【００８６】
＜Ｙキーワードインデックス作成処理＞
次に、図３２、図３３を参照しながら、Ｙキーワードインデックス作成処理について説明する。Ｙキーワードインデックス作成処理は、例えば、サーバがバッチ処理にて定期的に行うものである。また、管理者がサーバの入力部２９等を介して、サーバにＹキーワードインデックス作成処理を指示するようにしても良い。Ｙキーワードインデックス作成処理におけるデータフローは、入力がユーザプロファイルテーブル１０１に係るデータ、Ｙキーワードテーブル６０１に係るデータである。
【００８７】
図３２は、Ｙキーワードインデックス作成処理のフローチャートである。図３２に示すように、サーバは、ユーザプロファイルテーブル１０１のＹキーワードの重要度、頻度からスコアを算出する（Ｓ５００１）。スコアとは、Ｙキーワードテーブル６０１の推薦度６０４を算出するための中間的な基準値である。
【００８８】
ここで、スコアの算出について説明する。ユーザプロファイル１０１の１レコードで、特定のＹキーワード１０４かつ閲覧商品ＩＤ１０７に特定の関連商品ＩＤの記録を含むレコード（ｉ＝１、２、・・・、Ｉと添え字を付す。）の重要度Ｗｙｋｉに基づいて、特定のキーワードで示される興味を持つユーザが、特定の商品を閲覧したときの重要度の和Ｓ（１）ｃを、次式により計算する。
【数５】
2009237891.tif 000007
但し、Ｎ（Ｗｙｋｉ）は正規化したＷｙｋｉを表す。
【００８９】
また、ユーザプロファイルテーブル１０１の１レコードで、特定のＹキーワード１０４の記録を含むレコード（ｊ＝１、２、・・・、Ｊと添え字を付す。）の重要度Ｗｙｋｊに基づいて、特定のキーワードで示される興味を持つユーザが、任意の商品を閲覧したときの重要度の和Ｓ（１）ａｌｌを、次式により計算する。
【数６】
2009237891.tif 000008
但し、Ｎ（Ｗｙｋｊ）は正規化したＷｙｋｊを表す。
【００９０】
正規化したＷｙｋｉを求める関数Ｎ（）は、例えば、ユーザプロファイルテーブル１０１の該当するレコードのユーザＩＤと一致するすべてのそのユーザＩＤを持つレコード（ｎ＝１、２、・・・、Ｎと添え字を付す。）の重要度Ｗｙｋｎの最大値を求め、Ｗｙｋｉをその最大値で割った値とする。ただし、これに限らず他の適当な方法で計算しても良い。
【００９１】
図３２の説明に戻ると、次に、サーバは、スコアを利用し、Ｙキーワードを持つユーザに対する閲覧商品ＩＤの見られやすさ（推薦度）を算出する（Ｓ５００２）。前述のように、Ｓ（１）ｃは、特定のキーワードで示される興味を持つユーザが、特定の商品を閲覧したときの重要度の和である。また、Ｓ（１）ａｌｌは、特定のキーワードで示される興味を持つユーザが、任意の商品を閲覧したときの重要度の和である。従って、Ｓ（１）ｃ／Ｓ（１）ａｌｌは、特定のキーワードで示される興味を持つユーザによる当該商品の見られやすさを示していると言える。そこで、Ｙキーワードテーブル６０１の推薦度６０４をＷｋとし、Ｗｋ＝Ｓ（１）ｃ／Ｓ（１）ａｌｌと定義する。サーバは、この定義に従って、Ｗｋを算出する。Ｗｋは、特定のＹキーワード１０４に対して、特定の商品がどのくらいの確率で閲覧されているかの基準となる。
【００９２】
次に、サーバは、推薦度（Ｗｋ）が上位Ｘ番目までの閲覧商品ＩＤを抽出し（Ｓ５００３）、Ｙキーワードインデックスを作成する（Ｓ５００４）。すなわち、サーバは、Ｓ５００１、およびＳ５００２の処理を、Ｙキーワード１０４ごとに、閲覧商品ＩＤ１０７に含まれる全ての商品ＩＤに対して行い、Ｙキーワード１０４ごとに、算出した推薦度（Ｗｋ）の値から上位Ｘ番目までの商品ＩＤを決定する。
【００９３】
図３３は、Ｙキーワードテーブル６０１に係るデータの一例を示す図である。図３３に示すように、Ｙキーワードテーブル６０１は、Ｙキーワード６０２ごとに、Ｓ５００２において算出した推薦度の上位Ｘ番目までの商品ＩＤを推薦商品ＩＤ６０３、Ｓ５００２において算出した推薦度を推薦度６０４として保持する。例えば、Ｙキーワード６０２が「Ｋｙ１」については、推薦商品ＩＤ６０３が「Ｉｋ１」、「Ｉｋ２」等のデータを保持している。
【００９４】
尚、Ｙキーワードインデックス作成処理は、Ｓ５００１において、頻度１０６を考慮してスコアを算出しても良い。
【００９５】
次に、図３４、図３５を参照しながら、商品−Ｙキーワードインデックス作成処理について説明する。商品−Ｙキーワードインデックス作成処理は、例えば、サーバがバッチ処理にて定期的に行うものである。また、管理者がサーバの入力部２９等を介して、サーバに商品−Ｙキーワードインデックス作成処理を指示するようにしても良い。商品−Ｙキーワードインデックス作成処理におけるデータフローは、入力がユーザプロファイルテーブル１０１に係るデータ、商品−Ｙキーワードテーブル７０１に係るデータである。
【００９６】
図３４は、商品−Ｙキーワードインデックス作成処理のフローチャートである。図３４に示すように、サーバは、ユーザプロファイルテーブル１０１のＹキーワードの重要度、頻度からスコアを算出する（Ｓ６００１）。スコアとは、商品−Ｙキーワードテーブル７０１の推薦度７０５を算出するための中間的な基準値である。
【００９７】
ここで、スコアの算出について説明する。特定のＹキーワード１０４かつ閲覧商品ＩＤ１０７に第１の関連商品ＩＤの記録を含むユーザプロファイルテーブル１０１の１レコードと同一のセッションＩＤ１０３をもつレコードのうち、閲覧商品ＩＤ１０７の項目に第２の関連商品ＩＤの記録を含むレコード（ｌ＝１、２、・・・、Ｌと添え字を付す。）の重要度Ｗｙｋｌに基づいて、特定のキーワードで示される興味を持つユーザが、特定の第１の商品を閲覧し、更に同一セッション内に特定の第２の商品を閲覧したときの重要度の和Ｓ（２）ｃを、次式により計算する。
【数７】
2009237891.tif 000009
但し、Ｎ（Ｗｙｋｌ）は正規化したＷｙｋｌを表す。
【００９８】
また、特定のＹキーワード１０４を含むユーザプロファイルテーブル１０１の１レコードと同一のセッションＩＤ１０３をもつレコードのうち、閲覧商品ＩＤ１０７の項目に第２の関連商品ＩＤの記録を含むレコード（ｍ＝１、２、・・・、Ｍと添え字を付す。）の重要度Ｗｙｋｍに基づいて、特定のキーワードで示される興味を持つユーザが、任意の商品を閲覧し、更に同一セッション内に特定の第２の商品を閲覧したときの重要度の和Ｓ（２）ａｌｌを、次式により計算する。
【数８】
2009237891.tif 000010
但し、Ｎ（Ｗｙｋｍ）は正規化したＷｙｋｍを表す。
【００９９】
正規化したＷｙｋｌを求める関数Ｎ（）は、例えば、ユーザプロファイルテーブル１０１の該当するレコードのユーザＩＤと一致するすべてのそのユーザＩＤを持つレコード（ｎ＝１、２、・・・、Ｎと添え字を付す。）の重要度Ｗｙｋｎの最大値を求め、Ｗｙｋｌをその最大値で割った値とする。ただし、これに限らず他の適当な方法で計算しても良い。
【０１００】
図３４の説明に戻ると、次に、サーバは、スコアを利用し、Ｙキーワードを持ち、かつ任意の商品ＩＤに係る商品を閲覧したユーザに対する閲覧商品ＩＤの見られやすさ（推薦度）を算出する（Ｓ６００２）。前述のように、Ｓ（２）ｃは、特定のキーワードで示される興味を持つユーザが、第１の商品を閲覧し、更に第２の商品を閲覧したときの重要度の和である。また、Ｓ（２）ａｌｌは、特定のキーワードで示される興味を持つユーザが、任意の商品を閲覧し、更に第２の商品を閲覧したときの重要度の和である。従って、Ｓ（２）ｃ／Ｓ（２）ａｌｌは、特定のキーワードで示される興味を持ち、かつ第１の商品を閲覧したユーザによる第２の商品の見られやすさを示していると言える。そこで、商品−Ｙキーワードテーブル７０１の推薦度７０５をＷｉｋとし、Ｗｉｋ＝Ｓ（２）ｃ／Ｓ（２）ａｌｌと定義する。サーバは、この定義に従って、Ｗｉｋを算出する。Ｗｉｋは、特定のＹキーワード１０４と紐付く第１の商品の閲覧後、第２の商品がどのくらいの確率で閲覧されているかの基準となる。
【０１０１】
次に、サーバは、推薦度（Ｗｉｋ）が上位Ｘ番目までの閲覧商品ＩＤを抽出し（Ｓ６００３）、商品−Ｙキーワードインデックスを作成する（Ｓ６００４）。すなわち、サーバは、Ｓ６００１、およびＳ６００２の処理を、Ｙキーワード１０４および閲覧商品ＩＤ１０７（第２の商品ＩＤ）ごとに、閲覧商品ＩＤ１０７に含まれる全ての商品ＩＤ（第１の商品ＩＤ）に対して行い、Ｙキーワード１０４および閲覧商品ＩＤ１０７（第２の商品ＩＤ）ごとに、算出した推薦度（Ｗｉｋ）の値から上位Ｘ番目までの商品ＩＤを決定する。
【０１０２】
図３５は、商品−Ｙキーワードテーブル７０１に係るデータの一例を示す図である。図３５に示すように、商品−Ｙキーワードテーブル７０１は、Ｙキーワード７０３および商品ＩＤ７０２ごとに、Ｓ６００２において算出した推薦度の上位Ｘ番目までの商品ＩＤを推薦商品ＩＤ７０４、Ｓ６００２において算出した推薦度を推薦度７０５として保持する。例えば、Ｙキーワード７０３が「Ｋｙ１」、商品ＩＤ７０２が「Ｉｃ１」については、推薦商品ＩＤ７０４が「Ｉｉｋ１０」、「Ｉｉｋ２０」等のデータを保持している。
【０１０３】
尚、商品−Ｙキーワードインデックス作成処理は、Ｓ６００１において、頻度１０６を考慮してスコアを算出しても良い。
【０１０４】
＜商品を選択していない状況での推薦処理＞
次に、図３６を参照しながら、商品を選択していない状況での推薦処理について説明する。商品を選択していない状況での推薦処理は、ユーザが端末を介してショッピングサイトのトップページまたはマイページを閲覧するタイミングでサーバが行うものである。商品を選択していない状況での推薦処理におけるデータフローは、入力が端末からの受信データ、ユーザプロファイルテーブル１０１に係るデータ、及びＹキーワードテーブル６０１に係るデータ、出力が端末への送信データである。
【０１０５】
図３６は、商品を選択していない状況での推薦処理のフローチャートである。図３６に示すように、ユーザがトップページまたはマイページを閲覧するために、端末がトップページまたはマイページの閲覧の要求をサーバに送信すると（Ｓ７００１）、サーバは、ユーザプロファイルテーブル１０１からＹキーワード１０４を抽出する（Ｓ７００２）。
【０１０６】
次に、サーバは、Ｓ７００２にて抽出したＹキーワード１０４を含むＹキーワードテーブル６０１に係るレコードが存在するかどうか確認する（Ｓ７００３）。
存在する場合（Ｓ７００３のＹＥＳ）、サーバは、Ｙキーワードテーブル６０１よりＹキーワード６０２に対する推薦コンテンツＩＤ、すなわち推薦商品ＩＤ６０３に係る商品をユーザに推薦することを決定する（Ｓ７００４）。そして、サーバは、決定した商品の情報を端末に送信する。
一方、存在しない場合（Ｓ７００３のＮＯ）、サーバは、予め定めておいた指定コンテンツＩＤに係る商品をユーザに推薦することを決定する（Ｓ７００５）。そして、サーバは、指定コンテンツＩＤに係る商品の情報を端末に送信する。
レコードが存在しない場合とは、Ｓ７００２にて抽出したＹキーワード１０４を持つユーザによって過去に商品を閲覧、購買されたことがないため、Ｙキーワードテーブル６０１にＳ７００２にて抽出したＹキーワード１０４が登録されていない状態のことである。
【０１０７】
図３６に示すように、商品推薦システム１では、ユーザがトップページまたはマイページを閲覧する場合、すなわちユーザが商品を何も選択していない場合であっても、商品を推薦することができる。そして、特に、Ｓ７００４の場合、ユーザが高い興味を持つ商品を推薦することができる。
【０１０８】
＜商品を選択している状況での推薦処理＞
次に、図３７を参照しながら、商品を選択している状況での推薦処理について説明する。商品を選択している状況での推薦処理は、ユーザが端末を介して商品の閲覧を行うタイミングでサーバが行うものである。商品を選択している状況での推薦処理におけるデータフローは、入力が端末からの受信データ、ユーザプロファイルテーブル１０１に係るデータ、及び商品−Ｙキーワードテーブル７０１に係るデータ、出力が端末への送信データである。
【０１０９】
図３７は、商品を選択している状況での推薦処理のフローチャートである。図３７に示すように、ユーザが商品を閲覧するために、端末が商品の閲覧の要求をサーバに送信すると（Ｓ８００１）、サーバは、受信した要求から商品ＩＤを抽出し、抽出した商品ＩＤをキーとしてユーザプロファイルテーブル１０１を検索し、ユーザプロファイルテーブル１０１からＹキーワード１０４を抽出する（Ｓ８００２）。
【０１１０】
次に、サーバは、Ｓ８００２にて抽出した商品ＩＤ（商品ＩＤ７０２に対応）およびＹキーワード１０４（Ｙキーワード７０３に対応）の組合せを含む商品−Ｙキーワードテーブル７０１に係るレコードが存在するかどうか確認する（Ｓ８００３）。
存在する場合（Ｓ８００３のＹＥＳ）、商品−Ｙキーワードテーブル７０１より商品ＩＤ７０２とＹキーワード７０３の組合せに対する推薦商品ＩＤ７０４に係る商品をユーザに推薦することを決定する（Ｓ８００３）。そして、サーバは、決定した商品の情報を端末に送信する。
一方、存在しない場合（Ｓ８００３のＮＯ）、Ｓ８００５に進む。
レコードが存在しない場合とは、一つは、Ｓ８００２にて抽出したＹキーワード１０４と関連商品ＩＤ１０７の組み合わせで過去に商品を閲覧、購買されたことがない、またはＳ８００２にて抽出したＹキーワード１０４と関連商品ＩＤ１０７の組み合わせで商品を閲覧、購買したユーザが同一セッションＩＤ１０３内で他の商品を閲覧、購買されたことが過去になかったため、商品−Ｙキーワードテーブル７０１にＳ８００２にて抽出したＹキーワード１０４が登録されていない状態のことである。
【０１１１】
次に、サーバは、Ｓ８００２にて抽出したＹキーワード１０４を含むＹキーワードテーブル６０１に係るレコードが存在するかどうか確認する（Ｓ８００５）。
存在する場合（Ｓ８００５のＹＥＳ）、サーバは、Ｙキーワードテーブル６０１よりＹキーワード６０２に対する推薦コンテンツＩＤ、すなわち推薦商品ＩＤ６０３に係る商品をユーザに推薦することを決定する（Ｓ８００６）。そして、サーバは、決定した商品の情報を端末に送信する。
一方、存在しない場合（Ｓ８００５のＮＯ）、サーバは、予め定めておいた指定コンテンツＩＤに係る商品をユーザに推薦することを決定する（Ｓ８００７）。そして、サーバは、指定コンテンツＩＤに係る商品の情報を端末に送信する。
レコードが存在しない場合とは、Ｓ８００２にて抽出したＹキーワード１０４を持つユーザによって過去に商品を閲覧、購買されたことがないため、Ｙキーワードテーブル６０１にＳ８００２にて抽出したＹキーワード１０４が登録されていない状態のことである。
【０１１２】
図３７に示すように、商品推薦システム１では、ユーザが商品を閲覧する場合、すなわちユーザが特定の商品を選択している場合、選択している特定の商品に基づいて、最適な商品を推薦することができる。そして、特に、Ｓ８００４の場合、その特定の商品を閲覧しているユーザが高い興味を持つ商品を推薦することができる。これは、商品−Ｙキーワードテーブル７０１が、ユーザの興味に加えて、直近の閲覧商品を考慮して推薦商品を保持していることから、状況（現在閲覧している商品）も考慮して商品を推薦できることによるものである。
【０１１３】
以上、添付図面を参照しながら、本発明に係る商品推薦システム等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【０１１４】
【図１】推薦商品システム１の概略構成を示す図
【図２】コンピュータのハードウェア構成図
【図３】ショッピングサイトにおけるユーザごとのトップページの一例を示す図
【図４】ショッピングサイトにおける商品詳細ページの一例を示す図
【図５】ユーザプロファイルテーブル１０１を示す図
【図６】ユーザプロファイルテーブル１０１に係るデータの一例を示す図
【図７】商品プロファイルテーブル２０１を示す図
【図８】商品プロファイルテーブル２０１に係るデータの一例を示す図
【図９】商品プロファイルテーブル２０１に係るデータの作成手順を示す図
【図１０】商品マスタテーブル３０１を示す図
【図１１】商品マスタテーブル３０１に係るデータの一例を示す図
【図１２】Ｃキーワードテーブル４０１を示す図
【図１３】Ｃキーワードテーブル４０１に係るデータの一例を示す図
【図１４】関連商品テーブル５０１を示す図
【図１５】関連商品テーブル５０１に係るデータの一例を示す図
【図１６】Ｙキーワードテーブル６０１を示す図
【図１７】Ｙキーワードテーブル６０１に係るデータの一例を示す図
【図１８】商品−Ｙキーワードテーブル７０１を示す図
【図１９】商品−Ｙキーワードテーブル７０１に係るデータの一例を示す図
【図２０】ユーザプロファイル作成処理のフローチャート
【図２１】Ｃキーワードテーブル４０１に係るデータの一例を示す図
【図２２】ユーザプロファイルテーブル１０１に係るデータの一例を示す図
【図２３】商品プロファイル作成処理のフローチャート
【図２４】商品プロファイルテーブル２０１に係るデータの一例を示す図
【図２５】商品プロファイルテーブル２０１に係るデータの作成手順を示す図
【図２６】Ｃキーワードインデックス作成処理のフローチャート
【図２７】商品マスタテーブル３０１に係るデータの一例を示す図
【図２８】Ｃキーワードテーブル４０１に係るデータの一例を示す図
【図２９】関連商品インデックス作成処理のフローチャート
【図３０】関連商品テーブル５０１に係るデータの作成手順を示す図
【図３１】関連商品テーブル５０１に係るデータの一例を示す図
【図３２】Ｙキーワードインデックス作成処理のフローチャート
【図３３】Ｙキーワードテーブル６０１に係るデータの一例を示す図
【図３４】商品−Ｙキーワードインデックス作成処理のフローチャート
【図３５】商品−Ｙキーワードテーブル７０１に係るデータの一例を示す図
【図３６】商品を選択していない状況での推薦処理のフローチャート
【図３７】商品を選択している状況での推薦処理のフローチャート
【符号の説明】
【０１１５】
１………商品推薦システム
３………第２サーバ
５………第１サーバ
７−１、７−２、７−３………端末
９………ネットワーク
１１………学習処理部
１３………インデックス作成部
１５………推薦処理部
１７………インデックスＤＢ
１９………プロファイルＤＢ
２１………制御部
２３………記憶部
２５………メディア入出力部
２７………通信制御部
２９………入力部
３１………表示部
３３………周辺機器Ｉ／Ｆ部
３５………バス
１０１………ユーザプロファイルテーブル
２０１………商品プロファイルテーブル
３０１………商品マスタテーブル
４０１………Ｃキーワードテーブル
５０１………関連商品テーブル
６０１………Ｙキーワードテーブル
７０１………商品−Ｙキーワードテーブル
【図１】
2009237891.tif 000011
【図２】
2009237891.tif 000012
【図３】
2009237891.tif 000013
【図４】
2009237891.tif 000014
【図５】
2009237891.tif 000015
【図６】
2009237891.tif 000016
【図７】
2009237891.tif 000017
【図８】
2009237891.tif 000018
【図９】
2009237891.tif 000019
【図１０】
2009237891.tif 000020
【図１１】
2009237891.tif 000021
【図１２】
2009237891.tif 000022
【図１３】
2009237891.tif 000023
【図１４】
2009237891.tif 000024
【図１５】
2009237891.tif 000025
【図１６】
2009237891.tif 000026
【図１７】
2009237891.tif 000027
【図１８】
2009237891.tif 000028
【図１９】
2009237891.tif 000029
【図２０】
2009237891.tif 000030
【図２１】
2009237891.tif 000031
【図２２】
2009237891.tif 000032
【図２３】
2009237891.tif 000033
【図２４】
2009237891.tif 000034
【図２５】
2009237891.tif 000035
【図２６】
2009237891.tif 000036
【図２７】
2009237891.tif 000037
【図２８】
2009237891.tif 000038
【図２９】
2009237891.tif 000039
【図３０】
2009237891.tif 000040
【図３１】
2009237891.tif 000041
【図３２】
2009237891.tif 000042
【図３３】
2009237891.tif 000043
【図３４】
2009237891.tif 000044
【図３５】
2009237891.tif 000045
【図３６】
2009237891.tif 000046
【図３７】
2009237891.tif 000047