(57)【要約】【課題】  インターネットを通じて多数のユーザに高精度の文書検索サービスを提供できる文書検索システム及びそのための文書検索エンジンプログラムを提供する。【解決手段】  文書データベースに保存された各文書をファイル形式に応じた区切りコードにより文書要素（文、段落、章等）に分割し、文書要素毎に、ユーザの指定した検索語が含まれているかどうかを調べる。検索語は３個以上指定し、その出現順序や検索語間の距離制限（検索語間に文字数や単語数の上限設定）を検索条件に含めるようにする。区切りコードは、ファイル拡張子、ファイルのヘッダ情報、プロパティ情報等に基づいて自動的に設定する。【選択図】  図３
2006072949.tif 000002
【特許請求の範囲】
【請求項１】
データ通信ネットワークを通じてクライアントから送信されてくる要求に応じた処理を実行してその処理結果を前記クライアントに送信するサーバを備え、該サーバは、文字情報を含む文書が保存された文書保存部、３個以上の検索語を含む所定形式の検索条件設定データを受信するための検索条件受信部、文書保存部に保存された文書を順次読み出し、該文書に含まれる文字情報を所定の区切りコードによって複数の文書要素に分割する文書分割部、各文書要素に前記３個以上の検索語に関する所定の検索条件を満たす文字列が含まれているかどうかを判定する判定部、及び、各文書に対応する区切りコードを該文書のデータ形式に基づいて設定する区切りコード設定部を備えることを特徴とする文書検索システム。
【請求項２】
前記検索条件を満たす文字列の出現回数を文書毎に計数し、各文書に対応する計数値を前記処理結果に含めて前記クライアントに送信するための計数部を備えることを特徴とする請求項１に記載の文書検索システム。
【請求項３】
前記検索条件には、文字列内における前記３個以上の検索語の出現順序及び／又は距離制限が含まれていることを特徴とする請求項１又は２に記載の文書検索システム。
【請求項４】
コンピュータを請求項１〜３のいずれかに記載のサーバとして動作させるための文書検索エンジンプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、ファイルやデータベース等の形で電子的に管理されている文書を検索するための文書検索システムに関し、特に、インターネットのようなコンピュータネットワーク上に存在する膨大な量の文書を検索するための検索エンジンとして好適な文書検索システムに関する。また、本発明は、コンピュータを用いて前述のような文書検索システムを構成するための文書検索エンジンプログラムに関する。
【背景技術】
【０００２】  文書検索システムの例として特許文献１に記載の特許情報検索サーバーシステムが挙げられる。このシステムでは、インターネットに接続されたサーバに特許情報データベースが構築されており、ユーザは利用者端末でキーワードを設定して特許情報を検索することができる。キーワードは１又は複数個指定することができ、更に、同義語、類似語、類似概念による検索も可能である。【０００３】  このシステムにおいて、例えば、２個のキーワードを両方とも含む文書を検索することを考える。この場合、ある文書が全体として両方のキーワードを含んでいれば、その文書は検索条件を満たしていると判定される。例えば、第１のキーワードが第１章に出現し、第２のキーワードが最終章に出現するといった文書でも、検索条件を満たしていると判定されるのである。このような検索方法では、ユーザの関心とは異なる分野に属する文書であっても検索条件を満たしていると判定される可能性が高くなり、検索精度は低くなってしまう。【０００４】  文書検索システムの別の例として特許文献２に記載の文書検索装置が挙げられる。この装置では、２個の検索語間の近接距離条件を設定することや、それらの検索語が同一段落に含まれることを検索条件として設定することが可能である。このような方法によれば、特許文献１のシステムに関して先に説明したような問題が解消され、検索精度が高まるものと期待される。
【特許文献１】  特開２００２−２９７６３６号公報
【特許文献２】  特許第３０９９２９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】  特許文献２に記載の発明を応用する場合、同発明の特許出願が成された時点から現在に至る情報技術の進歩を考慮する必要がある。すなわち、今日ではインターネットを通じて世界中のコンピュータが接続されており、ユーザは自分のコンピュータを通じて世界中に存在する膨大な量の電子文書を利用することが可能になっている。これらの電子文書には、それぞれ独自の方法で文字情報を保持する様々な形式がある（例えば、プレーンテキスト、ＨＴＭＬ、ＸＭＬ、ＰＤＦ、ＲＴＦ等）。特許文献２に記載の技術を文書検索システムに応用する場合、前記のようなデータ形式に応じて文や段落の切り出しを適切に行う必要がある。ところが、特許文献２に記載の発明は、文書検索のエンジンの構成やアルゴリズムに重点を置いたものであって、前述のような応用面に関する課題については特別な考慮がなされていない。【０００６】  本発明は以上のような課題を解決するために成されたものであり、その目的は、インターネットを通じて多数のユーザに高精度の文書検索サービスを提供できる文書検索システム及びそのためのプログラムを提供することにある。
【課題を解決するための手段】
【０００７】  上記課題を解決するために成された本発明に係る文書検索システムは、データ通信ネットワークを通じてクライアントから送信されてくる要求に応じた処理を実行してその処理結果を前記クライアントに送信するサーバを備え、該サーバは、文字情報を含む文書が保存された文書保存部、３個以上の検索語を含む所定形式の検索条件設定データを受信するための検索条件受信部、文書保存部に保存された文書を順次読み出し、該文書に含まれる文字情報を所定の区切りコードによって複数の文書要素に分割する文書分割部、各文書要素に前記３個以上の検索語に関する所定の検索条件を満たす文字列が含まれているかどうかを判定する判定部、及び、各文書に対応する区切りコードを該文書のデータ形式に基づいて設定する区切りコード設定部を備えることを特徴としている。【０００８】  上記文書検索システムにおいて、サーバがクライアントから３個以上の検索語（キーワード）を含む所定形式の検索条件設定データを受信すると、文書分割部が文書保存部から文書を読み出し、その文書に含まれる文字情報を所定の区切りコードによって複数の文書要素に分割する。ここで文書要素とは、文書に含まれる文字情報の形態的又は論理的な構成要素のことをいう。例えば、文、段落、章、項、節、セクション等が文書要素に相当する。【０００９】  文書の分割に用いられる区切りコードは、文書のデータ形式に基づいて設定される。文書のデータ形式は、ファイル拡張子、ＭＩＭＥタイプ、ファイルに保存されたデータに含まれるヘッダ情報やプロパティ情報、ファイルに保存された文字情報の中に出現する特殊な文字列等、様々な情報に基づいて判別することができる。例えば、プレーンテキスト形式の場合は、「。」（読点）、「．」（ピリオド）、ＣＲＬＦ（復帰改行）等を区切りコードとすることができる。また、ＨＴＭＬ形式の場合は、「。」（読点）や「．」（ピリオド）に加えて、＜ｐ＞、＜／ｐ＞、＜ｂｒ＞、＜ｐｒｅ＞、＜／ｐｒｅ＞等のいわゆるタグを区切りコードとして利用することができる。ＸＭＬや他のマークアップ言語で記述された文書の場合も、それら独自のタグを区切りコードとして利用することができる。【００１０】  文書が文書要素に分割されたら、判定部が、各文書要素に前記３個以上の検索語に関する所定の検索条件を満たす文字列が含まれているかどうかを判定する。この判定処理は、文書全体を文書要素に一度に分割した後で文書要素毎に実行してもよいし、文書から文書要素を１つ切り出す毎に実行してもよい。【００１１】  本発明に係る文書検索システムにおいて、更に、前記検索条件を満たす文字列の出現回数を文書毎に計数し、各文書に対応する計数値を前記処理結果に含めて前記クライアントに送信するための計数部を設けてもよい。前記処理結果は、検索条件を満たした文書の一覧を計数値の大きいに順に並べ替えてクライアントの画面に表示することができる。【００１２】  本発明に係る文書検索システムにおいて、前記検索条件には、文字列内における前記３個以上の検索語の出現順序及び／又は距離制限を含めることができる。距離制限の例としては、隣接する検索語間の距離の上限設定や、最初に出現する検索語と最後に出現する検索語との間の距離の上限設定が挙げられる。検索語間の距離は、例えば、文字数、形態素数、単語数、バイト数等で表現することができる。距離制限に関する設定値は、検索条件設定画面でユーザがその都度入力するようにしてもよいし、ユーザ設定画面を別途設けてそこで入力するようにしてもよい。あるいは、システムで用意した標準設定値を全てのユーザに適用することも可能である。【００１３】  また、本発明に係る文書検索エンジンプログラムは、コンピュータを前記サーバとして動作させることを特徴としている。
【発明の効果】
【００１４】  本発明に係る文書検索システムでは、３個以上の検索語を指定するとともに、各文書に含まれる文字情報を所定の区切りコードによって複数の文書要素に分割し、各文書要素単位で検索を行う。このようにすれば、文書全体を単位として検索を行う場合に比べて、検索精度が高くなる。これに加えて、検索語の出現順序や距離を制限することにより、検索精度はより高いものとなる。また、検索条件を満たす文字列の出現回数を文書毎に計数し、各文書に対応する計数値を処理結果に含めてクライアントに送信することにより、目的の情報を含む可能性が高い文書を容易に見つけ出すことができる。以上のような効果を奏する本発明に係る文書検索システムを利用すれば、インターネット上に公開された膨大な量の文書の中から目的の情報を含む文書を高い精度で抽出できる検索エンジンサイトを構築することができる。
【発明を実施するための最良の形態】
【００１５】  図１に本発明の一実施形態である文書検索システムの概略構成を示す。本実施形態のシステム１（以下、本システム１と呼ぶ）は、インターネット１０に接続されたコンピュータであるサーバ１２を備えている。サーバ１２は、所定のプログラムを実行することによりソフトウェア的に構成された機能部であるＷｅｂサーバ１４、文書管理部１６、ファイル形式判別部１８、区切りコード設定部２０、文書分割部２２及び判定部２４を備えている。【００１６】  また、サーバ１２は、ハードディスクや半導体メモリ等の記憶装置３０を備えている。記憶装置３０には、検索対象となる多数の文書がそれぞれファイルの形で保存された文書データベース３２、及び、ファイル形式毎に区切りコードが定義された区切りコードデータベース３４等のデータベース（以下、ＤＢと略記する）が構築されている。更に、記憶装置３０には、本システム１を利用するためのユーザインターフェースとなるＷｅｂサイト３６のデータ（ＨＴＭＬ文書、画像、スクリプト、ＣＧＩプログラム等）も保存されている。ユーザは、インターネット１０に接続された別のコンピュータであるクライアント４０を用いて本システム１のサービスを利用する。【００１７】  本システム１の動作について説明する。なお、図１にはクライアント４０を１つだけ描いているが実際には多数のクライアントがインターネット１０に接続されている。【００１８】  ユーザがクライアント４０上でＷｅｂブラウザ４２を起動し、所定のＵＲＬにアクセスすると、Ｗｅｂサーバ１４が、文書の検索条件を設定するための入力フォームを有する検索条件設定ページをＷｅｂサイト３６から読み出し、Ｗｅｂブラウザ４２に送信する。【００１９】  検索条件設定ページの一例を図２に示す。本実施形態の検索条件設定ページ５０は、３個の検索語を入力するためのテキストボックス５００ａ〜５００ｃ、文書中での検索語の出現順序を「表示順（左→右）」及び「順不同」の中から選択するためのラジオボタン５０２、検索語の距離制限値を整数値で設定するためのテキストボックス５０４、距離制限値の単位を「文字」、「単語」、「形態素」及び「バイト」の中から選択するためのラジオボタン５０６、距離制限の種別を「隣接語間」及び「最初と最後の間」の中から選択するためのラジオボタン５０８、及び、検索実行ボタン５１０を備えている。【００２０】  検索条件設定ページ５０において、３個の検索語を入力するとともに、検索語の出現順序及び距離制限に関する設定を行い、検索実行ボタン５１０を押すと、Ｗｅｂブラウザ４２からＷｅｂサーバ１４に検索条件設定データを含む検索要求が送信される。【００２１】  検索要求を受けたサーバの動作について、図３のフローチャートを参照しながら説明する。【００２２】  Ｗｅｂブラウザ４２から送信されてきた検索要求は、Ｗｅｂサーバ１４を通じて文書管理部１６に送られる。検索要求を受けた文書管理部１６は、文書ＤＢ３２から最初の文書を読み出し、ファイル形式判別部１８に渡す（ステップＳ１０）。ファイル形式判別部１８は、受け取った文書のファイル拡張子に基づいてその文書のファイル形式を判別し、そのファイル形式を示す情報を区切りコード設定部２０に渡す��ステップＳ１２）。区切りコード設定部２０は、区切りコードＤＢ３４に基づいて、前記ファイル形式に対応する区切りコードを設定し、そのコードを文書分割部２２に渡す（ステップＳ１４）。文書分割部２２は、区切りコードにより前記文書を複数の文書要素に分割し、文書要素リストを生成する（ステップＳ１６）。ＨＴＭＬ文書から文書要素リストを作成する例を図４に示す。図４の例では、ＨＴＭＬ形式に対応する区切りコードの中から＜ｐ＞、＜／ｐ＞、＜ｈ１＞及び＜／ｈ１＞が適用されている。【００２３】  文書が文書要素に分割されたら、判定部２４が以下のような手順で処理を行う。【００２４】  まず、検索条件を満たす文字列の出現回数を計数するためのカウンタをリセットする（ステップＳ１８）。【００２５】  次に、文書要素リストから最初の文書要素を取り出し（ステップＳ２０）、その中に含まれる文字情報に前記検索条件設定データにより指定された検索条件を満たす文字列が存在するかどうかを調べる（ステップＳ２２）。そのような文字列が存在する場合、カウンタに保持された計数値にその文字列の出現回数を加算する（ステップＳ２４）。【００２６】  次に、文書の終端（すなわち、文書要素リストに含まれる最後の文書要素）に達したかどうかを調べる（ステップＳ２６）。文書の終端に達していない場合、文書要素リストから次の文書要素を取り出し（ステップＳ２１）、ステップＳ２２〜Ｓ２６の処理を実行する。ステップＳ２６において、文書の終端に達していた場合、処理中の文書の識別情報（文書ＩＤ、文書タイトル、ファイル名等）をカウンタに保持された計数値と関連づけて結果リストに追加する（ステップＳ２８）。【００２７】  以上の処理の終了後、文書管理部１６は、処理中の文書が文書ＤＢ３２に保存された最後の文書であるかどうかを調べる（ステップＳ３０）。処理中の文書が最後の文書ではない場合、文書管理部１６は文書ＤＢ３２から次の文書を読み出す（ステップＳ１１）。そして、その文書に対してステップＳ１２〜Ｓ２８の処理が実行される。一方、ステップＳ３０において、処理中の文書が最後の文書である場合、文書管理部１６は、結果リストに保持された文書を計数値の大きい順に並べ替え（ステップＳ３２）、そのリストを含む検索結果ページを作成し、Ｗｅｂサーバ１４を通じてＷｅｂブラウザ４２に送信する（ステップＳ３４）。Ｗｅｂブラウザ４２では、各文書の識別情報が、前記計数値とともに一覧表示される。【００２８】  以上、本発明に係る文書検索システムの一実施形態について詳細に説明したが、上記実施形態は一例に過ぎないことは言うまでもない。例えば、上記実施形態に記載のシステムは以下のように変形することが可能である。
・検索語の数を４個以上にする。
・距離制限の設定において、ユーザに数値を入力させるではなく、「広く」「標準」「狭く」の３段階から選択させるようにする。
・文書のファイル形式をファイル拡張子に基づいて判別するのではなく、文書のヘッダ情報やプロパティ情報に基づいて判別する。
・各検索語および距離制限について、それぞれに入力枠を設けることなく、ひとつの入力枠において、“検索語１  ５（距離）  検索語２  １０（距離）  検索語３”を一例として入力することができるようにすることも、一般的なインターネット検索エンジンの入力方法を見れば、容易に発想することができる。【００２９】  上記の他にも、本発明の精神及び範囲内で様々な実施形態が考えられることは言うまでもない。
【図面の簡単な説明】
【００３０】
【図１】  本発明の一実施形態である文書検索システムの概略構成図。
【図２】  検索条件設定ページの一例を示す図。
【図３】  検索要求を受けたサーバの動作を示すフローチャート。
【図４】  ＨＴＭＬ文書から文書要素リストを作成する例を示す図。
【符号の説明】
【００３１】１…文書検索システム
１０…インターネット
１２…サーバ
１４…Ｗｅｂサーバ
１６…文書管理部
１８…ファイル形式判別部
２０…区切りコード設定部
２２…文書分割部
２４…判定部
３２…文書データベース
３４…区切りコードデータベース
３６…Ｗｅｂサイト
４０…クライアント
４２…Ｗｅｂブラウザ
【図１】
2006072949.tif 000003
【図２】
2006072949.tif 000004
【図３】
2006072949.tif 000005
【図４】
2006072949.tif 000006