(57)【特許請求の範囲】
【請求項１】
原稿を画像情報として入力して文字の認識を行なう文字認識処理によって得られた文字列を修正する認識文字列修正方法であって、
（ａ）作業者の操作指令に基づいて、前記文字列の中から任意の文字を選択するステップと、
（ｂ）前記選択された任意の文字を、作業者の操作指令に従う所定の文字に置換するステップと、
（ｃ）前記文字列の中から、前記ステップ（ａ）により選択された任意の文字と一致もしくは類似する文字を自動修正対象文字として順に選択するステップと、
（ｄ）前記ステップ（ｃ）により選択された自動修正対象文字を、前記所定の文字に置換するステップと、
（ｅ）前記文字列における前記ステップ（ｄ）により置換された前記所定の文字の前後についての構文を解析するステップと、
（ｆ）前記ステップ（ｅ）による構文の解析の結果に基づいて、前記ステップ（ｄ）による置換の結果を正当なものと確定するステップと
を備える認識文字列修正方法。
【請求項２】
請求項１に記載の認識文字列修正方法であって、
（ｇ）前記ステップ（ｆ）による構文の解析の結果が正しい構文でないことを示すものであるとき、前記自動修正対象文字を前記ステップ（ｄ）による置換がなされる前の状態に戻すステップ
を備える認識文字列修正方法。
【請求項３】
請求項１または２に記載の認識文字列修正方法であって、
（ｈ）前記ステップ（ｆ）によって正当なものと確定された置換の文字を、他の文字に対して識別可能に表示するステップ
を備える認識文字列修正方法。
【請求項４】
請求項１または２に記載の認識文字列修正方法であって、
前記ステップ（ｆ）は、
（ｆ−１）前記ステップ（ｆ）による構文の解析の結果が正しい構文であることを示すものであるとき、前記ステップ（ｄ）による置換の結果を受け入れるかを、作業者に問い合わせるステップと、
（ｆ−２）前記ステップ（ｆ−１）の問い合わせに対する作業者からの操作指令に基づいて前記置換の結果を受け入れると判定されたとき、前記ステップ（ｄ）による置換の結果を正当なものと確定するステップと
を備える認識文字列修正方法。
【請求項５】
前記ステップ（ａ）により選択される任意の文字が、連続する複数の文字から構成されるとき、前記ステップ（ｂ）による置換は、前記連続する複数の文字を一つの所定の文字に置換する構成である請求項１ないし４のいずれかに記載の認識文字列修正方法。
【請求項６】
前記ステップ（ｂ）による置換は、１文字を複数の文字に置換する構成である請求項１ないし４のいずれかに記載の認識文字列修正方法。
【請求項７】
原稿を画像情報として入力して文字の認識を行なう文字認識処理によって得られた文字列を修正する認識文字列修正装置であって、
作業者の操作指令に基づいて、前記文字列の中から任意の文字を選択する手動修正対象文字選択手段と、
前記選択された任意の文字を、作業者の操作指令に従う所定の文字に置換する手動修正手段と、
前記文字列の中から、前記手動修正対象文字選択手段により選択された任意の文字と一致もしくは類似する文字を自動修正対象文字として順に選択する自動修正対象文字選択手段と、
前記自動修正対象文字選択手段により選択された自動修正対象文字を、前記所定の文字に置換する自動修正手段と、
前記文字列における前記自動修正手段により置換された前記所定の文字の前後についての構文を解析する構文解析手段と、
前記構文解析手段による構文の解析の結果に基づいて、前記自動修正手段による置換の結果を正当なものと確定する修正結果確定手段と
を備える認識文字列修正装置。
【請求項８】
請求項７に記載の認識文字列修正装置であって、
前記修正結果確定手段による構文の解析の結果が正しい構文でないことを示すものであるとき、前記自動修正対象文字を前記自動修正手段による置換がなされる前の状態に戻す手段
を備える認識文字列修正装置。
【請求項９】
請求項７または８に記載の認識文字列修正装置であって、
前記修正結果確定手段は、
前記置換結果確定手段による構文の解析の結果が正しい構文であることを示すものであるとき、前記自動修正手段による置換の結果を受け入れるかを、作業者に問い合わせる手段と、
前期問い合わせに対する作業者からの操作指令に基づいて前記置換の結果を受け入れると判定されたとき、前記自動修正手段による置換の結果を正当なものと確定する手段と
を備える認識文字列修正装置。
【請求項１０】
原稿を画像情報として入力して文字の認識を行なう文字認識処理によって得られた文字列を修正する処理を実行するコンピュータプログラムであって、
（ａ）作業者の操作指令に基づいて、前記文字列の中から任意の文字を選択する機能と、
（ｂ）前記選択された任意の文字を、作業者の操作指令に従う所定の文字に置換する機能と、
（ｃ）前記文字列の中から、前記機能（ａ）により選択された任意の文字と一致もしくは類似する文字を自動修正対象文字として順に選択する機能と、
（ｄ）前記機能（ｃ）により選択された自動修正対象文字を、前記所定の文字に置換する機能と、
（ｅ）前記文字列における前記機能（ｄ）により置換された前記所定の文字の前後についての構文を解析する機能と、
（ｆ）前記機能（ｅ）による構文の解析の結果に基づいて、前記機能（ｄ）による置換の結果を正当なものと確定する機能と
を、コンピュータに実現させるためのコンピュータプログラム。
【請求項１１】
請求項１０に記載のコンピュータプログラムであって、
（ｇ）前記機能（ｆ）による構文の解析の結果が正しい構文でないことを示すものであるとき、前記自動修正対象文字を前記機能（ｄ）による置換がなされる前の状態に戻す機能
を、コンピュータに実現させるためのコンピュータプログラム。
【請求項１２】
請求項１０または１１に記載のコンピュータプログラムであって、
（ｈ）前記機能（ｆ）によって正当なものと確定された置換の文字を、他の文字に対して識別可能に表示する機能
を、コンピュータに実現させるためのコンピュータプログラム。
【請求項１３】
請求項１０または１１に記載のコンピュータプログラムであって、
前記機能（ｆ）は、
（ｆ−１）前記機能（ｆ）による構文の解析の結果が正しい構文であることを示すものであるとき、前記機能（ｄ）による置換の結果を受け入れるかを、作業者に問い合わせる機能と、
（ｆ−２）前記機能（ｆ−１）の問い合わせに対する作業者からの操作指令に基づいて前記置換の結果を受け入れると判定されたとき、前記機能（ｄ）による置換の結果を正当なものと確定する機能と
を備えるコンピュータプログラム。
【請求項１４】
前記機能（ａ）により選択される任意の文字が、連続する複数の文字から構成されるとき、前記機能（ｂ）による置換は、前記連続する複数の文字を一つの所定の文字に置換する構成である請求項１０ないし１３のいずれかに記載のコンピュータプログラム。
【請求項１５】
前記機能（ｂ）による置換は、１文字を複数の文字に置換する構成である請求項１０ないし１３のいずれかに記載のコンピュータプログラム。
【請求項１６】
請求項１０ないし１５のいずれかに記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、原稿を画像情報として入力して文字の認識を行なう文字認識処理によって得られた文字列を修正する技術に関する。
【０００２】
【従来の技術】
文字認識処理を行なう文字認識装置においては、予め用意しておいた文字辞書の各文字と入力文字とを比較し、一致度の最も高い文字を認識結果としている。しかし、この認識結果は必ずしも正しいとは限らないので、その後、認識結果としての文字列をディスプレイに表示し、誤って認識された文字を画面上で修正可能な構成となっていた。つまり、画面上で修正対象文字が指示されると、認識時に一致度が比較的高かった複数の文字を次の順位の候補文字として表示し、そのなかに正解文字があればその文字を選択させ、なければ、例えば、かな漢字変換方式などによりキーボードから正解文字を入力させる。
【０００３】
ところで、上記文字認識装置では、同じ文字を複数箇所で誤って認識することが多々ある。こうした場合に、一文字一文字、上記の修正作業を行っていては、作業性が悪く、誤り修正に要する時間は長時間に及んでしまう。このために、１つの誤認識文字を修正する際に、その誤認識文字と一致した画像情報も探し出し、一度に複数の箇所を修正できる一括修正機能を搭載した文字認識装置が提案されている。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記従来の技術では、画像情報として読み取った文字が、上記修正対象文字と類似する文字である場合、この類似する文字も一括して修正されることになり、正しく認識された文字まで誤って変更されることがあった。この結果、文字修正の精度が低下するという問題があった。
【０００５】
この発明は、上記問題に鑑みてなされたもので、認識結果の一括修正を可能としながらも、文字修正の精度の向上を図ることを目的としている。
【０００６】
【課題を解決するための手段およびその作用・効果】
前述した課題の少なくとも一部を解決するための手段として、以下に示す構成をとった。
【０００７】
この発明の認識文字列修正方法は、
原稿を画像情報として入力して文字の認識を行なう文字認識処理によって得られた文字列を修正する認識文字列修正方法であって、
（ａ）作業者の操作指令に基づいて、前記文字列の中から任意の文字を選択するステップと、
（ｂ）前記選択された任意の文字を、作業者の操作指令に従う所定の文字に置換するステップと、
（ｃ）前記文字列の中から、前記ステップ（ａ）により選択された任意の文字と一致もしくは類似する文字を自動修正対象文字として順に選択するステップと、
（ｄ）前記ステップ（ｃ）により選択された自動修正対象文字を、前記所定の文字に置換するステップと、
（ｅ）前記文字列における前記ステップ（ｄ）により置換された前記所定の文字の前後についての構文を解析するステップと、
（ｆ）前記ステップ（ｅ）による構文の解析の結果に基づいて、前記ステップ（ｄ）による置換の結果を正当なものと確定するステップと
を備えることを特徴としている。
【０００８】
ここで、上記文字認識処理は、原稿を表わす画像情報を入力するものであれば、画像情報読取装置を駆動して原稿の画像情報を直接、読み取るものであってもよいし、画像情報読取装置を用いて予め得た原稿の画像情報を記憶装置から読み出すものであってもよい。また、上記略一致とは、完全に一致するものであってもよいし、類似するものであってもよいし、一致と類似の両方を含むものであってもよい。
【０００９】
上記構成（以下、基本構成と呼ぶ）の認識文字列修正方法によれば、ステップ（ａ）、（ｂ）により、作業者の操作指令に基づいて、認識された文字列（以下、認識文字列と呼ぶ）の中から任意の文字が選択されて、所定の文字に置換される。ステップ（ｃ）により、認識文字列の中から、その選択された任意の文字と略一致する文字が、自動修正対象文字として順に選択され、ステップ（ｄ）により、所定の文字に一旦置換される。その置換された文字の前後についての構文が、ステップ（ｅ）により解析されて、その解析の結果に基づいて、ステップ（ｆ）により、上位置換の結果が正当なものに確定される。
【００１０】
したがって、この発明の認識文字列修正方法によれば、自動的に行なった文字の修正が正しい構文となる場合に限り、その修正が正当なものと確定される。このために、文字修正の精度を向上することができるという効果を奏する。
【００１１】
上記構成の認識文字列修正方法において、（ｇ）前記ステップ（ｆ）による構文の解析の結果が正しい構文でないことを示すものであるとき、前記自動修正対象文字を前記ステップ（ｄ）による置換がなされる前の状態に戻すステップを備える構成とすることができる。
【００１２】
この構成によれば、自動的に行なった文字の修正が正しい構文でない場合に、その修正は元に戻される。このために、文字修正の精度をより向上することができる。
【００１３】
上記構成の認識文字列修正方法において、（ｈ）前記ステップ（ｆ）によって正当なものと確定された置換の文字を、他の文字に対して識別可能に表示するステップを備える構成とすることができる。
【００１４】
この構成によれば、置換の結果が正当なものと確定されたものについて、他の文字に対して識別可能に表示がなされる。このために、自動的に修正された文字であることを、作業者はその表示から知ることができる。
【００１５】
上記構成の認識文字列修正方法において、前記ステップ（ｆ）は、（ｆ−１）前記ステップ（ｆ）による構文の解析の結果が正しい構文であることを示すものであるとき、前記ステップ（ｄ）による置換の結果を受け入れるかを、作業者に問い合わせるステップと、（ｆ−２）前記ステップ（ｆ−１）の問い合わせに対する作業者からの操作指令に基づいて前記置換の結果を受け入れると判定されたとき、前記ステップ（ｄ）による置換の結果を正当なものと確定するステップとを備える構成とすることができる。
【００１６】
この構成によれば、作業者に対して、修正の結果を受け入れることができるかを問い合わせることができることから、文字修正の精度をより一層向上することができる。
【００１７】
この構成によれば、複数の候補文字列データの中から照合結果の優れた候補文字列データを選んで、その選んだ候補文字列データを変換結果として出力することが可能となる。
【００１８】
上記構成の認識文字列修正方法において、前記ステップ（ａ）により選択される任意の文字が、連続する複数の文字から構成されるとき、前記ステップ（ｂ）による置換は、前記連続する複数の文字を一つの所定の文字に置換する構成とすることができる。
【００１９】
この構成によれば、１文字を表わす画像データから複数の文字が認識された場合、例えば、「時」の画像データから「日」の文字と「寺」の文字が分離されて認識された場合に、これらを元の１文字に修正することができる。
【００２０】
上記構成の認識文字列修正方法において、前記ステップ（ｂ）による置換は、１文字を複数の文字に置換する構成とすることができる。
【００２１】
この構成によれば、複数の文字を表わす画像データから１文字が認識された場合に、これを元の複数の文字に修正することができる。
【００２２】
この発明の認識文字列修正装置は、
原稿を画像情報として入力して文字の認識を行なう文字認識処理によって得られた文字列を修正する認識文字列修正装置であって、
作業者の操作指令に基づいて、前記文字列の中から任意の文字を選択する手動修正対象文字選択手段と、
前記選択された任意の文字を、作業者の操作指令に従う所定の文字に置換する手動修正手段と、
前記文字列の中から、前記手動修正対象文字選択手段により選択された任意の文字と一致もしくは類似する文字を自動修正対象文字として順に選択する自動修正対象文字選択手段と、
前記自動修正対象文字選択手段により選択された自動修正対象文字を、前記所定の文字に置換する自動修正手段と、
前記文字列における前記自動修正手段により置換された前記所定の文字の前後についての構文を解析する構文解析手段と、
前記構文解析手段による構文の解析の結果に基づいて、前記自動修正手段による置換の結果を正当なものと確定する修正結果確定手段と
を備えることを特徴としている。
【００２３】
上記構成の認識文字列修正装置は、上記発明の認識文字列修正方法と同様な作用・効果を有しており、文字修正の精度を向上することができる。
【００２４】
この発明のコンピュータプログラムは、
原稿を画像情報として入力して文字の認識を行なう文字認識処理によって得られた文字列を修正する処理を実行するコンピュータプログラムであって、
（ａ）作業者の操作指令に基づいて、前記文字列の中から任意の文字を選択する機能と、
（ｂ）前記選択された任意の文字を、作業者の操作指令に従う所定の文字に置換する機能と、
（ｃ）前記文字列の中から、前記機能（ａ）により選択された任意の文字と一致もしくは類似する文字を自動修正対象文字として順に選択する機能と、
（ｄ）前記機能（ｃ）により選択された自動修正対象文字を、前記所定の文字に置換する機能と、
（ｅ）前記文字列における前記機能（ｄ）により置換された前記所定の文字の前後についての構文を解析する機能と、
（ｆ）前記機能（ｅ）による構文の解析の結果に基づいて、前記機能（ｄ）による置換の結果を正当なものと確定する機能と
を、コンピュータに実現させることを特徴としている。
【００２５】
上記構成のコンピュータプログラムは、上記発明の認識文字列修正装置や認識文字列修正方法と同様な作用・効果を有しており文字修正の精度を向上することができる。
【００２６】
この発明の記録媒体は、この発明のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体を特徴としている。この記録媒体は、この発明の各コンピュータプログラムと同様な作用・効果を有している。
【００２７】
【発明の他の態様】
この発明は、以下のような他の態様も含んでいる。その第１の態様は、この発明のコンピュータプログラムを通信経路を介して供給するプログラム供給装置としての態様である。この第１の態様では、コンピュータプログラムをコンピュータネットワーク上のサーバなどに置き、通信経路を介して、必要なプログラムをコンピュータにダウンロードし、これを実行することで、上記の装置や方法を実現することができる。
【００２８】
【発明の実施の形態】
以上説明したこの発明の構成・作用を一層明らかにするために、以下この発明の実施の形態を実施例に基づき説明する。
【００２９】
１．ハードウェアの全体構成
図１は、この発明の第１実施例を適用するコンピュータシステムのハードウェアの概略構成を示すブロック図である。このコンピュータシステムは、いわゆるパーソナルコンピュータ（以下、単にコンピュータと呼ぶ）を中心に備え、その周辺にＣＲＴディスプレイ１２およびイメージスキャナ１４を備える。コンピュータは、コンピュータ本体１６とキーボード１８とマウス２０を備える。なお、このコンピュータ本体１６には、ＣＤ−ＲＯＭ２２の内容を読み取るＣＤドライブ２４が搭載されている。
【００３０】
コンピュータ本体１６は、中央演算処理装置としてのＣＰＵ３０を中心にバスにより相互に接続されたＲＯＭ３１、ＲＡＭ３２、表示画像メモリ３３、マウスインタフェース３４、キーボードインタフェース３５、ＣＤＣ３６、ＨＤＣ３７、ＣＲＴＣ３８、入出力機用インタフェース４０およびＩ／Ｏポート４１を備える。ＲＯＭ３１は、内蔵されている各種プログラム等を記憶する読み出し専用のメモリである。ＲＡＭ３２は、各種データ等を記憶する読み出し・書込み可能なメモリである。表示画像メモリ３３は、ＣＲＴディスプレイ１２に表示する画像の画像データを記憶するメモリである。
【００３１】
マウスインタフェース３４は、マウス２０とのデータ等のやり取りを司るインタフェースである。キーボードインタフェース３５は、キーボード１８からのキー入力を司るインタフェースである。ＣＤＣ３６は、ＣＤドライブ（ＣＤＤ）２４を制御するＣＤコントローラである。ＨＤＣ３７は、ハードディスクドライブ（ＨＤＤ）４２を制御するハードディスクコントローラである。ＨＤＤ４２には、後述するコンピュータプログラムや、後述する文字認識に用いられる文字辞書や、後述する構文解析に用いられる単語辞書およびルール辞書等が予め記憶されている。
【００３２】
ＣＲＴＣ３８は、表示画像メモリ３３に記憶される表示画像データに基づいてＣＲＴディスプレイ１２における画像の表示を制御するＣＲＴコントローラである。入出力機用インタフェース４０は、外部に接続された入出力機器、この実施例ではイメージスキャナ１４へのデータの入出力を制御するインタフェースである。Ｉ／Ｏポート４１は、シリアル出力のポートを備えており、モデム４４に接続されており、このモデム４４を介して、公衆電話回線４６に接続されている。コンピュータ本体１６は、モデム４４を介して、外部のネットワークに接続されており、特定のサーバ４７に接続可能となっている。
【００３３】
このコンピュータシステムでは、オペレーティングシステムはＨＤＤ４２に記憶されており、コンピュータ本体１６に電源を投入すると、ＨＤＤ４２のブートブロックに書き込まれたローダに従ってＲＡＭ３２の所定の領域にロードされる。また、イメージスキャナ１４で取り込んだ画像（以下、スキャン画像と呼ぶ）をテキストデータに変換する文字認識用ソフトウェア（コンピュータプログラム）は、ＣＤ−ＲＯＭ２２に予め格納されており、所定のインストールプログラムを起動することで、ＣＤドライブ２４からコンピュータ本体１６にインストールされる。このインストールされたコンピュータプログラムは、ＨＤＤ４２に記憶されており、所定の起動命令を受けたときに、ＲＡＭ３２の所定の領域にロードされる。
【００３４】
このコンピュータプログラムをＣＰＵ３０が実行することによって本発明の各種構成要件は実現される。このコンピュータプログラムは、前述したように、ＣＤ−ＲＯＭ２２に格納されたものであるが、これに替えて、フロッピィディスク、光磁気ディスク、ＩＣカード等の他の携帯型記録媒体（可搬型記録媒体）に格納された構成としてもよい。また、前述したコンピュータプログラムは、外部のネットワークに接続される特定のサーバ４７から、ネットワークを介して提供されるプログラムデータをダウンロードして、ＲＡＭ３２またはＨＤＤ４２に転送することにより得るようにすることもできる。なお、上記ネットワークとしては、インターネットであってもよく、特定のホームページからダウンロードして得たコンピュータプログラムであってもよい。あるいは、電子メールの添付ファイルの形態で供給されたコンピュータプログラムであってもよい。
【００３５】
以上説明したハードウェア構成を有するコンピュータシステムによる文字認識用ソフトウェアに従う制御処理の様子について次に説明する。図２は、コンピュータ本体１６によって実行される文字認識用ソフトウェア５０に従う処理の様子を示すブロック図である。
【００３６】
図２に示すように、コンピュータ本体１６の内部で動作している文字認識用ソフトウェア５０によれば、まず、スキャン画像取込部５１によりスキャナドライバ６０を動作させてイメージスキャナ１４から文書の記載された原稿Ｐの画像（スキャン画像）を取り込む処理を行なう。次いで、スキャン画像取込部５１によって取り込まれたスキャン画像についての文字認識を、文字列認識モジュール５２によって行なう。この文字列認識モジュール５２によって、原稿に記載された文字列のデータ（テキストデータ）が得られる。
【００３７】
続いて、文字列認識モジュール５２により得られた文字列のデータを、認識文字列修正モジュール５３によって修正する。認識文字列修正モジュール５３の働きは、詳しくは、次のようなものである。まず、作業者によるマウス２０もしくはキーボード１８の操作指令に基づいて、手動修正対象文字選択部５３ａにより、前記テキストデータの中から任意の文字を選択する。次いで、その選択された任意の文字を、作業者によるキーボード１８もしくはマウス２０の操作指令に従う所定の文字に、手動修正部５３ｂにより置換する。
【００３８】
続いて、文字列認識モジュール５２によって得られた文字列のデータの中から、手動修正対象文字選択部５３ａにより選択された任意の文字と略一致する文字を、自動修正対象文字選択部５３ｃによって、自動修正対象文字として順に選択する。その後、その自動修正対象文字を、自動修正部５３ｄにより、前記所定の文字に置換する。続いて、その自動修正部５３ｄにより置換された文字の前後についての構文を、構文解析部５３ｅにより解析する。続いて、その構文の解析の結果に基づいて、自動修正部５３ｄによる置換の結果を、修正結果確定部５３ｆにより正当なものと確定する。
【００３９】
手動修正部５３ｂおよび修正結果確定部５３ｆにより定まった文字列データは、ディスプレイドライバ７０を介してＣＲＴディスプレイ１２へ送られて表示される。
【００４０】
コンピュータ本体１６のＣＰＵ３０で文字認識用ソフトウェア５０を実行することで、上述した文字列認識モジュール５２および認識文字列修正モジュール５３を実現している。文字認識用ソフトウェア５０に従う制御処理について、以下詳細に説明する。図３は、この制御処理のルーチンを示すフローチャートである。このルーチンは、文字認識用ソフトウェア５０を実行させる旨の指示がなされた以後、所定時間毎に繰り返し実行される。
【００４１】
図示するように、処理が開始されると、ＣＰＵ３０は、まず、この文字認識用ソフトウェア５０の起動後、最初であるか否かを判別する（ステップＳ１００）。ここで、最初であると判別されたときには、アプリケーションウィンドウＷＤを初期状態でＣＲＴディスプレイ１２に表示する処理を行なう（ステップＳ１１０）。図４は、初期状態のアプリケーションウィンドウＷＤを示す説明図である。図示するように、アプリケーションウィンドウＷＤには、メニューバーＢＲ１とツールバーＢＲ２，ＢＲ３とが設けられている。ツールバーＢＲ２には、後述する一括修正ボタンＢＴ１１と結合ボタンＢＴ１２と分離ボタンＢＴ１３と再認識ボタンＢＴ１４が設けられている。ツールバーＢＲ３には、作業手順に従った順にコマンドを実行するための「スキャン」、「領域抽出」、「認識」、「保存」のボタンＢＴ１，ＢＴ２，ＢＴ３，ＢＴ４が設けられている。なお、図３に戻って、ステップＳ１００で最初でないと判別されたときには、ステップＳ１１０の処理は実行しない。
【００４２】
次いで、ＣＰＵ３０は、ツールバーＢＲ３上の「スキャン」のボタンＢＴ１が、マウス２０によってクリック操作されたか否かを判別する（ステップＳ１２０）。ここで、肯定判別されたときには、ＣＰＵ３０は、文字認識の対象となる原稿Ｐをスキャンするスキャン処理を実行する（ステップＳ１３０）。原稿Ｐは、例えば、文書の記載された書類である。ステップＳ１３０では、ＣＰＵ３０は、スキャナドライバ６０を動作させて、原稿Ｐがセットされたイメージスキャナ１４から原稿Ｐの画像を示すスキャン画像データを取り込む。ステップＳ１３０の実行後、「リターン」に抜けて処理を一旦終了する。なお、このステップＳ１３０の構成に替えて、イメージスキャナを用いて取り込んだ原稿Ｐのスキャン画像を予めＨＤＤ４２に格納しておき、このＨＤＤ４２内のスキャン画像を読み出す構成とすることもできる。すなわち、原稿Ｐを画像情報として入力できるものであれば、イメージスキャナを用いてその都度読み出す構成としてもよいし、予めＨＤＤ４２等の記憶手段に用意しておき、その記憶手段から読み出す構成とすることもできる。また、原稿の画像情報をネットワークを介して外部から取り込む構成とすることもできる。
【００４３】
一方、ステップＳ１２０で否定判別されたときには、ＣＰＵ３０は、ステップＳ１４０に処理を進めて、「領域抽出」のボタンＢＴ２が、マウス２０によってクリック操作されたか否かを判別する。ここで、肯定判別されたときには、ＣＰＵ３０は、領域抽出処理を実行する（ステップＳ１５０）。この領域抽出処理は、ステップＳ１３０のスキャン処理により取り込まれたスキャン画像データから、文字列認識の対象となる任意の画像領域を抽出するものである。作業者は、アプリケーションウィンドウＷＤに表示された原稿Ｐのスキャン画像に対して、マウス２０を用いて、文字列認識の対象としたい画像領域の範囲を指定する操作を行なう。ＣＰＵ３０は、この作業者によるマウス操作を受けて、そのマウス２０によって指定された画像領域のデータをスキャン画像データの中から抽出する。この領域抽出処理が終了すると、「リターン」に抜けてこの処理を一旦終了する。
【００４４】
一方、ステップＳ１４０で否定判別された場合には、ステップＳ１６０に処理を進める。なお、フローチャートには詳細に記載されていないが、ステップＳ１４０で肯定判別された場合でも、ステップＳ１３０のスキャン処理の実行後でない場合には、ステップＳ１６０に処理を進める。
【００４５】
ここまでの処理によって、ＨＤＤ４２には、文字認識の対象となる画像データ（以下、認識対象画像データと呼ぶ）として、ステップＳ１５０の領域抽出処理により得られた抽出画像データが用意されることになる。なお、ステップＳ１３０のスキャン処理が実行されただけで、ステップＳ１５０の領域抽出処理が実行されていない場合には、ステップＳ１３０のスキャン処理で得られたスキャン画像データが、そのまま認識対象画像データとなる。
【００４６】
ステップＳ１６０に処理が移行すると、ツールバーＢＲ３上の「認識」のボタンＢＴ３が、マウス２０によってクリック操作されたか否かを判別する。ここで、肯定判別されたときには、ＣＰＵ３０は、認識対象画像データをテキストデータに変換する文字列認識処理を実行する（ステップＳ１７０）。この文字列認識処理は、ＨＤＤ４２に予め用意した文字辞書（この文字認識用ソフトウェア５０で用意されている）の各文字と、認識対象画像データで表わされる各文字についての画像とを比較し、一致度の最も高い文字を認識結果とする周知の技術であり、ここでは詳しい説明は省略する。
【００４７】
図５は、上記文字列認識処理の終了後のアプリケーションウィンドウＷＤの一例を示す説明図である。図示するように、アプリケーションウィンドウＷＤのツールバーＢＲ３の下方には、原画像表示用のウィンドウＦ１と認識結果表示用のウィンドウＦ２とが用意される。ステップＳ１７０の文字列認識処理の終了後には、原画像ウィンドウＦ１に、上記認識対象画像データＴＤが表示され、認識結果ウィンドウＦ２には、この文字列認識処理の認識結果である文字列（テキストデータ）が表示される。また、認識結果ウィンドウＦ２の下方には、候補文字フィールドＦ３が用意されており、この候補文字フィールドＦ３には、認識結果ウィンドウＦ２に表示されたテキストデータ中のカーソルのある位置の文字についての認識の次候補が表示される。図示の例では、そのテキストデータ中の文頭にカーソルが位置し（文字列認識処理の終了直後には、文頭にカーソルが位置するものと設計されている）、その文頭のテキストデータ、すなわち、図示の例ではスペースについての認識の次候補（実際には図示のように全てスペース）が表示される。
【００４８】
図３に戻り、ステップＳ１６０で否定判別された場合には、ステップＳ１８０に処理を進める。なお、フローチャートには詳細に記載されていないが、ステップＳ１６０で肯定判別された場合でも、ステップＳ１３０のスキャン処理の実行後でない場合には、ステップＳ１８０に処理を進める。ステップＳ１８０では、ツールバーＢＲ３上の「保存」のボタンＢＴ４が、マウス２０によってクリック操作されたか否かを判別して、ここで、肯定判別されたときには、ＣＰＵ３０は、文字列認識処理ルーチンで得られたテキストデータを保存する（ステップＳ１９０）。ステップＳ１９０の実行後、またはステップＳ１９０で否定判別された場合には、「リターン」に抜けてこの制御処理のルーチンを一旦終了する。
【００４９】
ステップＳ１７０の文字列認識処理の実行後には、ＣＲＴディスプレイ１２には、前述したように、図５に示されるアプリケーションウィンドウＷＤが表示される。作業者は、このアプリケーションウィンドウＷＤの認識結果ウィンドウＦ２に表示されるテキストデータを、原画像表示用のウィンドウＦ１に表示される画像データと比較しながら見ることで、文字列認識処理が正しく行なわれているか否かを確認することができる。作業者は、認識結果であるそのテキストデータに誤りを発見したときには、その誤っている文字を修正する作業を行なう。この修正の作業は、ＣＰＵ３０により実行される認識文字列修正ルーチンに従って行なわれる。以下、この認識文字列修正ルーチンについて詳述する。
【００５０】
図６および図７は、ＣＰＵ３０により実行される認識文字列修正ルーチンを示すフローチャートである。この認識文字列修正ルーチンは、所定時間毎に繰り返し実行される。図６に示すように、処理が開始されると、ＣＰＵ３０は、まず、マウス２０またはキーボード１８から操作信号を取り込んで、認識結果である上記テキストデータの中から所望の文字を選択する操作がなされたか否かを判別する（ステップＳ２００）。この文字の選択操作は、作業者によるマウス２０またはキーボード１８を用いた操作であり、マウス２０を用いる場合には、ＣＲＴディスプレイ１２の画面に表示されたそのテキストデータの所望の位置をクリックして１文字を選択するといった操作を行なう。ステップＳ２００で、その文字選択の操作がなされていないと判別されたときには、ＣＰＵ３０は、リターンに処理を進めて、この認識文字列修正ルーチンの処理を一旦終了する。
【００５１】
一方、ステップＳ２００で、その文字選択の操作がなされたと判別されたときには、以下の処理を実行する。まず、ＣＰＵ３０は、その文字選択の操作、すなわちマウス２０またはキーボード１８の操作によって定まる位置（テキストデータにおける位置であり、以下、所定位置Ｐ０と呼ぶ）の文字Ｃ１を選択する処理を行なう（ステップＳ２１０）。図８は、このステップＳ２１０の処理後のアプリケーションウィンドウＷＤの一例を示す説明図である。図９は、図８の認識結果ウィンドウＦ２周辺の拡大図である。ＣＰＵ３０の処理によって、図９に示すように、認識結果ウィンドウＦ２に表示されるテキストデータ中の第２行目の「異例の列草だ」の内の「草」の文字が、文字（以下、選択文字と呼ぶ）Ｃ１として選択される。このとき、候補文字フィールドＦ３には、認識の次候補である「車」、「卓」、「串」、…が順に表示されている。
【００５２】
図６に戻り、次いで、ＣＰＵ３０は、選択文字Ｃ１を、記憶用選択文字Ｃ１ＸとしてＲＡＭ３２に一旦記憶する（ステップＳ２１５）。続いて、ＣＰＵ３０は、上記テキストデータ中の選択文字Ｃ１を、マウス２０またはキーボード１８からの作業者による操作指令に従う所定の文字Ｃ２に置換する処理を行なう（ステップＳ２２０）。図９の例では、作業者は、候補文字フィールドＦ３に表示される次候補群から、上記誤認識した「草」に替わる正しい「車」の文字をマウス２０を用いてクリックする操作を行なう。ステップＳ２２０では、このマウス２０からの操作信号を取り込んで、マウス２０の操作によって定まる候補文字（この例の場合、「車」）を上記所定の文字Ｃ２として、上記テキストデータにおける選択文字Ｃ１に上書きする。
【００５３】
図６に戻り、ステップＳ２２０の実行後、ＣＰＵ３０は、一括修正機能を働かせる指示が予め設定されているか否かを判別する（ステップＳ２３０）。この指示は、アプリケーションウィンドウＷＤ上での作業者によるマウス操作によって指示されるものである。アプリケーションウィンドウＷＤのツールバーＢＲ２には、一括修正ボタンＢＴ１１（図８参照）が設けられているが、この一括修正ボタンＢＴ１１がマウスクリックされると、一括修正機能を働かせる指示をコンピュータ本体１６に対して設定することができる。ステップＳ２３０では、この一括修正機能を働かせる指示が予め設定されているか否かを判別する。ここで、その指示が設定されていないと判別されたときには、「リターン」に抜けて処理を一旦終了する。
【００５４】
一方、ステップＳ２３０で、一括修正機能を働かせる指示が予め設定されていると判別されたときには、ＣＰＵ３０は、以下の処理を行なう。まず、認識対象画像データから、上記所定位置Ｐ０に対応する文字の範囲の画像データ（以下、文字画像データと呼ぶ）ＰＤを抽出してＲＡＭ３２に記憶する（ステップＳ２４０）。この文字画像データＰＤは、選択文字Ｃ１に対応する文字画像データである。次いで、ＣＰＵ３０は、変数ｍに値１をセットする（ステップＳ２５０）。
【００５５】
その後、ＣＰＵ３０は、認識結果である上記テキストデータにあって上記所定位置Ｐ０から上記変数ｍの値だけ後方に、認識された文字が存在するか否かを判別する（ステップＳ２６０）。ここで、存在しないと判別された場合には、「リターン」に抜けて処理を一旦終了する。一方、ステップＳ２６０で認識文字が存在すると判別された場合には、ＣＰＵ３０は、図７のステップＳ２７０に処理が進む。
【００５６】
ステップＳ２７０では、ＣＰＵ３０は、ステップＳ２６０で存在すると判断された上記所定位置Ｐ０から上記変数ｍの値だけ後方の文字（以下、ｍ番目の文字と呼ぶ）Ｃｍが、ステップＳ２１５で得られた記憶用選択文字Ｃ１Ｘと同一であるか否かを判別する。ここで、同一であると判別されると、そのｍ番目の文字Ｃｍを修正前文字ＣｍＸとしてＲＡＭ３２に一旦記憶して（ステップＳ２８０）、認識結果のテキストデータ上においてそのｍ番目の文字（特許請求の範囲でいう自動修正対象文字に該当）Ｃｍを、ステップＳ２２０で用いた所定の文字（以下、置換文字と呼ぶ）Ｃ２に置き換える（ステップＳ２９０）。
【００５７】
一方、ステップＳ２７０でｍ番目の文字Ｃｍが記憶用選択文字Ｃ１Ｘと同一でないと判別されたときには、ＣＰＵ３０は、ステップＳ２７５に処理を進めて、上記ｍ番目の文字Ｃｍに対応する文字画像データが、ステップＳ２４０で記憶した文字画像データＰＤと類似しているか否かを判別する。この類似度の判定は、文字画像データで示される画像の特徴を抽出して、特徴の一致度を数量的に演算して、その演算結果から判定を行なう。ステップＳ２７５で、類似していると判別された場合には、ステップＳ２８０に処理を進める。すなわち、ステップ２７０で、ｍ番目の文字Ｃｍが、ステップ２１０で選択された選択文字Ｃ１と同一であるか、そのｍ番目の文字Ｃｍに対応する文字画像データが、その選択文字Ｃ１に対応する文字画像データと類似する場合に、ステップ２８０に処理が進められる。
【００５８】
なお、このステップＳ２７０とステップＳ２７５を備える構成に替えて、ステップＳ２７５を削除してステップＳ２７０だけを備える構成としてもよい。この場合、ステップＳ２７０で否定判別されたときには、ステップＳ３５０に処理を進める。また、ステップＳ２７０を削除してステップＳ２７５だけを備える構成としてもよい。この場合、ステップＳ２６０の後にステップＳ２７５が続く。
【００５９】
ステップＳ２９０で文字Ｃ２への置換が行なわれた後、ＣＰＵ３０は、ステップＳ３００に処理を進めて、認識結果である上記テキストデータにおける置換文字Ｃ２の前後についての構文を解析する処理を行なう。構文解析の処理は、入力テキストを形態素と呼ばれる最小言語単位に分割し、それら形態素に分割された文を文節と呼ばれる単位までまとめて、その文の構文構造を解析するものである。上記形態素への分割は、すべての品詞の入った単語辞書を基に行なわれる。構文構造の解析は、各文節の係り受け構造を解析しようとするもので、構文解析に必要な知識を格納したルール辞書を基に行なわれる。単語辞書およびルール辞書は、前述したようにＨＤＤ４２に予め記憶されている。
【００６０】
文節の係り受け構造とは、その文節が修飾することができる相手の文節の種類、およびその文節が修飾を受けることができる相手の文節の種類を分類し、それぞれ係り、受けとした構造である。上記構文構造の解析では、この文節の係り受け構造を解析して、文節の係り受けの強さの度合い、すなわち文節の意味的な結びつきの強さの度合いを評価する。具体的な構文解析の手法については周知のものであることから、ここではその説明は省略する。ステップＳ３００では、認識結果であるテキストデータにおいて上記置換文字Ｃ２を中心に所定の文字数の文字列を抽出して、これを上記入力テキストとして構文解析の処理を行なう。なお、構文解析の方法については、上記の記述に限定されるものではなく、構文を意味的に解析可能なものであればどのようなものでもよい。また、上記前後の範囲は所定の文字数から必ずしも定まる必要はなく、適当な文節で抽出してもよいし、文にて抽出してもよい。
【００６１】
ステップＳ３００の構文解析を終えると、次いで、ＣＰＵ３０は、その構文解析の評価結果に基づいて、この構文（テキストデータにおける置換文字Ｃ２前後の構文）が正しいか否かを判別する（ステップＳ３１０）。すなわち、評価結果が文節の意味的な結びつきの強さの度合いが大きい場合（所定値以上の場合）には、ステップＳ３１０で、その構文は正しいと判別され、ＣＰＵ３０は、ステップＳ３２０に処理を進めて、「先回り修正の確認」のダイアログボックスＤＢ１をＣＲＴディスプレイ１２に表示する処理を行なう。
【００６２】
図１０は、「先回り修正の確認」のダイアログボックスＤＢ１をアプリケーションウィンドウＷＤとともに示す説明図である。図１１は、ダイアログボックスＤＢ１の拡大図である。図１１に示すように、このダイアログボックスＤＢ１には、修正前の文字データ（修正前文字ＣｍＸ）と修正後の文字データ（置換文字Ｃ２）と共に、「この部分を修正しますか？」という問い合わせのメッセージが記載されている。作業者は、認識結果表示用のウィンドウＦ２に表示されるテキストデータとともに、ダイアログボックスＤＢ１を見て、認識結果の修正が正しいか否か（修正を受け入れることができるか否か）を判定する。作業者は受け入れると判定した場合には、ダイアログボックスＤＢ１の「はい」のボタンＢＴ２１をクリックする。一方、作業者は、その修正を受け入れることができないと判定した場合には、ダイアログボックスＤＢ１の「いいえ」のボタンＢＴ２２をクリックする。
【００６３】
図７に戻り、ステップＳ３２０で「先回り修正の確認」のダイアログボックスＤＢ１の表示がなされると、次いで、ＣＰＵ３０は、マウス２０からの出力信号を読み取って上記作業者の操作が、「はい」のボタンＢＴ２１と「いいえ」のボタンＢＴ２２のいずれがクリックされたかを判定する（ステップＳ３３０）。ここで、「いいえ」のボタンＢＴ２２がクリックされたと判別された場合には、ステップＳ３４０に処理を進めて、ステップＳ２９０で置き換えた置換文字Ｃ２を、置換前の文字、すなわちステップＳ２８０で記憶した修正前文字ＣｍＸに戻す。ステップＳ３４０の実行後、ＣＰＵ３０は、上記変数ｍを値１だけインクリメントする（ステップＳ３５０）。
【００６４】
一方、ステップＳ３３０で「はい」のボタンＢＴ２１がクリックされたと判別された場合には、ステップＳ３４０を実行することなしにステップＳ３５０に処理を進める。すなわち、認識結果の修正が正しいと作業者により判別された場合には、ＣＰＵ３０は、ステップＳ２９０で行なわれた文字Ｃ２への置換は、正当であるものと確定して、直ちにステップＳ３５０に処理を進める。
【００６５】
ステップＳ３５０の実行後、ＣＰＵ３０は、図６のステップＳ２６０に処理を戻して、ステップＳ２６０ないしＳ３５０の処理を、値１だけインクリメントされた新たな変数ｍから定まる自動修正対象文字（ｍ番目の文字）Ｃｍに対して行なう。なお、ステップＳ２７５で否定判別、すなわち、自動修正対象文字Ｃｍに対応する画像データが、文字画像データＰＤに類似していないと判別された場合には、ＣＰＵ３０は、そのままステップＳ３５０に処理を進めて、変数ｍを値１だけインクリメントする。
【００６６】
上記構成の認識文字列修正ルーチンによれば、まず、ステップＳ２１０の処理により、認識結果のテキストデータの中から、作業者の操作指令に基づく任意の文字、例えば、図９の例では、第２行目の「異例の列草だ」の内の「草」の文字Ｃ１が選択される。その後、ステップＳ２２０の処理により、その選択された文字Ｃ１が、作業者の操作指令に基づいて置換文字Ｃ２に置き換えられる。次いで、ステップＳ２５０ないしＳ２７５の処理により、上記「草」の文字Ｃ１に続く「だ」の文字Ｃ１′について選択文字Ｃ１（記憶用選択文字Ｃ１Ｘ）と同一か、もしくは類似しているかの判定がなされる。「だ」の文字Ｃ１′は「草」の文字Ｃ１Ｘと同一でないと判別され、またそれぞれの文字画像データは類似でないと判定されることから、「だ」の文字Ｃ１′については特別な処理を行なわずに、処理対象を続く文字に移行する。ステップＳ２６０ないしＳ３５０の繰り返しの処理により、テキストデータの後方に向かって一文字ずつ、「草」の文字Ｃ１Ｘと一致するか、あるいはそれぞれの文字画像データが類似しているかの判定がなされる。
【００６７】
図９の例では、テキストデータにおける第１４行目の「１１号草」の内の「草」の文字Ｃ１′′に処理対象が移行すると、「草」の文字Ｃ１Ｘとの一致が見られる。その文字を自動修正対象文字Ｃｍとして、置換文字Ｃ２に一旦置き換えられる。そうして、その置換文字Ｃ２の前後についての構文を解析して、その構文が正しくないと判別された場合には、置換文字Ｃ２に置換された自動修正対象文字Ｃｍを置換前の状態に戻す。一方、構文解析によりその構文が正しいと判別された場合には、図１０に例示するように、「先回り修正の確認」のダイアログボックスＤＢ１が表示され、作業者に対してその置換の結果を受け入れるか否かの判断を促した上で、その文字Ｃｍの置換文字Ｃ２への置き換えを正当なものとして確定する。
【００６８】
したがって、この第１実施例によれば、認識結果であるテキストデータに対して一括修正を行なうに際して、その修正が正しい構文となる場合に限り、その修正が正当なものと確定される。このために、文字修正の精度を向上することができるという効果を奏する。また、この第１実施例によれば、修正が正しい構文でない場合は、自動的にその修正は元に戻される。このために、文字修正の精度をより向上することができる。
【００６９】
さらに、この第１実施例によれば、構文解析によりその構文が正しいと判別された場合には、「先回り修正の確認」のダイアログボックスＤＢ１が表示され、作業者に対してその置換の結果を受け入れることができるかを問い合わせることができる。このために、文字修正の精度をより向上することができる。
【００７０】
この第１実施例についてさらに説明を続ける。この第１実施例では、前記ステップＳ２１０により選択される任意の文字は、「草」で例示した１文字であるものと説明したが、この任意の文字は、必ずしも１文字である必要はなく、連続する複数の文字を選択することが可能となっている。図９に示した認識結果ウィンドウＦ２に表示されるテキストデータ中の第２行目には、「日」と「寺」といった連続する２文字が含まれるが、ステップＳ２１０では、この「日」と「寺」の２文字が選択される構成とすることができる。この後に、作業者は、アプリケーションウィンドウＷＤのツールバーＢＲ２に設けられた結合ボタンＢＴ１２（図８参照）をマウス２０を用いてクリックする操作を行なうが、この場合には、ステップＳ２２０では、このマウス２０からの操作信号を取り込んで、前記連続する複数の文字が結合した１つの文字、すなわち上記の例では、「時」の文字を置換文字Ｃ２として、選択文字Ｃ１が置換文字Ｃ２に置換される。
【００７１】
この構成によれば、１文字を表わす画像データから複数の文字が誤認識された場合、例えば、「時」の画像データから「日」の文字と「寺」の文字が分離されて認識された場合に、これらを元の１文字に修正することができる。なお、複数の文字に分離される文字の例としては、「唄」、「林」、「甥」、「艶」、「蚊」等、様々なものがある。
【００７２】
また、文字認識の結果、２文字が１文字として認識されるような場合もあり得る。例えば、00といった半角２文字を、｝といった全角１文字に誤認識することがあるが、この場合には、前記ステップＳ２１０により選択される任意の文字を、｝の文字とする。この後に、作業者は、アプリケーションウィンドウＷＤのツールバーＢＲ２に設けられた分離ボタンＢＴ１３（図８参照）をマウス２０を用いてクリックする操作を行なうが、この場合には、ステップＳ２２０では、このマウス２０からの操作信号を取り込んで、複数の文字、すなわち上記の例では、「00」を置換文字Ｃ２として、選択文字Ｃ１が置換文字Ｃ２に置換される。
【００７３】
この構成によれば、複数の文字を表わす画像データから１文字が誤認識された場合に、これを元の複数の文字に修正することができる。
【００７４】
この発明の第２実施例について次に説明する。この第２実施例は、第１実施例と比較して、同一のハードウェアの構成を備える。ソフトウェアの構成もほぼ同じで、認識文字列修正ルーチンの一部が相違するだけである。図１２は、この第２実施例における認識文字列修正ルーチンの後半部分を示すフローチャートである。この第２実施例における認識文字列修正ルーチンの前半部分は、第１実施例と同一であり、図６で示されるものである。この第２実施例における認識文字列修正ルーチンの後半部分は、図１２に示すように、第１実施例と同一の処理内容のステップＳ２７０ないしＳ３１０およびステップＳ３４０を備える。
【００７５】
ステップＳ３１０で、構文解析の評価結果に基づいて、その構文が正しいと判別された場合には、ＣＰＵ３０は、認識結果のテキストデータ上におけるステップＳ２９０で置き換えた置換文字Ｃ２をハイライト表示する（ステップＳ４００）。ここでいうハイライト表示とは、その置換文字Ｃ２の背景部分を黒色として、その置換文字Ｃ２を白抜きにて表わす表示である。ステップＳ４００の結果、その置換文字Ｃ２は正当なものとして確定されることになる。ステップＳ４００の実行後、ＣＰＵ３０は、ステップＳ３５０に処理を進める。
【００７６】
上記構成の認識文字列修正ルーチンによれば、自動修正対象文字Ｃｍが自動的に全て置換文字Ｃ２に置換され、その置換文字Ｃ２の前後の構文が正しいと解析されたものについては、その置換結果はハイライト表示された上で、正当なものに確定される。図１３は、認識文字列修正ルーチンの終了後のアプリケーションウィンドウＷＤの一例を示す説明図である。図１４は、図１３の認識結果ウィンドウ周辺の拡大図である。これら図に示すように、自動的に置換され、構文が正しいと解析された全ての置換文字Ｃ２は、ハイライト表示される。
【００７７】
以上のように構成された第２実施例によれば、第１実施例と同様に、文字修正の精度を向上することができる。特に、この第２実施例では、第１実施例のように、修正を行なう毎に、「先回り修正の確認」のダイアログボックスＤＢ１が表示され、作業者に対してその置換の結果を受け入れることができるかを問い合わせるようなことはない。修正対象文字は即座に修正され、その修正した個所は、ＣＲＴディスプレイ１２の画面上からハイライト表示にて容易に知ることができる。
【００７８】
なお、上記ハイライト表示は、置換文字Ｃ２を他の文字に対して識別可能な表示であればどのようなものであってもよく、アンダーラインを付す構成としてもよいし、太字にて表示する構成としてもよい。
【００７９】
本発明の他の実施形態について、次に説明する。第１および第２実施例では、作業者が置換文字Ｃ２を入力する操作としては、候補文字フィールドＦ３に表示される次候補群から、上記誤認識した「草」に替わる正しい「車」の文字をマウス２０を用いてクリックする操作を行なっていた。これに加えて、候補文字フィールドＦ３に表示される次候補群に正解の文字がないような場合には、文字認識に用いた文字辞書を収録数の多い文字辞書（あるいは、専門分野に偏った文字辞書）に変換して、文字の再認識の処理を行なう構成とすることができる。作業者は、アプリケーションウィンドウＷＤのツールバーＢＲ２に設けられた再認識用ボタンＢＴ１４（図８参照）をマウス２０を用いてクリックする操作を行なうことにより、上記再認識の処理の実行を指示することができる。ＣＰＵ３０は、置換文字Ｃ２を入力するに際して、上記再認識用ボタンＢＴ１４がクリックされる操作信号を取り込んで、上記再認識の処理を実行するとともに、その再認識により得られた候補を最初の認識処理と同様に候補文字フィールドＦ３に表示させて、その候補文字フィールドＦ３に表示される候補群から指令される候補文字を置換文字Ｃ２として定める。この実施形態によれば、文字修正の精度をより一層向上することができる。
【００８０】
第１および第２実施例では、認識結果であるテキストデータ上で自動修正対象文字Ｃｍを置換文字Ｃ２に置換して、その後、その置換された文字の前後（テキストデータ上の前後）についての構文を解析して、その構文の解析の結果に基づいて、その置換の結果を正当なものと確定していた。これに替えて、認識結果であるテキストデータ上から、自動修正対象文字Ｃｍの前後所定範囲の文字列データを抽出して、その文字列データをＲＡＭの別の領域に一旦転送して、この転送された文字列データのうちの上記自動修正対象文字Ｃｍを置換文字Ｃ２に置き換え、その後、その文字列データの構文を解析して、この構文の解析の結果が正しい構文であると判別されたときに、この置換結果が正当なものであるとして、その文字列データを上記テキストデータ上に戻す構成とすることもできる。この構成によっても、第１および第２実施例と同様に、文字修正の精度を向上することができる。
【００８１】
以上、本発明の一実施例を詳述してきたが、本発明は、こうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において種々なる態様にて実施することができるのは勿論のことである。
【図面の簡単な説明】
【図１】この発明の第１実施例を適用するコンピュータシステムのハードウェアの概略構成を示すブロック図である。
【図２】コンピュータ本体１６によって実行される文字認識用ソフトウェア５０に従う処理の様子を示すブロック図である。
【図３】文字認識用ソフトウェア５０に従う制御処理のルーチンを示すフローチャートである。
【図４】初期状態のアプリケーションウィンドウＷＤを示す説明図である。
【図５】文字列認識処理の終了後のアプリケーションウィンドウＷＤの一例を示す説明図である。
【図６】ＣＰＵ３０により実行される認識文字列修正ルーチンの前半部分を示すフローチャートである。
【図７】ＣＰＵ３０により実行される認識文字列修正ルーチンの後半部分を示すフローチャートである。
【図８】ステップＳ２１０で修正しようとする選択文字Ｃ１を指定した後のアプリケーションウィンドウＷＤの一例を示す説明図である。
【図９】図８の認識結果ウィンドウＦ２周辺の拡大図である。
【図１０】「先回り修正の確認」のダイアログボックスＤＢ１をアプリケーションウィンドウＷＤとともに示す説明図である。
【図１１】ダイアログボックスＤＢ１の拡大図である。
【図１２】この発明の第２実施例における認識文字列修正ルーチンの後半部分を示すフローチャートである。
【図１３】認識文字列修正ルーチンの終了後のアプリケーションウィンドウＷＤの一例を示す説明図である。
【図１４】図１３の認識結果ウィンドウ周辺の拡大図である。
【符号の説明】
１２…ＣＲＴディスプレイ
１４…イメージスキャナ
１６…コンピュータ本体
１８…キーボード
２０…マウス
３０…ＣＰＵ
３１…ＲＯＭ
３２…ＲＡＭ
３３…表示画像メモリ
３４…マウスインタフェース
３５…キーボードインタフェース
３６…ＣＤＣ
３７…ＨＤＣ
３８…ＣＲＴＣ
４０…入出力機用インタフェース
４１…Ｉ／Ｏポート
４２…ハードディスクドライブ
４４…モデム
４６…公衆電話回線
４７…サーバ
５０…文字認識用ソフトウェア
５１…スキャン画像取込部
５２…文字列認識モジュール
５３…認識文字列修正モジュール
５３ａ…手動修正対象文字選択部
５３ｂ…手動修正部
５３ｃ…自動修正対象文字選択部
５３ｄ…自動修正部
５３ｅ…構文解析部
５３ｆ…修正結果確定部
Ｐ…原稿
ＷＤ…アプリケーションウィンドウ
Ｆ１…原画像ウィンドウ
Ｆ２…認識結果ウィンドウ
Ｆ３…候補文字フィールド
ＢＴ１１…一括修正ボタン
ＢＴ１２…結合ボタン
ＢＴ１３…分離ボタン
ＢＴ１４…再認識ボタン
Ｃ１…選択文字
Ｃ１Ｘ…記憶用選択文字
Ｃ２…置換文字
Ｃｍ…自動修正対象文字
ＣｍＸ…修正前文字
ＤＢ１…「先回り修正の確認」のダイアログボックス
【図１】
0004110786.tif 000002
【図２】
0004110786.tif 000003
【図３】
0004110786.tif 000004
【図４】
0004110786.tif 000005
【図５】
0004110786.tif 000006
【図６】
0004110786.tif 000007
【図７】
0004110786.tif 000008
【図８】
0004110786.tif 000009
【図９】
0004110786.tif 000010
【図１０】
0004110786.tif 000011
【図１１】
0004110786.tif 000012
【図１２】
0004110786.tif 000013
【図１３】
0004110786.tif 000014
【図１４】
0004110786.tif 000015