(57)【特許請求の範囲】
【請求項１】
予め作成されたテキストデータ、または予めイメージ文書から文字認識処理により抽出されたテキストデータのうち少なくとも一方を登録した文書データベースから、種文書と類似した文書を検索する文書検索システムにおける文書の検索方法であって、
前記検索システムが、
前記種文書から当該種文書中に含まれる少なくとも１つの特徴文字列を抽出する特徴文字列抽出ステップと、
前記特徴文字列抽出ステップにより抽出された前記特徴文字列に対し、認識誤りにより発生し得る表記の候補に基づき、拡張特徴文字列を生成する文字列展開ステップと、
前記文字列展開ステップにより生成した前記拡張特徴文字列の、前記種文書内での出現頻度を用いて、前記特徴文字列の出現頻度を補正する出現頻度補正ステップと、
前記特徴文字列抽出ステップにより抽出された前記特徴文字列に対し、前記拡張特徴文字列を検索用文字列とし、前記補正した特徴文字列の出現頻度を前記検索用文字列の出現頻度とする、補正処理を行う検索用文字列補正ステップと、
前記検索用文字列補正ステップにより抽出した前記検索用文字列について、認識誤りにより発生し得る表記の候補を含めた検索を実行する認識誤り許容検索ステップと、
前記認識誤り許容検索ステップにより抽出された前記データベース中の各文書に対し、前記検索用文字列と前記検索用文字列の出現頻度情報とを用いて、前記種文書との類似度を算出する類似度算出ステップと、
を有することを特徴とする文書の検索方法。
【請求項２】
前記出現頻度補正ステップが、前記文字列展開ステップにより生成される前記拡張特徴文字列の中の少なくとも１つの出現頻度を補正することを特徴とする請求項１記載の文書の検索方法。
【請求項３】
前記検索システムが、
予め作成された文字確信度情報を参照することにより、検索用文字列の確信度を算出する文字確信度算出ステップと、
前記文字確信度算出ステップにより算出された文字確信度が、予め定められた閾値を下回る文字列を検索用の文字列から除外する検索用文字列除外ステップと、
を有することを特徴とする請求項１または２に記載の文書の検索方法。
【請求項４】
前記検索システムが、
前記文字列展開ステップにより生成した前記拡張特徴文字列に対し検索対象データベース内での出現頻度を抽出するデータベース内出現頻度抽出ステップと、
前記データベース内出現頻度抽出ステップにより抽出された前記データベース中での出現頻度情報を用いて前記検索用文字列を選択する検索用文字列選択ステップと、
を有することを特徴とする請求項１〜３のいずれか１項に記載の文書の検索方法。
【請求項５】
前記検索システムが、
前記生成した前記拡張特徴文字列に対し検索対象データベース内での出現頻度を抽出するデータベース内出現頻度抽出ステップを有し、
前記類似度算出ステップが、前記データベース内出現頻度抽出ステップにより抽出されたデータベース内出現頻度を用いて類似度の算出を行なうことを特徴とする請求項１〜４のいずれか１項に記載の文書の検索方法。
【請求項６】
前記種文書が、予めデータベース中に登録された文書、または検索時に紙文書からスキャナを用いてイメージ文書に変換後に、文字認識処理によりテキスト抽出された文書、または検索時に検索者により入力される検索用文章、のうち少なくとも１種類により構成されることを特徴とする請求項１〜５のいずれか１項に記載の文書の検索方法。
【請求項７】
前記検索システムが、
前記種文書から抽出された前記検索用文字列に対し補正処理を行う検索用文字列補正ステップを実行するか否かに関する情報を検索時に指定するインタフェースを有することを特徴とする請求項１〜６のいずれか１項に記載の文書の検索方法。
【請求項８】
前記種文書が、予めデータベース中に登録された文書であるか否か、または検索時に紙文書からスキャナを用いてイメージ文書に変換後、文字認識処理によりテキスト抽出された文書であるか否か、または検索者により入力される検索用文章であるか否か、に関する情報を用いて、前記種文書から抽出する検索用文字列に対し補正処理を行う検索用文字列補正ステップを実行するか否かを決定することを特徴とする請求項７に記載の文書の検索方法。
【請求項９】
予め作成されたテキストデータ、または予めイメージ文書から文字認識処理により抽出されたテキストデータのうち少なくとも一方を登録した文書データベースから、種文書と類似した文書を検索する文書検索システムであって、
前記種文書から当該種文書中に含まれる少なくとも１つの特徴文字列を抽出する特徴文字列抽出手段と、
前記特徴文字列抽出手段により抽出された前記特徴文字列に対し、認識誤りにより発生し得る表記の候補に基づき、拡張特徴文字列を生成する文字列展開手段と、
前記文字列展開手段により生成した前記拡張特徴文字列の、前記種文書内での出現頻度を用いて、前記特徴文字列の出現頻度を補正する出現頻度補正手段と、
前記特徴文字列抽出手段により抽出された前記特徴文字列に対し、前記拡張特徴文字列を検索用文字列とし、前記補正した特徴文字列の出現頻度を前記検索用文字列の出現頻度とする、補正処理を行う検索用文字列補正手段と、
前記検索用文字列補正手段により抽出した前記検索用文字列について、認識誤りにより発生し得る表記の候補を含めた検索を実行する認識誤り許容検索手段と、
前記認識誤り許容検索手段により抽出された前記データベース中の各文書に対し、前記検索用文字列と前記検索用文字列の出現頻度情報とを用いて前記種文書との類似度を算出する類似度算出手段と、
を有することを特徴とする文書検索システム。
【請求項１０】
前記出現頻度補正手段が、前記文字列展開手段により生成される前記拡張特徴文字列の中の少なくとも１つの出現頻度を補正することを特徴とする請求項９記載の文書検索システム。
【請求項１１】
予め作成された文字確信度情報を参照することにより、検索用文字列の確信度を算出する文字確信度算出手段と、
前記文字確信度算出手段により算出された文字確信度が、予め定められた閾値を下回る文字列を検索用の文字列から除外する検索用文字列除外手段と、
を有することを特徴とする請求項９または１０に記載の文書検索システム。
【請求項１２】
前記文字列展開手段により生成した前記拡張特徴文字列に対し検索対象データベース内での出現頻度を抽出するデータベース内出現頻度抽出手段と、
前記データベース内出現頻度抽出手段により抽出された前記データベース中での出現頻度情報を用いて前記検索用文字列を選択する検索用文字列選択手段と、
を有することを特徴とする請求項９〜１１のいずれか１項に記載の文書検索システム。
【請求項１３】
前記生成した前記拡張特徴文字列に対し検索対象データベース内での出現頻度を抽出するデータベース内出現頻度抽出手段を有し、
前記類似度算出手段が、前記データベース内出現頻度抽出手段により抽出されたデータベース内出現頻度を用いて類似度の算出を行なうことを特徴とする請求項９〜１２のいずれか１項に記載の文書検索システム。
【請求項１４】
前記種文書が、予めデータベース中に登録された文書、または検索時に紙文書からスキャナを用いてイメージ文書に変換後に、文字認識処理によりテキスト抽出された文書、または検索時に検索者により入力される検索用文章、のうち少なくとも１種類により構成されることを特徴とする請求項９〜１３のいずれか１項に記載の文書検索システム。
【請求項１５】
前記種文書から抽出された前記検索用文字列に対し補正処理を行う検索用文字列補正手段を実行するか否かに関する情報を検索時に指定するインタフェースを有することを特徴とする請求項９〜１４のいずれか１項に記載の文書検索システム。
【請求項１６】
前記種文書が、予めデータベース中に登録された文書であるか否か、または検索時に紙文書からスキャナを用いてイメージ文書に変換後、文字認識処理によりテキスト抽出された文書であるか、否かまたは検索者により入力される検索用文章であるか否か、に関する情報を用いて、前記種文書から抽出する検索用文字列に対し補正処理を行う検索用文字列補正手段を実行するか否かを決定することを特徴とする請求項１５に記載の文書検索システム。
【請求項１７】
請求項１〜８のいずれか１項に記載の文書の検索方法の各ステップを、前記文書検索システムに実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ装置を用いた文書検索システムや文書管理システムに係わり、特に、紙文書を電子化したイメージ文書の集合を対象として、ユーザが指定した文書に記述されている内容に類似する内容を含む文書の検索を高精度に行なうことのできるようにした文書の登録方法、検索方法および装置並びにそれに用いられるプログラムを格納した記憶媒体に関する。
【０００２】
【従来の技術】
オフィスには文書が大量に存在する。近年、業務の効率化を目的として、オフィス内で文書を共有し、その上でユーザが所望する文書を迅速かつ的確に提供できるよう、文書の管理を行なうことが重要である。ワープロソフトなどで作成された電子データに対する文書共有の方法としては、文書管理システムが既に実用化され、高速かつ効率的に所望の文書を検索できる仕組みが提供されている。また、紙文書を共有するシステムとして、紙の文書をスキャナなどで読み取り、イメージデータとして管理するイメージ文書管理システムがある。
【０００３】
イメージ文書管理システムにおいては、イメージデータを簡単に登録でき、かつ、蓄積したイメージデータを再利用できる手段が求められる。また、蓄積したイメージデータを再利用するためには、ユーザが所望する情報を含んだイメージデータや電子データを高速かつ効率的に検索する手段が必要不可欠となる。
【０００４】
ユーザが所望する情報を含んだ電子データを高速かつ効率的に検索する手段として、ユーザの所望する内容を含んだ文書（以下、種文書と呼ぶ）を例示し、その文書と類似する文書を検索する類似文書検索が実用化されている。
【０００５】
イメージデータに対応した類似文書検索の方法は、例えば、特開平８−１１５３３０号公報（以下、従来技術１とする）に開示されている。従来技術１では、文書登録時に、紙文書をイメージデータとして読み込み、イメージデータに対して文字認識技術により文字情報を抽出することでテキストデータに変換し、イメージデータと共にテキストデータを登録しておく。さらに、文書検索時は、紙文書をイメージデータとして読み込み、イメージデータに対して文字認識技術により文字情報を抽出することでテキストデータに変換し、さらにテキストデータから該文書を特徴付けるような文字列（以下、特徴文字列とする）を自動抽出し、文書検索を行なっている。
【０００６】
文字認識技術により文字情報を抽出する際には、認識誤り文字が発生することが知られているが、従来技術１では、前提として、文書登録時と文書検索時に用いるスキャナとＯＣＲ（Optical Character Recognition：光学的文字認識装置）を同一のものを用いることにしており、その前提の元で、生成されるテキストデータの文字認識精度を均質化できるとしている。つまり、検索条件として入力するテキストデータと検索対象となるテキストデータにおける認識誤り文字の出現傾向は同一であり、特徴文字列のミスマッチは起こり得ないとしている。
【０００７】
しかし、この前提のもとでは登録を行なうマシンと検索を行なうマシンを全く同一にする必要があることになり、検索を行なう際にも登録用のマシンにわざわざ足を運ぶことに繋がるため、利便性に欠ける。また、仮に同一のスキャナとＯＣＲを用いたとしても、これら文字認識装置は同一文字に対し毎回同じ結果を出力するものではなく、紙文書を読み込む際に生じる文書の傾きあるいは文書内に存在する文字自体が持つ大きさ、鮮明さ、傾き、フォントなどの影響を受け、ある文字に対して認識誤りを起こす場合と正しく認識される場合がある。
【０００８】
例えば、イメージデータ中に存在する「E」という文字に対して、ＯＣＲは通常「E」という文字であるとの文字認識結果を出力するが、傾いた文字や不鮮明な文字、紙文書の汚れなどによる品質の劣化が生じると、同一のＯＣＲであっても「F」や「B」、「Σ」、「L」、「Γ」といった文字であると誤って認識することも多い。このことから、種となる文書もしくは検索対象のどちらか一方に認識誤り文字が存在し、もう一方に正しく認識された文字が存在する場合、特徴文字列がマッチせず、検索漏れが発生することがある。
【０００９】
さらに、種文書としてユーザ自ら自然文をキーボードから入力した場合、種文書の設定に用いたスキャナと検索対象の文書に用いたスキャナが異なっていた場合あるいは種文書の設定に用いたＯＣＲと検索対象の文書に用いたＯＣＲが異なっていた場合には、従来技術１での前提が成立しない。このため、種文書中に存在する特徴文字列と検索対象の文書内に存在する特徴文字列が異なるので検索漏れが発生することがある。
【００１０】
例えば、「サッカー日本代表、ブラジルと対戦」という紙の文書が存在し、ＯＣＲにより「ナッカー日本代表、ブラジル仁対戦」と文字認識されたとする。また、この文字認識結果から「ナッカー」「日本」「代表」「ブラジル」「仁」といった特徴文字列が抽出されるものとする。このとき、検索対象の文書中に「サッカー」が「ナッカー」と認識誤りを起こしている文書は検索できるが、たまたま正しく「サッカー」と認識されている文書や「サソカー」と認識誤りを起こしている文書は検索対象外となり、検索漏れが起こる。
【００１１】
さらに、「と」という文字が「仁」と認識誤りを起こしているために「日本を代表する古墳の仁徳天皇陵」といった検索ユーザにとって不必要な文書まで検索してしまう。さらに、ユーザ自身が検索の種となる文書として「サッカー日本代表、ブラジルと対戦」と入力した場合には、「ナッカー」と認識誤りを起こしている文書は検索されない。
【００１２】
つまり、実際には検索条件における特徴文字列もしくは種文書から抽出された特徴文字列と検索対象の文書に存在する特徴文字列に文字認識によるギャップが存在し、従来技術１ではそのギャップを埋める処理が存在しないため、特徴文字列のミスマッチが生じ、検索精度が劣化する。
【００１３】
また、検索条件における特徴文字列と検索対象の文書中に存在する特徴文字列との文字認識によるギャップを埋める検索方法としては、例えば、特開平４−１５８４７８号公報（以下、従来技術２とする）では、認識誤りの傾向を予め学習しておき、その学習結果を検索時に用いることで検索対象となる文書に存在する認識誤り文字を許容し、人手による校正作業なしで高精度な全文検索を実行できる。なお、全文検索とは、ユーザが入力した検索用の文字列が含まれる文書を検索する技術である。
【００１４】
上記従来技術２では、文書登録のときにＯＣＲ出力によるテキストデータに修正を加えず、そのまま文書登録を行なう。つまり、従来技術２では、文書登録時における人手による修正作業を必要とせず、さらに、検索を行なう処理に工夫をすることで、検索対象に含まれる認識誤り文字による検索漏れを防いでいる。
【００１５】
従来技術２では、ある文字に対して認識誤りを起こす可能性の高い文字（以下、認識候補文字とする）を類似文字テーブルに格納しておき、検索を行なう際に類似文字テーブルを参照しながら検索に用いる文字列を1文字ごとに分割し、分割された各文字に対して上記類似文字テーブルを参照し、参照した各文字の認識候補文字を組み合わせて複数の文字列（以下、展開語とする）に展開する。そして、それらの展開語のいずれかを含む文書を検索するため、展開語の論理和（ＯＲ）集合（以下、拡張特徴文字列とする）による全文検索を行なうことで、検索対象の文書に存在する認識誤り文字を許容する。
【００１６】
前記従来技術２の全文検索の方法を類似文書検索に適用した場合、検索対象となる文書に存在する認識誤り文字を許容して検索できる。しかし、種文書に存在する認識誤り文字が原因となる問題を解決できない。例えば、上記の例の「サッカー」という文字に対して、検索対象となる文書内で「ナッカー」や「サソカー」と認識誤りを起こしていれば、従来技術２を用いて検索を行なうことができる。
【００１７】
しかし、種文書内で「ナッカー」と認識誤りをおこしていた場合においては、「ナ」という文字は、例えば「十」、「＋」あるいは「ｔ」といった文字と形状が似ていると判断されても、「サ」という文字とは形状が似ているとは判断されない場合がある。これは、「サ」という文字は「ナ」という文字に認識誤りを起こすことがあり得るが、「ナ」という文字が「サ」と認識誤りすることが少ないということに起因する。この場合、同様の技術を種文書に対して適用したとしても、「サッカー」という文字へと展開することはできない。このため、「サッカー」という特徴文字列が漏れる可能性がある。また、「と」という文字が「仁」と誤って認識され、「日本を代表する古墳の仁徳天皇陵」といった不必要な文書まで検索される問題は、従来技術２を類似文書検索に適用しても解消できない。
【００１８】
【発明が解決しようとする課題】
以上述べたように、文書登録時と文書検索時に同一のＯＣＲを用いた場合、利便性に欠けるというだけでなく、種文書における特徴文字列と検索対象の文書に存在する特徴文字列との文字認識精度から生じるギャップにより検索精度が劣化する。
【００１９】
本発明の目的は、認識誤り文字が存在することによる種文書と検索対象となる文書とに存在する特徴文字列のギャップを吸収することで、イメージデータを利用した高精度な文書情報の検索方法および情報蓄積装置を実現することにある。
【００２０】
【課題を解決するための手段】
上記目的を達成するため、本発明では、（Ａ）種文書中あるいは登録対象文書中に存在する認識誤り文字を補正する処理と（Ｂ）検索対象の文書中に存在する認識誤り文字を許容する処理を個別に行なった上で、文書情報の登録および検索を行なう。
【００２１】
すなわち、本発明による（Ａ）種文書中あるいは登録対象文書中に存在する認識誤り文字を補正する処理は、（１）文書を読み込む文書読み込みステップと、（２）上記文書読み込みステップにおいて読み込まれた文書中の文字列から特徴的な文字列を特徴文字列として抽出する特徴文字列抽出ステップと、（３）前記特徴文字列抽出ステップにおいて抽出された全ての特徴文字列のうち、認識誤り文字を含む特徴文字列に対し、検索を実行する上で適切な特徴文字列および特徴文字列の重み値へ補正する特徴文字列補正ステップと、（４）前記特徴文字列補正ステップにより補正された特徴文字列群を基に、実際の検索に使用する特徴文字列を選択する特徴文字列選択ステップを有する。
【００２２】
次に、本発明による（Ｂ）検索対象の文書内に存在する認識誤り文字を許容する処理は、（１）前記特徴文字列選択ステップにより選択された各特徴文字列に対し、各文字に対してＯＣＲが認識誤りをおこす可能性のある文字を候補文字としてあらかじめ列挙し、記憶領域に格納してある類似文字テーブルを参照し、参照した各候補文字を組み合わせて特徴文字列を展開・拡張する特徴文字列展開ステップと、（２）前記特徴文字列展開ステップにおいて展開された特徴文字列群を基に文書検索コマンドを生成する検索式生成ステップを有する。
【００２３】
以上に述べたように、種文書における認識誤り文字と検索対象となる文書における認識誤り文字に対し、それぞれ個別に検索に悪影響を与えないようにする処理を施すことにより、種文書と検索対象となる文書のイメージ化を行なう際にそれぞれ異なるスキャナを用いた場合、種文書と検索対象となる文書の文字情報の抽出にそれぞれ異なるＯＣＲを用いた場合、種文書と検索対象文書のどちらか一方にのみ認識誤り文字が含まれる場合あるいは種文書と検索対象文書の両方に認識誤り文字が存在する場合のいずれの場合においても、ＯＣＲによる認識誤り文字の人手による校正を行なわずに高精度な類似文書検索を行なうことができる。
【００２４】
【発明の実施の形態】
以下、本発明を適用した第一の実施例について図面を用いて説明する。
【００２５】
図1は本実施例におけるシステムの全体構成を示す。図1に示すように、本実施例は文書登録サブシステム１０１、文書検索サーバ１０２、検索クライアント１０３および１０４、ネットワーク１０５から構成される。
【００２６】
文書登録サブシステム１０１は、検索対象として入力される各紙文書をスキャナ２０６によりイメージデータに変換し、ＯＣＲを用いてイメージデータに存在する文字情報を抽出しテキストデータとして出力する。出力されたテキストデータを解析し、検索時に必要となるインデックスデータを作成する。このインデックスデータは、生成されたイメージデータやテキストデータおよび文書管理情報とともに、ネットワーク１０５を介して文書検索サーバ１０２に転送され、後に文書検索サーバ１０２が検索処理を行なう際に用いられる。
【００２７】
文書検索サーバ１０２は、検索クライアント１０３および１０４からの検索コマンドを受け取り、文書登録サブシステム１０１が作成したインデックスデータを用いて検索コマンドの指定する条件に適合する文書内容の検索を行ない、検索結果データを要求元の検索クライアントに送り返す。
【００２８】
検索クライアント１０３および１０４は、ユーザが対話的に検索条件を指定するための画面をディスプレイ上に表示し、この画面上でユーザが指定した検索条件を、文書検索サーバ１０２にとって解釈可能な検索コマンドの形に変換し、この検索コマンドをネットワーク１０５を介して文書検索サーバ１０２に送信する。前記の通り、文書検索サーバ１０２が検索コマンドに対応する処理を行ない、検索結果データを送り返してくると、検索クライアントは受け取った検索結果データを画面に表示してユーザに提示する。なお、ユーザが指定する検索条件には、テキストデータやイメージデータを指定しても構わない。
【００２９】
さらに、ユーザが検索条件を入力する形態としては、ユーザ自らキーボードから自然文を入力する場合、文書登録サブシステム１０１や文書検索サーバ１０２に蓄積されているデータを用いる場合、手元に存在する紙文書をスキャナなどでイメージ化したデータを用いる場合、フロッピーディスクや光ディスクなど可搬型記憶媒体からイメージデータやテキストデータを読み込む場合あるいはネットワーク１０５を介して転送されてくるイメージデータやテキストデータを入力とする場合が想定されるが、いずれの形態を利用しても構わない。
【００３０】
また、図1では２台のコンピュータ１０３および１０４を検索クライアントとして使用する構成例を示したが、検索クライアントは１台のみとする構成、又は３台以上とする構成をとることもできる。
【００３１】
ネットワーク１０５は、ローカルエリアネットワークおよび（または）広域エリアネットワークであって、文書登録サブシステム１０１、文書検索サーバ１０２、検索クライアント１０３および１０４が各種データやコマンドを送受信するために用いられる。
【００３２】
ここで、図１では文書登録サブシステム１０１から文書検索サーバ１０２にインデックスデータを転送するためにネットワーク１０５を使用するものとしたが、代わりにフロッピーディスク、光磁気ディスク、追記型光ディスクなどの可搬型記憶媒体を使用する構成をとることもできる。あるいは、文書登録サブシステム１０１と文書検索サーバ１０２を１台のコンピュータ上に実装し、データ転送を行なわない構成をとることもできる。さらに、図１では検索クライアント１０３および１０４と文書検索サーバ１０２には別個のコンピュータを使用するものとしたが、１個以上の検索クライアントを文書検索サーバと同一のコンピュータで実行する構成をとることもできる。
【００３３】
文書登録サブシステム１０１は、ディスプレイ２０１、キーボード２０２、中央演算装置（ＣＰＵ）２０３、フロッピーディスクドライブ（ＦＤＤ）２０４、フロッピーディスク２０５、スキャナ２０６、通信制御装置２０７、主メモリ２０８、磁気ディスク装置２０９、システムバス２１０から構成される。
【００３４】
ディスプレイ２０１は、本サブシステムにおける処理の実行状況を表示するために使用する。キーボード２０２は、文書登録処理の実行などを指示するコマンドを入力するために使用する。中央演算装置２０３は、本サブシステムを構成する各種プログラムを実行する。フロッピーディスクドライブ２０４は、フロッピーディスク２０５に対するデータの読み書きのために使用する。スキャナ２０６は、登録対象とする紙文書を読み込み、イメージデータとして電子化し、本サブシステムに入力するために使用する。通信制御装置２０７は、ネットワーク１０５を介して前記文書検索サーバ１０２と通信し、文書登録あるいは文書検索に関するリクエストおよびデータの送受信を行なうために使用する。
【００３５】
主メモリ２０８は、本サブシステムによる処理を行なうための各種プログラムおよび一時的なデータを保持するために使用する。磁気ディスク装置２０９は、登録されたイメージデータ、テキストデータ、本サブシステムが作成するインデックスデータ、イメージデータとテキストデータの関連性を保持する文書管理情報および各種プログラムを格納するために使用する。システムバス２１０は、これらの各種装置を接続するために使用する。
【００３６】
主メモリ２０８中には、システム制御プログラム２１１、文書登録制御プログラム２１２、スキャナ制御プログラム２２０、文字認識プログラム２２１、テキスト登録プログラム２２２、イメージ登録プログラム２２３、文書管理情報登録プログラム２２４および文字列インデックス生成プログラム２２５が格納されるとともに、ワークエリア２７０が確保される。これらのプログラムは、フロッピーディスク２０５や光磁気ディスクなどの可搬型記憶媒体に格納され、ここから読み出し、磁気ディスク装置２０９へインストールする。本サブシステム起動時に、システム制御プログラム２１１が起動し、これらのプログラムを磁気ディスク装置２０９から読み出し、主メモリ２０８へ格納する。
【００３７】
磁気ディスク装置２０９中には、テキストデータ格納領域２５０、イメージデータ格納領域２５１、インデックスファイル格納領域２５２、文書管理情報格納領域２５３および各種プログラム格納領域２５４が確保される。
【００３８】
システム制御プログラム２１１は周辺機器との間のデータの入出力など、コンピュータ上で本サブシステムを構成する各プログラムを実行するための基本機能を提供する。文書登録制御プログラム２１２は、スキャナ制御プログラム２２０、文字認識プログラム２２１、テキスト登録プログラム２２２、イメージ登録プログラム２２３、文書管理情報登録プログラム２２４および文字列インデックス生成プログラム２２５の起動および実行制御を行なうと共に、これらのプログラムによって生成されたテキストデータ、イメージデータ、インデックスファイルおよび文書管理情報をネットワーク１０５を介して前記文書検索サーバ１０２に転送する。ワークエリア２７０はプログラムの実行時に一時的に必要となるデータを記憶するために用いられる。
【００３９】
スキャナ制御プログラム２２０は、登録する紙文書をセットしたスキャナ２０６を起動し、紙文書からイメージデータを生成する。文字認識プログラム２２１は、前記スキャナ制御プログラムで生成されたイメージデータを入力して文字情報を抽出し、テキストデータを生成する。テキスト登録プログラム２２２は、前記文字認識プログラムで生成されたテキストデータを磁気ディスク２０９内に存在するテキストデータ格納領域２５０へ登録する。イメージ登録プログラム２２３は、前記スキャナ制御プログラムから出力されたイメージデータを磁気ディスク２０９内に存在するイメージデータ格納領域２５１へ登録する。文書管理情報登録プログラムは、前記スキャナ制御プログラムで生成されたイメージデータと前記文字認識プログラムで生成されたテキストデータの識別子を関連付け、文書管理情報格納領域２５３へ登録する。文字列インデックス生成プログラム２２５は、前記文字認識プログラムで生成されたテキストデータから、所定の部分文字列と該部分文字列の文字位置情報との対応関係を表すデータを生成し、インデックスファイル格納領域２５２に格納されているインデックスに登録し、インデックスを更新する。
【００４０】
なお、本実施例ではスキャナ２０６から入力されたイメージデータを登録対象文書として入力する構成としたが、フロッピーディスク、光磁気ディスク、追記型光ディスクなど可搬型記憶媒体からイメージデータを読み込む構成をとることもでき、ネットワーク１０５を介して転送されてくるイメージデータを入力とすることもできる。また、スキャナやＯＣＲを介す構成を取らず、すでに電子化されているテキストデータを可搬型記憶媒体から読み込む構成、直接データをキーボード２０２から手入力する構成あるいはネットワーク１０５を介して転送されてくるテキストデータを入力とする構成を取っても構わない。
【００４１】
また、テキストデータを入力とした場合、対応するイメージデータに対する情報は、空のデータを作成し仮の文書識別子を付与する形態を用いてもよいし、イメージデータは存在しないことを明示する情報を付与する形態を取ってもよい。さらに、本実施例では生成されたテキストデータ、イメージデータ、インデックスファイルおよび文書管理情報を文書検索サーバ１０２に転送するものとしたが、生成されたインデックスファイルのみ、あるいは、生成されたインデックスファイルおよびいずれかのデータのみを文書検索サーバ１０２に転送し、実体のデータは各文書登録サブシステムに格納しておく形態を取っても構わない。
【００４２】
次に、本実施例における文書登録処理の手順を図２を用いて説明する。キーボード２０２からの登録指示コマンド等により、文書登録制御プログラム２１２が起動されると、本プログラムはまずスキャナ制御プログラム２２０を起動し、スキャナ２０６上にセットされている紙文書の有無を調べ、全ての登録対象文書に対し、以下に示すステップ３０２から３０７の一連の処理を繰り返し実行する（ステップ３０１）。
【００４３】
ステップ３０２では、スキャナ制御プログラム２２０を実行し、スキャナ２０６により、登録対象の紙文書を読み込み、イメージデータへ変換する。この登録対象の紙文書には図表やイラストが挿入されていても構わない。さらに、変換したイメージデータに対して文書識別子を割り当て、ワークエリア２７０へ格納する。なお、文書識別子は文書データベース中で特定の文書を一意に識別する番号である。
【００４４】
ステップ３０３では、周知の文字認識技術を用いた文字認識プログラム２２１を実行し、ステップ３０２にて生成されたイメージデータを入力とする文字認識を行なうことでイメージデータ中に存在する文字情報を抽出する。抽出された文字情報はテキストデータとして文書識別子を割り当て、ワークエリア２７０に格納する。
【００４５】
ステップ３０４ではステップ３０３で生成されたテキストデータを入力して文字列インデックス生成プログラム２２５を実行する。文字列インデックス生成プログラムは、まずインデックスファイル格納領域２５２から現時点での文字列インデックスを読み出し、所定の部分文字列と該部分文字列の位置情報との対応関係を表わすデータを生成してこれをインデックスファイルに登録し、更新されたインデックスファイルをインデックスファイル格納領域２５２に格納する。
【００４６】
ステップ３０５では、ワークエリアに格納されているテキストデータとイメージデータを入力として文書管理情報登録プログラム２２４を実行する。ワークエリアに格納されているテキストデータとイメージデータの文書識別子を関連付け、関連付けたデータ間の情報を文書管理情報格納領域２５３に登録する。関連付けたデータ間の情報は、対応関係を表わすテーブルを持つことで容易に実現できる。
【００４７】
ステップ３０６では、ワークエリアに格納されているテキストデータを入力し、テキスト登録プログラム２２２を実行する。テキスト登録プログラムでは、入力されたテキストデータと文書識別子をテキストデータ格納領域２５０に登録する。また、ステップ３０７では、ワークエリアに格納されているイメージデータを入力し、イメージ登録プログラム２２３を実行する。イメージ登録プログラムでは、入力されたイメージデータと文書識別子をイメージデータ格納領域２５１に登録する。
【００４８】
全ての登録対象文書について上記ステップ３０２から３０７の一連の処理が終了すると、文書登録制御プログラム２１２はステップ３０８を実行して終了する。ステップ３０８では、テキストデータ格納領域２５０に格納された全てのテキストデータ、イメージデータ格納領域２５１に格納された全てのイメージデータ、インデックスファイル格納領域２５２に格納された全てのインデックスファイル、文書管理情報格納領域２５３に格納された全ての文書管理情報を、ネットワーク１０５を介して文書検索サーバ１０２に転送する。
【００４９】
文書検索サーバ１０２は、文書登録サブシステム１０１と同様のシステム構成を取るが、スキャナ２０６をシステムとして組込まない点が異なる。さらに、主メモリ２０８と磁気ディスク２０９に格納されるプログラム群およびデータが異なっている。図３に本実施例における文書検索サーバ１０２の構成を示す。
【００５０】
主メモリ２０８中には、システム制御プログラム２１１、文書検索制御プログラム２１３、検索条件式解析プログラム２２６、類似文書検索プログラム２２７、特徴文字列補正プログラム２３１、文字列分割プログラム２３５、拡張特徴文字列生成プログラム２３６および検索結果取得プログラム２３９が格納されるとともにワークエリア２７０が確保される。
【００５１】
磁気ディスク装置２０９中には、テキストデータ格納領域２５０、イメージデータ格納領域２５１、インデックスファイル格納領域２５２、文書管理情報格納領域２５３、各種プログラム格納領域２５４および類似文字テーブル格納領域２５５が確保される。
【００５２】
文書検索制御プログラム２１３は、検索条件式解析プログラム２２６、類似文書検索プログラム２２７、特徴文字列補正プログラム２３１、文字列分割プログラム２３５、拡張特徴文字列生成プログラム２３６および検索結果取得プログラム２３９の起動と実行制御を行なうとともに、ネットワーク１０５を介して、文書登録サブシステム１０１および検索クライアント（１０３および１０４）との間で文書登録または文書検索に関するリクエストおよびデータの送受信を行なう。
【００５３】
検索条件式解析プログラム２２６は、検索クライアント１０３および１０４から受信した検索リクエスト中に含まれる検索条件式を解析し、類似文書検索プログラム２２７によって直接検索可能な条件指定に翻訳する。
【００５４】
類似文書検索プログラム２２７は検索条件式解析プログラム２２６によって翻訳された条件指定に従って、インデックスファイル格納領域２５２に格納されているインデックスを検索し、得られた検索結果データをワークエリア２７０に格納する。類似文書検索プログラム２２７は、種文書読込プログラム２２８、特徴文字列抽出プログラム２２９および類似度算出プログラム２３０で構成されるとともに、後述するように特徴文字列補正プログラム２３１を呼び出す構成をとる。
【００５５】
特徴文字列補正プログラム２３１は、重み値補正プログラム２３４で構成され、抽出された特徴文字列およびその重み値を補正する処理を行なうとともに、拡張特徴文字列生成プログラム２３６を呼び出す構成をとる。
【００５６】
拡張特徴文字列生成プログラム２３６は、類似文字テーブル参照プログラム２３７と文字列展開プログラム２３８で構成されるとともに、文字列分割プログラム２３５を呼び出す構成をとる。
【００５７】
検索結果取得プログラム２３９は、類似文書検索プログラム２２７によって取得された検索結果データを類似度の降順にソートし、この情報を要求元の検索クライアントに転送する。
【００５８】
次に、本実施例における文書検索処理の手順を図４を用いて説明する。キーボード２０２からのサーバ起動コマンドなどにより文書検索制御プログラム２１３が起動されると、本プログラムはサーバとして文書登録サブシステム１０１および検索クライアント（１０３、１０４など）からリクエストを受信してはその処理を行なうループに入る（ステップ４０１）。このループは、キーボード２０２からサーバの停止を指示するコマンドが入力されるまで継続する。
【００５９】
ステップ４０１のループは、文書登録サブシステム１０１および検索クライアント（１０３および１０４）から文書登録あるいは文書検索に関するリクエストを受信する処理（ステップ４０２）と、受信したリクエストの種別を判定し、判定した種別に対応する処理に分岐する処理（ステップ４０３）を繰り返す。
【００６０】
ステップ４０３では、受信したリクエストの種別を判定し、判定したリクエストが文書登録サブシステム１０１から送信されたデータベース更新リクエストであった場合、ステップ４０４および４０５からなる処理に分岐する。また、前記リクエストが検索クライアント（１０３、１０４など）から送信された文書検索リクエスト（特定の検索条件を満たす文書群の検索を求めるリクエスト）であった場合、ステップ４０６、４０７、４０８および４０９からなる処理に分岐する。また、前記リクエストが検索クライアント（１０３、１０４など）から送信された検索結果問合せリクエスト（特定の検索処理の結果を問合せるリクエスト）であった場合、ステップ４１０の処理に分岐する。また、前記リクエストが検索クライアント（１０３、１０４など）から送信された文書転送リクエスト（指定された文書の転送を求めるリクエスト）であった場合、ステップ４１１の処理に分岐する。分岐先の処理が終了した後は再びステップ４０２に戻ってループを継続する。
【００６１】
ステップ４０４では、文書登録サブシステム１０１から、新規に登録された文書群の文書データ（テキストデータおよびイメージデータ）を受信し、受信した文書データのうちテキストデータをテキストファイル格納領域２５０に、イメージデータをイメージデータ格納領域２５１にそれぞれ追加する。
【００６２】
次に、ステップ４０５では、文書登録サブシステム１０１から、新規に登録された前記文書群の内容に対応したインデックスデータを受信し、この受信したインデックスデータを反映してインデックスファイル格納領域２５２に存在するインデックスデータを更新する。
【００６３】
ステップ４０６では、検索条件式解析プログラム２２６を実行し、文書検索リクエスト中で指定されている検索条件を解析し、該検索条件を、類似文書検索プログラム２２７にて直接処理可能な条件指定に変換する。併せて、検索条件式から種文書として設定すべき文章を抽出し、種文書として設定しておく。
【００６４】
次に、ステップ４０７では、前記ステップ４０６にて生成された種文書と条件指定を入力して、類似文書検索プログラム２２７を実行し、該種文書と該条件指定を満たす文書群を検索して各文書の類似度を算出する。なお、本ステップにおける類似文書検索プログラム２２７の詳細な説明は後述する。
【００６５】
次に、ステップ４０８では、検索結果取得プログラム２３８を起動し、類似文書検索プログラムにて算出された各文書の類似度の降順に文書をソートし、この文書群と各文書に対応した類似度といった情報をまとめた検索結果データをワークエリア２７０に格納する。
【００６６】
次に、ステップ４０９では、前記検索結果データ集合もしくは検索結果データ集合を識別する検索結果識別子を要求元の検索クライアントに返送する。
【００６７】
ステップ４１０では、問合せの内容に応じて前記ステップ４０８にて求めた検索結果データの一部もしくは全体をワークエリア２７０から抽出し、要求元の検索クライアントに転送する。
【００６８】
ステップ４１１では、文書転送リクエスト中で指定されている文書（複数の文書が指定されている場合は指定されている文書すべて）の文書データをテキストファイル格納領域２５０あるいはイメージファイル格納領域２５１から抽出し、要求元の検索クライアントに転送する。
【００６９】
以上が本実施例における文書検索処理の概略手順である。以下では、上記ステップ４０７の詳細ならびに各種プログラムの詳細を、図を用いて説明する。
【００７０】
図５はステップ４０７の詳細、すなわち本実施例における類似文書検索プログラム２２７の処理手順を示すＰＡＤ図である。
【００７１】
類似文書検索プログラム２２７は、文書検索リクエスト中に存在する種文書や各種条件指定を入力として起動されると、まず、ステップ５０１では、入力された種文書をワークエリア２７０に格納する。
【００７２】
次に、ステップ５０２にて、特徴文字列抽出プログラム２２９を起動し、ステップ５０１で読み込んだ種文書中から検索に必要な特徴文字列を抽出し、各特徴文字列に対して検索に用いる重み値を付与する。
【００７３】
次に、ステップ５０３では、イメージデータに対応した検索が要求されているかどうかを判定する。そして、イメージデータに対応した検索が要求されている場合に限り、ステップ５０４からステップ５１２までの処理を実行する。イメージデータに対応した検索が要求されていない場合には、ステップ５１３へ進む。なお、ステップ５０３の判定に用いるデータは、検索クライアント１０３における検索条件の設定時にユーザもしくはシステムが設定する。
【００７４】
ステップ５０４からステップ５１１までの処理は、本実施例における特徴文字列補正プログラム２３１の処理である。
【００７５】
特徴文字列補正プログラム２３１が呼び出されると、まず、類似文書検索プログラム２２７で指定されている特徴文字列をワークエリア２７０に格納する（ステップ５０４）。
【００７６】
ステップ５０４が終了すると、特徴文字列を一つずつ読み出してはその処理を行なうループに入る（ステップ５０５）。このループ処理を行なうことにより、種文書から抽出する特徴文字列を補正し、かつ、検索対象の文書に存在する認識誤り文字を許容することが可能となる。また、ステップ５０５のループは、全ての特徴文字列が読み出されるまで繰り返される。ステップ５０５のループは、特徴文字列から拡張特徴文字列を生成する処理（ステップ５０６からステップ５０９）と、生成された拡張特徴文字列に対して重み値を設定する重み値補正処理（ステップ５１０）と、拡張特徴文字列とそれに対する重み値を特徴文字列として設定する処理（ステップ５１１）を繰り返す。なお、ステップ５０６からステップ５０９における処理は、本実施例における拡張特徴文字列生成プログラム２３６の処理である。
【００７７】
拡張特徴文字列生成プログラム２３６では、ステップ５０５にて指定された特徴文字列を読み出す（ステップ５０６）。
【００７８】
次に、読み出された特徴文字列を入力として文字列分割プログラム２３５を呼び出し、１文字単位の部分文字列に分割する（ステップ５０７）。
【００７９】
さらに、類似文字テーブル参照プログラム２３７を起動し、分割された各部分文字列に対して、類似文字テーブル格納領域２５５に格納されている認識候補文字を参照することで各部分文字列における１文字単位の認識候補文字を設定する（ステップ５０８）。
【００８０】
最後に、文字列展開プログラム２３８を起動し、設定した各部分文字列における１文字単位の認識候補文字を組み合わせて展開語を生成し、さらに生成した展開語を論理和（ＯＲ）で結合することで拡張特徴文字列を生成し、その拡張特徴文字列を出力する（ステップ５０９）。
【００８１】
なお、本実施例における拡張特徴文字列生成プログラム２３６に用いるプログラムは、従来技術２に示されている方法を基本として説明したが、１文字単位の処理ではなく、ｎ文字単位（ｎ≧１）の処理を行なっても構わない。さらに、ステップ５０９にて生成された各展開語に対して各々重み付けを行ない、各展開語に対して重みを付与した拡張特徴文字列生成を行なっても構わない。また、類似文字テーブルの作成方法についても、従来技術２に示されている方法を用いて作成しても、ｎ文字単位の類似文字テーブルを作成しても構わない。これら拡張特徴文字列生成プログラム２３６に関連する方法および類似文字テーブル作成方法は、従来技術２に示されている。
【００８２】
また、本ステップ５０９で用いられる類似文字テーブルの具体例を図６に示す。図６における第１列２５５１は、認識対象となる文字である。また、図６における第２列２５５２は文字認識を行なった結果として第一候補として認識される確率が高いもの、つまり、認識結果として出力される可能性が一番高いものを示している。同様に、図６における第３列２５５３は文字認識を行なった結果として第二候補として認識される確率が高いもの、図６における第４列２５５４は文字認識を行なった結果として第三候補として認識される確率が高いものを示す。なお、図６における第１列２５５１では、１文字毎に格納されているが、「日本」や「Cup」のような複数文字を格納しても構わない。この場合、第２列２５５２から第４列２５５４列はそれぞれ複数文字における認識候補文字が格納される。
【００８３】
ステップ５１０では、前記ステップ５０８にて生成された拡張特徴文字列に対して重み値補正プログラム２３４を実行し、検索に用いる重み値を設定する。重み値補正プログラム２３４は、以下に示すステップ（ａ）と（ｂ）の２つのステップにより構成される。
【００８４】
ステップ（ａ）：拡張特徴文字列生成プログラム２３６で生成された拡張特徴文字列を読み込み、格納された拡張特徴文字列が種文書内に出現する頻度を算出する。このとき、拡張特徴文字列は各展開語が論理和にて結合されたものであるから、各展開語のいずれかが種文書内に出現すれば、出現頻度情報としてカウントできる。このステップ（ａ）の処理により、種文書内に存在する認識誤り文字を許容し、特徴文字列の重み値設定に関わるパラメータの一つを補正できる。
【００８５】
ステップ（ｂ）：算出されたパラメータを基として、周知の算出方法を用いて拡張特徴文字列の重み値を算出し、その重み値を出力する。
【００８６】
ステップ５１１では、前記ステップ５０９にて生成された拡張特徴文字列と前記ステップ５１０にて生成された重み値を特徴文字列とその重み値として設定し、ワークエリア２７０に格納する。
【００８７】
ステップ５０６からステップ５１１までの処理が終了した後は再びステップ５０５に戻ってループを継続する。ステップ５０５のループが終了すると、生成された特徴文字列群をソートする処理に入る（ステップ５１２）。このステップ５１２では、特徴文字列を重み値の降順にソートし、ソートされた特徴文字列をワークエリア２７０に格納する。ステップ５１２が完了すると、特徴文字列補正プログラム２３１を終了し、ステップ５１３へ進む。
【００８８】
ステップ５１３では、ソートされた特徴文字列から、重み値などの選択基準を元に検索に用いる特徴文字列を選択する。
【００８９】
ステップ５１４では、周知の技術を適用した類似度算出プログラム２３０を起動し、選択した各特徴文字列とその重み値を入力として、テキストファイル格納領域２５０に存在する各文書の類似度を算出する。
【００９０】
以上が、類似文書検索プログラム２２７、すなわち、前記文書検索処理手段におけるステップ４０７の処理手順の詳細である。
【００９１】
検索クライアント１０３あるいは１０４は、文書登録サブシステム１０１と同様のシステム構成をとる。ただし、主メモリ２０８と磁気ディスク２０９に格納されるプログラム群およびデータが異なっている。なお、図７は本実施例における検索クライアント１０３あるいは１０４のシステム構成を示す。
【００９２】
主メモリ２０８中には、システム制御プログラム２１１、クライアント制御プログラム２１４、スキャナ制御プログラム２２０、文字認識プログラム２２１、検索条件入力プログラム２４０および検索結果表示プログラム２４１が格納されるとともにワークエリア２７０が確保される。
【００９３】
磁気ディスク装置２０９中には、検索結果データ格納領域２５７および各種プログラム格納領域２５４が確保される。
【００９４】
クライアント制御プログラム２１４は、スキャナ制御プログラム２２０、文字認識プログラム２２１、検索条件入力プログラム２４０および検索結果表示プログラム２４１の起動および実行制御を行なうと共に、ネットワーク１０５を介して文書検索サーバ１０２との間で文書検索に関するリクエストおよびデータの送受信を行なう。
【００９５】
検索条件入力プログラム２４０は、ユーザと対話しつつ検索条件の入力および解釈を行なう。検索結果表示プログラム２４１は、文書検索サーバ１０２から受け取った検索結果の表示を行なう。
【００９６】
なお、本実施例ではスキャナ２０６から入力されたイメージデータを検索の種文書として入力する構成としたが、磁気ディスク２０９上に存在するイメージデータを読み込む構成やフロッピーディスク、光磁気ディスク、追記型光ディスクなど可搬型記憶媒体からイメージデータを読み込む構成をとることもできる。さらに、ネットワーク１０５を介して転送されてくるイメージデータを入力とすることもできる。これらの場合にはスキャナ２０６は必要としない。また、スキャナやＯＣＲを介す構成をとらず、すでに電子化されているテキストデータを磁気ディスクや可搬型記憶媒体から読み込む構成、直接データをキーボード２０２から手入力する構成あるいはネットワーク１０５を介して転送されてくるテキストデータを入力とする構成をとっても構わない。さらに、本クライアントにプリンタを接続し、検索結果を印刷するよう構成することもできる。
【００９７】
次に、本実施例における検索クライアント（１０３、１０４）の動作手順を図８を用いて説明する。キーボード２０２から入力されるクライアント起動コマンドなどにより、クライアント制御プログラム２１２が起動されると、本プログラムはユーザから文書検索を指示するコマンドを受け取ってはその処理を行なうループに入る（ステップ７０１）。このループは、キーボード２０２からクライアントの停止を指示するコマンドが入力されるまで継続する。ステップ７０１のループは、以下に示すステップ７０２からステップ７０８までに示す処理を繰り返す。
【００９８】
ステップ７０２では、ユーザが対話的に検索条件を入力するための画面を表示する。ステップ７０３では、スキャナ制御プログラム２２０を起動し、スキャナ２０６により、種文書として設定する対象の紙文書を読み込み、イメージデータへと変換しワークエリア２７０に格納する。この種文書として設定する紙文書には図表やイラストが挿入されていても構わない。ステップ７０４では、文字認識プログラム２２１を実行し、ステップ７０３にて生成されたイメージデータ中に存在する文字情報を抽出する。抽出された文字情報はテキストデータとしてワークエリア２７０に格納する。なお、文字認識技術についてはすでに公知であるため、ここでは言及しない。ステップ７０５では、検索条件入力プログラム２４０を実行し、ユーザとの対話により検索条件を入力し、さらに、ワークエリアに格納されたテキストデータを種文書として設定する。そして、該検索条件と該種文書を文書検索サーバ１０２が解釈可能な文書検索リクエストに変換する。
【００９９】
ステップ７０６では、前記文書検索リクエストを、ネットワーク１０５を介して、文書検索サーバ１０２に送信する。ステップ７０７では、文書検索サーバ１０２から前記文書検索リクエストの返送として検索結果データ集合が返されるのを待ち、検索結果データ集合あるいは該検索結果識別子を受信する。ステップ７０８では、前記検索結果データ集合あるいは検索結果識別子を入力として検索結果表示プログラム２４１を実行し、ユーザと対話しつつ検索結果データの問合せおよび画面表示を行なう。
【０１００】
ステップ７０８で実行される検索結果表示プログラム２４１は、図９に示すように、クライアント制御プログラム２１４から起動されると、直ちにステップ８０１のループに入る。このループは、ユーザから検索結果表示の終了を指示するコマンドを入力されるまで、以下に示すステップ８０２からステップ８１２までに示す処理を繰り返し実行する。
【０１０１】
前記ステップ８０１のループ内では、まずステップ８０２において、検索結果の表示とユーザからの指示入力のために用いる画面をディスプレイ２０１に表示する。次に、ステップ８０３において、前記画面上でユーザが指定した指示内容を読み込む。次に、ステップ８０４において、前記ユーザの指示内容の種別を判定し、その種別に対応した分岐を行なう。すなわち、該指示が検出文書数の表示を求めるものであった場合には、以下に記すステップ８０５および８０６の処理に分岐し、該指示が文書識別子リスト表示を求めるものであった場合には、以下に記すステップ８０７および８０８の処理に分岐し、該指示が文書内容表示を求めるものであった場合には、以下に記すステップ８０９からステップ８１２までの処理に分岐する。各分岐先の処理が終了するとステップ８０１に戻り、前記ループを再開する。
【０１０２】
ステップ８０５では、検出文書数を問い合わせるための検出文書数問合せリクエストを作成し、該リクエストを文書検索サーバ１０２に送信する。ステップ８０６では、前記リクエストに対応して文書検索サーバ１０２から転送されてきた検索文書数を受信し、該数値をディスプレイ２０１に表示する。
【０１０３】
ステップ８０７では、検出文書群の文書識別子リストを問合せるための文書識別子問合せリクエストを作成し、該リクエストを文書検索サーバ１０２に送信する。ステップ８０８では、前記リクエストに対応して文書検索サーバ１０２から転送されてきた文書識別子の集合を受信し、該集合に含まれる文書識別子群を検索結果データ格納領域２５７に格納し、ディスプレイ２０１に文書識別子群をリスト表示する。
【０１０４】
ステップ８０９では、表示すべき文書を特定する文書識別子を入力する。ステップ８１０では、該識別子が識別する文書の文書データをえるための文書転送リクエストを作成し、該リクエストを文書検索サーバ１０２に送信する。ステップ８１１では、前記リクエストに対応して文書検索サーバ１０２から転送されてきた文書データを受信し、該文書データを検索結果データ格納領域２５７に格納する。ステップ８１２では、格納した文書データを、書式化してディスプレイ２０１上に表示する。このとき、文書データ内に存在する特徴文字列などに対して、反転や着色などのハイライト表示処理を加えても構わない。さらに、このステップにおいて表示するデータはイメージデータであってもテキストデータであっても構わない。
【０１０５】
イメージデータは、文章の加工ができない反面、可読性に優れており、図表も同時に見ることができる。一方、テキストデータは文章の加工ができる反面、認識誤り文字を含んでいるため可読性に劣り、図表も見ることができない。こういった文書の特性を理解した上で、イメージデータとテキストデータのどちらの文書を表示するかはユーザが選択できる。テキストファイル格納領域２５０およびイメージファイル格納領域２５１に登録されている情報は、文書管理情報２５３においてテーブル形式にて管理されているため、必要なデータの取得は、容易に実現できる。
【０１０６】
以下では、第一の実施例における文書登録および文書検索の処理について、具体的な例を用いて説明する。
【０１０７】
まずは、文書登録における処理手順について、文書登録サブシステム１０２の処理手順に基づき、具体例を用いて説明する。
【０１０８】
図１０に、文書登録に用いる紙文書９０１の一例を示す。なお、登録対象の紙文書９０１には、図１０に示す文書内容だけでなく、その記事に関連した写真が掲載されている。また、図１０のテキストデータ９０２は、前記文書登録サブシステム１０２の処理手順におけるステップ３０２および３０３によって文字認識を行なった後のテキストデータの一例を示す。
【０１０９】
今回の文字認識においては、例えば「サッカー」、「Goal」あるいは「team」という文字が「ナッかー」、「God１」、「teen」と認識誤りを起こしていることがわかる。なお、図１０のテキストデータ９０２において、アンダーラインの文字は文字認識誤りを起こしていることを示す。文書登録サブシステム１０２は、テキストデータ９０２からインデックスデータを作成し、テキストデータとステップ３０２にて生成されたイメージデータとの関連付けを行なった後、それぞれの格納領域に登録する（ステップ３０４からステップ３０７まで）。本実施例では、文字認識によって抽出されたテキストデータに何も処理を施していない。
【０１１０】
また、図１０には、文書登録に用いる電子データ９０３の一例を示す。この文書は、すでに電子化されているテキストデータである。そのため、文書登録サブシステム１０２は、ステップ３０２および３０３を実行する必要がなく、イメージデータを空データとして設定し、テキストデータとイメージデータの関連付けを行なった後、それぞれの格納領域に登録する（図１０のテキストデータ９０４）。なお、本実施例では、登録対象が電子データの場合、イメージデータは空データとして登録するものとしたが、電子データをイメージデータ化して登録する形式を取っても構わない。
【０１１１】
この処理を登録文書がなくなるまで実行し、生成したテキストデータ群、イメージデータ群、インデックスデータおよび文書管理情報をデータベース更新リクエストとして文書検索サーバ１０２に転送する。
【０１１２】
次に、文書検索における処理手順について、文書検索サーバ１０２の処理手順および検索クライアント（１０３および１０４）の処理手順に基づき、具体例を用いて説明する。
【０１１３】
図１１に、類似文書検索をしたい元の文書、すなわち種文書として設定する紙文書１００１の一例を示す。なお、紙文書１００１には、図１１に示す文書内容と共に、それに関連したイラストが挿入されている。また、図１１におけるテキストデータ１００２は、検索クライアント１０３（あるいは１０４）の処理手順におけるステップ７０３および７０４によって文字認識を行なった後のテキストデータの一例を示す。この文字認識においては、例えば「サッカー」、「Cup」、「Azzurri」あるいは「soccer」という文字が「サソカー」、「Cap」、「Azzurvi」、「social」と認識誤りを起こしていることがわかる。
【０１１４】
なお、図１１のテキストデータ１００２において、アンダーラインの文字は文字認識誤りを起こしていることを示す。さらに、図１１中に検索条件入力プログラム２４０を用いて生成された検索リクエスト１００３の一例を示す。この検索リクエストは、DB1というデータベース内でテキストデータ１００２の内容に類似した文書を検索する条件式である。この検索リクエストを検索サーバ１０２に送信する。
【０１１５】
検索サーバ１０２においてこの検索リクエストを受信すると、文書検索サーバ１０２の処理手順におけるステップ４０６および４０７により、種文書に存在する特徴文字列を抽出する。図１２におけるテーブル１１０１は図１１における検索リクエスト１００３により生成された特徴文字列の一例を示す。なお、類似文書検索を実行するに際しては、テーブル１１０１に示した特徴文字列から検索に用いる特徴文字列を取捨選択することが必要となる。特徴文字列の選択方法としては、種文書中での高頻度の特徴文字列を選択する方法、検索対象の文書群に余り存在しない特徴文字列を選択する方法、文中の役割（主語、述語、目的語）などに応じて決定する方法あるいはこれらを組み合わせて特徴文字列の重要度（重み値）を設定する方法などさまざまな周知の方法が利用できる。本実施例では、便宜上、設定された各特徴文字列の重み値が５．０以上のものを検索用の特徴文字列として設定することにする。
【０１１６】
従来技術１では、ここで選択された特徴文字列を用いて検索式を生成し、検索を実行するものとしている。図１２におけるテーブル１１０２は従来技術１により選択された特徴文字列群、図１２における検索条件式１１０３は従来技術１により生成された検索式である。この検索式では、DB1というデータベース内の文書で、「サソカー」、「ナッカー」、「エタリア」、「仁」、「代表」、「日本」、「Cap」の全ての特徴文字列を含んでいる文書を検索することになる。このため、図１０の文書９０２には「仁」という文字しかヒットせず、文書９０３においても、「代表」という特徴文字列しかヒットしないことになり、各々検索漏れになってしまう。また、検索式の生成において検索に用いる特徴文字列を論理和（ＯＲ）で結合した場合は、「日本を代表する古墳、仁徳天皇陵」あるいは「The FDNY's Cap Sold Out」のような無駄な文書を多くヒットさせる結果となるばかりでなく、図１０の文書９０２においてヒットする特徴文字列は「仁」のみであり、また、文書９０３においてヒットする特徴文字列は「代表」のみであるため、検索結果表示において文書９０１、９０２、９０３あるいは９０４は相当下位のランクにて出現することになり、類似文書であると判別しにくい。
【０１１７】
そこで、本実施例では、図１２に示す処理に対して、図１３に示す特徴文字列と検索用特徴文字列の選択に用いる重み値を補正する処理を行なっている。
【０１１８】
まず、種文書や検索対象の文書内に存在する認識誤り文字に対応するため、類似文書検索プログラム２３１にて生成された特徴文字列（テーブル１１０１）に対し、認識誤りを起こしている可能性の高い文字列へと展開する。これには類似文字テーブル２５５を用いる。拡張特徴文字列生成プログラム２３６を適用することにより、例えば「サッカー」は、「サッカー or ナッカー or ・・・ or サソカー or ・・・ or サッかー or ・・・」に、「Cap」は「Cap or Cup or Oap or Oup or ・・・」と展開される（図１３におけるテーブル１２０１）。この展開方法については、従来技術２にて公知のため、ここでは詳細に言及しない。
【０１１９】
次に、展開された特徴文字列（拡張特徴文字列）を用いて、各特徴文字列の重み値の補正、つまり、重み値の設定を行なう際に用いるパラメータの補正を行なう（重み値補正プログラム２３４）。なお、各特徴文字列の重み値の設定方法については、本実施例では便宜上、各特徴文字列が種文書に出現する頻度をパラメータとして用いることにする。この場合、例えば、図１１の文書１００２内に存在する「サッカー」という文字列の出現頻度は１回であるが、「サッカー」という文字列に対する拡張特徴文字列「サッカー or ナッカー or ・・・ or サソカー or ・・・ or サッかー or ・・・」を用いることにより、本来の出現頻度である３回に補正することが可能となる。この補正したパラメータを基に、拡張特徴文字列の重み値を設定し、これを検索に用いる特徴文字列候補として設定する（図１３におけるテーブル１２０２における「サッカー」の項を参照）。
【０１２０】
上記により設定された検索に用いる特徴文字列候補を重み値の降順にソートし、ある閾値以上の特徴文字列候補を検索に用いる特徴文字列として決定する。なお、本実施例では、便宜上、重み値が５．０以上のものを検索用の特徴文字列として設定している。この設定方法により設定された検索に用いる特徴文字列を図１３におけるテーブル１２０３に示し、本実施例により生成された検索式を図１３における検索式１２０４に示す。
【０１２１】
従来技術１により抽出された特徴文字列群（図１２におけるテーブル１１０２）と比較して、図１３におけるテーブル１２０３においては、本来検索を行なうにあたって重要な語である「サッカー」、「Azzurri」あるいは「Cup」という文字列が抽出できていることがわかる。よって、以上の処理を用いることで、検索に必要な特徴文字列が抽出できる。
【０１２２】
また、図１３の検索式１２０４においては、拡張された特徴文字列とその重み値により構成される。つまり、検索式１２０４は、拡張された特徴文字列のいずれかを内包する文書を検索する検索条件式である。ここでは、特徴文字列の代わりに拡張特徴文字列を用いることにより、検索対象の文書内に存在する認識誤りを許容することが可能となる。
【０１２３】
例えば、「サッカー」という特徴文字列に対して、図１０の文書９０２では、「サッカー」という言葉は存在しないが、拡張特徴文字列を用いることにより、「ナッかー」という文字列にもヒットするため、検索漏れを防ぐことが可能となる。また、副次的な効果ではあるが、「Cup」が「Cap」のように認識誤りを起こしていたとしても、「u」と「a」が互いに認識誤りを起こしやすい文字である場合には、特徴文字列を拡張することにより、正しい文字列に対する検索を行なうことも可能となる。このことにより、図１０に示すような認識誤りが内部に存在しないテキストデータ９０３に対しても、高精度に検索を行なうことが可能となる。
【０１２４】
具体的には、図１３の検索式１２０４に「ナッかー」「エタリヱ」「イタりア」「Azzurri」「仁」「代表」「日木」「白本」という認識誤り文字を含んだ特徴文字列をも内包することにより、図１０の文書９０２内に存在するこれらの文字と一致するため、文書９０２を検索できる。さらに、図１３における検索式１２０４に「サッカー」「イタリア」「Azzurri」「Cup」「代表」「日本」という認識誤り文字を含まない特徴文字列をも内包することにより、図１０の文書９０４内に存在するそれぞれの文字列にヒットするため、文書９０４を検索できる。
【０１２５】
上記までの処理において抽出・設定された特徴文字列群を入力として類似文書検索を実行する。実行後、抽出された各文書の類似度を基準にして降順にソートし、検索結果データ集合として要求元の検索クライアントに返送する。検索クライアントでは、検索結果データ集合を受信し、検索結果表示プログラム２４１を実行することで検索結果を表示する。
【０１２６】
さらに、ユーザが求める文書が見つかった場合にはその文書識別子を基に文書内容を表示する。検索結果表示プログラム２４１を用いて内容表示を行なう場合には、図１０における文書９０１や図１１における文書１００１のようなイメージデータあるいは図１０における文書９０３のような認識誤りが存在しないテキストデータを出力することもでき、文字認識に全く影響されることなく内容を読むことができる。また、文書内容の加工を行ないたい場合には、図１０における文書９０２、図１１における文書１００２あるいは図１０における文書９０３もしくは文書９０４のようなテキストデータを表示することもできる。
【０１２７】
以上説明したように、本実施例により、登録対象の文書はイメージデータとイメージデータを文字認識することにより抽出されたテキストデータを登録するだけでよく、文書登録を行なうユーザは、手軽に文書を登録できる。さらに、種文書と検索対象の文書に存在する同一の特徴文字列が文字認識技術により異なった文字列として存在している場合でも、種文書から抽出される特徴文字列を補正する処理と検索対象の文書内に存在する認識誤り文字を許容する処理を個別に行なうことで、特徴文字列の認識誤りを意識せずに高精度な検索ができる。
【０１２８】
なお、本実施例では、拡張特徴文字列を作成する際に、１文字単位の類似文字テーブルを参照することで検索対象の文書内に存在する認識誤り文字を許容している。しかし、本実施例による方法では、抽出された特徴文字列が短い場合、認識誤りをおこす可能性のある語に展開した拡張特徴文字列を用いて検索することでユーザが所望しない結果（以下、検索ノイズとする）が増えてしまう。
【０１２９】
例えば、特徴文字列として「仁」が抽出された場合、この特徴文字列に対する拡張特徴文字列は「仁 or に or 口 or 仕 or …」となり、この拡張特徴文字列を用いて検索すると、「に」や「口（くち）」など別の意味を持つ特徴文字列を含む文書も検索結果として提示されてしまう。また、別の例として、「C language」といった文字列に存在する「C」という文字列に対する拡張特徴文字列は「C or c or 0 or O or …」となり、「0（ゼロ）」や文書内に存在する見出し項目を示す「（c）」、あるいは「Blood type : O」など、別の意味をもつ特徴文字列をも含んでしまう。そのため、検索ノイズが多くなり、検索精度が劣化する。
【０１３０】
上記課題を解決するため、本実施例の処理に加えて、図５におけるステップ５０６からステップ５０９、すなわち本実施例における拡張特徴文字列生成プログラム２３６を実行する前に、入力された検索文字列の文字列長で拡張特徴文字列を生成するか否かを判定し、実行する場合にのみ拡張特徴文字列生成プログラム２３６を実行するという拡張特徴文字列生成方法を切り替えるステップを備えることも容易に実現できる。
【０１３１】
以下、本発明を適用した第二の実施例について、図面を用いて説明する。本実施例は、システムの構成については前記第一の実施例と同一であるが、文書検索サーバ１０２の処理において、特徴文字列の補正方法が異なり、その結果、検索に用いる特徴文字列の選択結果が第一の実施例とは異なってくる。
【０１３２】
ここで、第一の実施例において選択された特徴文字列の具体例（図１３におけるテーブル１２０３）を考察する。テーブル１２０３において、「仁」という文字列は、「に」という文字列が認識誤りを起こしているために生じた文字列である。もともと「に」という文字列は「は」、「が」、「a」、「the」といった文字列と同様、文書中でとりわけ特別な意味を持たず、「に」といった文字列を特徴文字列として検索に用いた場合、不必要な文書が検索結果として大量に出現することになる。このことから、本来特徴文字列として設定すべきでない「に」が文字認識誤りを起こして出現した「仁」という文字列が、特徴文字列として設定された場合には、「日本を代表する古墳、仁徳天皇陵・・・」といった不要な文書をさらに検索することにつながり、検索精度を劣化させる要因となる。
【０１３３】
本実施例では、抽出された特徴文字列から検索に不要な特徴文字列を排除することにより、検索精度の向上を行なうことが可能となる。
【０１３４】
以下、本実施例における文書検索サーバ１０２の詳細について説明する。図１４は、本実施例における文書検索サーバ１０２の構成を示す図である。図１４に示す文書検索サーバ１０２のハードウェア構成は、図１に示す第一の実施例の場合と同様である。ただし、主メモリ２０８中には、第一の実施例において保持するプログラム群に加えて、文字確信度算出プログラム２３２および不要語削除プログラム２３３を保持する。また、磁気ディスク装置２０９中には、第一の実施例において確保する領域群に加えて、文字確信度情報格納領域２５６が確保される。
【０１３５】
特徴文字列補正プログラム２３１は、文字確信度算出プログラム２３２、不要語削除プログラム２３３および重み値補正プログラム２３４によって構成され、さらに、第一の実施例と同様、拡張特徴文字列生成プログラム２３６を呼び出す。
【０１３６】
不要語削除プログラム２３３は、種文書から抽出された特徴文字列群から、検索に不要な特徴文字列を排除し、検索に必要な特徴文字列群へと補正する。
【０１３７】
文字確信度算出プログラム２３２は、種文書から抽出された特徴文字列が正しい文字列で構成されている確率を算出する。
【０１３８】
図１５は、第二の実施例における特徴文字列補正プログラム２３１の概略処理を示したＰＡＤ図である。図１５は、図５に示す第一の実施例における特徴文字列補正プログラム２３１と比較して、類似文書検索プログラム２２７にて指定された特徴文字列を読み込んだ後、生成された特徴文字列に対する重み値の補正を行なう前に、全ての特徴文字列に対して検索に不要な特徴文字列を排除する処理（ステップ１３０１からステップ１３０７まで）を加えている点が異なる。以下、本実施例の特徴文字列補正プログラム２３１を、図１５を用いて説明する。
【０１３９】
特徴文字列補正プログラム２３１は、類似文書検索プログラム２２７から呼び出される。呼び出しを受けると、特徴文字列補正プログラム２３１は、まず、類似文書検索プログラム２２７で指定されている特徴文字列をワークエリア２７０に格納する（ステップ５０４）。
【０１４０】
ステップ５０４が終了すると、特徴文字列を一つずつ読み出してはその処理を行なうループに入る（ステップ１３０１）。このループ処理を行なうことにより、種文書および（または）検索対象の文書内に認識誤り文字が含まれていたとしても、検索に必要十分な特徴文字列を抽出でき、同時に、検索に不要な特徴文字列を検索用特徴文字列から除外できる。このステップ１３０１のループはステップ５０４にて格納された全ての特徴文字列が読み出されるまで継続する。ステップ１３０１のループは、不要語削除プログラム２３３を実行して検索に不必要な特徴文字列を削除する処理（ステップ１３０２から１３０７まで）を繰り返す。
【０１４１】
ステップ１３０２では、文字確信度算出プログラム２３２を起動し、前記ステップ１３０１にて読み込んだ特徴文字列を入力として文字確信度算出プログラム２３２を実行する。文字確信度算出プログラム２３２では、読み出された特徴文字列を入力として文字列分割プログラム２３５を呼び出し、所定のｎ文字単位（ｎ≧１）の部分文字列に分割する（ステップ１３０２）。
【０１４２】
さらに、分割された各部分文字列に対して、文字確信度情報格納領域２５６に格納されている文字確信度情報を参照し、各部分文字列における文字確信度を設定する（ステップ１３０３）。
【０１４３】
最後に、設定した各部分文字列の文字確信度を組み合わせて特徴文字列全体の文字確信度を設定し、入力された特徴文字列に対応した文字確信度を出力する（ステップ１３０４）。なお、ステップ１３０２からステップ１３０４までが文字確信度算出プログラム２３２の処理手順である。
【０１４４】
ステップ１３０４が終了すると、ステップ１３０５において、前記ステップ１３０４で出力された文字確信度が所定の閾値を超えているかどうかを判定する。
【０１４５】
そして、前記ステップ１３０４より出力されてきた文字確信度が所定の閾値を超えている場合に限り、検索用の特徴文字列として設定し、ワークエリア２７０に格納する（ステップ１３０６）。
【０１４６】
前記ステップ１３０４で出力された文字確信度が所定の閾値を超えていない場合、その特徴文字列を検索用の特徴文字列として設定せず、ワークエリア２７０には空のリストを格納するか、あるいは何も格納しない（ステップ１３０７）。
【０１４７】
なお、このステップ１３０１からステップ１３０７まで処理は本実施例における不要語削除プログラム２３３の処理ステップである。また、ステップ５０５以降の処理については、第一の実施例で述べた処理と同様であるため、省略する。
【０１４８】
なお、本実施例ではステップ１３０２にて、読み出された特徴文字列をｎ文字単位に分割するステップを必要としているが、後述する文字確信度情報の作成方法によっては、ｎを相当大きな数と見なし（ｎ＝∞）、部分文字列に分割しない処理方式も取れる。この場合、ステップ１３０２は省略できる。ちなみに、文字確信度算出プログラム２３２にて使用する文字確信度情報の一例を図１６のテーブル１６００に示し、文字確信度情報の具体的な作成方法については後述する。
【０１４９】
また、ステップ１３０４における該特徴文字列の部分文字列を用いた文字確信度の算出方法としては以下に示す３つの方法が想定されるが、いずれの方法を用いても構わない。なお、以下においては、ある特徴文字列からステップ１３０２によりｍ個の部分文字列Ci（０≦ｉ＜ｍ）に分割され、さらにステップ１３０３にてそれぞれの部分文字列における文字確信度をS(Ci) （０≦ｉ＜ｍ）として設定されるものとする。
（１）各部分文字列の文字確信度を乗算することで、特徴文字列全体において正しい文字が並んでいる確率を以下に示す数１により算出し、特徴文字列の文字確信度として設定する。
【０１５０】
【数１】
0004006239.tif 000002
【０１５１】
（２）各部分文字列の文字確信度を加算平均することで、特徴文字列全体における正しい文字で構成されている確率の平均を以下に示す数２により算出し、特徴文字列の文字確信度として設定する。
【０１５２】
【数２】
0004006239.tif 000003
【０１５３】
（３）各部分文字列の文字確信度を基に、特徴文字列全体で正しい文字を含んでいる確率を以下に示す数３により算出し、特徴文字列の文字確信度として設定する。
【０１５４】
【数３】
0004006239.tif 000004
【０１５５】
なお、本実施例では、文字確信度情報を利用して文書検索処理を行なうこととしている。文字確信度情報とは、ｎ文字単位（ｎ≧１）の部分文字列において、認識された文字が正しい文字である確率を算出したものである。文字確信度情報の作成方法については、様々な方法が想定される。文字確信度情報の作成方法として、以下に７つの方法を例示する。
（１）文字確信度情報を作成する第一の方法は、文字確信度情報を作成するための教師データをあらかじめ用意することで、事前に文字確信度情報を定義しておく方法が想定される。なお、図１６は図１４における文字確信度情報について、第一の方法による作成概要を示した図である。教師データにはイメージデータとその文書内容に相当するテキストデータを格納しておく。イメージデータを用いてＯＣＲによる文字認識を行ない、その結果として出力されたデータと教師データとして存在するテキストデータを突き合せることにより、認識された文字が正しく認識された文字である確率（正解確率）を算出する。この正解確率を算出するために文字確信度情報作成プログラム１５００を実行する。そして、算出した正解確率を文字確信度S(i)として設定し、文字確信度情報に格納する。
（２）文字確信度情報を作成する第二の方法は、構築済の類似文字テーブルを利用する方法が想定される。この場合においても、（１）と同様、事前に文字確信度情報を定義しておくことになる。図１７は図１４における文字確信度情報について、第二の方法による作成概要を示した図である。類似文字テーブルには、文字列とその文字列に対応する認識候補文字が重み値（もしくは認識確率）と共に格納されている場合がある。その場合には、その重み値を認識確率と設定し、Bayesの定理を応用することにより、認識された文字列の正解確率を算出することが可能となる。その算出方法の例を以下に示す。正しいテキストにおける文字がｉである事象をAi、それに対応する文字認識結果として出力される文字がｊである事象をBjとするとき、ＯＣＲによる文字認識結果として出力される文字ｊ（事象Bj）が正しいテキストにおいて文字ｉ（事象Ai）である確率Pr(Ai|Bj) は、Bayesの定理より次に示す数４を用いて算出することができる。
【０１５６】
【数４】
0004006239.tif 000005
【０１５７】
つまり、ＯＣＲによる文字認識結果として出力される文字ｉ（事象Bi）が正しいテキストにおいて文字ｉ（事象Ai）である確率（正解確率）Pr(Ai|Bi) を算出し、算出した正解確率を文字確信度S(i)として設定し、文字確信度情報に格納することにより作成する。
（３）文字確信度情報を作成する第三の方法は、検索対象のテキストファイル格納領域２５０に出現することが少ない文字（もしくは文字列）は認識誤り文字である可能性が高いと考える方法がある。この方法を用いると新規に文字確信度情報を構築する必要がなく、見かけ上、文字確信度情報は存在しない。すなわち、本作成方法の場合には、検索対象となる文書を格納したテキストファイル格納領域２５０から導出される統計情報が文字確信度情報に相当する。そのため、あらかじめ文字確信度情報を作成しておく必要がなく、検索時に特徴文字列抽出プログラム２２９にて抽出された各特徴文字列についてテキストファイル格納領域２５０から導出される統計情報を参照しながら文字確信度を設定する。
（４）文字確信度情報を作成する第四の方法は、認識後の文字種により文字確信度を設定する方法がある。ＯＣＲによる文字認識は文字種により得手不得手が存在する。そのため、文字種により認識精度が異なるという事実がある。本作成方法はＯＣＲの認識傾向に基づいた性質を利用したものである。なお、この作成方法も（３）と同様、あらかじめ文字確信度情報を作成しておく必要はない。
（５）文字確信度情報を作成する第五の方法は、認識後のテキストデータから抽出された特徴文字列の文字列長により判断する方法が想定される。特徴文字列として抽出されたものは、文字列長が長いほど正しく認識された文字列である可能性が高い。本作成方法は、この性質を利用したものである。なお、この方法においても（３）と同様、あらかじめ文字確信度情報を作成しておく必要はない。
（６）文字確信度情報を作成する第六の方法は、種文書として設定する文書を文字認識する際にＯＣＲから出力される認識確率の情報を利用する方法が想定される。ＯＣＲは文字認識を行なう際に、認識候補文字としていくつかの候補文字を出力する。このとき、いくつかのＯＣＲでは認識確率も一緒に出力されるので、その情報を文字確信度として設定するという方法である。また、認識確率を出力しないようなＯＣＲであっても、文字形状が似ている順に候補文字として出力されるため、各候補文字の出現順位によって文字確信度を設定することは可能である。なお、この方法では、あらかじめ文字確信度を設定しておく方法でも、抽出された文字列に対して随時文字確信度を算出する方法でも構わない。
（７）文字確信度情報を作成する第七の方法は、形態素解析などに利用されている単語辞書を利用する方法である。すなわち、種文書から抽出された特徴文字列のうち、単語辞書に存在する文字列を正しい文字であると判定する方法である。この場合は、予め単語辞書を用意すれば文字確信度情報を設定したことになる。しかし、この方法を用いる場合には、例えば、本来「に」や「Cup」という文字であるものがＯＣＲによって「仁」や「Cap」と認識誤りし、さらに、特徴文字列として「仁」や「Cap」が設定された場合、「仁」や「Cap」という単語は単語辞書に存在するため、正しい文字であると判定されてしまう。このことから、本方法により作成された文字確信度情報を用いても、正しい文字であると判定された文字列がどの程度正しいのかは判断できない。
【０１５８】
文字確信度情報を作成する際には上記例示したいずれの場合を用いても、上記の方法をいくつか組み合わせる方法で構築しても構わない。また、文字確信度情報をあらかじめ作成する場合には、本サーバ上において作成し、磁気ディスク２０９に直接保存する形式を用いてもよいし、別マシンにて本文字確信度情報を作成し、その文字確信度情報を格納したフロッピーディスクなどの可搬型記憶媒体から読み込み、磁気ディスク２０９に保存する形態を用いてもよいし、文字確信度情報を格納したフロッピーディスクなどの可搬型記憶媒体から直接読み出す形態を用いてもよい。あるいは、ネットワーク１０５を介して転送されてくる文字確信度情報を磁気ディスク２０９に保存する形態や直接主メモリ２０８中のワークエリア２７０に取り込む形態を取ってもよい。
【０１５９】
本実施例の文書登録の処理は、第一の実施例と同様である。以下では、本発明の第二の実施例における文書検索の処理を、具体的な例をあげて説明する。
【０１６０】
本実施例では、第一の実施例と同様、図１１の紙文書１００１を文字認識したテキストデータ１００２を種文書として設定するものとする。このとき、第一の実施例と同様に、種文書中に存在する特徴文字列が抽出され、テーブル１１０１が生成されるものとする。ここまでは、第一の実施例と同じ処理である。本実施例ではこの後の処理として、テーブル１１０１に存在する特徴文字列に対し、不要語削除プログラム２３３を実行して、検索に不要な特徴文字列を排除する。
【０１６１】
図１８は、不要な特徴文字列を削除する処理の具体例を示す。文字確信度算出プログラム２３２を実行し、文字確信度情報２５６を参照しながら、抽出された特徴文字列毎の文字確信度を算出する（テーブル１７０１）。具体例として「エタリア」という文字に対する文字確信度を算出する。例えば、カタカナの文字が正しく認識される確率を一律３０％と設定し、さらに、前述した文字確信度算出方法のうち、数３を用いて文字確信度Ｓを算出すると、以下の算出式により「エタリア」という文字の文字確信度は０．７６と設定される。
【０１６２】
【数５】
0004006239.tif 000006
【０１６３】
本実施例では１文字単位の文字確信度を用いて特徴文字列全体の文字確信度を算出しているが、前述したように、この文字確信度を算出する際には、１文字単位で算出しても複数文字単位で算出しても構わない。さらに、上記の算出例では、便宜上、カタカナの文字列の文字確信度は一律３０％であると設定したが、前記文字確信度算出方法にて述べたように、各文字もしくは各文字列の文字確信度を個別に設定しても構わない。
【０１６４】
この文字確信度算出プログラムによって算出された文字確信度という指標は、特徴文字列が正しい文字列である確率を示したものであり、例えば、上記の例における「エタリア」という文字列が正しく認識された文字によって構成されている確率は７６％であるということである。このことから、この文字確信度が低い文字列は認識誤りを起こしている可能性が高い。そのため、文字確信度が低いものを特徴文字列から外すことで、不要な特徴文字列を削除できる。具体的には、各特徴文字列の文字確信度が所定の閾値以下の特徴文字列を特徴文字列群から削除する（処理１７００）。本実施例では、便宜上、０．５以下のものを削除する。図１８の場合、「仁」という文字が０．４５と０．５以下であるので、この文字列は特徴文字列としては設定しない。このようにして、検索に不必要な特徴文字列を削除できる。
【０１６５】
本実施例によって設定された検索に用いる特徴文字列を図１９のテーブル１８０１に示し、テーブル１８０２に本実施例により生成された検索式を示す。第一の実施例により抽出された特徴文字列群（図１３のテーブル１２０３）と比較して、テーブル１８０１においては、本来検索の際に不要であると思われる「仁」という文字列が排除されている。よって、本実施例における処理を用いることで、検索に必要かつ十分な特徴文字列が抽出できるため、「日本を代表する古墳、仁徳天皇陵・・・」といった不要な文書を大量に検索するという問題が解決される。
【０１６６】
以上説明したように、本実施例を適用することにより、検索に不要な特徴文字列と見なされる文字列を排除することが可能となり、第一の実施例による効果に加えて、不要な文書を抽出することがなくなって、検索精度が向上する。
【０１６７】
また、本実施例においても、第一の実施例同様、検索精度および検索性能の改善のため、図１５におけるステップ５０６からステップ５０９、すなわち本実施例における拡張特徴文字列生成プログラム２３６を実行する前に、入力された検索文字列の文字列長で拡張特徴文字列を生成するか否かを判定し、実行する場合にのみ拡張特徴文字列生成プログラム２３６を実行するという拡張特徴文字列生成方法を切り替えるステップを備えることも可能である。
【０１６８】
以下、本発明を適用した第三の実施例について説明する。本実施例は、システムの構成については前記第一の実施例と同一であるが、文書検索サーバ１０２の処理において、特徴文字列の補正方法およびそれに伴う重み値の補正方法が異なり、その結果、検索に用いる特徴文字列の選択結果が第一の実施例とは異なる。
【０１６９】
ここで、第二の実施例同様、第一の実施例で選択された特徴文字列の具体例（図１３のテーブル１２０３）を考察する。テーブル１２０３では、「サソカー」および「ナッカー」という文字列は、いずれも「サッカー」という文字列が認識誤りを起こしているために生じた文字列である。検索に用いる特徴文字列が増大すると、ヒットする文書は多くなる可能性はあるが、不必要な文書まで検索してしまう可能性も存在する。特に、今回のような認識誤りを内部に含んでいる特徴文字列を検索に用いても検索精度は余り向上しない。さらに、不要な特徴文字列を検索に用いると、検索の特徴文字列が増大することになり、検索性能が劣化する。
【０１７０】
本実施例では、「サソカー」および「ナッカー」のように認識誤り文字が内包されているために生じた文字列を「サッカー」のような認識誤り文字が内包されていない（あるいは認識誤り文字が内包されていない可能性が高い）文字列に集約することにより、検索性能の向上と検索に不要な文字列を削除できる。
【０１７１】
図２０は、第三の実施例における特徴文字列補正プログラム２３１の概略処理を示したＰＡＤ図である。図２０においては、第一の実施例における特徴文字列補正プログラム２３１（図５中の２３１）と比較して、生成された特徴文字列に対する重み値の補正を行なうループ処理（ステップ５０５）の前に特徴文字列を文字列長の降順、文字確信度の降順にソーティングしている処理（ステップ１９０１）を加えている点が異なる。また、重み値補正プログラム２３４内において、種文書内における拡張特徴文字列の頻度を算出した後、種文書内で拡張特徴文字列が出現した部分を記号などに置き換えるマスキング処理（ステップ１９０４）を施している点が異なる。
【０１７２】
本実施例の文書登録の処理は、第一の実施例と同様である。以下では、本発明の第三の実施例における文書検索の処理を、具体的な例をあげて説明する。
【０１７３】
本実施例では、第一の実施例と同様、図１１の紙文書１００１を文字認識したテキストデータ１００２を種文書として設定するものとする。この場合、第一の実施例と同様に、種文書内に存在する特徴文字列が抽出され、図１３のテーブル１１０１が生成されるものとする。ここまでは、第一の実施例と同じ処理である。
【０１７４】
本実施例ではこの後の処理として、テーブル１１０１に存在する特徴文字列を文字列長の降順にソートする。さらに、第二の実施例を組み合わせて実装する場合には、文字確信度の降順にもソートする。図２１は、前記ソートする処理の具体例である。第一の実施例のテーブル１１０１には、文字確信度のデータが付与されていないが、本実施例では便宜上、第二の実施例を組み合わせ、テーブル１１０１に文字確信度のデータが付与されているものとする（テーブル１７０１）。図２１に示すテーブル２００１はソートされた後の特徴文字列群を示している。この特徴文字列群では、文字列長が長く、文字確信度の高い順にソーティングされている。これは、文字列長が長く、かつ、文字確信度が高い文字列ほど正しく認識されている確率が高いという性質を利用するためである。
【０１７５】
そして、ソーティングされた特徴文字列を用いて、第一の実施例と同様の処理を行なう。具体的には、ソーティングされた特徴文字列を一つずつ読み出し、特徴文字列を拡張特徴文字列に展開、さらに、拡張特徴文字列に対して重み値を付与し（重み値補正プログラム２３４）、特徴文字列とその重み値を設定する。
【０１７６】
図２１に示すように、重み値補正プログラム２３４では、第一の実施例と同様、拡張特徴文字列を読み込み、種文書内での出現頻度を算出する（図２０のステップ１９０２、１９０３）。
【０１７７】
本実施例では、ステップ１９０３の終了後、ステップ１９０４からなる処理を実行している。ステップ１９０４では、種文書内で拡張特徴文字列がヒットした文字列を、検索に使用することがない記号（例えば「＃」、「＄」、「！」など）に置き換え（以下、マスキング処理とする）、本来同じ文字列であるが、認識誤りを起こしている可能性が高い文字列を再びヒットさせないようにしている。
【０１７８】
図２２に、種文書１００２にマスキング処理を行なった例を示す。図２２に示す種文書は、類似文字テーブル２５５を用いて、「Azzurri」と「サッカー」という文字列（特徴文字列）を拡張特徴文字列に展開し、拡張特徴文字列にてヒットした部分を「＃」という文字に置き換えたものである。この処理を行なうことにより、「Azzurvi」、「ナッカー」などといった認識誤りを起こしている文字列がこの後にヒットすることがなくなる。図２１に示す特徴文字列群（テーブル２００２）では、「Azzurvi」、「サソカー」あるいは「ナッカー」といった文字列の出現頻度は１回ずつ存在するのに対し、本実施例による重み値補正プログラムを実施した後の特徴文字列群（テーブル２００３）では「Azzurvi」、「サソカー」あるいは「ナッカー」といった文字列の出現頻度は０回となっている。このため、重み値も０となり、結果的に検索に用いる特徴文字列から排除される。
【０１７９】
本実施例によって設定された検索に用いる特徴文字列を図２３のテーブル２２０１に示し、テーブル２２０２に本実施例により生成された検索式を示す。第一の実施例により抽出された特徴文字列群（図１３のテーブル１２０３）と比較して、テーブル２２０１においては、本来検索の際には不要であると思われる「サソカー」、「ナッカー」、「エタリア」、「Cap」という文字列が排除されている。よって、本実施例における処理を用いることにより、検索に必要かつ十分な特徴文字列が抽出でき、さらに、結果的には、検索に不要な文字列を削除できる。
【０１８０】
以上説明したように、本実施例を適用することにより、同一の特徴文字列と見なされる文字列を集約でき、第一の実施例による効果に加えて、検索性能の向上と検索における不要な特徴文字列の削除によって検索精度が向上する。
【０１８１】
なお、本実施例における同一の特徴文字列と見なされる文字列を集約する方法を採用した場合、前記第二の実施例同様に、検索に不要な特徴文字列と見なされる文字列を排除する方法を適用することで、検索結果として不要な文書が検索されないので検索精度が向上する。また、本実施例においても、第一の実施例同様、検索精度および検索性能の改善のため、図２０のステップ５０６からステップ５０９、すなわち本実施例における拡張特徴文字列生成プログラム２３６を実行する前に、入力された検索文字列の文字列長で拡張特徴文字列を生成するか否かを判定し、実行する場合にのみ拡張特徴文字列生成プログラム２３６を実行するという拡張特徴文字列生成方法を切り替えるステップを備えることも可能である。
【０１８２】
さらに、本実施例では、文書検索時において、種文書から抽出される特徴文字列を補正する処理として、特徴文字列補正制御プログラム２３１を用いることとしたが、文書登録時においても、登録対象文書を種文書と見なし、本実施例における特徴文字列補正プログラム２３１と同様の処理を登録対象文書に対して実行することで、登録対象文書中に存在する特徴文字列の認識誤り文字を自動的に補正することが容易にでき、文字認識精度が向上する。
【０１８３】
以下、前記認識誤り文字の自動補正方式について具体的に説明する。本実施例における登録対象文書が図１１に示す紙文書１００１であり、図１１の紙文書１００１を文字認識したテキストデータが図１１における文書１００２であるとする。本実施例として記述した図１１の文書１００２を種文書と見立て、本実施例における特徴文字列補正プログラム２３１を用いて抽出される特徴文字列群は、図２３のテーブル２２０１に示される文字列群となる。
【０１８４】
ここで、登録文書中に存在する拡張特徴文字列に含まれる文字列は、もともとの特徴文字列に統合する。例えば、拡張特徴文字列が「サッカー or ナッカー or … or サソカー or … or サッかー or …」であった場合、登録文書中で上記拡張特徴文字列に含まれる文字列（例えば、「ナッカー」や「サソカー」など）は全て「サッカー」という文字に集約することができ、「ナッカー」や「サソカー」という文字列は「サッカー」という文字列に自動的に置き換えることができる。この処理を前記特徴文字列補正プログラム２３１により抽出された特徴文字列全てに行なうことにより、登録対象文書内に存在する認識誤り文字を自動的、もしくは半自動的に一括補正することが可能となる。また、第二の実施例にて用いた文字確信度情報を利用し、文字確信度がある閾値以下である特徴文字列に関しては、認識誤り文字の自動補正を行なわないという方式も容易に実現できる。
【０１８５】
なお、認識誤り文字の自動修正方式について、抽出された特徴文字列のうち、ユーザが修正すべき特徴文字列を指定し、一括修正が行なえるユーザインタフェースは容易に実装できる。図２４に、認識誤り文字の自動修正方式におけるユーザインタフェースの一例を示す。図２４においては、登録対象文書を文字認識したテキストデータを表示するエリアと、自動修正を行なうか否かの設定ボタンと、選択された特徴文字列を一括修正するボタンと、修正するべき特徴文字列を選択するチェックボックスと、登録対象文書から抽出された特徴文字列を表示し、さらにプルダウンによって各特徴文字列に対応した認識誤りを起こしやすい文字列（派生文字列）を表示するテキストボックスと、登録対象文書から抽出された各特徴文字列を個々に修正する修正ボタンによって構成される。
図２４に示すユーザインタフェースにおいては、修正すべき特徴文字列をチェックすると、登録対象文書を表示するエリア内に、特徴文字列あるいは派生文字列であると考えられる文字列がハイライト表示され、さらに正しいと思われる特徴文字列を登録ユーザがプルダウンで選択でき、修正ボタンを押下することで登録対象文書内における認識誤りによる派生文字列を選択された文字列へと一括変換できる。また、登録ユーザが一括修正したい特徴文字列を選択し、選択した文字列を一括修正するボタンを押下すると、選択された特徴文字列に対応する派生文字列を一括して修正できる。さらに、個々の特徴文字列に対する設定が煩雑であると考えるユーザに対しては、全て自動修正するボタンを押下することで、個々の派生文字列を画面上に表示されている特徴文字列へ一括変換できる。
【０１８６】
また、図２４では、自動修正を行なうか否かの設定ボタンと、選択された特徴文字列を一括修正するボタンと、修正するべき特徴文字列を選択するチェックボックスと、特徴文字列群および各特徴文字列に対応した派生文字列を表示するテキストボックスと、各特徴文字列を個々に修正するボタンを用いるようにしたが、修正すべき特徴文字列をチェックし、自動修正する項目だけでもよいし、自動修正をするか否かを設定する項目だけでもよい。
【０１８７】
以下、本発明を適用した第四の実施例について説明する。本実施例は、システムの構成については前記第一の実施例と同一であるが、文書検索サーバ１０２の処理において、重み値の補正方法が異なる。
【０１８８】
第一の実施例においては、重み値を補正するため、特徴文字列が種文書内に出現する頻度を算出し、その出現頻度を補正するといった方式を取っている（図５のステップ５１０）。しかし、一般的な類似文書検索システムにおいては、特徴文字列が種文書内に出現する頻度だけでなく、検索対象の文書中で特徴文字列が存在する文書数を重み設定のパラメータとしているシステムも存在する。こういったシステムでは、特徴文字列が種文書内に出現する頻度のみを補正するだけでは、検索に必要な特徴文字列を抽出するためには不十分であることが想定される。
【０１８９】
本実施例では、第一の実施例における重み値補正プログラム２３４に加え、検索対象の文書中で特徴文字列が存在する文書数を補正することにより、重み値補正の精度を向上させるという効果が得られる。
【０１９０】
本実施例における文書登録の処理については、第一の実施例と同様であるため省略とし、以下では、本発明の第四の実施例における文書検索の処理について、具体的な例をあげて説明する。
【０１９１】
本実施例では、第一の実施例と同様、図１１の紙文書１００１を文字認識したテキストデータ１００２を種文書として設定するものとする。この場合、第一の実施例と同様に、図１３のテーブル１１０１に示す特徴文字列が抽出され、拡張特徴文字列生成プログラム２３６により、図１３中のテーブル１２０１が生成されるものとする。ここまでは、第一の実施例と同じ処理である。
【０１９２】
本実施例では、この後の処理として、第一の実施例と同様、重み値補正処理を行なう。ただし、本実施例では、第一の実施例の重み値補正プログラム（図５のステップ５１０）と比較して、種文書内における拡張特徴文字列の頻度を算出した後、拡張特徴文字列が検索対象文書内で出現する文書数を算出するステップを加えている点が異なる。以下、重み値補正プログラム２３４を詳細に説明する。
【０１９３】
本実施例における重み値補正プログラム２３４では、第一の実施例と同様に、拡張特徴文字列を読み込み、拡張特徴文字列が種文書内に出現する頻度を算出する。このとき、拡張特徴文字列は各展開語が論理和にて結合されたものであるから、各展開語のいずれかが種文書内に含まれれば、出現頻度情報としてカウントできる。この処理を行なうことにより、種文書内に存在する認識誤り文字を許容し、特徴文字列の重み値設定に関わるパラメータの一つを補正できる。ここまでは、第一の実施例と同様の処理である。本実施例では、さらに、格納された拡張特徴文字列が検索対象の文書集合であるテキストファイル格納領域２５０に出現する回数を算出するステップを組込む。このときも各展開語のいずれかがテキストファイル格納領域２５０に含まれれば、出現回数情報としてカウントできる。この処理により、検索対象の文書内に存在する認識誤り文字を許容し、特徴文字列の重み値設定に関わるパラメータの一つを補正できる。そして、上記ステップにて算出された各パラメータを基として、拡張特徴文字列の重み値を算出し、その重み値を出力する。また、以降の処理は、第一の実施例と同様である。
【０１９４】
以上が、本実施例における重み値補正プログラム２３４、すなわち図５におけるステップ５１０の詳細な処理手順である。
【０１９５】
以上説明したように、本実施例を適用することにより、拡張特徴文字列が検索対象の文書に出現する文書数を算出するステップを加えることにより、重み値補正の精度を向上させ、その結果、検索精度を向上させることができる。
【０１９６】
なお、本実施例における検索対象の文書内における出現文書数の補正を行なう方法を採用した場合でも、前記第二の実施例同様に、検索に不要な特徴文字列と見なされる文字列を排除する方法を適用することにより、検索結果として不要な文書を検索しないので検索精度が向上する。また、前記第三の実施例同様に、同一の特徴文字列と見なされる文字列を集約する方法を適用することにより、検索における不要な特徴文字列を削除できるので検索性能および検索精度が向上する。
【０１９７】
また、本実施例では、文書検索時において、種文書から抽出される特徴文字列を補正する処理として、特徴文字列補正プログラム２３１を用いることとしたが、第三の実施例を適用することで、文書登録時においても、第三の実施例における登録対象文書に対する認識誤り自動補正方式と同様、登録対象文書を種文書と見なした処理を行なうことにより、登録対象文書中に存在する特徴文字列の認識誤りを自動的に補正することが容易に実現でき、文字認識精度が向上する。
【０１９８】
さらに、本実施例においても、第一の実施例同様、検索精度および検索性能の改善のため、図５におけるステップ５０６からステップ５０９、すなわち本実施例における拡張特徴文字列生成プログラム２３６を実行する前に、入力された検索文字列の文字列長で拡張特徴文字列を生成するか否かを判定し、実行する場合にのみ拡張特徴文字列生成プログラム２３６を実行するという拡張特徴文字列生成方法を切り替えるステップを備えることもできる。
【０１９９】
【発明の効果】
以上説明したように、文書登録を行なう場合においては、登録対象の文書をスキャナなどによって生成されたイメージデータとイメージデータを文字認識することにより抽出されたテキストデータを登録するだけでよく、また、これらの登録処理はシステムが行なうので、ユーザは登録対象の文書を提示するだけでよく、手軽に文書を登録できる。また、本発明を適用することにより、登録文書内に存在する認識誤り文字に対しても一括修正を行なえ、ユーザの負担が軽減する。
【０２００】
さらに、登録した文書に対して検索を行なう場合においても、ユーザは類似文書検索をしたい元の文書を種文書として設定するだけで、種文書から抽出される特徴文字列を補正する処理と検索対象の文書内に存在する認識誤り文字を許容する処理を別々に行なうことにより、種文書と検索対象の文書のいずれかあるいは両方に存在する特徴文字列の認識誤りをユーザが意識することなく、精度の高い類似文書検索を行なえる。
【図面の簡単な説明】
【図１】本発明による文書検索システムの第一の実施例におけるシステム全体構成および文書登録サブシステムの構成を示す図である。
【図２】本発明による第一の実施例における文書登録サブシステムの概略手順を示すＰＡＤ図である。
【図３】本発明による文書検索システムの第一の実施例における文書検索サーバの構成を示す図である。
【図４】本発明による第一の実施例における文書検索サーバの概略手順を示すＰＡＤ図である。
【図５】本発明による第一の実施例における類似文書検索プログラムの概略手順を示すＰＡＤ図である。
【図６】本発明による類似文字テーブルの例を示す図である。
【図７】本発明による第一の実施例における検索クライアントの概略手順を示すＰＡＤ図である。
【図８】本発明による第一の実施例における検索クライアントの概略手順を示すＰＡＤ図である。
【図９】本発明による第一の実施例における検索結果表示プログラムの概略手順を示すＰＡＤ図である。
【図１０】本発明による第一の実施例において文書登録に用いる文書および文書登録内容の具体例である。
【図１１】本発明による第一の実施例において文書検索時に種文書として設定する処理の具体例である。
【図１２】本発明による第一の実施例において文書検索時に設定した種文書から特徴文字列を抽出し、検索条件式を生成した具体例である。
【図１３】本発明による第一の実施例において抽出された特徴文字列を補正する処理の具体例である。
【図１４】本発明による第二の実施例における文書検索サーバの構成を示す図である。
【図１５】本発明による第二の実施例における特徴文字列補正プログラムの概略手順を示すＰＡＤ図である。
【図１６】本発明による文字確信度情報の作成方法における第一の概要図である。
【図１７】本発明による文字確信度情報の作成方法における第二の概要図である。
【図１８】本発明による第二の実施例において抽出された特徴文字列を補正する不要語削除プログラムの処理例を示す図である。
【図１９】本発明による第二の実施例において種文書から検索に用いる特徴文字列を選択し、検索条件式を生成した一例である。
【図２０】本発明による第三の実施例における特徴文字列補正プログラムの概略手順を示すＰＡＤ図である。
【図２１】本発明による第三の実施例において抽出された特徴文字列をソーティングし、ヒットした文字列をマスキングする処理を組み込んだ重み値補正処理の具体例である。
【図２２】本発明による第三の実施例において種文書をマスキング処理した結果の具体例である。
【図２３】本発明による第三の実施例において種文書から検索に用いる特徴文字列を選択し、検索条件式を生成した一例である。
【図２４】本発明による第三の実施例において登録対象文書内に存在する認識誤り文字を自動修正するユーザインタフェースの一例である。
【符号の説明】
１０１・・・文書登録サブシステム、１０２・・・文書検索サーバ、
１０３、１０４・・・検索クライアント、１０５・・・ネットワーク、
２０１・・・ディスプレイ、２０２・・・キーボード、
２０３・・・中央演算処理装置（ＣＰＵ）、
２０４・・・フロッピーディスクドライブ（ＦＤＤ）、２０５・・・フロッピーディスク、
２０６・・・スキャナ、２０７・・・通信制御装置、２０８・・・主メモリ、
２０９・・・磁気ディスク装置、２１０・・・システムバス、
２１１・・・システム制御プログラム、２１２・・・文書登録制御プログラム、
２１３・・・文書検索制御プログラム、２１４・・・クライアント制御プログラム、
２２０・・・スキャナ制御プログラム、２２１・・・文字認識プログラム、
２２２・・・テキスト登録プログラム、２２３・・・イメージ登録制御プログラム、
２２４・・・文書管理情報登録プログラム、
２２５・・・文字列インデックス生成プログラム、
２２６・・・検索条件式解析プログラム、２２７・・・類似文書検索プログラム、
２２８・・・種文書読込プログラム、２２９・・・特徴文字列抽出プログラム、
２３０・・・類似度算出プログラム、２３１・・・特徴文字列補正プログラム、
２３２・・・文字確信度算出プログラム、２３３・・・不要語削除プログラム、
２３４・・・重み値補正プログラム、２３５・・・文字列分割プログラム、
２３６・・・拡張特徴文字列生成プログラム、
２３７・・・類似文字テーブル参照プログラム、
２３８・・・文字列展開プログラム、２３９・・・検索結果取得プログラム、
２４０・・・検索条件入力プログラム、２４１・・・検索結果表示プログラム、
２５０・・・テキストファイル格納領域、２５１・・・イメージファイル格納領域、
２５２・・・インデックスファイル格納領域、２５３・・・文書管理情報格納領域、
２５４・・・各種プログラム格納領域、２５５・・・類似文字テーブル格納領域、
２５６・・・文字確信度情報格納領域、２５７・・・検索結果データ格納領域、
２７０・・・ワークエリア
【図１】
0004006239.tif 000007
【図２】
0004006239.tif 000008
【図３】
0004006239.tif 000009
【図４】
0004006239.tif 000010
【図５】
0004006239.tif 000011
【図６】
0004006239.tif 000012
【図７】
0004006239.tif 000013
【図８】
0004006239.tif 000014
【図９】
0004006239.tif 000015
【図１０】
0004006239.tif 000016
【図１１】
0004006239.tif 000017
【図１２】
0004006239.tif 000018
【図１３】
0004006239.tif 000019
【図１４】
0004006239.tif 000020
【図１５】
0004006239.tif 000021
【図１６】
0004006239.tif 000022
【図１７】
0004006239.tif 000023
【図１８】
0004006239.tif 000024
【図１９】
0004006239.tif 000025
【図２０】
0004006239.tif 000026
【図２１】
0004006239.tif 000027
【図２２】
0004006239.tif 000028
【図２３】
0004006239.tif 000029
【図２４】
0004006239.tif 000030