(57)【特許請求の範囲】
【請求項１】
漢字列と、その漢字列と同じ内容を表す仮名列の組を文字認識した結果が入力として与えられ、この入力中の文字認識誤りを訂正する文字認識誤り訂正装置において、
単語の漢字表記と仮名表記の組を記憶する単語辞書と、
単語の漢字表記と仮名表記の組のｎｇｒａｍの出現確率を与える単語ｎｇｒａｍモデルと、
前記単語辞書に登録されていない任意の漢字列と仮名列の組が単語を構成する確率である未知語確率を与える未知語モデルと、
文字認識装置において、入力文字ｃｉが文字ｃｊと認識される確率である文字混同確率を与える文字認識装置モデルと、
漢字表記と仮名表記のそれぞれに対し、各文字位置において文字認識スコアの高い順番に文字候補を並べたリストを文字数分並べたリストである文字マトリクスを入力する入力手段と、
漢字表記の文字マトリクスに含まれる漢字列と、仮名表記の文字マトリクスに含まれる仮名列の組と完全一致する前記単語辞書中の単語を検索し、一致単語を同定する単語照合手段と、
前記漢字表記の文字マトリクスに含まれる漢字列と前記仮名表記の文字マトリクスに含まれる仮名列の組の中で、前記単語辞書に登録されていない単語である未知語の候補を、前記未知語モデルを用いて未知語確率が大きい所定個数の未知語を生成する未知語候補生成手段と、
前記漢字表記の文字マトリクスに含まれる漢字列と前記仮名表記の文字マトリクスに含まれる仮名列の組と類似照合する前記単語辞書中の単語を検索し、類似単語を同定する類似単語照合手段と、
前記単語ｎｇｒａｍモデル、前記未知語モデルと前記文字認識モデルに基づいて、前記一致単語、前記未知語、前記類似単語の中で、入力された漢字表記と仮名表記の組に対して、単語ｎｇｒａｍ出現確率と文字混同確率の積を最大化する漢字表記と仮名表記の組である単語列を求める最適単語列探索手段と、を備え、
前記未知語モデルは、
単語タイプの出現頻度から単語タイプの出現確率である単語タイプ確率を求める単語タイプ確率計算手段と、
単語の漢字表記を構成する文字の種類に基づいて定義された単語タイプのいずれかに未知語を分類する単語タイプ判定手段と、
各単語タイプの漢字表記の長さの分布と仮名表記の長さの分布と、未知語の単語タイプに基づいて、当該未知語の漢字表記の長さの確率と仮名表記の長さの確率の積である単語長確率を求める単語長確率計算手段と、
漢字表記の文字ｎｇｒａｍ頻度から漢字列の出現確率を求め、仮名表記の文字のｎｇｒａｍ頻度から仮名列の出現確率を求め、未知語の同時確率である単語表記確率を求める単語表記確率計算手段と、
未知語の前記単語タイプ確率、前記単語長確率、及び前記単語表記確率の積により未知語の未知語確率を計算する未知語確率計算手段と、を有する
ことを特徴とする文字認識誤り訂正装置。
【請求項２】
漢字列と、その漢字列と同じ内容を表す仮名列の組を文字認識した結果が入力として与えられ、この入力中の文字認識誤りを訂正する文字認識誤り訂正方法において、
単語の漢字表記と仮名表記の組を記憶する単語辞書と、
単語の漢字表記と仮名表記の組のｎｇｒａｍの出現確率を与える単語ｎｇｒａｍモデルと、
前記単語辞書に登録されていない任意の漢字列と仮名列の組が単語を構成する確率である未知語確率を与える未知語モデルと、
文字認識装置において、入力文字ｃｉが文字ｃｊと認識される確率である文字混同確率を与える文字認識装置モデルと、を有する装置において、
入力手段が、漢字表記と仮名表記のそれぞれに対し、各文字位置において文字認識スコアの高い順番に文字候補を並べたリストを文字数分並べたリストである文字マトリクスを入力する入力ステップと、
単語照合手段が、漢字表記の文字マトリクスに含まれる漢字列と、仮名表記の文字マトリクスに含まれる仮名列の組と完全一致する前記単語辞書中の単語を検索し、一致単語を同定する単語照合ステップと、
未知語候補生成手段が、前記漢字表記の文字マトリクスに含まれる漢字列と前記仮名表記の文字マトリクスに含まれる仮名列の組の中で、前記単語辞書に登録されていない単語である未知語の候補を、前記未知語モデルを用いて未知語確率が大きい所定個数の未知語を生成する未知語候補生成ステップと、
類似単語照合手段が、前記漢字表記の文字マトリクスに含まれる漢字列と前記仮名表記の文字マトリクスに含まれる仮名列の組と類似照合する前記単語辞書中の単語を検索し、類似単語を同定する類似単語照合ステップと、
最適単語列探索手段が、前記単語ｎｇｒａｍモデル、前記未知語モデルと前記文字認識装置モデルに基づいて、前記一致単語、前記未知語、前記類似単語の中で、入力された漢字表記と仮名表記の組に対して、単語ｎｇｒａｍ出現確率と文字混同確率の積を最大化する漢字表記と仮名表記の組である単語列を求める最適単語列探索ステップと、
を行い、
前記未知語モデルにおいて、
単語タイプ確率計算手段が、単語タイプの出現頻度から単語タイプの出現確率である単語タイプ確率を求めるステップと、
単語タイプ判定手段が、単語の漢字表記を構成する文字の種類に基づいて定義された単語タイプのいずれかに未知語を分類するステップと、
単語長確率計算手段が、各単語タイプの漢字表記の長さの分布と仮名表記の長さの分布と、未知語の単語タイプに基づいて、当該未知語の漢字表記の長さの確率と仮名表記の長さの確率の積である単語長確率を求めるステップと、
単語表記確率計算手段が、漢字表記の文字ｎｇｒａｍ頻度から漢字列の出現確率を求め、仮名表記の文字のｎｇｒａｍ頻度から仮名列の出現確率を求め、未知語の同時確率である単語表記確率を求めるステップと、
未知語確率計算手段が、未知語の前記単語タイプ確率、前記単語長確率、及び前記単語表記確率の積により未知語の未知語確率を計算する未知語確率計算ステップと、を行う
ことを特徴とする文字認識誤り訂正方法。
【請求項３】
請求項２記載の文字認識誤り訂正方法をコンピュータで実現するためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、手書き文字認識において生じる誤りを訂正する技術に係り、特に、文字認識結果としての文字パターンを読み込み、文字の前後の繋がりを表現する言語モデルを用いて入力された文字パターンの誤り部分を検知し正解候補を提示する日本語の文字認識装置の誤りを訂正する方法及び装置に関する。
【０００２】
【従来の技術】
一般に、申込書のような手書き帳票では、漢字表記の住所や氏名を記入する際に、仮名表記の振り仮名を付与する習慣がある。これには、漢字表記と仮名表記が同じ内容を表わすという制約、或いは、同じ内容が漢字表記と仮名表記で表現されているという冗長性を利用することにより、この帳票データを人間が処理する際に誤りを防ぐ、という効果がある。
【０００３】
たとえば、手書き帳票を人手で処理する場合、漢字表記からは「水田」でるか「永田」であるか判別できないときに、仮名表記が「ながた」と判別できれば、漢字表記は「永田」であることがわかる。同様に、仮名表記からは「なかた」であるか「ながた」であるかが判別できないときに、漢字表記が「永田」と判別できれば、仮名表記は「ながた」であることがわかる。さらに、漢字表記に「水田」と「永田」の可能性があり、仮名表記に「なかた」と「ながた」の可能性がある場合、「水田」は「ながた」とは読めないので、妥当な解釈は、漢字表記「永田」と仮名表記「ながた」の組だけであることがわかる。
【０００４】
ところが、文字認識装置を用いて帳票を自動的に処理しようとする場合、従来の文字認識誤り訂正法は、漢字表記と仮名表記を同時に扱うことにより、両者の間に存在する制約（又は冗長性）を有効に利用しながら誤り訂正を実現することができなかった。その理由は、以下の（１）及び（２）の二つである。
【０００５】
（１）出現する可能性がある漢字表記と仮名表記の組を辞書中に全て登録することは事実上不可能なので、辞書には無くても正しい漢字表記と仮名表記の組が入力に出現する可能性を考慮しなければならない。しかし、このような事象に確率を与える方法は考案されていなかった。
【０００６】
（２）漢字表記と仮名表記の文字認識候補がそれぞれ複数ある場合、漢字表記と仮名表記の対応の可能性は非常に膨大な数になる。しかし、これを系統的に調べるアルゴリズムが考案されていなかった。
【０００７】
従来の文字認識の誤り訂正法は、一つの入力文字列（漢字表記又は仮名表記）に対して、文字ｎｇｒａｍ、すなわち、ｎが２以上の整数を表わすときに、ｎ個の文字からなるｎ連鎖を表現する文字ｎｇｒａｍモデルや、単語ｎｇｒａｍ、すなわち、ｎが２以上の整数を表わすときに、ｎ個の単語からなるｎ連鎖を表現する単語ｎｇｒａｍモデルなどの統計的言語モデルを利用して、誤り訂正を行なう方法が主流である。
【０００８】
文字ｎｇｒａｍモデルを使用する例として、
杉村・斉藤：「文字連接情報を用いた読み取り不能文字の判定処理−文字認識への応用−」電子情報通信学会論文誌  Vol.J68−D No.1, pp.64−71, 1985
が挙げられる。単語ｎｇｒａｍモデルを利用する例としては、
高尾・西野：「日本語文書リーダ後処理の実現と評価」情報処理学会論文誌  Vol.33 No.5, pp.664−670, 1992
伊東・丸山：「ＯＣＲ入力された日本語文の誤り検出と自動訂正」情報処理学会論文誌  Vol.33, No.5, pp.664−670, 1992
永田：「文字類似度と統計的言語モデルを用いた日本語文字認識誤り訂正法」電子情報通信学会論文誌（Ｄ−ＩＩ）  Vol.J81−D−II, No.11, pp.2624−2634, 1998
が挙げられる。
【０００９】
これらの方法に対して、近年、漢字表記と仮名表記を同時に利用して誤り訂正を行なう方法として、単漢字とその読みの組を基本単位とする統計的言語モデルに基づいて、漢字表記と仮名表記を対応付ける方法が、
Nagata, M.: Synchronous Morphological Analysis of Grapheme and Phoneme for Japanese OCR, Proceedings of the 38th Annual Meeting of the Association for Computational Linguistics, pp.384−391, 2000
に提案されている。この文献で提案された方法では、たとえば、「福沢諭吉」と「フクザワユキチ」という漢字表記と仮名表記の文字認識結果の組を入力とする場合、「福／フク」というような単漢字とその読みの組の出現確率に基づいて、漢字表記及び仮名表記のそれぞれに対する複数の文字認識候補の中から「福／フク」、「沢／サワ」、「諭／ユ」、「吉／キチ」という対応関係を求めることにより誤り訂正を行なう。
【００１０】
単漢字とその読みを言語モデルの基本単位とする方法は、氏名のように短い文字列（漢字表記が３−５文字程度）で、かつ、一つの漢字に対する読み方の異なり数が多い場合には有効な方法である。
【００１１】
【発明が解決しようとする課題】
ところが、住所のように長い文字列（漢字表記が１０−１５文字程度）を対象とする場合、単漢字とその読みを言語モデルの基本単位とすると、探索すべき組合せの数が膨大になり計算量が大きくなってしまう、という問題がある。特に、仮名表記から検索される漢字表記の候補の数が問題になる。
【００１２】
たとえば、「神奈川県横須賀市光の丘」という漢字表記と「カナガワケンヨコスカシヒカリノオカ」という仮名表記の組を入力とする場合、「カ」と読む可能性がある漢字は以下に示すように少なくとも２１４個ある。
【００１３】
【表１】
0003975825.tif 000002
次に、「カナ」と読む可能性がある漢字は以下に示すように少なくとも１７個ある。
【００１４】
【表２】
0003975825.tif 000003
さらに、「ナ」と読む可能性がある漢字は少なくとも６６個あり、「ナガ」と読む可能性のある漢字は少なくとも１５個ある。
【００１５】
同様に、「神」という漢字の読みは、
シン  ジン  カミ  カン  コウ  カ  カグ  カナ  カモ
クマ  コ  コハ  ダマ  ミ
のように少なくとも１４個ある。
【００１６】
文字認識の誤り訂正の場合、認識結果の第１候補だけではなく、下位候補についても考慮しなければならないので、探索空間はさらに大きくなり、住所のような長い文字列では無視できない計算量となる。
【００１７】
単語を統計的言語モデルの基本単位とした場合、文字マトリクス（すなわち、入力文の各文字位置において文字認識スコアの高い順番に文字候補を並べたリスト）に含まれる文字の組合せの大部分は単語を構成しないので、辞書と照合する単語の数は少なくなる。しかし、反対に、未知語候補、すなわち、辞書と照合しない単語候補の数が多くなるので、状況は改善しない。
【００１８】
もし、単語を構成する可能性が高い漢字文字列と仮名文字列の組合せに対して高い確率を与えるような未知語モデルを考案することができれば、未知語候補を絞り込むことによって計算量を削減できるので、住所の漢字表記と仮名表記のような比較的長い文字列の組に対しても、両者を対応付けながら誤り訂正を行なえる。しかし、従来、このような未知語モデルは提案されていない。
【００１９】
上記の従来技術の問題点に鑑みて、本発明は、住所の漢字表記と仮名表記のような比較的長い第１の表記の文字列と第２の表記の文字列の組において、互いに対応する第１の表記と第２の表記の文字認識結果の組を同時に取り扱うことにより、第１の表記と第２の表記の間に存在する制約又は冗長性を利用した誤り訂正を実現する文字認識誤り訂正方法の提供を目的とする。
【００２０】
また、本発明は、このような文字認識誤り訂正方法を実施する装置の提供を目的とする。
【００２１】
さらに、本発明は、このような文字認識誤り訂正方法をコンピュータに実現させるプログラムの提供を目的とする。
【００２２】
【課題を解決するための手段】
本発明は、文字認識装置の出力として漢字表記と仮名表記のような第１の表記及び第２の表記が同時に与えられる場合に、言語モデル、文字認識装置モデル、及び、第１の表記と第２の表記を対応付けながら最適な単語列を探索するアルゴリズムを用いて、同じ内容が第１の表記と第２の表記で表現されているという冗長性を利用することにより、第１の表記又は第２の表記の何れか一方だけでは訂正できない誤りを訂正するものである。
【００２３】
本発明は、任意の第１の表記の文字列と、第２の表記の文字列について、第１の表記の文字列と第２の表記の文字列の同時確率、すなわち、第１の表記の文字列が第２の表記の文字列を第１の表記で表わした文字列であり、かつ、第２の表記の文字列が第１の表記の文字列を第２の表記で表わした文字列である確率を与える言語モデルと、任意の二つの文字について、一方の文字が他方の文字に誤認識される確率を与える文字認識装置モデルと、言語モデル及び文字認識装置モデルに基づいて、最も確率が大きい単語列、すなわち、最も確率が大きい第１の表記の単語列と第２の表記の単語列の組を求める最適単語列検索手段と、を用いて、第１の表記の文字列と第２の表記の文字列を対応付けることにより、第１の表記の文字列又は第２の表記の文字列の一方の文字列だけでは訂正できない誤りを訂正する文字認識誤り訂正方法を提供する。
【００２４】
本発明（請求項１）は、漢字列と、その漢字列と同じ内容を表す仮名列の組を文字認識した結果が入力として与えられ、この入力中の文字認識誤りを訂正する文字認識誤り訂正装置において、
単語の漢字表記と仮名表記の組を記憶する単語辞書と、
単語の漢字表記と仮名表記の組のｎｇｒａｍの出現確率を与える単語ｎｇｒａｍモデルと、
単語辞書に登録されていない任意の漢字列と仮名列の組が単語を構成する確率である未知語確率を与える未知語モデルと、
文字認識装置において、入力文字ｃｉが文字ｃｊと認識される確率である文字混同確率を与える文字認識装置モデルと、
漢字表記と仮名表記のそれぞれに対し、各文字位置において文字認識スコアの高い順番に文字候補を並べたリストを文字数分並べたリストである文字マトリクスを入力する入力手段と、
漢字表記の文字マトリクスに含まれる漢字列と、仮名表記の文字マトリクスに含まれる仮名列の組と完全一致する単語辞書中の単語を検索し、一致単語を同定する単語照合手段と、
漢字表記の文字マトリクスに含まれる漢字列と仮名表記の文字マトリクスに含まれる仮名列の組の中で、単語辞書に登録されていない単語である未知語の候補を、未知語モデルを用いて未知語確率が大きい所定個数の未知語を生成する未知語候補生成手段と、
漢字表記の文字マトリクスに含まれる漢字列と仮名表記の文字マトリクスに含まれる仮名列の組と類似照合する単語辞書中の単語を検索し、類似単語を同定する類似単語照合手段と、
単語ｎｇｒａｍモデル、未知語モデルと文字認識モデルに基づいて、一致単語、未知語、類似単語の中で、入力された漢字表記と仮名表記の組に対して、単語ｎｇｒａｍ出現確率と文字混同確率の積を最大化する漢字表記と仮名表記の組である単語列を求める最適単語列探索手段と、を備え、
未知語モデルは、
単語タイプの出現頻度から単語タイプの出現確率である単語タイプ確率を求める単語タイプ確率計算手段と、
単語の漢字表記を構成する文字の種類に基づいて定義された単語タイプのいずれかに未知語を分類する単語タイプ判定手段と、
各単語タイプの漢字表記の長さの分布と仮名表記の長さの分布と、未知語の単語タイプに基づいて、当該未知語の漢字表記の長さの確率と仮名表記の長さの確率の積である単語長確率を求める単語長確率計算手段と、
漢字表記の文字ｎｇｒａｍ頻度から漢字列の出現確率を求め、仮名表記の文字のｎｇｒａｍ頻度から仮名列の出現確率を求め、未知語の同時確率である単語表記確率を求める単語表記確率計算手段と、
未知語の単語タイプ確率、単語長確率、及び単語表記確率の積により未知語の未知語確率を計算する未知語確率計算手段と、を有する。
【００２５】
漢字列と、その漢字列と同じ内容を表す仮名列の組を文字認識した結果が入力として与えられ、この入力中の文字認識誤りを訂正する文字認識誤り訂正方法において、
単語の漢字表記と仮名表記の組を記憶する単語辞書と、
前記単語の漢字表記と前記仮名表記の組のｎｇｒａｍの出現確率を与える単語ｎｇｒａｍモデルと、
前記単語辞書に登録されていない任意の漢字列と仮名列の組が単語を構成する確率である未知語確率を与える未知語モデルと、
文字認識装置において、入力文字ｃｉが文字ｃｊと認識される確率である文字混同確率を与える文字認識装置モデルと、を有する装置において、
入力手段が、前記漢字表記と前記仮名表記のそれぞれに対し、各文字位置において文字認識スコアの高い順番に文字候補を並べたリストを文字数分並べたリストである文字マトリクスを入力する入力ステップと、
単語照合手段が、前記漢字表記の文字マトリクスに含まれる漢字列と、前記仮名表記の文字マトリクスに含まれる仮名列の組と完全一致する前記単語辞書中の単語を検索し、一致単語を同定する単語照合ステップと、
未知語候補生成手段が、前記漢字表記の文字マトリクスに含まれる漢字列と前記仮名表記の文字マトリクスに含まれる仮名列の組の中で、前記単語辞書に登録されていない単語である未知語の候補を、前記未知語モデルを用いて未知語確率が大きい所定個数の未知語を生成する未知語候補生成ステップと、
類似単語照合手段が、前記漢字表記の文字マトリクスに含まれる漢字列と前記仮名表記の文字マトリクスに含まれる仮名列の組と類似照合する前記単語辞書中の単語を検索し、類似単語を同定する類似単語照合ステップと、
最適単語列探索手段が、前記単語ｎｇｒａｍモデル、前記未知語モデルと前記文字認識装置モデルに基づいて、前記一致単語、前記未知語、前記類似単語の中で、入力された漢字表記と仮名表記の組に対して、単語ｎｇｒａｍ出現確率と文字混同確率の積を最大化する漢字表記と仮名表記の組である単語列を求める最適単語列探索ステップと、
を行い、
前記未知語モデルにおいて、
単語タイプ確率計算手段が、単語タイプの出現頻度から単語タイプの出現確率である単語タイプ確率を求めるステップと、
単語タイプ判定手段が、単語の漢字表記を構成する文字の種類に基づいて定義された単語タイプのいずれかに未知語を分類するステップと、
単語長確率計算手段が、各単語タイプの漢字表記の長さの分布と仮名表記の長さの分布と、未知語の単語タイプに基づいて、当該未知語の漢字表記の長さの確率と仮名表記の長さの確率の積である単語長確率を求めるステップと、
単語表記確率計算手段が、漢字表記の文字ｎｇｒａｍ頻度から漢字列の出現確率を求め、仮名表記の文字のｎｇｒａｍ頻度から仮名列の出現確率を求め、未知語の同時確率である単語表記確率を求めるステップと、
未知語確率計算手段が、未知語の前記単語タイプ確率、前記単語長確率、及び前記単語表記確率の積により未知語の未知語確率を計算する未知語確率計算ステップと、を行う。
【００２６】
本発明（請求項３）は、請求項２記載の文字認識誤り訂正方法をコンピュータで実現するためのプログラムである。
【００３３】
【発明の実施の形態】
図１は、本発明の第１実施例による文字認識誤り訂正システムの構成図である。本実施例の文字認識誤り訂正システムは、日本語の漢字表記と、日本語の仮名表記を文字認識する文字認識装置１と、日本語の漢字表記と仮名表記の組を文字認識装置１によって認識した結果に依存する文字認識誤りを訂正する文字認識誤り訂正装置１００と、含む。また、本発明の第１実施例は、たとえば、申込書のような手書き帳票の住所欄の文字認識を想定しているため、漢字表記には、漢字、カタカナ、ひらがな、ローマ字、英数字なども含まれる場合があり、また、振り仮名欄の仮名表記には、カタカナ又はひらがなの他にローマ字や英数字が含まれる場合がある。尚、以下の実施例の説明では、簡単のため、漢字表記は、漢字だけにより構成され、仮名表記はカタカナだけにより構成されているものとする。
【００３４】
文字認識誤り訂正装置１００は、文字認識装置１からの文字認識結果として、漢字表記の文字マトリクスと、仮名表記の文字マトリクスを入力する。文字マトリクスとは、入力の各文字位置において文字認識スコアの高い順番に文字候補を並べたリストを、文字数分だけ並べたリストである。また、以下では、文字マトリクスの各文字位置において、その文字位置の文字候補のリストから一文字ずつ選ぶことにより構成される文字列を、「文字マトリクスに含まれる文字列」と呼ぶ。
【００３５】
文字認識誤り訂正装置１００は、
文字認識装置１から漢字表記の文字マトリクス及び仮名表記の文字マトリクスを受け取る最適単語列検索部２と、
単語の漢字表記と仮名表記の組を記憶する単語辞書７と、
漢字表記の文字マトリクスに含まれる漢字列及び仮名表記の文字マトリクスに含まれる仮名列の組と完全一致する単語を単語辞書７から検索する単語照合部３と、
単語辞書７に登録されていない任意の漢字列と仮名列の組が単語を構成する確率を与える未知語モデル８と、
漢字表記の文字マトリクスに含まれる漢字列及び仮名表記の文字マトリクスに含まれる仮名列の組から、未知語モデル８を用いて、未知語候補を生成する未知語候補生成部４と、
任意の二つの文字について、一方の文字が他方の文字に誤認識される確率、すなわち、文字混同確率を与える文字認識装置モデル１０と、
漢字表記の文字マトリクスに含まれる漢字列及び仮名表記の文字マトリクスに含まれる仮名列の組と類似照合する単語を単語辞書７から検索する類似単語照合部５と、
単語の漢字表記と仮名表記の組のｎ個の連鎖、すなわち、ｎｇｒａｍの出現確率を与える単語ｎｇｒａｍモデル６と、
単語ｎｇｒａｍモデル６、単語辞書７及び未知語モデル８を含み、任意の漢字列と仮名列について、漢字列が仮名列の漢字表記であり、かつ、仮名列が漢字列の仮名表記である確率、すなわち、漢字表記と仮名表記の同時確率を与える言語モデル９と、
を具備する。
【００３６】
また、最適単語列探索部２は、単語照合部３から単語辞書７と完全一致した単語を受け、未知語候補生成部４から未知語候補を受け、及び、類似単語照合部５から単語辞書７と類似照合した類似単語を受け、言語モデル９及び文字認識装置モデル１０に基づいて、最も確率が大きい単語列、すなわち、漢字表記と仮名表記の組を求める。
【００３７】
図２は、本発明の第１実施例による文字認識誤り訂正システムにおける文字認識誤り訂正方法を説明するフローチャートである。
【００３８】
文字認識誤り訂正方法は、文字認識装置１で漢字表記と仮名表記の組を文字認識することにより得られた漢字表記の文字マトリクスと仮名表記の文字マトリクスの組を入力として用いる。
【００３９】
ステップ１において、単語照合部３は、漢字表記の文字マトリクスに含まれる漢字文字列と仮名表記の文字マトリクスに含まれる仮名文字列の組と完全一致する単語辞書７中の単語、すなわち、一致単語を同定する。
【００４０】
ステップ２において、未知候補生成部４は、漢字表記の文字マトリクスに含まれる漢字文字列と仮名表記の文字マトリクスに含まれる仮名文字列の組の中で、単語辞書７に登録されていない単語の候補、すなわち、未知語を生成する。
【００４１】
ステップ３において、類似単語照合部５は、漢字表記の文字マトリクスに含まれる漢字文字列及び仮名表記の文字マトリクスに含まれる仮名文字列の組と類似照合する単語辞書７中の単語、すなわち、類似単語を同定する。
【００４２】
最後に、ステップ４において、最適単語列探索部２は、言語モデル９と文字認識モデル１０に基づいて、一致単語、未知語及び類似単語の中で、最も確率が大きい単語列、すなわち、漢字表記と仮名表記の組を求める。
【００４３】
上記説明では、ステップ１、ステップ２、ステップ３の順に処理が行なわれているが、ステップ１、ステップ２、ステップ３を実行する順序は、このような順に制限されることはなく、どのような順序で行なっても構わない。
【００４４】
このような本発明の第１実施例の文字認識誤り訂正システムの構成によれば、漢字表記と仮名表記を対応付けることが可能になり、漢字表記又は仮名表記のいずれか一方のみからでは訂正できない誤りを訂正し、入力が辞書に登録されていない単語を含む場合でも未知語モデル８に基づいて、漢字列と仮名列の組の出現確率を推定し、正解文字が文字マトリクスに含まれていない場合でも類似単語照合によって誤り訂正候補を提示できるようになる。
【００４５】
図３は、本発明の第２実施例による文字認識誤り訂正システムの概略ブロック図である。次に、図３を参照して、本発明の第２実施例の構成を説明する。図３において、図１の構成要素と同じ参照番号を付された構成要素は、図１における対応した構成要素と同一若しくは類似した構成要素である。
【００４６】
本発明の第２実施例による文字認識誤り訂正システムは、文字認識装置１、最適単語列探索部２、単語照合部３、未知単語生成部４、類似単語照合部５、言語モデル９、及び、文字認識装置モデル１０を含む。単語モデル９は、単語ｂｉｇｒａｍモデル６０と、単語辞書７と、未知語モデル８とを含む。単語ｂｉｇｒａｍモデル６０は、単語ｂｉｇｒａｍ頻度テーブル６１と、単語ｂｉｇｒａｍ確率計算部６２とを含む。未知語モデル８は、未知語確率計算部８１と、単語タイプ判定部８２と、単語タイプ定義記憶部８３と、単語長確率計算部８４と、平均単語長テーブル８５と、単語表記確率計算部８６と、文字ｂｉｇｒａｍ頻度テーブル８７と、を含む。文字認識装置モデル１０は、文字混同確率計算部１１と文字認識装置正解率テーブル１２とを含む。
【００４７】
ここで、単語ｂｉｇｒａｍは、２個の単語からなる２連鎖を表わし、文字ｂｉｇｒａｍは２個の文字からなる２連鎖を表わす。
【００４８】
最適単語列探索部２は、入力された漢字表記と仮名表記の組に対して文字認識装置１が出力した漢字表記マトリクスと仮名表記マトリクスの組を入力とし、二つの文字マトリクスのそれぞれについて、文頭から文末へ一文字ずつ進む動的計画法（dynamic programming）を用いて、単語列の同時確率、すなわち、単語ｂｉｇｒａｍ確率の積と、文字混同確率との積を最大化するような単語列を求める。
【００４９】
そのため、最適単語列探索部２には、単語照合部３からの完全一致単語と、未知語候補生成部４からの未知語候補と、類似単語照合部５からの類似単語候補とが、単語候補として与えられる。単語候補には、文字混同確率計算部１１によって、単語の漢字表記及び仮名表記を構成する文字混同確率が与えられる。また、単語ｂｉｇｒａｍ確率は、単語ｂｉｇｒａｍ確率計算部６２によって与えられる。
【００５０】
単語照合部３は、漢字表記の文字マトリクスに含まれる文字列と仮名表記の文字マトリクスに含まれる文字列の全ての組合せを単語辞書７と照合し、照合したものを完全一致単語として、最適単語列検索部２へ与える。ここで、文字マトリクスの各文字位置において、その文字位置の文字候補のリストから一文字ずつ選ぶことにより構成される文字列を、「文字マトリクスに含まれる文字列」と呼ぶ。
【００５１】
未知語候補生成部４は、漢字表記の文字マトリクスに含まれる文字列と仮名表記の文字マトリクスに含まれる文字列の組合せの中で、単語辞書７と照合しない組合せを未知語であるとみなし、未知語モデル確率計算部８１により求めた未知語確率が大きい順に予め定めた個数の未知語を、未知語候補として最適単語列検索部２へ与える。
【００５２】
類似単語照合部５は、漢字表記の文字マトリクスに含まれる文字列と仮名表記の文字マトリクスに含まれる文字列の全ての組合せを単語辞書７と類似照合し、照合したものを類似単語候補として最適単語列検索部２へ与える。類似単語照合の距離尺度としては、一方の文字列を他方の文字列に変換するのに必要な挿入・削除・置換の回数を表す編集距離(すなわち、一致する文字数の割合）を使用することができる。
【００５３】
単語ｂｉｇｒａｍ確率計算部６２は、単語ｂｉｇｒａｍ頻度テーブル６１に付与された単語ｂｉｇｒａｍ頻度から、単語ｂｉｇｒａｍの出現確率を計算する。
【００５４】
単語タイプ判定部８２は、単語タイプ定義８３に基づいて、未知語候補の漢字表記を構成する文字の種類から未知語の単語タイプを決定する。
【００５５】
単語長確率計算部８４は、平均単語長テーブル８５に記憶された各単語タイプの漢字表記と仮名表記の平均単語長から、未知語候補の漢字表記の長さと仮名表記の長さの同時確率を求める。
【００５６】
単語表記確率計算部８６は、文字ｂｉｇｒａｍ頻度テーブル８７に記憶された漢字表記の文字ｂｉｇｒａｍ頻度及び仮名表記文字の文字ｂｉｇｒａｍ頻度から、未知語候補の漢字表記の文字列と仮名表記の文字列の同時確率を求める。
【００５７】
文字混同確率計算部１１は、文字認識装置正解率テーブル１２に格納されている第１候補正解率と累積正解率から、文字混同確率を計算する。
【００５８】
かくして、最適単語列探索部２は、単語ｂｉｇｒａｍ確率の積と、文字混同確率との積を最大化するような単語列（漢字表記と仮名表記の組）を求めることができる。
【００５９】
以下では、まず、本発明の理論的基礎である「文字認識誤り訂正の情報理論的解釈」について説明し、続いて、言語モデル、未知語モデル、文字認識装置モデル、最適単語列探索手段、類似単語照合手段の順に説明する。
【００６０】
〔１〕文字認識誤り訂正の情報理論的解釈
本発明の第３実施例では、文字認識装置の入力と出力の関係を、雑音のある通信路のモデル（noisy channel model）で定式化する。入力された第１の表記である漢字表記（graphemes)と第２の表記である仮名表記（phonemes）をそれぞれＧとＰとし、これらに対する文字認識装置の出力をＧ’とＰ’とする。本発明の文字認識の誤り訂正は、事後確率Ｐ（Ｇ，Ｐ｜Ｇ’，Ｐ’）を最大にする漢字表記
【００６１】
【数１】
0003975825.tif 000004
と仮名表記
【００６２】
【数２】
0003975825.tif 000005
を求める問題に帰着する。さらに、ベイズの定理を使えば、
Ｐ（Ｇ，Ｐ）Ｐ（Ｇ’，Ｐ’｜Ｇ，Ｐ）
を最大にする漢字表記と仮名表記の組
【００６３】
【数３】
0003975825.tif 000006
を求めればよいことがわかる。
【００６４】
【数４】
0003975825.tif 000007
ここでは、Ｐ（Ｇ，Ｐ）を言語モデル、Ｐ（Ｇ’，Ｐ’｜Ｇ，Ｐ）を文字装置モデルと呼ぶ。
【００６５】
〔２〕言語モデル
漢字表記及び仮名表記が、それぞれ、
長さｌの文字列  Ｇ＝α１α２．．．αｌ
及び
長さｍの文字列  Ｐ＝β１β２．．．βｍ
から構成されるとする。さらに、単語の漢字表記と仮名表記を対応付けることにより、漢字表記と仮名表記の組が長さｎの単語列
（Ｇ，Ρ）＝（（ｇ１，ｐ１），（ｇ２，ｐ２），．．．，（ｇｎ，ｐｎ））
に分割されるとする。
【００６６】
たとえば、漢字表記「神奈川県横須賀市光の丘」と仮名表記「カナガワケンヨコスカシヒカリノオカ」の組は、単語列（（神奈川県，カナガワケン），（横須賀市，ヨコスカシ），（光の丘，ヒカリノオカ））に対応付けられ分割される。
【００６７】
本発明では、言語モデルＰ（Ｇ，Ｐ）を、漢字表記Ｇと仮名表記Ｐを対応付ける最も尤もらしい単語列Ｐ（Ｇ，Ρ）の同時確率で近似する。さらに、この単語列の同時確率Ｐ（Ｇ，Ρ）を後述の単語ｂｉｇｒａｍモデルで近似する。
【００６８】
〔３〕単語ｂｉｇｒａｍモデル
一般に、単語Ｎ−ｇｒａｍは、Ｎが２以上の整数を表わすときに、Ｎ個の単語からなるＮ連鎖を表わす。一例として、単語ｂｉｇｒａｍは、２個の単語からなる単語連鎖である。単語ｂｉｇｒａｍモデルは、次式のように単語ｂｉｇｒａｍ確率Ｐ（ｇｉ，ｐｉ｜ｇｉ−１，ｐｉ−１）の積で単語列の同時確率を近似する。
【００６９】
【数５】
0003975825.tif 000008
ここで、＜ｂｏｓ＞及び＜ｅｏｓ＞は、文の先頭及び末尾を表わす特別な記号である。
【００７０】
単語ｂｉｇｒａｍ確率を求める方法（すなわち、単語ｂｉｇｒａｍ確率計算手段）は以下の通りである。
【００７１】
先ず、漢字仮名混じり表記の日本語テキストを単語に分割し、仮名表記の読みを付与したデータを作成する。以降、このデータを学習データと呼ぶ。
【００７２】
この学習データにおける単語の漢字表記と仮名表記の組の出現頻度Ｃ（ｇｉ，ｐｉ）、及び、単語の漢字表記と仮名表記の組のｂｉｇｒａｍの出現確率Ｃ（ｇｉ−１，ｐｉ−１，ｇｉ，ｐｉ）を求め、単語ｂｉｇｒａｍ頻度テーブルに格納しておく。
【００７３】
図４は単語出現頻度の例の説明図であり、図５は単語ｂｉｇｒａｍ出現頻度の例の説明図である。図示された例では、’／’で区切られた漢字列と仮名列の組が一つの単語を表わす。
【００７４】
次に、これらの出現頻度から単語の相対頻度ｆ（ｇｉ，ｐｉ）及び単語ｂｉｇｒａｍの相対頻度ｆ（ｇｉ，ｐｉ｜ｇｉ−１，ｐｉ−１）を求める。
【００７５】
【数６】
0003975825.tif 000009
次に、これらの相対頻度を線形補間して単語ｂｉｇｒａｍ組確率を求める。ここで、線形補間係数αは訓練データの確率が最大になるように決定する。
Ｐ（ｇｉ，ｐｉ｜ｇｉ−１，ｐｉ−１）＝
（１−α）ｆ（ｇｉ，ｐｉ）＋αｆ（ｇｉ，ｐｉ｜ｇｉ−１，ｐｉ−１）    （５）
〔４〕未知語モデル
未知語モデルは、単語辞書に登録されていない漢字表記と仮名表記の組の出現確率を求めるための計算モデルである。これは、未知語（ｇ，ｐ）を構成する
長さｌｇの漢字表記文字列ｇ＝ｃｇ１．．．ｃｇｌｇ
と、
長さｌｐの仮名表記文字列ｐ＝ｃｐ１．．．ｃｐｌｐ
の同時確率分布Ｐ（ｇ，ｐ）として定義される。
【００７６】
本発明の一実施例では、単語の漢字表記を構成する文字の種類に基づいて複数の単語タイプを定義し、単語タイプ別に未知語の確率を推定する。
【００７７】
図６は、日本語の未知語を７種類の単語タイプに分類した場合の例の説明図である。単語タイプの定義は、バッカス記法（Backus Naur Form, BNF）で記述されており、ここで、［・・・］は、文字集合中の任意の１文字と照合することを表わす。二つの文字の間に、−を書くことで文字範囲を表わす。文字コードには、ＪＩＳ−Ｘ−０２０８を仮定している。＊は０回以上の繰り返しを表わし、＋は１回以上の繰り返しを表わす。
【００７８】
＜ｓｙｍ＞、＜ｎｕｍ＞、＜ａｌｐｈａ＞、＜ｈｉｒａ＞、＜ｋａｔａ＞、及び、＜ｋａｎ＞は、それぞれ記号列、数字列、アルファベット列、ひらがな列、カタカナ列、及び、漢字列を表わす。これら以外の複数の字種から構成される文字列は、すべて＜ｍｉｓｃ＞とする。
【００７９】
本発明の第３実施例では、単語タイプ確率、すなわち、未知語における各単語タイプ＜ＷＴ＞の出現確率Ｐ（＜ＷＴ＞）、及び、単語タイプ別の未知語の漢字表記と仮名表記の同時確率Ｐ（ｇ，ｐ｜＜ＷＴ＞）の積から、未知語の出現確率（未知語の漢字表記と仮名表記の同時確率）Ｐ（ｇ，ｐ）を求める。
Ｐ（ｇ，ｐ）＝Ｐ（＜ＷＴ＞）Ｐ（ｇ，ｐ｜＜ＷＴ＞）      （６）
単語タイプ確率は、学習データにおける低頻度語（出現頻度が１の単語）を単語タイプに分類し、それぞれ単語タイプの相対頻度から求める。
【００８０】
単語タイプ別の未知語の出現確率Ｐ（ｇ，ｐ｜＜ＷＴ＞）は、単語タイプ別の漢字表記の長さと仮名表記の長さの同時確率Ｐ（ｌｇ，ｌｐ｜＜ＷＴ＞）、漢字表記の文字列の出現確率Ｐ（ｇ）、及び、仮名表記の文字列の出現確率Ｐ（ｐ）の積で近似する。
【００８１】
【数７】
0003975825.tif 000010
以下では、単語タイプ別の漢字表記の長さと仮名表記の長さの同時確率Ｐ（ｌｇ，ｌｐ｜＜ＷＴ＞）を単語長確率と呼ぶ。
【００８２】
単語長確率は、単語タイプ別の漢字表記の長さの分布と単語タイプ別の仮名表記の長さの分布の積で近似し、漢字表記及び仮名表記の長さの分布は、それぞれ、単語タイプ別の漢字表記の平均文字長λｇ，＜ＷＴ＞及び仮名表記の平均文字長λｐ，＜ＷＴ＞をパラメータとするポワソン分布で近似する。
【００８３】
【数８】
0003975825.tif 000011
単語タイプ別の漢字表記の平均文字長λｇ，＜ＷＴ＞及び仮名表記の平均文字長λｐ，＜ＷＴ＞は、学習データにおける低頻度語から求める。図７は、単語タイプ別の漢字表記と仮名表記の平均文字長の例の説明図である。
【００８４】
漢字表記の文字列の出現確率Ｐ（ｇ）は、漢字表記に使用される文字の文字ｂｉｇｒａｍで近似する。
【００８５】
【数９】
0003975825.tif 000012
仮名表記の文字列の出現確率Ｐ（ｐ）は、仮名表記に使用される文字の文字ｂｉｇｒａｍモデルで近似する。
【００８６】
【数１０】
0003975825.tif 000013
漢字表記及び仮名表記の文字ｂｉｇｒａｍ確率は、単語ｂｉｇｒａｍ確率と同様に、学習データから求めた文字出現頻度と文字ｂｉｇｒａｍ出現頻度からそれぞれの相対確率を求め、この相対確率を線形補間することにより得られる。図８は、漢字表記の文字ｂｉｇｒａｍの出現頻度の例を示し、図９は、仮名表記の文字ｂｉｇｒａｍの出現頻度の例を示す図である。
【００８７】
〔５〕文字認識装置モデル
本発明の第３実施例では、文字認識装置モデルＰ（Ｇ’，Ｐ’｜Ｇ，Ｐ）に関して、漢字表記Ｇと仮名表記Ｐが独立に認識され、さらに漢字表記の各文字ｃｇｉと仮名表記の各文字ｃｐｊが独立に認識されると仮定する。
【００８８】
【数１１】
0003975825.tif 000014
一般に、文字認識装置において、入力された文字ｃｉが文字ｃｊと認識される確率Ｐ（ｃｊ｜ｃｉ）は、文字混同確率（character confusion probability)と呼ばれる。文字混同確率は、基本的には、文字認識装置の入力と出力の組の頻度データである文字混同行列（character confusion matrix)から求めることができる。しかし、文字混同行列は、文字認識法が入力画像の品質に大きく依存するので汎用性が低い。また、日本語は文字の種類が３０００字以上あるので、すべての文字について十分に多くの文字認識結果を集めることはできない。
【００８９】
そこで、本発明の第３実施例では、文字認識装置が出力する第１候補の正解率ｐ１、及び、第ｎ候補までの累積正解率ｐｎ（ｎは文字認識装置が出力する文字候補の数）をパラメータとして、文字混同確率を以下のように近似する。
【００９０】
【数１２】
0003975825.tif 000015
ここで、｜Ｃ｜は認識対象となる文字集合の大きさである。たとえば、漢字の場合、｜Ｃｇ｜＝６８７９、仮名の場合、｜Ｃｐ｜＝８７に設定すればよい。
【００９１】
式（１２）は、文字混同確率として、もしその文字が第１候補であるならば、文字に関係なく一定の値（第１候補の平均正解率）ｐ１を割り当てる。もし、その文字が第２候補以降の候補文字の中に入っていれば、累積正解率から第１候補正解率を差し引いた残りを均等に割り当てる。もし、その文字が文字候補になければ、１から累積正解率を引いたものを、候補文字以外の文字集合に対して均等に割り当てる。
【００９２】
〔６〕最適単語列探索
式（１）に示す事後確率を最大化する漢字表記と仮名表記の組を求める手順（最適単語列探索手段）を以下に示す。
【００９３】
入力された漢字表記及び仮名表記を、それぞれ、
長さｌの文字列  Ｇ＝α１α２．．．αｌ
及び
長さｍの文字列  Ｐ＝β１β２．．．βｍ
とする。
【００９４】
漢字表記中の文字位置及び仮名表記中の文字位置を、それぞれ、ｘ（０≦ｘ≦ｌ）及びｙ（０≦ｙ≦ｍ）で表わすことにすると、漢字表記と仮名表記を対応付けることにより得られる長さｎの単語列
（Ｇ，Ρ）＝（（ｇ１，ｐ１），（ｇ２，ｐ２），．．．，（ｇｎ，ｐｎ））
は、単語の境界の座標の列（長さｎ＋１）
（ｘ０，ｙ０），（ｘ１，ｙ１），（ｘ２，ｙ２），．．．，（ｘｎ，ｙｎ）
で表現することができる。ここで、文字位置（ｘｉ，ｙｉ）は、それぞれ単語（ｇｉ，ｐｉ）の終了位置であり、（ｘ０，ｙ０）＝（０，０）及び（ｘｎ，ｙｎ）＝（ｌ，ｍ）である。
【００９５】
先頭からｉ番目の単語までの単語列の同時確率Ｐ（ｇ１，ｐ１，．．．，ｇｉ，ｐｉ）と、各単語を構成する漢字表記と仮名表記の各文字の文字混同確率との積の最大値をφ（ｇｉ，ｐｉ）と定義すると、式（２）より、以下の関係が成立する。
【００９６】
【数１３】
0003975825.tif 000016
ここで、ｑとｒは、漢字表記ｇｉの開始位置と終了位置を表わし、ｓとｔは仮名表記ｐｉの開始位置と終了位置を表わす。すなわち、
ｇｉ＝ｃｇｑ＋１．．．ｃｇｒ
ｐｉ＝ｃｐｓ＋１．．．ｃｐｔ
である。また、ｃｇ’ｊ及びｃｐ’ｋは、ｃｇｊ及びｃｐｋに対応する文字認識結果である。
【００９７】
式（１３）は、以下の関係を表わす。先頭からｉ番目の単語までの同時確率と各単語の漢字表記と仮名表記を構成する各文字の文字混同確率の積の最大値φ（ｇｉ，ｐｉ）は、先頭からｉ−１番目の単語までの同時確率と各単語の漢字表記と仮名表記を構成する各文字の文字混同確率の積の最大値φ（ｇｉ−１，ｐｉ−１）と、ｉ−１番目の単語とｉ番目の単語の単語ｂｉｇｒａｍ確率Ｐ（ｇｉ，ｐｉ｜ｇｉ−１，ｐｉ−１）の積の最大値に、ｉ番目の単語の漢字表記と仮名表記を構成する各文字の文字混同確率の積を掛けたものである。この関係を利用して、先頭から順にφ（ｇｉ，ｐｉ）を求めれば、先頭から末尾までの確率の最大値φ（ｇｎ，ｐｎ）を求めることができる。
【００９８】
図１０は、最適単語列探索の動作を説明するためのフローチャートである。最適単語列探索は、二次元の動的計画法を用いて式（１３）の計算を実現する。ここでは、φ（ｇｉ，ｐｉ）を部分解析の確率と呼び、φ（ｇｉ，ｐｉ）を格納するテーブルを部分解析テーブルと呼ぶ。
【００９９】
以下では、図１０に従って、最適単語列探索の動作を説明する。
【０１００】
最適単語列探索は、漢字表記と仮名表記の先頭から始まり、それぞれの現在の解析位置が末尾方向へ一文字ずつ進む。ステップＳ１１では、探索の開始位置を漢字表記と仮名表記の先頭（０，０）に設定する。
【０１０１】
ステップＳ１２では、探索が漢字表記の末尾に達したかどうかを判断する。もし、末尾に達していれば、最適単語列探索を終了する。そうでなければ、以下の処理を漢字表記の各文字位置で行なう。
【０１０２】
ステップＳ１３では、探索が仮名表記の末尾に達したかどうかを判断する。もし、末尾に達していれば、ステップＳ３０へ進む。そうでなければ、以下の処理を仮名表記の各文字位置で行なう。
【０１０３】
ステップＳ１４では、現在の漢字表記の文字位置と仮名表記の文字位置の組に到達するまで全ての単語列を部分解析テーブルから検索し、その中の一つを現在の部分解析（単語列）として選ぶ。
【０１０４】
ステップＳ１５では、全ての単語列を調べたかを判定する。もしそうならば、ステップＳ２９において、探索を仮名表記の次の文字位置へ進める。そうでなければ、以下の処理を各単語列について行なう。
【０１０５】
ステップＳ１６では、現在の漢字表記の文字位置から始まる、漢字表記の文字マトリクスに含まれる全ての漢字文字列のリストを作成する。
【０１０６】
ステップＳ１７では、現在の仮名表記の文字位置から始まる、仮名表記の文字マトリクスに含まれる全ての仮名文字列のリストを作成する。
【０１０７】
ステップＳ１８では、ステップＳ１６で作成した漢字文字列のリストと、ステップＳ１７で作成した仮名文字列のリストの全ての組合せから構成される単語リストを作成する。このリストの中で、単語辞書に照合しないものは未知語とみなす。
【０１０８】
ステップＳ１９では、ステップＳ１６で作成した漢字文字列のリスト、及び、ステップＳ１７で作成した仮名文字列のリストと類似照合する単語辞書中の単語を、単語リストに追加する。
【０１０９】
ステップＳ２０では、単語リストから一つの単語を選ぶ。
【０１１０】
ステップＳ２１では、全ての単語を調べたかを判定する。もしそうでなければ、ステップＳ２８へ進む。そうでなければ、以下の処理を各単語について行なう。
【０１１１】
ステップＳ２２では、現在の単語（現在の単語を最後の単語とする先頭からの単語列）が部分解析テーブルに登録されているかどうかを調べる。もしそうならば、ステップＳ２４へ進む。もしそうでなければ、ステップＳ２３において、この単語を部分解析テーブルに登録し、部分解析（単語列）の確率を０に初期化した後に、ステップＳ２４へ進む。
【０１１２】
ステップＳ２４では、現在の単語列と現在の単語の組合せによる新しい単語列の確率を求める。新しい単語列の確率は、次式で表わされる。
【０１１３】
【数１４】
0003975825.tif 000017
ステップＳ２５では、もし新しい単語列の確率が、最後の単語が同じである以前の単語列の確率よりも大きいかどうかを調べる。もしそうれあれば、ステップＳ２６において新しい単語列の確率を部分解析テーブルに格納してステップＳ２７へ進む。
【０１１４】
ステップＳ２７では、次の単語を選び、ステップＳ２１へ戻る。
【０１１５】
ステップＳ２８では、次の単語列を選び、ステップＳ１５へ戻る。
【０１１６】
ステップＳ２９では、探索を仮名表記の次の文字位置へ進め、ステップＳ１３へ戻る。
【０１１７】
ステップＳ３０では、探索を漢字表記の次の文字位置へ進め、ステップＳ１２へ戻る。
【０１１８】
〔７〕単語の類似照合
以下では、最適単語探索のステップＳ９における単語の類似照合の方法について説明する。現在の漢字文字列の文字位置をｘとし、仮名文字列の文字位置をｙとする。
【０１１９】
先ず始めに、漢字文字列をキーにして単語を類似検索する。
【０１２０】
（１）現在の漢字表記の文字位置ｘから始まり、漢字表記の文字マトリクスに含まれる全ての漢字文字列のリストの要素と、漢字表記が一致する単語辞書中の単語を全て検索して、類似単語候補リストを作成する。
【０１２１】
（２）類似単語候補リストの各要素について、その仮名表記と、現在の仮名表記の文字位置ｙから始まり、仮名表記の文字マトリクスに含まれる全ての仮名文字列との編集距離（一致しない文字数）の最小値を求める。
【０１２２】
（３）類似単語候補リストから、相対編集距離（文字列の長さに対する一致しない文字の割合）が０．５以下の単語を取り出し、これを出現頻度順に並べ、最大５個を類似単語候補として生成する。
【０１２３】
次に、仮名文字列をキーにして単語を類似検索する。
【０１２４】
（４）現在の仮名表記の文字位置ｙから始まり、仮名表記の文字マトリクスに含まれる全ての仮名文字列のリストの要素と、仮名表記が一致する単語辞書中の単語を全て検索して、類似単語候補リストを作成する。
【０１２５】
（５）類似単語候補リストの各要素について、その漢字表記と、現在の漢字表記の文字位置ｘから始まり、漢字表記の文字マトリクスに含まれる全ての漢字文字列との編集距離（一致しない文字数）の最小値を求める。
【０１２６】
（６）類似単語候補リストから、相対編集距離（文字列の長さに対する一致しない文字の割合）が０．５以下の単語を取り出し、これを出現頻度順に並べ、最大５個を類似単語候補として生成する。
【０１２７】
（７）最後に、漢字文字列をキーにして生成した単語候補と仮名文字列をキーにして生成した単語候補の集合和（重複した単語候補を一つにまとめたもの）を、最終的な類似単語候補とする。
【０１２８】
なお、ここで説明した編集距離の閾値０．５や最大候補数５は、パラメータの設定値の一例であり、最適な値は、たとえば、実験的に決定される。また、上記の例では、最初に漢字文字列をキーにして単語を類似検索し、次に仮名文字列をキーにして単語を類似検索しているが、逆に、最初に仮名文字列をキーにして単語を類似検索し、次に漢字文字列をキーにして単語を類似検索してもよい。
【０１２９】
【実施例】
最後に、本発明の一実施例による処理例を示す。図１１は、漢字表記「福井県福井市糸崎町」と仮名表記「フクイケンフクイシイトザキチョウ」に対して文字認識装置が出力した文字マトリクスの組に対する最適単語列探索の例を説明する図である。
【０１３０】
この処理例では、文字マトリクスは第２候補までを使用している。たとえば、「福」という漢字に対する第１候補及び第２候補は、それぞれ、「福」及び「禍」であり、「フ」という仮名に対する第１候補及び第２候補は、それぞれ、「フ」及び「ク」である。
【０１３１】
最適単語列探索では、各文字位置において、そこへ到達する単語列とそこから出発する単語の全ての組合せを調べ、出発する単語の終了位置における単語列の同時確率を更新する。
【０１３２】
図１１の左側では、漢字表記の文字位置をｘ（横軸）、仮名表記の文字位置をｙ（縦軸）で表わし、ある文字位置（６，９）に到達する単語列と出発する単語の位置関係、すなわち、文字位置（６，９）に到達する単語列の最後の単語の開始位置、及び、文字位置（６，９）から始まる単語の終了位置を示している。
【０１３３】
図１１の右側では、文字位置（６，９）に到達する単語列の最後の単語、及び、文字位置（６，９）から始まる単語の組合せの全てを調べる様子を示している。各単語は「漢字文字列／仮名文字列」で表現し、単語に対応する箱の上部には、単語の開始位置と終了位置の座標が示されている。また、単語が未知語の場合は、箱の下部に単語タイプを示している。
【０１３４】
単語候補には、単語辞書と完全一致したもの、単語辞書と類似照合したもの、及び、単語辞書と照合しなかったもの（未知語）の３種類ある。たとえば、文字位置（３，５）から文字位置（６，９）にある単語「福井市／フクイシ」は完全一致したものであり、漢字文字列「福井市」及び仮名文字列「フクイシ」が文字マトリクスにあり、かつ、「福井市／フクイシ」が単語辞書にある。
【０１３５】
文字位置（６，９）から文字位置（８，１３）にある単語「糸崎／イトザキ」は類似照合したもので、漢字文字列「糸崎」は文字マトリクスにあるが、仮名文字列「イトザキ」は文字マトリクスになく、漢字文字列をキーにして単語辞書から検索したものである。文字位置（５，７）から文字位置（６，９）にある単語候補「市／イシ」は未知語候補対であり、漢字文字列「市」も仮名文字列「イシ」も文字マトリクスにあるが、この単語「市／イシ」は辞書にない。
【０１３６】
図１１には、ある文字位置（６，９）における処理の様子が示されているが、このような処理を原点（０，０）から始めて（９，１６）まで、平面上の全ての格子点で行なうことにより、漢字表記と仮名表記の同時確率と文字混同確率の積が最大となる単語列を求めることができる。
【０１３７】
上記の本発明の実施例による文字認識誤り訂正方法は、ソフトウェア（プログラム）で構築することが可能であり、コンピュータのＣＰＵによってこのプログラムを実行することにより本発明の実施例による文字認識誤り訂正装置を実現することができる。構築されたプログラムは、ディスク装置等に記録しておき必要に応じてコンピュータにインストールされ、フレキシブルディスク、メモリカード、ＣＤ−ＲＯＭ等の可搬記録媒体に格納して必要に応じてコンピュータにインストールされ、或いは、通信回線等を介してコンピュータにインストールされ、コンピュータのＣＰＵによって実行される。
【０１３８】
以上、本発明の代表的な実施例を説明したが、本発明は、上記の実施例に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【０１３９】
【発明の効果】
以上のように、本発明によれば、漢字文字列と仮名文字列の同時確率を与える言語モデルと、文字混同確率を与える文字認識装置モデルと、言語モデル及び文字認識装置モデルに基づいて、入力された漢字文字列と仮名文字列の文字認識結果の組に対して最も確率が大きい単語列を求める最適単語列探索手段と、を用いて漢字表記と仮名表記を対応付けることにより、同じ内容が漢字表記と仮名表記で表現されているという冗長性を利用して、漢字表記又は仮名表記のいずれか一方のみからでは訂正できない文字認識誤りを訂正することができる、文字認識誤り訂正方法を実現できる。
【図面の簡単な説明】
【図１】本発明の第１実施例による文字認識誤り訂正システムの構成図である。
【図２】本発明の第１実施例による文字認識誤り訂正方法のフローチャートである。
【図３】本発明の第２実施例による文字認識誤り訂正システムの構成図である。
【図４】単語辞書の例の説明図である。
【図５】単語ｂｉｇｒａｍの出現頻度の例の説明図である。
【図６】単語タイプの定義の例の説明図である。
【図７】単語タイプ別の漢字表記の平均長と仮名表記の平均長の例の説明図である。
【図８】漢字表記の文字ｂｉｇｒａｍの出現頻度の例の説明図である。
【図９】仮名表記の文字ｂｉｇｒａｍの出現頻度の例の説明図である。
【図１０】本発明の第３実施例による最適単語列探索処理のフローチャートである。
【図１１】最適単語列探索の例を示す図である。
【符号の説明】
１    文字認識装置
２    最適単語列探索部
３    単語照合部
４    未知語候補生成部
５    類似単語照合部
６    単語ｎｇｒａｍモデル
７    単語辞書
８    未知語モデル
９    単語モデル
１０    文字認識装置モデル
１００    文字認識誤り訂正装置
【図１】
0003975825.tif 000018
【図２】
0003975825.tif 000019
【図３】
0003975825.tif 000020
【図４】
0003975825.tif 000021
【図５】
0003975825.tif 000022
【図６】
0003975825.tif 000023
【図７】
0003975825.tif 000024
【図８】
0003975825.tif 000025
【図９】
0003975825.tif 000026
【図１０】
0003975825.tif 000027
【図１１】
0003975825.tif 000028