(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 など）は、文字認識の候補文字を組み合わせて構成される単語を単語辞書から検索しながら単語間の接続を検査し、文頭から文末までに到達する単語列の中で最適なものを正解文字列とする。
【０００４】
この単語辞書と単語接続情報を利用する方法は、(a) 辞書に登録されていない単語が入力文中に存在したり、(b) 正解文字が候補文字に含まれていない場合に、性能が大きく低下するという問題点がある。
辞書に登録されていない単語への対処法としては、未登録語テンプレートを使って未登録語を発見し、文字の接続確率を使って文字列を限定する方法がある（前述の高尾・西野の論文）。しかし、この未登録語テンプレートは、発見的（ヒューリスティック）に人手で作成せねばならず、網羅性や移植性に問題がある。
【０００５】
正解文字が候補文字に含まれていない場合の対処法としては、候補文字補完と類似単語照合とがある。
候補文字補完とは、予め文字認識が誤りそうな類似文字の組を定義しておき、文字認識結果の候補文字に対して、無条件にこの類似文字を候補として付け加える方法である（杉村「候補文字補完と言語処理による漢字認識の誤り訂正処理法」電子情報通信学会論文誌  Vol.J82-D-II  No.7, pp.993-1000, 1989 ）。候補文字補完は、補完した文字が必ずしも正解文字を含むとは限らないのに、誤り訂正に必要な計算量を一様に大きく増加させる問題がある。
【０００６】
類似単語照合とは、単語辞書との照合の際に、完全に一致したものだけではなく、類似した（部分的に一致した）単語も検索する方法である（例えば、WagnerとFishcer “The String-to-String Correction Problem"  Journal of ACM  Vol.21  No.1, pp.168-173, 1974）。類似単語照合の際に用いる距離尺度としては、一方の文字列を他方の文字列に変換するのに必要な挿入・削除・置換の回数を表す編集距離(edit distance) を用いるのが一般的である。
【０００７】
類似単語照合は、英語のように長い単語が多い（平均約５文字）言語のスペルチェックなどでは有効である。しかし、日本語のように短い単語が多い（平均約２文字）言語では、あまり有効ではない。例えば、単語の類似度を一致した文字数で計測する場合、一文字が一致する二文字単語の組は非常に多く存在し、すべての一文字単語の組は同じ類似度を持つという問題がある。
【０００８】
文字認識誤り訂正における日本語向きの類似単語照合法としては、まず編集距離に基づいて訂正単語候補集合を作成し、前後の文脈に基づいて訂正単語候補を順位付けする方法が提案されている（永田「日本語文字認識方法及び装置」、特願平7-115926号、1995）。しかし、文脈を利用する方法は、氏名のように単語の長さが短く、かつ、前後の文脈が利用できない場合には、有効に作用しないという問題がある。
【０００９】
【発明が解決しようとする課題】
本発明は、上記従来手法の問題点に鑑み、
１．訂正対象となる単語の長さが短い場合、及び、
２．訂正対象となる単語の前後の文脈情報が利用できない場合
に訂正単語候補を正確に提示することができる日本語文字認識誤り訂正方法及び装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記目的を達成する本発明の日本語文字認識誤り訂正方法は、入力として与えられた日本語文に含まれる文字認識誤りを訂正する単語候補として、単語の出現頻度と文字の図形的類似度とに基づいて任意の個数の単語を確率が高い順番に提示することを特徴とする。
【００１１】
図１は本発明の原理構成図である。本発明の日本語文字認識誤り訂正装置は、文字認識誤りを含む日本語テキストの誤りを訂正する。同図に示す如く、本発明の日本語認識誤り訂正装置は、文字マトリクス、即ち、入力文の各文字位置において文字認識スコアの高い順番に文字候補を並べたリストを入力とし、連続する二つの単語において第１の単語が与えられたときの第２の単語の条件付き出現確率である単語二つ組確率を与える単語分割モデル７と、単語分割モデル７が持っている単語辞書と文字マトリクスに含まれる文字列を照合する単語照合手段４とを有する。また、日本語認識誤り訂正装置は、平均単語長と、連続する二つの文字において第１の文字が与えられたときの第２の文字の条件付き出現確率である文字二つ組確率とから、任意の文字列を表記とする単語の出現確率を与える単語モデル５と、辞書に登録されていない単語を同定するために文字マトリクスに含まれる部分文字列から単語モデル５に基づいて未知語候補を生成する未知語候補生成手段２とを有する。日本語認識誤り訂正装置は、任意の二つ文字の間の文字混同確率を与える文字認識装置モデル６と、正解文字が候補文字に含まれていない場合に訂正単語候補を生成するために文字混同確率と単語出現確率とに基づいて文字マトリクスに含まれる文字列と類似した単語を検索する類似単語照合手段３を更に有する。また、日本語誤り訂正装置は、単語分割モデル７、単語モデル５、及び文字認識装置モデル６に基づいて、単語列の同時確率と各文字の文字混同確率との積が大きい順に任意の個数の単語列を求める形態素解析手段１を有する。
【００１２】
図２は本発明の原理を説明するためのフローチャートである。本発明の日本語認識誤り訂正方法は、文字認識装置８が出力した文字マトリクスを入力とし、最初に、文字マトリクスに含まれる文字列と完全に一致する単語辞書中の単語を同定するために、単語照合手段４が単語候補を生成する（ステップ１）。次に、文字マトリクスに含まれる未知語、即ち、辞書に登録されていない単語を同定するために、未知語候補生成手段２が未知語候補、即ち、単語の表記と出現確率との組を生成する（ステップ２）。更に、正解文字が候補文字に含まれていない単語の訂正候補を生成するために、類似単語照合手段３が文字マトリクスに含まれる部分文字列と類似した辞書中の単語を、文字混同確率と単語出現確率とに基づいて前後の文脈を利用せずに検索する（ステップ３）。最後に、形態素解析手段１が、文字マトリクスに含まれる辞書中の単語、未知単語候補、及び、類似照合単語の組合せの中から、単語分割モデル７に基づいて、形態素解析候補、即ち、単語列を確率が高い順番に任意の個数だけ出力する（ステップ４）。
【００１３】
従って、本発明によれば、入力文が登録されていない単語を含む場合や、正解文字が文字候補に含まれていない場合でも、文字混同確率と単語出現確率とに基づいて文脈を利用せずに短い単語の訂正候補を生成し、単語列の同時確率と各文字の文字混同確率の積が大きい順に単語列を提示する日本語文字認識誤り訂正方法及び装置が実現できる。
【００１４】
以下、上記本発明の目的を達成する本発明の日本語文字認識方法及び日本語文字認識装置の種々の構成を説明する。
図３は本発明の日本語文字認識誤り訂正方法の説明図である。同図に示す如く、本発明の日本語文字認識誤り訂正方法は、
文字認識誤りを含む日本語文を入力し（ステップ９１）、
文を構成する単語列の同時確率を与える単語分割モデル９１と、任意の二つの文字の間の文字混同確率を与える文字認識装置モデル９２とに基づいて、上記訂正対象となる単語の文字列と類似照合する辞書９３中の単語を検索し（ステップ９２）、
訂正対象となる単語の長短、並びに、訂正対象となる単語の前後の文脈情報の利用の可否には係わらず、上記訂正対象となる単語の訂正単語候補として任意の個数の単語を確率の高い順番に提示する（ステップ９３）。
【００１５】
尚、上記説明及び図３において、辞書９３は単語分割モデル９１と別個に設けられているが、辞書９３は単語分割モデル９１に含まれていても構わない。
図４は上記本発明の方法を実現する日本語文字認識誤り訂正装置１０の構成図である。日本語文字認識誤り訂正装置１０は、単語の出現頻度を格納する記憶手段１２と、文字の図形的類似度を計算する計算手段１３と、入力手段１１に与えられた日本語文を構成する単語の出現頻度を上記記憶手段１２から獲得し、上記計算手段１３によって計算された上記日本文を構成する文字の図形的類似度を獲得し、上記獲得された単語の出現頻度及び文字の図形的類似度とに基づいて、上記日本語文に含まれる文字認識誤りを訂正する単語候補として、任意の個数の単語を確率が高い順番に提示する手段１４とからなる。
【００１６】
図５は、本発明による他の日本語文字認識誤り訂正装置２０の構成図である。同図に示す日本語文字認識誤り訂正装置２０は、
入力手段２１に与えられた日本語文に含まれる文字列と一致する単語を単語候補として生成する手段２２と、
上記文に含まれる未知の部分文字列を未知語候補として生成する手段２３と、上記文に含まれる部分文字列と類似した単語を上記文の文脈とは無関係に訂正単語候補として生成する手段２４と、
上記単語候補、上記未知語候補及び上記訂正単語候補の組合せの中から、上記日本語文に含まれる文字認識誤りの訂正単語列として、任意の個数の単語候補列を確率の高い順番に出力する手段２５とからなる。
【００１７】
図６は上記本発明の日本語文字認識誤り訂正装置２０が実施する誤り訂正方法の動作説明図である。同図に示す如く、本発明の日本語文字認識誤り訂正方法は、
入力として与えられた日本語文に含まれる文字列と一致する単語を単語候補として生成し（ステップ２１）、
上記文に含まれる未知の部分文字列を未知語候補として生成し（ステップ２２）、
上記文に含まれる部分文字列と類似した単語を上記文の文脈とは無関係に訂正単語候補として生成し（ステップ２３）、
上記単語候補、上記未知語候補及び上記訂正単語候補の組合せの中から、上記日本語文に含まれる文字認識誤りの訂正単語列として、任意の個数の単語候補列を確率の高い順番に出力する（ステップ２４）。
【００１８】
図７は、本発明による他の日本語文字認識誤り訂正装置３０の構成図である。同図に示す入力として与えられた日本語文に含まれる文字認識誤りを訂正する日本語文字認識誤り訂正装置３０は、
文を構成する単語列の同時確率を与える単語分割モデル格納手段３１と、
任意の二つの文字の間の文字混同確率を与える文字認識装置モデル格納手段３２と、
上記訂正対象となる単語の文字列と類似照合する辞書３５中の単語を検索する類似単語照合手段３３と、
訂正対象となる単語の長短、並びに、訂正対象となる単語の前後の文脈情報の利用の可否には係わらず、上記訂正対象となる単語の訂正単語候補として任意の個数の単語を確率の高い順番に提示する手段３４とからなる。
【００１９】
上記本発明の入力として与えられた日本語文に含まれる文字認識誤りを訂正する日本語文字認識誤り訂正装置３０において、
類似単語照合手段３３は、文を構成する単語列の同時確率を与える単語分割モデル３１と、任意の二つの文字の間の文字混同確率を与える文字認識装置モデル３２とに基づいて、上記訂正対象となる単語の文字列と類似照合する辞書３５中の単語を検索し、
訂正単語候補提示手段３４は、訂正対象となる単語の長短、並びに、訂正対象となる単語の前後の文脈情報の利用の可否には係わらず、上記訂正対象となる単語の訂正単語候補として任意の個数の単語を確率の高い順番に提示する。
【００２０】
図８は、本発明による他の日本語文字認識誤り訂正装置４０の構成図である。同図に示す日本語文字認識誤り訂正装置４０は、
日本語文の各文字位置毎に文字認識スコアの高い順番に並べられた文字候補のリストである文字マトリクスを入力する手段４１と、
平均単語長と、連続する二つの文字において第１の文字が与えられたときの第２の文字の条件付き出現確率を示す文字二つ組確率とを記憶する単語モデル格納手段４２と、
上記単語モデル格納手段４２に記憶された平均単語長及び文字二つ組確率に基づいて、上記文字マトリクスに含まれる部分文字列の中から、未知語候補として任意の個数の未知語の表記と出現確率の組を確率が高い順番に求める未知語候補生成手段４３と、
上記日本語文が辞書に登録されていない単語を含むか否かとは係わらず、上記未知語候補を含む単語候補の組合せの中から、上記日本語文を構成する単語列の同時確率と上記日本語文を構成する各文字の文字混同確率との積が大きい順番に任意の個数の単語候補列を提示する手段４４とからなる。
【００２１】
上記日本語文字認識誤り訂正装置４０は、
日本語文の各文字位置毎に文字認識スコアの高い順番に並べられた文字候補のリストである文字マトリクスを入力し、
平均単語長と、連続する二つの文字において第１の文字が与えられたときの第２の文字の条件付き出現確率を示す文字二つ組確率とに基づいて、上記文字マトリクスに含まれる部分文字列の中から、未知語候補として任意の個数の未知語の表記と出現確率の組を確率が高い順番に求め、
上記日本語文が辞書に登録されていない単語を含むか否かとは係わらず、上記未知語候補を含む単語候補の組合せの中から、上記日本語文を構成する単語列の同時確率と上記日本語文を構成する各文字の文字混同確率との積が大きい順番に任意の個数の単語候補列を提示する。
【００２２】
図９は、本発明による他の日本語文字認識誤り訂正装置５０の構成図である。同図に示す日本語文字認識誤り訂正装置５０は、
日本語文の各文字位置毎に文字認識スコアの高い順番に並べられた文字候補のリストである文字マトリクスを入力する手段５１と、
文字マトリクスに含まれる文字列と類似照合する辞書中の単語を検索し、ある文字がどの文字にどれくらいの頻度で認識されるかを示す文字混同行列及び文字の図形的特徴を数値化した文字特徴ベクトルから推定される二つの文字の間の文字混同確率を記憶する文字認識装置モデル格納手段５２と、
正解文字が上記文字候補に含まれているか否かとは係わらず、上記文字認識装置モデル格納手段から得られた上記日本語文を構成する各文字の文字混同確率が大きい順番に任意の個数の単語候補列を提示する手段５３とからなる。
【００２３】
本発明の日本語文字認識誤り訂正装置５０は、
日本語文の各文字位置毎に文字認識スコアの高い順番に並べられた文字候補のリストである文字マトリクスを入力し、
文字マトリクスに含まれる文字列と類似照合する辞書中の単語を検索し、ある文字がどの文字にどれくらいの頻度で認識されるかを示す文字混同行列及び文字の図形的特徴を数値化した文字特徴ベクトルから二つの文字の間の文字混同確率を推定し、
正解文字が上記文字候補に含まれているか否かとは係わらず、上記日本語文を構成する各文字の文字混同確率が大きい順番に任意の個数の単語候補列を提示する。
【００２４】
図１０は、本発明による他の日本語文字認識誤り訂正装置６０の構成図である。同図に示す日本語文字認識誤り訂正装置６０は、
日本語文の各文字位置毎に文字認識スコアの高い順番に並べられた文字候補のリストである文字マトリクスを入力する手段６１と、
文字マトリクスに含まれる文字列と類似照合する辞書中の単語を検索し、ある文字がどの文字にどれくらいの頻度で認識されるかを示す文字混同行列及び文字の図形的特徴を数値化した文字特徴ベクトルから推定される二つの文字の間の文字混同確率を記憶する文字認識装置モデル格納手段６２と、
単語出現確率を記憶する単語分割モデル格納手段６３と、
上記文字混同確率及び上記単語出現確率に基づいて上記単語の順位付けを行なう類似単語照合手段６４と、
正解文字が上記文字候補に含まれているか否かとは係わらず、上記順位付けされた単語を含む単語候補の組合せの中から、上記日本語文を構成する単語列の同時確率と上記日本語文を構成する各文字の文字混同確率との積が大きい順番に任意の個数の単語候補列を提示する手段６５とからなる。
【００２５】
上記本発明の日本語文字認識誤り訂正装置６０は、日本語文の各文字位置毎に文字認識スコアの高い順番に並べられた文字候補のリストである文字マトリクスを入力し、
文字マトリクスに含まれる文字列と類似照合する辞書中の単語を検索し、ある文字がどの文字にどれくらいの頻度で認識されるかを示す文字混同行列及び文字の図形的特徴を数値化した文字特徴ベクトルから推定される二つの文字の間の文字混同確率と単語出現確率とに基づいて上記単語の順位付けを行い、
正解文字が上記文字候補に含まれているか否かとは係わらず、上記順位付けされた単語を含む単語候補の組合せの中から、上記日本語文を構成する単語列の同時確率と上記日本語文を構成する各文字の文字混同確率との積が大きい順番に任意の個数の単語候補列を提示する。
【００２６】
図１１は、本発明による他の日本語文字認識誤り訂正装置７０の構成図である。同図に示す日本語文字認識誤り訂正装置７０は、
日本語文の各文字位置毎に文字認識スコアの高い順番に並べられた文字候補のリストである文字マトリクスを入力する手段７１と、
上記文字マトリクスに含まれる部分文字列と照合する辞書７３中の単語を検索する単語照合手段７２と、
平均単語長と、連続する二つの文字において第１の文字が与えられたときの第２の文字の条件付き出現確率を示す文字二つ組確率とを記憶する単語モデル格納手段７４と、
上記日本語文が辞書に登録されていない単語を含む場合に、上記記憶された平均単語長及び文字二つ組確率に基づいて、上記文字マトリクスに含まれる部分文字列の中から、未知語候補として確率が高い順番に任意の個数の未知語の表記と出現確率の組を求める未知語候補生成手段７５と、
正解文字が上記文字候補に含まれていない場合に、文字マトリクスに含まれる文字列と類似照合する辞書中の単語を検索し、ある文字がどの文字にどれくらいの頻度で認識されるかを示す文字混同行列及び文字の図形的特徴を数値化した文字特徴ベクトルから推定される二つの文字の間の文字混同確率を記憶する文字認識装置モデル格納手段７６と、
単語出現確率を記憶する単語分割モデル格納手段７７と、
上記記憶された文字混同確率及び単語出現確率に基づいて上記単語の順位付けを行なう類似単語照合手段７８と、
上記文字マトリクスに含まれる辞書中の単語、上記未知語候補、及び、上記順位付けされた単語を含む単語候補の組合せの中から、上記日本語文を構成する単語列の同時確率と上記日本語文を構成する各文字の文字混同確率との積が大きい順番に任意の個数の単語候補列を提示する形態素解析手段７９とからなる。
【００２７】
上記本発明の日本語文字認識誤り訂正装置７０は、
日本語文の各文字位置毎に文字認識スコアの高い順番に並べられた文字候補のリストである文字マトリクスを入力し、
上記文字マトリクスに含まれる部分文字列と照合する辞書中の単語を検索し、上記日本語文が辞書に登録されていない単語を含む場合に、平均単語長と、連続する二つの文字において第１の文字が与えられたときの第２の文字の条件付き出現確率を示す文字二つ組確率とに基づいて、上記文字マトリクスに含まれる部分文字列の中から、未知語候補として確率が高い順番に任意の個数の未知語の表記と出現確率の組を求め、
正解文字が上記文字候補に含まれていない場合に、文字マトリクスに含まれる文字列と類似照合する辞書中の単語を検索し、ある文字がどの文字にどれくらいの頻度で認識されるかを示す文字混同行列及び文字の図形的特徴を数値化した文字特徴ベクトルから推定される二つの文字の間の文字混同確率と単語出現確率とに基づいて上記単語の順位付けを行い、
上記文字マトリクスに含まれる辞書中の単語、上記未知語候補、及び、上記順位付けされた単語を含む単語候補の組合せの中から、上記日本語文を構成する単語列の同時確率と上記日本語文を構成する各文字の文字混同確率との積が大きい順番に任意の個数の単語候補列を提示する。
【００２８】
また、本発明は、日本語文字認識誤り訂正装置に適用される文字認識装置モデル作成装置を提供する。図１２は文字認識装置モデル作成装置の構成図である。同図に示す如く本発明の文字認識装置モデル作成装置８０は、
ある文字がどの文字にどれくらいの頻度で認識されるかを与える文字混同頻度を記憶する文字混同頻度格納手段８１と、
文字の図形的特徴を数値化した文字特徴ベクトルを記憶する文字特徴ベクトル格納手段８２と、
互いに距離が近い文字特徴ベクトルを一つにまとめることにより、上記文字を複数の文字クラスに分類する文字クラスタリング手段８３と、
上記文字混同頻度及び上記文字クラスに基づいて、ある文字クラスの文字がどの文字クラスの文字にどのくらいの頻度で認識されるかを表す文字クラス混同確率を推定する手段８４と、
ある文字がこれまで観測されていない文字に認識される確率の総和を推定する未観測事象確率推定手段８５と、
上記未観測事象の確率の総和を文字クラス混同確率に比例するように配分し、和が１になるように正規化することにより未観測事象の文字混同確率を求め、観測事象の確率の総和を文字混同確率に比例するように配分し、全体の確率の和が１になるように正規化する手段８６とにより構成され、
文字の図形的類似度に基づいて任意の二つの文字の間の文字混同確率を与えることを特徴とする。
【００２９】
図１３は、本発明の文字認識装置モデル作成装置８０の動作説明図である。同図に示す如く、文字認識装置モデル作成装置８０は、
文字混同頻度が０か否かを判定し（ステップ８１）、
０であるならば、未観測事象の確率の総和を推定し（ステップ８２）、
入力文字と出力文字が属するクラスを求め、文字クラス混同確率を推定し（ステップ８３）、
未観測事象の確率の総和を文字クラス混同確率に比例して配分し、全体の確率の和が１になるように正規化し（ステップ８４）、
文字混同頻度が０ではない場合、観測事象の確率を文字混同確率に比例して配分し、全体の確率の和が１になるように正規化する（ステップ８５）。
【００３０】
また、本発明は、上記本発明の日本語文字認識誤り訂正装置及び文字認識装置モデル作成装置の各々の構成要件を実現するソフトウェア（プログラム）を記録した記録媒体を含む。かかる本発明の日本語文字認識誤り訂正プログラム及び文字認識装置モデル作成プログラムは、ディスク装置等に格納しておき、必要に応じて文字認識誤り訂正システムのコンピュータにインストールして、夫々、文字認識誤り訂正及び文字認識装置モデル作成を行うことも可能である。
【００３１】
本発明の日本語認識誤り訂正プログラムを記録した記録媒体は、
単語の出現頻度を記憶させるプロセスと、
文字の図形的類似度を計算するプロセスと、
入力として与えられた日本語文を構成する記憶された単語の出現頻度を獲得し、上記計算された上記日本文を構成する文字の図形的類似度を獲得し、上記獲得された単語の出現頻度及び文字の図形的類似度とに基づいて、上記日本語文に含まれる文字認識誤りを訂正する単語候補として、任意の個数の単語を確率が高い順番に提示させるプロセスとからなることを特徴とする日本語文字誤り訂正プログラムを記録する。
【００３２】
また、本発明は、入力として与えられた日本語文に含まれる文字列と一致する単語を単語候補として生成させるプロセスと、
上記文に含まれる未知の部分文字列を未知語候補として生成させるプロセスと、
上記文に含まれる部分文字列と類似した単語を上記文の文脈とは無関係に訂正単語候補として生成させるプロセスと、
上記単語候補、上記未知語候補及び上記訂正単語候補の組合せの中から、上記日本語文に含まれる文字認識誤りの訂正単語列として、任意の個数の単語候補列を確率の高い順番に出力させるプロセスとからなることを特徴とする日本語文字認識誤り訂正プログラムを記録した記録媒体である。
【００３３】
また、本発明は、入力として与えられた日本語文を構成する単語列の同時確率を与えるプロセスと、
任意の二つの文字の間の文字混同確率を与えるプロセスと、
上記訂正対象となる単語の文字列と類似照合する辞書中の単語を検索させるプロセスと、
訂正対象となる単語の長短、並びに、訂正対象となる単語の前後の文脈情報の利用の可否には係わらず、上記訂正対象となる単語の訂正単語候補として任意の個数の単語を確率の高い順番に提示させるプロセスとからなることを特徴とする日本語文字認識誤り訂正プログラムを記録した記録媒体である。
【００３４】
また、本発明は、日本語文の各文字位置毎に文字認識スコアの高い順番に並べられた文字候補のリストである文字マトリクスを入力させるプロセスと、
平均単語長と、連続する二つの文字において第１の文字が与えられたときの第２の文字の条件付き出現確率を示す文字二つ組確率とを記憶させるプロセスと、上記記憶された平均単語長及び文字二つ組確率に基づいて、上記文字マトリクスに含まれる部分文字列の中から、未知語候補として任意の個数の未知語の表記と出現確率の組を確率が高い順番に求めさせるプロセスと、
上記日本語文が辞書に登録されていない単語を含むか否かとは係わらず、上記未知語候補を含む単語候補の組合せの中から、上記日本語文を構成する単語列の同時確率と上記日本語文を構成する各文字の文字混同確率との積が大きい順番に任意の個数の単語候補列を提示させるプロセスとからなることを特徴とする日本語文字認識誤り訂正プログラムを記録した記録媒体である。
【００３５】
また、本発明は、日本語文の各文字位置毎に文字認識スコアの高い順番に並べられた文字候補のリストである文字マトリクスを入力させるプロセスと、
文字マトリクスに含まれる文字列と類似照合する辞書中の単語を検索し、ある文字がどの文字にどれくらいの頻度で認識されるかを示す文字混同行列及び文字の図形的特徴を数値化した文字特徴ベクトルから推定される二つの文字の間の文字混同確率を記憶させるプロセスと、
正解文字が上記文字候補に含まれているか否かとは係わらず、上記文字認識装置モデル格納手段から得られた上記日本語文を構成する各文字の文字混同確率が大きい順番に任意の個数の単語候補列を提示させるプロセスとからなることを特徴とする日本語文字認識誤り訂正プログラムを記録した記録媒体である。
【００３６】
また、本発明は、日本語文の各文字位置毎に文字認識スコアの高い順番に並べられた文字候補のリストである文字マトリクスを入力させるプロセスと、
文字マトリクスに含まれる文字列と類似照合する辞書中の単語を検索し、ある文字がどの文字にどれくらいの頻度で認識されるかを示す文字混同行列及び文字の図形的特徴を数値化した文字特徴ベクトルから推定される二つの文字の間の文字混同確率を記憶させるプロセスと、
単語出現確率を記憶させるプロセスと、
上記文字混同確率及び上記単語出現確率に基づいて上記単語の順位付けを行わせるプロセスと、
正解文字が上記文字候補に含まれているか否かとは係わらず、上記順位付けされた単語を含む単語候補の組合せの中から、上記日本語文を構成する単語列の同時確率と上記日本語文を構成する各文字の文字混同確率との積が大きい順番に任意の個数の単語候補列を提示させるプロセスとからなることを特徴とする日本語文字認識誤り訂正プログラムを記録した記録媒体である。
【００３７】
また、本発明は、日本語文の各文字位置毎に文字認識スコアの高い順番に並べられた文字候補のリストである文字マトリクスを入力させるプロセスと、
上記文字マトリクスに含まれる部分文字列と照合する辞書中の単語を検索させるプロセスと、
平均単語長と、連続する二つの文字において第１の文字が与えられたときの第２の文字の条件付き出現確率を示す文字二つ組確率とを記憶させるプロセスと、
上記日本語文が辞書に登録されていない単語を含む場合に、上記記憶された平均単語長及び文字二つ組確率に基づいて、上記文字マトリクスに含まれる部分文字列の中から、未知語候補として確率が高い順番に任意の個数の未知語の表記と出現確率の組を求めさせるプロセスと、
正解文字が上記文字候補に含まれていない場合に、文字マトリクスに含まれる文字列と類似照合する辞書中の単語を検索し、ある文字がどの文字にどれくらいの頻度で認識されるかを示す文字混同行列及び文字の図形的特徴を数値化した文字特徴ベクトルから推定される二つの文字の間の文字混同確率を記憶させるプロセスと、
単語出現確率を記憶させるプロセスと、
上記記憶された文字混同確率及び単語出現確率に基づいて上記単語の順位付けを行なわせるプロセスと、
上記文字マトリクスに含まれる辞書中の単語、上記未知語候補、及び、上記順位付けされた単語を含む単語候補の組合せの中から、上記日本語文を構成する単語列の同時確率と上記日本語文を構成する各文字の文字混同確率との積が大きい順番に任意の個数の単語候補列を提示させるプロセスとからなることを特徴とする日本語文字認識誤り訂正プログラムを記録した記録媒体である。
【００３８】
また、本発明は、ある文字がどの文字にどれくらいの頻度で認識されるかを与える文字混同頻度を記憶させるプロセスと、
文字の図形的特徴を数値化した文字特徴ベクトルを記憶させるプロセスと、
互いに距離が近い文字特徴ベクトルを一つにまとめることにより、上記文字を複数の文字クラスに分類させるプロセスと、
上記文字混同頻度及び上記文字クラスに基づいて、ある文字クラスの文字がどの文字クラスの文字にどのくらいの頻度で認識されるかを表す文字クラス混同確率を推定させるプロセスと、
ある文字がこれまで観測されていない文字に認識される確率の総和を推定させるプロセスと、
上記未観測事象の確率の総和を文字クラス混同確率に比例するように配分し、和が１になるように正規化することにより未観測事象の文字混同確率を求め、観測事象の確率の総和を文字混同確率に比例するように配分し、全体の確率の和が１になるように正規化させるプロセスとにより構成され、
文字の図形的類似度に基づいて任意の二つの文字の間の文字混同確率を与えることを特徴とする文字認識装置モデル作成プログラムを記録した記録媒体である。
【００３９】
【発明の実施の形態】
図１４は、本発明の一実施例による日本語文字認識誤り訂正システムの概略ブロック図である。同図に示す如く、日本語文字認識誤り訂正システムは、日本語入力文を受け、文字マトリクスを出力する文字認識装置１０１と、与えられた文字マトリクスを入力して単語列を出力する文字認識誤り訂正装置１００とからなる。
【００４０】
文字認識誤り訂正装置１００は、前向き探索部１０２、部分解析テーブル１０３、後向き探索部１０４、平均単語長テーブル１０５、未知語候補生成部１０６、類似単語照合部１０７、単語出現確率テーブル１０８、単語照合手段１０９、単語二つ組確率テーブル１１０、文字二つ組確率テーブル１１１、文字混同確率計算部１１２、文字混同頻度テーブル１１３、文字クラス混同頻度テーブル１１４、文字クラスタリング部１１５、及び文字特徴ベクトルテーブル１１６により構成される。
【００４１】
前向き探索部１０２は、入力文に対して文字認識装置１が出力した文字マトリクスを入力とし、入力文字マトリクスの文頭から文末へ一文字ずつ進む動的計画法(Dynamic Programming) を用いて、単語列の同時確率（即ち、単語二つ組確率の積）と各文字の文字混同確率との積が最大化されるような入力文の単語分割を求める。前向き探索部１０２は、文頭からある単語に至るまでの単語列の同時確率と各文字の文字混同確率との積を最大化する部分解析（単語列）の確率を、最後の単語毎に計算し、部分解析スコアテーブル１０３に記録する。
【００４２】
前向き探索において、単語候補は、単語照合部１０９と類似単語照合部１０７と未知語候補生成部１０６とによって提案される。提案された単語候補には、文字列混同確率生成部１１２によって、単語を構成する各文字の文字混同確率の積が与えられる。また、単語二つ組確率は単語二つ組確率テーブル１１０より与えられる。
【００４３】
以下では、文字マトリクスの各文字位置において、その文字位置の文字候補のリストから一文字ずつ選ぶことにより構成される文字列を、「文字マトリクスに含まれる文字列」と呼ぶ。
単語照合部１０９は、文字マトリクスに含まれる文字列と単語出現確率テーブル１０８の単語表記とを照合し、照合したものを単語候補として提案する。
【００４４】
類似単語照合手段１０７は、文字マトリクスに含まれる文字列及び単語出現確率テーブル１０８の単語表記を、単語出現確率テーブル１０８より与えられる単語出現確率を用いて類似照合する。
未知語候補生成部１０６は、文字マトリクスに含まれる文字列の中で単語出現確率テーブル１０８の単語表記と照合しないものを未知語とみなし、平均単語長テーブル１０５より与えられる平均単語長と、文字二つ組確率テーブル１１１より与えられる文字二つ組確率を用いて単語出現確率を推定して、予め定めた個数の未知語を出力確率が大きい順に未知語候補として提案する。
【００４５】
後向き探索部１０４は、前向き探索部２において部分解析テーブル１０３に格納された部分解析を入力し、文末から文頭へ一単語ずつ進むＡ* アルゴリズムを用いて、単語列の同時確率と各文字の文字混同確率との積が最も大きい方から順番に一つずつ単語列候補を求める。
文字混同確率計算部１１２は、文字混同頻度テーブル１１３に格納された文字混同頻度と、文字クラス混同頻度テーブル１１４に格納された文字クラス混同頻度とから文字混同確率を求める。
【００４６】
文字クラスタリング部１１５は、文字特徴ベクトルテーブル１１６をベクトル量子化アルゴリズムを用いて予め定められた個数の文字クラスに分類し、文字クラス間の混同数を文字混同頻度テーブル１１３より求める。
以下では、まず、本発明の理論的基礎である「文字認識誤り訂正の情報理論的解釈」について説明し、続いて、文字認識装置モデル、単語分割モデル、単語モデル、前向き探索部及び後向き探索部、未知語候補生成部、並びに、類似単語照合部の順に説明する。
【００４７】
・文字認識誤り訂正の情報理論的解釈
本発明の一実施例において、文字認識装置１の入力と出力の関係は、雑音のある通信路のモデル(noisy channel model) で定式化される。入力文字列Ｃに対する文字認識結果をＸとすれば、文字認識の誤り訂正は、事後確率Ｐ（Ｃ｜Ｘ）を最大にする文字列
【００４８】
【外１】
0004066507.tif 000002
【００４９】
を求める問題に帰着する。
ベイズの定理により、次の関係が成り立つので、
【００５０】
【数１】
0004066507.tif 000003
【００５１】
Ｐ（Ｘ｜Ｃ）Ｐ（Ｃ）を最大にする文字列
【００５２】
【外２】
0004066507.tif 000004
【００５３】
を求めればよい。
【００５４】
【数２】
0004066507.tif 000005
【００５５】
ここでは、Ｐ（Ｘ｜Ｃ）を文字認識装置モデル、Ｐ（Ｃ）を言語モデルと呼ぶ。以下では、本発明の一実施例で用いた文字認識装置モデル及び言語モデルについて説明する。
・文字認識装置モデル
文字認識装置モデルＰ（Ｘ｜Ｃ）は、入力文字列Ｃを構成する各文字ｃi が、Ｘを構成する各文字ｘi に認識される確率の積から計算できる。
【００５６】
【数３】
0004066507.tif 000006
【００５７】
Ｐ（ｘi ｜ｃi ）は文字混同確率(character confusion probability) と呼ばれ、基本的には文字認識装置の入力と出力の組の頻度データである文字混同行列(character confusion matrix)から求めることができる。
しかし、文字混同行列は、文字認識法が入力画像の品質に大きく依存するので汎用性が低い。また、日本語は文字の種類が３０００字以上もあるので、すべての文字について十分に多くの文字認識結果を集めることはできない。必然的に文字混同行列は疎(sparse)になるので、文字混同確率Ｐ（ｘi ｜ｃi ）を相対頻度から最尤推定するのは不適切である。
【００５８】
例えば、「環境」という単語が「技境」と誤認識されたとする。図１５は「環」と「境」という文字に関する文字混同行列のデータの例を示す図である。スラッシュ（’／’）で区切られた文字と数字の組は、入力文字に対する出力文字とその頻度を表す。「環」という文字に関する認識結果を１２９１個集めたとき、出力される文字は「環」が１２８９個、「探」が１個、「像」が１個しかなく、「技」と認識される例はない。従って、単純に最尤推定すると、文字混同確率Ｐ（技｜環）＝０となる。これは「ゼロ頻度問題」と呼ばれ、少数の学習データから確率モデルを推定する際には必ず発生する問題である。
【００５９】
そこで、本発明の一実施例では、文字の図形的な特徴を数値化したデータである文字特徴ベクトルを、文字混同行列と組み合わせることにより、文字の図形的な類似度に基づいて文字混同確率を平滑化(smoothing) する。そのため、まず全ての未観測事象の出現確率の和を推定し、次に、文字の類似度に基づいて各未観測事象に確率を再配分する。以下でその方法を説明する。
【００６０】
・未観測事象から生起する確率の推定
本発明の一実施例において、未観測事象の確率の総和の推定法として、WittenとBellの方法（Witten and Bill,“The Zero-Frequency Problem: Estimating the Probabilities of Novel Events in Adaptive Text Compression", IEEE  Transaction on information Theory, Vol.37, No.4, pp.1085-1094, 1991 ）を用いる。WittenとBellの方法では、既に観測された事象の延べ総数、即ち、種類の違いを無視して計算した合計をｎとし、異なり総数、即ち、種類が同じものは一つとして計算した合計をｒとするとき、新しい事象（未観測事象）が生起する確率をｒ／（ｎ＋ｒ）と推定する。一方、既にｃ回観測された事象の確率はｃ／（ｎ＋ｒ）と推定する。WittenとBellの方法は、新しい事象を観測する確率は、観測事象の異なり総数が増加すると共に増え、観測事象の延べ総数が増加すると共に減るという経験則を反映したもので、単純な計算により実用的な精度が得られるという利点がある。尚、WittenとBellの方法は、テキスト圧縮の分野で考案されたもので、文字認識の誤り訂正にこの方法を応用するのは本発明の一実施例に特有の新規事項である。
【００６１】
文字ｃi が文字ｃj に認識されるという事象の頻度をＣ（ｃi ，ｃj ）とし、文字ｃi が未観測の文字に認識されるという事象の確率の和をβ（ｃi ）とする。WittenとBellの方法よりβ（ｃi ）は以下のように推定される。
【００６２】
【数４】
0004066507.tif 000007
【００６３】
ここでΘ（ｘ）は異なり総数を求めるために導入した以下のようなステップ関数である。
【００６４】
【数５】
0004066507.tif 000008
【００６５】
図１５に示された例では、文字「環」は１２９１（＝１２８９＋１＋１）回入力され、出力には「環」、「探」及び「像」の３つの文字がある。従って、新しい文字を観測する確率は、３／（１２９１＋３）＝３／１２９４である。
・図形的類似度に基づく文字クラスタリング
WittenとBellの方法は、未観測事象の確率の総和を求めるための一般的な方法として使用できるが、個々の未観測事象に確率を再配分する方法は、モデル化する対象に応じて新たに考案する必要がある。最も簡単な確率の再配分法は、すべての未観測事象を等確率と仮定する方法である。しかし、文字混同確率の場合、図形的に似ている文字ほど認識誤りが生じ易いので、等確率とする仮定は不適切である。
【００６６】
本発明の一実施例では、図形的に似ている文字の間の誤り傾向に基づいて未観測事象の文字混同確率を再配分するために、まず、図形的な類似度に基づいて文字を適当な数のクラスに分類し、この文字クラス間の混同頻度を文字混同頻度から求める。そして、文字クラス混同頻度に比例するように未観測事象の確率を再配分する。
文字クラスは文字特徴ベクトルをクラスタリングすることにより求める。一般に、文字認識は特徴抽出及び分類により構成される。特徴抽出は画像から文字認識に有効な複数の特徴量を取り出す操作であり、分類は入力文字画像の特徴ベクトルと予め用意した各文字の代表ベクトルを何らかの距離尺度に基づいて比較する操作である。従って、文字特徴ベクトル間の距離に基づいて文字をクラスタリングすれば、文字認識の誤り傾向を反映する図形的に似た文字の集合が得られる。
【００６７】
本発明の一実施例では、文字特徴量として外郭方向寄与度（荻田・内藤・増田「外郭方向寄与度特徴による手書き漢字の識別」、電子通信学会論文誌、Vol.J66-D, No.10, pp.1185-1192, 1983）が使用され、クラスタリング手法としてＬＢＧアルゴリズム(Linde, Buzo and Gray “An algorithm for Vector Quantizer Design", IEEE Transactions on Communications, Vol.COM-28, No.1, pages 84-95, 1980)が使用されている。但し、文字特徴ベクトルとクラスタリング手法は、最終的に図形的に類似した文字のクラスが得られる方法であればよく、本実施例で使用された外郭方向寄与度とＬＢＧアルゴリズムに限定されることはない。外郭方向寄与度は本来１５３６次元のベクトルであるが、２段階の特徴選択法を用いて２５６次元に縮退した特徴ベクトルを作成する。次に、３０２１個の日本語の文字に対し各文字の特徴ベクトルをＬＢＧアルゴリズムを用いて、３０２１個の文字を１２８個のクラスに分類した。
【００６８】
図１６はクラスタリングにより作成された文字クラスの例を説明する図である。クラス２９は「環」を含む文字クラス、クラス１１９は「技」を含む文字クラスである。図形的に類似した特徴を持つ文字が一つのクラスを構成していることが分かる。
・文字クラス混同頻度と文字混同確率の計算法
文字クラスと文字混同頻度から文字クラス混同頻度を求める手順を説明する。文字クラスｃｌａｓｓI に属する文字が文字クラスｃｌａｓｓJ に属する文字に認識される頻度を文字クラス混同頻度と呼び、Ｃ（ｃｌａｓｓI ，ｃｌａｓｓJ ）で表す。文字クラス混同頻度Ｃ（ｃｌａｓｓI ，ｃｌａｓｓJ ）は、ｃｌａｓｓI とｃｌａｓｓJ に属する文字に関する文字混同行列の要素の和から求めることができる。
【００６９】
【数６】
0004066507.tif 000009
【００７０】
文字混同行列に比べれば少ないが、文字クラス混同行列にもゼロ要素がある。そこで、まず前述のWittenとBellの方法を文字クラス混同行列に適用してゼロ要素（未観測事象）の確率の和を求め、未観測事象は等確率と仮定して確率を再配分する。これによりすべての文字クラスの間にクラス混同確率が定義できる。
図１７は文字クラス混同行列の例を示す図である。同図には、クラス２９（「環」を含む文字クラス）の文字クラス混同頻度が示されている。クラス２９は入力として３１０３６回現れ、クラス１１９（「技」を含む文字クラス）に認識されたのは７回である。また、出力の中の異なりクラスは３６個ある。従って、文字クラス混同確率は、Ｐ（ｃｌａｓｓ119 ｜ｃｌａｓｓ29）＝７／（３１０３６＋３６）＝７／３１０７２である。
【００７１】
未観測事象の文字混同確率は、文字クラス混同確率に比例するように配分される。即ち、
【００７２】
【数７】
0004066507.tif 000010
【００７３】
ここで、α（ｃi ）は、未観測事象の文字混同確率の和がβ（ｃi ）に等しくなるようにするための正規化係数であり、
【００７４】
【数８】
0004066507.tif 000011
【００７５】
ｃｌａｓｓ（ｃi ）は文字ｃi が属するクラスを求める関数である。
文字クラス混同確率Ｐ（ｃｌａｓｓ（ｃj ）｜ｃｌａｓｓ（ｃi ））及び正規化係数α（ｃi ）は予め計算しておくことができるので、式（７）に示す文字混同確率の計算は非常に効率的に実現できる。
・言語モデル（単語分割モデル）
続いて、言語モデル（単語分割モデル）、前向き探索及び後向き探索について説明する。
【００７６】
文字列Ｃ＝ｃ1 ｃ2 ．．．ｃm から構成される入力文が、単語列Ｗ＝ｗ1 ｗ2 ．．．ｗn に分割されるとする。本発明の一実施例では、式（２）における文字列Ｃの確率Ｐ（Ｃ）を、文字列Ｃを構成する最も尤もらしい単語列の確率Ｐ（Ｗ）で近似する。さらに、本実施例では、単語列の同時確率Ｐ（Ｗ）を次式のように単語二つ組確率の積で近似する。
【００７７】
【数９】
0004066507.tif 000012
【００７８】
ここで、“# ”は文の先頭及び末尾を表す特殊な記号である。単語二つ組確率は、大量のテキストデータから事前に学習しておく。
一般にＰ（Ｗ）は単語分割モデルと呼ばれる。式（９）のように、単語分割モデルを言語モデルとして用いると、文字認識誤り訂正は、文字認識装置の出力文字列Ｘに対し事後確率Ｐ（Ｗ｜Ｘ）を最大にする単語列
【００７９】
【外３】
0004066507.tif 000013
【００８０】
を求める問題に帰着する。式（２）と同様にベイズの定理を用いれば、これはＰ（Ｘ｜Ｗ）とＰ（Ｗ）の積を最大化すればよいことになる。
【００８１】
【数１０】
0004066507.tif 000014
【００８２】
式（１０）を最大化する単語列は、文頭から文末方向へ一文字ずつ進む動的計画法により求められる。さらに、文末から文頭方向へ進むＡ* 探索を用いれば、確率が大きい順に任意の個数の単語列候補を求めることもできる。本発明の一実施例では、文頭から文末方向へ一文字ずつ進む動的計画法を前向き探索と称し、文末から文頭方向へ進むＡ* 探索を後向き探索と称する。以下では、前向き探索及び後向き探索について説明する。
【００８３】
・前向き探索
前向き探索部１０２が式（１０）を最大化する単語列を求める手順を説明する。
文頭からｉ番目の単語までの単語列の同時確率Ｐ（ｗ1 ．．．ｗi ）と、単語列を構成する各文字の文字混同確率Ｐ（ｘj ｜ｃj ）との積の最大値をφ（ｗi ）と定義すると、式（９）より、以下の関係が成立する。
【００８４】
【数１１】
0004066507.tif 000015
【００８５】
ここで、ｑ及びｒは単語ｗi の開始位置及び終了位置を表す。即ち、ｗi ＝ｃq+1 ．．．ｃr であり、ｘq+1 ．．．ｘr はｗi に対応する文字認識結果である。
式（１１）は以下の関係を表す。文頭からｉ番目の単語までの同時確率と単語列を構成する各文字の文字混同確率との積の最大値φ（ｗi ）は、文頭からｉ−１番目の単語までの同時確率と単語列を構成する各文字の文字混同確率との積の最大値φ（ｗi-1 ）と、ｉ番目の単語の単語二つ組確率Ｐ（ｗi ｜ｗi-1 ）との積の最大値に、ｉ番目の単語を構成する各文字の文字混同確率の積を掛けたものである。この関係を利用して、文頭から順にφ（ｗi ）を求めれば、文頭から文末までの確率の最大値φ（ｗn ）を求めることができる。
【００８６】
図１８は本発明の一実施例による前向き探索部１０２の動作フローチャートである。前向き探索は動的計画法を用いて式（１１）の計算を実現する。ここでは、φ（ｗi ）を部分解析の確率と呼び、φ（ｗi ）を格納するテーブルを部分解析テーブル１０３と呼ぶ。以下では、図１８に従って前向き探索の動作を説明する。  前向き探索は、入力文の先頭から始まり、文末方向へ一文字ずつ進む。ステップ１０１では、探索の開始位置を入力文の先頭に設定する。
【００８７】
ステップ１０２では、探索が文末に達したか否かを判断する。もし、文末に達していれば、前向き探索を終了する。そうでなければ、以下の処理を各文字位置で行う。
ステップ１０３では、現在の文字位置に到達する全ての部分解析を部分解析テーブル１０３から検索し、その中の一つを現在の部分解析として選ぶ。
【００８８】
ステップ１０４では、全ての部分解析を調べたか否かを判定する。もしそうならば、ステップ１１４において探索を次の文字位置へ進める。そうでなければ、以下の処理を各部分解析について行う。
ステップ１０５では、現在の文字位置から始まるすべての単語候補の集合を作成し、その中から一つの単語を現在の単語として選ぶ。すべての単語候補の集合は、文字マトリクスに含まれる文字列と照合する辞書中の単語（単語照合部１０９から得られる）、文字列マトリクスに含まれる文字列と類似照合する辞書中の単語（類似単語照合部１０７から得られる）、及び、文字マトリクスに含まれる文字列で辞書と照合しないものから生成した未知単語候補（未知語候補生成部１０６から得られる）より構成される。
【００８９】
ステップ１０６では、全ての単語を調べたか否かを判定する。もしそうならば、ステップ１１３において次の部分解析を選ぶ。そうでなければ、以下の処理を各単語について行う。
ステップ１０７では、現在の単語（を最後の単語とする部分解析）が部分解析テーブル１０３に登録されているか否かを調べる。もしそうならば、ステップ１０９に進む。そうでなければ、ステップ１０８において、この単語を部分解析テーブル１０３に登録し、部分解析の確率を０に初期化した後に、ステップ１０９へ進む。
【００９０】
ステップ１０９では、現在の部分解析と現在の単語の組合せによる新しい部分解析の確率を求める。新しい部分解析の確率は、
【００９１】
【外４】
0004066507.tif 000016
【００９２】
である。
ステップ１１０では、新しい部分解析の確率が、最後の単語が同じである以前の部分解析の確率よりも大きいか否かを調べる。もしそうであれば、ステップ１１１において、新しい部分解析の確率を部分解析テーブル１０３に格納し、ステップ１１２へ進む。もしそうでなければ、そのままステップ１１２へ進む。
【００９３】
ステップ１１２では、次の単語を選びステップ１０６へ戻る。
ステップ１１３では、次の部分解析を選び、ステップ１０４へ戻る。
ステップ１１４では、探索を次の文字位置へ進め、ステップ１０２へ戻る。
・後向き探索
後向き探索部１０４が、式（１０）の確率が大きい順に一つずつ単語分割候補を求める手順を説明する。
【００９４】
ある単語分割候補Ｗ＝ｗ1 ．．．ｗn において、文末からｉ番目の単語までの単語列の同時確率Ｐ（ｗ1 ．．．ｗn ）と、単語列を構成する各文字の文字混同確率Ｐ（ｘj ｜ｃj ）との積をψ（ｗi ）と定義すると、前向き部分解析の場合と同様に、式（９）より、以下の関係が成立する。
【００９５】
【数１２】
0004066507.tif 000017
【００９６】
ここで、ｓ及びｔは単語ｗi+1 の開始位置及び終了位置を表す。すなわち、ｗi+1 ＝ｃs+1 ．．．ｃt であり、ｘs+1 ．．．ｘt はｗi+1 に対応する文字認識結果である。
φ（ｗi ）を前向き部分解析の確率、ψ（ｗi ）を後向き部分解析の確率と呼ぶことにする。単語分割候補の確率は、任意のｗi について、前向き部分解析の確率φ（ｗi ）と後向き部分解析の確率ψ（ｗi ）との積で表せる。
【００９７】
Ｐ（Ｘ｜Ｗ）Ｐ（Ｗ）＝φ（ｗi ）ψ（ｗi ）        (13)
本発明の後向き探索では、単語分割候補を確率が大きい順に一つずつ求めるためにＡ* アルゴリズムを用いる。Ａ* アルゴリズムは、状態空間グラフの最小コスト経路を求めるアルゴリズムである（Ａ* アルゴリズムの詳細については、人工知能に関する教科書、例えば、Avron Barr、 Edward A. Feigenbaum 編、田中幸吉・淵一博監訳、「人工知能ハンドブック第Ｉ巻」第II章探索、共立出版、１９８３を参照のこと）。
【００９８】
ここで、Ａ* アルゴリズムについて簡単に説明する。グラフの任意のノードをｎとしたとき、初期状態からｎまでの最適な経路のコストをｇ（ｎ）とし、ｎから最終状態までの最適な経路のコストをｈ（ｎ）とする。ｎを通る最適な経路のコストｆ（ｎ）は次式で与えられる。
ｆ（ｎ）＝ｇ（ｎ）＋ｈ（ｎ）               (14)
初期状態から最終状態への最適な経路を求める問題を考える。もしｆ（ｎ）が正確にわかっていれば、初期状態からｆ（ｎ）が最小となるノードを辿ることにより解が得られる。実際にはｇ（ｎ）もｈ（ｎ）も正確にはわからないので探索が必要である。
【００９９】
ｇ（ｎ）は、それまでわかっているｎまでの道の中でコストが最小のものとする。ｈ（ｎ）の推定値を
【０１００】
【外５】
0004066507.tif 000018
【０１０１】
とするとき、もし推定コスト
【０１０２】
【外６】
0004066507.tif 000019
【０１０３】
が真のコストｈ（ｎ）より小さければ、即ち、
【０１０４】
【外７】
0004066507.tif 000020
【０１０５】
ならば、
【０１０６】
【外８】
0004066507.tif 000021
【０１０７】
が最小となるノードを辿ることにより最適解が得られることを証明できる。この性質を利用したようなグラフ探索戦略をＡ* アルゴリズムという。また、ある探索アルゴリズムが必ず最適解を発見できるとき、その探索アルゴリズムは認容可能(admissible)であるという。
もし推定コスト
【０１０８】
【外９】
0004066507.tif 000022
【０１０９】
と真のコストｈ（ｎ）が一致するならば、Ａ* アルゴリズムは（最適経路以外のノードを通ることなく）直ちに最適経路を求めることができる。一般に推定コストが真のコストに近いほど、探索量は少なくて済む。もし推定コストを常に０とすれば、推定コストが真のコストより小さいという認容可能条件を満たすが、実際的にはｇ（ｎ）を用いて幅優先探索をするのと同じであり、非常に効率が悪い。
【０１１０】
本発明の一実施例では、後向き部分解析をグラフのノードと考え、関数ｇ（ｎ）として、後向き部分解析の確率の対数の絶対値、関数ｈ（ｎ）として前向き部分解析の確率の対数の絶対値を用いる。これにより、  単語分割候補の確率が最大の解は、コスト関数ｆ（ｎ）が最小の解に対応する。前向き探索によりｈ（ｎ）の真の値が分かっているので、後向き探索は認容可能であり、必ず直ちに最適解を求めることができる。最適解が得られたら、そのノードを取り除き、更に探索を続けることにより次の最適解が得られる。このようにして、後向き探索では、確率が高い順に任意の数の単語分割候補を求めることができる。
【０１１１】
図１９は本発明の一実施例による後向き探索部１０４の動作フローチャートである。
一般に、Ａ* アルゴリズムでは、ｏｐｅｎとｃｌｏｓｅｄという二つのリストを用いる。リストｏｐｅｎは、既に生成され、残りの経路のコスト関数ｈ（ｎ）を計算したが、まだ展開されていない（調べられていない）ノードの集合である。このリストは、関数h(n)の値に基づく優先度付きキューになっている。リストｃｌｏｓｅｄは、既に展開された（調べられた）ノードの集合である。
【０１１２】
Ａ* アルゴリズムでは、最終状態に対応するノードを生成するまで、各ステップで一つのノードを展開する。各ステップでは、既に生成されているが、未だ展開されていない、最もコストが小さいノードを展開する。即ち、選ばれたノードの後続のノードを生成し、残りの経路のコスト関数ｈ（ｎ）を計算し、既に生成されていないかを検査した後にリストｏｐｅｎに加える。この検査によって、各ノードはグラフの中に一回だけ現れることが保証される。また、二つ以上の経路が同じノードを生成するときは、コストが小さい方のノードだけを記録する。
【０１１３】
以下では、図１９に従って後向き探索部１０４の動作について説明する。
ステップ２０１では、文末を表す後向き部分解析をリストｏｐｅｎに代入する。また、リストｃｌｏｓｅｄには空リストを代入する。
ステップ２０２では、リストｏｐｅｎが空リストか否かを調べる。もし、そうならば、解が見つからなかったので探索が失敗したことを通知して探索を終了する。そうでなければ、以下の処理を行う。
【０１１４】
ステップ２０３では、リストｏｐｅｎの先頭要素を取り出し、現在の後向き部分解析とする。そして、ステップ２０４において、探索が文頭に達したか否かを調べる。もし、探索が文頭に達していれば、現在の後向き部分解析が最適解であり、探索が成功したことを通知して後向き探索を終了する。そうでなければ、以下の処理を行う。また、探索は成功したが、さらに、その次にコストが小さい（確率が大きい）解を求めたい場合にも以下の処理を行う。
【０１１５】
ステップ２０５では、現在の後向き部分解析をリストｃｌｏｓｅｄへ挿入し、リストｃｌｏｓｅｄの要素を初期状態から最終状態までの全経路のコストｆ（ｎ）の順にソートする。
ステップ２０６では、現在の後向き部分解析の左側に接続可能な全ての単語を検索し、その中の一つを現在の単語とする。
【０１１６】
ステップ２０７では、全ての単語を調べたか否かを判定する。もしそうであれば、ステップ２０２へ進む。そうでなければ、以下の処理を行う。
ステップ２０８では、現在の後向き部分解析から現在の単語へ遷移する経路を表す新しい後向き部分解析を作成し、これを変数ｎｅｗｐａｔｈに代入する。
ステップ２０９では、現在の単語へ遷移する後向き部分解析が既にリストｏｐｅｎの中に含まれているか否かを検査する。もし含まれていなければ、ステップ２１３へ進む。含まれているならば、以下の処理を行う。
【０１１７】
ステップ２１０では、現在の単語へ遷移するリストｏｐｅｎの要素を変数ｏｌｄｐａｔｈに代入する。
ステップ２１１では、変数ｎｅｗｐａｔｈの全経路コストと変数ｏｌｄｐａｔｈの全経路コストを比較する。もし、変数ｎｅｗｐａｔｈの全経路コストの方が大きければ、そのままステップ２１８へ進む。もし、変数ｎｅｗｐａｔｈのコストの方が小さければ、ステップ２１２おいて、リストｏｐｅｎから変数ｏｌｄｐａｔｈに対応する要素を削除し、変数ｎｅｗｐａｔｈに対応する要素をリストｏｐｅｎに挿入した後、コストの順にソートする。そしてステップ２１８へ進む。
【０１１８】
ステップ２１３では、現在の単語への遷移を表す後向き部分解析がリストｃｌｏｓｅｄに含まれているか否かを検査する。もし含まれていなければ、ステップ２１７へ進む。含まれていれば、以下の処理を行う。
ステップ２１４では、現在の単語へ遷移するリストｃｌｏｓｅｄの中の要素を変数ｏｌｄｐａｔｈに代入する。
【０１１９】
ステップ２１５では、変数ｎｅｗｐａｔｈの全経路コストと、変数ｏｌｄｐａｔｈの全経路コストとを比較する。もし、変数ｎｅｗｐａｔｈの全経路コストの方が大きければ、リストｃｌｏｓｅｄから変数ｏｌｄｐａｔｈに対応する要素を削除し、変数ｎｅｗｐａｔｈに対応する要素をリストｃｌｏｓｅｄへ挿入した後、コストの順にソートする。そしてステップ２１８へ進む。
【０１２０】
ステップ２１７では、変数ｎｅｗｐａｔｈに対応した要素をリストｏｐｅｎへ挿入した後、コストの順にソートする。そしてステップ２１８へ進む。
ステップ２１８では、次の単語を選ぶ。
・単語モデル
続いて、単語モデル及び未知語候補生成部１０６について説明する。
【０１２１】
単語モデルは、辞書に登録されていない単語の出現確率を求めるための計算モデルである。これは、未知語ｗi を構成する文字列ｃ1 ．．．ｃk の同時確率分布として定義される。これは、一般性を失うことなく、単語長確率と単語表記確率の積で表せる。
【０１２２】
【数１３】
0004066507.tif 000023
【０１２３】
ここで、ｋは未知語を構成する文字列の長さであり、＜ＵＮＫ＞は未知語を表す特殊記号である。
単語長確率Ｐ（ｋ）は、平均単語長をλパラメータとするポワソン分布で近似される。これは、文字と文字との間に長さ０の単語境界記号が平均間隔λで無作為に出現するような確率過程で単語分割を近似したことを意味する。
【０１２４】
【数１４】
0004066507.tif 000024
【０１２５】
単語表記確率Ｐ（ｃ1 ．．．ｃk ）は、以下のように文字二つ組確率の積で近似される。
【０１２６】
【数１５】
0004066507.tif 000025
【０１２７】
ここで“# ”は単語の先頭及び末尾を表す特別な記号である。尚、平均単語長及び文字二つ組確率は、大量のテキストデータから事前に学習され、夫々、平均単語長テーブル１０５及び文字二つ組確率テーブル１１１に格納されている。
・未知語候補の生成
未知語候補の生成は、入力文が辞書に登録されていない単語を含む場合に対処するため行われる。未知語候補生成部１０６は、前向き探索において、入力文の各文字位置で、その文字位置から始まる文字マトリクスに含まれる部分文字列の中で辞書と照合しないものを、未知語候補として、式（１５）の単語モデルに基づく出現確率が高い順番に予め決められた個数だけ生成する。計算量を削減したい場合には、文字認識の第１候補から構成される文字列の部分文字列だけから未知語候補を生成すればよい。
【０１２８】
この方法は、本来、辞書に登録されている単語が文字認識誤りによって、みかけ上、辞書に登録されていない単語になった場合に、単語区切りを推定する方法としても有効である。
図２０は、本発明の一実施例による未知語候補生成部１０６における未知語候補生成の動作を説明するフローチャートである。ここでは、説明を簡単にするため、文字認識の第１候補から構成される文字列だけを用いて未知語候補を生成することにする。
【０１２９】
未知語候補生成部１０６は、入力文に対する文字マトリクスの第１候補から構成される文字列、及び、未知語候補を生成すべき文字位置がパラメータとして与えられる。
ステップ３０１では、現在の文字位置を未知語候補の開始点を表す変数ｉに代入し、未知語候補の終了点を表す変数ｊにｉ＋１を代入する。また未知語候補リストに初期値として空リストを代入する。
【０１３０】
ステップ３０２では、ｊが入力文の長さより小さいか否かを調べる。もしそうでなければ、ステップ３０９へ進む。そうであれば、以下の処理を行う。
ステップ３０３では、未知語候補の長さｊ−１が予め定められた未知語の最大長より大きいか否かを調べる。もしそうならば、ステップ３０９へ進む。そうでなければ、以下の処理を行う。
【０１３１】
ステップ３０４では、入力文のｊ文字目が区切り記号か否かを調べる。区切り記号とは、句点（。）や読点（、）などの単語の一部とはなり得ない記号のことである。もしそうならば、ステップ３０９へ進む。そうでなければ、以下の処理を行う。
ステップ３０５では、入力文字列の文字位置ｉから文字位置ｊまでの部分文字列を未知語候補の表記とする。
【０１３２】
ステップ３０６では、現在の未知語候補の表記が辞書と照合するか否かを調べる。もしそうであれば、ステップ３０８へ進む。そうでなければ、以下の処理を行う。
ステップ３０７では、先ず単語モデルに基づいて、現在の未知語候補の出現確率を求める。次に、この未知語候補を未知語候補リストに加え、ステップ３０８へ進む。
【０１３３】
ステップ３０８では、未知語候補の終わりの文字位置を表わす変数ｊを一つ増やし、ステップ３０２へ戻る。
ステップ３０９では、得られた未知語候補リストを確率が大きい順にソートし、予め決められた個数の未知語候補を選ぶ。
・単語の類似度（ｎｇｒａｍ距離と編集距離）
続いて、単語の類似度の計算法と類似単語照合部１０７について説明する。ここでは説明を簡単にするため、一つの単語だけからなる文字列に対して類似単語照合を行う場合を説明する。実際には、入力文の任意の部分文字列に対して、類似単語照合を行う必要がある。
【０１３４】
文字認識装置１が出力した文字列をＸ、この文字列に対する訂正単語候補をＷとする。式（１０）より、もし以下の関係が成立すれば、ＸをＷで訂正すべきである。
Ｐ（Ｘ）Ｐ（Ｘ｜Ｘ）＜Ｐ（Ｗ）Ｐ（Ｘ｜Ｗ）          (18)
式（１８）の左辺は、未知語Ｘが生起し、かつ、Ｘが正しく認識される確率を表す。式（１８）の右辺は、単語Ｗが生起し、ＷがＸに誤認識される確率を表す。Ｐ（Ｘ）は未知語モデルから求められ、Ｐ（Ｗ）は単語分割モデルから求められる。Ｐ（Ｘ｜Ｘ）及びＰ（Ｘ｜Ｗ）は、Ｘ及びＷを構成する文字の文字混同確率の積から求められる。
【０１３５】
単語出現確率Ｐ（Ｗ）と単語混同確率Ｐ（Ｘ｜Ｗ）との積が大きい単語Ｗほど、文字列Ｘの訂正候補としては尤もらしい。そこで、本発明の一実施例による類似単語照合部１０７では、文字列Ｘに対して、辞書中の全ての単語の中からＰ（Ｗ）Ｐ（Ｘ｜Ｗ）の値が大きい順に予め決められた個数の訂正候補を提案する。
しかし、単語辞書の大きさが数万語以上の場合、入力文中の任意の部分文字列Ｘ、及び、単語辞書中のすべての単語Ｗの組合せについて、Ｐ（Ｗ）Ｐ（Ｘ｜Ｗ）の値を求め、確率の積の値が大きい単語を選ぶというような単純な実現方法では、膨大な計算が必要になってしまう。
【０１３６】
そこで、本発明の一実施例では、先ずｎｇｒａｍ距離に基づいて訂正単語候補を生成し、次に、編集距離に基づいて訂正単語候補を絞り込み、最後に単語出現確率と文字混同確率との積に基づいて訂正単語候補を決定するという３つのステップから構成される手続を用いることにより、効率的な類似単語照合を実現する。以下に、その詳細を説明する。
【０１３７】
ｎｇｒａｍ距離は、二つの文字列が共通に含む文字ｎｇｒａｍの数を文字列間の距離尺度（類似度）とする。文字認識の場合、挿入誤り及び削除誤りの数は少ないので、説明を簡単にするため、ここでは文字認識の入力と出力の文字列長は同じとする。同じ長さの文字列が夫々ｍ個の文字ｎｇｒａｍを含み、そのうちｃ個が一致するならば、二つの文字列のｎｇｒａｍ距離は（ｍ−ｃ）／ｍである。
【０１３８】
例として、「インターネット」と「インクジェット」のｂｉｇｒａｍ距離を考える。夫々の文字列から文字ｂｉｇｒａｍを作成すると以下のようになる。
インターネット=># イ、イン、ンタ、ター、ーネ、ネッ、ット、ト#
インクジェット=># イ、イン、ンク、クジ、ジェ、ェッ、ット、ト#
ここで# は、単語の先頭又は末尾を表す特殊記号である。８個の文字ｂｉｇｒａｍのうち４個が一致するので、「インターネット」と「インクジェット」のｂｉｇｒａｍ距離は４／８である。この値が小さいほど、二つの文字列は類似していると言える。
【０１３９】
ところが、文字ｎｇｒａｍ距離は、文字位置を入れ替えた単語（ａｎａｇｒａｍ）の間の距離が小さく（類似度が大きく）なるという欠点がある。例えば、もし「ネットインター」という単語があれば、「インターネット」と「ネットインター」は共通の文字ｂｉｇｒａｍが５個あるので、ｂｉｇｒａｍ距離は３／８になる。
【０１４０】
インターネット=># イ、イン、ンタ、ター、ーネ、ネッ、ット、ト#
ネットインター=># ネ、ネッ、ット、トイ、イン、ンタ、ター、ー#
このように、「インターネット」に対し、「ネットインター」の方が「インクジェット」より類似度が大きくなるので、ｎｇｒａｍ距離は文字認識の誤り訂正の距離尺度としては不適切である。
【０１４１】
しかし、ｎｇｒａｍ距離には、ある文字ｎｇｒａｍを含む単語のリストを単語辞書から予め作成しておけば、ｎｇｒａｍ距離が小さい単語を非常に高速に検索できるという利点がある。そこで、本発明の一実施例では、訂正対象となる文字列に対して、先ずｎｇｒａｍ距離がある閾値以下の単語を検索した後に、検索された単語集合と訂正対象文字列との編集距離を計算し、編集距離がある閾値以下の単語を訂正単語候補とする。
【０１４２】
編集距離は、二つの文字列に対して、一方の文字列を他方の文字列に変換するのに必要な挿入・削除・置換の数の最小値を距離尺度とする。文字認識の場合に、挿入誤り及び削除誤りの数は少ないので、説明を簡単にするため、ここでは置換誤りだけを考慮する。置換誤りのみの場合、同じ長さｎを持つ二つの文字列がｃ文字だけ一致するとき、二つの文字列の編集距離は（ｎ−ｃ）／ｎである。
【０１４３】
例えば、「インターネット」と「インクジェット」は、４文字が一致するので、編集距離は４／７である。一方、「インターネット」と「ネットインター」は一致する文字がないので、編集距離は７／７である。一般に編集距離が小さいほど、二つの文字列は類似している。
一般に、長い単語、具体的には、長さ３以上の単語については、編集距離により、正確に訂正単語候補を提案することができる。例えば、文字認識の出力が「インクー示ット」の場合、編集距離が小さい順に並べると、以下のような単語が訂正候補として提案される。ここで、右側の数値は編集距離である。
【０１４４】
インクジェット  ２／７
インターネット  ２／７
インターソフト  ３／７
インツーリスト  ３／７
しかし、短い単語、具体的には、長さ２の単語については、編集距離により類似単語照合を行うと、非常に多くの訂正単語候補が得られる。日本語は殆どの単語が２文字であり、文字の種類が３０００以上あるので、この問題は避けて通れない。
【０１４５】
例えば、もし「環境」が「技境」と誤読された場合、「技境」という文字列をキーにして編集距離が小さい単語を検索すると、少なくとも以下のような２０個の単語が得られる。
技術  技法  技師  技能  技巧  技芸  技量
環境  国境  苦境  心境  越境  下境  老境
秘境  辺境  県境  見境  進境  逆境
これらはすべて編集距離１／２であり、編集距離だけでは、これ以上絞り込むことができない。もし入力文中の任意の長さ２の文字列について、このように１０から数十個の訂正単語候補を提案すると、単語候補のすべての組合せを調べる処理である形態素解析の計算量が非常に大きくなるという問題が発生する。
【０１４６】
そこで、本発明の一実施例では、編集距離により検索された訂正単語候補について、単語の出現確率と文字混同確率との積Ｐ（Ｗ）Ｐ（Ｘ｜Ｗ）を計算し、その値が大きい順に予め決められた個数を訂正単語候補として提案する。
前述の例の「技境」に対する編集距離１／２の単語集合をＰ（Ｗ）Ｐ（Ｘ｜Ｗ）の値が大きい順にソートすると、以下のように図形的に似た文字を含む単語が上位に並ぶようになる。
【０１４７】
環境  技術  技法  国境  苦境  ．．．
実験によれば、上位５個程度までに、殆どの場合、正解単語が入っているので、訂正単語候補の提案数を大幅に削減することができる。
このようにして、ｎｇｒａｍ距離、編集距離、及び、単語の出現確率と文字混同確率との積という３つの類似度の尺度を順番に適用しながら訂正単語候補を絞り込むことにより、本発明の一実施例は、訂正単語候補の生成処理を効率的に実現すると同時に、訂正単語候補の提案数を少なくすることにより、形態素解析の計算量の削減を実現している。
【０１４８】
・類似単語照合
図２１は本発明の一実施例による類似単語照合部１０７の動作を説明するフローチャートである。以下では、図２１を参照して類似単語照合の動作を説明する。
類似単語照合部１０７には、入力文に対する文字マトリクスの第１候補からなる文字列及び類似語を検索すべき文字位置が与えられる。
【０１４９】
ステップ４０１では、現在の文字位置を類似単語照合の対象となる文字列の開始点を表す変数ｉに代入し、類似単語照合の対象となる文字列の終了点を表す変数ｊにｉ＋１を代入する。また、訂正単語候補リストに初期値として空リストを代入する。
ステップ４０２では、ｊが入力文の長さよりも小さいか否かを調べる。もしそうでなければ、処理を終了する。そうであれば、以下の処理を行う。
【０１５０】
ステップ４０３では、類似照合対象文字列の長さｊ−１が予め定められた類似語の最大長より大きいか否かを調べる。もしそうならば、処理を終了する。そうでなければ、以下の処理を行う。
ステップ４０４では、入力文のｊ文字目が区切り記号か否かを調べる。もしそうならば、処理を終了する。そうでなければ、以下の処理を行う。
【０１５１】
ステップ４０５では、入力文字列の文字位置ｉから文字位置ｊまでの部分文字列を類似単語照合の対象文字列とする。
ステップ４０６では、類似照合の対象文字列とのｎｇｒａｍ距離が予め決められた閾値より小さい単語を辞書から検索する。
ステップ４０７では、類似照合の対象文字列と、ステップ４０６で検索された単語との間の編集距離を求め、この値が予め決められた閾値より小さい単語だけを残す。
【０１５２】
ステップ４０８では、類似照合の対象文字列と、ステップ４０７で残された単語との間で、単語の出現確率と、単語表記から対象文字列への文字混同確率との積の値を求め、この値が大きい順に指定された個数の単語を訂正単語候補リストに加える。
ステップ４０９では、類似照合の対象文字列の終わりの文字位置を表わす変数ｊを一つ増やし、ステップ４０２へ戻る。
【０１５３】
【実施例】
最後に、本発明の実施例を示す。図２２は、本発明の一実施例による文字認識誤り訂正システムの処理例を表す図である。同図には、「組織変更」という文字列に対して文字認識装置１が出力した文字マトリクス、この文字マトリクスに対して本発明の一実施例による文字認識誤り訂正装置１００が出力する単語候補列、及び、文字マトリクスの各文字位置で本発明の一実施例による文字認識誤り訂正装置１００が生成する単語候補の例が示されている。
【０１５４】
この処理例では、文字マトリクスは第５候補までを使用している。例えば、「組」という文字に対する第１から第５候補は、夫々、「網」、「綱」、「縮」、「細」及び「纏」である。文字位置は、文字と文字の間に与えられた０から始まる番号である。
文字認識誤り訂正装置１００が出力する単語候補列は第３候補までを示す。各単語は「表記／読み／品詞」の組で表現され、単語境界は空白で表す。単語列の前の行には、式（９）より求めた単語列の確率の対数が示されている。従って、この数値の絶対値が小さいほど、確率は高い。
【０１５５】
この処理例では、「組」と「更」の２つの文字は、入力の文字マトリクスの中に正解文字が含まれていない。しかし、類似単語照合により「組織」及び「変更」という訂正単語候補が生成され、出力の第１候補には「組織変更」という正解が得られている。
類似単語照合の動作を示すために、この処理例では、各文字位置で生成された単語候補の一覧を示す。例えば、文字位置０では、文字マトリクスに含まれる文字候補と照合する１文字単語として「網／アミ／名詞」、「綱／ツナ／名詞」等が生成され、文字マトリクスに含まれる文字候補の組合せと照合する２文字単語として「細線／サイセン／名詞」が生成されている。
【０１５６】
文字位置０における類似単語照合では、文字マトリクスの第１候補から構成される長さ２の文字列「網織」との編集距離が１／２である単語、即ち、どちらか一方の１文字が一致する単語の中から、文字の図形的類似度と単語の出現頻度とに基づいて「組織／ソシキ／動詞」、「網膜／モウマク／名詞」等の単語が生成されている。この例では長さ３以上の類似照合単語はない。
【０１５７】
文字位置０における未知語候補としては、文字マトリクスの第１候補から構成される文字列「網織変東」の部分文字列「網」、「網織」、「網織変」、「網織変東」の中で、単語辞書に収録されている単語の表記と一致しない「網織」、「網織変」及び「網織変東」の３つが未知語候補として生成される。ここで、ＮＩＬは単語の読みが定義されていないことを表し、＜ＵＮＫ＞は未知語であることを示す。
【０１５８】
図２３は本発明の一実施例の文字認識誤り訂正の精度を示す図である。横軸は本発明の一実施例による誤り訂正を適用する前の文字認識精度、横軸は本発明の一実施例による誤り訂正を適用した後の文字認識精度である。例えば、（０．７０，０．８８）という点は、入力テキストの第１位候補の文字認識率が７０％のとき、本発明の一実施例の誤り訂正により文字認識率が８８％まで向上されることを表す。もし精度を表す点が斜め４５度の直線上にあれば、誤り訂正の前後で認識率に変化がないことを表し、点がこの直線より上にあればあるほど、誤り訂正の精度が高いことを表す。
【０１５９】
図２３には、文字の図形的類似度を利用して訂正単語候補の順位付けを行う本発明の一実施例による文字認識誤り訂正と比較するために、文字の図形的類似度は使用せずに文字マトリクスの候補順位だけから文字混同確率を適当に推定する方法の精度も同時に示されている。説明を簡単にするため、ここでは、本発明の一実施例の誤り訂正方法を文字類似度法と呼び、候補順位から文字混同確率を推定する方法を候補順位法と呼ぶ。
【０１６０】
候補順位法は、入力テキストのｉ番目の文字をｃi とし、このｃi に対するｊ番目の文字認識候補をｘijとするとき、文字混同確率Ｐ（ｘij｜ｃj ）を以下のように近似する。
【０１６１】
【数１６】
0004066507.tif 000026
【０１６２】
ここで、ｐは文字認識の第１候補の平均正解率である。式（１９）は、文字による認識率の違いを無視し、第ｎ番目の文字候補が平均的にどれぐらい信頼できるかを幾何分布により近似したものである。
図２３に示すように、入力テキストの認識率が様々に変化した場合でも（７０−９５％）、文字の図形的類似度を利用する本発明の一実施例による文字認識誤り訂正（文字類似度法）は、従来の図形的類似度を利用しない方法（候補順位法）に比べて誤り訂正精度が大幅に高い。
【０１６３】
また、文字認識誤り訂正システムの構成は、上記の実施例で説明された例に限定されることなく、文字認識誤り訂正システムの各々の構成要件をソフトウェア（プログラム）で構築し、ディスク装置等に格納しておき、必要に応じて文字認識誤り訂正システムのコンピュータにインストールして文字認識誤り訂正を行うことも可能である。さらに、構築されたプログラムをフロッピーディスクやＣＤ−ＲＯＭ等の可搬記録媒体に格納し、このようなシステムを用いる場面で汎用的に使用することも可能である。
【０１６４】
本発明は、上記の実施例に限定されることなく、特許請求の範囲内で種々変更・応用が可能である。
【０１６５】
【発明の効果】
以上のように、本発明によれば、単語二つ組確率及び単語出現確率を与える単語分割モデルと、文字マトリクスに含まれる部分文字列と完全一致照合する辞書中の単語を検索する単語照合手段と、平均単語長及び文字二つ組確率から構成される単語モデルと、文字マトリクスに含まれる部分文字列から未知語候補を生成する未知語生成手段と、任意の二つの文字の間の文字混同確率を与える文字認識装置モデルと、文字混同確率と単語出現頻度とに基づいて文字マトリクスに含まれる部分文字列に類似した辞書中の単語を検索する類似単語照合手段と、単語列の同時確率と各文字の文字混同確率との積が大きい順に単語列を提示する形態素解析手段とを用いて、文脈を利用せずに短い単語の訂正候補を精度良く提示できる、日本語文字認識誤り訂正方法及び装置が実現される。
【図面の簡単な説明】
【図１】本発明の原理構成図である。
【図２】本発明の原理を説明するフローチャートである。
【図３】本発明の日本語文字認識誤り訂正方法の説明図である。
【図４】本発明の日本語文字認識誤り訂正装置の構成図である。
【図５】本発明の日本語文字認識誤り訂正装置の構成図である。
【図６】本発明の日本語文字認識誤り訂正装置の動作説明図である。
【図７】本発明の日本語文字認識誤り訂正装置の構成図である。
【図８】本発明の日本語文字認識誤り訂正装置の構成図である。
【図９】本発明の日本語文字認識誤り訂正装置の構成図である。
【図１０】本発明の日本語文字認識誤り訂正装置の構成図である。
【図１１】本発明の日本語文字認識誤り訂正装置の構成図である。
【図１２】本発明の文字認識装置モデル作成装置の構成図である。
【図１３】本発明の文字認識装置モデル作成装置の動作フローチャートである。
【図１４】本発明の一実施例による日本語文字認識誤り訂正システムの概略ブロック図である。
【図１５】文字混同頻度の例を示す図である。
【図１６】文字クラスの例を示す図である。
【図１７】文字クラス混同頻度の例を示す図である。
【図１８】本発明の一実施例による前向き探索の動作フローチャートである。
【図１９】本発明の一実施例による後向き探索の動作フローチャートである。
【図２０】本発明の一実施例による未知語候補生成の動作フローチャートである。
【図２１】本発明の一実施例による類似単語照合の動作フローチャートである。
【図２２】本発明の一実施例の文字認識誤り訂正の処理例を示す図である。
【図２３】本発明の一実施例の文字認識誤り訂正の精度を示す図である。
【符号の説明】
１    形態素解析手段
２    未知語候補生成手段
３    類似単語照合手段
４    単語照合手段
５    単語モデル格納手段
６    文字認識装置モデル格納手段
７    単語分割モデル格納手段
８    文字認識装置
【図１】
0004066507.tif 000027
【図２】
0004066507.tif 000028
【図３】
0004066507.tif 000029
【図４】
0004066507.tif 000030
【図５】
0004066507.tif 000031
【図６】
0004066507.tif 000032
【図７】
0004066507.tif 000033
【図８】
0004066507.tif 000034
【図９】
0004066507.tif 000035
【図１０】
0004066507.tif 000036
【図１１】
0004066507.tif 000037
【図１２】
0004066507.tif 000038
【図１３】
0004066507.tif 000039
【図１４】
0004066507.tif 000040
【図１５】
0004066507.tif 000041
【図１６】
0004066507.tif 000042
【図１７】
0004066507.tif 000043
【図１８】
0004066507.tif 000044
【図１９】
0004066507.tif 000045
【図２０】
0004066507.tif 000046
【図２１】
0004066507.tif 000047
【図２２】
0004066507.tif 000048
【図２３】
0004066507.tif 000049