(57)【特許請求の範囲】
【請求項１】
文書または検索文字列であるテキストを部分文字列に分解するテキスト分割手段と、
複数のテキストを前記テキスト分割手段で分解した結果である部分文字列の情報を保持しておく索引と、
前記テキスト分割手段で検索文字列を分解した結果である部分文字列を用いて前記文書の中から検索文字列中の部分文字列が全て含まれている文書であるスコア計算対象文書を決定するスコア計算対象文書選択手段と、
前記テキスト分割手段が検索文字列を分解した結果である部分文字列を用いて前記スコア計算対象文書選択手段が選択した前記スコア計算対象文書に対する検索文字列のスコアを計算するスコア計算手段と、
を備え、
前記スコア計算手段は、
下記に示す式（１）により計算されるスコア計算対象文書に対する各部分文字列のスコアを計算し、
ＳＣＯＲＥ（ｎ）＝ｔｆ（ｎ）＊（１＋Ｌｏｇ２（Ｎ／ｄｆ（ｎ）））・・・（１）
ＳＣＯＲＥ（ｎ）：部分文字列ｎのスコア
ｔｆ（ｎ）：部分文字列ｎのスコア計算対象文書における出現回数の最小値
Ｎ  ：登録済みの文書数
ｄｆ（ｎ）：部分文字列ｎを含む登録済みの文書数
計算した各部分文字列のスコアの和をとって、スコア計算対象文書に対する検索文字列のスコアとする、
ことを特徴とする文書検索装置。
【請求項２】
前記テキスト分割手段が検索文字列を分解した結果である部分文字列から前記検索文字列を被覆する最小個数の部分文字列を選択する検索用部分文字列選択手段を更に備え、
前記スコア計算対象文書選択手段は、前記検索用部分文字列選択手段が選択した部分文字列を用いて前記文書の中から検索文字列中の部分文字列が全て含まれている文書であるスコア計算対象文書を決定する請求項１に記載の文書検索装置。
【請求項３】
前記スコア計算手段は、前記スコア計算対象文書における検索文字列のスコアを、前記スコア計算対象文書における検索文字列の出現位置をすべて求めることで得られる検索文字列の出現回数を用いて計算するものである請求項１または２に記載の文書検索装置。
【請求項４】
前記スコア計算手段は、前記スコア計算対象文書における検索文字列の出現回数に上限値を設定し、その上限値を前記出現回数の上限とするものである請求項３に記載の文書検索装置。
【請求項５】
前記スコア計算手段は、前記スコア計算対象文書における検索文字列のスコアを、前記複数の文書の中で検索文字列を含む文書数を用いて計算するものである請求項４に記載の文書検索装置。
【請求項６】
前記スコア計算手段は、前記スコア計算対象文書における検索文字列の出現回数に上限値を設定し、その上限値を前記出現回数の上限とするものであり、前記上限値を、前記検索文字列を含む文書数に応じて設定するものである請求項５に記載の文書検索装置。
【請求項７】
前記テキスト分割手段は、前記検索文字列が処理単位の部分文字列未満の長さである場合には、前記索引から当該検索文字列と先頭部分が一致する部分文字列を全て抽出するものであり、
前記スコア計算対象文書選択手段は、前記文書のうち前記テキスト分割手段が抽出した部分文字列のいずれかを含む文書を前記スコア計算対象文書として決定するものであり、
前記スコア計算手段は、前記テキスト分割手段が抽出した部分文字列を用いて前記スコア計算対象文書選択手段が決定した前記スコア計算対象文書のスコアを計算するものである請求項１に記載の文書検索装置。
【請求項８】
前記スコア計算手段は、前記スコア計算対象文書における検索文字列のスコアを、前記スコア計算対象文書における検索文字列の出現回数を用いて計算するものである請求項７に記載の文書検索装置。
【請求項９】
前記検索用部分文字列選択手段は、検索文字列を被覆する最小個数の部分文字列を選択するためには、検索語の先頭から順に重なりがないように部分文字列を選択するものである請求項２に記載の文書検索装置。
【請求項１０】
前記検索用部分文字列選択手段は、先頭から重なりがないように部分文字列を選択するだけでは検索文字列を被覆することができない場合には、検索文字列の末尾の部分文字列も追加的に選択するものである請求項９に記載の文書検索装置。
【請求項１１】
ＣＰＵやメモリを主体として構成されるコンピュータで実行されるものであって文書または検索文字列を含む文書を検索する文書検索方法において、
文書または検索文字列であるテキストを部分文字列に分解する分割工程と、
複数のテキストを部分文字列に分解した結果である部分文字列の情報を前記メモリに保持しておく索引を参照して、前記分割工程で検索文字列を分解した結果である部分文字列を用いて前記文書の中から検索文字列中の部分文字列が全て含まれている文書であるスコア計算対象文書を決定するスコア計算対象文書選択工程と、
前記分割工程で検索文字列を分解した結果である部分文字列を用いて前記スコア計算対象文書選択工程で選択した前記スコア計算対象文書に対する検索文字列のスコアを計算するスコア計算工程と、
を含み、
前記スコア計算工程は、
下記に示す式（１）により計算されるスコア計算対象文書に対する各部分文字列のスコアを計算し、
ＳＣＯＲＥ（ｎ）＝ｔｆ（ｎ）＊（１＋Ｌｏｇ２（Ｎ／ｄｆ（ｎ）））・・・（１）
ＳＣＯＲＥ（ｎ）：部分文字列ｎのスコア
ｔｆ（ｎ）：部分文字列ｎのスコア計算対象文書における出現回数の最小値
Ｎ  ：登録済みの文書数
ｄｆ（ｎ）：部分文字列ｎを含む登録済みの文書数
計算した各部分文字列のスコアの和をとって、スコア計算対象文書に対する検索文字列のスコアとする、
ことを特徴とする文書検索方法。
【請求項１２】
文書または検索文字列であるテキストを部分文字列に分解する分割工程と、
複数のテキストを部分文字列に分解した結果である部分文字列の情報を保持しておく索引を参照して、前記分割工程で検索文字列を分解した結果である部分文字列を用いて前記文書の中から検索文字列中の部分文字列が全て含まれている文書であるスコア計算対象文書を決定するスコア計算対象文書選択工程と、
前記分割工程で検索文字列を分解した結果である部分文字列を用いて前記スコア計算対象文書選択工程で選択した前記スコア計算対象文書に対する検索文字列のスコアを計算するスコア計算工程と、
をコンピュータに実行させ、
前記スコア計算工程は、
下記に示す式（１）により計算されるスコア計算対象文書に対する各部分文字列のスコアを計算し、
ＳＣＯＲＥ（ｎ）＝ｔｆ（ｎ）＊（１＋Ｌｏｇ２（Ｎ／ｄｆ（ｎ）））・・・（１）
ＳＣＯＲＥ（ｎ）：部分文字列ｎのスコア
ｔｆ（ｎ）：部分文字列ｎのスコア計算対象文書における出現回数の最小値
Ｎ  ：登録済みの文書数
ｄｆ（ｎ）：部分文字列ｎを含む登録済みの文書数
計算した各部分文字列のスコアの和をとって、スコア計算対象文書に対する検索文字列のスコアとする、
ことを特徴とするプログラムを記憶したコンピュータに読取可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、文書検索装置、文書検索方法および記憶媒体に関する。
【０００２】
【従来の技術】
登録された文書群から指定された文字列を含む文書を検索する文書検索技術のひとつとして、検索文字列に対して表層的に類似した文字列を含む文書を検索する類似文書検索技術がある。
【０００３】
従来の関連文書検索技術の一例として、特開平１１−８５７７６号公報に開示の技術がある。かかる技術では、検索文字列を構成する全ての部分文字列の重要度（スコア）を文書における出現回数から計算し、検索文字列の文書中におけるスコアに基づいて文書中の検索文字列を検索する。
【０００４】
関連文書検索の別の従来技術としては、「全文検索システム Retrieval Express の開発と評価」（福島俊一ほか、言語処理学会第３回年次大会発表論文集、pp361364、1997年3月）に開示の技術がある。かかる技術では、検索文字列が対象文書中に出現する回数を、部分文字列の出現位置からその文書での全ての出現位置を得ることで獲得し、それに基づいて検索文字列の文書中におけるスコアを計算する。
【０００５】
【発明が解決しようとする課題】
しかし、特開平１１−８５７７６号公報に開示の技術では、複数の文書を登録した場合に、検索文字列を含む文書を検索することはできない不具合がある。
【０００６】
また、検索文字列が長くなるにしたがって検索処理で考慮する部分文字列数およびスコア計算の対象となる文書数が増大するため、検索時間が増大する不具合もある。例えば、検索文字列の例が「全文検索方法」で、２文字組を処理単位の部分文字列とするのであれば、検索文字列からは「全文」「文検」「検索」「索方」「方法」の５個の部分文字列が抽出される。一般的には、検索語の長さがｍ文字で、ｎ文字組を処理単位とした場合（ただしｍ≧ｎ）、（ｍ−ｎ＋１）個の部分文字列が抽出される。しかも、スコアの計算対象は、抽出された部分文字列の少なくとも１つが出現している位置であり、部分文字列が増大するにしたがって計算対象数も増大する。
【０００７】
さらに、ある文書におけるある部分文字列のスコアは、その部分文字列のその文書での出現回数を用いて計算されているため、検索文字列とは無関係に出現している部分文字列の出現がスコアに反映されてしまい、検索精度が低下するという不具合がある。例えば、ある文書において検索文字列である「全文検索方法」が１回しか出現していなくとも、それとは関係ない「画像処理方法」という文字列が多数出現していれば、部分文字列である「方法」の出現回数は「全文検索方法」と「画像処理方法」の出現回数の合計となり、部分文字列「方法」のスコアが検索文字列から見て不当に高くなり、検索文字列のスコアも不当に高くなってしまう。
【０００８】
そのうえ、検索文字列の長さ（文字数）が処理単位の部分文字列の長さ未満の場合、検索文字列を部分文字列に分割できないので、検索することができないという不具合もある。例えば、検索文字列が「文」で２文字組が処理単位の部分文字列である場合、検索文字列の方が短いため、提案手法を適用できない。
【０００９】
また、「全文検索システム Retrieval Express の開発と評価」に開示の技術では、特開平１１−８５７７６号公報に開示の技術と同様、検索文字列が長くなるにしたがって検索文字列の文書中の出現回数の算出に要する処理量が増大し、検索時間が増加するという不具合がある。特に、検索文字列の出現回数が多い場合には、検索時間の増加が著しくなる。
【００１０】
この発明の目的は、複数の文書を対象としても簡易かつ速やかに所望の文書を検索することができるようにすることである。
【００１１】
この発明の別の目的は、スコア計算の対象となる文書の選択およびスコア計算に要する処理量を低減して、検索を高速化することである。
【００１２】
この発明の別の目的は、検索文字列のスコアから検索文字列とは無関係な部分文字列の出現の影響を排除して、検索精度を向上させることができる。
【００１３】
この発明の別の目的は、検索文字列の出現位置を求めるための処理量を減少し、類似文書検索を高速に実現することである。
【００１４】
この発明の別の目的は、スコアの検索回数を低減して、検索を高速化することである。
【００１５】
この発明の別の目的は、検索文字列の長さが処理単位の部分文字列の長さ未満となる場合でも、検索を行うことを可能とすることである。
【００１６】
この発明の別の目的は、スコア計算の負担を低減して、検索を高速化することである。
【００１７】
【課題を解決するための手段】
請求項１に記載の発明は、文書または検索文字列であるテキストを部分文字列に分解するテキスト分割手段と、複数のテキストを前記テキスト分割手段で分解した結果である部分文字列の情報を保持しておく索引と、前記テキスト分割手段で検索文字列を分解した結果である部分文字列を用いて前記文書の中から検索文字列中の部分文字列が全て含まれている文書であるスコア計算対象文書を決定するスコア計算対象文書選択手段と、前記テキスト分割手段が検索文字列を分解した結果である部分文字列を用いて前記スコア計算対象文書選択手段が選択した前記スコア計算対象文書に対する検索文字列のスコアを計算するスコア計算手段と、を備え、前記スコア計算手段は、下記に示す式（１）により計算されるスコア計算対象文書に対する各部分文字列のスコアを計算し、
ＳＣＯＲＥ（ｎ）＝ｔｆ（ｎ）＊（１＋Ｌｏｇ２（Ｎ／ｄｆ（ｎ）））・・・（１）
ＳＣＯＲＥ（ｎ）：部分文字列ｎのスコア
ｔｆ（ｎ）：部分文字列ｎのスコア計算対象文書における出現回数の最小値
Ｎ  ：登録済みの文書数
ｄｆ（ｎ）：部分文字列ｎを含む登録済みの文書数
計算した各部分文字列のスコアの和をとって、スコア計算対象文書に対する検索文字列のスコアとする。
【００１８】
したがって、スコア計算対象文書選択手段は選択された部分文字列を使ってスコア計算を行う文書を限定し、スコア計算手段は選択された部分文字列を使って選択された文書ごとのスコアを計算するので、複数の文書を対象としても簡易かつ速やかに所望の文書を検索することができる。また、スコア計算手段は、検索文字列中の部分文字列のスコア計算対象文書におけるスコアを、スコア計算対象文書における部分文字列の出現回数のうちの最小値、登録済み文書数、検索文字列から得られる各部分文字列を含む登録済み文書数と、を用いて計算するようにしたので、検索文字列のスコアから当該検索文字列とは無関係な部分文字列の出現の影響を排除でき、検索精度を向上させることができる。
【００１９】
請求項２に記載の発明は、請求項１に記載の文書検索装置において、前記テキスト分割手段が検索文字列を分解した結果である部分文字列から前記検索文字列を被覆する最小個数の部分文字列を選択する検索用部分文字列選択手段を更に備え、前記スコア計算対象文書選択手段は、前記検索用部分文字列選択手段が選択した部分文字列を用いて前記文書の中から検索文字列中の部分文字列が全て含まれている文書であるスコア計算対象文書を決定する。
また、請求項９に記載の発明は、請求項２に記載の文書検索装置において、前記検索用部分文字列選択手段は、検索文字列を被覆する最小個数の部分文字列を選択するためには、検索語の先頭から順に重なりがないように部分文字列を選択するものである。
また、請求項１０に記載の発明は、請求項９に記載の文書検索装置において、前記検索用部分文字列選択手段は、先頭から重なりがないように部分文字列を選択するだけでは検索文字列を被覆することができない場合には、検索文字列の末尾の部分文字列も追加的に選択するものである。
【００２０】
したがって、スコア計算対象文書の選択およびスコア計算に要する処理量を低減して、検索を高速化することができる。
【００２３】
請求項３に記載の発明は、請求項１または２に記載の文書検索装置において、前記スコア計算手段は、前記スコア計算対象文書における検索文字列のスコアを、前記スコア計算対象文書における検索文字列の出現位置をすべて求めることで得られる検索文字列の出現回数を用いて計算するものである。
【００２４】
したがって、検索文字列のスコアから検索文字列とは無関係な部分文字列の出現の影響を排除でき、検索精度を向上させることができる。
【００２５】
請求項４に記載の発明は、請求項３に記載の文書検索装置において、前記スコア計算手段は、前記スコア計算対象文書における検索文字列の出現回数に上限値を設定し、その上限値を前記出現回数の上限とするものである。
【００２６】
したがって、検索文字列の出現位置を求めるための処理量を減少し、類似文書検索を高速に実現することができる。
【００２７】
請求項５に記載の発明は、請求項４に記載の文書検索装置において、前記スコア計算手段は、前記スコア計算対象文書における検索文字列のスコアを、前記複数の文書の中で検索文字列を含む文書数を用いて計算するものである。
【００２８】
したがって、検索文字列のスコアから検索文字列とは無関係な部分文字列の出現の影響を排除でき、検索精度を向上させることができる。
【００２９】
請求項６に記載の発明は、請求項５に記載の文書検索装置において、前記スコア計算手段は、前記スコア計算対象文書における検索文字列の出現回数に上限値を設定し、その上限値を前記出現回数の上限とするものであり、前記上限値を、前記検索文字列を含む文書数に応じて設定するものである。
【００３０】
したがって、スコアの検索回数を低減して、検索を高速化することができる。
【００３１】
請求項７に記載の発明は、請求項１に記載の文書検索装置において、前記テキスト分割手段は、前記検索文字列が処理単位の部分文字列未満の長さである場合には、前記索引から当該検索文字列と先頭部分が一致する部分文字列を全て抽出するものであり、前記スコア計算対象文書選択手段は、前記文書のうち前記テキスト分割手段が抽出した部分文字列のいずれかを含む文書を前記スコア計算対象文書として決定するものであり、前記スコア計算手段は、前記テキスト分割手段が抽出した部分文字列を用いて前記スコア計算対象文書選択手段が決定した前記スコア計算対象文書のスコアを計算するものである。
【００３２】
したがって、検索文字列の長さが処理単位の部分文字列の長さ未満となる場合でも、検索を行うことができる。
【００３３】
請求項８に記載の発明は、請求項７に記載の文書検索装置において、前記スコア計算手段は、前記スコア計算対象文書における検索文字列のスコアを、前記スコア計算対象文書における検索文字列の出現回数を用いて計算するものである。
【００３４】
したがって、スコア計算手段が行う計算の負担を低減して、検索を高速化することができる。
【００３５】
請求項１１に記載の発明は、ＣＰＵやメモリを主体として構成されるコンピュータで実行されるものであって文書または検索文字列を含む文書を検索する文書検索方法において、文書または検索文字列であるテキストを部分文字列に分解する分割工程と、複数のテキストを部分文字列に分解した結果である部分文字列の情報を前記メモリに保持しておく索引を参照して、前記分割工程で検索文字列を分解した結果である部分文字列を用いて前記文書の中から検索文字列中の部分文字列が全て含まれている文書であるスコア計算対象文書を決定するスコア計算対象文書選択工程と、前記分割工程で検索文字列を分解した結果である部分文字列を用いて前記スコア計算対象文書選択工程で選択した前記スコア計算対象文書に対する検索文字列のスコアを計算するスコア計算工程と、を含み、前記スコア計算工程は、下記に示す式（１）により計算されるスコア計算対象文書に対する各部分文字列のスコアを計算し、
ＳＣＯＲＥ（ｎ）＝ｔｆ（ｎ）＊（１＋Ｌｏｇ２（Ｎ／ｄｆ（ｎ）））・・・（１）
ＳＣＯＲＥ（ｎ）：部分文字列ｎのスコア
ｔｆ（ｎ）：部分文字列ｎのスコア計算対象文書における出現回数の最小値
Ｎ  ：登録済みの文書数
ｄｆ（ｎ）：部分文字列ｎを含む登録済みの文書数
計算した各部分文字列のスコアの和をとって、スコア計算対象文書に対する検索文字列のスコアとする。
【００３６】
したがって、スコア計算対象文書選択工程で選択された部分文字列を使ってスコア計算を行う文書を限定し、スコア計算手段は選択された部分文字列を使って選択された文書ごとのスコアを計算するので、複数の文書を対象としても簡易かつ速やかに所望の文書を検索することができる。また、スコア計算工程は、検索文字列中の部分文字列のスコア計算対象文書におけるスコアを、スコア計算対象文書における部分文字列の出現回数のうちの最小値、登録済み文書数、検索文字列から得られる各部分文字列を含む登録済み文書数と、を用いて計算するようにしたので、検索文字列のスコアから当該検索文字列とは無関係な部分文字列の出現の影響を排除でき、検索精度を向上させることができる。
【００５３】
請求項１２に記載の発明は、文書または検索文字列であるテキストを部分文字列に分解する分割工程と、複数のテキストを部分文字列に分解した結果である部分文字列の情報を保持しておく索引を参照して、前記分割工程で検索文字列を分解した結果である部分文字列を用いて前記文書の中から検索文字列中の部分文字列が全て含まれている文書であるスコア計算対象文書を決定するスコア計算対象文書選択工程と、前記分割工程で検索文字列を分解した結果である部分文字列を用いて前記スコア計算対象文書選択工程で選択した前記スコア計算対象文書に対する検索文字列のスコアを計算するスコア計算工程と、をコンピュータに実行させ、前記スコア計算工程は、下記に示す式（１）により計算されるスコア計算対象文書に対する各部分文字列のスコアを計算し、
ＳＣＯＲＥ（ｎ）＝ｔｆ（ｎ）＊（１＋Ｌｏｇ２（Ｎ／ｄｆ（ｎ）））・・・（１）
ＳＣＯＲＥ（ｎ）：部分文字列ｎのスコア
ｔｆ（ｎ）：部分文字列ｎのスコア計算対象文書における出現回数の最小値
Ｎ  ：登録済みの文書数
ｄｆ（ｎ）：部分文字列ｎを含む登録済みの文書数
計算した各部分文字列のスコアの和をとって、スコア計算対象文書に対する検索文字列のスコアとする。
【００５４】
したがって、スコア計算対象文書選択工程で選択された部分文字列を使ってスコア計算を行う文書を限定し、スコア計算手段は選択された部分文字列を使って選択された文書ごとのスコアを計算するので、複数の文書を対象としても簡易かつ速やかに所望の文書を検索することができる。また、スコア計算工程は、検索文字列中の部分文字列のスコア計算対象文書におけるスコアを、スコア計算対象文書における部分文字列の出現回数のうちの最小値、登録済み文書数、検索文字列から得られる各部分文字列を含む登録済み文書数と、を用いて計算するようにしたので、検索文字列のスコアから当該検索文字列とは無関係な部分文字列の出現の影響を排除でき、検索精度を向上させることができる。
【００７１】
【発明の実施の形態】
［発明の実施の形態１］
この発明の一実施の形態を、発明の実施の形態１として説明する。
【００７２】
図１は、この発明の実施の形態１である文書検索装置１の機能ブロック図である。図１において、テキスト分割手段２は、与えられた登録文書または検索文字列であるテキストを部分文字列に分解する。索引３は、登録文書を分解した部分文字列の情報を、検索のために保持するものである。スコア計算対象文書選択手段４は、テキスト分割手段２が検索文字列を分解した部分文字列を用いて、登録文書の中でスコアを計算すべき文書を決定するものである。スコア計算手段５は、テキスト分割手段２が検索文字列を分解した部分文字列を用いて、スコア計算対象文書選択手段４が選択した文書のスコア（重要度）を計算するものである。テキスト分割手段２は分割工程を実現し、スコア計算対象文書選択手段４はスコア計算対象文書選択工程を実現し、スコア計算手段５はスコア計算工程を実現する（各工程の詳細は後述する）。
【００７３】
文書登録では、登録すべき文書が与えられると、テキスト分割手段２で部分文字列に分割し、その出現情報を索引３に記録する。
【００７４】
文書検索装置１が行う処理について具体的に説明する。複数の登録文書が、図２（ａ）に示すような文書ａと、図２（ｂ）に示すような文書ｂであるとする。ここで、各文書の左の数字は文字列の先頭からの文字数を表している。つまり、文書ａでは、「全文検索」は先頭から１１文字目、「方法」は２０，６０文字目、「全文検索方法」は３１文字目に出現していることを意味する。２文字組を部分文字列とする場合、文書中の全ての部分文字列を抽出し、それらの文書内での出現位置（先頭からの文字数）を部分文字列ごとにまとめて索引３に記録する。例えば、文書ａでは、「全文」が１１，３１文字目の位置、「文検」が１２，３２文字目の位置に出現しているので、それを索引３に記録する。索引３では、文書内での出現位置だけでなく、どの文書に出現したかを識別するための文書識別子と出現回数を加えて記録するので、図２（ｃ）に示すような形式になる。例えば、「全文」に対応する“｛１，２，（１１，３１）｝”は、「全文」という部分文字列が、文書ａ（文書ａの文書識別子は“１”）に２回出現し（出現回数は“２”）、その位置は１１，３１文字目であることを意味する。
【００７５】
検索においては、検索文字列が与えられると、テキスト分割手段２が、与えられた検索文字列を部分文字列に分解し、スコア計算対象文書選択手段４はその分解された部分文字列を使ってスコアを計算すべき文書を選択し、スコア計算手段５は分割された部分文字列を使って選択された文書ごとのスコアを計算し、検索結果を生成する。
【００７６】
ここで、スコア計算対象文書選択手段４は、検索文字列中の部分文字列が全て含まれている文書を特定し、スコア計算対象文書とする。もちろん、検索文字列そのものが含まれている文書、あるいはその他の適切な条件を具備する文書をスコア計算対象文書としてもよい。
【００７７】
スコア計算手段５は、スコア計算対象文書ごとに、そのスコア計算対象文書中の部分文字列のスコアから、そのスコア計算対象文字列のスコアを計算する。部分文字列のスコアは、ｔｆ法、ｔｆ・ｉｄｆ法などの情報検索で一般的に使用されている手段（例えば、“W.B.Frakes Ed.，Information RetrievalData Structures & Algorithms，Prentice Hall，1992”のSection14を参照）を用いて計算すればよい。部分文字列のスコアからスコア計算対象文書のスコアの算出は、要素となるスコアの和、平均、最大値などを計算することで得る。
【００７８】
図２（ｃ）に示す索引３を用いる例で検索処理について説明する。検索文字列を「全文検索方法」とすると、テキスト分割手段２が「全文」「文検」「検索」「索方」「方法」の５個の部分文字列を抽出する。次に、スコア計算対象文書選択手段４は、これら全ての部分文字列を含む文書を複数の登録文書の中から選択する。図２の例では、文書ａのみがこれに該当する。従来技術の考え方によれば、部分文字列のいずれか１つを含む文書を選択していたので、この場合だと文書ｂもスコア計算対象文書に該当するが、本発明の実施の形態では文書ｂは該当しない。
【００７９】
つぎに、スコア計算手段５が、先の５つの部分文字列を用いて文書ごとのスコアを計算する。以下では、部分文字列のスコアを以下の式で計算するものとする。
【００８０】
ＳＣＯＲＥ（ｎ）＝ｔｆ（ｎ）＊（１＋Ｌｏｇ２（Ｎ／ｄｆ（ｎ）））・・・（１）
ここで、ＳＣＯＲＥ（ｎ）は部分文字列ｎのスコア、ｔｆ（ｎ）は部分文字列ｎのスコアを計算中の文書における出現回数、Ｎは登録済みの文書数（ここでは２となる）、ｄｆ（ｎ）は部分文字列ｎを含む登録済みの文書数（以下、文書頻度）である。また、文書のスコア計算は、その文書に含まれる部分文字列のスコアの和として計算することとする。文書ａにおいて、「全文」のスコアは先ほどの（１）式に、ｔｆ（全文）＝２、ｄｆ（全文）＝２、を代入することで計算でき、ＳＣＯＲＥ（全文）＝２となる。同様に、ＳＣＯＲＥ（文検）＝４、ＳＣＯＲＥ（検索）＝４、ＳＣＯＲＥ（索方）＝１、ＳＣＯＲＥ（方法）＝３が得られる。
【００８１】
したがって、
ＳＣＯＲＥ（全文検索方法）＝ＳＣＯＲＥ（全文）＋ＳＣＯＲＥ（分検）＋ＳＣＯＲＥ（検索）＋ＳＣＯＲＥ（索方）＋ＳＣＯＲＥ（方法）＝１４
のようにして、文書ａに対する検索文字列「全文検索方法」のスコアが計算される。
【００８２】
図３は、文書検索装置１の具体的なシステム構成を示すブロック図である。文書検索装置１は、各種演算をおこない各部を集中的に制御するＣＰＵ１１と、ＢＩＯＳなどを格納した読出し専用のメモリであるＲＯＭ１２と、各種データを書き換え可能に記憶し、ＣＰＵ１１の作業エリアとなるＲＡＭ１３とが、バス１４により接続されている。バス１４には、所定のインターフェイスや制御回路を介して、ハードディスク１５と、ＣＤ−ＲＯＭドライブ１６と、ＣＲＴ，ＬＣＤなどのディスプレイやプリンタなどの出力装置１７と、キーボード、マウスなどの入力装置１８と、ネットワーク２１と通信を行う通信制御装置２０とが接続されている。
【００８３】
この文書検索装置１に、前記のような各種処理を可能とする各種プログラムは、本発明の記憶媒体であるＣＤ−ＲＯＭ１９に記憶されていて、このＣＤ−ＲＯＭ１９をＣＤ−ＲＯＭドライブ１６に装填し、前記各種プログラムを読み込んでハードディスク１５にインストールすることにより、文書検索装置１は、前記の各種処理が実行可能な状態となる。すなわち、図１に示す各手段は、前記各種プログラムに従ってＣＰＵ１１の実行する処理により実現される。また、索引３は、ハードディスク１５にデータベースとして構築される。
【００８４】
なお、記憶媒体は、ＣＤ−ＲＯＭに限定されるものではなく、ＣＤ−ＲＷ，ＣＤ−Ｒ，ＤＶＤ，ＦＤ，ＭＯなど、各種の方式の記憶媒体を用いることができる。また、通信制御装置２０を介してインターネットなどのネットワーク１９から前記各種プログラムをダウンロードして、ハードディスク１５にインストールするようにしてもよい。この場合に、ネットワーク１９の前記各種プログラムの送信側の装置で、前記各種プログラムを記憶している記憶装置も、本発明の記憶媒体である。さらに、前記各種プログラムは所定のＯＳ上で動作するものであってもよい。
【００８５】
［発明の実施の形態２］
この発明の別の実施の形態を発明の実施の形態２として説明する。
【００８６】
発明の実施の形態２において、発明の実施の形態１と共通する手段などには、同一の符号を付し、詳細な説明を省略する。
【００８７】
この発明の実施の形態２の文書検索装置１が、発明の実施の形態１と相違する点は、以下のような点である。すなわち、発明の実施の形態１では、スコア計算手段５は、検索文字列中の部分文字列のスコア計算対象文書におけるスコアを、部分文字列のその文書における出現回数から計算している。したがって、検索文字列とは無関係に出現している部分文字列の出現がスコアに反映されてしまい、検索精度が低下してしまう。
【００８８】
例えば、図２を参照して前記した例では、文書ａの２０，６０文字目の「方法」は検索文字列とは無関係な出現であると考えられるので、「方法」が3回出現していることから、“ＳＣＯＲＥ（方法）＝３”とすることは、文書ａを「全文検索方法」が含んでいるかという観点からは、不当に高く評価することになる。
【００８９】
そこで、この発明の実施の形態２の文書検索装置１では、検索文字列から得られる部分文字列のスコア計算対象文書における出現回数の最小値を求め、その値を各部分文字列のスコア計算に使用することとする。先の例では、「全文検索方法」から得られる部分文字列の文書ａにおける出現回数の最小値は「索方」の１回であるので、残りの部分文字列（「全文」「文検」「検索」「方法」）のスコア計算に用いる出現回数も（実際の出現回数とは異なる）１回とする。結局、ＳＣＯＲＥ(全文)＝１，ＳＣＯＲＥ(文検)＝２，ＳＣＯＲＥ(検索)＝２，ＳＣＯＲＥ(索方)＝１，ＳＣＯＲＥ(方法)＝１が得られ、ＳＣＯＲＥ(全文検索方法)＝７となる。
【００９０】
この文書検索装置１によれば、検索文字列のスコアから検索文字列とは無関係な部分文字列の出現の影響を排除でき、検索精度を向上させることができる。
【００９１】
［発明の実施の形態３］
この発明の別の実施の形態を発明の実施の形態３として説明する。
【００９２】
発明の実施の形態３において、発明の実施の形態２と共通する手段などには、同一の符号を付し、詳細な説明を省略する。
【００９３】
この発明の実施の形態３の文書検索装置１が、発明の実施の形態２と相違する点は、検索文字列のスコアから検索文字列とは無関係な部分文字列の出現の影響を排除する手段の違いにある。
【００９４】
すなわち、検索文字列のスコアから検索文字列とは無関係な部分文字列の出現の影響を排除するためには、検索文字列のスコア計算対象文書における出現回数を求め、その値を各部分文字列のスコア計算に使用することでも実現できる。検索文字列のスコア計算対象文書における出現回数は、その文書における検索文字列の出現位置をすべて求めることで得られる。
【００９５】
検索文字列の出現位置を求めるためには、検索文字列から得られる部分文字列の出現位置の突き合わせを行うという、周知の技術を用いることができる。その手段としては、「日本語文書検索用高速全文検索の一手法」（菊池忠一、電子情報通信学会論文誌  Vol.J75-D-I  No.9  pp.836846，1992年9月）の839ページ3.2節に開示のものを用いることができる。
【００９６】
図２の例では、「全文検索方法」の文書ａにおける出現位置は、３１文字目だけであり、出現回数は１回であるとわかる。そこで、部分文字列（「全文」「文検」「検索」「索方」「方法」）のスコア計算に用いる出現回数も（実際の出現回数とは異なる）１回とする。スコア計算結果は、発明の実施の形態２の場合と同じく、ＳＣＯＲＥ(全文検索方法)＝７となる。
【００９７】
この文書検索装置１によれば、検索文字列のスコアから検索文字列とは無関係な部分文字列の出現の影響を排除でき、検索精度を向上させることができる。
【００９８】
［発明の実施の形態４］
この発明の別の実施の形態を発明の実施の形態４として説明する。
【００９９】
発明の実施の形態４において、発明の実施の形態３と共通する手段などには、同一の符号を付し、詳細な説明を省略する。
【０１００】
この発明の実施の形態４の文書検索装置１が、発明の実施の形態３と相違する点は、以下のような点である。すなわち、発明の実施の形態３では、スコア計算手段５は、スコア計算対象文書における検索文字列の出現位置をすべて求めることで、スコア計算対象文書における検索文字列の出現回数を得るものである。
【０１０１】
しかし、検索文字列が長く、検索文字列の出現回数が多い場合には、検索文字列の出現位置をすべて求めるための処理量は増大し、検索時間を増加させる。
【０１０２】
そこで、この発明の実施の形態４の文書検索装置１では、検索文字列の出現回数に対する上限（定数）を設定し、検索文字列に対するスコア計算に用いる出現回数を、上限値未満であれば検索文字列の文書中での出現回数とするが、上限値以上であれば上限値で代用するものである。この場合、スコア計算対象文書における検索文字列の出現位置を必ずしもすべて求める必要はなく、上限値以下の個数の出現位置だけを求めればよい。
【０１０３】
この文書検索装置１によれば、発明の実施の形態３に比べて、検索文字列の出現位置を求めるための処理量は減少し、類似文書検索を高速に実現することができる。
【０１０４】
［発明の実施の形態５］
この発明の別の実施の形態を発明の実施の形態５として説明する。
【０１０５】
発明の実施の形態５において、発明の実施の形態３と共通する手段などには、同一の符号を付し、詳細な説明を省略する。
【０１０６】
この発明の実施の形態５の文書検索装置１が、発明の実施の形態３と相違する点は、以下のような点である。すなわち、発明の実施の形態３では、スコア計算手段５は、スコア計算対象文書における検索文字列の出現回数を求め、その値を各部分文字列のスコア計算に使用することで、検索文字列のスコアから検索文字列とは無関係な部分文字列の出現の影響を排除するものである。
【０１０７】
しかし、発明の実施の形態３では、検索文字列のスコアは検索文字列から得られる部分文字列のスコアから合成されており、各部分文字列のスコアを計算する際にはその部分文字列を含む登録文書数から計算している。したがって、その部分文字列を含むが検索文字列は含まない文書がスコアに反映されるので、検索文字列のスコアから検索文字列とは無関係な部分文字列の出現の影響を完全には排除できていない。
【０１０８】
図２の例では、文書ａに対する「全文検索方法」のスコアを計算する際、「全文」のスコアは、「全文」を含む文書数が２であることから、ＳＣＯＲＥ(全文)＝１と計算される（「全文」の出現回数としては「全文検索方法」の出現回数を使用している）。しかし、「全文」を含む文書のうち文書ｂは「全文検索方法」は出現していないので、検索文字列のスコアから検索文字列とは無関係な部分文字列の出現が影響していることになる。
【０１０９】
そこで、この発明の実施の形態５の文書検索装置１では、検索文字列から得られる部分文字列のスコアを計算する際には、部分文字列を含む文書数として検索文字列を含む文書数を使用することとする。先の例では、「全文」を含む文書数として「全文検索方法」を含む文書数である“１”を用いて、ＳＣＯＲＥ(全文)＝２と計算する。同様に、残りの部分文字列（「文検」「検索」「索方」「方法」）のスコアも、ＳＣＯＲＥ(文検)＝２，ＳＣＯＲＥ(検索)＝２，ＳＣＯＲＥ(索方)＝２，ＳＣＯＲＥ(方法)＝２、が得られ、ＳＣＯＲＥ(全文検索方法)＝１０となる。
【０１１０】
本文書検索装置１によれば、検索文字列のスコアから検索文字列とは無関係な部分文字列の出現の影響を排除でき、検索精度を向上させることができる。
【０１１１】
なお、この手段では、検索文字列から得られる全ての部分文字列のスコアは、検索文字列を含む文書数と検索文字列の出現回数から計算される値に等しい。したがって、部分文字列ごとにスコアを合成して検索文字列のスコアとするのではなく、検索文字列を含む文書数と検索文字列の出現回数から計算される値をそのまま検索文字列のスコアとすればよい。その結果、計算量は削減され、類似文書検索を高速に実現することができる。
【０１１２】
［発明の実施の形態６］
この発明の別の実施の形態を発明の実施の形態６として説明する。
【０１１３】
発明の実施の形態６において、発明の実施の形態５と共通する手段などには、同一の符号を付し、詳細な説明を省略する。
【０１１４】
この発明の実施の形態６の文書検索装置１が、発明の実施の形態５と相違する点は、以下のような点である。すなわち、発明の実施の形態５においても、発明の実施形態４のように、検索文字列の出現回数に対する上限を設定することにより、文書検索を高速化することが可能である。
【０１１５】
しかし、上限値を設定することで、検索文字列に対するスコアが上限値を導入しない本来のスコアとは異なり、検索精度が低下する可能性がある。上限値で足切りしたことによるスコアの相違は、検索文字列を含む文書数に依存する。例えば、スコア計算式が式（１）であれば、検索文字列を含む文書数が小さいほど足切りによるスコアの相違は大きくなる。そこで、足切りの影響を小さくするため、検索文字列を含む文書数に応じて上限値を変化させる。例えば、検索文字列を含む文書数１に対する上限値をＬ1としたとき、検索文字列を含む文書数がＸ（Ｘ＞１）に対する上限値Ｌxを以下の式（２）で算出する。
【０１１６】
Ｌx＝Ｌ1*（１＋ｌｏｇ２（Ｎ／ｘ））／（１＋ｌｏｇ２（Ｎ））  …（２）
式（２）によれば、検索文字列を含む文書数が小さいほど、上限値が大きくなり、足切りによる差異を小さくする効果がある。その結果、上限を設定したことによる検索精度の低下を押さえることができる。なお、検索文字列を含む文書数が小さいほど上限値が大きくするような計算式であれば、式（２）以外のものを用いてもよい。
【０１１７】
［発明の実施の形態７］
この発明の別の実施の形態を発明の実施の形態７として説明する。
【０１１８】
発明の実施の形態７において、発明の実施の形態１と共通する手段などには、同一の符号を付し、詳細な説明を省略する。
【０１１９】
この発明の実施の形態７の文書検索装置１が、発明の実施の形態１と相違する点は、以下のような点である。すなわち、発明の実施の形態１では、検索文字列の長さ（文字数）が処理単位の部分文字列の長さ未満の場合、テキスト分割手段２が検索文字列を部分文字列に分割できないので、検索することができない。例えば、検索文字列が「文」で２文字組が処理単位の部分文字列である場合、検索文字列の方が短いため、処理できない。
【０１２０】
そこで、検索文字列が部分文字列より短い場合には、以下のような手順で検索を行うこととする。
【０１２１】
（１）テキスト分割手段２は、索引３から検索文字列と先頭部分が一致する部分文字列を全て抽出する。
【０１２２】
（２）スコア計算対象文書選択手段４は、テキスト分割手段２が出力した部分文字列のいずれかを含む文書を特定する。
【０１２３】
（３）スコア計算手段５は、テキスト分割手段２が出力した部分文字列を用いてスコア計算対象文書選択手段４が選択した文書のスコアを計算する。
【０１２４】
図４（ａ）に示す文書ａ、図３（ｂ）に示す文書ｂの例を用いて具体的に説明する。文書ａ、文書ｂについて、２文字組を部分文字列とすると、索引３は図３（ｃ）のようになる。ここで、索引３のデータの記述方法は、図２（ｃ）の場合と同じである。以下、検索文字列として「や」が与えられた場合の検索処理手順を説明する。
【０１２５】
まず、テキスト分割手段２は、索引３から検索文字列と先頭部分が一致する部分文字列として、「やい」「やけ」「やぶ」の３つを出力する。つぎに、スコア計算対象文書選択手段４は、テキスト分割手段２が出力した部分文字列のいずれかを含む文書として、文書ａと文書ｂとを選択する。最後に、スコア計算手段５は、テキスト分割手段２が出力した部分文字列を用いて文書ａと文書ｂのスコアを計算する。
【０１２６】
スコア計算手段５は、スコア計算対象文書ごとに、そのスコア計算対象文書中の部分文字列のスコアからそのスコア計算対象文字列のスコアを計算する。部分文字列のスコアからスコア計算対象文書のスコアの算出は、要素となるスコアの和などを計算することで得る。例えば、部分文字列のスコアを式（１）で計算する場合、文書ａにおいて、ＳＣＯＲＥ(やい)＝０，ＳＣＯＲＥ(やけ)＝２，ＳＣＯＲＥ(やぶ)＝２なので、ＳＣＯＲＥ(や)＝４となる。
【０１２７】
このようにして、検索文字列の長さが処理単位の部分文字列の長さ未満となる場合でも、検索を行うことができる。
【０１２８】
スコア計算において、発明の実施の形態３と同様に検索文字列を含む文書頻度を用いることも可能である。この場合、「や」を含む文書数は２であるから、文書ａにおいて、ＳＣＯＲＥ(やい)＝０，ＳＣＯＲＥ(やけ)＝１，ＳＣＯＲＥ(やぶ)＝１なので、ＳＣＯＲＥ(や)＝２となる。この手段によれば、検索文字列を含む文書数をスコア計算に使用するので、検索精度の向上が期待できる。
【０１２９】
さらに、スコア計算手段５は、スコア計算対象文書における検索文字列の出現回数を用いてスコアを計算することもできる。この場合、文書ａにおいて検索文字列「や」の出現回数は、部分文字列「やい」「やけ」「やぶ」の出現回数の合計である“２”であるから、「や」を含む文書数である“２”を式（１）に適用して、ＳＣＯＲＥ(や)＝２となる。この手段によれば、式（１）を用いた計算の回数が少ないので、検索を高速化できる。
【０１３０】
［発明の実施の形態８］
この発明の別の実施の形態を、発明の実施の形態８として説明する。
【０１３１】
図５は、この発明の実施の形態８である文書検索装置１の機能ブロック図である。図４において、テキスト分割手段２は、与えられた登録文書または検索文字列であるテキストを部分文字列に分解する。索引３は、登録文書を分解した部分文字列の情報を、検索のために保持するものである。検索用部分文字列選択手段６は、テキスト分割手段２が検索文字列を分解した部分文字列から検索処理に必要なものを選択する。スコア計算対象文書選択手段４は、検索用部分文字列選択手段６が選択した部分文字列を用いて、複数の登録文書中でスコアを計算すべき文書を決定するものである。スコア計算手段５は、検索用部分文字列選択手段６が選択した部分文字列を用いて、スコア計算対象文書選択手段４が選択した文書のスコアを計算するものである。テキスト分割手段２は分割工程を実現し、スコア計算対象文書選択手段４はスコア計算対象文書選択工程を実現し、スコア計算手段５はスコア計算工程を実現し、検索用部分文字列選択手段６は検索用部分文字列選択工程を実現する（各工程の詳細は後述する）。
【０１３２】
文書登録は発明の実施の形態１と同様である。
【０１３３】
検索においては、検索文字列が与えられると、テキスト分割手段２は部分文字列に分解し、検索用部分文字列選択手段６は分割された部分文字列のなかから検索に使用すべき部分文字列を選択し、スコア計算対象文書選択手段４は選択された部分文字列を使ってスコアを計算すべきを選択し、スコア計算手段５は選択された部分文字列を使って選択された文書ごとのスコアを計算し、検索結果を生成する。
【０１３４】
テキスト分割手段２、スコア計算対象文書選択手段４、スコア計算手段５は、発明の実施の形態１におけるものと同様の機能を発揮する。検索用部分文字列選択手段６は、テキスト分割手段２が検索文字列を分解した部分文字列のなかから、検索文字列を被覆する最小個数の部分文字列を選択する。検索文字列を被覆する最小個数の部分文字列を選択するためには、検索語の先頭から順に重なりがないように部分文字列を選択する。もし、先頭から重なりがないように部分文字列を選択するだけでは検索文字列を被覆することができない場合には、検索文字列の末尾の部分文字列も追加的に選択する。
【０１３５】
例えば、検索文字列を「全文検索方法」とすると、テキスト分割手段２は、「全文」「文検」「検索」「索方」「方法」の５個の部分文字列を抽出する。このとき、検索用部分文字列選択手段６は、「全文」「検索」「方法」の３個の部分文字列を選択し、「文検」「索方」は除かれる。また、検索文字列が「文検索方法」とすると、まず「文検」「索方」が選択される。これ以上重なりがないようには部分文字列を選択はできないが、この２つの部分文字列だけでは検索文字列の最後の１文字が被覆されないので、「方法」を追加する。結局、「文検索方法」に対しては「文検」「索方」「方法」が選択される。
【０１３６】
検索用部分文字列は、分割された部分文字列よりも少ない。長さｍ文字の検索文字列に対して選択されるｎ文字組の部分文字列数は、ｍ／ｎ以上で最小の整数値（ｎ＝２のとき、ｍ＝３ならば２、ｍ＝４ならば２、ｍ＝５ならば３）となり、前記特開平１１−８５７７６号公報に開示の技術における、（ｍ−ｎ＋１）個よりも少ない。したがって、スコア計算対象文書の選択およびスコア計算に要する処理量が削減され、検索が高速化される。
【０１３７】
なお、本発明の実施の形態に対しても、発明の実施形態２〜７に示したような手法を適用可能である。
【０１３８】
【発明の効果】
請求項１に記載の発明は、スコア計算対象文書選択手段は選択された部分文字列を使ってスコア計算を行う文書を限定し、スコア計算手段は選択された部分文字列を使って選択された文書ごとのスコアを計算するので、複数の文書を対象としても簡易かつ速やかに所望の文書を検索することができる。また、スコア計算手段は、検索文字列中の部分文字列のスコア計算対象文書におけるスコアを、スコア計算対象文書における部分文字列の出現回数のうちの最小値、登録済み文書数、検索文字列から得られる各部分文字列を含む登録済み文書数と、を用いて計算するようにしたので、検索文字列のスコアから当該検索文字列とは無関係な部分文字列の出現の影響を排除でき、検索精度を向上させることができる。
【０１３９】
請求項２，９，１０に記載の発明は、スコア計算対象文書の選択およびスコア計算に要する処理量を低減して、検索を高速化することができる。
【０１４１】
請求項３に記載の発明は、請求項１または２の発明の効果に加えて、検索文字列のスコアから検索文字列とは無関係な部分文字列の出現の影響を排除でき、検索精度を向上させることができる。
【０１４２】
請求項４に記載の発明は、請求項３の発明の効果に加えて、検索文字列の出現位置を求めるための処理量を減少し、類似文書検索を高速に実現することができる。
【０１４３】
請求項５に記載の発明は、請求項４の発明の効果に加えて、検索文字列のスコアから検索文字列とは無関係な部分文字列の出現の影響を排除でき、検索精度を向上させることができる。
【０１４４】
請求項６に記載の発明は、請求項５の発明の効果に加えて、スコアの検索回数を低減して、検索を高速化することができる。
【０１４５】
請求項７に記載の発明は、請求項１の発明の効果に加えて、検索文字列の長さが処理単位の部分文字列の長さ未満となる場合でも、検索を行うことができる。
【０１４６】
請求項８に記載の発明は、請求項７の発明の効果に加えて、スコア計算手段が行う計算の負担を低減して、検索を高速化することができる。
【０１４７】
請求項１１に記載の発明は、スコア計算対象文書選択工程で選択された部分文字列を使ってスコア計算を行う文書を限定し、スコア計算手段は選択された部分文字列を使って選択された文書ごとのスコアを計算するので、複数の文書を対象としても簡易かつ速やかに所望の文書を検索することができる。また、スコア計算工程は、検索文字列中の部分文字列のスコア計算対象文書におけるスコアを、スコア計算対象文書における部分文字列の出現回数のうちの最小値、登録済み文書数、検索文字列から得られる各部分文字列を含む登録済み文書数と、を用いて計算するようにしたので、検索文字列のスコアから当該検索文字列とは無関係な部分文字列の出現の影響を排除でき、検索精度を向上させることができる。
【０１５６】
請求項１２に記載の発明は、スコア計算対象文書選択工程で選択された部分文字列を使ってスコア計算を行う文書を限定し、スコア計算手段は選択された部分文字列を使って選択された文書ごとのスコアを計算するので、複数の文書を対象としても簡易かつ速やかに所望の文書を検索することができる。また、スコア計算工程は、検索文字列中の部分文字列のスコア計算対象文書におけるスコアを、スコア計算対象文書における部分文字列の出現回数のうちの最小値、登録済み文書数、検索文字列から得られる各部分文字列を含む登録済み文書数と、を用いて計算するようにしたので、検索文字列のスコアから当該検索文字列とは無関係な部分文字列の出現の影響を排除でき、検索精度を向上させることができる。
【図面の簡単な説明】
【図１】この発明の実施の形態１である文書検索装置の機能ブロック図である。
【図２】前記文書検索装置で処理する文書例（ａ）（ｂ）と、索引の登録例（ｃ）の説明図である。
【図３】前記文書検索装置の具体的なシステム構成を示すブロック図である。
【図４】この発明の実施の形態７である文書検索装置で処理する文書例（ａ）（ｂ）と、索引の登録例（ｃ）の説明図である。
【図５】この発明の実施の形態８である文書検索装置の機能ブロック図である。
【符号の説明】
１      文書検索装置
２      テキスト分割手段
３      索引
４      スコア計算対象文書選択手段
５      スコア計算手段
６      検索用部分文字列選択手段
【図１】
0004077128.tif 000002
【図２】
0004077128.tif 000003
【図３】
0004077128.tif 000004
【図４】
0004077128.tif 000005
【図５】
0004077128.tif 000006