(57)【要約】【課題】少ない処理回数で文書を検索することによって、文書検索処理にかかる処理時間の短時間化を図ることができるだけでなく、より利便性を高めること。【解決手段】本発明の実施の形態１にかかる文書検索プログラム、文書検索方法、および文書検索装置によれば、２つのキーワード間の距離を算出するためには、２つの値（最初に出現する類義語の位置および最後に出現する類義語の位置）を用いた１回の減算処理をおこなえばよい。また、キーワード数に関わらず、当該検索対象文書２００が検索条件該当文書であると判断するためには、１回の判定処理をおこなえばよい。このため、文書検索処理にかかる検索時間の短時間化を図ることができる。【選択図】図２−１
2008071337.tif 000002
【特許請求の範囲】
【請求項１】
検索対象語をその類義語を含め被検索対象文書内から検索する工程と、
前記検索工程において、前記検索対象語又はその類義語が最初に出現する位置を記憶する工程と、
複数の検索対象語に対して前記検索する工程及び記憶する工程を実施し、複数の検索対象語の最初の出現位置の最大位置と最小位置を求める工程と、
前記最大位置と前記最小位置とから文字間隔を算出する工程と、
前記文字間隔と予め設定された設定値とから前記被検索対象文書が適合文書であるかを判断する工程と
を含むことを特徴とする文書検索方法。
【請求項２】
複数の検索対象文書に於ける、検索対象語の有無を検索する文書検索方法であって、
複数の検索対象語を、その類義語を含めて選択する段階と、
前記複数の検索対象語の、相互の間の距離を設定する段階と、
検索対象文書の被検索範囲を設定する段階と、
前記被検索範囲に含まれる検索対象文書に対し、前記選択された検索対象語及び当該検索対象語の相互の間の距離をもって検索処理を行う段階と、
を含むことを特徴とする文書検索方法。
【請求項３】
複数の検索対象文書に於ける、検索対象語の有無を検索する文書検索方法であって、
第１の検索対象語をもって、複数の検索対象文書を検索する段階と、
前記検索により摘出された検索対象文書を収納する段階と、
第２の検索対象語を、その類義語を含めて選択する段階と、
前記第２の検索対象語の、相互の間の距離を設定する段階と、
前記収納された検索対象文書に対し、前記第２の検索対象語及び当該検索対象語の相互の間の距離をもって検索処理を行う段階と
を含むことを特徴とする文書検索方法。
【請求項４】
複数の検索対象文書に於ける、検索対象語の有無を検索する文書検索方法であって、
第１の検索対象語をもって、複数の検索対象文書を検索する段階と、
前記検索により摘出された検索対象文書をダウンロードする段階と、
第２の検索対象語を、その類義語を含めて選択する段階と、
前記第２の検索対象語の、相互の間の距離を設定する段階と、
前記ダウンロードされた被検索対象文書に対し、前記第２の検索対象語及び当該検索対象語の相互の間の距離をもって検索処理を行う段階と、
を含むことを特徴とする文書検索方法。
【請求項５】
前記第２の検索対象語として、複数個の検索対象語が含まれることを特徴とする請求項３又は４項記載の文書検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の文書の中から検索者が所望する文書を検索する文書検索方法に関する。
【背景技術】
【０００２】
従来より、複数のキーワード（検索キーワード）とキーワード間の距離（文字数）を検索条件とした文書の検索をおこない、上記検索条件に該当する文字列（以下、「検索条件該当文字列」という）が検索された時点で、当該文書の文書名などを検索結果として出力する文書検索方法が知られている（たとえば、下記特許文献１参照。）。このような文書検索方法によれば、検索条件として入力された複数のキーワード間の関連性が高い文字列を含んだ文書のみを検索することができるため、文書検索処理の精度を向上させることができるものとされている。
【０００３】
【特許文献１】特開２００５−３３９１５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１に記載の従来技術にあっては、文書検索処理において多数の演算処理あるいは判定処理などが必要であるため、文書検索処理にかかる検索時間が長時間化するといった問題があった。
【０００５】
上記従来技術による２つのキーワード間の距離の算出方法の一例について、図１４を用いて説明する。
【０００６】
図１４に示すように、文書検索処理の対象となる文書（以下、「検索対象文書」という）１４００には、文字列「ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲ」が記録されている。また、図１４において、Ｋ１は検索対象文書１４００の中から最初に検索されたキーワードに該当する文字列（以下、「キーワード該当文字列」という）である「ＢＣ」の出現位置であり、Ｋ２は検索対象文書１４００の中から２番目に検索されたキーワード該当文字列である「ＫＬＭ」の出現位置であり、Ｄは２つのキーワード該当文字列間の距離を示す。ここで、上記従来技術にあっては、以下に示す数式（１）を用いて２つのキーワード該当文字列間の距離Ｄを算出している。
【０００７】
Ｄ＝Ｋ２の先頭文字の位置−Ｋ１の先頭文字の位置−Ｋ１の文字数・・・（１）
【０００８】
図１４に示される検索対象文書１４００においては、上記数式（１）によって２つのキーワード該当文字列間の距離として「６」が算出される。このように、従来技術にあっては、２つのキーワード該当文字列間の距離を算出するためには、３つの値（Ｋ１の先頭文字の位置、Ｋ１の文字数、およびＫ２の先頭文字の位置）を用いた２回の減算処理を行う必要がある。従って、文書検索処理にかかる検索時間が長時間化するといった問題があった。
【０００９】
次に、従来技術による近傍判定方法（キーワード該当文字列間の距離が検索条件として入力された距離範囲内か否かを判定する方法）の一例について説明する。
【００１０】
図１５は、従来技術による近傍判定方法の一例を示す図である。図１５に示すように、検索対象文書１５００には、文字列「ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ」が記録されている。尚、図１５において、Ｋ１は検索対象文書１５００の中から最初に検索されたキーワード該当文字列である「ＢＣ」の出現位置を、Ｋ２は検索対象文書１５００の中から２番目に検索されたキーワード該当文字列である「ＫＬＭ」の出現位置を、Ｋ３は検索対象文書１５００の中から３番目に検索されたキーワード該当文字列である「ＲＳ」の出現位置を、Ｋ４は検索対象文書１５００の中から４番目に検索されたキーワード該当文字列である「ＷＹ」の出現位置を示す。
【００１１】
また、Ｄ１はＫ１−Ｋ２間の距離を、Ｄ２はＫ１−Ｋ３間の距離を、Ｄ３はＫ１−Ｋ４間の距離を、Ｄ４はＫ２−Ｋ３間の距離を、Ｄ５はＫ２−Ｋ４間の距離を、Ｄ６はＫ３−Ｋ４間の距離を示す。
【００１２】
かかる従来技術にあっては、まず、図１４に示した算出方法（数式（１））を用いて上記Ｄ１〜Ｄ６をそれぞれ算出し、算出されたＤ１〜Ｄ６のそれぞれについて、検索条件として入力された距離範囲内か否かを判定している。そして、Ｄ１〜Ｄ６の全てが検索条件として入力された距離範囲内であると判断した場合に、検索対象文書１５００が検索条件に該当する文書（以下、「検索条件該当文書」という）であると判断する。すなわち、図１５に示される如く、キーワード数が４個であれば、検索対象文書１５００が検索条件該当文書であると判断するためには、６回の判定処理を行う必要がある。
【００１３】
従って、当該従来技術にあっては、キーワード数が５個であれば１０回の判定処理が必要であり、キーワード数が１０個であれば４５回の判定処理が必要となる。即ち、キーワード数の増加に伴い、必要となる判定処理の回数は増加するため、文書検索処理に於ける検索時間の長時間化を招くといった問題があった。
【００１４】
また、前記特許文献１に記載の従来技術にあっては、検索条件該当文書を抽出するのみであるため、検索条件該当文字列を抽出したい場合は、手間あるいは時間をかけて、抽出された検索条件該当文書の中から検索条件該当文字列を抽出する処理を行わなければならず、文書検索処理の利便性が低下するという問題があった。
【００１５】
本発明は、上記従来技術に於ける問題点を解消して、少ない処理回数で文書を検索することによって、文書検索処理にかかる処理時間の短時間化を図ることができるだけでなく、より利便性を高めることができる文書検索プログラム、文書検索方法、および文書検索装置を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上述した課題を解決し、目的を達成するため、本発明にかかる文書検索方法は、検索対象語をその類義語を含め被検索対象文書内から検索する工程と、前記検索工程において、前記検索対象語又はその類義語が最初に出現する位置を記憶する工程と、複数の検索対象語に対して前記検索する工程及び記憶する工程を実施し、複数の検索対象語の最初の出現位置の最大位置と最小位置を求める工程と、前記最大位置と前記最小位置とから文字間隔を算出する工程と、前記文字間隔と予め設定された設定値とから前記被検索対象文書が適合文書であるかを判断する工程とを含むことを特徴とする。
【００１７】
また、本発明にかかる文書検索方法は、複数の検索対象文書に於ける、検索対象語の有無を検索する文書検索方法であって、複数の検索対象語を、その類義語を含めて選択する段階と、前記複数の検索対象語の、相互の間の距離を設定する段階と、検索対象文書の被検索範囲を設定する段階と、前記被検索範囲に含まれる検索対象文書に対し、前記選択された検索対象語及び当該検索対象語の相互の間の距離をもって検索処理を行う段階と、を含むことを特徴とする。
【００１８】
また、本発明にかかる文書検索方法は、複数の検索対象文書に於ける、検索対象語の有無を検索する文書検索方法であって、第１の検索対象語をもって、複数の検索対象文書を検索する段階と、前記検索により摘出された検索対象文書を収納する段階と、第２の検索対象語を、その類義語を含めて選択する段階と、前記第２の検索対象語の、相互の間の距離を設定する段階と、前記収納された検索対象文書に対し、前記第２の検索対象語及び当該検索対象語の相互の間の距離をもって検索処理を行う段階とを含むことを特徴とする。
【００１９】
また、本発明にかかる文書検索方法は、複数の検索対象文書に於ける、検索対象語の有無を検索する文書検索方法であって、第１の検索対象語をもって、複数の検索対象文書を検索する段階と、前記検索により摘出された検索対象文書をダウンロードする段階と、第２の検索対象語を、その類義語を含めて選択する段階と、前記第２の検索対象語の、相互の間の距離を設定する段階と、前記ダウンロードされた被検索対象文書に対し、前記第２の検索対象語及び当該検索対象語の相互の間の距離をもって検索処理を行う段階と、を含むことを特徴とする。
【００２０】
また、上記発明において、前記第２の検索対象語として、複数個の検索対象語が含まれることを特徴とする。
【００２１】
また、本発明にかかる文書検索プログラム、文書検索方法、および文書検索装置は、複数の検索キーワードの入力を受け付け、入力された複数の検索キーワードと一致または関連する文字列を検索対象文書の中から検索し、検索された文字列（以下、「検索文字列」という）の出現位置のうちいずれか一つの検索文字列の出現位置を先頭位置として、当該先頭位置の検索文字列以外の残余の検索文字列が前記先頭位置以降で最初に出現した各出現位置のうち最も離れた出現位置を末尾位置として検出し、検出された先頭位置から検出された末尾位置までの距離を算出し、算出された算出結果に基づいて、前記検索対象文書を抽出候補に決定することを特徴とする。
【００２２】
本発明によれば、少ない処理回数で、キーワード間の関連性の高い文字列を含んだ検索対象文書を抽出候補に決定することができる。
【００２３】
また、上記発明において、算出された距離が所定距離以下の場合に、前記検索対象文書を抽出候補に決定することとしてもよい。
【００２４】
本発明によれば、少ない処理回数で、よりキーワード間の関連性の高い文字列を含んだ検索対象文書を抽出候補に決定することができる。
【００２５】
また、上記発明において、ＯＲ条件で結合される複数個の同義語または複数個の類義語からなる複数の検索キーワード群の入力を受け付け、入力された複数の検索キーワード群がＡＮＤ条件で結合された検索条件を満足する文字列を検索対象文書の中から検索することとしてもよい。
【００２６】
本発明によれば、少ない処理回数で、キーワード間の関連性のより高い文字列を含んだ検索対象文書を抽出候補に決定することができる。
【００２７】
また、上記発明において、抽出候補に決定された検索対象文書の集合の中からの、任意の検索対象文書の選択を受け付け、選択された検索対象文書の内容を表示画面に表示させることとしてもよい。
【００２８】
本発明によれば、少ない処理回数で、キーワード間の関連性のより高い文字列を含んだ検索対象文書を抽出し、表示させることができる。
【００２９】
また、上記発明において、選択された検索対象文書の内容を表示するとともに、前記先頭位置の検索文字列の先頭文字から、前記末尾位置の検索文字列の末尾文字までの文字列（検索条件該当文字列）を強調表示することとしてもよい。
【００３０】
本発明によれば、検索対象文書が表示されている画面上における、検索条件該当文字列の認識性を高めることができる。
【００３１】
また、上記発明において、強調表示する検索条件該当文字列の切り替え指示の入力を受け付け、入力された切り替え指示の内容に応じて、強調表示されている検索条件該当文字列を、当該検索条件該当文字列とは別の検索条件該当文字列へ切り替えることとしてもよい。
【００３２】
本発明によれば、検索対象文書が表示されている画面上における、検索条件該当文字列の認識性をより高めることができる。
【００３３】
また、上記発明において、強調表示された文字列（以下、「強調表示文字列」という）に含まれた検索文字列を、前記強調表示文字列の強調表示方法とは異なる強調表示方法によって強調表示することとしてもよい。
【００３４】
本発明によれば、検索対象文書が表示されている画面上において、検索条件該当文字列と検索文字列との両方の認識性を高めることができる。
【発明の効果】
【００３５】
本発明にかかる文書検索プログラム、文書検索方法、および文書検索装置によれば、少ない処理回数で文書を検索することによって、文書検索処理にかかる処理時間の短時間化を図ることができるだけでなく、より利便性を高めることができる。
【発明を実施するための最良の形態】
【００３６】
（実施の形態１）
以下に添付図面を参照して、本発明にかかる文書検索プログラム、文書検索方法、および文書検索装置の実施の形態１について説明する。
【００３７】
（文書検索装置のハードウェア構成）
まず、本発明の実施の形態１にかかる文書検索装置のハードウェア構成について、図１を用いて説明する。図１は、本発明の実施の形態１にかかる、文書検索装置のハードウェア構成を示すブロック図である。
【００３８】
当該文書検索装置１００は、図１に示される様に、パーソナル・コンピュータなどの処理装置である。即ち、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ＨＤＤ（ハードディスクドライブ）１０４、ＨＤ（ハードディスク）１０５、並びにＦＤＤ（フレキシブルディスクドライブ）１０６などを具備する。当該ＦＤＤには、ＦＤ（フロッピィディスク）１０７が挿抜される。そしてディスプレイ１０８、Ｉ／Ｆ（インターフェース）１０９、キーボード１１０、マウス１１１、スキャナ１１２、プリンタ１１３などを備えており、各構成要素は、バス１２０によって相互に接続されている。
【００３９】
ここで、ＣＰＵ１０１は、文書検索装置１００の全体の制御を司る。ＲＯＭ１０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ１０３は、ＣＰＵ１０１のワークエリアとして使用される。ＨＤＤ１０４は、ＣＰＵ１０１の制御に従ってＨＤ１０５に対するデータのリード／ライトを制御する。ＨＤ１０５は、ＨＤＤ１０４の制御で書き込まれたデータを記憶する。
【００４０】
ＦＤＤ１０６は、ＣＰＵ１０１の制御に従ってＦＤ１０７に対するデータのリード／ライトを制御する。ＦＤ１０７は、ＦＤＤ１０６の制御によりで書き込まれたデータの記憶・保持を行う。
【００４１】
尚、着脱可能な記録媒体として、ＦＤ１０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、メモリーカードなどが適用可能である。
【００４２】
一方、ディスプレイ１０８は、カーソル、アイコンあるいはツールボックスをはじめ、文章、画像、機能情報などのデータを表示する。このディスプレイ１０８は、たとえば、ＣＲＴ、液晶ディスプレイ、あるいはプラズマディスプレイなどを採用することができる。
【００４３】
Ｉ／Ｆ１０９は、通信回線を通じてインターネットなどのネットワーク１１４に接続され、このネットワーク１１４を介してユーザ端末装置などの他の装置に接続される。そして、Ｉ／Ｆ１０９は、ネットワーク１１４と文書検索装置１００内部とのインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ１０９には、たとえばモデムあるいはＬＡＮアダプタなどを採用することができる。
【００４４】
キーボード１１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドあるいはテンキーなどであってもよい。マウス１１１は、カーソルの移動あるいは範囲選択、あるいはウィンドウの移動あるいはサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールあるいはジョイスティックなどであってもよい。
【００４５】
スキャナ１１２は、画像を光学的に読み取り、文書検索装置１００内部に画像データを取り込む。なお、スキャナ１１２は、ＯＣＲ機能を持たせてもよい。また、プリンタ１１３は、画像データあるいは文章データを印刷する。プリンタ１１３としては、レーザプリンタあるいはインクジェットプリンタを採用することができる。
【００４６】
なお、本実施の形態１においては、文書検索処理を行う文書検索装置１００の一例としてパーソナル・コンピュータを用いたが、これに限らず、たとえば、大型（ホスト）・コンピュータ、あるいは携帯情報端末などの装置であってもよい。
【００４７】
（検索対象文書の一例）
次に、本発明の実施の形態１にかかる文書検索装置１００において検索の対象とされる文書の一例について、図２−１、図２−２を用いて説明する。
【００４８】
図２−１に示される検索対象文書２００は、図１に示したＨＤ１０５に設けられたフォルダ「Ｃ：￥ｄａｔａ」に格納されている複数の検索対象文書のうちの一つであり、ファイル名「○○文書．ｔｘｔ」を有する。
【００４９】
当該検索対象文書２００には、文字列「ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ・・・」が記録されているとする。説明を簡略化するため、文字列「ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ・・・」としているが、任意の文字列である。このとき、検索対象語を「ＢＣ」、「ＦＧ」、「ＩＧ」の３つとすると、図２−１において、Ｋ１は検索対象文書２００の中から最初に検索された検索対象語（以下キーワードと称する）の出現位置を、Ｋ２は検索対象文書２００の中から２番目に検索されたキーワード該当文字の出現位置を、Ｋ３は検索対象文書２００の中から３番目（最後）に検索されたキーワード該当文字の出現位置を、ＤはＫ１−Ｋ３間の距離を示す。ここで、本実施の形態１においては、以下に示す数式（２）を用いて２つのキーワード該当文字列間の距離Ｄを算出している。
【００５０】
Ｄ＝Ｋ３の先頭文字の位置−Ｋ１の先頭文字の位置・・・（２）
【００５１】
当該式（２）に沿う計算処理によって、図２−１に示される検索対象文書２００においては、２つのキーワード該当文字列間の距離として「７」が算出される。このように、本実施の形態１によれば、２つのキーワード該当文字列間の距離を算出するためには、２つの値（最初に検索されたキーワード該当文字の出現位置、最後に検索されたキーワード該当文字の出現位置）を用いた１回の減算処理を行えばよい。
【００５２】
また、本実施の形態１においては、数式（２）を用いて２つのキーワード該当文字列間の距離Ｄを算出し、算出された２つのキーワード該当文字列間の距離Ｄについて、検索条件として入力された距離範囲内か否かを判定している。そして、２つのキーワード間の距離Ｄが検索条件として入力された距離範囲内であると判断した場合に、当該検索対象文書２００が検索条件該当文書であると判断する。すなわち、キーワード数（キーワード該当文字列数）に関わらず、当該検索対象文書２００が検索条件該当文書であると判断するためには、１回の判定処理を行えばよい。
【００５３】
また、図２−２に示される検索対象文書２１０は、図１に示したＨＤ１０５に設けられたフォルダ「Ｃ：￥ｄａｔａ」に格納されている複数の検索対象文書のうちの一つであり、ファイル名「××文書．ｔｘｔ」を有する。
【００５４】
ここで、検索対象文書２００，２１０は、ＨＤ１０５に記録されているものに限らず、たとえばＦＤ１０７に記録されているもの、文書検索装置１００と接続された外部装置に記録されているものなど、文書検索装置１００からのアクセスが可能な記録媒体／装置に記録されているものであればよい。
【００５５】
（検索条件の一例）
次に、本発明の実施の形態１にかかる文書検索装置１００を用いての検索処理において適用される検索条件の一例について、図３を用いて説明する。
【００５６】
図３は、検索条件入力画面３００を示している。検索者による検索条件の入力を受け付けるために、ディスプレイ１０８の画面上に表示された画面であり、キーワード群入力欄３１０、近接文字数入力欄３２０、検索場所入力欄３３０、ならびにＯＫボタン３４０を具備している。
【００５７】
前記キーワード群入力欄３１０には、検索用キーワード群が入力される。当該キーワード群とは、検索文字列とする複数個の類義語あるいは同義語をグループ化したものであり、このキーワード群に含まれる類義語あるいは同義語は、文書検索処理が行われる際には、ＯＲ条件によって結合され、検索条件式として用いられる。なお、以下の説明にあっては、類義語を対象として挙げ説明するが、同義語も同様に適用される。
【００５８】
図３に示される検索条件入力画面３００に於ける検索条件にあっては、「キーワード群１」には、３つの類義語（「ＢＢ」、「ＢＣ」および「ＢＤ」）が入力されている。これにより、文書検索処理が行われる際には、「ＢＢ∪ＢＣ∪ＢＤ」（∪＝ｏｒ）が検索条件式として用いられる。同様に、「キーワード群２」には、３つの類義語（「ＦＥ」、「ＦＦ」および「ＦＧ」）が入力されている。これにより、文書検索処理が行われる際には、「ＦＥ∪ＦＦ∪ＦＧ」が検索条件式として用いられる。さらに、「キーワード群３」には、３つの類義語（「ＩＪ」、「ＩＫ」および「ＹＺ」）が入力されている。これにより、文書検索処理が行われる際には、「ＩＪ∪ＩＫ∪ＹＺ」が検索条件式として用いられる。
【００５９】
このように、キーワード群入力欄３１０には、複数個のキーワード群が入力される。これら複数個のキーワード群は、文書検索処理が行われる際には、ＡＮＤ条件によって結合され、検索条件式として適用される。
【００６０】
図３に示される検索条件にあっては、前述のごとく「キーワード群１」には、類義語「ＢＢ」、「ＢＣ」および「ＢＤ」が入力され、「キーワード群２」には、類義語「ＦＥ」、「ＦＦ」および「ＦＧ」が入力され、そして「キーワード群３」には、類義語「ＩＪ」、「ＩＫ」および「ＹＺ」が入力されている。従って、文書検索処理が行われる際には、「（ＢＢ∪ＢＣ∪ＢＤ）∩（ＦＥ∪ＦＦ∪ＦＧ）∩（ＩＪ∪ＩＫ∪ＹＺ）」（∩＝ａｎｄ）が検索条件式として適用される。
【００６１】
なお、検索条件入力画面３００においては、検索条件として、３つのキーワード群が指定できる状態を示している。本発明にあっては、勿論これに限られず、検索条件として４つ以上のキーワード群を指定可能とすることもできる。同様に、検索条件として、１つのキーワード群に対して３つの類義語を指定できる状態を示しているが、こちらもこれに限らず、検索条件として４つ以上の類義語の指定を可能とすることもできる。
【００６２】
また、近接文字数入力欄３２０には、近接文字数が入力される。当該近接文字数とは、検索対象文書２００から検索された２つのキーワード該当文字列間の距離（文字数）を指すものである。図３に示す入力条件においては、近接文字数として「１０」が入力されている。この場合、検索対象文書２００から検索された２つのキーワード該当文字列間の距離が「１０」以下であれば、当該２つのキーワード該当文字列を含む文字列は検索条件該当文字列とされ、キーワード間の距離が「１１」以上であれば、当該キーワードを含む文字列は検索条件該当文字列とされない。
【００６３】
一方、検索場所入力欄３３０には、検索対象文書が置かれたフォルダ（以下、「検索対象フォルダ」という）のフォルダ名が入力される。図３に示す入力条件においては、検索対象フォルダのフォルダ名として「Ｃ：￥ｄａｔａ」が入力されている。ここでは、検索対象フォルダとして、文書検索装置１００からのアクセスが可能な外部装置上に設けられたフォルダを指定することもできる。なお、検索対象フォルダとして、複数のフォルダを指定することができるようにしてもよい。
【００６４】
そして、図３に示されるように、検索条件入力画面３００において検索条件が入力された状態から、ＯＫボタン３４０を押下することにより、上記検索条件がテキストデータ形式などによって記録された検索条件情報が生成される。
【００６５】
（検索条件情報の一例）
次に、検索条件情報の一例について説明する。図４は、本発明の実施の形態１にかかる文書検索装置１００に用いられる検索条件情報の一例を示す。図４において、検索条件情報４００は、図３に示した検索条件入力画面３００において入力された検索条件が記録されている。
【００６６】
この検索条件情報４００は、図１に示したＲＡＭ１０３などに一時的に記録されており、後に図１３を用いて説明するところの文書検索処理において、入力部５０１（図５参照）により読み取られる。ここで、検索条件情報４００は、各種検索条件を判別することができる形式であれば、どのようなフォーマットによって記録されたものであってもよい。
【００６７】
（文書検索装置の機能的構成）
本発明の実施の形態１にかかる文書検索装置１００の機能的構成について、図５を用いて説明する。図５は、本発明の実施の形態１にかかる文書検索装置１００の機能的構成を示すブロック図である。
【００６８】
図５に示されるように、当該文書検索装置１００は、入力部５０１、検索／検出部５０２、検索／検出部５０２、算出部５０３、決定部５０４、選択部５０５、表示部５０６、指示部５０７、ならびに切替部５０８を具備して構成されている。
【００６９】
前記入力部５０１は、複数の検索キーワードを含む検索条件情報４００の入力を受け付ける。前記図３に示した検索条件入力画面３００から検索条件が入力されることにより、生成された検索条件情報４００（図４参照）を読み取る。
【００７０】
また、検索／検出部５０２は、入力部５０１によって入力された検索条件情報４００に示されている検索条件に設定されているキーワード群ごとに、キーワード該当文字列を検索し、その出現位置を求める。
【００７１】
また、算出部５０３は、検索／検出部５０２によって検索されたキーワード該当文字列のうち、検索対象文書内において最初に出現するキーワード該当文字列の先頭文字の位置と、最後に出現するキーワード該当文字列の先頭文字の位置との距離を算出する。
【００７２】
一方、決定部５０４は、算出部５０３によって算出された距離が、入力部５０１によって入力された検索条件情報４００に示されている検索条件に設定されている近接文字数以下か否かを判定する。そして、当該決定部５０４は、算出部５０３によって算出された距離が入力部５０１によって入力された検索条件情報４００に示されている検索条件に設定されている近接文字数以下であると判定された際に、検索対象文書内において最初に出現するキーワード該当文字列の先頭文字から、最後に出現するキーワード該当文字列の末尾文字までの文字列を、検索条件該当文字列と決定する。そして、決定部５０４は、検索条件該当文字列を含む検索対象文書を検索条件該当文書（抽出候補）と決定する。
【００７３】
なお、前記入力部５０１、検索／検出部５０２、算出部５０３ならびに決定部５０４は、前記図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５あるいはＦＤ１０７に記憶されたプログラムをＣＰＵ１０１が実行することにより、その機能が発揮される。
【００７４】
そして、前記選択部５０５は、表示部５０６によって表示された検索対象文書の一覧の中から、検索者の入力に基づく検索対象文書の選択を受け付ける。即ち、当該選択部５０５は、図１に示したキーボード１１０および／あるいはマウス１１１を用いての入力によってその機能を果たす。
【００７５】
一方、表示部５０６は、決定部５０４によって検索条件該当文書と決定された検索対象文書の一覧を表示する。また、当該表示部５０６は、表示された検索対象文書の一覧の中から、選択部５０５において選択された検索対象文書の内容を表示する。そして、表示部５０６は、表示された検索対象文書の中から、決定部５０４によって決定・指示された一つの検索条件該当文字列を強調表示する。
【００７６】
なお、表示部５０６によって表示された検索対象文書の一覧の一例については、後に図１０を用いて説明する。また、表示部５０６によって表示された検索対象文書の一例については、後に図１１を用いて説明する。当該表示部５０６は、前記図１に示したディスプレイ１０８が該当する。
【００７７】
更に、前記指示部５０７は、強調表示する検索条件該当文字列の切り替え指示の入力、ならびに文書検索処理の終了指示の入力を受け付ける。当該指示部５０７は、前記図１に示したキーボード１１０および／あるいはマウス１１１が該当する。
【００７８】
また、前記切替部５０８は、強調表示する検索条件該当文字列の切り替え指示信号の入力が指示部５０７によって受け付けられた場合、強調表示する検索条件該当文字列を切り替える。なお、切替部５０８によって強調表示する検索条件該当文字列が切り替えられた検索対象文書の一例については、後に図１２を用いて説明する。当該切替部５０８は、図１に示したディスプレイ１０８によってその機能を実現する。
【００７９】
（検索条件該当文字列および検索条件該当文書の決定処理の手順）
次に、検索条件該当文字列ならびに検索条件該当文書の決定処理の手順について、図６を用いて説明する。図６−１および図６−２は、検索条件該当文字列および検索条件該当文書の決定処理の手順の一例を示すフローチャートである。
【００８０】
図６−１において、まず、検索／検出部５０２によって、検索条件情報４００に示されている検索条件（検索場所）によって特定されるフォルダに格納されている検索対象文書を一つ選択する（ステップＳ６０１）。たとえば、図４に示した検索条件情報４００に示されている検索条件によって特定されるフォルダ「Ｃ：￥ｄａｔａ」に格納されている検索対象文書２００の一つとして、図２−１に示したファイル名「○○文書．ｔｘｔ」を有する検索対象文書２００、または図２−２に示したファイル名「××文書．ｔｘｔ」を有する検索対象文書２１０を選択する。
【００８１】
次に、検索／検出部５０２によって、検索対象文書における検索開始位置を初期化する（ステップＳ６０２）。具体的には、検索対象文書における検索開始位置を１文字目とする。次に、検索／検出部５０２によって、キーワード該当文字列の出現位置を求める（ステップＳ６０３）。具体的には、ステップＳ６０１で選択された検索対象文書内の検索開始位置以降において、検索条件情報４００に示されている検索条件に設定されている類義語ごとに、検索対象文書内において最初に出現するキーワード該当文字列を検索し、その出現位置を求める。
【００８２】
ここで、キーワード該当文字列の出現位置は、たとえば、ＶＢ（Ｖｉｓｕａｌ  Ｂａｓｉｃ）のＩｎＳｔｒ関数を用いて求めることができる。この関数は、キーワード該当文字列が出現しない場合は「０」を出力するため、キーワード該当文字列が出現しない場合であっても、その旨を把握することができる。なお、検索／検出部５０２によって求められたキーワード該当文字列の出現位置の一例については、後に図７−１および図７−２を用いて説明する。
【００８３】
次に、決定部５０４によって、検索条件情報４００に示されたキーワード群のうち、キーワード該当文字列が出現しなかったキーワード群があるか否かを判定する（ステップＳ６０４）。ここで、決定部５０４は、ステップＳ６０３で検索処理がおこなわれた結果、キーワード該当文字列の出現位置がすべて「０」のキーワード群がある場合、キーワード該当文字列が出現しなかったキーワード群があると判定する。
【００８４】
たとえば、図７−１に示す表７００に基づいた上記判定処理をおこなった場合、いずれのキーワード群も、キーワード該当文字列の出現位置がすべて「０」のキーワード群に該当しないため、キーワード該当文字列が出現しなかったキーワード群がないと判定する。また、図７−２に示す表７１０に基づいた上記判定処理をおこなった場合、キーワード群「キーワード群１」がキーワード該当文字列の出現位置がすべて「０」のキーワード群に該当するため、キーワード該当文字列が出現しなかったキーワード群がある。即ち、全てのキーワード群が出現していないと判定する。
【００８５】
ステップＳ６０４において、キーワード該当文字列が出現しなかったキーワード群がない、即ち、全てのキーワード群が出現したと判定した場合（ステップＳ６０４：Ｙｅｓ）は、検索／検出部５０２によって、ステップＳ６０３で検索されたキーワード該当文字列のうち、最初に出現するキーワード該当文字列の出現位置をキーワード群ごとに求める（ステップＳ６０５）。なお、検索／検出部５０２によって求められた、最初に出現するキーワード該当文字列の出現位置の一例については、後に図８を用いて説明する。
【００８６】
そして、検索／検出部５０２によって、ステップＳ６０５で求められたキーワード該当文字列のうち最初および最後に出現するキーワード該当文字列の出現位置を求める（ステップＳ６０６）。なお、検索／検出部５０２によって求められた、最初および最後に出現するキーワード該当文字列の出現位置の一例については、後に図９を用いて説明する。
【００８７】
さらに、算出部５０３によって、ステップＳ６０６で求められた最初に出現するキーワード該当文字列の出現位置と、同じくステップＳ６０６で求められた最後に出現するキーワード該当文字列の出現位置との距離を求める（ステップＳ６０７）。たとえば、図９に示すように、ステップＳ６０６で求められた最初に出現するキーワード該当文字列の出現位置が「２」であり、最後に出現するキーワード該当文字列の出現位置が「９」である場合、その距離として「７」が求められる。
【００８８】
そして、決定部５０４によって、ステップＳ６０７で求められた距離が、検索条件情報４００に示されている近接文字数以下か否かを判定する（ステップＳ６０８）。ステップＳ６０８において、ステップＳ６０７で求められた距離が、検索条件情報４００に示されている近接文字数以下であると判定した場合（ステップＳ６０８：Ｙｅｓ）は、決定部５０４によって、ステップＳ６０６で求められた最初に出現するキーワード該当文字列の先頭文字から、最後に出現するキーワード該当文字列の末尾文字までの文字列を、検索条件該当文字列と決定して（ステップＳ６０９）、ステップＳ６１０へ進む。
【００８９】
たとえば、ステップＳ６０１で選択された検索対象文書が、図２−１に示した検索対象文書２００（ファイル名「○○文書．ｔｘｔ」）であり、図９に示すように、ステップＳ６０６で求められた最初に出現するキーワード該当文字列の出現位置が「２」であり、最後に出現するキーワード該当文字列の出現位置が「９」である場合、決定部５０４は、文字列「ＢＣＤＥＦＧＨＩＪ」を、検索条件該当文字列と決定する。
【００９０】
一方、ステップＳ６０８において、ステップＳ６０７で求められた距離が、検索条件情報４００に示されている近接文字数以下ではないと判定した場合（ステップＳ６０８：Ｎｏ）は、ステップＳ６０９を飛ばして、ステップＳ６１０へ進む。
【００９１】
次に、検索／検出部５０２によって、検索対象文書における検索開始位置を更新する（ステップＳ６１０）。具体的には、検索対象文書における検索開始位置を「ステップＳ６０６で求められた最初に出現するキーワード該当文字列の出現＋１」へ更新する。たとえば、図９に示すように、ステップＳ６０６で求められた最初に出現するキーワード該当文字列の出現位置が「２」である場合は、検索開始位置を「３」へ更新する。そして、ステップＳ６０３へ戻って、ステップＳ６０３〜ステップＳ６１０を繰り返し行う。これにより、ステップＳ６０１で選択された検索対象文書に含まれる検索条件該当文字列を繰り返し決定することができる。
【００９２】
一方、ステップＳ６０４において、キーワード該当文字列が出現しなかったキーワード群がある、即ち、全てのキーワード群が出現していないと判定した場合（ステップＳ６０４：Ｎｏ）は、ステップＳ６０５〜ステップＳ６１０を飛ばして、決定部５０４によって、ステップＳ６０１で選択された検索対象文書において１件以上の検索条件該当文字列が決定されたか否かを判定する（ステップＳ６１１）。
【００９３】
ステップＳ６１１において、１件以上の検索条件該当文字列が決定されたと判定した場合（ステップＳ６１１：Ｙｅｓ）は、決定部５０４によって、ステップＳ６０１で選択された検索対象文書を、検索条件該当文書と決定して（ステップＳ６１２）、ステップＳ６１３へ進む。
【００９４】
一方、ステップＳ６１１において、複数の検索条件該当文字列が決定されていないと判定した場合（ステップＳ６１１：Ｎｏ）は、ステップＳ６１２を飛ばして、ステップＳ６１３へ進む。
【００９５】
そして、検索／検出部５０２によって、検索条件情報４００に示されている検索条件（検索場所）によって特定されるフォルダに格納されている検索対象文書がすべて選択されたか否かを判断する（ステップＳ６１３）。ステップＳ６１３において、検索対象文書２００がすべて選択されたと判断した場合（ステップＳ６１３：Ｙｅｓ）は、一連の処理を終了する。
【００９６】
一方、ステップＳ６１３において、検索対象文書がすべて選択されていないと判断した場合（ステップＳ６１３：Ｎｏ）は、ステップＳ６０１に戻り、ステップＳ６１３において、検索対象文書がすべて選択されたと判断されるまで、ステップＳ６０１〜ステップＳ６１３を繰り返し行う。これにより、検索条件情報４００に示されている検索条件（検索場所）によって特定されるフォルダに格納されているすべての検索対象文書に対して、上記手順による決定処理を行い、検索条件該当文字列および検索条件該当文書を決定することができる。
【００９７】
なお、図６−１は、「検索条件該当文書の決定」ステップＳ６１２に先立ち、検索対象文書に含まれる“全ての”「検索条件該当文字列の決定」ステップＳ６０９を行う例について示したものである。これに対し、検索条件該当文書を決定するだけならば、図６−２に示すように、検索対象文書内に一箇所目の「近接文字数以下」（ステップＳ６０８）の箇所が存在した場合に「検索条件該当文書の決定」（ステップＳ６１２）を行い、二箇所目以降の「検索条件該当文字列の決定」をスキップしても良い。
【００９８】
（キーワード該当文字列の出現位置の一例）
次に、検索／検出部５０２によって求められたキーワード該当文字列の出現位置の一例について、図７を用いて説明する。図７−１および図７−２は、検索／検出部５０２によって求められたキーワード該当文字列の出現位置の一例を示す。
【００９９】
図７−１において、表７００は、図２−１に示した検索対象文書２００（ファイル名「○○文書．ｔｘｔ」）内の検索開始位置以降（１文字目以降）において、図４に示した検索条件情報４００に示されている類義語毎に、最初に出現するキーワード該当文字列の出現位置を示したものであり、これらの出現位置は検索／検出部５０２によって求められたものである。
【０１００】
前記表７００には、キーワード群「キーワード群１」に含まれている類義語「ＢＣ」に「２」が設定されており、当該類義語「ＢＣ」に関するキーワード該当文字列が２文字目の位置に出現したことが示されている。また、キーワード群「キーワード群１」に含まれている類義語「ＢＢ」および「ＢＤ」に「０」が設定されており、当該類義語「ＢＢ」および「ＢＤ」に関するキーワード該当文字列が出現しなかったことが示されている。
【０１０１】
一方、図７−２において、表７１０は、図２−２に示した検索対象文書２１０（ファイル名「××文書．ｔｘｔ」）内の検索開始位置以降（１文字目以降）において、図４に示した検索条件情報４００に示されている類義語ごとに、最初に出現するキーワード該当文字列の出現位置を示したものであり、これらの出現位置は検索／検出部５０２によって求められたものである。
【０１０２】
図７−２に示す表７１０には、キーワード群「キーワード群１」に含まれているすべての類義語（「ＢＢ」、「ＢＣ」および「ＢＤ」）には「０」が設定されており、これらすべての類義語（「ＢＢ」、「ＢＣ」および「ＢＤ」）のいずれかに関するキーワード該当文字列が出現しなかったことが示されている。
【０１０３】
（最初に出現するキーワード該当文字列の出現位置の一例）
次に、検索／検出部５０２によって求められた、最初に出現するキーワード該当文字列の出現位置の一例について、図８を用いて説明する。
【０１０４】
図８において、表８００は、表７００（図７−１参照）に示したキーワード該当文字列の出現位置のうち、最初に出現するキーワード該当文字列の出現位置をキーワード群ごとに示したものであり、これらの出現位置は検索／検出部５０２において求められたものである。
【０１０５】
当該表８００において、キーワード群「キーワード群１」には、類義語「ＢＣ」および出現位置「２」が設定されている。キーワード群「キーワード群１」に含まれるすべての類義語（「ＢＢ」、「ＢＣ」および「ＢＤ」）のうち、類義語「ＢＣ」に関するキーワード該当文字列が、最初に出現するキーワード該当文字列であり、その出現位置は２文字目であることが示されている。
【０１０６】
また、キーワード群「キーワード群３」には、類義語「ＩＪ」および出現位置「９」が設定されている。即ち、キーワード群「キーワード群３」に含まれるすべての類義語（「ＩＪ」、「ＩＫ」および「ＹＺ」）のうち、類義語「ＩＪ」に関するキーワード該当文字列が、最初に出現するキーワード該当文字列であり、その出現位置は９文字目であることが示されている。
【０１０７】
（最初および最後に出現するキーワード該当文字列の出現位置一例）
次に、検索／検出部５０２によって求められた、最初および最後に出現するキーワード該当文字列の出現位置の一例について、図９を用いて説明する。
【０１０８】
図９において、表９００は、前記表８００に示したキーワード該当文字列の出現位置のうち、最初および最後に出現するキーワード該当文字列の出現位置を示したものであり、これらの出現位置は、検索／検出部５０２によって求められたものである。
【０１０９】
当該表９００において、「最初に出現するキーワード該当文字列」には、類義語「ＢＣ」および出現位置「２」が設定されており、前記表８００に示したすべての類義語（「ＢＣ」、「ＦＧ」および「ＩＪ」）のうち、類義語「ＢＣ」に該当するキーワード該当文字列が最初に出現するキーワード該当文字列であって、その出現位置は２文字目であることが示されている。
【０１１０】
また、「最後に出現するキーワード該当文字列」には、類義語「ＩＪ」および出現位置「９」が設定されており、表８００に示したすべての類義語（「ＢＣ」、「ＦＧ」および「ＩＪ」）のうち、類義語「ＩＪ」に該当するキーワード該当文字列が最後に出現するキーワード該当文字列であって、その出現位置は９文字目であることが示されている。
【０１１１】
（表示部５０６によって表示された検索対象文書の一覧の一例）
次いで、表示部５０６によって表示された検索対象文書の一覧の一例について、図１０を用いて説明する。
【０１１２】
図１０において、検索条件該当文書一覧画面１０００は、ディスプレイ１０８の画面上に表示された画面であり、検索条件表示欄１０１０と、文書表示欄１０２０とによって構成されている。当該検索条件表示欄１０１０には、検索条件入力画面３００（図３参照）によって入力された検索条件が表示されている。また、文書表示欄１０２０には、上記検索条件により摘出された検索対象文書２件が表示されている。さらに、文書表示欄１０２０には、検索対象文書ごとに、当該文書の開示用ボタン１０３０が設けられている。
【０１１３】
即ち、前記検索条件該当文書一覧画面１０００には、その文書表示欄１０２０に、フォルダ「Ｃ：￥ｄａｔａ」に格納されている検索対象文書２００のうち、ファイル名「○○文書．ｔｘｔ」を有する検索対象文書２００（図２−１参照）と、ファイル名「△△文書．ｔｘｔ」を有する検索対象文書２１０の２件が、検索条件該当文書として抽出されたことが示されている。
【０１１４】
そして、当該文書表示欄１０２０において、検索条件該当文書に対応して設けられたボタン１０３０のうち、任意のボタン１０３０が検索者によって押下されることにより、押下されたボタン１０３０に関連付けられた検索対象文書の内容が、ディスプレイ１０８の画面上に表示される。尚、図示されていないが、当該文書表示欄１０２０内に、「次」および「前」、あるいは「スクロール」のボタンを配設することにより、表示された上記２件の検索条件該当文書以外の文書に、適宜切り換えて表示することができる。
【０１１５】
（表示部５０６によって表示された検索対象文書の内容の一例）
前記表示部５０６によって表示される検索対象文書の内容の一例について、図１１を用いて説明する。
【０１１６】
図１１において、検索条件該当文書表示画面１１００は、前記検索条件該当文書一覧画面１０００（図１０参照）において、検索者により選択された検索対象文書が、ディスプレイ１０８の画面上に表示された状態を示している。当該画面は、検索条件該当文書表示欄１１１０と、切り換えボタン１１２０および終了ボタン１１３０とにより構成されている。検索条件該当文書表示欄１１１０には、検索条件該当文書一覧画面１０００において選択された検索対象文書の内容が表示されている。
【０１１７】
当該検索条件該当文書表示画面１１００には、前記検索条件該当文書一覧画面１０００において選択された検索対象文書として、ファイル名「○○文書．ｔｘｔ」を有する検索対象文書２００（図２−１参照）の内容が表示されている。
【０１１８】
また、検索条件該当文書表示欄１１１０に表示された検索対象文書の内容のうち、決定部５０４によって決定された検索条件該当文字列Ｓ１が下線によって強調表示されている。さらに、検索条件該当文字列Ｓ１に含まれるキーワード該当文字列「ＢＣ」「ＦＧ」および「ＩＪ」が太字によって強調表示されている。
【０１１９】
そして、当該検索条件該当文書表示画面１１００の表示は、検索者によって切り換えボタン１１２０が押下されることにより、強調表示する検索条件該当文字列を切り替えることができる。また、当該検索条件該当文書表示画面１１００の表示は、終了ボタン１１３０が押下されることにより終了することができる。
【０１２０】
（強調表示する検索条件該当文字列が切り替えられた検索条件該当文書の一例）
次に、切替部５０８によって強調表示する検索条件該当文字列が切り替えられた検索条件該当文書の一例について、図１２を用いて説明する。
【０１２１】
図１２に示す検索条件該当文書表示画面１１００においては、前記検索条件該当文書表示画面１１００（図１１参照）の状態から、検索者により切り換えボタン１１２０が押下されたことによって、強調表示される検索条件該当文字列が検索条件該当文字列Ｓ１から検索条件該当文字列Ｓ２に切り替えられている。これにより、検索条件該当文字列Ｓ２が下線によって強調表示されている。さらに、検索条件該当文字列Ｓ２に含まれるキーワード該当文字列「ＢＣ」「ＦＧ」および「ＩＪ」が太字によって強調表示されている。
【０１２２】
そして、当該検索条件該当文書表示画面１１００の状態から、切り換えボタン１１２０が検索者によって押下されることにより、強調表示する検索条件該当文字列を更に切り替えることができる。また、当該検索条件該当文書表示画面１１００の表示は、終了ボタン１１３０が押下されることにより終了することができる。
【０１２３】
（文書検索装置１００による文書検索処理の手順）
次に、本発明の実施の形態１にかかる文書検索装置１００を用いて行われる文書検索処理の手順について、図１３に示すフローチャートを用いて説明する。
【０１２４】
まず、入力部５０１によって、検索条件情報４００を取得する（ステップＳ１３０１）。
【０１２５】
次に、検索／検出部５０２、算出部５０３、および決定部５０４によって、検索対象文書２００の集合に含まれる検索対象文書２００毎に、ステップＳ１３０１で取得された検索条件情報４００に示されている検索条件に該当する検索条件該当文字列、および検索条件該当文書を決定する（ステップＳ１３０２）。ここで検索条件該当文字列および検索条件該当文書は、たとえば図６−１を用いて説明した手順による検索条件該当文字列および検索条件該当文書の決定処理によって決定される。
【０１２６】
次に、表示部５０６によって、ステップＳ１３０２で決定された検索条件該当文書の一覧を表示する（ステップＳ１３０３）。
【０１２７】
次に、選択部５０５によって、ステップＳ１３０３で表示された検索条件該当文書の一覧の中から、表示する検索条件該当文書の選択を受け付けたか否かを判断する（ステップＳ１３０４）。表示する検索条件該当文書の選択を受け付けていないと判断した場合（ステップＳ１３０４：Ｎｏ）には、表示する検索条件該当文書の選択を受け付けたと判断されるまで、繰り返しステップＳ１３０４を実行する。
【０１２８】
一方、当該ステップＳ１３０４において、表示する検索条件該当文書の選択を受け付けたと判断した場合（ステップＳ１３０４：Ｙｅｓ）には、表示部５０６において、ステップＳ１３０４で選択された検索条件該当文書の内容を表示する（ステップＳ１３０５）。そして、表示された検索条件該当文書の中から、ステップＳ１３０２で決定された検索条件該当文字列を一つ選択し（ステップＳ１３０６）、表示部５０６において、当該選択された検索条件該当文字列を強調表示する（ステップＳ１３０７）。
【０１２９】
そして、指示部５０７によって、文書検索処理の終了指示信号の入力を受け付けたか否かを判断する（ステップＳ１３０８）。ここで、文書検索処理の終了指示信号の入力を受け付けたと判断した場合（ステップＳ１３０８：Ｙｅｓ）は、一連の処理を終了する。一方、文書検索処理の終了指示信号の入力を受け付けていないと判断した場合（ステップＳ１３０８：Ｎｏ）は、指示部５０７において、強調表示する検索条件該当文字列の切り替え指示信号の入力を受け付けたか否かを判断する（ステップＳ１３０９）。
【０１３０】
ステップＳ１３０９において、強調表示する検索条件該当文字列の切り替え指示信号の入力を受け付けていないと判断した場合（ステップＳ１３０９：Ｎｏ）は、ステップＳ１３０８に戻る。
【０１３１】
一方、ステップＳ１３０９において、強調表示する検索条件該当文字列の切り替え指示信号の入力を受け付けたと判断した場合（ステップＳ１３０９：Ｙｅｓ）は、切替部５０８によって、ステップＳ１３０２で決定された次の検索条件該当文字列を一つ選択し（ステップＳ１３１０）、切替部５０８によって、ステップＳ１３１０で選択された検索条件該当文字列を強調表示して（ステップＳ１３１１）、ステップＳ１３０８に戻る。
【０１３２】
（実施の形態２）
本発明にかかる文書検索プログラム、文書検索方法、および文書検索装置の好適な実施の形態２について詳細に説明する。なお、当該実施の形態２にかかる文書検索装置のハードウェアの構成は、前記実施の形態１と同様のため説明を省略する。
【０１３３】
（文書検索装置の機能的構成）
本発明の実施の形態２にかかる文書検索装置１２０の機能的構成について、図１６を用いて説明する。
【０１３４】
当該文書検索装置１２０は、作成部１６０１を備えてなる点において、前記実施の形態１における文書検索装置１００の機能的構成と異なる。ここで、当該作成部１６０１について説明する。
【０１３５】
当該作成部１６０１は、検索対象とする文書（検索対象文書）の集合を作成する。即ち、既存の文書検索システムなどを利用して、ユーザ入力によって任意に指定された検索条件を満たす文書を、データベースあるいはファイルサーバなどから抽出する。そして、抽出したファイルを、当該文書検索装置１２０の所定フォルダあるいは当該文書検索装置１２０からアクセスが可能なデータベースあるいはファイルサーバなどにダウンロードする。なお、当該作成部１６０１も、前記図１に示した文書検索装置１００と同様、ＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７に記憶されたプログラムを、ＣＰＵ１０１が実行することによって、その機能を発揮する。
【０１３６】
（文書検索処理の手順）
次いで、本発明の実施の形態２にかかる文書検索装置１２０を用いた文書検索処理の手順について、図１７に示すフローチャートを用いて説明する。
【０１３７】
ここで、本発明の実施の形態２にかかる文書検索処理は、検索対象文書の集合を作成する処理と、検索条件該当文書を抽出する処理と、検索条件該当文書の内容を確認する処理との、連続する３つの処理によって構成されている。なお、これら３つの処理は、一プログラムによって実行されてもよく、それぞれの処理が別のプログラムによって実行されてもよい。
【０１３８】
また、かかる検索条件該当文書の内容を確認する処理（図１７におけるステップＳ１７１１〜ステップＳ１７１６に相当する処理）の具体的な手順については、前記図１３を用いて説明した文書検索装置１００による文書検索処理の手順（ステップＳ１３０３〜ステップＳ１３１１）と同様であるため、ここでは詳細な説明を省略する。
【０１３９】
図１７に示すように、まず、検索対象文書の集合を作成する処理を行い、検索対象の文書（検索対象文書）が一つ以上含まれた文書の集合を作成（ステップＳ１７０１）する。ここで作成された検索対象文書の集合は、文書検索装置１２０における所定のフォルダに格納される。当該検索対象文書の集合を作成する処理の具体的な手順については、後に図１８を用いて説明する。
【０１４０】
しかる、フォルダに格納された検索対象文書の集合に対し、検索条件該当文書を抽出する処理行う。この為、当該検索条件該当文書を抽出する処理を行うに必要なキーワード群および近接文字数（検索条件）の入力がなされる（ステップＳ１７０２）。入力されたキーワード群および近接文字数は、文書検索装置１２０における、ＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５あるいはＦＤ１０７などの記憶媒体に一時的に格納される。キーワード群および近接文字数を入力する画面の一例については、後に図２８を用いて説明する。
【０１４１】
次いで、当該検索条件該当文書を抽出する処理を行うに必要な、検索対象の文書（検索対象文書）の集合の指定を受け付ける（ステップＳ１７０３）。これにより、当該検索条件該当文書を抽出する処理を行うプログラムは、検索対象文書の集合の所在を認識する。ここでは、ステップＳ１７０１により所定のフォルダなどに格納された検索対象文書の集合が自動的に指定される。なお、ユーザ入力によって任意の検索対象文書の集合が指定されるようにしてもよい。
【０１４２】
次に、前記ステップＳ１７０３で指定された検索対象文書の集合の中から、ステップＳ１７０２で入力された検索条件を満たしている文書を抽出する（ステップＳ１７０４）。具体的には、所定のフォルダ内の全ての文書に対して、ステップＳ１７０２で入力された検索条件を適用して検索処理を行い、当該検索条件を満たしている文書を明確化（抽出）する。
【０１４３】
次いで、ステップＳ１７０４において抽出された文書（即ちステップＳ１７０２で入力された検索条件を満たしている文書）の名称・番号等を記録媒体に記録する（ステップＳ１７０５）ことにより、検索条件該当文書の抽出作業を終了する。即ち、ステップＳ１７０４において抽出された文書のファイル名の一覧を、文書検索装置１２０における、ＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７などの記憶媒体に、一時的に格納する。このような検索条件該当文書を抽出する処理（ステップＳ１７０２〜ステップＳ１７０５）の具体的な手順については、後に図１９を用いて説明する。
【０１４４】
次いで、フォルダに格納された検索条件該当文書の内容を確認する処理を行う。即ち、検索条件該当文書を抽出する処理により抽出された文書の中からの、文書内容の確認対象とする文書の指定が行われる（ステップＳ１７１１）。当該検索条件該当文書の内容を確認するために、指定された文書の内容を表示部５０６に表示する（ステップＳ１７１２）。
【０１４５】
次いで、ステップＳ１７１２において表示された文書（表示文書）内における検索条件該当箇所を全て検索する（ステップＳ１７１３）。具体的には、前記ステップＳ１７０２において入力された検索条件を、当該検索条件の格納部から読み出し、ステップＳ１７１２において表示された文書内における検索対象箇所を全て検索する。例えば、検索条件該当文字列の先頭から数えた文字番号および範囲を検索する。
【０１４６】
次いで、前記ステップＳ１７１３において検索された結果を、記録媒体に記録する（ステップＳ１７１４）。すなわち、検索条件該当文字列の先頭から数えた文字番号および範囲の一覧を、処理装置１２０における、ＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５あるいはＦＤ１０７などの記憶媒体に一時的に格納する。
【０１４７】
しかる後、前記ステップＳ１７１２において表示された文書内の、該当文字列（検索条件該当文字列）を強調表示する（ステップＳ１７１５）。
【０１４８】
そして、検索者による入力操作に基づき、入力操作に応じた検索条件該当箇所へ表示をジャンプして（ステップＳ１７１６）、当該検索条件該当文書の内容を確認する処理を終了するか、ステップＳ１７１１に戻り、当該ステップＳ１７１１以降の処理を繰り返し行う。なお、検索条件該当箇所の表示をジャンプさせるための入力を受け付ける画面を含む、文書内容を確認する画面の一例については、後に図３０を用いて説明する。
【０１４９】
（検索対象文書の集合を作成する処理の具体的な手順）
次に、作成部１６０１（図１６参照）による、検索対象文書の集合を作成する処理の具体的な手順について、図１８に示すフローチャートを用いて説明する。
【０１５０】
まず、必要に応じ、本発明の類義語近傍検索とは別の観点で、文書の検索を行う（ステップＳ１８０１）。具体的には、たとえば既存の文書検索システムを利用して、数百万件にもおよぶ膨大なデータベースの中から、大まかな文書の絞りこみを行う。この時、たとえば特許文献を検索する場合には、例えば出願人、公開日、特許分類、及び／あるいは「半導体」など比較的広い範囲をカバーするキーワードを用いて検索する。
【０１５１】
次に、ステップＳ１８０１で検索された全ての文書の全文を、特定のコンピュータにダウンロードする（ステップＳ１８０２）。具体的には、１文書１ファイルのテキスト形式の文書として、全文書を特定のコンピュータにダウンロードする。
【０１５２】
そして、ダウンロードした全ファイルを特定のフォルダ内に移動して（ステップＳ１８０３）、検索対象文書の集合を作成する処理を終了する。このような手順により、特定のフォルダ内に格納された文書が、検索対象文書の集合となる。
【０１５３】
（検索条件該当文書を抽出する処理の具体的な手順）
次に、検索条件該当文書を抽出する処理の具体的な手順について、図１９に示すフローチャートを用いて説明する。
【０１５４】
まず、入力部５０１において、キーワード群および近接文字数（検索条件）の入力を受け付ける（ステップＳ１９０１）。なお、キーワード群および近接文字数を入力する画面の一例については、後に図２８を用いて説明する。
【０１５５】
次に、入力部５０１によって、検索対象フォルダの指定を受け付ける（ステップＳ１９０２）。
【０１５６】
次に、検索／検出部５０２において、ステップＳ１９０２で指定されたフォルダに格納されている検索対象文書を一つ選択し（ステップＳ１９０３）、選択された検索対象文書を開く。
【０１５７】
次に、検索／検出部５０２によって、ステップＳ１９０３で選択された検索対象文書の全文字を一つのメモリ変数に格納する。具体的には、開かれたファイルの全文字を格納するための、文字列型（Ｓｔｒｉｎｇ）変数を一つ準備し、その変数内に、１文書の全文字列を代入する（ステップＳ１９０４）。
【０１５８】
このとき、改行により分断されている場合、分断された文字列をつなぎ合わせた状態として、当該変数内に代入する。たとえば、ステップＳ１９０３で選択された検索対象文書が、ファイル名「○○文書．ｔｘｔ」を有する検索対象文書であった場合、変数「ＤＯＣ」を準備し、この変数「ＤＯＣ」内に文字列“ＡＢＣＤＥＦＧ〜（中略）〜ＸＹＺＡＢＣＤＥＦＧ・・・”を代入する。
【０１５９】
次に、検索／検出部５０２によって、ステップＳ１９０１で入力されたキーワード群内の全てのキーワードを、メモリ変数に格納する（ステップＳ１９０５）。この時、２次元配列の文字列型（Ｓｔｒｉｎｇ）変数を一つ準備する。例えば１次元目をキーワード群の識別番号とし、２次元目をキーワード群内におけるキーワードの識別番号とする。そして、全キーワード群の全キーワードを当該変数に代入する。
【０１６０】
検索キーワードが格納された変数の一例を、図２０に示す。同図に示されるように、変数の名称を“ＫＷ”とした場合、ＫＷ（１，１）には、１番目のキーワード群の、１番目のキーワード“ＢＢ”を代入する。次いで、ＫＷ（１，２）には、１番目のキーワード群の、２番目のキーワード“ＢＣ”を代入する。同様に、変数“ＫＷ”の状態となるように、全キーワード群の全キーワードについて、変数“ＫＷ”への代入を行う。
【０１６１】
しかる後、検索／検出部５０２によって、ステップＳ１９０３で選択された検索対象文書に対する検索開始位置を初期化する（ステップＳ１９０６）。まず、検索開始位置を格納するための変数（たとえば、長整数型（Ｌｏｎｇ）変数）を準備する。そして、検索開始位置の初期値として、“１”を当該変数に代入する。
【０１６２】
次に、検索／検出部５０２によって、キーワード該当文字列の出現位置を求める（ステップＳ１９０７）。なお、キーワード該当文字列の出現位置を求める処理の具体的な手順については、後に図２５を用いて説明する。
【０１６３】
次いで、決定部５０４において、ステップＳ１９０１において入力された全てのキーワード群の出現の有無を判断する（ステップＳ１９０８）。ここで、全てのキーワード群が出現しなかったと判断した場合（ステップＳ１９０８：Ｎｏ）には、ステップＳ１９１５へ進む。一方、全てのキーワード群が出現したと判断した場合（ステップＳ１９０８：Ｙｅｓ）には、検索／検出部５０２によって、ステップＳ１９０７で出現位置が求められたキーワード該当文字列のうち、最初に出現するキーワード該当文字列の出現位置をキーワード群ごとに求める（ステップＳ１９０９）。
【０１６４】
最初に出現するキーワード該当文字列の出現位置の一例を、図２１に示す。同図において、１番目のキーワード群については、「０（１番目のキーワードの出現位置）」、「２（２番目のキーワードの出現位置）」、「０（３番目のキーワードの出現位置）」のうち、「０」を除く最小値「２」が、最初に出現するキーワード該当文字列の出現位置として求められている。
【０１６５】
また、２番目のキーワード群については、「０（１番目のキーワードの出現位置）」、「０（２番目のキーワードの出現位置）」、「６（３番目のキーワードの出現位置）」のうち、「０」を除く最小値「６」が、最初に出現するキーワード該当文字列の出現位置として求められている。
【０１６６】
そして、３番目のキーワード群については、「９（１番目のキーワードの出現位置）」、「０（２番目のキーワードの出現位置）」、「２５（３番目のキーワードの出現位置）」のうち、「０」を除く最小値「９」が、最初に出現するキーワード該当文字列の出現位置として求められている。
【０１６７】
次いで、検索／検出部５０２によって、ステップＳ１９０９で求められたキーワード該当文字列の出現位置の集合のうち、最初および最後に出現するキーワード該当文字列の出現位置を求める（ステップＳ１９１０）。
【０１６８】
最初および最後に出現するキーワード該当文字列の出現位置の一例を、図２２に示す。同図において、ステップＳ１９０９で求められた最初に出現するキーワード該当文字列の出現位置「２（１番目のキーワード群に関する）」、「６（２番目のキーワード群に関する）」、「９（３番目のキーワード群に関する）」のうち、最小値「２」が、最初に出現するキーワード該当文字列の出現位置として求められている。また、最大値「９」が、最後に出現するキーワード該当文字列の出現位置として求められている。
【０１６９】
次いで、算出部５０３において、ステップＳ１９１０で求められた最初に出現するキーワード該当文字列の出現位置と、同じくステップＳ１９１０で求められた最後に出現するキーワード該当文字列の出現位置との距離（以下、「該当文字列間距離」という）を求める（ステップＳ１９１１）。
【０１７０】
算出部５０３によって求められた該当文字列間距離の一例を、図２３に示す。同図に示すように、ステップＳ１９１０で求められた最後に出現するキーワード該当文字列の出現位置「９」と、同じくステップＳ１９１０で求められた最初に出現するキーワード該当文字列の出現位置「２」との差分である「７」が、該当文字列間距離として求められている。
【０１７１】
次いで、決定部５０４によって、ステップＳ１９１１で求められた該当文字列間距離が、ステップＳ１９０１において入力された近接文字数以下か否かを判定する（ステップＳ１９１２）。
【０１７２】
当該決定部５０４は、該当文字列間距離として「７」が求められている場合、ステップＳ１９０１で入力された近接文字数が「７」以下であれば、判定処理結果を「Ｙｅｓ」とし、ステップＳ１９０１で入力された近接文字数が「８」以上であれば、判定処理結果を「Ｎｏ」とする。
【０１７３】
ステップＳ１９１２において、該当文字列間距離が、ステップＳ１９０１で入力された近接文字数以下ではないと判定した場合（ステップＳ１９１２：Ｎｏ）は、ステップＳ１９０３で選択された検索対象文書に対する検索開始位置を更新して（ステップＳ１９１３）、ステップＳ１９０７へ戻り、ステップＳ１９０７以降の処理を繰り返し行う。
【０１７４】
検索対象文書に対する検索開始位置の更新値の一例を、図２４に示す。同図に示すように、ステップＳ１９１０で最初に出現するキーワード該当文字列の出現位置として求められた「２」に「１」を加算した値が、検索対象文書に対する検索開始位置の更新値となる。
【０１７５】
一方、ステップＳ１９１２において、該当文字列間距離が、ステップＳ１９０１で入力された近接文字数以下であると判定した場合（ステップＳ１９１２：Ｙｅｓ）は、決定部５０４によって、ステップＳ１９１０で求められた最初に出現するキーワード該当文字列の先頭文字から、同じくステップＳ１９１０で求められた最後に出現するキーワード該当文字列の末尾文字までの文字列を、検索条件該当文字列と決定したうえで、ステップＳ１９０３で選択された検索対象文書を、検索条件該当文書と決定する（ステップＳ１９１４）。
【０１７６】
このとき、検索条件該当文書を決定するだけならば、「ステップＳ１９１０で求められた最初に出現するキーワード該当文字列の先頭文字から、同じくステップＳ１９１０で求められた最後に出現するキーワード該当文字列の末尾文字までの文字列を、検索条件該当文字列と決定する」処理をおこなわずに、ステップＳ１９０３で選択された検索対象文書を、検索条件該当文書と決定しても良い。
【０１７７】
続いて、検索／検出部５０２によって、ステップＳ１９０２で指定されたフォルダに格納されている検索対象文書が全て選択されたか否かを判断する（ステップＳ１９１５）。ステップＳ１９１５において、検索対象文書が全て選択されたと判断した場合（ステップＳ１９１５：Ｙｅｓ）は、表示部５０６によって、ステップＳ１９１４で検索条件該当文書と決定された文書の一覧などを、当該一連の処理結果として出力して（ステップＳ１９１６）、当該一連の処理を終了する。なお、表示部５０６によって出力された検索条件該当文書の一覧の一例については、後に図２９を用いて説明する。
【０１７８】
一方、ステップＳ１９１５において、検索対象文書が全て選択されていないと判断した場合（ステップＳ１９１５：Ｎｏ）は、ステップＳ１９０３に戻り、ステップＳ１９０３以降の処理を繰り返し行う。これにより、ステップＳ１９０２で指定されたフォルダに格納されている全ての検索対象文書に対して、検索条件該当文書であるか否かを決定することができる。
【０１７９】
（キーワード該当文字列の出現位置を求める処理の具体的な手順）
次に、キーワード該当文字列の出現位置を求める処理の具体的な手順について、図２５に示すフローチャートを用いて説明する。
【０１８０】
まず、キーワード該当文字列の出現位置を格納するためのメモリ変数を準備する（ステップＳ２５０１）。当該メモリ変数の一例を、図２６に示す。同図に示すように、２次元配列の長整数型（Ｌｏｎｇ）変数を一つ準備して、この変数をＰ（ｍ，ｎ）とする。このとき、たとえば、１次元目をキーワード群の識別番号とし、２次元目をキーワード群内におけるキーワードの識別番号とする。
【０１８１】
次に、未検索のキーワード群の番号（識別番号）を一つ指定する（ステップＳ２５０２）。キーワード群が、図２０に示した変数ＫＷ（ｍ，ｎ）に格納されている場合、最初の検索においては、“ｍ”を“１”とする。また、次回以降の検索においては、“ｍ”を“ｍ＋１”とする。
【０１８２】
一方、ステップＳ２５０２で指定されているキーワード群内で、未検索のキーワードの番号（識別番号）を一つ指定する（ステップＳ２５０３）。キーワード群が、図２０に示した変数ＫＷ（ｍ，ｎ）に格納されている場合、最初の検索においては、“ｎ”を“１”とする。また、次回以降の検索においては、“ｎ”を“ｎ＋１”とする。
【０１８３】
次に、前記２つのステップ（ステップＳ２５０２およびステップＳ２５０３）において指定された２つの番号（識別番号）によって確定する１つのキーワードを指定する（ステップＳ２５０４）。たとえば、キーワード群が、図２０に示した変数ＫＷ（ｍ，ｎ）に格納されている場合において、ステップＳ２５０２で指定された番号が“１”であり、かつステップＳ２５０３で指定された番号が“１”である場合、ＫＷ（１，１）によって確定するキーワード「ＢＢ」を指定する。
【０１８４】
次いで、ステップＳ２５０４で指定したキーワードの、文書内での出現位置を検索する（ステップＳ２５０５）。たとえば、ＶＢ（Ｖｉｓｕａｌ  Ｂａｓｉｃ）のＩｎＳｔｒ関数を用いて、文書内の検索開始位置以降における、最初の出現位置を求める。キーワードが出現しない場合は出現位置を「０」とする。
【０１８５】
次に、ステップＳ２５０５における検索の結果得られた出現位置を、出現位置格納用のメモリ変数に代入する（ステップＳ２５０６）。ステップＳ２５０１で準備したメモリ変数が、図２６で示したＰ（ｍ，ｎ）の場合において、ステップＳ２５０５によって得られた出現位置が、ＫＷ（１，１）によって確定するキーワード「ＢＢ」に関するものであれば、この出現位置を、Ｐ（１，１）に格納する。
【０１８６】
次に、同一キーワード群内の全てのキーワードの検索が完了したか否かを判断する（ステップＳ２５０７）。ステップＳ２５０７において、全てのキーワードの検索が完了していないと判断した場合（ステップＳ２５０７：Ｎｏ）は、ステップＳ２５０３に戻って、ステップＳ２５０３以降の処理を繰り返し行う。これにより、全てのキーワードに対する検索を行うことができる。
【０１８７】
一方、ステップＳ２５０７において、全てのキーワードの検索が完了したと判断した場合（ステップＳ２５０７：Ｙｅｓ）は、全てのキーワード群の検索が完了したか否かを判断する（ステップＳ２５０８）。
【０１８８】
ステップＳ２５０８において、全てのキーワード群の検索が完了していないと判断した場合（ステップＳ２５０８：Ｎｏ）には、ステップＳ２５０２に戻り、ステップＳ２５０２以降の処理を繰り返し行う。これにより、全てのキーワード群に対する検索を行う。一方、ステップＳ２５０７において、全てのキーワード群の検索が完了したと判断した場合（ステップＳ２５０８：Ｙｅｓ）は、一連の処理を終了する。
【０１８９】
全てのキーワード群の検索が完了した後のメモリ変数の一例を、図２７に示す。同図は、図２０に示したキーワード群を検索条件として用い、図２−１に示した検索対象文書に対して、当該キーワード該当文字列の出現位置を求める処理を行った結果求められた、キーワード該当文字列の出現位置を図２６で示した変数Ｐ（ｍ，ｎ）により示したものである。
【０１９０】
（キーワード群および近接文字数を入力する画面の一例）
次に、キーワード群および近接文字数を入力する画面の一例について、図２８を用いて説明する。
【０１９１】
検索者によるキーワード群および近接文字数の入力を受け付けるために、ディスプレイ１０８（図１参照）の画面上に表示される画面を、図２８に示す。
【０１９２】
図２８に示される画面おいて、１番目のキーワード群を意味する「単語１」に対しては、１番目のキーワードを意味する「類義語１」に「無電解」が入力されている。また、２番目のキーワード群を意味する「単語２」に対しては、１番目のキーワードを意味する「類義語１」に「Ｎｉ」が入力されており、２番目のキーワードを意味する「類義語２」に「ニッケル」が入力されている。
【０１９３】
そして、３番目のキーワード群を意味する「単語３」に対しては、１番目のキーワードを意味する「類義語１」に「Ａｕ」が入力されており、２番目のキーワードを意味する「類義語２」に「金」が入力されている。さらに、４番目のキーワード群を意味する「単語４」に対しては、１番目のキーワードを意味する「類義語１」に「めっき」が入力されており、２番目のキーワードを意味する「類義語２」に「メッキ」が入力されており、３番目のキーワードを意味する「類義語３」に「鍍金」が入力されている。
【０１９４】
このようにキーワード群が入力された状態から、検索実行ボタンが押下されることにより、検索条件“「無電解」∩（「Ｎｉ」∪「ニッケル」）∩（「Ａｕ」∪「金」）∩（「めっき」∪「メッキ」∪「鍍金」）”に対応した検索条件該当文書を抽出する処理（図１９参照）が実行される。
【０１９５】
この時、近接文字数として「２０」が設定（入力）されている。検索条件該当文書を抽出する処理（図１９参照）において、求められた該当文字列間距離が「２０」以下であれば、該当文字列間距離の算出対象とされた文字列は、検索条件該当文字列として決定され、当該検索対象文字列を含んだ文書は、検索条件該当文書として決定される。なお、当該画面において、検索対象文書の集合が格納されているフォルダを選択・指定することができるようにしてもよい。
【０１９６】
（検索条件該当文書の一覧の一例）
次に、表示部５０６において表示される検索条件該当文書の一覧の一例について、図２９を用いて説明する。
【０１９７】
図２９に示される検索条件該当文書の一覧から、検索者は、検索対象文書の件数は「３２件」であり、そのうち、検索条件該当文書の数が「１３件」であると判断することができる。また、検索対象文書のそれぞれに関して、ファイル名、検索条件該当文書であるか否か、ならびに格納先などを確認することができる。
【０１９８】
さらに、当該検索条件該当文書の一覧が表示されている画面上において、任意の検索条件該当文書を選択し、これにより表示された画面（図３０参照）から、選択した文書の内容、検索条件該当文字列、検索条件に該当するキーワードなどを確認することができる。
【０１９９】
なお、本実施の形態においては、図２９の如く、検索条件該当文書の一覧を、スプレッドシート形式で出力している。かかる出力形式はこれに限られず、テキスト形式あるいはＨＴＭＬ形式をもって出力することを選択することができる。
【０２００】
（検索条件該当文書の内容を確認する画面の一例）
前述の検索条件該当文書の内容を確認する画面の一例について、図３０を用いて説明する。
【０２０１】
当該図３０に示される画面は、前記図２９に表示された３２件の検索対象文書のうちの、検索条件該当文書として選択された文書１３件の中の１件であり、かつ検索者によって選択された２２番目の文書の内容を表示している。また、他の文書の表示を指示するポップアップ画面３０００が表示されている。
【０２０２】
従って、検索者は、当該画面から、選択された文書の内容を確認することができるだけでなく、検索条件に該当する箇所、すなわち、検索条件該当文字列の件数は「４（件）」であると判断することができる。また、検索者は、検索条件該当文字列が下線によって強調表示されていることにより、検索条件該当文字列を容易に判断することができる。さらに、検索者は、検索条件として指定したキーワードが太字によって強調表示されていることにより、検索条件として指定したキーワードを容易に判断することができる。
【０２０３】
また、検索者は、ポップアップ画面３０００に設けられた「次へ」ボタン３００１を押下することにより、検索条件該当文書として選択された次の文書（２６番目の文書（図２９参照））の内容を表示させ、その内容を確認することができる。
【０２０４】
また、図３０に示される画面においては、検索条件該当文書に含まれる４件の該当箇所のうちの、２番目の該当箇所がフォーカスされており、この状態から、検索者は、ポップアップ画面３０００に設けられた「次へ」ボタン３００２を押下することにより、フォーカスを３番目の該当箇所へジャンプ・移動させ、その内容を確認することができる。
【０２０５】
以上のように、本発明の実施の形態１および実施の形態２にかかる文書検索プログラム、文書検索方法、および文書検索装置によれば、検索条件（近接文字数）と比較するための２つのキーワード該当文字列間の距離を算出するためには、２つの値（最初に出現するキーワード該当文字列の出現位置、および最後に出現するキーワード該当文字列の出現位置）を用いた１回の減算処理を行えばよいため、文書検索処理にかかる検索時間の短時間化を図ることができる。
【０２０６】
また、本発明の実施の形態１および実施の形態２にかかる文書検索プログラム、文書検索方法、および文書検索装置によれば、キーワード群に含まれる類義語の数が３つ以上であっても、１回の判定処理（検索条件（近接文字数）と、算出された２つのキーワード該当文字列間の距離との比較処理）を行えばよく、類義語の増加に伴い、必要となる判定処理の回数は増加しないため、文書検索処理にかかる検索時間の短時間化を図ることができる。
【０２０７】
さらに、本発明の実施の形態１および実施の形態２にかかる文書検索プログラム、文書検索方法、および文書検索装置によれば、検索条件該当文書を決定するのみでなく、検索条件該当文書の内容を表示し、当該検索条件該当文書内に含まれる検索条件該当文字列を強調表示することによって検索条件該当文字列の視認性を向上させることができるため、利便性をより高めることができる。
【０２０８】
さらに、本発明の実施の形態１および実施の形態２にかかる文書検索プログラム、文書検索方法、および文書検索装置によれば、強調表示する検索条件該当文字列を切り替えることによって検索条件該当文字列の認識性を向上させることができるため、利便性をより高めることができる。
【０２０９】
また、実施の形態１および実施の形態２においては、下線および太字によって検索条件該当文字列および類義語を強調表示する構成としたが、これに限らず、たとえば検索条件該当文字列の背景を着色するなど、検索条件該当文字列および類義語の認識度を高める強調表示方法であれば、どのような強調表示方法を用いてもよい。
【０２１０】
なお、実施の形態１および実施の形態２で説明した文書検索方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータあるいはワークステーション、ＣＡＤなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
【０２１１】
（付記１）検索対象語をその類義語を含め被検索対象文書内から検索する工程と、
前記検索工程において、前記検索対象語又はその類義語が最初に出現する位置を記憶する工程と、
複数の検索対象語に対して前記検索する工程及び記憶する工程を実施し、複数の検索対象語の最初の出現位置の最大位置と最小位置を求める工程と、
前記最大位置と前記最小位置とから文字間隔を算出する工程と、
前記文字間隔と予め設定された設定値とから前記被検索対象文書が適合文書であるかを判断する工程と、
を含むことを特徴とする文書検索方法。
【０２１２】
（付記２）複数の検索対象文書に於ける、検索対象語の有無を検索する文書検索方法であって、
複数の検索対象語を、その類義語を含めて選択する段階と、
前記複数の検索対象語の、相互の間の距離を設定する段階と、
検索対象文書の被検索範囲を設定する段階と、
前記被検索範囲に含まれる検索対象文書に対し、前記選択された検索対象語及び当該検索対象語の相互の間の距離をもって検索処理を行う段階と、
を含むことを特徴とする文書検索方法。
【０２１３】
（付記３）複数の検索対象文書に於ける、検索対象語の有無を検索する文書検索方法であって、
第１の検索対象語をもって、複数の検索対象文書を検索する段階と、
前記検索により摘出された検索対象文書を収納する段階と、
第２の検索対象語を、その類義語を含めて選択する段階と、
前記第２の検索対象語の、相互の間の距離を設定する段階と、
前記収納された検索対象文書に対し、前記第２の検索対象語及び当該検索対象語の相互の間の距離をもって検索処理を行う段階と
を含むことを特徴とする文書検索方法。
【０２１４】
（付記４）複数の検索対象文書に於ける、検索対象語の有無を検索する文書検索方法であって、
第１の検索対象語をもって、複数の検索対象文書を検索する段階と、
前記検索により摘出された検索対象文書をダウンロードする段階と、
第２の検索対象語を、その類義語を含めて選択する段階と、
前記第２の検索対象語の、相互の間の距離を設定する段階と、
前記ダウンロードされた被検索対象文書に対し、前記第２の検索対象語及び当該検索対象語の相互の間の距離をもって検索処理を行う段階と、
を含むことを特徴とする文書検索方法。
【０２１５】
（付記５）前記第２の検索対象語として、複数個の検索対象語が含まれることを特徴とする付記３又は４項記載の文書検索方法。
【０２１６】
（付記６）複数の検索キーワードの入力を受け付けさせる入力工程と、
前記入力工程によって入力された複数の検索キーワードと一致または関連する文字列を検索対象文書の中から検索させる検索工程と、
前記検索工程によって検索された文字列（以下、「検索文字列」という）の出現位置のうちいずれか一つの検索文字列の出現位置を先頭位置として、当該先頭位置の検索文字列以外の残余の検索文字列が前記先頭位置以降で最初に出現した各出現位置のうち最も離れた出現位置を末尾位置として検出させる検出工程と、
前記検出工程によって検出された先頭位置から前記検出工程によって検出された末尾位置までの距離を算出させる算出工程と、
前記算出工程によって算出された算出結果に基づいて、前記検索対象文書を抽出候補に決定させる決定工程と、
をコンピュータに実行させることを特徴とする文書検索プログラム。
【０２１７】
（付記７）前記決定工程は、
前記算出工程によって算出された距離が所定距離以下の場合に、前記検索対象文書を抽出候補に決定させることを特徴とする付記６に記載の文書検索プログラム。
【０２１８】
（付記８）前記入力工程は、
ＯＲ条件で結合される複数個の同義語または複数個の類義語からなる複数の検索キーワード群の入力を受け付けさせ、
前記検索工程は、
前記入力工程によって入力された複数の検索キーワード群がＡＮＤ条件で結合された検索条件を満足する文字列を前記検索対象文書の中から検索させることを特徴とする付記６または７に記載の文書検索プログラム。
【０２１９】
（付記９）前記決定工程によって抽出候補に決定された検索対象文書の集合の中からの、任意の検索対象文書の選択を受け付けさせる選択工程と、
前記選択工程によって選択された検索対象文書の内容を表示画面に表示させる表示工程と、をさらに含んだことを特徴とする付記６〜８のいずれか一つに記載の文書検索プログラム。
【０２２０】
（付記１０）複数の検索キーワードの入力を受け付ける入力工程と、
前記入力工程によって入力された複数の検索キーワードと一致または関連する文字列を検索対象文書の中から検索する検索工程と、
前記検索工程によって検索された文字列（以下、「検索文字列」という）の出現位置のうちいずれか一つの検索文字列の出現位置を先頭位置として、当該先頭位置の検索文字列以外の残余の検索文字列が前記先頭位置以降で最初に出現した各出現位置のうち最も離れた出現位置を末尾位置として検出する検出工程と、
前記検出工程によって検出された先頭位置から前記検出工程によって検出された末尾位置までの距離を算出する算出工程と、
前記算出工程によって算出された算出結果に基づいて、前記検索対象文書を抽出候補に決定する決定工程と、
を含んだことを特徴とする文書検索方法。
【産業上の利用可能性】
【０２２１】
以上のように、本発明にかかる文書検索プログラム、文書検索方法、および文書検索装置は、文書検索処理を行う装置、プログラム、サービスなどに有用であり、特に、文書検索処理にかかる処理時間の短時間化が要求される装置、プログラム、サービスなどへの利用に適している。
【図面の簡単な説明】
【０２２２】
【図１】本発明の実施の形態１にかかる文書検索装置のハードウェア構成を示すブロック図である。
【図２−１】本発明の実施の形態１にかかる文書検索装置に用いられる検索対象文書の一例を示す説明図である。
【図２−２】本発明の実施の形態１にかかる文書検索装置に用いられる検索対象文書の一例を示す説明図である。
【図３】本発明の実施の形態１にかかる文書検索装置に用いられる検索条件の一例を示す説明図である。
【図４】本発明の実施の形態１にかかる文書検索装置に用いられる検索条件情報の一例を示す説明図である。
【図５】本発明の実施の形態１にかかる文書検索装置の機能的構成を示すブロック図である。
【図６−１】検索条件該当文字列および検索条件該当文書の決定処理の手順の一例を示すフローチャートである。
【図６−２】検索条件該当文字列および検索条件該当文書の決定処理の手順の一例を示すフローチャートである。
【図７−１】検索／検出部によって求められたキーワード該当文字列の出現位置の一例を示す説明図である。
【図７−２】検索／検出部によって求められたキーワード該当文字列の出現位置の一例を示す説明図である。
【図８】検索／検出部によって求められた、最初に出現するキーワード該当文字列の出現位置の一例を示す説明図である。
【図９】検索／検出部によって求められた、最初および最後に出現するキーワード該当文字列の出現位置の一例を示す説明図である。
【図１０】表示部によって表示された検索対象文書の一覧の一例を示す説明図である。
【図１１】表示部によって表示された検索対象文書の内容の一例を示す説明図である。
【図１２】切替部によって強調表示する検索条件該当文字列が切り替えられた検索対象文書の一例を示す説明図である。
【図１３】本発明の実施の形態１にかかる文書検索装置による文書検索処理の手順の一例を示すフローチャートである。
【図１４】従来技術による２つのキーワード間の距離の算出方法の一例を示す説明図である。
【図１５】従来技術による近傍判定方法の一例を示す説明図である。
【図１６】本発明の実施の形態２にかかる文書検索装置の機能的構成を示すブロック図である。
【図１７】本発明の実施の形態２にかかる文書検索装置を用いた文書検索処理の手順の一例を示すフローチャートである。
【図１８】検索対象文書の集合を作成する処理の具体的な手順の一例を示すフローチャートである。
【図１９】検索条件該当文書を抽出する処理の具体的な手順の一例を示すフローチャートである。
【図２０】検索キーワードが格納された変数の一例を示す説明図である。
【図２１】最初に出現するキーワード該当文字列の出現位置の一例を示す説明図である。
【図２２】最初および最後に出現するキーワード該当文字列の出現位置の一例を示す説明図である。
【図２３】算出部によって求められた該当文字列間距離の一例を示す説明図である。
【図２４】検索対象文書に対する検索開始位置の更新値の一例を示す説明図である。
【図２５】キーワード該当文字列の出現位置を求める処理の具体的な手順の一例を示すフローチャートである。
【図２６】キーワード該当文字列の出現位置を格納するためのメモリ変数の一例を示す説明図である。
【図２７】全てのキーワード群の検索が完了した後のメモリ変数の一例を示す説明図である。
【図２８】キーワード群および近接文字数を入力する画面の一例を示す説明図である。
【図２９】表示部によって出力された検索条件該当文書の一覧の一例を示す説明図である。
【図３０】検索条件該当文書の内容を確認する画面の一例を示す説明図である。
【符号の説明】
【０２２３】
１００、１２０  文書検索装置
２００、２１０  検索対象文書
３００  検索条件入力画面
５０１  入力部
５０２  検索／検出部
５０３  算出部
５０４  決定部
５０５  選択部
５０６  表示部
５０７  指示部
５０８  切替部
１６０１  作成部
【図１】
2008071337.tif 000003
【図２−１】
2008071337.tif 000004
【図２−２】
2008071337.tif 000005
【図３】
2008071337.tif 000006
【図４】
2008071337.tif 000007
【図５】
2008071337.tif 000008
【図６−１】
2008071337.tif 000009
【図６−２】
2008071337.tif 000010
【図７−１】
2008071337.tif 000011
【図７−２】
2008071337.tif 000012
【図８】
2008071337.tif 000013
【図９】
2008071337.tif 000014
【図１０】
2008071337.tif 000015
【図１１】
2008071337.tif 000016
【図１２】
2008071337.tif 000017
【図１３】
2008071337.tif 000018
【図１４】
2008071337.tif 000019
【図１５】
2008071337.tif 000020
【図１６】
2008071337.tif 000021
【図１７】
2008071337.tif 000022
【図１８】
2008071337.tif 000023
【図１９】
2008071337.tif 000024
【図２０】
2008071337.tif 000025
【図２１】
2008071337.tif 000026
【図２２】
2008071337.tif 000027
【図２３】
2008071337.tif 000028
【図２４】
2008071337.tif 000029
【図２５】
2008071337.tif 000030
【図２６】
2008071337.tif 000031
【図２７】
2008071337.tif 000032
【図２８】
2008071337.tif 000033
【図２９】
2008071337.tif 000034
【図３０】
2008071337.tif 000035