JP4066507B2 - 日本語文字認識誤り訂正方法及び装置、並びに、誤り訂正プログラムを記録した記録媒体 - Google Patents

日本語文字認識誤り訂正方法及び装置、並びに、誤り訂正プログラムを記録した記録媒体 Download PDF

Info

Publication number
JP4066507B2
JP4066507B2 JP12761598A JP12761598A JP4066507B2 JP 4066507 B2 JP4066507 B2 JP 4066507B2 JP 12761598 A JP12761598 A JP 12761598A JP 12761598 A JP12761598 A JP 12761598A JP 4066507 B2 JP4066507 B2 JP 4066507B2
Authority
JP
Japan
Prior art keywords
word
character
probability
correction
character recognition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP12761598A
Other languages
English (en)
Other versions
JPH11328317A (ja
Inventor
昌明 永田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP12761598A priority Critical patent/JP4066507B2/ja
Publication of JPH11328317A publication Critical patent/JPH11328317A/ja
Application granted granted Critical
Publication of JP4066507B2 publication Critical patent/JP4066507B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)
  • Character Discrimination (AREA)
  • Machine Translation (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、印刷文字又は手書き文字を認識する日本語文字認識装置の文字認識誤りを訂正する技術に係わり、特に、光学的文字認識装置(OCR)が出力する文字認識誤りを含む日本語テキストに対して、統計的言語モデルと、統計的文字認識装置モデルと、確率的形態素解析アルゴリズムとを用いて、入力文に含まれる誤りを高い精度で訂正できる技術に関する。
【0002】
【従来の技術】
従来の文字認識の誤り訂正法は、(1)文字の接続確率(文字ngram確率)を利用する方法、(2)単語の接続確率(単語ngram確率)を利用する方法の二つに大別できる。
文字の接続確率を利用する方法(例えば、杉村・斉藤「文字連接情報を用いた読取不能文字の判定処理−文字認識への応用−」電子情報通信学会論文誌 Vol.J68-D No.1, pp.64-71, 1985)は、文字接続表又は文字接続確率を用いて、隣接する文字候補の接続の可否(又は尤もらしさ)を判定することにより、誤りの検出・訂正を行う。
【0003】
この文字の連接情報を利用する方法は、実現が容易で、かつ、比較的大きな認識性能の向上が達成できる。しかし、入力文を単なる文字列として扱うので、単語を構成しない文字列や、文法的に正しくない文字列を許容することが多く、一般的には単語の接続確率を用いる方法よりも訂正精度が低い。
これに対して、単語の接続確率を利用する方法(例えば、高尾・西野「日本語文書リーダ後処理の実現と評価」情報処理学会論文誌 Vol.33 No.5, pp.664-670, 1992 、伊東・丸山「OCR入力された日本語文の誤り検出と自動訂正」情報処理学会論文誌 Vol.33 No.5, pp.664-670, 1992 など)は、文字認識の候補文字を組み合わせて構成される単語を単語辞書から検索しながら単語間の接続を検査し、文頭から文末までに到達する単語列の中で最適なものを正解文字列とする。
【0004】
この単語辞書と単語接続情報を利用する方法は、(a) 辞書に登録されていない単語が入力文中に存在したり、(b) 正解文字が候補文字に含まれていない場合に、性能が大きく低下するという問題点がある。
辞書に登録されていない単語への対処法としては、未登録語テンプレートを使って未登録語を発見し、文字の接続確率を使って文字列を限定する方法がある(前述の高尾・西野の論文)。しかし、この未登録語テンプレートは、発見的(ヒューリスティック)に人手で作成せねばならず、網羅性や移植性に問題がある。
【0005】
正解文字が候補文字に含まれていない場合の対処法としては、候補文字補完と類似単語照合とがある。
候補文字補完とは、予め文字認識が誤りそうな類似文字の組を定義しておき、文字認識結果の候補文字に対して、無条件にこの類似文字を候補として付け加える方法である(杉村「候補文字補完と言語処理による漢字認識の誤り訂正処理法」電子情報通信学会論文誌 Vol.J82-D-II No.7, pp.993-1000, 1989 )。候補文字補完は、補完した文字が必ずしも正解文字を含むとは限らないのに、誤り訂正に必要な計算量を一様に大きく増加させる問題がある。
【0006】
類似単語照合とは、単語辞書との照合の際に、完全に一致したものだけではなく、類似した(部分的に一致した)単語も検索する方法である(例えば、WagnerとFishcer “The String-to-String Correction Problem" Journal of ACM Vol.21 No.1, pp.168-173, 1974)。類似単語照合の際に用いる距離尺度としては、一方の文字列を他方の文字列に変換するのに必要な挿入・削除・置換の回数を表す編集距離(edit distance) を用いるのが一般的である。
【0007】
類似単語照合は、英語のように長い単語が多い(平均約5文字)言語のスペルチェックなどでは有効である。しかし、日本語のように短い単語が多い(平均約2文字)言語では、あまり有効ではない。例えば、単語の類似度を一致した文字数で計測する場合、一文字が一致する二文字単語の組は非常に多く存在し、すべての一文字単語の組は同じ類似度を持つという問題がある。
【0008】
文字認識誤り訂正における日本語向きの類似単語照合法としては、まず編集距離に基づいて訂正単語候補集合を作成し、前後の文脈に基づいて訂正単語候補を順位付けする方法が提案されている(永田「日本語文字認識方法及び装置」、特願平7-115926号、1995)。しかし、文脈を利用する方法は、氏名のように単語の長さが短く、かつ、前後の文脈が利用できない場合には、有効に作用しないという問題がある。
【0009】
【発明が解決しようとする課題】
本発明は、上記従来手法の問題点に鑑み、
1.訂正対象となる単語の長さが短い場合、及び、
2.訂正対象となる単語の前後の文脈情報が利用できない場合
に訂正単語候補を正確に提示することができる日本語文字認識誤り訂正方法及び装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
上記目的を達成する本発明の日本語文字認識誤り訂正方法は、入力として与えられた日本語文に含まれる文字認識誤りを訂正する単語候補として、単語の出現頻度と文字の図形的類似度とに基づいて任意の個数の単語を確率が高い順番に提示することを特徴とする。
【0011】
図1は本発明の原理構成図である。本発明の日本語文字認識誤り訂正装置は、文字認識誤りを含む日本語テキストの誤りを訂正する。同図に示す如く、本発明の日本語認識誤り訂正装置は、文字マトリクス、即ち、入力文の各文字位置において文字認識スコアの高い順番に文字候補を並べたリストを入力とし、連続する二つの単語において第1の単語が与えられたときの第2の単語の条件付き出現確率である単語二つ組確率を与える単語分割モデル7と、単語分割モデル7が持っている単語辞書と文字マトリクスに含まれる文字列を照合する単語照合手段4とを有する。また、日本語認識誤り訂正装置は、平均単語長と、連続する二つの文字において第1の文字が与えられたときの第2の文字の条件付き出現確率である文字二つ組確率とから、任意の文字列を表記とする単語の出現確率を与える単語モデル5と、辞書に登録されていない単語を同定するために文字マトリクスに含まれる部分文字列から単語モデル5に基づいて未知語候補を生成する未知語候補生成手段2とを有する。日本語認識誤り訂正装置は、任意の二つ文字の間の文字混同確率を与える文字認識装置モデル6と、正解文字が候補文字に含まれていない場合に訂正単語候補を生成するために文字混同確率と単語出現確率とに基づいて文字マトリクスに含まれる文字列と類似した単語を検索する類似単語照合手段3を更に有する。また、日本語誤り訂正装置は、単語分割モデル7、単語モデル5、及び文字認識装置モデル6に基づいて、単語列の同時確率と各文字の文字混同確率との積が大きい順に任意の個数の単語列を求める形態素解析手段1を有する。
【0012】
図2は本発明の原理を説明するためのフローチャートである。本発明の日本語認識誤り訂正方法は、文字認識装置8が出力した文字マトリクスを入力とし、最初に、文字マトリクスに含まれる文字列と完全に一致する単語辞書中の単語を同定するために、単語照合手段4が単語候補を生成する(ステップ1)。次に、文字マトリクスに含まれる未知語、即ち、辞書に登録されていない単語を同定するために、未知語候補生成手段2が未知語候補、即ち、単語の表記と出現確率との組を生成する(ステップ2)。更に、正解文字が候補文字に含まれていない単語の訂正候補を生成するために、類似単語照合手段3が文字マトリクスに含まれる部分文字列と類似した辞書中の単語を、文字混同確率と単語出現確率とに基づいて前後の文脈を利用せずに検索する(ステップ3)。最後に、形態素解析手段1が、文字マトリクスに含まれる辞書中の単語、未知単語候補、及び、類似照合単語の組合せの中から、単語分割モデル7に基づいて、形態素解析候補、即ち、単語列を確率が高い順番に任意の個数だけ出力する(ステップ4)。
【0013】
従って、本発明によれば、入力文が登録されていない単語を含む場合や、正解文字が文字候補に含まれていない場合でも、文字混同確率と単語出現確率とに基づいて文脈を利用せずに短い単語の訂正候補を生成し、単語列の同時確率と各文字の文字混同確率の積が大きい順に単語列を提示する日本語文字認識誤り訂正方法及び装置が実現できる。
【0014】
以下、上記本発明の目的を達成する本発明の日本語文字認識方法及び日本語文字認識装置の種々の構成を説明する。
図3は本発明の日本語文字認識誤り訂正方法の説明図である。同図に示す如く、本発明の日本語文字認識誤り訂正方法は、
文字認識誤りを含む日本語文を入力し(ステップ91)、
文を構成する単語列の同時確率を与える単語分割モデル91と、任意の二つの文字の間の文字混同確率を与える文字認識装置モデル92とに基づいて、上記訂正対象となる単語の文字列と類似照合する辞書93中の単語を検索し(ステップ92)、
訂正対象となる単語の長短、並びに、訂正対象となる単語の前後の文脈情報の利用の可否には係わらず、上記訂正対象となる単語の訂正単語候補として任意の個数の単語を確率の高い順番に提示する(ステップ93)。
【0015】
尚、上記説明及び図3において、辞書93は単語分割モデル91と別個に設けられているが、辞書93は単語分割モデル91に含まれていても構わない。
図4は上記本発明の方法を実現する日本語文字認識誤り訂正装置10の構成図である。日本語文字認識誤り訂正装置10は、単語の出現頻度を格納する記憶手段12と、文字の図形的類似度を計算する計算手段13と、入力手段11に与えられた日本語文を構成する単語の出現頻度を上記記憶手段12から獲得し、上記計算手段13によって計算された上記日本文を構成する文字の図形的類似度を獲得し、上記獲得された単語の出現頻度及び文字の図形的類似度とに基づいて、上記日本語文に含まれる文字認識誤りを訂正する単語候補として、任意の個数の単語を確率が高い順番に提示する手段14とからなる。
【0016】
図5は、本発明による他の日本語文字認識誤り訂正装置20の構成図である。同図に示す日本語文字認識誤り訂正装置20は、
入力手段21に与えられた日本語文に含まれる文字列と一致する単語を単語候補として生成する手段22と、
上記文に含まれる未知の部分文字列を未知語候補として生成する手段23と、上記文に含まれる部分文字列と類似した単語を上記文の文脈とは無関係に訂正単語候補として生成する手段24と、
上記単語候補、上記未知語候補及び上記訂正単語候補の組合せの中から、上記日本語文に含まれる文字認識誤りの訂正単語列として、任意の個数の単語候補列を確率の高い順番に出力する手段25とからなる。
【0017】
図6は上記本発明の日本語文字認識誤り訂正装置20が実施する誤り訂正方法の動作説明図である。同図に示す如く、本発明の日本語文字認識誤り訂正方法は、
入力として与えられた日本語文に含まれる文字列と一致する単語を単語候補として生成し(ステップ21)、
上記文に含まれる未知の部分文字列を未知語候補として生成し(ステップ22)、
上記文に含まれる部分文字列と類似した単語を上記文の文脈とは無関係に訂正単語候補として生成し(ステップ23)、
上記単語候補、上記未知語候補及び上記訂正単語候補の組合せの中から、上記日本語文に含まれる文字認識誤りの訂正単語列として、任意の個数の単語候補列を確率の高い順番に出力する(ステップ24)。
【0018】
図7は、本発明による他の日本語文字認識誤り訂正装置30の構成図である。同図に示す入力として与えられた日本語文に含まれる文字認識誤りを訂正する日本語文字認識誤り訂正装置30は、
文を構成する単語列の同時確率を与える単語分割モデル格納手段31と、
任意の二つの文字の間の文字混同確率を与える文字認識装置モデル格納手段32と、
上記訂正対象となる単語の文字列と類似照合する辞書35中の単語を検索する類似単語照合手段33と、
訂正対象となる単語の長短、並びに、訂正対象となる単語の前後の文脈情報の利用の可否には係わらず、上記訂正対象となる単語の訂正単語候補として任意の個数の単語を確率の高い順番に提示する手段34とからなる。
【0019】
上記本発明の入力として与えられた日本語文に含まれる文字認識誤りを訂正する日本語文字認識誤り訂正装置30において、
類似単語照合手段33は、文を構成する単語列の同時確率を与える単語分割モデル31と、任意の二つの文字の間の文字混同確率を与える文字認識装置モデル32とに基づいて、上記訂正対象となる単語の文字列と類似照合する辞書35中の単語を検索し、
訂正単語候補提示手段34は、訂正対象となる単語の長短、並びに、訂正対象となる単語の前後の文脈情報の利用の可否には係わらず、上記訂正対象となる単語の訂正単語候補として任意の個数の単語を確率の高い順番に提示する。
【0020】
図8は、本発明による他の日本語文字認識誤り訂正装置40の構成図である。同図に示す日本語文字認識誤り訂正装置40は、
日本語文の各文字位置毎に文字認識スコアの高い順番に並べられた文字候補のリストである文字マトリクスを入力する手段41と、
平均単語長と、連続する二つの文字において第1の文字が与えられたときの第2の文字の条件付き出現確率を示す文字二つ組確率とを記憶する単語モデル格納手段42と、
上記単語モデル格納手段42に記憶された平均単語長及び文字二つ組確率に基づいて、上記文字マトリクスに含まれる部分文字列の中から、未知語候補として任意の個数の未知語の表記と出現確率の組を確率が高い順番に求める未知語候補生成手段43と、
上記日本語文が辞書に登録されていない単語を含むか否かとは係わらず、上記未知語候補を含む単語候補の組合せの中から、上記日本語文を構成する単語列の同時確率と上記日本語文を構成する各文字の文字混同確率との積が大きい順番に任意の個数の単語候補列を提示する手段44とからなる。
【0021】
上記日本語文字認識誤り訂正装置40は、
日本語文の各文字位置毎に文字認識スコアの高い順番に並べられた文字候補のリストである文字マトリクスを入力し、
平均単語長と、連続する二つの文字において第1の文字が与えられたときの第2の文字の条件付き出現確率を示す文字二つ組確率とに基づいて、上記文字マトリクスに含まれる部分文字列の中から、未知語候補として任意の個数の未知語の表記と出現確率の組を確率が高い順番に求め、
上記日本語文が辞書に登録されていない単語を含むか否かとは係わらず、上記未知語候補を含む単語候補の組合せの中から、上記日本語文を構成する単語列の同時確率と上記日本語文を構成する各文字の文字混同確率との積が大きい順番に任意の個数の単語候補列を提示する。
【0022】
図9は、本発明による他の日本語文字認識誤り訂正装置50の構成図である。同図に示す日本語文字認識誤り訂正装置50は、
日本語文の各文字位置毎に文字認識スコアの高い順番に並べられた文字候補のリストである文字マトリクスを入力する手段51と、
文字マトリクスに含まれる文字列と類似照合する辞書中の単語を検索し、ある文字がどの文字にどれくらいの頻度で認識されるかを示す文字混同行列及び文字の図形的特徴を数値化した文字特徴ベクトルから推定される二つの文字の間の文字混同確率を記憶する文字認識装置モデル格納手段52と、
正解文字が上記文字候補に含まれているか否かとは係わらず、上記文字認識装置モデル格納手段から得られた上記日本語文を構成する各文字の文字混同確率が大きい順番に任意の個数の単語候補列を提示する手段53とからなる。
【0023】
本発明の日本語文字認識誤り訂正装置50は、
日本語文の各文字位置毎に文字認識スコアの高い順番に並べられた文字候補のリストである文字マトリクスを入力し、
文字マトリクスに含まれる文字列と類似照合する辞書中の単語を検索し、ある文字がどの文字にどれくらいの頻度で認識されるかを示す文字混同行列及び文字の図形的特徴を数値化した文字特徴ベクトルから二つの文字の間の文字混同確率を推定し、
正解文字が上記文字候補に含まれているか否かとは係わらず、上記日本語文を構成する各文字の文字混同確率が大きい順番に任意の個数の単語候補列を提示する。
【0024】
図10は、本発明による他の日本語文字認識誤り訂正装置60の構成図である。同図に示す日本語文字認識誤り訂正装置60は、
日本語文の各文字位置毎に文字認識スコアの高い順番に並べられた文字候補のリストである文字マトリクスを入力する手段61と、
文字マトリクスに含まれる文字列と類似照合する辞書中の単語を検索し、ある文字がどの文字にどれくらいの頻度で認識されるかを示す文字混同行列及び文字の図形的特徴を数値化した文字特徴ベクトルから推定される二つの文字の間の文字混同確率を記憶する文字認識装置モデル格納手段62と、
単語出現確率を記憶する単語分割モデル格納手段63と、
上記文字混同確率及び上記単語出現確率に基づいて上記単語の順位付けを行なう類似単語照合手段64と、
正解文字が上記文字候補に含まれているか否かとは係わらず、上記順位付けされた単語を含む単語候補の組合せの中から、上記日本語文を構成する単語列の同時確率と上記日本語文を構成する各文字の文字混同確率との積が大きい順番に任意の個数の単語候補列を提示する手段65とからなる。
【0025】
上記本発明の日本語文字認識誤り訂正装置60は、日本語文の各文字位置毎に文字認識スコアの高い順番に並べられた文字候補のリストである文字マトリクスを入力し、
文字マトリクスに含まれる文字列と類似照合する辞書中の単語を検索し、ある文字がどの文字にどれくらいの頻度で認識されるかを示す文字混同行列及び文字の図形的特徴を数値化した文字特徴ベクトルから推定される二つの文字の間の文字混同確率と単語出現確率とに基づいて上記単語の順位付けを行い、
正解文字が上記文字候補に含まれているか否かとは係わらず、上記順位付けされた単語を含む単語候補の組合せの中から、上記日本語文を構成する単語列の同時確率と上記日本語文を構成する各文字の文字混同確率との積が大きい順番に任意の個数の単語候補列を提示する。
【0026】
図11は、本発明による他の日本語文字認識誤り訂正装置70の構成図である。同図に示す日本語文字認識誤り訂正装置70は、
日本語文の各文字位置毎に文字認識スコアの高い順番に並べられた文字候補のリストである文字マトリクスを入力する手段71と、
上記文字マトリクスに含まれる部分文字列と照合する辞書73中の単語を検索する単語照合手段72と、
平均単語長と、連続する二つの文字において第1の文字が与えられたときの第2の文字の条件付き出現確率を示す文字二つ組確率とを記憶する単語モデル格納手段74と、
上記日本語文が辞書に登録されていない単語を含む場合に、上記記憶された平均単語長及び文字二つ組確率に基づいて、上記文字マトリクスに含まれる部分文字列の中から、未知語候補として確率が高い順番に任意の個数の未知語の表記と出現確率の組を求める未知語候補生成手段75と、
正解文字が上記文字候補に含まれていない場合に、文字マトリクスに含まれる文字列と類似照合する辞書中の単語を検索し、ある文字がどの文字にどれくらいの頻度で認識されるかを示す文字混同行列及び文字の図形的特徴を数値化した文字特徴ベクトルから推定される二つの文字の間の文字混同確率を記憶する文字認識装置モデル格納手段76と、
単語出現確率を記憶する単語分割モデル格納手段77と、
上記記憶された文字混同確率及び単語出現確率に基づいて上記単語の順位付けを行なう類似単語照合手段78と、
上記文字マトリクスに含まれる辞書中の単語、上記未知語候補、及び、上記順位付けされた単語を含む単語候補の組合せの中から、上記日本語文を構成する単語列の同時確率と上記日本語文を構成する各文字の文字混同確率との積が大きい順番に任意の個数の単語候補列を提示する形態素解析手段79とからなる。
【0027】
上記本発明の日本語文字認識誤り訂正装置70は、
日本語文の各文字位置毎に文字認識スコアの高い順番に並べられた文字候補のリストである文字マトリクスを入力し、
上記文字マトリクスに含まれる部分文字列と照合する辞書中の単語を検索し、上記日本語文が辞書に登録されていない単語を含む場合に、平均単語長と、連続する二つの文字において第1の文字が与えられたときの第2の文字の条件付き出現確率を示す文字二つ組確率とに基づいて、上記文字マトリクスに含まれる部分文字列の中から、未知語候補として確率が高い順番に任意の個数の未知語の表記と出現確率の組を求め、
正解文字が上記文字候補に含まれていない場合に、文字マトリクスに含まれる文字列と類似照合する辞書中の単語を検索し、ある文字がどの文字にどれくらいの頻度で認識されるかを示す文字混同行列及び文字の図形的特徴を数値化した文字特徴ベクトルから推定される二つの文字の間の文字混同確率と単語出現確率とに基づいて上記単語の順位付けを行い、
上記文字マトリクスに含まれる辞書中の単語、上記未知語候補、及び、上記順位付けされた単語を含む単語候補の組合せの中から、上記日本語文を構成する単語列の同時確率と上記日本語文を構成する各文字の文字混同確率との積が大きい順番に任意の個数の単語候補列を提示する。
【0028】
また、本発明は、日本語文字認識誤り訂正装置に適用される文字認識装置モデル作成装置を提供する。図12は文字認識装置モデル作成装置の構成図である。同図に示す如く本発明の文字認識装置モデル作成装置80は、
ある文字がどの文字にどれくらいの頻度で認識されるかを与える文字混同頻度を記憶する文字混同頻度格納手段81と、
文字の図形的特徴を数値化した文字特徴ベクトルを記憶する文字特徴ベクトル格納手段82と、
互いに距離が近い文字特徴ベクトルを一つにまとめることにより、上記文字を複数の文字クラスに分類する文字クラスタリング手段83と、
上記文字混同頻度及び上記文字クラスに基づいて、ある文字クラスの文字がどの文字クラスの文字にどのくらいの頻度で認識されるかを表す文字クラス混同確率を推定する手段84と、
ある文字がこれまで観測されていない文字に認識される確率の総和を推定する未観測事象確率推定手段85と、
上記未観測事象の確率の総和を文字クラス混同確率に比例するように配分し、和が1になるように正規化することにより未観測事象の文字混同確率を求め、観測事象の確率の総和を文字混同確率に比例するように配分し、全体の確率の和が1になるように正規化する手段86とにより構成され、
文字の図形的類似度に基づいて任意の二つの文字の間の文字混同確率を与えることを特徴とする。
【0029】
図13は、本発明の文字認識装置モデル作成装置80の動作説明図である。同図に示す如く、文字認識装置モデル作成装置80は、
文字混同頻度が0か否かを判定し(ステップ81)、
0であるならば、未観測事象の確率の総和を推定し(ステップ82)、
入力文字と出力文字が属するクラスを求め、文字クラス混同確率を推定し(ステップ83)、
未観測事象の確率の総和を文字クラス混同確率に比例して配分し、全体の確率の和が1になるように正規化し(ステップ84)、
文字混同頻度が0ではない場合、観測事象の確率を文字混同確率に比例して配分し、全体の確率の和が1になるように正規化する(ステップ85)。
【0030】
また、本発明は、上記本発明の日本語文字認識誤り訂正装置及び文字認識装置モデル作成装置の各々の構成要件を実現するソフトウェア(プログラム)を記録した記録媒体を含む。かかる本発明の日本語文字認識誤り訂正プログラム及び文字認識装置モデル作成プログラムは、ディスク装置等に格納しておき、必要に応じて文字認識誤り訂正システムのコンピュータにインストールして、夫々、文字認識誤り訂正及び文字認識装置モデル作成を行うことも可能である。
【0031】
本発明の日本語認識誤り訂正プログラムを記録した記録媒体は、
単語の出現頻度を記憶させるプロセスと、
文字の図形的類似度を計算するプロセスと、
入力として与えられた日本語文を構成する記憶された単語の出現頻度を獲得し、上記計算された上記日本文を構成する文字の図形的類似度を獲得し、上記獲得された単語の出現頻度及び文字の図形的類似度とに基づいて、上記日本語文に含まれる文字認識誤りを訂正する単語候補として、任意の個数の単語を確率が高い順番に提示させるプロセスとからなることを特徴とする日本語文字誤り訂正プログラムを記録する。
【0032】
また、本発明は、入力として与えられた日本語文に含まれる文字列と一致する単語を単語候補として生成させるプロセスと、
上記文に含まれる未知の部分文字列を未知語候補として生成させるプロセスと、
上記文に含まれる部分文字列と類似した単語を上記文の文脈とは無関係に訂正単語候補として生成させるプロセスと、
上記単語候補、上記未知語候補及び上記訂正単語候補の組合せの中から、上記日本語文に含まれる文字認識誤りの訂正単語列として、任意の個数の単語候補列を確率の高い順番に出力させるプロセスとからなることを特徴とする日本語文字認識誤り訂正プログラムを記録した記録媒体である。
【0033】
また、本発明は、入力として与えられた日本語文を構成する単語列の同時確率を与えるプロセスと、
任意の二つの文字の間の文字混同確率を与えるプロセスと、
上記訂正対象となる単語の文字列と類似照合する辞書中の単語を検索させるプロセスと、
訂正対象となる単語の長短、並びに、訂正対象となる単語の前後の文脈情報の利用の可否には係わらず、上記訂正対象となる単語の訂正単語候補として任意の個数の単語を確率の高い順番に提示させるプロセスとからなることを特徴とする日本語文字認識誤り訂正プログラムを記録した記録媒体である。
【0034】
また、本発明は、日本語文の各文字位置毎に文字認識スコアの高い順番に並べられた文字候補のリストである文字マトリクスを入力させるプロセスと、
平均単語長と、連続する二つの文字において第1の文字が与えられたときの第2の文字の条件付き出現確率を示す文字二つ組確率とを記憶させるプロセスと、上記記憶された平均単語長及び文字二つ組確率に基づいて、上記文字マトリクスに含まれる部分文字列の中から、未知語候補として任意の個数の未知語の表記と出現確率の組を確率が高い順番に求めさせるプロセスと、
上記日本語文が辞書に登録されていない単語を含むか否かとは係わらず、上記未知語候補を含む単語候補の組合せの中から、上記日本語文を構成する単語列の同時確率と上記日本語文を構成する各文字の文字混同確率との積が大きい順番に任意の個数の単語候補列を提示させるプロセスとからなることを特徴とする日本語文字認識誤り訂正プログラムを記録した記録媒体である。
【0035】
また、本発明は、日本語文の各文字位置毎に文字認識スコアの高い順番に並べられた文字候補のリストである文字マトリクスを入力させるプロセスと、
文字マトリクスに含まれる文字列と類似照合する辞書中の単語を検索し、ある文字がどの文字にどれくらいの頻度で認識されるかを示す文字混同行列及び文字の図形的特徴を数値化した文字特徴ベクトルから推定される二つの文字の間の文字混同確率を記憶させるプロセスと、
正解文字が上記文字候補に含まれているか否かとは係わらず、上記文字認識装置モデル格納手段から得られた上記日本語文を構成する各文字の文字混同確率が大きい順番に任意の個数の単語候補列を提示させるプロセスとからなることを特徴とする日本語文字認識誤り訂正プログラムを記録した記録媒体である。
【0036】
また、本発明は、日本語文の各文字位置毎に文字認識スコアの高い順番に並べられた文字候補のリストである文字マトリクスを入力させるプロセスと、
文字マトリクスに含まれる文字列と類似照合する辞書中の単語を検索し、ある文字がどの文字にどれくらいの頻度で認識されるかを示す文字混同行列及び文字の図形的特徴を数値化した文字特徴ベクトルから推定される二つの文字の間の文字混同確率を記憶させるプロセスと、
単語出現確率を記憶させるプロセスと、
上記文字混同確率及び上記単語出現確率に基づいて上記単語の順位付けを行わせるプロセスと、
正解文字が上記文字候補に含まれているか否かとは係わらず、上記順位付けされた単語を含む単語候補の組合せの中から、上記日本語文を構成する単語列の同時確率と上記日本語文を構成する各文字の文字混同確率との積が大きい順番に任意の個数の単語候補列を提示させるプロセスとからなることを特徴とする日本語文字認識誤り訂正プログラムを記録した記録媒体である。
【0037】
また、本発明は、日本語文の各文字位置毎に文字認識スコアの高い順番に並べられた文字候補のリストである文字マトリクスを入力させるプロセスと、
上記文字マトリクスに含まれる部分文字列と照合する辞書中の単語を検索させるプロセスと、
平均単語長と、連続する二つの文字において第1の文字が与えられたときの第2の文字の条件付き出現確率を示す文字二つ組確率とを記憶させるプロセスと、
上記日本語文が辞書に登録されていない単語を含む場合に、上記記憶された平均単語長及び文字二つ組確率に基づいて、上記文字マトリクスに含まれる部分文字列の中から、未知語候補として確率が高い順番に任意の個数の未知語の表記と出現確率の組を求めさせるプロセスと、
正解文字が上記文字候補に含まれていない場合に、文字マトリクスに含まれる文字列と類似照合する辞書中の単語を検索し、ある文字がどの文字にどれくらいの頻度で認識されるかを示す文字混同行列及び文字の図形的特徴を数値化した文字特徴ベクトルから推定される二つの文字の間の文字混同確率を記憶させるプロセスと、
単語出現確率を記憶させるプロセスと、
上記記憶された文字混同確率及び単語出現確率に基づいて上記単語の順位付けを行なわせるプロセスと、
上記文字マトリクスに含まれる辞書中の単語、上記未知語候補、及び、上記順位付けされた単語を含む単語候補の組合せの中から、上記日本語文を構成する単語列の同時確率と上記日本語文を構成する各文字の文字混同確率との積が大きい順番に任意の個数の単語候補列を提示させるプロセスとからなることを特徴とする日本語文字認識誤り訂正プログラムを記録した記録媒体である。
【0038】
また、本発明は、ある文字がどの文字にどれくらいの頻度で認識されるかを与える文字混同頻度を記憶させるプロセスと、
文字の図形的特徴を数値化した文字特徴ベクトルを記憶させるプロセスと、
互いに距離が近い文字特徴ベクトルを一つにまとめることにより、上記文字を複数の文字クラスに分類させるプロセスと、
上記文字混同頻度及び上記文字クラスに基づいて、ある文字クラスの文字がどの文字クラスの文字にどのくらいの頻度で認識されるかを表す文字クラス混同確率を推定させるプロセスと、
ある文字がこれまで観測されていない文字に認識される確率の総和を推定させるプロセスと、
上記未観測事象の確率の総和を文字クラス混同確率に比例するように配分し、和が1になるように正規化することにより未観測事象の文字混同確率を求め、観測事象の確率の総和を文字混同確率に比例するように配分し、全体の確率の和が1になるように正規化させるプロセスとにより構成され、
文字の図形的類似度に基づいて任意の二つの文字の間の文字混同確率を与えることを特徴とする文字認識装置モデル作成プログラムを記録した記録媒体である。
【0039】
【発明の実施の形態】
図14は、本発明の一実施例による日本語文字認識誤り訂正システムの概略ブロック図である。同図に示す如く、日本語文字認識誤り訂正システムは、日本語入力文を受け、文字マトリクスを出力する文字認識装置101と、与えられた文字マトリクスを入力して単語列を出力する文字認識誤り訂正装置100とからなる。
【0040】
文字認識誤り訂正装置100は、前向き探索部102、部分解析テーブル103、後向き探索部104、平均単語長テーブル105、未知語候補生成部106、類似単語照合部107、単語出現確率テーブル108、単語照合手段109、単語二つ組確率テーブル110、文字二つ組確率テーブル111、文字混同確率計算部112、文字混同頻度テーブル113、文字クラス混同頻度テーブル114、文字クラスタリング部115、及び文字特徴ベクトルテーブル116により構成される。
【0041】
前向き探索部102は、入力文に対して文字認識装置1が出力した文字マトリクスを入力とし、入力文字マトリクスの文頭から文末へ一文字ずつ進む動的計画法(Dynamic Programming) を用いて、単語列の同時確率(即ち、単語二つ組確率の積)と各文字の文字混同確率との積が最大化されるような入力文の単語分割を求める。前向き探索部102は、文頭からある単語に至るまでの単語列の同時確率と各文字の文字混同確率との積を最大化する部分解析(単語列)の確率を、最後の単語毎に計算し、部分解析スコアテーブル103に記録する。
【0042】
前向き探索において、単語候補は、単語照合部109と類似単語照合部107と未知語候補生成部106とによって提案される。提案された単語候補には、文字列混同確率生成部112によって、単語を構成する各文字の文字混同確率の積が与えられる。また、単語二つ組確率は単語二つ組確率テーブル110より与えられる。
【0043】
以下では、文字マトリクスの各文字位置において、その文字位置の文字候補のリストから一文字ずつ選ぶことにより構成される文字列を、「文字マトリクスに含まれる文字列」と呼ぶ。
単語照合部109は、文字マトリクスに含まれる文字列と単語出現確率テーブル108の単語表記とを照合し、照合したものを単語候補として提案する。
【0044】
類似単語照合手段107は、文字マトリクスに含まれる文字列及び単語出現確率テーブル108の単語表記を、単語出現確率テーブル108より与えられる単語出現確率を用いて類似照合する。
未知語候補生成部106は、文字マトリクスに含まれる文字列の中で単語出現確率テーブル108の単語表記と照合しないものを未知語とみなし、平均単語長テーブル105より与えられる平均単語長と、文字二つ組確率テーブル111より与えられる文字二つ組確率を用いて単語出現確率を推定して、予め定めた個数の未知語を出力確率が大きい順に未知語候補として提案する。
【0045】
後向き探索部104は、前向き探索部2において部分解析テーブル103に格納された部分解析を入力し、文末から文頭へ一単語ずつ進むA* アルゴリズムを用いて、単語列の同時確率と各文字の文字混同確率との積が最も大きい方から順番に一つずつ単語列候補を求める。
文字混同確率計算部112は、文字混同頻度テーブル113に格納された文字混同頻度と、文字クラス混同頻度テーブル114に格納された文字クラス混同頻度とから文字混同確率を求める。
【0046】
文字クラスタリング部115は、文字特徴ベクトルテーブル116をベクトル量子化アルゴリズムを用いて予め定められた個数の文字クラスに分類し、文字クラス間の混同数を文字混同頻度テーブル113より求める。
以下では、まず、本発明の理論的基礎である「文字認識誤り訂正の情報理論的解釈」について説明し、続いて、文字認識装置モデル、単語分割モデル、単語モデル、前向き探索部及び後向き探索部、未知語候補生成部、並びに、類似単語照合部の順に説明する。
【0047】
・文字認識誤り訂正の情報理論的解釈
本発明の一実施例において、文字認識装置1の入力と出力の関係は、雑音のある通信路のモデル(noisy channel model) で定式化される。入力文字列Cに対する文字認識結果をXとすれば、文字認識の誤り訂正は、事後確率P(C|X)を最大にする文字列
【0048】
【外1】
Figure 0004066507
【0049】
を求める問題に帰着する。
ベイズの定理により、次の関係が成り立つので、
【0050】
【数1】
Figure 0004066507
【0051】
P(X|C)P(C)を最大にする文字列
【0052】
【外2】
Figure 0004066507
【0053】
を求めればよい。
【0054】
【数2】
Figure 0004066507
【0055】
ここでは、P(X|C)を文字認識装置モデル、P(C)を言語モデルと呼ぶ。以下では、本発明の一実施例で用いた文字認識装置モデル及び言語モデルについて説明する。
・文字認識装置モデル
文字認識装置モデルP(X|C)は、入力文字列Cを構成する各文字ci が、Xを構成する各文字xi に認識される確率の積から計算できる。
【0056】
【数3】
Figure 0004066507
【0057】
P(xi |ci )は文字混同確率(character confusion probability) と呼ばれ、基本的には文字認識装置の入力と出力の組の頻度データである文字混同行列(character confusion matrix)から求めることができる。
しかし、文字混同行列は、文字認識法が入力画像の品質に大きく依存するので汎用性が低い。また、日本語は文字の種類が3000字以上もあるので、すべての文字について十分に多くの文字認識結果を集めることはできない。必然的に文字混同行列は疎(sparse)になるので、文字混同確率P(xi |ci )を相対頻度から最尤推定するのは不適切である。
【0058】
例えば、「環境」という単語が「技境」と誤認識されたとする。図15は「環」と「境」という文字に関する文字混同行列のデータの例を示す図である。スラッシュ(’/’)で区切られた文字と数字の組は、入力文字に対する出力文字とその頻度を表す。「環」という文字に関する認識結果を1291個集めたとき、出力される文字は「環」が1289個、「探」が1個、「像」が1個しかなく、「技」と認識される例はない。従って、単純に最尤推定すると、文字混同確率P(技|環)=0となる。これは「ゼロ頻度問題」と呼ばれ、少数の学習データから確率モデルを推定する際には必ず発生する問題である。
【0059】
そこで、本発明の一実施例では、文字の図形的な特徴を数値化したデータである文字特徴ベクトルを、文字混同行列と組み合わせることにより、文字の図形的な類似度に基づいて文字混同確率を平滑化(smoothing) する。そのため、まず全ての未観測事象の出現確率の和を推定し、次に、文字の類似度に基づいて各未観測事象に確率を再配分する。以下でその方法を説明する。
【0060】
・未観測事象から生起する確率の推定
本発明の一実施例において、未観測事象の確率の総和の推定法として、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の方法では、既に観測された事象の延べ総数、即ち、種類の違いを無視して計算した合計をnとし、異なり総数、即ち、種類が同じものは一つとして計算した合計をrとするとき、新しい事象(未観測事象)が生起する確率をr/(n+r)と推定する。一方、既にc回観測された事象の確率はc/(n+r)と推定する。WittenとBellの方法は、新しい事象を観測する確率は、観測事象の異なり総数が増加すると共に増え、観測事象の延べ総数が増加すると共に減るという経験則を反映したもので、単純な計算により実用的な精度が得られるという利点がある。尚、WittenとBellの方法は、テキスト圧縮の分野で考案されたもので、文字認識の誤り訂正にこの方法を応用するのは本発明の一実施例に特有の新規事項である。
【0061】
文字ci が文字cj に認識されるという事象の頻度をC(ci ,cj )とし、文字ci が未観測の文字に認識されるという事象の確率の和をβ(ci )とする。WittenとBellの方法よりβ(ci )は以下のように推定される。
【0062】
【数4】
Figure 0004066507
【0063】
ここでΘ(x)は異なり総数を求めるために導入した以下のようなステップ関数である。
【0064】
【数5】
Figure 0004066507
【0065】
図15に示された例では、文字「環」は1291(=1289+1+1)回入力され、出力には「環」、「探」及び「像」の3つの文字がある。従って、新しい文字を観測する確率は、3/(1291+3)=3/1294である。
・図形的類似度に基づく文字クラスタリング
WittenとBellの方法は、未観測事象の確率の総和を求めるための一般的な方法として使用できるが、個々の未観測事象に確率を再配分する方法は、モデル化する対象に応じて新たに考案する必要がある。最も簡単な確率の再配分法は、すべての未観測事象を等確率と仮定する方法である。しかし、文字混同確率の場合、図形的に似ている文字ほど認識誤りが生じ易いので、等確率とする仮定は不適切である。
【0066】
本発明の一実施例では、図形的に似ている文字の間の誤り傾向に基づいて未観測事象の文字混同確率を再配分するために、まず、図形的な類似度に基づいて文字を適当な数のクラスに分類し、この文字クラス間の混同頻度を文字混同頻度から求める。そして、文字クラス混同頻度に比例するように未観測事象の確率を再配分する。
文字クラスは文字特徴ベクトルをクラスタリングすることにより求める。一般に、文字認識は特徴抽出及び分類により構成される。特徴抽出は画像から文字認識に有効な複数の特徴量を取り出す操作であり、分類は入力文字画像の特徴ベクトルと予め用意した各文字の代表ベクトルを何らかの距離尺度に基づいて比較する操作である。従って、文字特徴ベクトル間の距離に基づいて文字をクラスタリングすれば、文字認識の誤り傾向を反映する図形的に似た文字の集合が得られる。
【0067】
本発明の一実施例では、文字特徴量として外郭方向寄与度(荻田・内藤・増田「外郭方向寄与度特徴による手書き漢字の識別」、電子通信学会論文誌、Vol.J66-D, No.10, pp.1185-1192, 1983)が使用され、クラスタリング手法としてLBGアルゴリズム(Linde, Buzo and Gray “An algorithm for Vector Quantizer Design", IEEE Transactions on Communications, Vol.COM-28, No.1, pages 84-95, 1980)が使用されている。但し、文字特徴ベクトルとクラスタリング手法は、最終的に図形的に類似した文字のクラスが得られる方法であればよく、本実施例で使用された外郭方向寄与度とLBGアルゴリズムに限定されることはない。外郭方向寄与度は本来1536次元のベクトルであるが、2段階の特徴選択法を用いて256次元に縮退した特徴ベクトルを作成する。次に、3021個の日本語の文字に対し各文字の特徴ベクトルをLBGアルゴリズムを用いて、3021個の文字を128個のクラスに分類した。
【0068】
図16はクラスタリングにより作成された文字クラスの例を説明する図である。クラス29は「環」を含む文字クラス、クラス119は「技」を含む文字クラスである。図形的に類似した特徴を持つ文字が一つのクラスを構成していることが分かる。
・文字クラス混同頻度と文字混同確率の計算法
文字クラスと文字混同頻度から文字クラス混同頻度を求める手順を説明する。文字クラスclassI に属する文字が文字クラスclassJ に属する文字に認識される頻度を文字クラス混同頻度と呼び、C(classI ,classJ )で表す。文字クラス混同頻度C(classI ,classJ )は、classI とclassJ に属する文字に関する文字混同行列の要素の和から求めることができる。
【0069】
【数6】
Figure 0004066507
【0070】
文字混同行列に比べれば少ないが、文字クラス混同行列にもゼロ要素がある。そこで、まず前述のWittenとBellの方法を文字クラス混同行列に適用してゼロ要素(未観測事象)の確率の和を求め、未観測事象は等確率と仮定して確率を再配分する。これによりすべての文字クラスの間にクラス混同確率が定義できる。
図17は文字クラス混同行列の例を示す図である。同図には、クラス29(「環」を含む文字クラス)の文字クラス混同頻度が示されている。クラス29は入力として31036回現れ、クラス119(「技」を含む文字クラス)に認識されたのは7回である。また、出力の中の異なりクラスは36個ある。従って、文字クラス混同確率は、P(class119 |class29)=7/(31036+36)=7/31072である。
【0071】
未観測事象の文字混同確率は、文字クラス混同確率に比例するように配分される。即ち、
【0072】
【数7】
Figure 0004066507
【0073】
ここで、α(ci )は、未観測事象の文字混同確率の和がβ(ci )に等しくなるようにするための正規化係数であり、
【0074】
【数8】
Figure 0004066507
【0075】
class(ci )は文字ci が属するクラスを求める関数である。
文字クラス混同確率P(class(cj )|class(ci ))及び正規化係数α(ci )は予め計算しておくことができるので、式(7)に示す文字混同確率の計算は非常に効率的に実現できる。
・言語モデル(単語分割モデル)
続いて、言語モデル(単語分割モデル)、前向き探索及び後向き探索について説明する。
【0076】
文字列C=c1 2 ...cm から構成される入力文が、単語列W=w1 2 ...wn に分割されるとする。本発明の一実施例では、式(2)における文字列Cの確率P(C)を、文字列Cを構成する最も尤もらしい単語列の確率P(W)で近似する。さらに、本実施例では、単語列の同時確率P(W)を次式のように単語二つ組確率の積で近似する。
【0077】
【数9】
Figure 0004066507
【0078】
ここで、“# ”は文の先頭及び末尾を表す特殊な記号である。単語二つ組確率は、大量のテキストデータから事前に学習しておく。
一般にP(W)は単語分割モデルと呼ばれる。式(9)のように、単語分割モデルを言語モデルとして用いると、文字認識誤り訂正は、文字認識装置の出力文字列Xに対し事後確率P(W|X)を最大にする単語列
【0079】
【外3】
Figure 0004066507
【0080】
を求める問題に帰着する。式(2)と同様にベイズの定理を用いれば、これはP(X|W)とP(W)の積を最大化すればよいことになる。
【0081】
【数10】
Figure 0004066507
【0082】
式(10)を最大化する単語列は、文頭から文末方向へ一文字ずつ進む動的計画法により求められる。さらに、文末から文頭方向へ進むA* 探索を用いれば、確率が大きい順に任意の個数の単語列候補を求めることもできる。本発明の一実施例では、文頭から文末方向へ一文字ずつ進む動的計画法を前向き探索と称し、文末から文頭方向へ進むA* 探索を後向き探索と称する。以下では、前向き探索及び後向き探索について説明する。
【0083】
・前向き探索
前向き探索部102が式(10)を最大化する単語列を求める手順を説明する。
文頭からi番目の単語までの単語列の同時確率P(w1 ...wi )と、単語列を構成する各文字の文字混同確率P(xj |cj )との積の最大値をφ(wi )と定義すると、式(9)より、以下の関係が成立する。
【0084】
【数11】
Figure 0004066507
【0085】
ここで、q及びrは単語wi の開始位置及び終了位置を表す。即ち、wi =cq+1 ...cr であり、xq+1 ...xr はwi に対応する文字認識結果である。
式(11)は以下の関係を表す。文頭からi番目の単語までの同時確率と単語列を構成する各文字の文字混同確率との積の最大値φ(wi )は、文頭からi−1番目の単語までの同時確率と単語列を構成する各文字の文字混同確率との積の最大値φ(wi-1 )と、i番目の単語の単語二つ組確率P(wi |wi-1 )との積の最大値に、i番目の単語を構成する各文字の文字混同確率の積を掛けたものである。この関係を利用して、文頭から順にφ(wi )を求めれば、文頭から文末までの確率の最大値φ(wn )を求めることができる。
【0086】
図18は本発明の一実施例による前向き探索部102の動作フローチャートである。前向き探索は動的計画法を用いて式(11)の計算を実現する。ここでは、φ(wi )を部分解析の確率と呼び、φ(wi )を格納するテーブルを部分解析テーブル103と呼ぶ。以下では、図18に従って前向き探索の動作を説明する。 前向き探索は、入力文の先頭から始まり、文末方向へ一文字ずつ進む。ステップ101では、探索の開始位置を入力文の先頭に設定する。
【0087】
ステップ102では、探索が文末に達したか否かを判断する。もし、文末に達していれば、前向き探索を終了する。そうでなければ、以下の処理を各文字位置で行う。
ステップ103では、現在の文字位置に到達する全ての部分解析を部分解析テーブル103から検索し、その中の一つを現在の部分解析として選ぶ。
【0088】
ステップ104では、全ての部分解析を調べたか否かを判定する。もしそうならば、ステップ114において探索を次の文字位置へ進める。そうでなければ、以下の処理を各部分解析について行う。
ステップ105では、現在の文字位置から始まるすべての単語候補の集合を作成し、その中から一つの単語を現在の単語として選ぶ。すべての単語候補の集合は、文字マトリクスに含まれる文字列と照合する辞書中の単語(単語照合部109から得られる)、文字列マトリクスに含まれる文字列と類似照合する辞書中の単語(類似単語照合部107から得られる)、及び、文字マトリクスに含まれる文字列で辞書と照合しないものから生成した未知単語候補(未知語候補生成部106から得られる)より構成される。
【0089】
ステップ106では、全ての単語を調べたか否かを判定する。もしそうならば、ステップ113において次の部分解析を選ぶ。そうでなければ、以下の処理を各単語について行う。
ステップ107では、現在の単語(を最後の単語とする部分解析)が部分解析テーブル103に登録されているか否かを調べる。もしそうならば、ステップ109に進む。そうでなければ、ステップ108において、この単語を部分解析テーブル103に登録し、部分解析の確率を0に初期化した後に、ステップ109へ進む。
【0090】
ステップ109では、現在の部分解析と現在の単語の組合せによる新しい部分解析の確率を求める。新しい部分解析の確率は、
【0091】
【外4】
Figure 0004066507
【0092】
である。
ステップ110では、新しい部分解析の確率が、最後の単語が同じである以前の部分解析の確率よりも大きいか否かを調べる。もしそうであれば、ステップ111において、新しい部分解析の確率を部分解析テーブル103に格納し、ステップ112へ進む。もしそうでなければ、そのままステップ112へ進む。
【0093】
ステップ112では、次の単語を選びステップ106へ戻る。
ステップ113では、次の部分解析を選び、ステップ104へ戻る。
ステップ114では、探索を次の文字位置へ進め、ステップ102へ戻る。
・後向き探索
後向き探索部104が、式(10)の確率が大きい順に一つずつ単語分割候補を求める手順を説明する。
【0094】
ある単語分割候補W=w1 ...wn において、文末からi番目の単語までの単語列の同時確率P(w1 ...wn )と、単語列を構成する各文字の文字混同確率P(xj |cj )との積をψ(wi )と定義すると、前向き部分解析の場合と同様に、式(9)より、以下の関係が成立する。
【0095】
【数12】
Figure 0004066507
【0096】
ここで、s及びtは単語wi+1 の開始位置及び終了位置を表す。すなわち、wi+1 =cs+1 ...ct であり、xs+1 ...xt はwi+1 に対応する文字認識結果である。
φ(wi )を前向き部分解析の確率、ψ(wi )を後向き部分解析の確率と呼ぶことにする。単語分割候補の確率は、任意のwi について、前向き部分解析の確率φ(wi )と後向き部分解析の確率ψ(wi )との積で表せる。
【0097】
P(X|W)P(W)=φ(wi )ψ(wi ) (13)
本発明の後向き探索では、単語分割候補を確率が大きい順に一つずつ求めるためにA* アルゴリズムを用いる。A* アルゴリズムは、状態空間グラフの最小コスト経路を求めるアルゴリズムである(A* アルゴリズムの詳細については、人工知能に関する教科書、例えば、Avron Barr、 Edward A. Feigenbaum 編、田中幸吉・淵一博監訳、「人工知能ハンドブック第I巻」第II章探索、共立出版、1983を参照のこと)。
【0098】
ここで、A* アルゴリズムについて簡単に説明する。グラフの任意のノードをnとしたとき、初期状態からnまでの最適な経路のコストをg(n)とし、nから最終状態までの最適な経路のコストをh(n)とする。nを通る最適な経路のコストf(n)は次式で与えられる。
f(n)=g(n)+h(n) (14)
初期状態から最終状態への最適な経路を求める問題を考える。もしf(n)が正確にわかっていれば、初期状態からf(n)が最小となるノードを辿ることにより解が得られる。実際にはg(n)もh(n)も正確にはわからないので探索が必要である。
【0099】
g(n)は、それまでわかっているnまでの道の中でコストが最小のものとする。h(n)の推定値を
【0100】
【外5】
Figure 0004066507
【0101】
とするとき、もし推定コスト
【0102】
【外6】
Figure 0004066507
【0103】
が真のコストh(n)より小さければ、即ち、
【0104】
【外7】
Figure 0004066507
【0105】
ならば、
【0106】
【外8】
Figure 0004066507
【0107】
が最小となるノードを辿ることにより最適解が得られることを証明できる。この性質を利用したようなグラフ探索戦略をA* アルゴリズムという。また、ある探索アルゴリズムが必ず最適解を発見できるとき、その探索アルゴリズムは認容可能(admissible)であるという。
もし推定コスト
【0108】
【外9】
Figure 0004066507
【0109】
と真のコストh(n)が一致するならば、A* アルゴリズムは(最適経路以外のノードを通ることなく)直ちに最適経路を求めることができる。一般に推定コストが真のコストに近いほど、探索量は少なくて済む。もし推定コストを常に0とすれば、推定コストが真のコストより小さいという認容可能条件を満たすが、実際的にはg(n)を用いて幅優先探索をするのと同じであり、非常に効率が悪い。
【0110】
本発明の一実施例では、後向き部分解析をグラフのノードと考え、関数g(n)として、後向き部分解析の確率の対数の絶対値、関数h(n)として前向き部分解析の確率の対数の絶対値を用いる。これにより、 単語分割候補の確率が最大の解は、コスト関数f(n)が最小の解に対応する。前向き探索によりh(n)の真の値が分かっているので、後向き探索は認容可能であり、必ず直ちに最適解を求めることができる。最適解が得られたら、そのノードを取り除き、更に探索を続けることにより次の最適解が得られる。このようにして、後向き探索では、確率が高い順に任意の数の単語分割候補を求めることができる。
【0111】
図19は本発明の一実施例による後向き探索部104の動作フローチャートである。
一般に、A* アルゴリズムでは、openとclosedという二つのリストを用いる。リストopenは、既に生成され、残りの経路のコスト関数h(n)を計算したが、まだ展開されていない(調べられていない)ノードの集合である。このリストは、関数h(n)の値に基づく優先度付きキューになっている。リストclosedは、既に展開された(調べられた)ノードの集合である。
【0112】
* アルゴリズムでは、最終状態に対応するノードを生成するまで、各ステップで一つのノードを展開する。各ステップでは、既に生成されているが、未だ展開されていない、最もコストが小さいノードを展開する。即ち、選ばれたノードの後続のノードを生成し、残りの経路のコスト関数h(n)を計算し、既に生成されていないかを検査した後にリストopenに加える。この検査によって、各ノードはグラフの中に一回だけ現れることが保証される。また、二つ以上の経路が同じノードを生成するときは、コストが小さい方のノードだけを記録する。
【0113】
以下では、図19に従って後向き探索部104の動作について説明する。
ステップ201では、文末を表す後向き部分解析をリストopenに代入する。また、リストclosedには空リストを代入する。
ステップ202では、リストopenが空リストか否かを調べる。もし、そうならば、解が見つからなかったので探索が失敗したことを通知して探索を終了する。そうでなければ、以下の処理を行う。
【0114】
ステップ203では、リストopenの先頭要素を取り出し、現在の後向き部分解析とする。そして、ステップ204において、探索が文頭に達したか否かを調べる。もし、探索が文頭に達していれば、現在の後向き部分解析が最適解であり、探索が成功したことを通知して後向き探索を終了する。そうでなければ、以下の処理を行う。また、探索は成功したが、さらに、その次にコストが小さい(確率が大きい)解を求めたい場合にも以下の処理を行う。
【0115】
ステップ205では、現在の後向き部分解析をリストclosedへ挿入し、リストclosedの要素を初期状態から最終状態までの全経路のコストf(n)の順にソートする。
ステップ206では、現在の後向き部分解析の左側に接続可能な全ての単語を検索し、その中の一つを現在の単語とする。
【0116】
ステップ207では、全ての単語を調べたか否かを判定する。もしそうであれば、ステップ202へ進む。そうでなければ、以下の処理を行う。
ステップ208では、現在の後向き部分解析から現在の単語へ遷移する経路を表す新しい後向き部分解析を作成し、これを変数newpathに代入する。
ステップ209では、現在の単語へ遷移する後向き部分解析が既にリストopenの中に含まれているか否かを検査する。もし含まれていなければ、ステップ213へ進む。含まれているならば、以下の処理を行う。
【0117】
ステップ210では、現在の単語へ遷移するリストopenの要素を変数oldpathに代入する。
ステップ211では、変数newpathの全経路コストと変数oldpathの全経路コストを比較する。もし、変数newpathの全経路コストの方が大きければ、そのままステップ218へ進む。もし、変数newpathのコストの方が小さければ、ステップ212おいて、リストopenから変数oldpathに対応する要素を削除し、変数newpathに対応する要素をリストopenに挿入した後、コストの順にソートする。そしてステップ218へ進む。
【0118】
ステップ213では、現在の単語への遷移を表す後向き部分解析がリストclosedに含まれているか否かを検査する。もし含まれていなければ、ステップ217へ進む。含まれていれば、以下の処理を行う。
ステップ214では、現在の単語へ遷移するリストclosedの中の要素を変数oldpathに代入する。
【0119】
ステップ215では、変数newpathの全経路コストと、変数oldpathの全経路コストとを比較する。もし、変数newpathの全経路コストの方が大きければ、リストclosedから変数oldpathに対応する要素を削除し、変数newpathに対応する要素をリストclosedへ挿入した後、コストの順にソートする。そしてステップ218へ進む。
【0120】
ステップ217では、変数newpathに対応した要素をリストopenへ挿入した後、コストの順にソートする。そしてステップ218へ進む。
ステップ218では、次の単語を選ぶ。
・単語モデル
続いて、単語モデル及び未知語候補生成部106について説明する。
【0121】
単語モデルは、辞書に登録されていない単語の出現確率を求めるための計算モデルである。これは、未知語wi を構成する文字列c1 ...ck の同時確率分布として定義される。これは、一般性を失うことなく、単語長確率と単語表記確率の積で表せる。
【0122】
【数13】
Figure 0004066507
【0123】
ここで、kは未知語を構成する文字列の長さであり、<UNK>は未知語を表す特殊記号である。
単語長確率P(k)は、平均単語長をλパラメータとするポワソン分布で近似される。これは、文字と文字との間に長さ0の単語境界記号が平均間隔λで無作為に出現するような確率過程で単語分割を近似したことを意味する。
【0124】
【数14】
Figure 0004066507
【0125】
単語表記確率P(c1 ...ck )は、以下のように文字二つ組確率の積で近似される。
【0126】
【数15】
Figure 0004066507
【0127】
ここで“# ”は単語の先頭及び末尾を表す特別な記号である。尚、平均単語長及び文字二つ組確率は、大量のテキストデータから事前に学習され、夫々、平均単語長テーブル105及び文字二つ組確率テーブル111に格納されている。
・未知語候補の生成
未知語候補の生成は、入力文が辞書に登録されていない単語を含む場合に対処するため行われる。未知語候補生成部106は、前向き探索において、入力文の各文字位置で、その文字位置から始まる文字マトリクスに含まれる部分文字列の中で辞書と照合しないものを、未知語候補として、式(15)の単語モデルに基づく出現確率が高い順番に予め決められた個数だけ生成する。計算量を削減したい場合には、文字認識の第1候補から構成される文字列の部分文字列だけから未知語候補を生成すればよい。
【0128】
この方法は、本来、辞書に登録されている単語が文字認識誤りによって、みかけ上、辞書に登録されていない単語になった場合に、単語区切りを推定する方法としても有効である。
図20は、本発明の一実施例による未知語候補生成部106における未知語候補生成の動作を説明するフローチャートである。ここでは、説明を簡単にするため、文字認識の第1候補から構成される文字列だけを用いて未知語候補を生成することにする。
【0129】
未知語候補生成部106は、入力文に対する文字マトリクスの第1候補から構成される文字列、及び、未知語候補を生成すべき文字位置がパラメータとして与えられる。
ステップ301では、現在の文字位置を未知語候補の開始点を表す変数iに代入し、未知語候補の終了点を表す変数jにi+1を代入する。また未知語候補リストに初期値として空リストを代入する。
【0130】
ステップ302では、jが入力文の長さより小さいか否かを調べる。もしそうでなければ、ステップ309へ進む。そうであれば、以下の処理を行う。
ステップ303では、未知語候補の長さj−1が予め定められた未知語の最大長より大きいか否かを調べる。もしそうならば、ステップ309へ進む。そうでなければ、以下の処理を行う。
【0131】
ステップ304では、入力文のj文字目が区切り記号か否かを調べる。区切り記号とは、句点(。)や読点(、)などの単語の一部とはなり得ない記号のことである。もしそうならば、ステップ309へ進む。そうでなければ、以下の処理を行う。
ステップ305では、入力文字列の文字位置iから文字位置jまでの部分文字列を未知語候補の表記とする。
【0132】
ステップ306では、現在の未知語候補の表記が辞書と照合するか否かを調べる。もしそうであれば、ステップ308へ進む。そうでなければ、以下の処理を行う。
ステップ307では、先ず単語モデルに基づいて、現在の未知語候補の出現確率を求める。次に、この未知語候補を未知語候補リストに加え、ステップ308へ進む。
【0133】
ステップ308では、未知語候補の終わりの文字位置を表わす変数jを一つ増やし、ステップ302へ戻る。
ステップ309では、得られた未知語候補リストを確率が大きい順にソートし、予め決められた個数の未知語候補を選ぶ。
・単語の類似度(ngram距離と編集距離)
続いて、単語の類似度の計算法と類似単語照合部107について説明する。ここでは説明を簡単にするため、一つの単語だけからなる文字列に対して類似単語照合を行う場合を説明する。実際には、入力文の任意の部分文字列に対して、類似単語照合を行う必要がある。
【0134】
文字認識装置1が出力した文字列をX、この文字列に対する訂正単語候補をWとする。式(10)より、もし以下の関係が成立すれば、XをWで訂正すべきである。
P(X)P(X|X)<P(W)P(X|W) (18)
式(18)の左辺は、未知語Xが生起し、かつ、Xが正しく認識される確率を表す。式(18)の右辺は、単語Wが生起し、WがXに誤認識される確率を表す。P(X)は未知語モデルから求められ、P(W)は単語分割モデルから求められる。P(X|X)及びP(X|W)は、X及びWを構成する文字の文字混同確率の積から求められる。
【0135】
単語出現確率P(W)と単語混同確率P(X|W)との積が大きい単語Wほど、文字列Xの訂正候補としては尤もらしい。そこで、本発明の一実施例による類似単語照合部107では、文字列Xに対して、辞書中の全ての単語の中からP(W)P(X|W)の値が大きい順に予め決められた個数の訂正候補を提案する。
しかし、単語辞書の大きさが数万語以上の場合、入力文中の任意の部分文字列X、及び、単語辞書中のすべての単語Wの組合せについて、P(W)P(X|W)の値を求め、確率の積の値が大きい単語を選ぶというような単純な実現方法では、膨大な計算が必要になってしまう。
【0136】
そこで、本発明の一実施例では、先ずngram距離に基づいて訂正単語候補を生成し、次に、編集距離に基づいて訂正単語候補を絞り込み、最後に単語出現確率と文字混同確率との積に基づいて訂正単語候補を決定するという3つのステップから構成される手続を用いることにより、効率的な類似単語照合を実現する。以下に、その詳細を説明する。
【0137】
ngram距離は、二つの文字列が共通に含む文字ngramの数を文字列間の距離尺度(類似度)とする。文字認識の場合、挿入誤り及び削除誤りの数は少ないので、説明を簡単にするため、ここでは文字認識の入力と出力の文字列長は同じとする。同じ長さの文字列が夫々m個の文字ngramを含み、そのうちc個が一致するならば、二つの文字列のngram距離は(m−c)/mである。
【0138】
例として、「インターネット」と「インクジェット」のbigram距離を考える。夫々の文字列から文字bigramを作成すると以下のようになる。
インターネット=># イ、イン、ンタ、ター、ーネ、ネッ、ット、ト#
インクジェット=># イ、イン、ンク、クジ、ジェ、ェッ、ット、ト#
ここで# は、単語の先頭又は末尾を表す特殊記号である。8個の文字bigramのうち4個が一致するので、「インターネット」と「インクジェット」のbigram距離は4/8である。この値が小さいほど、二つの文字列は類似していると言える。
【0139】
ところが、文字ngram距離は、文字位置を入れ替えた単語(anagram)の間の距離が小さく(類似度が大きく)なるという欠点がある。例えば、もし「ネットインター」という単語があれば、「インターネット」と「ネットインター」は共通の文字bigramが5個あるので、bigram距離は3/8になる。
【0140】
インターネット=># イ、イン、ンタ、ター、ーネ、ネッ、ット、ト#
ネットインター=># ネ、ネッ、ット、トイ、イン、ンタ、ター、ー#
このように、「インターネット」に対し、「ネットインター」の方が「インクジェット」より類似度が大きくなるので、ngram距離は文字認識の誤り訂正の距離尺度としては不適切である。
【0141】
しかし、ngram距離には、ある文字ngramを含む単語のリストを単語辞書から予め作成しておけば、ngram距離が小さい単語を非常に高速に検索できるという利点がある。そこで、本発明の一実施例では、訂正対象となる文字列に対して、先ずngram距離がある閾値以下の単語を検索した後に、検索された単語集合と訂正対象文字列との編集距離を計算し、編集距離がある閾値以下の単語を訂正単語候補とする。
【0142】
編集距離は、二つの文字列に対して、一方の文字列を他方の文字列に変換するのに必要な挿入・削除・置換の数の最小値を距離尺度とする。文字認識の場合に、挿入誤り及び削除誤りの数は少ないので、説明を簡単にするため、ここでは置換誤りだけを考慮する。置換誤りのみの場合、同じ長さnを持つ二つの文字列がc文字だけ一致するとき、二つの文字列の編集距離は(n−c)/nである。
【0143】
例えば、「インターネット」と「インクジェット」は、4文字が一致するので、編集距離は4/7である。一方、「インターネット」と「ネットインター」は一致する文字がないので、編集距離は7/7である。一般に編集距離が小さいほど、二つの文字列は類似している。
一般に、長い単語、具体的には、長さ3以上の単語については、編集距離により、正確に訂正単語候補を提案することができる。例えば、文字認識の出力が「インクー示ット」の場合、編集距離が小さい順に並べると、以下のような単語が訂正候補として提案される。ここで、右側の数値は編集距離である。
【0144】
インクジェット 2/7
インターネット 2/7
インターソフト 3/7
インツーリスト 3/7
しかし、短い単語、具体的には、長さ2の単語については、編集距離により類似単語照合を行うと、非常に多くの訂正単語候補が得られる。日本語は殆どの単語が2文字であり、文字の種類が3000以上あるので、この問題は避けて通れない。
【0145】
例えば、もし「環境」が「技境」と誤読された場合、「技境」という文字列をキーにして編集距離が小さい単語を検索すると、少なくとも以下のような20個の単語が得られる。
技術 技法 技師 技能 技巧 技芸 技量
環境 国境 苦境 心境 越境 下境 老境
秘境 辺境 県境 見境 進境 逆境
これらはすべて編集距離1/2であり、編集距離だけでは、これ以上絞り込むことができない。もし入力文中の任意の長さ2の文字列について、このように10から数十個の訂正単語候補を提案すると、単語候補のすべての組合せを調べる処理である形態素解析の計算量が非常に大きくなるという問題が発生する。
【0146】
そこで、本発明の一実施例では、編集距離により検索された訂正単語候補について、単語の出現確率と文字混同確率との積P(W)P(X|W)を計算し、その値が大きい順に予め決められた個数を訂正単語候補として提案する。
前述の例の「技境」に対する編集距離1/2の単語集合をP(W)P(X|W)の値が大きい順にソートすると、以下のように図形的に似た文字を含む単語が上位に並ぶようになる。
【0147】
環境 技術 技法 国境 苦境 ...
実験によれば、上位5個程度までに、殆どの場合、正解単語が入っているので、訂正単語候補の提案数を大幅に削減することができる。
このようにして、ngram距離、編集距離、及び、単語の出現確率と文字混同確率との積という3つの類似度の尺度を順番に適用しながら訂正単語候補を絞り込むことにより、本発明の一実施例は、訂正単語候補の生成処理を効率的に実現すると同時に、訂正単語候補の提案数を少なくすることにより、形態素解析の計算量の削減を実現している。
【0148】
・類似単語照合
図21は本発明の一実施例による類似単語照合部107の動作を説明するフローチャートである。以下では、図21を参照して類似単語照合の動作を説明する。
類似単語照合部107には、入力文に対する文字マトリクスの第1候補からなる文字列及び類似語を検索すべき文字位置が与えられる。
【0149】
ステップ401では、現在の文字位置を類似単語照合の対象となる文字列の開始点を表す変数iに代入し、類似単語照合の対象となる文字列の終了点を表す変数jにi+1を代入する。また、訂正単語候補リストに初期値として空リストを代入する。
ステップ402では、jが入力文の長さよりも小さいか否かを調べる。もしそうでなければ、処理を終了する。そうであれば、以下の処理を行う。
【0150】
ステップ403では、類似照合対象文字列の長さj−1が予め定められた類似語の最大長より大きいか否かを調べる。もしそうならば、処理を終了する。そうでなければ、以下の処理を行う。
ステップ404では、入力文のj文字目が区切り記号か否かを調べる。もしそうならば、処理を終了する。そうでなければ、以下の処理を行う。
【0151】
ステップ405では、入力文字列の文字位置iから文字位置jまでの部分文字列を類似単語照合の対象文字列とする。
ステップ406では、類似照合の対象文字列とのngram距離が予め決められた閾値より小さい単語を辞書から検索する。
ステップ407では、類似照合の対象文字列と、ステップ406で検索された単語との間の編集距離を求め、この値が予め決められた閾値より小さい単語だけを残す。
【0152】
ステップ408では、類似照合の対象文字列と、ステップ407で残された単語との間で、単語の出現確率と、単語表記から対象文字列への文字混同確率との積の値を求め、この値が大きい順に指定された個数の単語を訂正単語候補リストに加える。
ステップ409では、類似照合の対象文字列の終わりの文字位置を表わす変数jを一つ増やし、ステップ402へ戻る。
【0153】
【実施例】
最後に、本発明の実施例を示す。図22は、本発明の一実施例による文字認識誤り訂正システムの処理例を表す図である。同図には、「組織変更」という文字列に対して文字認識装置1が出力した文字マトリクス、この文字マトリクスに対して本発明の一実施例による文字認識誤り訂正装置100が出力する単語候補列、及び、文字マトリクスの各文字位置で本発明の一実施例による文字認識誤り訂正装置100が生成する単語候補の例が示されている。
【0154】
この処理例では、文字マトリクスは第5候補までを使用している。例えば、「組」という文字に対する第1から第5候補は、夫々、「網」、「綱」、「縮」、「細」及び「纏」である。文字位置は、文字と文字の間に与えられた0から始まる番号である。
文字認識誤り訂正装置100が出力する単語候補列は第3候補までを示す。各単語は「表記/読み/品詞」の組で表現され、単語境界は空白で表す。単語列の前の行には、式(9)より求めた単語列の確率の対数が示されている。従って、この数値の絶対値が小さいほど、確率は高い。
【0155】
この処理例では、「組」と「更」の2つの文字は、入力の文字マトリクスの中に正解文字が含まれていない。しかし、類似単語照合により「組織」及び「変更」という訂正単語候補が生成され、出力の第1候補には「組織変更」という正解が得られている。
類似単語照合の動作を示すために、この処理例では、各文字位置で生成された単語候補の一覧を示す。例えば、文字位置0では、文字マトリクスに含まれる文字候補と照合する1文字単語として「網/アミ/名詞」、「綱/ツナ/名詞」等が生成され、文字マトリクスに含まれる文字候補の組合せと照合する2文字単語として「細線/サイセン/名詞」が生成されている。
【0156】
文字位置0における類似単語照合では、文字マトリクスの第1候補から構成される長さ2の文字列「網織」との編集距離が1/2である単語、即ち、どちらか一方の1文字が一致する単語の中から、文字の図形的類似度と単語の出現頻度とに基づいて「組織/ソシキ/動詞」、「網膜/モウマク/名詞」等の単語が生成されている。この例では長さ3以上の類似照合単語はない。
【0157】
文字位置0における未知語候補としては、文字マトリクスの第1候補から構成される文字列「網織変東」の部分文字列「網」、「網織」、「網織変」、「網織変東」の中で、単語辞書に収録されている単語の表記と一致しない「網織」、「網織変」及び「網織変東」の3つが未知語候補として生成される。ここで、NILは単語の読みが定義されていないことを表し、<UNK>は未知語であることを示す。
【0158】
図23は本発明の一実施例の文字認識誤り訂正の精度を示す図である。横軸は本発明の一実施例による誤り訂正を適用する前の文字認識精度、横軸は本発明の一実施例による誤り訂正を適用した後の文字認識精度である。例えば、(0.70,0.88)という点は、入力テキストの第1位候補の文字認識率が70%のとき、本発明の一実施例の誤り訂正により文字認識率が88%まで向上されることを表す。もし精度を表す点が斜め45度の直線上にあれば、誤り訂正の前後で認識率に変化がないことを表し、点がこの直線より上にあればあるほど、誤り訂正の精度が高いことを表す。
【0159】
図23には、文字の図形的類似度を利用して訂正単語候補の順位付けを行う本発明の一実施例による文字認識誤り訂正と比較するために、文字の図形的類似度は使用せずに文字マトリクスの候補順位だけから文字混同確率を適当に推定する方法の精度も同時に示されている。説明を簡単にするため、ここでは、本発明の一実施例の誤り訂正方法を文字類似度法と呼び、候補順位から文字混同確率を推定する方法を候補順位法と呼ぶ。
【0160】
候補順位法は、入力テキストのi番目の文字をci とし、このci に対するj番目の文字認識候補をxijとするとき、文字混同確率P(xij|cj )を以下のように近似する。
【0161】
【数16】
Figure 0004066507
【0162】
ここで、pは文字認識の第1候補の平均正解率である。式(19)は、文字による認識率の違いを無視し、第n番目の文字候補が平均的にどれぐらい信頼できるかを幾何分布により近似したものである。
図23に示すように、入力テキストの認識率が様々に変化した場合でも(70−95%)、文字の図形的類似度を利用する本発明の一実施例による文字認識誤り訂正(文字類似度法)は、従来の図形的類似度を利用しない方法(候補順位法)に比べて誤り訂正精度が大幅に高い。
【0163】
また、文字認識誤り訂正システムの構成は、上記の実施例で説明された例に限定されることなく、文字認識誤り訂正システムの各々の構成要件をソフトウェア(プログラム)で構築し、ディスク装置等に格納しておき、必要に応じて文字認識誤り訂正システムのコンピュータにインストールして文字認識誤り訂正を行うことも可能である。さらに、構築されたプログラムをフロッピーディスクやCD−ROM等の可搬記録媒体に格納し、このようなシステムを用いる場面で汎用的に使用することも可能である。
【0164】
本発明は、上記の実施例に限定されることなく、特許請求の範囲内で種々変更・応用が可能である。
【0165】
【発明の効果】
以上のように、本発明によれば、単語二つ組確率及び単語出現確率を与える単語分割モデルと、文字マトリクスに含まれる部分文字列と完全一致照合する辞書中の単語を検索する単語照合手段と、平均単語長及び文字二つ組確率から構成される単語モデルと、文字マトリクスに含まれる部分文字列から未知語候補を生成する未知語生成手段と、任意の二つの文字の間の文字混同確率を与える文字認識装置モデルと、文字混同確率と単語出現頻度とに基づいて文字マトリクスに含まれる部分文字列に類似した辞書中の単語を検索する類似単語照合手段と、単語列の同時確率と各文字の文字混同確率との積が大きい順に単語列を提示する形態素解析手段とを用いて、文脈を利用せずに短い単語の訂正候補を精度良く提示できる、日本語文字認識誤り訂正方法及び装置が実現される。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の原理を説明するフローチャートである。
【図3】本発明の日本語文字認識誤り訂正方法の説明図である。
【図4】本発明の日本語文字認識誤り訂正装置の構成図である。
【図5】本発明の日本語文字認識誤り訂正装置の構成図である。
【図6】本発明の日本語文字認識誤り訂正装置の動作説明図である。
【図7】本発明の日本語文字認識誤り訂正装置の構成図である。
【図8】本発明の日本語文字認識誤り訂正装置の構成図である。
【図9】本発明の日本語文字認識誤り訂正装置の構成図である。
【図10】本発明の日本語文字認識誤り訂正装置の構成図である。
【図11】本発明の日本語文字認識誤り訂正装置の構成図である。
【図12】本発明の文字認識装置モデル作成装置の構成図である。
【図13】本発明の文字認識装置モデル作成装置の動作フローチャートである。
【図14】本発明の一実施例による日本語文字認識誤り訂正システムの概略ブロック図である。
【図15】文字混同頻度の例を示す図である。
【図16】文字クラスの例を示す図である。
【図17】文字クラス混同頻度の例を示す図である。
【図18】本発明の一実施例による前向き探索の動作フローチャートである。
【図19】本発明の一実施例による後向き探索の動作フローチャートである。
【図20】本発明の一実施例による未知語候補生成の動作フローチャートである。
【図21】本発明の一実施例による類似単語照合の動作フローチャートである。
【図22】本発明の一実施例の文字認識誤り訂正の処理例を示す図である。
【図23】本発明の一実施例の文字認識誤り訂正の精度を示す図である。
【符号の説明】
1 形態素解析手段
2 未知語候補生成手段
3 類似単語照合手段
4 単語照合手段
5 単語モデル格納手段
6 文字認識装置モデル格納手段
7 単語分割モデル格納手段
8 文字認識装置

Claims (7)

  1. 入力として与えられた日本語文に含まれる文字認識誤りを訂正する日本語文字認識誤り訂正装置における日本語文字認識誤り訂正方法であって、
    文字認識装置による入力文の認識結果を受け取る認識結果取得ステップと、
    受け取った前記認識結果の文字位置i(但し、iは類似単語照合の対象文字列の開始点)から文字位置j(但し、jは、i+1≦j≦入力文の長さ)までの部分文字列を類似単語照合の対象文字列(以下、訂正単語と記す)とし、ngram距離が予め決められた閾値より小さい単語を複数の単語が記憶された辞書から検索し、該訂正単語と検索された単語との間の編集距離を求め、この値が予め決められた閾値より小さい単語を訂正単語候補として取得するステップと、
    単語出現頻度記憶手段内の訂正単語候補の出現頻度と、前記訂正単語と前記訂正単語候補とで異なる文字間の図形的類似度に基づく文字混同確率とに基づいて、該訂正単語候補を順位付けする順序付けステップと、を行い、
    前記訂正単語候補を順位付けすることを特徴とする日本語文字認識誤り訂正方法。
  2. 前記単語を訂正単語候補として取得するステップにおいて、
    前記訂正単語が前記辞書に登録されていない場合に、該訂正単語(以下、未知語と記す)の出現確率を、前記辞書に登録されていない単語の出現確率を求めるための単語モデルにより計算するステップと、
    前記未知語を前記出現確率に基づいて順序付けを行うステップと、
    を更に行う請求項1記載の日本語文字認識誤り訂正方法。
  3. 日本語の文字認識の誤りを訂正する日本語文字認識誤り訂正装置における日本語文字誤り訂正方法であって、
    文字認識装置の出力である入力文の各文字位置において文字認識スコアの高い順番に文字候補を並べた文字マトリクスを入力として受け取るステップと、
    単語分割モデル格納手段から連続する二つの単語において、第1の単語が与えられたときの第2の単語の条件付き出現確率である単語二つ組確率と単語出現確率を与える単語分割モデルを読み出すステップと、
    単語照合手段で、単語分割モデルが持っている単語辞書と文字マトリクスに含まれる文字列を照合して訂正単語候補を抽出するステップと、
    単語モデル格納部から平均単語長と、文字二つ組確率とから、任意の文字列を表記とする単語の出現確率を与える単語モデルを読み出すステップと、
    未知語候補生成手段で、辞書に登録されていない単語を同定するために文字マトリクスに含まれる部分文字列の中から、前記単語モデルに基づいて、確率が高い順番に任意の個数の辞書に登録されていない訂正単語の表記と出現確率の組からなる未知語候補を生成するステップと、
    文字認識装置モデル格納手段から任意の二つ文字の間の文字混同確率を与える文字認識装置モデルを読み出すステップと、
    類似単語照合手段で、文字マトリクスの文字位置i(但し、iは、類似単語照合の対象文字列の開始点)から文字位置j(但し、jは、i+1≦j≦入力文の長さ)までの部分文字列を類似単語照合の対象文字列(以下、訂正単語と記す)とし、ngram距離が予め決められた閾値より小さい単語を前記辞書から検索し、該訂正単語と検索された単語との間の編集距離を求め、この値が予め決められた閾値より小さい単語を類似した単語として訂正単語候補とするステップと、
    形態素解析手段で、前記未知語候補生成手段で生成された未知語候補、及び類似単語照合手段、単語照合手段で抽出された訂正単語候補を、単語分割モデル、単語モデル、及び、文字認識装置モデルに基づいて、単語列の同時確率と各文字の文字混同確率との積が大きい順に任意の個数の単語列を求めるステップと、を行い、
    任意の個数の訂正単語候補を確率の高い順に提示することを特徴とする日本語文字認識誤り訂正方法。
  4. 入力として与えられた日本語文に含まれる文字認識誤りを訂正する日本語文字認識誤り訂正装置であって、
    複数の単語が登録された辞書と、
    文字認識装置による入力文の認識結果を受け取る認識結果取得手段と、
    受け取った前記認識結果の文字位置i(但し、iは、類似単語照合の対象文字列の開始点)から文字位置j(但し、jは、i+1≦j≦入力文の長さ)までの部分文字列を類似単語照合の対象文字列(以下、訂正単語と記す)とし、ngram距離が予め決められた閾値より小さい単語を複数の単語が記憶された辞書から検索し、該訂正単語と検索された単語との間の編集距離を求め、この値が予め決められた閾値より小さい単語を訂正単語候補として取得する訂正単語候補取得手段と、
    単語出現頻度記憶手段内の訂正単語候補の出現頻度と、前記訂正単語と前記訂正単語候補とで異なる文字の図形的類似度に基づく文字混同確率とに基づいて、該訂正単語候補を順位付けする順序付け手段と、
    前記訂正単語候補を順位付けする手段と、
    を有することを特徴とする日本語文字認識誤り訂正装置。
  5. 前記訂正単語候補取得手段は、
    前記訂正単語が前記辞書に登録されていない場合に、該訂正単語(以下、未知語と記す)の出現確率を、辞書に登録されていない単語の出現確率を求めるための単語モデルにより計算する手段と、
    前記未知語を前記出現確率に基づいて順序付けを行う手段と、
    を更に有する請求項記載の日本語文字認識誤り訂正装置。
  6. 日本語の文字認識の誤りを訂正する日本語文字認識誤り訂正装置であって、
    複数の単語が登録された辞書と、
    平均単語長と、連続する二つの文字において第1の文字が与えられたときの第2の文字の条件付き出現確率を示す文字二つ組確率とを記憶する単語モデル格納手段と、
    単語二つ組確率と単語出現確率を与える単語分割モデルを格納した単語分割モデル格納手段と、
    文字認識装置の出力である入力文の各文字位置において文字認識スコアの高い順番に文字候補を並べた文字マトリクスを入力として受け取る手段と、
    前記単語モデル格納手段から、単語モデルを読み出す手段と、
    前記単語分割モデル格納手段から連続する二つの単語において第1の単語が与えられたときの第2の単語の条件付き出現確率である単語二つ組確率と単語出現確率を与える単語分割モデルを読み出す手段と、
    前記単語分割モデルが持っている単語辞書と文字マトリクスに含まれる文字列を照合して訂正単語候補を抽出する単語照合手段と、
    前記単語モデル格納手段から平均単語長と、文字二つ組確率とから、任意の文字列を表記とする単語の出現確率を与える単語モデルを読み出し、前記辞書に登録されていない単語を同定するための文字マトリクスに含まれる部分文字列の中から、前記単語モデルに基づいて、確率が高い順番に任意の個数の該辞書に登録されていない訂正単語の表記と出現確率の組からなる未知語候補を生成する未知語生成手段と、
    前記文字認識装置モデル格納手段から任意の二つの文字の間の文字混同確率を与える文字認識装置モデルを読み出し、文字マトリクスの文字位置i(但し、iは、類似単語照合の対象文字列の開始点)から文字位置j(但し、jは、i+1≦j≦入力文の長さ)までの部分文字列を類似単語照合の対象文字列(以下、訂正単語と記す)とし、ngram距離が予め決められた閾値より小さい単語を複数の単語が記憶された辞書から検索し、該訂 正単語と検索された単語との間の編集距離を求め、この値が予め決められた閾値より小さい単語を類似した単語として訂正単語候補とする類似単語照合手段と、
    前記未知語候補生成手段で生成された前記未知語候補、及び前記類似単語照合手段、前記単語照合手段で抽出された前記訂正単語候補を、単語分割モデル、単語モデル、及び文字認識装置モデルに基づいて、単語列の同時確率と各文字の文字混同確率との積が大きい順に任意の個数の単語列を求める形態素解析手段と、
    任意の個数の訂正単語候補を確率の高い順に提示する手段と、
    を有することを特徴とする日本語文字認識誤り訂正装置。
  7. コンピュータを、
    請求項4乃至6記載の日本語文字認識誤り訂正装置の各手段として機能させるための日本語文字認識誤り訂正プログラムを格納したことを特徴とする誤り訂正プログラムを記録した記録媒体。
JP12761598A 1998-05-11 1998-05-11 日本語文字認識誤り訂正方法及び装置、並びに、誤り訂正プログラムを記録した記録媒体 Expired - Lifetime JP4066507B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12761598A JP4066507B2 (ja) 1998-05-11 1998-05-11 日本語文字認識誤り訂正方法及び装置、並びに、誤り訂正プログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12761598A JP4066507B2 (ja) 1998-05-11 1998-05-11 日本語文字認識誤り訂正方法及び装置、並びに、誤り訂正プログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JPH11328317A JPH11328317A (ja) 1999-11-30
JP4066507B2 true JP4066507B2 (ja) 2008-03-26

Family

ID=14964480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12761598A Expired - Lifetime JP4066507B2 (ja) 1998-05-11 1998-05-11 日本語文字認識誤り訂正方法及び装置、並びに、誤り訂正プログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP4066507B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4601835B2 (ja) * 2000-01-28 2010-12-22 株式会社東芝 単語認識方法および単語認識プログラムおよび単語認識装置
WO2014162756A1 (ja) 2013-04-04 2014-10-09 ソニー株式会社 情報処理装置、データ入力支援方法及びプログラム
JP6551026B2 (ja) * 2015-08-05 2019-07-31 大日本印刷株式会社 候補語評価装置、候補語評価システム、プログラム及び候補語評価方法
CN111353025B (zh) * 2018-12-05 2024-02-27 阿里巴巴集团控股有限公司 平行语料处理方法、装置、存储介质及计算机设备
CN112257820B (zh) * 2019-07-22 2024-09-03 珠海金山办公软件有限公司 一种信息修正方法及装置
JP7297610B2 (ja) * 2019-09-09 2023-06-26 株式会社日立システムズ 文字候補提案装置、手書文字識別システム、手書文字識別方法およびプログラム
CN110852074B (zh) * 2019-11-07 2023-05-16 腾讯科技(深圳)有限公司 生成修正语句的方法和装置、存储介质和电子设备
CN111368918B (zh) * 2020-03-04 2024-01-05 拉扎斯网络科技(上海)有限公司 文本纠错方法、装置、电子设备及存储介质
CN111665956B (zh) * 2020-04-17 2023-07-25 北京百度网讯科技有限公司 候选字符串的处理方法、装置、电子设备及存储介质
CN111753147A (zh) 2020-06-27 2020-10-09 百度在线网络技术(北京)有限公司 相似度处理方法、装置、服务器及存储介质
CN111914825B (zh) * 2020-08-03 2023-10-27 腾讯科技(深圳)有限公司 文字识别方法、装置及电子设备
CN112131866B (zh) * 2020-09-25 2024-06-14 马上消费金融股份有限公司 一种分词方法、装置、设备及可读存储介质
CN112861518B (zh) * 2020-12-29 2023-12-01 科大讯飞股份有限公司 文本纠错方法、装置和存储介质及电子装置
CN114970502B (zh) * 2021-12-29 2023-03-28 中科大数据研究院 一种应用于数字政府的文本纠错方法

Also Published As

Publication number Publication date
JPH11328317A (ja) 1999-11-30

Similar Documents

Publication Publication Date Title
JP2991473B2 (ja) 文字の認識方法及び音素の認識方法
US7697760B2 (en) Handwritten word recognition using nearest neighbor techniques that allow adaptive learning
US5768423A (en) Trie structure based method and apparatus for indexing and searching handwritten databases with dynamic search sequencing
US8285048B2 (en) Classifying a string formed from hand-written characters
Biem Minimum classification error training for online handwriting recognition
JP4066507B2 (ja) 日本語文字認識誤り訂正方法及び装置、並びに、誤り訂正プログラムを記録した記録媒体
US20060050962A1 (en) System, process and software arrangement for recognizing handwritten characters
US5459809A (en) Character recognition system and method therefor accommodating on-line discrete and cursive handwritten
EP2093700A2 (en) Pattern recognition method, and storage medium which stores pattern recognition program
US20110007963A1 (en) Combiner for improving handwriting recognition
JP2005505866A (ja) 文字認識
US20230289396A1 (en) Apparatuses and methods for linking posting data
US20230178073A1 (en) Systems and methods for parsing and correlating solicitation video content
JP4393720B2 (ja) パターン認識装置および方法
Addis et al. Printed ethiopic script recognition by using lstm networks
Retsinas et al. An alternative deep feature approach to line level keyword spotting
US8340428B2 (en) Unsupervised writer style adaptation for handwritten word spotting
JP3917349B2 (ja) 文字認識結果を利用して情報を検索する検索装置および方法
Nagata Japanese OCR error correction using character shape similarity and statistical language model
Kumar et al. A Bayesian approach to script independent multilingual keyword spotting
Procter et al. Cursive handwriting recognition using hidden Markov models and a lexicon-driven level building algorithm
Govindaraju et al. Use of lexicon density in evaluating word recognizers
JP3095069B2 (ja) 文字認識装置、学習方法および文字認識プログラムを記録した記録媒体
JPH08315078A (ja) 日本語文字認識方法及び装置
CN112651590B (zh) 一种指令处理流程推荐的方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070410

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071026

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071231

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110118

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110118

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120118

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130118

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term