以下、本発明の実施例について添付図面を参照しつつ説明する。
本発明の実施例に係るジャンル生成装置200は、図1に示すようなジャンル生成システム1を構成する。本実施例において、ジャンル生成システム1は、オークションサイトにおいて、商品若しくはサービス(以下、商品等という)のオークションを行うとして説明するが、これに限定される訳ではない。ジャンル生成システム1は、例えば、インターネット上に開設された電子商店(つまり、オンラインショップ)において商品等の販売若しくは提供(以下、販売等という)を行うとしても良い。また、本実施例で提供されるサービスは、例えば、インターネットを通じた動画の配信サービスを含むとして説明を行うが、これに限定される訳ではない。
ジャンル生成システム1でオークションに出品される商品等は、複数の種別(つまり、ジャンル)に分類され、複数のジャンルは、それぞれ階層構造をなすジャンル階層に属している。
具体例として、図2に示すジャンル階層を挙げて以下説明を行う。
図2に示すジャンル階層は、頂上のジャンルである「トップ」を有する。また、商品等は、「トップ」の直近下位のジャンルである「ファッション」、「食品」、若しくはその他の不図示のジャンルに分類される。ジャンル「ファッション」は、洋服などの商品が分類されるジャンルであり、「食品」は、食品が分類されるジャンルである。
また、「ファッション」というジャンルに分類される商品は、靴が分類される「靴」か、女性用衣類が分類される「レディースファッション」か、男性用衣類が分類される「メンズファッション」か、若しくはその他の不図示のジャンルに分類される。さらに、「靴」というジャンルに分類される商品は、男性用の靴が分類される「メンズシューズ」か、その他複数の不図示のジャンルに分類され、「メンズシューズ」というジャンルに分類される商品は、運動靴が分類される「メンズスポーツシューズ」か、その他複数の不図示のジャンルに分類される。
ジャンル「ファッション」は、ジャンル「靴」、ジャンル「レディースファッション」、及びジャンル「メンズファッション」がそれぞれ属する層よりも上位の層に属している。さらに、ジャンル「ファッション」は、ジャンル「靴」、ジャンル「レディースファッション」、及びジャンル「メンズファッション」を含んでいる。
同様に、「食品」というジャンルに分類される商品等は、牛肉が分類される「牛肉」というジャンルか、豚肉が分類される「豚肉」というジャンルか、牛及び豚以外の動物の肉が分類される「その他」というジャンルに分類される。また、ジャンル「食品」は、ジャンル「牛肉」、ジャンル「豚肉」、及びジャンル「その他」がそれぞれ属する層よりも上位の層に属し、これらのジャンルを含んでいる。
さらに、「牛肉」というジャンルに分類される商品等は、リブロースという部位の肉が分類される「リブロース」というジャンルか、カルビといわれる肉が分類される「カルビ」というジャンルか、タンといわれる部位の肉が分類されるジャンル「タン」か、その他複数の不図示のジャンルに分類される。つまり、ジャンル「牛肉」は、ジャンル「リブロース」、「カルビ」、及び「タン」がそれぞれ属する層よりも上位の層に属し、これらのジャンルを含んでいる。
またさらに、「リブロース」というジャンルに分類される商品等は、主にステーキの材料として用いられる肉が分類される「ステーキ用」というジャンルか、その他複数の不図示のジャンルに分類される。つまり、ジャンル「リブロース」は、ジャンル「ステーキ用」が属する層よりも上位の層に属し、このジャンルを含んでいる。
さらに、ジャンル「ファッション」及びジャンル「食品」は、頂上のジャンルである「トップ」の直近下位の第1層に属する。また、ジャンル「靴」、ジャンル「レディースファッション」、ジャンル「メンズファッション」、ジャンル「牛肉」、ジャンル「豚肉」、及びジャンル「その他」は、第1層の直近下位の第2層に属する。またさらに、ジャンル「メンズシューズ」、「リブロース」、「カルビ」、及び「タン」は、第2層の直近階の第3層に属する。また、ジャンル「メンズスポーツシューズ」及び「ステーキ用」は、第2層の直近階の第4層に属する。
ここで、あるジャンルと同じ層に属するジャンルの内で、当該ジャンルの直近上位のジャンルの直近下位のジャンルであって、当該ジャンルとは異なるジャンルを、並列ジャンルという。つまり、ジャンル「ファッション」の並列ジャンルは、ジャンル「食品」である。また、ジャンル「靴」の並列ジャンルは、ジャンル「レディースファッション」及び「メンズファッション」であるが、ジャンル「牛肉」、「豚肉」、及び「その他」は、並列ジャンルではない。
さらに、トップのジャンルからあるジャンルを経由して最下位のジャンルに至る経路上にあるジャンルの内で、トップのジャンル及び当該ジャンルのいずれでもないジャンルを、直列ジャンルという。具体的には、図2に示すジャンル「トップ」からジャンル「リブロース」を経由して最下位のジャンル「ステーキ用」までの経路には、ジャンル「食品」、「牛肉」、及び「ステーキ用」がある。このため、ジャンル「食品」、「牛肉」、及び「ステーキ用」が、ジャンル「リブロース」の直列ジャンルである。
次に、上記の各ジャンルに分類された商品等についてオークションを行うジャンル生成システム1の構成について説明する。ジャンル生成システム1は、ジャンル生成装置200の他に、図1に示すようなコンピュータ通信網10(以下単に、通信網10という)と、出品者側端末装置101及び入札者側端末装置102と、で構成される。
通信網10は、例えば、インターネットで構成される。通信網10は、LAN(Local Area Network)又は公衆回線網であっても良い。
出品者側端末装置101及び入札者側端末装置102は、例えば、LCD(Liquid Crystal Display)などの表示部と、キーボード及びマウスなどの入力部と、を備えたパーソナル・コンピュータで構成される。
ジャンル生成装置200は、図3に示すようなサーバ機である。このサーバ機は、互いにバス200zで接続されたCPU(Central Processing Unit)200a、ROM(Read Only Memory)200b、RAM(Random Access Memory)200c、ハードディスク200d、メディアコントローラ200e、LANカード(Local Area Network)200f、ビデオカード200g、LCD(Liquid Crystal Display)200h、キーボード200i、スピーカ200j、及びタッチパッド200kで構成される。
CPU200aは、ROM200b又はハードディスク200dに保存されたプログラムに従ってソフトウェア処理を実行することで、ジャンル生成装置200の全体制御を行う。RAM200cは、CPU200aによるプログラムの実行時において、処理対象とするデータを一時的に記憶する。
ハードディスク200dは、各種のデータを保存したテーブルを記憶する情報記憶部である。尚、ジャンル生成装置200は、ハードディスク200dの代わりに、フラッシュメモリを備えても良い。
メディアコントローラ200eは、フラッシュメモリ、CD(Compact Disc)、DVD(Digital Versatile Disc)、及びブルーレイディスク(Blu-ray Disc)(登録商標)を含む記録媒体から各種のデータ及びプログラムを読み出す。
LANカード200fは、通信網10を介して接続する出品者側端末装置101及び入札者側端末装置102との間でデータを送受信する。キーボード200i及びタッチパッド200kは、ユーザの操作に応じた信号又は情報を入力する。LANカード200fは、取得部及び提示部を構成する。
ビデオカード200gは、CPU200aから出力されたデジタル信号に基づいて画像を描画(つまり、レンダリング)すると共に、描画された画像を表す画像信号を出力する。LCD200hは、ビデオカード200gから出力された画像信号に従って画像を表示する。なお、ジャンル生成装置200は、LCD200hの代わりに、PDP(Plasma Display Panel)又はEL(Electroluminescence)ディスプレイを備えても良い。スピーカ200jは、CPU200aから出力された信号に基づいて音声を出力する。
以下、商品等の分類について説明を行う。
出品者側端末装置101は、商品等の出品者によって行われた入力部の操作に従って、当該商品等の名称(以下、商品等名という)を表す情報を入力する。また、出品者側端末装置101は、入力部の操作に従って、当該商品等が分類される最も下位のジャンルとして当該出品者に指定されたジャンル(以下、分類ジャンルという)を識別する情報を入力する。さらに、出品者側端末装置101は、入力部の操作に従って、当該商品等を広告する広告情報と、当該商品等の出品期限を表す情報と、を入力する。その後、出品者側端末装置101は、入力された商品等名を表す情報と、分類ジャンルを識別する情報(以下、分類ジャンルIDという)と、広告情報と、出品期限を表す情報と、をジャンル生成装置200へ送信する。
図3に示したジャンル生成装置200のLANカード200fは、出品者側端末装置101から商品等名を表す情報などを受信する。図2に示したLANカード200fが商品等名を表す情報などを受信すると、CPU200aは、図4に示すような商品等分類処理を実行する。尚、図4に示す商品等分類処理は、LANカード200fが受信した情報で名称を表される商品等を、当該分類ジャンルIDで識別されたジャンルに分類する処理である。
これにより、CPU200aは、図5に示すような分類部225として機能する。また、CPU200aは、ハードディスク200dと協働して情報記憶部210として機能する。さらに、CPU200aは、LANカード200fと協働して取得部220として機能する。
ここで、図4の商品等分類処理について説明する前に、当該処理の実行に用いられるデータについて説明を行う。
図5の情報記憶部210は、図6に示すようなジャンルテーブルを記憶している。ジャンルテーブルには、ジャンルIDと、ジャンル名と、分類日時と、分類数と、販売回数と、出品可否フラグと、が対応付けられた情報が保存されている。ジャンルIDは、図2に示すようなジャンルを識別する情報をいう。ジャンルIDに対応付けられたジャンル名は、当該ジャンルIDで識別されるジャンルの名称を表す情報である。ジャンルIDに対応付けられた分類日時は、当該ジャンルIDで識別されるジャンルに商品等が最後に分類された日時を表す情報である。ジャンルIDに対応付けられた分類数は、当該ジャンルIDで識別されるジャンルに分類された商品等の数(をいう。ジャンルIDに対応付けられた販売回数を表す情報は、当該ジャンルIDで識別されるジャンルに分類された商品等が落札(つまり、販売)された回数を表す情報である。ジャンルIDに対応付けられた出品可否フラグは、当該ジャンルIDで識別されるジャンルに分類される商品等の出品を許可するか否かを表すフラグをいう。
また、情報記憶部210は、図7に示すようなジャンル階層テーブルを記憶している。ジャンル階層テーブルには、図6のジャンルテーブルに保存されたジャンルIDと、ジャンル名情報と、下位ジャンルIDと、下位ジャンル名を表す情報と、が対応付けられた情報が保存されている。ジャンルIDに対応付けられた下位ジャンルIDは、当該ジャンルIDで識別されるジャンルの直近下位の階層に属するジャンル(以下、下位ジャンルという)のジャンルIDである。また、下位ジャンルIDに対応付けられた下位ジャンル名を表す情報は、当該下位ジャンルIDで識別された下位ジャンルの名称を表す情報である。
またさらに、情報記憶部210は、図8に示すような商品等テーブルを記憶している。商品等テーブルには、商品等を識別する情報(以下、商品等IDという)と、商品等の名称を表す情報と、当該商品等の分類ジャンルを識別する分類ジャンルIDと、当該分類ジャンルの名称(以下、分類ジャンル名という)を表す情報と、当該商品等の競売に関する競売情報と、当該商品等を広告する広告情報と、が対応付けられた情報が保存されている。
尚、競売情報は、商品等の最高の入札価格を表す情報と、当該入札価格で当該商品等を入札した入札者を識別する情報(以下、入札者IDという)と、当該商品等を出品する出品者を識別する情報(以下、出品者IDという)と、出品期限を表す情報と、が対応付けられた情報である。
また、広告情報は、商品等の広告を表す画像ファイルの名称(以下、広告ファイル名という)を表す情報と、広告ページのURL(以下、広告ページURLという)を表す情報と、が対応付けられた情報である。
またさらに、情報記憶部210は、図9に示すような商品等キーワードテーブルを記憶している。商品等キーワードテーブルには、商品等を識別する商品等IDと、当該商品等の商品等名を表す情報と、当該商品等を説明するキーワードを表す情報と、が対応付けられた情報が保存されている。
尚、図9の商品等キーワードテーブルにおいて商品等IDに対応付けられるキーワードを表す情報は、当該商品等IDで識別される商品等の広告ファイルから抽出されたキーワードを表す情報であっても良い。特に、広告ファイルから抽出されたキーワードは、当該広告ファイルに保存された広告画像で表される文字列(つまり、広告コンテンツの内容から抽出された)であってもよい。またこれに限定される訳ではなく、商品等IDに対応付けられるキーワードを表す情報は、当該商品等IDで識別される商品の出品者が選択したキーワードを表す情報であっても良い。
次に、上記のデータを用いて実行される商品等分類処理について説明を再開する。
図4の商品等分類処理の実行が開始されると、図5の取得部220は、出品者側端末装置101から受信された商品等名を表す情報と、分類ジャンルIDと、広告情報と、を、図3のLANカード200fから取得する(ステップS01)。
次に、図5の分類部225は、図6のジャンルテーブルから、ステップS01で取得された分類ジャンルIDと同じジャンルIDに対応付けられた出品可否フラグを参照する。次に、分類部225は、参照した出品可否フラグに基づいて、当該指定された分類ジャンルが出品可能か否かを判別する(ステップS02)。このとき、分類部225は、指定された分類ジャンルが出品不能であると判別すると(ステップS02;No)、商品等分類処理の実行を終了する。
これに対して、分類部225は、指定された分類ジャンルが出品可能であると判別すると(ステップS02;Yes)、出品される商品等の商品等IDを生成する(ステップS03)。次に、分類部225は、図8の商品等テーブルに対して、ステップS03で生成された商品等IDと、ステップS01で取得された商品等名を表す情報、分類ジャンルID、分類ジャンル名を表す情報、及び広告情報と、を対応付けた情報を保存する(ステップS04)。
次に、分類部225は、OS(Operating System)が管理するシステム日時を取得し、取得されたシステム日時を、分類ジャンルに商品等が最後に分類された分類日時とする。次に、分類部225は、図6のジャンルテーブルに対して、分類ジャンルIDと分類日時を表す情報とを対応付けた情報を保存する(ステップS05)。
次に、分類部225は、ステップS01で取得された広告情報で表されるURLに在る広告ページからキーワードを抽出する(ステップS06)。
ステップS06において、分類部225は、広告ページにおいて、キーワード抽出用の所定回数より多く使用されている単語をキーワードとして抽出するとしても良い。また、分類部225は、広告ページにおいて、キーワード抽出用の所定回数より多く使用されている単語をキーワードとして抽出する一方で、当該所定回数より少なく使用されている単語をキーワードとして抽出しないとしても良い。尚、キーワード抽出用の所定回数を表す情報は、情報記憶部210に記憶されている。
その後、分類部225は、図9の商品等キーワードテーブルに対して、抽出された1又は複数のキーワードと、ステップS03で生成された商品等IDと、を対応付けた情報を保存した後に(ステップS07)、商品等分類処理の実行を終了する。
次に、入札する商品等の検索に用いられる検索クエリについて説明する。
図1の入札者側端末装置102は、出品された商品等を入札しようとするユーザに入力部を操作されて、検索クエリなどの各種情報を入力し、入力された情報をジャンル生成装置200へ送信する。また、入札者側端末装置102は、ジャンル生成装置200から送信された情報を受信し、受信された情報を表示部へ表示する。
本実施例では、入力される検索クエリの種類は、以下で説明する4つの種類のいずれかであるとして説明を行う。1つ目の種類は、商品等を説明する1つのキーワードからなる検索クエリである。2つ目の種類は、1つのキーワードと絞込指示からなる検索クエリである。3つ目の種類は、複数のキーワードと当該複数のキーワードを連結するブール検索用の演算子とからなる検索クエリである。4つ目の種類は、複数のキーワードからなる(つまり、複数のキーワードを含むが演算子を含まない)検索クエリである。尚、入力される検索クエリの種類は、上記4つの種類に限定される訳ではない。
以下、検索クエリの種類について説明する。
1つのキーワードからなる検索クエリは、オークションに出品されている商品等の内で、当該キーワードで説明される商品等を検索した結果を返信するようにジャンル生成装置200に指示するクエリである。
1つのキーワードと絞込指示からなる検索クエリは、前回に送信した検索クエリに基づいて検索された商品等(つまり、検索結果)を、当該キーワードでさらに説明される商品等に基づいて絞り込むことを指示するクエリである。
ブール検索用の演算子は、AND演算子、OR演算子、及び−演算子を含むとして説明するが、これに限定される訳ではない。複数のキーワードと当該複数のキーワードを連結するブール検索用の演算子からなる検索クエリは、例えば、以下の式(1)から(3)で表されるクエリを含む。
第1キーワード AND 第2キーワード・・・(1)
第1キーワード OR 第2キーワード・・・(2)
第1キーワード − 第2キーワード・・・(3)
式(1)で表される検索クエリは、第1キーワードで説明され、かつ第2キーワードでも説明される商品等を検索した結果を返信するように指示するクエリである。すなわち、式(1)で表される検索クエリは、第1キーワードで説明された商品等から、第2キーワードでも説明される商品等をさらに絞り込んだ結果、若しくは、第2キーワードで説明された商品等から、第1キーワードでも説明される商品等をさらに絞り込んだ結果を返信するように指示するクエリである。
式(2)で表される検索クエリは、第1キーワード若しくは第2キーワードで説明される商品等を検索した結果を返信するように指示するクエリである。すなわち、式(2)で表される検索クエリは、第1キーワードで説明される商品等と、第2キーワードで説明される商品等と、の双方を検索した結果を返信するように指示するクエリである。
式(3)で表される検索クエリは、第1キーワードで説明されるが、第2キーワードでは説明されない商品等を検索した結果を返信するように指示するクエリである。すなわち、式(3)で表される検索クエリは、第1キーワードで説明される商品等の検索結果から、第2キーワードで説明される商品等を除外した結果を返信するように指示するクエリである。
ここで、OR演算子により第1キーワードと第2キーワードとが連結された検索クエリをユーザが指定する場合には、当該ユーザは、第1キーワードで表される第1ジャンルと第2キーワードで表される第2ジャンルとが、ジャンル階層において同じ層に属すると判断している場合が多い。商品等が、第1キーワードで説明される商品等でも、第2キーワードで説明される商品等でも、当該ユーザは落札しようとするためである。
具体例としては、「牛肉 OR 豚肉」というクエリを指定するユーザは、キーワード「牛肉」で説明される商品が分類されるジャンル「牛肉」と、キーワード「豚肉」で説明される商品が分類されるジャンル「豚肉」と、が、肉類の商品が分類される同一の層に属すると考えている場合が多い。このため、第1キーワードと第2キーワードとを連結するOR演算子を、第1ジャンルと第2ジャンルとが同じ層に属することを表す同層演算子と称する。
これに対して、AND演算子により第1キーワードと第2キーワードとが連結された検索クエリをユーザが指定する場合には、当該ユーザは、第1キーワードで表される第1ジャンルと第2キーワードで表される第2ジャンルとが、ジャンル階層において異なる層に属すると判断している場合が多い。第1キーワードで説明される商品等から、第2キーワードでも説明される商品等に絞り込まれた商品等、若しくは、第2キーワードで説明される商品等から、第1キーワードでも説明される商品等にさらに絞り込まれた商品等を、当該ユーザは落札しようとするためである。
具体例としては、「牛肉 AND リブロース」というクエリを指定するユーザは、第1キーワード「牛肉」で説明される商品等から、第2キーワード「リブロース」でも説明される商品等に絞り込まれた商品等を落札しようとするためである。つまり、当該ユーザは、キーワード「牛肉」で説明される商品が分類されるジャンル「牛肉」と、キーワード「リブロース」で説明される商品が分類されるジャンル「リブロース」と、が、それぞれ異なる層に属すると考えている場合が多い。このため、第1キーワードと第2キーワードとを連結するAND演算子を、第1ジャンルと第2ジャンルとが異なる層に属することを表す異層演算子と称する。
次に、商品等の入札について説明する。
図3に示したジャンル生成装置200のCPU200aは、LANカード200fが入札者側端末装置102から検索クエリなどの情報を受信すると、図10に示すような商品等競売処理を実行する。商品等競売処理は、当該検索クエリに基づいて検索された商品等の競売を行う処理である。
商品等競売処理の実行により、CPU200aは、図5に示すような算出部235、検索部240、及び入札部245としてさらに機能する。さらに、CPU200aは、LANカード200fと協働して提示部230としてさらに機能する。
ここで、図10の商品等競売処理について説明する前に、当該処理の実行に用いられるデータについて説明を行う。
情報記憶部210は、図11に示すような取得回数テーブルを記憶している。取得回数テーブルには、第1キーワードとして指定された語を表す情報と、第2キーワードとして指定された語を表す情報と、異層クエリ取得回数を表す情報と、同層クエリ取得回数を表す情報と、が対応付けられた情報が保存されている。
尚、異層クエリ取得回数とは、異層演算子で連結された当該第1キーワードと当該第2キーワードとで構成される検索クエリ(以下、異層クエリという)が取得された回数をいう。また、同層クエリ取得回数とは、同層演算子で連結された当該第1キーワードと当該第2キーワードとで構成される検索クエリ(以下、同層クエリという)が取得された回数をいう。
ここで、AND演算子は、異層演算子と称されるので、異層クエリをANDクエリともいい、異層クエリ取得回数をANDクエリ取得回数ともいう。また、OR演算子は、同層演算子と称されるので、同層クエリをORクエリともいい、同層クエリ取得回数をORクエリ取得回数ともいう。
また、情報記憶部210は、図12に示すような順序テーブルを記憶している。順序テーブルには、第1キーワードとして指定された語を表す情報と、第2キーワードとして指定された語を表す情報と、第1キーワードの先行回数を表す情報と、第1キーワードの後行回数を表す情報と、が対応付けられた情報が保存されている。
第1キーワードの先行回数とは、当該第1キーワードと当該第2キーワードとを連結する演算子としてAND演算子が指定された場合に、第1キーワードが第2キーワードよりも先に指定された(つまり、検索クエリにおいて第1キーワードが第2キーワードよりも先行する)回数をいう。また、第1キーワードの後行回数とは、第1キーワードが第2キーワードよりも後に指定された(つまり、検索クエリにおいて第1キーワードが第2キーワードよりも後行する)回数をいう。
具体例として、第1キーワードを「リブロース」とし、第2キーワードを「国産」とする場合を挙げて説明する。図12の順序テーブルには、第1キーワードが第2キーワードに先行した検索クエリ「リブロース AND 国産」が指定された回数(つまり、先行クエリ取得回数ともいう)が「200」回であることを表す情報が保存されている。また、図12の順序テーブルには、検索クエリ「国産 AND リブロース」が指定された回数(つまり、後行クエリ取得回数ともいう)が「30」回であることを表す情報が保存されている。
さらに、情報記憶部210は、図13に示すような検索回数テーブルを記憶している。検索回数テーブルには、商品等の検索に用いられたキーワードを表す情報と、当該キーワードを用いて商品等が検索された回数(以下、検索回数という)を表す情報と、が対応付けられた情報が保存されている。
次に、上記のデータを用いて実行される商品等競売処理について、1つのキーワードからなる検索クエリを、所定時間内にジャンル生成装置200が2度取得する場合を例に挙げて説明を行う。
図3に示すジャンル生成装置200のLANカード200fが、入力ページを返信するように求める入力リクエストを、入札者側端末装置102から受信すると、CPU200aは、図10に示す商品等販売処理の実行を開始する。尚、入力ページは、検索クエリの入力に用いられるページをいう。
図10の商品等競売処理の実行が開始されると、図5の取得部220は、入札者側端末装置102から受信した情報を、図3のLANカード200fから取得する。次に、取得部220が、入札者側端末装置102から入力リクエストを取得したと判別すると(ステップS11;Yes)、図5の提示部230は、図14に示すような入力ページPIを表す情報を情報記憶部210から取得する。次に、提示部230は、取得された入力ページPIを表す情報を、図3のLANカード200fへ出力する(図10のステップS12)。その後、LANカード200fは、出力された情報を入札者側端末装置102へ返信する。
入札者側端末装置102は、入力ページPIを表す情報を受信すると、受信された情報で表される入力ページPIを表示部へ表示する。次に、入札者側端末装置101は、入力ページPIを視認したユーザによって操作される。入札者側端末装置101は、当該操作に従って、当該ユーザによって指定された検索クエリ「国産」と、当該クエリで検索される商品等が属するジャンルとして指定されたジャンル「食品」のジャンルID「J00002」と、を入力する。その後、入札者側端末装置101は、入力された検索クエリ「国産」とジャンルID「J00002」とをジャンル生成装置200へ送信する。尚、入力される検索クエリ及びジャンルIDはこれらに限定される訳ではない。
図10のステップS12の後に、図3に示したジャンル生成装置200のLANカード200fが、検索クエリ「国産」とジャンルID「J00002」とを入札者側端末装置102から受信する。次に、図5の取得部220は、LANカード200fからこれらの検索クエリ「国産」とジャンルID「J00002」とを取得する。その後、取得部220が、入札者側端末装置102から入力リクエストを取得したのではなく(図10のステップS11;No)、検索クエリを取得したと判別すると(ステップS13;Yes)、図15に示すような検索前クエリ修正処理が実行される(ステップS14)。
図15の検索前クエリ修正処理が開始されると、図5の算出部235は、検索クエリに含まれるキーワードが「国産」1つであると判別する(ステップS31;Yes)。次に、算出部235は、後述する図18のステップS77で情報記憶部210に保存されたキーワード(以下、保存キーワードという)を表す情報を読み出す(ステップS32)。このとき、図18のステップS77の処理は未だ実行されていないので、算出部235は、保存キーワードを表す情報が情報記憶部100に記憶されていないと判別し(ステップS33;No)、検索前クエリ修正処理の実行を終了する。
図10のステップS14の後に、図16に示すような検索結果ページ出力処理が実行される(ステップS15)。
図16の検索結果ページ出力処理が開始されると、図5の検索部240は、図7のジャンル階層テーブルから、取得されたジャンルID「J00002」に対応付けられた下位ジャンルID「J00021」から「J00023」を検索する。また、検索部240は、下位ジャンルID「J00021」と同じジャンルIDに対応付けられた下位ジャンルID「J00211」から「J00213」を検索する。さらに、検索部240は、下位ジャンルID「J00211」と同じジャンルIDに対応付けられた下位ジャンルID「J02111」を検索する。
次に、検索部240は、OSからシステム日時を取得する。その後、検索部240は、図8の商品等テーブルから、取得されたジャンルID「J00002」、下位ジャンルID「J00021」から「J00023」、「J00211」から「J00213」、及び「J02111」のいずれかと同じ分類ジャンルIDと、システム日時よりも後の出品期限を表す情報と、に対応付けられた商品ID「M001」から「M006」及び「M010」を検索する。
その後、検索部240は、図9の商品等キーワードテーブルから、取得された商品ID「M001」から「M006」及び「M010」の内で、取得された検索クエリ「国産」と同じキーワードを表す情報に対応付けられた商品等ID「M001」から「M003」を検索する(図16のステップS61)。
次に、検索部240は、図8の商品等テーブルから、ステップS61で検索された商品等ID「M001」から「M003」に基づき、当該IDで識別される商品等を広告する広告ファイル名を表す情報と、広告ページURLを表す情報と、商品等名を表す情報と、をそれぞれ検索する(ステップS62)。この処理により、検索部240は、商品等名「XAビーフ」を表す情報、「XBビーフ」を表す情報、及び「XCビーフ」を表す情報等を取得する。
次に、図5の提示部230は、図17に示すような検索結果ページPC1を生成する(ステップS63)。この検索結果ページPC1は、図16のステップS62で取得された情報で表される広告ファイル名の電子ファイルで表される広告画像PR01からPR03を掲載している。また、掲載された広告画像には、当該広告画像で広告される商品等を広告する広告ページがリンクされている。その後、提示部230は、生成された検索結果ページPC1を表す情報を、図3のLANカード200fへ出力する(ステップS64)。LANカード200fは、出力された情報を入札者側端末装置102へ返信する。その後、提示部230は、検索結果ページ出力処理の実行を終了する。
図10のステップS15の実行が終了すると、算出部235は、図18に示すような検索後クエリ修正処理を実行する(ステップS16)。
図18の検索後クエリ修正処理が開始されると、算出部235は、図15のステップS31及びステップS32と同様の処理を実行する(ステップS71及びステップS72)。その後、算出部235は、保存キーワードが情報記憶部100に記憶されていないと判別する(ステップS73;No)。その後、算出部235は、今回取得された検索クエリに含まれるキーワード「国産」を表す情報を、保存キーワードを表わす情報として情報記憶部210へ保存する(ステップS77)。
次に、算出部235は、保存キーワード「国産」を含む検索クエリが指定された日時(以下、クエリ指定日時という)からの経過時間を計測するソフトウェアタイマ(以下、経過時間タイマという)をクリアしてからスタートさせる(ステップS78)。また、算出部235は、入札者側端末装置102のユーザがクエリ指定日時より後に閲覧したウェブページの数を算出する閲覧ページカウンタの値を「0」とすることでクリアしてから(ステップS79)、検索後クエリ修正処理の実行を終了する。
図10のステップS16の後に、算出部235は、図18のステップS79でクリアされた閲覧ページカウンタの値を「1」だけ増加させる(ステップS17)。入札者側端末装置102のユーザが、検索結果ページPC1を閲覧するためである。
次に、算出部235が、検索クエリに含まれるキーワードが「国産」1つであると判別すると(ステップS18;Yes)、ステップS11から上記処理が繰り返される。
ここで、入札者側端末装置102のユーザは、図17の検索結果ページPC1を視認し、検索結果ページPC1に掲載された広告画像PR01からPR03でそれぞれ広告される商品等から、入札を検討する商品として商品「XAビーフ」を決定する。
次に、入札者側端末装置102の入力部は、ユーザに操作されて、入札を検討された商品「XAビーフ」を広告する広告画像PR01を選択する信号を入力する。その後、入札者側端末装置101は、当該リンクされた広告ページの返信を要求する返信リクエストをジャンル生成装置200へ送信する。尚、この返信リクエストは、入力された信号で選択される広告画像PR01にリンクされた広告ページのURL「./public_dir/C001.html」を表す情報を含む。
図5の取得部220は、LANカード200fで入札者側端末装置102から受信された情報を取得し、当該取得された情報が入力リクエストでないと判別する(図10のステップS11;No)。次に、取得部220は、検索クエリでもなく(ステップS13;No)、返信リクエストであると判別する(ステップS20;Yes)。その後、取得部220は、当該リクエストで返信を要求された広告ページを出力する要求ページ出力処理が実行される(ステップS21)。
この要求ページ出力処理では、図5の取得部220が、返信リクエストから広告ページのURL「./public_dir/C001.html」を表す情報を抽出する。その後、検索部240が、図8の商品等テーブルにおいて、広告ページURLを表す情報と対応付けられた入札価格「3000」を表す情報を検索する。次に、検索部240が、広告ページURLに在る、図19に示すような広告ページPAを情報記憶部210から読み出す。この広告ページPAには、広告の対象とされる商品等の画像PD及び当該商品等の広告文TAが掲載されている。
次に、図5の提示部230は、検索された入札価格「3,000」を表す情報を、読み出された広告ページPAに掲載させた後に、当該広告ページPAを表す情報を、要求ページを表す情報としてLANカード200fへ出力する。その後、算出部235は、閲覧ページカウンタの値を「1」増加させる(図10のステップS22)。その後、LANカード200fは、入札者側端末装置101へ広告ページを表す情報を返信する。
入札者側端末装置102は、ジャンル生成装置200から受信された情報で表される図19の広告ページPAを表示する。入札者側端末装置102のユーザは、広告ページPAを視認し、当該広告ページPAで広告される商品「XAビーフ」を入札する意思が生じたことを確認すると、入札者側端末装置102の入力部を操作する。これにより、入札者側端末装置102は、入札意思が示された商品等の入札を受け付けるように要求する入札リクエストをジャンル生成装置200へ送信する。尚、当該入札リクエストには、入札意思が示された商品等の商品等ID「M001」、ユーザに指定された入札価格「4000」を表す情報、及び当該ユーザの入札者ID「B101」を含む。
図10のステップS22の処理が終了すると、図5の取得部220は、入札者側端末装置102から受信された情報をLANカード200fから取得する。次に、取得部220は、当該取得された情報が入力リクエストでなく(図10のステップS11;No)、検索クエリでもなく(ステップS13;No)、返信リクエストでもなく(ステップS20;No)、入札リクエストであると判別する(ステップS23;Yes)。次に、図5の入札部245は、入札リクエストに応じて入札処理を実行する(ステップS24)。この入札処理は、図8の商品等テーブルに対して、商品等ID「M001」と、入札者ID「B101」と、入札価格「4,000」を表す情報と、を対応付けた情報を保存する処理である。尚、ステップS23において、取得された情報は入札リクエストでないと判別されると(ステップS23;No)、ステップS11から上記処理が繰り返される。
ここで、図19の広告ページPAには、入力ページにリンクされた文字列「トップ」LTが記載されている。このため、広告ページPAを視認した入札者側端末装置102のユーザは、入札者側端末装置102の入力部を操作し、表示部に表示されたカーソルCSを文字列「トップ」LTに重ねた後にクリック操作を行う。新たな商品等の検索を再度行うためである。その後、入札者側端末装置102は、入力リクエストをジャンル生成装置200へ送信し、ジャンル生成装置200から返信された入力ページを表示する。次に、入札者側端末装置102は、ユーザに操作されて、当該ユーザに指定された検索クエリ「オーストラリア産」を入力した後に、当該検索クエリをジャンル生成装置200へ送信する。
次に、図5の取得部220は、図3のLANカード200fで入札者側端末装置102から受信された情報を取得する。次に、取得部220は、当該取得された情報が入力リクエストでなく(図10のステップS11;No)、検索クエリであると判別すると(ステップS13;Yes)、図15の検索前クエリ修正処理が再実行される(ステップS14)。
図15の検索前クエリ修正処理が開始されると、図5の算出部235は、ステップS31及びステップS32の処理を実行した後に、保存キーワード「国産」を表す情報が情報記憶部210に既に保存されていると判別する(ステップS33;Yes)。その後、算出部235は、今回取得された検索クエリに絞込指示が含まれていないと判別し(ステップS34;No)、検索前クエリ修正処理の実行を終了する。
図10のステップS14の後に、検索結果出力処理が再実行される(ステップS15)。この処理によって、検索クエリ「オーストラリア産」に基づいて、図9の商品等キーワードテーブルから検索された商品「XDビーフ」、「XEビーフ」、「XFビーフ」、及び「YAポーク」を掲載した検索結果ページが、入札者側端末装置102へ送信される。
その後、算出部235は、図18に示すような検索後クエリ修正処理を再実行する(ステップS16)。図18の検索後クエリ修正処理を開始すると、算出部235は、ステップS71からステップS73の処理を実行する。その後、算出部235は、ステップS78でスタートさせた経過時間タイマのタイマ値と、ステップS79でクリアした閲覧ページカウンタの値と、を参照する。次に、算出部235は、参照したタイマ値と閲覧ページカウンタの値とに基づいて、クエリ指定日時から所定時間内であり、かつユーザがウェブページを所定ページだけ閲覧する前であるか否かを判別する(ステップS74)。
具体的には、算出部235は、経過時間タイマのタイマ値がタイマ値用の閾値よりも小さい場合に、クエリ指定日時から所定時間内であると判別する。また、算出部235は、閲覧ページカウンタの値が閲覧ページカウンタ用の閾値よりも小さい場合に、ユーザが所定ページ数だけウェブページを閲覧する前であると判別する。このタイマ値用の閾値を表す情報及び閲覧ページカウンタ用の閾値を表す情報は、情報記憶部210に記憶されている。
ステップS74において、算出部235は、クエリ指定日時から所定時間内であり、かつユーザがウェブページを所定ページだけ閲覧する前であると判別する(ステップS74;Yes)。その後、算出部235は、検索クエリ「オーストラリア産」に絞込指示が含まれないと判別する(ステップS74;No)。その後、算出部235は、保存キーワード「国産」と今回取得されたキーワード(以下、今回取得キーワードという)「オーストラリア産」とをOR演算子で連結した検索クエリ「国産 OR オーストラリア産」を生成する。次に、算出部235は、今回取得された検索クエリ「オーストラリア産」を、生成された検索クエリ「国産 OR オーストラリア産」に修正した後に(ステップS76)、検索後クエリ修正処理の実行を終了する。
検索クエリ「国産」を指定してから所定時間以内、かつ当該指定を行った日時からウェブページを所定ページだけ閲覧する前に、検索クエリ「オーストラリア産」をユーザが指定した場合を例に挙げて説明すると、以下の2つのアクションは、当該ユーザにとって違いが少ないと考えられるためである。1つ目のアクションは、検索クエリ「国産」で検索された商品等から入札する商品等を選択し、かつ検索クエリ「オーストラリア産」で検索された商品等から入札する商品等を選択するというものである。また、2つ目のアクションは、検索クエリ「国産 OR オーストラリア産」で検索される商品等から入札する商品等を選択するというものである。すなわち、当該ユーザが、OR演算子の使用方法を熟知していれば、当該ユーザは、検索クエリ「国産」を指定してから検索クエリ「オーストラリア産」を指定するのではなく、検索クエリ「国産 OR オーストラリア産」を指定したであろうと考えられるためである。
尚、ステップS74において、算出部235は、クエリ指定日時から所定時間経過しているか、又はユーザがクエリ指定日時からウェブページを所定ページ以上閲覧していると判別すると(ステップS74;No)、ステップS77からステップS79の処理を実行した後に、検索後クエリ修正処理の実行を終了する。つまり、ステップS77において、算出部235は、情報記憶部210に保存されたキーワードを表す情報を、今回取得されたキーワードを表す情報で上書きする。次に、ステップS78及びステップS79において、算出部235は、経過時間タイマをクリアしてから再スタートさせ、閲覧ページカウンタをクリアする。
前回の検索クエリが指定された日時から所定時間経過した、又はユーザがウェブページを所定ページ以上閲覧した後にユーザが検索クエリを指定した場合には、例え、ユーザがOR演算子の使用方法を熟知していても、前回の検索クエリと今回取得されたキーワードとをOR演算子で連結した検索クエリを指定することが少ないためである。また、この場合には、前回の検索クエリに基づいて検索された商品等を今回取得されたキーワードに基づいて絞り込む意思がユーザに無いことが多いためでもある。
図10のステップS16の後に、算出部235は、閲覧カウンタの値を「1」増加させた後に(ステップS17)、補正後の検索クエリ「国産 OR オーストラリア産」に含まれるキーワード数が「2」であって値「1」でないと判別する(ステップS18;No)。その後、算出部235は、図20に示すような算出処理を実行した後に(ステップS19)、ステップS11から上記処理が繰り返される。
図20の算出処理を開始すると、算出部235は、補正された検索クエリ「国産 OR
オーストラリア産」に基づいて、図11の取得回数テーブルを更新する(ステップS91)。具体的には、算出部235は、キーワード「国産」とキーワード「オーストラリア産」とを含む同層クエリが取得された回数である同層クエリ取得回数(つまり、ORクエリ取得回数)「108」を表す情報を、取得回数「109」を表す情報に更新する。
その後、算出部235は、図13の検索回数テーブルにおいて、検索クエリに含まれるキーワード「国産」を表す情報に対応付けられた検索回数「340」を表す情報を、検索回数「341」を表す情報に更新する。また、算出部235は、検索クエリに含まれるキーワード「オーストラリア産」を表す情報に対応付けられた検索回数「320」を表す情報を、検索回数「321」を表す情報に更新する(図20のステップS93)。
その後、算出部235は、検索クエリ「国産 OR オーストラリア産」に含まれる演算子がOR演算子であると判別し(ステップS94;No)、算出処理の実行を終了する。
次に、既に説明した商品等競売処理について、絞込指示を含む検索クエリをジャンル生成装置200が取得する場合を例に挙げて説明を行う。
入札者側端末装置102が検索クエリ「国産」を、ジャンル生成装置200へ送信すると、図17に示すような検索結果ページPC1がジャンル生成装置200から返信される。入札者側端末装置102のユーザは、検索結果ページPC1に掲載された商品等を、キーワード「肩ロース」で説明される商品に絞り込むための操作を、入札者側端末装置102の入力部に対して行う。次に、入札者側端末装置102は、ユーザに指定されたキーワード「肩ロース」と絞込指示とからなる検索クエリをジャンル生成装置200へ送信する。
図5に示したジャンル生成装置200の取得部220は、LANカード200fで受信された情報を取得し、当該取得された情報が入力リクエストでなく(図10のステップS11;No)、検索クエリであると判別する(ステップS13;Yes)。その後、図15の検索前クエリ修正処理が再度実行される(ステップS14)。
図15の検索前クエリ修正処理が開始されると、図5の算出部235は、ステップS31からステップS33の処理を実行する。次に、算出部235は、前回取得した検索クエリに含まれていたキーワード「国産」が情報記憶部210に既に記憶されていると判別する(ステップS33;Yes)。その後、算出部235は、今回取得された検索クエリに絞込指示が含まれているか否かを判別する(ステップS34)。このとき、算出部235は、検索クエリに絞込指示が含まれていると判別し(ステップS34;Yes)、今回取得された検索クエリを、保存キーワード「国産」と今回取得キーワード「肩ロース」とがAND演算子で連結されたクエリとみなす。次に、算出部235は、今回取得された検索クエリを「国産 AND 肩ロース」と修正する(ステップS35)。絞込指示に従った検索を行うためである。その後、算出部235は、保存キーワード「国産」を第1キーワードとし、今回取得されたキーワード(今回取得キーワードという)「肩ロース」を第2キーワードとした後に、検索クエリ修正処理の実行を終了する。
図10のステップS14の後に、検索結果出力処理が実行される(ステップS15)。ステップS15の処理において、第1キーワード(つまり、保存キーワード)「国産」に基づいて検索された商品等「XAビーフ」、「XBビーフ」、及び「XCビーフ」が、図9の商品等キーワードテーブルにおいて第2キーワード(つまり、今回取得キーワード)「肩ロース」にも対応付けられた商品等「XAビーフ」及び「XBビーフ」に絞り込まれる。次に、絞り込まれた商品等を掲載する、図21に示すような検索結果ページPC2が入札者側端末装置102へ返信される。
その後、算出部235は、図18に示すような検索後クエリ修正処理を再実行する(ステップS16)。図18の検索後クエリ修正処理を開始すると、算出部235は、検索前クエリ修正処理で修正された検索クエリに含まれるキーワードが「国産」と「肩ロース」との2つであって、1つでないと判別する(ステップS71;No)。次に、算出部235は、ステップS77で保存された保存キーワードを削除する(ステップS80)。保存キーワードを用いた補正を行う必要が無くなったためである。その後、算出部235は、検索クエリに−演算子が含まれていないと判別し(ステップS81;No)、検索後クエリ修正処理の実行を終了する。
図10のステップS16の後に、算出部235は、閲覧カウンタの値を「1」増加させる(ステップS17)。次に、検索クエリに含まれるキーワードが「国産」と「肩ロース」の「2」つであって「1」より多いと判別する(ステップS18;No)。その後、算出部235は、図20に示すような算出処理を実行してから(ステップS19)、上記ステップS11の処理を繰り返す。
図20の算出処理を開始すると、算出部235は、図11の取得回数テーブルにおいて、キーワード「国産」とキーワード「肩ロース」とを連結する異層クエリが取得された回数である異層クエリ取得回数(つまり、ANDクエリ取得回数)「100」を表す情報を、取得回数「101」を表す情報に更新する(ステップS91)。
その後、算出部235は、ステップS93の処理を実行した後に、検索クエリ「国産 AND 肩ロース」に含まれる演算子がAND演算子であると判別する(ステップS94;Yes)。
次に、算出部235は、図12の順序テーブルにおいて、キーワード「国産」を表す情報と、キーワード「肩ロース」を表す情報と、に対応付けられた、キーワード「国産」の先行回数「20」を表す情報を、先行回数「21」を表す情報に更新する(ステップS95)。その後、算出部235は、算出処理の実行を終了する。
次に、既に説明した商品等競売処理について、第1キーワードと第2キーワードとを含むが、演算子を含まない検索クエリをジャンル生成装置200が取得する場合を例に挙げて説明を行う。
入札者側端末装置102が、検索クエリ「国産 肩ロース」を、ジャンル生成装置200へ送信すると、ジャンル生成装置200の取得部220は、LANカード200fで受信された情報を取得する。次に、取得部220は、当該取得された情報が入力リクエストでなく(図10のステップS11;No)、検索クエリであると判別する(ステップS13;Yes)。次に、図15の検索前クエリ修正処理が再度実行されてから(ステップS14)、ステップS15からステップS19の処理が実行された後に、上記ステップS11から上記処理が繰り返される。
図10のステップS14において、図15の検索前クエリ修正処理が開始されると、図5の算出部235は、検索クエリに含まれるキーワードが第1キーワード「国産」及び第2キーワード「肩ロース」の「2」個であって「1」個でないと判別する(ステップS31;No)。次に、算出部235は、検索クエリに演算子が含まれていないと判別する(ステップS36;No)。その後、算出部235は、第1キーワードと第2キーワードとを予め定められた演算子であるAND演算子で連結した検索クエリ「国産 AND 肩ロース」に、取得された検索クエリを修正した後に(ステップS37)、検索前クエリ修正処理の実行を終了する。尚、予め定められた演算子を表す情報は、情報記憶部210に記憶されている。また、予め定められた演算子は、AND演算子に限定される訳ではなく、OR演算子又は−演算子であっても良い。
尚、例えば、検索クエリ「国産 AND 肩ロース」のような第1キーワードと第2キーワードとをAND演算子で連結したクエリが取得された場合には、算出部235は、検索クエリに演算子が含まれていると判別する(ステップS36;Yes)。また、例えば、検索クエリ「国産 OR 肩ロース」のような第1キーワードと第2キーワードとをOR演算子で連結したクエリが取得された場合には、算出部235は、検索クエリに演算子が含まれていると判別する(ステップS36;Yes)。検索クエリに演算子が含まれていると判別した場合には、その後に、算出部235は、ステップS37の処理を実行せずに、検索前クエリ修正処理の実行を終了する。
次に、既に説明した商品等競売処理について、第1キーワードと第2キーワードとを−演算子で連結した検索クエリをジャンル生成装置200が取得する場合を例に挙げて説明を行う。
入札者側端末装置102は、検索クエリ「ファッション − メンズファッション」と、ジャンル「ファッション」を識別するジャンルID「J00001」と、をジャンル生成装置200へ送信する。ジャンル生成装置200の取得部220は、LANカード200fで入札者側端末装置102から受信された情報を取得する。その後、取得部220は、当該取得された情報が入力リクエストでなく(図10のステップS11;No)、検索クエリであると判別する(ステップS13;Yes)。次に、図5の算出部235は、検索前クエリ修正処理を再度実行するが(ステップS14)、検索クエリを修正しない。
その後、図16の検索結果ページ出力処理が実行される(ステップS15)。検索結果ページ出力処理が開始されると、図5の検索部240は、図7のジャンル階層テーブルから、取得されたジャンルID「J00001」に対応付けられた下位ジャンルID「J00011」から「J00013」を検索する。次に、検索部240は、OSからシステム日時を取得する。その後、検索部240は、図8の商品等テーブルから、取得されたジャンルID「J00001」及び下位ジャンルID「J00011」から「J00013」のいずれかと同じ分類ジャンルIDと、システム日時よりも後の出品期限を表す情報とに対応付けられた商品ID「M100」から「M103」を検索する。
その後、検索部240は、図9の商品等キーワードテーブルから、取得された商品ID「M100」から「M103」の内で、取得された検索クエリに含まれる「ファッション」と同じキーワードを表す情報に対応付けられた商品等ID「M100」から「M102」を検索する。次に、検索部240は、キーワード「メンズファッション」に基づいて商品等ID「M102」を検索し、キーワード「ファッション」に基づいて検索された商品等ID「M100」から「M102」から当該検索された商品等ID「M102」を除外する(図16のステップS61)。
次に、検索部240は、ステップS62からステップS64の処理を実行する。これにより、商品等ID「M100」で識別される商品「ZAサンダル」及び商品等ID「M101」で識別される商品「ZBスカート」を表す情報を掲載した検索結果ページを表す情報が入札者側端末装置102へ返信される。
図10のステップS15の実行が終了すると、算出部235は、図18に示すような検索後クエリ修正処理を実行する(ステップS16)。
図18の検索後クエリ修正処理が開始されると、算出部235は、ステップS71及びステップS80の処理を実行した後に、取得された検索クエリに−演算子が含まれていると判別する(ステップS81;Yes)。次に、算出部235は、第2キーワード「メンズファッション」で表されるジャンルが属する層と同じ層に属する並列ジャンルを表すキーワード(以下、並列キーワードという)を取得する(ステップS82)。
具体的には、算出部235は、図6のジャンルテーブルから、第2キーワード「メンズファッション」と同じジャンル名を表す情報に対応付けられたジャンルID「J00012」を検索する。次に、算出部235は、図7のジャンル階層テーブルから、検索されたジャンルID「J00012」と同じ下位ジャンルIDに対応付けられたジャンルID「J00001」を検索する。また、算出部235は、検索されたジャンルID「J00001」に対応付けられた下位ジャンルID「J00011」から「J00013」を取得する。その後、算出部235は、図6のジャンルテーブルから、下位ジャンルID「J00011」から「J00013」と同じジャンルIDにそれぞれ対応付けられたジャンル名を表す情報を取得する。次に、算出部235は、当該取得された情報でそれぞれ表されるキーワード「靴」、「レディースファッション」、及び「メンズファッション」を取得する。その後、算出部235は、取得したワード「靴」、「レディースファッション」、及び「メンズファッション」の内で、第2キーワード「メンズファッション」以外の「靴」及び「レディースファッション」を並列キーワードとする。
次に、算出部235は、並列キーワード「靴」及び「レディースファッション」をOR演算子で連結した連結キーワード「靴 OR レディースファッション」を生成する。次に、算出部235は、検索クエリ「ファッション − メンズファッション」を、クエリ「ファッション AND (靴 OR レディースファッション)」と補正した後に(ステップS83)、検索後クエリ修正処理の実行を終了する。尚、クエリ「ファッション AND (靴 OR レディースファッション)」は、第1キーワード「ファッション」と連結キーワード「靴 OR レディースファッション」とをAND演算子で連結したクエリである。
図10のステップS16の後に、算出部235が、ステップS17及びステップS18の処理を実行する。その後、算出部235は、検索クエリ「ファッション AND (靴
OR レディースファッション)」を、異層クエリ「ファッション AND 靴」と、異層クエリ「ファッション AND レディースファッション」と、同層クエリ「靴 OR レディースファッション」とみなして、算出処理を実行する(ステップS19)。その後、ステップS11から上記処理が繰り返される。
「ファッション − メンズファッション」という検索クエリを指定したユーザは、ジャンル「ファッション」とジャンル「メンズファッション」とが異なる層に属していると認識していることが多いためである。また、「ファッション − メンズファッション」という検索クエリに基づく商品等の検索結果と、「ファッション AND (靴 OR レディースファッション)」という検索クエリに基づく商品等の検索結果とが等しい場合には、ユーザは、ジャンル「ファッション」とジャンル「靴」とが異なる層に属し、ジャンル「ファッション」とジャンル「レディースファッション」とが異なる層に属し、ジャンル「靴」とジャンル「レディースファッション」とが同じ層に属していると認識している場合が多いためである。
次に、出品された商品等の落札について説明を行う。
図3に示したジャンル生成装置200のCPU200aは、所定時間周期で、不図示の落札処理を実行する。これにより、CPU200aは、図5に示すような落札部250として機能する。
落札処理が開始されると、落札部250は、OSからシステム日時を取得する。次に、落札部250は、図8の商品等テーブルにおいて、取得された日時よりも上記所定時間前までの時刻と対応付けられた(つまり、所定時間前から現在までに出品期間が終了した商品の)商品等ID、商品等名を表す情報、分類ジャンルID、入札価格を表す情報、入札者ID、及び出品者IDを取得する。
次に、落札部250は、入札者IDで識別される入札者へ、落札された商品等の商品等ID、商品等名を表す情報、入札価格を表す情報、及び出品者IDなどを、例えば、電子メールで通知する。また、落札部250は、落札者IDで識別される落札者へ、落札された商品等の商品等ID、商品等名を表す情報、入札価格を表す情報、及び入札者IDなどを、例えば同様に、電子メールで通知する。その後、落札部250は、図6のジャンルテーブルにおいて、落札された商品等の分類ジャンルIDと同じジャンルIDに対応付けられた販売回数を表す情報を、当該情報で表される回数を値「1」増加させた販売回数を表す情報に更新する。
次に、ジャンルの生成について説明を行う。
図3に示したジャンル生成装置200のCPU200aは、図22のジャンル生成処理を所定周期で実行することで、図5に示すような変更部260、生成部265、及び再分類部269としてさらに機能する。
図22のジャンル生成処理が開始されると、図5の生成部265は、図23に示すような注目ジャンル決定処理を実行する(ステップS102)。
図23の注目ジャンル決定処理が開始されると、生成部265は、図6のジャンルテーブルから、ジャンル名を表す情報と、当該ジャンル名のジャンルに分類された商品等の数(つまり、分類数)を表す情報と、を複数取得する(ステップS111)。
次に、生成部265は、図13の検索回数テーブルから、キーワードを表す情報と、当該キーワードの検索回数(以下、今回検索回数という)を表す情報と、を複数読み出す(ステップS112)。また、生成部265は、情報記憶部210から、後述するステップS116の処理で前回に保存されたキーワードを表す情報と、当該キーワードの検索回数(以下、前回検索回数という)を表す情報と、を読み出す(ステップS113)。
次に、生成部265は、ステップS113において、前回検索回数を表す情報を読み出せたか否かを判別する(ステップS114)。このとき、生成部265は、前回検索回数を表す情報を読み出せたと判別すると(ステップS114;Yes)、同じキーワードを表す情報にそれぞれ対応付けられた情報で表される今回検索回数から前回検索回数を減算する。これにより、生成部265は、検索回数の変化量を算出する(ステップS115a)。これに対して、生成部265は、前回検索回数を表す情報を読み出せなかったと判別すると(ステップS114;No)、検索回数の変化量を値「0」とする(ステップS115b)。
ステップS115aの後に、生成部265は、情報記憶部210に既に保存されている前回検索回数を表す情報を、今回検索回数を表す情報で更新する。また、ステップS115bの後に、生成部265は、今回検索回数を表す情報を、前回検索回数を表す情報として情報記憶部210に新たに保存する(ステップS116)。
次に、生成部265は、図6のジャンルテーブルから、ジャンル名を表す情報と、販売回数を表す情報と、を複数取得する(ステップS117)。
その後、生成部265は、ステップS111で取得された分類数、ステップS112で取得された今回検索回数、ステップS115a若しくはステップS115bで算出された検索回数の変化量、及びステップS117で取得された販売回数のいずれかがそれぞれの閾値以上であるか否かを判別する(ステップS118)。
このとき、生成部265は、分類数、今回検索回数、検索回数の変化量、及び販売回数のいずれかがそれぞれの閾値以上であると判別すると(ステップS118;Yes)、閾値以上であると判別された数に対応するジャンルを注目ジャンルと決定とした後に(ステップS119)、注目ジャンル決定処理の実行を終了する。
具体的には、生成部265は、ステップS111で取得された分類数のいずれかが分類数用の閾値以上であると判別すると、当該閾値以上であると判別された分類数を表す情報に対応付けられたジャンル名を表す情報を特定する。次に、生成部265は、特定された情報で表されるジャンル名のジャンルを注目ジャンルとする。
同様に、生成部265は、ステップS112で取得された今回検索回数のいずれかが検索回数用の閾値以上であると判別すると、当該閾値以上であると判別された今回検索回数を表す情報に対応付けられたキーワードを表す情報を特定する。次に、生成部265は、特定された情報で表されるキーワードが表すジャンルを注目ジャンルとする。
さらに同様に、生成部265は、ステップS115a若しくはステップS115bで算出された検索回数の変化量のいずれかが変化量用の閾値以上であるであると判別すると、当該閾値以上であると判別された変化量の算出に用いられた検索回数を表す情報を特定する。次に、生成部265は、特定された検索回数を表す検索回数を表す情報に対応付けられたキーワードを表す情報を特定し、特定した情報で表されるキーワードが表すジャンルを注目ジャンルとする。
また同様に、生成部265は、ステップS117で取得された販売回数のいずれかが販売回数用の閾値以上であると判別すると、当該閾値以上であると判別された販売回数を表す情報に対応付けられたジャンル名を表す情報を特定する。次に、生成部265は、特定された情報で表されるジャンル名のジャンルを注目ジャンルとする。
ステップS118において、生成部265は、分類数、今回検索回数、検索回数の変化量、及び販売回数のいずれもがそれぞれの閾値より小さいと判別すると(ステップS118;No)、注目ジャンルを決定せずに(ステップS120)、注目ジャンル決定処理の実行を終了する。
図22のステップS102の後に、生成部265は、ステップS102の処理で注目ジャンルが決定されたか否かを判別する(ステップS103)。このとき、生成部265は、注目ジャンルが決定されなかったと判別すると(ステップS103;No)、ジャンル生成処理の実行を終了する。
以下、注目ジャンルが「リブロース」に決定されたとして説明を行う。
ステップS103において、生成部265が、注目ジャンルが決定されたと判別すると(ステップS103;Yes)、生成部265は、図24に示すような生成ジャンル決定処理を実行する(ステップS106)。
図24の生成ジャンル決定処理の実行を開始すると、生成部265は、図8の商品等テーブルにおいて、決定された注目ジャンル「リブロース」のジャンルID「J02111」と対応付けられた広告ページURLを表す情報を複数検索する。次に、生成部265は、検索された複数の情報でそれぞれ表されるURLにある広告ページを複数取得する(ステップS121)。
次に、生成部265は、取得された複数の広告ページから、キーワードを抽出し(ステップS122)、抽出されたキーワードの広告ページにおける使用回数を算出する(ステップS123)。
その後、生成部265は、図2に示した階層構造を構成するジャンルを表すキーワードを特定するために、図6のジャンルテーブルに保存されたジャンル名を表す情報を取得する。次に、生成部265は、ステップS122で抽出されたキーワードから、取得された情報で表されるキーワードと異なるキーワードを特定する。
次に、生成部265は、特定されたキーワードから、キーワードの使用回数に基づいて1つのキーワードを選択し、選択したキーワードを、これから作成するジャンル(以下、生成ジャンルという)を表すキーワードと決定する(ステップS124)。その後、生成ジャンル決定処理の実行を終了する。
以下、「ローストビーフ用」というキーワードが、生成ジャンルを表すキーワードと決定されたとして説明を行う。
図22のステップS106が実行された後に、生成部265は、生成ジャンル「ローストビーフ用」を生成した後にONとされるジャンル生成フラグを「OFF」とする(ステップS107)。
次に、算出部235は、検索クエリにおいて複数のキーワードが、異層演算子で互いに連結されて用いられる(共起する)程度を表す指標を算出する異層注目共起度合算出処理を実行する。
図25に示す異層注目共起度合算出処理を開始すると、算出部235は、注目ジャンル「ローストビーフ用」の直列ジャンルを検索する(ステップS131)。
具体的には、図2に示すジャンル「トップ」から注目ジャンル「リブロース」を経由して最下位のジャンル「ステーキ用」までの経路には、ジャンル「食品」、「牛肉」、及び「ステーキ用」がある。このため、ジャンル「食品」、「牛肉」、及び「ステーキ用」が、注目ジャンル「リブロース」の直列ジャンルである。
ここで、算出部235は、注目ジャンル「リブロース」からジャンル「トップ」までの経路を辿るために、図7に示すジャンル階層テーブルから、注目ジャンル「リブロース」のジャンルID「J02111」と同じ下位ジャンルIDに対応付けられたジャンル「牛肉」のジャンルID「J00021」を検索する。次に、算出部235は、検索されたジャンル「牛肉」を、注目ジャンル「リブロース」の直近上位のジャンルと特定し、ジャンル「牛肉」を直列ジャンルとする。
次に、算出部235は、ジャンル「牛肉」のジャンルID「J00021」に対応付けられたジャンル「食品」のジャンルID「J00002」を検索し、ジャンル「食品」を直列ジャンルとする。さらに、算出部235は、ジャンル「食品」のジャンルID「J00002」に対応付けられたジャンル「トップ」のジャンルID「J00000」を検索し、経路の一端に到達したと判別する。
その後、算出部235は、注目ジャンル「リブロース」から最下位のジャンルまで経路を辿るため、注目ジャンル「リブロース」のジャンルID「J02111」に対応付けられたジャンル「ステーキ用」のジャンルID「J21111」を検索する。次に、算出部235は、検索されたジャンル「ステーキ用」を直列ジャンルとする。次に、算出部235は、ジャンル「ステーキ用」のジャンルID「J02111」に対応付けられた下位ジャンルIDが、図7に示すジャンル階層テーブルに保存されていないため、経路の他端に到達したと判別する。
このようにして、算出部235は、トップのジャンルから注目ジャンル「リブロース」を経由して最下位のジャンルまで到達する経路上にある直列ジャンル「食品」、「牛肉」、及び「ステーキ用」を特定する。
図25のステップS131の後に、算出部235は、検索した直列ジャンルのそれぞれについて、直列ジャンルを表すキーワードである直列キーワードを特定する。次に、算出部235は、検索した直列ジャンルのそれぞれについて、注目キーワードと直列キーワードとが検索クエリにおいて異層演算子で互いに連結されて共起する程度を表す指標(以下、異層直列共起度合という)を算出する(ステップS132)。
先ず、直列ジャンル「食品」を表す直列キーワード「食品」と、注目ジャンルを表す注目キーワード「リブロース」と、の異層直列共起度合の算出方法について説明する。
算出部235は、図13の検索回数テーブルから、直列キーワード「食品」に対応付けられた検索回数「300」と、注目キーワード「リブロース」に対応付けられた検索回数「120」と、を検索する。次に、算出部235は、図11の取得回数テーブルから、直列キーワード「食品」と注目キーワード「リブロース」とに対応付けられた異層クエリ取得回数(つまり、ANDクエリ取得回数)「220」を検索する。この、直列キーワード「食品」と注目キーワード「リブロース」とに対応付けられた異層クエリ取得回数は、直列キーワード「食品」と注目キーワード「リブロース」とが検索クエリにおいて異層演算子で互いに連結されて共起した回数である。
その後、算出部235は、下記の数式(4)を用いて、異層直列共起度合「0.52」を算出する。
尚、直列ジャンル「牛肉」を表す直列キーワード「牛肉」と、注目ジャンルを表す注目キーワード「リブロース」と、の異層直列共起度合の算出方法も同様である。つまり、算出部235は、直列キーワード「牛肉」の検索回数「150」と、注目キーワード「リブロース」の検索回数「120」と、直列キーワード「牛肉」と注目キーワード「リブロース」との異層クエリ取得回数「140」と、を、上記の数式(4)に用いて、異層直列共起度合「0.52」を算出する。
また、算出部235は、直列キーワード「ステーキ用」の検索回数「60」と、注目キーワード「リブロース」の検索回数「120」と、直列キーワード「ステーキ用」と注目キーワード「リブロース」との異層クエリ取得回数「90」と、を、上記の数式(4)に用いて、異層直列共起度合「0.50」を算出する。
図25のステップS132の後に、算出部235は、上記3つの直列キーワード「食品」、「牛肉」、及び「ステーキ用」について算出した3つの異層直列共起度合「0.52」、「0.52」、及び「0.50」の算術平均「0.51」を算出する(ステップS133)。
次に、算出部235は、注目ジャンル「ローストビーフ用」の並列ジャンルを検索し、図2に示すジャンル「カルビ」及び「タン」を、注目ジャンル「リブロース」の並列ジャンルと特定する(ステップS134)。
ここで、算出部235は、図7に示すジャンル階層テーブルから、注目ジャンル「リブロース」の直近上位ジャンル「牛肉」のジャンルIDを検索する。次に、算出部235は、「牛肉」のジャンルIDに対応づけられた下位ジャンルID「J02111」、「J02112」、及び「J02113」を検索する。次に、算出部235は、検索されたジャンルIDの内で、注目ジャンル「リブロース」のジャンルID「J02111」と異なるジャンルID「J02112」で識別されるジャンル「カルビ」及びジャンルID「J02113」で識別されるジャンル「タン」を並列ジャンルと特定する。
ステップS134の後に、算出部235は、検索した並列ジャンルのそれぞれについて、並列ジャンルを表すキーワードである並列キーワードを特定する。次に、算出部235は、検索した並列ジャンルのそれぞれについて、注目キーワードと並列キーワードとが検索クエリにおいて異層演算子で互いに連結されて共起する程度を表す指標(以下、異層並列共起度合という)を算出する(ステップS135)。
先ず、並列ジャンル「カルビ」を表す直列キーワード「カルビ」と、注目ジャンルを表す注目キーワード「リブロース」と、の異層並列共起度合の算出方法について説明する。
算出部235は、図13の検索回数テーブルから、並列キーワード「カルビ」に対応付けられた検索回数「100」と、注目キーワード「リブロース」に対応付けられた検索回数「120」と、を検索する。次に、算出部235は、図11の取得回数テーブルから、直列キーワード「カルビ」と注目キーワード「リブロース」とに対応付けられた異層クエリ取得回数「22」を検索する。
その後、算出部235は、下記の数式(5)を用いて、異層並列共起度合「0.10」を算出する。
尚、並列ジャンル「タン」を表す並列キーワード「タン」と、注目ジャンルを表す注目キーワード「リブロース」と、の異層直列共起度合の算出方法も同様である。つまり、算出部235は、並列キーワード「タン」の検索回数「100」と、注目キーワード「リブロース」の検索回数「120」と、並列キーワード「タン」と注目キーワード「リブロース」との異層クエリ取得回数「23」と、を、上記の数式(5)に用いて、異層並列共起度合「0.10」を算出する。
ステップS135の後に、算出部235は、上記2つの並列キーワード「カルビ」及び「タン」について算出した2つの異層並列共起度合「0.10」及び「0. 10」の算術平均「0.10」を算出する(ステップS136)。
ステップS136の後に、算出部235は、図24のステップS124で決定された生成ジャンルを表すキーワード「ローストビーフ用」を第1キーワードとし、注目ジャンルを表す注目キーワード「リブロース」を第2キーワードとする(ステップS137)。
次に、算出部235は、第1キーワードと注目ジャンルを表す第2キーワードとが検索クエリにおいて異層演算子で互いに連結されて共起する程度を表す指標(以下、異層注目共起度合という)を算出する(ステップS138)。
具体的には、算出部235は、図13の検索回数テーブルから、第1キーワード「ローストビーフ用」に対応付けられた検索回数「80」と、第2キーワード「リブロース」に対応付けられた検索回数「120」と、を検索する。次に、算出部235は、図11の取得回数テーブルから、第1キーワード「ローストビーフ用」と第2キーワード「リブロース」とに対応付けられた異層クエリ取得回数「100」を検索する。
その後、算出部235は、下記の数式(6)を用いて、異層注目共起度合「0.50」を算出する。
その後、算出部235は、異層注目共起度合算出処理の実行を終了する。
図22のステップS108が実行された後に、図26に示すような生成処理が実行される。
生成処理の実行が開始されると、算出部235は、図25のステップS133で算出された異層直列共起度合の平均値「0.51」と、ステップS138で算出された異層注目共起度合「0.50」と、を以下の数式(7)に用いて、異層直列差異「0.01」を算出する(ステップS141)。
異層直列差異=|異層直列共起度合の平均値−異層注目共起度合の平均値|・・・(7)
次に、算出部235は、図25のステップS136で算出された異層並列共起度合の平均値「0.10」と、ステップS138で算出された異層注目共起度合「0.50」と、を以下の数式(8)に用いて、異層並列差異「0.40」を算出する(ステップS142)。
異層並列差異=|異層並列共起度合の平均値−異層注目共起度合の平均値|・・・(8)
その後、生成部265は、異層直列差異「0.01」が異層並列差異「0.40」よりも小さいと判別する(ステップS143;Yes)。すなわち、生成ジャンルを表す第1キーワードと、注目ジャンルを表す第2キーワードと、が共起する度合は、注目ジャンルを表す第2キーワードと、注目ジャンルの並列ジャンルを表すキーワードと、が共起する度合よりも、注目ジャンルを表す第2キーワードと、注目ジャンルの直列ジャンルを表すキーワードと、が共起する度合いに近いと判別する。
次に、生成部265は、異層直列差異「0.01」が、予め定められた閾値(以下、差異用の閾値という)「0.10」よりも小さいと判別する(ステップS144)。尚、差異用の閾値は、「0.10」に限定される訳ではなく、当業者は、実験により好適な値を定めることができる。
次に、生成部265は、図12に示す順序テーブルから、第1キーワード「ローストビーフ用」が第2キーワード「リブロース」よりも先行して検索クエリで用いられた先行回数「10」と、後行して用いられた後行回数「90」と、を取得する(ステップS145)。
生成部265は、新規ジャンルを表す第1キーワード「ローストビーフ用」が注目ジャンルを表すキーワード「リブロース」よりも先行した回数「10」が、後行した回数「90」よりも少ないと判別する(ステップS146;No)。その後、生成部265は、図27に示すように、新規ジャンル「ローストビーフ用」を、注目ジャンル「リブロース」の直近下位のジャンルとして生成する(ステップS148)。
つまり、生成部265は、ジャンル「ローストビーフ用」のジャンルIDを生成した後に、図6のジャンルテーブルに対して、生成されたジャンルIDと、当該ジャンルのジャンル名を表す情報と、を保存する。次に、生成部265は、ジャンルテーブルから、既に生成されているジャンル「リブロース」のジャンルIDを検索する。その後、生成部265は、ジャンル「ローストビーフ用」のジャンルIDを下位ジャンルIDとし、図7のジャンル階層テーブルへ、検索されたジャンル「リブロース」のジャンルIDと、ジャンル「ローストビーフ用」のジャンルIDと、を対応付けた情報を保存する。
ステップS148の後に、生成部265は、ジャンル生成フラグを「ON」とした後に(ステップS149)、生成処理の実行を終了する。
図22のステップS109を実行した後に、生成部265は、ジャンル生成フラグが「ON」であると判別する(ステップS110;Yes)。
次に、図5の再分類部269は、注目ジャンル「リブロース」に分類されていた商品等を、既存のジャンル「リブロース」並びに新たに生成されたジャンル「ローストビーフ用」のいずれかに再分類する再分類処理を実行する(ステップS114)。
具体的には、再分類部269は、図8の商品等テーブルから、注目ジャンル「リブロース」を表す情報と同じ分類ジャンル名を表す情報に対応付けられた商品等IDを検索する。次に、再分類部269は、図9の商品等キーワードテーブルから、検索された商品等IDに対応付けられた商品等名を表す情報とキーワードを表す情報とを検索する。その後、再分類部269は、商品等IDで識別される商品等の商品等名を表す情報及びキーワードを表す情報のいずれか1つ以上に基づいて、商品等を既存のジャンル「リブロース」及び新たに生成されたジャンル「ローストビーフ用」のいずれかに再分類する。
具体的には、再分類部269は、商品等の名称と一致又は部分一致するキーワードで表されるジャンルへ当該商品等を分類しても良い。また、再分類部269は、「リブロース」を表す情報及び「ローストビーフ用」を表す情報の双方が商品等IDに対応付けられている場合に、ジャンル「リブロース」よりも下位の層に属し、ジャンル「リブロース」に含まれるジャンル「ローストビーフ用」に当該商品を分類しても良い。
その後、再分類部269は、図8の商品等テーブルにおいて、再分類された商品等IDと対応づけられた分類ジャンルID及び分類ジャンル名を表す情報を、当該商品等IDで識別される商品等が再分類されたジャンルのジャンルID及びジャンル名を表す情報に更新する。
その後、再分類部269は、ジャンル生成処理の実行を終了する。
次に、図28に示すように、ジャンル「リブロース」の直近下位にジャンル「オーストラリア産」が生成されているが、ジャンル「ステーキ用」が生成されていないジャンル階層を例に挙げて説明を行う。この場合、図6のジャンルテーブルには、ジャンル「オーストラリア産」のジャンルIDやジャンル名などが保存されているが、ジャンル「ステーキ用」のジャンルIDやジャンル名などが保存されていない。また、図7のジャンル階層テーブルには、ジャンル「オーストラリア産」のジャンルIDが、ジャンル「リブロース」のジャンルIDに対応付けられた下位ジャンルIDとして保存されている。
この場合に、注目ジャンルが「オーストラリア産」と決定され、「ステーキ用」というキーワードが、生成ジャンルを表すキーワードと決定される場合を例に挙げて、図22に示すジャンル生成処理について再度説明する。
ジャンル生成処理の実行が開始されると、ステップS102の処理が実行され、注目ジャンルが「オーストラリア産」と決定される。次に、ステップS103及びステップS106の処理が順に実行され、「ステーキ用」というキーワードが、生成ジャンルを表すキーワードと決定される。
次に、ステップS107の処理が実行された後に、図25に示す異層注目共起度合算出処理が実行される(ステップS107)。
異層注目共起度合算出処理の実行が開始されてから、ステップS131からステップS136の処理が実行されることで、異層直列共起度合の平均値「0.51」と異層直列共起度合の平均値「0.10」とが算出される。
次に、ステップS137において、生成ジャンルを表すキーワード「ステーキ用」が第1キーワードとされ、注目ジャンルを表すキーワード「オーストラリア産」が第2キーワードとされる。
その後、ステップS138において、算出部235は、図13の検索回数テーブルから、第1キーワード「ステーキ用」に対応付けられた検索回数「60」と、第2キーワード「オーストラリア産」に対応付けられた検索回数「320」と、を検索する。次に、算出部235は、図11の取得回数テーブルから、第1キーワード「ステーキ用」と第2キーワード「オーストラリア産」とに対応付けられた異層クエリ取得回数「190」を検索する。
その後、算出部235は、上記の数式(6)を用いて、異層注目共起度合「0.50」を算出した後に、異層注目共起度合算出処理の実行を終了する。
図22のステップS108が実行された後に、図26に示す生成処理が実行される(ステップS109)。
生成処理の実行が開始されると、算出部235は、異層直列共起度合の平均値「0.51」から異層注目共起度合「0.50」を減算した値の絶対値である異層直列差異「0.01」を算出する(ステップS141)。
次に、算出部235は、異層並列共起度合の平均値「0.10」から異層注目共起度合「0.50」を減算した値の絶対値である異層並列差異「0.40」を算出する(ステップS142)。
その後、算出部235は、異層直列差異「0.01」が異層並列差異「0.40」よりも小さく(ステップS143;Yes)、異層直列差異「0.01」が差異用の閾値「0.10」よりも小さい(ステップS144;Yes)と、判別する。
次に、生成部265は、図12に示す順序テーブルから、第1キーワード「ステーキ用」が第2キーワード「オーストラリア産」よりも先行して検索クエリで用いられた先行回数「97」と、後行して用いられた後行回数「13」と、を取得する(ステップS145)。
次に、生成部265は、新規ジャンルを表す第1キーワード「ステーキ用」が注目ジャンルを表すキーワード「オーストラリア産」よりも先行した回数「97」が、後行した回数「13」よりも多いと判別する(ステップS146;Yes)。その後、生成部265は、図29に示すように、新規ジャンル「ステーキ用」を、注目ジャンル「オーストラリア産」の直近上位の直列ジャンルとして生成する(ステップS147)。
つまり、生成部265は、ジャンル「ステーキ用」のジャンルIDを生成し、図6のジャンルテーブルに対して、生成されたジャンルIDと、ジャンル「オーストラリア産」のジャンル名を表す情報と、を保存する。また、生成部265は、図7のジャンル階層テーブルから、注目ジャンル「オーストラリア産」のジャンルIDと同じ下位ジャンルIDに対応づけられたジャンル(つまり、注目ジャンルの上位ジャンル)「リブロース」のジャンルIDを検索する。その後、生成部265は、ジャンル「ステーキ用」のジャンルIDを下位ジャンルとし、ジャンル階層テーブルへ、ジャンル「リブロース」のジャンルIDとジャンル「ステーキ用」のジャンルIDとを対応づけて保存する。また、ジャンル階層テーブルにおいて、ジャンル「オーストラリア産」のジャンルIDと同じ下位ジャンルIDに対応づけられたジャンル「リブロース」のジャンルIDを、ジャンル「ステーキ用」のジャンルIDで更新する。
ステップS147の後に、生成部265は、ジャンル生成フラグを「ON」とした後に(ステップS149)、生成処理の実行を終了する。
図22のステップS109を実行した後に、生成部265は、ジャンル生成フラグが「ON」であると判別する(ステップS110;Yes)。次に、図5の再分類部269は、注目ジャンル「オーストラリア産」に分類されていた商品等を、既存のジャンル「オーストラリア産」並びに新たに生成されたジャンル「ステーキ用」のいずれかに再分類する再分類処理を実行する(ステップS114)。その後、再分類部269は、ジャンル生成処理の実行を終了する。
次に、図2に示したジャンル階層において、注目ジャンルが「リブロース」と決定され、「肩ロース」というキーワードが、生成ジャンルを表すキーワードと決定される場合を例に挙げて、図22に示すジャンル生成処理について再度説明する。
ジャンル生成処理の実行が開始されると、ステップS102の処理が実行され、注目ジャンルが「リブロース」と決定される。次に、ステップS103及びステップS106の処理が順に実行され、「肩ロース」というキーワードが、生成ジャンルを表すキーワードと決定される。
次に、ステップS107の処理が実行された後に、図25に示す異層注目共起度合算出処理が実行される(ステップS107)。
異層注目共起度合算出処理の実行が開始されてから、ステップS131からステップS136の処理が実行されることで、異層直列共起度合の平均値「0.51」と異層直列共起度合の平均値「0.10」とが算出される。
次に、ステップS137において、生成ジャンルを表すキーワード「肩ロース」が第1キーワードとされ、注目ジャンルを表すキーワード「リブロース」が第2キーワードとされる。
その後、ステップS138において、算出部235は、図13の検索回数テーブルから、第1キーワード「肩ロース」に対応付けられた検索回数「160」と、第2キーワード「リブロース」に対応付けられた検索回数「120」と、を検索する。次に、算出部235は、図11の取得回数テーブルから、第1キーワード「肩ロース」と第2キーワード「リブロース」とに対応付けられた異層クエリ取得回数「30」を検索する。
その後、算出部235は、上記の数式(6)を用いて、異層注目共起度合「0.11」を算出した後に、異層注目共起度合算出処理の実行を終了する。
図22のステップS108が実行された後に、図26に示す生成処理が実行される(ステップS109)。
生成処理の実行が開始されると、算出部235は、異層直列共起度合の平均値「0.51」から異層注目共起度合「0.11」を減算した値の絶対値である異層直列差異「0.40」を算出する(ステップS141)。
次に、算出部235は、異層並列共起度合の平均値「0.10」から異層注目共起度合「0.11」を減算した値の絶対値である異層並列差異「0.01」を算出する(ステップS142)。
その後、算出部235は、異層直列差異「0.40」が異層並列差異「0.01」よりも大きく(ステップS143;No)、異層並列差異「0.01」が差異用の閾値「0.10」よりも小さい(ステップS150;Yes)と、判別する。
次に、生成部265は、図30に示すように、新規ジャンル「肩ロース」を、注目ジャンル「リブロース」の並列ジャンルとして生成する(ステップS151)。
つまり、生成部265は、ジャンル「肩ロース」のジャンルIDを生成した後に、図6のジャンルテーブルに対して、生成されたジャンルIDと、当該ジャンルのジャンル名を表す情報と、を保存する。次に、生成部265は、ジャンルテーブルから、既に生成されているジャンル「リブロース」のジャンルIDを検索する。次に、生成部265は、図7のジャンル階層テーブルから、検索されたジャンル「リブロース」のジャンルIDと同じ下位ジャンルIDに対応付けられたジャンル「牛肉」のジャンルID(つまり、ジャンル「リブロース」より直近上位のジャンルのジャンルID)を検索する。その後、生成部265は、ジャンル「肩ロース」のジャンルIDを下位ジャンルIDとし、図7のジャンル階層テーブルへ、ジャンル「牛肉」のジャンルIDと、ジャンル「肩ロース」のジャンルIDと、を対応付けた情報を保存する。
ステップS147の後に、生成部265は、ジャンル生成フラグを「ON」とした後に(ステップS149)、生成処理の実行を終了する。
図22のステップS109を実行した後に、生成部265は、ジャンル生成フラグが「ON」であると判別する(ステップS110;Yes)。次に、図5の再分類部269は、注目ジャンル「リブロース」に分類されていた商品等を、既存のジャンル「リブロース」並びに新たに生成されたジャンル「肩ロース」のいずれかに再分類する再分類処理を実行する(ステップS114)。その後、再分類部269は、ジャンル生成処理の実行を終了する。
尚、算出部235が、図26のステップS144で、異層直列差異が差異用の閾値以上である(ステップS144;No)と判別した場合、及びステップS150で、異層並列差異が差異用の閾値以上である(ステップS150;No)と判別した場合、生成部265は、ジャンルを生成しない。生成ジャンルを注目ジャンルの直列ジャンルとして生成するべきか、並列ジャンルとして生成するべきか、が判別不能であるためである。
このため、生成部265は、ジャンル生成フラグを「ON」にせず、生成処理を終了する。このため、図22のステップS110で、生成部265は、ジャンル生成フラグが「OFF」であると判別し(ステップS110;No)、再分類処理を実行せず、ジャンル生成処理の実行を終了する。
次に、ジャンルの削除について説明する。
図3に示したジャンル生成装置200のCPU200aは、図31のジャンル削除処理を所定周期で実行することで、図5に示すような削除部270としてさらに機能する。
図31のジャンル削除処理が開始されると、図5の削除部270は、図6のジャンルテーブルから、ジャンルIDと、分類日時を表す情報(以下、分類日時情報という)と、を複数検索する(ステップS161)。次に、削除部270は、OSからシステム日時を取得する。その後、削除部270は、検索された情報で表される分類日時からシステム日時までの経過時間を算出する。次に、削除部270は、算出された経過時間が経過時間用の閾値を超える分類日時情報に対応付けられたジャンルIDを特定し、特定されたジャンルIDで識別されるジャンルを不人気ジャンルと判別する。次に、削除部270は、不人気ジャンルと判別されたジャンルがあったか否かを判別し(ステップS162)、不人気ジャンルがなかったと判別すると(ステップS162;No)、ジャンル削除処理の実行を終了する。
これに対して、削除部270は、不人気ジャンルがあったと判別すると(ステップS162;Yes)、図6のジャンルテーブルにおいて、不人気ジャンルのジャンルIDに対応付けられた出品可否フラグを、出品不可を表すフラグに更新する(ステップS163)。これ以降、出品される商品等を当該ジャンルに分類させないようにするためである。
その後、削除部270は、不人気ジャンルに出品中の商品があるか否かを判別する(ステップS164)。具体的には、先ず、削除部270は、OSからシステム日時を取得する。次に、削除部270は、図8の商品等テーブルに、システム日時よりも後の出品期限を表す情報と、不人気ジャンルのジャンルIDと、に対応付けられた商品等IDが保存されている場合に、当該不人気ジャンルに出品中の商品があると判別する。
ステップS164において、削除部270は、不人気ジャンルに出品中の商品があると判別すると(ステップS164;Yes)、ジャンル削除処理の実行を終了する。不人気ジャンルの商品等の出品期間が終了するまで、ジャンルの削除を行わないためである。これに対して、削除部270は、不人気ジャンルに出品中の商品がないと判別すると(ステップS164;No)、当該不人気ジャンルの並列ジャンルを特定する。
その後、削除部270は、特定された並列ジャンルの1つと、当該不人気ジャンルと、を併合することで、当該不人気ジャンルを削除した後に(ステップS166)、ジャンル削除処理の実行を終了する。具体的には、削除部270は、図6のジャンルテーブルに保存された不人気ジャンルのジャンルID、ジャンル名を表す情報、分類日時を表す情報、分類数を表す情報、落札回数を表す情報、及び出品可否を表す情報を削除する。また、削除部270は、不人気ジャンルと併合された同層ジャンルのジャンル名を表す情報を、同層ジャンルのジャンル名に対して文字列「等」を追加したジャンル名を表す情報に更新する。
ここで、不人気ジャンルのジャンル名が「肩ロース」であり、不人気ジャンルの並列ジャンルが「リブロース」である場合を例に挙げて説明する。この場合、削除部270は、不人気ジャンルと並列ジャンルとを併合したジャンル(以下、併合ジャンルという)のジャンル名を「リブロース等」とする。
しかし、これに限定される訳ではなく、削除部270は、併合ジャンルのジャンル名を、並列ジャンルのジャンル名と不人気ジャンルのジャンル名とを連結した名称としても良い。つまり、不人気ジャンルのジャンル名が「肩ロース」であり、並列ジャンルのジャンル名が「リブロース」である場合に、削除部270は、併合ジャンルのジャンル名を「リブロース・肩ロース」としても良い。
さらに、削除部270は、併合ジャンルのジャンル名を、並列ジャンルのジャンル名と不人気ジャンルのジャンル名とに共通した文字列で表される名称としても良い。つまり、不人気ジャンルのジャンル名が「肩ロース」であり、並列ジャンルのジャンル名が「リブロース」である場合に、削除部270は、併合ジャンルのジャンル名を「ロース」としても良い。
またさらに、削除部270は、併合ジャンルのジャンル名を、並列ジャンルのジャンル名と不人気ジャンルのジャンル名との上位概念を表す名称としても良い。つまり、不人気ジャンルのジャンル名が「肩ロース」であり、並列ジャンルのジャンル名が「リブロース」である場合に、削除部270は、併合ジャンルのジャンル名を「ロース」としても良い。
ジャンル生成装置200は、生成ジャンルを表す第1キーワードと、注目ジャンルを表す第2キーワードと、が共起する度合が、異層直列共起度合よりも異層並列共起度合に近ければ、生成ジャンルを、注目ジャンルの並列ジャンルとして生成する。また、ジャンル生成装置200は、生成ジャンルを表す第1キーワードと、注目ジャンルを表す第2キーワードと、が共起する度合が、異層並列共起度合よりも異層直列共起度合に近ければ、生成ジャンルを、注目ジャンルの直列ジャンルとして生成する。このため、ジャンル生成装置200は、複数のジャンルで構成される階層の適切な層に新たなジャンルを生成できる。
また、検索クエリに基づいて生成ジャンルが生成される層が決定され、当該決定された層に生成ジャンルが生成される。このため、例えば、生成ジャンルが生成される層を決定するために当該ジャンルに分類される商品等を広告するウェブページ又は販売等するウェブページを用いる場合と異なり、当該商品等が広告又は販売等される前であっても、検索クエリを取得しさえすれば、当該商品等が分類される生成ジャンルを適切な層に生成できる。
通常、ユーザは、上位ジャンルを表すキーワードを先に指定してから当該上位ジャンルに含まれる下位ジャンルを表すキーワードを指定することが多い。このため、これらの構成によれば、第1キーワードの先行回数が後行回数より小さければ、第1キーワードで表される生成ジャンルを第2キーワードで表される注目ジャンルよりも下位の層に生成し、先行回数が後行回数より大きければ、生成ジャンルを注目ジャンルよりも上位の層に生成するため、生成ジャンルが生成される層としてより適切な層に生成ジャンルを生成できる。
第1キーワードと当該第1キーワードよりも後行する第2キーワードとがNOT演算子によって連結された検索クエリは、第1ジャンルに分類される商品等から第2ジャンルに分類される商品等を除いた商品若しくはサービスの検索を指示するクエリである。このため、当該クエリを指定したユーザは、通常、第1キーワードで表される第1ジャンルが、第2キーワードで表される第2ジャンルを含み、当該第2ジャンルの属する層よりも上位の層に属すると考えていることが多い。このため、これらの構成によれば、第1キーワードと当該第1キーワードよりも後行する第2キーワードとがNOT演算子によって連結された検索クエリが取得されると、第3ジャンルを表す第3キーワードと第4ジャンルを表す第4キーワードとがOR演算子によって連結された連結ワードと、第1キーワードとがAND演算子によってさらに連結された検索クエリが取得されたとみなすので、第3ジャンル及び第4ジャンルが属する層を基準とした適切な層に、第1ジャンルを生成できる。
また、これらの構成によれば、第2ジャンルに対して所定期間以内に新たな商品若しくはサービスが分類されなかったと判別されると、第2ジャンルと、第2ジャンルが属する層と同一の層に属する第3ジャンルとを併合するため、ジャンル階層に属するジャンルを、商品若しくはサービスの分類に使用されている状態に維持できる。また、商品若しくはサービスの分類に使用されなくなったジャンルを他のジャンルと併合するため、ユーザは、ジャンル階層に基づいて商品若しくはサービスを検索し易くなる。
さらに、これらの構成によれば、分類数、検索回数、変化量、及び販売回数のいずれか1つ以上が、それぞれに対して予め定められた閾値を上回ると判別された場合に、第2ジャンルが属する層と同じ層若しくは異なる層に第1ジャンルを生成する。このため、例えば、第2ジャンルに分類された商品若しくはサービスの数である分類数が当該分類数用の閾値を上回ることで、ユーザが第2ジャンルに分類された商品若しくはサービスを検索し難くなったとしても、例えば、第2ジャンルが属する層よりも下位の層に第1ジャンルを生成すれば、ユーザが商品若しくはサービスを検索し易くなる。
また、同層演算子及び異層演算子の指定方法を知らないユーザも多い。さらに、通常、第1キーワードからなる検索クエリを指定してから所定時間が経過する前若しくは所定数のウェブページが閲覧される前に、第2キーワードからなる検索クエリを指定するユーザは、第1キーワードで説明される商品等の検索結果だけでなく、第2キーワードで説明される商品等の検索結果をも必要としていることが多い。
これらのため、これらの構成によれば、第1キーワードからなる検索クエリが取得されてから所定時間が経過する前若しくは所定数のウェブページが閲覧される前に、第2キーワードからなる検索クエリが取得されると、第1キーワードと第2キーワードとが同層演算子で連結された検索クエリが取得されたとみなす。このため、第1ジャンルが生成される層としてより適切な層に第1ジャンルを生成できる。
また、これらの構成によれば、第1キーワードからなる検索クエリと、第2キーワードと絞込指示とを含む検索クエリと、が取得されると、第1キーワードと第2キーワードとが同層演算子によらずに連結された検索クエリが取得されたとみなす。このため、同層演算子及び異層演算子の指定の仕方を知らないユーザが多くとも、第1ジャンルが生成される層としてより適切な層に第1ジャンルを生成できる。
また、新たなジャンルが生成されると、既存の注目ジャンルに分類されていた商品若しくはサービスを、当該商品若しくは当該サービス説明するキーワード又は当該商品若しくは当該サービスの名称と、生成された新たなジャンルを表すキーワード及び既存のジャンルを表すキーワードと、に基づいて、新たなジャンル若しくは既存のジャンルに再分類する。このため、商品若しくはサービスを適切なジャンルに再分類できるので、ジャンルに基づいた商品等の検索が容易になる。
<変形例1>
本実施例では、図5の提示部230は、図3のCPU200aが、LANカード200fと協働することで実現され、ウェブページを出品者側端末装置101及び入札者側端末装置102へ送信するとして説明した。また、送信されたウェブページは、出品者側端末装置101及び入札者側端末装置102で受信され、出品者側端末装置101の表示部及び入札者側端末装置102の表示部に表示されるとして説明した。しかし、これに限定される訳ではなく、例えば、提示部230は、CPU200aが、図2のLCD200hと協働することで実現され、ウェブページを表示しても良い。
<変形例2>
本実施例では、図5の生成部265は、図26のステップS146において、第1キーワードが第2キーワードよりも先行した先行回数が後行回数よりも多い場合に(ステップS146;Yes)、第1キーワードで表される生成ジャンルを第2キーワードで表される注目ジャンルの直近上位のジャンルとして生成する(ステップS147)と説明した。また、生成部265は、先行回数が後行回数よりも少ない場合に(ステップS146;No)、生成ジャンルを注目ジャンルの直近下位のジャンルとして生成する(ステップS148)として説明した。
本変形例では、生成部265は、図24のステップS146において、図13の検索回数テーブルから、第1キーワードと同じキーワードを表す情報に対応付けられた検索回数(以下、第1検索回数という)を表す情報と、第2キーワードと同じキーワードで商品等が検索された検索回数(以下、第2検索回数という)を表す情報と、を検索する。次に、生成部265は、第1検索回数が第2検索回数よりも多い場合に、第1キーワードで表される生成ジャンルを第2キーワードで表される注目ジャンルの直近上位のジャンルとして生成する(ステップS147)。また、生成部265は、第1検索回数が第2検索回数よりも少ない場合に、生成ジャンルを注目ジャンルの直近下位のジャンルとして生成する(ステップS148)。
通常、上位ジャンルを表すキーワードの方が下位ジャンルを表すキーワードよりも多く検索に使用される。これは、上位ジャンルを表すキーワードに基づいて検索される商品等の数の方が、下位ジャンルを表すキーワードに基づいて検索される商品等の数よりも多いからである。このため、これらの構成によれば、第1キーワードで表される生成ジャンルが生成される層としてより適切な層に生成ジャンルを生成できる。
<変形例3>
本実施例では、図5の生成部265は、図26のステップS145において、図12に示す順序テーブルから、第1キーワードが第2キーワードよりも先行して検索クエリで用いられた先行回数と、後行して用いられた後行回数とを取得すると説明した。また、ステップS146において、生成部265は、第1キーワードの先行回数が後行回数よりも多い場合に(ステップS146;Yes)、第1キーワードで表される生成ジャンルを第2キーワードで表される注目ジャンルの直近上位のジャンルとして生成する(ステップS147)と説明した。さらに、生成部265は、先行回数が後行回数よりも少ない場合に(ステップS146;No)、生成ジャンルを注目ジャンルの直近下位のジャンルとして生成する(ステップS148)として説明した。
本変形例では、生成部265は、図26のステップS145において、図9の商品等キーワードテーブルから、第1キーワードと同じキーワードを表す情報に対応付けられた商品等IDを検索すると共に、当該検索された商品等IDの数を第1検索結果数とする。また、生成部265は、第2キーワードと同じキーワードを表す情報に対応付けられた商品等IDを検索すると共に、当該検索された商品等IDの数を第2検索結果数とする。その後、生成部265は、第1検索結果数が第2検索結果数より多い場合に、第1キーワードで表される生成ジャンルを第2キーワードで表される注目ジャンルの直近上位のジャンルとして生成する(ステップS147)。また、生成部265は、第1検索結果数が第2検索結果数よりも少ない場合に、生成ジャンルを注目ジャンルの直近下位のジャンルとして生成する(ステップS148)。
通常、上位ジャンルを表すキーワードに基づいて検索される商品等の数の方が、下位ジャンルを表すキーワードに基づいて検索される商品等の数よりも多い。このため、これらの構成によれば、ジャンルが生成される層としてより適切な層にジャンルを生成できる。
<変形例4>
本実施例では、ジャンル生成装置200は、検索クエリに含まれるキーワードが複数である場合に(図10のステップS18;No)実行される算出処理において、図13の検索回数テーブルに保存された検索回数を更新する(図20のステップS93)と説明した。このため、ジャンル生成装置200は、検索クエリにおいて他のキーワードと共にキーワードが検索に用いられた回数を、上記数式(4)から(6)に用いることで、異層直列共起度合、異層並列共起度合、及び異層注目共起度合を算出する、と説明した。
本変形例では、ジャンル生成装置200は、検索クエリに含まれるキーワードが1つである場合のみ、図13の検索回数テーブルに保存された当該キーワードの検索回数を更新する。このため、ジャンル生成装置200は、検索クエリにおいて単独で検索に用いられた検索回数を、上記数式(4)から(6)に用いて、異層直列共起度合、異層並列共起度合、及び異層注目共起度合を算出する。
<変形例5>
本変形例では、ジャンル生成装置200は、検索クエリに含まれるキーワードが異層演算子で連結されている場合のみ、図13の検索回数テーブルに保存された検索回数を更新する。このため、ジャンル生成装置200は、検索クエリにおいて他のキーワード及び異層演算子の双方と共にキーワードが検索に用いられた回数を、上記数式(4)から(6)に用いることで、異層直列共起度合、異層並列共起度合、及び異層注目共起度合を算出する。
<変形例6>
本実施例では、ジャンル生成装置200は、図25に示した異層注目共起度合算出処理において、全ての直列ジャンルについて異層直列共起度合を算出し、算出した全ての直列ジャンルの異層直列共起度合の平均値を算出する、と説明した。
本変形例では、ジャンル生成装置200は、注目ジャンルから予め定められた層数よりも少ない層数だけ異なる層に属する直列ジャンルについてのみ異層直列共起度合を算出し、算出した直列ジャンルの異層直列共起度合の平均値を算出する。
<変形例7>
本実施例では、ジャンル生成装置200は、図25に示した異層注目共起度合算出処理において、全ての並列ジャンルについて異層並列共起度合を算出し、算出した全ての並列ジャンルの異層並列共起度合の平均値を算出する、と説明した。
本変形例では、ジャンル生成装置200は、予め定められた数の並列ジャンルについてのみ異層並列共起度合を算出し、算出した並列ジャンルの異層並列共起度合の平均値を算出する。
<変形例8>
本実施例では、ジャンル生成装置200は、図25に示した異層注目共起度合算出処理のステップS133において、複数の直列ジャンルについてそれぞれ算出した複数の異層直列共起度合について算術平均値を算出する、と説明した。
本変形例では、ジャンル生成装置200は、複数の直列ジャンルについてそれぞれ算出した複数の異層直列共起度合について重み付け平均値を算出する。特に、ジャンル生成装置200は、注目ジャンルの属する層から遠い層に属する直列ジャンルの異層直列共起度合ほど、重みが軽くなる重み付き平均を算出しても良い。また、これに限定される訳ではなく、ジャンル生成装置200は、注目ジャンルの属する層から遠い層に属する直列ジャンルの異層直列共起度合ほど、重みが重くなる重み付き平均を算出しても良い。
<変形例9>
本変形例では、ジャンル生成装置200は、数式(4)から(6)をそれぞれ用いて、異層直列共起度合、異層並列共起度合、及び異層注目共起度合を算出する、と説明した。しかし、ジャンル生成装置200は、数式(9)から(11)をそれぞれ用いて、異層直列共起度合、異層並列共起度合、及び異層注目共起度合を算出しても良い。
また、ジャンル生成装置200は、数式(12)から(14)をそれぞれ用いて、無次元の指標である異層直列共起度合、異層並列共起度合、及び異層注目共起度合を算出しても良い。
<変形例10>
本実施例において、ジャンル生成装置200は、異層直列差異が異層並列差異よりも小さいと判別した場合に、異層直列差異が所定の差異用の閾値より小さいと判別すると、生成ジャンルを注目ジャンルの直列ジャンルとして生成する、と説明した。これに対して、ジャンル生成装置200は、異層直列差異が異層並列差異よりも小さいと判別した場合に、異層直列差異が所定の差異用の閾値以上であると判別すると、生成ジャンルを生成しない、と説明した。
本変形例では、ジャンル生成装置200は、本実施例と同様に、異層直列差異が異層並列差異よりも小さいと判別した場合に、異層直列差異が所定の差異用の閾値より小さいと判別すると、生成ジャンルを注目ジャンルの直列ジャンルとして生成する。これに対して、ジャンル生成装置200は、異層直列差異が異層並列差異よりも小さいと判別した場合に、異層直列差異が所定の差異用の閾値以上であると判別すると、生成ジャンルを注目ジャンルの並列ジャンルとして生成する。
<変形例11>
本実施例において、ジャンル生成装置200は、異層直列共起度合の平均値を算出し、算出した異層直列共起度合の平均値を、異層注目共起度合と比較される閾値(以下、度合用の閾値)とする、と説明した。この度合用の閾値は、生成ジャンルが注目ジャンルの直列ジャンルとして生成されるべきかを判別するための閾値でもある。また、ジャンル生成装置200は、算出した異層直列共起度合の平均値と異層注目共起度合との差異である異層直列差異が異層並列差異よりも小さいか否かを判別する、と説明した。その後、ジャンル生成装置200は、異層直列差異が異層並列差異よりも小さい、と判別した場合に、異層直列差異が所定の差異用の閾値より小さいと判別すると、生成ジャンルを注目ジャンルの直列ジャンルとして生成する、と説明した。
本変形例では、ジャンル生成装置200は、度合用の閾値とされる異層直列共起度合の平均値を算出せず、図3に示すキーボードからジャンル生成装置200のユーザが入力した値を度合用の閾値とする。
<変形例12>
本実施例では、ジャンル生成装置200は、異層演算子と複数のキーワードとが共起する度合のみを用いて、生成ジャンルを注目ジャンルの直列ジャンルとして生成するか、並列ジャンルとして生成するか、生成しないか、を判別する、と説明した。
本変形例では、ジャンル生成装置200は、異層演算子と複数のキーワードとが共起する度合だけでなく、同層演算子と複数のキーワードとが共起する度合をも用いて、生成ジャンルを注目ジャンルの直列ジャンルとして生成するか、並列ジャンルとして生成するか、生成しないか、を判別する。尚、本実施例と本変形例との相違点について主に説明し、共通点については、説明を省略する。
本変形例において、ジャンル生成装置200は、図32に示すようなジャンル生成処理を実行する。
本変形例のジャンル生成装置200は、本実施例で説明したステップS102、S103、及びS106からS108の処理を実行する。
次に、ジャンル生成装置200は、第1生成処理を実行する(ステップS109a)。第1生成処理は、図26に示した生成処理と同様の処理である。
つまり、ジャンル生成装置200は、異層直列差異が差異用の閾値以上である(ステップS144;No参照)と判別した場合、及び異層並列差異が差異用の閾値以上である(ステップS150;No参照)と判別した場合、ジャンルを生成しない。
ステップS109aを実行した後に、ジャンル生成装置200は、ジャンル生成フラグが「ON」であるか(すなわち、ジャンルを生成したか)否かを判別する(ステップS110)。このとき、ジャンル生成フラグが「OFF」である(すなわち、ジャンルを生成しなかった)と判別すると(ステップS110;No)、ジャンル生成装置200は、図31に示すような同層注目共起度合算出処理を実行する(ステップS111)。
図31に示す同層注目共起度合算出処理を開始すると、ジャンル生成装置200は、図25のステップS131で検索された直列ジャンルのそれぞれについて、下記の数式(15)を用いて、同層直列共起度合を算出する(ステップS172)。
尚、同層直列共起度合とは、注目キーワードと直列キーワードとが検索クエリにおいて同層演算子で互いに連結されて共起する程度を表す指標をいう。
ステップS172の後に、ジャンル生成装置200は、算出した複数の同層直列共起度合の算術平均を算出する(ステップS173)。
次に、ジャンル生成装置200は、図25のステップS134で検索された並列ジャンルのそれぞれについて、下記の数式(16)を用いて、同層並列共起度合を算出する(ステップS175)。
尚、同層並列共起度合とは、注目キーワードと並列キーワードとが検索クエリにおいて同層演算子で互いに連結されて共起する程度を表す指標をいう。
ステップS175の後に、ジャンル生成装置200は、算出した複数の同層並列共起度合の算術平均を算出する(ステップS176)。
その後、ジャンル生成装置200は、図25のステップS137で決定した第1キーワード(つまり、生成ジャンルを表すキーワード)と、第2キーワード(つまり、注目ジャンルを表すキーワード)と、の同層注目共起度合を、下記の数式(17)を用いて算出する(ステップS178)。
尚、同層注目共起度合とは、第1キーワードと注目ジャンルを表す第2キーワードとが検索クエリにおいて同層演算子で互いに連結されて共起する程度を表す指標をいう。
ステップS178の後、ジャンル生成装置200は、同層注目共起度合算出処理の実行を終了する。
図32のステップS111が実行された後に、ジャンル生成装置200は、図34に示すような第2生成処理を実行する(ステップS112)。尚、第2生成処理は、図26に示した生成処理を、異層直列共起度合、異層並列共起度合、及び異層注目共起度合ではなく、同層直列共起度合、同層並列共起度合、及び同層注目共起度合を用いて実行する処理であるので、説明を省略する。
ステップS112を実行した後に、ジャンル生成装置200は、ジャンル生成フラグが「ON」であるか否かを判別する(ステップS113)。このとき、ジャンル生成装置200は、ジャンル生成フラグが「OFF」であると判別すると(ステップS113;No)、ジャンル生成処理の実行を終了する。
ステップS110若しくはステップS113において、ジャンル生成フラグが「ON」であると判別した場合(ステップS110;Yes若しくはステップS113;Yes)、ジャンル生成装置200は、本実施例で説明した再分類処理を実行した後に、ジャンル生成処理の実行を終了する。
<変形例13>
本実施例並びに本実施例の変形例1から11において、ジャンル生成装置200は、異層直列共起度合の平均値と異層注目共起度合との差異の絶対値である異層直列差異と、異層並列共起度合の平均値と異層注目共起度合との差異の絶対値である異層並列差異と、のどちらが小さいかを判別する、と説明した。次に、ジャンル生成装置200は、異層直列差異が異層並列差異よりも小さいと判別すると、異層直列差異が所定の差異用の閾値より小さい場合に、生成ジャンルを注目ジャンルの直列ジャンルとして生成する、と説明した。これに対して、ジャンル生成装置200は、異層直列差異が異層並列差異以上であると判別すると、異層並列差異が所定の差異用の閾値より小さい場合に、生成ジャンルを注目ジャンルの並列ジャンルとして生成する、と説明した。
本変形例では、ジャンル生成装置200は、同層直列共起度合の平均値と同層注目共起度合との差異の絶対値である同層直列差異と、同層並列共起度合の平均値と同層注目共起度合との差異の絶対値である同層並列差異と、のどちらが小さいかを判別する。次に、ジャンル生成装置200は、同層直列差異が同層並列差異よりも小さいと判別すると、同層直列差異が所定の差異用の閾値より小さい場合に、生成ジャンルを注目ジャンルの直列ジャンルとして生成する。これに対して、ジャンル生成装置200は、同層直列差異が同層並列差異以上であると判別すると、同層並列差異が所定の差異用の閾値より小さい場合に、生成ジャンルを注目ジャンルの並列ジャンルとして生成する。
<変形例14>
本実施例並びに本実施例の変形例12において、ジャンル生成装置200は、異層直列差異が異層並列差異よりも小さいと判別した場合に、異層直列差異が所定の差異用の閾値より小さいと判別すると、生成ジャンルを注目ジャンルの直列ジャンルとして生成する、と説明した。これに対して、ジャンル生成装置200は、異層直列差異が異層並列差異以上であると判別した場合に、異層並列差異が所定の差異用の閾値より小さいと判別すると、生成ジャンルを注目ジャンルの並列ジャンルとして生成する、と説明した。
また、ジャンル生成装置200は、異層直列差異が異層並列差異よりも小さく、かつ異層直列差異が所定の差異用の閾値以上であると判別した場合、若しくは、異層直列差異が異層並列差異以上であり、かつ異層並列差異が所定の差異用の閾値以上であると判別した場合に、以下の処理を実行する、と説明した。その処理とは、同層直列共起度合の平均値と同層注目共起度合との差異の絶対値である同層直列差異と、同層並列共起度合の平均値と同層注目共起度合との差異の絶対値である同層並列差異と、のどちらが小さいかを判別する処理である。
次に、ジャンル生成装置200は、同層直列差異が同層並列差異よりも小さいと判別すると、同層直列差異が所定の差異用の閾値より小さい場合に、生成ジャンルを注目ジャンルの直列ジャンルとして生成する、と説明した。これに対して、ジャンル生成装置200は、同層直列差異が同層並列差異以上であると判別すると、同層並列差異が所定の差異用の閾値より小さい場合に、生成ジャンルを注目ジャンルの並列ジャンルとして生成する、と説明した。
本変形例では、ジャンル生成装置200は、同層直列差異が同層並列差異よりも小さいと判別した場合に、同層直列差異が所定の差異用の閾値より小さいと判別すると、生成ジャンルを注目ジャンルの直列ジャンルとして生成する。これに対して、ジャンル生成装置200は、同層直列差異が同層並列差異以上であると判別した場合に、同層並列差異が所定の差異用の閾値より小さいと判別すると、生成ジャンルを注目ジャンルの並列ジャンルとして生成する。
また、ジャンル生成装置200は、同層直列差異が同層並列差異よりも小さく、かつ同層直列差異が所定の差異用の閾値以上であると判別した場合、若しくは、同層直列差異が同層並列差異以上であり、かつ同層並列差異が所定の差異用の閾値以上であると判別した場合に、異層直列差異と異層並列差異とのどちらが小さいかを判別する。次に、ジャンル生成装置200は、異層直列差異が異層並列差異よりも小さいと判別すると、異層直列差異が所定の差異用の閾値より小さいと判別した場合に、生成ジャンルを注目ジャンルの直列ジャンルとして生成する。これに対して、ジャンル生成装置200は、異層直列差異が異層並列差異以上であると判別すると、異層並列差異が所定の差異用の閾値より小さいと判別した場合に、生成ジャンルを注目ジャンルの並列ジャンルとして生成する。
<変形例15>
本実施例及び本実施例の変形例1から14において、ジャンル生成装置200は、注目ジャンルを表す注目キーワードと、注目ジャンルの直列ジャンルを表す直列キーワードと、が検索クエリにおいて異層演算子で互いに連結されて共起する程度を表す指標として、異層直列共起度合を算出すると説明した。また、本実施例及び本実施例の変形例1から14において、ジャンル生成装置200は、注目ジャンルを表す注目キーワードと、注目ジャンルの並列ジャンルを表す並列キーワードと、が検索クエリにおいて異層演算子で互いに連結されて共起する程度を表す指標として、異層並列共起度合を算出すると説明した。
しかし、本変形例では、ジャンル生成装置200が算出する異層直列共起度合は、注目ジャンルを表す注目キーワードと、注目ジャンルの直列ジャンルを表す直列キーワードと、が検索クエリにおいて異層演算子で互いに連結されて共起する程度を表す指標に限定されない。また、本変形例では、ジャンル生成装置200が算出する異層並列共起度合は、注目ジャンルを表す注目キーワードと、注目ジャンルの並列ジャンルを表す並列キーワードと、が検索クエリにおいて異層演算子で互いに連結されて共起する程度を表す指標に限定されない。
具体的には、ジャンル生成装置200は、注目ジャンルの属するジャンル階層に属するいずれかのジャンル(つまり、注目ジャンル若しくは注目ジャンルと異なるジャンル)を指定し、指定したジャンルを指定ジャンルとする。次に、ジャンル生成装置200は、当該指定ジャンルを表す指定キーワードと、当該指定ジャンルの直列ジャンルを表す直列キーワードと、が検索クエリにおいて異層演算子で互いに連結されて共起する程度を表す指標として、異層直列共起度合を算出する。また、ジャンル生成装置200は、当該指定ジャンルを表す指定キーワードと、当該指定ジャンルの並列ジャンルを表す並列キーワードと、が検索クエリにおいて異層演算子で互いに連結されて共起する程度を表す指標として、異層並列共起度合を算出する。
さらに、本実施例の変形例12及び14において、ジャンル生成装置200は、注目ジャンルを表す注目キーワードと、注目ジャンルの直列ジャンルを表す直列キーワードと、が検索クエリにおいて同層演算子で互いに連結されて共起する程度を表す指標として、同層直列共起度合を算出すると説明した。また、本実施例の変形例12及び14において、ジャンル生成装置200は、注目ジャンルを表す注目キーワードと、注目ジャンルの並列ジャンルを表す並列キーワードと、が検索クエリにおいて同層演算子で互いに連結されて共起する程度を表す指標として、同層並列共起度合を算出すると説明した。
しかし、本変形例では、ジャンル生成装置200が算出する同層直列共起度合は、注目ジャンルを表す注目キーワードと、注目ジャンルの直列ジャンルを表す直列キーワードと、が検索クエリにおいて同層演算子で互いに連結されて共起する程度を表す指標に限定されない。また、本変形例では、ジャンル生成装置200が算出する同層並列共起度合は、注目ジャンルを表す注目キーワードと、注目ジャンルの並列ジャンルを表す並列キーワードと、が検索クエリにおいて同層演算子で互いに連結されて共起する程度を表す指標に限定されない。
具体的には、ジャンル生成装置200は、上記指定ジャンルを表す指定キーワードと、当該指定ジャンルの直列ジャンルを表す直列キーワードと、が検索クエリにおいて同層演算子で互いに連結されて共起する程度を表す指標として、同層直列共起度合を算出する。また、ジャンル生成装置200は、当該指定ジャンルを表す指定キーワードと、当該指定ジャンルの並列ジャンルを表す並列キーワードと、が検索クエリにおいて同層演算子で互いに連結されて共起する程度を表す指標として、同層並列共起度合を算出する。
<変形例16>
本実施例及び本実施例の変形例1から11及び13において、ジャンル生成装置200は、注目ジャンルを表す注目キーワードと、注目ジャンルの直列ジャンルを表す直列キーワードと、が検索クエリにおいて異層演算子で互いに連結されて共起する程度を表す指標として、異層直列共起度合を算出すると説明した。また、注目ジャンルの直列ジャンルは、トップのジャンルから注目ジャンルを経由して最下位のジャンルに至る経路上にあるジャンルの内で、トップのジャンル及び当該注目ジャンルのいずれでもないジャンルをいうと説明した。さらに、ジャンル生成装置200は、当該経路上にある複数の直列ジャンルの一部若しくは全部について異層直列共起度合をそれぞれ算出し、算出した複数の異層直列共起度合の平均値を算出すると説明した。またさらに、ジャンル生成装置200は、生成ジャンルを表す第1キーワードと注目ジャンルを表す第2キーワードとが検索クエリにおいて異層演算子で互いに連結されて共起する程度を表す指標として、異層注目共起度合を算出すると説明した。さらに、ジャンル生成装置200は、異層直列共起度合の平均値と異層注目共起度合とに基づいて、生成ジャンルを注目ジャンルの直列ジャンルとして生成するべきか、並列ジャンルとして生成するべきか、を判別すると説明した。
本変形例では、ジャンル生成装置200は、異層直列共起度合の代わりに、注目ジャンルを表す注目キーワードと、注目ジャンルの属する層と異なる層に属するジャンル(以下、異層ジャンルという)を表すキーワード(以下、異層キーワードという)と、が検索クエリにおいて異層演算子で互いに連結されて共起する程度を表す指標(以下、第1異層共起度合という)を算出する。また、ジャンル生成装置200は、注目ジャンルの複数の異層ジャンルの内、一部若しくは全部について第1異層共起度合をそれぞれ算出し、算出した複数の第1異層共起度合の平均値を算出する。その後、ジャンル生成装置200は、第1異層共起度合の平均値と異層注目共起度合とに基づいて、生成ジャンルを注目ジャンルの直列ジャンルとして生成するべきか、並列ジャンルとして生成するべきか、を判別する。
また、本実施例及び本実施例の変形例1から11及び13において、ジャンル生成装置200は、注目ジャンルを表す注目キーワードと、注目ジャンルの並列ジャンルを表す並列キーワードと、が検索クエリにおいて異層演算子で互いに連結されて共起する程度を表す指標として、異層並列共起度合を算出すると説明した。また、注目ジャンルの並列ジャンルは、当該注目ジャンルの直近上位のジャンルの直近下位のジャンルであり、かつ当該注目ジャンルと異なるジャンルをいうと説明した。さらに、ジャンル生成装置200は、複数の並列ジャンルの一部若しくは全部について異層並列共起度合をそれぞれ算出し、算出した複数の異層並列共起度合の平均値を算出すると説明した。ジャンル生成装置200は、異層並列共起度合の平均値と異層直列共起度合の平均値と異層注目共起度合とに基づいて、生成ジャンルを注目ジャンルの直列ジャンルとして生成するべきか、並列ジャンルとして生成するべきか、を判別する、と説明した。
本変形例では、ジャンル生成装置200は、異層並列共起度合の代わりに、注目ジャンルを表す注目キーワードと、注目ジャンルの属する層と同じ層に属するジャンル(以下、同層ジャンルという)を表すキーワード(以下、同層キーワードという)と、が検索クエリにおいて異層演算子で互いに連結されて共起する程度を表す指標(以下、第1同層共起度合という)を算出する。また、ジャンル生成装置200は、注目ジャンルの複数の同層ジャンルの内、一部若しくは全部について第1同層共起度合をそれぞれ算出し、算出した複数の第1同層共起度合の平均値を算出する。その後、ジャンル生成装置200は、第1同層共起度合の平均値と第1異層共起度合の平均値と異層注目共起度合とに基づいて、生成ジャンルを注目ジャンルの直列ジャンルとして生成するべきか、並列ジャンルとして生成するべきか、を判別する。
本実施例の変形例12及び14において、ジャンル生成装置200は、異層直列共起度合の平均値と異層並列共起度合の平均値と異層注目共起度合とに基づいて、生成ジャンルを注目ジャンルの直列ジャンルとして生成するべきか、並列ジャンルとして生成するべきか、を判別不能である場合がある、と説明した。また、判別不能である場合に、ジャンル生成装置200は、注目ジャンルの複数の直列ジャンルに対して同層直列共起度合の平均値を算出し、注目ジャンルの複数の並列ジャンルに対して同層並列共起度合の平均値を算出する。さらに、この場合に、ジャンル生成装置200は、同層直列共起度合の平均値と同層並列共起度合の平均値と同層注目共起度合とに基づいて、生成ジャンルを注目ジャンルの直列ジャンルとして生成するべきか、並列ジャンルとして生成するべきか、を判別する、と説明した。
本変形例では、ジャンル生成装置200は、同層直列共起度合の代わりに、注目キーワードと、異層キーワードと、が検索クエリにおいて同層演算子で互いに連結されて共起する程度を表す指標(以下、第2異層共起度合という)を算出する。また、ジャンル生成装置200は、同層並列共起度合の代わりに、注目キーワードと、同層キーワードと、が検索クエリにおいて同層演算子で互いに連結されて共起する程度を表す指標(以下、第2同層共起度合という)を算出する。さらに、ジャンル生成装置200は、第2異層共起度合の平均値と第2同層共起度合の平均値と同層注目共起度合とに基づいて、生成ジャンルを注目ジャンルの直列ジャンルとして生成するべきか、並列ジャンルとして生成するべきか、を判別する。
<変形例17>
本実施例の変形例16において、ジャンル生成装置200は、注目ジャンルを表す注目キーワードと、注目ジャンルの異層ジャンルを表す異層キーワードと、が検索クエリにおいて異層演算子で互いに連結されて共起する程度を表す指標として、第1異層共起度合を算出すると説明した。また、本実施例の変形例16において、ジャンル生成装置200は、注目ジャンルを表す注目キーワードと、注目ジャンルの同層ジャンルを表す同層キーワードと、が検索クエリにおいて異層演算子で互いに連結されて共起する程度を表す指標として、第1同層共起度合を算出すると説明した。
しかし、本変形例では、ジャンル生成装置200が算出する第1異層共起度合は、注目ジャンルを表す注目キーワードと、注目ジャンルの異層ジャンルを表す異層キーワードと、が検索クエリにおいて異層演算子で互いに連結されて共起する程度を表す指標に限定されない。また、本変形例では、ジャンル生成装置200が算出する第1同層共起度合は、注目ジャンルを表す注目キーワードと、注目ジャンルの同層ジャンルを表す同層キーワードと、が検索クエリにおいて異層演算子で互いに連結されて共起する程度を表す指標に限定されない。
具体的には、ジャンル生成装置200は、注目ジャンルの属するジャンル階層に属するいずれかのジャンル(つまり、注目ジャンル若しくは注目ジャンルと異なるジャンル)を指定し、指定したジャンルを指定ジャンルとする。次に、ジャンル生成装置200は、当該指定ジャンルを表す指定キーワードと、当該指定ジャンルの異層ジャンルを表す異層キーワードと、が検索クエリにおいて異層演算子で互いに連結されて共起する程度を表す指標として、第1異層共起度合を算出する。また、ジャンル生成装置200は、当該指定ジャンルを表す指定キーワードと、当該指定ジャンルの同層ジャンルを表す同層キーワードと、が検索クエリにおいて異層演算子で互いに連結されて共起する程度を表す指標として、第1同層共起度合を算出する。
さらに、本実施例の変形例16において、ジャンル生成装置200は、注目ジャンルを表す注目キーワードと、注目ジャンルの異層ジャンルを表す異層キーワードと、が検索クエリにおいて同層演算子で互いに連結されて共起する程度を表す指標として、第2異層共起度合を算出すると説明した。また、本実施例の変形例16において、ジャンル生成装置200は、注目ジャンルを表す注目キーワードと、注目ジャンルの同層ジャンルを表す同層キーワードと、が検索クエリにおいて同層演算子で互いに連結されて共起する程度を表す指標として、第2同層共起度合を算出すると説明した。
しかし、本変形例では、ジャンル生成装置200が算出する第2異層共起度合は、注目ジャンルを表す注目キーワードと、注目ジャンルの異層ジャンルを表す異層キーワードと、が検索クエリにおいて同層演算子で互いに連結されて共起する程度を表す指標に限定されない。また、本変形例では、ジャンル生成装置200が算出する第2同層共起度合は、注目ジャンルを表す注目キーワードと、注目ジャンルの同層ジャンルを表す同層キーワードと、が検索クエリにおいて同層演算子で互いに連結されて共起する程度を表す指標に限定されない。
具体的には、ジャンル生成装置200は、上記指定ジャンルを表す指定キーワードと、当該指定ジャンルの異層ジャンルを表す異層キーワードと、が検索クエリにおいて同層演算子で互いに連結されて共起する程度を表す指標として、第2異層共起度合を算出する。また、ジャンル生成装置200は、当該指定ジャンルを表す指定キーワードと、当該指定ジャンルの同層ジャンルを表す同層キーワードと、が検索クエリにおいて同層演算子で互いに連結されて共起する程度を表す指標として、第2同層共起度合を算出する。
<変形例18>
本実施例では、ジャンル生成装置200は、生成ジャンルを表す第1キーワードと注目ジャンルを表す第2キーワードとの同層注目共起度合が、第2キーワードと注目ジャンルの直列ジャンルを表すキーワードとの同層直列共起度合と、注目ジャンルの並列ジャンルを表すキーワードとの同層並列共起度合と、のいずれに近いかを判別する、と説明した。また、ジャンル生成装置200は、当該同層注目共起度合が、当該直列共起度合よりも当該同層並列共起度合に近いと判別すると、生成ジャンルを注目ジャンルの並列ジャンルとして生成すると説明した。これに対して、ジャンル生成装置200は、当該同層注目共起度合が、当該同層並列共起度合よりも当該直列共起度合に近いと判別すると、生成ジャンルを注目ジャンルの直列ジャンルとして生成すると説明した。
本変形例では、ジャンル生成装置200は、注目ジャンルがジャンル「その他」であるか否かを、注目ジャンルの名称に基づいて判別し、注目ジャンルが「その他」であると判別すると、同層注目共起度合、同層並列共起度合、及び直列共起度合のいずれも算出せず、生成ジャンルを注目ジャンルの並列ジャンルとして生成する。
ユーザが、出品する商品等を、ある層に属するジャンルのいずれかに分類しようとしたものの、当該商品等が分類されるジャンルとして適当と考えられるものが無いと判断した場合に、当該層に属するジャンル「その他」に当該商品を分類することが多い。このため、これらの構成によれば、ジャンル「その他」に分類された商品等が分類されるジャンルを、ジャンル「その他」が属する層と同じ層に生成するため、新たなジャンルを適切な層に生成できる。
本実施例及び本実施例の変形例1から18は、互いにそれぞれ組み合わせることができる。本実施例及び本実施例の変形例1から18のいずれかに係る機能を実現するための構成を備えたジャンル生成装置200として提供できることはもとより、複数の装置で構成されるシステムであって、本実施例に係る機能を実現するための構成をシステム全体として備えたシステムとして提供することもできる。
尚、本実施例と、上記複数の変形例とは、互いに組み合わせることができる。
本実施例及び本実施例の変形例1から18のいずれかに係る機能を実現するための構成を予め備えたジャンル生成装置200として提供できることはもとより、プログラムの適用により、既存のジャンル生成装置を本実施例に係るジャンル生成装置200として機能させることもできる。すなわち、上記本実施例及び本実施例の変形例1から18のいずれかで例示したジャンル生成装置200による各機能構成を実現させるためのジャンル生成プログラムを、既存のジャンル生成装置を制御するコンピュータ(CPUなど)が実行できるように適用することで、本実施例に係るジャンル生成装置200として機能させることができる。
このようなプログラムの配布方法は任意であり、例えば、メモリカード、CD−ROM、又はDVD−ROMなドの記録媒体に格納して配布できる他、インターネットなドの通信媒体を介して配布することもできる。また、本発明に係るジャンル生成方法は、本実施例に係るジャンル生成装置200を用いて実施できる。
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
本出願は、2011年7月25日に出願された日本国特許出願2011−161999号に基づく。本明細書中に日本国特許出願2011−161999号の明細書、特許請求の範囲、図面全体を参照として取り込むものとする。