以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下に説明する実施の形態は、情報処理システムに対して本発明を適用した場合の実施形態である。
[1.第1実施形態]
[1−1.情報処理システムの構成及び機能概要]
先ず、本実施形態に係る情報処理システムSの構成について、図1を用いて説明する。図1は、本実施形態に係る情報処理システムSの概要構成の一例を示す図である。
図1に示すように、情報処理システムSは、電子商店街サーバ1と、複数の店舗端末2と、複数のユーザ端末3と、を含んで構成されている。そして、電子商店街サーバ1と各店舗端末2及び各ユーザ端末3とは、ネットワークNWを介して、例えば、通信プロトコルにTCP/IP等を用いて相互にデータの送受信が可能になっている。なお、ネットワークNWは、例えば、インターネット、専用通信回線(例えば、CATV(Community Antenna Television)回線)、移動体通信網(基地局等を含む)、及びゲートウェイ等により構築されている。
電子商店街サーバ1は、商品の購入が可能な電子商店街に関する各種処理を実行するサーバ装置である。電子商店街サーバ1は、本発明における情報処理装置の一例である。ユーザは、電子商店街を利用することにより、所望の店舗から所望の商品を購入することができる。電子商店街サーバ1は、ユーザ端末3からのリクエストに応じて、例えば、電子商店街のウェブページを送信したり、商品の検索や購入等に関する処理を行ったりする。商品は、本発明における取引対象の一例である。
店舗端末2は、電子商店街に出店している店舗の従業員等により利用される端末装置である。店舗端末2は、従業員等からの操作に基づいて電子商店街サーバ1等のサーバ装置にアクセスする。これにより、店舗端末2は、サーバ装置からウェブページを受信して表示する。店舗端末2には、ブラウザや電子メールクライアント等のソフトウェアが組み込まれている。従業員は、店舗端末2を利用することにより、例えば、販売する商品の情報を電子商店街に登録したり、商品の注文内容を確認したりする。店舗は、取引対象を提供する提供者の一例である。
ユーザ端末3は、電子商店街を利用するユーザの端末装置である。ユーザ端末3は、ユーザからの操作に基づいて電子商店街サーバ1にアクセスすることにより、電子商店街サーバ1からウェブページを受信して表示する。ユーザ端末3には、ブラウザや電子メールクライアント等のソフトウェアが組み込まれている。ユーザ端末3としては、例えば、パーソナルコンピュータ、PDA(Personal Digital Assistant)、スマートフォン等の携帯情報端末、携帯電話機等が用いられる。
[1−2.商品の属性]
次に、電子商店街で販売される商品の属性について、図2を用いて説明する。
電子商店街で販売されている各商品は、商品を販売する店舗によりジャンル分けされている。商品のジャンルは、例えば、予め定められた基準で商品を分類した場合の商品の区分である。ジャンルは、カテゴリーと呼ばれることもある。例えば、商品の種類等で商品が分類されている。ジャンルの名前であるジャンル名は、例えば、普通名詞である。また、商品のジャンルは木構造で階層的に定義されている。木構造において、或るジャンルの子に相当するジャンルを、「子ジャンル」という。或るジャンルの子孫に相当するジャンルを、「子孫ジャンル」という。或るジャンルの親に相当するジャンルを、「親ジャンル」という。例えば、最上位のジャンルとして、「食品」、「水・ソフトドリンク」、「ビール・洋酒」等のジャンルがある。また、「ビール・洋酒」の子ジャンルとして、例えば、「ビール」、「洋酒」、「リキュール」等がある。ジャンルは、本発明における区分の一例である。
商品の区分としては、ジャンルの他に、ブランド等がある。ブランドは、商品の出所(例えば、製造者や販売者等)を示す。ブランド名は、基本的には固有名詞である。ブランドの種類としては、例えば、企業ブランドとプロダクトブランドとがある。企業ブランドは、商品の製造者や販売者等としての企業そのものに対するブランドである。商品ブランドは、企業が製造、販売等する商品のうち一部の商品に対するブランドである。ブランドは、木構造で階層的に定義されている。最上位の階層に位置するブランドは、企業ブランドである。最上位の階層よりも下位の階層に位置するブランドは、プロダクトブランドである。本実施形態においては、ブランドの階層数は2であり、第1階層に位置するブランドは企業ブランドであり、第2階層に位置するブランドはプロダクトブランドである。なお、ブランドの階層数は、1のみであってもよいし、3以上であってもよい。或るブランドの子に相当するブランドを、「子ブランド」という。或るブランドの親に相当するブランドを、「親ブランド」という。ブランドは、本発明における区分の一例である。
また、各商品は、属性を有する。属性は、属性項目ごとに、属性名と属性値とで定義される。属性名は、属性の名前である。属性名は、属性の項目又は種類を示す。属性名は、本発明における属性項目情報の一例である。商品の属性は、属性名に応じた属性値を有する。実際の属性値は、例えば、数値であったり文字列であったりする。
図2(a)は、ジャンルごとに定義される属性名の一例を示す図である。電子商店街においては、後述するジャンル情報DB12bに、ジャンルに属する商品が有する属性の属性名がジャンルごとに登録されている。図2(a)に示すように、例えば、「水・ソフトドリンク」、「ビール・洋酒」等の飲料水のジャンルに対応する属性名として、「本数」、「内容量」、「容器」、「味」及び「プロダクトブランド」が定義されている。また、例えば、ジャンル「テレビ」に対応する属性名として、「パネルの種類」、「画面サイズ」、「消費電力」及び「プロダクトブランド」が定義されている。また、例えば、ジャンル「冷蔵庫」に対応する属性名として、「容積」、「ドア数」、「消費電力」及び「プロダクトブランド」が定義されている。なお、図2(a)に示されている優先順位については後述する。
図2(b)は、属性値の登録例を示す情報である。ブランドを有する企業が製造、販売等する各商品については、ブランド商品のカタログに、商品が属するジャンルに対応する属性名に対応した属性値が登録されている。図2(b)は、飲料水の商品についての属性値の登録例を示す。図2(b)に示すように、飲料水の商品については、「本数」、「内容量」、「容器」、「味」及び「プロダクトブランド」のそれぞれに対応する属性値が登録される。図2(b)において、「QQQ」は、ビールを製造、販売するQ社の企業ブランド名である。「ABB」及び「ABC」は、Q社が製造、販売するビールのプロダクトブランド名である。「RRR」は、ソフトドリンクを製造、販売するR社の企業ブランド名である。「DEF」は、R社が製造、販売するジュースのプロダクトブランド名である。なお、プロダクトブランドABB及びABCのビールの「味」に対応する属性値は、無効な値が設定されている。
[1−3.商品バリエーション表の表示]
次に、商品バリエーション表の表示について、図3乃至図10を用いて説明する。
電子商店街サーバ1は、ユーザによりブランドが指定された場合に、指定されたブランドの商品について、商品バリエーション表をユーザ端末3により表示させる。商品バリエーション表は、指定されたブランドの商品のバリエーションを示すテーブルである。具体的に、商品バリエーション表は、指定されたブランドに対応する属性項目のうち、属性値にバリエーションがある属性項目について、属性値のバリエーションで商品を整理して表示するテーブルである。商品バリエーション表は、本発明における表の一例である。
表示された商品バリエーション表からユーザが何れかの商品を選択すると、電子商店街サーバ1は、選択された商品を電子商店街から検索する。電子商店街から商品を検索することとは、複数の店舗が販売している商品の中から検索を行うことであり、ブランド商品のカタログから検索を行うことではない。
図3(a)は、電子商店街のトップページの表示例を示す図である。トップページは、電子商店街において最上位に位置するウェブページである。図3に示すように、トップページは、検索条件設定領域100を含む。検索条件設定領域100は、検索条件を指定するための要素等が表示される領域である。具体的に、検索条件設定領域100は、キーワード入力欄110及び検索ボタン120等を含む。キーワード入力欄110は、検索条件としてキーワードを入力するための領域である。各キーワードの区切りとして空白を入力することにより、ユーザは複数のキーワードを入力することができる。検索ボタン120が選択されると、電子商店街サーバ1は、キーワード入力欄110に入力されたキーワードで電子商店街から商品を検索する。キーワード入力欄110に入力されるキーワードは、本発明における語の一例である。キーワード入力欄110にキーワードを入力することは、取引対象の検索に関する操作の一例である。
図4は、本実施形態に係る情報処理システムSの処理概要を示すシーケンス図である。図4に示すように、ユーザがキーワード入力欄110に文字を入力する都度(ステップS1)、ユーザ端末3は、ユーザがキーワード入力欄110に入力中の文字列を電子商店街サーバ1へ送信する(ステップS2)。文字列を受信した電子商店街サーバ1は、文字列に含まれる1番目のキーワードに対応するブランド名を検索する(ステップS3)。キーワードに対応するブランド名は、例えば、キーワードと一致するブランド名、及び、一部がキーワードと一致するブランド名の少なくとも何れか一方であってもよい。また、キーワードに対応するブランド名は、例えば、キーワードに前方一致するブランド名であってもよいし、キーワードに後方一致するブランド名であってもよい。また、ユーザが複数のキーワードを入力している場合、電子商店街サーバ1は、例えば、複数のキーワードのうち何れかのキーワードに対応するブランド名を検索してもよい。
次いで、電子商店街サーバ1は、検索したブランド名のリストを、ユーザ端末3へ送信する(ステップS4)。ユーザ端末3は、受信したブランド名のリストを表示する(ステップS5)。
図3(b)は、ブランド名のリストの表示例を示す図である。キーワード入力欄110に入力中の文字列に含まれる1番目のキーワードに対応するブランド名が存在する場合、トップページには、図3(b)に示すように、提案領域200が表示される。提案領域200は、ブランド名の一覧が検索条件の候補として表示される領域である。例えば、ユーザがキーワード入力欄110に「AB」を入力した場合、提案領域200には、例えば、「ABA」、「ABB」、「ABC」等のブランド名が表示される。
ブランド名のリストが表示された後、提案領域200からユーザが何れかのブランド名をクリックすると、電子商店街サーバ1は、例えば、クリックされたブランド名が示すブランドに関する情報を表示するウェブページをユーザ端末3へ送信する。あるいは、電子商店街サーバ1は、例えば、クリックされたブランド名が示すブランドに属する商品を、電子商店街から検索してもよい。
一方、提案領域200からユーザが何れかのブランド名に対してマウスオーバーすると(ステップS6)、ユーザ端末3は、商品バリエーション表リクエストを、電子商店街サーバ1へ送信する(ステップS7)。商品バリエーション表リクエストは、マウスオーバーされたブランド名に対応するブランドIDを含む。ブランドIDは、ブランドの識別情報である。ブランド名に対してマウスオーバーすることは、ブランド名を指定することの一例である。例えば、ユーザがカーソルキーを操作して何れかのブランド名にフォーカスを合わせることによりブランド名が指定されてもよい。ブランド名を指定することは、取引対象の検索に関する操作の一例である。
以降においては、ユーザは、提案領域200から「ABB」を選択した場合を例として説明する。電子商店街サーバ1は、商品バリエーション表リクエストに含まれるブランドIDに対応するブランドの商品群をブランド商品のカタログから抽出する(ステップS8)。例えば、図2(b)に示すように、プロダクトブランド名が「ABB」である商品は3個存在する。従って、電子商店街サーバ1は、3個の商品を商品群として抽出する。
次いで、電子商店街サーバ1は、抽出した商品群について、属性値のバリエーションがあるか否かを属性項目ごとに抽出する。バリエーションがあるとは、商品群に含まれる商品の属性値の中に互いに異なる属性値が2つ以上あることをいう。或る属性項目について互いに異なる2つ以上の属性値が、属性値のバリエーションである。或る属性項目について、属性値のバリエーションの数を、「バリエーション数」という。バリエーション数が2以上である場合、バリエーションがある。例えば、図2(b)に示すように、プロダクトブランド名が「ABB」である商品の「本数」に対応する属性値は、全て「1」である。従って、本数のバリエーションはない。また、「味」に対応する属性値は、全て無効な値である。従って、味のバリエーションはない。また、プロダクトブランドのバリエーションもない。一方、「内容量」に対応する属性値は、「334」、「350」、「500」である。従って、内容量のバリエーションは3つある。また、「容器」に対応する属性値は、「瓶」、「缶」、「缶」である。従って、容器のバリエーションは2つある。
次いで、電子商店街サーバ1は、属性値のバリエーションがある属性項目を、商品バリエーション表のセルの座標軸に対応付ける(ステップS10)。商品バリエーション表に対応してセルの座標軸があるとみなした場合、少なくとも行方向の座標軸と列方向の座標軸とがある。行方向の座標軸を、「列軸」という。列方向の座標軸を、「行軸」という。属性項目が行軸に対応付けられると、属性項目に対応する属性値のバリエーションが行に対応付けられる。属性項目が列軸に対応付けられると、属性項目に対応する属性値のバリエーションが列に対応付けられる。図2(a)に示すように、属性項目ごとに優先順位が定義されている。そこで、電子商店街サーバ1は、優先順位に基づいて対応付けを行う。具体的に、電子商店街サーバ1は、属性値のバリエーションがある属性項目のうち、優先順位が1番高い属性項目を行軸に対応付け、優先順位が2番目に高い属性項目を列軸に対応付ける。例えば、図2(a)に示すように、本数の優先順位は1、内容量の優先順位は2、容器の優先順位は3、味の優先順位は4、プロダクトブランドの優先順位は5である。なお、何れのジャンルにおいても、プロダクトブランドの優先順位は最も低く設定されていてもよい。電子商店街サーバ1は、「ABB」の商品群について、内容量を行軸に対応付け、容器を列軸に対応付ける。なお、電子商店街サーバ1は、例えば、優先順位が1番高い属性項目を列軸に対応付け、優先順位が2番目に高い属性項目を行軸に対応付けてもよい。
次いで、電子商店街サーバ1は、属性項目と座標軸との対応付けに従って、属性値のバリエーションを商品バリエーション表のセルの位置成分に対応付ける(ステップS11)。例えば、電子商店街サーバ1は、内容量について、「334」を行番号の1、「350」を行番号の2、「500」を行番号の3にそれぞれ対応付ける。また、電子商店街サーバ1は、容器について、「瓶」を列番号の1、「缶」を列番号の2にそれぞれ対応付ける。
次いで、電子商店街サーバ1は、商品バリエーション表の各セルについて、セルの位置に対応する属性値が示す属性を有する商品を、指定されたブランドの商品群の中から検索する(ステップS12)。例えば、行番号が1及び列番号が1のセルに対応する属性値は、内容量について「334」であり、容器について「瓶」である。従って、図2(b)に示すように、「QQQ ABB 瓶 334ml」という商品が検索される。また、例えば、行番号が1及び列番号が2のセルに対応する属性値は、内容量について「350」であり、容器について「瓶」である。従って、図2(b)に示すように、対応する商品は存在しない。
次いで、電子商店街サーバ1は、表データを生成する(ステップS13)。表データは、商品バリエーション表を表示するためのデータである。電子商店街サーバ1は、検索した商品を示すリンクを、対応するセルに設定して、表データを生成する(ステップS14)。そして、電子商店街サーバ1は、表データをユーザ端末3へ送信する。
表データを受信したユーザ端末3は、表データに基づいて、商品バリエーション表を画面に表示する(ステップS15)。図5(a)は、商品バリエーション表の表示例を示す図である。提案領域200からユーザが何れかのブランド名に対してマウスオーバーすると、図5(a)に示すように、トップページには、商品バリエーションウインドウ300がオーバーレイ表示される。商品バリエーションウインドウ300には、商品バリエーション表310aが表示される。
商品バリエーション表310aは、1つ以上のセルCy−xを含む。ここで、yは行番号を示し、xは列番号を示す。セルCy−xの位置に対応する属性値が示す属性を有する商品が存在する場合は、セルCy−xに、商品画像312及び商品名313が表示される。商品画像312は、セルCy−xの位置に対応する属性値が示す属性を有する商品を画像で示す情報である。商品名313は、セルCy−xの位置に対応する属性値が示す属性を有する商品を商品名で示す情報である。商品画像312及び商品名313のそれぞれは、本発明における表示情報の一例である。また、商品画像312及び商品名313は、これらの情報が示す商品を電子商店街から検索するためのリンクである。図5(a)は、提案領域200からユーザがマウスポインタMPで「ABB」をマウスオーバーした場合の商品バリエーション表の表示例を示す。そのため、セルC1−1、C2−2及びC2−3には、商品画像312及び商品名313され、セルC1−2、C1−3及びC2−1には、商品画像312及び商品名313は表示されていない。商品画像312及び商品名313が表示されていないセルを、「空きセル」という。なお、商品画像312及び商品名313のうち何れか一方のみが表示されてもよい。また、商品を示す情報は、画像や商品名に限られるものではない。
商品バリエーション表310aにおいて、各行の見出しのセルには、行に対応付けられた属性値が表示され、各列の見出しのセルには、列に対応付けられた属性値が表示される。各見出しに表示される属性値には、必要に応じて単位を示す文字等が付加されている。例えば、「内容量」に対応する「334」に、「ml」が付加されている。なお、見出しの付近に、対応する属性名が表示されてもよい。また、見出しのセルは表示されなくてもよい。その理由は、商品画像312や商品名313から、属性値を認識することができる場合があるからである。
商品バリエーション表が表示された後、商品バリエーション表からユーザが何れかのセルCy−xの商品画像312及び商品名313の何れかを選択したとする(ステップS16)。すると、ユーザ端末3は、商品の検索リクエストを電子商店街サーバ1へ送信する(ステップS17)。検索リクエストは、選択された商品画像312又は商品名313が示す商品の商品コードを含む。商品コードは、例えば、JAN(Japanese Article Number Code)コード等であってもよい。電子商店街サーバ1は、検索リクエストに含まれる商品コードで、電子商店街から商品を検索する(ステップS18)。例えば、図5(a)において、ユーザがセルC2−2の商品画像312を選択した場合、電子商店街サーバ1は、且つABBブランドの「QQQ ABB 缶 350ml」という名前の商品を検索する。「QQQ ABB 缶 350ml」という名前の商品は、その内容量が350mlであり、その容器が缶である。次いで、電子商店街サーバ1は、検索結果ページをユーザ端末3へ送信する(ステップS19)。検索結果ページは、商品の検索結果が表示されるウェブページである。
図5(b)は、検索結果ページの表示例を示す図である。図5(b)に示すように、検索結果ページは、検索条件設定領域100、検索結果表示領域400等を含む。検索条件設定領域100において、ユーザは、例えば、検索された商品の中から絞り込みを行うための検索条件を指定することができる。検索結果表示領域400には、検索された商品の一覧が表示される。具体的に、検索された商品ごとに、検索商品情報410が表示される。検索商品情報410には、例えば、商品の画像、商品名、販売元の店舗の店舗名、価格等が表示される。なお、検索商品情報410に表示される商品名は、店舗によって登録された商品名である。検索商品情報410に表示される商品名は、ブランド商品のカタログに登録されている商品名とは異なる場合がある。検索結果表示領域400からユーザが何れかの検索商品情報410を選択すると、ユーザ端末3は、選択された検索商品情報410に対応する商品の商品ページを画面に表示する。商品ページは、特定の商品の詳細な情報が表示されるウェブページである。商品ページにおいて、ユーザは、商品を購入する操作を行うことができる。
このように、商品のバリエーションを属性値で整理して表示する商品バリエーション表からユーザが商品を選択することにより、ユーザが望むブランドの商品の中から、ユーザが望む属性を有する商品を容易に検索することができる。これに対し、例えば、提案領域200からユーザがブランド名を指定することにより、電子商店街は、指定されたブランド名に属する商品を電子商店街から検索したとする。そして、検索された商品の一覧が検索結果ページに表示されたとする。この場合、ユーザが望むブランドの商品を検索することはできる。しかしながら、商品の一覧が単に表示されるのみでは、各商品が如何なる属性を有するかをユーザは容易に認識することはできない。そのため、ユーザは、例えば、各商品が如何なる属性を有するかを確認するために、検索商品情報410を選択して、商品ページを表示させるかもしれない。また、例えば、ユーザは、ユーザが望む属性を有する商品を探すために、絞り込みを行うための検索条件を指定して再度検索を要求するかもしれない。これらのような操作に応じて、電子商店街サーバ1が商品ページを送信したり、検索を行ったりすると、電子商店街サーバ1の処理負荷が増大する。一方、本実施形態によれば、商品が属性のバリエーションで整理して表示されるので、これらのユーザ操作を減らすことができる。そのため、電子商店街サーバ1の処理負荷を軽減することができる。
図5(a)が示す例は、属性値のバリエーションがある属性項目が2個存在する場合の例である。属性値のバリエーションがある属性項目の数は、セルの座標軸の数である。そのため、属性値のバリエーションがある属性項目の数を、「次元数」と称することとする。次元数が1である場合、属性値のバリエーションがある属性項目は、例えば行軸に対応付けられる。そして、セルCy−xを含む列が1列のみである商品バリエーション表が表示される。
一方、次元数が3以上である場合、行軸と列軸のみでは足りない。そこで、電子商店街サーバ1は、座標軸を増やすために、優先順位が2番目よりも低い属性項目に対応する属性値の複数のバリエーションを、それぞれ複数の商品バリエーション表の何れかに対応付ける。例えば、電子商店街サーバ1は、複数の商品バリエーション表のそれぞれを、タブで切り替えて表示可能なように表データを生成する。属性値のバリエーションがある属性項目が3個である場合、1つのタブは、1つの商品バリエーション表に対応付けられる。こうして、タブに対応する座標軸が設けられる。タブに対応する座標軸を、「タブ軸」という。タブ軸におけるセルの位置成分は、タブ番号である。電子商店街サーバ1は、優先順位が最も低い属性項目をタブ軸に対応付ける。
ところで、商品のバリエーションが複数の商品バリエーション表で表示される場合、或る商品バリエーション表においては、或る行のセルの全てが空きセルであったり、或る列のセルの全てが空きセルであったりすることがある。全てが空きセルである行や列は、表示する必要がない。そこで、電子商店街サーバ1は、全てが空きセルである行及び列が除かれた商品バリエーション表が表示されるように、表データを生成する。
具体例を説明する。図3(b)に示す提案領域200から、ユーザが「ABC」をマウスオーバーしたとする。図2(b)に示すように、プロダクトブランド名が「ABC」である商品について、本数のバリエーションは、「1」、「6」、「20」、「24」である。また、内容量のバリエーションは、「334」、「350」、「500」、「633」である。また、内容量のバリエーションは、「瓶」、「缶」である。味及びプロダクトブランドのバリエーションはない。従って、電子商店街サーバ1は、優先順位に従って、本数を行座標に対応付け、内容量を列座標に対応付け、容器をタブ座標に対応付ける。
図6(a)は、「本数」に対応する属性値のバリエーションと行番号との対応付けの例を示す図であり、図6(b)は、「内容量」に対応する属性値のバリエーションと列番号との対応付けの例を示す図であり、図6(c)は、「容器」に対応する属性値のバリエーションとタブ番号との対応付けの例を示す図である。図6(c)に示すように、「瓶」はタブ番号の1に、「缶」はタブ番号の2に対応付けられる。そのため、商品のバリエーションは、「瓶」に対応する商品バリエーション表と、「缶」に対応する商品バリエーション表とに分かれて表示される。見出しの行及び列を除いて、各商品バリエーション表の行数及び列数は、4行4列である。
図6(d)は、「瓶」に対応する商品バリエーション表の内容の例を示す図である。図6(e)は、「缶」に対応する商品バリエーション表の内容の例を示す図である。図6(f)は、全てが空きセルである行及び列が削除された「缶」に対応する商品バリエーション表の内容の例を示す図である。図6(g)は、全てが空きセルである行及び列が削除された「瓶」に対応する商品バリエーション表の内容の例を示す図である。図6(d)乃至図6(g)において、「○」が記載されている欄は、対応する商品が存在するセルを示し、空欄は、対応する商品が存在しない空きセルを示す。容器が瓶である「ABC」の商品の中に、内容量が350mlである商品、本数が6本である商品、及び本数が24である商品は何れも存在しない。そのため、図6(e)に示すように、内容量が350mlに対応する列、本数が6本に対応する行及び本数が24である列に対応する行の、全てのセルは空きセルである。従って、図6(f)に示すように、これらの行及び列が削除されて、2行3列の商品バリエーション表になる。また、容器が缶である「ABC」の商品の中に、内容量が334mlである商品、内容量が633mlである商品、及び本数が20本である商品は何れも存在しない。従って、図6(g)に示すように、3行2列の商品バリエーション表になる。
図7は、提案領域200からユーザが「ABC」をマウスオーバーした場合の商品バリエーションウインドウ300の表示例である。図7に示すように、商品バリエーションウインドウ300には、タブ301b及び301c、商品バリエーション表310bが表示される。各タブには、対応する属性値が表示される。タブ301bは、「瓶」に対応し、タブ301cは、「缶」に対応する。図7においては、タブ301bが選択されている状態になっている。そのため、商品バリエーションウインドウ300には、「瓶」に対応する商品バリエーション表310bが表示されている。なお、タブの付近に、対応する属性名が表示されてもよい。
図8は、ユーザがタブ301cを選択した場合の商品バリエーションウインドウ300の表示例である。ユーザがタブ301cを選択すると、図8に示すように、商品バリエーションウインドウ300には、タブ301b及び301cが引き続き表示されるとともに、商品バリエーション表310cが表示される。商品バリエーション表310cは、「缶」に対応する商品バリエーション表である。このように、ユーザがタブを選択することにより、複数の商品バリエーション表を切り替えて表示させることができる。
図5(a)、図7及び図8の例は、ユーザがプロダクトブランドを指定した場合の商品バリエーション表の表示例である。ユーザは、例えば、企業ブランドを指定することができる。例えば、ユーザが「QQQ」を指定したとする。この場合、図2(b)に示すように、「QQQ」の商品バリエーション群については、「本数」、「内容量」、「容器」、「プロダクトブランド」のそれぞれについて、対応する属性値のバリエーションがある。従って、次元数は4である。次元数が4である場合、電子商店街サーバ1は、例えば、1つのタブに対応して複数の商品バリエーション表が表示されるように、表データを生成する。こうして、1つのタブにおける商品バリエーション表に対応する座標軸が設けられる。1つのタブにおいて複数の商品バリエーション表に対応する座標軸を、「タブ内表軸」という。タブ内表軸におけるセルの位置成分は、表番号である。電子商店街サーバ1は、例えば、優先順位が3番目に高い属性項目をタブ内表軸に対応付け、優先順位が最も低い属性項目をタブ軸に対応付ける。「QQQ」の場合、「本数」が行軸、「内容量」が列軸、「容器」がタブ内表軸、「プロダクトブランド」がタブ軸にそれぞれ対応付けられる。
図9は、提案領域200からユーザが「QQQ」をマウスオーバーした場合の商品バリエーションウインドウ300の表示例である。ユーザがキーワード入力欄110に「QQQ」を入力し、それにより表示された提案領域200からユーザが「QQQ」をマウスオーバーすると、図9に示すように、商品バリエーションウインドウ300には、タブ301d及び301e、商品バリエーション表310d−1及び310d−2が表示される。タブ301dは、「ABB」に対応し、タブ301eは、「ABC」に対応する。図9においては、タブ301dが選択されている状態になっている。商品バリエーション表310d−1は、「ABB」及び「瓶」に対応し、商品バリエーション表310d−2は、「ABB」及び「缶」に対応する。各商品バリエーション表の見出しには、タブ内表示軸に対応する属性項目における属性値が表示される。なお、商品バリエーション表の見出しに、又は、見出しの付近に、対応する属性名が表示されてもよい。
図10は、ユーザがタブ301eを選択した場合の商品バリエーションウインドウ300の表示例である。ユーザがタブ301eを選択すると、図10に示すように、商品バリエーションウインドウ300には、タブ301d及び301eが引き続き表示されるとともに、商品バリエーション表310e−1及び310e−2が表示される。商品バリエーション表310e−1は、「ABC」及び「瓶」に対応し、商品バリエーション表310e−2は、「ABC」及び「缶」に対応する。
なお、次元数が5以上である場合も、座標軸を増やすことができる。例えば、1つのタブに対応して、商品バリエーション表が縦横に並べて表示されてもよい。そして、表の縦の並びと横の並びに対してそれぞれ座標軸が割り当てられてもよい。また、1つのタブに対応して、複数の商品バリエーション表を表示するための領域が複数設けられてもよい。そして、領域に対して座標軸が割り当てられてもよい。また、1つのタブに対してサブのタブが複数設けられてもよい。そして、サブのタブに対して座標軸が割り当てられてもよい。また、複数の商品バリエーション表を切り替えて表示させるための手段はタブに限られるものではない。例えば、ラジオボタン、リストボックス等により、複数の商品バリエーション表が切り替えて表示されてもよい。また、複数の商品バリエーション表を切り替えて表示することは必須ではない。例えば、全ての商品バリエーション表が同時に表示されてもよい。
また、属性項目に優先順位を付けることは必須ではない。電子商店街サーバ1は、任意の属性項目を任意の座標軸に対応付けてもよい。また、電子商店街サーバ1は、例えば、プロダクトブランドをタブ軸に対応付け、その他の属性項目を任意の座標軸に対応付けてもよい。また、次元数が2である場合、電子商店街サーバ1は、一の属性項目をタブ軸に対応付け、他の属性項目を、行軸又は列軸の何れかに対応付けてもよい。
[1−3.電子商店街サーバの構成]
次に、電子商店街サーバ1の構成について、図11乃至及び図13を用いて説明する。
図11は、本実施形態に係る電子商店街サーバ1の概要構成の一例を示すブロック図である。図11に示すように、電子商店街サーバ1は、通信部11と、記憶部12と、入出力インターフェース13と、システム制御部14と、を備えている。そして、システム制御部14と入出力インターフェース13とは、システムバス15を介して接続されている。
通信部11は、ネットワークNWに接続して、店舗端末2やユーザ端末3等との通信状態を制御するようになっている。
記憶部12は、例えば、ハードディスクドライブ等により構成されている。記憶部12は、本発明における属性項目情報記憶手段、属性値記憶手段、優先順位記憶手段及び取引対象情報記憶手段の一例である。この記憶部12には、会員情報DB12a、ジャンル情報DB12b、ブランド情報DB12c、ブランド商品カタログDB12d、店舗商品情報DB12e等のデータベースが構築されている。「DB」は、データベースの略語である。
図12(a)は、会員情報DB12aに登録される内容の一例を示す図である。会員情報DB12aには、電子商店街に会員登録しているユーザに関する会員情報が登録される。具体的に、会員情報DB12aには、ユーザID、パスワード、ニックネーム、氏名、生年月日、性別、郵便番号、住所、電話番号、電子メールアドレス等のユーザの属性が、ユーザごとに対応付けて登録される。
図12(b)は、ジャンル情報DB12bに登録される内容の一例を示す図である。ジャンル情報DB12bには、商品のジャンルに関するジャンル情報が登録されている。具体的に、ジャンル情報DB12bには、ジャンルID、ジャンル名、ジャンルのレベル、親ジャンルID、子ジャンルIDリスト、及び1つ以上の属性情報等のジャンルの属性が、ジャンルごとに対応付けて登録される。ジャンル情報は、例えば、電子商店街の運営者により設定される。
ジャンルIDは、ジャンル情報によって定義されるジャンルの識別情報である。ジャンルのレベルは、ジャンルの階層の深さを示す。例えば、最上位のジャンルのレベルは、1である。階層が深くなるほどレベルの値が大きくなる。親ジャンルIDは、ジャンルIDが示すジャンルの親ジャンルのジャンルIDである。子ジャンルIDリストは、ジャンルIDが示すジャンルの子ジャンルのジャンルIDのリストである。子ジャンルIDリストは、ジャンルIDが示すジャンルが子ジャンルを有する場合に設定される。
図12(c)は、属性情報に設定される内容の一例を示す情報である。属性情報は、ジャンルIDが示すジャンルに含まれる商品が有する属性の情報である。属性情報は、属性項目ごとに登録される。図12(c)に示すように、属性情報には、属性名、優先順位及び付加文字が対応付けて設定される。付加文字は、商品バリエーション表の見出しやタブ等に属性値が表示されるときに、属性値に付加して表示される文字である。例えば、単位を示す文字等が付加文字として登録される。なお、或る一のジャンルの全ての子孫ジャンルの属性項目が同一となるとき、これらのジャンルを代表して、その一のジャンルのみについて属性情報が登録されてもよい。そして、システム制御部14は、子孫ジャンルの属性情報が必要な場合、その一のジャンル属性情報を利用してもよい。例えば、「ビール・洋酒」の子ジャンルである「ビール」、「洋酒」、「リキュール」等は、属性項目が同一であるので、「ビール・洋酒」についてのみ属性情報が登録される。
図12(d)は、ブランド情報DB12cに登録される内容の一例を示す図である。ブランド情報DB12cには、ブランドに関するブランド情報が登録されている。具体的に、ブランド情報DB12cには、ブランドID、ブランド名、ブランドのレベル、親ブランドID、子ブランドIDリスト、及びジャンルIDが、ブランドごとに対応付けて登録される。ブランド情報は、例えば、電子商店街の運営者により設定される。
ブランドIDは、ブランド情報によって定義されるブランドの識別情報である。ブランドのレベルは、ブランドの階層の深さを示す。例えば、最上位のブランドのレベルは、1である。階層が深くなるほどレベルの値が大きくなる。親ブランドIDは、ブランドIDが示すブランドの親ブランドのブランドIDである。子ブランドIDリストは、ブランドIDが示すブランドの子ブランドのブランドIDのリストである。子ブランドIDリストは、ブランドIDが示すブランドが子ブランドを有する場合に設定される。ジャンルIDは、ブランドIDが示すブランドの商品が属するジャンルを示す。
図12(e)は、ブランド商品カタログDB12dに登録される内容の一例を示す図である。ブランド商品カタログDB12dは、ブランド商品のカタログに相当する。ブランド商品カタログDB12dには、ブランド商品に関するカタログ情報が登録されている。具体的に、ブランド商品カタログDB12dには、商品コード、商品名、ブランドID、説明文、商品画像のURL(Uniform Resource Locator)、及び1つ以上の属性値が、ブランド商品ごとに対応付けて登録される。カタログ情報は、例えば、電子商店街の運営者により設定される。ブランドIDは、商品のプロダクトブランドを示す。説明文は、商品の説明を示す。
カタログ情報に含まれる属性値は、商品が属するジャンルに応じた属性値である。具体的に、カタログ情報に含まれるブランドIDに対応するジャンルIDがブランド情報DB12cから特定され、ジャンルIDに対応する属性情報がジャンル情報DB12bから特定される。この属性情報に含まれる属性名に対応する属性値が、カタログ情報内に設定される。例えば、「ビール」の1番目の属性情報が「本数」に関する属性情報であり、2番目の属性情報が「内容量」に関する属性情報である場合、ジャンルに応じた属性値として、カタログ情報に設定される1番目の属性値は「本数」に対応する属性値であり、2番目の属性値は「内容量」に対応する属性値である。なお、カタログ情報中に、属性名と属性値とが対応付けて設定されてもよい。
図12(f)は、店舗商品情報DB12eに登録される内容の一例を示す図である。店舗商品情報DB12eには、電子商店街で販売されている商品に関する商品情報が登録される。商品情報は、店舗により登録される情報である。具体的に、店舗商品情報DB12eには、店舗ID、商品ID、商品コード、ジャンルID、商品名、商品画像のURL、商品説明、商品価格等が、店舗が販売する商品ごとに対応付けて登録される。店舗IDは、商品の販売元の店舗の識別情報である。商品IDは、店舗が、販売する商品を管理するための商品の識別情報である。店舗IDと商品IDとの組み合わせで、商品が特定される。商品コードは、商品を識別するコード番号である。商品コードは、例えば、JANコード等であってもよい。複数の店舗で同一の商品が販売される場合、同一の商品コードがそれぞれの商品に対して付与される。ジャンルIDは、商品が属するジャンルを示す。商品情報に設定されるジャンルIDは、基本的に、階層が最も深いジャンルのジャンルIDである。つまり、最も細分化されたジャンルのジャンルIDが設定される。商品名は、店舗が付けた商品の名称である。
次に、記憶部12に記憶されるその他の情報について説明する。記憶部12には、ウェブページを表示するためのHTML(HyperText Markup Language)文書、XML(Extensible Markup Language)文書、画像データ、テキストデータ、電子文書等の各種データが記憶されている。また、記憶部12には、各種の設定値が記憶されている。
また、記憶部12には、オペレーティングシステム、WWW(World Wide Web)サーバプログラム、DBMS(Database Management System)、電子商取引管理プログラム等の各種プログラムが記憶されている。電子商取引管理プログラムは、電子商取引に関する各種の処理を実行するためのプログラムである。電子商取引管理プログラムは、本発明における情報処理プログラムの一例である。なお、各種プログラムは、例えば、他のサーバ装置等からネットワークNWを介して取得されるようにしてもよいし、DVD(Digital Versatile Disc)等の記録媒体に記録されてドライブ装置を介して読み込まれるようにしてもよい。また、電子商取引管理プログラム等は、プログラム製品であってもよい。
入出力インターフェース13は、通信部11及び記憶部12とシステム制御部14との間のインターフェース処理を行うようになっている。
図13は、本実施形態に係る電子商店街サーバ1の機能ブロックの一例を示す図である。システム制御部14は、CPU14a、ROM(Read Only Memory)14b、RAM(Random Access Memory)14c等により構成されている。そして、システム制御部14は、CPU14aが、各種プログラムを読み出し実行することにより、図13に示すように、ブランド名提案部141、商品群抽出部142、バリエーション抽出部143、属性値−位置成分対応付け部144、セル対応商品検索部145、空き行・空き列削除部146、バリエーション表示制御部147及び店舗商品検索部148として機能するようになっている。
ブランド名提案部141は、本発明における区分表示制御手段の一例である。商品群抽出部142は、本発明における取引対象群特定手段の一例である。バリエーション抽出部143は、本発明におけるバリエーション判定手段、属性値取得手段、属性項目情報取得手段及び優先順位取得手段の一例である。属性値−位置成分対応付け部144は、本発明における属性項目決定手段の一例である。セル対応商品検索部145は、本発明における取引対象特定手段の一例である。バリエーション抽出部143及び空き行・空き列削除部146の組み合わせは、本発明における対応付け手段の一例である。空き行・空き列削除部146及びバリエーション表示制御部147の組み合わせは、本発明における表表示制御手段の一例である。店舗商品検索部148は、本発明における検索手段及び検索結果表示制御手段の一例である。
ブランド名提案部141は、トップページにおいてユーザがキーワード入力欄110に文字を入力するごとにユーザ端末3から送信される入力中の文字列を、通信部11を介して受信する。次いで、ブランド名提案部141は、受信した文字列に含まれる1番目のキーワードに対応するブランド名を、ブランド情報DB12cから検索する。次いで、ブランド名提案部141は、検索されたブランド名のリストを、ブランド名に対応するブランドIDとともにユーザ端末3へ送信する。これにより、ブランド名提案部141は、ブランドの一覧を、ユーザ端末3により画面に表示させる。
商品群抽出部142は、ブランドの一覧からユーザにより指定されたブランドIDを含む商品バリエーション表リクエストを、通信部11を介して受信する。次いで、商品群抽出部142は、ユーザにより指定されたブランドに属する商品群を特定する。具体的に、商品群抽出部142は、商品バリエーション表リクエストに設定されたブランドIDを含むカタログ情報を、ブランド商品カタログDB12dから検索する。
バリエーション抽出部143は、商品群抽出部142により特定された商品群が属するジャンルの属性情報を取得する。具体的に、バリエーション抽出部143は、商品バリエーション表リクエストに設定されたブランドIDに対応するジャンルIDを、ブランド情報DB12cから取得する。次いで、バリエーション抽出部143は、取得したジャンルIDに対応する属性情報を、ジャンル情報DB12bから取得する。また、バリエーション抽出部143は、商品群抽出部142により特定された商品群に含まれる各商品の属性値を取得する。具体的に、バリエーション抽出部143は、取得した属性情報が示す属性項目ごとに、属性項目に対応する属性値を、商品群抽出部142により検索された各カタログ情報から取得する。次いで、バリエーション抽出部143は、取得した属性値に基づいて、属性項目ごとにバリエーション数を計算する。次いで、バリエーション抽出部143は、バリエーション数が1以下である場合、属性値のバリエーションがないと判定し、バリエーション数が2以上である場合、属性値のバリエーションがあると判定する。そして、バリエーション抽出部143は、属性値のバリエーションがある属性項目及び属性値のバリエーションを抽出する。
属性値−位置成分対応付け部144、バリエーション抽出部143により抽出された属性項目のそれぞれを、優先順位に基づいて、商品バリエーション表のセルの座標軸に対応付ける。次いで、属性値−位置成分対応付け部144は、属性値の複数のバリエーションのそれぞれを、対応する属性項目に対応付けられた座標軸に沿った位置成分に対応付ける。
セル対応商品検索部145、属性値−位置成分対応付け部144による属性項目と座標軸との対応付け、及び、属性値と位置成分との対応付けに基づいて、商品バリエーション表の各セルの位置に対応する属性値を有する商品を、商品群抽出部142により特定された商品群の中から検索する。
空き行・空き列削除部146は、セルの位置に対応する属性値を有する商品が存在しないことにより、全てのセルが空きセルとなる行及び列をそれぞれ商品バリエーション表が削除する。この結果、属性値と位置成分との対応付けが変化する。
バリエーション表示制御部147は、商品バリエーション表を、ユーザ端末3により画面に表示させる。具体的に、バリエーション表示制御部147は、ユーザ端末3からの要求に応じて、トップページのHTML文書をユーザ端末3へ送信する。トップページのHTML文書には、商品バリエーションウインドウ300をトップページにオーバーレイ表示させ、商品バリエーションウインドウ300に商品バリエーション表を表示するためのスクリプトが記述されている。このスクリプトは、商品バリエーションウインドウ300にタブを表示させ、ユーザによるタブの選択に応じて商品バリエーションウインドウ300の内容を書き換えることにより、商品バリエーション表を切り替えて表示するための命令を含む。また、バリエーション表示制御部147は、属性値−位置成分対応付け部144による属性項目と座標軸との対応付け、及び、属性値と位置成分との対応付けと、セル対応商品検索部145により特定された商品のカタログ情報とに基づいて、商品バリエーション表を表示するための表データを生成する。表データの内容は任意である。例えば、表データは、商品バリエーション表がHTML等の言語で記述されたデータであってもよい。バリエーション表示制御部147は、生成した表データを通信部11を介してユーザ端末3へ送信する。
店舗商品検索部148は、ユーザ端末3により表示された商品バリエーション表から商品画像312及び商品名313の何れかが選択された場合、選択された商品画像312又は商品名313が示す商品を電子商店街から検索する。具体的に、店舗商品検索部148は、ユーザ端末3から送信される検索リクエストを通信部11を介して受信する。次いで、店舗商品検索部148は、受信した検索リクエストに設定された商品コードを含む商品情報を、店舗商品情報DB12eから検索する。また、店舗商品検索部148は、電子商店街からの商品の検索結果をユーザ端末3により画面に表示させる。具体的に、店舗商品検索部148は、検索された商品情報に基づいて、検索結果ページのHTML文書を生成する。次いで、店舗商品検索部148は、生成したHTML文書を通信部11を介してユーザ端末3へ送信する。
なお、電子商店街サーバ1が、複数のサーバ装置で構成されてもよい。例えば、電子商店街において商品の検索や注文等の処理を行うサーバ装置、商品バリエーション表の表示の制御を行うサーバ装置、ユーザ端末3からのリクエストに応じてウェブページを送信するサーバ装置、及びデータベースを管理するサーバ装置等が、互いにLAN等で接続されてもよい。
[1−4.情報処理システムの動作]
次に、情報処理システムSの動作について、図14乃至及び図17を用いて説明する。
図14は、本実施形態に係る電子商店街サーバ1のシステム制御部14の表データ送信処理における処理例を示すフローチャートである。トップページに提案領域200が表示されているとき、提案領域200に表示されているブランド名の一覧からユーザが何れかのブランド名にマウスオーバーすることにより、ユーザがブランドを指定する。すると、ユーザ端末3は、指定されたブランドのブランドIDを含む商品バリエーション表リクエストを電子商店街サーバ1へ送信する。表データ送信処理は、電子商店街サーバ1が商品バリエーション表リクエストを受信したときに開始される。
図14に示すように、バリエーション抽出部143は、次元数Nに0を設定する(ステップS31)。次いで、バリエーション抽出部143は、バリエーション抽出処理を実行する(ステップS32)。バリエーション抽出処理では、属性値のバリエーションがある属性項目、属性値のバリエーション、及びバリエーション数が抽出される。また、バリエーション抽出処理では、属性値のバリエーションがある属性項目の数が、次元数Nに設定される。バリエーション抽出処理の詳細は後述する。
バリエーション抽出処理の後、バリエーション表示制御部147は、次元数Nが1より大きいか否かを判定する(ステップS33)。このとき、バリエーション表示制御部147は、次元数Nが1より大きいと判定した場合には(ステップS33:YES)、ステップS34に移行する。一方、バリエーション表示制御部147は、次元数Nが1以下であると判定した場合には(ステップS33:NO)、ステップS35に移行する。
ステップS34において、バリエーション表示制御部147は、N次元のセル配列を生成する。セル配列の要素は、セル(第1インデックス,第2インデックス,・・・第Nインデックス)で表される。セル配列の各インデックスは、セルの位置成分に対応している。本実施形態においては、セル配列のインデックスの序数とセルの座標軸との対応付けは予め定められている。具体的に、セル配列の第1インデックスは行番号に対応する。セル配列の第2インデックスは列番号に対応する。次元数Nが3以上である場合、セル配列の第Nインデックスはタブ番号に対応する。次元数Nが4以上である場合、セル配列の第3インデックスから第N−1インデックスは、タブ内表番号等に対応する。セル配列の要素には、インデックスに対応する属性値を有する商品を示すリンクのデータが設定される。リンクのデータは、例えば、HTML等の言語で記述されたデータである。行見出しや列見出しのセルに対応する配列要素には、属性値が設定される。セル配列の第2インデックスが0である配列要素が、列見出しのセルに対応し、セル配列の第1インデックスが0である配列要素が、行見出しのセルに対応する。次いで、バリエーション表示制御部147は、ステップS37に移行する。
ステップS35において、バリエーション表示制御部147は、次元数Nが1であるか否かを判定する。このとき、バリエーション表示制御部147は、次元数Nが1であると判定した場合には(ステップS35:YES)、ステップS36に移行する。一方、バリエーション表示制御部147は、次元数Nが1ではないと判定した場合には(ステップS35:NO)、表データ送信処理を終了させる。
ステップS36において、バリエーション表示制御部147は、2次元のセル配列を生成する。その理由は、行見出しや列見出しのセルに対応する配列要素が必要だからである。次いで、バリエーション表示制御部147は、ステップS37に移行する。
ステップS37において、セル対応商品検索部145は、セル配列のインデックスの序数iに次元数Nを設定する。次いで、セル対応商品検索部145は、セル対応商品検索処理を実行する(ステップS38)。セル対応商品検索処理では、セル配列の各要素のインデックスに対応する属性値を有する商品が検索される。そして、セル対応商品検索処理では、検索された商品のリンクのデータがセル配列の要素に設定される。序数iは、セル対応商品検索処理で用いられる。セル対応商品検索処理の詳細は後述する。
セル対応商品検索処理の後、空き行・空き列削除部146は、空き行・空き列削除処理を実行する(ステップS39)。空き行・空き列削除処理では、セル配列における要素の移動が行われる。これにより、全てのセルが空きセルである行や列が実質的に削除される。空き行・空き列削除処理の詳細については後述する。
空き行・空き列削除部146の後、バリエーション表示制御部147は、属性項目と座標軸との対応付けに基づいて、表データを生成する(ステップS40)。具体的に、バリエーション表示制御部147は、セル配列に設定されたリンクのデータに基づいて、商品バリエーション表に商品画像312及び商品名313が表示されるように、表データを生成する。また、バリエーション表示制御部147は、セル配列に設定された属性値に基づいて、商品バリエーション表の行見出しや列見出しに属性値が表示されるように、表データを生成する。また、バリエーション表示制御部147は、属性名(1)〜属性名(N)に基づいて、タブ見出しや表見出しに属性値が表示されるように、表データを生成する。次いで、バリエーション表示制御部147は、生成した表データを、商品バリエーション表リクエストの送信元のユーザ端末3へ送信する(ステップS41)。バリエーション表示制御部147は、この処理を終えると、表データ送信処理を終了させる。
ユーザ端末3は、電子商店街サーバ1から受信した表データに基づいて、商品バリエーション表を画面に表示する。これにより、例えば、図5(a)、図7、図9に示すような商品バリエーション表が表示される。また、タブの選択操作により、例えば、図8、図10に示すような商品バリエーション表が表示される。
図15は、本実施形態に係る電子商店街サーバ1のシステム制御部14のバリエーション抽出処理における処理例を示すフローチャートである。
図15に示すように、バリエーション抽出部143は、ユーザにより指定されたブランドが企業ブランドであるか否かを判定する(ステップS51)。具体的に、バリエーション抽出部143は、商品バリエーション表リクエストに設定されたブランドIDを含むブランド情報をブランド情報DB12cから取得する。次いで、バリエーション抽出部143は、取得したブランド情報に含まれるレベルに1が設定されているか否かを判定する。レベルに1が設定されている場合、指定されたブランドは企業ブランドである。レベルに2が設定されている場合、指定されたブランドはプロダクトブランドである。バリエーション抽出部143は、指定されたブランドはプロダクトブランドであると判定した場合には(ステップS51:NO)、ステップS52に移行する。一方、バリエーション抽出部143は、指定されたブランドは企業ブランドであると判定した場合には(ステップS51:YES)、ステップS53に移行する。
ステップS52において、商品群抽出部142は、指定されたブランドのブランドIDを含むカタログ情報を、ブランド商品カタログDB12dから検索する。次いで、商品群抽出部142は、ステップS54に移行する。
ステップS53において、商品群抽出部142は、指定されたブランドに属するプロダクトブランドのブランドIDを含むカタログ情報を、ブランド商品カタログDB12dから検索する。具体的に、商品群抽出部142は、ブランド情報DB12cから取得したブランド情報に含まれる子ブランドIDリストから、プロダクトブランドのブランドIDを取得する。そして、商品群抽出部142は、取得したブランドIDごとに、ブランドIDを含むカタログ情報を検索する。次いで、商品群抽出部142は、ステップS54に移行する。
ステップS54において、バリエーション抽出部143は、指定されたブランドの商品が属するジャンルのジャンル情報を、ジャンル情報DB12bから取得する。具体的に、バリエーション抽出部143は、ブランド情報DB12cから取得したブランド情報から、ジャンルIDを取得する。そして、バリエーション抽出部143は、取得したジャンルIDを含むジャンル情報を検索する。
次いで、バリエーション抽出部143は、取得したジャンル情報に含まれる属性情報のうち、優先順位が最も高い属性情報を1つ取得する(ステップS55)。次いで、バリエーション抽出部143は、取得した属性情報に含まれる属性名が「プロダクトブランド」であるか否かを判定する(ステップS56)。このとき、バリエーション抽出部143は、属性名が「プロダクトブランド」ではないと判定した場合には(ステップS56:NO)、ステップS57に移行する。一方、バリエーション抽出部143は、属性名が「プロダクトブランド」であると判定した場合には(ステップS56:YES)、ステップS63に移行する。
ステップS57において、バリエーション抽出部143は、取得した属性情報に含まれる属性名が示す属性項目に対応する属性値を、ステップS52又はS53において検索された各カタログ情報から取得する。なお、ステップS52又はS53において検索されたカタログ情報を、「指定されたブランドのカタログ情報群」という。次いで、バリエーション抽出部143は、取得した属性値に基づいて、属性値のバリエーション数を計算する(ステップS58)。具体的に、バリエーション抽出部143は、取得した属性値の中に、値が同一である複数の属性値がある場合、値が同一である複数の属性値のうち1つを残して他の属性値を削除する。これにより、バリエーション抽出部143は、属性値のバリエーションを抽出する。そして、バリエーション抽出部143は、残った属性値の数を、バリエーション数としてカウントする。
次いで、バリエーション抽出部143は、は、バリエーション数が2以上であるか否かを判定する(ステップS59)。このとき、バリエーション抽出部143は、バリエーション数が2以上であると判定した場合には(ステップS59:YES)、ステップS60に移行する。一方、バリエーション抽出部143は、バリエーション数が2未満であると判定した場合には(ステップS59:NO)、ステップS64に移行する。
ステップS60において、バリエーション抽出部143は、次元数Nに1を加算する。次いで、バリエーション抽出部143は、取得した属性情報に含まれる属性名を、属性名(N)に設定する。また、バリエーション抽出部143は、計算したバリエーション数を、バリエーション数VN(N)に設定する(ステップS61)。
次いで、属性値−位置成分対応付け部144は、属性値(N,1)〜属性値(N,V(N))に、抽出した属性値のバリエーションを設定する(ステップS62)。この属性値配列の第1インデックスの値は、セル配列のインデックスの序数に対応する。従って、属性値配列の第1インデックスの値は、セルの座標軸に対応する。また、属性値配列の第2インデックスの値は、第1インデックスの値に対応付けられた座標軸における位置成分に対応する。従って、ステップS61及びS62の処理により、属性値のバリエーションがある属性項目が優先順位に基づいて座標軸に対応付けられるとともに、属性値のバリエーションのそれぞれが位置成分に対応付けられる。属性値−位置成分対応付け部144は、この処理を終えると、ステップS64に移行する。
ステップS63において、バリエーション抽出部143は、ユーザにより指定されたブランドが企業ブランドであるか否かを判定する。このとき、バリエーション抽出部143は、指定されたブランドが企業ブランドであると判定した場合には(ステップS63:YES)、ステップS57に移行する。この場合、指定された企業ブランドにおいて、プロダクトブランドのバリエーションが存在する可能性がある。そのため、バリエーション抽出部143は、ステップS57において、プロダクトブランドのブランドIDを属性値として取得する。一方、バリエーション抽出部143は、指定されたブランドがプロダクトブランドであると判定した場合には(ステップS63:NO)、ステップS64に移行する。
ステップS64において、バリエーション抽出部143は、ジャンル情報からまだ取得していない属性情報があるか否かを判定する。このとき、バリエーション抽出部143は、まだ取得していない属性情報があると判定した場合には(ステップS64:YES)、ステップS65に移行する。ステップS65において、バリエーション抽出部143は、ジャンル情報からまだ取得していない属性情報のうち、優先順位が最も高い属性情報を1つ取得する。次いで、バリエーション抽出部143は、ステップS56に移行する。一方、バリエーション抽出部143は、全ての属性情報を取得したと判定した場合には(ステップS64:NO)、バリエーション抽出処理を終了させる。
図16は、本実施形態に係る電子商店街サーバ1のシステム制御部14のセル対応商品検索処理における処理例を示すフローチャートである。
図16に示すように、セル対応商品検索部145は、セル配列の第iインデックスに1を設定する(ステップS81)。次いで、セル対応商品検索部145は、序数iが1より大きいか否かを判定する(ステップS82)。このとき、セル対応商品検索部145は、序数iが1より大きいと判定した場合には(ステップS82:YES)、ステップS83に移行する。一方、セル対応商品検索部145は、序数iが1であると判定した場合には(ステップS82:NO)、ステップS86に移行する。
ステップS83において、セル対応商品検索部145は、序数iから1を減算する。次いで、セル対応商品検索部145は、再帰呼び出しにより、セル対応商品検索処理実行する(ステップS84)。次いで、セル対応商品検索部145は、序数iに1を加算する(ステップS85)。次いで、セル対応商品検索部145は、ステップS91に移行する。
セル対応商品検索部145がステップS86に移行する場合、セル配列の第1インデックスから第Nインデックスまでの全てのインデックスの設定が完了している。そのため、ステップS86において、セル対応商品検索部145は、指定されたブランドのカタログ情報群から、設定されたインデックスに対応する属性値を有する商品のカタログ情報を検索する。具体的に、セル対応商品検索部145は、属性名(1)に対応する属性値が属性値(1,第1インデックス)であり、属性名(2)に対応する属性値が属性値(2,第2インデックス)であり、・・・、且つ、属性名(N)に対応する属性値が属性値(N,第Nインデックス)であるカタログ情報を検索する。
次いで、セル対応商品検索部145は、カタログ情報が検索されたか否かを判定する(ステップS87)。このとき、セル対応商品検索部145は、カタログ情報が検索されたと判定した場合には(ステップS87:YES)、ステップS88に移行する。一方、セル対応商品検索部145は、カタログ情報が検索されなかったと判定した場合には(ステップS87:NO)、ステップS91に移行する。
ステップS88において、バリエーション表示制御部147は、検索されたカタログ情報から、商品名、商品画像のURL及び商品コードを取得する。次いで、バリエーション表示制御部147は、取得した情報に基づいて、商品を示すリンクのデータを生成する(ステップS89)。具体的に、バリエーション表示制御部147は、商品バリエーション表のセルに商品画像312及び商品名313が表されるように、リンクのデータを生成する。また、バリエーション表示制御部147は、商品画像312又は商品名313が選択された場合に、商品コードを含む検索リクエストが送信されるように、リンクのデータを生成する。
次いで、バリエーション表示制御部147は、生成したリンクデータを、セル(第1インデックス,第2インデックス,・・・第Nインデックス)に設定する(ステップS90)。次いで、バリエーション表示制御部147は、ステップS91に移行する。
ステップS91において、セル対応商品検索部145は、第iインデックスの値がVN(N)よりも小さいか否かを判定する。このとき、第iインデックスの値がVN(N)よりも小さいと判定した場合には(ステップS91:YES)、ステップS92に移行する。ステップS92において、セル対応商品検索部145は、第iインデックスに1を加算する。次いで、セル対応商品検索部145は、ステップS82に移行する。一方、セル対応商品検索部145は、第iインデックスの値がVN(N)以上であると判定した場合には(ステップS91:NO)、セル対応商品検索処理を終了させる。
セル対応商品検索処理の再帰呼び出し、及び、ステップS82〜S92の繰り返しにより、セル配列の各要素に対応する商品が検索され、検索された商品を示すリンクのデータが設定される。
図17は、本実施形態に係る電子商店街サーバ1のシステム制御部14の空き行・空き列削除処理における処理例を示すフローチャートである。
図17に示すように、空き行・空き列削除部146は、セル配列のインデックスと行軸との対応付け、及び、インデックスと列軸との対応付けに基づいて、セル配列から、1つの商品バリエーション表に対応する2次元の部分配列を特定する(ステップS101)。本実施形態においては、セル配列の第1インデックスが行軸に対応し、第2インデックスが列軸に対応する。ここで、特定された部分配列を、「表配列」という。また、表配列の中で、行に対応する1次元の各配列を、「行配列」という。また、表配列の中で、列に対応する1次元の各配列を、「列配列」という。
次いで、バリエーション表示制御部147は、特定した表配列において商品バリエーション表の行見出しに対応する列配列に、行軸に対応付けられた属性項目に対応する属性値配列の内容を設定する(ステップS102)。ここで、行軸に対応付けられた属性項目に対応する属性情報が付加文字を含む場合、バリエーション表示制御部147は、属性値に付加文字を付加して、設定を行う。
次いで、空き行・空き列削除部146は、特定した表配列の行配列ごとに、行配列の全ての要素にリンクのデータが設定されていないかを判定する。そして、空き行・空き列削除部146は、全ての要素にリンクのデータが設定されていない行配列が存在する場合、その行配列よりも後ろの行配列の内容を、それぞれ1つ前の行配列に移動させる(ステップS103)。
次いで、空き行・空き列削除部146は、次元数Nが1より大きいか否かを判定する(ステップS104)。このとき、空き行・空き列削除部146は、次元数Nが1より大きいと判定した場合には(ステップS104:YES)、ステップS105に移行する。一方、空き行・空き列削除部146は、次元数Nが1以下であると判定した場合には(ステップS104:NO)、ステップS107に移行する。
ステップS105及びS106において、バリエーション表示制御部147及び空き行・空き列削除部146は、ステップS102及びS103において行に対して実行した処理と同様の処理を、列に対して行う。次いで、空き行・空き列削除部146は、ステップS107に移行する。
ステップS107において、空き行・空き列削除部146は、セル配列からまだ特定していない表配列があるか否かを判定する。このとき、空き行・空き列削除部146は、まだ特定していない表配列があると判定した場合には(ステップS107:YES)、ステップS108に移行する。ステップS108において、空き行・空き列削除部146は、セル配列からまだ特定していない表配列のうち1つを特定する。次いで、空き行・空き列削除部146は、ステップS101に移行する。一方、空き行・空き列削除部146は、全ての表配列を特定したと判定した場合には(ステップS107:NO)、空き行・空き列削除処理を終了させる。
以上説明したように、本実施形態によれば、システム制御部14が、属性項目に対応する属性値が示す属性をそれぞれが有する複数の商品の中から、ユーザによるブランド名に対するマウスオーバーに基づいて特定された商品群について、属性値が2以上あるか否かを属性項目ごとに判定し、2以上あると判定された属性値のバリエーションのそれぞれを、商品バリエーション表、商品バリエーション表の行又は列に対応付け、対応付けに基づいて、セルに対応するバリエーションが示す属性を有する商品を、特定された商品群の中からセルごとに特定し、特定された商品を示す商品画像及び商品名をセルが含む商品バリエーション表をユーザ端末3により表示させる。従って、商品を属性のバリエーションで整理して表にして表示させることができる。
また、システム制御部14が、属性項目を示す属性名を商品のジャンルごとに記憶する記憶部12から、特定された商品群が属するジャンルの属性名を取得し、各商品の属性値を属性項目ごとに記憶する記憶部12から、特定された商品群に含まれる各商品の属性値を取得し、取得された属性名が示す属性項目について取得された属性値に基づいて、属性値のバリエーションがあるか否かを判定する。従って、商品バリエーション表に属性値のバリエーションが示される属性項目として、商品のジャンルに適した属性項目を運営者が設定することができる。
また、プロダクトブランドで商品群が特定されるので、商品画像及び商品名を含まない空きセルを減らすことができる。その理由は、商品ブランドに属する商品を企業が製造、販売等する場合、例えば、容量と本数等の組み合わせといった企業が決めた属性値のバリエーションの様々な組み合わせのうち、広い範囲に対応する商品を企業が準備している蓋然性が高いからである。
また、システム制御部14が、属性値のバリエーションがあると判定された属性項目が3以上ある場合、属性値のバリエーションを行に対応付ける属性項目、属性値のバリエーションを列に対応付ける属性項目、属性値のバリエーションをタブやタブ内の表等に対応付ける属性項目を決定し、複数の商品バリエーション表のそれぞれのユーザ端末3による表示を可能にする。従って、属性値のバリエーションがある属性項目が3以上あっても、属性値のバリエーションの組み合わせに対応した商品の商品画像及び商品名を含む商品バリエーション表を表示させることができる。
また、システム制御部14が、属性項目の優先順位を属性項目に関連付けてジャンルごとに記憶する記憶部12から、特定された商品群が属するジャンルにおける属性項目の優先順位を取得し、取得された優先順位に基づいて、複数の商品バリエーション表の何れかにバリエーションを対応付ける属性項目を決定する。従って、運営者がジャンルごとに各属性項目に対して優先順位を設定しておくことにより、優先順位に応じた態様で商品バリエーション表を表示させることができる。
また、システム制御部14が、商品の複数のブランドから、ユーザがキーワード入力欄110に入力中の文字列に含まれるキーワードに基づいて特定されるブランドを1以上表示させ、表示された1以上のブランドからユーザにより指定されたブランドに属する商品群を特定し、特定されたブランドに属する商品群について属性値のバリエーションがあるか否かを判定し、表示された商品バリエーション表から何れかの商品画像又は商品名がユーザにより指定された場合、互いに異なる店舗が同一の商品を販売することがある複数の店舗のそれぞれから販売される商品に関する商品情報を記憶する記憶部12から、指定された商品画像又は商品名が示す商品に関する商品情報を検索して、検索結果ページをユーザ端末3により表示させる。従って、複数の店舗の中に、ユーザが指定した商品画像又は商品名が示す商品を提供する店舗が1以上存在すれば、店舗ごとの商品に関する情報が検索結果として表示される。そのため、ユーザが望むブランドに属し、且つ、ユーザが望む属性を有する商品を容易に検索することができる。
[1−5.変形例]
以下に、変形例について説明する。なお、以下の変形例は、後続の実施形態に対しても適用可能である。
[変形例1]
商品群を特定するための区分は、ブランドに限られるものではない。例えば、商品群を特定するための区分は、ジャンルであってもよい。具体的に、電子商店街サーバ1は、キーワード入力欄110に入力されたキーワードに対応するジャンル名を検索し、検索したジャンル名が提案領域200に表示されるように制御する。そして、電子商店街サーバ1は、提案領域200からジャンル名が指定された場合、指定されたジャンル名が示すジャンルに属する商品群を特定し、特定した商品群について商品バリエーション表が表示されるように制御する。この場合、1つのジャンルに複数の企業ブランドの商品が属する場合がある。従って、電子商店街サーバ1は、企業ブランドも属性項目に含めて、企業ブランドのバリエーションがあるか否かを判定してもよい。また、企業ブランドの優先順位は、最も低く設定されてもよい。
[変形例2]
電子商店街サーバ1は、商品バリエーション表をトップページにオーバーレイ表示させるのではなく、商品バリエーション表を、トップページとは別のウェブページに表示してもよい。例えば、提案領域200からユーザが何れかの区分をクリックしたときに、商品バリエーション表のウェブページが表示されてもよい。また、区分の一覧が表示されるウェブページからユーザが何れかの区分を選択したときに、商品バリエーション表のウェブページが表示されてもよい。
[変形例3]
電子商店街サーバ1は、少なくとも1つの属性項目が互いに異なる複数の区分をユーザが指定可能なように制御してもよい。指定の方法は任意である。例えば、区分の一覧が表示されるウェブページにおいて、複数の区分が選択可能であってもよい。複数の区分が選択された場合、電子商店街サーバ1は、例えば、複数の区分の間で共通する属性項目を特定し、共通する属性項目についての商品のバリエーションを表示するように制御してもよい。例えば、電子商店街サーバ1は、属性名が一致するか否かを判定することにより、共通する属性項目を特定する。
例えば、ユーザが、ジャンルとして、テレビと冷蔵庫とを指定したとする。図2(a)に示すように、テレビと冷蔵庫とで共通する属性項目は、消費電力及びプロダクトブランドである。そこで、電子商店街サーバ1は、消費電力及びプロダクトブランドのそれぞれについて、属性値のバリエーションがあるか否かを判定し、判定結果に基づいて表データを生成する。この場合、商品バリエーション表の1つのセルの位置に対応する属性値が示す属性を有する商品が複数存在する場合がある。その場合、1つのセルに、商品画像312と商品名313との組み合わせが複数組含まれてもよい。なお、共通する属性項目には、企業ブランドが含まれていてもよい。
[変形例4]
1つの企業ブランドに、ジャンルが互いに異なる複数のプロダクトブランドが属していてもよい。例えば、「SSS」は、電気製品を製造、販売するS社のブランド名であるとする。また、「GHI」、「JKL」、「MNO」は、S社が有するプロダクトブランドであるとする。例えば、「GHI」は、テレビのプロダクトブランドであり、「JKL」は、録画装置のプロダクトブランドであり、「MNO」は、音楽プレーヤーのプロダクトブランドである。テレビと録画装置と音楽プレーヤーとはジャンルが異なる。そのため、テレビと録画装置と音楽プレーヤーとでは、少なくとも1つの属性項目が異なるとする。この場合、電子商店街サーバ1は、例えば、変形例3と同様に、共通する属性項目についての商品のバリエーション表を表示するように制御してもよい。
あるいは、電子商店街サーバ1は、例えば、プロダクトブランドをタブ軸に対応付け、各プロダクトブランドに対応する属性項目に基づいて、独立した商品のバリエーション表が表示されるように制御してもよい。例えば、「GHI」に対応するタブが選択された場合、パネルの種類、画面サイズ、商品電力のうち属性値のバリエーションがある属性項目についての商品のバリエーション表が表示される。また、「JKL」に対応するタブが選択された場合、例えば、再生可能な光ディスクの種類、ハードディスクの容量、同時録画可能数等の属性項目のうち、属性値のバリエーションがある属性項目についての商品のバリエーション表が表示される。
[2.第2実施形態]
次に、第2実施形態について、図18乃至図20を用いて説明する。第2実施形態においては、電子商店街サーバ1が、商品バリエーション表の縦のセル数と横のセル数との多少関係が、商品バリエーション表を表示するユーザ端末3における画面の縦の長さと横の長さとの長短関係と合致するように、属性値のバリエーションがある属性項目を行軸及び列軸の何れに対応付けるかを決定する。
図18(a)及び図18(b)は、それぞれ「ABB」における商品バリエーション表の表示例を示す図である。「ABB」の商品については、本数のバリエーション数が2であり、内容量のバリエーション数が3である。従って、商品バリエーション表は、2行3列、又は、3行2列の表になる。
図18(a)は、画面D1の横の長さが縦の長さよりも長い場合の商品バリエーション表の表示例である。この場合、電子商店街サーバ1は、横のセル数が縦のセル数よりも多くなるように、本数及び内容量のそれぞれについて、行軸及び列軸の何れに対応付けるかを決定する。従って、本数が行軸に対応付けられ、内容量が列軸に対応付けられる。そのため、図18(a)に示すように、商品バリエーションウインドウには、2行3列の商品バリエーション表310aが表示される。ユーザ端末3の画面は、商品バリエーション表が表示される領域の一例である。
図18(b)は、画面D2の縦の長さが横の長さよりも長い場合の商品バリエーション表の表示例である。この場合、電子商店街サーバ1は、縦のセル数が横のセル数よりも多くなるように、本数及び内容量のそれぞれについて、行軸及び列軸の何れに対応付けるかを決定する。この場合、内容量が行軸に対応付けられ、本数が列軸に対応付けられる。そのため、図18(b)に示すように、商品バリエーションウインドウには、3行2列の商品バリエーション表310fが表示される。
このように、商品バリエーション表のセルの多少関係と画面の長短関係とが合致するので、ユーザは商品バリエーション表の全体を容易に見ることができる。具体的には、画面に商品バリエーション表の全体が含まれる蓋然性が高くなる。あるいは、たとえ、画面に商品バリエーション表の全体が含まれなかったとしても、商品バリエーション表の全箇所を見るために必要なユーザ操作が少なくなる。
次元数が2である場合、電子商店街サーバ1は、属性値のバリエーションがある2つの属性項目の何れかの属性項目について、行軸及び列軸の何れに対応付けけるかを決定すればよい。これにより、残りの一つ属性項目が対応付けられる座標軸が自動的に決まる。次元数が3以上である場合、電子商店街サーバ1は、例えば、優先順位が1番目の属性項目と2番目の属性項目のうち、何れかの属性項目について、行軸及び列軸の何れに対応付けけるかを決定すればよい。次元数が1である場合、電子商店街サーバ1は、属性値のバリエーションがある1つの属性項目を、行軸及び列軸の何れに対応付けけるかを決定すればよい。
図19は、本実施形態に係る電子商店街サーバ1の機能ブロックの一例を示す図である。図19において、図13と同様の要素については同様の符号が付されている。図19に示すように、システム制御部14は、ブランド名提案部141、商品群抽出部142、バリエーション抽出部143、属性値−位置成分対応付け部144、セル対応商品検索部145、空き行・空き列削除部146、バリエーション表示制御部147、店舗商品検索部148及び対応付け変更部149として機能するようになっている。対応付け変更部149は、本発明における行・列決定手段の一例である。
対応付け変更部149は、属性値−位置成分対応付け部144により優先順位に基づいて属性項目と座標軸の対応付けが行われた結果、縦のセル数と横のセル数との多少関係が、画面の縦の長さと横の長さとの長短関係と合致しない場合、行軸に対応付ける属性項目と、列軸に対応付ける属性項目とを入れ替える。対応付け変更部149は、画面の縦の長さと横の長さとの長短関係を示す情報を、例えば、ユーザ端末3から送信されてくる商品バリエーション表リクエストから取得する。例えば、対応付け変更部149は、リクエストのヘッダからユーザーエージェント情報を取得し、取得した情報に基づいて、ユーザ端末3の種類を判別してもよい。そして、対応付け変更部149は、ユーザ端末3の種類に基づいて、長短関係を判定してもよい。また、リクエストのヘッダに画面の解像度が設定されている場合、対応付け変更部149は、設定されている解像度に基づいて、長短関係を判定してもよい。また、対応付け変更部149は、長短関係を判定することができる他の方法を用いてもよい。
なお、複数の商品バリエーション表がタブで切り替えて表示される場合、例えば、対応付け変更部149は、最初に表示される商品バリエーション表の縦のセル数と横のセル数とに基づいて、多少関係を判定してもよい。また、複数の商品バリエーション表が同時に表示される場合、例えば、対応付け変更部149は、最も上且つ最も左に表示される商品バリエーション表の縦のセル数と横のセル数とに基づいて、多少関係を判定してもよい。また、対応付け変更部149は、例えば、縦のセル数の平均値と横のセル数の平均値とに基づいて、多少関係を判定してもよい。
図20は、本実施形態に係る電子商店街サーバ1のシステム制御部14の表データ送信処理における処理例を示すフローチャートである。図20において、図14と同様の処理については同様の符号が付されている。
図20に示すように、ステップS31〜S39が実行された後、対応付け変更部149は、商品バリエーション表リクエストに基づいて、画面の縦の長さが横の長さよりも長いか否かを判定する(ステップS121)。このとき、対応付け変更部149は、縦の長さが横の長さよりも長いと判定した場合には(ステップS121:YES)、ステップS122に移行する。一方、対応付け変更部149は、縦の長さが横の長さよりも長くはないと判定した場合には(ステップS121:NO)、ステップS123に移行する。
ステップS122において、対応付け変更部149は、商品バリエーション表の縦のセル数が横のセル数よりも少ない否かを判定する。バリエーション抽出処理においては、属性名(1)が示す属性項目が行軸に、属性名(2)が示す属性項目が列軸に対応付けられる。また、空きセル削除処理においては、属性項目と座標軸との対応付けに基づいて、行見出しに対応する列配列や列見出しに対応する行配列に、属性値が設定される。そのため、対応付け変更部149は、行見出しに対応する列配列や列見出しに対応する行配列の内容に基づいて、縦のセル数と横のセル数とを計算する。対応付け変更部149は、縦のセル数が横のセル数よりも少なくはないと判定した場合には(ステップS122:NO)、ステップS40に移行する。一方、対応付け変更部149は、縦のセル数が横のセル数よりも少ないと判定した場合には(ステップS122:YES)、ステップS124に移行する。
ステップS123において、対応付け変更部149は、商品バリエーション表の縦のセル数が横のセル数よりも多いか否かを判定する。このとき、対応付け変更部149は、縦のセル数が横のセル数よりも多いと判定した場合には(ステップS123:YES)、ステップS124に移行する。一方、対応付け変更部149は、縦のセル数が横のセル数よりも多くはないと判定した場合には(ステップS123:NO)、ステップS40に移行する。
ステップS124において、対応付け変更部149は、属性名(1)が示す属性項目を列軸に対応付け、属性名(2)が示す属性項目を行軸に対応付ける。次いで、バリエーション表示制御部147は、ステップS40及びS41を実行して、表データ送信処理を終了させる。
以上説明したように、本実施形態によれば、システム制御部14が、商品バリエーション表の縦のセル数と横のセル数との多少関係と、商品バリエーション表が表示されるユーザ端末3の画面の縦の長さと横の長さとの長短関係とが合致するように、バリエーションがあると判定された属性項目のうち少なくとも1つについて、対応する属性値のバリエーションが行及び列のうち何れに対応付けられるかを決定する。従って、ユーザが商品バリエーション表の全体を見ることが容易となる。
[3.第3実施形態]
次に、第3実施形態について、図21乃至図24を用いて説明する。第3実施形態においては、次元数が3以上となる場合、電子商店街サーバ1が、表示されるべき複数の商品バリエーション表のセルのうち空きセルが最も少なくなるように、行軸及び列軸のそれぞれに対応付ける属性項目を決定する。
次元数が3以上となる場合、セルの座標軸のうち行軸及び列軸のそれぞれに対応付けられる属性項目によって、空きセルの数が変化する。商品バリエーション表のセルの数に対して、空きセルの数が多い場合、商品バリエーション表のセルの総数に対して、商品バリエーション表に表示される商品のバリエーションの数が少ないことを意味する。商品のバリエーションの数が少ない商品バリエーション表をユーザに提供することは適切ではない。そこで、電子商店街サーバ1は、空きセルが最も少なくなるように、属性項目と座標軸とを対応付ける。
以下に具体例を示す。ユーザにより指定されたブランドが「ABC」であるとする。「ABC」の次元数は3であるので、2つの属性項目は行軸及び列軸に対応付けられ、他の1つの属性項目はタブ軸に対応付けられる。
図21(a)乃至図21(c)は、全てが空きセルである行及び列が削除された商品バリエーション表の内容の例を示す図である。「○」が記載されている欄は、対応する商品が存在するセルを示し、空欄は、対応する商品が存在しない空きセルを示す。図21(a)は、本数が行軸に、内容量が列軸にそれぞれ対応付けられた場合の商品バリエーション表の内容を示す。容器のバリエーション数は2であるので、商品バリエーション表は、2つの表に分けられる。この場合、図21(a)に示すように、空きセル数は2である。図21(b)は、本数が行軸に、容器が列軸にそれぞれ対応付けられた場合の商品バリエーション表の内容を示す。内容量のバリエーション数は4であるので、商品バリエーション表は、4つの表に分けられる。この場合、図21(b)に示すように、空きセル数は3である。図21(c)は、内容量が行軸に、容器が列軸にそれぞれ対応付けられた場合の商品バリエーション表の内容を示す。本数のバリエーション数は4であるので、商品バリエーション表は、4つの表に分けられる。この場合、図21(c)に示すように、空きセル数は3である。従って、最終的には、本数が行軸に、内容量が列軸にそれぞれ対応付けられる。そのため、商品バリエーションウインドウ300には、図7又は図8に示すように商品バリエーション表が表示される。なお、行軸と列軸とを入れ替えた場合も結果は同じである。
図22は、本実施形態に係る電子商店街サーバ1の機能ブロックの一例を示す図である。図22において、図13と同様の要素については同様の符号が付されている。図22に示すように、システム制御部14は、ブランド名提案部141、商品群抽出部142、バリエーション抽出部143、属性値−位置成分対応付け部144、セル対応商品検索部145、空き行・空き列削除部146、バリエーション表示制御部147、店舗商品検索部148及び行軸・列軸決定部150として機能するようになっている。行軸・列軸決定部150は、本発明における属性項目決定手段の一例である。行軸・列軸決定部150は、空きセルが最も少なくなるように、属性項目と座標軸とを対応付ける。
図23は、本実施形態に係る電子商店街サーバ1のシステム制御部14の表データ送信処理における処理例を示すフローチャートである。図23において、図14と同様の処理については同様の符号が付されている。
図23に示すように、ステップS31〜S38が実行される。ここで、バリエーション抽出処理における属性項目と座標軸との対応付けは、後で変更される場合がある。ステップS38が実行された後、行軸・列軸決定部150は、次元数Nが3以上であるか否かを判定する(ステップS131)。このとき、行軸・列軸決定部150が次元数Nが3未満であると判定した場合には(ステップS131:NO)、バリエーション表示制御部147は、ステップS40及びS41を実行して、表データ送信処理を終了させる。一方、行軸・列軸決定部150は、次元数Nが3以上であると判定した場合には(ステップS131:YES)、行軸・列軸決定処理を実行する(ステップS132)。
図24は、本実施形態に係る電子商店街サーバ1のシステム制御部14の行軸・列軸決定処理における処理例を示すフローチャートである。
図24に示すように、行軸・列軸決定部150は、バリエーション数VN(1)〜VN(N)に基づいて計算される商品バリエーション表の総セル数を、最少空きセル数に設定する(ステップS141)。次いで、行軸・列軸決定部150は、属性名(1)〜属性名(N)の中から、2つの属性名の組み合わせを選択する(ステップS142)。
次いで、行軸・列軸決定部150は、選択した組み合わせに含まれる一方の属性名が示す属性項目を、行軸に仮に対応付け、選択した組み合わせに含まれる他方の属性名が示す属性項目を、列軸に仮に対応付ける(ステップS143)。なお、行軸・列軸決定部150は、選択した組み合わせに含まれる属性名が示す属性項目のうち、優先順位が高い方の属性項目を行軸に対応付けてもよい。次いで、行軸・列軸決定部150は、属性名(1)〜属性名(N)のうち、選択した組み合わせに含まれる属性名以外の属性名が示す属性項目のそれぞれを、タブ軸、タブ内表軸等に仮に対応付ける(ステップS144)。なお、行軸・列軸決定部150は、属性項目の優先順位に従って対応付けを行ってもよい。
次いで、行軸・列軸決定部150は、セル対応商品検索処理において設定が行われたセル配列のコピーを生成する(ステップS145)。次いで、空き行・空き列削除部146は、空き行・空き列削除処理を実行する(ステップS146)。本実施形態においては、セル配列のコピーに対して空き行・空き列削除処理が施される。また、ステップS143及びS144における属性項目と座標軸との対応付けに従って、表配列が特定される。
次いで、行軸・列軸決定部150は、空き行・空き列削除処理が施されたセル配列のコピーの内容に基づいて、ステップS134及びS144における属性項目と座標軸との対応付けに応じた商品バリエーション表の空きセル数をカウントする(ステップS147)。次いで、行軸・列軸決定部150は、空きセル数が最少空きセル数未満であるか否かを判定する(ステップS148)。このとき、行軸・列軸決定部150は、空きセル数が最少空きセル数未満であると判定した場合には(ステップS148:YES)、ステップS149に移行する。一方、行軸・列軸決定部150は、空きセル数が最少空きセル数以上であると判定した場合には(ステップS148:NO)、ステップS150に移行する。
ステップS149において、行軸・列軸決定部150は、最少空きセル数に空きセル数を設定する。また、行軸・列軸決定部150は、ステップS144における属性項目と座標軸との仮の対応付けの状態を保存する。次いで、行軸・列軸決定部150は、ステップS150に移行する。
ステップS150において、行軸・列軸決定部150は、属性名(1)〜属性名(N)から選択可能な2つの属性名の組み合わせのうち、まだ選択していない組み合わせがあるか否かを判定する。このとき、行軸・列軸決定部150は、まだ選択していない組み合わせがあると判定した場合には(ステップS150:YES)、ステップS151に移行する。一方、行軸・列軸決定部150は、全ての組み合わせを選択したと判定した場合には(ステップS150:NO)、ステップS152に移行する。
ステップS151において、行軸・列軸決定部150は、属性名(1)〜属性名(N)からまだ選択していない2つの属性名の組み合わせのうち1つを選択する。次いで、行軸・列軸決定部150は、ステップS143に移行する。
ステップS152において、行軸・列軸決定部150は、ステップS149において最後に保存された属性項目と座標軸との対応付けの状態を読み出し、読み出した状態の通りに属性項目と座標軸との対応付けを行う。行軸・列軸決定部150は、この処理を終えると、行軸・列軸決定処理を終了させる。
行軸・列軸決定処理の後、バリエーション表示制御部147は、図23に示すように、行軸・列軸決定処理における属性項目と座標軸との対応付けと、この対応付けに応じたセル配列のコピーと、属性名(1)〜属性名(N)とに基づいて、表データを生成する(ステップS133)。次いで、バリエーション表示制御部147は、ステップS41に移行する。
以上説明したように、システム制御部14が、商品画像及び商品名を含まない行及び列が除かれた商品バリエーション表を表示させ、複数の商品バリエーション表のセルのうち商品画像及び商品名を含まないセルが最も少なくなるように、複数の商品バリエーション表の何れかにバリエーションを対応付ける属性項目を決定する。従って、商品画像及び商品名を含まないセルが少ない商品バリエーション表を表示させることができる。
なお、電子商店街サーバ1は、第3実施形態を、第1実施形態及び第2実施形態のうち少なくとも1つと組み合わせて、属性項目と座標軸との対応付けを行うことも可能である。例えば、電子商店街サーバ1は、空きセル数に基づいて属性項目と座標軸との対応付けを行った後、ユーザ端末3の画面の長短関係に基づいて、行軸と列軸とを入れ替えるか否かを判定してもよい。
[4.第4実施形態]
次に、第4実施形態について、図25乃至図28を用いて説明する。第4実施形態においては、電子商店街サーバ1が、ユーザがキーワード入力欄110に入力中の文字列に含まれるキーワードに基づいて、タブ軸に対応付ける属性項目を決定する。
例えば、ユーザは、或るブランドの商品群のうち、特定の属性を有する商品群における商品のバリエーションを知りたい場合がある。例えば、ユーザが、「ABC」の商品の中で、内容量が500mlである商品のバリエーションを知りたいとする。この場合において、例えば、図7及び図8に示すような表示では、商品バリエーション表が2つのタブに分かれるため、内容量が500mlである商品のバリエーションの全てを一度にユーザが見ることができない。また、例えば、図10に示すような表示では、内容量が500mlである商品のバリエーションの全てを同時にユーザが見ることができることもある。しかしながら、各商品バリエーション表に、内容量が500mlではない商品の情報も含まれているので、ユーザが知りたいバリエーションを確認しにくい。
そこで、キーワード入力欄110にユーザがブランド名に続けて属性値を入力した場合、電子商店街サーバ1は、抽出された属性値のバリエーションの中から、入力された属性値に対応するバリエーションを特定する。そして、電子商店街サーバ1は、特定したバリエーションに対応する属性項目を、タブ軸に対応付ける。また、電子商店街サーバ1は、特定したバリエーションに対応するタブの商品バリエーション表が最初に表示される制御する。
図25は、商品バリエーション表の表示例を示す図である。例えば、ユーザがキーワード入力欄110に、「ABC 500ml」と入力したとする。その後、提案領域200に表示されている「ABC」をユーザがマウスオーバーしたとする。「ABC」の商品においては、「内容量」について「500」のバリエーションがある。従って、「内容量」がタブ軸に対応付けられる。従って、図25に示すように、商品バリエーションウインドウ300には、タブ301g〜301j、及び商品バリエーション表310iが表示される。タブ301g〜301jのそれぞれには、「内容量」に対応する属性値が対応付けられている。具体的に、タブ301gは334mlに対応し、タブ301hは350mlに対応し、タブ301iは500mlに対応し、タブ301jは633mlに対応する。タブ301g〜301jのうち、タブ301iが選択されている状態になっている。商品バリエーション表310iは、500mlに対応する商品バリエーション表である。従って、商品バリエーション表310iには、内容量が500mlである商品のバリエーションが表示される。
図26は、本実施形態に係る電子商店街サーバ1の機能ブロックの一例を示す図である。図26において、図13と同様の要素については同様の符号が付されている。図26に示すように、システム制御部14は、ブランド名提案部141、商品群抽出部142、バリエーション抽出部143、属性値−位置成分対応付け部144、セル対応商品検索部145、空き行・空き列削除部146、バリエーション表示制御部147、店舗商品検索部148及びタブ軸決定部151として機能するようになっている。タブ軸決定部151は、本発明における属性項目決定手段の一例である。バリエーション表示制御部147及びタブ軸決定部151の組み合わせは、本発明における表表示制御手段の一例である。
タブ軸決定部151は、キーワード入力欄110に入力中の文字列に2語以上のキーワードが含まれている場合、属性値のバリエーションの中から2番目のキーワードに対応するバリエーションを検索する。キーワードに対応するバリエーションは、例えば、キーワードと一致するバリエーション、及び、一部がキーワードと一致するバリエーションの少なくとも何れか一方であってもよい。また、キーワードに対応するバリエーションは、例えば、キーワードに前方一致するバリエーションであってもよいし、キーワードに後方一致するバリエーションであってもよい。タブ軸決定部151は、付加文字がある属性項目については、付加文字が付加された属性値に対して検索を行う。例えば、本数の場合、付加文字が付加された属性値は、「1本」、「6本」等である。タブ軸決定部151は、2番目のキーワードに対応するバリエーションがある場合には、そのバリエーションに対応する属性項目をタブ軸に対応付ける。そして、タブ軸決定部151は、2番目のキーワードに対応するバリエーションに対応するタブを、初期表示の対象として決定する。なお、タブ軸決定部151は、2番目のキーワード以外のキーワードに対応する属性値のバリエーションを検索してもよい。
図27は、本実施形態に係る電子商店街サーバ1のシステム制御部14の表データ送信処理における処理例を示すフローチャートである。図27において、図14と同様の処理については同様の符号が付されている。
図27に示すように、ステップS31〜S38が実行される。次いで、タブ軸決定部151は、タブ番号初期値に1を設定する(ステップS161)。タブ番号初期値は、商品バリエーションウインドウ300に最初に表示される商品バリエーション表のタブ番号である。次いで、タブ軸決定部151は、次元数Nが3以上であるか否かを判定する(ステップS162)。このとき、タブ軸決定部151は、次元数Nが3以上でないと判定した場合には(ステップS162:NO)、ステップS39に移行する。一方、タブ軸決定部151は、次元数Nが3以上であると判定した場合には(ステップS162:YES)、ステップS163に移行する。ステップS163において、タブ軸決定部151は、タブ軸決定処理を実行する。
図28は、本実施形態に係る電子商店街サーバ1のシステム制御部14のタブ軸決定処理における処理例を示すフローチャートである。
図28に示すように、タブ軸決定部151は、図4のステップS2においてユーザ端末3から受信された入力中の文字列に、キーワードが2語以上含まれているか否かを判定する(ステップS171)。このとき、タブ軸決定部151は、キーワードが2語以上の含まれていると判定した場合には(ステップS171:YES)、ステップS172に移行する。一方、タブ軸決定部151は、キーワードが2語以上の含まれていないと判定した場合には(ステップS171:NO)、タブ軸決定処理を終了させる。
ステップS172において、タブ軸決定部151は、属性値(1,1)〜属性値(N,VN(N))の中から、入力中の文字列に含まれる2番目のキーワードに対応する属性値を検索する。次いで、タブ軸決定部151は、属性値が検索されたか否かを判定する(ステップS173)。このとき、タブ軸決定部151は、属性値が検索されたと判定した場合には(ステップS173:YES)、ステップS174に移行する。一方、タブ軸決定部151は、属性値が検索されなかったと判定した場合には(ステップS173:NO)、タブ軸決定処理を終了させる。
ステップS174において、タブ軸決定部151は、検索された属性値の配列要素に対応する第1インデックスの値を、インデックスIXに設定する。また、タブ軸決定部151は、検索された属性値の配列要素に対応する第2インデックスの値を、タブ番号初期値に設定する。
次いで、タブ軸決定部151は、属性名(IX)が示す属性項目をタブ軸に対応付ける(ステップS175)。次いで、タブ軸決定部151は、属性名(1)〜属性名(N)のうち属性名(IX)以外の属性名が示す属性項目を、行軸、列軸、タブ内表軸等に対応付ける(ステップS176)。タブ軸決定部151は、この処理を終えると、タブ軸決定処理を終了させる。
タブ軸決定処理の後、空き行・空き列削除部146は、図27に示すように、ステップS39を実行する。ステップS39の後、バリエーション表示制御部147は、属性項目と座標軸との対応付け、属性名(1)〜属性名(N)、セル配列、及びタブ番号初期値に基づいて、表データを生成する(ステップS164)。このとき、バリエーション表示制御部147は、表データ中にタブ番号初期値を設定する。次いで、バリエーション表示制御部147は、ステップS41を実行して、表データ送信処理を終了させる。
ユーザ端末3は、電子商店街サーバ1から受信した表データに基づいて、商品バリエーション表を画面に表示する。このとき、ユーザ端末3は、表データに設定されたタブ番号初期値が示すタブに対応する商品バリエーション表を表示する。
以上説明したように、本実施形態によれば、システム制御部14が、属性値のバリエーションの中から、キーワード入力欄110に入力中の文字列に含まれるキーワードに対応するバリエーションを特定し、特定されたバリエーションに対応する属性項目を、複数の商品バリエーション表の何れかにバリエーションを対応付ける属性項目に決定し、複数の商品バリエーション表を切り替えて表示可能にし、複数の商品バリエーション表のうちキーワードに対応するバリエーションに対応する商品バリエーション表を最初に表示させる。従って、複数の商品バリエーション表のうち、ユーザが望む属性を有する商品に対応する商品バリエーション表を表示させることができる。
なお、電子商店街サーバ1は、第4実施形態を、第1実施形態〜第3実施形態のうち少なくとも1つと組み合わせて、属性項目と座標軸との対応付けを行うことも可能である。例えば、電子商店街サーバ1は、キーワードに基づいてタブ軸に対応付ける属性項目を決定した後、タブ軸に対応付けられた属性項目以外の属性項目の中で、空きセル数に基づいて属性項目と座標軸との対応付けを行ってもよい。
[5.第5実施形態]
次に、第5実施形態について、図29乃至図34を用いて説明する。第5実施形態においては、商品バリエーション表に空きセルが生じる場合、電子商店街サーバ1が、空きセルの位置に対応する属性値に応じた代替商品を特定する。そして、電子商店街サーバ1は、対応するセルに代替商品の商品画像及び商品名が表示されるように制御する。
次元数が2以上である場合、商品バリエーション表に空きセルが生じることがある。しかしながら、同一の商品を複数集めて1セットの商品を構成した場合、その1セットの商品が、空きセルの位置に対応する属性値を有するべき商品と実質的に同一となる場合がある。電子商店街サーバ1は、複数集めた場合に空きセルの位置に対応する商品と実質的に同一となる商品を、代替商品として特定する。
例えば、「ABC」の場合、本数が24本、容量が350ml及び容器が缶である商品は存在しない。そのため、図8に示すように、セルC3−1は空きセルとなっている。しかしながら、本数が1本、容量が350ml及び容器が缶である商品は存在する。そのため、この商品をユーザが24個購入すれば、本数が24本、容量が350ml及び容器が缶である商品を購入したことと実質的に同じである。また、本数が6本、容量が350ml及び容器が缶である商品をユーザが4個購入した場合も同様である。セルの位置に対応する属性値が示す属性を有する商品と同等の1セットの商品を得るために、その1セットの商品の構成要素となる商品が必要な数を、「必要数」という。
図29は、本実施形態に係る情報処理システムSの処理概要を示すシーケンス図である。図29において、図4と同様の処理については同様の符号が付されている。図4に示すステップS1〜S12の後、図29に示すように、電子商店街サーバ1は、空きセルに対応する代替商品を、指定されたブランドの商品群の中から検索する(ステップS201)。次いで、電子商店街サーバ1は、表データを生成して送信する(ステップS13、S14)。ユーザ端末3は、表データに基づいて、商品バリエーション表を画面に表示する(ステップS15)。
図30は、ユーザがタブ301cを選択した場合の商品バリエーションウインドウ300の表示例である。図30に示すように、図8では空きセルであったセルC3−1に、商品画像312及び商品名314が表示される。商品画像312は、例えば、本数が6本、容量が350ml及び容器が缶である商品の画像である。商品名314としては、例えば、「QQQ ABC 缶350ml×6 を4個」と表示される。ここで、「QQQ ABC 缶350ml×6」が本来の商品名である。「4個」は、代替商品の必要数を示す。必要数が表示されるので、ユーザは代替商品を何個購入すればよいかを認識することができる。商品名314は、本発明における表示情報の一例である。なお、商品名314における必要数の表示とともに、又は、商品名314における必要数の表示に代えて、例えば、セルC3−1に、必要数分の商品画像312が表示されてもよい。
ユーザが代替商品の商品画像312及び商品名314の何れかを選択したとする(ステップS16)。すると、ユーザ端末3は、商品の検索リクエストを電子商店街サーバ1へ送信する(ステップS202)。この場合の検索リクエストは、商品コード及び代替商品の必要数を含む。電子商店街サーバ1は、検索リクエストに含まれる商品コードで代替商品を検索する(ステップS18)。次いで、電子商店街サーバ1は、検索結果ページを生成する。このとき、電子商店街サーバ1は、必要数の表示を含む検索結果ページを生成する。そして、電子商店街サーバ1は、検索結果ページをユーザ端末3へ送信する(ステップS203)。
図31(a)は、検索結果ページの表示例を示す図である。図31(a)に示すように、検索結果ページは、検索条件設定領域100、検索結果表示領域400、メッセージ420等を含む。検索結果表示領域400には、検索された代替商品の一覧が表示される。メッセージ420は、必要数を示す。例えば、図30に示す商品バリエーション表からユーザがセルC3−1の商品画像312及び商品名314の何れかを選択した場合、メッセージ420として、例えば、「4個購入すると24本になります」といったメッセージが表示される。
検索結果表示領域400からユーザが何れかの検索商品情報410を選択すると(ステップS204)、ユーザ端末3は、商品ページリクエストを電子商店街サーバ1へ送信する(ステップS205)。商品ページリクエストは、選択された検索商品情報410に対応する代替商品の商品ページのURLと必要数とを含む。なお、通常の商品ページリクエストには、必要数は含まれない。電子商店街サーバ1は、商品ページリクエストに応じて、必要数の表示を含む商品ページをユーザ端末3へ送信する(ステップS206)。ユーザ端末3は、受信した商品ページを画面に表示する。
図31(b)は、商品ページの表示例である。図31(b)に示すように、商品ページには、商品名、商品画像、商品ID、商品価格、商品説明等が表示される。更に、商品ページには、メッセージ510、買い物かご登録ボタン520及び個数入力欄530が表示される。メッセージ510は、必要数を示す。メッセージ510の内容は、例えば、メッセージ420の内容と同じであってもよい。買い物かご登録ボタン520は、商品を買い物かごに入れるためのボタンである。買い物かごは、購入しようとする対象としてユーザが選択した商品が入れられる仮想的な入れ物である。ユーザは、買い物かごに入れられている商品の中から商品を購入することができる。個数入力欄530は、商品を買い物かごに入れる数を入力するための入力領域である。個数入力欄530には、必要数が予め入力されている。
ユーザが買い物かご登録ボタン520を選択すると、ユーザ端末3は、買い物かご登録リクエストを電子商店街サーバ1へ送信する(ステップS208)。買い物かご登録リクエストは、商品の店舗ID及び商品IDの組み合わせと、個数入力欄530に入力されている個数とを含む。電子商店街サーバ1は、店舗ID及び商品IDの組み合わせが示す商品を、買い物かご登録リクエストに含まれる個数分、買い物かごに登録するための処理を実行する(ステップS209)。
図31(a)及び図31(b)に示すように、メッセージ420やメッセージ510が表示されるので、ユーザは代替商品を何個購入すればよいかを認識することができる。また、個数入力欄530に必要数が設定されているので、ユーザは必要数を入力する手間を省くことができる。なお、メッセージ420の表示、メッセージ510の表示、及び個数入力欄530への必要数の設定の全てが必ずしも実行される必要はない。例えば、何れか1つ又は2つのみが実行されてもよいし、何れも実行されなくてもよい。
図32は、本実施形態に係る電子商店街サーバ1の機能ブロックの一例を示す図である。図32において、図13と同様の要素については同様の符号が付されている。図32に示すように、システム制御部14は、ブランド名提案部141、商品群抽出部142、バリエーション抽出部143、属性値−位置成分対応付け部144、セル対応商品検索部145、空き行・空き列削除部146、バリエーション表示制御部147、店舗商品検索部148及び代替商品検索部152として機能するようになっている。セル対応商品検索部145及び代替商品検索部152の組み合わせは、本発明における取引対象特定手段の一例である。
代替商品検索部152は、属性値のバリエーションがある属性項目のうち、商品の代替に対応する属性項目があるか否かを判定する。例えば、飲料水について、本数は代替に対応する一方、容器は代替に対応しない。缶を瓶で代替することはできないからである。代替に対応する属性項目の判定のため、ジャンル情報DB12bに登録される属性情報は、代替対応フラグを含む。代替対応フラグは、属性項目が商品の代替に対応するか否かを示す。商品の代替に対応する属性項目がある場合、代替商品検索部152は、空きセルに対応する代替商品を検索する。電子商店街の運営者は、商品の代替に対応す属性項目をジャンルごとに任意に決めることができる。例えば、個数が、商品の代替に対応す属性項目であってもよい。また、同一の属性項目であっても、ジャンルによって商品の代替に対応可能か否かが異なる場合がある。例えば、内容量、重量、長さ等は、材料のジャンルでは商品の代替に対応することがある一方、例えば、電化製品のジャンルでは一般的には商品の代替に対応しない。
図33は、本実施形態に係る電子商店街サーバ1のシステム制御部14の表データ送信処理における処理例を示すフローチャートである。図33において、図14と同様の処理については同様の符号が付されている。
図33に示すように、ステップS31〜S39が実行される。次いで、代替商品検索部152は、代替対応フラグに基づいて、属性名(1)〜属性名(N)が示す属性項目の中に、商品の代替に対応する属性項目があるか否かを判定する(ステップS221)。このとき、代替商品検索部152は、商品の代替に対応する属性項目があると判定した場合には(ステップS221:YES)、ステップS222に移行する。一方、代替商品検索部152は、商品の代替に対応する属性項目がないと判定した場合には(ステップS221:NO)、ステップS40に移行する。ステップS222において、代替商品検索部152は、代替商品検索処理を実行する。
図34は、本実施形態に係る電子商店街サーバ1のシステム制御部14の代替商品検索処理における処理例を示すフローチャートである。
図34に示すように、代替商品検索部152は、セル配列から、空きセルに対応する配列要素を1つ選択する(ステップS231)。次いで、代替商品検索部152は、指定されたブランドのカタログ情報群の中から、選択した配列要素に対応する属性値のうち、商品の代替に対応していない属性項目に対応する属性値を含むカタログ情報を検索する(ステップS232)。次いで、代替商品検索部152は、ステップS232で検索されたカタログ情報の中から、選択した配列要素に対応する属性値のうち、商品の代替に対応する属性項目に対応する属性値の真の約数を属性値として含むカタログ情報を検索する(ステップS233)。
次いで、代替商品検索部152は、ステップS233においてカタログ情報が検索されたか否かを判定する(ステップS234)。このとき、代替商品検索部152は、カタログ情報が検索されたと判定した場合には(ステップS234:YES)、ステップS235に移行する。一方、代替商品検索部152は、カタログ情報が検索されなかったと判定した場合には(ステップS234:NO)、ステップS239に移行する。
ステップS235において、バリエーション表示制御部147は、選択した配列要素に対応する属性値のうち、商品の代替に対応する属性項目に対応する属性値を、検索されたカタログ情報に含まれる属性値のうち、商品の代替に対応する属性項目に対応する属性値で除算する。これにより、バリエーション表示制御部147は、必要数を計算する。なお、複数のカタログ情報が選択された場合、バリエーション表示制御部147は、何れのカタログ情報を利用してもよい。
次いで、バリエーション表示制御部147は、検索されたカタログ情報から、商品名、商品画像のURL及び商品コードを取得する(ステップS236)。次いで、バリエーション表示制御部147は、取得した情報と必要数とに基づいて、商品を示すリンクのデータを生成する(ステップS237)。このとき、バリエーション表示制御部147は、商品画像312又は商品名314が選択された場合に、商品コードと必要数とむ検索リクエストが送信されるように、リンクのデータを生成する。次いで、バリエーション表示制御部147は、生成したリンクデータを、選択した配列要素に設定する(ステップS238)。次いで、バリエーション表示制御部147は、ステップS239に移行する。
ステップS239において、代替商品検索部152は、セル配列から、空きセルに対応する配列要素のうちまだ選択していない配列要素があるか否かを判定する。このとき、代替商品検索部152は、まだ選択していない配列要素があると判定した場合には(ステップS239:YES)、ステップS240に移行する。ステップS240において、代替商品検索部152は、空きセルに対応する配列要素のうちまだ選択していない配列要素を1つ選択する。次いで、代替商品検索部152は、ステップS232に移行する。一方、代替商品検索部152は、空きセルに対応する配列要素の全てを選択したと判定した場合には(ステップS239:NO)、代替商品検索処理を終了させる。
代替商品検索処理の後、バリエーション表示制御部147は、図33に示すように、ステップS40及びS41を実行して、表データ送信処理を終了させる。
以上説明したように、本実施形態によれば、システム制御部14が、対応するバリエーションが示す属性を有する商品がない空きセルについて、複数の同じ商品で一の商品が構成されることにより一の商品が空きセルに対応するバリエーションが示す属性を有するように、一の商品の構成要素となる商品及び構成要素の必要数を特定し、特定された商品及び必要数に応じた商品画像及び商品名をセルが含む商品バリエーション表を表示させる。従って、空きセルに対しても、複数購入されることによりそのセルに対応する属性値が示す属性を有する商品と実質的に同等な商品の商品画像及び商品名が、必要な数に応じた内容で表示される。そのため、ユーザは、代替の商品があることを容易に認識することができる。
なお、電子商店街サーバ1は、第5実施形態を、第1実施形態〜第4実施形態のうち少なくとも1つと組み合わせて処理を行うことも可能である。
上記各実施形態においては、商品バリエーション表からユーザが商品画像312又は商品名313の何れかを選択した場合、電子商店街サーバ1は、商品を検索して検索結果ページをユーザ端末3により表示させていた。しかしながら、電子商店街サーバ1は、例えば、カタログ情報に基づいて、選択された商品画像312又は商品名313が示す商品に関するウェブページをユーザ端末3により表示させてもよい。このウェブページには、例えば、商品名、ブランド名、ジャンル名、商品の説明文、各属性値等が表示される。
また、電子商店街サーバ1は、商品画像に基づいて、属性項目と座標軸との対応付けを行ってもよい。例えば、電子商店街サーバ1は、属性値のバリエーションがある属性項目について、属性値のバリエーション間で、対応する商品の商品画像を比較する。これにより、電子商店街サーバ1は、商品画像間の画像の一致度を算出する。そして、電子商店街サーバ1は、画像の一致度が最も低い属性項目を、タブ軸に対応付ける。これにより、相対的に外観が似ている商品についての商品バリエーション表が表示される。なお、電子商店街サーバ1は、一致度が高いほど属性項目ほど優先順位を高く設定し、優先順位に基づいて属性項目と座標軸との対応付けを行ってもよい。
また、電子商店街サーバ1は、属性値のバリエーションのうち一部のバリエーションについては、対応付けを行わなくてもよい。電子商店街サーバ1は、少なくとも1つのバリエーションについて対応付けを行えばよい。
また、上記各実施形態においては、複数の店舗から商品が販売される電子商店街に本発明が適用されていた。しかしながら、単一の販売元から商品が販売される電子商取引のウェブサイトに本発明が適用されてもよい。
また、上記各実施形態においては、本発明の取引対象が商品に適用されていた。しかしながら、本発明の取引対象は、商業的に取引可能な対象に対して適用することができる。例えば、本発明の取引対象がサービスに適用されてもよい。例えば、宿泊施設等の施設の予約、チケットの予約、交通機関の座席の予約等に本発明が適用されてもよい。サービスの場合、取引対象のブランドとして、サービスブランドがある。
また、上記各実施形態においては、本発明の情報処理装置が、クライアントサーバシステムにおけるサーバ装置に適用されていた。しかしながら、本発明の情報処理装置が、サーバ装置以外の情報処理装置に適用されてもよい。例えば、本発明の情報処理装置がユーザ端末3等に適用されてもよい。そして、例えば、情報処理装置が備える制御部が本発明における手段として機能することにより、制御部が、ディスプレイ等の表示手段により、本発明に係る表を表示させてもよい。この場合、表示手段は、情報処理装置に備えられていてもよい。または、表示手段は、情報処理装置とは別個の装置であってもよい。
上記課題を解決するために、請求項1に記載の発明は、属性項目に対応する属性値が示す属性をそれぞれが有する複数の取引対象の中から、ユーザ操作に基づいて特定された取引対象群について、前記属性値が2以上あるか否かを前記属性項目ごとに判定する判定手段と、前記判定手段により前記属性値が2以上あると判定された前記属性項目を、表、行又は列に対応付ける対応付け手段と、前記対応付け手段による対応付けに基づいて、前記表のセルに対応する前記属性値が示す前記属性を有する前記取引対象を、前記取引対象群の中から前記セルごとに特定する取引対象特定手段と、前記取引対象特定手段により特定された前記取引対象を示す表示情報を前記セルが含む前記表を表示させる表表示制御手段と、を備えることを特徴とする。
請求項6に記載の発明は、請求項5に記載の情報処理装置において、前記属性項目の優先順位を区分ごとに記憶する優先順位記憶手段から、前記取引対象群が属する前記区分における前記属性項目の優先順位を取得する優先順位取得手段を更に備え、前記属性項目決定手段は、前記優先順位取得手段により取得された前記優先順位に基づいて、前記表に対応付けられる前記属性項目を決定することを特徴とする。
請求項7に記載の発明は請求項5又は請求項6に記載の情報処理装置において、前記表表示制御手段は、前記表示情報を含まない行及び列が除かれた前記表を表示させ、前記属性項目決定手段は、前記複数の表のセルのうち前記表示情報を含まないセルが最も少なくなるように、前記表に対応付けられる前記属性項目を決定することを特徴とする。
請求項8に記載の発明は、請求項5乃至7の何れか1項に記載の情報処理装置において、前記判定手段により2以上あると判定された前記属性値の中から、前記ユーザ操作に基づいて指定される検索条件に対応する前記属性値を特定する属性値特定手段を更に備え、前記属性項目決定手段は、前記属性値特定手段により特定された前記属性値に対応する前記属性項目を、前記表に対応付けられる前記属性項目に決定し、前記表表示制御手段は、前記複数の表を切り替えて表示可能にし、前記複数の表のうち前記属性値特定手段により特定された前記属性値に対応する前記表を最初に表示させることを特徴とする。
請求項11に記載の発明は、コンピュータにより実行される情報処理方法であって、属性項目に対応する属性値が示す属性をそれぞれが有する複数の取引対象の中から、ユーザ操作に基づいて特定された取引対象群について、前記属性値が2以上あるか否かを前記属性項目ごとに判定する判定ステップと、前記判定ステップにより前記属性値が2以上あると判定された前記属性項目を、表、行又は列に対応付ける対応付けステップと、前記対応付けステップによる対応付けに基づいて、前記表のセルに対応する前記属性値が示す前記属性を有する前記取引対象を、前記取引対象群の中から前記セルごとに特定する取引対象特定ステップと、前記取引対象特定ステップにより特定された前記取引対象を示す表示情報を前記セルが含む前記表を表示させる表表示制御ステップと、を含むことを特徴とする。
請求項12に記載の発明は、コンピュータを、属性項目に対応する属性値が示す属性をそれぞれが有する複数の取引対象の中から、ユーザ操作に基づいて特定された取引対象群について、前記属性値が2以上あるか否かを前記属性項目ごとに判定する判定手段、前記判定手段により前記属性値が2以上あると判定された前記属性項目を、表、行又は列に対応付ける対応付け手段、前記対応付け手段による対応付けに基づいて、前記表のセルに対応する前記属性値が示す前記属性を有する前記取引対象を、前記取引対象群の中から前記セルごとに特定する取引対象特定手段、及び、前記取引対象特定手段により特定された前記取引対象を示す表示情報を前記セルが含む前記表を表示させる表表示制御手段、として機能させることを特徴とする。