説明

手書き文字認識で使用されるテンプレートを生成する方法および装置

【課題】手書き文字認識で使用されるテンプレートを生成するための優れた方法および装置を提供する。
【解決手段】手書き文字認識で使用されるテンプレートを生成する方法は、(a)テキストを取得するステップと、(b)テキスト内の文字ストリングを識別するステップであって、各々の文字ストリングは1つまたは複数の文字のシーケンスから形成され、各々の文字はそれぞれのタイプを有する、前記ステップと、(c)各々の文字ストリングについて文字タイプのシーケンスを決定するステップと、(d)それぞれ異なったトークンによって各文字タイプを表すことにより、前記決定した各々の文字タイプ・シーケンスについてのテンプレートを定義するステップと、を含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、手書き文字認識で使用されるテンプレートを生成する方法および装置に関する。
【背景技術】
【0002】
本明細書で従来技術を参照する場合、その従来技術が普通の一般的知識の一部分を形成することの承認、またはどのような形式であれ、その暗示を与えるものではなく、また与えられていると考えてはならない。
【0003】
高度に正確な手書き文字認識システムの開発で直面する大きな問題の1つは、手書きの本来的な不明瞭性である。人は、文脈的知識に依存して手書きテキストを正しく解読する。その結果、多くの研究が、手書きテキスト認識へ統語的および言語的制約を適用することに向けられた。同様の作業が、音声認識、自然言語処理、および機械翻訳の分野で行われた。
【0004】
手書き文字認識システムにおいて、基本的言語プリミティブは文字である。幾つかの認識システムは、文字認識を全くバイパスするが(全体論的ワード認識として知られる)、大部分の認識システムは入力信号の中の個々の文字を識別しようと試みる。これを行わないシステムは、認識中に辞書へ過度に依存し、語彙から外れたワード(即ち、辞書に存在しないワード)の認識サポートは通常得られない。
【0005】
文字認識を利用するシステムでは、文字分類器の生の出力は、手書きの本来的不明瞭性のため必然的に認識誤りを含む。その結果、入力の真の意味を解決するため、一般的にある種の言語ベース後処理が必要である。
【0006】
多くのシステムは、手書きテキストについて言語規則のセットを定義する簡単な発見的方法を含む。したがって、例えば、大文字は、多くの場合、ワードの出発点で発見され(反対の例は「MacDonald」)、多くのストリングは、通常、全て字句であるか全て数字であり(反対の例は「2nd」)、ワード内で句読点文字の確からしい位置を定義する規則である。しかしながら、これらの発見的方法は、時間の無駄であり、定義するのに困難であり、変更されやすく、通常不完全である。
【0007】
上記の発見的方法に加えて、幾つかの認識システムは、文字Nグラム・モデルを含む。この例は、H.Beigiand T.Fujisaki,“A Character Level Predictive Language Model and Its Applicationto Handwriting Recognition”,Proceedings of the Canadian Conference on Electricaland Computer Engineering,Toronto,Canada,Sep.13〜16,1992,I巻,WA1.27.1〜4頁)に説明される。
【0008】
具体的には、これらのシステムは、先行文字のシーケンスを与えられた時、ある文字を看取する確率を定義する言語モデルを利用する。例えば、字句「e」は、字句「q」よりも「th」に続く確からしさが、はるかに大きい。即ち、P(e|th)は、P(q|th)よりも、はるかに大きい。文字Nグラムはテキスト・コーパスから容易に引き出すことができ、書き手を特定のワード・リストへ制限することなく文字認識を改善する強力な手法である。
【0009】
しかしながら、字句の多数の組み合わせが所与の言語の中に存在すると、そのようなシステムの使用は制限され、非常にデータ集中的な処理を必要とし、それによって手法の適用範囲を限定する。
【0010】
更に、ある状況では、認識システムは入力にあるフォーマットを期待する(例えば、米国のジップコード、電話番号、街路アドレス等)。これらの場合、認識の正確性を増進するため、正規表現、簡単な言語テンプレート、および制限された文字セットを使用することができる。しかしながら、これらの手法の使用は、限定されたフォーマットが厳格に固守される場合に制限される。したがって、例えば、手法は、システムがトレーニングされた郵便番号等へのみ適用され、一般的な手書きテキストには適用されない。
【0011】
手書きテキストは、更に、文字レベルだけでなくワード・レベル、特に筆記体で書く時に不明瞭性を示す。認識システムは、ワード・ベースの言語モデルを含めることによって、この問題に対処する。その最も普通の場合は、前もって定義された辞書を使用することである。
【0012】
文字Nグラムと類似するが、文字ではなくワードのシーケンス間で推移確率を定義するワードNグラムは、筆記テキストの後処理に使用することができる。大語彙のワードNグラムに対するメモリと処理の組み合わせ要件を避けるため、幾つかのシステムは、ワード・クラスNグラムを使用する。その場合、推移確率は、個々のワードではなくワードの品詞タグ(例えば、名詞または動詞)について定義される。
【0013】
他のシステムは、ワードの不明瞭性を除くためマルコフ・シンタクス・モデルを使用する。この1つの例は、D.Tugwell,“AMarkov Model of Syntax”,Paper presented at the 1st CLUK Colloquium,University ofSunderland,UK 1998に説明される。
【0014】
ワード・モデリングへの他のアプローチは、例えば、C.Manningand H.Schutze,“Foundations of Statistical Natural Language Processing”,The MIT Press,Cambridge,Massachusetts,US1999で説明されるように、ワード・コロケーション、即ち、構文または意味ユニットの特性を有する2つ以上のワードから成るシーケンスの識別である。
【0015】
しかしながら、再び、言語後処理の使用は、データ集中的であり、それによって手法が適用される応用を限定する。
【0016】
これまで概説した手法の幾つかの例を、これから更に詳細に説明する。
【0017】
H.BeigiおよびT.Fujisakiは、“A FlexibleTemplate Language Model and its Application to Handwriting Recognition”,Proceedingsof the Canadian Conference on Electrical and Computer Engineering,Toronto,Canada,Sep.13−16,1992,I巻,WA1.28.1〜4頁の中で、「フォーマットまたは語彙が非常に限定された」状況で使用される一般的テンプレート言語モデルを説明している。この場合、テンプレートは、探索の発見的方法を使用し、弾力的マッチング文字分類得点をモデル確率と統合することによって適用される。先行N−1文字に基づいて文字の確率を推定するために使用されるNグラム文字モデルの使用も説明される。
【0018】
このシステムでは、H.Beigi and T.Fujisaki,“ACharacter Level Predictive Language Model and Its Application to Handwriting Recognition”,Proceedingsof the Canadian Conference on Electrical and Computer Engineering,Toronto,Canada,Sep.13〜16,1992,I巻,WA1.27.1〜4頁)で詳細に説明されるように、「Nグラム文字予測器でサポートされる文字のセットは、a〜zおよびスペースである」。
【0019】
更に、H.Beigi,“Character Predictionfor On−Line Handwriting Recognition”,Canadian Conference on Electrical and ComputerEngineering,IEEE,Toronto,Canada,September 1992では、「実際的なオンライン手書き文字認識には、N=4が最適であることを示される」と記載されている。
【0020】
同様に、J.Pitrelli およびE.Ratzlaffは、“Quantifyingthe Contribution of Language Modeling to Writer−Independent On−line HandwritingRecognition”,Proceedings of the Seventh International Workshop on Frontiers in HandwritingRecognition,September 11〜13 2000,Amsterdamの中で、隠れマルコフ・モデル(HMM)筆記体手書き文字認識システムにおける文字NグラムおよびワードNグラムの使用を説明している。
【0021】
手書きテキストの全体論的ワード認識を実行するためコーパスから引き出されるワードのユニグラムおよびバイグラム言語モデルは、U.Martiand H.Bunke,“Handwritten Sentence Recognition”,Proceedings of the 15th InternationalConference on Pattern Recognition,Barcelona,Spain,2000,3巻,467〜470頁で説明されている。この場合、ビタビアルゴリズムが分類器得点およびワード確率を使用して、入力テキスト文をデコードする。
【0022】
Bouchaffra等は、“Post processingof Recognized Strings Using Non−stationary Markovian Models”,IEEE Transactions PatternAnalysis and Machine Intelligence,21(10),October 1999,990〜999頁の中で、米国ジップコードの認識に非定常マルコフ・モデルを後処理ステップとして使用することを説明している。この場合、認識を助けるため、ジップコードが固定長を有し、コード内の各々の数字が特定の物理的意味を有するという領域特定知識が使用される。具体的には、米国郵政公社によって提供されたジップコードのトレーニング・セットを使用して、数字ストリング内の各々の点における各々の数字の推移確率が計算され、この知識が認識パフォーマンスを改善するために適用される。
【0023】
L.Yaeger、B.Webb、およびR.Lyonの“CombiningNeural Networks and Context−Driven Search for On−Line,Printed Handwriting Recognitionin the Newton”,AI Magazine,19巻,No.1,73〜89頁,AAAI 1998)は、弱く適用される様々な言語モデリング手法を実行して、商用手動印刷文字認識システムの語彙文脈を定義することを説明している。このスキームは、「正規表現文法から引き出される」ものを含む「ワード・リスト、接頭辞および接尾辞リスト、並びに句読点モデル」の定義および組み合わせを可能にする。辞書および語彙テンプレートは平行して探索可能であり、各々の表現の事前確率を含む。構文テンプレートは手でコード化され、確率は経験分析から引き出される。
【0024】
R.SrihariのUse of Lexical andSyntactic Techniques in Recognizing Handwritten Text”,ARPA Workshop on Human LanguageTechnology,Princeton,NJ,March 1994は、語彙的および構文的手法の組み合わせを使用して、手書き文字認識システムの結果の不明瞭性を除くことを説明する。具体的には、この手法はワード・コロケーション確率を適用し、文脈に基づきワードを奨励または提案し、品詞タグに基づくワード・シンタクスのマルコフ・モデルを使用する。
【0025】
特許文献1は、トライグラム言語モデルを他の発見的方法と組み合わせて使用し、文字の区分化および認識の正確性を改善することを説明する。
【0026】
特許文献2では、Nグラム文字モデルを使用する数値ストリングからのワードの不明瞭性を除くため、認識中の文字文法および従来の最尤シーケンス推定アルゴリズム(即ち、ビタビデコーディング)が使用される。
【0027】
同様に、特許文献3で説明される手書きワード認識システムは、フレーム・ベースの確率的分類器で不明瞭性を除くため、文字およびワード文法モデルを使用する。
【0028】
特許文献4は、オンライン手書き文字認識に辞書ベースの後処理手法を使用する。辞書探索は入力ワードから全ての句読点を除き、次に入力ワードが辞書と照合される。探索が失敗すれば、「可能なワードのリストを構築するため、ストローク・マッチ関数およびスペル援助辞書が使用される」。
【0029】
同様に、特許文献5は、ツリー構造辞書を決定論的有限オートマトンとして使用し、分類器の結果を文脈情報とマージすることを説明する。このシステムは、「隠れマルコフ過程を介して例示的ストリングから最良マッチ認識ストリングを」選択する。
【0030】
特許文献6は、ワード・ベース言語モデルを使用して、「ワード節の中で生じて認識されないか不明瞭なワードを認識する」。この方法は、発話または手書きテキスト認識との関連で説明される。
【0031】
特許文献7は、知識ベースのアプローチを使用して、文字認識ストリングを後処理する。使用される知識ソースは、ワード確率、ワード・ダイグラム確率、ワードの尤度を特定の文字接頭辞と関連づける統計、および書き換え暗示とそのコストを含み、テキスト・コーパスから引き出される。
【0032】
特許文献8は、東洋手書き文字の認識にワードおよび文法辞書の組み合わせを使用する。特許文献9は、認識中に辞書ストリングおよび最も確からしい数字ストリングの双方を引き出し、これらを書き手へ与えて選択させる。
【0033】
特許文献10は、隠れマルコフ・モデルに基づくオンライン手書き文字認識方法を説明し、筆跡の少なくとも瞬時書き込み位置をリアルタイムで感知して、筆跡特徴ベクトルに関連づけられたセグメントの時間整合ストリングを筆跡から引き出す。次に、この方法は、筆跡に関連したデータベースからの様々な例示的ストリングと時間整合ストリングとを照合し、隠れマルコフ過程を介して例示的ストリングから最良マッチ認識ストリングを選択する。
【0034】
したがって、上記の方法の各々は様々な欠点を有することが分かる。特に、手法の大多数は、膨大なデータ処理を必要とする傾向がある。これは、特に、認識の実行に強力なプロセッサを必要とするので、手法が実現される環境を制限する可能性がある。
【特許文献1】米国特許第6,137,908号
【特許文献2】米国特許第6,111,985号
【特許文献3】米国特許第5,392,363号
【特許文献4】米国特許第5,787,197号
【特許文献5】米国特許第5,151,950号
【特許文献6】米国特許第5,680,511号
【特許文献7】米国特許第5,377,281号
【特許文献8】米国特許第5,987,170号
【特許文献9】米国特許第6,005,973号
【特許文献10】米国特許第6,084,985号
【発明の開示】
【0035】
第1の広い形態において、本発明は、手書き文字認識で使用されるテンプレートを生成する方法を提供する。この方法は、
(a)テキストを取得するステップと、
(b)テキスト内の文字ストリングを識別するステップとであって、各々の文字ストリングは1つまたは複数の文字のシーケンスから形成され、各々の文字はそれぞれのタイプを有する、前記ステップと、
(c)各々の文字ストリングについて文字タイプのシーケンスを決定するステップと、
(d)各々の文字タイプ・シーケンスについてテンプレートを定義するステップと、
を含む。
【0036】
典型的には、方法は、
(a)決定されたテンプレートを統計的に分析するステップと、
(b)統計的分析に従ってテンプレート確率を決定するステップであって、テンプレート確率はテキスト内で起こるそれぞれの文字タイプ・シーケンスの確率を示す、前記ステップと、
を含む。
【0037】
一般的には、方法は、
(a)テキスト内の各々の文字タイプ・シーケンスの発生の頻度を決定するステップと、
(b)各々の文字タイプ・シーケンスの決定された頻度に従ってテンプレート確率を決定するステップと、
を含む。
【0038】
一般的に、方法は、決定されたテンプレート確率を修正して、限定された数の文字タイプ・シーケンスに対処することを更に含む。これは、リドストン(Lidstone)の法則に従って達成されてよい。
【0039】
好ましくは、方法は、大きなテキスト・コーパスからテキストを取得することを含む。典型的には、テキストは、多数の異なったソースからも取得される。
【0040】
好ましくは、方法は、
(a)テキストを記憶するストレージと、
(b)(i)テキスト内の文字ストリングを識別し
(ii)文字タイプ・シーケンスを決定し、
(iii)テンプレートを定義するように構成されたプロセッサと、
を有する処理システムを使用して実行される。
【0041】
第2の広い形態において、本発明は、手書き文字認識で使用されるテンプレートを生成する装置を提供する。この装置は、
(a)テキストを取得し、
(b)テキスト内の文字ストリングを識別し、各々の文字ストリングは1つまたは複数の文字のシーケンスから形成され、各々の文字はそれぞれのタイプを有し、
(c)各々の文字ストリングについて文字タイプのシーケンスを決定し、
(d)各々の文字タイプ・シーケンスについてテンプレートを定義するように構成されたプロセッサを含む。
【0042】
典型的には、装置は、テキストを記憶するストレージを備え、プロセッサはストレージからテキストを取得するように構成される。
【0043】
一般的に、プロセッサは、本発明の第1の広い形態の方法を実行するように構成される。
【0044】
本発明は、変形態様として、多数の手書き文字から形成されたストリングを識別する方法を提供する。この方法は、
(a)ストリング内の各々の文字について文字確率を決定するステップであって、各々の文字確率は、それぞれの文字が多数の所定の文字のそれぞれの1つである尤度を表している、前記ステップと、
(b)ストリングについてテンプレート確率を決定するステップであって、各々のテンプレート確率は、多数のテンプレートのそれぞれの1つに対応するストリングの尤度を表し、各々のテンプレートは文字タイプのそれぞれの組み合わせを表している、前記ステップと、
(c)決定された文字およびテンプレートの確率に従ってストリング確率を決定するステップと、
(d)決定されたストリング確率に従って文字ストリングを識別するステップと、
を含む。
【0045】
典型的には、各々の所定の文字は、それぞれの文字タイプを有する。
【0046】
文字タイプは、一般的に、
(a)数字、
(b)字句、
(c)句読点
の少なくとも1つを含む。
【0047】
一般的に、文字確率を決定する方法は、文字分類器を使用することを含む。
【0048】
テンプレート確率を決定する方法は、
(a)ストリング内の文字の数を決定するステップと、
(b)同数の文字を有するテンプレートを選択するステップと、
(c)各々の選択されたテンプレートについてテンプレート確率を取得するステップと、
を含むことができる。
【0049】
テンプレート確率は、テキスト・コーパスの統計的分析によって決定可能である。
【0050】
一般的に、方法は、
(a)テンプレートからストリング内の各々の文字の文字タイプを決定し、
(b)テンプレート内の各々の文字について所定の文字の1つを選択し、所定の文字は決定された文字タイプおよび文字確率に従って選択されることによって、
各々のテンプレートに対応する潜在的文字ストリングを決定するステップを含む。
【0051】
好ましくは、選択された所定の文字は、最高文字確率を有する所定の文字である。
【0052】
典型的には、文字ストリングを識別する方法は、
(a)各々の潜在的ストリングについてストリング確率を決定するステップであって、ストリング確率は、各々の選択された文字の文字確率とそれぞれのテンプレート確率とを連結することによって決定される、前記ステップと、
(b)文字ストリングを、最高ストリング確率を有する潜在的ストリングであるとして決定するするステップと、
を含む。
【0053】
方法は、処理システムを使用して実行されてよく、前記処理システムは、
(a)(i)所定の文字と、
(ii)(1)テンプレートと、
(2)テンプレート確率
の少なくとも1つを表すテンプレート・データ
の少なくとも1つを記憶するストレージと、
(b)(i)文字ストリングを受け取り、
(ii)ストリング内の各々の文字について文字確率を決定し、
(iii)テンプレート確率を決定し、
(iv)決定された文字およびテンプレート確率に従ってストリング確率を決定し、
(v)決定されたストリング確率に従って文字ストリングを識別するように構成されたプロセッサと、
を有している。
【0054】
本発明は、別の変形態様として、多数の手書き文字から形成されたストリングを識別する装置を提供する。この装置は、
(a)(i)多数の所定の文字と、
(ii)多数のテンプレートを表すテンプレート・データ
の少なくとも1つを記憶するストレージと、
(b)(i)ストリング内の各々の文字について文字確率を決定し、各々の文字確率はそれぞれの文字が多数の所定の文字のそれぞれの1つである尤度を表し、
(ii)ストリングについてテンプレート確率を決定し、各々のテンプレート確率は多数のテンプレートのそれぞれの1つに対応するストリングの尤度を表し、各々のテンプレートは文字タイプのそれぞれの組み合わせを表し、
(iii)所定の文字およびテンプレート確率に従ってストリング確率を決定し、
(iv)決定されたストリング確率に従って文字ストリングを識別するように構成されたプロセッサと、
を備える。
【0055】
典型的には、プロセッサは入力へ結合され、入力を介して手書き文字のストリングを受け取るように構成される。
【0056】
したがって、装置、特にプロセッサは、本発明の第1の広い形態の方法を実行するように構成可能である。
【0057】
この場合、テンプレート・データは更に各々のテンプレートについてテンプレート確率を含むことができ、プロセッサはテンプレート・データからテンプレート確率を取得するように構成される。
【発明を実施するための最良の形態】
【0058】
本発明は、添付の図面と関連づけて記述される本発明の好ましいが非限定的な実施形態の単なる例として示される以下の説明から明らかになるであろう。
【0059】
次の形態は、本発明の主題の正確な理解を提供するため、書かれた説明および添付のクレームに適用されるものとして記述される。
【0060】
これから図1を参照して、本発明を実現するのに適切な装置の例を説明する。図1は、手書き文字認識を実行するように構成された処理システム10を示す。
【0061】
具体的には、図示されるように、一般的に、処理システム10は少なくともバス24を介して相互に結合されたプロセッサ20、メモリ21、入力デバイス22、例えばグラフィックス・タブレットおよび/またはキーボード、出力デバイス23、例えばディスプレイを含む。処理システムをストレージ11、例えばデータベースへ結合するため、25で示されるような外部インタフェースも設けられる。
【0062】
使用に当たって、処理システムは、2つの主な機能を実行するように構成可能である。具体的には、処理システムは、テキスト・コーパスから統計的テンプレートを生成し、および/または手書きテキストのデコーディングで統計的テンプレートを使用するように構成可能である。これにより、処理システム10は任意の形式の処理システム、例えばコンピュータ、ラップトップ、サーバ、特殊のハードウェア等であってよいことが分かるであろう。処理システム10は、典型的には、メモリ21に記憶された適切なアプリケーション・ソフトウェアを実行することによって、これらの手法を実行するように構成される。
【0063】
テンプレートを生成する場合、処理システムはテキストを分析するように構成される。典型的には、テキストは、データベース11の中に記憶される。この点に関して、プロセッサ20は、テキスト内の各々のワードまたはストリングを識別し、次に文字のシーケンスとして評価するように動作する。プロセッサは、各々のワードまたはストリングの中の文字のタイプを決定し、例えば文字が字句、数字、または句読点であるかを決定する。
【0064】
次に、プロセッサはストリングを表すテンプレートを決定する。この点に関して、テンプレートはそれぞれの文字タイプを表すトークン(tokens)から形成される。したがって、例えば、ワード「the」のテンプレートは形式「aaa」であってよく、「a」は字句を表す。
【0065】
同じテンプレートが、異なったストリングについて生成されることが分かるであろう。したがって、例えば、ワード「cat」は、ワード「the」と同じテンプレートを生じる。
【0066】
プロセッサ20は、各々のテンプレートがデータベース11の中で決定される回数を記録する。
【0067】
テキスト内の全てのワードが分析されると、これによって、テキスト・サンプル内で起こる所与のテンプレートの確率を決定することができる。したがって、これは手書きテキストの認識に使用することができる。
【0068】
具体的には、プロセッサ20が、例えば入力デバイス22またはデータベース11から手書きテキストを取得すると、プロセッサは、初期評価を実行し、文字ストリングを識別してストリング内の各々の文字のアイデンティティを決定しようと試みる。
【0069】
一般的に、プロセッサ20は、多数の可能な文字アイデンティティ、および各々のアイデンティティに関連した確率を決定する文字分類器を実現する。
【0070】
これは、全体のストリングについて反復され、異なった潜在的ストリングに対応する多数の潜在的文字アイデンティティの組み合わせが存在するようになる。
【0071】
次に、前述したテンプレートがプロセッサ20によってアクセスされる。プロセッサ20は、それぞれのストリングと同じ数の文字を有するテンプレートを選択する。次に、プロセッサ20は、最も確からしいストリングを決定させるため、文字アイデンティティおよびテンプレートの特定の組み合わせについて全体的確率を決定する。
【0072】
以下、これらの手法を詳細に説明する。
[統計的テンプレートの生成]
【0073】
このセクションは、テキスト・コーパスからの統計的テンプレートの生成を説明し、統計的に引き出されたテンプレートの例を与える。
[概説1]
【0074】
字句は、手書きテキスト認識システムの基本的分類プリミティブを表す。英語では、字句はアルファベット(「a」〜「z」、「A」〜「Z」)、数字(「0」〜「9」)、または句読点(他の全て)として分類できる。アルファベット文字の一般的認識を助けるため、多くの場合、辞書および文字文法が使用され、不明瞭性が除かれる。一般的に、辞書および文字文法はアルファベット文字のみを含む(もっとも、ある場合には、複合語、例えば「they're」および「he'll」を作るためにアポストロフィが含められる)。
【0075】
大部分の言語モデルは数字および句読点字句に関して先行情報を含まないので、認識システムは発見的手法を使用して、認識ストリングからアルファベットまたは数字文字のストリングを抽出する。次に、アルファベットまたは数字文字は、言語モデルを使用して処理される。しかしながら、これらの発見的アプローチは一般的にあまり強固なものとは言えず、次のような通常の誤り認識問題を導く。
・アルファベット・ストリングが数字として認識される、
・数字ストリングがアルファベットとして認識される、
・テキストおよび数字を含むワード(例えば、2nd、V8、B2)が、アルファベットまたは数字ストリングとして誤って認識される、
・句読点が、アルファベットまたは数字の字句として誤って認識される、並びに
・アルファベットまたは数字の字句が、句読点として誤って認識される。
【0076】
しかしながら、テキスト・シーケンス内のある句読点文字の存在は、そのシーケンス内の他の文字のデコーディングを実際に助けることができる。例えば、アポストロフィはテキスト・ストリングを示すことができ、コンマ、通貨記号、およびピリオドは数字ストリングを示すことができる。ダッシュを含むワードは、多くの場合、数字およびアルファベット・ストリングの混合を含む(例えば、「30−year−old」または「20−pound」)。これに加えて、ある句読点文字は、通常、ストリング内の特定のロケーションで発見される(例えば、「?」、「!」、または「:」のような接尾辞句読点)。
【0077】
統計的言語テンプレート処理は、筆記テキストの構造に関する先行情報をエンコードする方法である。この方法は、確率的モデルを使用してアルファベット、数字、および句読点文字の間の相互作用をモデル化する。確率的モデルは、位置情報を考慮し、(文字Nグラムのように固定数のローカル先行状態ではなく)全体の入力ワードを考慮することよって、字句依存性をグローバルにモデル化することができる。
[字句のトークン化]
【0078】
統計的テンプレート生成は、筆記テキスト・コーパス(多数のソースから収集されたテキスト・ファイルの大きなセット)を使用して実行される。テンプレート統計を生成するため、コーパス内の各々のファイルは、白のスペース(即ち、ワード、センテンス、およびパラグラフのマーカ)によって区切られた字句のシーケンシャル・セットとして処理される。この字句シーケンスは、ストリングを形成する。
【0079】
テンプレートの生成中に、個々の字句は、その字句が所属するクラス(または文字タイプ)を表すトークンへ変換される。
【0080】
字句クラスの定義は領域特定的であり、解決されなければならない不明瞭性に基づいて選択される。以下の説明は、次の分類スキームに基づく。即ち、大文字および小文字のアルファベット文字はトークン「a」へ変換され、全ての数字はトークン「d」へ変換され、全ての残りの文字(即ち、句読点)は変換されないで元の値を維持する。
【0081】
ワードまたは文字ストリングを表すトークン・シーケンスは、テンプレートを定義する。
【0082】
例として、ストリング「15−years?」はテンプレート「dd−aaaaa?」へ変換される。大文字と小文字を区別するような他の言語形態を作るため(例えば、「MacDonald」を「ullulllll」として形成し、「u」が大文字を表し、「l」が小文字を表すようにする)、代替のトークン化スキームが使用可能であることに注意されたい。
[処理]
【0083】
統計的言語テンプレートを生成する目的は、共通の筆記テキスト・イディオムを識別し、筆記テキストの中で遭遇されるイディオムの確率を計算することである。モデルのトレーニングは、白スペースで分離された各々のワード内の字句をトークン化し、結果のテンプレートを表に、典型的にはデータベース11の中に記憶するように進行する。特定のテンプレートが入力ストリームの中で発見された回数を示すカウントが、各々のテンプレートに関連づけられる。
【0084】
コーパス内の全てのテキストが処理された後、表はテキスト内で遭遇された全てのテンプレートのリスト、および各々のテンプレートが発見された回数のカウントを含む。明らかに、共通に起こるテンプレート(例えば、「the」、「but」、または「cat」を表すテンプレート「aaa」)は、ありそうもないテンプレート(例えば、「xly」または「b2b」を表すテンプレート「ada」)よりも、はるかに高いカウントを含むであろう。
【0085】
テンプレートの事前確率を計算するため、テンプレート・カウントは全てのテンプレート・カウントの合計によって単純に除算される。これらの値は、数値アンダーフローを回避して認識中の処理を容易にするため、対数として記憶することができる。テンプレートtの対数確率は、
【数1】


ここで、cはテンプレートiがトレーニング・テキスト内で遭遇された回数であり、nは異なったテンプレートのトータル数である。
【0086】
全ての遭遇されたテンプレートについて事前確率を計算することによって、字句の数が変化するテンプレートを比較することができる。これは、字句またはワードの区分化が知られていないか、多数の代替区分化パスが可能である場合に、言語モデルが入力のデコーディングを助けることができることを意味する。
【0087】
しかしながら、入力ストリング内の字句の数が認識時に知られていれば、テンプレート・モデルを区分化して、テンプレートを字句カウントでグループ化することができる。次に、全てのグループにわたる全てのカウントの合計ではなくテンプレート・グループのテンプレート・カウントの数に基づいて、事前確率を計算することができる。
[平滑化]
【0088】
上記の手順は、テキスト・コーパスに基づいてテンプレート確率の最尤推定(MLE)を生じる。即ち、計算された確率は、トレーニング・コーパスへ適用された時最高確率を与える確率である。トレーニング・テキストの中で遭遇されなかったテンプレートに対しては、確率分布は割り当てられず、したがって、これらのテンプレートはゼロの確率を割り当てられる。
【0089】
テキスト・コーパスは、言語モデルへの潜在的入力のサブセットを表すだけであるから、看取された事象の確率を少量だけ減少させ、発見されなかった事象へ剰余確率量を割り当てるため、平滑化モデルを適用しなければならない。この手順は、例えば、C.Manningand H.Schutze,“Foundations of Statistical Natural Language Processing”,The MITPress,Cambridge,Massachusetts,US1999)で説明されているように、通常、文字およびワードNグラムの中で使用される。したがって、この場合、同じ手法を容易に適用することができる。
【0090】
この例では、前記の「統計的自然言語処理の基礎」で説明されているように、生成された確率を平滑化するためリドストン(Lidstone)の法則が使用された。
【数2】


ここで、Bはコーパスから引き出された唯一無二のテンプレートの数であり、λは平滑化因数である(経験的に、0.5へ設定される)。
【0091】
その結果、トレーニング・コーパスの中で発見されなかったワード構造へ非ゼロの確率を割り当てることができ、稀少で例外的なワード構造を認識することができる。
【0092】
更に、確率の決定に使用されるテキスト・コーパスが大きければ、それだけ正確な確率が得られることが分かるであろう。
[結果の例]
【0093】
トレーニング手順は、大きなテキスト・コーパス、この例では、D.Harmanand M.Liberman,Complete TIPSTER Corpus,1993の上で実行され、統計的言語テンプレートのセットを生成した。決定されたテンプレートの例は、下記に記載されている。
【0094】
具体的には、表1は、筆記テキスト・コーパスの中で最高発生頻度(したがって、最高事前確率)を有する20のテンプレートを含む。
【0095】
この表は、筆記テキストの明白な特性の多くを示している。例えば、一般的に短いワードが長いワードよりも普通であること、コンマおよびピリオドが最も句読点文字になりやすく、ワードの接尾辞として現れること、等を示す。これらの規則は、テンプレートおよび対応する事前対数確率によって暗黙的に定義され、強固で統計的に十分な根拠をもつ入力デコーディングを可能にする。
【0096】
上記の表のテンプレートは、多数の簡単な発見的方法によって説明することのできる、どちらかと言えば明白な多数の言語規則を詳細に示す(もっとも、これらの規則の事前確率を容易および正確に推定できるとは言えないであろう)。
【表1】

【0097】
しかしながら、結果の更なる吟味は、表2で詳細に示されるように、発見的アプローチを使用して正確にモデル化することが非常に困難な多数の言語イディオムが存在することを示している。これらのテンプレートは、アルファベット字句、数字、および句読点の間の相互作用をモデル化し、筆記テキストの構造について規則のセットを暗黙的に定義する。
【表2】

【0098】
注意すべきは、この手法の威力は、多数のテンプレート、およびテンプレートに対応する相対確率の生成にある。典型的には、何千というテンプレートが生成され、これらのテンプレートは一緒になって、筆記テキストの構造に関して統計的に良好な基礎を有する規則のセットを定義する。
[統計的テンプレートの処理]
【0099】
このセクションは、統計的テンプレートを筆記テキストのデコーディングに使用する場合を説明する。一般的な手順が、幾つかの例示的処理と一緒に示される。この手法を、他の言語モデルと、どのように組み合わせるかの説明もまた示されている。
[概説2]
【0100】
手書き文字認識の目的は、書き手によって生成されたペン・ストロークを、対応するテキストへ変換することである。しかしながら、手書きのテキストは本来的に不明瞭であり、したがって入力をデコードするためには、文脈的情報の使用が必要である。前述したようにして生成された統計的テンプレートは、入力の一般的構造の認識を助け、認識中に他の言語モデル、例えば辞書および文字文法と組み合わせることができる。
【0101】
大部分の文字分類システムは、入力字句について、可能な字句マッチおよび関連した信頼性得点のセットを生成する。例えば、字句「a」を分類する時、分類器の字句仮説は下記の表3に記載されるようなものになるかもしれない。
【表3】

【0102】
これは、(非公式に)分類器が60%の信頼性で字句が「a」であること、30%の信頼性で字句が「d」であること、以下同様であることを示す。統計的処理のためには、得点が確率の規則と合致しなければならないことに注意されたい。即ち、
0≦P(x)≦1 全てのiについて
および、
【数3】

【0103】
確率を生成しない分類器(例えば、距離値を報告する分類器)については、出力得点ベクトルは、上記の規則が確実に適用されるように正規化されなければならない。ニューラル・ネットワーク分類器については、正規化された変換関数(例えば、J.Briddle,“ProbabilisticInterpretation of Feedforward Classification Network Outputs,with Relatiionshipsto Statistical Pattern Recognition”,Neuro−computing:Algorithms,Architectures,andApplications,227〜236頁,NewYork,Springer−Verlag,1990、で説明されるソフトマックス活性化関数)を使用して、出力値を正規化することができる。
[デコーディング]
【0104】
デコーディングは、文字分類器によって生成された字句仮説のセットの上で実行される。字句仮説のセットは入力ワードまたは一連のワードを表す。テンプレートに関連づけられた確率は、特徴、例えばワード長および句読点文字のロケーションを、統計的なワードの区分化に使用できることを意味する。統計的テンプレートは、特定のワード構造の確率を推定できることから、必要であれば、統計的テンプレートを使用してワードの区分化を助けることができる。
【0105】
しかしながら、下記の説明では、ワードの区分化が既に実行されており、文字分類器の出力を与えられる可能性が最も高い字句シーケンスを発見するためにのみデコーディング手順が必要であると仮定する。これは、テンプレート尤度の事前確率と組み合わせられて、分類器によって生成された文字確率を与えられた最大得点を提供するテンプレートを発見することによって行われる。
【数4】


ここで、n=入力ストリング内の字句の数、
P(w)=字句シーケンスの確率、
P(xij)=テンプレートtの位置jにおけるトークンの分類器得点(下記を参照)、
P(t)=テンプレートtの事前確率。
【0106】
P(xij)の値を計算する時、トークン・クラスの最高得点メンバー(字句位置jにおける分類器仮説を使用する)が使用される。例えば、テンプレートが「a」を含むならば、最高ランクのアルファベット文字の得点が使用される。同様に、テンプレートが「d」を含むならば、最高ランクの数字の得点が使用される。句読点については、指定された句読点文字の得点が使用される。
【0107】
テンプレートについて対数確率が使用された場合、分類器出力も対数確率へ変換される必要があり、デコーディング手順は、次式の最大値を発見する。
【数5】

【0108】
例として、分類器が、入力ストリング「30−day」から、示された文字について、表4で示される得点を生成したと仮定する。
【表4】

【0109】
この例では、正しいデコーディング・パスは太字で示される。
【0110】
これらの得点が対数確率へ変換され、マッチする長さの全てのテンプレートへ適用された場合、最高得点のテンプレートは、表5に記載されるようなテンプレートである。
【表5】


ここで、P(t)はテキスト・コーパスから統計的に引き出されるようなテンプレートの事前確率である。
【0111】
テンプレート「dd−aaa」についてP(w)を計算するため、プロセッサ20によって実行される計算は次のようになる。
【数6】

【0112】
テンプレート「aaaaaa」についてP(w)を計算すると、次のようになる。
【数7】

【0113】
テンプレート「dddddd」についてP(w)を計算すると、次のようになる。
【数8】

【0114】
最高得点のテンプレート(「dd−aaa」)が発見され、対応するテキストが正しいストリング(「30−day」)として選択される。
【0115】
最尤デコーディング(即ち、各々の位置で最も確からしい文字を取ること)は、正しいテキストを発見しないことが注目される(「30−day」が最尤シーケンスであるから)。
[言語モデルの組み合わせ]
【0116】
前述した例において、最良マッチのテンプレートのストリングが、デコードされたストリングとして選択された。しかしながら、通常、マッチしたテンプレートは、追加処理のために他の言語モデルと組み合わせられる。
【0117】
例えば、ストリングのアルファベット部分(即ち、「day」)から最尤字句を取るのではなく、この部分からの分類器得点を、更なるデコーディングのために辞書または文字文法へ渡すことができる。
【0118】
あるいは、追加の言語モデルを使用して、多数の最高得点テンプレートからのテキスト部分を処理し、結果の得点を組み合わせて最終ワード確率を生成することができる。
【0119】
したがって、前述したプロセスは、手書き文字を認識するため統計的言語テンプレートを使用する文脈的処理方法を提供することが分かる。この方法は、テキスト・コーパスからテンプレートを生成するのに必要な手順、およびテンプレートを使用して文字分類器の出力をデコードするのに必要な手法を含む。
【0120】
特に、一般的に、これらの手法は、従来技術の方法よりも少ないプロセッサ能力を使用して、より速くて正確な手書き文字認識が実行されることを可能にする。
【0121】
本発明は、更に、個別的または集合的に本願の明細書で言及または指摘された部分、要素、および特徴にあり、これら部分、要素、または特徴の2つ以上の任意または全ての組み合わせにあると広く言うことができ、本発明が関連を有する技術で既知の同値を有する特定の整数が言及されている場合は、そのような既知の同値は、あたかも個々に記載されているかのように、本明細書に組み込まれていると考えられる。
【0122】
好適な実施形態が詳細に説明されたが、これまで説明され、また後でクレームに記載されるような本発明の範囲から逸脱することなく、当業者による様々な変更、置換、および代替が可能であることを理解すべきである。
【図面の簡単な説明】
【0123】
【図1】本発明を実行するのに適した処理システムの例である。
【符号の説明】
【0124】
10…処理システム、11…ストレージ、20…プロセッサ、21…メモリ、22…入力デバイス、23…出力デバイス、24…バス、25…外部インタフェース。

【特許請求の範囲】
【請求項1】
手書き文字認識で使用されるテンプレートを生成する方法であって、
(a)テキストを取得するステップと、
(b)テキスト内の文字ストリングを識別するステップであって、各々の文字ストリングは1つまたは複数の文字のシーケンスから形成され、各々の文字はそれぞれのタイプを有する、前記ステップと、
(c)各々の文字ストリングについて文字タイプのシーケンスを決定するステップと、
(d)それぞれ異なったトークンによって各文字タイプを表すことにより、前記決定した各々の文字タイプ・シーケンスについてのテンプレートを定義するステップと、
を含む方法。
【請求項2】
(a)決定されたテンプレートを統計的に分析するステップと、
(b)統計的分析に従ってテンプレート確率を決定するステップであって、テンプレート確率はテキスト内で起こるそれぞれの文字タイプ・シーケンスの確率を示す、前記ステップと、
を含む、請求項1に記載の方法。
【請求項3】
(a)テキスト内の各々の文字タイプ・シーケンスの発生の頻度を決定するステップと、
(b)各々の文字タイプ・シーケンスの決定された頻度に従ってテンプレート確率を決定するステップと、
を含む、請求項1または2に記載の方法。
【請求項4】
決定されたテンプレート確率を修正して、限定された数の文字タイプ・シーケンスに対処するステップを更に含む、請求項3に記載の方法。
【請求項5】
リドストンの法則に従って確率を修正するステップを含む、請求項4に記載の方法。
【請求項6】
大きなテキスト・コーパスからテキストを取得するステップを含む、請求項1〜5のいずれか一項に記載の方法。
【請求項7】
多数の異なったソースからテキストを取得するステップを含む、請求項1〜6のいずれか一項に記載の方法。
【請求項8】
(a)テキストを記憶するストレージと、
(b)(i)テキスト内の文字ストリングを識別し
(ii)文字タイプ・シーケンスを決定し、
(iii)テンプレートを定義する
ように構成されたプロセッサと、
を有する処理システムを用いて実行される、請求項1〜7のいずれか一項に記載の方法。
【請求項9】
手書き文字認識で使用されるテンプレートを生成する装置であって、
(a)テキストを取得し、
(b)テキスト内の文字ストリングを識別し、各々の文字ストリングは1つまたは複数の文字のシーケンスから形成され、各々の文字はそれぞれのタイプを有し、
(c)各々の文字ストリングについて文字タイプのシーケンスを決定し、
(d)それぞれ異なったトークンによって各文字タイプを表すことにより、前記決定した各々の文字タイプ・シーケンスについてのテンプレートを定義する
ように構成されたプロセッサを備える装置。
【請求項10】
テキストを記憶するストレージを備え、プロセッサがストレージからテキストを取得するように構成された、請求項9に記載の装置。

【図1】
image rotate


【公開番号】特開2008−243227(P2008−243227A)
【公開日】平成20年10月9日(2008.10.9)
【国際特許分類】
【出願番号】特願2008−143500(P2008−143500)
【出願日】平成20年5月30日(2008.5.30)
【分割の表示】特願2003−536981(P2003−536981)の分割
【原出願日】平成14年10月15日(2002.10.15)
【出願人】(303024600)シルバーブルック リサーチ ピーティワイ リミテッド (150)
【Fターム(参考)】