(57)【要約】【課題】検索結果として得られた文書における検索文字列またはそれに該当する文字列の正確な位置を求めることができないという問題点があった。【解決手段】入力部１４より入力された検索文字列に対し前処理部１６で正規化処理を施し、前記正規化処理が施された検索文字列により検索処理を実行する。そして、検索された文書において、前記検索文字列またそれに該当する文字列の最初の文字の位置情報と、前記検索文字列またはそれに該当する文字列の最後の文字の位置情報を取得するものである。【選択図】図１
2007179505.tif 000002
【特許請求の範囲】
【請求項１】
検索対象となる複数の文書が格納されているデータベースを有し、該データベースに対して検索を行う検索装置において、
検索文字列を含む検索要求が入力される入力手段と、
入力された検索文字列に正規化処理を施す前処理手段と、
前記正規化処理が施された検索文字列により前記データベースでの検索処理を実行する検索手段と、を有し、
前記検索手段は、当該検索手段により検索された文書において、前記検索文字列の最初の文字の位置情報と、前記検索文字列の最後の文字の位置情報を取得することを特徴とする検索装置。
【請求項２】
検索対象となる複数の文書が格納されているデータベースを有し、該データベースに対して検索を行う検索装置において、
複数の部分文字列からなる検索文字列を含む検索要求が入力される入力手段と、
入力された前記複数の部分文字列からなる検索文字列に正規化処理を施し、正規化処理を施された前記複数の部分文字列からなる検索文字列を、部分文字列に分割する前処理手段と、
前記部分文字列により前記データベースでの検索処理を実行する検索手段と、
当該検索手段により検索された文書における前記部分文字列の位置関係を取得する後処理手段と、を有し、
前記検索手段は、当該検索手段により検索された文書において、前記部分文字列の最初の文字の位置情報と、前記部分文字列の最後の文字の位置情報を取得し、
前記後処理手段は、前記検索手段により取得した前記部分文字列の最初の文字の位置情報と、前記部分文字列の最後の文字の位置情報と、
分割前の前記複数の部分文字列からなる検索文字列における前記部分文字列の位置関係と、に基づき、
当該検索手段により検索された文書における前記部分文字列の位置関係を取得することを特徴とする検索装置。
【請求項３】
前記後処理手段は、前記検索手段により検索された文書における複数の前記部分文字列と、前記検索文字列との差異を数値として取得することを特徴とする請求項２に記載の検索装置。
【請求項４】
前記後処理手段は、前記部分文字列と、前記検索手段により検索された文書に含まれる前記部分文字列に該当する文字列との差異を文字列ごとに数値として取得することを特徴とする請求項２に記載の検索装置。
【請求項５】
検索サーバと検索クライアントからなる検索システムにおいて、
前記検索サーバは、検索対象となる複数の文書が格納されているデータベースと、
前記検索クライアントから送信された、検索文字列を含む検索要求を受信する受信手段と、
前記受信手段により受信された検索文字列に正規化処理を施す前処理手段と、
前記正規化処理が施された検索文字列により前記データベースでの検索処理を実行する検索手段と、
前記検索手段により検索された結果を前記検索クライアントへ送信する送信手段と、を有し、
前記検索クライアントは、検索文字列を含む検索要求が入力される入力手段と、
前記検索サーバに前記検索文字列を含む検索要求を送信する送信手段と、
前記検索サーバから送信された前記検索手段により検索された結果を受信する受信手段と、
前記受信手段により受信された前記検索手段により検索された結果を出力する出力手段と、を有し、
前記検索サーバにおいて、前記検索手段は、当該検索手段により検索された文書において、前記検索文字列の最初の文字の位置情報と、前記検索文字列の最後の文字の位置情報を取得することを特徴とする検索システム。
【請求項６】
検索対象となる複数の文書が格納されているデータベースを有し、該データベースに対して検索を行う検索装置における検索方法において、
検索文字列を含む検索要求が入力される入力ステップと、
入力された検索文字列に正規化処理を施す前処理ステップと、
前記正規化処理が施された検索文字列により前記データベースでの検索処理を実行する検索ステップと、を有し、
前記検索ステップでは、当該検索ステップにより検索された文書において、前記検索文字列の最初の文字の位置情報と、前記検索文字列の最後の文字の位置情報を取得することを特徴とする検索方法。
【請求項７】
検索対象となる複数の文書が格納されているデータベースが記憶された記憶装置と、演算処理装置を有するコンピュータにおいて実行される検索プログラムであって、
前記コンピュータに、
検索文字列を含む検索要求が入力される入力手順と、
入力された検索文字列に正規化処理を施す前処理手順と、
前記正規化処理が施された検索文字列により前記データベースでの検索処理を実行する検索手順と、を実行させ、
前記検索手順では、当該検索手順により検索された文書において、前記検索文字列の最初の文字の位置情報と、前記検索文字列の最後の文字の位置情報を取得するようにしたことを特徴とする検索プログラム。
【請求項８】
請求項７に記載の検索プログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索装置、検索システム、検索方法、検索プログラムおよび記録媒体に係り、より詳細には検索処理結果を閲覧しやすくする検索装置、検索システム、検索プログラムおよび記録媒体に係る。
【背景技術】
【０００２】
登録された文書群から必要な文書を検索する検索技術において、検索された文書中の検索文字列に該当する部分を強調表示させることは、以前から知られている表示方法である。この表示方法によれば、検索された文書をそのまま表示するのに比べ、検索文字列の該当箇所を強調して表示するので、ユーザは、文書内の該当箇所を素早く認知できる。
【０００３】
また、検索結果を電子的に閲覧するのであれば、検索文字列の該当箇所にリンクを挿入することも可能である。例えば、同一文書内の次の該当箇所へのリンクを貼ったり、別文書の該当箇所へリンクを貼ることで、次の該当箇所に移動するＮＥＸＴボタンのようなものを用意せずとも該当箇所自体をクリックすることで該当箇所を順々に閲覧することが可能となる。このように、検索結果の文書における検索文字列の位置情報は非常に有用である。
【０００４】
通常の検索処理では、検索結果の文書における検索文字列の位置情報の取得は容易である。以下に位置情報取得の概略を述べる。
【０００５】
まず、検索文字列が与えられると、その検索文字列を索引語単位である部分文字列に分割する。そして、分割された部分文字列と一致する索引語を含む文書と、その文書内における索引語の開始位置とを索引から取得する。ここで取得された部分文字列（すなわち該当する索引語）の開始位置と、部分文字列（すなわち該当する索引語）の長さに加えて終了位置を求める。検索文字列全体の出現位置は、検索文字列の先頭の部分文字列の開始位置と、末尾の部分文字列の終了位置から求めることができる。
【０００６】
このような検索技術に関する従来文献として、例えば、次の文献があげられる。
【０００７】
特開平１０−２６９２３３号公報（特許文献１）には、検索結果の文書情報を表示する際、文書中の検索条件に合致した箇所を強調表示する文書データベースの検索結果表示方法及び装置が開示されている。
【０００８】
特開２００４−３２６２１６号公報（特許文献２）には、複数の検索キーワードの検索に貢献した度合いを示す特徴量に応じて、文書中に含まれる各検索キーワードの表示方法を設定し、その表示方法に基づいて各検索キーワードを他の部分と異なるように強調表示できる文書検索装置が開示されている。
【０００９】
しかしながら、正規化された文書から作成された索引を使って検索する場合には、検索文字列の位置情報の取得は容易ではない。なぜならば、索引語の開始位置と、索引語の長さからでは、検索文字列の正確な終了位置が求められない場合があるからである。
【００１０】
例えば索引語「スパゲティ」に文字列「スパゲティ」と「スパゲッティー」を割り当てた場合に、「このスパゲッティーはとてもおいしい。」という文書内での「スパゲティ」の位置を考える。このとき、この文書における索引語の開始位置である「３文字目」という位置情報と索引語の「スパゲティ」から検索文字列の終了位置を取得しようとした場合、「この“スパゲッテ”ィーはとてもおいしい。」のように誤った終了位置を示してしまう。
【００１１】
そのため、検索文字列を含む文書を解析して、どこまでが「スパゲティ」に対応する文字列かを調べる必要がある。しかし、この処理には時間がかかる上に、誤った解析結果を返す可能性もある。
【特許文献１】特開平１０−２６９２３３号公報
【特許文献２】特開２００４−３２６２１６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
以上に述べたように、検索文字列に該当する文字列の文書内における位置を把握することは有用であるが、入力された検索文字列またはそれに該当する文字列の正確な位置を求めることができないという問題点がある。
【００１３】
本発明は、このような問題点を鑑みて、これらを解決すべくなされたものであり、検索文字列またはそれに該当する文字列の正確な位置を求めることが可能であり、かつ、文字列の正確な位置を利用して、検索文字列と部分文字列の位置関係や、正規化による文字列の変更を考慮した数値を求める検索装置、検索システム、検索プログラム及び記憶媒体を提供することを目的とするものである。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明の検索装置は次の如き構成を採用した。
【００１５】
本発明の検索装置は、検索対象となる複数の文書が格納されているデータベースを有し、該データベースに対して検索を行う検索装置において、検索文字列を含む検索要求が入力される入力手段と、入力された検索文字列に正規化処理を施す前処理手段と、前記正規化処理が施された検索文字列により前記データベースでの検索処理を実行する検索手段と、を有し、前記検索手段は、当該検索手段により検索された文書において、前記検索文字列の最初の文字の位置情報と、前記検索文字列の最後の文字の位置情報を取得することを特徴とする構成とすることができる。
【００１６】
これにより、検索された文書における検索文字列の正確な位置を求めることができ、検索文字列の強調処理やリンクの付与などを容易にすることが可能な検索装置を提供することができる。
【００１７】
また、本発明の検索装置は、検索対象となる複数の文書が格納されているデータベースを有し、該データベースに対して検索を行う検索装置において、複数の部分文字列からなる検索文字列を含む検索要求が入力される入力手段と、入力された前記複数の部分文字列からなる検索文字列に正規化処理を施し、正規化処理を施された前記複数の部分文字列からなる検索文字列を、部分文字列に分割する前処理手段と、前記部分文字列により前記データベースでの検索処理を実行する検索手段と、当該検索手段により検索された文書における前記部分文字列の位置関係を取得する後処理手段と、を有し、前記検索手段は、当該検索手段により検索された文書において、前記部分文字列の最初の文字の位置情報と、前記部分文字列の最後の文字の位置情報を取得し、前記後処理手段は、前記検索手段により取得した前記部分文字列の最初の文字の位置情報と、前記部分文字列の最後の文字の位置情報と、分割前の前記複数の部分文字列からなる検索文字列における前記部分文字列の位置関係と、に基づき、当該検索手段により検索された文書における前記部分文字列の位置関係を取得することを特徴とする構成とすることができる。
【００１８】
これにより、検索された文書における検索文字列の正確な位置と、検索された文書における部分文字列の位置関係とを求めることができ、検索文字列や部分文字列に対する強調処理やリンクの付与などを容易にすることが可能な検索装置を提供することができる。
【００１９】
また、上記目的を達成するために、本発明の検索装置は、さらに、前記後処理手段は、前記検索手段により検索された文書における複数の前記部分文字列との前記検索文字列と、の差異を数値として取得することを特徴とする構成とすることができる。
【００２０】
これにより、前記数値に応じて検索文字列の強調表現を変更したり、該当文書の一覧表示をする際に、前記数値に応じて表示順を変更するなどの編集処理が容易となり、ユーザにとって検索結果を閲覧しやすい表示とすることが可能な検索装置を提供することができる。
【００２１】
また、上記目的を達成するために、本発明の検索装置は、前記後処理手段は、前記部分文字列と、前記検索手段により検索された文書に含まれる前記部分文字列に該当する文字列との差異を文字列ごとに数値として取得することを特徴とするとする構成とすることができる。
【００２２】
これにより、前記数値に応じて検索文字列の強調表現を変更したり、該当文書の一覧表示をする際に、前記数値に応じて表示順を変更するなどの編集処理が容易となり、ユーザにとって検索結果を閲覧しやすい表示とすることが可能な検索装置を提供することができる。
【００２３】
また、本発明の検索システムは、検索サーバと検索クライアントからなる検索システムにおいて、前記検索サーバは、検索対象となる複数の文書が格納されているデータベースと、前記検索クライアントから送信された、検索文字列を含む検索要求を受信する受信手段と、前記受信手段により受信された検索文字列に正規化処理を施す前処理手段と、前記正規化処理が施された検索文字列により前記データベースでの検索処理を実行する検索手段と、前記検索手段により検索された結果を前記検索クライアントへ送信する送信手段と、を有し、前記検索クライアントは、検索文字列を含む検索要求が入力される入力手段と、前記検索サーバに前記検索文字列を含む検索要求を送信する送信手段と、前記検索サーバから送信された前記検索手段により検索された結果を受信する受信手段と、前記受信手段により受信された前記検索手段により検索された結果を出力する出力手段と、を有し、前記検索サーバにおいて、前記検索手段は、当該検索手段により検索された文書において、前記検索文字列の最初の文字の位置情報と、前記検索文字列の最後の文字の位置情報を取得することを特徴とする構成とすることができる。
【００２４】
これにより、検索された文書における検索文字列の正確な位置を求めることができ、検索文字列の強調処理やリンクの付与などを容易にすることが可能な検索システムを提供することができる。
【００２５】
また、本発明の検索方法は、検索対象となる複数の文書が格納されているデータベースを有し、該データベースに対して検索を行う検索装置における検索方法において、
検索文字列を含む検索要求が入力される入力ステップと、入力された検索文字列に正規化処理を施す前処理ステップと、前記正規化処理が施された検索文字列により前記データベースでの検索処理を実行する検索ステップと、を有し、前記検索ステップでは、当該検索ステップにより検索された文書において、前記検索文字列の最初の文字の位置情報と、前記検索文字列の最後の文字の位置情報を取得することを特徴とする構成とすることができる。
【００２６】
これにより、検索された文書における検索文字列の正確な位置を求めることができ、検索文字列の強調処理やリンクの付与などを容易にすることが可能な検索方法を提供することができる。
【００２７】
また、本発明の検索プログラムは、検索対象となる複数の文書が格納されているデータベースが記憶された記憶装置と、演算処理装置を有するコンピュータにおいて実行される検索プログラムであって、前記コンピュータに、検索文字列を含む検索要求が入力される入力手順と、入力された検索文字列に正規化処理を施す前処理手順と、前記正規化処理が施された検索文字列により前記データベースでの検索処理を実行する検索手順と、を実行させ、前記検索手順では、当該検索手順により検索された文書において、前記検索文字列の最初の文字の位置情報と、前記検索文字列の最後の文字の位置情報を取得するようにしたことを特徴とする構成とすることができる。
【００２８】
これにより、検索された文書における検索文字列の正確な位置を求めることができ、検索文字列の強調処理やリンクの付与などを容易にすることが可能な検索プログラムを提供することができる。
【００２９】
また、本発明の記録媒体は、上記検索プログラムを記録したコンピュータ読取可能な記録媒体である。
【発明の効果】
【００３０】
本発明によれば、検索された文書における検索文字列の正確な位置を求めることができ、検索文字列の強調処理やリンクの付与などを容易にすることができる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の実施例を図面に基づいて説明する。
【００３２】
本発明の検索装置、検索システム、検索方法、検索プログラムおよび記録媒体は、検索された文書における検索文字列またはそれに該当する文字列の最初の文字の位置情報と、最後の文字の位置情報を求めることにより、検索された文書における検索文字列の正確な出現位置を求めるものである。
【実施例１】
【００３３】
図１は、本発明の検索装置１０の機能ブロック図の例である。
【００３４】
検索装置１０は、データベース１２、入力部１４、前処理部１５、検索部１６、後処理部１７、編集部１８および出力部１９を有するものである。
【００３５】
検索装置１０では、入力部１４から入力された検索要求に基づき、データベース１２の検索処理を実行させ、その結果を出力部１８より出力するものである。ここで本実施例において、検索要求とは、複数の部分文字列からなる検索文字列を含むものである。
【００３６】
データベース１２は、検索対象となる文書と、前記文書を検索するための索引とが格納されている。この索引は、データベース１２の検索処理に用いられるものであり、索引語を含む文書の一覧を保持している。
【００３７】
入力部１４は、ユーザが検索要求を入力するためのユーザインターフェイスである。入力部１４は、例えばキーボードやディスプレイのタッチパネルであったり、またはマイクおよび音声認識システムである。ここで入力部１４は、検索装置１０内に配設されていてもよいし、適切な接続手段により検索装置１０の外部から検索装置１０へ接続されていても良い。
【００３８】
前処理部１５は、入力された検索要求に含まれる検索文字列に正規化処理を施す。そして、正規化処理の施された検索文字列を、索引における索引語単位の部分文字列に分割するための解析を行う。索引語とは、データベース１２内に存在する文字から作成されるものであり、索引語単位とは、索引語の作成される単位のことである。本実施例における索引語は、文書データを単語単位に分割し、その単語を索引語単位としているが、文字列をＮ文字の文字列として区切るＮ−ｇｒａｍ方式により作成された索引語を索引語単位としてもよい。また、検索装置１０には図示しない記憶手段が配設されており、前記記憶手段には、検索文字列を部分文字列に分割する際に、各部分文字列が検索文字列の何文字目から何文字目に対応しているかを示す位置情報や、各部分文字列が検索文字列に含まれる複数の部分文字列のうち、それぞれ何番目の部分文字列であるかを示す位置情報などが記憶されている。
【００３９】
検索部１６は、複数の部分文字列からなる検索文字列を受け取り、この検索文字列に含まれる部分文字列によりデータベース１２を検索する。そして、その結果として、部分文字列を含む文書と、その文書番号と、その文書における部分文字列の開始位置と終了位置とを取得する。ここで部分文字列の開始位置とは、検索された文書における部分文字列の最初の文字の位置情報を示し、部分文字列の終了位置とは、検索された文書における部分文字列の最後の文字の位置情報を示すものである。
【００４０】
後処理部１７は、検索部１６で取得された文書のうち、各部分文字列が、分割前の検索文字列と同様の順番に、かつ隣りあった位置にある文書を選択する。そして後処理部１７は、選択された文書における検索文字列または検索文字列に該当する文字列の開始位置と終了位置とを取得する。ここで検索文字列の開始位置とは、検索された文書における検索文字列の最初の文字の位置情報を示し、検索文字列の終了位置とは、検索された文書における検索文字列の最後の文字の位置情報を示すものである。
【００４１】
編集部１８は、検索文字列または検索文字列に該当する文字列を強調表示させたり、検索文字列を含む次の該当文書に移動できるように、その位置にリンクを付けるなど、ユーザにとって閲覧しやすい状態に検索処理結果を編集する。
【００４２】
出力部１９は、検索処理によって得られた検索結果をユーザが閲覧可能に表示するユーザインターフェイスである。出力部１９は、例えばディスプレイやスピーカなどである。ここで、出力部１９は、検索装置１０内に配設されていても良いし、適切な接続手段により検索装置１０の外部から検索装置１０へ接続されていても良い。
【００４３】
次に、実施例１における検索処理について具体例をあげて説明する。図２は、実施例１の検索処理を説明するフローチャートである。ここでは、３つ部分文字列「スパゲッティー」「ミート」「ソース」からなる検索文字列「スパゲッティーミートソース」について検索処理を実行する。
【００４４】
ユーザは、入力部１４より、検索文字列「スパゲッティーミートソース」を含む検索要求を入力する（Ｓ２１０）。ここで入力された検索文字列「スパゲッティミートソース」は、前処理部１５により正規化処理を施される(Ｓ２２０）正規化された検索文字列は、「スパゲティミートソース」となる。
【００４５】
次に、前処理部１５は、正規化された検索文字列「スパゲティミートソース」を索引語単位の部分文字列に分割するために解析する（Ｓ２３０）。本実施例では、索引語単位は単語単位であり、正規化された検索文字列「スパゲティミートソース」は、前から順に「スパゲティ」「ミート」「ソース」なる３つの部分文字列に分割される。
【００４６】
検索部１６は、この３つの部分文字列により、データベース１２を検索し、各部分文字列またはそれに該当する文字列が含まれる文書と、この文書の文書番号と、この文書における各部分文字列またはそれに該当する文字列の開始位置と終了位置を取得する（Ｓ２４０）。ここで、この検索処理によって取得された文書の文書番号と文書内容を表１に示す。そして、検索部１６により取得された文書における各部分文字列またはそれに該当する文字列の開始位置と終了位置を表２に示す。
【００４７】
【表１】
2007179505.tif 000003
【００４８】
【表２】
2007179505.tif 000004
後処理部１７は、検索部１６により取得された文書のうち、すべての部分文字列またはそれに該当する文字列を含む文書を選択する（Ｓ２５０）。すなわち、ここで選択される文書は、文書番号１、文書番号２、文書番号３、文書番号４および文書番号５の文書が選択される。次に、後処理部１７は、選択された各文書における各部分文字列またはそれに該当する文字列の開始位置と終了位置を取得する。ここで、選択された文書の文書番号と、各文書における各部分文字列またはそれに該当する文字列の開始位置と終了位置を示したものが表３である。
【００４９】
【表３】
2007179505.tif 000005
ここで後処理部１７は、選択された文書のうち、この文書に含まれる各部分文字列またはそれに該当する文字列が、分割前の検索文字列と同じ順番に、かつ隣り合った位置にある文書を選択する。
【００５０】
この選択を行うに当たり、後処理部１７は、表３に示す各部分文字列またはそれに該当する文字列の開始位置と終了位置から、各部分文字列が隣り合っているかどうかを判断する。表３によれば、例えば文書番号１の文書においては、部分文字列「スパゲティ」の終了位置が７文字目となっており、部分文字列「ミート」の開始位置が８文字目となっている。そして、部分文字列「ミート」の終了位置が１０文字目となっており、部分文字列「ソース」の開始位置が１１文字目となっている。これにより、後処理部１７は、文書番号１の文書において、部分文字列「スパゲティ」と部分文字列「ミート」と部分文字列「ソース」が隣り合った位置にあると判断することができる。
【００５１】
さらに後処理部１７は、各部分文字列が検索文字列に含まれる複数の部分文字列のうち、それぞれ何番目の部分文字列であるかを示す位置情報に基づき、各部分文字列またはそれに対応する文字列が、分割前の検索文字列と同じ順番であるかどうかを判断する。尚、この位置情報は、前述したように検索装置１０内に配設された図示しない記憶手段に記憶されている。文書番号１の文書では、各部分文字列「スパゲティ」「ミート」「ソース」は分割前の検索文字列と同じ順番である。
【００５２】
よって後処理部１７は、文書番号１の文書を、この文書に含まれる各部分文字列またはそれに該当する文字列が、分割前の検索文字列と同じ順番に、かつ隣り合った位置にあるものと判断し、文書番号１の文書を選択する。後処理部１７は、同様の処理により文書番号２の文書も選択する。ここで選択された各文書の文書番号と、前記各文書における部分文字列またはそれに該当する文字列の開始位置と終了位置を表４に示す。
【００５３】
【表４】
2007179505.tif 000006
さらに後処理部１７は、ここで選択された文書において、この文書における検索文字列全体としての開始位置と終了位置を取得する。ここで選択された文書における検索文字列全体としての開始位置とは、この文書における１番目の部分文字列の最初の文字の位置である。同様に、選択された文書における検索文字列全体としての終了位置は、この文書における最終番目の部分文字列の最後の文字の位置である。
【００５４】
表４に示すように、文書番号１の文書において、１番目の部分文字列「スパゲティ」の最初の文字の位置が３文字目であり、最終番目の部分文字列である３番目の部分文字列「ソース」の最後の文字の位置が１３文字目である。よって、文書番号１の文書における検索文字列全体としての開始位置は３文字目、終了位置は１３文字目となる。
【００５５】
同様に、文書番号２の文書について説明する。文書番号２の文書では、後処理部１７は、部分文字列「スパゲティ」に該当する文字列「スパゲッティー」の開始位置と終了位置を取得している。このときの検索文字列全体とは、文字列「スパゲッティー」の最初の文字から始まり、最終番目の部分文字列である３番目の部分文字列「ソース」の最後の文字で終わる文字列を意味する。よって、検索文字列全体の開始位置が３文字目、終了位置が１５文字目となる。ここで、選択された各文書の文書番号と、前記各文書における検索文字列またはそれに該当する文字列の開始位置と終了位置を表５に示す。
【００５６】
【表５】
2007179505.tif 000007
このようにして、後処理部１７により検索された文書における検索文字列の出現位置を取得すると、編集部１８は、この文書おける検索文字列またはそれに該当する文字列を強調表示する編集処理を行う（Ｓ２６０）。表６には、編集部１８により検索文字列またはそれに該当する文字列を強調表示する処理が施された文書の内容が示されている。ここで示される強調表示は、具体的には文書中の検索文字列を斜体で表示させるものであるが、強調表示の方法はこれに限定されるものではなく、ユーザにとって認識しやすい表示方法であれば良い。
【００５７】
【表６】
2007179505.tif 000008
また、検索処理結果が電子的に閲覧される場合、編集部１８は強調表示に係る編集処理だけでなく、検索文字列またはそれに該当する文字列にリンクを付け、この検索文字列またはそれに該当する文字列をクリックすると、現在閲覧している検索された文書から、次の該当文書へ移動できるようにする編集処理などを行ってもよい。
【００５８】
表６に示されるような、編集処理を施された文書は、検索処理の結果として、出力部１９により出力される（Ｓ２７０）。これにより検索装置１０における検索処理を終了する。
【００５９】
このように、本発明の実施例１の検索装置においては、検索された文書における検索文字列の正確な位置と、検索された文書における部分文字列の位置関係とを求めることができ、検索文字列や部分文字列に対する強調表示処理やリンクの付与などを容易にすることができる。また、強調表示処理やリンクの付与を行うことによって、検索処理の結果をユーザにとって閲覧しやすい状態で表示することができる。
【実施例２】
【００６０】
以下に、本発明の検索装置１０における実施例２について説明する。
【００６１】
実施例２の検索装置１０は、実施例１で説明した検索装置１０と同様の構成であるので、ここでは検索装置の構成に係る説明は省略する。また、実施例２における検索処理では、図２のＳ２５０における処理のみが実施例１と異なるものであるから、本実施例において図２のＳ２５０で実行される処理について以下に説明する。
【００６２】
Ｓ２５０において、後処理部１７は、Ｓ２４０において検索部１６により取得された文書（表１参照）のうち、各部分文字列またはそれに該当する文字列のいずれかを含む文書を選択する。ここではＳ２４０で取得されたすべての文書が該当する。次に後処理部１７は、選択された各文書における各部分文字列またはそれに該当する文字列の開始位置と終了位置を取得する。ここで、選択された文書の文書番号と、各文書における各部分文字列またはそれに該当する文字列の開始位置と終了位置を示したものが表７である。
【００６３】
【表７】
2007179505.tif 000009
ここで後処理部１７は、選択された文書に含まれる各部分文字列またはそれに該当する文字列が、分割前の検索文字列と同じ順番に、かつ隣り合った位置にあるとき、それぞれの部分文字列またはそれに該当する文字列を結合させる。すなわち、文書番号２の文書であれば、この文書に含まれる部分文字列またはこれに該当する文字列は「スパゲッティー」、「ミート」、「ソース」であり、それぞれが分割前の検索文字列と同じ順番に、かつ隣り合った位置にあるので、後処理部１７は、これらを結合して「スパゲッティーミートソース」を得る。
【００６４】
また、同様に文書番号６の文書の場合を説明すれば、文書番号６の文書に含まれる部分文字列またはそれに該当する文字列は、「ミート」と「ソース」である。これらはそれぞれが分割前の検索文字列と同じ順番で、かつ隣り合って位置しているので、後処理部１７はここで「ミートソース」を得る。こられについて文書ごとに示したものが表８である。
【００６５】
【表８】
2007179505.tif 000010
本実施例においては、このようにして得られた部分文字列またはそれに該当する文字列を結合させた文字列を、検索文字列またはそれに該当する文字列となる。
【００６６】
尚本実施例においても、各文書における各部分文字列またはそれに該当する文字列が分割前の検索文字列と同じ順番で、かつ隣り合って位置しているかどうかは、実施例１で説明したようにして判断される。
【００６７】
さらに後処理部１７は、選択された文書における検索文字列またはそれに該当する文字列全体としての開始位置と終了位置を取得してＳ２５０の処理を終了する。
【００６８】
Ｓ２６０以下の処理は、実施例１における処理と同様であるので、ここでの説明は省略する。
【００６９】
このように、本発明の実施例２における検索装置では、検索された文書において、検索文字列またはそれに該当する文字列の一部の文字列を含んでいれば、検索処理結果として出力されるため、より幅広い検索処理を実行することができる。また、検索された文書において、検索文字列またはそれに該当する文字列における一部の文字列の正確な位置を求めることができる。さらに、検索文字列や部分文字列に対する強調表示処理やリンクの付与などを容易にすることができ、これらの処理を行うことによって、検索処理の結果をユーザにとって閲覧しやすい状態で表示することができる。
【実施例３】
【００７０】
以下に、本発明の検索装置１０における実施例３について説明する。
【００７１】
実施例３の検索装置１０は、実施例１で説明した検索装置１０と同様の構成であるので、ここでは検索装置１０の構成に係る説明を省略する。また、実施例３における検索処理では、図２のＳ２５０とＳ２６０における処理が実施例１と異なるものである。よって、本実施例において図２のＳ２５０とＳ２６０で実行される処理について以下に説明する。
【００７２】
Ｓ２５０において、後処理部１７は、Ｓ２４０で検索部１６により取得された文書（表１参照）のうち、各部分文字列またはそれに該当する文字列のいずれかを含む文書を選択し、それぞれの文書番号を取得する。ここではＳ２４０で取得されたすべて文書が選択される。次に、後処理部１７は、選択された各文書における各部分文字列またはそれに該当する文字列の開始位置と終了位置を取得する（表７参照）。
【００７３】
さらに、後処理部１７は、選択された文書に含まれる、検索結果として取得された各部分文字列またはそれに該当する文字列の系列と、検索文字列を索引語単位に分割して得られた複数の部分文字列の系列との類似度を取得する。
【００７４】
ここでいう系列とは、文書に含まれる部分文字列の数および並び順を示している。また、類似度とは、例えば編集距離を用いても良いし、独自の定義をもって類似度としても良い。ここで言う編集距離とは、ある系列からある系列へ変換するために必要な操作数（挿入、削除、置換）を距離とみなしたものであり、文字列間の類似度を測るためによく使われている。
【００７５】
本実施例では、独自に定義した類似度を用いている。すなわち本実施例での類似度は、検索結果として取得された各部分文字列またはそれに該当する文字列の系列と、検索文字列を索引語単位に分割して得られた複数の部分文字列の系列との差異を示す距離で表される。ここでは、距離は数値であり、距離が小さいほど、すなわち類似度の数値が小さいほど、検索結果として取得された各部分文字列またはそれに該当する文字列の系列と、検索文字列を索引語単位に分割して得られた複数の部分文字列の系列との一致度が高いことを意味する。
【００７６】
本実施例では、各部分文字列の並び順の入れ替えを距離１、部分文字列間の余計な文字列の削除も距離１、部分文字列の追加を距離２とした。
【００７７】
例えば、文書番号５の文書では、検索文字列を索引語単位に分割して得られた３つの部分文字列「スパゲティ」「ミート」「ソース」と比べて、検索結果として取得された各部分文字列「スパゲティ」「ミート」「ソース」では、「スパゲティ」と「ミート」、「ミート」と「ソース」の間にそれぞれ余計な文字列が存在している。よって、ここで系列を一致させるためには、これらの２箇所に存在する余計な文字列を削除する必要がある。すなわち、２回の削除操作が必要であるから、ここでの距離は１＋１＝２となる。
【００７８】
文書番号７の文書の場合についても同様に説明すれば、この文書に含まれる部分文字列は「ミート」のみであり、検索文字列を索引語単位に分割して得られた３つの部分文字列「スパゲティ」「ミート」「ソース」と比べて、２つの部分文字列「スパゲティ」、「ソース」が不足している。よって、系列を一致させるためには、これら２つの部分文字列を追加する必要がある。すなわち、２回の部分文字列の追加操作が必要であるから、ここでの距離は２＋２＝４となる。
【００７９】
後処理部１７は、このようにして類似度を取得している。この類似度を文書ごとに示したものが表９である。
【００８０】
【表９】
2007179505.tif 000011
Ｓ２５０において、後処理部１７が、検索された文書における各部分文字列またはそれに該当する文字列の開始位置と終了位置、そして上で説明した類似度を取得すると、編集部１８は、Ｓ２６０において、検索された文書における各部分文字列またはそれに該当する文字列に対し、類似度の数値に応じた強調表示をさせる処理を行う。その具体例を示すものが表１０である。
【００８１】
【表１０】
2007179505.tif 000012
表１０では、類度度を示す数値が最も大きいとき、すなわち検索結果として取得された文書に含まれる検索文字列またはそれに該当する文字列と、検索文字列との一致度が低いとき、この検索文字列またはそれに該当する文字列を表示する文字のフォントを＜ｆｏｎｔ  ｓｉｚｅ＝“＋１”＞とした。そして、類似度を示す数値が小さくなるほど、すなわち検索結果として取得された文書に含まれる検索文字列またはそれに該当する文字列と、検索文字列との一致度が高くなるほど、前記検索文字列またはそれに該当する文字列を表示する文字のフォントを大きくした。
【００８２】
このように、検索結果として得られた検索文字列またはそれに該当する文字列と検索文字列との類似度して取得し、それに基づき編集処理を行うことにより、検索処理の結果をユーザにとって閲覧しやすい状態で表示することができる。
【００８３】
また、本実施例では検索文字列に対する検索結果を数値で表すため、例えば自由書式で書かれた検索文字列で分類することもできる。自由書式のデータでは、表記のゆれや誤記なども含まれるため、検索文字列と完全一致するデータだけを分類対象とすることに問題があった。本実施例によれば、検索文字列と一致しないデータであっても、数値によっては分類対象に加えることができる。
【実施例４】
【００８４】
以下に、本発明における実施例３について説明する。
【００８５】
実施例３の検索装置１０は、実施例１で説明した検索装置１０と同様の構成であるので、ここでは検索装置１０の構成に係る説明を省略する。また、実施例４における検索処理では、図２のＳ２５０とＳ２６０における処理が実施例１と異なるものであり、Ｓ２６０における処理は実施例３に説明した処理と同様である。よって、本実施例において図２のＳ２５０で実行される処理について以下に説明する。
【００８６】
Ｓ２５０において、後処理部１７は、検索部１６により取得された文書（表１参照）のうち、各部分文字列またはそれに該当する文字列のいずれかを含む文書を選択し、それぞれの文書番号を取得する。ここではＳ２４０で取得されたすべて文書が選択される。次に、後処理部１７は、選択された各文書における各部分文字列またはそれに該当する文字列の開始位置と終了位置を取得する（表７参照）。
【００８７】
さらに、後処理部１７は、選択された文書に含まれる、検索結果として取得された各部分文字列またはそれに該当する文字列と、検索文字列を索引語単位で分割することにより得られた各部分文字列の類似度を文字列ごとに取得する。
【００８８】
本実施例では、類似度として編集距離を用いている。例えば、文字列「スパゲッティー」と文字列「スパゲティ」について説明すると、これら２つの文字列を一致させようとしたとき、文字列「スパゲッティー」の４文字目「ッ」と、７文字目「ー」を削除する必要がある。すなわち２回の削除操作が必要であるから、ここでの距離は１＋１＝２となる。
【００８９】
このようにして取得した類似度を文書ごとに示したものが表１１である。
【００９０】
【表１１】
2007179505.tif 000013
ここで、文書番号１の文書と、文書番号２の文書においては、各部分文字列のまたはそれに該当する文字列が、分割前の検索文字列と同じ順に、かつ隣り合った位置にある。しかしながら、文書番号１の文書では、検索結果として取得された部分文字列「スパゲティ」は索引語単位に分割される前の部分文字列「スパゲッティー」と異なっている。
【００９１】
それに対し、文書番号２の文書では、検索結果として取得された部分文字列に該当する文字列は「スパゲッティー」であり、索引語単位に分割される前の部分文字列、すなわちユーザが入力した元の検索文字列に含まれる部分文字列「スパゲッティー」そのものである。このとき、後処理部１７は、類似度を０とし、完全一致と判断する。
【００９２】
すなわち後処理部１７は、検索結果として得られた文書に含まれる部分文字列またはそれに該当する文字列が、索引語単位に分割される前の部分文字列、すなわちユーザが入力した元の部分文字列と一致していると判断した場合、その結果を類似度に数値として反映させる。
【００９３】
後処理部１７では、このようにして類似度を取得することで、元の検索文字列に含まれる部分文字列と、検索結果として取得された部分文字列との差異を数値として表すことができる。
【００９４】
Ｓ２６０では、編集部１８が、この類似度の数値に応じて実施例３と同様の処理を行う。これにより、検索処理の結果をユーザにとって閲覧しやすい状態で表示することができる。
【実施例５】
【００９５】
以下に本発明の検索システムについて図面を参照して説明する。図３は本発明の検索システム４０の機能ブロック図の例である。図３において、実施例１と同様の機能を有するもの、同様の処理を実行するものに関しては、図１と同様の符号をつけ、その説明を省略する。
【００９６】
検索システム４０は、検索クライアント２０と検索サーバ３０から構成されており、検索クライアント２０と検索サーバ３０はネットワークを介して接続されている。検索システム４０では、検索クライアント２０に入力された検索要求が検索サーバ３０へ送信され、検索サーバ３０は、この検索要求を受けて検索処理を実行し、その結果を検索クライアント２０へ返すものである。
【００９７】
検索クライアント２０は、入力部１４、出力部１９、送受信部４２を有する。送受信部４２は、検索サーバ３０とのデータの送受信に用いられるものである。すなわち、入力部１４より入力された検索文字列を含む検索要求を検索サーバ３０へ送信し、検索サーバ３０で実行されて検索サーバ３０より送信されてきた検索処理の結果を受信する。
【００９８】
検索サーバ３０は、データベース１２と、前処理部１５、検索部１６、後処理部１７、編集部１８および送受信部４３を有する。送受信部４３は、検索クライアント２０とのデータの送受信に用いられるものである。すなわち、検索クライアント２０より送信された、検索文字列を含む検索要求を受信し、この検索要求を受けて実行した検索処理の結果を検索クライアント２０へ送信する。
【００９９】
本実施例における検索処理について説明する。本実施例における検索処理は、実施例１と同様であり、図２を参照して説明することができる。
【０１００】
まず、Ｓ２１０において、検索クライアント２０においてユーザが入力部１４より検索文字列を含む検索要求を入力する。検索クライアント２０は、この検索文字列を含む検索要求を送受信部４２により検索サーバ３０へ送信する。検索サーバ３０は、送受信部４３により検索要求を受信すると、その検索要求に含まれる検索文字列について、Ｓ２２０からＳ２６０の処理を実行する。そして、その結果を送受信部４３より検索クライアント２０に向けて送信する。Ｓ２７０において、検索クライアント２０は、この結果を送受信部４２により受信し、それを出力部１９によりユーザが閲覧可能に出力する。
【０１０１】
本実施例によれば、検索された文書における検索文字列の正確な出現位置と、検索された文書における部分文字列の位置関係とを求めることができ、検索文字列や部分文字列に対する強調処理やリンクの付与などを容易にすることが可能な検索装置を提供することができる。
【０１０２】
本実施例の検索サーバ３０で実行される処理は、実施例１で説明した処理だけでなく、上に記載したその他の実施例において実行される処理についても同様に実行することができる。
【０１０３】
また、本発明の検索プログラムおよびその検索プログラムが記録されたコンピュータで読取可能な記録媒体について図４を参照して説明する。本発明の検索プログラムは、実施例１ないし実施例４に記載したすべての処理を実行させることが可能な検索プログラムである。
【０１０４】
図４は、検索サーバ３０のハードウェア構成図である。検索サーバ３０は、ＣＰＵ３２、ハードディスク３３、メモリ３４、ネットワークコントロールユニット（以下ＮＣＵ）３５、表示部３６、入力部３７およびドライバ３８により構成されている。
【０１０５】
本発明の検索プログラムは、メモリ３４に記録されていても良いし、記録媒体５０に記録されていても良い。
【０１０６】
ここで、ＣＰＵ３２は、メモリ３４またはドライバ３８を介して接続された記録媒体５０に記録された本発明の検索プログラムを実行する。ハードディスク３３は、その内部にデータベース１２が格納されている。メモリ３４は、本発明の検索プログラム以外に、検索サーバを機能させるためのプログラムや各種の設定値などが記録されている。ＮＣＵ３５は、検索クライアント２０との通信手段として用いられるものであり、例えば一般の公衆回線や、ＬＡＮ回線などに接続されている。表示部３６はＣＰＵ３２で実行された検索処理の結果を表示するものであり、入力部３７はユーザが各種のデータを検索サーバ３０に入力するためのものである。ドライバ３８は、ＣＰＵ３２と外部に接続された記録媒体５０の仲介を行うものである。
【０１０７】
記録媒体５０には本発明の検索プログラムが記録されていても良く、その場合ＣＰＵ３２は、ドライバ３８を介して記録媒体５０より検索プログラムを読み出して実行する。
尚ここで、記録媒体５０は、例えばフロッピー（登録商標）ディスクや光磁気ディスクなどの記録媒体であっても良いし、ＣＰＵ３２において読取可能であればそれ以外のものであっても良い。
【０１０８】
以上に述べたように、本発明によれば、検索された文書における検索文字列の正確な出現位置を求めることかできる。また、本発明によれば、検索された文書における部分文字列の出現位置を求めることができ、検索文字列や部分文字列に対する強調処理やリンクの付与などを容易にすることが可能となる。さらに本発明によれば、検索結果として取得された検索文字列またはそれに該当する文字列と、ユーザからに入力された検索文字列との類似度を求めることにより、検索処理後の一致度に応じた強調表示をさせることができ、さらにユーザにとって閲覧しやすい状態で検索処理の結果を表示させることが可能となる。
【０１０９】
以上、各実施例に基づき本発明の説明を行ってきたが、上記実施例に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。
【産業上の利用可能性】
【０１１０】
本発明は、検索処理を行う検索装置、検索システム、検索方法、検索プログラムおよび記録媒体において応用可能である。
【図面の簡単な説明】
【０１１１】
【図１】検索装置の機能ブロック図の例
【図２】実施例１の検索処理を説明するフローチャート
【図３】検索システムの機能ブロック図の例
【図４】検索サーバのハードウェア構成図の例
【符号の説明】
【０１１２】
１０  検索装置
１２  データベース
１４  入力部
１５  前処理部
１６  検索部
１７  後処理部
１８  編集部
１９  出力部
２０  検索クライアント
３０  検索サーバ
４０  検索システム
５０  記録媒体
【図１】
2007179505.tif 000014
【図２】
2007179505.tif 000015
【図３】
2007179505.tif 000016
【図４】
2007179505.tif 000017