(57)【要約】【課題】文字認識率ではなく必要なキーワードのスコアを判定することによって、イメージデータからテキストを抽出する際のＯＣＲの認識精度の良し悪しを適切に判断すること。また、最適な解像度を決定し、処理時間の短縮、メモリの無駄を抑えること。【解決手段】複数のキーワードを含むキーワードリスト１０５を予め登録しておき、スキャナ部１１３で原稿からイメージデータを読み取り、ＯＣＲ部１０３でイメージデータに含まれている文字を認識し、キーワード処理部１０７でキーワードリスト１０５からキーワードを順次読み込み、キーワードのＯＣＲ認識結果への出現回数をカウントし、合計判定部１１０で各キーワードのカウント値に基づいて文字認識の精度が十分であるか判断し、文字認識の精度が十分でない場合には、解像度変更部１１１で解像度を変更して再度処理するようにコア部１１２が制御する構成を特徴とする。【選択図】図１
2006172055.tif 000002
【特許請求の範囲】
【請求項１】
複数のキーワードを含むキーワードリストを記憶する記憶手段と、
原稿からイメージデータを読み取る処理を制御する読み取り制御手段と、
前記読み取り手段により読み取られたイメージデータに含まれている文字を認識する文字認識処理を行う文字認識手段と、
前記キーワードリストからキーワードを順次読み込み、該読み込んだキーワードが前記認識手段の認識結果に出現している回数をカウントするキーワード処理を行うキーワード処理手段と、
前記キーワード処理手段によりカウントされた各キーワードのカウント値に基づいて、文字認識の精度が十分であるかどうかを判断処理する判断手段と、
を有することを特徴とする文字認識装置。
【請求項２】
前記判断手段により文字認識の精度が十分でないと判断された場合には、前記読み取り手段の解像度を変更して、再度、前記読み取り制御処理，前記文字認識処理，前記キーワード処理，前記判断処理を実行させる解像度変更制御手段を有することを特徴とする請求項１記載の文字認識装置。
【請求項３】
前記キーワード処理手段によりカウントされた各キーワードのカウント値の合計値を計算する計算手段を設け、
前記記憶手段は、所定の閾値を含む初期設定データをも記憶するものであり、
前記判断手段は、前記計算手段により計算された合計値が前記閾値を超えた場合に、文字認識の精度が十分であると判断することを特徴とする請求項１又は２記載の文字認識装置。
【請求項４】
前記キーワードリストは、複数のキーワードと各キーワードのスコア値を含むものであり、
前記計算手段は、前記キーワード処理手段によりカウントされた各キーワードのカウント値とスコア値を乗算した乗算値の合計値を計算することを特徴とする請求項３記載の文字認識装置。
【請求項５】
キーワード処理手段は、前記キーワードリストが前記認識手段の認識結果に「２」回以上出現する場合でも、「２」回目以降のカウントを無効にして、出現回数が「１」となるように制御することを特徴とする請求項１〜４のいずれかに記載の文字認識装置。
【請求項６】
前記キーワード処理手段は、他のキーワードに含まれるキーワードについては、出現回数のカウントを無効にすることを特徴とする請求項１〜５のいずれかに記載の文字認識装置。
【請求項７】
複数のキーワードを含むキーワードリストを記憶する記憶手段を有する文字認識装置における文字認識精度判定方法において、
原稿からイメージデータを読み取る処理を制御する読み取り処理制御ステップと、
該読み取られたイメージデータに含まれている文字を認識する文字認識処理を行う文字認識ステップと、
前記キーワードリストからキーワードを順次読み込み、該読み込んだキーワードが前記認識手段の認識結果に出現している回数をカウントするキーワード処理を行うキーワード処理ステップと、
該カウントされた各キーワードのカウント値に基づいて、文字認識の精度が十分であるかどうかを判断処理する判断ステップと、
を有することを特徴とする文字認識精度判定方法。
【請求項８】
請求項７に記載された文字認識精度判定方法を実行するためのプログラム。
【請求項９】
請求項７に記載された文字認識精度判定方法を実行するためのプログラムをコンピュータが読み取り可能に記憶した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、原稿から画像データを読み込み，該読み込んだ画像データをＯＣＲ（文字認識）する文字認識装置および文字認識精度判定方法およびプログラムおよび記録媒体に関する。
【背景技術】
【０００２】
原稿から読み込んだ画像データのＯＣＲ（文字認識）を実施した時に、その精度は必ずしも満足するものではない。これには、元々の原稿を読み込んだ場合の解像度等の設定が影響を与えている場合がある。
【０００３】
従来、特許文献１，特許文献２に示されるように、最適なＯＣＲ結果を得るために、元々の原稿を読み込むスキャナの解像度を自動的に変更する技術はあった。
【０００４】
特許文献１，特許文献２では、解像度が高ければ高いほど良いという前提に基づいて、スキャナでできるかぎり高い解像度でスキャンしたものからＯＣＲした結果を基準とし、他の解像度や設定あるいは他のスキャナで得られた画像に対するＯＣＲ結果の確からしさ（文字認識精度の判定）を以下の式等で計算する方式が利用されていた。
【０００５】
（確からしさ）＝（適当な解像度で認識した結果の文字数）÷（最高解像度で認識した結果の全文字数）
【特許文献１】特開２０００−３１６０７７号公報
【特許文献２】特開平１１−３４１１９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来のＯＣＲ結果の確からしさの判定（文字認識精度の判定）方法では、最高解像度での読み取りで誤りが発生している場合でも、正しいと認識され、認識精度が悪いかどうかが正確に判断できていないという問題点があった。
【０００７】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、複数のキーワードを含むキーワードリストを予め登録しておき、原稿からイメージデータを読み取り処理し、該読み取られたイメージデータに含まれている文字を認識する文字認識処理を行い、前記キーワードリストからキーワードを順次読み込み、該読み込んだキーワードが前記認識手段の認識結果に出現している回数をカウントするキーワード処理を行い、該カウントされた各キーワードのカウント値に基づいて、文字認識の精度が十分であるかどうかを判断処理し、文字認識の精度が十分でないと判断された場合には、解像度を変更して、再度、前記読み取り処理，前記文字認識処理，前記キーワード処理，前記判断処理を実行させることにより、文字認識率ではなく必要なキーワードのスコアを判定することによって、イメージデータからテキストを抽出する際のＯＣＲの認識精度の良し悪しを適切に判断し、精度よくＯＣＲ認識可能な解像度を自動調整し、原稿を最適な解像度でスキャンし、文字認識精度の向上や、処理時間の短縮、メモリの無駄を抑えることができる文字認識装置および文字認識精度判定方法およびプログラムおよび記録媒体を提供することである。
【課題を解決するための手段】
【０００８】
本発明は、複数のキーワードを含むキーワードリストを記憶する記憶手段と、原稿からイメージデータを読み取り処理する読み取り手段と、前記読み取り手段により読み取られたイメージデータに含まれている文字を認識する文字認識処理を行う文字認識手段と、前記キーワードリストからキーワードを順次読み込み、該読み込んだキーワードが前記認識手段の認識結果に出現している回数をカウントするキーワード処理を行うキーワード処理手段と、前記キーワード処理手段によりカウントされた各キーワードのカウント値に基づいて、文字認識の精度が十分であるかどうかを判断処理する判断手段とを有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、複数のキーワードを含むキーワードリストを予め登録しておき、原稿からイメージデータを読み取り処理し、該読み取られたイメージデータに含まれている文字を認識する文字認識処理を行い、前記キーワードリストからキーワードを順次読み込み、該読み込んだキーワードが前記認識手段の認識結果に出現している回数をカウントするキーワード処理を行い、該カウントされた各キーワードのカウント値に基づいて、文字認識の精度が十分であるかどうかを判断処理し、文字認識の精度が十分でないと判断された場合には、解像度を変更して、再度、前記読み取り処理，前記文字認識処理，前記キーワード処理，前記判断処理を実行させるので、文字認識率ではなく必要なキーワードのスコアを判定することによって、イメージデータからテキストを抽出する際のＯＣＲの認識精度の良し悪しを適切に判断することができる。
【００１０】
さらに、ＯＣＲの認識精度を向上することで、精度よくＯＣＲ認識可能な解像度を自動調整することができる。
【００１１】
従って、原稿を最適な解像度でスキャンし、文字認識精度の向上や、処理時間の短縮、メモリの無駄を抑えることができる優れた文字認識環境を構築することができる等の効果を奏する。
【発明を実施するための最良の形態】
【００１２】
以下、図面に従って、本発明の実施形態を詳細に説明する。
【００１３】
図１は、本発明の一実施形態を示す文字認識装置の機能構成の一例を説明する機能ブロック図である。
【００１４】
図１において、１００は文字認識装置で、スキャナ部１１３と通信可能に接続されており、スキャナ１１３により原稿から読み取られたイメージデータ１０２として取得可能である。１１２はコア部で、スキャナ部１１３の読み取り処理、及び、文字認識装置１００全体を統括制御するとともにスキャナ１１３を制御する。
【００１５】
１０１はデータ読み込み部で、後述する初期設定データ１０４とキーワードリスト１０５を後述する図２に示す外部記憶装置２０４からＲＡＭ２０２に読み込む。１０３はＯＣＲ部（文字認識部）で、イメージデータ１０２に含まれている文字を認識して結果テキスト１０６をＲＡＭ２０２内に生成する。
【００１６】
１０７はキーワード処理部で、ＲＡＭ２０２内に読み込まれたキーワード（登録した文字列）を１つずつ順次読み込み、キーワードが結果テキスト１０６に出現しているかどうかをチェックし、出現回数をカウントし、その結果を示す結果リスト１０８をＲＡＭ２０２内に生成する。
【００１７】
１０９はスコア計算部で、キーワード処理部１０７で生成された結果テキスト１０８内のキーワードに対してスコア合計した総スコアを計算し、ＲＡＭ２０２内に格納する。１１０は合計判断部で、スコア計算部１０９で計算された結果リスト１０８内の総スコアが、初期設定データ１０４内で予め設定されていた閾値を越えるかどうかで、ＯＣＲ部１０３のＯＣＲ精度が十分であるかどうかを判断する。
【００１８】
１１１は解像度変更部で、スキャナ部１１３で読み取る画像（イメージデータ）の解像度を変更する。
【００１９】
図２は、本発明の文字認識装置のハードウェア構成の一例を示すブロック図である。
【００２０】
図２において、１００は本発明の文字認識装置としてのコンピュータである。２０１はＣＰＵである。このＣＰＵ２０１は、ＲＯＭ２０３又は外部記憶装置２０４（例えば、ハードディスク，フレキシブルディスク，ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ等）に格納されたプログラムをＲＡＭ２０２上にロードして実行することにより、コンピュータ１００全体を制御する。ＲＡＭ２０２は、ＣＰＵ２０１の作業領域として使用される。
【００２１】
２０６は入力装置で、キーボードやマウス等のポインティングデバイス等に相当する。２０７は表示装置で、ＣＲＴ，ＬＣＤ等に相当する。
【００２２】
図１に示したコア部１１２，データ読み込み部１０１，ＯＣＲ部（文字認識部）１０３，キーワード処理部１０７，スコア計算部１０９，合計判断部１１０，解像度変更部１１１は、ＣＰＵ２０１が外部記憶装置２０４に記憶されるプログラムをＲＡＭ２０２上にロードして実行することにより実現される。
【００２３】
また、図１に示した初期設定データ１０４，キーワードリスト１０５，結果テキスト１０６等は外部記憶装置２０４上に記憶される。さらに、イメージデータ１０２，結果リスト１０８等は、ＲＡＭ２０２上に記憶される（外部記憶装置２０４であってもよい）。
【００２４】
図３は、図１に示したスキャナ部１１３で読み込まれてイメージ化される原稿の一例を示す模式図である。
【００２５】
図４は、図１に示したキーワードリスト１０５の一例を示す模式図である。
【００２６】
図４に示すように、キーワードリスト１０５は、番号，キーワード１００５，スコア（重み）１００４の組を複数含む。
【００２７】
以下、キーワードリスト１０５を作成するにあたっての留意点を述べる。
【００２８】
図４に示した例では現れやすさ、文字の認識しやすさ、文字列の長さに応じて各キーワードのスコアを設定していく。
【００２９】
例えば、番号「５４」の「築年数」と番号「４２」の「階」は不動産業界では現れやすさは変わらないものの、長い文字列の方が認識率は低い可能性があるので、「築年数」の方が高スコアとなる。また、「築年数」と番号「１４」の「洗濯機」について文字数は同じだが、不動産業界での出現確率、すなわち重要度が異なるので、重要な「築年数」の方が高スコアになる。また、「築年数」と番号「３１」の「アパート」については、不動産業界での現れやすさは変わらず、文字列の長さもほとんど変わらないが、「アパート」は字画が少なく単純な文字からできているので、「築年数」に比べて認識率が高いと考えられ、その場合は、より認識率の低い「築年数」を高スコアにする。
【００３０】
以上のような作成方法で、キーワードリストと各キーワードのスコアを作成し、外部記憶装置２０４に予め格納しておく。
【００３１】
なお、図４で示した例では、スキャナ部１１３で読み込んでＯＣＲ認識する原稿を、図３に示したように、不動産カタログとする場合に対応させているため、キーワードが「徒歩」「バス」「電車」「駅」「最寄駅」・・・「家賃」・・・「ＬＤＫ」・・・となっているが、このキーワードは、ＯＣＲ認識する原稿の種別に応じて用意するものである。
【００３２】
例えば、科学技術分野に関する原稿をＯＣＲ認識する場合には、科学技術用語をキーワードとして設定する。
【００３３】
また、このキーワードリスト１０５は、ユーザがそれぞれ個人的に作成してもよいし、メーカが原稿の種別毎に作成してユーザに提供してもよい。
【００３４】
さらに、このキーワードリストのデータフォーマットは、ＣＳＶ等であってもよいし、その他のフォーマットであってもよい。
【００３５】
図５は、図１に示した初期設定データ１０４の一例を示す模式図である。
【００３６】
図５において、３０１は閾値で、図１に示した合計判断部１１０が合計判定に用いる閾値に対応する。３０２はスキャン繰り返し回数上限値で、図１に示した合計判断部１１０でＯＣＲ精度が十分でないと判断した場合に繰り返すスキャン繰り返し回数の上限に対応する。３０３は解像度上限値で、図１に示した合計判断部１１０でＯＣＲ精度が十分でないと判断した場合に解像度を上げて再スキャンする際の解像度の上限に対応する。
【００３７】
３０４はスタートの解像度で、図１に示したスキャナ部１１３でスキャンする際の最初の解像度に対応する。３０５は解像度変更値で、図１に示した合計判断部１１０でＯＣＲ精度が十分でないと判断した場合に解像度を上げて再スキャンする際の解像度の変更値に対応する。
【００３８】
３０６は重複加算なしオプションで、キーワード処理部１０７がスコア計算する再にキーワードの重複加算を行うか否かを設定するものである（詳細は後述する）。
【００３９】
３０７は長いキーワードオプションで、図１に示したキーワード処理部１０７がスコア計算する別のキーワードを含む長いキーワードを２重にカウントするか否かを設定するものである。例えば、図４に示したキーワード１００２の「ＬＤＫ」は、キーワード１００１，１００３の「ＤＫ」「Ｋ」を含むため、「ＤＫ」「Ｋ」をカウントする際にもカウントされてしまう。そのカウントを無効にするか否かの設定を行うためのものである（詳細は後述する）。
【００４０】
３０８は短いキーワードオプションで、図１に示したキーワード処理部１０７がスコア計算する別のキーワードに含まれる短いキーワードを２重にカウントするか否かを設定するものである。例えば、図４に示したキーワード１００１，１００３の「ＤＫ」「Ｋ」は、キーワード１００２，１００１の「ＬＤＫ」「ＤＫ」に含まれるため、「ＬＤＫ」「ＤＫ」をカウントする際にもカウントされてしまう。そのカウントを無効にするか否かの設定を行うためのものである（詳細は後述する）。
【００４１】
図６は、図１に示した結果リスト１０８の一例を示す模式図である。
【００４２】
図６に示すように、結果リスト１０８は、キーワード１２０２，スコア１２０１，出現回数１２０３の組を複数含む。
【００４３】
なお、図６の例は、図３に示した原稿例と図４に示したキーワードリスト例を用いてキーワード処理した場合の結果リストに対応する。
【００４４】
図７は、図１に示したスコア計算部１０９のスコア合計方法の一例を示す模式図である。
【００４５】
図７に示す合計式において、変数ｉはｔ，ｆの添え字とする。そして、変数ｔｉは各キーワードのスコアを示す。また、変数ｆｉは各キーワードの出現回数を示す（ただし、重複加算なしオプションが有効な場合は常に、ｆｉ=１とする）。さらに、変数Ｔは、結果リスト１０８にあるキーワードの個数を示す。
【００４６】
即ち、スコア計算部１０９は、変数ｉを初期値「１」〜「Ｔ」まで増加させ、ｉ毎のスコアｔｉと出現回数ｆｉの積値を加算し、スコア合計を算出する。
【００４７】
図８は、図６に示した結果リスト例と図７に示したスコア合計方法を用いて算出したスコア合計結果の一例を示す図である。
【００４８】
この場合、スコア合計「６４」が図５に示した閾値「３０」を超えているので、合計判断部１１０で、ＯＣＲ精度が十分であると判断される。
【００４９】
以下、図９〜図１３を参照して、本発明の文字認識装置における原稿を読み取ってテキストを抽出する際のＯＣＲの認識精度の良し悪しを判断する制御処理動作について説明する。
【００５０】
図９は、本発明の文字認識装置における第１の制御処理手順の一例を示すフローチャートであり、原稿を読み取ってテキストを抽出する際のＯＣＲの認識精度の良し悪しを判断する制御処理全体を示す。なお、このフローチャートの処理は、図２に示したＣＰＵ２０１が外部記憶装置２０４に格納されたプログラムをＲＡＭ２０２にロードして実行することにより実現される。また、図中、Ｓ４０１〜Ｓ４０９は各ステップを示す。
【００５１】
まず、ステップＳ４０１において、データ読み込み部１０１は、外部記憶装置２０４から初期設定データ１０４をＲＡＭ２０２上に読み込む。次に、ステップＳ４０２において、データ読み込み部１０１は、外部記憶装置２０４からキーワードリスト１０５をＲＡＭ２０２上に読み込む。
【００５２】
なお、初期設定データ１０４，キーワードリスト１０５は、ステップＳ４０１以前の図示しないステップにより、外部記憶装置２０４に記憶されているものとする。
【００５３】
次に、ステップＳ４０３において、コア部１１２は、スキャナ部１１３の読み取り解像度を、初期設定データ１０４内のスタート解像度３０４が示す解像度に設定し、ＲＡＭ２０２内にスキャン繰り返し回数を「１」に保持し、スキャナ部１１３を用いて、提供された原稿をスキャンしてイメージデータ（画像データ）１０２をＲＡＭ２０２上に取り込む。
【００５４】
次に、ステップＳ４０４において、ＯＣＲ部１０３は、コア部１１２から転送されたイメージデータ１０２に対して、文字認識を行い、該認識された文字をテキスト文字列として抽出しＲＡＭ２０２上に結果テキスト１０６として格納する。
【００５５】
次に、ステップＳ４０５において、キーワード処理部１０７は、キーワードの抽出とスコア計算処理（詳細は図１０に示す）を行い、結果リスト１０８を生成しＲＡＭ２０２上に格納するとともに、図７に示したスコア合計方法によりスコア合計を計算し、該計算結果をＲＡＭ２０２上に格納する。
【００５６】
次に、ステップＳ４０６において、合計判断部１１０は、ステップＳ４０５で計算されたスコア合計値が図５の閾値３０１より大きいか否かを判定し、スコア合計値が閾値３０１より大きいと判断した場合には、ＯＣＲの精度が十分である（最適なＯＣＲ結果を得られた）と判断して、処理を終了する。
【００５７】
一方、ステップＳ４０６で、合計判断部１１０が、ステップＳ４０５で計算されたスコア合計値が図５の閾値３０１より大きくないと判断した場合には、ＯＣＲの精度が十分でない（満足するＯＣＲ結果を得られていない）と判断して、ステップＳ４０７に処理を進める。即ち、満足するＯＣＲ精度が得られた場合、１回のスキャン処理で完了するが、満足する精度が得られない場合は、解像度を変更して処理を繰り返すことになる。
【００５８】
次に、ステップＳ４０７において、コア部１１２は、ＲＡＭ２０２内に保持しているスキャン繰り返し回数を「１」インクリメントし、ステップＳ４０８において、コア部１１２は、解像度変更部１１１を用いて、スキャナ部１１３の読み取り解像度を、初期設定データ１０４内の解像度変更値３０５だけ上に変更設定し、ステップＳ４０９に処理を進める。
【００５９】
ステップＳ４０９において、コア部１１２は、ステップＳ４０７で設定したスキャン回数が初期設定データ１０４内のスキャン繰り返し回数上限値３０２を超えている、又は、ステップＳ４０８で設定したスキャナ部１１３の読み取り解像度が初期設定データ１０４内の解像度上限値３０３を超えているか否かを判定し、スキャン繰り返し回数上限値３０２、又は、解像度上限値３０３を超えていると判断した場合には、そのまま処理を終了する。この際、コア部１１２は、失敗終了として、ＯＣＲの精度が十分でない（満足するＯＣＲ結果を得られていない）旨のメッセージを表示装置２０７上に表示するように制御する。
【００６０】
一方、ステップＳ４０９で、コア部１１２が、ステップＳ４０７で設定したスキャン回数が初期設定データ１０４内のスキャン繰り返し回数上限値３０２を超えていない、且つ、ステップＳ４０８で設定したスキャナ部１１３の読み取り解像度が初期設定データ１０４内の解像度上限値３０３を超えていないと判断した場合には、コア部１１２は、ステップＳ４０３に処理を戻し、再度スキャン処理を行う。
【００６１】
図１０は、本発明の文字認識装置における第２の制御処理手順の一例を示すフローチャートであり、図９のステップＳ４０４に示したキーワード抽出，スコア計算処理に対応する。なお、このフローチャートの処理は、図２に示したＣＰＵ２０１が外部記憶装置２０４に格納されたプログラムをＲＡＭ２０２にロードして実行することにより実現される。また、図中、Ｓ５０１〜Ｓ５０９は各ステップを示す。
【００６２】
まず、ステップＳ５０１において、キーワード処理部１０７は、図４に示したキーワードリスト１０５からキーワードを所定の順序に従って１つ読み込む処理を行う。
【００６３】
次に、ステップＳ５０２において、キーワード処理部１０７は、ステップＳ５０１の読み込み処理でキーワードが読み込めたか否かを判定し、キーワードを読み込めなかったと判断した場合には、ステップＳ５０９に処理を進め、一方、キーワードを読み込めたと判断した場合には、ステップＳ５０３に処理を進める。
【００６４】
ステップＳ５０３において、キーワード処理部１０７は、長いキーワードチェックオプション処理（詳細は、図１１に示す）を行い、ステップＳ５０４に処理を進める。以下、図１１を参照して、ステップＳ５０３の長いキーワードチェックオプション処理について説明する。
【００６５】
図１１は、本発明の文字認識装置における第３の制御処理手順の一例を示すフローチャートであり、図１０のステップＳ５０３に示した長いキーワードチェックオプション処理に対応する。なお、このフローチャートの処理は、図２に示したＣＰＵ２０１が外部記憶装置２０４に格納されたプログラムをＲＡＭ２０２にロードして実行することにより実現される。また、図中、Ｓ６００〜Ｓ６０２は各ステップを示す。
【００６６】
ステップＳ６００において、キーワード処理部１０７は、初期設定データ１０４内の長いキーワードオプション３０７がＯＮ（「１」）であるか否かを判定し、ＯＮ（「１」）でないと判断した場合には、そのまま、図１０のステップＳ５０４に処理を進め、着目中のキーワードの出現回数のカウントを行う。
【００６７】
一方、ステップＳ６００で、キーワード処理部１０７が、初期設定データ１０４内の長いキーワードオプション３０７がＯＮ（「１」）であると判断した場合には、ステップＳ６０１において、キーワード処理部１０７は、結果リスト１０８を参照し、ステップＳ５０１で読み込んだ着目中（カレント）のキーワードを文字列の一部として含む（着目中のキーワードより長い）別のキーワードが、既に結果リスト１０８に存在しているかチェック（検索）する。
【００６８】
次に、ステップＳ６０２において、キーワード処理部１０７は、着目中（カレント）のキーワードを文字列の一部として含む（着目中のキーワードより長い）別のキーワードが、既に結果リスト１０８に存在しているか否かを判定し、存在していると判断した場合には、そのまま、図１０のステップＳ５０１に処理を戻し、着目中のキーワードの出現回数はカウントせず、次のキーワードに処理を移す。
【００６９】
一方、ステップＳ６０２で、キーワード処理部１０７が、着目中（カレント）のキーワードを文字列の一部として含む（着目中のキーワードより長い）別のキーワードが、既に結果リスト１０８に存在していないと判断した場合には、そのまま、図１０のステップＳ５０４に処理を進め、着目中のキーワードの出現回数のカウントを行う。
【００７０】
即ち、長いキーワードオプションがＯＮに設定されている場合には、キーワード処理部１０７、他のキーワードに含まれるキーワードについては、出現回数のカウントを無効にするように制御する。
【００７１】
以下、図１１に示した長いキーワードチェックオプション処理を具体例を用いて説明する。
【００７２】
例えば、着目中のキーワードを図４に示したキーワード１００１の「ＤＫ」とすると、図１１のステップＳ６０１において、キーワード１００１の「ＤＫ」をキーワードの一部として含む（キーワード１００１「ＤＫ」より長い）別のキーワードが図６に示した結果リスト１０８内に存在するかチェックする。
【００７３】
この場合、キーワード１００１の「ＤＫ」をキーワードの一部として含む、キーワード１００１「ＤＫ」より長い別のキーワードである「ＬＤＫ」（キーワード１００２）が既に存在することとなり、ステップＳ６０２で、ＹＥＳと判断され、図１０のステップＳ５０１に処理が移行し、ステップＳ５０４に示すキーワード１００１「ＤＫ」の出現回数はカウントされず、次のキーワードに処理を移すこととなる。
【００７４】
以下、図１０のフローチャートの説明に戻る。
【００７５】
ステップＳ５０４において、キーワード処理部１０７は、ＯＣＲ済みテキスト（結果テキスト１０６）に、着目中のキーワードが含まれているかチェックし、出現回数をカウントし、カウント結果をＲＡＭ２０２に格納する。
【００７６】
次に、ステップＳ５０５において、キーワード処理部１０７は、ＯＣＲ済みテキスト（結果テキスト１０６）に、着目中のキーワードが含まれていた（あった）か否かを判定し、含まれていなかった（なかった）と判断した場合には、ステップＳ５０１に処理を移行させ、次のキーワードに処理を移す。
【００７７】
一方、ステップＳ５０５で、キーワード処理部１０７が、ＯＣＲ済みテキスト（結果テキスト１０６）に、着目中のキーワードが含まれていた（あった）と判断した場合には、ステップＳ５０６の重複加算なしオプション処理を実行する。以下、図１２を参照して、ステップＳ５０６の重複加算なしオプション処理について説明する。
【００７８】
図１２は、本発明の文字認識装置における第４の制御処理手順の一例を示すフローチャートであり、図１０のステップＳ５０６に示した重複加算なしオプション処理に対応する。なお、このフローチャートの処理は、図２に示したＣＰＵ２０１が外部記憶装置２０４に格納されたプログラムをＲＡＭ２０２にロードして実行することにより実現される。また、図中、Ｓ７０１，Ｓ７０２は各ステップを示す。
【００７９】
ステップＳ７０１において、キーワード処理部１０７は、初期設定データ１０４内の重複加算オプション３０６がＯＮ（「１」）であるか否かを判定し、ＯＮ（「１」）でないと判断した場合には、そのまま、図１０のステップＳ５０７に処理を戻し、短いキーワードチェックオプションを実行する。
【００８０】
一方、ステップＳ７０１で、キーワード処理部１０７が、初期設定データ１０４内の重複加算オプション３０６がＯＮ（「１」）であると判断した場合には、ＲＡＭ２０２に格納された出現回数のカウント結果を「１」に変更し、図１０のステップＳ５０７に処理を戻し、短いキーワードチェックオプションを実行する。
【００８１】
即ち、重複加算なしオプションがＯＮの場合には、キーワード処理部１０７は、着目中のキーワードが結果テキスト１０６に「２」回以上出現した場合でも、「２」回目以降のカウントを無効にして、出現回数が「１」となるようにカウント制御する。
【００８２】
次に、図１０のステップＳ５０７において、キーワード処理部１０７は、短いキーワードチェックオプションを実行する。以下、図１３を参照して、ステップＳ５０７の短いキーワードチェックオプション処理について説明する。
【００８３】
図１３は、本発明の文字認識装置における第５の制御処理手順の一例を示すフローチャートであり、図１０のステップＳ５０７に示した短いキーワードチェックオプション処理に対応する。なお、このフローチャートの処理は、図２に示したＣＰＵ２０１が外部記憶装置２０４に格納されたプログラムをＲＡＭ２０２にロードして実行することにより実現される。また、図中、Ｓ８００〜Ｓ８０３は各ステップを示す。
【００８４】
ステップＳ８００において、キーワード処理部１０７は、初期設定データ１０４内の短いキーワードオプション３０８がＯＮ（「１」）であるか否かを判定し、ＯＮ（「１」）でないと判断した場合には、そのまま、図１０のステップＳ５０８に処理を進め、着目中のキーワードの出現回数等を結果リスト１０８に追加する。
【００８５】
一方、ステップＳ８００で、キーワード処理部１０７が、初期設定データ１０４内の短いキーワードオプション３０８がＯＮ（「１」）であると判断した場合には、ステップＳ８０１において、キーワード処理部１０７は、結果リスト１０８を参照し、着目中のキーワード内の文字列に一部として含まれる（着目中のキーワードより短い）別のキーワードが、既に結果リスト１０８に存在しているかチェック（検索）する。
【００８６】
次に、ステップＳ８０２において、キーワード処理部１０７は、着目中のキーワード内の文字列に一部として含まれる（着目中のキーワードより短い）別のキーワードが、既に結果リスト１０８に存在しているか否かを判定し、存在していないと判断した場合には、そのまま、図１０のステップＳ５０８に処理を進め、着目中のキーワードの出現回数等を結果リスト１０８に追加する。
【００８７】
一方、ステップＳ８０２で、キーワード処理部１０７が、着目中のキーワード内の文字列に一部として含まれる（着目中のキーワードより短い）別のキーワードが、既に結果リスト１０８に存在していると判断した場合には、ステップＳ８０３に処理を進める。
【００８８】
ステップＳ８０３において、キーワード処理部１０７は、結果リスト１０８から、前記着目中のキーワード内の文字列に一部として含まれる（着目中のキーワードより短い）別のキーワードに関するデータ（キーワード１２０２，スコア１２０１，出現回数１２０３）を抹消し、図１０のステップＳ５０８に処理を進め、着目中のキーワードの出現回数等を結果リスト１０８に追加する。
【００８９】
即ち、短いキーワードオプションがＯＮに設定されている場合には、キーワード処理部１０７、他のキーワードに含まれるキーワードについては、出現回数のカウントを無効にするように制御する。
【００９０】
以下、図１３に示した短いキーワードチェックオプション処理を具体例を用いて説明する。
【００９１】
例えば、着目中のキーワードを図４に示したキーワード１００１の「ＤＫ」とすると、図１３のステップＳ８０１において、キーワード１００１の「ＤＫ」内の文字列に一部として含まれる（キーワード１００１「ＤＫ」より短い）別のキーワードが、既に結果リスト１０８に存在するかチェックする。
【００９２】
この場合、キーワード１００１の「ＤＫ」内の文字列に一部として含まれる（キーワード１００１「ＤＫ」より短い）別のキーワードである「Ｋ」（キーワード１００３）が既に存在しないこととなり、ステップＳ８０２で、ＮＯと判断され、そのまま、図１０のステップＳ５０８に処理を進め、着目中のキーワードの出現回数等を結果リスト１０８に追加することとなる。
また、「ＤＫ」の検索で結果リストに結果が入っている後に、「ＬＤＫ」というキーワードが出てきた場合は、長いキーワードチェックオプションのみではヒットしない。このようなケースには、短いキーワードチェックオプションと組合せて利用することになる。
【００９３】
以下、図１０のフローチャートの説明に戻る。
【００９４】
ステップＳ５０８において、キーワード処理部１０７は、着目中のキーワードのキーワード，スコア，出現回数を、図６に示した結果リストにキーワード２０２，スコア１２０１，出現回数１２０３として追加登録し、ステップＳ５０１に処理を移行させ、次のキーワードに処理を移す。
【００９５】
なお、本実施形態では、スコア計算部１０９により、結果リスト１０８からスコア合計を計算し、該スコア合計が初期設定データ１０４内の閾値３０１を超えたか否かで、ＯＣＲ精度が満足する精度であるか否かを判定する構成について説明したが、別の判断基準を設定するように構成してもよい。例えば、出現するキーワードの数を閾値に設定し、出現するキーワード数が初期設定データ１０４内の閾値３０１を超えたか否かでＯＣＲ精度が満足する精度であるか否かを判定する構成、また、最重要キーワード（これさえ認識できれば満足する精度を得られるというキーワード）を設定しておき、該最重要キーワードが認識されたか否かでＯＣＲ精度が満足する精度であるか否かを判定する構成等でもよい。
【００９６】
また、本実施形態では、初期設定データ１０４内に、重複加算なしオプション３０６，長いキーワードオプション３０７，短いキーワードオプション３０８を設定し、図１２のステップＳ７０１，図１１のステップＳ６００，図１３のステップＳ８００で、それぞれＯＮ／ＯＦＦを判定し、該判定結果に応じて、図１２のステップＳ７０２，図１１のステップＳ６０１，Ｓ６０２，図１３のステップＳ８０１〜Ｓ８０３の処理を実行する構成について説明したが、上述のようなオプション判定を行うことなく、図１２のステップＳ７０２，図１１のステップＳ６０１，Ｓ６０２，図１３のステップＳ８０１〜Ｓ８０３の処理を必ず実行するように構成してもよい。
【００９７】
さらに、上記実施形態では、キーワード処理部１０７が、外部記憶装置２０４に記憶される固定のキーワードリスト１０５を用いてキーワード処理する構成について説明したが、外部記憶装置２０４に複数種類のキーワードリスト１０５を記憶しておき、キーワード処理より前に、原稿に応じて、ユーザにキーワードリストを選択させ、該選択されたキーワードリストに基づいて、キーワード処理部１０７がキーワード処理するように構成してもよい。
【００９８】
これにより、原稿の分野毎にキーワードリストを切り替えて、精度のよい最適解像度でのＯＣＲ認識処理を施すことができる。
【００９９】
また、複数分野の原稿が混在する原稿束をＯＣＲ処理する際には、複数のキーワードリストを同時選択し、該選択された複数のキーワードリストを組み合わせて１つのキーワードリストのように使用して、キーワード処理部１０７がキーワード処理するように構成してもよい。
【０１００】
これにより、複数分野の原稿が混在する原稿束であっても、精度のよい最適解像度でのＯＣＲ認識処理を施すことができる。
【０１０１】
また、本実施形態では、図１，図２に示したように、コンピュータ等で構成される文字認識装置とスキャナとを接続して構成する場合について説明したが、複合機（スキャナ部，プリンタ部等を有する）により構成してもよい。
【０１０２】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【０１０３】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１０４】
なお、上記実施形態内の各変形例を組み合わせた構成も全て本発明に含まれるものである。
【０１０５】
以上説明したように、予め（使用目的に応じて）指定したキーワードリストに列挙されているキーワード（各キーワードには、その分野のカタログの現れやすさに応じて重み付けがされている），ＯＣＲ認識精度を判定するための閾値を準備しておき、原稿から読み取られたイメージデータからＯＣＲでテキストを抽出し、前記キーワードを順次着目し、該着目したキーワードがＯＣＲ結果テキスト内に存在した場合、そのキーワードを結果リストに追加し、各スコアの合計を算出し、該合計値が予め設定されている閾値に達していなければ解像度を上げて、再読み込みし、一方、合計値が閾値を上回れば最適な文字認識結果が得られたと判断するように構成し、このようにキーワードとスコアを用いて、精度よくＯＣＲ認識可能な解像度を自動調整する文字認識装置を提供することができる。
【０１０６】
このように、文字認識率ではなく必要なキーワードのスコアを判定することにより、原稿を最適な解像度でスキャンし、文字認識精度の向上や、処理時間の短縮、メモリの無駄を抑える等の効果を奏する。
【０１０７】
以下、図１４に示すメモリマップを参照して本発明に係る文字認識装置で読み取り可能なデータ処理プログラムの構成について説明する。
【０１０８】
図１４は、本発明に係る文字認識装置で読み取り可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明するメモリマップ図である。
【０１０９】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１１０】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１１１】
本実施形態における図９，図１０，図１１，図１２，図１３に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１１２】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１１３】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０１１４】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【０１１５】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１６】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１７】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１１８】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【図面の簡単な説明】
【０１１９】
【図１】本発明の一実施形態を示す文字認識装置の機能構成の一例を説明する機能ブロック図である。
【図２】本発明の文字認識装置のハードウェア構成の一例を示すブロック図である。
【図３】図１に示したスキャナ部で読み込まれてイメージ化される原稿の一例を示す模式図である。
【図４】図１に示した初期設定データの一例を示す模式図である。
【図５】図１に示した初期設定データの一例を示す模式図である。
【図６】図１に示した結果リストの一例を示す模式図である。
【図７】図１に示したスコア計算部のスコア合計方法の一例を示す模式図である。
【図８】図６に示した結果リスト例と図７に示したスコア合計方法を用いて算出したスコア合計結果の一例を示す図である。
【図９】本発明の文字認識装置における第１の制御処理手順の一例を示すフローチャートである。
【図１０】本発明の文字認識装置における第２の制御処理手順の一例を示すフローチャートである。
【図１１】本発明の文字認識装置における第３の制御処理手順の一例を示すフローチャートである。
【図１２】本発明の文字認識装置における第４の制御処理手順の一例を示すフローチャートである。
【図１３】本発明の文字認識装置における第５の制御処理手順の一例を示すフローチャートである。
【図１４】本発明に係る文字認識装置で読み取り可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明するメモリマップ図である。
【符号の説明】
【０１２０】
１００  文字認識装置
１０１  データ読み込み部
１０２  イメージデータ
１０３  ＯＣＲ部
１０４  初期設定データ
１０５  キーワードリスト
１０６  結果テキスト
１０７  キーワード処理部
１０８  結果リスト
１０９  スコア計算部
１１０  合計判断部
１１１  解像度変更部
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  ＲＯＭ
２０４  外部記憶装置
２０６  入力装置
２０７  表示装置
２０９  通信インターフェース
【図１】
2006172055.tif 000003
【図２】
2006172055.tif 000004
【図３】
2006172055.tif 000005
【図４】
2006172055.tif 000006
【図５】
2006172055.tif 000007
【図６】
2006172055.tif 000008
【図７】
2006172055.tif 000009
【図８】
2006172055.tif 000010
【図９】
2006172055.tif 000011
【図１０】
2006172055.tif 000012
【図１１】
2006172055.tif 000013
【図１２】
2006172055.tif 000014
【図１３】
2006172055.tif 000015
【図１４】
2006172055.tif 000016