(57)【要約】【課題】  文字認識の後処理の高速化を図る。【解決手段】  複数の文字からなる入力文字列を光学的に認識して得られた文字認識結果を補正する後処理装置において、単語辞書Ｇ２を設ける。この単語辞書Ｇ２は、１文字をノードとするツリー構造にて単語を登録した構造である。【選択図】  図３
2006209298.tif 000002
【特許請求の範囲】
【請求項１】
複数の文字からなる入力文字列を光学的に認識して得られた文字認識結果を補正する文字認識後処理装置であって、
１文字をノードとするツリー構造にて単語を登録した単語辞書を記憶する辞書記憶手段と、
前記文字認識結果として、前記入力文字列の各文字に対して１または複数の候補文字を受け取る候補文字受取手段と、
前記単語辞書のツリー構造をたどることで、前記候補文字受取手段により受け取った候補文字を前記入力文字列の１文字単位で順に絞り込むことにより、前記補正を行なう補正手段と
を備える文字認識後処理装置。
【請求項２】
請求項１に記載の文字認識後処理装置であって、
前記単語辞書は、
各ノードに、先頭ノードから該ノードまでで単語が成立しているか否かを示す情報が付与されたツリー構造である、
文字認識後処理装置。
【請求項３】
請求項１または２に記載の文字認識後処理装置であって、
前記単語辞書は、
単語を構成する１文字分として、データ番号を格納するデータ番号項目と、当該１文字の文字コードを格納する文字コード項目と、当該１文字に後続する文字の格納場所を示すデータ番号を格納する後続文字データ番号項目とを備えるレコードを用意して、該レコードの集まりによって構成したものである、
文字認識後処理装置。
【請求項４】
複数の文字からなる入力文字列を光学的に認識して得られた文字認識結果を補正する文字認識後処理装置であって、
単語を該単語の品詞を表わす品詞情報とともに登録した単語辞書を記憶する第１辞書記憶手段と、
単語に膠着して文節を形成する文字列を、前記品詞別に１文字をノードとするツリー構造にて登録した膠着文字列辞書を記憶する第２辞書記憶手段と、
前記文字認識結果として、前記入力文字列の各文字に対して１または複数の候補文字を受け取る候補文字受取手段と、
前記候補文字受取手段により受け取った候補文字を、前記単語辞書を用いて絞り込むとともに、単語が確定したときに、該単語についての前記単語辞書に登録された品詞情報に基づいて、前記膠着文字列辞書のツリー構造をたどることで、当該単語に後続する文字列についての候補文字を１文字単位で順に絞り込むことにより、前記補正を行なう補正手段と
を備える文字認識後処理装置。
【請求項５】
請求項４に記載の文字認識後処理装置であって、
前記単語辞書は、１文字をノードとするツリー構造にて単語を登録した構成であり、
前記補正手段は、
前記単語辞書のツリー構造をたどることで、前記候補文字受取手段により受け取った候補文字を前記入力文字列の１文字単位で順に絞り込むことにより、前記単語の確定を行なう単語補正手段
を備える文字認識後処理装置。
【請求項６】
請求項４または５に記載の文字認識後処理装置であって、
前記補正手段は、
前記候補文字の絞り込みにより、前記１文字あたりに複数の候補文字が選択されたとき、最長一致する文節を形成する候補文字を選択する最長一致検索手段
を備えた文字認識後処理装置。
【請求項７】
複数の文字からなる入力文字列を光学的に認識して得られた文字認識結果を補正する文字認識後処理装置であって、
数値に膠着して数値接尾語を形成する文字列を、１文字をノードとするツリー構造にて登録した数値接尾語辞書を記憶する辞書記憶手段と、
前記文字認識結果として、前記入力文字列の各文字に対して１または複数の候補文字を受け取る候補文字受取手段と、
前記候補文字受取手段により受け取った前記各文字の候補文字が数値であるか否かを判定する数値判定手段と、
前記数値判定手段により数値と判定されたとき、前記数値接尾語辞書のツリー構造をたどることで、当該数値に後続する文字についての前記候補文字受取手段により受け取った候補文字を１文字単位で順に絞り込むことにより、前記補正を行なう補正手段と
を備える文字認識後処理装置。
【請求項８】
請求項７に記載の文字認識後処理装置であって、
前記数値判定手段は、
数値に付随する小数点とコンマも数値であると判定する構成である、
文字認識後処理装置。
【請求項９】
複数の文字からなる入力文字列を光学的に認識して得られた文字認識結果を補正する文字認識後処理装置であって、
１文字をノードとするツリー構造にて単語を登録するとともに、各単語に品詞を表わす品詞情報を登録した単語辞書を記憶する第１辞書記憶手段と、
単語に膠着して文節を形成する文字列を、前記品詞別に１文字をノードとするツリー構造にて登録した膠着文字列辞書を記憶する第２辞書記憶手段と、
数値に膠着して数値接尾語を形成する文字列を、１文字をノードとするツリー構造にて登録した数値接尾語辞書を記憶する第３辞書記憶手段と、
前記文字認識結果として、前記入力文字列の各文字に対して１または複数の候補文字を受け取る候補文字受取手段と、
前記単語辞書、膠着文字列辞書および数値接尾語辞書の各ツリー構造をたどることで、前記候補文字受取手段により受け取った候補文字を前記入力文字列の１文字単位で順に絞り込むことにより、前記補正を行なう補正手段と
を備える文字認識後処理装置。
【請求項１０】
複数の文字からなる入力文字列を光学的に認識して得られた文字認識結果を補正する文字認識後処理方法であって、
１文字をノードとするツリー構造にて単語を登録した単語辞書を予め記憶する辞書記憶行程と、
前記文字認識結果として、前記入力文字列の各文字に対して１または複数の候補文字を受け取る候補文字受取行程と、
前記単語辞書のツリー構造をたどることで、前記候補文字受取行程により受け取った候補文字を前記入力文字列の１文字単位で順に絞り込むことにより、前記補正を行なう補正行程と
を備える文字認識後処理方法。
【請求項１１】
複数の文字からなる入力文字列を光学的に認識して得られた文字認識結果を補正する文字認識後処理方法であって、
単語を該単語の品詞を表わす品詞情報とともに登録した単語辞書を予め記憶する第１辞書記憶行程と、
単語に膠着して文節を形成する文字列を、前記品詞別に１文字をノードとするツリー構造にて登録した膠着文字列辞書を予め記憶する第２辞書記憶行程と、
前記文字認識結果として、前記入力文字列の各文字に対して１または複数の候補文字を受け取る候補文字受取行程と、
前記候補文字受取行程により受け取った候補文字を、前記単語辞書を用いて絞り込むとともに、単語が確定したときに、該単語についての前記単語辞書に登録された品詞情報に基づいて、前記膠着文字列辞書のツリー構造をたどることで、当該単語に後続する文字列についての候補文字を１文字単位で順に絞り込むことにより、前記補正を行なう補正行程と
を備える文字認識後処理方法。
【請求項１２】
複数の文字からなる入力文字列を光学的に認識して得られた文字認識結果を補正する文字認識後処理方法であって、
数値に膠着して数値接尾語を形成する文字列を、１文字をノードとするツリー構造にて登録した数値接尾語辞書を予め記憶する辞書記憶行程と、
前記文字認識結果として、前記入力文字列の各文字に対して１または複数の候補文字を受け取る候補文字受取行程と、
前記候補文字受取行程により受け取った前記各文字の候補文字が数値であるか否かを判定する数値判定行程と、
前記数値判定行程により数値と判定されたとき、前記数値接尾語辞書のツリー構造をたどることで、当該数値に後続する文字についての前記候補文字受取行程により受け取った候補文字を１文字単位で順に絞り込むことにより、前記補正を行なう補正行程と
を備える文字認識後処理方法。
【請求項１３】
複数の文字からなる入力文字列を光学的に認識して得られた文字認識結果を補正する文字認識後処理方法であって、
１文字をノードとするツリー構造にて単語を登録するとともに、各単語に品詞を表わす品詞情報を登録した単語辞書を予め記憶する第１辞書記憶行程と、
単語に膠着して文節を形成する文字列を、前記品詞別に１文字をノードとするツリー構造にて登録した膠着文字列辞書を予め記憶する第２辞書記憶行程と、
数値に膠着して数値接尾語を形成する文字列を、１文字をノードとするツリー構造にて登録した数値接尾語辞書を予め記憶する第３辞書記憶行程と、
前記文字認識結果として、前記入力文字列の各文字に対して１または複数の候補文字を受け取る候補文字受取行程と、
前記単語辞書、膠着文字列辞書および数値接尾語辞書の各ツリー構造をたどることで、前記候補文字受取行程により受け取った候補文字を前記入力文字列の１文字単位で順に絞り込むことにより、前記補正を行なう補正行程と
を備える文字認識後処理方法。
【請求項１４】
複数の文字からなる入力文字列を光学的に認識して得られた文字認識結果を補正するためのコンピュータプログラムであって、
前記文字認識結果として、前記入力文字列の各文字に対して１または複数の候補文字を受け取る候補文字受取機能と、
１文字をノードとするツリー構造にて単語を登録した単語辞書を検索する辞書検索機能と
前記辞書検索機能により前記単語辞書のツリー構造をたどることで、前記候補文字受取機能により受け取った候補文字を前記入力文字列の１文字単位で順に絞り込むことにより、前記補正を行なう補正機能と
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項１５】
複数の文字からなる入力文字列を光学的に認識して得られた文字認識結果を補正するためのコンピュータプログラムであって、
前記文字認識結果として、前記入力文字列の各文字に対して１または複数の候補文字を受け取る候補文字受取機能と、
単語を該単語の品詞を表わす品詞情報とともに登録した単語辞書を検索する第１辞書検索機能と、
単語に膠着して文節を形成する文字列を、前記品詞別に１文字をノードとするツリー構造にて登録した膠着文字列辞書を検索する第２辞書検索機能と、
前記候補文字受取機能により受け取った候補文字を、前記第１辞書検索機能を用いて絞り込むとともに、単語が確定したときに、該単語についての前記単語辞書に登録された品詞情報に基づいて、前記第２辞書検索機能により前記膠着文字列辞書のツリー構造をたどることで、当該単語に後続する文字列についての候補文字を１文字単位で順に絞り込むことにより、前記補正を行なう補正機能と
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項１６】
複数の文字からなる入力文字列を光学的に認識して得られた文字認識結果を補正するためのコンピュータプログラムであって、
前記文字認識結果として、前記入力文字列の各文字に対して１または複数の候補文字を受け取る候補文字受取機能と、
数値に膠着して数値接尾語を形成する文字列を、１文字をノードとするツリー構造にて登録した数値接尾語辞書を検索する辞書検索機能と、
前記候補文字受取機能により受け取った前記各文字の候補文字が数値であるか否かを判定する数値判定機能と、
前記数値判定機能により数値と判定されたとき、前記辞書検索機能により前記数値接尾語辞書のツリー構造をたどることで、当該数値に後続する文字についての前記候補文字受取機能により受け取った候補文字を１文字単位で順に絞り込むことにより、前記補正を行なう補正機能と
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項１７】
複数の文字からなる入力文字列を光学的に認識して得られた文字認識結果を補正するためのコンピュータプログラムであって、
前記文字認識結果として、前記入力文字列の各文字に対して１または複数の候補文字を受け取る候補文字受取機能と、
１文字をノードとするツリー構造にて単語を登録するとともに、各単語に品詞を表わす品詞情報を登録した単語辞書を検索する第１辞書検索機能と、
単語に膠着して文節を形成する文字列を、前記品詞別に１文字をノードとするツリー構造にて登録した膠着文字列辞書を検索する第２辞書検索機能と、
数値に膠着して数値接尾語を形成する文字列を、１文字をノードとするツリー構造にて登録した数値接尾語辞書を検索する第３辞書検索機能と、
前記第１ないし第３辞書検索機能により前記単語辞書、膠着文字列辞書および数値接尾語辞書の各ツリー構造をたどることで、前記候補文字受取機能により受け取った候補文字を前記入力文字列の１文字単位で順に絞り込むことにより、前記補正を行なう補正機能と
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項１８】
請求項１４ないし１７のいずれかに記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学的に認識して得られた文字認識結果を補正する文字認識後処理についての技術に関する。
【背景技術】
【０００２】
従来より、文字認識の技術として、ＯＣＲ（Optical Character Reader）の技術がある。ＯＣＲでは、誤認識は避けられない。文字の種類が多いため、類似した文字が多数組存在するためである。このため、ＯＣＲでの認識のみでは最終的な認識決定を行なわず、一文字毎に候補文字を出力し、後処理にて候補文字の中から正しい文字を選択する処理を行なう。この後処理により、文字認識結果を正しく補正する。
【０００３】
上記後処理では、予め辞書ファイルに単語を登録しておき、文字認識結果と比較することで文字認識結果の補正を行なう（例えば、以下の特許文献１）。詳細には、文字認識結果である候補文字を組み合わせて適当な単語を作り、単語が辞書ファイルに登録されているかを検索し、あればそれに補正、なければ再び別の組合せの単語を作り、辞書ファイルを検索という処理により補正を行なっていた。
【０００４】
【特許文献１】特開２００３−１７８２６１
【０００５】
しかしながら、上記従来の技術では、１文字ごとの候補文字の組み合わせによって作ることのできる単語のパターンが多数になり、また、それら多数のパターンを辞書ファイルの単語に対して個別に一致するかを検索していく必要があり、辞書検索を短時間に終えることができなかった。この結果、文字認識の後処理の高速化を図ることが困難であった。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の解決しようとする課題は、文字認識の後処理の高速化を図ることにある。
【課題を解決するための手段】
【０００７】
前述した課題の少なくとも一部を解決するための手段として、以下に示す構成をとった。
【０００８】
本発明の第１の文字認識後処理装置は、
複数の文字からなる入力文字列を光学的に認識して得られた文字認識結果を補正する文字認識後処理装置であって、
１文字をノードとするツリー構造にて単語を登録した単語辞書を記憶する辞書記憶手段と、
前記文字認識結果として、前記入力文字列の各文字に対して１または複数の候補文字を受け取る候補文字受取手段と、
前記単語辞書のツリー構造をたどることで、前記候補文字受取手段により受け取った候補文字を前記入力文字列の１文字単位で順に絞り込むことにより、前記補正を行なう補正手段と
を備えることを特徴としている。
【０００９】
前記構成の第１の文字認識後処理装置によれば、単語辞書がツリー構造となっていることから、ツリー構造をたどることで文字認識により得られた文字認識結果を絞り込んでいくことができる。従来の技術では、候補文字を組み合わせて作った単語を、全ての登録単語との間でマッチングを図るといった処理が必要であったが、前記第１の文字認識後処理装置では、文字認識結果を徐々に絞り込んでいくことができることから、効率的な辞書検索が可能となる。したがって、文字認識の後処理の高速化を図ることができる。
【００１０】
前記第１の文字認識後処理装置において、前記単語辞書は、各ノードに、先頭ノードから該ノードまでで単語が成立しているか否かを示す情報が付与されたツリー構造としてもよい。
【００１１】
この構成によれば、例えば「あさ」と「あさがお」のように、分岐しない１本の枝で複数の単語を登録することができる。したがって、単語辞書の簡略化を図ることができる。
【００１２】
前記第１の文字認識後処理装置において、前記単語辞書は、単語を構成する１文字分として、データ番号を格納するデータ番号項目と、当該１文字の文字コードを格納する文字コード項目と、当該１文字に後続する文字の格納場所を示すデータ番号を格納する後続文字データ番号項目とを備えるレコードを用意して、該レコードの集まりによって構成したものとしてもよい。
【００１３】
この構成によれば、簡単なファイル構成によりツリー構造を構築することができる。
【００１４】
本発明の第２の文字認識後処理装置は、
複数の文字からなる入力文字列を光学的に認識して得られた文字認識結果を補正する文字認識後処理装置であって、
単語を該単語の品詞を表わす品詞情報とともに登録した単語辞書を記憶する第１辞書記憶手段と、
単語に膠着して文節を形成する文字列を、前記品詞別に１文字をノードとするツリー構造にて登録した膠着文字列辞書を記憶する第２辞書記憶手段と、
前記文字認識結果として、前記入力文字列の各文字に対して１または複数の候補文字を受け取る候補文字受取手段と、
前記候補文字受取手段により受け取った候補文字を、前記単語辞書を用いて絞り込むとともに、単語が確定したときに、該単語についての前記単語辞書に登録された品詞情報に基づいて、前記膠着文字列辞書のツリー構造をたどることで、当該単語に後続する文字列についての候補文字を１文字単位で順に絞り込むことにより、前記補正を行なう補正手段と
を備えることを特徴としている。
【００１５】
前記構成の第２の文字認識後処理装置によれば、膠着文字列辞書がツリー構造となっていることから、ツリー構造をたどることで文字認識により得られた文字認識結果を絞り込んでいくことができる。このため、効率的な辞書検索が可能となり、文字認識の後処理の高速化を図ることができる。また、この第２の文字認識後処理装置によれば、単語と膠着文字列とで構成される文節単位を一つの形態素として探索することができ、補正精度を高めることができる。
【００１６】
前記構成の第２の文字認識後処理装置において、前記単語辞書は、１文字をノードとするツリー構造にて単語を登録した構成であり、前記補正手段は、前記単語辞書のツリー構造をたどることで、前記候補文字受取手段により受け取った候補文字を前記入力文字列の１文字単位で順に絞り込むことにより、前記単語の確定を行なう単語補正手段を備える構成としてもよい。
【００１７】
この構成によれば、単語辞書もツリー構造となっていることから、文字認識の後処理のより一層の高速化を図ることができる。
【００１８】
前記構成の第２の文字認識後処理装置において、前記補正手段は、前記候補文字の絞り込みにより、前記１文字あたりに複数の候補文字が選択されたとき、最長一致する文節を形成する候補文字を選択する最長一致検索手段を備えた構成としてもよい。
【００１９】
この構成によれば、最も長い文節を形成する候補文字が選択されることから、補正精度をより一層高めることができる。
【００２０】
本発明の第３の文字認識後処理装置は、
複数の文字からなる入力文字列を光学的に認識して得られた文字認識結果を補正する文字認識後処理装置であって、
数値に膠着して数値接尾語を形成する文字列を、１文字をノードとするツリー構造にて登録した数値接尾語辞書を記憶する辞書記憶手段と、
前記文字認識結果として、前記入力文字列の各文字に対して１または複数の候補文字を受け取る候補文字受取手段と、
前記候補文字受取手段により受け取った前記各文字の候補文字が数値であるか否かを判定する数値判定手段と、
前記数値判定手段により数値と判定されたとき、前記数値接尾語辞書のツリー構造をたどることで、当該数値に後続する文字についての前記候補文字受取手段により受け取った候補文字を１文字単位で順に絞り込むことにより、前記補正を行なう補正手段と
を備えることを特徴としている。
【００２１】
前記構成の第３の文字認識後処理装置によれば、数値接尾語辞書がツリー構造となっていることから、ツリー構造をたどることで文字認識により得られた文字認識結果を絞り込んでいくことができる。このため、効率的な辞書検索が可能となり、文字認識の後処理の高速化を図ることができる。また、この第２の文字認識後処理装置によれば、数値と数値接尾語とで構成される文節単位を一つの形態素として探索することができ、数値についての補正精度を高めることができる。
【００２２】
前記第３の文字認識後処理装置において、前記数値判定手段は、数値に付随する小数点とコンマも数値であると判定する構成としてもよい。この構成によれば、小数点やコンマを含む数値についても、数値接尾語と共に一つの形態素として探索することができることから、補正精度をより高めることができる。
文字認識後処理装置。
【００２３】
本発明の第４の文字認識後処理装置は、
複数の文字からなる入力文字列を光学的に認識して得られた文字認識結果を補正する文字認識後処理装置であって、
１文字をノードとするツリー構造にて単語を登録するとともに、各単語に品詞を表わす品詞情報を登録した単語辞書を記憶する第１辞書記憶手段と、
単語に膠着して文節を形成する文字列を、前記品詞別に１文字をノードとするツリー構造にて登録した膠着文字列辞書を記憶する第２辞書記憶手段と、
数値に膠着して数値接尾語を形成する文字列を、１文字をノードとするツリー構造にて登録した数値接尾語辞書を記憶する第３辞書記憶手段と、
前記文字認識結果として、前記入力文字列の各文字に対して１または複数の候補文字を受け取る候補文字受取手段と、
前記単語辞書、膠着文字列辞書および数値接尾語辞書の各ツリー構造をたどることで、前記候補文字受取手段により受け取った候補文字を前記入力文字列の１文字単位で順に絞り込むことにより、前記補正を行なう補正手段と
を備えることを特徴としている。
【００２４】
前記構成の第４の文字認識後処理装置によれば、単語辞書、膠着文字列辞書および数値接尾語辞書の全てがツリー構造となっていることから、より一層効率的な辞書検索が可能となり、文字認識の後処理の高速化を図ることができる。また、補正精度を高めることができる。
【００２５】
本発明の第１の文字認識後処理方法は、
複数の文字からなる入力文字列を光学的に認識して得られた文字認識結果を補正する文字認識後処理方法であって、
１文字をノードとするツリー構造にて単語を登録した単語辞書を予め記憶する辞書記憶行程と、
前記文字認識結果として、前記入力文字列の各文字に対して１または複数の候補文字を受け取る候補文字受取行程と、
前記単語辞書のツリー構造をたどることで、前記候補文字受取行程により受け取った候補文字を前記入力文字列の１文字単位で順に絞り込むことにより、前記補正を行なう補正行程と
を備えることを特徴としている。
【００２６】
本発明の第１のコンピュータプログラムは、
複数の文字からなる入力文字列を光学的に認識して得られた文字認識結果を補正するためのコンピュータプログラムであって、
前記文字認識結果として、前記入力文字列の各文字に対して１または複数の候補文字を受け取る候補文字受取機能と、
１文字をノードとするツリー構造にて単語を登録した単語辞書を検索する辞書検索機能と
前記辞書検索機能により前記単語辞書のツリー構造をたどることで、前記候補文字受取機能により受け取った候補文字を前記入力文字列の１文字単位で順に絞り込むことにより、前記補正を行なう補正機能と
をコンピュータに実現させることを特徴としている。
【００２７】
本発明の第１の文字認識後処理方法および第１のコンピュータプログラムによっても、本発明の第１の文字認識後処理装置と同様に、文字認識の後処理の高速化を図ることができるという効果を奏する。
【００２８】
本発明の第２の文字認識後処理方法は、
複数の文字からなる入力文字列を光学的に認識して得られた文字認識結果を補正する文字認識後処理方法であって、
単語を該単語の品詞を表わす品詞情報とともに登録した単語辞書を予め記憶する第１辞書記憶行程と、
単語に膠着して文節を形成する文字列を、前記品詞別に１文字をノードとするツリー構造にて登録した膠着文字列辞書を予め記憶する第２辞書記憶行程と、
前記文字認識結果として、前記入力文字列の各文字に対して１または複数の候補文字を受け取る候補文字受取行程と、
前記候補文字受取行程により受け取った候補文字を、前記単語辞書を用いて絞り込むとともに、単語が確定したときに、該単語についての前記単語辞書に登録された品詞情報に基づいて、前記膠着文字列辞書のツリー構造をたどることで、当該単語に後続する文字列についての候補文字を１文字単位で順に絞り込むことにより、前記補正を行なう補正行程と
を備えることを特徴としている。
【００２９】
本発明の第２のコンピュータプログラムは、
複数の文字からなる入力文字列を光学的に認識して得られた文字認識結果を補正するためのコンピュータプログラムであって、
前記文字認識結果として、前記入力文字列の各文字に対して１または複数の候補文字を受け取る候補文字受取機能と、
単語を該単語の品詞を表わす品詞情報とともに登録した単語辞書を検索する第１辞書検索機能と、
単語に膠着して文節を形成する文字列を、前記品詞別に１文字をノードとするツリー構造にて登録した膠着文字列辞書を検索する第２辞書検索機能と、
前記候補文字受取機能により受け取った候補文字を、前記第１辞書検索機能を用いて絞り込むとともに、単語が確定したときに、該単語についての前記単語辞書に登録された品詞情報に基づいて、前記第２辞書検索機能により前記膠着文字列辞書のツリー構造をたどることで、当該単語に後続する文字列についての候補文字を１文字単位で順に絞り込むことにより、前記補正を行なう補正機能と
をコンピュータに実現させることを特徴としている。
【００３０】
本発明の第２の文字認識後処理方法および第２のコンピュータプログラムによっても、本発明の第２の文字認識後処理装置と同様に、文字認識の後処理の高速化を図るとともに、補正精度を高めることができるという効果を奏する。
【００３１】
本発明の第３の文字認識後処理方法は、
複数の文字からなる入力文字列を光学的に認識して得られた文字認識結果を補正する文字認識後処理方法であって、
数値に膠着して数値接尾語を形成する文字列を、１文字をノードとするツリー構造にて登録した数値接尾語辞書を予め記憶する辞書記憶行程と、
前記文字認識結果として、前記入力文字列の各文字に対して１または複数の候補文字を受け取る候補文字受取行程と、
前記候補文字受取行程により受け取った前記各文字の候補文字が数値であるか否かを判定する数値判定行程と、
前記数値判定行程により数値と判定されたとき、前記数値接尾語辞書のツリー構造をたどることで、当該数値に後続する文字についての前記候補文字受取行程により受け取った候補文字を１文字単位で順に絞り込むことにより、前記補正を行なう補正行程と
を備えることを特徴としている。
【００３２】
本発明の第３のコンピュータプログラムは、
複数の文字からなる入力文字列を光学的に認識して得られた文字認識結果を補正するためのコンピュータプログラムであって、
前記文字認識結果として、前記入力文字列の各文字に対して１または複数の候補文字を受け取る候補文字受取機能と、
数値に膠着して数値接尾語を形成する文字列を、１文字をノードとするツリー構造にて登録した数値接尾語辞書を検索する辞書検索機能と、
前記候補文字受取機能により受け取った前記各文字の候補文字が数値であるか否かを判定する数値判定機能と、
前記数値判定機能により数値と判定されたとき、前記辞書検索機能により前記数値接尾語辞書のツリー構造をたどることで、当該数値に後続する文字についての前記候補文字受取機能により受け取った候補文字を１文字単位で順に絞り込むことにより、前記補正を行なう補正機能と
をコンピュータに実現させることを特徴としている。
【００３３】
本発明の第３の文字認識後処理方法および第３のコンピュータプログラムによっても、本発明の第３の文字認識後処理装置と同様に、文字認識の後処理の高速化を図るとともに、補正精度を高めることができるという効果を奏する。
【００３４】
本発明の第４の文字認識後処理方法は、
複数の文字からなる入力文字列を光学的に認識して得られた文字認識結果を補正する文字認識後処理方法であって、
１文字をノードとするツリー構造にて単語を登録するとともに、各単語に品詞を表わす品詞情報を登録した単語辞書を予め記憶する第１辞書記憶行程と、
単語に膠着して文節を形成する文字列を、前記品詞別に１文字をノードとするツリー構造にて登録した膠着文字列辞書を予め記憶する第２辞書記憶行程と、
数値に膠着して数値接尾語を形成する文字列を、１文字をノードとするツリー構造にて登録した数値接尾語辞書を予め記憶する第３辞書記憶行程と、
前記文字認識結果として、前記入力文字列の各文字に対して１または複数の候補文字を受け取る候補文字受取行程と、
前記単語辞書、膠着文字列辞書および数値接尾語辞書の各ツリー構造をたどることで、前記候補文字受取行程により受け取った候補文字を前記入力文字列の１文字単位で順に絞り込むことにより、前記補正を行なう補正行程と
を備えることを特徴としている。
【００３５】
本発明の第４のコンピュータプログラムは、
複数の文字からなる入力文字列を光学的に認識して得られた文字認識結果を補正するためのコンピュータプログラムであって、
前記文字認識結果として、前記入力文字列の各文字に対して１または複数の候補文字を受け取る候補文字受取機能と、
１文字をノードとするツリー構造にて単語を登録するとともに、各単語に品詞を表わす品詞情報を登録した単語辞書を検索する第１辞書検索機能と、
単語に膠着して文節を形成する文字列を、前記品詞別に１文字をノードとするツリー構造にて登録した膠着文字列辞書を検索する第２辞書検索機能と、
数値に膠着して数値接尾語を形成する文字列を、１文字をノードとするツリー構造にて登録した数値接尾語辞書を検索する第３辞書検索機能と、
前記第１ないし第３辞書検索機能により前記単語辞書、膠着文字列辞書および数値接尾語辞書の各ツリー構造をたどることで、前記候補文字受取機能により受け取った候補文字を前記入力文字列の１文字単位で順に絞り込むことにより、前記補正を行なう補正機能と
をコンピュータに実現させることを特徴としている。
【００３６】
本発明の第４の文字認識後処理方法および第４のコンピュータプログラムによっても、本発明の第４の文字認識後処理装置と同様に、文字認識の後処理の高速化を図るとともに、補正精度を高めることができるという効果を奏する。
【００３７】
本発明の記録媒体は、本発明の第１ないし第４のいずれかのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体を特徴としている。本記録媒体は、本発明のコンピュータプログラムと同様な作用・効果を有している。
【００３８】
本発明は、以下のような他の態様も含んでいる。その第１の態様は、本発明のコンピュータプログラムを通信経路を介して供給するプログラム供給装置としての態様である。この第１の態様では、コンピュータプログラムをコンピュータネットワーク上のサーバなどに置き、通信経路を介して、必要なプログラムをコンピュータにダウンロードし、これを実行することで、上記の方法や装置を実現することができる。
【発明を実施するための最良の形態】
【００３９】
本発明を実施するための最良の形態を実施例に基づき説明する。この実施例を、次の順序に従って説明する。
１．装置の構成：
２．データの構成：
３．コンピュータ処理：
４．作用・効果：
５．他の実施形態：
【００４０】
１．装置の構成：
図１は、本発明の一実施例を適用するコンピュータシステムの概略構成を示す説明図である。この実施例のコンピュータシステムは、本発明の文字認識後処理装置を構成するパーソナルコンピュータ１０を中心に備え、その周辺装置として、ディスプレイ２０とキーボード２２とマウス２４を備える。さらに、パーソナルコンピュータ１０には、イメージスキャナ２６とＣＤドライブ２８が接続されている。イメージスキャナ２６は、スキャン動作によって写真や文書などの原稿Ｐを電気的イメージ（画像データ）に変換する装置である。
【００４１】
パーソナルコンピュータ１０は、中央演算処理装置としてのＣＰＵ１１を中心にバス１２により相互に接続されたメモリ１３、表示画像メモリ１４、ハードディスクドライブ１５、入出力制御ユニット１６、表示制御ユニット１７等を備える。メモリ１３は、各種データ等を記憶するもので、ＣＰＵ１１の作業領域となる。表示画像メモリ１４は、ディスプレイ２０に表示する画像データを一旦記憶するメモリである。
【００４２】
ハードディスクドライブ１５は、ＯＣＲソフトウェアとしてのコンピュータプログラムＰｒを記憶する。また、ハードディスクドライブ１５には、イメージスキャナ２６で読み取った文書の画像データＤｐが一旦記憶される。
【００４３】
入出力制御ユニット１６は、キーボード２２やマウス２４から入力操作を取り込み、イメージスキャナ２６から画像データを取り込み、ＣＤドライブ２８からデータを取り込む制御ユニットである。表示制御ユニット１７は、ディスプレイ２０への信号出力を制御する制御ユニットである。
【００４４】
コンピュータプログラムＰｒは、もともとは、記録媒体としてのＣＤ−ＲＯＭ（図示せず）に記憶されている。そのＣＤ−ＲＯＭをＣＤドライブ２８にセットして、所定のインストールプログラムを起動することで、コンピュータプログラムＰｒをＣＤ−ＲＯＭから読み出してハードディスクドライブ１５にインストールすることができる。インストールされたコンピュータプログラムＰｒをＣＰＵ１１が実行することにより、ＯＣＲに関わる各種処理が行なわれる。
【００４５】
なお、コンピュータプログラムＰｒのインストールの際には、ＯＣＲに用いる３つの辞書Ｇ１，Ｇ２，Ｇ３もＣＤ−ＲＯＭから読み出されてハードディスクドライブ１５に格納される。３つの辞書は、パターン辞書Ｇ１と単語辞書Ｇ２と膠着文字列辞書Ｇ３である。パターン辞書Ｇ１は、１文字毎の文字パターンを記憶するもので、周知のものである。単語辞書Ｇ２および膠着文字列辞書Ｇ３は、本発明独自のデータ構成を備えるもので、後述する。
【００４６】
ＯＣＲ、すなわち光学式の文字認識システムは、大きく分けると前処理と文字認識処理と後処理の3つの処理で構成される。図１では、これら処理が、ＣＰＵ１１の内部で実現される機能のブロックによって示されている。すなわち、ＣＰＵ１１は、前処理部３１、文字認識処理部３２および後処理部３３を機能として備える。前処理部３１では、文字認識にかける前の画像処理（グレースケール化、２値化処理など）、行切り出し、文字切り出し、正規化処理を、ハードディスクドライブ１５に格納した画像データＤｐに対して行なう。文字認識処理部３２では、前処理部３１で切り出した文字画像に対して統計的手法による文字認識処理を行ない、パターン辞書Ｇ１に登録された文字パターンの情報との距離計算を行ない、各文字に対して１または複数の候補文字を算出する。
【００４７】
後処理部３３では、単語辞書Ｇ２および膠着文字列辞書Ｇ３を用いて、候補文字を妥当な文字に絞り込む処理を行なう。この後処理部３３で、本発明の文字認識後処理装置の各種構成要件が実現される。すなわち、後処理部３３は、候補文字受取部３３ａと補正部３３ｂとを機能として備える。候補文字受取部３３ａと補正部３３ｂの働きについては、後ほど詳述する。
【００４８】
上記コンピュータプログラムＰｒは、ＣＤ−ＲＯＭに替えて、フレキシブルディスク、光磁気ディスク、ＩＣカード等の他の携帯型記録媒体（可搬型記録媒体）に格納された構成として、これらから提供されたものとすることができる。また、このコンピュータプログラムＰｒは、外部のネットワークに接続される特定のサーバから、ネットワークを介して提供されたものとすることもできる。上記ネットワークとしては、インターネットであってもよく、特定のホームページからダウンロードして得たコンピュータプログラムであってもよい。あるいは、電子メールの添付ファイルの形態で供給されたコンピュータプログラムであってもよい。
【００４９】
２．データの構成：
図２は、文字認識処理部３２によって得られた認識結果の一例を示す説明図である。図示するように、認識結果を示す認識結果データＤＴ１は、認識対象である入力文字列の１文字毎に、候補文字が並んだものとなっている。候補文字は、入力文字列の各文字に対して第１候補から第ｎ候補（例えば、ｎ＝１０）まで得られる。この候補数は、各文字によって様々であり、一つだけのこともあれば、ｎ個のこともある。図示の例では、例えば、１文字目（文字Ｎｏ．＝１）の候補結果は、第１候補の「あ」と、第２候補の「お」と、第３候補の「わ」等であり、２文字目（文字Ｎｏ．＝２）の候補結果は、第１候補の「さ」と、第２候補の「き」と、第３候補の「キ」等であることがわかる。なお、図１における後処理部３３に備えられた候補文字受取部３３ａは、上記認識結果データＤＴ１を文字認識処理部３２から受け取る働きをする。
【００５０】
図３は、単語辞書Ｇ２のデータ構成の一例を模式的に示す説明図である。単語辞書Ｇ２は、多数の単語を登録する辞書ファイルであり、この単語の登録の仕方が本発明独自のものである。図示するように、各単語は、１文字をノードとするツリー構造にて記憶されている。ここで、ノードとは、ツリー構造の要素である。なお、単語辞書Ｇ２に登録される単語は、いわゆる自立語であるが、必ずしも自立語だけに限る必要もなく、設計者が、必要と考える単語ならどういったものであってもよい。
【００５１】
図示の例では、「あ」の文字を先頭ノードとして、この先頭ノードに、「さ」と「じ」のノードが接続されている。「さ」のノードには、「が」と「ま」のノードが接続され、その「が」のノードには、「お」と「た」のノードが接続されている。図示において、各ノードには、右肩に「＊」が付いているものと付いていないものとがあるが、「＊」が付いているノードは、その位置まで各ノードを先頭ノードから順にたどることにより１つの単語が成立していることを示している。すなわち、上述した「た」のノードまでで、「あ」と「あさ」と「あさがお」と「あさがた」の４つの単語が登録されていることになる。なお、「あ」は、「開く」、「開ける」等を意味するカ行五段動詞の単語として登録されている。
【００５２】
一方、上記「ま」のノードには、「や」のノードが接続され、さらに、その「や」のノードには、「ま」のノードが接続されている。最初の「ま」のノードと後の「ま」のノードには「＊」が付いていることから、「あさま」と「あさまやま」の２つの単語がさらに登録されていることになる。
【００５３】
また、先頭ノードに続く「じ」のノードには、「さ」のノードが接続され、さらに、その「さ」のノードには、「い」のノードが接続されている。「じ」のノードと「い」のノードには「＊」が付いていることから、「あじ」と「あじさい」の２つの単語がさらに登録されていることになる。
【００５４】
すなわち、図示の例では、単語辞書Ｇ２には、「あ」、「あさ」、「あさがお」、「あさがた」、「あさま」、「あさまやま」、「あじ」、「あじさい」の８つの単語が登録されていることになる。なお、図示はあくまでも例示のためで、単語辞書Ｇ２には、実際は大量の単語が同様のツリー構造にて登録されている。なお、図示の例では、ノードを構成する文字は、「ひらがな」であったが、もちろん「ひらがな」に限る必要はなく、「カタカナ」、「漢字」、「英字」等、単語を構成するための文字であればどのようなものでもよい。
【００５５】
図４は、単語辞書Ｇ２の実際のデータ構成を示す説明図である。単語辞書Ｇ２は、前述したようなツリー構造を備えるが、実際のデータは、図４に示すように構成されている。図示するように、「データＮｏ．」、「文字コード」、「後続文字のデータＮｏ．」、「後続文字数」、「単語情報」の各フィールド（項目）Ｆ１〜Ｆ５によって１レコードが構成されており、この１レコードで１文字についての情報が記憶されている。
【００５６】
「データＮｏ．」のフィールドＦ１には、「０」からの連続する数が記憶されている。「文字コード」のフィールドＦ２には、１文字の文字コード（図示では、ひらがなが記載されているが、実際はそのひらがなに対応した文字コード）が記憶されている。「後続文字のデータＮｏ．」のフィールドＦ３には、このレコードで示される１文字に後続する文字がいずれであるかを示す「データＮｏ．」が記憶されている。後続する文字がない場合には、ヌルとなっている（図中では、"−"で示した）。「後続文字数」のフィールドＦ４には、このレコードで示される１文字に後続する文字数が何文字かを示す数値が記憶されている。
【００５７】
「単語情報」のフィールドＦ５には、このレコードで示される１文字までで形成される単語の品詞情報が記憶されている。品詞情報は、単語の品詞を表わす情報であり、「名詞」、「さ変名詞」、「形容詞」、「あわ行五段動詞」、「か行五段動詞」、「が行五段動詞」、「さ行五段動詞」、「一段動詞」、「さ変動詞」、「ざ変動詞」等が用意されている。なお、このレコードで示される１文字までで単語が成立していない場合には、「単語情報」のフィールドＦ５はヌルとなる（図中では、"−"で示した）。すなわち、図３において、「＊」が付いているノードの場合には、「単語情報」のフィールドＦ５には、品詞情報が必ず記憶されており、一方、「＊」が付いていないノードの場合には、「単語情報」のフィールドＦ５はヌルとなる。
【００５８】
図示するように、「データＮｏ．」のフィールドＦ１に記憶されている数値が"０"である第１番目のレコードにおいて、「文字コード」のフィールドＦ２には、先頭ノードとしての文字コード「あ」が記憶されており、「後続文字のデータＮｏ．」のフィールドＦ３には、"１"が記憶され、「後続文字数」のフィールドＦ４には、"２"が記憶されている。これにより、「あ」の先頭ノードに対して、「後続文字のデータＮｏ．」＝"１"である第２番目のレコードに記憶された文字コード「さ」がノードとして後続することが判る。なお、「後続文字数」のフィールドＦ４の値が"２"であることから、上記第２番目のレコードに続く１レコード（「後続文字数」が、例えば"３"である場合には、２レコードとなる）に記憶された文字コード「じ」もノードとして後続することが判る。すなわち、「あ」−「さ」という繋がりと、「あ」−「じ」という繋がりが２つ形成されることになる。図４で示した単語辞書Ｇ２は、上記のような法則でもって各フィールＦ１〜Ｆ５が埋められており、この結果、「データＮｏ．」＝"０"〜"１０"のレコードでもって、図３に示したツリー構造が構築されることになる。
【００５９】
続く「データＮｏ．」＝"１１"のレコードには、「い」の先頭ノードについての情報が格納されており、それ以後のレコードでもって、先頭ノードが「い」であるツリー構造が構築される。このようにして、単語辞書Ｇ２には、多数のツリー構造が記憶される。
【００６０】
図５は、膠着文字列辞書Ｇ３のデータ構成の一例を模式的に示す説明図である。膠着文字列辞書Ｇ３は、単語に膠着して文節を形成する文字列（以下、「膠着文字列」と呼ぶ）を多数登録する辞書ファイルである。各膠着文字列は、単語Ｗの後に付けて用いられる、いわゆる「付属語」であり、単語Ｗの品詞別に、１文字をノードとするツリー構造にて記憶されている。なお、膠着文字列辞書Ｇ３に登録される膠着文字列は、付属語であるが、必ずしも付属語だけに限る必要もなく、設計者が、必要と考える文字列ならどういったものであってもよい。
【００６１】
図示の例では、単語Ｗの品詞が「名詞」である先頭ノードに対して、「が」と「を」と「で」のノードが接続されている。「で」のノードには、「あ」と「す」のノードが接続され、その「あ」のノードには、「る」と「り」のノードが接続されている。図示において、各ノードには、右肩に「＊」が付いているものと付いていないものとがあるが、「＊」が付いているノードは、その位置まで各ノードを先頭ノードから順にたどることにより１つの膠着文字列が成立していることを示している。すなわち、図示の例では、「名詞」の品詞に対して、「が」、「を」、「で」、「である」、「であり」、「です」の６つの膠着文字列が登録されていることになる。なお、「膠着文字列」は、上記のように文字数が１つであっても該当するもので、このことは、本明細書全てに共通するものとする。
【００６２】
また、単語Ｗの品詞が「さ変名詞」である先頭ノードに対して、「さ」と「し」のノードが接続されている。「さ」のノードには、「せ」と「れ」のノードが接続され、その「せ」のノードには、「た」と「る」のノードが接続され、「れ」のノードには、「た」と「て」のノードが接続されている。一方、「し」のノードには、「た」と「て」のノードが接続され、その「た」のノードには、「い」のノードが接続されている。したがって、図示の例では、「さ変名詞」の品詞に対して、「させ」、「させた」、「させる」、「された」、「されて」、「し」、「した」、「したい」、「して」の９つの膠着文字列が登録されていることになる。
【００６３】
膠着文字列辞書Ｇ３には、前述した「名詞」と「さ変名詞」だけではなく、図４の「単語情報」のフィールドＦ５に格納し得る全ての品詞について、ツリー構造にて膠着文字列が登録されている。さらに、この膠着文字列辞書Ｇ３には、数値に対する膠着文字列（例えば、「％」、「ｃｍ」、「ｋｇ」等の単位など）も、数値接尾語として登録されている。数値接尾語は、膠着する対象が「単語」に替えて「数値」であると考えれば、膠着文字列辞書Ｇ３に、「単語」に対する膠着文字列と同様な形式で登録することが可能であるからである。
【００６４】
図６は、膠着文字列辞書Ｇ３の中の「数値」に対する数値接尾語の一例を模式的に示す説明図である。図示するように、「数値」の先頭ノードに対して、「％」と「ｃ」と「ｋ」と「日」と「月」と「年」のノードが接続されている。「ｃ」のノードには、「ｍ」のノードが接続されている。「ｋ」のノードには、「ｍ」と「ｇ」のノードが接続されている。「日」のノードには、「間」のノードが接続され、「月」のノードには、「間」のノードが接続され、「年」のノードには、「間」のノードが接続されている。図示において、各ノードには、右肩に「＊」が付いているものと付いていないものとがあるが、「＊」が付いているノードは、その位置まで各ノードを先頭ノードから順にたどることにより１つの膠着文字列としての数値接尾語が成立していることを示している。すなわち、図示の例では、「数値」に対して、「％」、「ｃｍ」、「ｋｍ」、「ｋｇ」、「日」、「日間」、「月」、「月間」、「年」、「年間」の１０つの数値接尾語が登録されていることになる。
【００６５】
なお、単語辞書Ｇ２における図３に対する図４と同様に、この膠着文字列辞書Ｇ３についても、実際は、複数のフィールドの集まりであるレコードの集合としてのファイルによって構成されている。図示は省略するが、この１レコードは、「データＮｏ．」、「文字コード」、「後続文字のデータＮｏ．」、「後続文字数」、「膠着文字列情報」の各フィールドを備え、この構成によってツリー構造が構築されることになる。
【００６６】
なお、この実施例では、前述したように、膠着文字列辞書Ｇ３の中には、単語に膠着して文節を形成する文字列とともに、数値に膠着する数値接尾語が登録されているが、これに替えて、数値接尾語を膠着文字列辞書Ｇ３とは別体の辞書（数値接尾語辞書）として用意する構成とすることもできる。
【００６７】
３．コンピュータ処理：
コンピュータプログラムＰｒに従う制御処理について、以下詳細に説明する。コンピュータプログラムＰｒは、前述した前処理と文字認識処理と後処理を実行するが、前処理と文字認識処理については周知の構成であることから、ここでは説明を省略する。以下、後処理について詳述する。
【００６８】
図７は、「後処理」の制御ルーチンを示すフローチャートである。この制御ルーチンは、文字認識処理の実行後、続いて実行開始される。図示するように、処理が開始されると、ＣＰＵ１１は、まず、文字認識処理で得られた認識結果データＤＴ１を受け取る処理を実行する（ステップＳ１００）。このステップＳ１００が、候補文字受取部３３ａ（図１）に対応する。
【００６９】
次いで、ＣＰＵ１１は、認識結果データＤＴ１で表わされる文字列の文字数を変数Ｍにセットする処理を行なう（ステップＳ１１０）。図２に示す例では、認識結果データＤＴ１の文字数は１３であることから、変数Ｍには値１３がセットされる。続いて、ＣＰＵ１１は、その文字列の中で注目している文字の番号を表わす変数Ｎに値１をセットする（ステップＳ１２０）。
【００７０】
その後、ＣＰＵ１１は、認識結果データＤＴ１で表わされる文字列の中から、変数Ｎで示されるＮ文字目についての第１番目の候補文字を検索用として仮決めする（ステップＳ１３０）。次いで、ＣＰＵ１１は、ステップＳ１４０の文節探索処理に処理を進める。
【００７１】
文節探索処理については、後ほどフローチャートを用いて詳述するが、要は、前述した単語辞書Ｇ２と膠着文字列辞書Ｇ３を用いて、ステップＳ１００で受け取った認識結果データＤＴ１から文節を探索する処理を行なう。すなわち、認識結果データＤＴ１における入力文字列の各文字に対する候補文字を順に絞り込むことにより文節を探索する。この文節探索処理を、図２に例示した認識結果データＤＴ１を用いて具体的に説明する。文節探索処理は、以下の（１）〜（５）の順に実行される。
【００７２】
（１）ステップＳ１３０で検索用として仮決めされた１文字目（「文字Ｎｏ．」＝１）の第１候補である「あ」を選択する。
（２)単語辞書Ｇ２から「あ」の先頭ノードを検索して、その先頭ノードに後続する文字を検索し、その検索結果と一致する文字を、２文字目（「文字Ｎｏ．」＝２）の候補文字の中から選択する。ここでは、単語辞書Ｇ２から「さ」と「じ」が検索されることから、２文字目の第１候補である「さ」が選択される。
（３)前記（２）と同様にして後続する候補文字を順に選択していくことで単語を仮決定する。ここでは、「が」、「お」と順に決定されて、「あさがお」が単語として成立することから、この成立した「あさがお」が仮決定される。なお、実際は、単語辞書Ｇ２には、「あ」も「あさ」も単語として登録されていることから、「あ」も「あさ」もその都度、仮決定されるが、最終的には最長となる単語、すなわち「あさがお」が残される。
【００７３】
（４）前記（３）で仮決定された「あさがお」は名詞なので、膠着文字列辞書Ｇ３から「名詞」の先頭ノードに後続する文字を検索して、検索結果と一致する文字を、「あさがお」に続く５文字目（「文字Ｎｏ．」＝２）の候補文字の中から選択する。ここでは、膠着文字列辞書Ｇ３から「が」と「を」と「で」が検索されることから、５文字目の第１候補である「を」が選択される。
（５）「を」だけで膠着文字列が成立することから、単語に膠着文字列を付け足した文節、すなわち「あさがおを」が仮決定される。この結果、１文字目として第１候補である「あ」を選択したときの文節として、「あさがおを」が抽出される。
【００７４】
図７に戻り、ステップＳ１４０の文節探索処理の終了後、ＣＰＵ１１は、ステップＳ１５０に処理を進めて、認識結果データＤＴ１で表わされる文字列の中から、変数Ｎで示されるＮ文字目について次の候補文字（すなわち、ステップＳ１３０の第１番目に続く第２番目の候補文字）が存在か否かを判定する。図２の例では、「文字Ｎｏ．」＝１の第２候補である「お」が存在することから、ステップＳ１５０では「存在する」と判定される。ステップＳ１５０で存在すると判定されると、ＣＰＵ１１は、存在すると判定された上記次の候補文字を検索用として仮決めして（ステップＳ１６０）、ステップＳ１４０の文節探索処理に処理を戻す。
【００７５】
この結果、１文字目として第２候補である「お」を選択したときの文節が抽出される。ステップＳ１４０ないしＳ１６０を繰り返し実行することにより、認識結果データＤＴ１の中から、第１文字目の各候補文字（第１候補〜第ｎ候補）を先頭文字として成立する全ての文節が抽出されることになる。ステップＳ１５０で、次の候補文字が存在しないと判定されると、ＣＰＵ１１は、ステップＳ１７０に処理を進めて、ステップＳ１４０ないしＳ１６０の繰り返しで得られた上記全ての文節の中で最長のものを選んで決定文節として記憶する。こうして、認識結果データＤＴ１の各文字の候補文字が適正なものに選択されて、認識結果データＤＴ１が正しく補正される。
【００７６】
ステップＳ１７０の実行後、ＣＰＵ１１は、変数Ｎに、ステップＳ１７０で得られた決定文節の文字数を加算する処理を行なう（ステップＳ１８０）。すなわち、認識結果データＤＴ１の中で着目している文字を、決定文節の次の文字まで進める処理を行なう。その後、ＣＰＵ１１は、変数Ｎが、ステップＳ１１０で得られた変数Ｍより小さいか否かを判定することで、上記決定文節の後ろに文字が存在するか否かを判定する（ステップＳ１９０）。ここで、文字が存在すると判定された場合には、ステップＳ１３０に処理を戻して、その決定文節の後ろについての文節検索を実行する。
【００７７】
一方、ステップＳ１９０で、変数Ｎが変数Ｍ以上であると判定されると、認識結果データＤＴ１の全ての文字についての候補文字の絞り込みが終了したとして、ＣＰＵ１１は、「エンド」に処理を進めて、この後処理の制御ルーチンを終了する。なお、ステップＳ１１０ないしＳ１９０の処理が、補正部３３ｂ（図１）に対応する。
【００７８】
ステップＳ１４０で実行される「文節探索処理」についてさらに説明をする。文節探索処理では、前述した手順によって、「単語」＋「膠着文字列」で「文節」を作成するだけでなく、「数値」＋「数値接尾語」で「数値名詞」を作成することができる。「数値」は、アラビア数字や漢数字等の数字、またはこれら数字に「．（小数点）」や「，（コンマ）」を加えたものである。「数値接尾語」は、前述したように、この実施例では膠着文字列辞書Ｇ３に登録されている。「数値名詞」は、例えば１０％、１０ｃｍ、１０日というように、数値と数値の後ろに数値接尾語が接続されたものである。
【００７９】
詳細には、数値生成ルールと呼ばれるルールを使って、数値の検索を行なって、その数値に対して、「単語」に対する「膠着文字列」と同様な手法で膠着文字列辞書Ｇ３をたどることにより、数値接尾語を決定する。上記数値生成ルールは、第１文字目に、アラビア数字、漢数字、「￥」、「＄」等の「数値開始文字」が存在するかを検索して、存在すると判定されたときにその後ろにアラビア数字、漢数字、「．」、「，」等の「数値後続文字」が続くか否かを判定するものである。この結果、数値の後ろに数値接尾語が接続された数値名詞が抽出される。
【００８０】
図２の例では、前述した（１）〜（５）により、「あさがおを」が抽出されるが、その後、上述した数値名詞を作成する処理により、「３０日間」が抽出されることになる。その後、文節検索処理により「観察する」が抽出されることになる。
【００８１】
文節探索処理についてフローチャートを用いて次に説明する。図８〜図９は、図７のステップＳ１４０で実行される文節探索処理の詳細を示すフローチャートである。図示するように、この文節探索処理に処理が移行すると、ＣＰＵ１１は、まず、単語辞書Ｇ２の中から、ステップＳ１３０で仮決めされた候補文字に対応する文字の先頭ノードを検索して、その先頭ノードを基点ノードとする処理を行なう（ステップＳ２００）。「基点ノード」とは、探索処理中に注目しているノードをいう。
【００８２】
ステップＳ２００の実行後、ＣＰＵ１１は、先頭ノードから基点ノードまで順にたどることにより単語が成立しているか否かを判定する処理を行なう（ステップＳ２１０）。具体的には、図４で例示した単語辞書Ｇ２において、基点ノードに該当するレコードにおける「単語情報」のフィールドＦ５を見て、品詞情報が記憶されているか否かによって判定を行なう。品詞情報が記憶されている場合には、この基点ノードまでで単語が成立していると判定し、ヌルである場合には、単語が成立していないと判定する。
【００８３】
ステップＳ２１０で単語が成立したと判定された場合には、ＣＰＵ１１は、ステップＳ２２０に処理を進めて、その成立した単語を仮決定単語として記憶する。ステップＳ２２０の実行後、ステップＳ２３０に処理を進める。一方、ステップＳ２１０で単語が成立していない判定された場合には、ステップＳ２２０を実行することなく、ステップＳ２３０に処理を進める。
【００８４】
ステップＳ２３０では、ＣＰＵ１１は、単語辞書Ｇ２の中から、基点ノードに続くノードの文字を検索する処理を行なう。その後、ＣＰＵ１１は、変数Ｎに値１を加算した（Ｎ＋１）文字目についての候補文字の中に、ステップＳ２３０で検索された文字が存在するか否かを判定する（ステップＳ２４０）。ここで、存在すると判定された場合には、ＣＰＵ１１は、変数Ｎを値１だけインクリメントするとともに（ステップＳ２５０）、単語辞書Ｇ２におけるステップＳ２３０で検索されたノードを基点ノードにセットする（ステップＳ２６０）。ステップＳ２６０の実行後、ＣＰＵ１１は、ステップＳ２１０に処理を戻す。
【００８５】
一方、ステップＳ２４０で、（Ｎ＋１）文字目についての候補文字の中に、ステップＳ２３０で検索された文字が存在しないと判定された場合には、ＣＰＵ１１は、図９のステップＳ２７０に処理を進める。この結果、前述した（１）〜（３）の処理が実現される。すなわち、仮決定単語として、「あ」、「あさ」、「あさがお」が順次記憶されていき、最後に記憶された「あさがお」が残される。
【００８６】
なお、前述したステップＳ２３０では、前述した数値生成ルールに当てはまる文字があるかの検索も行なう。すなわち、第１文字目においては、前述した数値開始文字が存在するかを検索して、第２文字目以降では、前述した数値後続文字が存在するかを検索する処理を行なう。この結果、ステップＳ２２０で記憶される仮決定単語としては、単語に限らず数値が記憶される場合もある。
【００８７】
図９では、図８のルーチンによって得られた仮決定単語に対して膠着文字列を付け足して文節を作成する処理を行なっている。詳細には、図９に示すように、まず、ＣＰＵ１１は、注目している文字の番号を表わす変数Ｎを、図８で得られた仮決定単語の文字数だけ加算した番号に変更する処理を行なう（ステップＳ２７０）。その後、ＣＰＵ１１は、膠着文字列辞書Ｇ３の中から、上記仮決定単語の品詞に対応する先頭ノードを検索して、その先頭ノードを基点ノードとする処理を行なう（ステップＳ２８０）。
【００８８】
ステップＳ２８０の実行後、ＣＰＵ１１は、膠着文字列辞書Ｇ３において、先頭ノードから基点ノードまで順にたどることにより膠着文字列（付属語もしくは数値接尾語となりうる膠着文字列）が成立しているか否かを判定する処理を行なう（ステップＳ２９０）。具体的には、図５で例示した膠着文字列辞書Ｇ３において、基点ノードが「＊」が付いていることを意味するものであるか否かによって判定を行なう。
【００８９】
ステップＳ２９０で膠着文字列が成立したと判定された場合には、ＣＰＵ１１は、ステップＳ３００に処理を進めて、その成立した膠着文字列を仮決定膠着文字列として記憶する。ステップＳ３００の実行後、ステップＳ３１０に処理を進める。一方、ステップＳ２９０で膠着文字列が成立していない判定された場合には、ステップＳ３００を実行することなく、ステップＳ３１０に処理を進める。
【００９０】
ステップＳ３１０では、ＣＰＵ１１は、膠着文字列辞書Ｇ３の中から、基点ノードに続くノードの文字を検索する処理を行なう。その後、ＣＰＵ１１は、変数Ｎに値１を加算した（Ｎ＋１）文字目についての候補文字の中に、ステップＳ３１０で検索された文字が存在するか否かを判定する（ステップＳ３２０）。ここで、存在すると判定された場合には、ＣＰＵ１１は、変数Ｎを値１だけインクリメントするとともに（ステップＳ３３０）、膠着文字列辞書Ｇ３におけるステップＳ３１０で検索されたノードを基点ノードにセットする（ステップＳ３４０）。ステップＳ３４０の実行後、ＣＰＵ１１は、ステップＳ２９０に処理を戻す。
【００９１】
一方、ステップＳ３２０で、（Ｎ＋１）文字目についての候補文字の中に、ステップＳ３１０で検索された文字が存在しないと判定された場合には、ＣＰＵ１１は、ステップＳ３５０に処理を進める。この結果、ステップＳ２７０ないしＳ３４０の処理により、前述した（４）の処理が実現される。すなわち、仮決定膠着文字列として「を」が抽出される。ステップＳ３５０では、仮決定単語に仮決定膠着文字列を付加して文節を決定する。このステップＳ３５０の処理は、前述した（５）の処理に該当する。この結果、１文字目として第１候補である「あ」を選択したときの文節として、「あさがおを」が抽出される。ステップＳ３５０の実行後、ＣＰＵ１１は、「リターン」に抜けて、この文節探索処理を一旦終了する。
【００９２】
４．作用・効果：
以上のように構成された本実施例によれば、単語辞書Ｇ２がツリー構造となっていることから、ツリー構造をたどることで文字認識により得られた文字認識結果を絞り込んでいくことができる。また、膠着文字列辞書Ｇ３もツリー構造となっていることから、ツリー構造をたどることで、単語の後に続く膠着文字列についての文字認識結果も絞り込んでいくことができる。このため、効率的な辞書検索が可能となり、文字認識の後処理の高速化を図ることができる。また、本実施例によれば、単語と膠着文字列とで構成される文節単位を一つの形態素として探索することができ、補正精度を高めることができる。
【００９３】
また、本実施例では、単語辞書Ｇ２の各ノードに、先頭ノードから該ノードまでで単語が成立しているか否かを示す情報（前述した「＊」に相当し、実際は、「単語情報」のフィールドＦ５に、品詞情報が記憶されているか否かによって示される情報）が付与されていることから、例えば「あさ」と「あさがお」のように、分岐しない１本の枝で複数の単語を登録することができる。したがって、単語辞書Ｇ２の簡略化を図ることができる。膠着文字列辞書Ｇ３も同様に、先頭ノードから該ノードまでで単語が成立しているか否かを示す情報が付与されており、膠着文字列辞書Ｇ３の簡略化を図ることができる。
【００９４】
さらに、本実施例では、数値に膠着して数値接尾語を形成する文字列についてもツリー構造にて膠着文字列辞書Ｇ３に登録されている。このため、ツリー構造をたどることで、数値接尾語についての文字認識結果も絞り込んでいくことができる。このため、文字認識の後処理の高速化をより一層図るとともに、補正精度をより一層高めることができる。
【００９５】
５．他の実施形態：
本発明は上記の実施例や実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲において種々なる態様にて実施することが可能であり、例えば次のような変形も可能である。
【００９６】
（１）前記実施例では、単語辞書Ｇ２を、「データＮｏ．」、「文字コード」、「後続文字のデータＮｏ．」、「後続文字数」、「単語情報」の各フィールドＦ１〜Ｆ５を備えるレコードの集合によって構成していたが、必ずしもこれら全てのフィールドＦ１〜Ｆ５を備える必要もなく、ツリー構造を構築できるファイル構成であればどのような構成としてもよい。
【００９７】
（２）前期実施例では、単語辞書Ｇ２の各ノードに付与されて、先頭ノードから該ノードまでで単語が成立しているか否かを示す情報については、「単語情報」のフィールドＦ５に品詞情報が記憶されているか否かによって示される構成としていたが、必ずしもこうした構成である必要もなく、例えば、フラグのような「１」、「０」のデータで示す構成等、単語が成立しているか否かを示すことのできる情報ならどのような形態であってもよい。
【００９８】
（３）膠着文字列辞書Ｇ３についても、前記（１）、（２）と同様に、ファイル構成の変形や、膠着文字列が成立しているか否かを示す情報の形態についての変形を行なう構成としてもよい。
【図面の簡単な説明】
【００９９】
【図１】本発明の一実施例を適用するコンピュータシステムの概略構成を示す説明図である。
【図２】文字認識処理部３２によって得られた認識結果データＤＴ１の一例を示す説明図である。
【図３】単語辞書Ｇ２のデータ構成の一例を模式的に示す説明図である。
【図４】単語辞書Ｇ２の実際のデータ構成を示す説明図である。
【図５】膠着文字列辞書Ｇ３のデータ構成の一例を模式的に示す説明図である。
【図６】膠着文字列辞書Ｇ３の中の「数値」に対する数値接尾語の一例を模式的に示す説明図である。
【図７】ＣＰＵによって実行される「後処理」の制御ルーチンを示すフローチャートである。
【図８】図７のステップＳ１４０で実行される文節探索処理の前半部分を示すフローチャートである。
【図９】前記文節探索処理の後半部分を示すフローチャートである。
【符号の説明】
【０１００】
１０...パーソナルコンピュータ
１１...ＣＰＵ
１２...バス
１３...メモリ
１４...表示画像メモリ
１５...ハードディスクドライブ
１６...入出力制御ユニット
１７...表示制御ユニット
２０...ディスプレイ
２２...キーボード
２４...マウス
２６...イメージスキャナ
２８...ＣＤドライブ
３１...前処理部
３２...文字認識処理部
３３...後処理部
３３ａ...候補文字受取部
３３ｂ...補正部
ＤＴ１...認識結果データ
Ｄｐ...画像データ
Ｇ１...パターン辞書
Ｇ２...単語辞書
Ｇ３...膠着文字列辞書
Ｐ...原稿
Ｐｒ...コンピュータプログラム
【図１】
2006209298.tif 000003
【図２】
2006209298.tif 000004
【図３】
2006209298.tif 000005
【図４】
2006209298.tif 000006
【図５】
2006209298.tif 000007
【図６】
2006209298.tif 000008
【図７】
2006209298.tif 000009
【図８】
2006209298.tif 000010
【図９】
2006209298.tif 000011