(57)【特許請求の範囲】
【請求項１】
オリジナル文書中の文字のそれぞれを認識することによって前記各文字に対応する少なくとも１つの候補文字を有する前記オリジナル文書の文字認識結果から、インデックステーブルを用いて、複数の文字よりなるキーワードを検索する検索装置であって、
前記インデックステーブルは、前記オリジナル文書中に存在する文字列を構成する複数の文字のそれぞれに対応する前記候補文字を組み合わせた文字列によって構成されるインデックス文字列と、前記オリジナル文章中における前記インデックス文字列の位置と、前記インデックス文字列に含まれる各候補文字毎に、前記オリジナル文書中に前記各候補文字がそれぞれ存在する確率として予め定義された確信度とを含み、
前記インデックス文字列と同じ文字数の前記キーワードの文字列が前記インデックステーブルに存在するかを判定し、存在する場合には、そのキーワードの文字列と一致するインデックス文字列の前記位置に基づいて、前記オリジナル文章中における前記キーワードの文字列の位置を特定する位置特定部と、
前記キーワードの文字列に一致するインデックス文字列の確信度に基づいて、前記特定された位置に前記キーワードが存在する確率として定義されるキーワード確信度を算出する算出部と、
前記キーワード確信度に基づいて検索結果の正当性を判定する判定部と
を備えた、検索装置。
【請求項２】
前記判定部は、前記キーワード確信度が所定の値以上である場合に、前記検索結果を正当であると判定する、請求項１に記載の検索装置。
【請求項３】
前記所定の値は、前記キーワードに含まれる文字の数および前記キーワードに含まれる文字の種類の少なくとも一方に応じて設定される、請求項２に記載の検索装置。
【請求項４】
前記インデックステーブルを作成するインデックステーブル作成部をさらに含み、
前記インデックステーブル作成部は、前記文字認識結果による前記候補文字が複数生成される場合に、前記オリジナル文書の文字列におけるそれぞれの文字に対応して生成された前記候補文字のそれぞれ同士を組み合わせることにより、前記インデックス文字列を生成する、請求項１に記載の検索装置。
【請求項５】
前記インデックステーブルを作成するインデックステーブル作成部をさらに含み、
前記インデックステーブル作成部は、前記文字認識結果により前記各文字に対して１つの前記候補文字をそれぞれ生成するとともに、生成された前記各候補文字に類似する類似文字を前記確信度に基づいて生成し、前記オリジナル文書の文字列におけるそれぞれの文字に対応する前記候補文字と前記類似文字との組み合わせ、または前記類似文字同士の組み合わせによっても前記インデックス文字列を生成する、請求項１に記載の検索装置。
【請求項６】
オリジナル文書中の文字のそれぞれを認識することによって前記各文字に対応する少なくとも１つの候補文字を有する前記オリジナル文書の文字認識結果から、インデックステーブルを用いて、複数の文字よりなるキーワードを検索する検索処理をコンピュータにより実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記インデックステーブルは、前記オリジナル文書中に存在する文字列を構成する複数の文字のそれぞれに対応する前記候補文字を組み合わせた文字列によって構成されるインデックス文字列と、前記オリジナル文章中における前記インデックス文字列の位置と、前記インデックス文字列に含まれる各候補文字毎に、前記オリジナル文書中に前記各候補文字がそれぞれ存在する確率として予め定義された確信度とを含み、
前記検索処理は、
前記インデックス文字列と同じ文字数の前記キーワードの文字列が前記インデックステーブルに存在するかを判定し、存在する場合には、そのキーワードの文字列と一致するインデックス文字列の前記位置に基づいて、前記オリジナル文書中における前記キーワードの文字列の位置を特定するステップと、
前記キーワードの文字列に一致するインデックス文字列の確信度に基づいて、前記特定された位置に前記キーワードが存在する確率として定義されるキーワード確信度を算出するステップと、
前記キーワード確信度に基づいて検索結果の正当性を判定するステップと
を包含する、プログラムを記録した記録媒体。
【請求項７】
オリジナル文書中の文字のそれぞれを認識することによって前記各文字に対応する少なくとも１つの候補文字を有する前記オリジナル文書の文字認識結果から、インデックステーブルを用いて、複数の文字よりなるキーワードを検索する検索処理をコンピュータにより実行させるためのプログラムであって、
前記インデックステーブルは、前記オリジナル文書中に存在する文字列を構成する複数の文字のそれぞれに対応する前記候補文字を組み合わせた文字列によって構成されるインデックス文字列と、前記オリジナル文章中における前記インデックス文字列の位置と、前記インデックス文字列に含まれる各候補文字毎に、前記オリジナル文書中に前記各候補文字がそれぞれ存在する確率として予め定義された確信度とを含み、
前記検索処理は、
前記インデックス文字列と同じ文字数の前記キーワードの文字列が前記インデックステーブルに存在するかを判定し、存在する場合には、そのキーワードの文字列と一致するインデックス文字列の前記位置に基づいて、前記オリジナル文章中における前記キーワードの文字列の位置を特定するステップと、
前記キーワードの文字列に一致するインデックス文字列の確信度に基づいて、前記特定された位置に前記キーワードが存在する確率として定義されるキーワード確信度を算出するステップと、
前記キーワード確信度に基づいて検索結果の正当性を判定するステップと
を包含する、プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
インデックステーブルを用いて、オリジナル文書中の文字を認識することによって得られる文字認識結果からキーワードを検索する検索装置、記録媒体およびプログラムに関する。
【０００２】
【従来の技術】
近年、インターネットの普及に伴い、ネットワーク上に存在する大量の情報から必要な情報を取り出す検索技術が重要視されている。特に、テキストデータから特定のキーワードを検索するシステムは、既に数多く提供されている。このような検索においては、大量のテキスト文書から正確で、高速な検索を行うことが求められている。
【０００３】
高速な検索を行うために、インデックステーブルを用いてテキストデータから特定のキーワードを検索する技術が知られている。インデックステーブルは、所定の数の文字（例えば、２文字）を含むインデックス文字列と、その文字列に一致するテキストデータ中の部分の位置とを定義する。
【０００４】
オリジナル文書（紙の形態の文書）中の文字を文字認識することによって得られる文字コードの集合（文字認識結果）からキーワードを検索する場合には、文字認識の誤り（誤認識）を考慮しなければならない。文字認識において誤りがある場合、文字コードが表す文字はオリジナル文書に書かれている文字と異なり得るからである。誤認識とは、オリジナル文書に書かれた文字が、正しく文字コードに変換されないことをいう。このような誤認識は、例えば、紙面に印字された文字のかすれや傾き、汚れ等に起因して発生する。
【０００５】
例えば、オリジナル文書のある位置に、「イヌ」という文字列が存在し、この文字列中の文字「ヌ」が「ス」と誤認識された場合、文字列「イヌ」に対応する文字認識結果中の部分の位置には、文字列「イス」が存在する。その結果、この文字認識結果から作成されたインデックステーブルには、インデックス文字列「イス」とその位置とが登録される。従って、このインデックステーブルを用いてキーワード「イヌ」を検索しても、文字認識結果中のその位置にキーワードを検出することができない。このように、オリジナル文書中のある位置にキーワードが存在するにもかかわらず、その位置においてキーワードが検出できないという、「検索漏れ」の問題が発生する。
【０００６】
検索漏れの問題に対処する従来技術として、オリジナル文書中の１つの文字に対する文字認識結果として複数の候補文字を用意し、その複数の候補文字に基づいて、オリジナル文書中に存在する可能性のある複数の文字列をインデックス文字列としてインデックステーブルに登録する技術が知られている。キーワードの検索は、このインデックステーブルを用いて行なわれる。このような技術は、例えば、特開平９−１６６１９号公報「情報処理方法および装置」に開示されている。
【０００７】
図１１は、従来技術によって、オリジナル文書中に存在する可能性のある複数の文字列をインデックス文字列とてし登録したインデックステーブル１９０１の一例を示す。図１１に示される例では、インデックステーブル１９０１は、「インデックスを用いた・・・」という文字列を含むオリジナル文書を文字認識することによって得られる。インデックステーブル１９０１には、インデックス文字列「イシ」とインデックス文字列「イン」とがいずれも文字認識結果中の同じ位置である文字位置「１」に存在するものとして登録されている（行１９１１および行１９１２）。
【０００８】
図１１に示されるインデックステーブル１９０１を使用することにより、「インデックス」というキーワードを検出することができる。以下、従来技術に従って、図１１に示されるインデックステーブル１９０１を使用してキーワード「インデックス」を検索する処理を説明する。
【０００９】
まず、キーワード中に含まれる、互いに隣り合う２文字からなる文字列が生成される。キーワード「インデックス」から、「イン」、「ンデ」、「デッ」、「ック」および「クス」という５個の文字列が生成される。
【００１０】
次に、これらの文字列がインデックステーブル１９０１から検索される。文字列「イン」、「ンデ」、「デッ」、「ック」および「クス」は、それぞれ、文字認識結果中の文字位置「１」、「２」、「３」、「４」および「５」に存在することが示されている（行１９１２、行１９１９、行１９１５、行１９１４および行１９１３）。
【００１１】
これらの文字位置の位置関係から、キーワード「インデックス」が文字認識結果中に存在していることが判断される。
【００１２】
このようにして、オリジナル文書中に存在する可能性のある複数の文字列をインデックス文字列とてし登録したインデックステーブルを用いた従来技術によれば、検索漏れの問題が回避され得る。
【００１３】
【発明が解決しようとする課題】
このような従来技術によれば、検索ノイズが増加してしまうという問題点がある。検索ノイズとは、オリジナル文書中にキーワードが存在しないにもかかわらず、キーワードが検出されることをいう。例えば、図１１に示されるインデックステーブル１９０１を使用して、「デンワ」および「フック」というキーワードを検索した場合に、それらのキーワードが文字位置「３」において検出される。検索結果が正当であるかどうかを判断するためには、ユーザがオリジナル文書と検索結果を比較しなければならない。
【００１４】
検索漏れの問題を防ぐために、１つの文字に対する文字認識結果として得られる候補文字の数を多くするほど、このような検索ノイズが多くなり、ユーザが検索結果が正当であるかどうかを判断する負担が増加する。
【００１５】
本発明は、このような問題点に鑑みてなされたものであって、高速な検索を行い、かつ、検索結果の正当性を容易に判定することが可能な検索装置、記録媒体およびプログラムを提供することを目的とする。
【００１６】
【課題を解決するための手段】
本発明の検索装置は、オリジナル文書中の文字のそれぞれを認識することによって前記各文字に対応する少なくとも１つの候補文字を有する前記オリジナル文書の文字認識結果から、インデックステーブルを用いて、複数の文字よりなるキーワードを検索する検索装置であって、前記インデックステーブルは、前記オリジナル文書中に存在する文字列を構成する複数の文字のそれぞれに対応する前記候補文字を組み合わせた文字列によって構成されるインデックス文字列と、前記オリジナル文章中における前記インデックス文字列の位置と、前記インデックス文字列に含まれる各候補文字毎に、前記オリジナル文書中に前記各候補文字がそれぞれ存在する確率として予め定義された確信度とを含み、前記インデックス文字列と同じ文字数の前記キーワードの文字列が前記インデックステーブルに存在するかを判定し、存在する場合には、そのキーワードの文字列と一致するインデックス文字列の前記位置に基づいて、前記オリジナル文章中における前記キーワードの文字列の位置を特定する位置特定部と、前記キーワードの文字列に一致するインデックス文字列の確信度に基づいて、前記特定された位置に前記キーワードが存在する確率として定義されるキーワード確信度を算出する算出部と、前記キーワード確信度に基づいて検索結果の正当性を判定する判定部とを備えており、これにより、上記目的が達成される。
【００１８】
前記判定部は、前記キーワード確信度が所定の値以上である場合に、前記検索結果を正当であると判定してもよい。
【００１９】
前記所定の値は、前記キーワードに含まれる文字の数および前記キーワードに含まれる文字の種類の少なくとも一方に応じて設定されてもよい。
【００２０】
前記インデックステーブルを作成するインデックステーブル作成部をさらに含み、前記インデックステーブル作成部は、前記文字認識結果による前記候補文字が複数生成される場合に、前記オリジナル文書の文字列におけるそれぞれの文字に対応して生成された前記候補文字のそれぞれ同士を組み合わせることにより、前記インデックス文字列を生成してもよい。
【００２１】
前記インデックステーブルを作成するインデックステーブル作成部をさらに含み、前記インデックステーブル作成部は、前記文字認識結果により前記各文字に対して１つの前記候補文字をそれぞれ生成するとともに、生成された前記各候補文字に類似する類似文字を前記確信度に基づいて生成し、前記オリジナル文書の文字列におけるそれぞれの文字に対応する前記候補文字と前記類似文字との組み合わせ、または前記類似文字同士の組み合わせによっても前記インデックス文字列を生成してもよい。
【００２２】
本発明の記録媒体は、オリジナル文書中の文字のそれぞれを認識することによって前記各文字に対応する少なくとも１つの候補文字を有する前記オリジナル文書の文字認識結果から、インデックステーブルを用いて、複数の文字よりなるキーワードを検索する検索処理をコンピュータにより実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記インデックステーブルは、前記オリジナル文書中に存在する文字列を構成する複数の文字のそれぞれに対応する前記候補文字を組み合わせた文字列によって構成されるインデックス文字列と、前記オリジナル文章中における前記インデックス文字列の位置と、前記インデックス文字列に含まれる各候補文字毎に、前記オリジナル文書中に前記各候補文字がそれぞれ存在する確率として予め定義された確信度とを含み、前記検索処理は、前記インデックス文字列と同じ文字数の前記キーワードの文字列が前記インデックステーブルに存在するかを判定し、存在する場合には、そのキーワードの文字列と一致するインデックス文字列の前記位置に基づいて、前記オリジナル文書中における前記キーワードの文字列の位置を特定するステップと、前記キーワードの文字列に一致するインデックス文字列の確信度に基づいて、前記特定された位置に前記キーワードが存在する確率として定義されるキーワード確信度を算出するステップと、前記キーワード確信度に基づいて検索結果の正当性を判定するステップとを包含するプログラムを記録しており、これにより、上記目的が達成される。
【００２３】
本発明のプログラムは、オリジナル文書中の文字のそれぞれを認識することによって前記各文字に対応する少なくとも１つの候補文字を有する前記オリジナル文書の文字認識結果から、インデックステーブルを用いて、複数の文字よりなるキーワードを検索する検索処理をコンピュータにより実行させるためのプログラムであって、前記インデックステーブルは、前記オリジナル文書中に存在する文字列を構成する複数の文字のそれぞれに対応する前記候補文字を組み合わせた文字列によって構成されるインデックス文字列と、前記オリジナル文章中における前記インデックス文字列の位置と、前記インデックス文字列に含まれる各候補文字毎に、前記オリジナル文書中に前記各候補文字がそれぞれ存在する確率として予め定義された確信度とを含み、前記検索処理は、前記インデックス文字列と同じ文字数の前記キーワードの文字列が前記インデックステーブルに存在するかを判定し、存在する場合には、そのキーワードの文字列と一致するインデックス文字列の前記位置に基づいて、前記オリジナル文章中における前記キーワードの文字列の位置を特定するステップと、前記キーワードの文字列に一致するインデックス文字列の確信度に基づいて、前記特定された位置に前記キーワードが存在する確率として定義されるキーワード確信度を算出するステップと、前記キーワード確信度に基づいて検索結果の正当性を判定するステップとを包含し、これにより、上記目的が達成される。
【００２４】
【発明の実施の形態】
本明細書中で、文字とは、特定の言語体系において使用される文字に限定されず、数字、記号（例えば、「）」や「◎」）を含むあらゆるシンボルをいう。このようなシンボルには、そのシンボルを電子的に表現するためのコード（文字コード）が割り当てられている。
【００２５】
図１は、本発明の検索装置１の構成を示す。検索装置１は、オリジナル文書中の文字を認識することによって得られる文字認識結果からキーワードを検索する。
【００２６】
検索装置１は、その構成要素として、端末１００と、文書登録処理および文書検索処理を実行するＣＰＵ１００と、文書を画像データとして入力する画像入力機器１２０と、ワークメモリ１８０と、ハードディスク（ＨＤＤ）１７０とを備える。これらの構成要素は、内部バス１１０１を介して互いに接続されている。あるいは、これらの構成要素は、任意のタイプのネットワークを介して互いに接続されていてもよい。
【００２７】
端末１００は、例えば、キーボードとＣＲＴとを備えた入出力デバイスである。端末１００は、例えば、検索装置１が実行する処理をユーザが指定したり、検索装置１が実行した検索処理結果をユーザに表示するために用いられる。
【００２８】
ＨＤＤ１７０には、文書登録プログラム１１０３と、文書検索プログラム１１０４と、文字認識パターン辞書１６０と、確信度テーブル１５０と、文書データ１１０２とが格納されている。ＨＤＤ１７０として、任意のタイプのメモリが使用されてもよい。
【００２９】
文書登録プログラム１１０３および文書検索プログラム１１０４の全体または一部は、任意のタイプの通信回線（図示せず）または放送を介して検索装置１に提供されてもよいし、任意のタイプのコンピュータ読み取り可能な記録媒体に記録された形態で検索装置１に提供されてもよい。そのような記録媒体は、例えば、ＤＶＤ−ＲＯＭ、ＣＤ−ＲＯＭ、フレキシブルディスク等である。そのような記録媒体に記録された文書登録プログラム１１０３および文書検索プログラム１１０４は、ディスクドライブ等の読み取りデバイスによって検索装置１にインストールされ得る。
【００３０】
図２は、オリジナル文書中の文字を認識することによって得られる文字認識結果からキーワードを検索するために、検索装置１によって実行される処理の流れを示す。
【００３１】
ユーザが端末１００（図１）から文書登録処理の開始を指示すると、ＨＤＤ１７０に格納された文書登録プログラム１１０３がワークメモリ１８０にロードされる。ＣＰＵ１１０は、ワークメモリ１８０に高速にアクセスすることができる。ＣＰＵ１１０が文書登録プログラム１１０３を実行することにより、文書登録処理が行なわれる。
【００３２】
文書登録処理は、文字認識処理と、インデックステーブル作成処理とを含む。文字認識処理と、インデックステーブル作成処理とはそれぞれ、文書登録プログラムの一部である文字認識プログラム（図示せず）と、インデックステーブル作成プログラム（図示せず）とをＣＰＵ１１０が実行することによって行なわれる。
【００３３】
文字認識処理では、画像入力機器１２０によってオリジナル文書が読み取られ、オリジナル文書の画像データ（文書画像データ）１３０が生成される。文書画像データ１３０は、ＨＤＤ１７０（図１）に格納される。文書画像データ１３０中の部分領域によって表される形状と文字認識パターン辞書１６０（図１）に登録されている文字の形状の類似性に基づいて、文字認識処理が行なわれる。文字認識処理の結果は、文字認識結果１４０としてＨＤＤ１７０に格納される。
【００３４】
次に、インデックステーブル作成処理では、文字認識結果１４０からインデックステーブル１９０が作成される。インデックステーブル１９０は、ＨＤＤ１７０に格納される。インデックステーブル作成処理において、確信度テーブル１５０（図１）が参照され得る。
【００３５】
ＨＤＤ１７０に格納された文書画像データ１３０と、文字認識結果１４０と、インデックステーブル１９０とは、文書データ１１０２（図１）の少なくとも一部を構成する。
【００３６】
ユーザが端末１００からキーワードを入力し、文書検索処理の開始を指示すると、ＨＤＤ１７０に格納された文書検索プログラム１１０４がワークメモリ１８０にロードされる。ＣＰＵ１１０が文書検索プログラム１１０４を実行することにより、文書検索処理が行なわれる。文書検索処理では、インデックステーブル１９０を用いて、文字認識結果からキーワードが検索される。
【００３７】
文書登録処理によってインデックステーブル１９０がいったん生成されると、キーワードの検索は、インデックステーブル１９０を参照して行なわれる。検索すべきキーワードが変わっても、新たなインデックステーブル１９０を作成する必要はない。
【００３８】
なお、図２に示される全ての処理が検索装置１によって行われることは必須ではない。例えば、文書登録処理が検索装置１とは別の機器によって行なわれ、生成されたインデックステーブル１９０を用いた文書検索処理のみが検索装置１によって行なわれてもよい。
【００３９】
図３は、オリジナル文書１３１０の一例を示す。オリジナル文書１３１０は、「インデックスを用いた検索方法。文書データからの」という文字列を含む。オリジナル文書は、例えば、文字列が印刷された紙の形態の文書である。オリジナル文書は、あるいは、標識、看板、掲示板等に書かれた形態の文書であってもよい。
【００４０】
図４は、オリジナル文書１３１０に対して文字認識処理を行うことにより得られる文字認識結果１４０の一例を示す。文字認識結果１４０は、文字位置１０４２と、候補文字１０４３とを含む。図４において、各候補文字に添えられたカッコ内の数字は、各候補文字についての信頼度Ｒｒを示す。文字認識結果１４０は、オリジナル文書１３１０（図３）に含まれる「イ」、「ン」、「デ」、「ッ」、「ク」、「ス」という各文字の文字認識結果として、最大の信頼度Ｒｒが得られた候補文字が、それぞれ、「イ」、「シ」、「テ」、「ソ」、「タ」、「ス」であることを示す。
【００４１】
文字認識処理は、任意のアルゴリズムに従って実行され得る。文字認識処理は、例えば、１文字単位に文書画像データ１３０を切り出し、その切り出された１文字単位の画像データ（部分領域）を文字コードに変換していくというアルゴリズムに従って実行され得る。
【００４２】
部分領域から文字コードへの変換の際には、部分領域によって表される形状と、文字認識パターン辞書１６０（図１）に登録されている文字の形状とが比較される。所定の判定基準に基づいて形状が類似していると判定された文字が、候補文字として得られる。このようにして、部分領域が、候補文字の文字コードへと変換されていく。１つの部分領域に対応する候補文字が複数得られてもよい。
【００４３】
候補文字は、その形状と部分領域によって表される形状とが類似しているために、オリジナル文書のその部分領域に対応する部分に書かれている文字と一致する可能性が高いとみなし得る文字を意味する。
【００４４】
文字認識結果１４０における各欄（例えば、欄１０４４）は、文書画像データ１３０中の部分領域に対応している。すなわち、オリジナル文書１３１０の部分（例えば、図３に示される部分１３１１）に対応している。また、文書画像データ１３０中の部分領域は、文書画像データから１文字単位に切り出されるので、部分領域は、オリジナル文書１３１０の１文字（例えば、図３に示される部分１３１１に書かれている文字「ク」）に対応している。
【００４５】
欄１０４４に示される候補文字「タ」、「ウ」、「ワ」および「ク」は、対応するオリジナル文書１３１０の部分（図３に示される部分１３１１）に書かれている文字と一致する可能性が高いとみなし得る文字である。
【００４６】
文字位置１０４２は、文字認識結果１４０における、その候補文字の位置を示す。例えば、欄１０４４に示される文字位置「５」は、文字認識結果１４０における欄１０４４（文字認識結果中の部分）の位置が、「５番目」の位置であることを示す。
【００４７】
文字位置１０４２の表現方法としては、候補文字に対応するオリジナル文書１３１０中の部分が特定できさえすれば、どのような表現方法を使用してもよい。上述したように、文字認識結果中の各欄は文書画像データ１３０の部分領域に対応する。従って、文字位置１０４２は、候補文字が含まれる欄の文字認識結果中の位置によって表されてもよいし、その欄が対応する文書画像データ１３０の部分領域の文書画像データ１３０中の位置によって表されてもよい。
【００４８】
例えば、文字位置１０４２は、オリジナル文書の文書名と、ページ番号と、行番号と、その行における先頭からの位置（何文字目であるか）によって表されてもよいし、文書画像データにおける座標やアドレスによって表されてもよい。
【００４９】
信頼度Ｒｒは、文字認識の確からしさ、すなわち、正解確率を示す。信頼度Ｒｒは、０以上１以下の値をとり、値が大きいほど確からしさが大きいものとする。文字認識には、例えば、ニューラルネットワークやベクトル量子化やテンプレートマッチングの手法を採用することができる。
【００５０】
文字認識にニューラルネットワークの手法を採用する場合には、文字認識パターン辞書１６０に登録されている文字のうち、出力値がある基準以上である少なくとも１つのニューロンに対応する文字が候補文字として得られる。ニューロンの出力値と正解確率との対応関係を予め求めておき、その対応関係に基づいて、各候補文字に対応するニューロンの出力値から、信頼度Ｒｒを求めることができる。
【００５１】
ベクトル量子化やテンプレートマッチングの手法は、いずれも、文書画像データ１３０の部分領域によって表される形状と、文字認識パターン辞書１６０に登録されている文字の形状との特徴量空間における距離を求めることにより、文字認識を行う手法である。１つの形状は、特徴量空間における１つの代表点として表される。これらの手法が採用される場合には、文字認識パターン辞書１６０に登録されている文字のうち、特徴量空間における距離がある基準以下である少なくとも１つの文字が候補文字として得られる。特徴量空間における距離と正解確率との対応関係を予め求めておき、その対応関係に基づいて、各候補文字に対応する特徴量空間における距離から、信頼度Ｒｒを求めることができる。
【００５２】
文字認識にいずれの手法を用いた場合でも、信頼度Ｒｒは、文書画像データ１３０の部分領域によって表される形状と、文字認識パターン辞書１６０に登録されている文字の形状との類似性を反映する。
【００５３】
信頼度Ｒｒとしては、形状の類似性以外の情報が考慮されてもよい。例えば、文書画像データ１３０中の文字認識の対象となる部分領域の大きさの偏差ＳＲや、行におけるその部分領域の相対的位置の偏差ＬＲなどが考慮されてもよい。
【００５４】
部分領域の大きさの偏差ＳＲは、例えば、文書画像データ１３０におけるすべての部分領域（それぞれが１つの文字に対応する）の大きさの平均値からの、その部分領域の大きさの偏差として定義され得る。予め、偏差ＳＲと文字認識の正解確率との対応関係を求めておくことにより、偏差ＳＲが大きい場合に信頼度Ｒｒが小さくなるように、信頼度Ｒｒを修正することができる。
【００５５】
部分領域の相対位置の偏差ＬＲは、例えば、文書画像データにおける同一の行のすべての部分領域（それぞれが１つの文字に対応する）について、行に垂直な方向の位置の平均値を求め、その部分領域の行に垂直な方向の位置のこの平均値からの偏差として定義され得る。予め、偏差ＬＲと文字認識の正解確率との対応関係を求めておくことにより、偏差ＬＲが大きい場合に信頼度Ｒｒが小さくなるように、信頼度Ｒｒを修正することができる。
【００５６】
このように、信頼度Ｒｒを偏差ＳＲおよび／または偏差ＬＲに応じて修正することにより、信頼度Ｒｒをより適切に設定することができる。
【００５７】
図４に示される文字認識結果１４０から、インデックステーブル１９０が作成される（インデックステーブル作成処理）。
【００５８】
図５Ａは、インデックステーブル作成処理の手順を示す。以下、インデックステーブル作成処理の手順を詳しく説明する。
【００５９】
ステップＳ４０１：文字認識結果１４０中の注目している候補文字の信頼度Ｒｒが基準値以上であるか否かが判定される。基準値は、例えば、「０．０５」であり得る。ステップＳ４０１における判定結果が「Ｙｅｓ」である場合には、処理はステップＳ４０２に進む。ステップＳ４０１における判定結果が「Ｎｏ」である場合には、処理はステップＳ４０４に進む。
【００６０】
なお、文字認識処理によって文字認識結果１４０（図４）を得る際に、信頼度Ｒｒが基準値以上である候補文字のみを文字認識結果１４０に含むようにしてもよい。その場合には、ステップＳ４０１における処理は省略され得る。
【００６１】
ステップＳ４０２：候補文字の確信度Ｃｒが計算される。確信度Ｃｒは、例えば、各候補文字についての信頼度Ｒｒに基づいて、（数１）により計算される。
【００６２】
【数１】
確信度Ｃｒ  ＝  候補文字ついての信頼度Ｒｒ×文字別係数Ｋｒ
文字別係数Ｋｒは、予め、１つの文字（例えば、「イ」）ごとに定義されている。文字別係数Ｋｒは、通常の文書中におけるその文字の出現確率に依存する。文字は、その種類ごとに通常の文書中における出現確率が異なる。例えば、一般の日本語の文書では、文字「ゐ」は、文字「る」よりも出現確率が低い。このように、出現確率が低い文字については、文字別係数Ｋｒが低く設定される。逆に、出現確率が高い文字については、文字別係数Ｋｒが高く設定される。文字ごとの出現確率は、予め、大量の一般的な文書を対象として統計的に求めることができる。
【００６３】
各候補文字についての確信度Ｃｒは、その候補文字についての信頼度Ｒｒに候補文字と同一の文字（文字コードが一致する文字）についての文字別係数Ｋｒを掛けることによって求められる。このようにして計算された確信度Ｃｒは、候補文字と同一の文字がオリジナル文書中の特定の部分に存在する確率を示す。そのような特定の部分とは、文字認識結果１４０（図４）において、その候補文字が含まれる欄（文字認識結果中の部分）が対応するオリジナル文書中の部分である。
【００６４】
ただし、確信度Ｃｒが必ずしも統計学的な確率そのものである必要はない。確信度Ｃｒは、統計学的な確率を所定の基準に従って正規化した値であり得る。このような所定の基準は、候補文字の確信度Ｃｒが、候補文字と同一の文字がオリジナル文書中の特定の部分に存在する確率を示すという性質を保持する限り、任意の基準であり得る。確信度Ｃｒは、実数表現でなく整数表現によって表されてもよい。あるいは、確信度Ｃｒは、確信度Ｃｒのレベルを段階的に示す記号によって表されてもよい（例えば、○：高、△：中、×：低）。
【００６５】
なお、文字ごとの出現確率が不明である場合には、文字別係数Ｋｒをすべての文字について一定としてもよい。また、字種（漢字、カタカナ、ひらがな）ごとに文字別係数Ｋｒを設定してもよい。
【００６６】
ステップＳ４０３：候補文字と、ステップＳ４０２で求められた確信度Ｃｒとが候補文字−確信度テーブルに登録される。
【００６７】
図５Ｂは、候補文字−確信度テーブル１５０１の一例を示す。候補文字と確信度Ｃｒとは、文字位置１０４２（図４）ごとに、候補文字−確信度テーブル１５０１に登録される。
【００６８】
図５Ａを再び参照して、インデックステーブル作成処理の説明を続ける。
【００６９】
ステップＳ４０４：すべての文字位置のすべての候補文字について、ステップＳ４０１〜ステップＳ４０３の処理が行なわれたか否かが判定される。ステップＳ４０４における判定結果が「Ｙｅｓ」である場合には、処理はステップＳ４０５に進む。ステップＳ４０４における判定結果が「Ｎｏ」である場合には、他の候補文字について、ステップＳ４０１からの処理が行なわれる。
【００７０】
ステップＳ４０５：候補文字−確信度テーブル１５０１（図５Ｂ）の隣接した文字位置に登録された候補文字からインデックステーブルが作成される。インデックステーブルは、インデックス文字列と、文字位置と、確信度Ｃｒとを定義する。
【００７１】
インデックス文字列は、候補文字−確信度テーブル１５０１（図５Ｂ）の隣接した文字位置に登録された候補文字を組み合わせることによって生成される。例えば、候補文字−確信度テーブル１５０１の文字位置「１」に登録された候補文字「イ」と、隣接した文字位置「２」に登録された候補文字「シ」とを組み合わせることによって、インデックス文字列「イシ」が生成される。
【００７２】
図６は、インデックステーブル作成処理によって作成されたインデックステーブルの一例を示す。インデックステーブル１９０の欄１６１０は、インデックス文字列を示す。欄１６１１は、インデックス文字列に含まれる先頭の候補文字の文字位置を示す。欄１６１２はインデックス文字列に含まれる候補文字のそれぞれについて定義される確信度Ｃｒの組を示す。
【００７３】
インデックステーブル１９０に含まれる行１６０２は、インデックス文字列「イシ」に一致する文字認識結果１４０中の部分の位置が「１」であり、インデックス文字列「イシ」の文字「イ」について定義された確信度Ｃｒが０．９であり、インデックス文字列「イシ」の文字「シ」について定義された確信度Ｃｒが０．８であることを示す。
【００７４】
インデックス文字列「イシ」（行１６０２）に含まれる候補文字のそれぞれについて定義される確信度Ｃｒの組は、各候補文字についてステップＳ４０２（図５Ａ）で算出された確信度Ｃｒの組として得られる。なお、確信度Ｃｒの組として、各候補文字についてステップＳ４０２（図５Ａ）で算出された確信度Ｃｒにインデックス文字列ごとの係数を掛けた値の組が用いられてもよい。インデックス文字列ごとの係数は、例えば、一般の文書中に出現する確率が小さいインデックス文字列については、低く設定され得る。例えば、文字列「ヲヲ」や文字列「ヰヰ」は、一般の日本語の文書中に出現する確率は小さい。このようなインデックス文字列に対しては、インデックス文字列ごとの係数は低く設定され得る。
【００７５】
候補文字−確信度テーブル１５０１（図５Ｂ）の隣接した文字位置に登録された候補文字を組み合わせることによってインデックス文字列を生成することは、文字認識結果１４０（図４）に示される複数の欄のうち、隣接した（連続した）複数の欄（例えば、欄１０４５と欄１０４６）のそれぞれに含まれる候補文字を組み合わせることと等価である。
【００７６】
このように、図５Ａに示されるステップＳ４０１〜ステップＳ４０５において、ＣＰＵ１１０（図１）は、インデックステーブル１９０を作成するインデックステーブル作成部として機能する。
【００７７】
インデックステーブル１９０は、図５Ｂに示される候補文字−確信度テーブル１５０１の隣接した文字位置に登録された候補文字のすべての組み合わせをインデックス文字列として登録することによって作成される。
【００７８】
ただし、候補文字−確信度テーブル１５０１の隣接した文字位置に登録された候補文字のすべての組み合わせに重複する組み合わせがある場合には、インデックステーブル１９０には、１つのインデックス文字列について複数の文字位置と確信度Ｃｒの組とが登録される。例えば、候補文字−確信度テーブル１５０１の文字位置「２」および「３」に登録された候補文字「ン」および「ワ」からインデックス文字列「ンワ」が生成され、文字位置「４」および「５」に登録された候補文字「ン」および「ワ」からもインデックス文字列「ンワ」が生成される。この場合、１つのインデックス文字列「ンワ」について、文字位置２、確信度Ｃｒ（０．７，０．２）と文字位置４、確信度Ｃｒ（０．１，０．２）とがインデックステーブル１９０に登録される（行１６０４）。
【００７９】
インデックス文字列に含まれる文字数は、予め定められている。図６に示される例では、インデックス文字列に含まれる文字数は、「２」である。インデックス文字列に含まれる文字数は、任意の自然数であり得る。しかし、一般に、インデックス文字列に含まれる文字数は２以上であることが好ましい。インデックス文字列に含まれる文字数が１であると、１つのインデックス文字列について登録される文字位置と確信度Ｃｒとの数が多くなり、検索を高速に行なうことができなくなるからである。
【００８０】
インデックステーブル１９０中のインデックス文字列は、検索を容易にするために所定の順序に従って順序付けられていることが好ましい。
【００８１】
インデックステーブル１９０は、図４に示される文字認識結果１４０中の１つの文字位置に対する複数の候補文字を用いて作成されている。その結果、インデックステーブル１９０は、同一の文字位置に対応する複数のインデックス文字列を含む。従って、複数のインデックス文字列が、文字認識結果の１つの部分に一致し得る。例えば、インデックステーブル１９０の行１６０２に示されるインデックス文字列「イシ」と、インデックステーブル１９０の行１６０３に示されるインデックス文字列「イン」とは、いずれも、文字位置「１」によって示される文字認識結果１４０中の部分（欄１０４５と欄１０４６とを包含する部分）に一致する。これによって、検索漏れを減らすことが可能になる。
【００８２】
このように、インデックス文字列と、文字認識結果の部分とが一致するとは、インデックス文字列に含まれる各文字が、文字認識結果の連続した部分（図４に示される隣接した欄）の１つに含まれる少なくとも１つの候補文字の１つと同一である（文字コードが等しい）という概念を含む。
【００８３】
インデックステーブル１９０のような、同一の文字位置に対応する複数のインデックス文字列を含むインデックステーブルは、１つの文字位置に対する候補文字が１つであるような文字認識結果からも作成することができる。
【００８４】
図７は、１つの文字位置に対する候補文字が１つである文字認識結果１４０ａの一例を示す。文字認識結果１４０ａは、図４に示される文字認識結果１４０と比較して、１つの文字位置に対する候補文字が１つであるという点が異なる。文字認識結果１４０ａは、オリジナル文書１３１０（図３）に含まれる「イ」、「ン」、「デ」、「ッ」、「ク」、「ス」という各文字が、それぞれ、「イ」、「シ」、「テ」、「ソ」、「タ」、「ス」と認識されたことを示す。オリジナル文書１３１０に含まれる文字「ン」、「デ」、「ッ」、「ク」は、誤って認識されている。
【００８５】
図８Ａは、図７に示される文字認識結果１４０ａからインデックステーブルを作成する処理（インデックステーブル作成処理）の手順を示す。
【００８６】
ステップＳ５０１：確信度テーブルを参照して、文字認識結果１４０ａの１つの文字位置に対する候補文字と信頼度Ｒｒとの１つの組から、類似文字と確信度Ｃｒとの組が求められる。類似文字と確信度Ｃｒとの組は、複数得られてもよい。ステップＳ５０１の処理は、各文字位置について行なわれる。確信度テーブルは、図９を参照して後述される。
【００８７】
ステップＳ５０２：類似文字の確信度Ｃｒが、所定の基準値以上であるか否かが判定される。所定の基準値とは、例えば、０．０５である。ステップＳ５０２における判定結果が「Ｙｅｓ」である場合には、処理はステップＳ５０３に進む。ステップＳ５０２における判定結果が「Ｎｏ」である場合には、処理はステップＳ５０４に進む。
【００８８】
ステップＳ５０３：類似文字と、ステップＳ５０１で求められた確信度Ｃｒとが類似文字−確信度テーブルに登録される。
【００８９】
図８Ｂは、類似文字−確信度テーブル１８０１の例を示す。類似文字と確信度Ｃｒとは、文字位置１０４２（図７）ごとに、類似文字−確信度テーブル１８０１に登録される。
【００９０】
図８Ａを再び参照して、インデックステーブル作成処理の説明を続ける。
【００９１】
ステップＳ５０４：すべての文字位置の候補文字について、ステップＳ５０２〜ステップＳ５０３の処理が行なわれたか否かが判定される。ステップＳ５０４における判定結果が「Ｙｅｓ」である場合には、処理はステップＳ５０５に進む。ステップＳ５０４における判定結果が「Ｎｏ」である場合には、他の類似文字について、ステップＳ５０２からの処理が行なわれる。
【００９２】
ステップＳ５０５：類似文字−確信度テーブル１８０１（図８Ｂ）の隣接した文字位置に登録された類似文字からインデックステーブルが作成される。インデックス文字列は、類似文字−確信度テーブル１８０１（図８Ｂ）の隣接した文字位置に登録された類似文字を組み合わせることによって生成される。この処理は、図５Ａに示されるステップＳ４０５において、候補文字−確信度テーブル１５０１（図５Ｂ）からインデックステーブル１９０（図６）を作成した処理と同様である。
【００９３】
生成されるインデックステーブルは、図６に示されるインデックステーブル１９０と同様である。例えば、インデックステーブル１９０の行１６０２において、欄１６１１は、インデックス文字列「イシ」に含まれる先頭の類似文字「イ」の文字位置を示す。欄１６１２はインデックス文字列「イシ」に含まれる類似文字のそれぞれについて定義される確信度Ｃｒの組（０．９，０．８）を示す。
【００９４】
図９は、確信度テーブル１５０の一例を示す。図９には、確信度テーブル１５０のうち、候補文字「シ」に関する部分のみを示す。
【００９５】
確信度テーブル１５０は、例えば、文字認識結果として１つの候補文字「シ」および信頼度Ｒｒ「０．９」が得られた場合に、類似文字「ン」および確信度Ｃｒ「０．２」と、類似文字「シ」および確信度Ｃｒ「０．８」とが得られることを示す。類似文字「ン」および類似文字「シ」は、候補文字「シ」と文字の形状が類似しているか、同一である文字である。
【００９６】
候補文字「シ」についての類似文字が「ン」および「シ」であることは、文字認識結果として１つの候補文字「シ」が得られた場合に、オリジナルの文書中には類似文字「ン」または類似文字「シ」が書かれている可能性が高いことを示す。
【００９７】
確信度テーブル１５０は、予め、多種多数の文字が書かれたオリジナル文書に対して文字認識を行い、それによって得られる文字認識結果および信頼度Ｒｒと、オリジナル文書に実際に存在する文字とを比較することによって作成され得る。例えば、確信度テーブル１５０の部分１８１１に示される確信度Ｃｒの「０．２」は、様々なフォントや様々な印字品質で書かれた文字「ン」に対して文字認識を行った場合に、候補文字「シ」および信頼度Ｒｒ０．９が得られる確率から求められ得る。
【００９８】
確信度テーブル１５０は、全ての文字の組み合わせに対して用意される。ただし、確信度Ｃｒが所定の基準よりも小さくなるような類似文字については、確信度テーブル１５０に登録する必要はない。従って、１つの候補文字について得られる類似文字の個数を限定することができる。
【００９９】
文字認識によって得られる信頼度Ｒｒが図９に示される確信度テーブル１５０に定義される信頼度Ｒｒと一致しない場合（例えば、文字認識によって得られる信頼度Ｒｒが０．８）である場合には、適切な方法により類似文字の確信度Ｃｒが計算される。例えば、文字認識によって得られる信頼度Ｒｒが０．５よりも小さい場合には、確信度テーブル１５０中の信頼度Ｒｒ「０．５」の行が参照される。また、文字認識によって得られる信頼度Ｒｒが０．９よりも大きい場合には、確信度テーブル１５０中の信頼度Ｒｒ「０．９」の行が参照される。文字認識によって得られる信頼度Ｒｒが確信度テーブル１５０に定義される２つの信頼度Ｒｒの間の値である場合には、確信度テーブル１５０に定義される２つの信頼度Ｒｒのうち、文字認識によって得られる信頼度Ｒｒに近い値の行が参照される。
【０１００】
なお、確信度テーブル１５０の構造は、図９に示される構造に限定されない。確信度テーブル１５０は、候補文字と信頼度Ｒｒとの組から、類似文字と確信度Ｃｒの組とが少なくとも１つ得られる限り、任意の構造を有し得る。例えば、確信度Ｃｒの信頼度Ｒｒに対する分布を一様分布であると仮定して、その分布範囲を確信度の上限および下限、信頼度Ｒｒの上限および下限により表し、これらの上限値および下限値が確信度テーブル１５０に定義されてもよい。あるいは、確信度Ｃｒの信頼度Ｒｒに対する分布をガウス分布であると仮定して、その分布の平均値と分散値とが確信度テーブル１５０に定義されてもよい。
【０１０１】
このような確信度テーブル１５０を用いて図８Ａに示されるインデックステーブル作成処理を実行することにより、１つの文字位置に対する候補文字が１つである文字認識結果１４０ａ（図７）からでも、同一の文字位置に対応する複数のインデックス文字列を含むインデックステーブル１９０（図６）を作成することができる。
【０１０２】
確信度テーブル１５０は、検索装置１がインデックステーブル作成処理を図５Ａに示される手順に従って実行する場合には、省略され得る。
【０１０３】
このように、インデックステーブル１９０はまた、図７に示される文字認識結果１４０ａ中の１つの文字位置に対する１つの候補文字に予め対応付けられた複数の類似文字を用いて作成され得る。その結果、インデックステーブル１９０は、同一の文字位置に対応する複数のインデックス文字列を含む。従って、複数のインデックス文字列が、文字認識結果の１つの部分に一致し得る。これによって、文字認識処理において誤認識が生じた場合にも検索漏れを減らすことが可能になる。
【０１０４】
但し、インデックス文字列に含まれる各文字が、文字認識結果の連続した部分（図７に示される隣接した欄）の１つに含まれる１つの候補文字と同一であるとは限らない。例えば、インデックステーブル１９０の行１６０３に示されるインデックス文字列「イン」に含まれる文字「ン」は、文字認識結果１４０ａ（図７）の欄１０４６ａに含まれる１つの候補文字「シ」と同一ではない。しかし、インデックス文字列「イン」に含まれる文字「ン」は、その候補文字「シ」に予め確信度テーブル１５０（図９）により対応付けられた類似文字「ン」と同一である。
【０１０５】
このように、インデックス文字列と、文字認識結果の部分とが一致するとは、インデックス文字列に含まれる各文字が、文字認識結果の連続した部分（図４に示される隣接した欄）の１つに含まれる１つの候補文字に予め対応付けられた少なくとも１つの文字の１つと同一である（文字コードが等しい）という概念を含む。
【０１０６】
次に、インデックステーブル１９０（図６）を用いて文字認識結果からキーワードを検索する処理（文書検索処理）を説明する。
【０１０７】
図１０は、文書検索処理の手順を示す。以下、文書検索処理の各ステップを詳しく説明する。
【０１０８】
ステップＳ３０１：キーワードが入力される。以下、キーワードが「インデックス」という文字列である場合を例として説明する。
【０１０９】
ステップＳ３０２：キーワードから、連続する２文字の組（長さが２の文字列）が抽出される。この例では、２文字の組「イン」、「ンデ」、「デッ」、「ック」、「クス」が抽出される。なお、抽出される文字列の長さは、インデックステーブルに定義されるインデックス文字列の長さと等くなるように設定される。従って、インデックス文字列の長さがｎ（ｎは自然数）である場合には、キーワードからｎ文字の組（長さがｎの文字列）が抽出される。以下の説明では、ｎ＝２であるものとする。
【０１１０】
抽出された複数の２文字の組は、互いのその一部がオーバーラップしている。しかし、オーバーラップしないようにキーワードから２文字の組を抽出してもよい。例えば、キーワード「インデックス」から２文字の組「イン」、「デッ」、「クス」が抽出されてもよい。ただし、キーワードに含まれるそれぞれの文字は、抽出された２文字の組の少なくとも１つに含まれるように、キーワードから２文字の組が抽出される。
【０１１１】
ステップＳ３０３：インデックステーブル１９０（図６）を参照し、２文字の組に対応する文字位置と確信度Ｃｒとが抽出される。この例では、
２文字の組「イン」に対応する文字位置「１」、確信度Ｃｒの組（０．９，０．７）（行１６０３）、
２文字の組「ンデ」に対応する文字位置「２」、確信度Ｃｒの組（０．７，０．８）（行１６０５）、
２文字の組「デッ」に対応する文字位置「３」、確信度Ｃｒの組（０．８，０．３）（行１６０６）、
２文字の組「ック」に対応する文字位置「４」、確信度Ｃｒの組（０．３，０．１）（行１６０７）、および、
２文字の組「クス」に対応する文字位置「５」、確信度Ｃｒの組（０．１，０．９）（行１６０８）が得られる。
【０１１２】
なお、図６に示されるインデックステーブル１９０から各文字列に対応する文字位置および確信度Ｃｒを効率的に取り出すために、インデックス文字列に含まれる文字の文字コードと、インデックス文字列を含む行が格納されているアドレス（例えば、ＨＤＤ１７０上のアドレス）との対応表を用いてもよい。また、このようなアドレスは、２分木探索法を用いて求められてもよい。
【０１１３】
ステップＳ３０４：すべての２文字の組について、ステップＳ３０３の処理が行なわれたか否かが判定される。ステップＳ３０４における判定結果が「Ｎｏ」である場合には、他の２文字の組についてステップＳ３０３の処理が行なわれる。ステップＳ３０４における判定結果が「Ｙｅｓ」である場合には、処理はステップＳ３０５に進む。
【０１１４】
ステップＳ３０５：すべての２文字の組が所定の順序で並んでいるか否かが判定される。この判定は、ステップＳ３０４でそれぞれの２文字の組について得られた文字位置に基づいて行なわれる。具体的には、キーワードのｋ文字目（ｋは自然数）を先頭とする２文字の組について得られた文字位置ｍ（ｍは自然数）が、すべての２文字の組について、「ｍ−ｋ＝一定」という関係を満たすならば、すべての２文字の組が所定の順序で並んでいると判定される。
【０１１５】
すべての２文字の組が所定の順序で並んでいることは、キーワードが文字認識結果中の特定の部分に一致することを示す。その特定の部分とは、キーワードに含まれる各文字が一致する文字認識結果中の部分を包含する部分である。
【０１１６】
この例では、キーワード「インデックス」が、文字認識結果１４０（図４）の部分１０４７または文字認識結果１４０ａ（図７）の部分１０４７ａに一致する。
【０１１７】
このような部分１０４７または部分１０４７ａの位置は、その部分の先頭の欄の文字位置「１」として特定される。
【０１１８】
この例では、キーワード「インデックス」から抽出されたすべての２文字の組は、上述した関係を満たすために、「所定の順序で並んでいる」と判定される。
【０１１９】
ステップＳ３０５における判定が「Ｙｅｓ」である場合には、処理はステップＳ３０６に進む。ステップＳ３０５における判定が「Ｎｏ」である場合には、処理はステップＳ３０８に進む。
【０１２０】
このように、ステップＳ３０２〜ステップＳ３０５において、ＣＰＵ１１０（図１）は、インデックステーブル１９０（図６）に含まれるインデックス文字列とインデックス文字列に一致する文字認識結果中の部分の位置とに基づいて、キーワードがその文字認識結果中の部分に一致するか否かを判定し、もし一致する場合には、キーワードに一致するその文字認識結果中の部分の位置を特定する位置特定部として機能する。
【０１２１】
ステップＳ３０６：キーワード確信度Ｋｃが算出される。キーワード確信度Ｋｃは、例えば、キーワード「インデックス」から抽出された２文字の組「イン」、「ンデ」、「デッ」、「ック」、「クス」のそれぞれに対応する確信度Ｃｒの組の左側の値と、キーワード「インデックス」を構成する最後の２文字の組「クス」に対応する確信度Ｃｒの組の右側の値との相加平均として求められる。これは、キーワードに含まれる各文字について定義された確信度の相加平均を求めることと等価である。この例では、キーワード確信度Ｋｃ＝（０．９＋０．７＋０．８＋０．３＋０．１＋０．９）／６＝０．６１となる。
【０１２２】
なお、キーワード確信度Ｋｃは、相乗平均、メディアン値、または最頻値によって算出されてもよい。キーワード確信度Ｋｃは、２文字の組のそれぞれに対応する確信度Ｃｒの組のうち、小さくない方の値だけを用いて算出されてもよい。確信度Ｃｒが予め定められた基準値未満の場合には、その確信度Ｃｒをキーワード確信度Ｋｃの算出に用いないようにしてもよい。
【０１２３】
このように、キーワード確信度Ｋｃは、キーワードに含まれる各文字について定義された確信度Ｃｒに基づいて算出される。
【０１２４】
算出されたキーワード確信度Ｋｃは、文字認識結果中の文字位置に対応するオリジナル文書中の位置に、そのキーワードが存在する確率を示す。
【０１２５】
例えば、ステップＳ３０５で、キーワード「インデックス」が、文字認識結果１４０（図４）の部分１０４７または文字認識結果１４０ａ（図７）の部分１０４７ａに一致すると判定され、このような部分１０４７または部分１０４７ａの位置が文字位置「１」と特定された場合、文字位置「１」に対応するオリジナル文書中の位置（すなわち、オリジナル文書の先頭）にキーワード「インデックス」が存在する確率は、０．６１である。
【０１２６】
このように、ステップＳ３０６において、ＣＰＵ１１０は、インデックステーブル１９０（図６）に含まれる確信度Ｃｒに基づいて、キーワードに一致する文字認識結果中の部分の位置に対応するオリジナル文書中の位置にキーワードが存在する確率を示すキーワード確信度Ｋｃを算出する算出部として機能する。
【０１２７】
ステップＳ３０７：キーワード確信度Ｋｃが基準値（所定の値）以上であるか否かが判定される。基準値は、例えば、０．５であり得る。この基準値は、固定値であってもよいし、キーワードに応じて設定されてもよい。例えば、キーワードの文字数に応じて基準値を変更してもよい。
【０１２８】
この基準値を高くすると、検索ノイズを減らすことができるが、高くしすぎると検索漏れが起こりやすくなる。一般に、キーワードの文字数が多い場合には、基準値を低く設定することにより、誤認識が多い場合にも検索漏れを減らすことが好ましい。キーワードの文字数（キーワードに含まれる文字の数）が多い場合には、基準値を低く設定することによっても検索ノイズはあまり増加しないからである。
【０１２９】
キーワードに含まれる文字の種類（字種）に応じて基準値を変更してもよい。例えば、キーワードの各文字がカタカナである場合、漢字である場合、漢字とカタカナとの混合である場合、ひらがなである場合のそれぞれについて、基準値を最適に設定することにより、より効果的な検索を行うことができる。
【０１３０】
あるいは、この基準値は、ユーザによって指定されてもよい。ユーザは、検索漏れを防ぐか、検索ノイズを減少させるかという目的に応じて、適切な基準値を設定し得る。
【０１３１】
ステップＳ３０７における判定が「Ｙｅｓ」である場合には、処理はステップＳ３０９に進む。ステップＳ３０７における判定が「Ｎｏ」である場合には、処理はステップＳ３０８に進む。
【０１３２】
このように、ステップＳ３０５においてキーワードが文字認識結果１４０または文字認識結果１４０ａの部分に一致するという検索結果が得られた後に、ステップＳ３０７が実行され、実際のオリジナル文書にキーワードがあるか否か（検索結果が正当であるか否か）がキーワード確信度Ｋｃに基づいて判定される。ステップＳ３０７において、ＣＰＵ１１０は、キーワード確信度Ｋｃに基づいて検索結果の正当性を判定する判定部として機能する。
【０１３３】
ステップＳ３０８：キーワードがオリジナル文書中に存在しないと判断される。端末１００（図１）のディスプレイには、例えば、「キーワードが見つかりませんでした」というメッセージが表示される。
【０１３４】
ステップＳ３０９：キーワードが検出されたと判断される。検索結果として、検出箇所を示す文字位置と、キーワード確信度Ｋｃとが得られる。検出箇所が複数である場合には、文字位置とキーワード確信度Ｋｃとの組が複数得られる。
【０１３５】
上述した、キーワードが「インデックス」である例では、検索結果として、文字位置「１」と、キーワード確信度Ｋｃ「０．６１」とが得られる。
【０１３６】
検索結果は、例えば、端末１００に表示される。検索装置１は、例えば、ＨＤＤ１７０に格納された文書画像データ１３０（および／または、文字認識結果１４０、１４０ａ）を端末１００のディスプレイに表示し、そのディスプレイに表示された文書画像データ１３０（および／または、文字認識結果１４０、１４０ａ）の領域のうちキーワードに対応する領域を強調表示する。強調表示は、例えば、表示される文字の属性（例えば、文字の色や濃度、文字背景の色や濃度、文字の大きさ、文字の太さ、フォント等）を変更することによってなされる。このような属性は、キーワード確信度Ｋｃに応じて変化させてもよい。例えば、キーワード確信度Ｋｃが０．５〜１．０の間を０．１の刻み幅で区分し、各区分に異なる属性を設定して強調表示を行ってもよい。この場合には、ユーザがキーワード確信度Ｋｃの大小を視覚的に把握することができるので、ユーザが検索結果の正当性のさらなる判定を視覚的に、容易に行うことができるという利点が得られる。
【０１３７】
あるいは、キーワード確信度Ｋｃが高い検出箇所から順に、キーワードに対応する領域を表示してもよい。
【０１３８】
このようにして、ユーザが検索結果の正当性のさらなる判定を行う場合には、ステップＳ３０７において用いられる基準値を低く設定してもよい。
【０１３９】
あるいは、ステップＳ３０７が省略されてもよい。この場合、検索結果の正当性の判定はすべてユーザにより行なわれる。ユーザは、キーワード確信度Ｋｃに基づいて、検索結果の正当性の判定を容易に行うことが可能である。
【０１４０】
以下、図１０に示される文書検索処理により、検索ノイズが抑制される例を説明する。
【０１４１】
キーワード「ワックス」を指定して、図６に示されるインデックステーブル１９０を用いて図１０に示される文書検索処理を行った場合、ステップＳ３０５における判定は「Ｙｅｓ」となり、文字位置「３」が特定される。
【０１４２】
ステップＳ３０６において、キーワード確信度Ｋｃ＝（０．２＋０．３＋０．１＋０．９）／４＝０．３８と算出される。
【０１４３】
キーワード確信度Ｋｃが基準値０．５よりも小さいので、キーワードが存在しないと判断される。
【０１４４】
キーワード「デンワ」を指定した場合、ステップＳ３０５における判定は「Ｙｅｓ」となり、文字位置「３」が特定される。
【０１４５】
ステップＳ３０６において、キーワード確信度Ｋｃ＝（０．８＋０．１＋０．２）／３＝０．３７と算出される。
【０１４６】
キーワード確信度Ｋｃが基準値０．５よりも小さいので、キーワードが存在しないと判断される。
【０１４７】
同様に、キーワード「フック」を指定した場合、ステップＳ３０５における判定は「Ｙｅｓ」となり、文字位置「３」が特定される。
【０１４８】
ステップＳ３０６において、キーワード確信度Ｋｃ＝（０．２＋０．３＋０．１）／３＝０．２と算出される。
【０１４９】
キーワード確信度Ｋｃが基準値０．５よりも小さいので、キーワードが存在しないと判断される。
【０１５０】
このように、本発明の検索装置１によれば、オリジナル文書中にキーワードが存在しないにもかかわらず、キーワードが検出されることを抑制する、すなわち、検索ノイズを抑制することが可能になる。
【０１５１】
本発明の文書検索処理は、コンピュータ上のソフトウェアによって実現されることに限定されない。本発明の文書検索処理をハードウェアによって実現してもよいし、ソフトウェアとハードウェアの組み合わせによって実現してもよい。
【０１５２】
なお、上述した実施の形態では、日本語の文書を例に取り説明した。しかし、本発明の適用は、日本語の文書に限定されない。他の任意の文書（例えば、中国語の文書、英語の文書、韓国語の文書）に本発明を適用することも可能である。
【０１５３】
【発明の効果】
本発明によれば、インデックステーブルに含まれる確信度に基づいて、キーワードに一致する文字認識結果中の部分の位置に対応するオリジナル文書中の位置にキーワードが存在する確率を示すキーワード確信度が算出される。従って、キーワード確信度に基づいて、検索結果の正当性を判定することが容易になる。
【０１５４】
本発明の検索装置は、インデックステーブルを用いるので、高速な検索を行うことが可能である。
【図面の簡単な説明】
【図１】本発明の検索装置１の構成を示すブロック図
【図２】オリジナル文書中の文字を認識することによって得られる文字認識結果からキーワードを検索するために、検索装置１によって実行される処理の流れを示す図
【図３】オリジナル文書１３１０の一例を示す図
【図４】オリジナル文書１３１０に対して文字認識処理を行うことにより得られる文字認識結果１４０の一例を示す図
【図５Ａ】インデックステーブル作成処理の手順を示すフローチャート
【図５Ｂ】候補文字−確信度テーブル１５０１の例を示す図
【図６】インデックステーブル作成処理によって作成されたインデックステーブル１９０の一例を示す図
【図７】１つの文字位置に対する候補文字が１つである文字認識結果１４０ａの一例を示す図
【図８Ａ】図７に示される文字認識結果１４０ａからインデックステーブルを作成する処理の手順を示すフローチャート
【図８Ｂ】類似文字−確信度テーブル１８０１の例を示す図
【図９】確信度テーブル１５０の一例を示す図
【図１０】文書検索処理の手順を示すフローチャート
【図１１】従来技術によって、オリジナル文書中に存在する可能性のある複数の文字列をインデックス文字列とてし登録したインデックステーブル１９０１の一例を示す図
【符号の説明】
１  検索装置
１００  端末
１１０  ＣＰＵ
１２０  画像入力機器
１３０  文書画像データ
１４０  文字認識結果
１７０  ＨＤＤ
１８０  ワークメモリ
１９０  インデックステーブル
【図１】
0003669626.tif 000002
【図２】
0003669626.tif 000003
【図３】
0003669626.tif 000004
【図４】
0003669626.tif 000005
【図５Ａ】
0003669626.tif 000006
【図５Ｂ】
0003669626.tif 000007
【図６】
0003669626.tif 000008
【図７】
0003669626.tif 000009
【図８Ａ】
0003669626.tif 000010
【図８Ｂ】
0003669626.tif 000011
【図９】
0003669626.tif 000012
【図１０】
0003669626.tif 000013
【図１１】
0003669626.tif 000014