(57)【要約】【課題】ウェブサイト内検索を行う際に、ウェブサイト内で実際に使用されている検索語を候補として提示するための技術を提供することを目的とする。【解決手段】ウェブサイト内のウェブページから予め抽出した単語を検索を行う際の検索語候補としてユーザに提示する。ユーザが複数の単語を検索語として入力しようとする場合、ウェブサイト内のページで実際に関連性を有する単語の組合せを候補として提示する。【選択図】図１
2010205292.tif 000002
【特許請求の範囲】
【請求項１】
インターネットに公開されたウェブサイトにアクセスするクライアント装置からの検索指示に応じて、該ウェブサイト内の検索を行うサーバ装置であって、
ウェブサイトを構成するウェブページの情報の全文検索を行うための第１のデータベースと、
前記ウェブページ内に含まれる単語を登録した第２のデータベースと、
前記クライアント装置において前記ウェブサイト内の検索を行うため入力された入力語を、新たな文字入力の度に受信する受信手段と、
受信した入力語と前方一致する単語を前記第２のデータベースにおいて探索し、検索語候補を決定する探索手段と、
前記探索手段が決定した検索語候補を、検索語として前記クライアントに送信する送信手段と、
前記クライアント装置から受信した前記検索語に基づき、前記第１のデータベースを利用して全文検索を行う検索手段と
を備え、
前記受信手段が受信した入力語に、区切り文字が含まれる場合に、
前記探索手段は、
前記区切り文字の直前の第１の入力語と前方一致する第１の単語を前記第２のデータベースにおいて探索し、
探索した前記第１の単語を含む第１のウェブページを前記第１のデータベースを用いて探索し、
探索した前記第１のウェブページにおいて前記第１の単語の周辺に存在する第１の周辺単語を抽出し、
前記第１の単語と前記第１の周辺単語とを、前記探索語候補に決定する
ことを特徴とするサーバ装置。
【請求項２】
前記探索手段は、さらに、
前記第１の単語と前記第１の周辺単語との前記第１のウェブページ内での距離、前記第１の周辺単語の前記第１のウェブページ内での出現頻度、前記第１の単語と前記第1の周辺単語との組合せが過去に選択された選択頻度、及び、前記組合せに与えられた順位の少なくともいずれかに基づいて、前記第１の単語と前記第１の周辺単語との組合せに与えられる第１のポイントを算出し、
前記送信手段は、前記第１のポイントを前記検索語候補と共に、クライアント装置に送信することを特徴とする請求項１に記載のサーバ装置。
【請求項３】
前記区切り文字の直後に第２の入力語が含まれる場合に、
前記探索手段は、さらに、
前記第１の周辺単語のうち、前記第２の入力語と前方一致する第２の周辺単語を選択し、
前記第１の単語と前記第２の周辺単語とを、前記探索語候補に決定する
ことを特徴とする請求項１または２に記載のサーバ装置。
【請求項４】
前記第２のデータベースは、
前記単語と、該単語の前記ウェブサイトにおける出現数に少なくとも基づいて与えられる第２のポイントとを関連づけて登録する単語テーブルと、
前記単語の平仮名表記、または、ローマ字表記を登録する変換テーブルと
を備え、
前記探索手段は、前記単語テーブルと、前記変換テーブルとを用いて、前記第１の単語を探索し、
前記単語は、漢字、平仮名、片仮名、アルファベット、記号、数字、合成語の少なくともいずれかの組合せからなることを特徴とする請求項１乃至３のいずれか１項に記載のサーバ装置。
【請求項５】
コンピュータを、請求項１乃至４のいずれか１項に記載のサーバ装置として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置及びコンピュータプログラムに関する。
【背景技術】
【０００２】
近年はインターネットが急速に普及し、膨大な情報がインターネットを介して入手可能となっている。そのような膨大な情報量を効率的に扱うための手段として最も有効なのが、検索エンジンである。
【０００３】
検索エンジンには、不特定多数のインターネット上の情報を検索検索語を頼りに探索するものや、特定のウェブサイト内の情報を同様に検索検索語に従って検索するものがある。
【０００４】
また、検索検索語には、異なるユーザであっても共通性が見出せるため、検索サイトが検索語候補を提示して、ユーザーの入力負担を軽減するサジェスト機能と呼ばれる技術も近年は提供されている（特許文献１を参照。）
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−３２４０７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上記のサジェスト機能では、ユーザ自身が過去に入力した検索語や、検索サイトで過去に使用された検索語を提示したり、内部辞書に基づいて検索語候補を提示したりするものが多く、特定のウェブサイト内で特有に使われる単語や、同一ページ内に登場する関連性の高い単語の組合せを必ずしも的確に提示することができない。
【０００７】
そこで、本発明は、ウェブサイト内検索を行う際に、ウェブサイト内で実際に使用されている検索語を候補として提示するための技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するための本発明は、
インターネットに公開されたウェブサイトにアクセスするクライアント装置からの検索指示に応じて、該ウェブサイト内の検索を行うサーバ装置であって、
ウェブサイトを構成するウェブページの情報の全文検索を行うための第１のデータベースと、
前記ウェブページ内に含まれる単語を登録した第２のデータベースと、
前記クライアント装置において前記ウェブサイト内の検索を行うため入力された入力語を、新たな文字入力の度に受信する受信手段と、
受信した入力語と前方一致する単語を前記第２のデータベースにおいて探索し、検索語候補を決定する探索手段と、
前記探索手段が決定した検索語候補を、検索語として前記クライアントに送信する送信手段と、
前記クライアント装置から受信した前記検索語に基づき、前記第１のデータベースを利用して全文検索を行う検索手段と
を備え、
前記受信手段が受信した入力語に、区切り文字が含まれる場合に、
前記探索手段は、
前記区切り文字の直前の第１の入力語と前方一致する第１の単語を前記第２のデータベースにおいて探索し、
探索した前記第１の単語を含む第１のウェブページを前記第１のデータベースを用いて探索し、
探索した前記第１のウェブページにおいて前記第１の単語の周辺に存在する第１の周辺単語を抽出し、
前記第１の単語と前記第１の周辺単語とを、前記探索語候補に決定することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ウェブサイト内検索を行う際に、サイト内で実際に使用されている検索語を候補として提示するための技術を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】発明の実施形態に対応するウェブサイト内検索システムの全体構成の一例を示すブロック図である。
【図２】発明の実施形態に対応するクライアント１０１のハードウェア構成の一例を示すブロック図である。
【図３】発明の実施形態に対応するサーバ１０３のハードウェア構成の一例を示すブロック図である。
【図４】発明の実施形態に対応する単語テーブルの一例を示す図である。
【図５】発明の実施形態に対応する仮名変換テーブルの一例を示す図である。
【図６】発明の実施形態に対応するローマ字変換テーブルの一例を示す図である。
【図７ａ】発明の実施形態に対応する、サイト内検索処理の一例を示す状態遷移図である。
【図７ｂ】発明の実施形態に対応する、初期状態でのクライアント１０１の処理例を示す状態遷移図である。
【図７ｃ】発明の実施形態に対応する、検索画面表示待ち状態でのクライアント１０１の処理例を示す状態遷移図である。
【図７ｄ】発明の実施形態に対応する、検索画面表示状態でのクライアント１０１の処理例を示す状態遷移図である。
【図７ｅ】発明の実施形態に対応する、検索語候補受信待ち状態でのクライアント１０１の処理例を示す状態遷移図である。
【図７ｆ】発明の実施形態に対応する、検索結果受信待ち状態でのクライアント１０１の処理例を示す状態遷移図である。
【図７ｇ】発明の実施形態に対応する、要求待ち状態でのサーバ１０３の処理例を示す状態遷移図である。
【図８】図７ｇの検索語候補探索処理の一例を示すフローチャートである。
【図９】検索画面の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、添付する図面を参照して本発明の実施形態を説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１２】
＜システム構成＞
図１は、本実施形態に対応するウェブサイト内の検索システムの全体構成を示すブロック図である。ユーザが操作してウェブサイト内の検索を行うクライアント１０１ａ、１０１ｂ、１０１ｃ（以下、これらを総称して「クライアント１０１」という。）、ウェブサイト情報を提供すると共に、ウェブサイト内検索を行うサーバ１０３が、それぞれインターネット１０２に接続されている。また、サーバ１０３には、サイト情報データベース１０４、全文検索データベース１０５、検索語データベース１０６が接続されている。
【００１３】
クライアント１０１は、ユーザが操作して、サーバ１０３がインターネット上で公開するウェブサイト情報を閲覧可能な情報処理装置であり、ノートパソコン、デスクトップパソコン、携帯情報端末、携帯電話等を含む。クライアント１０１には、所謂インターネット・ブラウザのソフトウェアがインストールされているものとする。
【００１４】
クライアント１０１は、イーサネット（登録商標）等のネットワークケーブルを含むアクセス手段であるＬＡＮによってインターネット１０２に接続されている。尚、ネットワーク１０２へのアクセス手段はイーサネット（登録商標）ケーブルに限定されるものではなく、無線ＬＡＮ等の無線通信手段によって構成されていてもよい。後述するサーバ１０３も同様のアクセス手段を備えているものとする。
【００１５】
インターネット１０２は、世界中のネットワークが互いに接続されたネットワークであるが、例えば、イントラネットのように特定の組織内においてのみ接続可能なネットワークであってもよい。
【００１６】
サーバ１０３は、クライアント１０１のユーザーに対して、特定の企業、店舗或いは個人に関する情報を提供するウェブサイトをインターネット上に公開すると同時に、該ウェブサイト内のウェブページの検索サービスを提供する情報処理装置である。本実施形態では、説明の簡単のために、サーバ１０３でサイトの公開とサイト内検索との両方を実行する場合を記載したが、サーバ１０３の構成はこれに限定されるものではない。即ち、サイト公開のためのサーバと、サイト内検索のためのサーバを別個独立に設けることもできる。なお、ウェブサイトとは、ひとまとまりに公開されているウェブページ群のことを言う。ウェブサイトには、例えば、法人や個人のホームページ等がある。
【００１７】
サーバ１０３は、サイト情報データベース１０４、全文検索データベース１０５、検索語データベース１０６に格納されている情報を管理している。サーバ１０３は、例えば、ＬＡＮによって、サイト情報データベース１０４、全文検索データベース１０５、検索語データベース１０６に接続される。
【００１８】
サイト情報データベース１０４、全文検索データベース１０５、検索語データベース１０６は、それぞれ所定のデータベース・ソフトウェアがインストールされた情報処理装置であり、各種データの管理を行う。
【００１９】
サイト情報データベース１０４は、ウェブサイトをインターネット１０２に公開するためのウェブページの情報を管理する。該ウェブページには、ウェブサイトのオーナー及びオーナーが提供する商品などに関する情報が含まれる。例えば、ウェブサイトが法人のホームページの場合、会社概要や投資家向け情報等の他に、法人が製造・販売している製品の情報や、その他法人が提供するあらゆるサービスに関する情報が含まれる。
【００２０】
全文検索データベース１０５は、サイト情報データベース１０４に格納されたウェブページに基づき、単語とページのメタ情報(URL,タイトル,検索順位等)を紐付けたデータベースである。サーバ１０３は、クライアント１０１から受信したユーザ指定の検索語を用いて、全文検索データベース１０５を利用して検索を行う。
【００２１】
検索語データベース１０６は、全文検索データベース１０５に格納されている検索用の情報から、サイトを構成するウェブページに含まれる単語を抽出してテーブル化して管理し、サーバ１０３がクライアント１０１から入力語を受信した場合に、テーブルの登録内容に従って、検索語候補を提供する。
【００２２】
尚、本明細書では、便宜上、サーバ１０３、サイト情報データベース１０４、全文検索データベース１０５、及び、検索語データベース１０６は、それぞれ物理的に独立した情報処理装置によって実現されるものとして説明するが、本発明の実施形態はこれに限られるものではない。例えば、これらが単一の情報処理装置によって実現されてもよい。その一方で、サーバ１０３等の各装置が複数台の情報処理装置により冗長構成、或いは分散構成されても良い。また、サイト情報データベース１０４、全文検索データベース１０５及び検索語データベース１０６は、サーバ１０３とＬＡＮ等によって接続されているものとして説明するが、例えば、インターネット１０２や非図示のイントラネット経由でサーバ１０３と通信可能な形態をとってもよい。
【００２３】
＜情報処理装置の構成＞
次に、本実施形態に対応するウェブサイト内検索システムを構成する情報処理装置の概略について説明する。図２は、クライアント１０１のハードウェア構成の一例を示すブロック図である。上述した情報処理装置としてのサイト情報データベース１０４、全文検索データベース１０５及び検索語データベース１０６も、同様或いは同等のハードウェア構成として構成しても良い。
【００２４】
図２において、ＣＰＵ２００は、ハードディスク装置（以下、ＨＤと呼ぶ）２０５に格納されているアプリケーションプログラム、オペレーティングシステム（ＯＳ）や制御プログラム等を実行し、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００２５】
ＲＯＭ２０１は、内部に基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。ＲＡＭ２０２は各種データを一時記憶し、ＣＰＵ２００の主メモリ、ワークエリア等として機能する。
【００２６】
外部記憶ドライブ２０３は、記録媒体へのアクセスを実現するための外部記憶ドライブであり、メディア（記録媒体）２０４に記憶されたプログラム等を本コンピュータシステムにロードすることができる。尚、メディア２０４は、例えば、フロッピー（登録商標）ディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、Ｂｌｕ−ｒａｙ、ＩＣメモリカード、ＭＯ、メモリスティック等を利用することができる。
【００２７】
外部記憶装置２０５は、本実施形態では大容量メモリとして機能するＨＤ（ハードディスク）を用いている。ＨＤ２０５には、アプリケーションプログラム、ＯＳ、制御プログラム、関連プログラム等が格納される。なお、ハードディスクの代わりに、フラッシュ（登録商標）メモリ等の不揮発性記憶装置を用いても良い。
【００２８】
指示入力装置２０６は、キーボードやポインティングデバイス（マウス等）、タッチパネル等がこれに相当する。指示入力装置２０６を用いて、ユーザは、クライアント１０１に対して、装置を制御するコマンド等を入力指示する。ディスプレイ２０７は、指示入力装置２０６から入力したコマンドや、それに対するクライアント１０１の応答出力等を表示したりするものである。システムバス２０９は、情報処理装置内のデータの流れを司る。インターフェイス（以下、Ｉ／Ｆという）２０８は、外部装置とのデータのやり取りを仲介する役割を果たす。
【００２９】
尚、以上の各装置と同等の機能を実現するソフトウェアにより、ハードウェア装置の代替として構成することもできる。
【００３０】
本実施形態では、メディア２０４から本実施形態に係るプログラム及び関連データを直接ＲＡＭ２０２にロードして実行させる例を示すが、これ以外にも、本実施形態に係るプログラムを動作させる度に、既にプログラムがインストールされているＨＤ２０５からＲＡＭ２０２にロードするようにしてもよい。また、本実施形態に係るプログラムをＲＯＭ２０１に記録しておき、これをメモリマップの一部をなすように構成し、直接ＣＰＵ２００で実行することも可能である。
【００３１】
図３は、サーバ１０３の機器構成を示すブロック図である。ＣＰＵ２００、ＲＯＭ２０１、ＲＡＭ２０２、外部記憶ドライブ２０３、メディア２０４、ＨＤ２０５、指示入力装置２０６、ディスプレイ２０７、Ｉ／Ｆ２０８、システムバス２０９の機能及び用途、更には、これらの関係は、図２を用いて説明したものと同様或いは同等である。図３では、データベース３１０がシステムバス２０９に接続されていることに留意する。ここで、データベース３１０は、サイト情報データベース１０４、全文検索データベース１０５及び検索語データベース１０６を総称するものである。
【００３２】
次に、発明の実施形態に対応する検索語データベース１０６に格納される検索語テーブルを説明する。本実施形態では、検索語テーブルとして、単語テーブル、仮名変換テーブル及びローマ字変換テーブルを備える。
【００３３】
単語テーブルは、検索語候補となりえる単語を候補語として登録する。本実施形態において候補語として登録される単語は、漢字、平仮名、片仮名、アルファベット、記号、数字、合成語を用いて表記可能となっている。記号は、"！"、"％"、"￥"等の特定の意味が付されたマークをいう。記号にはまた、"＋"、"−"、"×"、"÷"と言った算術記号も含まれる。数字は、１〜９の算用数字の他に、ローマ数字等が含まれる。よって、数字と記号の組合せにより構成される数式を単語として登録することもできる。また、合成語は、特定の文字の組合せ、或いは文字に、該文字が有する読みや意味とは異なる他の読み、意味が与えられたものである。例えば、不等号の"＜"に平仮名の"く"の読みを与えたり、片仮名の"レナ"に、平仮名の"け"の読みを与えたり、漢字の"王見"に"現"の意味を与えたりする。
【００３４】
図４は、単語テーブルの一例を示す図である。図４において、単語テーブル４００には候補語４０１とポイント４０２とが含まれる。候補語４０１には、ウェブサイト内検索を行う際に検索語となり得る単語が登録される。候補語４０１として登録される単語は、サイト情報データベース１０４に登録されているウェブページに含まれる語のみである。ポイント４０２は、候補語４０１に与えられるポイントを登録する。該ポイントは、ウェブサイト内での出現数や出現位置、表示サイズに応じて各単語に与えられる。また、ウェブページ内での分布を考慮し、分布率が高い単語についてはポイントを減じてもよい。ポイントが高い単語ほど、ウェブサイト内での重要性の高い単語となる。
【００３５】
次に、仮名変換テーブルとは、単語テーブル４００の候補語４０１の仮名表記を登録するテーブルである。本実施形態に対応する仮名変換テーブルは、単語テーブル４００に登録されている単語（特に、漢字、片仮名、アルファベット、記号、数字、合成語）の平仮名表記を登録することができる。図５は、仮名変換テーブルの一例を示す図である。図５において、仮名変換テーブル５００には、候補語５０１と仮名候補５０２とが登録される。候補語５０１には、単語テーブル４００に登録されている候補語が登録される。仮名候補５０２には、候補語５０１の各候補の仮名表記が登録される。例えば、「販売」という候補に対応する仮名候補には「はんばい」が登録される。
【００３６】
次に、ローマ字変換テーブルは、仮名変換テーブルに登録されている仮名候補のローマ字表記を登録するテーブルである。図６は、ローマ字変換テーブルの一例を示す図である。図６においてローマ字変換テーブル６００には、仮名候補６０１と、ローマ字候補６０２とが登録されている。仮名候補６０１は、仮名変換テーブル５００に登録されている仮名候補が登録される。ローマ字候補６０２には、仮名候補６０１の各候補のローマ字表記が登録される。たとえば、「おぷそん」については「opuson」が、「はんばい」については「hanbai」が登録される。
【００３７】
なお、発明の実施形態は、単語テーブル４００の他に、仮名変換テーブル５００とローマ字変換テーブル６００をそれぞれ有する構成に限定されず、仮名変換テーブル５００のみ有していても良い。また、ローマ字変換テーブル６００に単語テーブル４００に登録された単語のローマ字表記を登録して、該ローマ字変換テーブル６００のみ有する構成としても良い。
【００３８】
次に、図１乃至図６に示した構成に基づいて、本発明のウェブサイト内検索システムで実行されるウェブサイト内検索処理の詳細を説明する。
【００３９】
図７ａから図７ｇは、発明の実施形態に対応するウェブサイト内検索処理の一例をSDL(Specification and Description Language) の記述法に従って示す状態遷移図である。図７ａから図７ｇに対応する処理は、クライアント１０１とサーバ１０３とがそれぞれ保持する処理プログラムを各々が実行することにより実現される。また、クライアント１０１とサーバ１０３との間の通信は、クライアント１０１において実行されるウェブブラウザの通信機能、或いは、ウェブブラウザのプラグイン(拡張プログラム)の通信機能を利用して実現することができる。例えばＪａｖａ（登録商標）Scriptを用いたHTTPプロトコルに従って実現することができる。その他に、Flash等を使ってもよいし、HTTPではない別のプロトコルに従って通信でもよい。
【００４０】
まず、図７ａは、クライアント１０１とサーバ１０３の状態遷移を示す図である。図７ａにおいて、クライアント１０１は、ステップＳ７１０からステップＳ７６０までの状態を取り、それぞれの状態において図７ｂ乃至図７ｆに示す処理が行われる。また、サーバ１０３はクライアント１０１からの要求待ち状態にあり、クライアント１０１から受信した要求に応じて、後述する図７ｇに示すような処理を実行する。
【００４１】
まず、クライアント１０１は、ステップＳ７１０において初期状態にある。この初期状態では、クライアント１０１のディスプレイ２０７には検索画面が表示されておらず、図７ｂに示すように、ステップＳ７１１においてサーバ１０３に対して検索画面表示要求を送信する。その後、ステップＳ７２０の検索画面表示待ち状態に移行する。
【００４２】
ステップＳ７２０の検索画面表示状態では、図７ｃに示すように、クライアント１０１は、ステップＳ７２１においてサーバ１０３から検索画面情報を受信し、ステップＳ７２２においてディスプレイ２０７に検索画面を表示し、ステップＳ７３０における検索画面表示状態に移行する。
【００４３】
検索画面の一例は図９に示す通りである。図９において検索画面９００には、検索語入力領域９０１と、検索実行ボタン９０２が含まれる。検索語入力領域９０１に検索語を構成する文字が漢字、平仮名、片仮名、アルファベット、記号、数字、或いは、合成語により入力されると、以下に説明する手順に従い検索語候補表示領域９０３に、検索語候補が表示される。ユーザは検索語候補表示領域９０３内の検索語候補の中から適当な検索語を選択して、検索語入力を行うことができる。
【００４４】
ステップＳ７３０の検索画面表示状態では、図７ｄに示すように、ユーザからの入力内容に応じて３種類のイベントが実行される。
【００４５】
一つ目は、ステップＳ７３１における文字入力イベントであり、図９の検索語入力領域９０１に対して、漢字、平仮名、片仮名、アルファベット、記号、数字、或いは、合成語の入力が行われる。このイベントが発生すると、ステップＳ７３２において入力語がクライアント１０１からサーバ１０３に送信される。その後、ステップＳ７４０におけるサーバ１０３からの検索語候補の受信待ち状態に移行する。
【００４６】
なお、文字入力を検出してサーバ１０３に送信する処理を行うための文字入力検出プログラムは、ステップＳ７２１においてサーバ１０３から受信する検索画面情報に含まれており、クライアント１０１は検索画面情報を受信する度に文字入力検出プログラムを取得することができる。この文字入力検出プログラムは、例えばＪａｖａ（登録商標）Script, Flashにより構成することができる。
【００４７】
次に、２つ目は、ステップＳ７３３における検索語候補選択イベントであり、図９の検索語候補表示領域９０３に表示された検索語候補から、所望の検索語候補が選択される。選択操作は、例えばマウスクリック、或いは、Ｅｎｔｅｒキー操作による。検索語候補が選択されると、ステップＳ７３４において該検索語に区切り文字を付加して入力語として、クライアント１０１からサーバ１０３へ送信する。その後、ステップＳ７４０におけるサーバ１０３からの検索語候補の受信待ち状態に移行する。なお、区切り文字には、スペース（空白）、ＡＮＤ記号（＋）等が含まれるが、ここに例示したものに限らず、２つの単語を切り分けるために用いられる記号や文字であれば何でも良い。
【００４８】
さらに、３つ目は、ステップＳ７３５における検索実行イベントであり、所定の操作に基づくユーザからの検索実行指示を受け付ける。検索実行指示は、例えば、指示入力装置２０６のマウスを利用した検索ボタン９０２のクリック操作に基づいて受け付けることができる。その他にも、キーボードのＥｎｔｅｒキーの操作に基づいても良いし、Ｊａｖａ（登録商標）Script等を使って任意の操作入力に基づくこともできる。続くステップＳ７３６では、クライアント１０１からサーバ１０３に対して、検索語を指定した検索実行指示を送信する。その後、ステップＳ７５０の検索結果受信待ち状態に移行する。
【００４９】
ステップＳ７４０の検索語候補受信待ち状態では、図７ｅに示すように、ステップＳ７４１において検索語候補をサーバ１０３から受信する。続いて、ステップＳ７４２において受信した検索語候補を図９の検索画面９００の検索語候補表示領域９０３に表示し、ステップＳ７３０の検索画面表示状態に移行する。
【００５０】
ステップＳ７５０の検索語結果受信待ち状態では、図７ｆに示すように、ステップＳ７５１において検索結果をサーバ１０３から受信する。続いて、ステップＳ７５２において受信した検索結果をディスプレイ２０７に表示して、ステップＳ７６０の検索結果表示状態に移行する。ステップＳ７６０の検索結果表示状態では、検索結果に基づきユーザからアクセスするページの指定を受け付けることができる。
【００５１】
次に、サーバ１０３側の処理を説明する。図７ｇのステップＳ７７０において、サーバ１０３は当初要求待ち状態に置かれている。この要求待ち状態においてサーバ１０３は、クライアント１０１からステップＳ７１１で送信された検索画面表示要求、ステップＳ７３２又はＳ７３４で送信された入力語、及び、ステップＳ７３６で送信された検索実行指示のいずれかを受信する。
【００５２】
ステップＳ７７１において検索画面表示要求を受信すると、ステップＳ７７２において検索画面情報をクライアント１０１へ送信する。その後、ステップＳ７７０の要求待ち状態に戻る。
【００５３】
次に、ステップＳ７７３において入力語を受信すると、ステップＳ７７４に移行して検索語候補の探索を行い、ステップＳ７７５では、探索した検索語候補をクライアント１０１へ送信する。その後、ステップＳ７７０の要求待ち状態へ戻る。なお、検索語候補の探索処理については、図８のフローチャートを参照して後述する。
【００５４】
さらに、ステップＳ７７６において検索実行指示を受信すると、ステップＳ７７７に移行して検索処理を実行する。この検索処理は、検索実行指示に含まれる検索語に基づき、全文検索データベース１０５を用いて行われる。続くステップＳ７７８では検索結果をクライアント１０１へ送信して、ステップＳ７７０の要求待ち状態に戻る。
【００５５】
次に、ステップＳ７７４における検索語候補の探索処理の詳細について、図８を参照して説明する。
【００５６】
ステップＳ８０１では、ステップＳ７０５で受信した入力語に、区切り文字が含まれるか否かを判定する。なお、スペース等の後ろに文字が入力されていなくても良い。
【００５７】
もし、区切り文字を含まない場合には（ステップＳ８０１において「ＮＯ」）、ステップＳ８０３に移行する。一方、区切り文字を含む場合には（ステップＳ８０１において「ＹＥＳ」）、ステップＳ８０２に移行する。
【００５８】
ステップＳ８０２では、区切り文字の直前の文字列を処理対象の入力語として選択してステップＳ８０３に移行する。ステップＳ８０３では、入力語に基づき単語テーブル４００を検索し、前方一致する候補語を探索する。例えば、「オプ」が入力語の場合には、「オプソン」、「オプソンプリンタ」、「オプソンダイレクト」、「オプソンスクエア」、「オプソンサービス」などが探索される。
【００５９】
次に、ステップＳ８０４では、入力語が平仮名又はアルファベットである構成されているか否かを判定する。なお、検索語データベース１０６に仮名変換テーブル５００と、ローマ字変換テーブル６００とのいずれか一方のみしか存在しない場合には、対応するテーブルに従い平仮名であるか、又は、アルファベットであるかのみを判定する。もし、平仮名又はアルファベットで構成されている場合（ステップＳ８０４において「ＹＥＳ」）、ステップＳ８０５に移行する。もし、平仮名又はアルファベット以外の要素で構成されている場合には（ステップＳ８０４において「ＮＯ」）、ステップＳ８０６に移行する。
【００６０】
ステップＳ８０５では、入力語が平仮名の場合には、仮名変換テーブル５００を用いて、前方一致する候補語を探索する。例えば、「はん」が入力語の場合、「販売」、「販売株式会社」、「販売当時」、「販売中」、「範囲」等が探索される。また、入力語がアルファベットの場合には、ローマ字変換テーブル６００を用いて、前方一致する仮名候補を探索する。例えば、「op」が入力語の場合は、「おぷそん」、「おぷそんぷりんた」、「おぷそんだいれくと」、「おぷそんすくえあ」、「おぷそんさーびす」などが探索される。探索された仮名候補は、仮名変換テーブル５００を用いて候補語に変換する。その後、ステップＳ８０６に移行する。なお、検索語データベース１０６内に仮名変換テーブル５００が存在せず、ローマ字変換テーブル６００のみの場合は、ローマ字表記から候補語に直接変換する。
【００６１】
ステップＳ８０６では、検索語候補を決定する。具体的には、ステップＳ８０３、ステップＳ８０５で探索された候補語の中から、ポイントの高い候補語を所定数選択し、検索語候補と決定することができる。
【００６２】
次に、ステップＳ８０７では、ステップＳ８０１の判定において入力語に区切り文字が含まれていたか否かを判定する。もし、区切り文字が含まれていた場合には（ステップＳ８０７において「ＹＥＳ」）、ステップＳ８０８に移行する。一方、区切り文字が含まれていなかった場合には（ステップＳ８０７において「ＮＯ」）、検索語の決定処理を終了し、図７のステップＳ７０７に移行する。
【００６３】
ステップＳ８０８では、ステップＳ８０６で決定された検索語候補（以下、「第１検索語候補」という）を含むウェブページを、全文検索データベース１０５を用いて検索する。続くステップＳ８０９では、ステップＳ８０８での検索により検出されたウェブページ内で、該第１検索語候補の周辺に位置する単語（周辺単語）を抽出する。「周辺に位置する」とは、例えば以下のように定義することができる。第１検索語候補を含む文と同一の文、或いは更にその前後の文に含まれる単語、或いは、第１検索語候補の前後に位置し、かつ第１検索語候補から所定文字数以内に位置する単語、である。
【００６４】
続くステップＳ８１０では、ステップＳ８０９で抽出した周辺単語のうち、区切り文字の直後の文字列と前方一致する単語を選択して、周辺単語の絞り込みを行う。なお、当該直後の文字列が存在しない場合、即ち、空白のみが入力された場合には、本ステップを省略して、ステップＳ８０９において得られた全周辺単語について以降の処理を行うことができる。
【００６５】
続くステップＳ８１１では、上記工程を経て得られた周辺単語のそれぞれと、第１検索語候補との距離Ｄｗを算出する。当該距離Ｄｗは、例えば、第１検索語候補を含む文と同一文、前後の文のいずれに含まれるか、周辺単語と第１検索語候補との間に位置する文字数等に基づいて決定できる。
【００６６】
続くステップＳ８１２では、各周辺単語の出現頻度Ｆｗを算出する。該出現頻度Ｆｗは、例えば、同一の周辺単語が同一ページ内で登場する頻度（回数）に基づくことができる。この頻度が高い周辺単語ほど、該ページ内で第１検索語候補と関連する可能性が高い単語と考えることができる。但し、同一ページ内での登場頻度の高い単語であっても、サイトに一般的な単語である場合も考えられる。そこで、ステップＳ８０８で検出された第１検索語候補を含む全ページ（総ページ数をＰａｌ）内での周辺単語の出現数の合計Ａｗを、総ページ数で割った値（Ａｗ／Ｐａｌ）を求める。この値が所定の閾値より大きい場合には、第１検索語候補とペアになった周辺単語は特定のページに特徴的な単語でない可能性があるため、Ｆｗのポイントを一定量下げるか、或いは、周辺単語の候補から除外しても良い。
【００６７】
次に、ステップＳ８１３では、ステップＳ８１１で算出した距離Ｄｗと、ステップＳ８１２で算出した出現頻度Ｆｗとに基づいて、周辺単語毎にポイントを算出する。ポイントの算出法は特に限定されるものではないが、例えばＤｗとＦｗとの和や積でもよいし、重み付けを行ってから演算しても良い。また、ＤｗとＦｗのいずれか一方のみを利用しても良い。
【００６８】
なお、ステップＳ８１３では、距離と出現頻度に基づいてポイントを計算したが、更に、第１検索語候補の品詞解析および係受けを考慮した計算を行うこともできる。また、第１検索語候補と周辺単語の各組合せについて、過去に選択された選択頻度や、予め与えられた順位（ユーザの指定によっても良い）を更に考慮したり、これらの要素に基づいてポイントを算出することもできる。具体的に、過去に選択された頻度の高い組合せや、与えられた順位の高い組合せに高いポイントを与えることができる。選択頻度や順位の情報は、検索語データベース１０６内に格納しておくことができる。
【００６９】
次に、ステップＳ８１４では、算出されたポイントが所定値以上の周辺単語を決定する。なお、このステップは省略してステップＳ８１３でポイントを算出した周辺単語を全て選択しても良い。続くステップＳ８１５では、決定した周辺単語と、第１検索語候補とを新たな検索語候補（第２検索語候補）に決定する。即ち、ステップＳ８０６における第１検索語候補とステップＳ８１４における周辺単語との組合せが、第２検索語候補となる。その際、第２検索語候補のポイントは、ステップＳ８１３で求めたポイントとなる。その後、検索語候補の決定処理を終了し、図７のステップＳ７０７に移行する。
【００７０】
なお、入力語に３語以上含まれる場合、即ち、区切り文字が２つ以上含まれる場合には、ステップＳ８０８以降の処理を、各区切り文字の直後の文字列について繰り返すことにより、さらに絞り込みをかけた第３、第４の検索語候補を決定することができる。
【００７１】
以上のように、本実施形態によれば、ウェブサイト内のウェブページから予め抽出した単語を検索を行う際の検索語候補としてユーザに提示することができるので、ユーザはウェブサイト内に確実に存在する単語を検索語として検索を行うことができる。
【００７２】
また、ユーザが複数の単語を検索語として入力しようとする場合、ウェブサイト内のページで実際に関連性を有する単語の組合せを候補として提示することができるので、より精度の高い検索が可能となる。
【００７３】
特に本発明では、２語目以降の検索語候補を決定する場合に、予めテーブルを用意せずにリアルタイム計算により候補を決定している。これにより、組合せの候補をデータベース内に予め登録しておく場合と比べて、データベースの容量コストを大幅に削減することができる。
【００７４】
また、２語目以降の検索語候補は入力せずとも、１語目を入力した後にスペース等の区切り文字を入れるだけで、１語目と関連性の高い検索語の候補が提示される。よって、ユーザは２語目について自ら考えなくても、自分が探しているページに該当するであろう検索語を、提示候補の中から選択して効率的に検索を行うことができる。この際、本願発明では、履歴に基づき過去に組合せで入力された単語のペアを候補として提示するのではなく、サイト内の実際のページにおいて関連性が認められる単語のペアを提示する点に特に特徴を有する。この特徴により、ユーザはウェブページと真に関連する単語のペアを検索語として選択することができる。
【００７５】
さらに、本発明によれば、単語を組み合わせて検索語候補を提示する場合に、リアルタイムに計算して候補を決定するので、検索履歴が蓄積されていないサイトオープン当初の段階からでも、的中率の高い検索語の組合せを確実に提示することができる。
【００７６】
また、以上の処理（例えば上記図７ａ乃至図７ｇや図８に示したフローチャートに従った処理等）をコンピュータプログラムとしてＣＤ−Ｒ、ＲＯＭやＤＶＤ−ＲＯＭ、ＭＯ等の記憶媒体に記憶させ、この記憶媒体に記憶されているプログラムをコンピュータに読み込ませる（インストール、もしくはコピーさせる）ことで、このコンピュータは以上の処理を行うことができる。よって、コンピュータプログラム及び記憶媒体も本発明の範疇にあることは明白である。
【図１】
2010205292.tif 000003
【図２】
2010205292.tif 000004
【図３】
2010205292.tif 000005
【図４】
2010205292.tif 000006
【図５】
2010205292.tif 000007
【図６】
2010205292.tif 000008
【図７ａ】
2010205292.tif 000009
【図７ｂ】
2010205292.tif 000010
【図７ｃ】
2010205292.tif 000011
【図７ｄ】
2010205292.tif 000012
【図７ｅ】
2010205292.tif 000013
【図７ｆ】
2010205292.tif 000014
【図７ｇ】
2010205292.tif 000015
【図８】
2010205292.tif 000016
【図９】
2010205292.tif 000017