(58)【調査した分野】(Int.Cl.,DB名)
前記第2抽出部は、前記検索ワード群のそれぞれを用いた検索ごとに取得した商品のうち共通する商品を共通商品として特定し、前記共通商品に対応付けられたワードを前記提示候補ワードとして抽出する
請求項1に記載の情報処理装置。
【発明を実施するための形態】
【0019】
<1.全体構成>
以下、実施の形態を次の順序で説明する。
<1.全体構成>
<2.サーバの機能構成及びデータベース>
[2−1.サーバの機能構成]
[2−2.データベース]
<3.ユーザ端末の提示画面の概要>
<4.ウェブサーバに関する処理>
[4−1.第1の実施の形態]
[4−2.第2の実施の形態]
[4−3.第3の実施の形態]
[4−4.第4の実施の形態]
[4−5.第5の実施の形態]
<5.まとめ>
<6.プログラム及び記憶媒体>
【0020】
なお本実施の形態では、本発明の請求項にいう情報処理装置の例として、電子商取引システムを提供するウェブサーバを挙げる。当該ウェブサーバは1又は複数の情報処理装置によって実現されるものである。従って、本発明請求項にいう情報処理装置は、1つの情報処理装置或いは複数の情報処理装置が連携して実現される。
また本実施の形態で用いる主な語句については、以下の意味となる。
・検索文字列とは、ユーザによって検索のために検索ボックス等に対して入力される文字列や文章を指し、場合により複数の単語がスペースで区切られている。例えば「ワイン 売れている」や「売れているワイン」等をいう。尚、「ワイン」と「売れている」の間にある空白文字は、複数の語句を「アンド検索」するために用いられるものであり、この例では、「ワイン」と「売れている」の双方の語句に関係のある検索結果を得るためのものである。
・検索ワードとは、ウェブサーバによって実際に検索が行われる際に用いられるワードのことであり、例えば「一番売れているワイン」といった文章から抽出される「一番」、「売れている」、「ワイン」などをいう。
・検索ワード群とは、直近の検索ワード及び少なくとも一つの直前の検索ワードに基づいて抽出された過去の検索ワードを含む複数の検索ワードをいう。
・関連ワードとは、検索ワードと関連性が高いものとして、検索ワードとあらかじめ対応付けられているものである。例えば検索ワード「ワイン」については関連ワード「アルコール」、「健康」、「赤ワイン」等が対応付けられている。尚、検索ワードが複数あるときは両方に共通して対応する関連ワードを提示してもよい。例えば検索ワード「ワイン 酢」に対して共通する関連ワード「ワインビネガー」を当該検索ワードの関連ワードとすることができる。
・提示候補ワードとは、検索ワード群から以下に説明する様々な条件に基づいて抽出されるワードをいう。
・サジェストワードとは、例えば、商品検索を行う際にユーザが検索文字列として「ワイン」を入力したときに、「ワイン」と関連性の高い語句を含んだ検索の候補のことであり、本実施の形態において開示された商品検索支援システムに基づいてユーザ端末に提示される検索候補を含むものをいう。一例を挙げると、検索文字列として「ワイン」がユーザにより入力された場合、「ワイン 赤」、「ワイン 健康」、「ワイン 赤 健康」などがサジェストワードとしてウェブサーバにより提示される。
・検索操作とは、例えばユーザがユーザ端末を介して検索文字列を入力した後、検索を実行するボタンをクリックする等の操作により、検索要求情報をウェブサーバに送信することをいう。
・検索予備操作とは、検索に結びつくと想定される操作をいう。例えば検索ボックスをクリックする操作であって検索文字列の入力をまだ開始していない状態や、マウス等を用いて検索ボックスにカーソルを合わせる操作等をいう。また検索予備操作には検索のために文字を入力する操作も含めるものとする。
【0021】
<1.全体構成>
図1に本実施の形態のネットワークシステムの構成例を示す。このネットワークシステムは、ネットワークNを介してユーザ端末1とウェブサーバ2が通信可能とされている。
またユーザ端末1は、データベース3(以下「データベース(Database)」を「DB」と表記する)にアクセス可能とされている。
このようなシステムの具体例は各種考えられるが、本実施の形態の場合、例えば仮想的な商店街において、ユーザが購入希望商品の検索を行う際にサジェストワードを提示させる商品検索支援システムとされる。
図1のウェブサーバ2が本発明の請求項の情報処理装置の実施の形態に相当する。ユーザは商品検索の際、ユーザ端末1からサジェストワードを閲覧することができる。
【0022】
ネットワークNの構成は多様な例が想定される。例えば、インターネット、イントラネット、エキストラネット、LAN(Local Area Network)、CATV(Community Antenna TeleVision)、通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網などが想定される。
またネットワークNの全部又は一部を構成する伝送媒体についても多様な例が想定される。例えばIEEE(Institute of Electrical and Electronics Engineers)1394、USB(Universal Serial Bus)、電力線搬送、電話線などの有線でも、IrDA(Infrared Data Association)のような赤外線、ブルートゥース(登録商標)、802.11無線、携帯電話網、衛星回線、地上波デジタル網などの無線でも利用可能である。
【0023】
ユーザ端末1は、ウェブサーバ2を利用するユーザが使用する端末機器であり、通信機能を備えたPC(Personal Computer)やフィーチャーフォンやPDA(Personal Digital Assistant)、或いはスマートフォンやタブレット端末などのスマートデバイス等である。
ユーザはユーザ端末1を用いて、ウェブサーバ2が提供する仮想商店街において、商品の購入や購入希望商品の検索等、各種の操作を行うことができる。
【0024】
ウェブサーバ2は、ユーザ端末1の要求に応じて購入可能商品や、商品の検索結果の提供を行う。提供する商品情報は、DB3に格納されている。
ウェブサーバ2は、ユーザ端末1の検索要求に応じて、商品の検索結果をDB3から取得し、ネットワークNを介してユーザ端末1に送信する。
【0025】
図2は、ウェブサーバ2やユーザ端末1を構成する情報処理装置のハードウェア構成を示している。ウェブサーバ2やユーザ端末1を示した各装置は、情報処理及び情報通信が可能な
図2に示すようなコンピュータ装置として実現できる。
【0026】
図2において、コンピュータ装置のCPU(Central Processing Unit)101は、ROM( Read Only Memory)102に記憶されているプログラム、または記憶部108からRAM( Random Access Memory )103にロードされたプログラムに従って各種の処理を実行する。RAM103にはまた、CPU101が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU101、ROM102、及びRAM103は、バス104を介して相互に接続されている。このバス104には、入出力インターフェース105も接続されている。
入出力インターフェース105には、キーボード、マウス、タッチパネルなどよりなる入力部106、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、有機EL(Electroluminescence)パネルなどよりなるディスプレイ、並びにスピーカなどよりなる出力部107、HDD(Hard Disk Drive)やフラッシュメモリ装置などより構成される記憶部108、ネットワーク1を介しての通信処理や機器間通信を行う通信部109が接続されている。
入出力インターフェース105にはまた、必要に応じてメディアドライブ110が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア111が適宜装着され、リムーバブルメディア111に対する情報の書込や読出が行われる。
【0027】
このようなコンピュータ装置では、通信部109による通信によりデータやプログラムのアップロード、ダウンロードが行われたり、リムーバブルメディア111を介してデータやプログラムを受け渡したりすることが可能である。
CPU101が各種のプログラムに基づいて処理動作を行うことで、ウェブサーバ2及びユーザ端末1としての必要な情報処理や通信が実行される。
なお、ウェブサーバ2及びユーザ端末1を構成する情報処理装置は、
図2のようなコンピュータ装置が単一で構成されることに限らず、複数のコンピュータ装置がシステム化されて構成されてもよい。複数のコンピュータ装置は、LANなどによりシステム化されていてもよいし、インターネットなどを使用したVPNなどにより遠隔地に通信可能な状態で配置されたものでもよい。複数の情報処理装置には、クラウドコンピューティングサービスによって利用可能なサーバ群(クラウド)としての情報処理装置が含まれてもよい。
【0028】
<2.サーバの機能構成及びデータベース>
[2−1.サーバの機能構成]
図3にウェブサーバ2の機能構成例を示す。ウェブサーバ2は1又は複数の情報処理装置で構成される。
またウェブサーバ2の各機能は、情報処理装置においてCPU101でプログラムに応じて実行される処理により実現される機能である。但し以下説明する全部又は一部の各構成の処理をハードウェアにより実現してもよい。
また各機能をソフトウェアで実現する場合に、各機能がそれぞれ独立したプログラムで実現される必要はない。一つのプログラムにより複数の機能の処理が実行されてもよいし、一つの機能が複数のプログラムモジュールの連携で実現されてもよい。また各機能は複数の情報処理装置に分散されていてもよい。さらに機能の1つが、複数の情報処理装置によって実現されてもよい。
【0029】
ウェブサーバ2は、操作情報取得部21、検索部22、履歴管理部23、第1抽出部24、第2抽出部25、提示制御部26を有する。
【0030】
操作情報取得部21は、ユーザの検索に関する操作情報を受信する。検索に関する操作には例えば検索操作や検索予備操作が挙げられる。
例えばユーザがユーザ端末1を介して検索文字列を入力した後、検索を実行するボタンをクリックする等の検索操作を行うことにより、検索要求情報をウェブサーバ2に送信する。また例えば検索ボックスをクリックする操作であって検索文字列の入力をまだ開始していない状態や、マウス等を用いて検索ボックスにカーソルを合わせる操作等の検索予備操作をユーザ端末1を介して行うことで、後述するサジェストワード提示要求をウェブサーバ2に送信する。
【0031】
検索部22は、ユーザによって入力された検索文字列から検索ワードを抽出し、当該検索ワードに基づいて商品検索を行う。具体的には、検索部22はユーザ端末1から検索文字列の情報を受け取り、その文字列から検索ワードを抽出する処理を行う。例えば、検索文字列として「酢 ワイン」を受け取った場合は、検索ワードとして「酢」と「ワイン」を抽出する。また「ワインから作られた酢」という検索文字列からは、例えば、「酢」と「ワイン」という検索ワードを抽出する。その後、検索部22は、抽出した検索ワードに対応付けられた商品情報を商品DB32から取得する。
【0032】
履歴管理部23は、商品検索に用いた検索ワードを検索履歴DB33に記録する。履歴管理部23は、当該検索ワードだけでなく、検索日時、検索ワードに対応付けられた関連ワード、検索ワードに対応付けられた商品等の情報も記録する。
【0033】
第1抽出部24は、ユーザの検索で用いられた直近の検索ワードと、ユーザの過去の検索で用いられた検索ワードのうちで、直近の検索ワード及び共通の検索目的であると推定した1又は複数の他の検索ワードを検索ワード群として抽出する。共通の検索目的とは、例えばユーザが失念してしまった商品の名称や気になっているが名称がわからない商品の名称等、ユーザが適切な名称を入力できない場合に、当該名称を見つけるために検索することをいう。
第1抽出部24の行う処理の詳細については後述する。
【0034】
第2抽出部25は、第1抽出部24により抽出した検索ワード群に基づいて1又は複数の提示候補ワードを抽出する。即ち、検索ワードと関連度の高いワードを提示候補ワードとして抽出することで、ユーザが探している商品等の名称をサジェストワードとして提示させる可能性が高まる。
第2抽出部25の行う処理の詳細については後述する。
【0035】
提示制御部26は、操作情報取得部21が受信した検索操作や検索予備操作等の操作情報に応じて第2抽出部25が抽出した提示候補ワードの少なくとも一部をサジェストワードの全部又は一部としてユーザ端末1に提示させる。
また提示制御部26は、仮想商店街を構成する各種ウェブページデータの生成(HTMLデータ生成)を行う。例えばユーザが検索文字列を入力して検索操作を行う検索画面情報や商品を購入するための商品画面情報などの各種ウェブページデータの生成を行う。
提示制御部26のサジェストワードに提示候補ワードを提示させる処理の詳細については後述する。
【0036】
[2−2.データベース]
以下これらの機能を備えたウェブサーバ2が、検索ワードや提示候補ワードの抽出、商品の検索などを行うために用いるDB3について説明する。
【0037】
DB3は、例えばユーザDB31、商品DB32、検索履歴DB33、辞書DB34、関連ワードDB35、サジェストワードDB36などで構成されている。もちろんこれ以外にもDB3は、商品検索支援システムのウェブサーバ2として機能するために必要なDBを含んで構成されていてもよい。
【0038】
ユーザDB31は、仮想商店街を利用するユーザ端末1を所持するユーザに関するデータが記憶される。例えば、ユーザ識別情報であるユーザID(identification)に対して、住所、氏名、性別や年齢などの属性情報、電子メールアドレスなどが紐付けられて記憶される。
尚、属性情報は性別、年齢、職業に限られることなく、趣味、好きな食べ物、性格など様々な属性情報を属性条件として記憶されていてもよい。
またユーザDB31に登録されるユーザは、例えばウェブサーバ2が提供する仮想商店街等のサービスを受けるために登録されたユーザなどであり、ユーザIDは当該登録に応じて付与されるものとすればよい。
【0039】
商品DB32は、仮想商店街で販売する商品情報を登録するDBである。例えば
図4に示すように商品DB32には、商品ID毎に、商品名称、検索ワード、関連ワードが記録されている。
【0040】
検索履歴DB33は、
図5に示すように、ユーザの検索履歴に関するデータが記憶される。例えば検索履歴DB33は、ユーザID毎に、商品検索に用いられた検索ワード、検索を行った日時、検索ワードに対応付けられた商品、検索ワードに対応付けられた関連ワードなどが記録されている。
検索ワードに対応付けられた商品及び関連ワードは、検索処理の際に商品DB32から取得する。
【0041】
辞書DB34は、
図6に示すように、例えば検索ワード毎にあらかじめ辞書DB34に記録されたワードとそれに対応する
関連性スコアが記録されている。当該スコアはある検索ワードに対する他の検索ワードのそれぞれの関連度の高さを示している(例えば「5」が一番関連度が高く、「0」は最も関係度が低いものとする)。例えばある検索ワード「ワイン」に対して他の検索ワード「ぶどう」のスコアが「5」、他の検索ワード「自転車」のスコアが「1」とすると、検索ワード「ワイン」にとっては、「ぶどう」のほうが「自転車」よりも関連度が高いと考えられる。
【0042】
関連ワードDB35は、
図7に示すように、例えば検索ワードに関連性が高いとして対応付けられたワードが関連ワードとして記録されている。ウェブサーバ2は、検索履歴DB33に関連ワード情報を記録するときに関連ワードDB35から関連ワード情報を取得する。
【0043】
サジェストワードDB36は、通常表示される通常サジェストワードに関する情報が記憶されている。サジェストワード情報は、それぞれのサジェストワードに対して一つずつ設けられるレコードID、複数設けられる検索ワード情報、などを備えて構成されている。検索ワード情報は、検索ワード自体を表す主情報と音の情報を表す表音情報を有している。尚、通常のサジェストワードとは、後述する提示候補ワードから選択されるサジェストワード以外であって、従前と同様に入力文字との表音一致により提示されるものを指すものとする。
【0044】
DB3は、ウェブサーバ2とは別のサーバコンピュータ内に構築されていてもよいし、ウェブサーバ2内に構築されていてもよい。
また図示及び説明の便宜上、DB3として示したが、当該DBは、ウェブサーバ2がアクセス可能とされていればどのような形態で実現されていてもよい。例えばウェブサーバ2と同一システム内の記憶部に当該DBのすべてが形成されていてもよいし、当該DBの一部又は全部が別体、遠隔地などのコンピュータシステムに設けられていてもよい。もちろん当該DBが一つの装置(例えば一つのHDDなど)内に形成されている必要はない。また当該DBのそれぞれが、それぞれ一つのDBとして構成される必要もない。例えば当該DBとして記憶される情報が、複数のDBにより記憶管理されてもよい。実施の形態で説明する上記DBは、実施の形態の処理に関連する情報の記憶部を、一つのDBの形態で例示したものに過ぎない。
【0045】
<3.ユーザ端末の提示画面の概要>
まず、一般的なサジェストワードの提示される画面の一例について
図8乃至
図11を参照して説明する。
ユーザ端末1には、
図8Aに示すように、ユーザが検索文字列を入力する画面である商品検索画面40が提示される。
商品検索画面40には、検索文字列を入力する検索ボックス41とユーザの検索要求をウェブサーバ2に送信する検索ボタン43が表示されている。
【0046】
具体的に
図8B、
図8Cを参照して説明すると、例えば、ウェブブラウザなどの商品検索のための検索ボックス41を示しており、検索ボックス41の下には、サジェストワード表示欄42が表示されている。サジェストワード表示欄42では、ユーザにより入力された検索文字列などを受け取り、関連性の高い検索ワードを追加したサジェストワードが提示される。サジェストワードは、例えば検索ボックス41に文字が入力されたことによって表示される。例えば
図8Cに示すように、検索ボックス41やサジェストワード表示欄42で黒文字で書かれた文字「ワイ」は、ユーザによって入力された検索文字列を表している。また、白抜きの文字「ン」や「シャツ」や「ドパンツ」は、ウェブサーバ2によって提示されたサジェストワードの中で、ユーザによって入力された文字以外を表している。つまり、提示されたサジェストワードから「ワイ」を除いた部分である。
【0047】
また、サジェストワード表示欄42は、ユーザにより検索文字列が検索ボックス41に一文字入力されるごとに、新たにサジェストワードを提示する。つまり、ユーザが「ワイン」と入力する場合では、最初の一文字である「ワ」を入力した段階で、「ワッペン」や「ワンピース」、「ワイシャツ」などが提示される。次に、「ワイ」と入力した段階では、「ワンピース」や「ワッペン」は候補から外れるため、「ワイシャツ」などがサジェストワードとして提示される。
【0048】
ユーザは検索文字列を入力するフォームに検索文字列を入力した後に、例えばその近傍にある検索ボタン43を押下する操作などを行うことで入力した検索文字列に基づいて検索を行い、ユーザ端末1上の表示は、
図9に示すような、検索した商品を提示する結果提示画面50に遷移する。
【0049】
本実施の形態では以上のような通常のサジェストワードの提示に加え、以下のようなサジェストワードの提示も行う。以下、ウェブサーバ2によってユーザ端末1に提示される画面の一例について
図8乃至
図11を参照して説明する。
【0050】
ユーザは、思い出そうとしている若しくは知りたい商品名称に関連すると思われるワードを操作(タッチ、クリック、キーボード操作等)により検索ボックス41に入力する。例えばユーザの思い出そうとしている若しくは知りたい商品名称が「ワインビネガー」である場合、まずユーザは、
図10Aに示すように、検索ボックス41に当該商品名称に関係がありそうな「酢」といった検索文字列を入力し、検索ボタン43を押下する等の検索操作を行う。
【0051】
検索操作により提示された結果提示画面50から望んでいる商品を見つけることができなかったユーザは、次に
図10Bに示すように、他に関係がありそうな「ぶどう」といった検索文字列を入力して検索操作を行う。このように、ユーザは、商品名称を思い出すために関連がありそうな検索文字列を入力することで、複数回検索を行うことになる。
【0052】
複数回関連のありそうな検索文字列を用いて検索を行った後、ユーザが検索予備操作を行うと、
図11Aに示すようにサジェストワード提示欄42にユーザが思い出したい若しくは知りたい商品名称であると推定されたサジェストワードが提示される。例えば、ユーザの過去の検索に用いた検索文字列「酢」、「ぶどう」からユーザの知りたい商品名称は「ワインビネガー」又は「バルサミコ酢」であると推定し、サジェストワード提示欄42に提示させる。尚、検索予備操作とは、例えば検索ボックス41をクリックする操作であって検索文字列の入力をまだ開始していない状態や、マウス等を用いて検索ボックス41にカーソルを合わせる操作等をいう。また検索予備操作には検索のために文字を入力する操作も含まれる。
【0053】
また、その後ユーザが検索ボックス41に検索文字列を入力した際には、推定した検索ワードに加えて通常のサジェストワードがサジェストワード提示欄42に提示される。例えば、
図11Bに示すように、推定した検索ワードである「ワインビネガー」、「バルサミコ酢」の下に通常のサジェストワードである「ワッペン」、「ワイシャツ」、「ワイン」が提示される。
【0054】
<4.ウェブサーバに関する処理>
[4−1.第1の実施の形態]
以下、仮想商店街での商品検索における、ウェブサーバ2のサジェストワードの提示制御処理の第1の実施の形態を
図12乃至
図15を参照して説明する。
尚、以下の説明でのウェブサーバ2の処理は、少なくとも
図3に示した履歴管理部21、検索部22、履歴管理部23、第1抽出部24、第2抽出部25、提示制御部26の各機能が連携して実行されるものである。
【0055】
まず、
図12を参照して、ウェブサーバ2が提供する各種サービスを受けるために、ユーザがユーザ端末1を用いてログイン操作を行い、名称のわからない購入希望商品を検索する例を説明する。
【0056】
仮想商店街の商品販売サービスによるサービスを求めるユーザは、ユーザ端末1からウェブサーバ2が提供するウェブサイトにアクセスし、ログイン処理を行う。ユーザ端末1はステップS11においてログイン要求情報をウェブサーバ2に送信し、ウェブサーバ2側ではステップS21においてログイン処理を行う。
ウェブサーバ2は、ログイン処理が完了することで処理対象となるユーザを特定する。その後検索操作情報や検索予備操作が受信された際には、ウェブサーバ2は、ログイン時のユーザID等によりユーザを認識して、以降の処理を行うことになる。
【0057】
ログイン処理が適切に完了した後、ステップS12で、ユーザの検索ボックス41への検索文字列の入力操作があった場合、ユーザ端末1は当該検索文字列情報をウェブサーバ2に送信する。
検索文字列の入力操作の有無の判定は、検索文字列の一文字の入力ごとに判定しており、例えば、ユーザが検索文字列として「ぶどう」をローマ字入力で入力する場合では、ユーザ端末1は一文字目の「b」の入力に応じて検索文字列が入力操作が行われたと判定し、検索文字列として「b」がウェブサーバ2に送信する。次に、ユーザ端末1は二文字目の「u」の入力に応じて検索文字列の入力操作が行われたと判定し、検索文字列として「ぶ」がウェブサーバ2に送信する。
このように、検索文字列が一文字入力されるごとに、検索文字列がウェブサーバ2に送信される。これらの操作が繰り返されることにより、検索文字列として「ぶどう」が入力される。
【0058】
尚、検索文字列を一文字消去した場合も検索文字列の入力操作に含まれる。例えば、検索文字列として「ty」と入力し、その後に「y」を削除する操作を行った場合を説明する。この場合では、「t」の入力操作、「y」の入力操作、「y」の削除操作がそれぞれ検索文字列の入力として扱われる。つまり、検索装置1に送信される検索文字列は、始めに「t」が送信され、次に「ty」が送信され、最後にyを削除した「t」が再度送信される。
【0059】
また、日本語のように複数の文字種別(ひらがな、カタカナ、漢字など)がある言語の場合、検索文字列を変換する操作に関しても入力操作に含まれる。例えば、「nori」を入力することによって検索文字列を「のり」とした場合、ウェブサーバ2に検索文字列として送信される検索文字列は「のり」であるため、後述するサジェストワードの提示処理において「海苔」や「糊」などが提示される。次に、ユーザ端末1上で「のり」を変換する操作を行い、検索文字列を「海苔」とした場合、この変換操作も検索文字列の入力操作とされ、ウェブサーバ2に「海苔」という検索文字列が送信される。これにより、後述するサジェストワードの提示処理において、「糊」を含んだサジェストワードは提示されず、「海苔」を含んだサジェストワードが提示される。
【0060】
ユーザの入力操作情報を受信したウェブサーバ2は、ステップS22で入力された検索文字列に応じてサジェストワードを提示制御し、ステップS13でユーザ端末1にサジェストワードを提示させる。
【0061】
次にユーザ端末1はステップS14で、ユーザの検索操作に基づく検索操作情報をウェブサーバ2に送信する。即ち、ユーザ端末1はウェブサーバ2に検索要求を行う。
【0062】
検索要求を受信したウェブサーバ2は、ステップS23で、受信した検索文字列情報から検索キーワードを抽出し、当該検索ワードに基づいて検索処理を行う。その後ウェブサーバ2は、検索結果情報をユーザ端末1に送信し、当該検索結果情報を受信したユーザ端末1は、ステップS15で表示画面に検索結果を提示する。
【0063】
ウェブサーバ2は、ステップS24で抽出した検索ワード群に基づいて提示候補ワードを抽出する。提示候補ワードとは、ウェブサーバ2がサジェストワードとして提示させる候補となるワードのことである。尚、提示候補ワードの抽出処理の詳細については後述する。
【0064】
その後、ユーザは、思い出せない若しくは知らない商品名称を検索するために検索操作を何度か繰り返し行い、ユーザ端末1、ウェブサーバ2も図に破線で示すようにS13からの一連の処理をユーザの検索操作毎に実行する。
【0065】
S13からの一連の処理を何度か行った後、ユーザ端末1はステップS16で、ユーザの検索予備操作に基づく検索予備操作情報をウェブサーバ2に送信する。即ち、ユーザ端末1はウェブサーバ2にサジェストワードの提示制御要求を行う。これに対してウェブサーバ2は、ステップS24で抽出した提示候補ワードからサジェストワードに含めるワードを抽出し、通常のサジェストワードとともにユーザ端末1に提示させる。即ち、ウェブサーバ2はユーザ端末1に提示制御処理を行う。
ユーザ端末1はステップS17で、ウェブサーバ2のステップS25の提示制御処理に基づいてサジェストワードを提示する。
【0066】
以上のような検索支援サービスを実現するためにウェブサーバ2が行う処理について
図13を参照して説明する。
ウェブサーバ2は、前提として
図12のステップS21に示すような、ログインしたユーザのユーザIDを参照することで、処理対象となるユーザをあらかじめ特定している。
ウェブサーバ2は、ステップS101、ステップS111で、ユーザ端末1から送信されるユーザの検索操作情報や操作予備情報等を受信したか否かを判定する。
【0067】
ステップS101でウェブサーバ2がユーザ端末1から検索要求を受信した場合、ウェブサーバ2はステップS102で検索処理を行う。具体的には、ウェブサーバ2は入力された検索文字列を受け取り、当該検索文字列から検索ワードを抽出する処理を行う。例えば検索文字列として「ぶどう 酢」を受け取った場合は、検索ワードとして「ぶどう」と「酢」を抽出し、検索文字列が「ぶどうで作られた酢」の場合は、「ぶどう」と「酢」を検索ワードとして抽出する。
ウェブサーバ2は、抽出した検索ワードと対応する商品情報を商品DB32から取得する。
【0068】
ウェブサーバ2は、ステップS103で検索結果の商品を提示制御する処理を行う。ウェブサーバ2は、ステップS102で商品DB32から取得した商品情報を表示するための画面情報をユーザ端末1に送信する。当該画面情報を受信したユーザ端末1は、
図9に示すように、商品の検索結果を結果提示画面50に提示する。
【0069】
ウェブサーバ2は、ステップS104で検索ワード記録処理を行う。具体的には、ウェブサーバ2は、検索ワードに対応する関連ワード情報を関連ワードDB35から取得する。
ウェブサーバ2は、関連ワードDB35から取得した関連ワード情報、検索文字列から抽出した検索ワード、商品DB32から取得した商品情報、検索情報を受信した日時情報などを検索履歴DB33に記録する。
【0070】
ウェブサーバ2は、ステップS105で検索ワード群抽出処理(第1抽出処理)を行う。ウェブサーバ2は、ユーザの検索で用いられた直近の検索ワードと、ユーザの過去の検索で用いられた検索ワードのうちで、直近の検索ワード及び共通の検索目的であると推定した1又は複数の他の検索ワードを検索ワード群として検索履歴DB33から抽出する。
【0071】
ここで、
図14を参照して、検索ワード群抽出処理の詳細について説明する。
ウェブサーバ2は、
図14Aに示すようにステップS201で直近の検索ワードの検索から所定時間の間に検索された検索ワードを抽出する。具体的には、ウェブサーバ2は、検索履歴DB33から直近の検索ワードを抽出し、直近の検索ワードの検索要求を受信した日時から5分以内に検索要求を受信した検索ワードを抽出する。例えば、直近の検索ワード「ワイン」の日時情報である「2016年3月16日12時5分」より前の5分の間に検索要求を受信している検索ワード「ぶどう」、「酢」を他の検索ワードとして抽出する。
例えば5分間などの所定の時間を過ぎた検索ワードは、ユーザが失念した若しくは知らない商品名称を検索する際に用いた可能性が下がるため、それらの検索ワードを除外することでユーザが思い出したいワードをより高い精度でサジェストワードに提示することができる。
尚、直近の検索ワードとは、
図5に示すように、日時情報が一番新しい検索ワードであって、履歴ID0001に対応する検索ワードをいう。また所定の時間はユーザが失念した若しくは知らない商品を検索するのにかける時間を想定するものであれば5分に限られることなく、3分でもよいし7分等でもよい。
【0072】
またウェブサーバ2は
図14BのステップS203で示すように、直近の検索ワードの検索より前の所定回数に検索された検索ワードを他の検索ワードとして抽出してもよい。具体的には、ウェブサーバ2は、直近の検索ワードの履歴から2回前までに受信した検索ワードを他の検索ワードとして抽出してもよい。例えば、ウェブサーバ2は、直近の検索ワード「ワイン」から2回前までに受信した検索ワード「ぶどう」、「酢」を他の検索ワードとして抽出する。
尚、所定の回数はユーザが失念した若しくは知らない商品を検索するのにかける検索回数を想定するものであれば2回に限られることなく、1回でもよいし3回以上であってもよい。また、所定の時間内に数多くの検索履歴があったときは、例えば直近の検索ワードの検索要求を受信した日時から5分以内かつ直近の検索ワードの履歴から5回前までに受信した検索ワードを他の検索ワードとして抽出してもよい。これにより、処理負担を軽減しつつユーザの失念した若しくは知らない商品名称等をサジェストワードとして提示させることができる。
またステップS203の処理の完了後、ウェブサーバ2は、以下同様にステップS202の処理を行う。
【0073】
他の検索ワードを抽出した後、ウェブサーバ2はステップS202で、ステップ201で取得した直近の検索ワードと他の検索ワードを全て検索ワード群として抽出する。
以上により、ウェブサーバ2は検索ワード群抽出処理を完了する。
【0074】
図13に戻って、ウェブサーバ2は、ステップS106で提示候補ワード抽出処理(第2抽出処理)を行う。ウェブサーバ2は、ステップS105で抽出した検索ワード群に基づいて1又は複数の提示候補ワードを抽出する。
【0075】
ここで、
図15を参照して提示候補ワード抽出処理の詳細について説明する。
ウェブサーバ2は、検索ワード群のそれぞれを用いた検索ごとに取得した商品のうち共通する商品を共通商品として特定し、共通商品に対応付けられたワードを提示候補ワードとして抽出する。
【0076】
まずウェブサーバ2は、ステップS301で商品情報取得処理を行う。具体的には、ウェブサーバ2は、検索ワード群の検索ワード毎に対応付けられた商品情報を検索履歴DB33から取得する。検索ワード群は
図13のステップS104において抽出したものである。例えば、
図5より検索ワード群として「ワイン」、「ぶどう」、「酢」が抽出された場合、検索ワード「ワイン」に対応する商品「赤ワイン、白ワイン、ワインビネガー」、検索ワード「ぶどう」に対応する商品「巨峰、ぶどうグミ、ワインビネガー」、検索ワード「酢」に対応する商品「黒酢、ポン酢、ワインビネガー」をそれぞれ取得する。
【0077】
ウェブサーバ2はステップS302で共通商品特定処理を行う。具体的には、ウェブサーバ2は、ステップS301で取得した商品情報から検索ワード群に全ての検索ワードに共通する商品を共通商品として抽出する。例えば、ウェブサーバ2は、検索ワード「ワイン」、「ぶどう」、「酢」に共通する商品「ワインビネガー」を共通商品として抽出する。
尚、共通商品は必ずしも検索ワード群全てに共通している商品とする必要はなく、少なくとも二つの検索ワードに共通する商品があれば、それを共通商品としてもよい。また共通商品は一つである必要はなく条件を満たすのであれば複数抽出してもよい。
【0078】
ウェブサーバ2はステップS303で提示候補ワード抽出処理を行う。具体的には、ウェブサーバ2は、抽出した共通商品の商品名称を提示候補ワードとして商品DB32から抽出する。例えば
図4に示すように共通商品「ワインビネガー」の商品名称「ワインビネガー」を商品DB32から抽出する。
尚、提示候補ワードとして商品DB32から抽出する情報は、商品名称だけに限られず、例えば共通商品に対応する関連ワードであってもよい。
以上により、ウェブサーバ2は、提示候補ワード抽出処理を完了する。
【0079】
図13に戻って、ステップS106の処理の完了後、ウェブサーバ2は再びステップS101、ステップS111の監視ループ処理を行う。
【0080】
ウェブサーバ2は、ステップS111でユーザ端末1から検索予備操作情報を受信したか否かを判定する。検索予備操作には、例えば検索ボックスをクリックする操作であって検索文字列の入力をまだ開始していない状態であって、ユーザがユーザ端末1を介して検索ボックス41をクリック、タップ等する操作や、タップマウス等を用いて検索ボックスにカーソルを合わせる操作等が挙げられる。また検索予備操作には検索のために文字を入力する操作も含む。即ち、ユーザがユーザ端末1を介して検索ボックスに検索文字列を1文字以上入力した状態を含むものである。
ステップS111で検索予備操作情報を受信していない場合、ウェブサーバ2は再びステップS101、ステップS111の監視ループに戻る。
【0081】
ステップS111で検索予備操作情報を受信したと判定した場合、ウェブサーバ2はステップS112で、提示候補ワードがあるか否かを判定する。つまり、その時点以前にステップS105、ステップS106の処理が行われ、提示候補ワードが抽出されているか否かを判定する。
ステップS112で提示候補ワードがない場合、ウェブサーバ2はステップS114に処理を進め、通常のサジェストワードを取得する。
【0082】
ステップS112で提示候補ワードがあると判定した場合、ウェブサーバ2はステップS113で、ステップ106で抽出した提示候補ワードを取得する。
【0083】
次にウェブサーバ2は、ステップS114で通常のサジェストワードの取得を行う。即ちウェブサーバ2は、サジェストワードDB36からサジェストワードを取得する。
具体的には、ウェブサーバ2は、例えば、ユーザ端末1上で検索文字列として「ぶどう」が入力された場合、ユーザ端末1から検索文字列の情報として「ぶどう」を受け取ると共に、検索文字列の表音情報として「budou」を受け取る。次に、ウェブサーバ2は、「budou」で始まる検索ワードを有したサジェストワードをサジェストワードDB36から検索する。この検索では、前方一致によって検索条件に合致するか否かが判定され、例えば、「ぶどうグミ」という検索ワードは「budougumi」のように「budou」で始まるため条件に合致すると判定されるが、「干しぶどう」という検索ワードは「budou」で始まらないため条件に合致しないと判定される。
【0084】
ウェブサーバ2は、ステップS115でステップS113とステップS114で取得した提示候補ワードと通常のサジェストワードのサジェストワード提示欄42への提示制御を行う。具体的には、ウェブサーバ2は、ステップS105で抽出した提示候補ワードと、入力された検索文字情報と表音一致するワードである通常のサジェストワードとを混合してサジェストワード提示欄42へ出現させる。例えば
図11Bに示すように提示するサジェストワード数を5つに設定している場合、サジェストワード提示欄42には提示候補ワードから2つのサジェストワードを提示し、残りの3つに通常のサジェストワードを出現させる。
尚、ウェブサーバ2はステップS105で抽出した提示候補ワードが複数ある場合は、例えば、サジェストワードの一部として提示候補ワードを提示させる際に、ウェブサーバ2は、全部のサジェストワードに対して一定の個数の提示候補ワードを提示させてもよい。ここで、一定の個数とは、例えば図に示すように、提示候補ワードに「ワインビネガー」、「バルサミコ酢」の2つをサジェストワード提示欄42に提示させ、残りに通常のサジェストワードを提示させる等、あらかじめ設定した2個等の個数を限るものでもよいし、全てのサジェストワードに対して20パーセント等の全体のサジェストワードの割合に応じて提示させる提示候補ワードの個数を定めてもよい。これにより、抽出した複数の検索候補ワードの全部をサジェストワードに提示させないことで、通常のサジェストワードを提示するスペースを確保することができる。
また、全体のサジェストワードに対して提示する提示候補ワードの割合や個数はユーザがあらかじめ任意に設定しておいてもよい。これにより、それぞれのユーザにとって快適なサジェストワードの提示を実現できる。
サジェストワード提示制御処理の際に、ウェブサーバ2は、ユーザの操作により入力された文字の情報を取得した際に、提示候補ワードが検索ワード群のいずれかと表音一致する場合は、ウェブサーバ2は提示候補ワードをサジェストワードとして提示させないこととしてもよい。これにより、当該提示候補ワードをサジェストワードとして提示させないことで、ユーザに再検索させる手間を省くことができ、その分他のサジェストワードを提示させるスペースを確保することができる。
また、ウェブサーバ2は、ユーザの操作により入力された文字の情報を取得した際に、提示候補ワードが検索ワード群のいずれかと表音一致する場合は、ウェブサーバ2は提示候補ワードをサジェストワードとして提示することとしてもよい。これにより、ユーザが以前検索したワードの中にユーザが失念していた若しくは気になっているがわからない商品名称等が含まれていたことを気付かせることが可能になる。
またウェブサーバ2は、提示候補ワードを提示させる際に、検索ボックス41に入力された検索文字列と表音一致する提示候補ワードを優先的に表示することとしてもよい。これにより、ユーザが商品の名称の頭文字しかわからない等の場合に、より高い精度でユーザが思い出したい商品名をサジェストワード提示欄42に出現させることができる。
ステップS115の処理の完了後、ウェブサーバ2は再びステップS101、ステップS111の監視ループに戻る。
【0085】
尚、
図13のステップS113で提示候補ワードの取得については次の点を考慮することが望ましい。提示候補ワードは、ステップS106で抽出してから長時間が経過している場合、ユーザの検索要求にそぐわなくなっていることが考えられる。例えば抽出時の検索をやめてしまっていたり、別の目的で検索を行っていることもある。つまり、長時間たつことで現在のユーザの検索目的を反映するものとならなくなっている可能性が高い。そこで、ステップS106で抽出した提示候補ワードについては、ウェブサーバ2は、例えば
図2のRAM103に一時的に記憶し、所定時間経過後に削除するようにしてもよい。あるいは、ステップS106で抽出した提示候補ワードを日時情報を付加して保存し、ウェブサーバ2は、ステップS113で、日時情報を参照して、所定の時間内等の提示候補ワードを抽出するようにしてもよい。
これにより、ユーザが現在探そうとしている商品名称と関連性が低いワードがサジェストワードとして提示されることを防止することができる。
【0086】
[4−2.第2の実施の形態]
第2の実施の形態でウェブサーバ2が実行する処理を
図16を参照して説明する。尚、
図12以降のフローチャートにおいて、既に説明した同一の処理については同一の符号を付し、適宜説明を省略するものとする。他の実施の形態においても同様である。
第2の実施の形態の
図13の提示候補ワード抽出処理(ステップS105)において、ウェブサーバ2は、検索ワード群のそれぞれに対応付けられた関連ワードであって、全ての検索ワードに共通する関連ワードを提示候補ワードとして抽出する。全ての検索ワードに共通する関連ワードはユーザの失念した若しくは知らない商品に関連するものである可能性が高い。従って、ユーザに対してより検索意図に合致する可能性が高い検索提示ワードを抽出することができる。
【0087】
まずウェブサーバ2は、ステップS311で関連ワード取得処理を行う。具体的には、ウェブサーバ2は、検索ワード群の検索ワード毎に対応付けられた関連ワード情報を検索履歴DB33から取得する。検索ワード群は
図11のステップS104において抽出したものである。例えば、
図5より検索ワード群として「ワイン」、「ぶどう」、「酢」が抽出された場合、検索ワード「ワイン」に対応する関連ワード「アルコール、ぶどう、ワインビネガー」、検索ワード「ぶどう」に対応する関連ワード「種なし、甘い、ワインビネガー」、検索ワード「酢」に対応する関連ワード「ダイエット、酸っぱい、ワインビネガー」をそれぞれ取得する。
【0088】
ウェブサーバ2はステップS312で共通ワード特定処理を行う。具体的には、ウェブサーバ2は、ステップS311で取得した関連ワード情報から検索ワード群に全ての検索ワードに共通する関連ワードを共通ワードとして抽出する。例えば、ウェブサーバ2は、検索ワード「ワイン」、「ぶどう」、「酢」に共通する関連ワード「ワインビネガー」を共通ワードとして抽出する。
尚、共通ワードは必ずしも検索ワード群全てに共通している関連ワードとする必要はなく、少なくとも二つの検索ワードに共通する関連ワードがあれば、それを共通ワードとしてもよい。また共通ワードは一つである必要はなく条件を満たすのであれば複数抽出してもよい。
【0089】
ウェブサーバ2はステップS313で提示候補ワード抽出処理を行う。具体的には、ウェブサーバ2は、抽出した共通ワードを提示候補ワードとして商品DB32から抽出する。
以上により、ウェブサーバ2は、提示候補ワード抽出処理を完了する。
【0090】
[4−3.第3の実施の形態]
第3の実施の形態でウェブサーバ2が実行する処理を
図17を参照して説明する。
第3の実施の形態の
図13に示す検索ワード群抽出処理(ステップS104)において、ウェブサーバ2は、直近の検索ワードを用いた検索結果として提示された商品と共通する商品を含む検索結果を提示させる検索ワードを他の検索ワードとして抽出する。
従って、同じ商品が検索結果として提示されるワードは関連性が高いと考えられるため、提示候補ワードを抽出する前の検索ワード群を抽出する段階で、よりユーザの検索意図を反映させた絞り込みが可能となる。
【0091】
まずウェブサーバ2は、ステップS201で直近の検索ワードの検索から所定時間の間に検索された検索ワードを抽出する。当該処理は第1の実施の形態と同様のため説明を省略する。
【0092】
ウェブサーバ2は、ステップS211で商品情報取得処理を行う。具体的には、ウェブサーバ2は、ステップS201で抽出した検索ワードの検索ワード毎に対応付けられた商品情報を検索履歴DB33から取得する。ステップS201で抽出した検索ワードは
図13のステップS104において抽出したものである。例えば、
図5よりステップS201で抽出した検索ワードとして「ワイン」、「ぶどう」、「酢」が抽出された場合、検索ワード「ワイン」に対応する商品「赤ワイン、白ワイン、ワインビネガー」、検索ワード「ぶどう」に対応する商品「巨峰、ぶどうグミ、ワインビネガー」、検索ワード「酢」に対応する商品「黒酢、ポン酢、ワインビネガー」をそれぞれ取得する。
【0093】
ウェブサーバ2はステップS212で他の検索ワードを特定する。具体的には、ウェブサーバ2は、ステップS211で取得した商品情報からステップS201で抽出した検索ワードに直近の検索ワードの商品を少なくとも一つ有する場合、当該検索ワードを他の検索ワードとして抽出する。例えば、ウェブサーバ2は、直近の検索ワード「ワイン」に対応する商品「ワインビネガー」を有する検索ワード「ぶどう」、「酢」を他の検索ワードとして抽出する。
尚、直近の検索ワードに対応する商品と共通する商品を最も多く有する検索ワードを他の検索ワードとして抽出してもよい。共通する検索結果を最も多く有する検索ワードのみを抽出することで、その後の提示候補ワード抽出する際の処理負担を軽減した上で、より精度の高い提示候補ワードの抽出が可能となる。また、検索結果は商品に限られることはなく、検索結果に提示されたキーワードなど検索結果により提示される情報であればどのようなものでもよい。
【0094】
ウェブサーバ2はステップS202で、ステップ201で取得した直近の検索ワードと他の検索ワードを全て検索ワード群として抽出する。
以上により、ウェブサーバ2は検索ワード群抽出処理を完了する。
【0095】
[4−4.第4の実施の形態]
第4の実施の形態でウェブサーバ2が実行する処理を
図18を参照して説明する。
第4の実施の形態は、
図13の検索ワード群抽出処理(ステップS104)で、ウェブサーバ2が、直近の検索ワードに対応付けられた関連ワードと共通する関連ワードが対応付けられている検索ワードを他の検索ワードとして抽出する。
本実施の形態は、共通する検索結果(例えば商品群に共通する商品)に基づく場合と異なり、同じジャンルを示すID等を関連ワードとして記録しておくことができる(例えば検索ワード「ワイン」と「酢」の関連ワードとして共通のIDを記録しておく)。これにより、言葉だけで括ることのできない概念的に関連のある検索ワードをも抽出することができる。
【0096】
まずウェブサーバ2は、ステップS201で直近の検索ワードの検索から所定時間の間に検索された検索ワードを抽出する。当該処理は第1の実施の形態と同様のため説明を省略する。
【0097】
ウェブサーバ2は、ステップS221で関連ワード情報を取得する。具体的には、ウェブサーバ2は、直近の検索ワードに対応付けられた関連ワード情報を検索履歴DB33から取得する。また他の検索ワードについても同様の処理を行う。例えば、
図5より直近の検索ワード「ワイン」及び他の検索ワード「ぶどう」、「酢」が抽出された場合、直近の検索ワード「ワイン」に対応する関連ワード「アルコール、ぶどう、ワインビネガー」、他の検索ワード「ぶどう」に対応する関連ワード「種なし、甘い、ワインビネガー」、他の検索ワード「酢」に対応する関連ワード「ダイエット、酸っぱい、ワインビネガー」をそれぞれ取得する。
【0098】
ウェブサーバ2はステップS222で共通ワード特定処理を行う。具体的には、ウェブサーバ2は、ステップS221で取得した関連ワード情報から直近の検索ワードにと共通する関連ワードを抽出する。例えば、ウェブサーバ2は、直前検索ワード「ワイン」と他の検索ワード「ぶどう」、「酢」に共通する関連ワード「ワインビネガー」を共通する関連ワードとして抽出する。
尚、共通する関連ワードは必ずしも検索ワード群全てに共通している関連ワードとする必要はなく、少なくとも二つの検索ワードに共通する関連ワードがあれば、それを共通する関連ワードとしてもよい。また当該ワードは一つである必要はなく条件を満たすのであれば複数抽出してもよい。
【0099】
ウェブサーバ2はステップS202で、ステップ201で取得した直近の検索ワードと他の検索ワードを全て検索ワード群として抽出する。
以上により、ウェブサーバ2は検索ワード群抽出処理を完了する。
【0100】
[4−5.第5の実施の形態]
第5の実施の形態でウェブサーバ2が実行する処理を
図19を参照して説明する。
第5の実施の形態は、
図13の検索ワード群抽出処理(ステップS104)で、ウェブサーバ2が、辞書情報を参照し、前記辞書情報において直近の検索ワードに対して関連性スコアが所定値以上とされている検索ワードを前記他の検索ワードとして抽出する。
本実施の形態は、関連性スコアの基準をサーバ側が設定することができるため、提示させたい関連性の度合いに応じて検索ワードを抽出することができる。即ち、ユーザの検索意図だけで無くサーバ側の提示意図も反映した提示候補ワードを抽出することが可能となる。
【0101】
まずウェブサーバ2は、ステップS201で直近の検索ワードの検索から所定時間の間に検索された検索ワードを抽出する。当該処理は第1の実施の形態と同様のため説明を省略する。
【0102】
ウェブサーバ2は、ステップS231でスコア情報を取得する。具体的には、ウェブサーバ2は、辞書DB34から直近の検索ワードに対応するステップS201で抽出した検索ワードに紐付けられた
関連性スコア情報を取得する。
関連性スコアは、直近の検索ワードとの関連性の深さを数値化したものであり、例えば5段階で表示される(「5」が一番関連度が高く、「0」は最も関係度が低いものとする)。例えば酢7に示すようにステップS201で抽出した検索ワードを「ぶどう」、「酢」、「自転車」とすると、直近の検索ワード「ワイン」に対して
関連性スコアは順番に「5」、「3」、「1」となる。
【0103】
ウェブサーバ2は、ステップS232で
関連性スコアが「3」以上の検索ワードを他の検索ワードとして取得する。例えば、
関連性スコアが「5」である検索ワード「ぶどう」、
関連性スコアが「3」である検索ワード「酢」を他の検索ワードとして取得する。
【0104】
ウェブサーバ2はステップS202で、ステップ201で取得した直近の検索ワードと他の検索ワードを全て検索ワード群として抽出する。
以上により、ウェブサーバ2は検索ワード群抽出処理を完了する。
【0105】
<5.まとめ>
上記した第1乃至第5の実施の形態等で説明したウェブサーバ2は、処理対象のユーザとして特定したユーザの検索に関する操作情報(検索操作情報又は検索予備情報)を取得する操作情報取得部21と、ユーザの検索で用いられた直近の検索ワードと、ユーザの過去の検索で用いられた検索ワードのうちで、直近の検索ワード及び直近の検索ワードと共通の検索目的であると推定した1又は複数の他の検索ワードを検索ワード群として抽出する(
図13,ステップS104)第1抽出部24と、第1抽出部24により抽出した検索ワード群に基づいて1又は複数の提示候補ワードを抽出する(ステップS105)第2抽出部25と、操作情報取得部21が受信した操作情報に応じて第2抽出部25が抽出した提示候補ワードの少なくとも一部をサジェストワードの全部又は一部として提示させる(
図11B)提示制御部26と、を備えている。
まずユーザが検索に用いた直近の検索ワードと関連のある検索ワードをユーザが失念した若しくは知らない商品名称等のワードを検索するために用いた検索ワードであると推定し、検索履歴から抽出する。次に当該抽出した検索ワード群のうちで共通の特徴を有するワードをユーザが失念した若しくは知らないワードであると推定し、提示候補ワードとして抽出する。その後、ユーザの検索に関する操作情報を受信した場合、ユーザが再び失念した若しくは知らないワードを検索使用としていると推定し、当該提示候補ワードをサジェストワードとしてユーザ端末に提示させる。
失念した若しくはわからない商品名称等を検索する際、ユーザは常にその商品名称について検索し続けるわけではなく、例えば失念してしまった若しくは知らない商品名称を検索する合間に以前から購入を考えていた自転車について検索するなど、検索途中で全く関係のない名称について検索することも日常生活においてはよく見受けられることである。
そこで、ユーザが思い出したい商品名称を検索するために入力したと思われる検索ワードを推定して抽出し、抽出した検索ワードに基づいて提示候補ワードを抽出し、思い出したい商品名称等に関係の無いワードを抽出対象から排除することで、ユーザが思い出したい商品名称を高い精度で提示させることができる。
また、ユーザの失念してしまった若しくは知らない商品名称をサジェストワードとして提示するため、ユーザがより少ない検索数で当該商品名称にたどり着く可能性を高めることができる。またその結果、ユーザに対する商品の検索結果の提示回数を減らすことが可能となり、情報処理装置の処理負担を軽減することができ、ハードウェア資源の有効活用を図ることができる。
【0106】
また第1抽出部24は、第3の実施の形態に示すように、直近の検索ワードを用いた検索結果(提示された商品)と少なくとも一部が共通する検索結果(提示された商品)を提示させる検索ワードを他の検索ワードとして抽出する(
図17)。
直近の検索ワードと少なくとも一部が共通する検索結果を提示させる検索ワードは、直近の検索ワードと関連性が高いワードと推定し、当該ワードを他の検索ワードとして抽出する。
共通する検索結果(例えば商品群のうちで共通する商品)を提示させる検索ワードは互いに関連性を有するものと推定できる。従って、関連性が高いワードを検索ワード群とし、当該検索ワード群に基づいて提示候補ワードを抽出することでよりユーザの検索意図を反映させたサジェストワードの提示が可能となる。
【0107】
また第1抽出部24は、第3の実施の形態に示すように、直近の検索ワードを用いた検索結果と共通する検索結果を最も多く有する検索ワードを他の検索ワードとして抽出する(
図17)。
直近の検索ワードを用いた検索結果と共通する検索結果が多いワードほど、直近の検索ワードと関連性が高いワードであると推定し、一番共通する検索結果(例えば商品等)を有するワードを他の検索ワードとして抽出する。
従って、より互いの関連性が高い検索ワード群に基づいて他の検索ワードを抽出することで、より一層ユーザの検索意図を反映させたサジェストワードの提示が可能となる。
また共通する検索結果を最も多く有する検索ワードのみを抽出することで、その後の提示候補ワード抽出する際の処理負担を軽減した上で、より精度の高い提示候補ワードの抽出が可能となる。
【0108】
また第1抽出部24は、第1の実施の形態に示すように、直近の検索ワードの検索前の所定時間の間に検索された検索ワード又は直近の検索ワードの検索より前の所定回数に検索された検索ワードを他の検索ワードとして抽出する(
図14)。
即ち、直近の検索ワードの検索から所定時間の間に検索された検索ワード又は直近の検索ワードの検索より前の所定回数に検索された検索ワードを直近の検索ワードと関連性の高いワードと推定する。
ユーザが失念した若しくは知らない商品名称を検索する際、ユーザは関連する検索文字列を入力して連続して複数回検索する可能性が高いと考えられる。また所定時間に間に検索された検索ワードや所定回数前の検索ワードを抽出することは、本実施の形態における他の第1抽出処理よりも処理負担が少なくてすむ。従って、上記構成により少ない処理負担でユーザの検索意図に沿った提示候補ワードを抽出することが可能となる。
【0109】
また第1抽出部24は、第4の実施の形態のステップS221に示すように、ユーザの過去の検索で用いられた検索ワードのうちで、直近の検索ワードに対応付けられた関連ワードと共通する関連ワードが対応付けられている検索ワードを他の検索ワードとして抽出する(
図18)。
例えば直近の検索ワード「酢」に対応付けられた関連ワードが「すっぱい、ワインビネガー、ダイエット」で、検索履歴中の検索ワード「ワイン」に対応付けられた関連ワードが「アルコール、ぶどう、ワインビネガー」であるときは、共通する関連ワード「ワインビネガー」を有する検索ワード「ワイン」を他の検索ワードとして抽出する。
共通する関連ワードが対応付けられている検索ワードは互いに関連性が高いものと推定できる。従って、より互いの関連性が高い検索ワード群に基づいて提示候補ワードを抽出することで、より一層ユーザの検索意図を反映させたサジェストワードの提示が可能となる。
また共通する検索結果(例えば商品群に共通する商品)に基づく場合と異なり、同じジャンルを示す整理番号等を関連ワードとして記録しておくことができる(例えば検索ワード「ワインビネガー」と「バルサミコ酢」に関連ワードとして共通のIDを記録しておく)。これにより、言葉だけで括ることのできない概念的に関連のある検索ワードをも抽出することができる。
【0110】
また第1抽出部24は、第5の実施の形態のステップS231、S232に示すように、辞書情報を参照し、ユーザの過去の検索で用いられた検索ワードのうちで、辞書情報において直近の検索ワードに対して関連性スコアが所定値以上とされている検索ワードを他の検索ワードとして抽出する(
図19)。
例えば辞書情報において、直近の検索ワード「酢」に対して検索ワード「黒酢」の関連性スコアが「5」、検索ワード「ポン酢」の関連性スコアが「4」、検索ワード「自転車」の関連性スコアが「1」であるときに、あらかじめ設定しておいた関連性スコアの値「3」以上である検索ワード「黒酢」、「ポン酢」を検索ワードとして抽出する。
関連性スコアの基準をサーバ側が設定することができるため、提示させたい関連性の度合いに応じて検索ワードを抽出することができる。即ち、ユーザの検索意図だけで無くサーバ側の提示意図も反映した提示候補ワードを抽出することが可能となる。
【0111】
また第2抽出部25は、第1の実施の形態のステップS206に示すように、検索ワード群のそれぞれを用いた検索ごとに取得した商品のうち共通する商品を共通商品として特定し、共通商品に対応付けられたワードを提示候補ワードとして抽出する(
図15)。
例えば検索ワード「酢」の検索により取得した商品群が「黒酢、ポン酢、ワインビネガー」で、他の検索ワード「ワイン」の検索により取得した商品群が「赤ワイン、白ワイン、ワインビネガー」である場合、商品「ワインビネガー」に対応付けられた商品名称「ワインビネガー」を提示候補ワードとして抽出する。
従って、共通する商品に基づいて提示候補ワードを抽出するため、商品名を失念した若しくは知らないユーザには、例えば商品名称でサジェストされた方が正解にたどり着きやすい。即ち、ユーザが失念した若しくは知らないワードに対して直接的に正解を提示することが可能となる。
【0112】
また第2抽出部25は、第2の実施の形態のステップS311乃至S313に示すように、検索ワード群のそれぞれに対応付けられた関連ワードであって、全ての検索ワードに共通する関連ワードを提示候補ワードとして抽出する(
図16)。
即ち、全ての検索ワードに共通しない関連ワードはユーザが失念している若しくは知らない商品に関連する可能性が低いとして抽出しない。
従って、全ての検索ワードに共通する関連ワードはユーザの失念した若しくは知らない商品に関連するものである可能性が高い。従って、ユーザに対してより検索意図に合致する可能性が高い検索提示ワードを抽出することができる。
【0113】
また提示制御部26は、第1の実施の形態のステップS111に示すように、操作情報取得部21が、検索準備操作情報を受信した場合、提示候補ワードをサジェストワードの全部又は一部として提示させる(
図11)。
提示制御部は、ユーザが検索操作を行う前に提示候補ワードをユーザ端末に提示させる。
従って、ユーザは検索文字列を入力する前に、提示されたサジェストワードから失念していた若しくはわからなかった商品名称を思い出すことができる。またユーザは思い出すためのワードを入力することなく、目的の商品名称を入力できるため、効率よく検索操作を行うことができる。
【0114】
また提示制御部26は、第1の実施の形態に示すように、操作情報取得部21がユーザの操作により入力された文字の情報を取得した際に、提示候補ワードが検索ワード群のいずれかと表音一致する場合は、提示候補ワードをサジェストワードとして提示させない
即ち、過去に検索済みの検索ワードと表音一致する提示候補ワードはサジェストワードとして提示させない。
検索ワード群のいずれかと表音一致する提示候補ワードは、ユーザが既に検索済みのワードである。従って、当該提示候補ワードをサジェストワードとして提示させないことで、ユーザに再検索させる手間を省くことができ、その分他のサジェストワードを提示させるスペースを確保することができる。
【0115】
また提示制御部26は、第1の実施の形態のステップS133に示すように、一定数の提示候補ワードをサジェストワードに含めて提示させる(
図13、ステップS115)。
即ち、抽出した複数の検索候補ワードの全部をサジェストワードに提示させない。
従って、提示候補ワード以外のサジェストワードを提示するスペースを確保することができる。
【0116】
検索予備操作は、マウス等を用いて検索ボックス41をアクティブにする操作や、検索ボックス41にカーソルを合わせる操作(マウスオーバー)等も含まれるとしたが、それによれば
図13においてステップS11からステップS115の処理が行われる。その場合、文字入力がされる前なので、ステップS113では表音一致による通常のサジェストワードは取得されず、ステップS115では
図11Aのように提示候補ワードによるサジェストワードが提示される。
この場合、文字入力前からサジェストワードが提示されるため、文字入力に先立って目的に合致する検索ワードを発見できることがある。ユーザにとって便利で効率的な検索が実現できる。
また、マウスオーバーを検索予備操作と解釈してこのような処理を行うこととすれば商品の検索をあきらめたときにも、ふとしたきっかけでカーソルが検索ボックス41に合ったとき、検索をあきらめていた商品名称が提示されることがあり、ユーザの検索の手助けとなる。
【0117】
図13のステップS115で、ウェブサーバ2は、サジェストワードを提示する際に通常のサジェストワードを提示せず、検索候補ワードのみを提示することとしてもよい。これにより、余計なサジェストワードをサジェストワード提示欄42に出現させなくなるため、ユーザが目的の商品又は商品名称を視覚的に見つけやすくなる。また提示候補ワードのみを提示させるため、ユーザが思い出したい若しくは知りたい商品の名称等をより高い精度で掲示させることができる。
【0118】
また本実施の形態においては、処理対象のユーザをログイン処理時のユーザID等を参照することで特定しているが、ユーザの特定の方法はログイン処理に限られず、様々な例が考えられる。例えばウェブサーバ2は、ユーザが入力操作を行った後ブラウザを閉じていないことをもって、ブラウザを開いているユーザを処理対象のユーザとして特定してもよいし、ユーザ端末が同一のことをもって処理対象のユーザと特定してもよい。これにより、ログインユーザ以外のユーザにもこのようなサービスを提供できる。
【0119】
商品検索支援システムを用いるコンテンツの例として仮想商店街を挙げたが、仮想商店街以外のサイトでも本発明を適用できる。
例えばレシピサイトにおけるレシピ検索、店舗紹介サイトにおける店舗検索、SNS(Social Networking Service)における友達検索など、検索システムを有するコンテンツであれば、本発明は好適に適用できる。
【0120】
<6.プログラム及び記憶媒体>
以上、本発明の情報処理装置の実施の形態としてのユーザ端末1を説明してきたが、実施の形態のプログラムは、ユーザ端末1における各処理を情報処理装置(CPUなど)に実行させるプログラムである。
【0121】
実施の形態のプログラムは、処理対象のユーザとして特定したユーザの検索に関する操作情報を取得する操作情報取得手順を情報処理装置に実行させる。また前記ユーザの検索で用いられた直近の検索ワードと、前記ユーザの過去の検索で用いられた検索ワードのうちで、前記直近の検索ワード及び前記直近の検索ワードと共通の検索目的であると推定した1又は複数の他の検索ワードを検索ワード群として抽出する第1抽出手順を情報処理装置に実行させる。また前記第1抽出手順で抽出した前記検索ワード群に基づいて1又は複数の提示候補ワードを抽出する第2抽出手順を情報処理装置に実行させる。また前記操作情報取得部が受信した前記操作情報に応じて前記第2抽出手順で抽出した前記提示候補ワードの少なくとも一部をサジェストワードの全部又は一部として提示させる提示制御手順を情報処理装置に実行させる。
即ちこのプログラムは、ウェブサーバ2に対して
図12乃至
図19で説明した処理を実行させるプログラムである。
【0122】
このようなプログラムにより、上述したウェブサーバ2としての情報処理装置を実現できる。
そしてこのようなプログラムはコンピュータ装置などの機器に内蔵されている記録媒体としてのHDDや、CPUを有するマイクロコンピュータ内のROMなどに予め記録しておくことができる。或いはまた、半導体メモリ、メモリカード、光ディスク、光磁気ディスク、磁気ディスクなどのリムーバブル記録媒体に、一時的或いは永続的に格納(記録)しておくことができる。またこのようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
また、このようなプログラムは、リムーバブル記録媒体からパーソナルコンピュータなどにインストールする他、ダウンロードサイトから、LAN、インターネットなどのネットワークを介してダウンロードすることもできる。
【0123】
尚、本実施の形態では、処理の一例としてウェブサーバ2が実行する処理を述べたが、本願発明はウェブサーバ2が実行することに限られず、ソフトウェアのインストールなどを行うことでユーザ端末1側が処理を行うことも可能である。ユーザ端末1には通信機能を備えたPCやフィーチャーフォンやPDA、或いはスマートフォンやタブレット端末などのスマートデバイス等が挙げられる。
また、上記のプログラムは以上のPCやスマートフォン等に提供されるアプリケーションソフトウェアとしても実現可能である。
【0124】
最後に、上述した各実施の形態の説明は本発明の一例であり、本発明は上述の実施の形態に限定されることはない。このため、上述した各実施の形態以外であっても、本発明に係る技術的思想を逸脱しない範囲であれば、設計などに応じて種々の変更が可能であることはもちろんである。