(58)【調査した分野】(Int.Cl.,DB名)
前記ユーザ端末から複数の文字列から構成される前記検索クエリの入力を受け付けた場合に、当該文字列を含む検索クエリを前記クエリ記憶手段から特定し、前記ユーザ端末に表示させるクエリ表示手段をさらに有することを特徴とする請求項1〜3のいずれか1つに記載の情報処理装置。
前記クエリ表示手段は、前記クエリ記憶手段から特定した前記文字列を含む検索クエリを前記ユーザ端末に表示させる際に、特定した検索クエリに対応付けられる重みが大きい検索クエリを上位に表示させることを特徴とする請求項5に記載の情報処理装置。
【発明を実施するための形態】
【0009】
以下に、本願の開示する情報処理装置、クエリ制御方法およびクエリ制御プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。なお、各実施形態は、矛盾のない範囲内で適宜組み合わせることができる。
【0010】
[第1の実施形態]
(全体構成)
図1は、第1の実施形態に係るシステムの全体構成例を示す図である。
図1に示すように、このシステムは、TOPサーバ1、オークションサーバ2、グルメサーバ3が互いに通信可能に接続されて構成される。なお、ここで示したサーバの数や種別は、あくまで一例であり、図示したものに限定されない。
【0011】
各サーバは、Webサイト等を検索する検索サーバ装置である。具体的には、各サーバは、図示しないユーザ端末から検索クエリを受け付けて、検索クエリに基づいてWebサイトや各情報を検索し、その結果をユーザ端末に応答する。例えば、各サーバは、検索クエリに含まれる文字列を抽出し、当該文字列に対応付けられるWebサイトやドキュメント情報を検索して、要求元に応答する。
【0012】
また、各サーバは、ユーザ端末からの入力を補助するアシスト機能を有する。例えば、各サーバは、複数の文字列を対応付けて記憶するサジェストDB(DataBase)を有し、検索クエリとして文字列Aを受け付けた場合に、当該文字列Aに対応付けられる各文字列を画面に表示して、ユーザ入力を補助する。
【0013】
TOPサーバ1は、ユーザ端末が当該システムにアクセスした場合に、TOP画面に表示される上位サーバである。このTOPサーバ1は、ユーザ端末から検索クエリを直接受け付けると、検索クエリに対して自サーバ内を検索するとともに、検索クエリを下位サーバであるオークションサーバ2およびグルメサーバ3に送信する。そして、TOPサーバ1は、自サーバ内の検索結果と各下位サーバの検索結果とをユーザ端末に応答する。
【0014】
オークションサーバ2およびグルメサーバ3は、TOPサーバ1から検索クエリを受信する下位サーバ装置である。これらの下位サーバへは、TOPサーバ1がユーザ端末に表示させるTOP画面から画面遷移させることができる。下位サーバは、TOPサーバ1から検索クエリを受信すると、検索クエリを実行してTOPサーバ1に検索結果を応答する。同様に、下位サーバは、ユーザ端末から検索クエリを直接受け付けると、検索クエリを実行してユーザ端末に検索結果を応答する。
【0015】
このような状態において、各下位サーバは、検索クエリを記憶するサジェストDBを有する。そして、各下位サーバは、ユーザ端末から検索クエリを受け付けた場合に、受け付けた検索クエリをサジェストDBに格納する。また、各下位サーバは、他のサーバがユーザ端末から受け付けた検索クエリを、当該他のサーバから受信した場合に、受信した検索クエリをサジェストDBに格納する。
【0016】
例えば、グルメサーバ3は、「六本木」と「交差点、ビル、ワイン」を対応付けた情報をサジェストDBに保持する。そして、グルメサーバ3は、ユーザ端末から検索クエリ「六本木」の入力を受け付けた場合に、受け付けた「六本木」に対応付けられる「交差点、ビル、ワイン」をサジェストDBにおいて特定して、検索クエリの入力画面に表示させることで、ユーザの入力を補助する(S1)。
【0017】
同様に、オークションサーバ2は、「六本木」と「高級家具、ワイン」を対応付けた情報をサジェストDBに保持する。そして、オークションサーバ2は、ユーザ端末から検索クエリ「六本木」の入力を受け付けた場合に、受け付けた「六本木」に対応付けられる「高級家具、ワイン」をサジェストDBにおいて特定して、検索クエリの入力画面に表示させることで、ユーザの入力を補助する(S2)。
【0018】
このような状態で、TOPサーバ1は、ユーザ端末から検索クエリ「六本木、居酒屋」を受け付けると、所定のルールに基づいて検索クエリの振分先を決定する(S3)。一例を挙げると、TOPサーバ1は、過去の検索結果、振分状況、ユーザ端末の行動履歴、ユーザ端末のアクセス状況等に基づいて、検索クエリ「六本木、居酒屋」の振分先をグルメサーバ3と特定する。
【0019】
続いて、TOPサーバ1は、検索クエリ「六本木、居酒屋」を用いて自サーバ内で検索処理を実行するとともに、検索クエリ「六本木、居酒屋」をグルメサーバ3に送信する(S4)。
【0020】
グルメサーバ3は、TOPサーバ1から検索クエリ「六本木、居酒屋」を受信すると、当該検索クエリを用いて検索処理を実行し、その検索結果をTOPサーバ1に応答する(S5)。
【0021】
TOPサーバ1は、検索クエリ「六本木、居酒屋」に対して、自サーバ内の検索結果とグルメサーバ3から受信した検索結果とをユーザ端末に表示させる(S6)。具体的には、TOPサーバ1は、
図1に示すように、グルメサーバ3から受信した検索結果については「六本木周辺の居酒屋 グルメ」として表示し、自サーバ内の検索結果について「六本木 居酒屋の検索結果」として表示する。
【0022】
また、グルメサーバ3は、TOPサーバ1から受信した検索クエリ「六本木、居酒屋」に含まれる「六本木」と「居酒屋」とを対応付けた情報を、新たなエントリとしてサジェストDBに追加する(S7)。
【0023】
その後、グルメサーバ3は、ユーザ端末から検索クエリ「六本木」の入力を受け付けた場合、受け付けた「六本木」に対応付けられる「交差点、ビル、ワイン」に加えて「居酒屋」をサジェストDBか特定して、検索クエリの入力画面に表示させて、ユーザの入力を補助する(S8)。
【0024】
このように、下位サーバは、自サーバが直接受け付けた検索クエリに加えて、ユーザ端末からの入力を受け付けた上位サーバから受信した検索クエリを、サジェストDBに追加することができる。この結果、下位サーバは、サジェストDBの内容を充実させることができ、有用な検索クエリを収集することができる。また、下位サーバは、ユーザの意図を反映させたアシスト機能を提供することができる。
【0025】
(下位サーバの機能構成)
次に下位サーバの構成を説明する。各下位サーバは、同様の機能構成を有するので、ここでは、バーティカルサーバ10として説明する。
図2は、バーティカルサーバの機能構成を示す機能ブロック図である。
図2に示すように、バーティカルサーバ10は、通信制御部11、記憶部12、制御部15を有する。
【0026】
通信制御部11は、他のサーバとの通信を制御する処理部であり、例えばネットワークインタフェースカードなどである。例えば、通信制御部11は、TOPサーバ1から検索クエリを受信し、TOPサーバ1に検索結果を送信する。
【0027】
記憶部12は、辞書DB13とサジェストDB14を有する記憶装置であり、例えばメモリやハードディスクなどの記憶装置である。また、記憶部12は、制御部15が実行するプログラム等を記憶する。
【0028】
また、記憶部12は、ユーザに提供する検索対象の各種情報を記憶する。具体的には、記憶部12は、Webサイト、ドキュメント情報、画像、動画、様々なユーザがリアルタイムに投稿する投稿情報、地図情報などの提供情報を記憶する。例えば、記憶部12は、検索クエリにヒットさせるために、各提供情報に少なくとも1つの文字列を対応付けて記憶する。
【0029】
辞書DB13は、ユーザが入力した文字列を検索クエリとして特定するための情報を記憶する。この辞書DB13は、管理者等によって適宜更新される。
図3は、辞書DBに記憶される情報の例を示す図である。
【0030】
図3に示すように、辞書DB13は、「大分類、小分類、登録例」で構成される。なお、ここで示した分類方法や分類数は、例示であり、これに限定されるものではない。ここでは、分析対象の文字列を大分類で区別し、さらに大分類内で小分類に区別し、各小分類の登録例を示す。
【0031】
図3の一例では、大分類「ブランド名」は、「製造者」、「モデル名」、「製品ファミリー」等に分類されることを示す。「製造者」の一例には「A社、B社」があり、「モデル名」の一例には「AY100、BB23Y」があることを示す。同様に、大分類「人名」は、「一般人」、「俳優」、「監督」等に分類されることを示す。「一般人」の一例には「佐藤、田中、鈴木」があり、「俳優」の一例には「XXXX」があり、「監督」の一例には「YYYY」があることを示す。
【0032】
サジェストDB14は、入力アシストに用いる文字列の対応付けを記憶する。
図4は、サジェストDBに記憶される情報の例を示す図である。
図4に示すように、サジェストDB14は、文字列を階層構造で記憶する。ここで示した大分類、中分類、小分類などの階層例は、例示であり、これに限定されるものではない。
【0033】
図4の例では、「六本木」には、「交差点、ビル、ワイン、駅前、二次会」が対応付けられている。また、「六本木、駅前」には、「ラーメン」と「カラオケ」が対応付けられている。「六本木、二次会、お酒」には、「ラーメン、クラブ」が対応付けられている。
【0034】
制御部15は、入力受付部16、アシスト部17、クエリ受信部18、クエリ実行部19、クエリ追加部20を有し、バーティカルサーバ10全体の処理を司る処理部である。例えば、制御部15は、プロセッサなどの電子回路であり、各処理部は、プロセッサが実行するプロセスなどである。
【0035】
入力受付部16は、ユーザ端末から検索クエリの入力を受け付ける処理部である。具体的には、入力受付部16は、ユーザ端末からアクセスを受け付けると、検索バーなどの入力画面を表示して、検索クエリを受け付ける。また、入力受付部16は、入力された検索クエリや入力中の検索クエリを、アシスト部17やクエリ実行部19等に出力する。
【0036】
アシスト部17は、ユーザの検索クエリの入力を補助する処理部である。具体的には、アシスト部17は、入力受付部16へのユーザ入力を監視し、受け付けられた入力文字列に対応付けられる文字列をサジェストDB14から特定し、ユーザ端末に表示する。
【0037】
例えば、アシスト部17は、「六本木」が受け付けられると、「六本木」に対応付けられる「交差点、ビル、ワイン、駅前、二次会」をサジェストDB14から特定する。そして、アシスト部17は、「六本木、交差点」、「六本木、ビル」、「六本木、ワイン」、「六本木、駅前」、「六本木、二次会」を、入力受付部16が入力を受け付ける検索バーにリスト表示する。そして、アシスト部17は、表示させたリストのうち「六本木、駅前」が選択されると、「六本木、駅前」を検索バーに入力する。
【0038】
クエリ受信部18は、TOPサーバ1から検索クエリを受信する処理部である。具体的には、クエリ受信部18は、TOPサーバ1がユーザから受け付けた検索クエリを受信し、クエリ実行部19に出力する。
【0039】
クエリ実行部19は、入力受付部16によって受け付けられた検索クエリやクエリ受信部によって受信された検索クエリを実行する処理部である。具体的には、クエリ実行部19は、検索クエリに対して文字解析を実行して、検索クエリに含まれる文字列を抽出する。そして、クエリ実行部19は、抽出した文字列に対応付けられるWebサイト等を特定して、検索結果として応答する。
【0040】
図5は、検索クエリの解析例を説明する図である。
図5に示すように、バーティカルサーバ10は、検索クエリとして「A社、AY100、価格」を受け付けたとする。この場合、クエリ実行部19は、辞書DB13の登録例を参照し、「A社」の種別についてはブランド名(製造者)と特定する。同様に、クエリ実行部19は、「AY100」の種別についてはブランド名(製品ファミリー)と特定し、「価格」についてはディレクティブ(購入)と特定する。さらに、クエリ実行部19は、ブランド名(製造者)とブランド名(製品ファミリー)の組合せからショッピング(ジャンル)を特定し、「価格」については、ユーザ意図を示す手掛かり語として特定する。
【0041】
この結果、クエリ実行部19は、「A社」の製品「AY100」をページ内やタブ内に含むWebサイトを検索し、「AY100」の「価格」を含む情報を応答する。つまり、クエリ実行部19は、「A社」の製品「AY100」の「価格」を確認できるWebサイト等を、ユーザ端末に応答する。
【0042】
クエリ追加部20は、入力受付部16によって受け付けられた検索クエリやクエリ受信部によって受信された検索クエリを、サジェストDB14に追加する処理部である。具体的には、クエリ追加部20は、入力された文字列の順に、大分類、中分類・・・として、サジェストDB14に追加する。
【0043】
図6は、サジェストDBの更新例を説明する図である。
図6に示すように、クエリ追加部20は、TOPサーバ1から「六本木、居酒屋」が受け付けられると、「六本木」を大分類、「居酒屋」を中分類とする新たなレコードを生成する。そして、クエリ追加部20は、生成したレコード「大分類(六本木)、中分類(居酒屋)」をサジェストDB14に追加する。
【0044】
(サジェスト更新例)
図7は、サジェストDBの更新に伴ってアシスト内容が更新される例を説明する図である。
図7の上図に示すように、グルメサーバ3は、「六本木」に対応付けて「交差点、ビル、ワイン」をサジェストDB14に記憶する。
【0045】
このような状態で、グルメサーバ3は、検索バーに対して「六本木」の入力をユーザ端末5から受け付けたとする。すると、グルメサーバ3は、受け付けた「六本木」に対応する「交差点、ビル、ワイン」をサジェストDB14から特定する。そして、グルメサーバ3は、「六本木、交差点」、「六本木、ビル」、「六本木、ワイン」それぞれを検索バーにリスト表示させて、ユーザの入力をアシストする。
【0046】
一方で、
図7の下図に示すように、グルメサーバ3は、「六本木」に対応付けて「交差点、ビル、ワイン」に加えて「居酒屋」をサジェストDB14に記憶する。
【0047】
このような状態で、グルメサーバ3は、検索バーに対して「六本木」の入力をユーザ端末5から受け付けたとする。すると、グルメサーバ3は、受け付けた「六本木」に対応する「交差点、ビル、ワイン、居酒屋」をサジェストDB14から特定する。そして、グルメサーバ3は、「六本木、交差点」、「六本木、ビル」、「六本木、ワイン」、「六本木、居酒屋」それぞれを検索バーにリスト表示させて、ユーザの入力をアシストする。
【0048】
(処理シーケンス)
図8は、第1の実施形態に係る処理シーケンスを示す図である。ここでは、一例として、バーティカルサーバ10が、TOPサーバ1から検索クエリを受信した後に、ユーザ端末5から直接検索クエリを受け付ける例を説明するが、この順番に限定されるものではない。
【0049】
図8に示すように、TOPサーバ1は、ユーザ端末5から検索クエリを受け付けると、辞書DB13等を用いて、受け付けた検索クエリを解析する(S101−S103)。このとき、TOPサーバ1は、アシスト機能を用いて、ユーザの入力を補助する。続いて、TOPサーバ1は、受け付けた検索クエリをサジェストDB14に追加する(S104)。
【0050】
その後、TOPサーバ1は、検索クエリの振分先を特定し(S105)、振分先に特定されたオークションサーバ2およびグルメサーバ3に、検索クエリを振分ける(S106−S108)。
【0051】
オークションサーバ2は、辞書DB13等を用いて、TOPサーバ1から受信した検索クエリを解析し(S109)、解析した結果を用いて、検索処理を開始する(S110)。その後、オークションサーバ2は、検索結果をTOPサーバ1に応答する(S111とS112)。続いて、オークションサーバ2は、受信した検索クエリをサジェストDB14に追加する(S113)。
【0052】
同様に、グルメサーバ3は、辞書DB13等を用いて、TOPサーバ1から受信した検索クエリを解析し(S114)、解析した結果を用いて、検索処理を開始する(S115)。その後、グルメサーバ3は、検索結果をTOPサーバ1に応答する(S116とS117)。続いて、グルメサーバ3は、受信した検索クエリをサジェストDB14に追加する(S118)。
【0053】
その後、グルメサーバ3は、ユーザ端末5から検索クエリを受け付けると(S119とS120)、サジェストDB14を参照してユーザの入力をアシストし(S121)、検索クエリを受け付ける(S122)。
【0054】
続いて、グルメサーバ3は、辞書DB13等を用いて、受け付けた検索クエリを解析し(S123)、解析した結果を用いて、検索処理を開始する(S124)。その後、グルメサーバ3は、検索結果をユーザ端末5に応答する(S125とS126)。続いて、グルメサーバ3は、受信した検索クエリをサジェストDB14に追加する(S127)。
【0055】
(効果)
第1の実施形態によれば、各バーティカルサーバ10は、自サーバに入力された検索クエリ以外にも、TOPサーバ1から受信した検索クエリをサジェストDB14に追加することができる。このため、各バーティカルサーバ10は、自サーバの入力だけをサジェストDB14に追加する場合に比べて、サジェストDB14の内容を充実化させることができる。
【0056】
また、各バーティカルサーバ10は、サジェストDB14の内容を充実化に伴って、ユーザアシストを充実化させることができる。このため、各バーティカルサーバ10は、ユーザの集客率を向上させることも期待できる。また、各バーティカルサーバ10は、サジェストDB14を学習し、ユーザの入力を補助することができるので、ユーザの利便性を向上させることができ、システムの利用効率も向上させることができる。
【0057】
[第2の実施形態]
第2の実施形態では、各バーティカルサーバ10が検索メモリをサジェストDB14に追加する例を説明したが、これに限定されるものではなく、各検索クエリに重みを付けてサジェストDB14に追加することもできる。
【0058】
そこで、第2の実施形態では、様々な条件によって検索クエリに付加する重みが変更され、各検索クエリに重みを付けてサジェストDB14に追加する例を説明する。
【0059】
(入力形態による変更)
各バーティカルサーバ10は、TOPサーバ1から受信した検索クエリか、ユーザ端末5から直接受け付けた検索クエリかによって、重みを変更することができる。
図9は、入力形態によって重みが変わる例を説明する図である。
【0060】
図9に示すように、グルメサーバ3は、ユーザがユーザ端末5を用いてTOPサーバ1に入力した検索クエリ(六本木、居酒屋)を、TOPサーバ1から受信する。そして、グルメサーバ3は、TOPサーバ1を介して受信した検索クエリ(六本木、居酒屋)に、重み「2」を付加してサジェストDB14に格納する。
【0061】
一方、グルメサーバ3は、ユーザ端末5から検索クエリ(六本木、ラーメン)を直接受け付けた場合、直接受け付けた検索クエリ(六本木、ラーメン)に、重み「1」を付加してサジェストDB14に格納する。
【0062】
このように、グルメサーバ3は、TOPサーバ1から受信した検索クエリの重みを、ユーザ端末5から直接受け付けた検索クエリに比べて大きくする。この結果、グルメサーバ3は、その後にユーザ端末5から「六本木」の入力を直接受け付けた場合の入力アシストとして、重みが大きい「六本木、居酒屋」を他の組合せより上位に表示させる。
【0063】
また、グルメサーバ3は、入力形態によって重みを区別することで、サジェストDB14に保持される検索クエリの入力形態を区別することができる。このため、グルメサーバ3は、ユーザ端末5の入力傾向等を考察することができ、サービスの向上が期待できる。
【0064】
なお、ここでは、TOPサーバから受け付けた検索クエリの方が、重みが大きい例を説明したが、これに限定されるものではなく、ユーザ端末5から直接受け付けた方が、重みが大きくてもよく、任意に設定変更することができる。
【0065】
(ユーザ属性)
図10は、検索クエリにユーザ属性を付加する場合を説明する図である。
図10に示すように、TOPサーバ1は、登録ユーザのログインIDやパスワードを保持するユーザDB1aを記憶する。
【0066】
そして、TOPサーバ1は、ユーザ端末5からログイン情報を受信してログインを許可した後に、検索クエリ(六本木、エステ)の入力を受け付ける。その後、TOPサーバ1は、検索クエリ(六本木、エステ)を入力したユーザの属性(女性、30代)をユーザDB1aから特定する。そして、TOPサーバ1は、検索クエリ(六本木、エステ)にユーザ属性(女性、30代)を付加して、ショッピングサーバ4に送信する。
【0067】
ショッピングサーバ4は、TOPサーバ1から受信した検索クエリ(六本木、エステ)を実行して検索結果をTOPサーバ1に応答する一方で、受信した検索クエリ(六本木、エステ)+ユーザ属性(女性、30代)をサジェストDB14に追加する。
【0068】
この結果、ショッピングサーバ4は、ユーザ端末5から直接検索クエリの入力を受け付けた場合に、当該ユーザ端末5のユーザ属性と一致する組合せが上位に表示されるように、入力アシストを行うことができる。
【0069】
したがって、ショッピングサーバ4は、ユーザ属性に応じて入力アシストを動的に変更することができるので、ユーザの利便性を向上させることができる。なお、ここでは、ショッピングサーバ4が、TOPサーバ1から検索クエリとともにユーザ属性を受信する例を説明したが、これに限定されるものではない。例えば、ショッピングサーバ4は、ユーザ端末5から直接検索クエリの入力を受け付ける場合であっても、ログイン情報等からユーザ属性を特定し、検索クエリに付加してサジェストDB14に追加することもできる。
【0070】
(割り振り順位)
図11は、TOPサーバが検索クエリを割り振る順位によって重みが変わる例を説明する図である。
図11に示すように、TOPサーバ1は、ユーザ端末5から検索クエリ(六本木、居酒屋)の入力を受け付ける。
【0071】
そして、TOPサーバ1は、所定のルールに基づいて、検索クエリ(六本木、居酒屋)の振分先を決定する。このとき、TOPサーバ1は、グルメサーバ3を振分先第1位と決定し、ショッピングサーバ4を振分先第2位と決定する。
【0072】
その後、TOPサーバ1は、グルメサーバ3に対して、検索クエリ(六本木、居酒屋)と第1位の情報とを送信し、ショッピングサーバ4に対して、検索クエリ(六本木、居酒屋)と第2位の情報とを送信する。
【0073】
そして、グルメサーバ3は、TOPサーバ1から受信した検索クエリ(六本木、居酒屋)を実行して検索結果をTOPサーバ1に応答する。その一方で、グルメサーバ3は、受信した検索クエリ(六本木、居酒屋)に、振分先第1位の情報が付加されていることから、検索クエリ(六本木、居酒屋)に重み「2」を付加してサジェストDB14に格納する。
【0074】
一方、ショッピングサーバ4は、TOPサーバ1から受信した検索クエリ(六本木、居酒屋)を実行して検索結果をTOPサーバ1に応答する。その一方で、ショッピングサーバ4は、受信した検索クエリ(六本木、居酒屋)に、振分先第2位の情報が付加されていることから、検索クエリ(六本木、居酒屋)に重み「1」を付加してサジェストDB14に格納する。
【0075】
このようすることで、各バーティカルサーバ10は、自サーバにとって有用な検索クエリの重みを大きくすることができる。したがって、各バーティカルサーバ10は、検索クエリの受付時に、有用な重みが大きい組合せを他の組合せより上位に表示させることができ、効率的な入力アシストを提供することができる。
【0076】
(クリック結果)
図12は、クリック結果によって重みが変わる例を説明する図である。
図12に示すように、TOPサーバ1は、ユーザ端末5から検索クエリ(六本木、居酒屋)の入力を受け付ける。すると、TOPサーバ1は、グルメサーバ3とショッピングサーバ4とに、検索クエリ(六本木、居酒屋)を送信する。
【0077】
グルメサーバ3とショッピングサーバ4は、受信した検索クエリ(六本木、居酒屋)を用いて検索処理を実行し、その検索結果をTOPサーバ1に応答する。そして、TOPサーバ1は、自サーバ内の検索結果、グルメサーバ3の検索結果、ショッピングサーバ4の検索結果をユーザ端末5に応答する。
【0078】
その後、TOPサーバ1は、ユーザ端末5によってグルメサーバ3の検索結果(グルメサイト)がクリックされると、グルメサーバ3が提供するグルメサイトをユーザ端末5に表示させる。
【0079】
そして、TOPサーバ1は、グルメサーバ3に対して、検索クエリ(六本木、居酒屋)に対するグルメサーバ3の検索結果が選択されたことを通知する。同様に、TOPサーバ1は、ショッピングサーバ4に対して、検索クエリ(六本木、居酒屋)に対するショッピングサーバ4の検索結果が選択されなかったことを通知する。
【0080】
この結果、グルメサーバ3は、検索クエリ(六本木、居酒屋)に、重み「2」を付加してサジェストDB14に格納し、ショッピングサーバ4は、検索クエリ(六本木、居酒屋)に、重み「0」を付加してサジェストDB14に格納する。
【0081】
このように、各バーティカルサーバ10は、検索結果が実際に選択されたかによって、検索クエリの重みを区別することで、実際に選択されたことがある組合せがリストの上位に来るように入力アシストを提供することができる。したがって、各バーティカルサーバ10は、ユーザが実際に選択する可能性が高い組合せを上位に表示させることができ、ユーザの利便性が向上し、集客率の向上にも繋がる。
【0082】
[第3の実施形態]
さて、これまで第1から第2の実施形態を説明したが、説明した実施形態以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施形態を説明する。
【0083】
例えば、グルメサーバ3などのバーティカルサーバ10が、TOPサーバ1から受信した検索クエリをサジェストDB14に追加する例を説明したが、これに限定されるものではない。例えば、バーティカルサーバ10内で検索クエリを送受信し、他のバーティカルサーバ10から受信した検索クエリについても、サジェストDB14に追加することもできる。
【0084】
また、各バーティカルサーバ10は、TOPサーバ1から受信した検索クエリと、他のバーティカルサーバ10から受信した検索クエリとについて、重みを区別してサジェストDB14に追加することもできる。また、各バーティカルサーバ10は、TOPサーバ1におけるユーザのアクセス履歴などを取得して、検索クエリと対応付けて格納してもよい。
【0085】
また、各バーティカルサーバ10が追加格納する検索クエリは、入力アシスト以外にも様々な用途に用いることができる。例えば、検索クエリごとに入力回数や選択回数を計数し、検索クエリのランキング等に用いることもできる。
【0086】
上記第1または第2の実施形態における各サーバは、例えば
図13に示すような構成のコンピュータ50によって実現される。
図13は、サーバの機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ50は、CPU(Central Processing Unit)51、RAM(Random Access Memory)52、ROM(Read Only Memory)53、HDD(Hard Disk Drive)54、通信インターフェイス(I/F)55、入出力インターフェイス(I/F)56、およびメディアインターフェイス(I/F)57を備える。
【0087】
CPU51は、ROM53またはHDD54に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM53は、コンピュータ50の起動時にCPU51によって実行されるブートプログラムや、コンピュータ50のハードウェアに依存するプログラム等を格納する。
【0088】
HDD54は、CPU51によって実行されるプログラムおよび当該プログラムによって使用されるデータ等を格納する。通信インターフェイス55は、通信回線13を介して他の機器からデータを受信してCPU51へ送り、CPU51が生成したデータを、通信回線13を介して他の機器へ送信する。
【0089】
CPU51は、入出力インターフェイス56を介して、ディスプレイやプリンタ等の出力装置、および、キーボードやマウス等の入力装置を制御する。CPU51は、入出力インターフェイス56を介して、入力装置からデータを取得する。また、CPU51は、生成したデータを、入出力インターフェイス56を介して出力装置へ出力する。
【0090】
メディアインターフェイス57は、記録媒体58に格納されたプログラムまたはデータを読み取り、RAM52を介してCPU51に提供する。CPU51は、当該プログラムを、メディアインターフェイス57を介して記録媒体58からRAM52上にロードし、ロードしたプログラムを実行する。記録媒体58は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0091】
例えば、コンピュータ50が第1の実施形態におけるバーティカルサーバ10として機能する場合、コンピュータ50のCPU51は、RAM52上にロードされたプログラムを実行することにより、入力受付部16、アシスト部17、クエリ受信部18、クエリ実行部19、クエリ追加部20の各機能を実現する。また、HDD54には、辞書DB13やサジェストDB14内のデータが格納される。
【0092】
コンピュータ50のCPU51は、これらのプログラムを、記録媒体58から読み取って実行するが、他の例として、他の装置から、通信回線13を介してこれらのプログラムを取得してもよい。
【0093】
また、実施形態に記載した「部」は、「手段」や「section、module、unit」や「回路」などに読み替えることができる。例えば、クエリ受信部は、クエリ受信手段やクエリ受信回路に読み替えることができる。また、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれ、各実施形態を組み合わせることもできる。
【0094】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に多様な変更または改良を加えることが可能であることが当業者には明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。