JP3720876B2 - 手書き文字認識学習方法及び手書き文字認識装置 - Google Patents

手書き文字認識学習方法及び手書き文字認識装置 Download PDF

Info

Publication number
JP3720876B2
JP3720876B2 JP16612495A JP16612495A JP3720876B2 JP 3720876 B2 JP3720876 B2 JP 3720876B2 JP 16612495 A JP16612495 A JP 16612495A JP 16612495 A JP16612495 A JP 16612495A JP 3720876 B2 JP3720876 B2 JP 3720876B2
Authority
JP
Japan
Prior art keywords
character
cutout
candidate
dictionary
ink data
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 - Fee Related
Application number
JP16612495A
Other languages
English (en)
Other versions
JPH0916719A (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.)
NS Solutions Corp
Original Assignee
NS Solutions 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 NS Solutions Corp filed Critical NS Solutions Corp
Priority to JP16612495A priority Critical patent/JP3720876B2/ja
Publication of JPH0916719A publication Critical patent/JPH0916719A/ja
Application granted granted Critical
Publication of JP3720876B2 publication Critical patent/JP3720876B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Character Discrimination (AREA)
  • Character Input (AREA)

Description

【0001】
【産業上の利用分野】
本発明は、手書き文字認識に関し、特に、続け字(カーシブ;cursive)で入力された複数文字分の手書き文字データから1字分の手書き文字データを順次切り出すとともに切り出し用の辞書の学習が可能な手書き文字認識学習方法と手書き文字認識装置とに関する。
【0002】
【従来の技術】
これまでのオンライン手書き文字認識システムでは、入力装置上に予め設定された該四角形の領域(入力枠)に対し利用者が1文字ずつ手書き文字を入力するようになっていたが、近年、入力枠を設けることなく利用者が自由に入力した手書き文字を認識できる技術が開発されてきた。
【0003】
日本語や中国語の場合であれば、手書き文字入力を行なうに際し1文字ずつ分けて入力することを要求しても、利用者は大した違和感をもつことなく手書き文字入力を行なうことができる。これに対し、英語やフランス語、スペイン語などの単語はアルファベットの文字列として表わされるが、アルファベットの文字列が手書き文字入力される場合には、複数の文字にまたがって1ストロークの運筆がなされること、すなわち続け字(カーシブ;cursive)で入力されることが多い。さらに、英語などのラテンアルファベットのほか、ロシア語などで使用されるキリル文字、さらにはアラビア文字なども、続け字で入力されることが多い。このように続け字で入力されることが多い言語を対象とする場合には、続け字で入力されることを前提として手書き文字認識を行なう必要がある。このような場合の手書き文字認識方法の一つとして、英語を例に挙げれば、「book」とか「look」といった単語を単位としてパターンマッチングで文字認識を行なう方法がある。この方法には、「book」と「look」のように全体の形が似ている単語同士での識別が難しく、認識用辞書の容量が膨大になり、かつ、辞書にない単語の認識が行なえないという問題がある。
【0004】
続け字で入力される手書き文字データに対する手書き文字認識方法の他の方法として、続け字として入力された複数文字分の手書き文字データから特徴点を見つけ、この特徴点を切り出し位置として1文字分ずつのデータを切り出し、1文字ごとに手書き文字認識を行なう方法がある。特徴点の求め方としては、ストローク長を等分する点を特徴点とする方法や、運筆時のペン先の移動方向を逐次検出して移動方向がある特定の方向から別の特定の方向に変化した点を特徴点とする方法、ヒストグラムから求める方法などがある。ペン先の移動方向の変化に基づく方法では、例えば、移動方向が左上から右下に向う方向から折れ曲がって左下から右上に向う方向となる点や、移動方向が左から右に向う方向から折れ曲がって右上から左下に向う方向となる点などを特徴点とする。
【0005】
ヒストグラムから求める方法では、2次元空間内のデータとして入力された手書き文字データを入力方向に平行な直線上に射影してヒストグラムを作成し、このヒストグラムから特徴点を抽出する。すなわち、手書き文字の入力方向に対し垂直であって、所定の刻み幅dの間隔で相互に平行な多数の直線を考え、これらの直線と手書き文字入力データとの交点の数を数え、この交点の数に基づいてヒストグラムを作成する。英語文字列の手書き文字データでは、字と字の間の領域では直線ごとの交点の数は1であり、字の中心部では直線ごとの交点の数は2以上であると考えられるから、ヒストグラムに表わされた頻度(直線ごとの交点の数)の変化を調べて頻度が変化するところを特徴点とすることができる。
【0006】
しかしながら、ストローク長を等分する点を特徴点とする方法は、字によってストローク長が異なることがあるので(「w」は他の文字に比べストローク長が長い)、必ずしも有効でない。運筆の移動方向が特定の変化を示した点を特徴点とする方法では、個人差が大きく、例えば「d」と「cl」の区別などを行なうことが困難である。また、ヒストグラムを用いる方法では、利用者の書き癖によっては頻度1の範囲が複数文字にわたって連続したり、寝た字では隣接する文字が重なり合って両者間に頻度1となる部分がなくなり、文字を切り出すべき位置を正確に見い出せなくなったりすることがある。
【0007】
特徴点を見つけて切り出し位置とする方法では、切り出し位置を一度誤ると、その誤っている位置を基準に次の文字切り出しが行なわれるので、切り出し位置の誤りが伝播することになり、切り出し位置の誤りは広範囲に影響を及ぼすことになる。そこで、正しい位置での切り出しを行なうために、文字の縦横比などを利用することが試みられている。この方法は、例えば横書きの場合、文字高に比べて極端に短い位置での切り出しを行なわないことにより、誤った位置での切り出しを防止しようとするものである。しかしながら、手書き文字での縦横比は利用者によってかなりばらつきがあり、また、文字によっても縦横比が異なるので、縦横比を利用する方法でも切り出し位置の誤りを減らすことは難しい。例えば、「i」と「W」とでは、文字の縦横比が異なるので、同一の基準を用いて文字切り出しを行なった場合に、いずれの文字も正しく切り出されるとは限らない。異なる利用者の手書き文字データのいずれに対しても正確に文字切り出しが行なえるような、利用者に共通した切り出し基準を見つけることも困難である。
【0008】
以上、続け字で入力された手書き文字データに対して手書き文字認識を行なう方法について、単語単位でパターン認識する方法と、1文字分ずつの手書き文字データを切り出して文字認識を行なう方法とを説明したが、認識率や認識の速度、必要とする辞書容量の小ささなどの点を考慮すると、1文字分ずつ手書き文字データを切り出す方法の方が、有効である。
【0009】
以下の説明において、「文字」とは、文字コードと1対1に対応するものを指し、具体的にはこのように文字コードによって一意に指定されるものの名前のことを意味し、「インクデータ」とは、利用者がペンなどの入力デバイスによって入力した軌跡データを指し、「手書き文字入力」とは、文字認識の対象となるインクデータを入力する作業を指し、「手書き文字」とは、手書き文字認識処理を施すことを意図して利用者が入力したインクデータのことを指し、「文字切り出し」とは、手書き文字のインクデータ群の中から、1文字に相当するインクデータを抽出することを指す。
【0010】
また、「距離」とは、認識誤差量とも呼ばれ、候補文字の形状的な特徴を表わすデータ(特徴量)やインクデータがある場合に、これらのデータのうちの任意の2つのものについて、両者の差異を定量的に表わす尺度のことである。例えば、データが特徴空間内の特徴ベクトルとして表わされる場合には、2つの特徴ベクトル間の差ベクトルのノルムとして距離を定義することができる。距離が小さいほど、2つのデータがよく一致していることになる。切り出されたインクデータをもとに認識辞書を探索してそのインクデータに対応する候補文字を見つけ出した場合には、その候補文字に対応する特徴データとインクデータとの距離が小さいほど、探索された候補文字が利用者の意図した文字である可能性が高いということになる。
【0011】
「クラスタ」とは、候補文字などについて、その形状的な特徴を表わすデータの代表となるべきもののことを指す。インクデータから特徴ベクトルを生成して文字認識処理が行なわれる場合には、クラスタは候補文字の特徴ベクトル(代表点)に相当する。
【0012】
【発明が解決しようとする課題】
入力枠を用いない手書き文字認識システムでアルファベットの文字列のように続け字で入力された手書き文字データの手書き文字認識を行なう場合、上述したように、単語単位でパターン認識を行なうよりも、続け字の手書き文字データから1文字分の手書き文字データを順次切り出して認識を行なう方が有効である。しかしながら、従来の文字切り出し方法では、利用者の書き癖によっては正確に切り出し位置を設定できないことがあり、このため、誤った切り出し位置で切り出された手書き文字データに基づいて文字認識を行なうこととなって、認識率のさらなる向上を望めないという問題点がある。
【0013】
本発明の目的は、正確な文字切り出しを行なうことによりアルファベットなどの続け字で入力される手書き文字データに対する手書き文字認識の認識率の向上が図られるとともに、利用者ごとの書き癖に応じた学習が可能な手書き文字認識学習方法及び手書き文字認識装置を提供することにある。
【0014】
【課題を解決するための手段】
本発明の手書き文字認識学習方法は、利用者が入力したインクデータから文字切り出しを行なって手書き文字認識を行なうともに文字切り出しに使用される辞書の学習を行なう手書き文字認識学習方法において、文字とその文字に対するクラスタを格納した認識辞書と、予め定められた特定パターンごとに当該特定パターンに属する1または複数の基準パターンとその基準パターンごとの切り出し位置情報を格納する切り出し用辞書とを使用し、未切り出しのインクデータに対し、前記未切り出しのインクデータの先頭から手書き文字の入力方向に沿って所定の長さの候補位置探索範囲を設定する探索範囲設定工程と、前記特定パターンに該当する部分を前記候補位置探索範囲内のインクデータから抽出し、抽出された部分と類似する基準パターンが前記切り出し用辞書の中に格納されているかを調べ、格納されている場合にはその類似する基準パターンに対応する切り出し位置情報で指定される位置を切り出し候補位置とし、格納されていない場合には前記特定パターンに対してデフォルトとして定められている位置を切り出し候補位置とする候補位置探索工程と、前記インクデータに対し前記切り出し候補位置のそれぞれで文字切り出しが行なわれたとして前記認識辞書との比較・照合を行ない、前記切り出し位置ごとに当該切り出し候補位置に対応する候補文字と対応するクラスタからの当該候補文字の距離値とを求める認識工程と、利用者からの学習の指示に応じ、前記利用者が指定した位置を含みかつ前記特定パターンに該当する部分を前記インクデータから抽出し、抽出された部分と類似する基準パターンが前記切り出し用辞書に格納されている場合には、前記利用者が指定した位置に対応するように、前記類似する基準パターンに対応する切り出し位置情報を更新する学習工程と、を有する。
【0015】
本発明の手書き文字認識学習方法では、学習工程において、抽出された部分と類似する基準パターンが前記切り出し用辞書に格納されていない場合には、抽出された部分を基準パターンとして切り出し用辞書に新規登録し、利用者が指定した位置に対応する切り出し位置情報をその基準パターンを対応づけて切り出し用辞書に格納するようにしてもよい。
【0016】
本発明の手書き文字認識装置は、利用者が入力したインクデータから文字切り出しを行なって手書き文字認識を行なう手書き文字認識装置において、インクデータを入力する入力手段と、インクデータを格納するインクデータ格納手段と、文字とその文字に対するクラスタを格納した認識辞書と、予め定められた特定パターンごとに当該特定パターンに属する1または複数の基準パターンとその基準パターンごとの切り出し位置情報を格納する切り出し用辞書と、前記インクデータ格納手段中の未切り出しのインクデータに対し、前記未切り出しのインクデータの先頭から手書き文字の入力方向に沿って所定の長さの候補位置探索範囲を設定し、インクデータに対する文字切り出しの位置の候補を切り出し候補位置とし、前記特定パターンに該当する部分を前記候補位置探索範囲内のインクデータから抽出し、抽出された部分と類似する基準パターンが前記切り出し用辞書の中に格納されているかを調べ、格納されている場合にはその類似する基準パターンに対応する切り出し位置情報で指定される位置を切り出し候補位置とし、格納されていない場合には前記特定パターンに対してデフォルトとして定められている位置を切り出し候補位置とし、前記インクデータに対し前記切り出し候補位置のそれぞれで文字切り出しが行なわれたとして前記認識辞書との比較・照合を行ない、前記切り出し位置ごとに当該切り出し候補位置に対応する候補文字と対応するクラスタからの当該候補文字の距離値とを求め、当該距離値の大小に応じて前記候補文字の中から認識文字を決定する文字認識手段と、利用者からの学習の指示に応じ、前記利用者が指定した位置を含みかつ前記特定パターンに該当する部分をインクデータから抽出し、抽出された部分と類似する基準パターンが前記切り出し用辞書に格納されている場合には、前記利用者が指定した位置に対応するように、前記類似する基準パターンに対応する切り出し位置情報を更新する辞書更新手段と、を有する。
【0017】
本発明の手書き文字認識装置では、辞書更新手段として、抽出された部分と類似する基準パターンが切り出し用辞書に格納されていない場合には、抽出された部分を基準パターンとして切り出し用辞書に新規登録し、利用者が指定した位置に対応する切り出し位置情報をその基準パターンを対応づけて切り出し用辞書に格納するものを使用することができる。
【0018】
本発明において、特定パターンは、例えば、インクデータ中の右上がりの部分というようにして定められる。「右上がり」という特定データに対し、基準パターンは、例えば、「一直線であるようなパターン」、「初めの方があとの方より勾配が急であるようなパターン」、「初めの方があとの方より勾配が緩やかであるようなパターン」として定めることができる。また、切り出し位置情報は、抽出されたインクデータに対してどこを切り出し候補位置とするかを示す情報である。この場合、抽出されたインクデータ部分の直前あるいは直後の位置を切り出し候補位置とするようにしてもよい。切り出し位置情報は、例えば、インクデータの軌跡としての距離で前から1/3の場所を切り出し候補位置とするいったように定めておく。基準パターンと抽出されたインクデータ部分との類似の判定は通常の1ストロークデータの文字認識に他ならないから、一般的な方法で実行でき、類似する基準パターンが決まれば、その基準パターンについて予め定められている切り出し位置情報によって、抽出されたインクデータ部分に対して切り出し候補位置の設定が行なわれる。先の例に基づけば、右上がりの部分として抽出されたインクデータ部分の前から1/3の位置を切り出し候補位置とする。
【0019】
【作用】
本発明では、続け字で入力されたインクデータから1文字分のインクデータを切り出して文字認識を行なう際には、まず、切り出し候補位置を探索し、認識辞書と重み付け辞書とを用いて文字認識を行ない切り出し候補位置の中から最も適切なものを選ぶ、という2段階で実行している。続け字に対して正しく文字認識を行なえるかどうかは適切に文字切り出しが行なえるかどうかにかかっているが、本発明では、インクデータから特定パターンに該当する部分を抽出し、抽出されたインクデータ部分に類似している基準パターン(特定パターンごとに1あるいは複数定められている)を探索し、その基準パターンに対応する切り出し位置情報に基づいて切り出し候補位置を設定している。このように切り出し候補位置を定めることにより、隣接する文字が入力方向に垂直な方向に重なっているような場合でも、適切に切り出し候補位置を見出すことが可能になる。また、利用者からの指示によって基準パターンごとの切り出し位置情報を更新し、さらには基準パターン自体を新規登録することができるように構成されており、これによって、利用者の書き癖に応じた切り出し候補位置の設定が可能となっている。
【0020】
さらに本発明では、重み付けクラスタを重み付け辞書に設定してあり、切り出されたインクデータがこの重み付けクラスタに近い場合にはこの重み付けクラスタの対象文字が文字認識され難くなるように構成されている。したがって、利用者の書き癖に応じて重み付けクラスタを重み付け辞書に登録することにより、利用者の書き癖による誤切り出しや誤認識が生じ難くなり、利用者の意図したとおりの正確な文字認識を行なうことが可能になる。
【0021】
【実施例】
次に、本発明の実施例について、図面を参照して説明する。図1は本発明の一実施例の手書き文字認識装置の構成を示すブロック図である。以下では、アルファベットの文字列が続け字で手書き文字入力された場合を例に挙げて、説明を行なう。
【0022】
この手書き文字認識装置は、オンライン手書き文字認識を実行するともにオンライン手書き文字認識に必要な各種辞書類の学習を行なうものであって、利用者によるインクデータが入力するとともに必要な情報を表示するための入力・表示パネル11と、入力・表示パネル11に対して入力されたインクデータを受け付け、手書き文字データなのか指示なのかを識別する入力処理部13と、手書き文字のインクデータを格納するインクデータ格納部14と、文字認識に使用する認識辞書21と、重み付けクラスタを格納する重み付け辞書22と、文字切り出しの際に使用され基準パターンを特定パターンごとに格納しかつ基準パターンごとの切り出し位置情報を格納する切り出し用辞書23と、認識辞書21、重み付け辞書22及び切り出し用辞書23を参照してインクデータ格納部14内のインクデータに対する文字切り出し処理及び文字認識処理を実行する文字認識エンジン部15と、文字認識エンジン部15による文字認識結果を格納する認識結果格納部16と、文字認識結果に応じて入力・表示パネル11に対して表示を行なう出力処理部17と、利用者からの指示に基づいて認識辞書21、重み付け辞書22及び切り出し用辞書23の更新を行なう辞書更新部18とによって構成されている。入力・表示パネル11は、表示部とインクデータ20の入力部とが一体になったいわゆる表示一体型入力パネルであり、例えば、液晶フラットディスプレイ上に透明型タブレットを積層した構成のものを使用できる。利用者は、ペン12でこの入力・表示パネルの入力・表示画面をなぞることによって、所望のインクデータ20を入力できる。
【0023】
本実施例の手書き文字認識装置は、アルファベット文字列などの続け字で入力されたインクデータに対して1文字分に相当するインクデータを切り出し、切り出されたインクデータからその形状の特徴を表わす特徴ベクトルを求め、認識辞書21中の各文字(候補文字)の特徴ベクトル(クラスタ)とインクデータから求めた特徴ベクトルとを比較し、両者の距離に応じてそのインクデータに対する候補文字を定めることにより、文字認識が行なう。また、文字認識のときの文字切り出しに際しては、まず手書き文字入力されたインクデータの入力方向に応じ、切り出し候補位置探索範囲内で切り出し候補位置を探索し、各切り出し候補位置で切り出されたインクデータごとに候補文字を定めている。
【0024】
認識辞書21には、文字とその文字のクラスタとが格納されている。ある1つの文字に対して複数のクラスタが対応することが可能であり、また、認識辞書21に対し利用者の指定した文字のクラスタを追加登録することが可能なようになっている。もちろん本発明は、文字認識の具体的方法やアルゴリズムによらずに適用できるものであり、特徴ベクトルによらない文字認識方法、例えばパターンマッチング法などにも本発明を適用することが可能である。
【0025】
文字認識エンジン部15は、インクデータ格納部14に格納された未切り出しのインクデータについて、その先頭部分(基点O)から手書き文字に入力方向に向かって所定の範囲(切り出し候補位置探索範囲W)の領域内にある切り出し候補位置を探索し、各切り出し候補位置でインクデータを切り出したとして認識辞書21と比較し、切り出し候補位置ごとにその切り出し候補位置に対応する候補文字を求め、さらに重み付け辞書22を参照して重み付けを行ない、文字認識を行なうものである。切り出し候補位置とは文字切り出しが行なわれるべき位置の候補のことであって、この切り出し候補位置は、後述するように、インクデータから特定パターンに該当する部分を抽出し、抽出されたインクデータ部分と切り出し用辞書23に登録されている基準パターンとを比較し、類似する基準パターンが存在する場合にはその基準パターンに対応する切り出し位置情報に基づく位置を切り出し候補位置とし、類似する基準パターンが存在しない場合にはその特定パターンについてデフォルト値として定められている位置を切り出し候補位置とすることによって、探索される。
【0026】
図2(a)は、アルファベット文字列として続け字で入力されたインクデータの実例を示すものである。図2(a)では、切り出し候補位置として、A及びBの2箇所が探索されている。文字認識の際には、未切り出しのインクデータの先頭部分(基点O)から各切り出し候補位置までのインクデータ(図2(a)に示した例では、基点Oから切り出し候補位置Aまでのインクデータと、基点Oから切り出し候補位置Bまでのインクデータ)を対象として、認識辞書21を参照してこれら各インクデータに対する候補文字が探索され、同時にこれらの候補文字に対する距離値がそれぞれ算出される。ここで距離値は、切り出し候補位置ごとのインクデータから求められた特徴ベクトルと、そのインクデータに対応する候補文字についてのクラスタとの距離のことである。そして、文字認識エンジン部15は、以下の重み付け処理を行なった後に、距離値でソートし、距離値の小さい順に候補文字を認識結果格納部16に出力するようになっている。
【0027】
ここで重み付け処理について説明する。続け字のアルファベット文字列に対応するインクデータに対する重み付け辞書22の構成例が図2(b)に示されている。重み付け辞書22には、重み付けクラスタとその重み付けクラスタによる重み付けの対象となる文字とが組になって格納されている。重み付けクラスタは、利用者の入力したインクデータに基づく特徴ベクトルとして、後述する辞書更新部18により登録されたものである。図2(b)に示した例では、筆記体での「d」の字に似た重み付けクラスタに対し、「c」の字が重み付け対象文字とされている。本実施例では、各切り出し候補位置に対応するインクデータが重み付けクラスタとして登録された形状に似ている場合には、その重み付けクラスタに対応する重み付け対象文字が候補文字として挙げられている場合に、その候補文字の距離値に重み付けがなされるようになっている。重み付けの方法としては、一定値を重み付け対象文字である候補文字の距離値に加算する方法、切り出し候補位置に対応するインクデータの特徴ベクトルと重み付けクラスタとの距離に応じて変化する値を候補文字の距離値に加算する方法などがある。重み付けクラスタとの「近さ」に比例した重み付けを行なうことが望ましい。結局、あるインクデータが重み付けクラスタとして登録されている場合には、その重み付けクラスタに類似したインクデータが入力した場合に、その重み付けクラスタの対象文字が文字認識結果として現われ難くなる。利用者の書き癖によって、切り出し位置の誤りや誤認識が生じる場合、誤切り出しや誤認識に対応するインクデータとその誤って認識されて出力された文字とを重み付けクラスタとその対象文字として重み付け辞書22に登録することにより、以後はその誤りが生じ難くなる。
【0028】
辞書更新部18は、利用者から学習の指示があった場合に、認識辞書21、重み付け辞書22あるいは切り出し用辞書23の学習・更新を行なう。本実施例の手書き文字認識装置では、切り出し候補位置を探索し、その後、文字認識を行ないつつ文字切り出しの位置を決定しているから、手書き文字認識を行なわせたときに利用者が意図した結果と異なる結果が得られた場合は、正しい文字切り出し位置が切り出し候補位置として探索されなかった場合と、正しい文字切り出し位置が切り出し候補位置として探索された場合とに分けられる。さらに後者の場合は、探索された切り出し候補位置の中から正しい文字切り出し位置が選択されたが認識された文字が誤っている場合と、探索された切り出し候補位置の中から正しい文字切り出し位置以外の位置が選択された場合とに分けられる。意図した結果が得られなかったので利用者が辞書学習を行なおうとするときには、これらの場合分けに応じて、認識辞書21、重み付け辞書22及び切り出し用辞書23のうちの適切な辞書を選んで学習・更新を行なう必要があるが、本実施例では、統一したユーザインタフェースを提供することにより、利用者が辞書の選択を意識することなく辞書の学習を行なえるように構成されている。すなわち、利用者が必要に応じて正しい切り出し位置と正しい文字とを指定することにより、適切な辞書が選択されてその辞書の学習・更新が行なわれるようになっている。
【0029】
正しい文字切り出し位置が切り出し候補位置として探索されている場合には、誤切り出しあるいは誤認識となったインクデータを重み付けクラスタとして重み付け辞書22に登録するのが原則であり、この場合、文字切り出しの基点から最遠の切り出し候補位置までのインクデータを登録する。また、場合によっては、認識辞書21中に妥当なクラスタが存在しなかったために誤切り出しないし誤認識となることがあるが、そのような場合には、指定されたインクデータをクラスタとして認識辞書21に登録する。さらに、辞書更新部18は、重み付けクラスタを新規登録した場合にその新規登録の重み付けクラスタの近傍に既存の重み付けクラスタが存在する場合には、その既存の重み付けクラスタを重み付け辞書22から消去する。この場合の辞書更新部18での具体的な処理については、図12のフローチャートを用いて後述する。
【0030】
一方、正しい文字切り出し位置が切り出し候補位置として探索されなかった場合には、切り出し用辞書23の学習・更新を行なう。具体的には、利用者が指定した位置が切り出し候補位置として探索されるように、基準パターンに対応した切り出し位置情報を変更し、さらには、基準パターン自体を切り出し用辞書23に追加する。この場合の辞書更新部18での具体的な処理については、図9のフローチャートを用いて後述する。
【0031】
次に、この手書き文字認識装置の動作を説明する。最初に、文字認識処理の流れを図3のフローチャートを用いて説明する。
【0032】
まず、利用者が時間的に間を置かずに入力した一連のインクデータを取得する(ステップ101)。この一連のインクデータは、典型的には、1単語文に相当する続け字で手書き文字入力されたアルファベット文字列である。取得されたインクデータは文字認識エンジン部15に送られ、前処理が施される(ステップ102)。前処理の内容は、サイズの正規化、サンプリング数の調整、基準線の設定などである。サイズの正規化は、取得したインクデータから、入力方向に垂直な方向(アルファベットであれば縦方向)の文字幅(いわゆる文字高)を求め、それが一定値となるように正規化する処理である。サンプリング数の調整は、利用者が素早く入力した場合とゆっくり入力した場合とではインクデータのサンプリング数が異なるので、補間や等分などの処理を適宜行なってサンプリング数を安定させるための処理である。基準線の設定は、英語の文字列の場合であれば、欧文活字組版用語でいう並び線(ライン)とミーンラインに相当する線をインクデータから抽出する処理である。
【0033】
前処理が終ったら、切り出し候補位置探索範囲Wの中で後述する手法にしたがって切り出し候補位置を探索する(ステップ103)。この際、複数の切り出し候補位置が探索されたらその全てを記憶しておくようにする。そして、このように探索された切り出し候補位置のうち中から未処理のものを1つ選び、その切り出し候補位置でインクデータを切り出し、切り出されたインクデータから特徴ベクトルを求め、認識辞書21と比較して候補文字を獲得する(ステップ104)。このとき、その候補文字のクラスタと切り出されたインクデータの特徴ベクトルとの距離値を算出しておく。候補文字の数は、切り出し候補位置ごとに1個でもよいし複数個でもよい。そして、重み付け辞書22内を探索し、取り出されたインクデータの中で重み付けクラスタに近い(類似している)ものがあるかを検索する。この検索は、特徴ベクトルと重み付けクラスタとの特徴空間内での距離が所定のしきい値r以下であるかどうかで行なわれる。重み付けクラスタに近いものが存在しない場合は、そのままステップ106に移行し、存在する場合には、重み付け辞書22においてその重み付けクラスタの対象文字として登録されている文字を読み出し、その文字がすでに求められている候補文字のいずれかと一致する場合には、その一致する候補文字についての距離値に重み付けを行なう(ステップ105)。
【0034】
ステップ106では、切り出し候補位置探索範囲内の全ての切り出し候補位置について、上述のステップ104と105の処理が終ったかどうかをチェックする。その結果、終っている場合にはステップ107に進み、終っていない場合には残っている切り出し候補位置において文字認識を行なうために、ステップ104に戻る。
【0035】
ステップ107では、各候補文字をその距離値に応じてソートし、距離値の小さい順に並べる。距離値の定義によっては、インクデータ中のストローク数に距離値が依存する場合もあるが、そのような場合には、正規化処理を行なって、異なるストローク数のインクデータを比較できるようにする。このソート結果は、文字認識エンジン部15から認識結果格納部16に送られ、出力処理部17によって、ソート結果に応じた候補文字の表示が入力・表示パネル11で行なわれる。候補文字の表示は、最も確からしい候補文字、すなわち、重み付け処理を実行した後の距離値が最も小さな文字のみをまず表示し、利用者の指示によって次順位の文字を表示するようにしてもよいし、ソート順に応じていくつかの候補文字を並べて表示してもよい。その後、利用者に指示によって候補文字を決定する(ステップ108)。このとき、第1順位の候補文字が利用者の意図した文字でない場合には、利用者は、次順位以下の候補文字を検索し、自分の意図した文字を指定して候補文字の決定を行なうものとする。
【0036】
候補文字の決定が済んだら、後処理を実行する(ステップ108)。後処理では、決定した候補文字に対応する切り出し候補位置までのインクデータを切り出し処理済みのものとし、切り出しの開始位置(基点O)を次に進める。その際、必要に応じて、決定した候補文字に対応する切り出し候補位置と次の切り出しの開始位置とは異ならせることができるが、そのことの詳細は後述する。そして、全てのインクデータが切り出し済みかどうかを判断する(ステップ109)。未切り出しのインクデータが残っている場合にはステップ102に戻って上記の処理を繰り返し、残っていない場合には処理を終了する。
【0037】
この手書き文字認識装置では、切り出し候補位置ごとに候補文字が求められるので、例えば、「d」と「c」などのように、切り出し位置の異なる候補文字が併存することになる。そして、候補文字を利用者に提示している段階では文字切り出しの位置は確定しておらず、候補文字の確定とともに、その候補文字に対応する切り出し候補位置で切り出し位置が確定し、文字切り出しが最終的に行なわれたことになる。
【0038】
以下、実例を挙げて説明する。図2(a)に示したインクデータ20は、利用者が英単語の「dip」を意図して続け字により手書き文字入力したものであるが、「d」の字の書き始めの部分が他の部分から位置的に離れているために、「clip」とも認識されかねないものである。また、このインクデータ20に対して切り出し候補位置Aと切り出し候補位置Bの2つの切り出し候補位置が探索されたものとする。切り出し候補位置ごとの候補文字とその候補文字に対する距離値が表1に示されている。表1に示されるように、重み付け処理を行なわない距離値で候補文字の順位付けを行なうと、「c」の方が距離値が近いため、第1順位の候補文字は「c」となり、誤った文字切り出しが行なわれることになる。
【0039】
【表1】
Figure 0003720876
ところで、重み付け辞書22に、図2(b)に示すようなのような重み付けクラスタ(図2(a)のインクデータ20中の「d」の字に非常に類似している)が、「c」の文字を対象文字として登録されていたとする。すると、切り出し候補位置Bでのインクデータがこの重み付けクラスタに近いことになるので、候補文字「c」に重み付けが行なわれることになる。この重み付け処理の結果、候補文字「d」に対する距離値はそのままであるのに対し、候補文字「c」に対する距離値が増加し、「d」の方の距離値が小さくなって、最終的に、第1順位の候補文字が「d」となる。すなわち、利用者の書き癖に応じて正確な文字切り出しが行なわれたことになる。なお、利用者が「cl…」の入力を意図した場合には、そのときのインクデータは、「d」を意図したときのインクデータとは異なっていると考えられ、その場合は上述の重み付けクラスタとはインクデータが異なるであろうから、「c」に対する重み付けは十分には行なわれず、「c」、「l」と正しく切り出しを行なうことができる。
【0040】
別のケースとして、「cl」と入力したつもりが「c」と「l」が離れていないために「d」と誤切り出しされるような場合には、誤切り出しされたインクデータについて、切り出しの基点から最も遠い切り出し候補位置までを重み付けクラスタとし、対象文字を「d」として重み付け辞書に登録することにより、以後は正しく「cl」と認識されるようになる。
【0041】
次に、本実施例における切り出し候補位置の探索方法について説明する。
【0042】
ここでは、特定パターンとして、右上がりの部分をインクデータから抽出するものとする。特定パターンとしては、この他、▲1▼直前と直後にそれぞれ右下がり部が接続した右上がり部、▲2▼上または下に凸である点が3点連続している部分、などを採用することができる。複数の特定パターンを設定し、同時に異なる特定パターンからの切り出し候補位置が探索されるようにしてもよい。インクデータ中の右上がりの部分は、例えばインクデータ入力時のサンプリングで、2次元平面においてx成分の値もy成分の値も増加していることを検出することで抽出できる。もちろん、言語や文字種、文字の入力方向などに応じて、特定パターンを適宜に設定することができる。図4はこの方法による切り出し候補位置の探索の処理を説明するフローチャートである。
【0043】
まず、切り出し候補位置探索範囲W内のインクデータから特定パターンに該当する部分を抽出する(ステップ111)。図5は特定パターンの抽出の実例を示しており、「all」に対応するインクデータ20aに対し、図示太線の部分が特定パターンに該当する部分として抽出される。一方、切り出し用辞書23には、予め、特定パターンごとに1ないし複数の基準パターンが格納され、さらに、基準パターンごとに切り出し位置情報が格納されている。切り出し位置情報は、抽出されたインクデータ部分のどこを切り出し位置候補とするかを示す情報であり、本実施例では、切り出し位置情報として、切り出し位置パラメータを使用する。この切り出し位置パラメータは、抽出されたインクデータ部分に対し、そのインクデータ部分の延長に対して前(語頭)側から何%の位置を切り出し候補位置とするかの割合を示す値として定義される。この場合、設定される切り出し候補位置は必ずしも抽出されたインクデータ部分になくてもよく、このインクデータ部分の前後に連続する部分にあってもよい。そのような場合には、切り出し位置パラメータは負の値になったり(抽出されたインクデータ部分より語頭側に設定する場合)、100%を越えたり(抽出されたインクデータ部分より語尾側に設定する場合)する。
【0044】
また、切り出し位置情報としては、抽出されたインクデータ部分を置き換えるための置き換えパターンのテーブルを用意しておき、置き換えパターンへのポインタを上述の切り出し位置パラメータの代りに用いることも可能である。この場合、テーブル中での各置き換えパターンは、正規化された座標データとそのうちのどの点を切り出し候補位置とするかを示す値とで構成される。
【0045】
図6(a)〜(c)は、いずれも、特定パターンが右上がりの部分である場合の基準パターンの例を示す図である。図6(a)に示す基準パターン26は、右上がりの部分においてインクデータがほぼ一直線状となっているものである。このような基準パターン26に対して、切り出し位置パラメータを例えば50%と定める。このパラメータは、抽出されたインクデータ部分を1:1で内分する点を切り出し候補位置とすることに対応する。この基準パターンは続け字での「gl」、「gh」などの切り分けに対応したものである。図6(b)に示す基準パターン26は、初めのうちの勾配の方が後の方の勾配よりも急になっているものである。このような基準パターン26に対しては、切り出し位置パラメータを75%とし、該当部分の前から3/4の位置が切り出し候補位置となるようにする。これは、「v」や「w」に対応させたものである。図8(c)に示す基準パターン26は、初めのうちの勾配の方が後の方の勾配よりも緩くなっているものである。このような基準パターン26に対しては、切り出し位置パラメータを33.3%とし、該当部分の前から1/3の位置が切り出し候補位置となるようにする。これは、上述以外の通常のアルファベットに適用されるものである。
【0046】
図7は、図6(a)〜(c)に示す各基準パターンに対応した切り出し用辞書23の内容を示す図である。切り出し用辞書23において、基準パターンは、例えば特徴ベクトル(クラスタ)の形態で格納されている。基準パターンごとに複数の切り出し候補位置が設定されるようにしてもよい。
【0047】
ステップ111で特定パターンに該当する部分が抽出されたら、切り出し用辞書23を探索し(ステップ112)、この抽出されたデータとの距離値が所定のしきい値s以下である基準パターンが存在するかどうかを判断する(ステップ113)。つまり、抽出されたインクデータ部分に対してある程度以上類似している基準パターンがあるかどうかを調べる。距離値がしきい値s以下であるかの判別は、1画文字の認識に他ならないので、1画文字の認識に通常用いられている方法を使用する。類似している基準パターンが見つからなかった場合は、特定パターン(ここでは右上がりの部分)に予め設定されているデフォルトの位置で、インクデータに対する切り出し候補位置を設定し(ステップ115)、処理を終了する。デフォルトの位置は、例えば、抽出されたインクデータ部分の前から1/4の位置といったように定められている。一方、ステップ113で類似の基準パターンが見つかった場合には、探索された基準パターンに対応する切り出し位置パラメータを読み出し、その切り出し位置パラメータの値に基づいて、インクデータに対して切り出し候補位置を設定し(ステップ114)、処理を終了する。
【0048】
図5に示す例では、特定パターンとして抽出された部分が図示太線で示されているが、この部分は図7(c)に示す基準パターンと類似しているので、ステップ114で切り出し位置パラメータとして33.3%が読み出され、これによって、抽出されたインクデータ部分(図示太線)のうちの語頭側から1/3の位置に切り出し候補位置が設定される。
【0049】
次に、後処理(図3のフローチャートのステップ108)における次の切り出し開始位置の調整について説明する。アルファベットの続け字のインクデータを考えると、ある字の本体部分(文字認識の重要な部分)と次の字の本体部分との間に、接続するためだけの部分が存在したり、両方の字の本体部分に属する部分があったりする。図8(a)は、「le」のインクデータの例であるが、これから「l」が文字認識されて切り出されると、「e」の文字認識に必要な部分まで取り除かれてしまう。このような現象が起きたことは、切り出された部分が切り出されていない部分と交差していることなどから検出できるから、次の文字切り出しの開始位置を語頭側にずらす。図8(b)は、「ag」のインクデータの例であるが、「a」が文字認識されて文字切り出されても「g」のインクデータの前に、接続部分(文字間のつなぎのストローク)がかなり長く残ってしまい、「g」の認識に対する障害となる。最初に切り出された文字が何であるかやインクデータの形状によって単なる接続部分であるかどうかが識別できるから、そのような場合には、次の文字の切り出し開始位置を語尾側にずらす。このようにして、後処理では次の文字に対する切り出し開始位置(基点O)の調整を行なう。
【0050】
次に、本実施例における辞書学習について説明する。誤認識あるいは誤切り出しが行なわれた場合に利用者が入力・表示パネル11の所定箇所をダブルクリックすることなどによって、この学習処理が開始する。このとき、誤切り出しが行なわれたインクデータがそのまま保存されているとする。以下、このインクデータのことを入力データという。
【0051】
学習処理が開始すると、入力・表示パネル11に入力データが表示され、合わせて文字切り出しの位置が表示される。文字切り出しの位置が利用者の意図と異なっていた場合には、入力データに対してペン12によって利用者が意図した位置を指定する。利用者が指定した位置が切り出し候補位置として探索された切り出し候補位置と一致している場合には、認識辞書21と重み付け辞書22の学習が行なわれ、一致していなかった場合に切り出し用辞書23の学習が行なわれる。なお、正しい位置で文字切り出しが行なわれていたが文字の認識を誤った場合には、利用者は正しい文字を指定し、これによって認識辞書21と重み付け辞書22の学習が行なわれる。まず、切り出し用辞書23の学習について、図9を用いて説明する。
【0052】
最初に、利用者が指定した切り出し位置が、どの特定パターンに対応するインクデータ部分中にあるかを判別する(ステップ121)。そして、判別された特定パターンに該当する部分であってかつ利用者が指定した位置を含むインクデータ部分を抽出し(ステップ122)、その特定パターンに関し、抽出されたインクデータ部分と切り出し用辞書内の基準パターンとを比較し、類似のものがあるかどうかを探索する(ステップ123)。そして、抽出されたインクデータ部分との距離値が所定のしきい値以下である基準パターンが存在するかを調べる(ステップ125)。そのような基準パターンが存在する場合は、その基準パターンに設定されている切り出し位置パラメータが不適当であったために正しい切り出し位置が切り出し位置候補として探索されたかった場合であるので、切り出し用辞書辞書23中のその基準パターンに対応して格納されている切り出し位置パラメータを利用者が指定した位置に合わせて変更し(ステップ125)、ステップ127に移行する。一方、ステップ124で類似の基準パターンが見つからなかった場合は、利用者の書き癖に対応した基準パターンがそもそも切り出し用辞書23に格納されていない場合であるので、抽出されたインクデータ部分を基準パターンとして切り出し用辞書23に新規登録し、さらに、利用者が指定した位置に対応する値をこの基準パターンに対応する切り出し位置パラメータとして切り出し用辞書23に登録する(ステップ126)。
【0053】
ステップ127では、利用者が指定した位置を切り出し位置として、文字の再認識を実行し、切り出し用辞書23の学習を終了する。正しい切り出し位置に基づいて文字認識を行なうので、利用者が意図した通りの文字が認識されるはずであるが、なお、誤認識となっている場合には、利用者は正しい文字を指定して認識辞書21及び重み付け辞書22の学習を行なわせればよい。
【0054】
ここで、正しい切り出し位置を利用者が指定するためのユーザインタフェースについて説明する。
【0055】
図10(a)は切り出し位置を指定するためのインタフェース画面の一例を示しており、「clip」のつもりで入力したインクデータ20が「dip」と文字認識されたところを示している。インタフェース画面40中の太破線のアイコン41は、そこが認識された文字切り出し位置であることを示している。結局、「c」と「l」を分ける位置(図示Xの位置)が切り出し位置となっていないから、利用者は、このXの位置にペン12によって縦棒を描くような入力操作を行なう。これによって、利用者によって指定された切り出し位置としてXが入力されたことになる。図10(b)はこの入力後のインタフェース画面40を示しており、利用者によって指定された位置にも切り出し位置を表わすアイコン41が表示されている。
【0056】
さらに、文字認識での候補文字の選択と切り出し位置の指定とを同一のインタフェース画面上で行なうようにすることも可能である。図11(a)は利用者が「le」と入力したインクデータ20bを示しているが、図示+印のところに文字切り出し位置が決定したものとする。この文字切り出し位置で文字認識を行なうと、「lc」と認識されることとなり、利用者の意図とは反する結果となる。そこで、誤った字「c」に対してダブルクリックなどを行なうことにより、図11(b)に示されるようなインタフェース画面42が現れる。このインタフェース画面42では、文字切り出し後の1字分のインクデータがインクデータ表示領域44に表示されており、インクデータ表示領域44の上部には、「c」や「C」と並んでいる領域がある。この領域は、インクデータ表示領域44に表示されたインクデータに対する候補文字を選択するための候補文字表示領域43であり、候補文字選択領域43に表示された適宜の候補文字をクリックすることにより、その候補文字が認識文字として確定するようになっている。また、インクデータ表示領域44の下部には、「≪」や「≫」で表わされるスクロールボタン45,46が配置している。スクロールボタン45,46をクリックすることによって、1字分前後のインクデータをインクデータ表示領域44に表示することができるようになっている。
【0057】
ここでは、「l」と「e」との間の切り出し位置が適切でないから、「≪」のスクロールボタン45をクリックし、図11(c)に示されるように、「l」の部分のインクデータを表示させる。このとき、表示させているインクデータが変わったことにより、候補文字表示領域43の表示内容も変化している。そして、利用者は、意図する切り出し位置に対し、図示太破線で示されるように、ペン12で切り出し位置の指定を行なう。これによって、この位置が切り出し位置となり、「le」と正しく文字認識されるようになる。
【0058】
次に、正しい文字切り出し位置が切り出し候補位置として探索された場合の処理、すなわち認識辞書21及び重み付け辞書22の学習処理について、図12を用いて説明する。
【0059】
次順位以下の候補文字で認識文字の確定が行なわれたなどのことにより、入力データに対する正しい文字(以下、指定文字という)が利用者によって指定されると、まず、その入力データに対応する特徴ベクトルとその指定文字の既存のクラスタとの距離が第1のしきい値以下であるかどうかが判断される(ステップ131)。第1のしきい値以下の場合はステップ133に移行する。第1のしきい値を越える場合は、認識辞書21におけるその指定文字のクラスタがその利用者にとって適切なものではない場合なので、その特徴ベクトルをその指定文字のクラスタとして認識辞書21に追加登録する(ステップ132)。
【0060】
ステップ133では、認識辞書21内が検索され、入力データの特徴ベクトルに対して、指定文字のクラスタよりも近くに別の文字のクラスタがあるかどうかが判断される。「近い」とは、距離値が小さいということである。また、ここでいう別の文字とは、指定文字とは切り出し位置が異なる文字のことである。そのようなクラスタが存在しない場合には、誤切り出しによる誤認識ではない場合なので、学習処理を終了する。なお、切り出し位置が同じクラスタがより近くに存在する場合は、誤切り出しではなく、単なる誤認識の問題である。ここで入力データの特徴ベクトルとクラスタとを比較しているが、認識辞書がインクデータのストローク数別に編成されていて、異なるストローク数間での比較が直接行なえないような場合(アルファベット文字列の場合、続け字であっても、「i」の点部分や「t」の横棒部分、さらにはいくつかの大文字は複数ストロークで入力されるのが一般的である)には、データをストロークごとの特徴空間で比較して距離値を求め、その距離値を適宜、正規化して、異なるストローク数間での比較を行なえばよい。
【0061】
ステップ133で指定文字より近いクラスタがある場合には、その別の文字のクラスタと入力データの特徴ベクトルとの距離が第2のしきい値以下であるかを判断する(ステップ134)。第2のしきい値を越える場合は、重み付けクラスタの設定が適切でない場合なので処理を終了し、第2のしきい値以下の場合には、切り出し候補位置探索範囲Wの範囲内で最も遠くにある切り出し候補位置から切り出されたインクデータに対応する特徴ベクトルを重み付けクラスタとし、指定文字より順位が上位であった候補文字を重み付けの対象文字として、重み付け辞書22に登録する(ステップ135)。そして、重み付け辞書22を検索し、新規登録の重み付けクラスタの近くに既存の重み付けクラスタが存在するかどうかを調べ(ステップ136)、存在しない場合には処理を終了し、存在する場合には、矛盾した重み付けクラスタの存在と重み付け辞書22の必要以上の肥大化とを防ぐために、その既存の重み付けクラスタを重み付け辞書22から消去して(ステップ137)、処理を終了する。ステップ135において、切り出し候補位置探索範囲Wの範囲内で最遠の切り出し候補位置に基づき重み付けクラスタを設定しているが、仮に、最遠でない切り出し候補位置から重み付けクラスタを設定したとすると、後続のストロークを考慮しないで重み付け処理が行なわれることになり、上述した例で言えば、「clo」と入力しても「d」と認識されてしまうおそれがある。
【0062】
次に、この学習処理について、さらに詳しく説明する。図2(a)に示すようなインクデータ20が入力した場合、特徴空間30内において、切り出し候補位置Aまでのデータ及び切り出し候補位置Bまでのデータに対応する特徴ベクトルが、図13(a)に示されるように、それぞれ、図示×印の点34A及び点34Bのように配置したとする。また、認識辞書21における文字「d」のクラスタと文字「c」のクラスタとが、それぞれ図示□印の点31及び点32のように配置されているものとする。点34Aに最も近いクラスタは「c」のクラスタであり、点34Bに最も近いクラスタは「d」のクラスタであるから、これら「c」と「d」とがそれぞれ候補文字として選択される。点31と点34Bとの距離D1が点32と点34Aとの距離D2より長いので、重み付け処理を行なわない限り、距離D2に対応する方、すなわち候補文字「c」の方が高い順位となる。図2は「dip」を入力したものであるから、誤切り出しとなる。
【0063】
そこで、図13(b)に示すように、切り出し候補位置探索範囲W内で遠い方の切り出し候補位置Bに対応するインクデータを重み付けクラスタ33として設定する。この場合の重み付け対象文字は「c」である。このように重み付けクラスタ33を重み付け辞書22に登録したのち、図2(a)に示すのとほぼ同様のインクデータが入力したものとすると、図2(a)に示したのとほぼ同様に、切り出し候補位置が検出される。ここでもこの切り出し候補位置をA及びBとすると、それらの切り出し候補位置でのインクデータは、特徴空間30内で、それぞれ、点35A及び点35Bに配置する。この場合も点35Aに最も近いクラスタは「c」クラスタであり、点35Bに最も近いクラスタは「d」のクラスタであるから、これら「c」と「d」とがそれぞれ候補文字として選択される。そして、点31と点35Bの距離D3が、点32と点35Aの距離D4よりも長いため、重み付け処理を行なわなければ、「c」が切り出されることになる。しかし、点35Bは、図13(c)に示すように、重み付けクラスタ33から所定のしきい値rの範囲内にあるため、候補文字「c」に対して重み付けがなされ、「c」に対する距離D4に重み付け量δが加算される。その結果、D3<D4+δとなって、「d」が切り出され、正しい文字切り出しが行なわれることになる。
【0064】
以上、本発明の実施例について、続け字で手書き文字入力されたラテンアルファベットの文字列を対象とした場合を例に挙げて説明したが、本発明が対象とする文字種はこれに限定されるものではなく、キリル文字やアラビア文字の文字列であって続け字で入力されたものに対しても本発明は有効である。さらには、入力方向が縦である続け字の文字列に対しても本発明を適用することができる。
【0065】
【発明の効果】
以上説明したように本発明は、まず切り出し候補位置を探索し、次に認識辞書と重み付け辞書とを用いて文字認識を行ない切り出し候補位置の中から最も適切なものを選ぶ、という2段階で1文字ごとの文字切り出しと文字認識を実行し、さらに、切り出し候補位置の探索に際して、インクデータから特定パターンに該当する部分を抽出し、抽出されたインクデータ部分に類似している基準パターンを切り出し用辞書から探索し、その基準パターンに対応する切り出し位置情報によって切り出し候補位置を定めることにより、例えばインクデータ中の各文字が極端に寝ているような場合であっても、適切な文字切り出しが行なえるようになるという効果がある。また、切り出し用辞書の学習が行なえるので、利用者の書き癖を反映した切り出し候補位置の設定が可能になり、誤切り出し、誤認識のおそれが低下する。さらに本発明は、重み付けクラスタを重み付け辞書に設定して切り出されたインクデータがこの重み付けクラスタに近い場合にはこの重み付けクラスタの対象文字が文字認識され難くなるように構成することにより、利用者の書き癖に応じて重み付けクラスタを重み付け辞書に登録しておけば、誤切り出しが生じ難くなって利用者の意図に正確な文字認識を行なうことが可能になるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例の手書き文字認識装置の構成を示すブロック図である。
【図2】 (a)は切り出し候補位置探索範囲と切り出し候補位置を説明する図、(b)は重み付け辞書を説明する図である。
【図3】文字認識処理の流れを示すフローチャートである。
【図4】切り出し候補位置を探索する手順を示すフローチャートである。
【図5】抽出された特定パターンの一例を示す図である。
【図6】 (a)〜(c)はそれぞれ基準パターンごとの切り出し候補位置を示す図である。
【図7】切り出し用辞書の構成の一例を示す図である。
【図8】 (a),(b)は後処理を説明するための図である。
【図9】切り出し用辞書の学習を説明するフローチャートである。
【図10】 (a),(b)は切り出し位置の修正処理の一例を示す図である。
【図11】 (a)〜(c)は切り出し位置の修正処理の別の例を示す図である。
【図12】認識辞書と重み付け辞書の学習を示すフローチャートである。
【図13】 (a)〜(c)は、学習と文字認識との関係を説明する図である。
【符号の説明】
11 入力・表示パネル
12 ペン
13 入力処理部
14 インクデータ格納部
15 文字認識エンジン部
16 認識結果格納部
17 出力処理部
18 辞書更新部
20,20a,20b インクデータ
21 認識辞書
22 重み付け辞書
23 切り出し用辞書
26 基準パターン
30 特徴空間
33 重み付けクラスタ
101〜109,111〜115,121〜128,131〜137 ステップ

Claims (4)

  1. 利用者が入力したインクデータから文字切り出しを行なって手書き文字認識を行なうともに文字切り出しに使用される辞書の学習を行なう手書き文字認識学習方法において
    字とその文字に対するクラスタを格納した認識辞書と、予め定められた特定パターンごとに当該特定パターンに属する1または複数の基準パターンとその基準パターンごとの切り出し位置情報を格納する切り出し用辞書とを使用し、
    未切り出しのインクデータに対し、前記未切り出しのインクデータの先頭から手書き文字の入力方向に沿って所定の長さの候補位置探索範囲を設定する探索範囲設定工程と、
    前記特定パターンに該当する部分を前記候補位置探索範囲内のインクデータから抽出し、抽出された部分と類似する基準パターンが前記切り出し用辞書の中に格納されているかを調べ、格納されている場合にはその類似する基準パターンに対応する切り出し位置情報で指定される位置を切り出し候補位置とし、格納されていない場合には前記特定パターンに対してデフォルトとして定められている位置を切り出し候補位置とする候補位置探索工程と、
    前記インクデータに対し前記切り出し候補位置のそれぞれで文字切り出しが行なわれたとして前記認識辞書との比較・照合を行ない、前記切り出し位置ごとに当該切り出し候補位置に対応する候補文字と対応するクラスタからの当該候補文字の距離値とを求める認識工程と
    用者からの学習の指示に応じ、前記利用者が指定した位置を含みかつ前記特定パターンに該当する部分を前記インクデータから抽出し、抽出された部分と類似する基準パターンが前記切り出し用辞書に格納されている場合には、前記利用者が指定した位置に対応するように、前記類似する基準パターンに対応する切り出し位置情報を更新する学習工程と、
    を有することを特徴とする手書き文字認識学習方法。
  2. 前記学習工程において、前記抽出された部分と類似する基準パターンが前記切り出し用辞書に格納されていない場合には、前記抽出された部分を基準パターンとして前記切り出し用辞書に新規登録し、前記利用者が指定した位置に対応する切り出し位置情報をその基準パターンを対応づけて前記切り出し用辞書に格納する請求項1に記載の手書き文字認識学習方法。
  3. 利用者が入力したインクデータから文字切り出しを行なって手書き文字認識を行なう手書き文字認識装置において、
    インクデータを入力する入力手段と、
    インクデータを格納するインクデータ格納手段と、
    文字とその文字に対するクラスタを格納した認識辞書と、
    予め定められた特定パターンごとに当該特定パターンに属する1または複数の基準パターンとその基準パターンごとの切り出し位置情報を格納する切り出し用辞書と、前記インクデータ格納手段中の未切り出しのインクデータに対し、前記未切り出しのインクデータの先頭から手書き文字の入力方向に沿って所定の長さの候補位置探索範囲を設定し、インクデータに対する文字切り出しの位置の候補を切り出し候補位置とし、前記特定パターンに該当する部分を前記候補位置探索範囲内のインクデータから抽出し、抽出された部分と類似する基準パターンが前記切り出し用辞書の中に格納されているかを調べ、格納されている場合にはその類似する基準パターンに対応する切り出し位置情報で指定される位置を切り出し候補位置とし、格納されていない場合には前記特定パターンに対してデフォルトとして定められている位置を切り出し候補位置とし、前記インクデータに対し前記切り出し候補位置のそれぞれで文字切り出しが行なわれたとして前記認識辞書との比較・照合を行ない、前記切り出し位置ごとに当該切り出し候補位置に対応する候補文字と対応するクラスタからの当該候補文字の距離値とを求め、当該距離値の大小に応じて前記候補文字の中から認識文字を決定する文字認識手段と、
    利用者からの学習の指示に応じ、前記利用者が指定した位置を含みかつ前記特定パターンに該当する部分をインクデータから抽出し、抽出された部分と類似する基準パターンが前記切り出し用辞書に格納されている場合には、前記利用者が指定した位置に対応するように、前記類似する基準パターンに対応する切り出し位置情報を更新する辞書更新手段と、
    を有することを特徴とする手書き文字認識装置。
  4. 前記辞書更新手段が、前記抽出された部分と類似する基準パターンが前記切り出し用辞書に格納されていない場合には、前記抽出された部分を基準パターンとして前記切り出し用辞書に新規登録し、前記利用者が指定した位置に対応する切り出し位置情報をその基準パターンを対応づけて前記切り出し用辞書に格納するものである請求項3に記載の手書き文字認識装置
JP16612495A 1995-06-30 1995-06-30 手書き文字認識学習方法及び手書き文字認識装置 Expired - Fee Related JP3720876B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16612495A JP3720876B2 (ja) 1995-06-30 1995-06-30 手書き文字認識学習方法及び手書き文字認識装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16612495A JP3720876B2 (ja) 1995-06-30 1995-06-30 手書き文字認識学習方法及び手書き文字認識装置

Publications (2)

Publication Number Publication Date
JPH0916719A JPH0916719A (ja) 1997-01-17
JP3720876B2 true JP3720876B2 (ja) 2005-11-30

Family

ID=15825482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16612495A Expired - Fee Related JP3720876B2 (ja) 1995-06-30 1995-06-30 手書き文字認識学習方法及び手書き文字認識装置

Country Status (1)

Country Link
JP (1) JP3720876B2 (ja)

Also Published As

Publication number Publication date
JPH0916719A (ja) 1997-01-17

Similar Documents

Publication Publication Date Title
US7756335B2 (en) Handwriting recognition using a graph of segmentation candidates and dictionary search
US5454046A (en) Universal symbolic handwriting recognition system
US7885464B2 (en) Apparatus, method, and program for handwriting recognition
US7596272B2 (en) Handling of diacritic points
US5467407A (en) Method and apparatus for recognizing cursive writing from sequential input information
US5812697A (en) Method and apparatus for recognizing hand-written characters using a weighting dictionary
US5315667A (en) On-line handwriting recognition using a prototype confusability dialog
US7778464B2 (en) Apparatus and method for searching for digital ink query
US5285505A (en) Method and apparatus for improving prototypes of similar characters in on-line handwriting recognition
JP3452774B2 (ja) 文字認識方法
KR19990022352A (ko) 필기 입력의 문자 인식 방법 및 장치
JPH076204A (ja) 手書き文字認識システムにおけるライン・スペース及びベース・ラインの調整方法
JPH08161429A (ja) 文字を認識するための方法および装置
Singh et al. Online handwritten Gurmukhi words recognition: An inclusive study
JP3675511B2 (ja) 手書き文字認識方法及び装置
JP3720873B2 (ja) 手書き文字認識方法及びその装置
JP3720876B2 (ja) 手書き文字認識学習方法及び手書き文字認識装置
JPH0610829B2 (ja) 手書き文字認識方法
Powalka An algorithm toolbox for on-line cursive script recognition
EP1978471B1 (en) Presenting recognised handwritten symbols
SE528063C2 (sv) Metod och anordning för segmenteringsbaserad igenkänning
JPH06266899A (ja) 手書き入力システム
JPS6111891A (ja) 手書き文字図形認識装置
JPH08190603A (ja) 文字認識装置及びその候補文字表示方法
JP3164962B2 (ja) 文字認識辞書作成方法および装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050617

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20050617

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: 20050824

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050909

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees