以下に、本願に係る配信装置、配信方法および配信プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る配信装置、配信方法および配信プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
〔1.情報処理システム1の一例〕
まず、図1を用いて、実施形態において生成装置および配信装置として動作する情報処理装置の一例である配信サーバを含む情報処理システム1の一例について説明する。なお、以下の説明では、配信装置の一例である配信サーバ20によって、利用者が入力した検索クエリを用いたウェブ検索を補助する補助処理の一例と、当該補助処理を行うために実行するクロール処理との一例を示す。
図1は、実施形態に係る配信サーバの一例を示す図である。図1に示すように、情報処理システム1は、データベースサーバ10、配信サーバ20、端末装置100を有する。以下、データベースサーバ10および端末装置100の一例について説明し、その後、配信サーバ20の一例について説明する。
〔1−1.データベースサーバ10の一例〕
データベースサーバ10は、利用者に対して、商品やサービス等の情報を提供する情報処理装置である。例えば、データベースサーバ10は、検索対象となる商品やサービスと、かかる商品やサービスの分類を示す分類情報とが対応付けて記憶している。すなわち、データベースサーバ10は、検索対象と検索対象の分類を示す分類情報とを対応付けて記憶する。そして、データベースサーバ10は、利用者が検索対象とする商品やサービスを示す分類情報を受信すると、受信した分類情報と対応付けられた商品やサービスの情報を提供する。
なお、データベースサーバ10は、各商品やサービスに対する利用者の口コミや評価を収集して提供するサーバであってもよく、仮想的な店舗または実在する店舗が提供する各商品やサービスの価格を収集して提供するサーバであってもよい。また、データベースサーバ10は、利用者が複数商品の比較を行うための情報を配信するサーバであってもよい。すなわち、データベースサーバ10は、利用者の検索処理における検索対象を分類する任意の情報を記憶するサーバであればよい。なお、データベースサーバ10は、単一のサーバ装置により実現されてもよく、複数のサーバ装置を含むクラウドシステム等により実現されてもよい。なお、以下の説明では、検索対象とされる商品や役務、その他の任意の検索対象をまとめて商品と記載するものとするが、かかる記載は、実施形態を限定するものではない。
〔1−2.端末装置100の一例〕
端末装置100は、利用者が使用する情報処理装置であり、スマートフォンやタブレット端末等のいわゆるスマートデバイスである。なお、端末装置100は、デスクトップPC(Personal Computer)やノートパソコン等の情報処理装置であってもよい。また、端末装置100は、ネットワークNに接続し、ネットワーク上に存在する任意の情報を取得し、任意の表示装置に表示もしくは再生を行うことができる端末装置であるものとする。
〔1−3.配信サーバ20の一例〕
配信サーバ20は、利用者に対してウェブ検索のサービスを提供する情報処理装置である。なお、配信サーバ20は、例えば、単一のサーバ装置により実現されてもよく、複数のサーバ装置を含むクラウドシステム等により実現されてもよい。また、配信サーバ20は、利用者が使用する端末装置100とネットワークNを介して接続され、任意の情報を送受信することができるものとする。
〔1−4.配信サーバ20が実行する処理について〕
ここで、配信サーバ20は、端末装置100から受信した検索クエリに応じた検索結果を配信する。例えば、配信サーバ20は、ニュース、路線検索、電子商取引サービス等、各種サービスへのリンクが張られるとともに、検索クエリの入力を受付けるテキストボックスが配置されたポータルサイト等を端末装置100へ配信する。そして、配信サーバ20は、テキストボックスに入力された検索クエリを端末装置100から受信すると、図示を省略した検索サーバ等に検索クエリを転送し、検索クエリと合致又は関連するウェブページへのリンクが設定されたウェブページ、すなわち検索結果を取得する。そして、配信サーバ20は、取得した検索結果を端末装置100へ送信する。
ここで、従来技術では、利用者が入力した検索クエリに対応する検索結果や、検索クエリに対応するジャンルの検索結果が表示されるに過ぎず、利用者がどのような検索クエリを入力すれば良いか解らない場合に、検索を補助することができなかった。
例えば、従来技術では、利用者がブランドAの長財布であって、皮製の型押しがなされた素材の財布が欲しい場合に、利用者が商品の名称や「ブランドA」、「長財布」、「皮製」、「型押し」といった属性を想起できず、「ブランドA」、「長財布」といった一部の属性のみを検索クエリとして入力した際に、利用者が所望する商品が掲載されたウェブページ以外にも、検索クエリに合致する商品が掲載されたウェブページを多く表示してしまう。この結果、従来技術では、利用者が所望する商品が掲載されたウェブページまで利用者を誘導させることができない。また、従来技術では、利用者が一部の検索クエリのみを入力した際に、関連する全ての商品を表示した場合や、絞り込みを行うためのチェックボックス等を表示した場合には、検索結果の絞り込みに手間がかかるため、ユーザビリティが悪化する。
さらに、近年のウェブ検索技術においては、特定の商品が掲載されたウェブページが検索結果に含まれるようになっており、データベースサーバ10を用いた商品の検索以外にも、ウェブ検索を介した商品の検索が行われるようになっている。
そこで、配信サーバ20は、以下の生成処理および配信処理を実行する。まず、配信サーバ20は、以下の生成処理を実行する。例えば、配信サーバ20は、データベースサーバ10に登録された商品と分類情報とを参照し、商品とかかる商品と対応付けられた分類情報の組み合わせを取得する。具体的には、配信サーバ20は、「財布」や「家電」等、ある種別の商品と対応付けられた分類情報から、商品の種別と分類情報との組み合わせを取得し、取得した組み合わせを分類情報データベース24に登録する。例えば、配信サーバ20は、データベースサーバ10に対し、あるカテゴリを示す分類情報と対応付けられた商品を検索し、検索した商品と対応付けられた分類情報を特定する処理を実行させる。そして、配信サーバ20は、かかるカテゴリを示す分類情報と、特定した各分類情報とをそれぞれ対応付けた組み合わせを取得し、取得した組み合わせを分類情報データベース24に登録する。
続いて、配信サーバ20は、以下の配信処理を実行する。まず、配信サーバ20は、端末装置100から検索クエリを受信する。かかる場合、配信サーバ20は、図示を省略した検索サーバ等に検索クエリを転送し、検索クエリに応じた検索結果を取得する。ここで、検索結果とは、検索クエリと関連するウェブページのタイトルを示すテキストや画像であって、係るウェブページへのリンクが設定されたテキストや画像を含むウェブページである。また、検索結果には、検索クエリとの関連度が高いものから順に、ウェブページへのリンクが設定されたテキストや画像が配置されているものとする。
続いて、配信サーバ20は、分類情報データベース24を参照し、検索クエリに対応する商品の種別と対応付けられた分類情報を特定する。すなわち、配信サーバ20は、検索クエリに対応する種別の商品を分類する分類情報を特定する。そして、配信サーバ20は、特定した分類情報に基づく検索クエリの候補と、取得した検索結果とを端末装置100に配信する。例えば、配信サーバ20は、特定した検索クエリの候補を検索結果であるウェブページ内に配置し、検索クエリの候補を配置した検索結果を端末装置100に配信する。
このように、配信サーバ20は、商品の分類が登録されたデータベースを参照し、ある種別の商品を分類する分類情報を取得する。そして、配信サーバ20は、検索クエリと対応する商品の種別に対応付けられた分類情報、すなわち、検索クエリと対応する種別の商品を分類するための分類情報を検索クエリの候補として端末装置100に配信する。この結果、配信サーバ20は、利用者が入力した検索クエリの結果に含まれる商品の分類を検索クエリの候補として表示する。
上述した処理を実行した場合、配信サーバ20は、利用者が検索結果を絞り込みたいが、適切な絞り込みを行う検索クエリを想起することができない際に、検索結果の絞り込みを行う検索クエリの候補を提供することができる。この結果、配信サーバ20は、利用者の検索を適切に支援することができる。
なお、配信サーバ20は、あらかじめ生成処理を実行することで分類情報データベース24を作成する必要はない。また、配信サーバ20は、装置内部に分類情報データベース24を保持する必要はない。例えば、配信サーバ20とは異なる任意の生成サーバが、上述した生成処理を実行することで分類情報データベース24を作成し所定の記憶装置に格納する。そして、配信サーバ20は、所定の記憶装置に格納された分類情報データベース24を参照し、上述した配信処理を実行することで、検索クエリの候補を端末装置100へ送信することとしてもよい。
〔2.配信サーバが実行する処理について〕
次に、図1を用いて、配信サーバ20が実行する処理の具体例を説明する。なお、以下の説明では、配信サーバ20が実行する生成処理の一例と、配信処理の一例とを説明する。
〔2−1.配信サーバが実行する生成処理の一例〕
まず、配信サーバ20は、検索対象と検索対象を分類する分類情報との組み合わせを取得するクロール処理を実行する(ステップS1)。具体的には、配信サーバ20は、ある商品の種別を示す情報である商品種別をクエリとしてデータベースサーバ10に送信する。
一方、データベースサーバ10は、配信サーバ20からクエリを受信すると、受信したクエリに含まれる商品種別と、かかる商品種別に対応付けられた分類情報との組み合わせをクロール結果として配信サーバ20に送信する(ステップS2)。例えば、図1に示す例では、データベースサーバ10は、検索対象となる商品等の商品名と、かかる商品等の分類を示す分類情報とを対応付けた商品情報データベース14を有する。
かかる商品情報データベース14には、商品名と、商品の種別を示す商品種別、商品の属性を示すカテゴリ、ブランド、素材等を示す分類情報とが対応付けて登録されている。なお、商品情報データベース14は、商品種別が分類情報の一つとして登録されていてもよい。
詳細に説明すると、図1に示す商品情報データベース14には、商品名「商品A」と商品種別「財布」と、カテゴリ「長財布」、ブランド「ブランドA」、素材「皮」等の分類情報が対応付けて登録されている。すなわち、商品情報データベース14には、「商品A」が、商品種別「財布」に属する「皮」製の「長財布」であり、「ブランドA」の商品である旨が登録されている。同様に、図1に示す商品情報データベース14には、商品名「商品B」と、商品種別「財布」と、カテゴリ「コインケース」、ブランド「ブランドA」、素材「キャンバス」等の分類情報が対応付けて登録されており、商品名「商品E」と商品種別「財布」、カテゴリ「二つ折り」、ブランド「ブランドB」、素材「キャンバス」等の情報が登録されているものとする。
ここで、データベースサーバ10は、配信サーバ20から受信した商品種別と対応付けて登録された商品名を特定し、特定した商品名と対応付けられた分類情報を抽出する。そして、データベースサーバ10は、抽出した分類情報と、配信サーバ20から受信した商品種別との組み合わせを生成する。例えば、データベースサーバ10は、配信サーバ20から商品種別「財布」を受信すると、商品種別「財布」と対応付けて登録された分類情報として、「長財布」、「コインケース」、「二つ折り」、「ブランドA」、「ブランドB」、「皮」、「キャンパス」等を抽出する。
続いて、データベースサーバ10は、受信した商品種別「財布」と、抽出した分類情報との組み合わせを生成する。例えば、データベースサーバ10は、「財布」と「長財布」、「財布」と「二つ折り」、「財布」と「コインケース」、「財布」と「ブランドA」、「財布」と「ブランドB」、「財布」と「皮」、「財布」と「キャンバス」といった組み合わせを生成する。そして、データベースサーバ10は、生成した組み合わせをクロール結果として配信サーバ20に送信する。
かかる場合、配信サーバ20は、受信した組み合わせに対応する画像を取得し、取得した画像と、対応する組み合わせとを対応付けて分類情報データベース24に格納する(ステップS3)。例えば、配信サーバ20は、分類情報に「財布」と「長財布」とを含む商品の画像をデータベースサーバ10から取得し、取得した画像から代表的な画像を抽出する。ここで、代表的な画像とは、背景に余分なものが写りこんでいない写真や、商品の全体が写る写真、商品の全体が認識できるような写真である。なお、かかるような写真を取得する手法としては、画像認識技術や画像検索技術等に用いられる任意の従来技術を適用するものとする。
また、配信サーバ20は、取得した各組み合わせについて、他の分類情報をさらに含む組み合わせを取得する。例えば、配信サーバ20は、取得した組み合わせに含まれる商品種別やカテゴリ等の分類情報全てをクエリとしてデータベースサーバ10に送信する。かかる場合、データベースサーバ10は、受信したクエリに含まれる全ての分類情報が対応付けられた商品を特定し、特定した商品と対応付けられた分類情報のうち、受信したクエリに含まれていない分類情報を新たに抽出する。そして、データベースサーバ10は、受信したクエリに含まれる分類情報と、新たに抽出した分類情報との組み合わせを生成し、生成した組み合わせを配信サーバ20に送信する。そして、配信サーバ20は、新たに受信した組み合わせと、かかる組み合わせに対応する画像とを対応付けて分類情報データベース24に登録する。
例えば、配信サーバ20は、「財布」と「長財布」の組み合わせをデータベースサーバ10に送信する。かかる場合、データベースサーバ10は、「財布」と「長財布」とに対応付けられた商品と対応付けられた分類情報「ブランドA」、「皮」を特定する。そして、データベースサーバ10は、「財布」と「長財布」と「ブランドA」とを対応付けた組み合わせ、および、「財布」と「長財布」と「皮」とを対応付けた組み合わせとを配信サーバ20へ送信する。
係る場合、配信サーバ20は、「財布」と「長財布」と「ブランドA」との組み合わせに対応する画像を取得し、「財布」と「長財布」と「ブランドA」との組み合わせと、取得した画像とを対応付けて分類情報データベース24に登録する。また、配信サーバ20は、「財布」と「長財布」と「皮」とを対応付けた組み合わせに対応する画像を取得し、「財布」と「長財布」と「皮」とを対応付けた組み合わせと、取得した画像とを対応付けて分類情報データベース24に登録する。
また、配信サーバ20は、上述した処理を繰り返すことで、1つ又は複数の分類情報が組み合わされた分類情報の組み合わせを取得する。そして、配信サーバ20は、取得した分類情報の組み合わせを分類情報データベース24に格納する。なお、配信サーバ20は、後述する処理を実行することで、取得する分類情報の組み合わせを限定してもよい。
また、配信サーバ20は、「財布」以外にも、任意の種別の商品について分類情報の組み合わせを取得するものとする。例えば、配信サーバ20は、生成処理の実行に先立ち、商品情報データベース14に登録された商品種別を特定し、特定した各商品種別について、上述した処理を実行してもよい。
〔2−2.配信サーバが実行する配信処理の一例〕
次に、配信サーバ20が実行する配信処理の一例について説明する。まず、配信サーバ20は、端末装置100から検索クエリを受信する(ステップS4)。かかる場合、配信サーバ20は、図示を省略した検索サーバ等に検索クエリを転送し、検索クエリに応じた検索結果を受信する。また、配信サーバ20は、分類情報データベースを参照し、検索クエリと対応する組み合わせを特定する。
そして、配信サーバ20は、抽出した組み合わせに含まれる分類情報を検索クエリの候補として特定し、特定した検索クエリの候補を検索クエリに応じた検索結果に挿入する(ステップS5)。また、配信サーバ20は、検索クエリの候補として配置した分類情報とともに、かかる分類情報を含む組み合わせと対応付けて登録された画像を検索結果に配置する。そして、配信サーバ20は、検索結果を端末装置100へ送信する(ステップS6)。
例えば、配信サーバ20は、検索クエリが「財布」である場合は、分類情報データベース24から「財布」を含む組み合わせを抽出する。また、配信サーバ20は、抽出した組み合わせに含まれる検索クエリ以外の分類情報を、分類情報の種別ごとに特定する。例えば、配信サーバ20は、抽出した組み合わせの中からカテゴリの分類情報「長財布」、「二つ折り」、「コインケース」を特定し、ブランドの分類情報「ブランドA」、「ブランドB」を特定し、素材の分類情報「皮」、「キャンバス」を特定する。
また、配信サーバ20は、特定した分類情報と対応する画像A〜Gを分類情報データベース24から取得する。そして、配信サーバ20は、検索サーバ等から受信した検索結果に対し、抽出した画像と分類情報とを分類情報の種別ごとに挿入する。例えば、配信サーバ20は、分類情報の種別「カテゴリ」、「ブランド」、「素材」ごとのタブを検索結果に挿入する。
そして、配信サーバ20は、分類情報「長財布」および対応する画像A、分類情報「二つ折り」および対応する画像B、分類情報「コインケース」および対応する画像Cを「カテゴリ」のタブ内に配置する。また、配信サーバ20は、分類情報「ブランドA」および対応する画像D、分類情報「ブランドB」および対応する画像Eを「ブランド」のタブ内に配置する。また、配信サーバ20は、分類情報「皮」および対応する画像F、分類情報「キャンバス」および対応する画像Gを「素材」のタブ内に配置する。
また、配信サーバ20は、検索結果に含まれる分類情報および対応する画像に対し、端末装置100から受信した検索クエリと、かかる分類情報とを新たな検索クエリとして配信サーバ20へと送信させるリンクを設定する。例えば、配信サーバ20は、画像Aおよび分類情報「長財布」に対し、検索クエリ「財布 長財布」を配信サーバ20へと送信させるリンクを設定する。すなわち、配信サーバ20は、各分類情報および対応する画像を、分類情報に基づく検索クエリの候補として配置する。そして、配信サーバ20は、検索結果を端末装置100へと送信する。
かかる場合、端末装置100は、検索クエリの候補が配置された検索結果を表示する(ステップS7)。例えば、端末装置100は、図1に示す検索結果C10を表示する。かかる検索結果C10には、例えば、従来の検索結果と同様に、検索クエリが入力されたテキストボックスC11、検索クエリに対応する広告C14、検索結果である各ウェブページへのリンクが配置されたコンテンツC15等が含まれる。さらに、検索結果C10には、配信サーバ20が配置された各タブC12が挿入されており、各タブには、検索クエリの候補として配置された分類情報C13が配置されている。なお、図1に示す例では、検索クエリの候補として、分類情報「長財布」、「二つ折り」、「コインケース」および各分類情報の写真を記載したが、他にも検索クエリの候補が存在する場合は、各検索クエリの候補を横方向に配置し、タブ内でスクロール表示させてもよく、カルーセル表示させてもよい。
このように、端末装置100は、テキストボックスC11に入力された検索クエリが示す商品を分類するための分類情報C13を検索クエリの候補として表示する。すなわち、利用者は、所望の商品を検索する際に、適切な検索クエリを知らない場合であっても、単純な検索クエリを入力すれば、かかる検索クエリと対応する商品を分類する分類情報を検索クエリの候補として表示されるので、かかる検索クエリの候補を選択することにより検索結果の絞り込みを行うことができる。
特に、端末装置100がスマートフォン等のスマートデバイスである場合は、表示領域が限定されるため、検索結果の閲覧が困難である。しかしながら、配信サーバ20は、検索クエリの候補を表示することにより、検索結果の絞り込みを容易に行わせることができるので、利用者の検索を快適にすることができる。
また、端末装置100は、利用者が画像A又は分類情報「長財布」を選択した場合は、検索クエリ「財布 長財布」を配信サーバ20に送信する。かかる場合、配信サーバ20は、検索クエリ「財布 長財布」に応じた検索結果を取得するとともに、検索クエリである「財布」および「長財布」を含む組み合わせを分類情報データベース24から抽出する。そして、配信サーバ20は、抽出した組み合わせから検索クエリである「財布」および「長財布」以外の分類情報を分類情報の種別ごとに特定する。
そして、配信サーバ20は、分類情報の種別ごとに特定した分類情報に基づく検索クエリの候補を検索結果に配置し、検索結果を端末装置100へ送信する。この結果、端末装置100は、利用者が選択した検索クエリの候補に応じた検索結果とともに、かかる検索クエリの候補を検索クエリとした際の検索結果に含まれる商品の分類を示す分類情報を表示する。
〔2−3.配信サーバが実行する処理の効果〕
このように、配信サーバ20は、検索対象と検索対象の分類を示す分類情報とを対応付けて記憶する商品情報データベース14を参照し、検索対象と検索対象を分類するための分類情報との組み合わせを取得する。そして、配信サーバ20は、取得した組み合わせに含まれる分類情報を、端末装置100から受信した検索クエリに応じた検索結果とともに表示される検索クエリの候補として、分類情報データベース24に登録する。この結果、配信サーバ20は、利用者が入力した検索クエリに応じた検索結果とともに、かかる検索クエリに応じた検索対象の分類情報を検索クエリの候補として表示させることができる。このため、配信サーバ20は、利用者が所望する商品等に利用者を導くことができるので、利用者の検索を適切に補助することができる。
また、配信サーバ20は、端末装置100から受付けた検索クエリと対応する商品種別の検索対象と対応付けられた分類情報を特定し、特定した分類情報に基づく検索クエリを検索結果とともに端末装置100へ送信する。このため、配信サーバ20は、利用者の検索を補助することができる。
また、配信サーバ20は、利用者が検索クエリの候補を選択した場合は、選択された検索クエリの候補に対応する商品種別の商品を分類するための分類情報を新たな検索クエリの候補として配信する。このような処理を繰り返し実行することで、利用者は、検索クエリの候補を順次選択するだけで、検索結果を徐々に絞り込むことができる。この結果、配信サーバ20は、利用者の検索をより適切に補助することができる。
〔2−4.配信サーバが実行する生成処理について〕
上述した例では、配信サーバ20は、順次分類情報を追加した組み合わせを取得した。しかしながら、実施形態は、これに限定されるものではない。例えば、配信サーバ20は、商品情報データベース14から取得される組み合わせのうち、所定のルールに合致する組み合わせのみを取得してもよい。
例えば、配信サーバ20は、所定の種別の商品と対応付けられた分類情報のうち、対応付けられた商品の数が多い分類情報を選択する。そして、配信サーバ20は、選択した分類情報と、所定の種別の商品と対応付けられた分類情報とを対応付けた組み合わせを取得してもよい。詳細な例を説明すると、配信サーバ20は、商品種別が「財布」である商品と対応付けられた分類情報のうち、対応付けられた商品の数が所定の数よりも多い分類情報や、対応付けられた商品の数が多い順に所定の数の分類情報と、商品種別「財布」とを対応付けた組み合わせを送信するようデータベースサーバ10に指示するクエリを生成する。そして、配信サーバ20は、生成したクエリをデータベースサーバ10に送信してもよい。
また、配信サーバ20は、商品情報データベース14に、各商品の在庫の数が登録されている場合は、所定の商品種別の商品と対応付けられた分類情報のうち、対応付けられた商品の在庫の数が多い分類情報と、所定の商品種別とを対応付けた組み合わせを取得してもよい。例えば、配信サーバ20は、商品種別が「財布」である商品のうち、在庫の数が「0」ではない商品と対応付けられた分類情報を特定し、特定した分類情報と商品種別「財布」とを対応付けた組み合わせを送信させるクエリをデータベースサーバ10に送信してもよい。
また、配信サーバ20は、所定の種別の商品と対応付けられた分類情報のうち、かかる分類情報とともに所定の種別の商品と対応付けられた他の分類情報の種類の数が多い分類情報と、所定の種別の商品との組み合わせを取得してもよい。例えば、配信サーバ20は、以下の処理を実行させるクエリをデータベースサーバ10に送信する。例えば、データベースサーバ10は、商品情報「財布」が対応付けられた商品と対応付けられた分類情報を特定し、特定した分類情報と商品情報「財布」との組み合わせを生成する。次に、データベースサーバ10は、生成した組み合わせに含まれる分類情報と商品情報とに対応付けられた商品の数をそれぞれ計数する。そして、データベースサーバ10は、計数した商品の数が所定の閾値よりも多い組み合わせのみを配信サーバ20に送信する。すなわち、配信サーバ20は、検索結果に含まれる商品をより細かく分類する分類情報が所定の数以上存在する場合に、かかる分類情報の組み合わせについてのみを取得して、分類情報データベース24に登録することとしてもよい。
また、配信サーバ20は、以下の処理を実行させるクエリをデータベースサーバ10に送信してもよい。例えば、データベースサーバ10は、所定の商品種別と、かかる商品種別の商品に対応付けられた分類情報との組み合わせを生成し、生成した組み合わせと対応付けられた商品の数、各商品の在庫の数、商品に対してともに対応付けられた他の分類情報の種類の数等に応じた所定のスコアを算出する。そして、データベースサーバ10は、算出したスコアの値が所定の閾値以上である組み合わせや、スコアの値が大きい順に所定の数の組み合わせ等、所定のルールを満たす組み合わせを配信サーバ20に送信してもよい。
このように、本発明のクロール処理は、配信サーバ20が検索クエリをデータベースサーバ10に渡し、データベースサーバ10から返ってきた分類情報を取得する処理である。また、配信サーバ20は、本発明のクロール処理の結果取得した分類情報を、対応する検索クエリが入力された際に表示される検索クエリの候補として分類情報データベース24に登録する。このため、配信サーバ20は、利用者が入力した検索クエリに対応する商品を分類するための検索クエリの候補を表示することができるので、利用者の検索を補助することができる。
〔2−5.配信サーバが実行する配信処理について〕
上述した例では、配信サーバ20は、端末装置100から受付けた検索クエリと対応する種別の商品を分類するための分類情報を特定し、特定した分類情報に基づく検索クエリの候補を検索結果に配置した。ここで、配信サーバ20は、所定のルールに従って、検索クエリの候補を表示する順序を特定し、特定した順序で検索クエリの候補を配置した検索結果を配信してもよい。
例えば、配信サーバ20は、特定した分類情報が示す分類に属する商品の数に応じて、検索クエリの候補を表示する順序を特定してもよい。例えば、配信サーバ20は、検索クエリ「財布」について、分類情報「長財布」、「二つ折り」、「コインケース」を特定した場合は、データベースサーバ10の商品情報データベース14を参照する。また、配信サーバ20は、「財布」と対応付けられた商品のうち、「長財布」が対応付けられた商品の数、「二つ折り」が対応付けられた商品の数、「コインケース」が対応付けられた商品の数をそれぞれ取得する。そして、例えば、配信サーバ20は、対応付けられた商品の数が「長財布」、「コインケース」、「二つ折り」の順に多い場合は、「長財布」、「コインケース」、「二つ折り」の順に検索クエリの候補を配置した検索結果を配信してもよい。
また、配信サーバ20は、検索クエリに対応する種別の商品に対し、特定した分類情報とともに対応付けられた他の分類情報の種別の数に応じて、検索クエリの候補を表示する順序を特定してもよい。すなわち、配信サーバ20は、検索結果に含まれる商品をより細かく分類する必要がある分類情報に基づく検索クエリの候補を優先して配置してもよい。
例えば、配信サーバ20は、検索クエリ「財布」について、分類情報「長財布」、「二つ折り」、「コインケース」を特定する。また、配信サーバ20は、商品情報データベース14を参照し、「財布」と対応付けられた商品に対して、「長財布」とともに対応付けられた分類情報の種別の数、「二つ折り」とともに対応付けられた分類情報の種別の数、「コインケース」とともに対応付けられた分類情報の種別の数をそれぞれ計数する。そして、例えば、配信サーバ20は、計数した数が「二つ折り」、「コインケース」、「長財布」の順に多い場合は、「二つ折り」、「コインケース」、「長財布」の順に検索クエリの候補を配置した検索結果を配信してもよい。
また、配信サーバ20は、検索クエリの候補が選択された回数に応じて、検索クエリの候補を表示する順序を特定してもよい。例えば、配信サーバ20は、検索クエリの候補が選択された回数が、「長財布」、「二つ折り」、「コインケース」の順に多い場合は、「長財布」、「二つ折り」、「コインケース」の順に検索クエリの候補を配置した検索結果を配信してもよい。
また、配信サーバ20は、特定した分類情報が示す分類に属する商品の在庫の数に応じて、検索クエリの候補を表示する順序を特定してもよい。例えば、配信サーバ20は、検索クエリ「財布」について、分類情報「長財布」、「二つ折り」、「コインケース」を特定した場合は、「財布」と対応付けられた商品のうち、「長財布」が対応付けられた商品の在庫の数、「二つ折り」が対応付けられた商品の在庫の数、「コインケース」が対応付けられた商品の在庫の数をそれぞれ取得する。そして、例えば、配信サーバ20は、「コインケース」と対応付けられた商品の在庫の数が「0」である場合は、「コインケース」に基づく検索クエリの候補を最後尾に配置してもよく、「コインケース」に基づく検索クエリの候補を配置しなくともよい。
また、配信サーバ20は、上述した処理を組み合わせてもよい。また、例えば、配信サーバ20は、特定した分類情報が示す分類に属する商品の数、特定した分類情報とともに対応付けられた他の分類情報の種別の数、検索クエリの候補が利用者により選択された回数、商品の在庫の数等、任意の情報に基づくスコアを特定した分類情報ごとに算出し、算出したスコアの値が大きい分類情報から順に、検索クエリの候補として配置してもよい。また、配信サーバ20は、上述した情報以外にも、任意の情報に応じた重みづけを考慮して、スコアを算出してもよい。
以下、上記した配信処理を実現するデータベースサーバ10および配信サーバ20の機能構成の一例について説明する。
〔3.データベースサーバ10の構成〕
次に、図2を用いて、実施形態に係るデータベースサーバ10の構成について説明する。図2は、実施形態に係るデータベースサーバの構成例を示す図である。図2に示すように、データベースサーバ10は、ネットワークNを介して、配信サーバ20とデータの送受信を行う。なお、データベースサーバ10は、他にも任意の情報処理装置や端末装置と通信することができるものとする。
ここで、データベースサーバ10は、図2に示すように、通信部11、記憶部12、制御部13を有する。なお、データベースサーバ10の内部構成は、図2に示した構成に限られず、上述した選定処理を行う構成であれば他の構成であってもよい。
通信部11は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部11は、ネットワークNと有線または無線で接続され、各端末装置100、101との間で情報の送受信を行う。
記憶部12は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部12は、商品情報データベース14を記憶する。
制御部13は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、データベースサーバ10内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部13は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
また、制御部13は、データベースサーバ10内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより、検索部15および配信部16として動作する。
〔3−1.商品情報データベース14の一例〕
続いて、記憶部12が記憶する商品情報データベース14の一例について説明する。商品情報データベース14は、検索対象である商品と、商品の分類を示す複数の分類情報とを対応付けて記憶するデータベースである。
例えば、図3は、実施形態に係る商品情報データベースの一例を示す図である。図3に示す例では、商品情報データベース14には、商品名と複数種別の分類情報とが対応付けて登録されている。また、商品情報データベース14には、分類情報として、商品種別、カテゴリ、メーカー、ブランド、素材、色、価格等が対応付けて登録されている。
例えば、図3に示す例では、商品情報データベース14には、商品名「商品A」、商品種別「財布」、カテゴリ「長財布」、ブランド「ブランドA」、素材「皮」、色「黒」、価格「価格A」等が対応付けて登録されている。また、商品情報データベース14には、商品名「商品B」、商品種別「財布」、カテゴリ「コインケース」、ブランド「ブランドA」、素材「キャンバス」、色「白」、価格「価格B」等が対応付けて登録されている。また、商品情報データベース14には、商品名「商品C」、商品種別「家電」、カテゴリ「マッサージ機」、メーカー「メーカーA」、色「クリーム」、価格「価格C」等が対応付けて登録されている。また、商品情報データベース14には、商品名「商品D」、商品種別「家電」、カテゴリ「マッサージ機」、メーカー「メーカーA」、色「グレー」、価格「価格D」等が対応付けて登録されている。また、商品情報データベース14には、商品名「商品E」、商品種別「財布」、カテゴリ「二つ折り」、ブランド「ブランドB」、素材「キャンバス」、色「ピンク」、価格「価格E」等が対応付けて登録されている。
なお、図3に示す分類情報の種別は、あくまで一例であり、商品情報データベース14は、他にも任意の商品について、分類情報が登録されているものとする。例えば、商品情報データベース14には、例えば、メーカー、色、価格等の分類情報や、商品の画像が登録されているものとする。
また、商品情報データベース14には、商品に応じた分類情報が登録されていてもよい。例えば、商品情報データベース14には、商品が「液晶テレビ」である場合には、液晶パネルのサイズ、重さ、バックライトの方式、筐体の色、録画機能の有無等が登録され、商品が「財布」である場合には、女性物であるか男性物であるか、小銭入れがついているか、カード入れがついているか等の情報が登録されていてもよい。すなわち、商品情報データベース14には、仮想的な店舗や実店舗等で販売されている商品ごとに、かかる商品の属性を示す任意の情報が分類情報として登録されているものとする。
〔3−2.制御部13が実行する処理の一例〕
図2に戻り、検索部15は、配信サーバ20から受信したクエリに対応する分類情報と対応付けられた商品を特定する。例えば、検索部15は、クエリ「財布」を受信した場合は、分類情報「財布」と対応付けられた商品を商品情報データベース14から特定する。また、検索部15は、クエリ「財布」、「二つ折り」を受信した場合は、分類情報「財布」と分類情報「二つ折り」とに対応付けられた商品を商品情報データベース14から特定する。
配信部16は、特定部15が特定した商品に基づいて、分類情報の組み合わせを生成し、生成した分類情報の組み合わせを配信サーバ20に送信する。例えば、配信部16は、特定部15が特定した商品と対応付けられた分類情報を抽出し、抽出した分類情報と、クエリに含まれる商品種別や分類情報を対応付けた組み合わせを生成する。
また、配信部16は、配信サーバ20から受信したクエリに、所定のルールが設定されている場合は、かかるルールに合致する組み合わせを特定する。例えば、配信部16は、生成した組み合わせのうち、対応付けられた商品の数が所定の数よりも多い組み合わせや、対応付けられた商品の在庫の数が多い組み合わせ、ともに対応付けられた分類情報の種別の数が多い組み合わせ、対応する検索クエリの候補が選択された数が多い組み合わせ等を特定する。そして、配信部16は、特定した組み合わせを配信サーバ20に配信する。
例えば、特定部15は、図3に示す情報が商品情報データベース14に登録されている際に、クエリ「財布」を受信した場合は、商品Aおよび商品Eを特定する。かかる場合、配信部16は、特定した商品Aおよび商品Eと対応付けられた分類情報「長財布」、「二つ折り」、「ブランドA」、「ブランドB」、「皮」、「キャンバス」、「黒」、「ピンク」、「価格A」、「価格E」等を特定し、クエリ「財布」と特定した分類情報とをそれぞれ対応付けた組み合わせを生成する。
また、例えば、配信部16は、各組み合わせに含まれる分類情報と対応付けられた商品の数を計数し、計数した数が所定の数よりも多い組み合わせを特定する。例えば、配信部16は、「財布」と「長財布」、「財布」と「二つ折り」、「財布」と「ブランドA」、「財布」と「ブランドB」を対応付けた組み合わせを特定する。そして、配信部16は、特定した組み合わせを配信サーバ20へ送信する。
また例えば、特定部15は、クエリ「財布」、「長財布」を受信した場合は、商品Aを特定する。かかる場合、配信部16は、特定した商品Aと対応付けられた分類情報のうち、「財布」と「長財布」以外の分類情報である「ブランドA」、「皮」、「黒」、「価格A」等を特定する。そして、特定部15は、クエリ「財布」、「長財布」と特定した分類情報とをそれぞれ対応付けた組み合わせを配信サーバ20へ送信する。例えば、配信部16は、「財布」と「長財布」と「ブランドA」とを対応付けた組み合わせを生成し、配信サーバ20へ送信する。
〔4.配信サーバ20の構成〕
次に、図4を用いて、実施形態に係る配信サーバ20の構成について説明する。図4は、実施形態に係る配信サーバの構成例を示す図である。図4に示すように、配信サーバ20は、ネットワークNを介して、データベースサーバ10、端末装置100、検索サーバ200とデータの送受信を行う。なお、配信サーバ20は、他にも任意の端末装置やサーバ等と通信することができるものとする。
また、配信サーバ20は、図4に示すように、通信部21、記憶部22、制御部23を有する。なお、配信サーバ20の内部構成は、図4に示した構成に限られず、上述した選定処理を行う構成であれば他の構成であってもよい。
通信部21は、例えば、NIC等によって実現される。そして、通信部21は、ネットワークNと有線または無線で接続され、データベースサーバ10、端末装置100、検索サーバ200との間で情報の送受信を行う。
記憶部22は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部22は、分類情報データベース24と配信情報データベース25とを記憶する。
制御部23は、例えば、CPUやMPU等によって、配信サーバ20内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部23は、例えば、ASICやFPGA等の集積回路により実現される。
また、制御部23は、配信サーバ110内部の記憶装置に記憶されている生成プログラムがRAMを作業領域として実行されることにより、取得部26、登録部27として動作し、配信プログラムがRAMを作業領域として実行させることにより、検索部28、特定部29、配信部30として動作する。
〔4−1.各データベースの一例〕
続いて、記憶部22が記憶する情報の一例について説明する。分類情報データベース24は、検索対象の種別とかかる種別の検索対象を分類するための分類情報とが対応付けて登録されている。具体的には、分類情報データベース24には、検索対象となる商品の種別を示す分類情報である商品種別と、かかる商品種別が示す種別の商品を分類するための分類情報との組み合わせが格納されている。
例えば、図5は、実施形態に係る分類情報データベースの一例を示す図である。図5に示す例では、分類情報データベース24には、分類情報の組み合わせと、画像と、カテゴリスコアとが対応付けて登録されている。ここで、カテゴリスコアとは、対応付けて登録された組み合わせに含まれる分類情報に基づく検索クエリの候補を表示する際に用いられるスコアであり、例えば、対応付けられた組み合わせの分類情報が示す分類に属する商品の数に基づいて算出されるスコアである。なお、カテゴリスコアは、例えば、対応付けられた組み合わせの分類情報とともに対応付けられた他の分類情報の種別の数、対応付けられた組み合わせの分類情報に基づく検索クエリの候補が利用者により選択された回数、対応付けられた組み合わせの分類情報と対応する商品の在庫の数等に基づいて算出されてもよい。
例えば、図5に示す例では、分類情報データベース24には、商品種別「財布」とカテゴリ「長財布」とを対応付けた組み合わせと、かかる組み合わせが示す商品の代表的な画像である「画像A」と、カテゴリスコア「スコアA」とが対応付けて登録されている。また、分類情報データベース24には、商品種別「財布」とカテゴリ「二つ折り」とを対応付けた組み合わせと、かかる組み合わせが示す商品の代表的な画像である「画像B」と、カテゴリスコア「スコアB」とが対応付けて登録されている。なお、分類情報データベース24には、他にも商品種別「財布」と他の分類情報とが対応付けられた組み合わせが登録されているものとする。
また、分類情報データベース24には、商品種別「財布」とカテゴリ「長財布」とブランド「ブランドA」を対応付けた組み合わせと、かかる組み合わせが示す商品の代表的な画像である「画像C」と、カテゴリスコア「スコアC」とが対応付けて登録されている。また、分類情報データベース24には、商品種別「財布」とカテゴリ「長財布」とブランド「ブランドB」とを対応付けた組み合わせと、かかる組み合わせが示す商品の代表的な画像である「画像D」と、カテゴリスコア「スコアD」とが対応付けて登録されている。なお、分類情報データベース24には、他にも商品種別「財布」とカテゴリ「長財布」と他の分類情報とが対応付けられた組み合わせが登録されているものとする。
また、分類情報データベース24には、商品種別「財布」とカテゴリ「長財布」とブランド「ブランドA」と素材「皮」とを対応付けた組み合わせと、かかる組み合わせが示す商品の代表的な画像である「画像E」と、カテゴリスコア「スコアE」とが対応付けて登録されている。また、分類情報データベース24には、商品種別「財布」とカテゴリ「長財布」とブランド「ブランドA」と素材「キャンバス」を対応付けた組み合わせと、かかる組み合わせが示す商品の代表的な画像である「画像F」と、カテゴリスコア「スコアF」とが対応付けて登録されている。なお、分類情報データベース24には、他にも商品種別「財布」とカテゴリ「長財布」とブランド「ブランドA」と他の分類情報とが対応付けられた組み合わせが登録されているものとする。
なお、分類情報データベース24には、他にも任意の数の分類情報が対応付けられた組み合わせが登録されているものとする。すなわち、分類情報データベース24には、商品情報データベース14に登録された分類情報の組み合わせのうち、検索クエリの候補として表示を行うべき分類情報の組み合わせが登録されているものとする。
図4に戻り、配信情報データベース25は、配信サーバ20が端末装置100に対して配信する各種ウェブページが登録されたデータベースである。例えば、配信情報データベース25には、各種サービスへのリンクが張られるとともに、検索クエリの入力を受付けるテキストボックスが配置されたポータルサイトのウェブページが登録されている。
〔4−2.制御部23が実行する処理の一例〕
図4に戻り、制御部23が有する取得部26、登録部27、検索部28、特定部29、配信部30が実行する処理の一例について説明する。なお、以下の説明では、取得部26と登録部27とは、生成処理を実行するものとし、検索部28、特定部29、配信部30は、配信処理を実行するものとする。
取得部26は、検索対象となる商品と、かかる商品を分類するための分類情報との組み合わせを取得する。例えば、取得部26は、商品情報データベース25に登録されている商品種別を取得し、取得した各商品種別について、以下の処理を実行する。まず、取得部26は、処理対象とする商品種別をクエリとしてデータベースサーバ10に送信する。そして、取得部26は、処理対象とする商品種別が示す商品を分類するための分類情報と、処理対象とする商品種別とを対応付けた組み合わせを取得する。
ここで、取得部26は、処理対象とする商品種別をクエリとして送信する場合は、所定のルールに合致する組み合わせのみを送信するようデータベースサーバ10に指示するクエリを送信する。以下、かかるルールの一例について説明する。
例えば、取得部26は、処理対象とする商品種別の商品と対応付けられた分類情報のうち、対応付けられた商品の数が多い分類情報と、処理対象とする商品種別との組み合わせを送信するよう指示するクエリを送信する。また、他の例では、取得部26は、処理対象とする商品種別の商品と対応付けられた分類情報のうち、対応付けられた商品の在庫の数が多い分類情報と、処理対象とする商品種別との組み合わせを送信するよう指示するクエリを送信する。また、他の例では、取得部26は、処理対象とする商品種別の商品と対応付けられた分類情報のうち、対応付けられた商品の在庫の数が多い分類情報と、処理対象とする商品種別との組み合わせを送信するよう指示するクエリを送信する。
また、他の例では、取得部26は、処理対象とする商品種別の商品と対応付けられた分類情報のうち、処理対象となる商品種別の商品と対応付けられた他の分類情報の種類が多い分類情報と、処理対象とする商品種別との組み合わせを送信するよう指示するクエリを送信する。また、他の例では、取得部26は、処理対象とする商品種別の商品と対応付けられた分類情報のうち、対応する検索クエリの候補が利用者により選択された回数が多い分類情報と、処理対象とする商品種別との組み合わせを送信するよう指示するクエリを送信する。なお、取得部26は、上述した各ルールに応じたスコアを算出し、算出したスコアが所定の閾値よりも大きい組み合わせを送信するよう指示するクエリを生成し、生成したクエリをデータベースサーバ10に送信してもよい。
また、取得部26は、データベースサーバ10から組み合わせを取得した場合は、かかる組み合わせに含まれる全ての分類情報をクエリとしてデータベースサーバ10へ送信する。この結果、取得部26は、取得した組み合わせに含まれる商品種別が示す商品に対して、かかる組み合わせに含まれる分類情報とともに対応付けられた他の分類情報を含む新たな組み合わせを取得することとなる。かかる処理を繰り返すことで、取得部26は、検索クエリの候補として表示すべき分類情報と、端末装置100から受信する検索クエリに対応する商品種別との組み合わせを取得することとなる。
登録部27は、取得部26が取得した組み合わせを分類情報データベース24に登録する。すなわち、登録部27は、取得された組み合わせに含まれる分類情報を、かかる組み合わせに含まれる商品種別に対応する検索クエリに応じた検索結果とともに表示される検索クエリとして、分類情報データベース24に登録する。また、登録部27は、各組み合わせについて上述したスコアを算出し、算出したスコアを組み合わせと対応付けて分類情報データベース24に登録する。
ここで、図6を用いて、取得部26が実行する処理の一例を説明する。図6は、実施形態に係る配信サーバが分類情報の組み合わせを取得する処理の一例を示す図である。なお、以下の説明では、取得部26は、対応付けられた商品の数が2つ以上となる組み合わせを送信するよう指示するクエリを送信する例について説明する。
まず、取得部26は、クロール処理を開始し(ステップS10)、商品種別「財布」を検索させるクエリをデータベースサーバ10に送信する(ステップS11)。一方、データベースサーバ10は、図6に示す情報が商品情報データベース14に登録されている場合、商品種別「財布」と対応付けられた商品A〜Mを特定し、特定した商品A〜Mと対応付けられた分類情報を種別ごとに特定する。具体的には、データベースサーバ10は、カテゴリ「長財布」、「コインケース」、「二つ折り」、「その他」、「マネークリップ」、「クラッチ」を特定し、ブランド「ブランドA」、「ブランドB」、「ブランドC」、「ブランドD」を特定する。
続いて、データベースサーバ10は、特定した各分類情報と、商品種別「財布」とを対応付けた組み合わせを生成し、各組み合わせに含まれる分類情報と対応付けられた商品の数を計数する。例えば、データベースサーバ10は、「財布」と「長財布」に対応する商品が3件、「財布」と「コインケース」に対応する商品が2件、「財布」と「二つ折り」に対応する商品が2件、「財布」と「その他」に対応する商品が1件、「財布」と「マネークリップ」に対応する商品が1件、「財布」と「クラッチ」に対応する商品が1件である旨を特定する。また、データベースサーバ10は、「財布」と「ブランドA」に対応する商品が4件、「財布」と「ブランドB」に対応する商品が3件、「財布」と「ブランドC」に対応する商品が2件、「財布」と「ブランドD」に対応する商品が1件である旨を特定する。かかる場合、データベースサーバ10は、クエリの指示に従い、「財布」と「その他」、「財布」と「マネークリップ」、「財布」と「クラッチ」、「財布」と「ブランドD」とを対応付けた組み合わせを不採用とし、他の組み合わせを配信サーバ20に配信する。かかる結果、配信サーバ20は、データベースサーバ10が生成した分類情報の組み合わせ、すなわち、登録された商品の件数が多い組み合わせを受信する(ステップS12)。
続いて、配信サーバ20は、取得した組み合わせに基づいて、さらに取得する分類情報の組み合わせ、すなわち、下位の分類を示す分類情報の組み合わせ(以下、下位組み合わせと記載する)を取得するルールを設定する(ステップS13)。例えば、配信サーバ20は、各組み合わせに含まれる分類情報と対応付けられた商品の数や、組み合わせの数、対応する検索クエリが選択された数等に応じて、下位組み合わせを取得する組み合わせや、下位組み合わせを何階層分取得するか、すなわち組み合わせに含まれる分類情報の数等といったルールを設定する。
そして、配信サーバ20は、設定したルールに従って、下位組み合わせのクロール処理を実行する(ステップS14)。具体的には、配信サーバ20は、下位組み合わせを取得する組み合わせに含まれる全ての分類情報をクエリとしてデータベースサーバ10に送信し、クエリとして送信した分類情報とともに商品に対応付けられた分類情報と、クエリとして送信した分類情報とを対応付けた組み合わせを取得する。
その後、配信サーバ20は、取得した全組み合わせを分類情報データベース24に登録し(ステップS15)処理を終了する。なお、配信サーバ20は、上述した処理を定期的に実行し、分類情報データベース24を更新してもよい。また、かかる更新を実行する際、配信サーバ20は、それまでに検索クエリの候補を利用者が選択した回数に応じて、下位組み合わせを取得するか否かや、下位組み合わせを取得する階層の数等を変更してもよい。
図4に戻り、検索部28は、検索クエリに応じた検索結果を取得する。例えば、検索部28は、配信情報データベース15からポータルサイトのウェブページを抽出すると、抽出したウェブページを端末装置100へ送信する。そして、検索部28は、端末装置100の利用者がポータルサイトのテキストボックスに入力した検索クエリを受信すると、特定部29に検索クエリを通知するとともに、検索サーバ200に対して検索クエリを転送し、検索結果を取得する。そして、検索部28は、検索サーバから検索結果を受信すると、受信した検索結果を配信部30に出力する。
また、検索部28は、利用者が検索クエリの候補を選択した場合は、かかる検索クエリの候補と、先に入力された検索クエリとを含む新たな検索クエリを受信することとなる。かかる場合、検索部28は、新たに受信した検索クエリを特定部29に出力するとともに、検索サーバ20から、新たな検索クエリに対応する検索結果を受信することとなる。
なお、検索部28は、受信した検索クエリと関連度の高いウェブページを検索し、関連度が高いウェブページのタイトルに、係るウェブページへのリンクを設定した検索結果を生成してもよい。すなわち、配信サーバ20は、検索処理を自ら行ってもよく、他のサーバに検索処理を行わせてもよい。
特定部29は、端末装置100から受付けた検索クエリと対応する種別の商品に対応付けられた分類情報を分類情報データベース24から特定する。例えば、特定部29は、検索クエリが「財布」である場合、「財布」と他の分類情報とを含む組み合わせを分類情報データベース24から抽出し、抽出した組み合わせに含まれる「財布」以外の分類情報を種別ごとに特定する。そして、特定部29は、種別ごとに特定した分類情報と、抽出した組み合わせと対応付けられた画像とを配信部30に通知する。
また、特定部29は、利用者が検索クエリの候補を選択した場合は、かかる検索クエリの候補に対応する分類情報とともに、先の検索クエリと対応する種別の商品に対応付けられた分類情報を新たに特定する。例えば、特定部29は、利用者が検索クエリの候補「ブランドA」を選択した場合は、「財布」と「ブランドA」を含む検索クエリを受信する。かかる場合、特定部29は、「財布」と「ブランドA」と他の分類情報を含む組み合わせを分類情報データベース24から抽出し、抽出した組み合わせに含まれる「財布」と「ブランドA」以外の分類情報を種別ごとに特定する。
また、特定部29は、所定のルールに従って、特定した分類情報に基づく検索クエリの候補を表示する順序を特定する。例えば、特定部29は、特定した分類情報が示す分類に属する商品の数に応じて、検索クエリの候補を表示する順序を特定してもよい。また、他の例では、特定部29は、端末装置100から受信した検索クエリと対応する種別の商品に、特定した分類情報とともに対応付けられた他の分類情報の種別の数に応じて、検索クエリの候補を表示する順序を特定してもよい。また、特定部29は、検索クエリの候補が利用者により選択された回数に応じて、検索クエリの候補を表示する順序を特定してもよい。また、特定部29は、特定した分類情報が示す分類に属する商品の在庫の数に応じて、検索クエリの候補を表示する順序を特定してもよい。
また、特定部29は、上述した各ルールに基づいて算出されたスコアの値に応じて、検索クエリの候補を表示する順序を特定してもよい。例えば、特定部29は、検索クエリに対応する組み合わせを分類情報データベース24から抽出し、抽出した組み合わせと対応付けられたカテゴリスコアを特定する。そして、特定部29は、特定したカテゴリスコアの値が大きい方から順に、検索クエリの候補を表示する順序を特定し、特定した順序を配信部30に通知する。
配信部30は、特定部29が特定した分類情報に基づく検索クエリの候補と、検索クエリに応じた検索結果とを端末装置100へ配信する。具体的には、配信部30は、特定部29が特定した分類情報と、対応する画像、すなわち、特定部29が特定した分類情報が示す分類に属する商品の画像と、検索クエリの候補を表示する順序との通知を受信する。また、配信部30は、検索部28から、検索クエリに応じた検索結果を受信する。
かかる場合、配信部30は、分類情報と受信した画像とに基づく検索クエリの候補を生成する。例えば、配信部30は、受信した画像や受信した分類情報のテキストからなる検索クエリの候補を生成する。また、配信部30は、検索クエリの候補を含む新たな検索クエリを送信し、新たな検索クエリに応じた検索結果を取得させるリンクを生成した検索クエリの候補に対して設定する。そして、配信部30は、検索結果内に検索クエリの候補を表示する領域を挿入し、分類情報の種別ごとにタブを生成する。また、配信部30は、各タブに対して、対応する種別の分類情報に基づいて生成された検索クエリの候補を、通知された順序で挿入した領域内に配置する。なお、配信部30は、分類情報のテキスト又は画像のみを検索クエリの候補として配置してもよい。
なお、配信部30は、利用者が検索クエリの候補を選択した場合は、特定部29が新たに特定した分類情報に基づく検索クエリの候補を新たに生成し、新たな検索結果に対して新たに生成した検索クエリの候補を挿入し、端末装置100へ送信することとなる。
〔5.配信処理の一例〕
次に、配信サーバ20が実行する配信処理の例について説明する。
〔5−1.分類情報の種別に応じた表示の一例〕
まず、図7を用いて、分類情報の種別に応じて表示される検索結果の一例について説明する。図7は、分類情報の種別に応じた表示の一例を示す図である。なお、以下の処理では、配信サーバ20は、組み合わせに含まれる分類情報と対応付けられた商品の数をカテゴリスコアとするものとする。
例えば、図7に示す例では、商品情報データベース14に、商品名「商品A」、商品種別「財布」、カテゴリ「長財布」、ブランド「ブランドA」が対応付けて登録され、商品名「商品B」、商品種別「財布」、カテゴリ「コインケース」、ブランド「ブランドA」が対応付けて登録され、商品名「商品F」、商品種別「財布」、カテゴリ「二つ折り」、ブランド「ブランドA」が対応付けて登録されている。また、図7に示す例では、商品情報データベース14には、商品名「商品G」、商品種別「財布」、カテゴリ「長財布」、ブランド「ブランドB」が対応付けて登録され、商品名「商品H」、商品種別「財布」、カテゴリ「二つ折り」、ブランド「ブランドB」が対応付けて登録され、商品名「商品I」、商品種別「財布」、カテゴリ「長財布」、ブランド「ブランドC」が対応付けて登録されている。
かかる場合、配信サーバ20は、図7に例示する情報を分類情報データベース24に登録する。具体的には、配信サーバ20は、「財布」と「長財布」との組み合わせと、画像Aと、カテゴリスコア「3」とを対応付けて登録し、「財布」と「二つ折り」との組み合わせと、画像Bと、カテゴリスコア「2」とを対応付けて登録する。また、配信サーバ20は、「財布」と「コインケース」との組み合わせと、画像Cと、カテゴリスコア「1」とを対応付けて登録し、「財布」と「ブランドA」との組み合わせと、画像Dと、カテゴリスコア「3」とを対応付けて登録する。また、配信サーバ20は、「財布」と「ブランドB」との組み合わせと、画像Eと、カテゴリスコア「2」とを対応付けて登録し、「財布」と「ブランドC」との組み合わせと、画像Fと、カテゴリスコア「1」とを対応付けて登録する。
かかる場合、配信サーバ20は、分類情報の種別「カテゴリ」のタブと分類情報の種別「ブランド」のタブを配置する。そして、配信サーバ20は、分類情報の種別「カテゴリ」のタブ内に、分類情報「長財布」に基づく検索クエリの候補、分類情報「二つ折り」に基づく検索クエリの候補、分類情報「コインケース」に基づく検索クエリの候補をカテゴリスコアの値が大きい順に配置する。また、配信サーバ20は、分類情報の種別「ブランド」のタブ内に、分類情報「ブランドA」に基づく検索クエリの候補、分類情報「ブランドB」に基づく検索クエリの候補、分類情報「ブランドC」に基づく検索クエリの候補をカテゴリスコアの値が大きい順に配置する。
この結果、端末装置100は、利用者が「カテゴリ」のタブを選択した場合は、検索結果C10を表示し、利用者が「ブランド」のタブを選択した場合は、検索結果C20を表示することとなる。
〔5−2.検索クエリの候補の選択に応じた表示の一例〕
次に、図8を用いて、利用者が検索クエリの候補を選択した際に表示される検索結果の一例を説明する。図8は、検索クエリの候補の選択に応じた表示の一例を説明する図である。例えば、配信サーバ20は、検索クエリ「財布」に対し、検索結果C10を配信する。ここで、配信サーバ20は、利用者が検索クエリの候補C13から「長財布」に基づく検索クエリの候補を選択した場合、検索結果C30を生成して配信する。
具体的には、配信サーバ20は、検索クエリ「財布 長財布」に応じた検索結果を取得し、「財布」と「長財布」とを含む組み合わせの下位組み合わせに含まれる分類情報を特定し、特定した分類情報に基づく検索クエリの候補C33を配置する。例えば、図8に示す例では、配信サーバ20は、分類情報の種別「ブランド」のタブを配置し、「ブランド」のタブ内に、分類情報「ブランドA」、「ブランドB」、「ブランドC」に基づく検索クエリの候補を配置した検索結果C30を生成する。
さらに、配信サーバ20は、利用者が選択した検索クエリの履歴を示す履歴情報C36を検索結果C30に配置する。例えば、配信サーバ20は、最初に入力された検索クエリ「財布」と、利用者が選択した検索クエリの候補「長財布」とを順に配置した履歴C36を配置する。また、配信サーバ20は、履歴情報C36の「財布」に対し、検索クエリを「財布」とする検索結果C10へのリンクを設定し、履歴情報C36の「長財布」に対し、検索クエリを「財布 長財布」とする検索結果C30へのリンクを設定する。
また、配信サーバ20は、検索クエリの候補C33から「ブランドA」に基づく検索クエリの候補を選択した場合、検索結果C40を生成して配信する。具体的には、配信サーバ20は、検索クエリ「財布 長財布 ブランドA」に応じた検索結果を取得し、「財布」と「長財布」と「ブランドA」とを含む組み合わせの下位組み合わせに含まれる分類情報を特定し、特定した分類情報に基づく検索クエリの候補C43を配置する。例えば、図8に示す例では、配信サーバ20は、分類情報の種別「素材」のタブを配置し、かかるタブ内に、「皮」、「型押し」、「クロコ」といった素材の分類情報に基づく検索クエリの候補C43を配置した検索結果C40を生成する。
さらに、配信サーバ20は、「財布」と「長財布」と「ブランドA」とを利用者が選択した順に配置した履歴情報C46を配置する。また、配信サーバ20は、「財布」と「長財布」とには、履歴情報C36と同様のリンクを設定し、「ブランドA」に対しては、検索クエリを「財布 長財布 ブランドA」とする検索結果C40へのリンクを設定する。
ここで、各かかるリンクが選択された場合、配信サーバ20は、検索クエリに対応する分類情報に基づいた検索クエリの候補と、リンクに対応する検索クエリに応じた履歴情報とを配置した検索結果を配信する。例えば、検索結果C40が表示されている際に、利用者が履歴情報C46の「長財布」を選択した場合、配信サーバ20は、端末装置200から、新たな検索クエリ「財布 長財布」を受信する。すなわち、配信サーバ20は、利用者が検索クエリの候補「長財布」を選択するまでに入力した検索クエリおよび利用者が選択した検索クエリの候補を全て含む検索クエリを受信する。
かかる場合、配信サーバ20は、検索クエリ「財布 長財布」に対応する種別の商品を分類する分類情報を特定するとともに、検索クエリ「財布 長財布」に応じた検索結果を取得する。また、配信サーバ20は、検索クエリ「財布 長財布」に対応する履歴情報
すなわち、履歴情報C36を生成する。また、配信サーバ20は、検索結果に対し、特定した分類情報に基づく検索クエリの候補を配置するとともに、係る検索クエリの候補を追加した新たな検索クエリに対応する検索結果へのリンクを設定する。また、配信サーバ20は、検索結果に履歴情報C36を配置するとともに、履歴情報C36に含まれる検索クエリのそれぞれに対し、かかる検索クエリが選択されるまでに利用者が入力した検索クエリおよび利用者が選択した検索クエリの候補を全て含む検索クエリに対応する検索結果へのリンクを設定する。そして、配信サーバ20は、検索結果を端末装置100に配信する。この結果、配信サーバ20は、検索結果C40において、履歴情報C46に含まれる「長財布」を利用者が選択した場合は、検索結果C30を端末装置100に配信することとなる。なお、かかるリンクの配置および設定は、図4に示した配信部30によって実現されるものとする。
〔6.配信サーバ20の処理フロー〕
次に、図9、図10を用いて、配信サーバ20が実行する生成処理と配信処理との手順について説明する。まず、図9を用いて、生成処理の手順について説明する。図9は、実施形態に係る配信サーバが実行する生成処理の流れの一例を示すフローチャートである。
例えば、配信サーバ20は、クロール処理を開始する(ステップS101)。具体的には、配信サーバ20は、商品情報データベース14に登録された各商品種別をクエリとしてデータベースサーバ10に送信することで、かかる商品種別と他の分類情報との組み合わせを取得する。すなわち、配信サーバ20は、利用者の検索処理における検索対象となりえる分類情報の組み合わせを取得する(ステップS102)。
また、配信サーバ20は、取得した組み合わせについてスコアを算出し(ステップS103)、取得した組み合わせと算出したスコアとを分類情報データベース24に登録する(ステップS104)。続いて、配信サーバ20は、所定のルールに従って、取得した組み合わせの下位組み合わせを取得するか否かを判定し(ステップS105)、取得すると判定した場合は(ステップS105:Yes)、ステップS102を実行する。一方、配信サーバ20は、下位組み合わせを取得しないと判定した場合は(ステップS105:No)、生成処理を終了する。
次に、図10を用いて、配信処理の手順について説明する。図10は、実施形態に係る配信サーバが実行する配信処理の流れの一例を示すフローチャートである。まず、配信サーバ20は、端末装置100から検索クエリを受信する(ステップS201)。かかる場合、配信サーバ20は、受信した検索クエリに対応する検索結果を検索サーバ200から取得する(ステップS202)。続いて、配信サーバ20は、検索クエリに応じた組み合わせを特定する(ステップS203)。具体的には、配信サーバ20は、検索クエリに含まれる商品種別や他の分類情報を含む組み合わせを特定する。
続いて、配信サーバ20は、特定した組み合わせのカテゴリスコアに基づいて、検索クエリの候補の表示順序を特定する(ステップS204)。そして、配信サーバ20は、特定した組み合わせに含まれる分類情報のうち、端末装置100から受信した検索クエリ以外の分類情報を特定し、特定した分類情報に基づく検索クエリの候補を検索結果に挿入する(ステップS205)。その後、配信サーバ20は、検索結果を配信し(ステップS206)、処理を終了する。
〔7.変形例〕
上記した実施形態に係る配信サーバ20は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、配信サーバ20の他の実施形態について説明する。
〔7−1.配信処理の繰り返しについて〕
上述した配信サーバ20は、利用者が検索クエリの候補を選択する度に、選択された検索クエリの候補を検索クエリに追加し、新たな検索結果を取得および配信する処理を実行した。ここで、配信サーバ20は、係る処理の繰り替えし回数に上限を設けてもよい。例えば、配信サーバ20は、組み合わせに含まれる分類情報の数に上限を設け、検索クエリと対応する組み合わせが存在しない場合には、検索サーバ200から取得する検索結果のみを配信してもよい。
例えば、図11は、実施形態に係る配信サーバが実行する配信処理の繰り返しを説明する図である。なお、図11に示す例では、配信サーバ20は、最大で5つの分類情報を対応付けた組み合わせを記憶するものとする。例えば、配信サーバ20は、検索クエリ「財布 長財布 ブランドA」に応じた検索結果に、「素材」のタブおよび「色」のタブを配置し、各タブに対応する検索クエリの候補を配置した検索結果C40を配信する。ここで、配信サーバ20は、利用者が分類情報「皮」に基づく検索クエリの候補を選択した場合は、検索クエリ「財布 長財布 ブランドA 皮」に応じた検索結果に、「色」のタブを配置し、対応する検索クエリの候補を配置した検索結果C50を配信する。
ここで、利用者が分類情報「黒」に対応する検索クエリの候補を選択したものとする。かかる場合、新たな検索クエリは「財布 長財布 ブランドA 皮 黒」となり、利用者が所望する商品を検索するには十分な検索クエリであると考えられる。また、配信サーバ20は、検索クエリに含まれる分類情報「財布」、「長財布」、「ブランドA」、「皮」、「黒」に対してさらに分類情報を対応付けた組み合わせを記憶していない。このため、配信サーバ20は、検索クエリの候補を挿入していない検索結果C60を配信する。
このように、配信サーバ20は、検索クエリに含まれる分類情報の数が、利用者の検索において十分な数であると考えられる場合には、検索クエリの候補を挿入せずともよい。なお、検索において十分な検索クエリの数は、商品の種別によって異なると考えられる。このため、配信サーバ20は、商品の種別ごとに、組み合わせに含まれる分類情報の数の上限を設定してもよい。かかる処理を実行した場合、配信サーバ20は、不必要な検索クエリの候補を表示することなく、利用者の検索を適切に補助することができる。
なお、配信サーバ20は、検索クエリのログに基づいて、繰り替えし回数の上限を設定してもよい。例えば、配信サーバ20は、最も多くの利用者が検索を終了した際に、検索クエリに含まれる分類情報の数を、繰り返し回数の上限としてもよい。
また、配信サーバ20は、処理を繰り返した回数が上限に達した場合は、検索結果ではなく、例えば、ショッピングサーチの結果を表示してもよい。また、配信サーバ20は、利用者が選択していない検索クエリの候補を全て表示してもよい。例えば、配信サーバ20は、最終的な検索クエリにより特定される商品について、色違い商品の画像を表示してもよい。また、配信サーバ20は、最終的な検索クエリに対応する商品を販売するウェブページを表示してもよい。
〔7−2.検索結果に含まれる広告について〕
一般に、検索結果には、検索クエリに応じた広告が配置される。ここで、検索結果に含まれる広告は、検索クエリに応じた広告であるため、広告クエリに含まれる分類情報が多ければ多いほど、マッチングの精度が高い。このため、配信サーバ20は、利用者が入力した検索クエリと、利用者が選択した検索クエリの候補とに応じて選択された広告を配置してもよい。例えば、配信サーバ20は、利用者が選択した検索クエリの候補とに応じて選択された広告を配置するよう検索サーバ200に指示してもよい。
また、マッチングの精度が高い広告については、利用者が所望する広告であるため、多くの広告を表示しても、利用者に不満を生じさせることが少ないと考えられる。そこで、配信サーバ20は、利用者が選択した検索クエリの数に応じた数の広告を配置してもよい。例えば、配信サーバ20は、利用者が選択した検索クエリの数に応じた数の広告を配置するよう検索サーバ200に指示してもよい。また、配信サーバ20は、検索クエリの内容に応じて、配置する広告の数を変更させてもよい。
例えば、図12は、実施形態に係る配信サーバが配置させる広告の一例を説明する図である。例えば、配信サーバ20は、検索クエリが「財布」である場合は、「人気の財布!」や「あのブランドが安い!」といった「財布」と対応する広告C14が配置された検索結果C10を配信する。
ここで、配信サーバ20は、検索結果C10が表示されている際に、利用者が分類情報「長財布」に基づく検索クエリの候補を選択した場合は、「人気の長財布!」や「あの長財布が安い!」といった、検索クエリ「財布 長財布」に対応する広告C34が配置された検索結果C30を配信する。さらに、配信サーバ20は、検索結果C30が表示されている際に、利用者が分類情報「ブランドA」に基づく検索クエリの候補を選択した場合には、表示する広告の数を増やした検索結果C40を配信する。具体的には、配信サーバ20は、「ブランドAの長財布!」、「ブランドAならおまかせ!」、「ブランドAが特価!」といった、新たな検索クエリ「財布 長財布 ブランドA」に対応する広告C44が配置された検索結果C40を配信する。
一方、配信サーバ20は、検索結果C10が表示されている際に、利用者が分類情報「二つ折り」に基づく検索クエリの候補を選択した場合は、「人気の財布!」や「二つ折りが人気!」といった新たな検索クエリ「財布 二つ折り」に対応する広告C74が配置された検索結果C70を配信する。また、配信サーバ20は、検索結果C70が表示されている際に、利用者が分類情報「ブランドC」に基づく検索クエリの候補を選択した場合は、表示する広告の数を増やした検索結果C80を配信する。具体的には、配信サーバ20は、「ブランドCなら!」、「ブランドCの人気シリーズA!」、「シリーズAが安い!」、「ブランドCのシリーズAが安い!」といった、新たな検索クエリ「財布 二つ折り ブランドC」に対応する広告C84が配置された検索結果C80を配信する。
なお、配信サーバ20は、検索クエリに含まれる分類情報の数や、検索クエリのログ等からスコアを算出し、算出したスコアの値に応じた数の広告を配置してもよい。また、配信サーバ20は、検索クエリに含まれる分類情報の数が増える度に、広告を表示させるスコアの閾値の値を変更してもよい。例えば、配信サーバ20は、検索クエリに含まれる分類情報の数が3つ以下である場合は、2つの広告を配置し、検索クエリに含まれる分類情報の数が4つである場合は、3つの広告を配置し、検索クエリに含まれる分類情報の数が5つである場合は、5つの広告を配置してもよい。
このように、配信サーバ20は、利用者が選択した検索クエリの候補に応じた広告を検索結果に配置する。このため、配信サーバ20は、検索結果に配置される広告のマッチング精度を向上させることができる。また、配信サーバ20は、利用者が選択した検索クエリの候補の数に応じた数の広告を、検索結果に配置する。このため、配信サーバ20は、不満を生じさせることなく、マッチング精度の高い広告を多く表示させることができる。
〔7−3.スコアについて〕
上述した配信サーバ20は、生成処理において、所定のルールに基づいて算出されたスコアに基づき、取得する組み合わせを限定した。また、配信サーバ20は、配信処理において、所定のルールに基づいて算出されたカテゴリスコアに基づき、検索クエリの候補を表示する順序を特定した。ここで、配信サーバ20が各スコアを算出する処理は、上述した例に限定されるものではなく、配信サーバ20は、任意の情報をパラメータとして採用し、かかるパラメータに基づいて各スコアを算出することができる。
例えば、配信サーバ20は、分類情報と対応付けられた商品の数の変動数や、在庫の数の変動数に応じた重みづけを考慮してもよい。また、配信サーバ20は、検索回数が多い単語やバズワード等の単語と関連する分類情報に基づく検索クエリの候補が先に表示されるよう、スコアを算出してもよい。
〔7−4.タブについて〕
上述した配信サーバ20は、分類情報の種別に対応するタブを配置し、かかるタブに対応する種別の分類情報に基づく検索クエリを配置した。ここで、配信サーバ20は、利用者が選択したタブや利用者が選択した検索クエリの候補のログに基づいて、タブを表示する順序を変更してもよい。
例えば、配信サーバ20は、分類情報の種別ごとに、検索クエリの候補が選択された回数を計数する。そして、配信サーバ20は、検索クエリの候補が選択された回数が多い順に、タブを表示してもよい。例えば、配信サーバ20は、種別「ブランド」に係る分類情報に基づいた検索クエリの候補が最も多く選択されている場合は、種別「ブランド」に係るタブを最前面に配置してもよい。このような処理を実行することで、配信サーバ20は、利用者の検索をより適切に補助することができる。
〔7−5.検索クエリの順序について〕
例えば、配信サーバ20は、利用者が選択した検索クエリの候補の順序に応じて、検索結果や、新たに表示する検索クエリの候補を変更してもよい。例えば、種別「ブランド」に係る分類情報に基づいた検索クエリの候補を先に選択した利用者と、種別「カテゴリ」に係る分類情報に基づいた検索クエリの候補を先に選択した利用者とでは、所望する商品に対する意識が異なると予測される。
そこで、配信サーバ20は、利用者が選択した検索クエリの候補の順序に応じて、新たに表示する検索クエリの候補の順番や、タブに関連する分類情報の種別を変更してもよい。例えば、配信サーバ20は、種別「ブランド」に係る分類情報に基づいた検索クエリの候補を先に選択した利用者に対しては、種別「色」や「素材」等よりも、商品のシリーズ名等、種別「ブランド」に関連する分類情報に基づいた検索クエリの候補を優先して表示してもよい。
〔7−6.取得する組み合わせについて〕
また、配信サーバ20は、検索されないような分類情報の組み合わせについては、生成処理において取得を行わずとも好い。例えば、配信サーバ20は、分類情報「その他」等、利用者が検索において入力しないような分類情報を含む組み合わせについては、商品情報データベース14から取得せずとも好い。また、配信サーバ20は、予め設定された分類情報を含む組み合わせについては、商品情報データベース14から取得せずとも好い。
〔7−7.表示する情報について〕
上述した配信サーバ20は、特定した分類情報に基づく検索クエリの候補を表示した。ここで、配信サーバ20は、係る検索クエリの候補に分類情報のテキストや写真以外の情報を含めてもよい。例えば、配信サーバ20は、特定した分類情報と対応付けられた商品の価格帯を特定し、特定した価格帯を表示してもよい。また、配信サーバ20は、かかる価格帯ごとの検索クエリの候補を配置してもよい。例えば、配信サーバ20は、価格帯タブを生成し、検索クエリに対応する商品の価格帯を示す複数の検索クエリの候補を表示してもよい。また、配信サーバ20は、検索クエリの候補に対応する商品の説明を配置してもよい。例えば、配信サーバ20は、種別「ブランド」の分類情報に基づく検索クエリの候補に、各ブランドの説明情報を含めてもよい。
〔7−8.検索結果の変更について〕
配信サーバ20は、利用者が選択した検索クエリの候補に応じた情報を、検索結果内に挿入してもよい。例えば、配信サーバ20は、利用者が選択した検索クエリの候補に応じた商品のウェブページを特定し、かかるウェブページへのリンクを検索結果に含まれるリンクの上位に挿入してもよい。すなわち、配信サーバ20は、利用者が選択した検索クエリの候補に応じて、検索結果を操作してもよい。また、配信サーバ20は、各検索クエリが選択された回数や、利用者が選択した検索クエリの候補のログに基づいて、検索結果を操作してもよい。
〔7−9.商品について〕
上述した配信サーバ20は、商品やサービス等の検索対象と、かかる検索対象を分類する分類情報が登録された商品情報データベース14から、分類情報の組み合わせを取得した。しかしながら、実施形態は、これに限定されるものではない。例えば、配信サーバ20は、旅行プランと、係る旅行プランを分類する分類情報が登録された商品情報データベースから、分類情報の組み合わせを取得してもよい。すなわち、配信サーバ20は、任意の情報とかかる情報を分類する分類情報とから、分類情報の組み合わせを取得することができる。また、配信サーバ20は、利用者が検索クエリを予測しづらい分野の情報や、利用者が予測しづらい分類情報が設定された情報等について、生成処理および配信処理を実行した際に、利用者の検索をより適切に補助することができる。
〔7−10.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図4に示した取得部26、登録部27、検索部28、特定部29、配信部30が発揮する機能は、任意の粒度で統合されてもよい。
また、配信サーバ20は、分類情報データベース24を記憶部22に記憶させる必要はなく、例えば、ネットワーク上に存在する他のサーバ装置等が記憶する分類情報データベース24を利用してもよい。また、配信サーバ20は、取得部26と登録部27、または、特定部29と配信部30とを有していればよく、検索部28を有する必要はない。
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
〔7−11.プログラム〕
また、上記してきた実施形態に係る配信サーバ20は、例えば図13に示すような構成のコンピュータ1000によって実現される。以下、配信サーバ20の機能を実行するコンピュータ1000について説明する。図13は、実施形態に係る配信サーバの機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、およびメディアインターフェイス(I/F)1700を有する。
CPU1100は、ROM1300またはHDD1400に格納された配信プログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
HDD1400は、CPU1100によって実行されるプログラム、および、係るプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、ネットワークNを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを他の機器へ送信する。
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、および、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、入出力インターフェイス1600を介して、生成したデータを出力装置へ出力する。
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、係るプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
例えば、コンピュータ1000が実施形態に係る配信サーバ20として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされた配信プログラムを実行することにより、制御部23の機能を実現する。また、HDD1400には、記憶部22内のデータ、例えば分類情報データベース24と配信情報データベース25が格納される。コンピュータ1000のCPU1100は、生成プログラムまたは配信プログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置からこれらのプログラムを取得してもよい。
〔8.効果〕
上述した用意、配信サーバ20は、商品の種別とかかる種別の商品を分類するための分類情報とを対応付けて記憶する商品情報データベース14を参照し、端末装置100から受付けた検索クエリと対応する種別の商品に対応付けられた分類情報を特定する。そして、配信サーバ20は、特定した分類情報に基づく検索クエリの候補と、端末装置100から受付けた検索クエリに応じた検索結果とを端末装置100へ配信する。このため、配信サーバ20は、利用者の検索を適切に補助することができる。
また、端末装置100がスマートフォン等のスマートデバイスである場合、表示領域が限定されるため、検索クエリの入力が煩雑になる。例えば、検索クエリの入力を行うキーボードを表示する領域や、検索クエリの入力画面等が同一の画面上に表示される結果、各表示領域が限定されるため、検索クエリの入力や確認が困難となる。しかしながら、配信サーバ20は、端末装置100に対し、検索クエリに応じた結果と検索クエリに対応する商品を分類する分類情報に基づいた検索クエリの候補とを送信し、表示させる。この結果、利用者は、検索結果と共に表示される検索クエリの候補を順に選択するだけで、検索クエリを追加することができ、検索結果を絞り込むことができる。このため、配信サーバ20は、スマートデバイスを用いた検索を容易にするので、利用者の検索を適切に補助することができる。
また、配信サーバ20は、検索クエリの候補として、特定した分類情報が示す分類に属する商品の画像を配信する。このため、配信サーバ20は、利用者に新たな検索クエリを直感的に選択させることができるので、検索を適切に補助することができる。
また、配信サーバ20は、検索クエリの候補として、分類情報を配信する。このため、配信サーバ20は、適切な商品の画像を取得できなかった場合や、写真では新たな検索クエリを想起させることが困難である場合に、利用者に新たな検索クエリを提示することができるので、検索を適切に補助することができる。
また、配信サーバ20は、所定のルールに従って、検索クエリの候補を表示する順序を特定し、特定した順序で検索クエリの候補を配置した検索結果を配信する。このため、配信サーバ20は、例えば、利用者が選択する可能性が高い検索クエリの候補から順に表示することができるので、検索を適切に補助することができる。
また、配信サーバ20は、特定した分類情報が示す分類に属する商品の数に応じて、検索クエリの候補を表示する順序を特定する。この結果、配信サーバ20は、対応する商品の数がより多い検索クエリの候補を優先的に表示することで、利用者が選択する可能性が高い検索クエリの候補から順に表示することができるので、検索を適切に補助することができる。
また、配信サーバ20は、特定した分類情報とともに検索クエリと対応する種別の商品に対応付けられた他の分類情報の種別の数に応じて、検索クエリの候補を表示する順序を特定する。この結果、配信サーバ20は、より絞り込みが必要な商品の種別に対応する検索クエリの候補から順に表示することができるので、検索結果の絞り込みを適切に補助することができる。
また、配信サーバ20は、検索クエリの候補が利用者により選択された回数に応じて、かかる検索クエリの候補を表示する順序を特定する。この結果、配信サーバ20は、多くの利用者が選択した検索クエリの候補から順に表示することができるので、利用者が選択する可能性が高い検索クエリの候補を先に表示する結果、検索を適切に補助することができる。
また、配信サーバ20は、特定した分類情報が示す分類に属する商品の在庫の数に応じて、検索クエリの候補を表示する順序を特定する。このため、配信サーバ20は、例えば、廃盤となった商品の分類情報に対応する検索クエリの候補を他の候補よりも後に表示するので、検索を適切に補助することができる。
また、配信サーバ20は、検索クエリと対応する種別の商品に対応付けられた分類情報を分類の種別ごとに特定し、特定した分類情報に基づく検索クエリの候補を、分類の種別ごとに配置した検索結果を配信する。このため、配信サーバ20は、分類の種別ごとに、検索クエリの候補を表示することができるので、検索結果の絞り込みをより容易にすることができる。
また、配信サーバ20は、利用者が検索クエリの候補を選択した場合は、選択された検索クエリの候補に対応する分類情報とともに、検索クエリと対応する種別の商品に対応付けられた分類情報を新たに特定する。そして、配信サーバ20は、新たに特定した分類情報に基づく検索クエリの候補と、利用者が選択した検索クエリの候補に応じた新たな検索結果とを端末装置100へ配信する。この結果、配信サーバ20は、検索結果の段階的な絞り込みを実現できるので、検索結果の絞り込みをより容易にすることができる。
また、配信サーバ20は、利用者が選択した検索クエリの候補を順に配置した履歴情報を検索結果とともに配信する。この結果、配信サーバ20は、利用者が選択した検索クエリの候補の履歴を提示することができるので、検索結果の適切な絞り込みを継続させることができる。
また、配信サーバ20は、履歴情報に含まれる検索クエリの候補のいずれかが選択された場合は、選択された検索クエリの候補よりも前に利用者が選択した検索クエリの候補と、端末装置100から受信した検索クエリとを含む新たな検索クエリに応じた検索結果を取得する。また、配信サーバ20は、新たな検索クエリに応じた分類情報を特定し、特定した分類情報に基づく検索クエリの候補と、新たな検索クエリに応じた検索結果とを配信する。このため、配信サーバ20は、利用者が誤った検索クエリの候補を選択した場合にも、従前の検索結果へ容易に導くことができる。
また、配信サーバ20は、端末装置100から受付けた検索クエリと利用者が選択した検索クエリの候補とに応じて選択された広告を検索結果に配置する。このため、配信サーバ20は、マッチング精度が高い広告を提示することができる。
また、配信サーバ20は、利用者が選択した検索クエリの候補の数に応じた数の広告を検索結果に配置する。このため、配信サーバ20は、利用者に不満を感じさせることなく、マッチング精度が高い多くの広告を提示することができる。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、配信部は、配信手段や配信回路に読み替えることができる。