(57)【特許請求の範囲】
【請求項１】
サジェストワードとサジェストワードの提示優先度とが、入力された検索文字列から引けるように紐付けられて記憶されたサジェストワードデータベースから、入力された検索文字列に応じたサジェストワードと提示優先度とを取得しサジェストワードを提示優先度に基づいて提示するサジェストワード提示部と、
検索がされた日時から該検索に応じた商品についての所定の購入操作または購入予備操作がされた日時までの差分時間を算出する時間情報管理部と、
前記差分時間が短い時間である程、検索に用いられたサジェストワードに紐付けられた提示優先度が高くなるように前記サジェストワードデータベースに記憶された提示優先度を更新する優先度管理部とを
備えた検索装置。
【請求項２】
前記優先度管理部は、所定の期間に行われたユーザ行動に基づいて時間情報管理部によって取得される前記差分時間を用いて提示優先度の更新をする
請求項１に記載の検索装置。
【請求項３】
前記時間情報管理部は、検索に関するログと購入操作または購入予備操作に関するログに基づいて前記差分時間の算出を行う
請求項１に記載の検索装置。
【請求項４】
前記時間情報管理部は、購入操作または購入予備操作に関するログを検出した場合に、該購入操作または購入予備操作よりも前に行われた検索に関するログを検索し、前記購入操作または購入予備操作に関するログと前記検索に関するログとに基づいて前記差分時間の算出を行う
請求項３に記載の検索装置。
【請求項５】
前記時間情報管理部は、購入操作または購入予備操作に関するログが有するユーザ情報と商品情報を取得し、同一のユーザ情報と同一の商品情報を有する検索に関するログを検索し、前記購入操作または購入予備操作に関するログと前記検索に関するログとに基づいて前記差分時間の算出を行う
請求項３に記載の検索装置。
【請求項６】
前記サジェストワードデータベースは、それぞれのサジェストワードに対して複数の提示優先度が紐付けられ、
前記サジェストワード提示部は、複数の提示優先度から選択した少なくとも一つの提示優先度を取得する
請求項１に記載の検索装置。
【請求項７】
前記サジェストワードデータベースは、複数の提示優先度として、検索を行うユーザの属性を表すユーザ属性ごとの提示優先度が記憶され、
前記サジェストワード提示部は、検索を行うユーザのユーザ属性に
応じた提示優先度を選択して取得する
請求項６に記載の検索装置。
【請求項８】
前記サジェストワードデータベースは、複数の提示優先度として、商品区分ごとの提示優先度が記憶され、
前記サジェストワード提示部は、検索の際に選択された商品区分に応じた提示優先度を選択して取得する
請求項６に記載の検索装置。
【請求項９】
演算処理装置が実行する検索方法であって、
サジェストワードとサジェストワードの提示優先度とが、入力された検索文字列から引けるように紐付けられて記憶されたサジェストワードデータベースから、入力された検索文字列に応じたサジェストワードと提示優先度とを取得しサジェストワードを提示優先度に基づいて提示し、
検索がされた日時から該検索に応じた商品についての所定の購入操作または購入予備操作がされた日時までの差分時間を算出し、
前記差分時間が短い時間である程、検索に用いられたサジェストワードに紐付けられた提示優先度が高くなるように前記サジェストワードデータベースに記憶された提示優先度を更新する
検索方法。
【請求項１０】
サジェストワードとサジェストワードの提示優先度とが、入力された検索文字列から引けるように紐付けられて記憶されたサジェストワードデータベースから、入力された検索文字列に応じたサジェストワードと提示優先度とを取得しサジェストワードを提示優先度に基づいて提示するサジェストワード提示処理と、
検索がされた日時から該検索に応じた商品についての所定の購入操作または購入予備操作がされた日時までの差分時間を算出する差分時間算出処理と、
前記差分時間が短い時間である程、検索に用いられたサジェストワードに紐付けられた提示優先度が高くなるように前記サジェストワードデータベースに記憶された提示優先度を更新する提示優先度更新処理とを
演算処理装置に実行させるプログラム。
【請求項１１】
サジェストワードとサジェストワードの提示優先度とが、入力された検索文字列から引けるように紐付けられて記憶されたサジェストワードデータベースから、入力された検索文字列に応じたサジェストワードと提示優先度とを取得しサジェストワードを提示優先度に基づいて提示するサジェストワード提示処理と、
検索がされた日時から該検索に応じた商品についての所定の購入操作または購入予備操作がされた日時までの差分時間を算出する差分時間算出処理と、
前記差分時間が短い時間である程、検索に用いられたサジェストワードに紐付けられた提示優先度が高くなるように前記サジェストワードデータベースに記憶された提示優先度を更新する提示優先度更新処理とを
演算処理装置に実行させるプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザが通信ネットワークを介して商品の購入を行うｅコマース（Electronic commerce）に関する検索装置、検索方法、プログラム及び記憶媒体についての技術分野に関する。具体的には、商品検索をする際の検索文字列の提示に関する。
【先行技術文献】
【特許文献】
【０００２】
【特許文献１】特開２０１２−３５３２号公報
【背景技術】
【０００３】
インターネットなどの通信ネットワークを介した商品検索及び商品購入が一般的になってきている。このような状況に鑑み、様々な検索装置や商品販売装置が提案されている。その中には、例えば、特許文献１のように、商品検索をする際に入力した検索文字列に応じて、関連性の高い語句をサジェストワードとして提示する検索装置が提案されている。ここで、サジェストワードとは、例えば、商品検索を行う際にユーザが検索文字列として「時計」を入力したときに、「時計」と関連性の高い語句を含んだ検索の候補のことであり、検索装置によって提示されるものである。一例を挙げると、検索文字列として「時計」がユーザにより入力された場合、「時計  デジタル」、「時計  メンズ」、「時計  デジタル  メンズ」などがサジェストワードとして検索装置により提示される。尚、「時計」と「デジタル」の間にある空白文字は、複数の語句を「アンド検索」するために用いられるものであり、この例では、「時計」と「デジタル」の双方の語句に関係のある検索結果を得るためのものである。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
商品検索の際のサジェストワードの提示では、サジェストワードをどのような順序で提示するかによって商品購入に結びつくか否かが左右される。そのため、サジェストワードの提示順序は重要となる。サジェストワードの提示順としては、例えば、ユーザによって検索の際に採用された回数が多いサジェストワードを優先的に表示したり、或いは、検索結果に表示される商品の数が多いサジェストワードを優先的に表示したりすることが考えられる。
しかし、検索に用いられたサジェストワードが、実際に購入に結びつきやすいサジェストワードと合致するとは必ずしも限らない。
そこで、本発明は、商品購入のための検索において適切なサジェストワードを提示することを目的とする。
【課題を解決するための手段】
【０００５】
第１に、本発明に係る検索装置は、サジェストワードとサジェストワードの提示優先度とが、入力された検索文字列から引けるように紐付けられて記憶されたサジェストワードデータベースから、入力された検索文字列に応じたサジェストワードと提示優先度とを取得しサジェストワードを提示優先度に基づいて提示するサジェストワード提示部と、検索がされた日時から該検索に応じた商品についての所定の購入操作または購入予備操作がされた日時までの差分時間を算出する時間情報管理部と、前記差分時間が短い時間である程、検索に用いられたサジェストワードに紐付けられた提示優先度が高くなるように前記サジェストワードデータベースに記憶された提示優先度を更新する優先度管理部とを備えたものである。
これにより、購入までの時間を反映した提示優先度に基づいてサジェストワードが提示される。従って、商品購入のための検索において適切なサジェストワードを提示できる。【０００６】
第２に、上記した本発明に係る検索装置においては、前記優先度管理部は、所定の期間に行われたユーザ行動に基づいて時間情報管理部によって取得される前記差分時間を用いて提示優先度の更新をすることが望ましい。
所定の期間に行われたユーザ行動を反映したサジェストワードが提示されることで、流行や季節に応じて変化するトレンドを反映した適切なサジェストワードを提示することができる。【０００７】
第３に、上記した本発明に係る検索装置においては、前記時間情報管理部は、検索に関するログと購入操作または購入予備操作に関するログに基づいて前記差分時間の算出を行うことが望ましい。
検索に関するログと購入操作等に関するログから差分時間の算出を行うことにより、形式化された情報から必要な情報を取得することとなるため、差分時間算出処理を容易に行うことが可能となる。【０００８】
第４に、上記した本発明に係る検索装置においては、時間情報管理部は、前記購入操作または購入予備操作に関するログを検出した場合に、該購入操作または購入予備操作よりも前に行われた検索に関するログを検索し、前記購入操作または購入予備操作に関するログと前記検索に関するログとに基づいて前記差分時間の算出を行うことが望ましい。
検索に関するログよりも数が少ない購入操作または購入予備操作に関するログを検出した場合に差分時間の算出を行うことにより、差分時間算出処理を効率的に実行することができる。【０００９】
第５に、上記した本発明に係る検索装置においては、時間情報管理部は、前記購入操作または購入予備操作に関するログが有するユーザ情報と商品情報を取得し、同一のユーザ情報と同一の商品情報を有する検索に関するログを検索し、前記購入操作または購入予備操作に関するログと前記検索に関するログとに基づいて前記差分時間の算出を行うことが望ましい。
これにより、検索によって取得した商品情報とその商品情報に基づいて行われた購入操作を結びつけることができるため、差分時間算出処理をより確実に行うことができる。【００１０】
第６に、上記した本発明に係る検索装置においては、前記サジェストワードデータベースは、それぞれのサジェストワードに対して複数の提示優先度が紐付けられ、前記サジェストワード提示部は、複数の提示優先度から選択した少なくとも一つの提示優先度を取得することが望ましい。
これにより、状況に応じて選択された提示優先度に基づいたサジェストワードが提示されるため、様々な状況に即したサジェストワードを提示できる環境を提供することができる。【００１１】
第７に、上記した本発明に係る検索装置においては、前記サジェストワードデータベースは、複数の提示優先度として、検索を行うユーザの属性を表すユーザ属性ごとの提示優先度が記憶され、前記サジェストワード提示部は、検索を行うユーザのユーザ属性に応じた提示優先度を選択して取得することが望ましい。
ユーザごとに異なる提示優先度に基づいてサジェストワードが並び替えられて提示されることで、ユーザ属性に沿った適切なサジェストワードを提示する環境を提供することができる。【００１２】
第８に、上記した本発明に係る検索装置においては、前記サジェストワードデータベースは、複数の提示優先度として、商品区分ごとの提示優先度が記憶され、前記サジェストワード提示部は、検索の際に選択された商品区分に応じた提示優先度を選択して取得することが望ましい。
商品のジャンルごとに異なる提示優先度に基づいてサジェストワードが並び替えられて提示されることで、検索する商品にとって適切なサジェストワードを提示する環境を提供することができる。【００１３】
本発明に係る検索方法は、演算処理装置が実行する検索方法であって、サジェストワードとサジェストワードの提示優先度とが、入力された検索文字列から引けるように紐付けられて記憶されたサジェストワードデータベースから、入力された検索文字列に応じたサジェストワードと提示優先度とを取得しサジェストワードを提示優先度に基づいて提示し、検索がされた日時から該検索に応じた商品についての所定の購入操作または購入予備操作がされた日時までの差分時間を算出し、差分時間が短い時間である程、検索に用いられたサジェストワードに紐付けられた提示優先度が高くなるように前記サジェストワードデータベースに記憶された提示優先度を更新するものである。
この検索方法により、商品購入のための検索において適切なサジェストワードを提示する環境を構築する。
【００１４】
本発明に係るプログラムは、上記検索方法として実行する処理を演算処理装置に実行させるプログラムである。
本発明に係る記憶媒体は、上記プログラムを記憶した記憶媒体である。これらのプログラムや記憶媒体により上記の検索装置を実現する。
【発明の効果】
【００１５】
本発明によれば、検索時に提示されるサジェストワードは、検索が行われてから購入操作または購入予備操作が行われるまでの差分時間に基づいて算出された提示優先度に基づいてソートされて提示されるため、商品購入のための検索において適切なサジェストワードを提示することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態の全体の構成を示す図である。
【図２】本実施の形態の検索装置のブロック図を示す図である。
【図３】本実施の形態のコンピュータのブロック図である。
【図４】全体の処理の流れを説明するための図である。
【図５】検索データベースの例を説明するための図、及び、サジェストワード取得処理の流れを説明するためのフローチャートである。
【図６】商品検索のための入力フォームを示す図、及び、ログデータベースの例を説明するための図である。
【図７】差分時間算出処理を示すフローチャートである。
【図８】他の実施の形態のサジェストワードデータベース、及び、提示優先度更新処理を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、実施の形態を次の順序で説明する。
＜１．全体構成＞
＜２．ハードウェア構成＞
＜３．処理の流れ＞
＜４．他の実施の形態＞
＜５．サジェストワード検索処理の例＞
［５−１．サジェストワード検索処理の第一例］
［５−２．サジェストワード検索処理の第二例］
＜６．変形例＞
＜７．まとめ＞
＜８．プログラム及び記憶媒体＞
【００１８】
＜１．全体構成＞
本実施の形態における検索装置を含む全体の構成を図１及び図２を用いて説明する。
図１に示すように、検索装置１は、市場サーバ３、ユーザ端末４、４、・・・と通信ネットワーク２を介して相互に通信可能な状態に接続されている。
本実施の形態では、通信ネットワーク２上に仮想的に設けられたショッピングモールに対して、商品の購入や検索を行う例を説明する。従って、市場サーバ３が管理する情報から少なくとも商品に関する検索を実行する装置として、検索装置１を例に挙げて説明する。
通信ネットワーク２の構成は特に限定されるものではなく、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ（Local Area Network）、ＣＡＴＶ（Community Antenna TeleVision）通信網、仮想専用網（Virtual Private Network）、電話回線網、移動体通信網、衛星通信網などが想定される。
また通信ネットワーク２の全部又は一部を構成する伝送媒体についても多様な例が想定される。例えばＩＥＥＥ（Institute of Electrical and Electronics Engineers）１３９４、ＵＳＢ（Universal Serial Bus）、電力線搬送、電話線などの有線でも、ＩｒＤＡ（Infrared Data Association）のような赤外線、ブルートゥース（登録商標）、８０２．１１無線、携帯電話網、衛星回線、地上波デジタル網などの無線でも利用可能である。
【００１９】
検索装置１は、ユーザによる商品などの検索の際に、検索処理や検索結果の提示処理やサジェストワードの提示処理などを行うシステムであり、これらの処理に必要な情報が記憶されている検索ＤＢ（Database）５と接続されている。検索ＤＢ５は、後述するサジェストワードＤＢ５ａ、ログＤＢ５ｂを備えている。
【００２０】
市場サーバ３は、検索装置１によって商品検索の際に市場ＤＢ６に記憶された情報の受渡しを行う処理や、ユーザによって商品が購入された場合に購入の際に発生する各種処理（例えば配送に関する処理や商品を扱っている商店に対する通知処理や商品代金の支払いに関する処理など）などを実行するサーバであり、扱っている商品の情報などが記憶されている市場ＤＢ６と接続されている。
ユーザ端末４は、検索装置１や市場サーバ３を利用するユーザが使用する端末であり、通信機能を備えたＰＣ（Personal Computer）や携帯電話やＰＤＡ（Personal Digital Assistants）等の各種端末である。
【００２１】
検索装置１は、図２に示すように、検索制御部１ａ、クエリ解析部１ｂ、サジェストワード提示部１ｃ、ログ取得部１ｄ、時間情報管理部１ｅ、優先度管理部１ｆ、通信制御部１ｇを備えて構成されている。
検索制御部１ａは、ユーザが商品の検索を行う際の検索処理の実行や、検索のためのサジェストワードの提示の指示などを行う。具体的には、通信ネットワーク２を介して市場ＤＢ６の情報を取得したり、ユーザ端末４を介してユーザにより入力された検索文字列の解析処理を実行させるための指示などを行う。
クエリ解析部１ｂは、ユーザによって入力された検索文字列の解析を行う。具体的には、検索制御部１ａから検索文字列を受け取り、その文字列から検索ワードを抽出する処理を行う。例えば、検索文字列として「時計  メンズ」を受け取った場合は、検索ワードとして「時計」と「メンズ」を抽出する処理を行う。また、「メンズ用の時計」という検索文字列からは、例えば、「メンズ」と「時計」という検索ワードを抽出する。
【００２２】
サジェストワード提示部１ｃは、ユーザにより入力された検索文字列などを受け取り、関連性の高い検索ワードを追加したサジェストワードの提示を行う。例えば、ユーザにより入力された検索文字列と、クエリ解析部１ｂによって抽出された「メンズ」と「時計」という検索ワードを、検索制御部１ａから受け取り、関連のある検索ワードを付加してサジェストワードとしてユーザに提示する。より具体的には、「メンズ  時計」という検索文字列とそこから抽出された「メンズ」や「時計」などの検索ワードを検索制御部１ａから受け取り、「メンズ」及び「時計」の双方の検索ワードと関連のある「デジタル」や「アナログ」という検索ワードを検索文字列「メンズ  時計」に付加し、サジェストワードとして「メンズ  時計  デジタル」や「メンズ  時計  アナログ」を通信ネットワーク２を介してユーザ端末４へ送信する。ここで、検索文字列に対し、二つ以上の検索ワードを付加したサジェストワードを提示してもよい。例えば、検索文字列が「メンズ  時計」である場合に、「デジタル」と「日本製」の二つの検索ワードを付加した「メンズ  時計  デジタル  日本製」というサジェストワードを提示してもよい。
また、サジェストワード提示部１ｃは、ユーザにより検索文字列や検索ワードが一文字入力されるごとに、新たにサジェストワードを提示する。つまり、ユーザが「時計」とローマ字入力をする場合では、最初の一文字である「ｔ」を入力した段階で、「トマト」や「時計」、「テーブル」などが提示優先度に従って提示される。次に、「と」（ｔｏ）と入力した段階では、「テーブル」は候補から外れるため、「トマト」や「時計」などがサジェストワードとして提示される。
これらの処理を実行するために、サジェストワード提示部１ｃは、サジェストワードやサジェストワードの提示優先度が記憶されたサジェストワードＤＢ５ａと接続され、情報の送受信が可能とされている。
【００２３】
ログ取得部１ｄは、ユーザによって検索が行われた際の操作ログを取得し、ログＤＢ５ｂに記憶する処理を行う。具体的には、例えば、ログ取得部１ｄは、ユーザ端末４上で操作されるユーザ操作に関する全てのログを記憶する全体ログＤＢから、検索が実行されたときに生成される検索操作ログと購入操作や予備操作が実行されたときに生成される購入操作ログを取得し、ログＤＢ５ｂに記憶する処理を行う。更に、ログ取得部１ｄは、購入操作ログをログＤＢ５ｂに記憶した際に、ログＤＢ５ｂに記憶された情報が更新されたことを時間情報管理部１ｅに通知する。
【００２４】
ここで、検索操作ログとは、例えば、検索を実行したユーザの識別情報としてのユーザＩＤや、検索文字列や、検索を行った際の日時情報や、検索結果としてユーザに提示された商品の識別情報としての各商品ＩＤなどを紐付けた情報である。
また、購入操作ログとは、ユーザによる購入操作や購入予備操作が行われた際に作成されるログであり、例えば、購入操作や購入予備操作を行ったユーザのユーザＩＤや、購入操作や購入予備操作が行われた日時情報や、操作対象となった商品の商品ＩＤなどを紐付けた情報である。
【００２５】
ここで、購入操作とは、商品が実際に購入された際に行われる操作である。具体的な例を幾つか挙げると、例えば、商品を購入する際にクレジットカード情報などを入力した後に「注文を確定する」ボタンを押した場合では、「注文を確定する」ボタンを押下する操作が購入操作にあたる。また、他の例として、商品を購入する際に必要とされる配達条件などの各種入力が終わった後に行う「注文を発注する」ボタンを押下する操作である。更に他の例として、注文を確定した後に、ユーザが登録している電子メールアドレスに注文の最終確認の電子メールが届いた後、その電子メールに記載されたＵＲＬ（Uniform Resource Locator）に紐付いたウェブページにおいて、最終的に注文を確定させるために行う操作である。
また、購入予備操作とは、商品の購入に結びつくと想定される操作である。
通信ネットワーク２上に仮想的に設けられたショッピングモールで商品を購入することが可能な商品販売システムの場合、複数の商品を一度に精算できるように、購入を検討している商品を一時的に確保しておく買い物かごのような機能を提供していることがある。購入予備操作とは、このような仮想の買い物かごに商品を確保する操作とすることができる。また、気になった商品を再度探す手間を省くために、各商品に対してチェックフラグを立てる（例えばお気に入りリストやウォッチリストなど）機能が提供されている場合があるが、このチェックフラグを立てる操作も購入予備操作に含める考え方もできる。
尚、以降の説明では、特に明示しない限り、購入操作と購入予備操作の双方を含めて購入操作と記載する。
【００２６】
時間情報管理部１ｅは、ユーザによる検索が行われた日時と購入操作や購入予備操作が行われた日時の差分時間を算出する処理を行う。具体的には、時間情報管理部１ｅは、ログ取得部１ｄによってログＤＢ５ｂの購入操作ログに関する更新がされたことの通知を受けると、ログＤＢ５ｂから同一のユーザによって行われた検索操作と購入操作に対するそれぞれのログから、各操作が行われた日時を抽出する。次に、抽出したそれぞれの操作日時から差分時間を算出し、該差分時間などを優先度管理部１ｆに受け渡す処理を実行する。差分時間を算出する際の処理に関しては、詳しく後述する。
上記の処理を実行するために、時間情報管理部１ｅは、購入操作ログに関する更新通知を受け取ることが可能なようにログ取得部１ｄと接続され、また、検索操作ログや購入操作ログの取得が可能なようにログＤＢ５ｂと接続されている。
【００２７】
優先度管理部１ｆは、時間情報管理部１ｅから差分時間の情報を受け取り、サジェストワードＤＢ５ａに記憶された各サジェストワードの提示優先度を更新する処理を行う。具体的には、優先度管理部１ｆは、時間情報管理部１ｅから差分時間と、購入操作や購入予備操作の対象となった商品の商品ＩＤと、検索操作ログから取得した検索文字列を受け取る。次に、優先度管理部１ｆは、時間情報管理部１ｅから受け取った情報に基づいて検索文字列に紐付いた提示優先度を更新する。提示優先度の更新処理に関しては、詳細に後述する。
【００２８】
通信制御部１ｇは、検索装置１が外部の端末などと情報をやりとりするための制御を行う。具体的には、ユーザによって入力された検索文字列の受信や、ユーザに対して提示されるサジェストワードの送信などが実行される。
【００２９】
尚、本実施の形態において、ユーザによって入力された検索文字列とは、ユーザによって検索のための入力フォームに対して入力される文字列を指し、入力された文字列や文章などであり、場合により複数の単語がスペースで区切られている。例えば、「時計  メンズ  デジタル」や「一番売れているメンズ用デジタル時計」などである。
また、検索ワードとは、検索装置１によって実際に検索が行われる際に用いられる語句のことであり、例えば、「一番売れているメンズ用デジタル時計」といった文章から抽出される「一番」、「売れている」、「メンズ」、「デジタル」、「時計」などである。
更に、サジェストワードとは、検索装置１によってユーザに提示される検索のための文字列であり、例えば、ユーザによって入力された検索文字列が「時計」である場合に、検索装置１によって提示される「時計  メンズ」や「時計  デジタル」や「時計  メンズ  デジタル」などの文字列である。
【００３０】
＜２．ハードウェア構成＞
図３は、図１に示した検索装置１、市場サーバ３、ユーザ端末４のハードウエアを例示する図である。それぞれのサーバや端末におけるコンピュータ装置のＣＰＵ（Central Processing Unit）１０１は、ＲＯＭ（Read Only Memory）１０２に記憶されているプログラム、または記憶部１０８からＲＡＭ（Random Access Memory）１０３にロードされたプログラムに従って各種の処理を実行する。ＲＡＭ１０３にはまた、ＣＰＵ１０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
ＣＰＵ１０１、ＲＯＭ１０２、およびＲＡＭ１０３は、バス１０４を介して相互に接続されている。このバス１０４には、入出力インターフェース１０５も接続されている。
入出力インターフェース１０５には、キーボード、マウス、タッチパネルなどよりなる入力部１０６、ＬＣＤ（Liquid Crystal Display）、ＣＲＴ（Cathode Ray Tube）、有機ＥＬ（Electroluminescence）パネルなどよりなるディスプレイ、並びにスピーカなどよりなる出力部１０７、ＨＤＤ（Hard Disk Drive）やフラッシュメモリ装置などより構成される記憶部１０８、通信ネットワーク２を介しての通信処理や機器間通信を行う通信部１０９が接続されている。
入出力インターフェース１０５にはまた、必要に応じてメディアドライブ１１０が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア１１１が適宜装着され、リムーバブルメディア１１１に対する情報の書込や読出が行われる。
【００３１】
このようなコンピュータ装置では、通信部１０９による通信によりデータやプログラムのアップロード、ダウンロードが行われたり、リムーバブルメディア１１１を介したデータやプログラムの受け渡しが可能である。
ＣＰＵ１０１が各種のプログラムに基づいて処理動作を行うことで、検索装置１、市場サーバ３、ユーザ端末４のそれぞれにおいて後述する情報処理や通信が実行される。
なお、検索装置１、市場サーバ３、ユーザ端末４を構成するそれぞれの情報処理装置は、図３のようなコンピュータ装置が単一で構成されることに限らず、複数のコンピュータ装置がシステム化されて構成されてもよい。複数のコンピュータ装置は、ＬＡＮなどによりシステム化されていてもよいし、インターネットなどを利用したＶＰＮ（Virtual Private Network）などにより遠隔地に配置されたものでもよい。
【００３２】
＜３．処理の流れ＞
次に検索装置１で行われる各処理の流れについて、図４乃至図７を参照しながら説明する。
先ず、図４のステップＳ２０１において、ユーザ端末４は検索文字列の入力操作が行われたか否かを判定する。検索文字列の入力操作が行われたと判定した場合、ユーザ端末４はステップＳ２０２で検索装置１に検索文字列を送信する。ステップＳ２０１の検索文字列の入力操作の有無の判定は、検索文字列の一文字の入力ごとに判定しており、例えば、ユーザが検索文字列として「時計」をローマ字入力で入力する場合では、ユーザ端末４は一文字目の「ｔ」の入力に応じて検索文字列が入力操作が行われたと判定し、検索文字列として「ｔ」がステップＳ２０２で検索装置１に送信される。次に、ユーザ端末４は二文字目の「ｏ」の入力に応じて検索文字列の入力操作が行われたと判定し、検索文字列として「と」がステップＳ２０２で検索装置１に送信される。
このように、検索文字列が一文字入力されるごとに、検索文字列が検索装置１に送信される。これらの操作は、図４に示すように、ユーザ端末４がステップＳ２０１とステップＳ２０２を繰り返し実行することによって行われる。つまり、ステップＳ２０１及びステップＳ２０２が繰り返されることにより、検索文字列として「時計」が入力される。
【００３３】
尚、検索文字列を一文字消去した場合も検索文字列の入力操作に含まれる。例えば、検索文字列として「ｔｙ」と入力し、その後に「ｙ」を削除する操作を行った場合を説明する。この場合では、「ｔ」の入力操作、「ｙ」の入力操作、「ｙ」の削除操作がそれぞれ検索文字列の入力として扱われる。つまり、検索装置１に送信される検索文字列は、始めに「ｔ」が送信され、次に「ｔｙ」が送信され、最後にｙを削除した「ｔ」が再度送信される。
また、日本語のように複数の文字種別（ひらがな、カタカナ、漢字など）がある言語の場合、検索文字列を変換する操作に関しても入力操作に含まれる。例えば、「ｎｏｒｉ」を入力することによって検索文字列を「のり」とした場合、検索装置１に検索文字列として送信される検索文字列は「のり」であるため、後述するサジェストワードの提示処理において「海苔」や「糊」などが提示される。次に、ユーザ端末４上で「のり」を変換する操作を行い、検索文字列を「海苔」とした場合、この変換操作も検索文字列の入力操作とされ、検索装置１に「海苔」という検索文字列が送信される。これにより、後述するサジェストワードの提示処理において、「糊」を含んだサジェストワードは提示されず、「海苔」を含んだサジェストワードが提示される。
【００３４】
ユーザ端末４から検索文字列が送信されてくると、検索装置１は、検索文字列に応じたサジェストワードの提示を行うために幾つかの処理を実行する。具体的には、検索装置１は、ステップＳ１０１で検索文字列に対応したサジェストワードの取得処理を実行し、ステップＳ１０２でサジェストワードをソートする処理を実行し、ステップＳ１０３でサジェストワードの提示処理を実行する。
【００３５】
まず、ステップＳ１０１では、検索装置１のサジェストワード提示部１ｃは、サジェストワードＤＢ５ａからサジェストワードの取得を行う。サジェストワードＤＢ５ａには、例えば図５Ａに示すようなサジェストワードに関する情報が記憶されている。図５Ａでは、「時計」に関係するサジェストワードを抜粋して示しており、サジェストワード情報は、それぞれのサジェストワードに対して一つずつ設けられるレコードＩＤ、複数設けられる検索ワード情報、少なくとも一つずつ設けられる提示優先度を備えて構成されている。検索ワード情報は、検索ワード自体を表す主情報と音の情報を表す表音情報を有している。
サジェストワードＤＢ５ａからサジェストワードを取得する際には、図５Ｂのように、先ず、サジェストワード提示部１ｃは、ステップＳ３０１で検索文字列に関する情報取得処理を実行する。具体的には、例えば、ユーザ端末４上で検索文字列として「時計」が入力された場合、検索装置１のサジェストワード提示部１ｃは検索制御部１ａから検索文字列の情報として「時計」を受け取ると共に、検索文字列の表音情報として「ｔｏｋｅｉ」を受け取る。次に、ステップＳ３０２でサジェストワード提示部１ｃは、サジェストワード検索処理を実行する。具体的には、「ｔｏｋｅｉ」で始まる検索ワードを有したサジェストワードをサジェストワードＤＢ５ａから検索する。この検索では、前方一致によって検索条件に合致するか否かが判定され、例えば、「時計付き○○」という検索ワードは「ｔｏｋｅｉｔｓｕｋｉ○○」のように「ｔｏｋｅｉ」で始まるため条件に合致すると判定されるが、「置き時計」という検索ワードは「ｔｏｋｅｉ」で始まらないため条件に合致しないと判定される。
【００３６】
尚、サジェストワード検索処理は、サジェストワードＤＢ５ａに記憶された各サジェストワードの情報に含まれた検索ワードの順番には依存しない。具体的には、図５ＡのサジェストワードＤＢ５ａの一例では、各レコードＩＤに対応した複数の検索ワードにおいては、全て「時計」が一番目の検索ワードとして記憶されているが、この順番に関係なくサジェストワード検索処理が行われる。そのため、例えば、検索文字列として「デジタル」が入力された場合には、サジェストワード提示部１ｃは、「ｄｅｊｉｔａｒｕ」という表音情報に基づいてサジェストワード検索処理を実行し、その結果、レコードＩＤがＩＤ０００２、ＩＤ００１２、ＩＤ００４６、ＩＤ００７１となる四つのサジェストワードが検索条件に合致すると判定される。
【００３７】
続いて、図５ＢのステップＳ３０３において、サジェストワード情報取得処理が検索装置１のサジェストワード提示部１ｃによって実行される。サジェストワード情報取得処理では、ステップＳ３０２において条件に合致すると判定されたサジェストワードに関する検索ワード情報と提示優先度が取得される。
【００３８】
続いて、図４の説明に戻る。検索装置１のサジェストワード提示部１ｃは、図４のステップＳ１０２でサジェストワードソート処理を実行する。サジェストワードソート処理では、サジェストワードＤＢ５ａから取得した提示優先度を元にサジェストワードソート処理を実行する。具体的には、提示優先度は、例えば、ユーザに提示する優先度が高い程大きな数値で表された情報とされ、提示優先度が高い順にサジェストワードをソートする処理が実行される。
次に、ステップＳ１０３において、サジェストワード提示部１ｃはユーザ端末４に対してサジェストワードを提示する処理を実行する。サジェストワード提示処理では、ユーザ端末４上で提示優先度順にサジェストワードが表示されるようにサジェストワード情報を送信する。具体的には、図６Ａに示すように、ユーザ端末４上のウェブブラウザなどの表示ソフトウェアで、サジェストワードが提示優先度順に表示されるように情報を送信するよう、通信制御部１ｇに指示する。
具体的に図６Ａを参照して説明すると、例えば、ウェブブラウザなどの商品検索のための入力フォーム７を示しており、入力フォーム７の下には、サジェストワード表示欄８が表示されている。サジェストワード表示欄８は、例えば、入力フォーム７に文字が入力されたことによって表示される。入力フォーム７やサジェストワード表示欄８で黒線で書かれた文字（図中の「時計  デジ」）は、ユーザによって入力された検索文字列を表している。また、白抜きの文字（図中の「タル」や「タル  メンズ」や「タル  ブランド」）は、検索装置１によって提示されたサジェストワードの中で、ユーザによって入力された文字以外を表している。つまり、提示されたサジェストワードから「時計  デジ」を除いた部分である。図６Ａに示した例では、「時計  デジタル」のサジェストワードが一番提示優先度が高く、「時計  デジタル  メンズ」のサジェストワードの提示優先度が二番目に高く、「時計  デジタル  ブランド」のサジェストワードの提示優先度が三番目に高いことを示している。
【００３９】
次に、図４のステップＳ２０３において、ユーザ端末４上で検索操作が行われたか否かを判定する。検索操作とは、例えば、検索文字列を入力するフォームに検索文字列を入力した後に、その近傍にある検索ボタンを押下する操作などである。
ステップＳ２０３においてユーザ端末４上で検索操作がされたと判定されると、ステップＳ２０４でユーザ端末４は、検索装置１に検索操作がされたことを通知する。ステップＳ２０３において、検索操作がされていないと判定されると、ユーザ端末４は、ステップＳ２０１の検索文字列の入力の有無を判定する処理に戻る。
検索操作がされたことの通知においては、最終的に検索に用いる検索文字列（即ちユーザが最終的に選んだ検索文字列）が検索装置１に通知される。また、ユーザによる検索操作が行われると、前述したように全体ログＤＢに検索操作ログが記録される。
次に、ステップＳ１０４において、検索装置１のクエリ解析部１ｂは検索文字列のパース処理を実行する。具体的には、検索文字列を受信した通信制御部１ｇから検索文字列を受け取った検索制御部１ａが、クエリ解析部１ｂに対して検索文字列を送信し、検索文字列のパース処理を指示することによって実行される。検索文字列のパース処理においては、検索文字列から具体的に検索に用いる検索ワードを抽出する処理が実行される。検索ワードの抽出は、例えば、検索ワードとなりうる語句を予めリストなどの形式でデータベースに保存しておき、そのリストにある語句の中で検索文字列に含まれているものを抽出する処理である。
【００４０】
続いて、ステップＳ１０５において、検索制御部１ａはステップＳ１０４で抽出された検索ワードを用いて商品を検索する検索処理を実行する。検索処理は、市場サーバ３に管理されている市場ＤＢ６に記憶された各商品の中から、検索ワードに紐付いた商品を検索する処理である。つまり、検索制御部１ａは、市場サーバ３を介して市場ＤＢ６に記憶された各商品の検索を行う。検索処理に関しては、従来の技術と変わりないため詳細は省略する。
次に、ステップＳ１０６において、検索装置１の検索制御部１ａは検索結果提示処理を行う。検索結果提示処理では、ステップＳ１０５で検索した各商品を、然るべき順序で提示する。商品の提示順序は、例えば、商品ごとのアクセス数を記録しておき、検索ワードに紐付いた商品の中でアクセス数が多い順に提示することなどが考えられる。
【００４１】
ここまでの処理で検索装置１は、ユーザによる商品検索の操作に応じて、検索結果の提示を行う。これにより、ユーザは検索したい商品についての情報を得ることが可能となる。
以降では、ユーザが検索結果として表示された各商品の中から気に入った商品を選択し、実際に購入する操作などを行ったことに応じて検索装置１が実行する各処理について説明する。
【００４２】
先ず、図４のステップＳ２０５において、ユーザによる購入操作や購入予備操作が行われる。購入操作とは、前述したように、例えば、注文を確定するための操作などである。また、購入予備操作とは、前述したように、例えば、選択した商品を買い物かごに確保する操作などである。
ユーザによる購入操作や購入予備操作が行われると、前述したように全体ログＤＢに購入操作ログが記録される。次に、ステップＳ１０７において、検索装置１のログ取得部１ｄによって検索操作ログや購入操作ログを取得する処理を行う。全体ログＤＢから各ログの取得を行うタイミングは、例えば、一定時間ごとに新規に追加された検索操作ログと購入操作ログを取得してきてもよいし、購入操作ログが全体ログＤＢに記録されたことに関する市場サーバからの通知を受信し、未取得の検索操作ログと購入操作ログを取得してもよい。
続いて、ログ取得部１ｄはステップＳ１０８で、直前のステップＳ１０７において取得した検索操作ログと購入操作ログを検索ＤＢ５のログＤＢ５ｂに記録する処理を実行する。ステップＳ１０８では、ログ取得部１ｄは上記の処理に加えて、時間情報管理部１ｅに対してログＤＢ５ｂに記憶されたログが更新されたことを通知する処理を行う。
【００４３】
次に、検索装置１の時間情報管理部１ｅは、ステップＳ１０９において差分時間算出処理を実行する。差分時間算出処理では、ログＤＢ５ｂに記憶された検索操作ログと購入操作ログの中から未処理の購入操作ログを確認し、サジェストワードの提示優先度の更新が必要か否かを判定する。ここで、購入操作ログによって提示優先度の更新をするか否かを判断する理由としては、検索操作ログだけでは提示優先度の更新は行えず、検索操作ログとそれに対応する購入操作ログが揃って始めて提示優先度の更新が可能となるためである。また更に、例えば、検索操作ログ数十件に対して購入操作ログが一件というように、購入操作ログの数が検索操作ログの数よりも少ないからである。従って、未処理の購入操作ログがあることに応じて提示優先度の更新を行った方が効率がよい。
【００４４】
差分時間算出処理について、具体的に図６Ｂを参照して説明する。図６Ｂは、ログ取得部１ｄがログＤＢ５ｂに記録したログの一部を表している。各ログは、ログＩＤとログ種別とユーザＩＤと日時と商品ＩＤと検索文字列の各情報を有している。
ログＩＤとは、一つのログに対して付与される数値などの固有の情報であり、ログＩＤから一意にログを特定することができる。
ログ種別とは、ログが検索操作ログか購入操作ログかを区別するための情報であり、検索操作ログは「検索」、購入操作ログは「購入」とされている。ここでは、文字情報で表しているが、数値情報で表現してもよい。即ち、例えば、「０」が検索操作ログを表し、「１」が購入操作ログを表してもよい。
【００４５】
ユーザＩＤとは、ログを生成する元となった操作を行ったユーザのＩＤを表している。
日時とは、ログを生成する元となった操作が行われた日時を表している。ここでは、分単位の情報を有しているが、秒単位の情報を有していてもよい
商品ＩＤとは、ログを生成する元となった操作の対象となった商品のＩＤを表している。具体的には、検索操作ログの商品ＩＤはユーザの検索操作に応じて検索装置１がユーザに提示した商品のＩＤを表し、購入操作ログの商品ＩＤはユーザが購入操作を行った商品のＩＤを表している。検索操作ログの商品ＩＤは、検索結果として提示された全ての商品ＩＤが羅列されている。また、検索操作ログの商品ＩＤは、検索結果として提示された商品の提示順序に合わせて記録されていてもよい。これにより、購入に結びついた商品が検索結果として何番目に提示されたのかログから明らかとなり、購入実績を検索結果の提示順序に反映させることが容易となる。
検索文字列は、検索操作ログにだけ設けられるものであり、検索操作が行われた際の検索文字列を表している。尚、この検索文字列は、ユーザにより入力された文字列であるのか、検索装置１により提示されたサジェストワードからユーザが選択したものなのかは問わない。
【００４６】
ここで、図６Ｂの表中に示したログの中から、幾つかのログに符号を付した。ログ９はユーザＢによって「ワイン  チリ」が検索された際のログであり、このときの検索結果として検索装置１より商品ＩＤがｓ００６とｓ００７となる商品が提示されている。  ログ１０はユーザＢによって商品ＩＤがｓ００７となる商品が購入された際のログである。つまり、ログ９とログ１０を解析することにより、検索結果として提示された商品ＩＤｓ００６と商品ＩＤｓ００７の商品の中から、商品ＩＤｓ００７の商品が購入されたことが推定される。
同様に、ログ１１とログ１２を解析することにより、ユーザＡが「時計  工具」を検索した際の検索結果として提示された商品ＩＤｓ００１、商品ＩＤｓ００２、商品ＩＤｓ００３の商品から、商品ＩＤｓ００２が購入されたことが推定される。また、ログ１３とログ１４から、ユーザＥが商品ＩＤｓ０３５の商品が購入したことが推定される。また、ログ１５からは、ユーザＣが商品ＩＤｓ９９９の商品が購入したことが分かるが、ユーザＣが商品ＩＤｓ９９９を検索した形跡がログから発見されないことから、検索装置１の商品検索機能を利用して商品を購入したわけではなく、例えば、商品を紹介しているブログなどに貼られたウェブページのリンクなどから商品ページを閲覧し購入したことが推測される。
【００４７】
ここで、検索装置１の時間情報管理部１ｅのステップＳ１０９における差分時間算出処理の説明に話を戻すと、例えば、図６Ｂに示すように、ログＩＤ０００４の購入操作ログに基づいたサジェストワードの提示優先度の更新は既に完了しており、ログＩＤ００１２とログＩＤ００１６とログＩＤ００１９の購入操作ログに基づいたサジェストワードの提示優先度の更新は終わっていない状態を示している。これらを区別するために、提示優先度の更新が終わっているか否かを表すフラグを購入操作ログそれぞれに設けてもよい。
差分時間算出処理の具体的な処理の流れを図７に示す。差分時間算出処理において時間情報管理部１ｅは、先ず、ステップＳ４０１で、ログＤＢ５ｂに記憶されたログの中から、提示優先度の更新が終わっていない購入操作ログを探し出す。具体的に図６Ｂで説明すると、提示優先度の更新が終わっているログＩＤ０００４から昇順（図６Ｂの表の下方に向けて）にログを確認し、提示優先度の更新が終わっていないログＩＤ００１２の購入操作ログを探し出す。
【００４８】
次に、時間情報管理部１ｅは、図７のステップＳ４０２において、提示優先度の更新が終わっていない購入操作ログからユーザＩＤと商品ＩＤを抽出する。具体的には、図６ＢのログＩＤ００１２の購入操作ログからユーザＩＤとしてのユーザＡと商品ＩＤとしてのｓ００２を抽出する。
続いて、時間情報管理部１ｅは、図７のステップＳ４０３において、ユーザＩＤが同一となる検索操作ログの中から購入操作ログと同一の商品ＩＤが含まれたログを検索する。この時、購入操作ログよりも前の日時情報を有した検索操作ログを検索の対象とする。これは、購入操作ログよりも後の検索操作ログを検索しても、その検索操作がそれよりも前に行われた購入操作に結びつくことはないからである。具体的には、図６ＢのログＩＤ００１２よりも前の日時情報を持つ検索操作ログを検索し、購入操作と同じユーザＡによる検索操作ログで、かつ、商品ｓ００２が検索結果として提示されたログＩＤ０００１を探し出す。
【００４９】
次に、時間情報管理部１ｅは、図７のステップＳ４０４において、該当するログを発見したか否かの判定を行う。具体的には、図６ＢのログＩＤ００１２の購入操作ログに応じて提示優先度を更新する例では、ログＩＤ０００１を探し出すことができたため、該当するログを発見できたと判定される。この場合、図７のステップＳ４０５において、時間情報管理部１ｅは、差分時間の算出を行う。具体的には、図６ＢのログＩＤ００１２の購入操作ログに応じて提示優先度を更新する例では、商品ＩＤｓ００２をユーザＡが検索した操作のログであるログＩＤ０００１と商品ＩＤｓ００２をユーザＡが購入した操作のログであるログＩＤ００１２の日時情報の差分を算出する。つまり、２０１４年１月２日の１５時２１分から２０１４年１月３日の１０時１５分から、差分時間として１８時間５４分を算出する。
続いて、時間情報管理部１ｅは、図７のステップＳ４０６において、差分時間通知処理を実行する。差分時間通知処理では、時間情報管理部１ｅは、算出した差分時間と検索に用いられた検索文字列を優先度管理部１ｆに通知する。具体的には、図６ＢのログＩＤ００１２の購入操作ログに応じて提示優先度を更新する例では、上記で算出した差分時間としての１８時間５４分と、検索操作ログであるログＩＤ０００１の検索文字列「時計  工具」を優先度管理部１ｆに通知する。
【００５０】
上記では、図６ＢのログＩＤ００１２の購入操作ログに応じて提示優先度を更新する例を示したが、他にも提示優先度を更新が必要な購入操作ログがある場合、時間情報管理部１ｅは図４のステップＳ１０９（即ち図７のステップＳ４０１乃至ステップＳ４０５）を繰り返し実行する。
また、図６ＢのログＩＤ００１６の購入操作ログに基づいて提示優先度を更新する場合、購入操作ログで購入対象となった商品ＩＤｓ９９９を検索したログが見当たらないため、図７のステップＳ４０４で該当するログを発見できなかったと判定される。この場合、前述したように、検索機能を利用せずにブログなどから商品ページを閲覧し購入に至ったと推測されるため、ステップＳ４０５及びステップＳ４０６は実行されずにステップＳ１０９の差分時間算出処理が終了する。
【００５１】
ここで、図４の説明に戻る。図４のステップＳ１０９の差分時間算出処理が終わると、検索装置１の優先度管理部１ｆはステップＳ１１０の提示優先度更新処理を実行する。
提示優先度更新処理では、時間情報管理部１ｅより通知された検索文字列に紐付いた提示優先度の更新を行う。具体的には、図６ＢのログＩＤ００１２の購入操作ログに応じて提示優先度を更新する例では、サジェストワード「時計  工具」に紐付けられた提示優先度の更新を行う。尚、ステップＳ１０９の中で行われるステップＳ４０４の該当ログを発見できたか否かを判定する処理において、ログを発見できなかったと判定された場合には、ステップＳ１１０の提示優先度更新処理は実行されない。
提示優先度は、例えば、差分時間の平均時間を優先度としてもよい。例えば、サジェストワード「○○」による商品検索（この場合、検索装置１が提示したサジェストワードを使用せず、サジェストワードと同じ文字列を直接入力した場合も含む）に応じて提示された検索結果から商品を購入したと推定されるログが３件あり、検索操作ログと購入操作ログの差分時間がそれぞれ１時間、２時間、３時間であった場合、３件の平均時間である２時間を元に提示優先度を付けてもよい。一例として、２時間を分表示にした１２０にマイナスを付して−１２０という数値を優先度とする。これは、検索から購入までの時間が短いサジェストワードの提示優先度を高く設定するべきであり、上記の計算によれば差分時間が短い方が数値が高くなる（即ち０に近くなる）。
これを実現するために、サジェストワードＤＢ５ａには、例えば、提示優先度の算出に用いられた差分時間の件数が記憶されている。上記の例では、提示優先度−１２０と算出に用いられた差分時間の件数である３が記憶されている。これにより、例えば、次の購入操作ログに基づいて算出された４件目の差分時間が４時間だった場合、−１２０に３を掛けて更に−２４０（差分時間が４時間のときの提示優先度）を加算して４で除算することにより、４件分の差分時間を反映した−１５０という提示優先度を得ることができる。
【００５２】
また、提示優先度の他の例では、差分時間以外の他の要素も考慮して提示優先度を算出してもよい。例えば、サジェストワード「○○」に関する購入操作ログの平均差分時間が１０分であり、サジェストワード「△△」に関する購入操作ログの平均差分時間が３０分である場合、上記の例に基づけばサジェストワード「○○」の提示優先度の方が高くされる。しかし、サジェストワード「○○」に関する購入操作ログが１件であるのに対し、サジェストワード「△△」に関する購入操作ログが１００件であった場合、つまり、サジェストワード「△△」をサジェストすることによって、１００件の購入に結びついている場合、サジェストワード「△△」の提示優先度が高くなるようにしてもよい。具体的には、差分時間から算出した数値と購入操作ログの件数を反映した数値を算出し、それぞれの数値に適度な重み付けをして加算や乗算をする方法が考えられる。また、購入操作ログの件数以外にも、商品一つあたりの購入額や、サジェストワードの提示によって購入された商品の総額などを加味して提示優先度の算出をしてもよい。
これにより、差分時間の要素とその他の要素の双方を加味したバランスのよい提示優先度を算出することができる。
【００５３】
更にまた、上記に示したそれぞれの提示優先度に基づいたサジェストワードを混合して提示してもよい。例えば、１０件のサジェストワードを提示する場合、５件のサジェストワードは直近ｎか月のユーザ操作に基づいて算出された提示優先度を用いて選択され、残りの５件のサジェストワードは商品一つ当たりの購入額に基づいて算出された提示優先度を用いて選択されてもよい。
これにより、様々な観点からそれぞれの利点を考慮して算出された提示優先度に基づいてサジェストワードがユーザに提示されるため、多種多様なユーザの特性に合わせた検索装置の提供が可能となる。
【００５４】
＜４．他の実施の形態＞
他の実施の形態では、前述した実施の形態と比較して、図４のステップＳ１１０の提示優先度更新処理が異なる。従って、本実施の形態の提示優先度更新処理の流れを図８を参照しながら説明する。
本実施の形態における提示優先度更新処理では、所定の期間内に行われたユーザの検索操作や購入操作に基づいて算出された差分時間を用いて提示優先度の更新を行う。そのため、時間情報管理部１ｅは、算出した差分時間と共に検索操作ログか、或いは、購入操作ログの日時情報を優先度管理部１ｆに受け渡す。ここでは、購入操作ログの日時情報を受け渡す例を説明する。
先ず、図８Ａに示すように、サジェストワードＤＢ５ａには、レコードＩＤと検索ワード情報と提示優先度情報の他に、差分時間情報が記憶されている。差分時間情報は、差分時間と購入操作ログの日時情報が紐付けられて記憶されている。更に、差分時間情報として、少なくとも購入操作ログの日時情報が所定の期間内であるものが記憶され、それ以外の期間の購入操作ログに基づいた差分時間情報は記憶されていなくてもよい。図８Ａの例では、所定の期間は１か月とされ、現在（例えば２０１４年２月３日）よりも１か月以上前の購入操作ログに基づいた差分時間情報は記憶されていない。
【００５５】
提示優先度更新処理では、図８Ｂに示すように、先ずステップＳ５０１において、優先度管理部１ｆは時間情報管理部１ｅから受け取った差分時間情報をサジェストワードＤＢ５ａに記憶する処理を行う。
次に、優先度管理部１ｆはステップＳ５０２において、更新対象のサジェストワードの差分時間情報をチェックする処理を行う。ここでは、サジェストワードＤＢ５ａに記憶された更新対象のサジェストワードの差分時間に紐付いた日時情報を確認していき、所定の期間内から外れている差分時間情報を削除していく処理を行う。
次に、優先度管理部１ｆはステップＳ５０３において、提示優先度を算出する処理を行う。具体的には、更新対象のサジェストワードの差分時間情報の差分時間を用いて、例えば、平均値を算出するなどの処理を行う。
これにより、直近のユーザ操作に基づいた提示優先度が算出される。即ち、例えば、季節ごとに提示優先度の傾向が変化する。また、流行によっても提示優先度が変化する。従って、季節に沿ったサジェストワード、或いは、流行を反映したサジェストワードを提示することが可能となる。
尚、上記もしたが、購入操作ログが直近ｎか月以内に行われたものであるか否かを判定したが、検索操作ログが直近ｎか月以内に行われた操作に基づいたものであるか否かを判定してもよい。この場合、優先度管理部１ｆは時間情報管理部１ｅから検索操作ログの日時情報を受け取り、ステップＳ５０１で、その日時情報を差分時間と紐付けてサジェストワードＤＢ５ａに記憶する。従って、ステップＳ５０２では、検索操作ログの日時情報が所定の期間内であるか否かを判定し、その結果に基づいて差分時間情報の削除などを行う。
【００５６】
また、差分時間算出処理の別の例では、時間的に新しいｎ件の購入操作ログに基づいて、差分時間を算出してもよい。具体的には、サジェストワード「○○」に基づいて商品購入がされたと推定されるログが１００件あった場合、その中の直近の５０件に関して差分時間の算出を行い、提示優先度を更新してもよい。この場合には、サジェストワードＤＢ５ａに記憶された一つのサジェストワードにつき５０件の差分時間情報が記憶され、新しい差分時間情報を記憶する度に、一番古い差分時間情報が削除される。
【００５７】
＜５．サジェストワード検索処理の例＞
上述の図５ＢのステップＳ３０２では、入力された「時計」という検索文字列に基づいてサジェストワードを提示するための例を説明した。具体的には、例えば図５Ａに示したサジェストワードＤＢ５ａから、「ｔｏｋｅｉ」で始まる検索ワードを有したサジェストワードを検索するサジェストワード検索処理の例を説明した。ここでは、入力された検索文字列が一つの完全な単語でない場合のサジェストワード検索処理の例を説明する。
［５−１．サジェストワード検索処理の第一例］
図５ＢのステップＳ３０２に示すサジェストワード検索処理の第一例としては、入力途中の検索文字列に対するサジェストワード検索処理の例を示す。
検索装置１は、上述したようにユーザ端末４上で検索文字列が一文字入力されるごとに検索文字列を受信するため、「時計」として「ｔｏｋｅｉ」が入力された場合には、合計５回のサジェストワード検索処理が実行される。そのため、「時計」のような単語として意味のある検索文字列だけでなく、入力途中の「とｋ」（表音情報としては「ｔｏｋ」）のような検索文字列に対しても、サジェストワード検索処理が実行される。しかし、前述したように、サジェストワード検索処理においては、表音情報を用いた検索を行うため、入力途中の「とｋ」という検索文字列に対しても、表音情報である「ｔｏｋ」を用いて、サジェストワードＤＢ５ａの各検索ワードに記憶された表音情報との前方一致による比較を行い、検索条件に合致するか否かを判定することができる。つまり、検索装置１は、表音情報に基づいてサジェストワード検索処理を行うため、このような入力途中の検索文字列に対しても、正しく処理が実行される。
【００５８】
［５−２．サジェストワード検索処理の第二例］
図５ＢのステップＳ３０２に示すサジェストワード検索処理の第二例としては、検索文字列として例えば「デジタル  時計」のように複数の単語を含んでいる場合のサジェストワード検索処理の例を示す。この場合、サジェストワード提示部１ｃは、「デジタル」と「時計」の二つの単語を元に、サジェストワードＤＢ５ａから条件に合致するサジェストワードを検索する。この際、二つの単語のうち、「デジタル」の単語に関しては、既に完成された単語として、完全一致による検索を行い、「時計」の単語に関しては、「時計用電池」などのように後に更なる文字が続く可能性があるため、未完成単語として前方一致による検索を行う。従って、図５Ａを例に具体的に説明すると、「デジタル  時計」という検索文字列に対してサジェストワード提示部１ｃがステップＳ３０２のサジェストワード検索処理を実行する場合には、レコードＩＤがＩＤ０００２、ＩＤ００１２、ＩＤ００７１となる三つのサジェストワードが条件に合致すると判定される。しかし、レコードＩＤがＩＤ００４６となるサジェストワードは、「デジタル」と「デジタル用」が完全一致しないため、条件に合致しないと判定される。
【００５９】
＜６．変形例＞
また、上述した実施の形態においてサジェストワードは、ユーザにより入力された検索文字列と検索装置１によって補完的に提示される文字列を区別せずにサジェストワードＤＢ５ａに記憶されている。具体的には、ユーザが「時計」を入力した際に検索装置１のサジェストワードの提示により「デジタル  メンズ」が補完的に提示される場合と、ユーザが「時計  デジタル」を入力した際に検索装置１のサジェストワードの提示により補完的に「メンズ」が提示される場合は、双方共にサジェストワード「時計  デジタル  メンズ」に基づいて、ユーザに提示されるものである。また、この場合、サジェストワードＤＢ５ａに記憶されているサジェストワードに含まれる検索ワードの記憶順は異なっていてもよく、「デジタル  時計  メンズ」であっても、「メンズ  時計  デジタル」であっても良い。
しかし、これ以外の例として、ユーザによって入力された文字列それぞれに対応するサジェストワードがサジェストワードＤＢ５ａに記憶されていても良い。例えば、ユーザが「時計」（表音情報としては「ｔｏｋｅｉ」）を入力する場合、入力文字列「ｔ」に対応するサジェストワードリスト、入力文字列「と」（表音情報は「ｔｏ」）に対応するサジェストワードリスト、入力文字列「とｋ」（表音情報は「ｔｏｋ」）に対応するサジェストワードリストをそれぞれ記憶しても良い。同様に、入力文字列が「とけ」や「時計」の場合もそれぞれのサジェストワードリストが記憶される。この場合、サジェストワードの提示の際に提示候補となるサジェストワードを検索する処理（図５ＢのステップＳ３０２の処理）が容易となる。つまり、ユーザにより入力された文字列が「ｔ」の場合には、「ｔ」に対応したサジェストワードリストがそのままサジェストワードの検索処理の結果になる。
【００６０】
更に、サジェストワードＤＢ５ａに記憶されるサジェストワードの情報としては、図５Ａに示すように、サジェストワードを構成する検索ワードそれぞれの情報の集合によって構成される例を示したが、検索ワードに分割せずにサジェストワードをそのまま記憶してもよい。具体的には、図５ＡのレコードＩＤがＩＤ０００１では、サジェストワード「時計」と優先度Ｙ０００１が記憶され、ＩＤ０００２では、サジェストワード「時計  デジタル」と優先度Ｙ０００２が記憶される。またこの場合、ユーザによって入力された検索文字列に応じたサジェストワードを探す場合には、前方一致によって探すこととなる。そのため、サジェストワード「時計  デジタル」とサジェストワード「デジタル  時計」は別のレコードＩＤを有したサジェストワードとしてサジェストワードＤＢ５ａに記憶される。
【００６１】
また、書籍のカテゴリにおける検索と衣類のカテゴリにおける検索では、提示するサジェストワードの優先度が異なることが考えられる。従って、商品の検索のカテゴリが複数ある場合、それぞれのカテゴリにおいてサジェストワードは異なる提示優先度を有していてもよい。具体的には、同じサジェストワードであっても、商品カテゴリとして「書籍」を選択した場合と「衣類」を選択した場合とでは、異なる提示優先度に基づいてサジェストワードがソートされて提示される。換言すれば、一つのサジェストワードに対して、「書籍」検索のための提示優先度と「衣類」検索のための提示優先度の二つの提示優先度が紐付けられてサジェストワードＤＢ５ａに記憶される。尚、一つのサジェストワードに紐付けられた提示優先度は二つに限られることなく、いくつであってもよい。
また、市場サーバ３が複数あり、それぞれが異なる商品を販売するシステムとして機能する場合にも、サジェストワードがそれぞれの販売システムに応じて異なる提示優先度を有していてもよい。例えば、書籍を売るための市場サーバ３と衣類を売るための市場サーバ３など、複数の市場サーバ３が設けられている場合などが考えられる。
【００６２】
このように、一つのサジェストワードに複数の提示優先度が紐付けられる場合、サジェストワード提示部１ｃは、目的に応じて一つの提示優先度を選択し、その提示優先度に基づいてサジェストワードソート処理を行う。また、時間情報管理部１ｅは、図７のステップＳ４０６に示した差分時間通知処理において、算出した差分時間や検索操作ログに含まれた検索文字列だけでなく、選択された商品カテゴリや市場サーバ３の情報も優先度管理部１ｆに通知する。従って、検索操作ログは、検索を行った商品カテゴリや市場サーバ３の情報を含んで構成される。更に、優先度管理部１ｆは、通知された商品カテゴリや市場サーバ３の情報に基づいて、複数ある提示優先度の中から一つの提示優先度を選択して更新を行う。
これにより、ユーザが検索したい商品ごとに適切な提示優先度に基づいたサジェストワードの提示が行われるため、購入しようとしている商品を検索しやすい環境を提供することができる。
【００６３】
更に、一つのサジェストワードに複数の提示優先度が紐付けられた他の例として、ユーザ属性を考慮した例が考えられる。例えば、ユーザが「男性」の場合と「女性」の場合で、異なる提示優先度に基づいたサジェストワードの提示が行われる。また、「成人」と「子供」などの組み合わせも考えられる。この場合、ユーザが「男性」に該当し、かつ、「成人」に該当することがある。つまり、複数の提示優先度のうち二つ以上の提示優先度に基づいてサジェストワードの提示を行うことが考えられる。
このような場合には、例えば、１０件のサジェストワードを提示する場合、「男性」用の提示優先度に基づいたサジェストワードから５件を選択し、「成人」用の提示優先度に基づいたサジェストワードから５件を選択し、合わせて１０件のサジェストワードとして提示してもよい。
また、「男性」用の提示優先度と「成人」用の提示優先度の二つの数値を用いて、合成された提示優先度を新たに算出し、その新たな合成提示優先度に基づいてサジェストワードを１０件選択して提示してもよい。
【００６４】
上記した実施の形態においては、検索ＤＢ５のログＤＢ５ｂ以外に、ユーザが行った操作に関するあらゆるログが記録される全体ログＤＢがある例を説明したが、ログＤＢ５ｂが全体ログＤＢを兼ねていてもよい。
これにより、データベースの個数を少なくすることができ、データベースの構築に用いられる機器の有効利用ができる。
【００６５】
上述した実施の形態においては、商品として「時計」や「海苔」など実際に形のある商品を例に挙げたが、形のある物でなくてもよい。例えば、一泊二日旅行パックやマッサージなどのようなサービス（役務）であってもよい。
これにより、商品だけでなくサービスを販売している市場サーバ３に対しても本発明の内容を適用することができるため、ユーザにとって利用価値の高いな検索装置を提供することができる。
【００６６】
また、検索装置１は、市場サーバ３と通信ネットワーク２を介して接続されている例を示したが、検索装置１は通信ネットワーク２と接続されずに市場サーバ３とローカルなネットワークで接続されていてもよい。もしくは、検索装置１は、市場サーバ３の内部に設けられていても良い。これらの場合には、ユーザ端末４からの検索の指示などを受け付ける機能を有する部分が市場サーバ３に設けられ、その部分を介して検索装置１がユーザ端末４からの指示を受信する。
【００６７】
図４のステップＳ２０２、ステップＳ１０１、ステップＳ１０２、ステップＳ１０３を繰り返してユーザが検索文字列を一文字づつ入力している場合に、検索装置１は、検索文字列が一文字入力されるごとに検索を行い、その検索結果をユーザ端末４に送信してもよい。この検索は、入力された検索文字列の中で確定している単語（例えば「時計  デジタル」と入力する途中の「時計  ｄ」などの状態においては、「時計」が確定している単語となる）についての検索を行ってもよいし、提示したサジェストワードの中で提示優先度が一番高いサジェストワードを用いた検索を行ってもよい。
従って、検索文字列の入力途中であっても検索結果が提示され、目的の商品が提示されている場合に商品を選択することが可能となる。これにより、ユーザにとって使い勝手のよい検索装置を提供することが可能となる。
【００６８】
図７のステップＳ４０３で、購入操作ログと同一のユーザによる検索操作ログを検索する際に、購入操作ログに対して一定時間以上前に検索操作が行われたログに関しては、その検索に基づいた商品の購入ではないと推定してもよい。例えば、検索操作ログの日時情報に対して購入操作ログの日時情報が１か月後であった場合には、検索操作と購入操作が関連していないとみなすことができる。つまり、購入操作ログに基づいて検索操作ログを検索する際には、例えば、差分時間が２４時間以内のログに限定するなどとしてもよい。これにより、ログＤＢ５ｂに記憶されたログの中で一部のログだけを検索すればよいため、差分時間算出処理を迅速に実行することができる。
【００６９】
＜７．まとめ＞
上述した検索装置１は、サジェストワードとサジェストワードの提示優先度とが、入力された検索文字列から引けるように紐付けられて記憶されたサジェストワードＤＢ５ａから、入力された検索文字列に応じたサジェストワードと提示優先度とを取得しサジェストワードを提示優先度に基づいて提示するサジェストワード提示部１ｃと、検索がされた日時から該検索に応じた商品についての所定の購入操作または購入予備操作がされた日時までの差分時間を算出する時間情報管理部１ｅと、差分時間が短い時間である程、検索に用いられたサジェストワードに紐付けられた提示優先度が高くなるようにサジェストワードＤＢ５ａに記憶された提示優先度を更新する優先度管理部１ｆとを備えることで、購入までの時間を反映した提示優先度に基づいてサジェストワードが提示され、商品購入のための検索において適切なサジェストワードを提示できる。
【００７０】
また、他の実施の形態で説明したように、検索装置１の優先度管理部１ｆは、所定の期間に行われたユーザ行動に基づいて時間情報管理部１ｅによって取得される差分時間を用いて提示優先度の更新をすることで、直近のユーザ行動を反映したサジェストワードが提示され、流行や季節に応じて変化するトレンドを反映した適切なサジェストワードを提示することができる。
【００７１】
更に、検索装置１の時間情報管理部１ｅは、上述したように、検索操作ログと購入操作ログに基づいて差分時間の算出を行うことで、形式化された情報から必要な情報を取得することとなるため、差分時間算出処理を容易に行うことが可能となる。
【００７２】
更にまた、検索装置１の前記時間情報管理部１ｅは、購入操作ログを検出した場合に、購入操作または購入予備操作よりも前に行われた検索に基づいた検索ログを検索し、購入操作ログと検索操作ログとに基づいて差分時間の算出を行うことで、検索操作ログよりも数が少ない購入操作ログを検出すればよく、差分時間算出処理を効率よく実行することができる。
【００７３】
また、検索装置１の前記時間情報管理部１ｅは、購入操作ログが有するユーザＩＤと商品ＩＤを取得し、同一のユーザＩＤと同一の商品ＩＤを有する検索操作ログを検索し、購入操作ログと検索操作ログとに基づいて差分時間の算出を行うことで、検索によって取得した商品情報とその商品情報に基づいて行われた購入操作を結びつけることができるため、差分時間算出処理をより確実に行うことができる。
【００７４】
また、変形例で説明したように、検索装置１は、それぞれのサジェストワードに対して複数の提示優先度が紐付けられてサジェストワードＤＢ５ａに記憶され、サジェストワード提示部１ｃは、複数の提示優先度から選択した少なくとも一つの提示優先度を取得することで、状況に応じて選択された提示優先度に基づいたサジェストワードの提示がされ、様々な状況に即したサジェストワードを提示できる環境を提供することができる。
【００７５】
また、変形例で説明したように、検索装置１は、複数の提示優先度として、検索を行うユーザの属性を表すユーザ属性ごとの提示優先度がサジェストワードＤＢ５ａに記憶され、サジェストワード提示部１ｃは、検索を行うユーザのユーザ属性に応じた提示優先度を選択して取得することで、ユーザごとに異なる提示優先度に基づいてサジェストワードが並び替えられて提示され、ユーザ属性に沿った適切なサジェストワードを提示する環境を提供することができる。
【００７６】
また、変形例で説明したように、検索装置１は、複数の提示優先度として、商品区分ごとの提示優先度が紐付けられてサジェストワードＤＢ５ａに記憶され、サジェストワード提示部１ｃは、検索の際に選択された商品区分に応じた提示優先度を選択して取得することで、商品のジャンルごとに異なる提示優先度に基づいてサジェストワードが並び替えられて提示され、検索する商品にとって適切なサジェストワードを提示する環境を提供することができる。
【００７７】
＜８．プログラム及び記憶媒体＞
以上、本発明の検索装置１を説明してきたが、実施の形態のプログラムは、検索装置１における処理を演算処理装置（ＣＰＵ等）に実行させるプログラムである。
【００７８】
実施の形態のプログラムは、サジェストワードとサジェストワードの提示優先度とが、入力された検索文字列から引けるように紐付けられて記憶されたサジェストワードデータベースから、入力された検索文字列に応じたサジェストワードと提示優先度とを取得しサジェストワードを提示優先度に基づいて提示するサジェストワード提示処理を演算処理装置に実行させる。また、検索がされた日時から該検索に応じた商品についての所定の購入操作または購入予備操作がされた日時までの差分時間を算出する差分時間算出処理を演算処理装置に実行させる。更に差分時間が短い時間である程、検索に用いられたサジェストワードに紐付けられた提示優先度が高くなるようにサジェストワードデータベースに記憶された提示優先度を更新する提示優先度更新処理を演算処理装置に実行させる。
即ちこのプログラムは、演算処理装置に対して図４で説明したステップＳ１０１乃至ステップＳ１１０で示した各処理と、図５Ｂで説明したステップＳ３０１乃至ステップＳ３０３で示した各処理と、図７で説明したステップＳ４０１乃至ステップＳ４０６で示した各処理を実行させるプログラムである。
【００７９】
このようなプログラムにより、上述した検索装置１を実現できる。
そしてこのようなプログラムはコンピュータ装置等の機器に内蔵されている記録媒体としてのＨＤＤや、ＣＰＵを有するマイクロコンピュータ内のＲＯＭ等に予め記録しておくことができる。あるいはまた、半導体メモリ、メモリカード、光ディスク、光磁気ディスク、磁気ディスクなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。またこのようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
また、このようなプログラムは、リムーバブル記録媒体からパーソナルコンピュータ等にインストールする他、ダウンロードサイトから、ＬＡＮ、インターネットなどのネットワークを介してダウンロードすることもできる。
【符号の説明】
【００８０】
１  検索装置、１ａ  検索制御部、１ｂ  クエリ解析部、１ｃ  サジェストワード提示部、１ｄ  ログ取得部、１ｅ  時間情報管理部、１ｆ  優先度管理部、１ｇ  通信制御部、２  通信ネットワーク、３  市場サーバ、４  ユーザ端末、５  検索ＤＢ、５ａ  サジェストワードＤＢ、５ｂ  ログＤＢ
【要約】
商品購入のための検索において適切なサジェストワードを提示する。
そのために、検索装置は、サジェストワードとサジェストワードの提示優先度とが、入力された検索文字列から引けるように紐付けられて記憶されたサジェストワードデータベースから、入力された検索文字列に応じたサジェストワードと提示優先度とを取得しサジェストワードを提示優先度に基づいて提示するサジェストワード提示部と、検索がされた日時から該検索に応じた商品についての所定の購入操作または購入予備操作がされた日時までの差分時間を算出する時間情報管理部と、差分時間が短い時間である程、検索に用いられたサジェストワードに紐付けられた提示優先度が高くなるようにサジェストワードデータベースに記憶された提示優先度を更新する優先度管理部とを備える。【図１】
0005627061.tif 000002
【図２】
0005627061.tif 000003
【図３】
0005627061.tif 000004
【図４】
0005627061.tif 000005
【図５】
0005627061.tif 000006
【図６】
0005627061.tif 000007
【図７】
0005627061.tif 000008
【図８】
0005627061.tif 000009