(57)【特許請求の範囲】
【請求項１】
木構造で階層化された複数の区分の中から、第１のキーワードとともに検索条件として指定された回数が第１の閾値以上である前記区分を抽出する第１抽出手段と、
前記第１抽出手段により抽出された前記区分の子孫に相当する前記区分の中から、第２のキーワードとともに検索条件として指定された回数が第２の閾値以上である前記区分を前記第１のキーワードと前記第２のキーワードとの組み合わせに関連する前記区分として抽出する第２抽出手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記第１抽出手段と前記第２抽出手段との組は、前記組み合わせにおけるキーワードの指定順と同じ順番で前記区分を抽出することを特徴とする情報処理装置。
【請求項３】
請求項２に記載の情報処理装置において、
前記第１抽出手段及び前記第２抽出手段の少なくとも一方により前記組み合わせを抽出することができなかった場合、前記第１抽出手段と前記第２抽出手段との組は、前記区分を抽出するキーワードの順番を変更して前記区分を抽出することを特徴とする情報処理装置。
【請求項４】
請求項１乃至３の何れか１項に記載の情報処理装置において、
前記複数の区分のうち、前記第１のキーワード及び前記第２のキーワードとともに前記検索条件として指定された回数が第３の閾値以上である前記区分を抽出する第３抽出手段と、
予め定められた基準に基づいて、前記第２抽出手段により抽出された前記区分と前記第３抽出手段により抽出された前記区分との何れか一方を、前記組み合わせに関連する前記区分として決定する決定手段と、
を更に備えることを特徴とする情報処理装置。
【請求項５】
請求項４に記載の情報処理装置において、
前記決定手段は、前記第２抽出手段により抽出された前記区分と前記第３抽出手段により抽出された前記区分とのうち、前記木構造において位置が深い方の前記区分を前記組み合わせに関連する前記区分として決定することを特徴とする情報処理装置。
【請求項６】
請求項１乃至５の何れか１項に記載の情報処理装置において、
前記第１抽出手段及び前記第２抽出手段のそれぞれは、前記木構造において兄弟関係にある複数の前記区分間での前記キーワードとともに指定された回数のばらつきの大きさが、可変設定された大きさを超える場合に、前記兄弟関係にある複数の区分の中から前記回数が前記閾値以上である前記区分を抽出することを特徴とする情報処理装置。
【請求項７】
請求項１乃至６の何れか１項に記載の情報処理装置において、
前記第１抽出手段及び前記第２抽出手段のそれぞれは、前記木構造において兄弟関係にある複数の前記区分の中から、前記キーワードとともに指定された回数が前記兄弟関係にある前記区分の数に応じて決定された前記閾値以上である前記区分を抽出することを特徴とする情報処理装置。
【請求項８】
コンピュータにより実行される情報処理方法であって、
木構造で階層化された複数の区分の中から、第１のキーワードとともに検索条件として指定された回数が第１の閾値以上である前記区分を抽出する第１抽出ステップと、
前記第１抽出ステップにより抽出された前記区分の子孫に相当する前記区分の中から、第２のキーワードとともに検索条件として指定された回数が第２の閾値以上である前記区分を前記第１のキーワードと前記第２のキーワードとの組み合わせに関連する前記区分として抽出する第２抽出ステップと、
を含むことを特徴とする情報処理方法。
【請求項９】
コンピュータを、
木構造で階層化された複数の区分の中から、第１のキーワードとともに検索条件として指定された回数が第１の閾値以上である前記区分を抽出する第１抽出手段、及び、
前記第１抽出手段により抽出された前記区分の子孫に相当する前記区分の中から、第２のキーワードとともに検索条件として指定された回数が第２の閾値以上である前記区分を前記第１のキーワードと前記第２のキーワードとの組み合わせに関連する前記区分として抽出する第２抽出手段、
として機能させることを特徴とする情報処理プログラム。
【請求項１０】
コンピュータを、
木構造で階層化された複数の区分の中から、第１のキーワードとともに検索条件として指定された回数が第１の閾値以上である前記区分を抽出する第１抽出手段、及び、
前記第１抽出手段により抽出された前記区分の子孫に相当する前記区分の中から、第２のキーワードとともに検索条件として指定された回数が第２の閾値以上である前記区分を前記第１のキーワードと前記第２のキーワードとの組み合わせに関連する前記区分として抽出する第２抽出手段、
として機能させる情報処理プログラムがコンピュータ読み取り可能に記録されていることを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キーワードや検索対象の区分を検索条件として取得し、この検索条件に基づいて検索を行うシステムの技術分野に関する。
【背景技術】
【０００２】
従来、ユーザにより指定された検索条件を端末装置からネットワークを介して受信し、指定された検索条件に基づいて検索を行う検索システムが知られている。この検索条件として指定可能な情報としては、例えば、キーワード、検索対象の区分等がある。検索対象の区分とは、例えば、検索の対象となる物事を予め定められた基準に従って分ける場合に、同じような物事が含まれる範囲を示す。この区分は、それぞれの検索システムに応じて、例えば、ジャンル、カテゴリー、価格帯、地域等になる。【０００３】
例えば、非特許文献１には、飲食店を検索する技術が開示されている。この技術では、飲食店の区分として、飲食店が所在する地域、飲食店の業態、飲食に必要な予算の価格帯等がある。検索条件としてユーザがキーワードを指定すると、例えば、キーワードが飲食店の名称や説明文等に含まれる飲食店が検索される。そして、検索された飲食店の一覧が画面に表示される。また、画面には、検索された飲食店が属する区分が一覧表示される。一覧表示された区分のうち何れかの区分をユーザが選択すると、選択された区分で飲食店の絞り込み検索が行われる。区分の一覧表示がされるとき、指定されたキーワードで検索された飲食店が属する数が多い区分から優先的に表示される。つまり、飲食店の数が多い区分であるほど、その区分をユーザが探し出しやすいように表示される。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】株式会社ぐるなび、“ぐるなび-宴会・グルメ情報検索サイト”、［online］、［平成23年8月3日検索］、インターネット<URL: http://www.gnavi.co.jp/>
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、キーワードによって検索された物事が多く属する区分であるということが、そのキーワードに関連性が高い区分であるということには必ずしもならない。このことを、検索対象が商品である場合を例として説明する。商品のジャンルとして、例えば、飲料と香水とがあるとする。ここで、検索条件として指定されたキーワードが「水」であるとする。飲料は、それを飲むことによって水分が補給されるものである。また、飲料のジャンルには、ミネラルウォーター、すなわち水そのものが商品として含まれている。一方、香水は、液体であることよりも、香りを付着させるという用途の方が着目される。また、香水の商品を検索するのであれば、「水」ではなく、「香水」をキーワードと指定するものと考えられる。従って、飲料と香水とを比較すると、飲料の方が「水」との関連性が高いと考えることは妥当である。ところが、香水の商品の名称や説明文には、「香水」という文字が含まれていることが多い。そのため、「水」というキーワードによって、香水の商品の方が、飲料の商品よりも多く検索されることがある。【０００６】
検索条件として「水」が指定された場合に、例えば、非特許文献１に記載の技術と同様に、商品のジャンルが一覧表示されるとする。このとき、「水」と飲料とが、関連性が高いキーワードとジャンルとして関連付けられていないと、飲料のジャンルよりも、香水のジャンルの方が優先して表示される場合がある。香水のジャンルの表示が優先されることにより、「水」というキーワードと関連性が高いと考えられる飲料のジャンルを、一覧の中からユーザが探し出しにくい場合がある。【０００７】
このように、キーワードと区分との関連性が考慮されていないと、ユーザの利便性が低下する場合がある。さりとて、関連性が高いキーワードと区分との組を人手で抽出するには、相当の労力を要する。また、人手で行う場合、関連性が高いか否かを人間の主観で判断することになるため、関連性が高いキーワードと区分との組が適切に抽出されるとは限らない。【０００８】
また、検索条件として複数のキーワードが指定される場合がある。この場合においても、上述した問題と同様の問題がある。【０００９】
本発明は、以上の点に鑑みてなされたものであり、複数のキーワードにより構成されるキーワードの組み合わせに関連性が高い区分を抽出することを可能とする情報処理装置、情報処理方法、情報処理プログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、請求項１に記載の発明は、木構造で階層化された複数の区分の中から、第１のキーワードとともに検索条件として指定された回数が第１の閾値以上である前記区分を抽出する第１抽出手段と、前記第１抽出手段により抽出された前記区分の子孫に相当する前記区分の中から、第２のキーワードとともに検索条件として指定された回数が第２の閾値以上である前記区分を前記第１のキーワードと前記第２のキーワードとの組み合わせに関連する前記区分として抽出する第２抽出手段と、を備えることを特徴とする。【００１１】
キーワードとともに検索条件として指定された回数が多い区分は、そのキーワードに関連性が高い区分であると考えることができる。そのため、この発明によれば、キーワードに関連性が高い区分を抽出することができる。また、第１のキーワードに関連性が高い区分の子孫の区分のうち、第２のキーワードに関連性が高い区分は、第１のキーワードと第２のキーワードとの組み合わせに関連性が高い区分である蓋然性がある。そのため、複数のキーワードにより構成されるキーワードの組み合わせに関連性が高い区分を抽出することができる。また、第１のキーワードに関連する区分の中には、第２のキーワードに関連すると判定されない区分が存在するかもしれない。このような場合に、第２のキーワードのみを用いた場合に抽出することができなかった区分を、第１のキーワードに関連する区分の子孫の区分の中から抽出を行うことで、第２のキーワードに関連する区分として抽出することができる。【００１２】
なお、組み合わせを構成するキーワードが３個以上である態様も、本発明の技術的範囲に属する。３個以上のキーワードの組み合わせに関連する区分を抽出する場合も、第１のキーワードと第２のキーワードとの組み合わせに関連する区分を抽出する必要があるからである。【００１３】
請求項２に記載の発明は、請求項１に記載の情報処理装置において、前記第１抽出手段と前記第２抽出手段との組は、前記組み合わせにおけるキーワードの指定順と同じ順番で前記区分を抽出することを特徴とする。【００１４】
ユーザが検索条件として複数のキーワードを組み合わせて指定するとき、指定順が後ろの方であるキーワードであるほど、狭い概念を示すキーワードである蓋然性がある。一方、区分を抽出する順番が後ろの方のキーワードであるほど、狭い概念を示す区分の中から、そのキーワードに関連性が高い区分が抽出される。この発明によれば、キーワードの指定順と同じ順番で関連性が高い区分が抽出される。そのため、キーワードが示す概念と、関連性が高い区分が抽出される範囲に含まれる区分が示す概念とを合致させることができる。そのため、キーワードの組み合わせに関連性が高い区分が抽出される蓋然性を高めることができる。【００１５】
請求項３に記載の発明は、請求項２に記載の情報処理装置において、前記第１抽出手段及び前記第２抽出手段の少なくとも一方により前記組み合わせを抽出することができなかった場合、前記第１抽出手段と前記第２抽出手段との組は、前記区分を抽出するキーワードの順番を変更して前記区分を抽出することを特徴とする。【００１６】
この発明によれば、キーワードの組み合わせに関連性が高い区分が抽出される蓋然性を更に高めることができる。【００１７】
請求項４に記載の発明は、請求項１乃至３の何れか１項に記載の情報処理装置において、前記複数の区分のうち、前記第１のキーワード及び前記第２のキーワードとともに前記検索条件として指定された回数が第３の閾値以上である前記区分を抽出する第３抽出手段と、予め定められた基準に基づいて、前記第２抽出手段により抽出された前記区分と前記第３抽出手段により抽出された前記区分との何れか一方を、前記組み合わせに関連する前記区分として決定する決定手段と、を更に備えることを特徴とする。【００１８】
この発明によれば、適切な基準が定められることで、複数通りの方法で抽出された区分のうち、キーワードの組み合わせに関連性が高い区分としての信頼性が高い方の区分を抽出することができる。【００１９】
請求項５に記載の発明は、請求項４に記載の情報処理装置において、前記決定手段は、前記第２抽出手段により抽出された前記区分と前記第３抽出手段により抽出された前記区分とのうち、前記木構造において位置が深い方の前記区分を前記組み合わせに関連する前記区分として決定することを特徴とする。【００２０】
階層が深い区分であるほど、その区分に属する検索対象の特定性が高い。そして、検索対象の特定性が高い区分であるほど、キーワードの組み合わせとの関連性が高い蓋然性がある。この発明によれば、階層が深い方の区分が、キーワードの組み合わせとの関連性が高い区分として決定される。そのため、キーワードの組み合わせに関連性が高い区分としての信頼性が高い方の区分を抽出することができる。【００２１】
請求項６に記載の発明は、請求項１乃至５の何れか１項に記載の情報処理装置において、前記第１抽出手段及び前記第２抽出手段のそれぞれは、前記木構造において兄弟関係にある複数の前記区分間での前記キーワードとともに指定された回数のばらつきの大きさが、可変設定された大きさを超える場合に、前記兄弟関係にある複数の区分の中から前記回数が前記閾値以上である前記区分を抽出することを特徴とする。【００２２】
この発明によれば、キーワードとともに検索条件として指定された回数に、兄弟関係にある複数の区分間でばらつきがある場合に、そのキーワードとともに検索条件として指定された回数が閾値以上である区分を抽出することができる。そのため、兄弟関係にある複数の区分のうち、指定された回数が他の区分と比較して多い区分をキーワードとの関連性が高い区分として抽出することができる。【００２３】
請求項７に記載の発明は、請求項１乃至６の何れか１項に記載の情報処理装置において、前記第１抽出手段及び前記第２抽出手段のそれぞれは、前記木構造において兄弟関係にある複数の前記区分の中から、前記キーワードとともに指定された回数が前記兄弟関係にある前記区分の数に応じて決定された前記閾値以上である前記区分を抽出することを特徴とする。【００２４】
この発明によれば、兄弟関係にある複数の区分のうちキーワードとの関連性が高い区分を、兄弟関係にある区分の数に応じて適切に抽出することができる。【００２５】
請求項８に記載の発明は、コンピュータにより実行される情報処理方法であって、木構造で階層化された複数の区分の中から、第１のキーワードとともに検索条件として指定された回数が第１の閾値以上である前記区分を抽出する第１抽出ステップと、前記第１抽出ステップにより抽出された前記区分の子孫に相当する前記区分の中から、第２のキーワードとともに検索条件として指定された回数が第２の閾値以上である前記区分を前記第１のキーワードと前記第２のキーワードとの組み合わせに関連する前記区分として抽出する第２抽出ステップと、を含むことを特徴とする。【００２６】
請求項９に記載の発明は、コンピュータを、木構造で階層化された複数の区分の中から、第１のキーワードとともに検索条件として指定された回数が第１の閾値以上である前記区分を抽出する第１抽出手段、及び、前記第１抽出手段により抽出された前記区分の子孫に相当する前記区分の中から、第２のキーワードとともに検索条件として指定された回数が第２の閾値以上である前記区分を前記第１のキーワードと前記第２のキーワードとの組み合わせに関連する前記区分として抽出する第２抽出手段、として機能させることを特徴とする。【００２７】
請求項１０に記載の発明は、コンピュータを、木構造で階層化された複数の区分の中から、第１のキーワードとともに検索条件として指定された回数が第１の閾値以上である前記区分を抽出する第１抽出手段、及び、前記第１抽出手段により抽出された前記区分の子孫に相当する前記区分の中から、第２のキーワードとともに検索条件として指定された回数が第２の閾値以上である前記区分を前記第１のキーワードと前記第２のキーワードとの組み合わせに関連する前記区分として抽出する第２抽出手段、として機能させる情報処理プログラムがコンピュータ読み取り可能に記録されていることを特徴とする。
【発明の効果】
【００２８】
第１のキーワードに関連性が高い区分の子孫の区分のうち、第２のキーワードに関連性が高い区分は、第１のキーワードと第２のキーワードとの組み合わせに関連性が高い区分である蓋然性がある。そのため、本発明によれば、複数のキーワードにより構成されるキーワードの組み合わせに関連性が高い区分を抽出することができる。また、第１のキーワードに関連する区分の中には、第２のキーワードに関連すると判定されない区分が存在するかもしれない。このような場合に、第２のキーワードのみを用いた場合に抽出することができなかった区分を、第１のキーワードに関連する区分の子孫の区分の中から抽出を行うことで、第２のキーワードに関連する区分として抽出することができる。
【図面の簡単な説明】
【００２９】
【図１】一実施形態に係るショッピングシステムＳの概要構成の一例を示す図である。
【図２】（ａ）は、電子商店街のトップページの表示例を示す図であり、（ｂ）は、検索キーワード候補表示領域１１４の表示例を示す図である。
【図３】検索結果ページの表示例である。
【図４】（ａ）乃至（ｃ）は、ジャンル指定領域２２０におけるジャンルリンク２２１の表示例を示す図である。
【図５】（ａ）は、検索キーワード候補表示領域２１４におけるキーワードの表示例を示す図であり、（ｂ）は、関連キーワード表示領域２３０における関連キーワードリンク２３１の表示例を示す図である。
【図６】一実施形態に係る電子商店街サーバ１の概要構成の一例を示すブロック図である。
【図７】（ａ）は、会員情報ＤＢ１２ａに登録される内容の一例を示す図であり、（ｂ）は、商品情報ＤＢ１２ｂに登録される内容の一例を示す図であり、（ｃ）は、ジャンル情報ＤＢ１２ｃに登録される内容の一例を示す図であり、（ｄ）は、キーワードＤＢ１２ｄに登録される内容の一例を示す図であり、（ｅ）は、関連キーワードＤＢ１２ｅに登録される内容の一例を示す図であり、（ｆ）は、クエリログＤＢ１２ｆに登録される内容の一例を示す図であり、（ｇ）は、指定回数情報ＤＢ１２ｇに登録される内容の一例を示す図である。
【図８】（ａ）及び（ｂ）は、レベル１のジャンルごとの指定確率を示すグラフである。
【図９】各レベルについてキーワードｋに関連するジャンルの抽出の様子を示す図である。
【図１０】（ａ）は、「デジタルカメラ  ＡＡＡ社」という検索キーワードの組み合わせに関連するジャンルの抽出結果の一例を示す図であり、（ｂ）は、「デジタルカメラ」というキーワードに関連するジャンルの抽出結果の一例を示す図であり、（ｃ）は、「ＡＡＡ社」というキーワードに関連するジャンルの抽出結果の一例を示す図である。
【図１１】「デジタルカメラ  ＡＡＡ社」との関連性が高いジャンルが抽出される様子の一例を示す図である。
【図１２】（ａ）は、「２０インチ  ディスプレイ」という検索キーワードの組み合わせに関連するジャンルの抽出結果の一例を示す図であり、（ｂ）は、「２０インチ」というキーワードに関連するジャンルの抽出結果の一例を示す図であり、（ｃ）は、「ディスプレイ」というキーワードに関連するジャンルの抽出結果の一例を示す図である。
【図１３】（ａ）は、検索キーワードの指定順で抽出処理が行われた場合の抽出例であり、（ｂ）は、ジャンルの抽出順を変更して抽出処理が行われた場合の抽出例である。
【図１４】（ａ）は、「Ｘ  Ｙ」という検索キーワードの組み合わせに関連するジャンルを、第３項で説明された方法で抽出した場合の抽出結果の一例を示す図であり、図１４（ｂ）は、「Ｘ  Ｙ」という検索キーワードの組み合わせに関連するジャンルを、第４項で説明された方法で抽出される様子の一例を示す図である。
【図１５】一実施形態に係る電子商店街サーバ１のシステム制御部１４の指定回数集計処理における処理例を示すフローチャートである。
【図１６】一実施形態に係る電子商店街サーバ１のシステム制御部１４の関連ジャンル抽出制御処理における処理例を示すフローチャートである。
【図１７】一実施形態に係る電子商店街サーバ１のシステム制御部１４の関連ジャンル抽出処理における処理例を示すフローチャートである。
【図１８】一実施形態に係る電子商店街サーバ１のシステム制御部１４の複数キーワード対応関連ジャンル抽出処理における処理例を示すフローチャートである。
【図１９】一実施形態に係る電子商店街サーバ１のシステム制御部１４の設定抽出順対応関連ジャンル抽出処理における処理例を示すフローチャートである。
【図２０】一実施形態に係る電子商店街サーバ１のシステム制御部１４の検索クエリ受信時処理における処理例を示すフローチャートである。
【図２１】一実施形態に係る電子商店街サーバ１のシステム制御部１４のジャンル指定領域設定処理における処理例を示すフローチャートである。
【図２２】一実施形態に係る電子商店街サーバ１のシステム制御部１４の関連キーワード表示領域設定処理における処理例を示すフローチャートである。
【図２３】一実施形態に係る電子商店街サーバ１のシステム制御部１４の検索結果表示領域設定処理における処理例を示すフローチャートである。
【図２４】一実施形態に係る電子商店街サーバ１のシステム制御部１４の検索キーワード候補要求受信時処理における処理例を示すフローチャートである。
【図２５】購入履歴ＤＢ１２ｈに登録される内容の一例を示す図である。
【図２６】（ａ）及び（ｂ）は、ジャンルごとの指定確率を示すグラフである。
【発明を実施するための形態】
【００３０】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下に説明する実施の形態は、ショッピングシステムに対して本発明を適用した場合の実施形態である。
【００３１】
［１．ショッピングシステムの構成及び機能概要］
［１−１．ショッピングシステムの構成］
先ず、本実施形態に係るショッピングシステムＳの構成について、図１を用いて説明する。図１は、本実施形態に係るショッピングシステムＳの概要構成の一例を示す図である。
【００３２】
図１に示すように、ショッピングシステムＳは、電子商店街サーバ１と、複数のユーザ端末２と、を含んで構成されている。そして、電子商店街サーバ１と各ユーザ端末２とは、ネットワークＮＷを介して、例えば、通信プロトコルにＴＣＰ／ＩＰ等を用いて相互にデータの送受信が可能になっている。なお、ネットワークＮＷは、例えば、インターネット、専用通信回線（例えば、ＣＡＴＶ（Community Antenna Television）回線）、移動体通信網（基地局等を含む）、及びゲートウェイ等により構築されている。
【００３３】
電子商店街サーバ１（本発明における情報処理装置の一例）は、商品の購入が可能な電子商店街に関する各種処理を実行するサーバ装置である。ユーザは、電子商店街を利用することにより、所望の店舗から所望の商品を購入することができる。電子商店街サーバ１は、ユーザ端末２からのリクエストに応じて、例えば、電子商店街のＷｅｂページを送信したり、商品の検索や購入等に関する処理を行ったりする。
【００３４】
ユーザ端末２は、電子商店街を利用するユーザの端末装置である。ユーザ端末２は、ユーザからの操作に基づいて電子商店街サーバ１にアクセスすることにより、電子商店街サーバ１からＷｅｂページを受信して表示する。ユーザ端末２は、ＣＰＵ、メモリ、ユーザ操作を受ける操作部、情報を画面表示するディスプレイ等を備える。また、ユーザ端末２には、ブラウザや電子メールクライアント等のソフトウェアが組み込まれている。ユーザ端末２としては、例えば、パーソナルコンピュータ、ＰＤＡ（Personal Digital Assistant）、スマートフォン等の携帯情報端末、携帯電話機等が用いられる。
【００３５】
［１−２．検索条件の指定］
次に、電子商店街において商品の検索に用いられる検索条件、及び検索条件を指定するためのＷｅｂページについて、図２を用いて説明する。
【００３６】
電子商店街では、商品を検索するときに、検索条件として、キーワード、商品のジャンル等を指定可能である。検索条件として指定されるキーワードを、「検索キーワード」という。ユーザは、検索条件として、検索キーワード及びジャンルの両方を同時に指定することも、何れか一方を指定することもできる。また、ユーザは、複数の検索キーワードを組み合わせて指定することができる。なお、複数のキーワードが組み合わせて指定された場合、指定された複数のキーワードを、「キーワードの組み合わせ」という。
【００３７】
商品のジャンル（本発明における区分の一例）は、商品を、例えば種類、性質、用途等で区分したときに、同じような種類、性質、用途等の商品が属する範囲である。商品のジャンルは、木構造で階層的に定義されている。具体的に、木構造の各ノードが、ジャンルに相当する。ノードの深さが、そのノードに相当するジャンルのレベル（木構造においてノードが位置する階層の深さ）に相当する。ノードの深さは、根に位置するノード（以下、「根ノード」という）からの距離である。木構造において、根ノードには、ジャンルトップというジャンルが便宜的に定義されている。レベルの値が大きいほど、階層の深さが深く、レベルの値が小さいほど、階層の深さが浅い。ジャンルトップは、ユーザがジャンルを何も指定していない状態を示す。ジャンルトップは、レベル０のジャンルである。ジャンルトップに対して、子ノードに相当するジャンルがレベル１のジャンルである。レベル１のジャンルが、ユーザが指定可能なジャンルとして実質的に最上位のジャンルである。レベル１のジャンルとしては、例えば、「水・ソフトドリンク」、「美容・コスメ・香水」、「ペット・ペットグッズ」、「レディースファッション」、「メンズファッション」等がある。レベル１の各ジャンルに対しては、子ノードに相当するジャンルが、レベル２のジャンルとして定義されている。ここで、あるジャンルｃ１の子ノードに相当するジャンルｃ２を、ジャンルｃ１の「子ジャンル」という。子ジャンルを、サブジャンルともいう。また、このときのジャンルｃ１を、ジャンルｃ２の「親ジャンル」という。子ジャンルは、親ジャンルを更に複数に区分したときに、同じような商品が属する範囲である。従って、子ジャンルは親ジャンルに属する。また、あるジャンルに対して、子孫のノードに相当するジャンルを、「子孫ジャンル」という。例えば、ジャンルｃ３がジャンルｃ２の子ジャンルであるとする。この場合、ジャンルｃ２及びｃ３は、ジャンルｃ１の子孫ジャンルである。あるジャンルが子ジャンルを有するとき、通常複数の子ジャンルが定義されている。例えば、「水・ミネラルウォーター」の子ジャンルとして、例えば、「水・ミネラルウォーター」、「ソフトドリンク」及び「コーヒー・ココア」等が定義されている。同一の親ジャンルに属するジャンル同士を、兄弟ジャンルという。つまり、或るジャンルｃ４と兄弟関係にある全てのジャンルは、ジャンルｃ４の兄弟ジャンルである。例えば、「水・ミネラルウォーター」、「ソフトドリンク」及び「コーヒー・ココア」は、互いに兄弟ジャンルである。レベル２以降のジャンルについては、必要に応じて子ジャンルが定義されている。
【００３８】
検索条件を指定するためのＷｅｂページとして、例えば、トップページと検索結果ページとがある。トップページは、電子商店街において最上位に位置するＷｅｂページである。検索結果ページは、商品の検索結果を示すＷｅｂページである。また、検索結果ページは、検索された商品の中から商品を絞り込んで検索するための検索条件（以下、「絞り込み条件」という）を指定したり、検索条件を指定し直したりするためのＷｅｂページである。トップページにおいてユーザが検索条件を指定すると、指定された検索条件で電子商店街サーバ１により商品が検索され、その検索結果を示す検索結果ページがユーザ端末２により表示される。また、検索結果ページにおいてユーザが検索条件を指定すると、指定された検索条件で電子商店街サーバ１により再度商品が検索され、その検索結果を表示する新たな検索結果ページがユーザ端末２により表示される。
【００３９】
検索結果ページにおいてユーザが検索条件を指定したとき、この検索結果ページの直前に表示されていたトップページまたは検索結果ページ（以下、「直前ページ」という）において指定された検索条件が引き継がれる場合がある。例えば、トップページまたは検索結果ページにおいて、検索条件として検索キーワードｋ１が指定されたとする。すると、検索キーワードｋ１による検索結果を示す検索結果ページが表示される。ここで、ユーザが検索条件としてジャンルｃ１を指定すると、検索条件として、検索キーワードｋ１及びジャンルｃ１が指定されたとみなされる。そして、検索キーワードｋ１及びジャンルｃ１による検索結果を示す新たな検索結果ページが表示される。つまり、ユーザは、ジャンルｃ１を絞り込み条件として指定したことになる。また、トップページまたは検索結果ページにおいて、検索条件としてジャンルｃ２が指定されたとする。すると、ジャンルｃ２による検索結果を示す検索結果ページが表示される。ここで、ユーザが検索条件として検索キーワードｋ２を指定すると、検索条件として、ジャンルｃ２及び検索キーワードｋ２が指定されたとみなされる。そして、ジャンルｃ２及び検索キーワードｋ２による検索結果を示す新たな検索結果ページが表示される。つまり、ユーザは、検索キーワードｋ２を絞り込み条件として指定したことになる。以降の説明において、直前ページにおいて検索条件として検索キーワードまたはジャンルが指定されたとは、直前ページにおいてユーザが検索キーワードを入力したりジャンルを選択したりすることによりユーザが明示的に指定した場合と、検索条件の引き継ぎによって指定したとみなされる場合とを含む。
【００４０】
図２（ａ）は、電子商店街のトップページの表示例を示す図である。図２（ａ）に示すように、トップページは、検索条件設定領域１１０、ジャンル一覧表示領域１２０等を含む。
【００４１】
検索条件設定領域１１０は、キーワード入力欄１１１、ジャンル選択メニュー１１２、検索ボタン１１３等を含む。キーワード入力欄１１１は、１つまたは複数の検索キーワードを入力するための入力領域である。各検索キーワードの区切りとして空白を入力することにより、ユーザは複数の検索キーワードを入力することができる。これにより、ユーザは、複数のキーワードを検索条件として指定することができる。ジャンル選択メニュー１１２は、レベル１のジャンルの中から、検索条件として指定するジャンルを選択するためのプルダウンメニューである。検索ボタン１１３は、キーワード入力欄１１１に入力された検索キーワードと、ジャンル選択メニュー１１２において選択されたジャンルとを、検索条件として指定するためのボタンである。検索キーワードが入力されている場合に検索ボタン１１３が選択されると、その検索キーワードが検索条件として指定され、この検索条件で検索が行われる。また、ジャンルが選択されている場合に検索ボタン１１３が選択されると、そのジャンルが検索条件として指定され、この検索条件で検索が行われる。ユーザは、検索条件設定領域１１０に対する操作によって、検索キーワード及びジャンルの両方または何れか一方を検索条件として指定することができる。
【００４２】
図２（ｂ）は、検索キーワード候補表示領域１１４の表示例を示す図である。キーワード入力欄１１１は、キーワードサジェスト機能に対応している。キーワードサジェスト機能は、検索キーワードの候補を表示し、その候補を検索キーワードとして指定可能とする機能である。具体的に、キーワード入力欄１１１に対してユーザが検索キーワードを入力し始めると、図２（ｂ）に示すように、キーワード入力欄１１１の直下に、検索キーワード候補表示領域１１４が表示される。検索キーワード候補表示領域１１４には、検索キーワードの候補が一覧表示される。候補として表示されるキーワードは、キーワード入力欄１１１に入力されている文字列に前方一致する検索キーワードである。キーワード入力欄１１１に仮名が入力されている場合、候補として表示されるキーワードは、その読みが、入力されている仮名に前方一致するキーワードである。
【００４３】
例えば、最初に「デ」が入力された場合、キーワード候補表示領域１１４には、例えば、「ディーゼル」、「デニム」、「デッキシューズ」、「デジタルフォトフレーム」等が表示される。その後、「ジタル」が入力されると、キーワード入力欄１１１には、「デジタル」が入力されている状態となる。この場合、検索キーワード候補表示領域１１４には、例えば、「デジタルフォトフレーム」、「デジタルカメラ」、「デジタルスケール」、「デジタル  腕時計」、「デジタルカメラ  本体」等のキーワードが表示される。「デジタル  腕時計」のように、複数のキーワードを組み合わせたものが候補として表示される場合もある。検索キーワード候補表示領域１１４に表示可能なキーワードの上限数は予め設定されている。検索キーワード候補表示領域１１４に表示されたキーワードの中から何れかのキーワードをユーザが選択すると、選択されたキーワードが検索条件として指定され、この検索条件で検索が行われる。このときにジャンル選択メニュー１１２においてジャンルが選択されていると、そのジャンルも検索条件として指定される。
【００４４】
ジャンル一覧表示領域１２０には、ジャンルの一覧が表示される。ジャンル一覧表示領域１２０に表示される各ジャンルは、複数のレベル１のジャンルを統合したものである。ジャンル一覧表示領域１２０に表示されたジャンルの中から何れかのジャンルをユーザが選択すると、選択されたジャンルに属するレベル１のジャンルの一覧が表示される。そして、表示されたレベル１のジャンルの中から何れかのジャンルをユーザが選択すると、選択されたジャンルが検索条件として指定され、この検索条件で検索が行われる。
【００４５】
図３は、検索結果ページの表示例である。図３に示すように、検索結果ページは、検索条件設定領域２１０、ジャンル指定領域２２０、関連キーワード表示領域２３０、検索結果表示領域２４０等を含む。
【００４６】
検索条件設定領域２１０は、キーワード入力欄２１１、ジャンル選択メニュー２１２、検索ボタン２１３等を含む。キーワード入力欄２１１、ジャンル選択メニュー２１２及び検索ボタン２１３の機能は、キーワード入力欄１１１、ジャンル選択メニュー１１２及び検索ボタン１１３の機能と同じである。直前ページにおいて、検索条件として検索キーワードが指定された場合、キーワード入力欄２１１には、その検索キーワードが予め入力されている。キーワード入力欄２１１に検索キーワードが入力されている場合に検索ボタン２１３が選択されると、その検索キーワードが検索条件として指定され、この検索条件で検索が行われる。ここで、直前ページにおいてジャンルが検索条件として指定されていた場合、そのジャンルも検索キーワードとともに検索条件として指定されたとみなされる。
【００４７】
ジャンル指定領域２２０は、１つ以上のジャンルリンク２２１を含む。ジャンルリンク２２１は、絞り込み条件としてジャンルを指定するためのリンクであり、指定の対象となるジャンルの名称を示す。ジャンル指定領域２２０から何れかのジャンルリンク２２１をユーザが選択すると、選択されたジャンルリンク２２１に対応するジャンルが検索条件として指定され、この検索条件で検索が行われる。ここで、直前ページにおいて検索キーワードが検索条件として指定されていた場合、その検索キーワードもジャンルとともに検索条件として指定されたとみなされる。直前ページにおいてジャンルが検索条件として指定された場合、ジャンル指定領域２２０には、指定されたジャンルの子ジャンルに対応するジャンルリンク２２１が表示される。一方、トップページにおいて検索キーワードのみが検索条件として指定されたことによって検索結果ページが表示された場合、その検索結果ページのジャンル指定領域２２０には、レベル１のジャンルに対応するジャンルリンク２２１が表示される。
【００４８】
関連キーワード表示領域２３０は、直前ページにおいて検索キーワードが検索条件として指定された場合に表示される。関連キーワード表示領域２３０は、関連キーワードリンク２３１を含む。関連キーワードリンク２３１は、直前ページにおいて指定された検索キーワードに関連するキーワード（以下、「関連キーワード」という）を検索条件として指定し直して商品を検索するためのリンクであり、指定の対象となる関連キーワードを示す。ある検索キーワードの関連キーワードとしては、例えば、検索キーワードの類似語、検索キーワードが意味する物事と関連する物事を意味する語、検索キーワードを含む語等がある。また、キーワードの組み合わせが関連キーワードとして表示される場合もある。検索キーワード候補表示領域１１４に表示可能な関連キーワードの上限数は予め設定されている。関連キーワード表示領域２３０から何れかの関連キーワードリンク２３１をユーザが選択すると、選択された関連キーワードリンク２３１に対応する関連キーワードが検索キーワードとして指定され、この検索条件で検索が行われる。ここで、直前ページにおいてジャンルが検索条件として指定されていた場合、そのジャンルも検索キーワードとともに検索条件として指定されたとみなされる。
【００４９】
検索結果表示領域２４０には、検索された商品の情報の一覧が表示される。具体的に、検索結果表示領域２４０には、検索された商品の画像、商品名、価格、店舗名等を含む該当商品情報２４１が商品ごとに表示される。該当商品情報２４１は、検索された商品の表示順位に従って表示される。具体的に、表示順位が高いほど、検索結果表示領域２４０内の上方に該当商品情報２４１が表示される。また、検索結果表示領域２４０に情報が表示可能な該当商品情報２４１の上限数が決められている。例えば、上限数が３０である場合、検索結果表示領域２４０には、表示順位が１位から３０位までの商品の該当商品情報２４１が表示される。ここで、ユーザが「次の３０件」と表示されたリンクを選択すると、ユーザ端末２の画面には新たな検索結果ページが表示され、その検索結果ページの検索結果表示領域２４０に、表示順位が３１位から６０位までの該当商品情報２４１が表示される。該当商品情報２４１の表示順位は、リスティングスコアに基づいて決定される。リスティングスコアは、商品またはその商品の商品ページに対して決定された評価を示す値である。リスティングスコアが高いほど、評価が高いことを示す。そして、リスティングスコアが高い商品ほど、その商品の該当商品情報２４１の表示順位が高くなる。例えば、商品ページに対するアクセス数（閲覧数）が多いほどリスティングスコアが高くなるようにしてもよいし、商品の購入数が多いほどリスティングスコアが高くなるようにしてもよい。検索結果表示領域２４０に表示された該当商品情報２４１の中から何れかの該当商品情報２４１をユーザが選択すると、商品ページが画面に表示される。商品ページは、選択された該当商品情報２４１に対応する商品の詳細な情報が表示されるＷｅｂページである。商品ページにおいてユーザが購入操作を行うことにより、その商品ページに情報が表示されている商品を購入することができる。
【００５０】
［１−３．検索キーワードとジャンルとの組の抽出、抽出結果の用途］
電子商店街サーバ１は、検索結果ページにおけるユーザの利便性を高めるため、検索キーワードと、その検索キーワードに関連性が高いジャンルとを抽出する。また、電子商店街サーバ１は、検索キーワードの組み合わせと、その組み合わせに関連性が高いジャンルとを抽出する。
【００５１】
検索キーワードと関連性が高いジャンルとは、これまでに、その検索キーワードとともに検索条件として指定された回数が多いジャンルである。この回数を「指定回数」という。検索キーワードの組み合わせと関連性が高いジャンルの１つの例として、これまでに、その組み合わせを構成する複数の検索キーワードとともに検索条件として指定された回数が多いジャンルが挙げられる。ユーザが検索条件を指定すると、ユーザ端末２から電子商店街サーバ１へ検索クエリが送信される。検索クエリは、商品の要求を示すメッセージである。検索条件として検索キーワードが指定されると、検索クエリには、指定された１つ以上の検索キーワードが検索キーワード情報として設定される。また、検索条件としてジャンルが指定されると、検索クエリにはジャンルＩＤが設定される。ジャンルＩＤは、ジャンルの識別情報である。電子商店街サーバ１は、ユーザ端末２から検索クエリを受信すると、クエリログを記録する。クエリログは、受信された検索クエリの履歴である。電子商店街サーバ１は、クエリログに基づいて、検索条件として指定された検索キーワード及びジャンルの各組の指定回数を計算する。
【００５２】
指定回数は、ユーザが明示的に検索キーワード及びジャンルの両方を同時に指定した回数と、直前ページにおいてユーザが検索キーワード及びジャンルの何れか一方を指定し、これによって表示された検索結果ページにおいてユーザが他方を絞り込み条件として指定することで、検索キーワード及びジャンルの両方が指定されたとみなされる場合の回数とを含む。ユーザが検索キーワードとジャンルとを指定した場合、例えば、指定した検索キーワードによって探したい商品が、指定したジャンルの商品の中にあるとユーザが意図していると考えられる。つまり、ユーザは、指定した検索キーワードとジャンルとの間に関連性があると考えている。それは、ユーザが検索しようとする商品が、指定する検索キーワード及びジャンルが示す検索条件を満たす商品であるからである。従って、ある検索キーワードとジャンルの組の指定回数が多いほど、検索キーワードとジャンルとの関連性が高いといえる。そして、検索キーワードと、その検索キーワードに関連性が高いジャンルとが関連付けられていれば、検索の際のユーザの利便性を高めることができる場合がある。
【００５３】
ある検索キーワードｋとジャンルｃとの組の指定回数が多いか否かは、検索キーワードｋと、ジャンルｃの兄弟ジャンルとの組の指定回数に基づいて決定される。ジャンルｃの相対的な指定回数が多いほど、他のジャンルと比較して検索キーワードｋとの関連性が高いといる。
【００５４】
関連性が高いとして抽出された検索キーワードとジャンルとの組には、関連性スコアが決定される。関連性スコアは、検索キーワードとジャンルとの間の関連度を示す値である。関連性スコアが高いほど、当該検索キーワードとジャンルの関連度が高いことを示す。
【００５５】
なお、関連性が高い検索キーワードとジャンルとの組の抽出方法の詳細については後述する。以下では、この検索キーワードとジャンルとの組の抽出結果の用途について説明する。
【００５６】
第１の用途は、検索結果ページのジャンル指定領域２２０におけるジャンルリンク２２１の表示の制御である。具体的に、直前ページにおいて検索キーワードが検索条件として指定された場合、ジャンル指定領域２２０には、指定された検索キーワードと関連性が高いジャンルのジャンルリンク２２１が優先的に表示される。ジャンル指定領域２２０におけるジャンルリンク２２１の表示順位は、指定された検索キーワードと、ジャンルとの関連性スコアが高いほど高くなる。ジャンルの一連としてジャンルリンク２２１が表示された場合、ユーザは、先に指定した検索キーワードに関連するとユーザが考えるジャンルのジャンルリンク２２１を選択すると考えられる。そのため、指定された検索キーワードとの関連性が高いジャンルであるほど、ユーザが絞り込み条件として指定する蓋然性が高い。従って、絞り込み条件として指定するジャンルをユーザがジャンル指定領域２２０から容易に探し出すことができる。
【００５７】
図４（ａ）乃至図４（ｃ）は、ジャンル指定領域２２０におけるジャンルリンク２２１の表示例を示す図である。例えば、「水」という検索キーワードと、「水・ソフトドリンク」、「水・ミネラルウォーター」及び「ペット・ペットグッズ」とがそれぞれ関連性が高いとする。この場合に、トップページにおいて、ユーザが検索キーワードとして「水」を指定すると、検索結果ページのジャンル指定領域２２０には、図４（ａ）に示すように、「水・ソフトドリンク」、「水・ミネラルウォーター」及び「ペット・ペットグッズ」のジャンルリンク２２１がそれぞれ表示される。「水・ソフトドリンク」の方が「ペット・ペットグッズ」よりも上方に表示されているため、「水・ソフトドリンク」の方が「ペット・ペットグッズ」よりも「水」との関連性が高いことが分かる。また、「水・ソフトドリンク」の下に「水・ミネラルウォーター」が表示される。このとき、「水・ソフトドリンク」と「水・ミネラルウォーター」とが親子関係にあることが分かる態様で、それぞれのジャンルリンク２２１が表示される。ジャンル指定領域２２０には、更に全ジャンル表示ボタン２２２が表示される。全ジャンル表示ボタン２２２をユーザが選択すると、ジャンル指定領域２２０には、レベル１の全てのジャンルのジャンルリンク２２１が表示される。この場合も、「水・ソフトドリンク」と「ペット・ペットグッズ」のジャンルリンク２２１の表示位置は変わらない。なお、各ジャンルリンク２２１の横には、ジャンルリンク２２１が示すジャンルに属する商品の件数が表示されてもよい。つまり、ジャンルリンク２２１が示すジャンルが検索条件として指定された場合に検索される商品の件数が表示されてもよい。図４（ａ）の例において、「ペット・ペットグッズ」に属する商品の件数が「水・ソフトドリンク」に属する商品の件数よりも多かったとする。仮にそうであったとしても、「水」という検索キーワードとの関連性が高い方の「水・ソフトドリンク」が「ペット・ペットグッズ」よりも上方に表示される。
【００５８】
ここで、ユーザが「水・ソフトドリンク」のジャンルリンク２２１を選択すると、新たな検索結果ページが表示される。この検索結果ページのジャンル指定領域２２０には、図４（ｂ）に示すように、「水・ソフトドリンク」の子ジャンルのうち、「水・ミネラルウォーター」のジャンルリンク２２１が表示される。ここで、全ジャンル表示ボタン２２２をユーザが選択すると、ジャンル指定領域２２０には、「水・ソフトドリンク」の全ての子ジャンルのジャンルリンク２２１が表示される。
【００５９】
また例えば、「デジタルカメラ  ＡＡＡ社」というキーワードの組み合わせと、「デジタルカメラ」というジャンルとの関連性が高いとする。また、「デジタルカメラ  ＡＡＡ社」というキーワードの組み合わせと、「デジタルカメラ」の子ジャンルである「ＡＡＡ社」というジャンルとの関連性が高いとする。「デジタルカメラ」の子ジャンルの「ＡＡＡ社」は、デジタルカメラのメーカーがＡＡＡ社であることを示すジャンルである。この場合に、トップページにおいて、ユーザが検索キーワードとして「デジタルカメラ  ＡＡＡ社」を指定すると、検索結果ページのジャンル指定領域２２０には、図４（ｃ）に示すように、「デジタルカメラ」のジャンルリンク２２１と、「デジタルカメラ」の子ジャンルである「ＡＡＡ社」のジャンルリンク２２１とが表示される。このように、直前ページにおいて指定された検索キーワードによって、ジャンル指定領域２２０にジャンルリンク２２１が表示されるジャンルが変化する。
【００６０】
第２の用途は、検索結果ページのキーワード入力欄２１１におけるキーワードサジェスト機能における検索キーワードの候補の表示制御である。これは、直前ページにおいてジャンルが検索条件として指定された場合に実行される。具体的に、ユーザがキーワード入力欄２１１に入力した文字列に前方一致するキーワードのうち、直前ページにおいて指定されたジャンルと関連性が高いキーワードが、検索キーワードの候補として優先的に表示される。このときのキーワードの表示順位は、指定されたジャンルと、キーワードとの関連性スコアが高いほど高くなる。指定されたジャンルとの関連性が高い検索キーワードであるほど、ユーザが絞り込み条件として指定する蓋然性が高い。従って、絞り込み条件としての検索キーワードをユーザが容易に指定することができる。
【００６１】
なお、キーワード入力欄２１１には、入力された文字列を含むキーワード（入力された文字列を読み仮名に含むキーワードも含む）が表示されればよい。従って、例えば、入力された文字列に後方一致するキーワードが表示されるようになってもよい。
【００６２】
図５（ａ）は、検索キーワード候補表示領域２１４におけるキーワードの表示例を示す図である。トップページにおいて、ユーザがジャンルとして、例えば「デジタルカメラ」を指定することにより、検索結果ページが表示される。この検索結果ページのキーワード入力欄２１１に対して、ユーザが、例えば「デジタルカメラ」を入力すると、図５（ａ）に示すように、キーワード入力欄２１１の直下に、検索キーワード候補表示領域２１４が表示される。この検索キーワード候補表示領域２１４には、例えば、「デジタルカメラ」、「デジタルカメラ  本体」、「デジタルカメラ  ＡＡＡ社」、「デジタルカメラ  一眼」、「デジタルカメラ  ＢＢＢ社」等が検索キーワードの候補として表示される。つまり、これらのキーワードは、「デジタルカメラ」というジャンルとの関連性が高いキーワードである。一方、「デジタルフォトフレーム」、「デジタルスケール」及び「デジタル  腕時計」は、検索キーワードの候補として表示されない。これらのキーワードは、「デジタルカメラ」というジャンルとの関連性が低いキーワードである。ユーザがキーワード入力欄２１１に同一の文字列を入力した場合であっても、直前ページにおいて指定されたジャンルによって、検索キーワード候補表示領域２１４に表示されるキーワードが変化する。
【００６３】
なお、ユーザがジャンル選択メニュー２１２からあるジャンルに対応するチェックボックスを選択してキーワード入力欄２１１に文字列を入力した場合、入力されている文字列を含むキーワードのうち、選択されたジャンルと関連性が高いキーワードが検索キーワード候補表示領域２１４に表示されるようにしてもよい。また、トップページにおいても、ユーザがジャンル選択メニュー１１２からあるジャンルを選択してキーワード入力欄１１１に文字列を入力した場合、入力されている文字列を含むキーワードのうち、選択されたジャンルと関連性が高いキーワードが検索キーワード候補表示領域１１４に表示されるようにしてもよい。
【００６４】
第３の用途は、関連キーワード表示領域２３０における関連キーワードリンク２３１の表示制御である。これは、直前ページにおいて検索キーワード及びジャンルが検索条件として指定された場合に実行される。具体的に、関連キーワード表示領域２３０には、直前ページにおいて指定された検索キーワードの関連キーワードのうち、直前ページにおいて指定されたジャンルと関連性が高い関連キーワードの関連キーワードリンク２３１が優先的に表示される。関連キーワード表示領域２３０における関連キーワードリンク２３１の表示順位は、指定されたジャンルと、関連キーワードとの関連性スコアが高いほど高くなる。指定されたジャンルとの関連性が高い関連キーワードであるほど、ユーザが絞り込み条件として指定する蓋然性が高い。従って、関連キーワードを検索キーワードとしてユーザが容易に指定することができる。
【００６５】
図５（ｂ）は、関連キーワード表示領域２３０における関連キーワードリンク２３１の表示例を示す図である。例えば、トップページにおいて、ユーザが検索キーワードとして「ＡＡＡ社」を指定し、且つ、ジャンルとして「デジタルカメラ」を指定すると、検索結果ページの関連キーワード表示領域２３０には、図５（ｂ）に示すように、例えば「デジタルカメラ」、「デジタルカメラ  本体」、「デジタルカメラ  ＡＡＡ社」及び「デジタルカメラ  一眼」のキーワードの関連キーワードリンク２３１が表示される。つまり、これらのキーワードは、「ＡＡＡ社」の関連キーワードのうち、「デジタルカメラ」との関連性が高いキーワードである。ユーザが直前ページにおいて同一の検索キーワードを指定した場合であっても、直前ページにおいて指定されたジャンルによって、関連キーワード表示領域２３０に関連キーワードリンク２３１が表示される関連キーワードが変化する。
【００６６】
第４の用途は、検索結果表示領域２４０における各商品の該当商品情報２４１の表示順位を決定するためのリスティングスコアの調整である。これは、直前ページにおいて検索キーワードが指定された場合に実行される。具体的に、直前ページにおいて指定された検索キーワードで検索された商品のうち、その検索キーワードとの関連性が高いジャンルの商品のリスティングスコアが引き上げられる。ただし、直前ページにおいてジャンルが検索条件として指定されていた場合、指定されたジャンルの子孫ジャンルに属する商品のリスティングスコアのみが引き上げられる。これにより、検索キーワードとの関連性が高いジャンルの商品の表示順位が上がる可能性がある。従って、検索結果表示領域２４０から検索キーワードと関連性が高い商品をユーザが容易に探し出すことができる。なお、検索キーワードとの関連性が高いジャンルの商品以外の商品のリスティングスコアが引き下げられるようになっていてもよい。
【００６７】
例えば、トップページにおいて、ユーザが検索キーワードとして「デジタルカメラ  ＡＡＡ社」を指定すると、検索結果ページの検索結果表示領域２４０には、「デジタルカメラ  ＡＡＡ社」で検索された商品の情報の一覧が表示される。このとき、「デジタルカメラ  ＡＡＡ社」との関連性が高い「デジタルカメラ」のジャンルの商品、及び、「デジタルカメラ」の子ジャンルである「ＡＡＡ社」のジャンルの商品については、リスティングスコアが引き上げられる。
【００６８】
［２．電子商店街サーバの構成］
次に、電子商店街サーバ１の構成について、図６及び図７を用いて説明する。
【００６９】
図６は、本実施形態に係る電子商店街サーバ１の概要構成の一例を示すブロック図である。図６に示すように、電子商店街サーバ１は、通信部１１と、記憶部１２と、入出力インターフェース１３と、システム制御部１４と、を備えている。そして、システム制御部１４と入出力インターフェース１３とは、システムバス１５を介して接続されている。
【００７０】
通信部１１は、ネットワークＮＷに接続して、ユーザ端末２等との通信状態を制御するようになっている。
【００７１】
記憶部１２は、例えば、ハードディスクドライブ等により構成されている。この記憶部１２には、会員情報ＤＢ１２ａ、商品情報ＤＢ１２ｂ、ジャンル情報ＤＢ１２ｃ、キーワードＤＢ１２ｄ、関連キーワードＤＢ１２ｅ、クエリログＤＢ１２ｆ、指定回数情報ＤＢ１２ｇ等のデータベースが構築されている。
【００７２】
図７（ａ）は、会員情報ＤＢ１２ａに登録される内容の一例を示す図である。会員情報ＤＢ１２ａには、ショッピングシステムＳに会員登録しているユーザに関する会員情報が登録される。具体的に、会員情報ＤＢ１２ａには、ユーザＩＤ、パスワード、ニックネーム、氏名、生年月日、性別、郵便番号、住所、電話番号、電子メールアドレス、保有ポイント数等のユーザの属性が、ユーザごとに対応付けて登録される。ユーザＩＤは、ユーザの識別情報である。保有ポイント数は、ユーザが保有しているポイントの数である。このポイントは、ユーザが電子商店街で商品を購入するときに、金銭と同等の価値を有するものとして購入代金に充てることができるものである。また、ユーザが電子商店街で商品を購入すると、例えば、購入金額に応じたポイントがユーザに付与される。
【００７３】
図７（ｂ）は、商品情報ＤＢ１２ｂに登録される内容の一例を示す図である。商品情報ＤＢ１２ｂには、電子商店街で販売されている商品に関する商品情報が登録される。具体的に、商品情報ＤＢ１２ｂには、商品ＩＤ、店舗ＩＤ、商品コード、ジャンルＩＤ、商品名、商品画像のＵＲＬ（Uniform Resource Locator）、商品説明、商品価格等の商品の属性が、店舗が販売する商品ごとに対応付けて登録される。商品ＩＤは、店舗等が、販売する商品を管理するための商品の識別情報である。店舗ＩＤは、商品の販売元の店舗を示す。商品コードは、商品を識別するコード番号である。商品コードとしては、例えば、ＪＡＮ（Japanese Article Number Code）コード等がある。ジャンルＩＤは、商品が属するジャンルのジャンルＩＤである。検索キーワードを用いた検索では、例えば、商品名及び商品説明の少なくとも何れか一方に検索キーワードを含む商品が検索される。
【００７４】
図７（ｃ）は、ジャンル情報ＤＢ１２ｃに登録される内容の一例を示す図である。ジャンル情報ＤＢ１２ｃには、商品のジャンルに関するジャンル情報が登録されている。具体的に、ジャンル情報ＤＢ１２ｃには、ジャンルＩＤ、ジャンル名、ジャンルのレベル、親ジャンルＩＤ及び子ジャンルＩＤリスト等のジャンルの属性が、ジャンルごとに対応付けて登録される。ジャンル情報は、例えば、電子商店街の管理者等により設定される。親ジャンルＩＤは、ジャンル情報によって定義されるジャンルの親ジャンルのジャンルＩＤである。子ジャンルＩＤリストは、ジャンル情報によって定義されるジャンルの子ジャンルのジャンルＩＤのリストである。子ジャンルＩＤリストは、ジャンル情報によって定義されるジャンルが子ジャンルを有する場合に設定される。ジャンル情報ＤＢ１２ｃには、ジャンルトップのジャンル情報も登録される。ジャンルトップのジャンルＩＤには、例えば、予め設定された識別情報が設定される。これによって、どのジャンル情報がジャンルトップのジャンル情報であるかを識別することができる。
【００７５】
図７（ｄ）は、キーワードＤＢ１２ｄに登録される内容の一例を示す図である。キーワードＤＢ１２ｄには、キーワードサジェスト機能において、検索キーワードの候補となるキーワード情報が複数登録されている。キーワード情報には、１つ以上のキーワードが設定される。例えば、予め設定された期間において各ユーザが検索条件として指定した検索キーワードのうち、指定された回数が予め設定された回数以上である検索キーワードが、キーワードＤＢ１２ｄに登録される。
【００７６】
図７（ｅ）は、関連キーワードＤＢ１２ｅに登録される内容の一例を示す図である。関連キーワードＤＢ１２ｅには、キーワード情報と関連キーワード情報との組が複数登録されている。関連キーワード情報には、キーワード情報に設定されている１つ以上のキーワードに関連する１つのキーワードと、キーワード情報が示す１つ以上のキーワードに関連するキーワードの組み合わせとの何れかが設定される。なお、関連するキーワードや関連するキーワードの組み合わせの抽出方法としては、例えば、公知の方法を用いることができる。よって、関連するキーワードの抽出方法の詳細な説明は省略する。
【００７７】
図７（ｆ）は、クエリログＤＢ１２ｆに登録される内容の一例を示す図である。クエリログＤＢ１２ｆには、クエリログが登録される。具体的に、クエリログＤＢ１２ｆには、受信日時、検索キーワード情報、ジャンルＩＤ、性別、年齢、都道府県等が、検索クエリが受信されるごとに対応付けて登録される。受信日時は、検索クエリが受信された日時である。検索キーワード情報には、検索条件として指定された１つの検索キーワードと、検索条件として指定された検索キーワードの組み合わせとの何れかが設定される。ジャンルＩＤは、検索条件として指定されたジャンルのジャンルＩＤである。性別、年齢及び都道府県は、検索クエリを送信したユーザ端末２を利用するユーザの属性である。つまり、検索を要求したユーザの属性として、ユーザの性別と年齢、及びユーザが住む都道府県等が登録される。性別、年齢及び都道府県は、検索を要求したユーザが電子商店街にログインしている場合に登録される。
【００７８】
図７（ｇ）は、指定回数情報ＤＢ１２ｇに登録される内容の一例を示す図である。指定回数情報ＤＢ１２ｇには、検索キーワードとジャンルの組の検索条件としての指定回数に関する指定回数情報が登録される。具体的に、指定回数情報ＤＢ１２ｇには、検索キーワード情報に対応付けて、ジャンルＩＤと指定回数との組が１つ以上登録される。ジャンルＩＤは、検索キーワード情報に設定された１つ以上の検索キーワードとともに検索条件として指定されたジャンルのジャンルＩＤである。指定回数は、そのジャンルが、検索キーワード情報に設定された１つ以上の検索キーワードとともに検索条件として指定された回数である。
【００７９】
次に、記憶部１２に記憶されるその他の情報について説明する。記憶部１２には、Ｗｅｂページを表示するためのＨＴＭＬ（HyperText Markup Language）文書、ＸＭＬ（Extensible Markup Language）文書、画像データ、テキストデータ、電子文書等の各種データが記憶されている。また、記憶部１２には、管理者等により設定された各種の設定値が記憶されている。
【００８０】
また、記憶部１２には、オペレーティングシステム、ＷＷＷ（World Wide Web）サーバプログラム、ＤＢＭＳ（Database Management System）、電子商取引管理プログラム、商品評価プログラム等の各種プログラムが記憶されている。電子商取引管理プログラムは、関連性が高い検索キーワードとジャンルとの組の抽出、検索結果ページの生成、商品の検索、商品の注文等の電子商店街に関する処理を実行するためのプログラムである。商品評価プログラムは、各商品のリスティングスコアを決定するためのプログラムである。商品評価プログラムにより、各商品のリスティングスコアが随時更新され、例えば、リスティングスコアが商品ＩＤと対応付けて記憶部１２に記憶される。システム制御部１４は、例えば、専用のＡＰＩ（Application Programming Interface）を介して、商品評価プログラムからリスティングスコアを取得することができる。なお、各種プログラムは、例えば、他のサーバ装置等からネットワークＮＷを介して取得されるようにしてもよいし、ＤＶＤ（Digital Versatile Disc）等の記録媒体に記録されてドライブ装置を介して読み込まれるようにしてもよい。
【００８１】
入出力インターフェース１３は、通信部１１及び記憶部１２とシステム制御部１４との間のインターフェース処理を行うようになっている。
【００８２】
システム制御部１４は、ＣＰＵ１４ａ、ＲＯＭ（Read Only Memory）１４ｂ、ＲＡＭ（Random Access Memory）１４ｃ等により構成されている。そして、システム制御部１４は、ＣＰＵ１４ａが、各種プログラムを読み出し実行することにより、本発明における第１抽出手段、第２抽出手段、第３抽出手段及び決定手段として機能するようになっている。
【００８３】
なお、電子商店街サーバ１が、複数のサーバ装置で構成されてもよい。例えば、関連性が高い検索キーワードとジャンルとの組を抽出するサーバ装置、商品の検索や注文等の処理を行うサーバ装置、ユーザ端末２からのリクエストに応じてＷｅｂページを送信するサーバ装置、及びデータベースを管理するサーバ装置等が、互いにＬＡＮ等で接続されてもよい。
【００８４】
［３．関連性が高い検索キーワードとジャンルとの組の抽出方法］
次に、関連性が高い検索キーワードとジャンルとの組の抽出方法の詳細について、図８、図９及び図２６を用いて説明する。
【００８５】
ここで、抽出対象となり得る検索キーワードを、ｋとする。また、説明の便宜上、レベル１のジャンルの中から、キーワードｋとの関連性が高いジャンルが抽出されるものとする。レベル１のジャンルの集合を、Ｇとする。先ず、システム制御部１４は、レベル１のジャンルの中にキーワードｋとの関連性が高いジャンルが存在し得るかを判定する。具体的に、各ジャンルについて、キーワードｋとともに検索条件として指定された指定回数のばらつき（偏り）の程度が判定される。各ジャンルの指定回数のばらつきが少ないほど、すなわち、均一性が高いほど、各ジャンルについて、キーワードｋとの関連性に差がないということである。そして、関連性に差がないということは、レベル１のジャンルの中で、キーワードｋと特に関連性が高いジャンルが存在しないことを意味する。そこで、システム制御部１４は、指定回数のばらつきの大きさが、可変設定されたある大きさを超える場合に、レベル１のジャンルの中にキーワードｋとの関連性が高いジャンルが存在すると判定する。この判定には、例えば、エントロピーが用いられる。エントロピーをＥとすると、Ｅは、下記の式１により計算される。
【数１】
0005386663.tif 000002
【００８６】
式１において、ｐ（g）は、キーワードｋがレベル１のジャンルとともに検索条件として指定される場合において、ジャンルｇが指定される確率（以下、「指定確率」という）である。レベル１のジャンルに含まれる或るジャンルｃの指定確率ｐ（ｃ）は、下記の式２により計算される。
【数２】
0005386663.tif 000003
【００８７】
式２において、ｓｃ（ｋ，ｃ）は、ジャンルｃがキーワードｋとともに検索条件として指定された回数である。ｐ（ｃ）は、過去に、ジャンルｃがキーワードｋとともに指定された回数に基づいて計算されるため、ｐ（ｃ）は、レベル１の全てのジャンルに対して、ジャンルｃが指定された割合でもある。
【００８８】
システム制御部１４は、エントロピーＥを計算すると、エントロピーＥと閾値とを比較する。この閾値をαとすると、Ｅ≦αを満たす場合に、キーワードｋとの関連性が高いジャンルが存在すると判定される。エントロピーＥは、レベル１のジャンル数が多いほど、大きくなる傾向にある。エントロピーＥの最大値は、ジャンル数が多いほど大きくなるからである。そのため、閾値αを、ジャンル数に応じてを可変に設定する必要がある。レベル１のジャンル数をｎとすると、エントロピーＥの最大値は、ｌｏｇ（ｎ）となる。そこで、システム制御部１４は、閾値αを、例えば下記の式３により計算する。
【数３】
0005386663.tif 000004
【００８９】
式３において、Ｋ１は、０＜Ｋ１＜１を満たす定数である。Ｋ１は、例えば管理者により設定される。なお、閾値αの決定方法は、ここで説明した方法に限られるものではない。ジャンル数が多くなるほど、閾値αが大きくなるように決定されれば良い。また、エントロピーを計算する以外の方法で、指定回数のばらつきを示す値を計算してもよい。
【００９０】
システム制御部１４は、レベル１のジャンルの中にキーワードｋとの関連性が高いジャンルが存在し得ると判定すると、次に、レベル１のジャンルの中から、どのジャンルがキーワードｋとの関連性が高いかを判定する。具体的に、システム制御部１４は、指定確率と閾値とを比較する。βは、本発明における第１の閾値、第２の閾値及び第３の閾値の一例である。この閾値をβとすると、ｐ（ｃ）≧βを満たす場合に、ジャンルｃがキーワードｋに関連性が高いと判定される。閾値βは、ジャンルｃがキーワードｋに関連性が高いと判定される指定確率の最小値である。指定確率は、レベル１のジャンル数が少ないほど高くなる傾向にある。そのため、閾値βを、ジャンル数に応じてを可変に設定する必要がある。そこで、システム制御部１４は、閾値βを、例えば下記の式４により計算する。
【数４】
0005386663.tif 000005
【００９１】
式４において、Ｋ２は、Ｋ２≦２を満たす定数である。また、Ｋ３は３以上の整定数である。Ｋ２及びＫ３は、例えば管理者により設定される。Ｋ２として１以上の値を設定すると、閾値βに、指定確立の平均値である１／ｎ以上の値を設定することができる。ジャンル数がＫ３未満である場合にジャンル数に応じて閾値βを設定するとしたのは、ジャンル数が少ないときは、ジャンル数の変化に対して１／ｎの変化が大きいからである。その一方、ジャンル数がＫ３以上である場合に閾値βを一定としたのは、閾値βをあまりにも小さくすると、実際にはキーワードｋとの関連性が高くはないジャンルについて、関連性が高いと判定される確率が高まるからである。なお、閾値βの決定方法は、ここで説明した方法に限られるものではない。ジャンル数が少なくなるほど、閾値βが大きくなるように決定されれば良い。
【００９２】
ここで、指定確率ｐ（ｃ）は、レベル１の全てのジャンルの指定回数の合計値に対するジャンルｃの相対的な指定回数である。従って、指定確率が閾値β以上であるか否かを判定することは、ジャンルｃの指定回数ｓｃ（ｋ，ｃ）が、下記の式５で計算される回数の閾値β２以上であるか否かを判定することである。
【数５】
0005386663.tif 000006
【００９３】
閾値β２は、ジャンルｃがキーワードｋに関連性が高いと判定される指定回数の最小値である。システム制御部１４は、指定確率と閾値βとを比較する代わりに、指定回数を閾値β２と比較することにより、キーワードｋとの関連性が高いか否かを判定してもよい。
【００９４】
システム制御部１４は、ジャンルｃとキーワードｋとの関連性が高いと判定した場合には、このジャンルｃとキーワードｋとの組に対する関連性スコアを決定する。例えば、指定回数が多いほど、関連性スコアが高くなるようにしてもよい。例えば、指定回数そのものが関連性スコアとして用いられてもよい。また、指定回数が多いほど関連性スコアが高くなるようにするとともに、指定確率が高いほど関連性スコアが高くなるように、関連性スコアを決定してもよい。例えば、指定回数と指定確率とを変数とする計算式を用いて関連性スコアを計算してもよい。
【００９５】
ここで、関連性が高いキーワードとジャンルとの組の抽出結果の例を示す。図８（ａ）及び図８（ｂ）は、レベル１のジャンルごとの指定確率を示すグラフである。なお、図８（ａ）及び図８（ｂ）においては、レベル１の全てのジャンルのうち一部のジャンルについてのみのグラフを示している。
【００９６】
図８（ａ）は、キーワードｋを「水」とした場合の例である。図８（ａ）において、実線のグラフが、指定確率のグラフである。図８（ａ）に示すように、各ジャンルの指定確率のばらつきが大きい。例えば、レベル１のジャンルのうち、「水・ソフトドリンク」及び「ペット・ペットグッズ」の指定確率が、他のジャンルの指定確率よりも高くなっている。特に、「水・ソフトドリンク」の指定確率の高さが顕著である。そのため、エントロピーＥが閾値α以下であると判定される。つまり、「水」との関連性が高いジャンルが存在し得ると判定される。そして、「水・ソフトドリンク」及び「ペット・ペットグッズ」の指定確率が閾値β以上であるため、「水」と「水・ソフトドリンク」、及び、「水」と「ペット・ペットグッズ」が、関連性が高いキーワードとジャンルとの組として抽出される。
【００９７】
図８（ａ）においては、破線のグラフも示されている。この破線のグラフは、キーワードｋを「水」とした場合に、レベル１の全てのジャンルにおいて「水」で検索された商品の数（以下、「該当商品数」という）に対する各ジャンルの該当商品数の割合である。図８（ａ）に示すように、該当商品数の割合と指定確率とは相関していない。つまり、該当商品数の割合とキーワードｋとの関連性の高さとが相関していない。例えば、レベル１のジャンルのうち、「美容・コスメ・香水」の該当商品数の割合が、他のジャンルの割合に比べて大きくなっている。これは、「美容・コスメ・香水」の商品名や商品説明に「香水」という文字が含まれていることが多いため、「水」を商品名や商品説明に含む商品が検索された結果によるものと考えられる。一方で、「美容・コスメ・香水」の指定確率は決して高くはない。これに対し、「水・ソフトドリンク」の該当商品数の割合はきわめて小さい。
【００９８】
図８（ｂ）は、キーワードｋを「ポイント」とした場合の例である。図８（ｂ）に示すように、各ジャンルの指定確率のばらつきが小さい。これは、商品名や商品説明におけるポイントに関する記載は、どのジャンルにおいても一様に見られるためであると考えられるからである。そのため、エントロピーＥが閾値αより大きいと判定される。つまり、「ポイント」との関連性が高いジャンルが存在しないと判定される。
【００９９】
次に、レベル２以降のジャンルの場合について説明する。図９は、各レベルについてキーワードｋに関連するジャンルの抽出の様子を示す図である。システム制御部１４は、レベル１のジャンルの中から、キーワードｋとの関連性が高いジャンルを抽出した場合には、抽出したジャンルの子ジャンルの中からキーワードｋとの関連性が高いジャンルの抽出を試みる。例えば、図９に示すように、レベル１のジャンルｇ１、ｇ２、ｇ３等のうち、ジャンルｇ１がキーワードｋとの関連性が高いジャンルとして抽出されたとする。この場合、ジャンルｇ１の子ジャンルｇ１１、ｇ１２、ｇ１３等の中から、キーワードｋとの関連性が高いジャンルの抽出が行われる。これは、あるジャンルが検索キーワードとの関連性が高い場合に、そのジャンルの子ジャンルの中にも検索キーワードとの関連性が高いジャンルが存在し得ると考えられるからである。一方、ジャンルｇ２の子ジャンル及びジャンルｇ３の子ジャンルの中からは、抽出が行われない。
【０１００】
レベル２以降についてのキーワードｋとの関連性が高いジャンルの抽出方法は、基本的にはレベル１の場合と同様である。エントロピーＥを計算するための式１及び式２においては、キーワードｋとの関連性が高いと判定されたジャンルの子ジャンルの集合をＧとすれば良い。また、閾値を計算するための式３及び式４においては、キーワードｋとの関連性が高いと判定されたジャンルの子ジャンルのジャンル数をｎに設定すれば良い。
【０１０１】
図２６（ａ）は、「水・ソフトドリンク」の子ジャンルごとの指定確率を示すグラフである。例えば、図８（ａ）の例において、レベル１のジャンルの数が、３５であるとする。図８（ａ）は、レベル１の全ジャンルのうち一部のジャンルの指定確率を示す。図２６（ａ）に示すように、「水・ソフトドリンク」の子ジャンルの数は、８である。式３により、「水・ソフトドリンク」の子ジャンルのエントロピーの閾値α２は、レベル１のジャンルのエントロピーの閾値α１よりも小さい。「水・ソフトドリンク」の子ジャンルの中で、「水・ミネラルウォーター」の指定確率が９０％を超えている。そのため、「水・ソフトドリンク」の子ジャンルのエントロピーＥは、閾値α２以下となる。そして、「水」と「水・ミネラルウォーター」が、関連性が高いキーワードとジャンルとの組として抽出される。図２６（ｂ）は、「水・ソフトドリンク」の子ジャンルである「水・ミネラルウォーター」の子ジャンルごとの指定確率を示すグラフである。図２６（ｂ）に示すように、「水・ミネラルウォーター」の子ジャンルの数は、２２である。従って、「水・ミネラルウォーター」の子ジャンルのエントロピーの閾値α３は、レベル１のジャンルのエントロピーの閾値α１よりも小さく、「水・ソフトドリンク」の子ジャンルのエントロピーの閾値α２よりも大きい。このように、エントロピーの閾値αは、ジャンルの数に応じて変化する。「水・ミネラルウォーター」の子ジャンルの中で、「ブランドＡ」の指定確率が３０％程度であり、「国内天然水」の指定確率が５０％程度である。その他のジャンルの指定確率は１０％未満である。そのため、「水・ミネラルウォーター」の子ジャンルのエントロピーＥは、閾値α３以下となる。
【０１０２】
図９においては、ジャンルｇ１の子ジャンルについて、エントロピーＥが閾値α１以下であったため、ジャンルｇ１の子ジャンルの中からキーワードｋとの関連性が高いジャンルが抽出される。例えば、ジャンルｇ１１の指定確率と、ジャンルｇ１３の指定確率とがそれぞれ閾値β１以上であったため、ジャンルｇ１１及びジャンルｇ１３が、それぞれキーワードｋとの関連性が高いジャンルとして抽出される。更に、ジャンルｇ１１の子ジャンルについて、エントロピーＥが閾値α以下であるか否かが判定される。ここで、エントロピーＥは閾値α１１以下ではなかったためジャンルｇ１１の子ジャンルの中からは抽出が行われない。一方、ジャンルｇ１３の子ジャンルについては、エントロピーＥが閾値α１３以下であったため、ジャンルｇ１３の子ジャンルｇ１３１、ｇ１３２、ｇ１３２等の中からキーワードｋとの関連性が高いジャンルが抽出される。ここで、例えば、ジャンルｇ１３２の指定確率が閾値β１３以上であったため、ジャンルｇ１３２がキーワードｋとの関連性が高いジャンルとして抽出される。更に、ジャンルｇ１３２の子ジャンルについて、エントロピーＥが閾値α１３２以下であるか否かが判定される。このように、システム制御部１４は、例えば、深さ優先探索で、キーワードｋと関連性が高いジャンルを階層的に抽出していく。
【０１０３】
ところで、システム制御部１４は、キーワードｋとともに各ジャンルが指定された指定回数を計算するとき、子ジャンルの指定回数を、その親ジャンルの実際の指定回数に対して加算する。例えば、図９において、レベル３のジャンルｇ１１１、ｇ１１２、ｇ１１３の指定回数が、５、７、３であるとする。ここで、ジャンルｇ１１１等の親ジャンルであるジャンルｇ１１の指定回数が１０であるとする。この場合、ジャンルｇ１１１、ｇ１１２、ｇ１１３の指定回数の合計値がジャンルｇ１１の指定回数に加算される。従って、ジャンルｇ１１の指定回数は２５となる。更に、ジャンルｇ１１の指定回数である２５が、ジャンルｇ１１の親ジャンルであるジャンルｇ１にも加算される。このように、あるジャンルの指定回数が、そのジャンルの親ジャンルからレベル１のジャンルまでの各ジャンルに反映される。あるジャンルがキーワードｋとともに指定されたということは、そのジャンルの親ジャンル全体の中の一部分がキーワードｋとともに指定されたということを意味する。従って、この場合、親ジャンルもキーワードｋとともに指定されたと考えることができるからである。なお、子ジャンルの指定回数を親ジャンルの指定回数に加算しなくてもよい。
【０１０４】
［４．検索キーワードの組み合わせの場合の抽出方法］
次に、検索キーワードの組み合わせと関連性が高いジャンルの抽出方法について、図１０乃至図１４を用いて説明する。
【０１０５】
［４−１．課題及び抽出方法］
【０１０６】
検索キーワードの組み合わせと関連性が高いジャンルも、第３項で説明された方法で抽出することができる。具体的に、システム制御部１４は、商品の複数のジャンルのそれぞれについて、ある複数の検索キーワードとともに検索条件として指定された回数を取得する。そして、システム制御部１４は、取得された回数が閾値以上であるジャンルを、その複数の検索キーワードの組み合わせとの関連性が高いジャンルとして抽出する。第３項の説明中のキーワードｋを、検索キーワードの組み合わせに置き換えればよい。しかしながら、検索キーワードの数と比較して、検索キーワードを組み合わせることが可能なパターンの数は極めて多い。従って、組み合わせごとに考える場合、ユーザが検索キーワードの組み合わせを検索条件として指定する回数は、ユーザが１つの検索キーワードを検索条件として指定する回数よりも少ない蓋然性がある。或る検索キーワードの組み合わせが指定された回数が少ない場合、システム制御部１４は、その組み合わせと関連するジャンルを抽出することができないことがある。また、その組み合わせと関連するジャンルの抽出結果の信頼性が低くなる。
【０１０７】
そこで、システム制御部１４は、木構造で階層化された複数のジャンルの中から、検索キーワードの組み合わせに含まれる１つの検索キーワードとの関連性が高いジャンルを抽出する。この検索キーワードをＫＥ１とする。抽出方法は、第３項で説明された方法と同じである。次いで、システム制御部１４は、キーワードＫＥ１について抽出されたジャンルの子孫ジャンルの中から、検索キーワードの組み合わせに含まれる別の１つの検索キーワードとの関連性が高いジャンルを抽出する。この検索キーワードをＫＥ２とする。この場合の抽出方法も、第３項で説明された方法と同じである。キーワードＫＥ１の場合、システム制御部１４は、関連性が高いジャンルの抽出を、レベル１のジャンルから開始する。一方、キーワードＫＥ２の場合、システム制御部１４は、関連性が高いジャンルの抽出を、キーワードＫＥ１との関連性が高いジャンルの子ジャンルから開始する。システム制御部１４は、キーワードＫＥ２について抽出されたジャンルを、検索キーワードＫＥ１とＫＥ２との組み合わせに関連するジャンルとして決定する。その理由は、検索キーワードＫＥ２との関連性が高いジャンルのうち、検索キーワードＫＥ１との関連性が高いジャンルに属するジャンルは、検索キーワードＫＥ１との関連性も高いジャンルである蓋然性があるからである。それぞれの抽出処理においては、１つの検索キーワードについて抽出が試みられる。そのため、それぞれの抽出において関連性が高いジャンルを抽出することができる蓋然性を高めることができる。その結果、検索キーワードの組み合わせとの関連性が高いジャンルを抽出することができる蓋然性を高めることができる。
【０１０８】
組み合わせが３個以上の検索キーワードを含む場合、３番目以降の検索キーワードについても同様に抽出が行われる。例えば、システム制御部１４は、検索キーワードＫＥ１とＫＥ２との組み合わせとの関連性が高いジャンルとして決定したジャンルの子孫ジャンルの中から、検索キーワードの組み合わせに含まれる検索キーワードＫＥ３との関連性が高いジャンルを抽出する。システム制御部１４は、このときに抽出されたジャンルを、検索キーワードＫＥ１〜Ｋ３の組み合わせとの関連性が高いジャンルとして決定する。
【０１０９】
抽出方法を一般化して説明すると、次の通りとなる。システム制御部１４は、検索キーワードの組み合わせを構成する各検索キーワードに対して、関連性が高いジャンルの抽出順を割り当てる。システム制御部１４は、各検索キーワードとの関連性が高いジャンルの抽出を、割り当てた抽出順で順次実行する。このとき、システム制御部１４は、ジャンルの抽出順が１番目の検索キーワードについては、全てのジャンルの中から関連性が高いジャンルを抽出する。一方、システム制御部１４は、抽出順が１番目より後の検索キーワードについては、抽出順が１つ前の検索キーワードについて抽出されたジャンルの子ジャンルの中から、関連性が高いジャンルを抽出する。そして、システム制御部１４は、抽出順が最後の検索キーワードについて抽出されたジャンルを、検索キーワードの組み合わせと関連するジャンルであると決定する。
【０１１０】
次に、具体例を説明する。図１０（ａ）は、「デジタルカメラ  ＡＡＡ社」という検索キーワードの組み合わせに関連するジャンルの抽出結果の一例を示す図である。図１０（ｂ）は、「デジタルカメラ」というキーワードに関連するジャンルの抽出結果の一例を示す図である。図１０（ｃ）は、「ＡＡＡ社」というキーワードに関連するジャンルの抽出結果の一例を示す図である。「デジタルカメラ  ＡＡＡ社」の指定回数が少ないため、図１０（ａ）に示すように、第３項で説明された方法では、「デジタルカメラ  ＡＡＡ社」に関連するジャンルが存在しなかった。一方、「デジタルカメラ」というキーワードに関連するジャンル及び「ＡＡＡ社」に関連するジャンルはそれぞれ存在する。図１０（ｂ）に示すように、「デジタルカメラ」に関連するジャンルとして、「家電・ＡＶ・カメラ」、「家電・ＡＶ・カメラ」の子ジャンルである「デジタルカメラ」、「デジタルカメラ」の子ジャンルである「ＡＡＡ社」、「ＢＢＢ社」及び「ＣＣＣ社」が存在する。また、図１０（ｃ）に示すように、「ＡＡＡ社」というキーワードに関連するジャンルとして、例えば、「家電・ＡＶ・カメラ」、「家電・ＡＶ・カメラ」の子ジャンルである「デジタルカメラ」、「デジタルカメラ」の子ジャンルである「ＡＡＡ社」が存在する。また、これらのジャンル以外にも、「ＡＡＡ社」というキーワードに関連するジャンルが多数存在する。その理由は、ＡＡＡ社が様々な種類の製品を製造しているからである。
【０１１１】
図１１は、「デジタルカメラ  ＡＡＡ社」との関連性が高いジャンルが抽出される様子の一例を示す図である。システム制御部１４は、例えば、全ジャンルの中から、先ず「デジタルカメラ」というキーワードとの関連性が高いジャンルを抽出する。抽出結果は、図１０（ｂ）に示されている。次いで、システム制御部１４は、抽出した各ジャンルに対して、「デジタルカメラ」の関連性スコアが高い順に順位を付ける。例えば、第１位が「デジタルカメラ」、第２位が「ＡＡＡ社」、第３位が「ＢＢＢ社」であるとする。システム制御部１４は、関連性スコアの順位が予め設定された順位以上であるジャンルのそれぞれについて、子ジャンルの中から、「ＡＡＡ社」というキーワードとの関連性が高いジャンルを抽出する。例えば、３位以上のジャンルが選択されるとする。「デジタルカメラ」というジャンルの子ジャンルのうち、「ＡＡＡ社」というキーワードとの関連性が高いジャンルは、「ＡＡＡ社」である。一方、「ＡＡＡ社」というジャンルの子ジャンルの中に、「ＡＡＡ社」というキーワードとの関連性が高いジャンルは存在しなかったとする。また、「ＢＢＢ社」というジャンルの子ジャンルの中にも、「ＡＡＡ社」というキーワードとの関連性が高いジャンルは存在しなかったとする。従って、図１１に示すように、システム制御部１４は、「デジタルカメラ  ＡＡＡ社」に関連するジャンルは、「デジタルカメラ」の子ジャンルの「ＡＡＡ社」であると決定する。なお、システム制御部１４は、このときに抽出されたジャンルのうち、関連性スコアの順位が予め設定された順位以上であるジャンルのみを、「デジタルカメラ  ＡＡＡ社」に関連するジャンルであると決定する。
【０１１２】
上述した例は、抽出順が２番目の検索キーワードである「ＡＡＡ社」との関連性が高いジャンルの抽出をレベル１のジャンルから開始した場合に抽出されるジャンルの中に、「デジタルカメラ  ＡＡＡ社」との関連性が高いジャンルが存在する場合の例である。しかしながら、必ずしもそうであるとは限らない場合がある。例えば、検索キーワードの「ＡＡＡ社」とともにジャンルの「デジタルカメラ」を検索条件として指定された回数が、検索キーワードの「ＡＡＡ社」とともに「デジタルカメラ」の兄弟ジャンルを検索条件として指定された回数と比較して多くはなかったとする。一方、検索キーワードの「ＡＡＡ社」とともに「デジタルカメラ」の子ジャンルの「ＡＡＡ社」を検索条件として指定された回数が、検索キーワードの「ＡＡＡ社」とともにジャンルの「ＡＡＡ社」の兄弟ジャンルを検索条件として指定された回数と比較して多かったとする。この場合、「デジタルカメラ」の子ジャンルの「ＡＡＡ社」は、検索キーワードの「ＡＡＡ社」との関連性が高いジャンルとしては抽出されない。その理由は、ジャンルの「デジタルカメラ」が検索キーワードの「ＡＡＡ社」と関連性が高くはないため、システム制御部１４は、「デジタルカメラ」の子ジャンルの中から関連性が高いジャンルの抽出を行わないからである。しかしながら、システム制御部１４が、検索キーワードの「デジタルカメラ」との関連性が高いジャンルである「デジタルカメラ」の子孫ジャンルの中から、検索キーワードの「ＡＡＡ社」との関連性が高いジャンルを抽出する場合、システム制御部１４は、ジャンルの「デジタルカメラ」と検索キーワードの「ＡＡＡ社」との関連性が高いか否にかかわらず、抽出を行う。そのため、この場合であっても、「デジタルカメラ」の子孫ジャンルである「ＡＡＡ社」が、「デジタルカメラ  ＡＡＡ社」との関連性が高いジャンルとして抽出される。このように、システム制御部１４は、抽出順が１番目のキーワードに関連するジャンルの子ジャンルから、抽出順が２番目のキーワードに関連するキーワードの抽出を開始する。仮に、抽出順が２番目のキーワードのみで抽出を行った場合、レベル１のジャンルから、抽出順が２番目のキーワードに関連するジャンルを抽出を開始する。このような場合に抽出することができないジャンルを、抽出順が２番目のキーワードに関連するジャンルとして抽出することができる。
【０１１３】
システム制御部１４が関連性スコアの順位でジャンルを絞り込む理由の１つとして、処理時間を削減することが挙げられる。また、別の理由として、抽出結果の信頼性を高めることが挙げられる。それぞれの抽出処理においては、１つの検索キーワードとの関連性が高いジャンルが抽出される。しかしながら、検索キーワードの組み合わせとの関連性が高いジャンルとして最終的に抽出されるジャンルは、各抽出処理の結果の組み合わせである。従って、最終的に抽出されるジャンルの中に、検索キーワードの組み合わせとの関連性が低いジャンルが含まれている可能性がある。そのため、各抽出処理において、検索キーワードとの関連性が高いジャンルの中でも、相対的に関連性が低いジャンルが除外される。なお、システム制御部１４は、関連性スコアの順位でジャンルを絞り込まなくてもよい。
【０１１４】
システム制御部１４は、検索キーワードの組み合わせに関連するジャンルを抽出した場合、抽出したジャンルの祖先に相当するジャンルも、その組み合わせに関連するジャンルとして決定してもよい。例えば、図１１の例の場合、「ＡＡＡ社」というジャンルに加えて、「家電・ＡＶ・カメラ」及び「デジタルカメラ」も、「デジタルカメラ  ＡＡＡ社」に関連するジャンルとして決定される。
【０１１５】
［４−２．関連するジャンルを抽出する検索キーワードの順番］
システム制御部１４は、ユーザによる検索キーワードの指定順（入力順）と同じ抽出順で、関連性が高いジャンルを抽出する。その理由は、複数の検索キーワードの指定時、ユーザは前の方で広い概念を示すキーワードを指定し、後の方で狭い概念を示す検索キーワードを指定する傾向があるからである。抽出順が後ろの方であるほど、より狭い概念を示すジャンルの中から抽出が行われる。そのため、各抽出処理において、検索キーワードが示す概念と、抽出範囲に含まれるジャンルが示す概念とを合致させることができる。そのため、各抽出処理において、検索キーワードとの関連性が高いジャンルを抽出することができる蓋然性を高めることができる。これにより、検索キーワードの組み合わせとの関連性が高いジャンルを抽出することができる蓋然性を高めることができる。「デジタルカメラ  ＡＡＡ社」の場合、ユーザは、１番目に「デジタルカメラ」を指定し、２番目に「ＡＡＡ社」を指定している。そのため、１番目に「デジタルカメラ」についてジャンルが抽出され、２番目に「ＡＡＡ社」についてジャンルが抽出される。
【０１１６】
ユーザによる検索キーワードの指定順と同じ抽出順で抽出処理が行われた場合、検索キーワードの組み合わせに関連するジャンルを抽出することができないことも考えられる。その場合、システム制御部１４は、抽出順を変更する。そして、システム制御部１４は、変更後の抽出順で、検索キーワードの組み合わせに関連するジャンルの抽出を再度試みる。これにより、検索キーワードの組み合わせに関連するジャンルを抽出することができる蓋然性を高めることができる。
【０１１７】
次に、具体例を説明する。図１２（ａ）は、「２０インチ  ディスプレイ」という検索キーワードの組み合わせに関連するジャンルの抽出結果の一例を示す図である。図１２（ｂ）は、「２０インチ」というキーワードに関連するジャンルの抽出結果の一例を示す図である。図１２（ｃ）は、「ディスプレイ」というキーワードに関連するジャンルの抽出結果の一例を示す図である。
【０１１８】
図１２（ａ）に示すように、第３項で説明された方法では、「２０インチ  ディスプレイ」に関連するジャンルは存在しない。一方、図１２（ｂ）に示すように、「２０インチ」に関連するジャンルとして、「スポーツ・アウトドア」、「スポーツ・アウトドア」の子ジャンルである「自転車」、「自転車」の子ジャンルである「子供用自転車」及び「折りたたみ自転車」、「折りたたみ自転車」の子ジャンルである「ＥＥＥ社」が存在する。また、図１２（ｃ）に示すように、「ディスプレイ」に関連するジャンルとして、「インテリア・寝具・収納」、「インテリア・寝具・収納」の子ジャンルである「収納家具」が存在する。更に、「ディスプレイ」に関連するジャンルとして、「パソコン・周辺機器」、「パソコン・周辺機器」の子ジャンルである「ディスプレイ・モニター」が存在する。
【０１１９】
図１３（ａ）は、検索キーワードの指定順で抽出処理が行われた場合の抽出例である。システム制御部１４は、先ず全ジャンルの中から「２０インチ」との関連性が高いジャンルを抽出する。次いで、システム制御部１４は、関連性スコアの順位が高いジャンルである「子供用自転車」、「折りたたみ自転車」及び「ＥＥＥ社」を選択する。次いで、システム制御部１４は、「子供用自転車」、「折りたたみ自転車」及び「ＥＥＥ社」のそれぞれの子ジャンルの中から、「ディスプレイ」との関連性が高いジャンルの抽出を試みる。しかしながら、「子供用自転車」、「折りたたみ自転車」及び「ＥＥＥ社」の子ジャンルの中に、「ディスプレイ」との関連性が高いジャンルが存在しなかったとする。この場合、システム制御部１４は、「２０インチ  ディスプレイ」に関連するジャンルを抽出することができない。そこで、システム制御部１４は、抽出順を変更する。
【０１２０】
図１３（ｂ）は、ジャンルの抽出順を変更して抽出処理が行われた場合の抽出例である。システム制御部１４は、先ず全ジャンルの中から「ディスプレイ」との関連性が高いジャンルを抽出する。次いで、システム制御部１４は、関連性スコアの順位が高い「インテリア・寝具・収納」、「収納家具」及び「ディスプレイ・モニター」を選択する。次いで、システム制御部１４は、「インテリア・寝具・収納」、「収納家具」及び「ディスプレイ・モニター」のそれぞれの子ジャンルの中から、「２０インチ」との関連性が高いジャンルの抽出を試みる。このとき、図１３（ｂ）に示すように、「ディスプレイ・モニター」の子ジャンルの中から、「液晶１８〜２０インチ」というジャンルが、「２０インチ」との関連性が高いジャンルとして抽出された。一方、「インテリア・寝具・収納」及び「収納家具」のそれぞれの子ジャンルの中に、「ディスプレイ」との関連性が高いジャンルが存在しなかったとする。この場合、システム制御部１４は、「液晶１８〜２０インチ」を、「２０インチ  ディスプレイ」に関連するジャンルであると決定する。
【０１２１】
検索キーワードの数が多くなると、抽出順の組み合わせの数が多くなる。システム制御部１４は、検索キーワードの組み合わせに関連するジャンルを抽出することができるまで、抽出順を変更して抽出処理を行ってもよい。または、システム制御部１４は、抽出順を変更することができる回数の上限を制限してもよい。
【０１２２】
なお、電子商店街サーバ１は、ジャンルの抽出を最初に行うとき、指定された複数の検索キーワード間で概念の広さを比較してもよい。そして、電子商店街サーバ１は、広い概念を示す検索キーワードほど、抽出順が上位になるように各検索キーワードの抽出順を決定してもよい。その理由は、前の方で狭い概念を示すキーワードを指定するユーザが存在する可能性があるからである。この場合、抽出順がユーザによる検索キーワードの指定順と異なってもよい。例えば、電子商店街サーバ１は、単語間の意味的関係を定義する概念辞書（意味辞書）に基づいて、各検索キーワードのジャンルの抽出順を決定してもよい。この概念辞書は、上位語と下位語との関係も定義する。電子商店街サーバ１に、概念辞書のデータベースが予め構築されていてもよい。あるいは、電子商店街サーバ１は、概念辞書のＷｅｂサイトを利用してもよい。また、電子商店街サーバ１は、複数の検索キーワードのそれぞれを検索条件として検索を行った場合に検索される商品の件数を取得してもよい。そして、電子商店街サーバ１は、検索される商品の件数が多い検索キーワードほど、抽出順が上位になるように各検索キーワードの抽出順を決定してもよい。その理由は、検索される商品の件数が多い検索キーワードほど、広い概念を示す検索キーワードである蓋然性があるからである。
【０１２３】
［５．関連性が高いジャンルの選択］
ある検索キーワードの組み合わせについては、第３項で説明された方法で関連性が高いジャンルを抽出ことができる場合がある。システム制御部１４は、第３項で説明された方法と第４項で説明された方法との２通りの方法で、関連性が高いジャンルの抽出を試みてもよい。そして、システム制御部１４は、何れか一方の方法のみでジャンルを抽出することができた場合、抽出されたジャンルを、関連性が高いジャンルとして決定する。一方、システム制御部１４は、それぞれの方法でジャンルを抽出することができた場合、予め定められた基準に基づいて、何れか一方の方法で抽出されたジャンルを、関連性が高いジャンルとして決定してもよい。この判断基準は、検索キーワードの組み合わせに関連するジャンルとして、より適切なジャンルが選択されるように定められる。
【０１２４】
例えば、抽出されたジャンルのレベルを判断基準としてもよい。具体的に、システム制御部１４は、レベルが大きい方のジャンルを、検索キーワードの組み合わせに関連するジャンルとして決定する。その理由は、レベルが大きいジャンルであるほど、検索キーワードの組み合わせとの関連性が高い蓋然性があるからである。レベルが大きいほど、ジャンルが示す範囲が狭くなる。これは、レベルが大きいほど、ジャンルに属する商品の特定性が高くなることを示す。つまり、ジャンルに属する商品の条件が具体的になることを示す。特定性が高いジャンルであるほど、検索キーワードの組み合わせとの関連性が高いと考えられる。
【０１２５】
次に、具体例を説明する。図１４（ａ）は、「Ｘ  Ｙ」という検索キーワードの組み合わせに関連するジャンルを、第３項で説明された方法で抽出した場合の抽出結果の一例を示す図である。図１４（ｂ）は、「Ｘ  Ｙ」という検索キーワードの組み合わせに関連するジャンルを、第４項で説明された方法で抽出される様子の一例を示す図である。
【０１２６】
図１４（ａ）に示すように、第３項で説明された方法では、「Ｘ  Ｙ」に関連するジャンルとして、ジャンルｇ１及びｇ１１が抽出された。ジャンルｇ１のレベルは１であり、ジャンルｇ１１のレベルは２である。一方、図１４（ｂ）に示すように、「Ｘ」に関連するジャンルとして、ジャンルｇ１、ｇ１１、ｇ１１１、ｇ１１２、ｇ２及びｇ２１が存在する。ジャンルｇ１１はジャンルｇ１の子ジャンルである。ジャンルｇ１１１及びｇ１１２は、ジャンルｇ１１の子ジャンルである。ジャンルｇ２１は、ジャンルｇ２の子ジャンルである。また、「Ｙ」に関連するジャンルとして、ジャンルｇ２、ｇ２１及びｇ２１２が存在する。ジャンルｇ２１２はジャンルｇ２１の子ジャンルである。第４項で説明された方法では、「Ｘ  Ｙ」に関連するジャンルとしてジャンルｇ２１２が抽出される。ジャンルｇ２１２のレベルは３である。従って、ジャンルｇ２１２が、「Ｘ  Ｙ」に関連するジャンルとして決定される。
【０１２７】
仮に、第３項で説明された方法でジャンルｇ１１１１が抽出されたとする。ジャンルｇ１１１１のレベルは４である。従って、この場合、ジャンルｇ２１２ではなく、ジャンルｇ１１１１が、「Ｘ  Ｙ」に関連するジャンルとして決定される。なお、ジャンルが同一である場合、何れの方法で抽出されたジャンルを関連性が高いジャンルとしてシステム制御部１４が決定するかは任意である。
【０１２８】
判断基準は、指定回数であってもよい。この指定回数は、第３項で説明された方法で抽出されたジャンルが、関連性が高いジャンルを抽出する検索キーワードの組み合わせとともに検索条件として指定された回数である。具体的に、システム制御部１４は、指定回数が、予め設定された閾値以上である場合、第３項で説明された方法で抽出されたジャンルを、関連性が高いジャンルとして決定する。指定回数が多いほど、抽出結果の精度が高くなるからである。
【０１２９】
判断基準は、ジャンルのレベルと指定回数の両方であってもよい。レベルが大きくなるほど、指定回数が減る傾向にある。つまり、ジャンルのレベルと指定回数とは相関関係があると考えられる。ジャンルと検索キーワードの組み合わせとの関連性に関して、ジャンルのレベルと指定回数とは相反する関係にある。そこで、システム制御部１４が両方を考慮することで、バランスをとることができる。例えば、システム制御部１４は、第３項で説明された方法で抽出されたジャンルのレベルとそのジャンルの指定回数とを掛け合わせて、指標値を計算してもよい。そして、システム制御部１４は、指標値が、予め設定された閾値以上である場合、第３項で説明された方法で抽出されたジャンルを、関連性が高いジャンルとして決定する。システム制御部１４は、例えば、第４項で説明された方法で抽出されたジャンルのレベルに応じて、指標値と比較する閾値を決定してもよい。具体的に、システム制御部１４は、第４項で説明された方法で抽出されたジャンルのレベルが大きいほど、閾値を高くする。
【０１３０】
なお、システム制御部１４は、第３項で説明された方法で抽出されたジャンルと、第４項で説明された方法で抽出されたジャンルとの両方を、関連性が高いジャンルとして決定してもよい。
【０１３１】
［６．ショッピングシステムの動作］
次に、ショッピングシステムＳの動作について、図１５乃至図２４を用いて説明する。
【０１３２】
図１５は、本実施形態に係る電子商店街サーバ１のシステム制御部１４の指定回数集計処理における処理例を示すフローチャートである。指定回数集計処理は、各検索キーワードについて、各ジャンルとともに検索条件として指定された回数を集計する処理である。指定回数集計処理は、例えば定期的に（例えば、１日ごと等に）実行される。
【０１３３】
先ず、システム制御部１４は、指定回数ＤＢ１２ｇを初期化する（ステップＳ１）。具体的に、システム制御部１４は、指定回数ＤＢ１２ｇに登録されている全ての情報を削除する。次いで、システム制御部１４は、キーワード・ジャンルリストを初期化する（ステップＳ２）。キーワード・ジャンルリストは、検索キーワード、ジャンルＩＤ及び指定回数の組が登録されるリストである。
【０１３４】
次いで、システム制御部１４は、クエリログＤＢ１２ｆに登録されたクエリログから、検索キーワード情報とジャンルＩＤとの組を取得する（ステップＳ３）。具体的に、システム制御部１４は、受信日時が予め設定された期間内（例えば、現時点から３０日前までの期間内）であるクエリログから、それぞれ検索キーワード情報とジャンルＩＤとの組を取得する。このとき、システム制御部１４は、検索キーワード情報及びジャンルＩＤの両方が設定されているクエリログから取得を行う。
【０１３５】
次いで、システム制御部１４は、各ジャンルについて、検索キーワード情報とともに検索条件として指定された回数を取得する（ステップＳ４）。具体的に、システム制御部１４は、クエリログから取得した検索キーワード情報とジャンルＩＤとの各組のうち、一組を選択する。次いで、システム制御部１４は、クエリログから取得した組のうち、選択した組と検索キーワード情報及びジャンルＩＤが同一である組の数を、指定回数として数える。このとき、システム制御部１４は、選択した組自体も、１つとして、指定回数に含める。次いで、システム制御部１４は、既に選択したことがある組と同一の組を除いて、クエリログから取得した組のうち、一組を選択する。そして、システム制御部１４は、選択した組について、上述した方法と同様に指定回数を数える。以降、システム制御部１４は、選択可能な組がなくなるまで同様の処理を行う。
【０１３６】
システム制御部１４は、ステップＳ４の処理を終えると、指定回数が計算された検索キーワード情報及びジャンルＩＤの各組について、検索キーワード情報、ジャンルＩＤ及び指定回数を対応付けてキーワード・ジャンルリストに登録する（ステップＳ５）。
【０１３７】
次いで、システム制御部１４は、キーワード・ジャンルリストに登録された検索キーワード情報のうち１つを選択する（ステップＳ６）。ここで、選択された検索キーワード情報を、「選択キーワード情報」と称する。次いで、システム制御部１４は、キーワード・ジャンルリストから、選択キーワード情報と同一の検索キーワード情報を含む組を検索する。そして、システム制御部１４は、検索した組からなる検索リストを生成する（ステップＳ７）。次いで、システム制御部１４は、検索リストに登録された組のうち、その組に含まれるジャンルＩＤに対応するジャンルのレベルが最も大きいものを１つ選択する（ステップＳ８）。ジャンルのレベルは、ジャンル情報ＤＢ１２ｃに登録されているジャンル情報のうち、ジャンルＩＤに対応するジャンル情報に含まれているレベルである。ここで、選択された組に含まれるジャンルＩＤに対応するジャンルを、「選択ジャンル」と称する。
【０１３８】
次いで、システム制御部１４は、選択ジャンルのレベルがレベル１であるか否かを判定する（ステップＳ９）。このとき、システム制御部１４は、選択ジャンルのレベルがレベル１ではないと判定した場合には（ステップＳ９：ＮＯ）、検索リストに登録された組の中に、選択ジャンルの親ジャンルのジャンルＩＤを含む組があるか否かを判定する（ステップＳ１０）。選択ジャンルの親ジャンルのジャンルＩＤは、選択ジャンルのジャンルＩＤに対応するジャンル情報に含まれている親ジャンルＩＤである。システム制御部１４は、選択ジャンルの親ジャンルのジャンルＩＤを含む組があると判定した場合には（ステップＳ１０：ＹＥＳ）、選択した組に含まれる指定回数を、親ジャンルのジャンルＩＤを含む組に含まれる指定回数に加算する（ステップＳ１１）。一方、システム制御部１４は、選択ジャンルの親ジャンルのジャンルＩＤを含む組がないと判定した場合には（ステップＳ１０：ＮＯ）、選択キーワード情報、親ジャンルのジャンルＩＤ及び指定回数の組を新たに検索クリストに追加する（ステップＳ１２）。システム制御部１４は、このときの指定回数を、選択した組に含まれる指定回数と同一とする。
【０１３９】
システム制御部１４は、ステップＳ９において選択ジャンルのレベルがレベル１であると判定した場合（ステップＳ９：ＹＥＳ）、ステップＳ１１の処理を終えた場合、または、ステップＳ１２の処理を終えた場合には、検索リストに登録された組の中にまだ選択していない組があるか否かを判定する（ステップＳ１３）。このとき、システム制御部１４は、まだ選択していない組があると判定した場合には（ステップＳ１３：ＹＥＳ）、まだ選択していない組のうち、その組に含まれるジャンルＩＤに対応するジャンルのレベルが最も大きいものを１つ選択する（ステップＳ１４）。次いで、システム制御部１４は、ステップＳ９に移行する。システム制御部１４は、ステップＳ９〜Ｓ１３の処理を繰り返すことにより、各ジャンルの指定回数を、そのジャンルの親ジャンルからレベル１のジャンルまでの各ジャンルに加算する。
【０１４０】
一方、システム制御部１４は、全ての組を選択したと判定した場合には（ステップＳ１３：ＮＯ）、指定回数情報ＤＢ１２ｇに指定回数情報を登録を行う（ステップＳ１５）。具体的に、システム制御部１４は、選択キーワード情報を指定回数情報ＤＢ１２ｇに登録するとともに、検索リストに登録された各組に含まれるジャンルＩＤ及び指定回数を、選択キーワード情報に対応付けて登録する。
【０１４１】
次いで、システム制御部１４は、既に選択したことがある検索キーワード情報と同一のキーワード情報を除いて、キーワード・ジャンルリストに登録された検索キーワード情報のうちまだ選択していない検索キーワード情報があるか否かを判定する（ステップＳ１６）。このとき、システム制御部１４は、まだ選択していない検索キーワード情報があると判定した場合には（ステップＳ１６：ＹＥＳ）、まだ選択していない検索キーワード情報のうち１つを選択する（ステップＳ１７）。次いで、システム制御部１４は、ステップＳ７に移行する。システム制御部１４は、ステップＳ７〜Ｓ１７の処理を繰り返すことにより、関連性が高い検索キーワード情報とジャンルとの組を全て抽出する。そして、システム制御部１４は、全ての検索キーワード情報を選択したと判定した場合には（ステップＳ１６：ＮＯ）、指定回数集計処理を終了させる。
【０１４２】
図１６は、本実施形態に係る電子商店街サーバ１のシステム制御部１４の関連ジャンル抽出制御処理における処理例を示すフローチャートである。関連ジャンル抽出制御処理は、１つのキーワードまたはキーワードの組み合わせとの関連性が高いジャンルを抽出する処理である。関連ジャンル抽出制御処理は、必要に応じて実行される。例えば、ユーザが検索条件として１つ以上の検索キーワードを指定した場合に、指定された１つ以上の検索キーワードについて、関連ジャンル抽出制御処理が実行される。また、例えば、電子商店街の管理者が１つ以上のキーワードを指定した場合に、指定された１つ以上のキーワードについて、関連ジャンル抽出制御処理が実行される。管理者は、例えば、電子商店街において特定のキーワードまたは特定のキーワードの組み合わせに関連するＷｅｂページを予め用意しておく場合がある。特定のキーワードまたは特定のキーワードの組み合わせに関連するジャンルの一覧が表示されるようにＷｅｂページを生成する場合、管理者は、関連するジャンルを知る必要がある。
【０１４３】
関連ジャンル抽出制御処理の引数として、１つ以上のキーワードを含むキーワード情報が設定される。先ず、システム制御部１４は、引数のキーワード情報に複数のキーワードが設定されているか否かを判定する（ステップＳ３１）。このとき、システム制御部１４は、引数のキーワード情報に１つのキーワードのみが設定されていると判定した場合には（ステップＳ３１：ＮＯ）、次に実行する関連ジャンル抽出処理の引数として、ジャンルトップのジャンルＩＤ、及び関連ジャンル抽出制御処理の引数のキーワード情報を設定する（ステップＳ３２）。次いで、システム制御部１４は、関連ジャンル抽出処理を実行する（ステップＳ３３）。このときの関連ジャンル抽出処理では、引数のキーワード情報に設定された１つのキーワードとの関連性が高いジャンルが抽出される。関連ジャンル抽出処理の詳細については後述する。
【０１４４】
一方、システム制御部１４は、引数のキーワード情報に複数のキーワードが設定されていると判定した場合には（ステップＳ３１：ＹＥＳ）、複数キーワード対応関連ジャンル抽出処理を実行する（ステップＳ３４）。複数キーワード対応関連ジャンル抽出処理では、引数のキーワード情報に設定されたキーワードの組み合わせとの関連性が高いジャンルが抽出される。複数キーワード対応関連ジャンル抽出処理の詳細については後述する。
【０１４５】
システム制御部１４は、ステップＳ３３またはＳ３４の処理を終えると、関連ジャンル抽出制御処理を終了させる。このとき、システム制御部１４は、関連ジャンル抽出制御処理の戻り値として、関連ジャンルリストを出力する。関連ジャンルリストは、引数のキーワード情報との関連性が高いジャンルのリストである。具体的に、関連ジャンルリストには、引数のキーワード情報、抽出されたジャンルのジャンルＩＤ及び関連性スコアを含むレコードが、抽出されたジャンルごとに登録されている。
【０１４６】
図１７は、本実施形態に係る電子商店街サーバ１のシステム制御部１４の関連ジャンル抽出処理における処理例を示すフローチャートである。
【０１４７】
先ず、システム制御部１４は、引数のジャンルＩＤに対応するジャンルの子ジャンルの数を計算する（ステップＳ４１）。具体的に、システム制御部１４は、引数のジャンルＩＤに対応するジャンル情報に含まれている子ジャンルＩＤリストに登録されているジャンルＩＤの数を数える。次いで、システム制御部１４は、計算した子ジャンルの数に基づいて、エントロピーの閾値αを計算する（ステップＳ４２）。例えば、システム制御部１４は、上述した式３を用いて計算する。
【０１４８】
次いで、システム制御部１４は、引数のジャンルＩＤに対応するジャンルの各子ジャンルについて、引数のキーワード情報に対応する指定確率を計算する（ステップＳ４３）。つまり、システム制御部１４は、上述した式２の計算に相当する処理を実行する。具体的に、システム制御部１４は、引数のジャンルＩＤに対応するジャンル情報に含まれている子ジャンルＩＤリストから、ジャンルＩＤを取得する。次いで、システム制御部１４は、引数のキーワード情報に対応する指定回数情報から、取得したジャンルＩＤに対応する指定回数を検索する。このとき、指定回数情報に、取得したジャンルＩＤに対応する指定回数が登録されていない場合には、そのジャンルＩＤのジャンルについての指定回数を０とする。システム制御部１４は、この検索を子ジャンルＩＤリストに登録されているジャンルＩＤ分実行する。次いで、システム制御部１４は、検索された指定回数の合計値を計算する。そして、システム制御部１４は、検索された各指定回数を合計値で除算することにより、指定確率を計算する。
【０１４９】
次いで、システム制御部１４は、計算した指定回数に基づいて、エントロピーＥを計算する（ステップＳ４４）。つまり、システム制御部１４は、上述した式１の計算を行う。次いで、システム制御部１４は、エントロピーＥが閾値α以下であるか否かを判定する（ステップＳ４５）。このとき、システム制御部１４は、エントロピーＥが閾値α以下ではないと判定した場合には（ステップＳ４５：ＮＯ）、関連ジャンル抽出処理を終了させる。一方、システム制御部１４は、エントロピーＥが閾値α以下であると判定した場合には（ステップＳ４５：ＹＥＳ）、子ジャンルの数に基づいて、指定確率の閾値βを計算する（ステップＳ４６）。例えば、システム制御部１４は、上述した式４を用いて計算する。
【０１５０】
次いで、システム制御部１４は、引数のジャンルＩＤに対応するジャンルの子ジャンルのうち１つを選択する（ステップＳ４７）。ここで、選択した子ジャンルを、「選択子ジャンル」と称する。次いで、システム制御部１４は、選択子ジャンルの指定確率が閾値β以上であるか否かを判定する（ステップＳ４８）。このとき、システム制御部１４は、指定確率が閾値β以上であると判定した場合には（ステップＳ４８：ＹＥＳ）、選択子ジャンルの関連性スコアを、選択子ジャンルの指定回数に応じて決定する（ステップＳ４９）。次いで、システム制御部１４は、引数のキーワード情報、選択子ジャンルのジャンルＩＤ及び決定した関連性スコアを関連付けて、１つのレコードとして関連ジャンルリストに登録する（ステップＳ５０）。
【０１５１】
次いで、システム制御部１４は、選択子ジャンルについて、そのジャンルの子ジャンルが設定されているか否かを判定する（ステップＳ５１）。具体的に、システム制御部１４は、選択子ジャンルのジャンルＩＤに対応するジャンル情報に子ジャンルリストが設定されている場合には、子ジャンルが設定されていると判定し、子ジャンルリストが設定されていない場合には、子ジャンルが設定されていないと判定する。このとき、システム制御部１４は、子ジャンルが設定されていると判定した場合には（ステップＳ５１：ＹＥＳ）、関連ジャンル抽出処理の引数として、選択子ジャンルのジャンルＩＤ及び引数のキーワード情報を設定する（ステップＳ５２）。次いで、システム制御部１４は、関連ジャンル抽出処理を実行する（ステップＳ５３）。
【０１５２】
システム制御部１４は、ステップＳ４８において選択子ジャンルの指定確率が閾値β以上ではないと判定した場合（ステップＳ４８：ＮＯ）、ステップＳ５１において子ジャンルが設定されていないと判定した場合（ステップＳ５１：ＮＯ）、または、ステップＳ５３の処理を終えた場合には、引数のジャンルＩＤに対応するジャンルの子ジャンルのうち、まだ選択していない子ジャンルがあるか否かを判定する（ステップＳ５４）。このとき、システム制御部１４は、まだ選択していない子ジャンルがあると判定した場合には（ステップＳ５４：ＹＥＳ）、まだ選択していない子ジャンルのうち１つを選択する（ステップＳ５５）。次いで、システム制御部１４は、ステップＳ４８に移行する。一方、システム制御部１４は、全ての子ジャンルを選択したと判定した場合には（ステップＳ５４：ＮＯ）、関連ジャンル抽出処理を終了させる。
【０１５３】
なお、システム制御部１４は、引数のキーワード情報が検索条件として指定された回数が少ない場合、関連性が高いジャンルを抽出しなくてもよい。この場合、各ジャンルについて、引数のキーワード情報とともに検索条件として指定された回数が少なくなるため、引数のキーワード情報との関連性が高いと判定することは妥当とはいえないからである。
【０１５４】
図１８は、本実施形態に係る電子商店街サーバ１のシステム制御部１４の複数キーワード対応関連ジャンル抽出処理における処理例を示すフローチャートである。
【０１５５】
先ず、システム制御部１４は、次に実行する関連ジャンル抽出処理の引数として、ジャンルトップのジャンルＩＤ、及び関連ジャンル抽出制御処理の引数のキーワード情報を設定する（ステップＳ５０１）。次いで、システム制御部１４は、関連ジャンル抽出処理を実行する（ステップＳ５０２）。このときの関連ジャンル抽出処理では、引数のキーワード情報に設定されたのキーワードの組み合わせとの関連性が高いジャンルが、第３項で説明された方法で抽出される。
【０１５６】
次いで、システム制御部１４は、第４項で説明された方法でジャンルを抽出するキーワードの順番を、引数のキーワード情報に設定された各キーワードの指定順で設定する（ステップＳ５０３）。次いで、システム制御部１４は、設定抽出順対応関連ジャンル抽出処理を実行する（ステップＳ５０４）。設定抽出順対応関連ジャンル抽出処理では、引数のキーワード情報に設定されたキーワードの組み合わせとの関連性が高いジャンルが、第４項で説明された方法で抽出される。このとき、ステップＳ５０３で設定された抽出順で関連性が高いジャンルの抽出が行われる。なお、設定抽出順対応関連ジャンル抽出処理の詳細については後述する。
【０１５７】
次いで、システム制御部１４は、設定抽出順対応関連ジャンル抽出処理により関連性が高いジャンルを抽出することができたか否かを判定する（ステップＳ５０５）。このとき、システム制御部１４は、抽出することができなかったと判定した場合には（ステップＳ５０５：ＮＯ）、まだ試していない抽出順があるか否かを判定する（ステップＳ５０６）。このとき、システム制御部１４は、まだ試していない抽出順があると判定した場合には（ステップＳ５０６：ＹＥＳ）、抽出順をまだ試していない抽出順の１つに変更する（ステップＳ５０７）。そして、システム制御部１４は、設定抽出順対応関連ジャンル抽出処理を実行する（ステップＳ５０４）。
【０１５８】
一方、システム制御部１４は、全ての抽出順を試したと判定した場合には（ステップＳ５０６：ＮＯ）、ステップＳ５０２の関連ジャンル抽出処理により関連性が高いジャンルが抽出されたか否かを判定する（ステップＳ５０８）。このとき、システム制御部１４は、関連性が高いジャンルが抽出されたと判定した場合には（ステップＳ５０８：ＹＥＳ）、関連ジャンル抽出処理により抽出されたジャンルを、引数のキーワード情報に設定されたキーワードの組み合わせとの関連性が高いジャンルであると決定する（ステップＳ５０９）。システム制御部１４は、この処理を終えると、複数キーワード対応関連ジャンル抽出処理を終了させる。一方、システム制御部１４は、関連性が高いジャンルが抽出されなかったと判定した場合には（ステップＳ５０８：ＮＯ）、複数キーワード対応関連ジャンル抽出処理を終了させる。この場合、引数のキーワード情報に設定されたキーワードの組み合わせとの関連性が高いジャンルは存在しない。
【０１５９】
ステップＳ５０５において、システム制御部１４は、設定抽出順対応関連ジャンル抽出処理により関連性が高いジャンルを抽出することができたと判定した場合には（ステップＳ５０５：ＹＥＳ）、抽出されたジャンルのレベル同士を比較する。具体的に、システム制御部１４は、関連ジャンル抽出処理により抽出されたジャンルのレベルの値が、設定抽出順対応関連ジャンル抽出処理により抽出されたジャンルのレベルの値よりも大きいか否かを判定する（ステップＳ５１０）。つまり、システム制御部１４は、第３項で説明された方法で抽出されたジャンルのレベルが第４項で説明された方法で抽出されたジャンルのレベルよりも大きいか否かを判定する。このとき、システム制御部１４は、関連ジャンル抽出処理により抽出されたジャンルのレベルの値の方が大きいと判定した場合には（ステップＳ５１０：ＹＥＳ）、ステップＳ５０９に移行する。
【０１６０】
一方、システム制御部１４は、関連ジャンル抽出処理により抽出されたジャンルのレベルの値が、設定抽出順対応関連ジャンル抽出処理により抽出されたジャンルのレベルの値よりも大きくはないと判定した場合には（ステップＳ５１０：ＮＯ）、設定抽出順対応関連ジャンル抽出処理により抽出されたジャンルについて、引数のキーワード情報に設定されたキーワードの組み合わせに対する関連性スコアを決定する（ステップＳ５１１）。例えば、システム制御部１４は、設定抽出順対応関連ジャンル抽出処理において、各キーワードについて抽出したジャンルの関連性スコアを取得する。そして、システム制御部１４は、取得した関連性スコアの平均値を、キーワードの組み合わせに対する関連性スコアとして算出する。
【０１６１】
次いで、システム制御部１４は、設定抽出順対応関連ジャンル抽出処理により抽出されたジャンルを、引数のキーワード情報に設定されたキーワードの組み合わせとの関連性が高いジャンルであると決定する（ステップＳ５１２）。このとき、システム制御部１４は、設定抽出順対応関連ジャンル抽出処理により関連ジャンルリストに登録されたレコードに、決定した関連性スコアを登録する。システム制御部１４は、この処理を終えると、複数キーワード対応関連ジャンル抽出処理を終了させる。
【０１６２】
図１９は、本実施形態に係る電子商店街サーバ１のシステム制御部１４の設定抽出順対応関連ジャンル抽出処理における処理例を示すフローチャートである。
【０１６３】
先ず、システム制御部１４は、ジャンルトップのジャンルＩＤが登録されたジャンルリスト０を生成する（ステップＳ６０１）。次いで、システム制御部１４は、抽出順ｉに１を設定する（ステップＳ６０２）。ここで、ジャンルリストｉは、抽出順がｉ番目のキーワードについて抽出されたジャンルのリストである。
【０１６４】
次いで、システム制御部１４は、ジャンルのインデックスｊに１を設定する（ステップＳ６０３）。次いで、システム制御部１４は、次に実行する関連ジャンル抽出処理の引数として、ジャンルリストｉ−１のｊ番目に登録されているジャンルＩＤ、及び抽出順がｉ番目のキーワードを設定する（ステップＳ６０４）。次いで、システム制御部１４は、関連ジャンル抽出処理を実行する（ステップＳ６０５）。このときの関連ジャンル抽出処理では、引数に設定されたジャンルＩＤが示すジャンルの子孫ジャンルの中から、ｉ番目のキーワードとの関連性が高いジャンルが抽出される。次いで、システム制御部１４は、インデックスｊが、ジャンルリストｉ−１に登録されているジャンルＩＤの数の値より小さいか否かを判定する（ステップＳ６０６）。このとき、インデックスｊがジャンルＩＤの数の値より小さいと判定した場合には（ステップＳ６０６：ＹＥＳ）、インデックスｊに１を加算する（ステップＳ６０７）。そして、システム制御部１４は、ステップＳ６０４に移行する。システム制御部１４は、ステップＳ６０４〜Ｓ６０７の処理を繰り返すことにより、ジャンルリストｉ−１にジャンルＩＤが登録されているジャンルの子孫ジャンルの中から、ｉ番目のキーワードとの関連性が高いジャンルを抽出する。
【０１６５】
そして、システム制御部１４は、インデックスｊがジャンルの数の値以上であると判定した場合には（ステップＳ６０６：ＮＯ）、ステップＳ６０５の関連ジャンル抽出処理によりジャンルを抽出することができたか否かを判定する（ステップＳ６０８）。このとき、システム制御部１４は、抽出することができなかったと判定した場合には（ステップＳ６０８：ＮＯ）、抽出結果として失敗を設定する（ステップＳ６０９）。システム制御部は、この処理を終えると、設定抽出順対応関連ジャンル抽出処理を終了させる。
【０１６６】
一方、システム制御部１４は、抽出することができたと判定した場合には（ステップＳ６０８：ＹＥＳ）、抽出されたジャンルを関連性スコアの高い順に順位付けする。そして、システム制御部１４は、順位が、予め設定された順位以上であるジャンルのジャンルＩＤが登録されたジャンルリストｉを生成する（ステップＳ６１０）。
【０１６７】
次いで、システム制御部１４は、抽出順ｉが、指定されたキーワードの数の値より小さいか否かを判定する（ステップＳ６１１）。このとき、抽出順ｉがキーワードの数の値より小さいと判定した場合には（ステップＳ６１１：ＹＥＳ）、抽出順ｉに１を加算する（ステップＳ６１２）。そして、システム制御部１４は、ステップＳ６０３に移行する。システム制御部１４は、ステップＳ６０３〜Ｓ６１２の処理を繰り返すことにより、キーワード情報に設定されたキーワードの組み合わせとの関連性が高いジャンルを抽出する。
【０１６８】
そして、システム制御部１４は、抽出順ｉがキーワードの数の値以上であると判定した場合には（ステップＳ６１１：ＮＯ）、関連ジャンルリストを生成する（ステップＳ６１３）。具体的に、システム制御部１４は、ジャンルリストｉに登録されたジャンルＩＤごとに、ジャンルＩＤ及び引数のキーワード情報を含むレコードを、関連ジャンルリストに登録する。次いで、システム制御部１４は、抽出結果として成功を設定する（ステップＳ６１４）。システム制御部は、この処理を終えると、設定抽出順対応関連ジャンル抽出処理を終了させる。
【０１６９】
図２０は、本実施形態に係る電子商店街サーバ１のシステム制御部１４の検索クエリ受信時処理における処理例を示すフローチャートである。検索クエリ受信時処理は、電子商店街サーバ１が、電子商店街のトップページまたは検索結果ページを表示しているユーザ端末２から検索クエリを受信したときに開始される。
【０１７０】
先ず、システム制御部１４は、ユーザにより指定された検索条件を満たす商品を検索する（ステップＳ７１）。具体的に、システム制御部１４は、検索クエリに検索キーワード情報が設定されている場合には、商品情報ＤＢ１２ｂから、商品名及び商品説明の少なくとも一方に検索キーワード情報を含む商品情報を検索する。また、システム制御部１４は、検索クエリにジャンルＩＤが設定されている場合には、商品情報ＤＢ１２ｂから、このジャンルＩＤに対応するジャンルに属する商品の商品情報を、商品情報に含まれるジャンルＩＤに基づいて検索する。システム制御部１４は、検索クエリに検索キーワード情報及びジャンルＩＤが設定されている場合には、商品名及び商品説明の少なくとも一方に検索キーワード情報を含む商品情報であり、且つ、このジャンルＩＤに対応するジャンルに属する商品の商品情報を検索する。
【０１７１】
次いで、システム制御部１４は、クエリログを記録する（ステップＳ７２）。具体的に、システム制御部１４は、受信日時として現在日時を取得する。そして、システム制御部１４は、受信日時と、検索クエリに設定されている検索キーワード情報及びジャンルＩＤを含むクエリログを生成する。このとき、システム制御部１４は、検索を要求したユーザがログインしている場合には、性別、年齢及び都道府県をクエリログに含める。例えば、システム制御部１４は、ユーザによる電子商店街へのログイン時に、ユーザ端末２からユーザＩＤを受信し、受信したユーザＩＤをクッキーとしてユーザ端末２に保存させている。そのため、ユーザがログインしている場合には、検索クエリに、ユーザＩＤを含むクッキーが付加されている。そこで、システム制御部１４は、検索クエリに付加されているクッキーからユーザＩＤを取得する。そして、システム制御部１４は、会員情報ＤＢ１２ａからユーザＩＤに対応する会員情報を取得する。そして、システム制御部１４は、会員情報に基づいて、性別、年齢及び都道府県を特定する。システム制御部１４は、生成したクエリログを、クエリログＤＢ１２ｆに登録する。
【０１７２】
次いで、システム制御部１４は、検索クエリに検索キーワード情報が設定されているか否かを判定する（ステップＳ７３）。このとき、システム制御部１４は、検索キーワード情報が設定されていると判定した場合には（ステップＳ７３：ＹＥＳ）、検索クエリに設定されている検索キーワード情報を、関連ジャンル抽出制御処理の引数として設定する（ステップＳ７４）。そして、システム制御部１４は、関連ジャンル抽出制御処理を実行する（ステップＳ７５）。
【０１７３】
システム制御部１４は、検索クエリに検索キーワード情報が設定されていないと判定した場合（ステップＳ７３：ＮＯ）、または、ステップＳ７５の処理を終えた場合には、記憶部１２から、検索結果ページのＨＴＭＬ文書のテンプレートを取得する（ステップＳ７６）。次いで、システム制御部１４は、検索条件設定領域設定処理を実行する（ステップＳ７７）。具体的に、システム制御部１４は、検索クエリにジャンルＩＤが設定されている場合には、検索結果ページの検索ボタン２１３が選択されたときに、キーワード入力欄２１１に入力された１つ以上の検索キーワードとともにこのジャンルＩＤが送信されるよう、このジャンルＩＤを、取得したテンプレートに設定する。
【０１７４】
次いで、システム制御部１４は、ジャンル指定領域設定処理を実行する（ステップＳ７８）。ジャンル指定領域設定処理では、検索結果ページのジャンル指定領域２２０にジャンルリンク２２１を表示するためのデータが、取得したテンプレートに設定される。次いで、システム制御部１４は、関連キーワード表示領域設定処理を実行する（ステップＳ７９）。関連キーワード表示領域設定処理では、検索結果ページの関連キーワード表示領域２３０に関連キーワードリンク２３１を表示するためのデータが、取得したテンプレートに設定される。次いで、システム制御部１４は、検索結果表示領域設定処理を実行する（ステップＳ８０）。検索結果表示領域設定処理では、検索結果ページの検索結果表示領域２４０に、該当商品情報２４１を表示するためのデータが、取得したテンプレートに設定される。なお、ジャンル指定領域設定処理、関連キーワード表示領域設定処理及び検索結果表示領域設定処理の詳細については後述する。
【０１７５】
次いで、システム制御部１４は、各情報の設定により完成した検索結果ページのＨＴＭＬ文書を、検索クエリの送信元のユーザ端末２へ送信する（ステップＳ８１）。システム制御部１４は、この処理を終えると、検索クエリ受信時処理を終了させる。
【０１７６】
図２１は、本実施形態に係る電子商店街サーバ１のシステム制御部１４のジャンル指定領域設定処理における処理例を示すフローチャートである。
【０１７７】
先ず、システム制御部１４は、検索条件として１つ以上の検索キーワードが指定されているか否かを判定する（ステップＳ１０１）。つまり、システム制御部１４は、検索クエリに検索キーワード情報が設定されているか否かを判定する。このとき、システム制御部１４は、１つ以上の検索キーワードが指定されていないと判定した場合には（ステップＳ１０１：ＮＯ）、ジャンルリンク２２１を表示するための通常の処理を実行する（ステップＳ１０２）。具体的に、システム制御部１４は、検索クエリにジャンルＩＤが設定されていない場合には、レベル１の各ジャンルについてジャンルリンク２２１用のデータを生成する。一方、システム制御部１４は、検索クエリにジャンルＩＤが設定されている場合には、このジャンルＩＤに対応するジャンルの各子ジャンルについてジャンルリンク２２１用のデータを生成する。ジャンルリンク２２１用のデータを生成するとき、システム制御部１４は、ａタグのhref属性に商品検索用のＵＲＬを設定する。ここで、システム制御部１４は、検索クエリの送信先を示すＵＲＬに、対応するジャンルのジャンルＩＤを付加して、商品検索用のＵＲＬを生成する。また、システム制御部１４は、ａタグの開始タグと終了タグとの間に、対応するジャンルのジャンル名を設定する。システム制御部１４は、生成したジャンルリンク２２１用のデータを、取得したテンプレートにおいて、ジャンル指定領域２２０に対応する領域に追加設定する。システム制御部１４は、この処理を終えると、ジャンル指定領域設定処理を終了させる。
【０１７８】
一方、システム制御部１４は、１つ以上の検索キーワードが指定されていると判定した場合には（ステップＳ１０１：ＹＥＳ）、検索条件としてジャンルが指定されているか否かを判定する（ステップＳ１０３）。つまり、システム制御部１４は、検索クエリにジャンルＩＤが設定されているか否かを判定する。ここで、検索クエリに設定されたジャンルＩＤに対応するジャンルを、「指定ジャンル」という。このとき、システム制御部１４は、ジャンルが指定されていると判定した場合には（ステップＳ１０３：ＹＥＳ）、検索クエリに設定されているジャンルＩＤを取得する（ステップＳ１０４）。一方、システム制御部１４は、ジャンルが指定されていないと判定した場合には（ステップＳ１０３：ＮＯ）、ジャンルトップのジャンルＩＤを取得する（ステップＳ１０５）。
【０１７９】
システム制御部１４は、ステップＳ１０４またはＳ１０５の処理を終えると、取得したジャンルＩＤが示すジャンルの子孫ジャンルの中のうち、検索キーワード情報に設定された１つ以上の検索キーワードとの関連性が高いジャンルのレコードを、図２０に示すステップＳ７５の関連ジャンル抽出制御処理により出力された関連ジャンルリストから検索する（ステップＳ１０６）。具体的に、システム制御部１４は、関連ジャンルリストに登録されている各レコードからジャンルＩＤを取得する。次いで、システム制御部１４は、レコードから取得したジャンルＩＤと、ジャンル情報ＤＢ１２ｃに登録されているジャンル情報とに基づいて、レコードから取得したジャンルＩＤが示すジャンルの中から、ステップＳ１０４またはＳ１０５において取得されたジャンルＩＤが示すジャンルの子孫ジャンルを特定する。そして、システム制御部１４は、検索されたレコードの中から、特定されたジャンルのジャンルＩＤを含むレコードを抽出する。
【０１８０】
次いで、システム制御部１４は、ステップＳ１０６の検索の結果、該当するレコードがあったか否かを判定する（ステップＳ１０７）。このとき、システム制御部１４は、該当するレコードがなかったと判定した場合には（ステップＳ１０７：ＮＯ）、ステップＳ１０２に移行する。これは、ユーザにより指定された検索キーワード情報との関連性が高いジャンルがなかった場合である。
【０１８１】
一方、システム制御部１４は、該当するレコードがあったと判定した場合には（ステップＳ１０７：ＹＥＳ）、検索したレコードのうち、そのレコードに含まれる関連性スコアが最も高いレコードを選択する（ステップＳ１０８）。次いで、システム制御部１４は、選択したレコードに含まれるジャンルＩＤに対応するジャンルのジャンルリンク２２１用のデータを生成する（ステップＳ１０９）。この生成方法は、ステップＳ１０２において説明した方法と同様である。ただし、システム制御部１４は、商品検索用のＵＲＬを生成するとき、検索クエリの送信先を示すＵＲＬに、対応するジャンルのジャンルＩＤと検索キーワード情報に含まれる１つ以上の検索キーワードとを付加して生成する。次いで、システム制御部１４は、生成したジャンルのジャンルリンク２２１用のデータを、取得したテンプレートにおいて、ジャンル指定領域２２０に対応する領域に追加設定する（ステップＳ１１０）。
【０１８２】
次いで、システム制御部１４は、検索したレコードのうちまだ選択していないレコードがあるか否かを判定する（ステップＳ１１１）。このとき、システム制御部１４は、まだ選択していないレコードがあると判定した場合には（ステップＳ１１１：ＹＥＳ）、まだ選択していないレコードのうち、そのレコードに含まれる関連性スコアが最も高いレコードを１つ選択する（ステップＳ１１２）。次いで、システム制御部１４は、ステップＳ１０９に移行する。システム制御部１４は、ステップＳ１０９〜Ｓ１１２の処理を繰り返すことにより、検索キーワード情報と関連性が高いジャンルのジャンルリンク２２１の表示順位を関連性スコアに基づいて決定する。つまり、システム制御部１４は、関連性スコアが高いジャンルであるほどそのジャンルリンク２２１が優先的に表示されるようにする。そして、システム制御部１４は、全てのレコードを選択したと判定した場合には（ステップＳ１１１：ＮＯ）、ジャンル指定領域設定処理を終了させる。
【０１８３】
図２２は、本実施形態に係る電子商店街サーバ１のシステム制御部１４の関連キーワード表示領域設定処理における処理例を示すフローチャートである。
【０１８４】
先ず、システム制御部１４は、検索条件として１つ以上の検索キーワードが設定されているか否かを判定する（ステップＳ２０１）。このとき、システム制御部１４は、１つ以上の検索キーワードが指定されていないと判定した場合には（ステップＳ２０１：ＮＯ）、関連キーワード表示領域設定処理を終了させる。一方、システム制御部１４は、１つ以上の検索キーワードが指定されていると判定した場合には（ステップＳ２０１：ＹＥＳ）、検索条件としてジャンルが設定されているか否かを判定する（ステップＳ２０２）。
【０１８５】
このとき、システム制御部１４は、ジャンルが指定されていないと判定した場合には（ステップＳ２０２：ＮＯ）、関連キーワードリンク２３１を表示するための通常の処理を実行する（ステップＳ２０３）。具体的に、システム制御部１４は、関連キーワードＤＢ１２ｅから、検索クエリに設定された検索キーワード情報に対応する関連キーワード情報を検索する。次いで、システム制御部１４は、検索した関連キーワード情報の関連キーワードリンク２３１用のデータを生成する。このとき、システム制御部１４は、ａタグのhref属性に商品検索用のＵＲＬを設定する。ここで、システム制御部１４は、検索クエリの送信先を示すＵＲＬに、関連キーワード情報を付加して、商品検索用のＵＲＬを生成する。また、システム制御部１４は、ａタグの開始タグと終了タグとの間に、関連キーワード情報を設定する。システム制御部１４は、生成した関連キーワードリンク２３１用のデータを、取得したテンプレートにおいて、関連キーワード表示領域２３０に対応する領域に追加設定する。システム制御部１４は、この処理を終えると、関連キーワード表示領域設定処理を終了させる。
【０１８６】
一方、システム制御部１４は、ジャンルが指定されていると判定した場合には（ステップＳ２０２：ＹＥＳ）、関連キーワードＤＢ１２ｅから、検索キーワード情報に対応する関連キーワード情報を検索する（ステップＳ２０４）。
【０１８７】
次いで、システム制御部１４は、検索された関連キーワード情報を、関連ジャンル抽出制御処理の引数として設定する（ステップＳ２０５）。そして、システム制御部１４は、検索された関連キーワード情報ごとに、関連ジャンル抽出制御処理を実行する（ステップＳ２０６）。これにより、ユーザにより指定された１つ以上の検索キーワードに関連する1つ以上のキーワードについて、関連性が高いジャンルが抽出される。
【０１８８】
次いで、システム制御部１４は、ステップＳ２０６の関連ジャンル抽出制御処理により出力された関連ジャンルリストから、指定ジャンルのジャンルＩＤを含むレコードを検索する（ステップＳ２０７）。
【０１８９】
次いで、システム制御部１４は、検索したレコードのうち、そのレコードに含まれる関連性スコアが最も高いレコードを選択する（ステップＳ２０８）。次いで、システム制御部１４は、選択したレコードにキーワード情報として含まれる関連キーワード情報の関連キーワードリンク２３１用のデータを生成する（ステップＳ２０９）。この生成方法は、ステップＳ２０３において説明した方法と同様である。ただし、システム制御部１４は、商品検索用のＵＲＬを生成するとき、検索クエリの送信先を示すＵＲＬに、関連キーワード情報と、指定ジャンルのジャンルＩＤとを付加して生成する。次いで、システム制御部１４は、生成した関連キーワードリンク２３１用のデータを、取得したテンプレートにおいて、関連キーワード表示領域２３０に対応する領域に追加設定する（ステップＳ２１０）。
【０１９０】
次いで、システム制御部１４は、関連キーワードリンク２３１を表示可能な上限数まで関連キーワードリンク２３１用のデータを追加したか否かを判定する（ステップＳ２１１）。このとき、システム制御部１４は、上限数まで追加したと判定した場合には（ステップＳ２１１：ＹＥＳ）、関連キーワード表示領域設定処理を終了させる。一方、システム制御部１４は、上限数まで追加していないと判定した場合には（ステップＳ２１１：ＮＯ）、検索したレコードのうちまだ選択していないレコードがあるか否かを判定する（ステップＳ２１２）。このとき、システム制御部１４は、まだ選択していないレコードがあると判定した場合には（ステップＳ２１２：ＹＥＳ）、まだ選択していないレコードのうち、そのレコードに含まれる関連性スコアが最も高いレコードを１つ選択する（ステップＳ２１３）。次いで、システム制御部１４は、ステップＳ２０９に移行する。システム制御部１４は、ステップＳ２０９〜Ｓ２１３の処理を繰り返すことにより、検索キーワード情報の関連キーワード情報であって、且つ、指定ジャンルとの関連性が高い関連キーワード情報の関連キーワードリンク２３１の表示順位を関連性スコアに基づいて決定する。つまり、システム制御部１４は、関連性スコアが高い関連キーワード情報であるほどその関連キーワードリンク２３１が優先的に表示されるようにする。そして、システム制御部１４は、全てのレコードを選択したと判定した場合には（ステップＳ２１２：ＮＯ）、関連キーワード表示領域設定処理を終了させる。
【０１９１】
図２３は、本実施形態に係る電子商店街サーバ１のシステム制御部１４の検索結果表示領域設定処理における処理例を示すフローチャートである。
【０１９２】
先ず、システム制御部１４は、検索クエリ受信時処理のステップＳ７１において検索された各商品のリスティングスコアを、例えば、商品評価プログラムのＡＰＩを介して取得する（ステップＳ３０１）。次いで、システム制御部１４は、検索条件として１つ以上の検索キーワードが指定されているか否かを判定する（ステップＳ３０２）。このとき、システム制御部１４は、１つ以上の検索キーワードが指定されていると判定した場合には（ステップＳ３０２：ＹＥＳ）、検索された商品のうち１つを選択する（ステップＳ３０３）。ここで、選択された商品を、「選択商品」と称する。
【０１９３】
次いで、システム制御部１４は、指定ジャンルの子ジャンルのうち、選択商品が属する子ジャンルのジャンルＩＤを取得する。選択商品が属するジャンルとは、選択商品の商品情報に含まれるジャンルＩＤに対応するジャンルと同一のジャンルであるか、または、選択商品の商品情報に含まれるジャンルＩＤに対応するジャンルを子孫ジャンルに有するジャンルである。次いで、システム制御部１４は、図２０に示すステップＳ７５の関連ジャンル抽出制御処理により出力された関連ジャンルリストから、取得したジャンルＩＤを含むレコードを検索する（ステップＳ３０４）。次いで、システム制御部１４は、検索の結果、該当するレコードがあったか否かを判定する（ステップＳ３０５）。このとき、システム制御部１４は、該当するレコードがあったと判定した場合には（ステップＳ３０５：ＹＥＳ）、選択商品のリスティングスコアを引き上げる（ステップＳ３０６）。例えば、システム制御部１４は、リスティングスコアに、予め設定された値を加算してもよいし、予め設定されたの係数を乗算してもよい。また、システム制御部１４は、検索されたレコードに含まれる関連性スコアが高いほど、リスティングスコアの引き上げ幅を大きくしてもよい。
【０１９４】
システム制御部１４は、ステップＳ３０５において該当するレコードがなかったと判定した場合（ステップＳ３０５：ＮＯ）、または、ステップＳ３０６の処理を終えた場合には、検索した商品のうちまだ選択していない商品があるか否かを判定する（ステップＳ３０７）。このとき、システム制御部１４は、まだ選択していない商品があると判定した場合には（ステップＳ３０７：ＹＥＳ）、まだ選択していない商品のうち１つを選択する（ステップＳ３０８）。次いで、システム制御部１４は、ステップＳ３０４に移行する。システム制御部１４は、ステップＳ３０４〜Ｓ３０８の処理を繰り返すことにより、検索した商品のうち、検索キーワード情報との関連性が高いジャンルの商品のリスティングスコアを引き上げる。
【０１９５】
システム制御部１４は、ステップＳ３０２において１つ以上の検索キーワードが指定されていないと判定した場合（ステップＳ３０２：ＮＯ）、または、全ての商品を選択したと判定した場合には（ステップＳ３０７：ＮＯ）、検索した商品のうち、リスティングスコアが最も高い商品を選択する（ステップＳ３０９）。次いで、システム制御部１４は、選択した商品の商品情報に基づいて、該当商品情報２４１用のデータを生成する。そして、システム制御部１４は、生成したデータを、取得したテンプレートにおいて、検索結果表示領域２４０に対応する領域に追加設定する（ステップＳ３１０）。
【０１９６】
次いで、システム制御部１４は、該当商品情報２４１を表示可能な上限数まで該当商品情報２４１用のデータを追加したか否かを判定する（ステップＳ３１１）。このとき、システム制御部１４は、上限数まで追加したと判定した場合には（ステップＳ３１１：ＹＥＳ）、検索結果表示領域設定処理を終了させる。一方、システム制御部１４は、上限数まで追加していないと判定した場合には（ステップＳ３１１：ＮＯ）、検索した商品のうちまだ選択していない商品があるか否かを判定する（ステップＳ３１２）。このとき、システム制御部１４は、まだ選択していない商品があると判定した場合には（ステップＳ３１２：ＹＥＳ）、まだ選択していない商品のうち、リスティングスコアが最も高い商品を１つを選択する（ステップＳ３１３）。次いで、システム制御部１４は、ステップＳ３１０に移行する。システム制御部１４は、ステップＳ３１０〜Ｓ３１３の処理を繰り返すことにより、リスティングスコアが高い商品であるほどその該当商品情報２４１が優先的に表示されるようにする。そして、システム制御部１４は、全ての商品を選択したと判定した場合には（ステップＳ３１２：ＮＯ）、検索結果表示領設定処理を終了させる。
【０１９７】
電子商店街サーバ１から検索結果ページのＨＴＭＬ文書を受信したユーザ端末２は、このＨＴＭＬ文書に基づいて、検索結果ページを画面に表示する。このとき、ユーザ端末２のＣＰＵは、ジャンルリンク２２１用のデータに基づいて、このデータの設定順にジャンルリンク２２１をジャンル指定領域２２０に表示する。また、ユーザ端末２のＣＰＵは、関連キーワードリンク２３１用のデータに基づいて、このデータの設定順に関連キーワードリンク２３１を関連キーワード表示領域２３０に表示する。また、ユーザ端末２のＣＰＵは、該当商品情報２４１用のデータに基づいて、このデータの設定順に該当商品情報２４１を検索結果表示領域２４０に表示する。
【０１９８】
図２４は、本実施形態に係る電子商店街サーバ１のシステム制御部１４の検索キーワード候補要求受信時処理における処理例を示すフローチャートである。ユーザ端末２により表示されている検索結果ページのキーワード入力欄２１１に対してユーザが入力操作を行う都度、ユーザ端末２は、検索キーワード候補要求を電子商店街サーバ１へ送信する。入力操作には、キーワード入力欄２１１への文字の追加、キーワード入力欄２１１からの文字の削除等の操作が含まれる。検索キーワード候補要求には、送信時点でキーワード入力欄２１１に入力されている文字列が設定される。また、直前ページにおいてジャンルが検索条件として指定された場合、検索キーワード候補要求には、そのジャンルのジャンルＩＤが設定される。検索キーワード候補要求受信時処理は、電子商店街サーバ１が、検索キーワード候補要求を受信したときに開始される。
【０１９９】
先ず、システム制御部１４は、検索キーワード候補要求にジャンルＩＤが設定されているか否かを判定する（ステップＳ４０１）。このとき、システム制御部１４は、ジャンルＩＤが設定されていないと判定した場合には（ステップＳ４０１：ＮＯ）、キーワードＤＢ１２ｄから、検索キーワード候補要求に設定されている文字列に前方一致するキーワード情報を検索する。そして、システム制御部１４は、検索したキーワード情報のリストを、１つ以上の検索キーワードの候補としてユーザ端末２へ送信する（ステップＳ４０２）。システム制御部１４は、この処理を終えると、検索キーワード候補要求受信時処理を終了させる。
【０２００】
一方、システム制御部１４は、ジャンルＩＤが設定されていると判定した場合には（ステップＳ４０１：ＹＥＳ）、キーワードＤＢ１２ｄから、検索キーワード候補要求に設定されている文字列に前方一致する検索キーワード情報を含むキーワード情報を検索する（ステップＳ４０３）。次いで、システム制御部１４は、検索されたキーワード情報を、関連ジャンル抽出制御処理の引数として設定する（ステップＳ４０４）。そして、システム制御部１４は、検索されたキーワード情報ごとに、関連ジャンル抽出制御処理を実行する（ステップＳ４０５）。これにより、ユーザにより入力された文字列を含む１つ以上のキーワードについて、関連性が高いジャンルが抽出される。
【０２０１】
次いで、システム制御部１４は、ステップＳ４０５の関連ジャンル抽出制御処理により出力された関連ジャンルリストに登録されたレコードの中から、検索キーワード候補要求に設定されているジャンルＩＤを含むレコードを抽出する（ステップＳ４０６）。次いで、システム制御部１４は、抽出したレコードを、そのレコードに含まれる関連性スコアが高い順に並べ替える。次いで、システム制御部１４は、関連性スコアが高い順に、抽出したレコードからキーワード情報を取得する。このとき、システム制御部１４は、最大でも検索キーワード候補表示領域２１４に表示可能なキーワードの上限数まで取得する。そして、システム制御部１４は、レコードから取得したキーワード情報を、関連性スコアが高い順に示すリストを生成する。こうして、システム制御部１４は、検索キーワード候補要求に設定されている文字列に前方一致するキーワード情報のうち、検索キーワード候補要求に設定されているジャンルＩＤに対応するジャンルと関連性が高いキーワード情報が優先的に表示されるように、検索キーワード候補表示領域２１４に表示されるキーワード情報を決定する。そして、システム制御部１４は、生成したキーワード情報のリストをユーザ端末２へ送信する（ステップＳ４０７）。システム制御部１４は、この処理を終えると、検索キーワード候補要求受信時処理を終了させる。
【０２０２】
ユーザ端末２は、電子商店街サーバ１からキーワード情報のリストを受信すると、検索結果ページに検索キーワード候補表示領域２１４を表示する。そして、ユーザ端末２のＣＰＵは、受信したリストに登録されているキーワード情報を、登録順に検索キーワード候補表示領域２１４に表示するとともに、１つ以上の検索キーワードとして指定可能に表示する。
【０２０３】
以上説明したように、本実施形態によれば、システム制御部１４が、商品の複数のジャンルの中から、抽出順が１番目のキーワードとともに検索条件として指定された回数が閾値以上であるジャンルを抽出する。次いで、システム制御部１４は、抽出されたジャンルの中から、抽出順が２番目のキーワードとともに検索条件として指定された回数が閾値以上であるジャンルを、１番目のキーワードと２番目のキーワードとの組み合わせに関連するジャンルとして抽出する。従って、キーワードの組み合わせとの関連性が高いジャンルを抽出することができる。また、キーワードの組み合わせとの関連性が高いジャンルが抽出される蓋然性を高めることができる。
【０２０４】
なお、システム制御部１４は、１番目のキーワードに対応する閾値（第１の閾値の一例）と、２番目のキーワードに対応する閾値（第２の閾値の一例）とを、別々に決定する。そのため、これらの閾値が互いに同一となることもあれば、これらの閾値が互いに異なることもある。
【０２０５】
また、システム制御部１４が、キーワードの組み合わせとの関連性が高いジャンルを抽出するとき、検索キーワードの指定順と同じ抽出順で、各キーワードとの関連性が高いジャンルを抽出する。従って、最初の抽出で、キーワードの組み合わせに関連性が高いジャンルが抽出される蓋然性を高めることができる。
【０２０６】
また、システム制御部１４が、抽出順が１番目のキーワードとの関連性が高いジャンル及び抽出順が２番目のキーワードとの関連性が高いジャンルの少なくとも何れか一方を抽出することができなかったことにより、検索キーワードの指定順と同じ抽出順ではキーワードの組み合わせとの関連性が高いジャンルを抽出できなかった場合、抽出順を変更して抽出を行う。従って、キーワードの組み合わせに関連性が高いジャンルが抽出される蓋然性を高めることができる。
【０２０７】
また、システム制御部１４が、第３項で説明された方法により、抽出順が１番目のキーワードと及び２番目のキーワードとともに検索条件として指定された回数が閾値以上であるジャンルを抽出する。次いで、システム制御部１４が、予め定められた判断基準に基づいて、第３項で説明された方法で抽出されたジャンルと、第４項で説明された方法で抽出されたジャンルと、の何れか一方を、キーワードの組み合わせに関連するジャンルとして決定する。従って、基準の設定により、キーワードの組み合わせに関連性が高いジャンルとしての信頼性が高いジャンルを抽出することができる。
【０２０８】
なお、システム制御部１４は、第３項で説明された方法で抽出を行う場合の閾値（第３の閾値の一例）を、第４項で説明された方法で抽出を行う場合の閾値（第１の閾値及び第２の閾値の一例）とは別に決定する。そのため、これらの閾値が互いに同一となることもあれば、これらの閾値が互いに異なることもある。
【０２０９】
また、システム制御部１４が、レベルが大きい方のジャンルを、キーワードの組み合わせに関連するジャンルとして決定する。従って、キーワードの組み合わせに関連性が高いジャンルとしての信頼性が高いジャンルを抽出することができる。
【０２１０】
また、システム制御部１４が、兄弟関係にある複数のジャンル間での指定回数のばらつきの少なさを示すエントロピーが閾値以下である場合に、兄弟関係にある複数のジャンルの中から指定回数が閾値以上であるジャンルを抽出する。従って、兄弟関係にある複数のジャンルのうち指定回数が他のジャンルと比較して多いジャンルをキーワードとの関連性が高いジャンルとして抽出することができる。
【０２１１】
また、システム制御部１４が、１つ以上の検索キーワードとの関連性が高いジャンルに対して、そのジャンルに属する複数の子ジャンルが設定されている場合、その複数の子ジャンルのそれぞれについてその１つ以上の検索キーワードとともに検索条件として指定された回数を取得し、取得された回数が閾値以上である子ジャンルを抽出する。従って、キーワードに関連性が高いジャンルを階層的に抽出することができる。
【０２１２】
また、システム制御部１４が、兄弟関係にある複数のジャンルのうち、指定回数が兄弟関係にあるジャンルの数に応じて決定された閾値以上であるジャンルを、検索キーワードとの関連性が高いジャンルとして抽出する。従って、キーワードに関連性が高いジャンルを、兄弟関係にあるジャンルの数に応じて適切に抽出することができる。
【０２１３】
また、システム制御部１４が、検索クエリをユーザ端末２から受信し、複数のジャンルのうち、検索クエリに含まれる１つ以上の検索キーワードとの関連性が高いジャンルのジャンルリンク２２１をジャンル指定領域２２０に表示するユーザ端末２によるジャンルの表示順位を、取得された回数に応じた関連性スコアに基づいて決定する。従って、検索条件として指定するジャンルをジャンル指定領域２２０からユーザが容易に探し出すことができる。
【０２１４】
また、システム制御部１４が、キーワード入力欄２１１に入力されている文字列を、検索条件として指定されたジャンルのジャンルＩＤとともにユーザ端末２から受信し、受信された文字列を含む１つ以上のキーワードを検索キーワード候補表示領域２１４に表示するユーザ端末２により表示されるキーワードを決定するとき、受信されたジャンルＩＤが示すジャンルとの関連性が高い１つ以上のキーワードが優先的に表示されるように決定する。従って、検索キーワード候補表示領域２１４からユーザが検索キーワードを容易に指定することができる。
【０２１５】
また、システム制御部１４が、検索クエリをユーザ端末２から受信し、検索クエリに含まれる１つ以上の検索キーワードに基づいて検索された商品のリスティングスコアを取得し、検索された商品のうち、検索クエリに含まれる１つ以上の検索キーワードとの関連性が高いジャンルに属する商品のリスティングスコアを、他の商品のリスティングスコアに対して相対的に上げる。従って、検索結果表示領域２４０から１つ以上のキーワードと関連性が高い商品の情報をユーザが容易に探し出すことができる。
【０２１６】
なお、電子商店街サーバ１は、関連性が高い１つ以上の検索キーワードとジャンルとの組を、検索条件を指定したユーザの属性ごとに抽出してもよい。これは、ユーザの属性によって、検索条件としての１つ以上の検索キーワードとジャンルとの組の指定の傾向が異なる場合があるからである。クエリログＤＢ１２ｆにユーザの属性が登録されるため、１つ以上の検索キーワードとジャンルの組の指定回数を、検索条件を指定したユーザの属性ごとに計算することが可能である。属性ごとに抽出する理由は、検索結果ページの表示内容をパーソナライズするためである。
【０２１７】
具体的に、システム制御部１４は、例えば、図１５に示す指定回数集計処理のステップＳ３において、クエリログから、検索キーワード情報、ジャンルＩＤ、性別、年齢及び都道府県の組を抽出する。このとき、システム制御部１４は、性別、年齢及び都道府県が登録されていないクエリログからは、検索キーワード情報とジャンルＩＤのみを抽出する。そして、システム制御部１４は、ステップＳ４〜Ｓ１７の処理を、上述した通りに実行する。つまり、システム制御部１４は、先ず、ユーザの属性を考慮しないで、指定回数を集計する。
【０２１８】
次いで、システム制御部１４は、ユーザの属性ごとに、ステップＳ４〜Ｓ１７と基本的には同様の処理を実行する。一例として、男女別に実行する場合について説明する。ステップＳ４において、システム制御部１４は、クエリログＤＢ１２ｆから取得した組のうち、性別として男性が設定された組を抽出する。そして、システム制御部１４は、クエリログＤＢ１２ｆから取得した組のうち抽出した組に基づいて、各ジャンルについて、検索キーワードとともに検索条件として指定された回数を計算する（ステップＳ４）。そして、システム制御部１４は、キーワード・ジャンルリストへの登録を行う（ステップＳ５）。ステップＳ１５において、システム制御部１４は、指定回数情報ＤＢ１２ｇに指定回数情報を登録するとき、男性を示す属性情報を含む指定回数情報を登録する。システム制御部１４は、男性についての処理が終わると、女性についても同様に処理を行う。
【０２１９】
システム制御部１４は、ユーザ端末２から検索クエリを受信したとき、検索を要求したユーザがログインしているか否かを判定する。これは、検索クエリにユーザＩＤを含むクッキーが付加されているかを確認することで判定可能である。システム制御部１４は、ユーザがログインしていないと判定した場合には、図１７に示す関連ジャンル抽出処理のステップＳ４３において、属性情報を含まない指定回数情報に基づいて、指定確率を計算する。ユーザがログインしていない場合には、ユーザの属性を特定することができないからである。従って、システム制御部１４は、ユーザの属性を考慮しないで処理を行う。一方、システム制御部１４は、ユーザがログインしていると判定した場合には、ユーザの属性を特定する。そして、システム制御部１４は、ユーザの属性を示す属性情報を含む指定回数情報に基づいて、指定確率を計算する。これにより、検索結果ページにおける表示内容を、閲覧するユーザの属性に適した内容にすることができる。なお、検索キーワード候補要求受信時処理においても同様に処理が行われる。
【０２２０】
また、上記実施形態において、電子商店街サーバ１は、検索条件として１つ以上の検索キーワードとジャンルとが指定された回数に基づいて、関連性が高い１つ以上の検索キーワードとジャンルとの組を抽出していた。しかしながら、電子商店街サーバ１は、検索条件として１つ以上の検索キーワードとジャンルとが指定された回数のうち、その検索条件で商品が検索されたことに基づいて検索された商品の購入された回数（注文が成立した回数）に基づいて、関連性が高い１つ以上の検索キーワードとジャンルとの組を抽出してもよい。この回数を「購入条件付指定回数」という。ユーザが検索条件を指定しただけの場合よりも、その検索条件で検索が行われることによって商品が購入された場合の方が、検索条件として指定された検索キーワードとジャンルとの関連性は高いと考えられるからである。
【０２２１】
そこで、記憶部１２には、購入履歴ＤＢ１２ｈが構築される。図２５は、購入履歴ＤＢ１２ｈに登録される内容の一例を示す図である。購入履歴ＤＢ１２ｈには、ユーザによる商品の購入履歴が登録される。具体的に、購入履歴ＤＢ１２ｈには、注文コード、購入日時、ユーザＩＤ、商品ＩＤ、店舗ＩＤ、商品コード、性別、年齢、都道府県、検索キーワード情報、検索ジャンルＩＤ等が、商品の購入ごとに対応付けて登録される。注文コードは、商品の注文が行われるたびに付与される注文の識別情報である。ユーザＩＤは、購入したユーザを示す。商品ＩＤ及び商品コードは、購入された商品を示す。店舗ＩＤは、購入先の店舗を示す。性別、年齢及び都道府県は、購入したユーザの属性である。検索キーワード情報及び検索ジャンルＩＤは、検索条件として指定された１つ以上の検索キーワード及びジャンルのジャンルＩＤである。
【０２２２】
例えば、システム制御部１４は、ユーザ端末２から検索クエリを受信したことに応じて、検索結果ページのＨＴＭＬ文書をユーザ端末２へ送信するとき、検索クエリに含まれる検索キーワード情報及びジャンルＩＤを含むクッキーを、ユーザ端末２へ送信する。これにより、システム制御部１４は、検索条件として直近に指定された検索キーワード情報及びジャンルＩＤを、ユーザ端末２からクッキーとして受信することができる。ユーザが検索結果ページの検索結果表示領域２４０から何れかの該当商品情報２４１を選択することにより、ユーザ端末２の画面に商品ページが表示される。商品ページにおいてユーザが購入操作を行うことにより、ユーザ端末２は購入要求を電子商店街サーバ１へ送信する。システム制御部１４は、購入要求を受信すると、購入履歴を登録する。このとき、システム制御部１４は、購入日時として現在日時を取得する。また、システム制御部１４は、ユーザの性別、年齢、都道府県を取得する。また、システム制御部１４は、購入要求に付加されたクッキーから、検索キーワード情報及びジャンルＩＤを取得する。そして、システム制御部１４は、取得したこれらの情報を含む購入履歴を購入履歴ＤＢ１２ｈに登録する。
【０２２３】
システム制御部１４は、例えば、図１５に示す指定回数集計処理のステップＳ３においては、購入履歴ＤＢ１２ｈに登録された購入履歴から、検索キーワード情報と検索ジャンルＩＤとの組を取得する。その後、システム制御部１４は、ステップＳ４〜Ｓ１７を、上述した通りに実行する。このとき、システム制御部１４は、指定回数の代わりに、購入条件付指定回数に基づいて処理を行えば良い。
【０２２４】
また、ユーザが検索結果ページのキーワード入力欄２１１に対してユーザが入力操作を行う都度、キーワード入力欄２１１に入力されている文字列に応じて、ジャンル指定領域２２０におけるジャンルリンク２２１の表示が動的に変化してもよい。具体的には、入力されている文字列を含む検索キーワードに関連するジャンルのジャンルリンク２２１が表示されるようにしてもよい。例えば、システム制御部１４は、ユーザ端末２から検索キーワード候補要求を受信したとき、検索キーワード候補要求に設定されている文字列に前方一致する検索キーワード情報との関連性が高いジャンルを抽出する。システム制御部１４は、抽出した各ジャンルについて、ジャンルリンク２２１用のデータを追加する。
【０２２５】
また、上記実施形態において、電子商店街サーバ１は、クエリログを記録しておき、クエリログに基づいて指定回数を計算していた。しかしながら、電子商店街サーバ１は、クエリログを記録せずに、別の方法で指定回数を計算してもよい。例えば、システム制御部１４は、ユーザ端末２から検索キーワード情報及びジャンルＩＤを含む検索クエリを受信した場合、この検索キーワード情報及びジャンルＩＤが指定回数情報ＤＢ１２ｇに登録されているか否かを判定する。このとき、システム制御部１４は、登録されていないと判定した場合には、検索クエリに含まれる検索キーワード情報及びジャンルＩＤと、指定回数との組を、指定回数情報ＤＢ１２ｇに登録する。このとき、システム制御部１４は、指定回数を１とする。一方、システム制御部１４は、登録されていると判定した場合には、指定回数情報ＤＢ１２ｇにおいて、検索クエリに含まれる検索キーワード情報及びジャンルＩＤに対応する指定回数に１を加算する。
【０２２６】
また、上記実施形態においては、本発明の区分をジャンルに適用していた。しかしながら、本発明の区分を、例えば、カテゴリー、価格帯、地域等に適用してもよい。
【０２２７】
また、上記実施形態においては、検索対象として、商品を検索する場合に本発明を適用していた。しかしながら、本発明を、例えば、サービス、Ｗｅｂページ、画像、動画、音声、地図、ニュース、ブログ等の検索に適用してもよい。
【符号の説明】
【０２２８】
１  電子商店街サーバ
２  ユーザ端末
１１  通信部
１２  記憶部
１２ａ  会員情報ＤＢ
１２ｂ  商品情報ＤＢ
１２ｃ  ジャンル情報ＤＢ
１２ｄ  キーワードＤＢ
１２ｅ  関連キーワードＤＢ
１２ｆ  クエリログＤＢ
１２ｇ  指定回数情報ＤＢ
１３  入出力インターフェース
１４  システム制御部
１４ａ  ＣＰＵ
１４ｂ  ＲＯＭ
１４ｃ  ＲＡＭ
１５  システムバス
ＮＷ  ネットワーク
Ｓ  ショッピングシステム
【要約】
複数のキーワードにより構成されるキーワードの組み合わせに関連性が高い区分を抽出する。情報処理装置は、木構造で階層化された複数の区分の中から、第１のキーワードとともに検索条件として指定された回数が第１の閾値以上である区分を抽出する。次いで、情報処理装置は、抽出された区分の子孫に相当する区分の中から、第２のキーワードとともに検索条件として指定された回数が第２の閾値以上である区分を第１のキーワードと第２のキーワードとの組み合わせに関連する区分として抽出する。【図１】
0005386663.tif 000007
【図２】
0005386663.tif 000008
【図３】
0005386663.tif 000009
【図４】
0005386663.tif 000010
【図５】
0005386663.tif 000011
【図６】
0005386663.tif 000012
【図７】
0005386663.tif 000013
【図８】
0005386663.tif 000014
【図９】
0005386663.tif 000015
【図１０】
0005386663.tif 000016
【図１１】
0005386663.tif 000017
【図１２】
0005386663.tif 000018
【図１３】
0005386663.tif 000019
【図１４】
0005386663.tif 000020
【図１５】
0005386663.tif 000021
【図１６】
0005386663.tif 000022
【図１７】
0005386663.tif 000023
【図１８】
0005386663.tif 000024
【図１９】
0005386663.tif 000025
【図２０】
0005386663.tif 000026
【図２１】
0005386663.tif 000027
【図２２】
0005386663.tif 000028
【図２３】
0005386663.tif 000029
【図２４】
0005386663.tif 000030
【図２５】
0005386663.tif 000031
【図２６】
0005386663.tif 000032