文字認識装置及びプログラム
【課題】文字列に複合文字が含まれる場合であっても、文字列を精度よく認識する。
【解決手段】文字認識装置は、文字列を表すデータを取得し、取得したデータが表す文字列から、濁点又は半濁点を判別するために予め決められた条件を満たす文字を特定する。次に、文字認識装置は、特定された文字と、この文字が複合文字の一の構成要素である場合にこの複合文字の他の構成要素となる文字とが近づくように、この特定された文字を移動する。そして、文字認識装置は、文字の形及び隣接する文字間の関連性に基づいて、文字の移動が行われた後の文字列を認識する。
【解決手段】文字認識装置は、文字列を表すデータを取得し、取得したデータが表す文字列から、濁点又は半濁点を判別するために予め決められた条件を満たす文字を特定する。次に、文字認識装置は、特定された文字と、この文字が複合文字の一の構成要素である場合にこの複合文字の他の構成要素となる文字とが近づくように、この特定された文字を移動する。そして、文字認識装置は、文字の形及び隣接する文字間の関連性に基づいて、文字の移動が行われた後の文字列を認識する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文字認識装置及びプログラムに関する。
【背景技術】
【0002】
手書きの文字をテキストデータに変換する文字認識技術が知られている。例えば、特許文献1には、濁点又は半濁点付き文字が隣接する2個の文字枠に記入されたときに、その文字を濁点又は半濁点付きの1個の文字に変換する技術が記載されている。特許文献2には、手書きで入力された文字が大文字であるか小文字であるかを判別する技術が記載されている。特許文献3には、濁点又は半濁点を正確に識別する技術が記載されている。特許文献4には、同じ形状で大きさの異なる文字を認識候補として表示する技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平6−76098号公報
【特許文献2】特開平5−12245号公報
【特許文献3】特開平7−262314号公報
【特許文献4】特開平9−231316号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、文字列に複合文字が含まれる場合であっても、文字列を精度よく認識することを目的とする。
【課題を解決するための手段】
【0005】
本発明の請求項1に係る文字認識装置は、文字列を表すデータを取得する取得部と、前記取得されたデータが表す文字列から、複数の構成要素により構成される複合文字の一の構成要素を判別するために予め決められた条件を満たす文字を特定する特定部と、前記特定された文字と、当該文字が前記複合文字の一の構成要素である場合に当該複合文字の他の構成要素となる文字とが近づくように、当該特定された文字を移動する移動部と、文字の形及び隣接する文字間の関連性に基づいて、前記移動部により文字の移動が行われた後の文字列を認識する認識部とを備えることを特徴とする。
【0006】
本発明の請求項2に係る文字認識装置は、請求項1に記載の構成において、文字列において一の文字に続いて他の文字が現れる可能性の程度を示す値を記憶する記憶部を備え、前記認識部は、前記移動が行われた後の文字列を認識するときに、認識の対象となる文字の形に基づいて複数の文字を認識候補として特定し、前記記憶部に記憶された値に基づき、当該特定された複数の文字の中から、当該認識の対象となる文字の直前にある文字に続いて現れる可能性が最も高い文字を選択することを特徴とする。
【0007】
本発明の請求項3に係る文字認識装置は、請求項2に記載の構成において、前記文字列は、複数の区切られた領域の中に記載されたものであり、前記移動された文字が記載された領域と、前記他の構成要素となる文字が記載された領域とを統合する統合部を備え、前記認識部は、前記認識の対象となる文字が、前記統合部により統合されていない領域に記載されている場合には、当該文字の形に基づいて1字の文字を認識候補として特定し、当該認識の対象となる文字が、前記統合部により統合された領域に記載されている場合には、当該文字の形に基づいて1字又は複数字の文字を認識候補として特定することを特徴とする。
【0008】
本発明の請求項4に係る文字認識装置は、請求項1から3のいずれか1項に記載の構成において、前記特定部は、濁点又は半濁点を判別するために予め決められた条件を満たす文字を特定し、前記移動部は、前記特定された文字と、当該特定された文字の直前にある文字とが近づくように、当該特定された文字を移動することを特徴とする。
【0009】
本発明の請求項5に係る文字認識装置は、請求項4に記載の構成において、前記条件は、文字の位置及び画数であることを特徴とする。
【0010】
本発明の請求項6に係るプログラムは、コンピュータに、文字列を表すデータを取得するステップと、前記取得されたデータが表す文字列から、複数の構成要素により構成される複合文字の一の構成要素を判別するために予め決められた条件を満たす文字を特定するステップと、前記特定された文字と、当該文字が前記複合文字の一の構成要素である場合に当該複合文字の他の構成要素となる文字とが近づくように、当該特定された文字を移動するステップと、文字の形及び隣接する文字間の関連性に基づいて、前記文字の移動が行われた後の文字列を認識するステップとを実行させるためのプログラムであることを特徴とする。
【発明の効果】
【0011】
請求項1に係る発明によれば、文字列に複合文字が含まれる場合であっても、文字の移動を行わずに文字列の認識を行う場合に比べて、文字列を精度よく認識することができる。
請求項2に係る発明によれば、記憶部に記憶された値を用いずに文字列を認識する場合に比べて、文字列の認識精度が向上する。
請求項3に係る発明によれば、認識候補として特定される文字の字数に全く制限がない場合に比べて、文字列の認識精度が向上する。
請求項4に係る発明によれば、濁点又は半濁点とその他の構成要素により構成される複合文字を認識することができる。
請求項5に係る発明によれば、文字の位置及び画数以外の条件が用いられる場合に比べて、濁点又は半濁点を判別するために予め決められた条件を満たす文字を特定する処理にかかる時間が短くなる。
請求項6に係る発明によれば、文字列に複合文字が含まれる場合であっても、文字の移動を行わずに文字列の認識を行う場合に比べて、文字列を精度よく認識することができる。
【図面の簡単な説明】
【0012】
【図1】文字認識装置の構成を示す図。
【図2】辞書に記述された遷移確率の一例を示す図。
【図3】制御部の機能構成を示す図。
【図4】文字列の一例を示す図。
【図5】制御部が行う処理を示すフローチャート。
【図6】文字の移動を説明する図。
【図7】統合された枠の一例を示す図。
【図8】文字列を認識する処理を説明する図。
【図9】文字列を認識する処理を説明する図。
【図10】変形例に係る複合文字を構成する文字を示す図。
【図11】変形例に係る複合文字を構成する文字を示す図。
【発明を実施するための形態】
【0013】
図1は、本実施形態に係る文字認識装置1の構成を示す図である。文字認識装置1は、制御部11と、記憶部12と、入出力部13とを備える。制御部11は、CPU(Central Processing Unit)とメモリを備える。CPUは、メモリに記憶されているプログラムを実行することにより、各種の処理を行う。記憶部12は、例えば不揮発性のメモリを備え、文字認識に用いられる辞書120を記憶する。入出力部13は、外部の装置とデータのやり取りを行う。
【0014】
辞書120には、複数の人名が登録されている。また、辞書120には、人名において一の文字に続いて他の文字が現れる可能性の程度を示す遷移確率が記述されている。なお、この一の文字と他の文字とは、それぞれ一字であってもよいし複数字であってもよい。図2は、辞書120に記述された遷移確率の一例を示す図である。図2では、文字「エ」から文字「ビ」への遷移確率として0.6が記述され、文字「ヒハ」への遷移確率として0.2が記述され、文字「ヒリ」への遷移確率として0.1が記述されている。これは、文字「エ」の後には、文字「ヒハ」や文字「ヒリ」が現れるよりも、文字「ビ」が現れる方が、より確からしい文字列になることを意味する。
【0015】
図3は、制御部11の機能構成を示す図である。制御部11は、取得部21と、特定部22と、移動部23と、統合部24と、認識エンジン25として機能する。取得部21は、文字列を表すデータを取得する。この文字列は、例えば複数の区切られた領域の中に記載されたものである。特定部22は、取得部21により取得されたデータが表す文字列から、複数の構成要素により構成される複合文字の一の構成要素を判別するために予め決められた条件を満たす文字を特定する。移動部23は、特定部22により特定された文字と、この文字が複合文字の一の構成要素である場合にこの複合文字の他の構成要素となる文字とが近づくように、この特定された文字を移動する。統合部24は、移動部23により移動された文字が記載された領域と、移動された文字が複合文字の一の構成要素である場合にこの複合文字の他の構成要素となる文字が記載された領域とを統合する。認識エンジン25は、文字の形及び隣接する文字間の関連性に基づいて、移動部23により文字の移動が行われた後の文字列を認識する。例えば、認識エンジン25は、認識の対象となる文字が、統合部24により統合されていない領域に記載されている場合には、文字の形に基づいて1字の文字を認識候補として特定し、認識の対象となる文字が、統合部24により統合された領域に記載されている場合には、文字の形に基づいて1字又は複数字の文字を認識候補として特定する。続いて、認識エンジン25は、認識の対象となる文字の形に基づいて複数の文字を認識候補として特定し、記憶部12に記憶された遷移確率に基づき、この特定された複数の文字の中から、認識の対象となる文字の直前の文字に続いて現れる可能性が最も高い文字を選択する。
【0016】
次に、文字認識装置1の動作について説明する。文字認識装置1には、入出力部13を介して文字列を示すデータが入力される。図4は、入力されたデータが表す文字列の一例を示す図である。文字列に含まれる文字は、それぞれ枠31〜39の中に記載されている。この枠31〜39は、それぞれ区切られた領域である。枠31〜39の大きさ及び位置は予め決められている。この文字列には、複数の構成要素により構成される複合文字「ビ」及び「ジ」が含まれる。複合文字「ビ」は、文字「ヒ」と濁音とで構成される。図4に示すように、この文字「ヒ」と濁音とは異なる枠に記載されている。同様に、複合文字「ジ」は、文字「シ」と濁点とで構成される。図4に示すように、この文字「シ」と濁点とは異なる枠に記載されている。制御部11は、入出力部13を介して入力されたデータを取得すると、以下の処理を行う。
【0017】
図5は、制御部11が行う処理を示すフローチャートである。ステップS1において、制御部11は、変数iを初期値の1に設定する。また、制御部11は、変数Nを設定する。具体的には、制御部11は、入力されたデータに基づき、枠に記載された文字の数を算出する。そして、算出した数に1を加えた数を変数Nとして設定する。図4では、枠31〜39に9個の文字が記載されている。したがって、9に1を加えた10が変数Nとして設定される。制御部11は、変数iがNよりも小さい間、変数iに1を加えてステップS1からS6までの処理を繰り返す。
【0018】
ステップS2において、制御部11は、入力されたデータに基づき、i番目の文字が濁点又は半濁点である可能性があるか否かを判定する。なお、このi番目とは、文字列における文字の並び順を示す。したがって、文字列において先頭の文字が1番目の文字となり、その次の文字が2番目の文字となる。制御部11は、濁点又は半濁点を判別するために予め決められた条件を用いて、濁点又は半濁点である可能性がある文字を特定する。ここでは、文字が枠の3分の2よりも上側に位置し、且つ文字の画数が2以下であるという条件を用いて、濁点又は半濁点である可能性がある文字が特定される。図4では、枠33に記載された文字が、枠33の3分の2よりも上側に位置し、且つ文字の画数が2以下である。同様に、枠39に記載された文字は、枠39の3分の2よりも上側に位置し、且つ文字の画数が2以下である。この場合、枠33及び枠39に記載された文字は、それぞれ濁点又は半濁点である可能性があると判定される。一方、これ以外の文字については、この条件に当てはまらないため、濁点又は半濁点である可能性がないと判定される。
【0019】
i番目の文字が濁点又は半濁点である可能性がない場合(ステップS2;NO)、制御部11は、ステップS3に進む。ステップS3において、制御部11は、i番目の文字を認識するときに用いる方法として、孤立文字認識を指定する。これにより、図4に示す枠33及び39以外の枠に記載された文字については、この孤立文字認識が適用される。孤立文字認識とは、1つの枠に1字の文字が記載されていることを前提として、文字認識を行う方法である。したがって、孤立文字認識では、1つの枠から1字の文字が認識される。一方、i番目の文字が濁点又は半濁点である可能性がある場合(ステップS2;YES)、制御部11は、ステップS4に進む。
【0020】
ステップS4において、制御部11は、i番目の文字とi−1番目の文字とが近づくように、i番目の文字を移動する。図4では、枠33に記載された文字と枠39に記載された文字とがそれぞれ移動される。図6は、この文字の移動を説明する図である。図6では、枠33に記載された文字がi番目の文字であり、枠32に記載された文字がi−1番目の文字である。まず、制御部11は、枠33に記載された文字の外接矩形43と、枠32に記載された文字の外接矩形42とを求める。次に、制御部11は、外接矩形43が外接矩形42に接するまで、枠33に記載された文字を移動する。これにより、枠33に記載された文字と、枠32に記載された文字との間の距離が縮まり、これらの文字を単一の複合文字であると認識し易くなる。
【0021】
ステップS5において、制御部11は、i番目の文字が記載された枠とi−1番目の文字が記載された枠とを統合する。図4では、枠32と枠33とが統合され、さらに枠38と枠39とが統合される。図7は、統合された枠の一例を示す図である。図7では、図4に示す枠32と枠33とが統合されて、統合枠32aが生成されている。また、図4に示す枠38と枠39とが統合されて、統合枠38aが生成されている。なお、この枠の統合とは、文字認識を行うときに、統合前の複数の枠に記載された文字を1まとまりとして扱うことを意味する。したがって、統合枠の大きさ及び形状は、1まとまりとして扱う文字を含むものであればよい。次に、制御部11は、統合枠に記載された文字を認識するときに用いる方法として、枠なし文字列認識を指定する。これにより、図7に示す統合枠32a及び統合枠38aに記載された文字については、この枠なし文字列認識が適用される。枠なし文字列認識とは、1つの枠に記載されている文字の数が決まっていないことを前提として、文字認識を行う方法である。したがって、枠なし文字列認識では、1つの枠から1字又は複数字の文字が認識される。なお、枠なし文字列認識では、枠に記載された文字の字数に制限がないため、一般的には、孤立文字認識よりも文字認識の精度が低くなる。ステップS6において、制御部11は、変数iが変数Nになると、処理の繰り返しを終了する。
【0022】
ステップS7において、制御部11は、記憶部12に記憶された辞書120を用いて、文字の移動が行われた後の文字列を認識する処理を行う。図8は、文字列を認識する処理を説明する図である。まず、制御部11は、各枠に記載された文字の形に基づき、認識候補となる文字を特定する。このとき、制御部11は、枠31及び枠34〜37に記載された文字については、孤立文字認識により1字の文字を特定する。一方、制御部11は、統合枠32a及び統合枠38aに記載された文字については、枠なし文字列認識により1字又は複数字の文字を特定する。
【0023】
次に、制御部11は、文脈処理を行って、認識候補として特定された文字の中から、隣接する文字との関連性が高い文字を選択する。図8では、枠32aに記載された文字の認識候補として、文字「ビ」、文字「ヒハ」、及び文字「ヒリ」が特定されている。この場合、制御部11は、枠31に記載された文字からこれら各文字への遷移確率に基づき、認識候補として特定された文字の中から、枠31に記載された文字に続いて現れる可能性が最も高い文字を選択する。ここでは、枠31に記載された文字として、「エ」が認識された場合を想定する。図2では、文字「エ」から文字「ビ」への遷移確率として0.6が記述され、文字「ヒハ」への遷移確率として0.2が記述され、文字「ヒリ」への遷移確率として0.1が記述されている。この場合、文字「エ」から文字「ビ」への遷移確率が最も高いため、文字「ビ」が選択される。
【0024】
このようにして文字列を認識した後、制御部11は、認識した文字列を表すテキストデータを生成する。生成されたテキストデータは、入出力部13から外部の装置へ出力される。例えば、テキストデータは、画像形成装置に出力される。この場合、画像形成装置は、文字認識装置1から出力されたテキストデータが表す文字列を用紙に形成する。あるいは、テキストデータは、表示装置に出力されてもよい。この場合、表示装置は、文字認識装置1から出力されたテキストデータが表す文字列を表示する。
【0025】
なお、図4に示す枠35に記載された文字は濁点でも半濁点でもないが、画数が2以下であるため、例えばこの文字が枠35の3分の2よりも上側の位置に記載された場合には、ステップS2において、濁点又は半濁点である可能性があると誤判定されることがある。この場合、ステップS4では、枠35に記載された文字と枠34に記載された文字とが近づくように、枠35に記載された文字が移動される。ステップS5では、枠34と枠35とが統合され、統合枠34aが生成される。そして、この統合枠34aに記載された文字を認識するときに用いられる方法として、枠なし文字列認識が指定される。
【0026】
そして、ステップS7では、統合枠34aに記載された文字の形に基づき、図9に示すような文字が認識候補として特定される。統合枠34aに記載された文字「ニ」は、濁点と形状が類似している。したがって、図9では、統合枠34aに記載された文字の認識候補として、文字「ダ」、及び文字「タニ」が特定されている。ここでは、枠32aに記載された文字として、「ビ」が認識された場合を想定する。図2では、文字「ビ」から文字「ダ」への遷移確率として0.1が記述され、文字「タニ」への遷移確率として0.3が記述されている。この場合、文字「ビ」から文字「タニ」への遷移確率が最も高いため、文字「タニ」が選択される。
【0027】
このように、この実施形態では、濁点又は半濁点である可能性がある文字が特定された場合に、その文字と、その文字の直前にある文字とを組み合わせて1つの複合文字とするか否かを、文脈処理により決定する。したがって、濁点又は半濁点ではない文字が濁点又は半濁点である可能性があると誤判定された場合にも、文脈処理により正しい文字に修正される。
【0028】
本発明は、上述した実施形態に限定されるものではなく、変形して実施されてもよい。以下、変形例をいくつか説明する。また、以下の変形例は、それぞれ組み合わせて実施されてもよい。
【0029】
(変形例1)
文字列には、記号や数字が含まれてもよい。記号や数字には、例えばセルシウス度の記号、分数、括弧つきの数字のように、複数の構成要素により構成されるものがある。これらの記号又は数字は、濁点又は半濁点が付加された文字と同様に、複合文字として扱われてもよい。また、文字列には、日本語以外の言語の文字が含まれていてもよい。日本語以外の言語の文字には、例えばアクセント記号付きのラテン文字、ハングル文字のように、複数の構成要素により構成されるものがある。これらの文字は、濁点又は半濁点が付加された文字と同様に、複合文字として扱われてもよい。さらに、文字列には、漢字が含まれていてもよい。漢字には、偏(左側に配置される構成要素)とつくり(右側に配置される構成要素)とで構成されるものがある。これらの漢字は、濁点又は半濁点が付加された文字と同様に、複合文字として扱われてもよい。
【0030】
このように、複合文字は、濁点又は半濁点が付加された文字に限らない。複合文字は、複数の構成要素により構成される文字(記号、数字を含む。)であればよい。この構成要素とは、複合文字の一部であり、複合文字の他の部分から離れて記載される可能性があるものをいう。したがって、一般的に、単一の複合文字を構成する複数の構成要素は、それぞれ分離したものである。また、各構成要素は、単独でも使用される文字であってもよい。
【0031】
ここで、文字列にこのような複合文字が含まれる場合の処理の概念について説明する。図10は、複合文字40を構成する文字41及び42を示す図である。文字41は、複合文字40において左側に配置される構成要素である。文字42は、複合文字40において右側に配置される構成要素である。この文字41及び42は、それぞれ1つの枠の中に記載されている。この場合、制御部11は、入力されたデータが表す文字列から、複合文字40の一の構成要素を判別するために予め決められた条件を満たす文字を特定する。この条件は、構成要素の特徴であり、例えば構成要素の位置及び画数である。あるいは、制御部11は、パターンマッチングを行うことにより、複合文字40の一の構成要素と類似する文字を特定してもよい。次に、制御部11は、特定した文字と他の構成要素となる文字とが近づくように、特定した文字を移動する。例えば、複合文字40の左側の構成要素の特徴が条件として用いられた場合には、文字41が特定される。この場合、図10(b)に示すように、特定された文字41と文字42とが近づくように、文字41が右側に移動される。一方、複合文字40の右側の構成要素の特徴が条件として用いられた場合には、文字42が特定される。この場合、図10(a)に示すように、特定された文字42と文字41とが近づくように、文字42が左側に移動される。
【0032】
この処理によれば、例えば文字列にセルシウス度の記号が含まれている場合には、この記号において右側に配置される文字「C」と左上に配置される丸とが近づくように、文字「C」又は丸が移動される。これにより、セルシウス度の記号を構成する丸と文字「C」との間の距離が縮まり、これらの文字が単一の複合文字であると認識され易くなる。また、文字列に偏とつくりとで構成される漢字が含まれている場合には、この漢字において左側に配置される偏と右側に配置されるつくりとが近づくように、偏又はつくりが移動される。これにより、この漢字を構成する偏とつくりとの間の距離が縮まり、これらの文字が単一の複合文字であると認識され易くなる。
【0033】
図11は、複合文字50を構成する文字51及び52を示す図である。文字51は、複合文字50において上側に配置される構成要素である。文字52は、複合文字50において下側に配置される構成要素である。この文字51及び52は、それぞれ1つの枠の中に記載されている。この場合、制御部11は、入力されたデータが表す文字列から、複合文字50の一の構成要素を判別するために予め決められた条件を満たす文字を特定する。この条件は、構成要素の特徴であり、例えば構成要素の位置及び画数である。あるいは、制御部11は、パターンマッチングを行うことにより、複合文字50の一の構成要素と類似する文字を特定してもよい。次に、制御部11は、特定した文字と他の構成要素となる文字とが近づくように、特定した文字を移動する。例えば、複合文字50の上側の構成要素の特徴が条件として用いられた場合には、文字51が特定される。この場合、図11(a)に示すように、特定された文字51と文字52とが近づくように、文字51が下側に移動される。一方、複合文字50の下側の構成要素の特徴が条件として用いられた場合には、文字52が特定される。この場合、図11(b)に示すように、特定された文字52と文字51とが近づくように、文字52が上側に移動される。
【0034】
この処理によれば、例えば文字列にアクセント記号付きのラテン文字が含まれている場合には、このラテン文字において上側に配置されるアクセント記号と下側に配置される文字とが近づくように、例えばアクセント記号が移動される。これにより、このラテン文字を構成する文字とアクセント記号との間の距離が縮まり、これらの文字が単一の複合文字であると認識され易くなる。
【0035】
なお、複合文字は、3つ以上の構成要素により構成されてもよい。この場合、制御部11は、構成要素の数をMとしたときに、少なくともM−1個の構成要素となる可能性がある文字を特定し、特定した文字と他の構成要素となる文字とが近づくように、特定した文字をそれぞれ移動する。
【0036】
(変形例2)
実施形態では、ステップS4において、i番目の文字の外接矩形がi−1番目の文字の外接矩形に接するまで、i番目の文字が移動されていた。しかしながら、これらの外接矩形が接する前に文字の移動を止めてもよい。また、i番目の文字とi−1番目の文字とが重ならなければ、これらの外接矩形が重なるまで文字の移動を行ってもよい。また、i番目の文字とi−1番目の文字とが両方とも移動されてもよい。要するに、制御部11は、複合文字の一の構成要素である可能性がある文字と、その複合文字の他の構成要素となる文字とが近づくように、文字を移動すればよい。
【0037】
(変形例3)
実施形態では、文字が枠の3分の2よりも上側に位置し、且つ文字の画数が2以下であるという条件を用いて、濁点又は半濁点である可能性がある文字を特定していた。しかしながら、例えばi番目の文字と濁点又は半濁点とをパターンマッチングすることにより、濁点又は半濁点である可能性がある文字を特定してもよい。ただし、この場合には、処理量が増えるため、濁点又は半濁点である可能性がある文字を特定する処理にかかる時間が長くなる。
【0038】
(変形例4)
辞書120に登録される情報は、人名に限らない。例えば、インターネット上で公開されている文章に含まれる文字列であってもよい。また、辞書120に記述される遷移確率は、予め大量の文章を学習して求めたものであってもよい。
【0039】
(変形例5)
実施形態では、認識の対象となる文字の1つ前にある文字と、認識の対象となる文字との関連性に基づいて、文脈処理が行われていた。しかしながら、認識の対象となる文字の1つ後ろにある文字と、認識の対象となる文字との関連性に基づいて、文脈処理が行われてもよい。この場合、辞書120には、文字列において一の文字の直前に他の文字が現れる可能性の程度を示す値が記述される。また、制御部11は、文脈処理を行うときに、文字列を後ろから認識していく。要するに、制御部11は、隣接する文字間の関係性に基づき、文字列を認識すればよい。
【0040】
(変形例6)
文字認識装置1は、用紙に記載された文字列を認識するものであってもよい。この用紙には、予め複数の枠がプリントされている。ユーザは、この複数の枠の中に手書きで文字列を記入する。スキャナ装置は、用紙に記載された文字列を光学的に読み取り、この文字列を表すデータを文字認識装置1に入力する。文字認識装置1は、スキャナ装置から入力されたデータに基づき、上述した処理を行う。なお、スキャナ装置は、上述した画像形成装置と一体に設けられてもよい。この場合、文字認識装置1は、この画像形成装置の内部に設けられてもよい。
【0041】
(変形例7)
文字認識装置1は、タブレットやタッチパネルなどの座標入力装置を用いて入力された文字列を認識するものであってもよい。この座標入力装置は、複数の枠を表示する。ユーザは、例えば専用のペンを用いて、この複数の枠の中に手書きで文字列を書き込む。座標入力装置は、このペンの動きを検出し、検出した動きを示す時系列座標データを文字認識装置1に入力する。文字認識装置1は、座標入力装置から入力された時系列座標データに基づき、上述した処理を行う。この場合、文字認識装置1は、文字の形に加え、文字の筆順を利用して文字認識を行ってもよい。
【0042】
(変形例8)
実施形態では、枠によって区切られた領域の中に文字が記載されていたが、この枠はなくてもよい。例えば、他の領域とは異なる色を有する、区切られた領域の中に文字が記載されてもよい。
【0043】
(変形例9)
取得部21、特定部22、移動部23及び統合部24と、認識エンジン25とは、別の筐体に設けられていてもよい。この場合、移動部23により文字が移動された後の文字列を示すデータが認識エンジン25に送られる。認識エンジン25は、ステップS3又はS5において指定された文字認識の方法に従って、送られてきたデータが表す文字列を認識する。
【0044】
(変形例10)
制御部11は、ASIC(Application Specific Integrated Circuit)を備えてもよい。この場合、制御部11の機能は、ASICにより実現されてもよいし、CPUとASICの両方で実現されてもよい。
【0045】
(変形例11)
制御部11の機能を実現するプログラムは、磁気媒体(磁気テープ、磁気ディスク(HDD(Hard Disk Drive)、FD(Flexible Disk))など)、光媒体(光ディスク(CD(Compact Disc)、DVD(Digital Versatile Disk))など)、光磁気媒体、半導体メモリなどのコンピュータ読み取り可能な媒体に記憶した状態で提供し、文字認識装置1にインストールしてもよい。また、通信回線を介してダウンロードしてインストールしてもよい。
【符号の説明】
【0046】
1…文字認識装置、11…制御部、12…記憶部、13…入出力部、21…取得部、22…特定部、23…移動部、24…統合部、25…認識エンジン、120…辞書
【技術分野】
【0001】
本発明は、文字認識装置及びプログラムに関する。
【背景技術】
【0002】
手書きの文字をテキストデータに変換する文字認識技術が知られている。例えば、特許文献1には、濁点又は半濁点付き文字が隣接する2個の文字枠に記入されたときに、その文字を濁点又は半濁点付きの1個の文字に変換する技術が記載されている。特許文献2には、手書きで入力された文字が大文字であるか小文字であるかを判別する技術が記載されている。特許文献3には、濁点又は半濁点を正確に識別する技術が記載されている。特許文献4には、同じ形状で大きさの異なる文字を認識候補として表示する技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平6−76098号公報
【特許文献2】特開平5−12245号公報
【特許文献3】特開平7−262314号公報
【特許文献4】特開平9−231316号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、文字列に複合文字が含まれる場合であっても、文字列を精度よく認識することを目的とする。
【課題を解決するための手段】
【0005】
本発明の請求項1に係る文字認識装置は、文字列を表すデータを取得する取得部と、前記取得されたデータが表す文字列から、複数の構成要素により構成される複合文字の一の構成要素を判別するために予め決められた条件を満たす文字を特定する特定部と、前記特定された文字と、当該文字が前記複合文字の一の構成要素である場合に当該複合文字の他の構成要素となる文字とが近づくように、当該特定された文字を移動する移動部と、文字の形及び隣接する文字間の関連性に基づいて、前記移動部により文字の移動が行われた後の文字列を認識する認識部とを備えることを特徴とする。
【0006】
本発明の請求項2に係る文字認識装置は、請求項1に記載の構成において、文字列において一の文字に続いて他の文字が現れる可能性の程度を示す値を記憶する記憶部を備え、前記認識部は、前記移動が行われた後の文字列を認識するときに、認識の対象となる文字の形に基づいて複数の文字を認識候補として特定し、前記記憶部に記憶された値に基づき、当該特定された複数の文字の中から、当該認識の対象となる文字の直前にある文字に続いて現れる可能性が最も高い文字を選択することを特徴とする。
【0007】
本発明の請求項3に係る文字認識装置は、請求項2に記載の構成において、前記文字列は、複数の区切られた領域の中に記載されたものであり、前記移動された文字が記載された領域と、前記他の構成要素となる文字が記載された領域とを統合する統合部を備え、前記認識部は、前記認識の対象となる文字が、前記統合部により統合されていない領域に記載されている場合には、当該文字の形に基づいて1字の文字を認識候補として特定し、当該認識の対象となる文字が、前記統合部により統合された領域に記載されている場合には、当該文字の形に基づいて1字又は複数字の文字を認識候補として特定することを特徴とする。
【0008】
本発明の請求項4に係る文字認識装置は、請求項1から3のいずれか1項に記載の構成において、前記特定部は、濁点又は半濁点を判別するために予め決められた条件を満たす文字を特定し、前記移動部は、前記特定された文字と、当該特定された文字の直前にある文字とが近づくように、当該特定された文字を移動することを特徴とする。
【0009】
本発明の請求項5に係る文字認識装置は、請求項4に記載の構成において、前記条件は、文字の位置及び画数であることを特徴とする。
【0010】
本発明の請求項6に係るプログラムは、コンピュータに、文字列を表すデータを取得するステップと、前記取得されたデータが表す文字列から、複数の構成要素により構成される複合文字の一の構成要素を判別するために予め決められた条件を満たす文字を特定するステップと、前記特定された文字と、当該文字が前記複合文字の一の構成要素である場合に当該複合文字の他の構成要素となる文字とが近づくように、当該特定された文字を移動するステップと、文字の形及び隣接する文字間の関連性に基づいて、前記文字の移動が行われた後の文字列を認識するステップとを実行させるためのプログラムであることを特徴とする。
【発明の効果】
【0011】
請求項1に係る発明によれば、文字列に複合文字が含まれる場合であっても、文字の移動を行わずに文字列の認識を行う場合に比べて、文字列を精度よく認識することができる。
請求項2に係る発明によれば、記憶部に記憶された値を用いずに文字列を認識する場合に比べて、文字列の認識精度が向上する。
請求項3に係る発明によれば、認識候補として特定される文字の字数に全く制限がない場合に比べて、文字列の認識精度が向上する。
請求項4に係る発明によれば、濁点又は半濁点とその他の構成要素により構成される複合文字を認識することができる。
請求項5に係る発明によれば、文字の位置及び画数以外の条件が用いられる場合に比べて、濁点又は半濁点を判別するために予め決められた条件を満たす文字を特定する処理にかかる時間が短くなる。
請求項6に係る発明によれば、文字列に複合文字が含まれる場合であっても、文字の移動を行わずに文字列の認識を行う場合に比べて、文字列を精度よく認識することができる。
【図面の簡単な説明】
【0012】
【図1】文字認識装置の構成を示す図。
【図2】辞書に記述された遷移確率の一例を示す図。
【図3】制御部の機能構成を示す図。
【図4】文字列の一例を示す図。
【図5】制御部が行う処理を示すフローチャート。
【図6】文字の移動を説明する図。
【図7】統合された枠の一例を示す図。
【図8】文字列を認識する処理を説明する図。
【図9】文字列を認識する処理を説明する図。
【図10】変形例に係る複合文字を構成する文字を示す図。
【図11】変形例に係る複合文字を構成する文字を示す図。
【発明を実施するための形態】
【0013】
図1は、本実施形態に係る文字認識装置1の構成を示す図である。文字認識装置1は、制御部11と、記憶部12と、入出力部13とを備える。制御部11は、CPU(Central Processing Unit)とメモリを備える。CPUは、メモリに記憶されているプログラムを実行することにより、各種の処理を行う。記憶部12は、例えば不揮発性のメモリを備え、文字認識に用いられる辞書120を記憶する。入出力部13は、外部の装置とデータのやり取りを行う。
【0014】
辞書120には、複数の人名が登録されている。また、辞書120には、人名において一の文字に続いて他の文字が現れる可能性の程度を示す遷移確率が記述されている。なお、この一の文字と他の文字とは、それぞれ一字であってもよいし複数字であってもよい。図2は、辞書120に記述された遷移確率の一例を示す図である。図2では、文字「エ」から文字「ビ」への遷移確率として0.6が記述され、文字「ヒハ」への遷移確率として0.2が記述され、文字「ヒリ」への遷移確率として0.1が記述されている。これは、文字「エ」の後には、文字「ヒハ」や文字「ヒリ」が現れるよりも、文字「ビ」が現れる方が、より確からしい文字列になることを意味する。
【0015】
図3は、制御部11の機能構成を示す図である。制御部11は、取得部21と、特定部22と、移動部23と、統合部24と、認識エンジン25として機能する。取得部21は、文字列を表すデータを取得する。この文字列は、例えば複数の区切られた領域の中に記載されたものである。特定部22は、取得部21により取得されたデータが表す文字列から、複数の構成要素により構成される複合文字の一の構成要素を判別するために予め決められた条件を満たす文字を特定する。移動部23は、特定部22により特定された文字と、この文字が複合文字の一の構成要素である場合にこの複合文字の他の構成要素となる文字とが近づくように、この特定された文字を移動する。統合部24は、移動部23により移動された文字が記載された領域と、移動された文字が複合文字の一の構成要素である場合にこの複合文字の他の構成要素となる文字が記載された領域とを統合する。認識エンジン25は、文字の形及び隣接する文字間の関連性に基づいて、移動部23により文字の移動が行われた後の文字列を認識する。例えば、認識エンジン25は、認識の対象となる文字が、統合部24により統合されていない領域に記載されている場合には、文字の形に基づいて1字の文字を認識候補として特定し、認識の対象となる文字が、統合部24により統合された領域に記載されている場合には、文字の形に基づいて1字又は複数字の文字を認識候補として特定する。続いて、認識エンジン25は、認識の対象となる文字の形に基づいて複数の文字を認識候補として特定し、記憶部12に記憶された遷移確率に基づき、この特定された複数の文字の中から、認識の対象となる文字の直前の文字に続いて現れる可能性が最も高い文字を選択する。
【0016】
次に、文字認識装置1の動作について説明する。文字認識装置1には、入出力部13を介して文字列を示すデータが入力される。図4は、入力されたデータが表す文字列の一例を示す図である。文字列に含まれる文字は、それぞれ枠31〜39の中に記載されている。この枠31〜39は、それぞれ区切られた領域である。枠31〜39の大きさ及び位置は予め決められている。この文字列には、複数の構成要素により構成される複合文字「ビ」及び「ジ」が含まれる。複合文字「ビ」は、文字「ヒ」と濁音とで構成される。図4に示すように、この文字「ヒ」と濁音とは異なる枠に記載されている。同様に、複合文字「ジ」は、文字「シ」と濁点とで構成される。図4に示すように、この文字「シ」と濁点とは異なる枠に記載されている。制御部11は、入出力部13を介して入力されたデータを取得すると、以下の処理を行う。
【0017】
図5は、制御部11が行う処理を示すフローチャートである。ステップS1において、制御部11は、変数iを初期値の1に設定する。また、制御部11は、変数Nを設定する。具体的には、制御部11は、入力されたデータに基づき、枠に記載された文字の数を算出する。そして、算出した数に1を加えた数を変数Nとして設定する。図4では、枠31〜39に9個の文字が記載されている。したがって、9に1を加えた10が変数Nとして設定される。制御部11は、変数iがNよりも小さい間、変数iに1を加えてステップS1からS6までの処理を繰り返す。
【0018】
ステップS2において、制御部11は、入力されたデータに基づき、i番目の文字が濁点又は半濁点である可能性があるか否かを判定する。なお、このi番目とは、文字列における文字の並び順を示す。したがって、文字列において先頭の文字が1番目の文字となり、その次の文字が2番目の文字となる。制御部11は、濁点又は半濁点を判別するために予め決められた条件を用いて、濁点又は半濁点である可能性がある文字を特定する。ここでは、文字が枠の3分の2よりも上側に位置し、且つ文字の画数が2以下であるという条件を用いて、濁点又は半濁点である可能性がある文字が特定される。図4では、枠33に記載された文字が、枠33の3分の2よりも上側に位置し、且つ文字の画数が2以下である。同様に、枠39に記載された文字は、枠39の3分の2よりも上側に位置し、且つ文字の画数が2以下である。この場合、枠33及び枠39に記載された文字は、それぞれ濁点又は半濁点である可能性があると判定される。一方、これ以外の文字については、この条件に当てはまらないため、濁点又は半濁点である可能性がないと判定される。
【0019】
i番目の文字が濁点又は半濁点である可能性がない場合(ステップS2;NO)、制御部11は、ステップS3に進む。ステップS3において、制御部11は、i番目の文字を認識するときに用いる方法として、孤立文字認識を指定する。これにより、図4に示す枠33及び39以外の枠に記載された文字については、この孤立文字認識が適用される。孤立文字認識とは、1つの枠に1字の文字が記載されていることを前提として、文字認識を行う方法である。したがって、孤立文字認識では、1つの枠から1字の文字が認識される。一方、i番目の文字が濁点又は半濁点である可能性がある場合(ステップS2;YES)、制御部11は、ステップS4に進む。
【0020】
ステップS4において、制御部11は、i番目の文字とi−1番目の文字とが近づくように、i番目の文字を移動する。図4では、枠33に記載された文字と枠39に記載された文字とがそれぞれ移動される。図6は、この文字の移動を説明する図である。図6では、枠33に記載された文字がi番目の文字であり、枠32に記載された文字がi−1番目の文字である。まず、制御部11は、枠33に記載された文字の外接矩形43と、枠32に記載された文字の外接矩形42とを求める。次に、制御部11は、外接矩形43が外接矩形42に接するまで、枠33に記載された文字を移動する。これにより、枠33に記載された文字と、枠32に記載された文字との間の距離が縮まり、これらの文字を単一の複合文字であると認識し易くなる。
【0021】
ステップS5において、制御部11は、i番目の文字が記載された枠とi−1番目の文字が記載された枠とを統合する。図4では、枠32と枠33とが統合され、さらに枠38と枠39とが統合される。図7は、統合された枠の一例を示す図である。図7では、図4に示す枠32と枠33とが統合されて、統合枠32aが生成されている。また、図4に示す枠38と枠39とが統合されて、統合枠38aが生成されている。なお、この枠の統合とは、文字認識を行うときに、統合前の複数の枠に記載された文字を1まとまりとして扱うことを意味する。したがって、統合枠の大きさ及び形状は、1まとまりとして扱う文字を含むものであればよい。次に、制御部11は、統合枠に記載された文字を認識するときに用いる方法として、枠なし文字列認識を指定する。これにより、図7に示す統合枠32a及び統合枠38aに記載された文字については、この枠なし文字列認識が適用される。枠なし文字列認識とは、1つの枠に記載されている文字の数が決まっていないことを前提として、文字認識を行う方法である。したがって、枠なし文字列認識では、1つの枠から1字又は複数字の文字が認識される。なお、枠なし文字列認識では、枠に記載された文字の字数に制限がないため、一般的には、孤立文字認識よりも文字認識の精度が低くなる。ステップS6において、制御部11は、変数iが変数Nになると、処理の繰り返しを終了する。
【0022】
ステップS7において、制御部11は、記憶部12に記憶された辞書120を用いて、文字の移動が行われた後の文字列を認識する処理を行う。図8は、文字列を認識する処理を説明する図である。まず、制御部11は、各枠に記載された文字の形に基づき、認識候補となる文字を特定する。このとき、制御部11は、枠31及び枠34〜37に記載された文字については、孤立文字認識により1字の文字を特定する。一方、制御部11は、統合枠32a及び統合枠38aに記載された文字については、枠なし文字列認識により1字又は複数字の文字を特定する。
【0023】
次に、制御部11は、文脈処理を行って、認識候補として特定された文字の中から、隣接する文字との関連性が高い文字を選択する。図8では、枠32aに記載された文字の認識候補として、文字「ビ」、文字「ヒハ」、及び文字「ヒリ」が特定されている。この場合、制御部11は、枠31に記載された文字からこれら各文字への遷移確率に基づき、認識候補として特定された文字の中から、枠31に記載された文字に続いて現れる可能性が最も高い文字を選択する。ここでは、枠31に記載された文字として、「エ」が認識された場合を想定する。図2では、文字「エ」から文字「ビ」への遷移確率として0.6が記述され、文字「ヒハ」への遷移確率として0.2が記述され、文字「ヒリ」への遷移確率として0.1が記述されている。この場合、文字「エ」から文字「ビ」への遷移確率が最も高いため、文字「ビ」が選択される。
【0024】
このようにして文字列を認識した後、制御部11は、認識した文字列を表すテキストデータを生成する。生成されたテキストデータは、入出力部13から外部の装置へ出力される。例えば、テキストデータは、画像形成装置に出力される。この場合、画像形成装置は、文字認識装置1から出力されたテキストデータが表す文字列を用紙に形成する。あるいは、テキストデータは、表示装置に出力されてもよい。この場合、表示装置は、文字認識装置1から出力されたテキストデータが表す文字列を表示する。
【0025】
なお、図4に示す枠35に記載された文字は濁点でも半濁点でもないが、画数が2以下であるため、例えばこの文字が枠35の3分の2よりも上側の位置に記載された場合には、ステップS2において、濁点又は半濁点である可能性があると誤判定されることがある。この場合、ステップS4では、枠35に記載された文字と枠34に記載された文字とが近づくように、枠35に記載された文字が移動される。ステップS5では、枠34と枠35とが統合され、統合枠34aが生成される。そして、この統合枠34aに記載された文字を認識するときに用いられる方法として、枠なし文字列認識が指定される。
【0026】
そして、ステップS7では、統合枠34aに記載された文字の形に基づき、図9に示すような文字が認識候補として特定される。統合枠34aに記載された文字「ニ」は、濁点と形状が類似している。したがって、図9では、統合枠34aに記載された文字の認識候補として、文字「ダ」、及び文字「タニ」が特定されている。ここでは、枠32aに記載された文字として、「ビ」が認識された場合を想定する。図2では、文字「ビ」から文字「ダ」への遷移確率として0.1が記述され、文字「タニ」への遷移確率として0.3が記述されている。この場合、文字「ビ」から文字「タニ」への遷移確率が最も高いため、文字「タニ」が選択される。
【0027】
このように、この実施形態では、濁点又は半濁点である可能性がある文字が特定された場合に、その文字と、その文字の直前にある文字とを組み合わせて1つの複合文字とするか否かを、文脈処理により決定する。したがって、濁点又は半濁点ではない文字が濁点又は半濁点である可能性があると誤判定された場合にも、文脈処理により正しい文字に修正される。
【0028】
本発明は、上述した実施形態に限定されるものではなく、変形して実施されてもよい。以下、変形例をいくつか説明する。また、以下の変形例は、それぞれ組み合わせて実施されてもよい。
【0029】
(変形例1)
文字列には、記号や数字が含まれてもよい。記号や数字には、例えばセルシウス度の記号、分数、括弧つきの数字のように、複数の構成要素により構成されるものがある。これらの記号又は数字は、濁点又は半濁点が付加された文字と同様に、複合文字として扱われてもよい。また、文字列には、日本語以外の言語の文字が含まれていてもよい。日本語以外の言語の文字には、例えばアクセント記号付きのラテン文字、ハングル文字のように、複数の構成要素により構成されるものがある。これらの文字は、濁点又は半濁点が付加された文字と同様に、複合文字として扱われてもよい。さらに、文字列には、漢字が含まれていてもよい。漢字には、偏(左側に配置される構成要素)とつくり(右側に配置される構成要素)とで構成されるものがある。これらの漢字は、濁点又は半濁点が付加された文字と同様に、複合文字として扱われてもよい。
【0030】
このように、複合文字は、濁点又は半濁点が付加された文字に限らない。複合文字は、複数の構成要素により構成される文字(記号、数字を含む。)であればよい。この構成要素とは、複合文字の一部であり、複合文字の他の部分から離れて記載される可能性があるものをいう。したがって、一般的に、単一の複合文字を構成する複数の構成要素は、それぞれ分離したものである。また、各構成要素は、単独でも使用される文字であってもよい。
【0031】
ここで、文字列にこのような複合文字が含まれる場合の処理の概念について説明する。図10は、複合文字40を構成する文字41及び42を示す図である。文字41は、複合文字40において左側に配置される構成要素である。文字42は、複合文字40において右側に配置される構成要素である。この文字41及び42は、それぞれ1つの枠の中に記載されている。この場合、制御部11は、入力されたデータが表す文字列から、複合文字40の一の構成要素を判別するために予め決められた条件を満たす文字を特定する。この条件は、構成要素の特徴であり、例えば構成要素の位置及び画数である。あるいは、制御部11は、パターンマッチングを行うことにより、複合文字40の一の構成要素と類似する文字を特定してもよい。次に、制御部11は、特定した文字と他の構成要素となる文字とが近づくように、特定した文字を移動する。例えば、複合文字40の左側の構成要素の特徴が条件として用いられた場合には、文字41が特定される。この場合、図10(b)に示すように、特定された文字41と文字42とが近づくように、文字41が右側に移動される。一方、複合文字40の右側の構成要素の特徴が条件として用いられた場合には、文字42が特定される。この場合、図10(a)に示すように、特定された文字42と文字41とが近づくように、文字42が左側に移動される。
【0032】
この処理によれば、例えば文字列にセルシウス度の記号が含まれている場合には、この記号において右側に配置される文字「C」と左上に配置される丸とが近づくように、文字「C」又は丸が移動される。これにより、セルシウス度の記号を構成する丸と文字「C」との間の距離が縮まり、これらの文字が単一の複合文字であると認識され易くなる。また、文字列に偏とつくりとで構成される漢字が含まれている場合には、この漢字において左側に配置される偏と右側に配置されるつくりとが近づくように、偏又はつくりが移動される。これにより、この漢字を構成する偏とつくりとの間の距離が縮まり、これらの文字が単一の複合文字であると認識され易くなる。
【0033】
図11は、複合文字50を構成する文字51及び52を示す図である。文字51は、複合文字50において上側に配置される構成要素である。文字52は、複合文字50において下側に配置される構成要素である。この文字51及び52は、それぞれ1つの枠の中に記載されている。この場合、制御部11は、入力されたデータが表す文字列から、複合文字50の一の構成要素を判別するために予め決められた条件を満たす文字を特定する。この条件は、構成要素の特徴であり、例えば構成要素の位置及び画数である。あるいは、制御部11は、パターンマッチングを行うことにより、複合文字50の一の構成要素と類似する文字を特定してもよい。次に、制御部11は、特定した文字と他の構成要素となる文字とが近づくように、特定した文字を移動する。例えば、複合文字50の上側の構成要素の特徴が条件として用いられた場合には、文字51が特定される。この場合、図11(a)に示すように、特定された文字51と文字52とが近づくように、文字51が下側に移動される。一方、複合文字50の下側の構成要素の特徴が条件として用いられた場合には、文字52が特定される。この場合、図11(b)に示すように、特定された文字52と文字51とが近づくように、文字52が上側に移動される。
【0034】
この処理によれば、例えば文字列にアクセント記号付きのラテン文字が含まれている場合には、このラテン文字において上側に配置されるアクセント記号と下側に配置される文字とが近づくように、例えばアクセント記号が移動される。これにより、このラテン文字を構成する文字とアクセント記号との間の距離が縮まり、これらの文字が単一の複合文字であると認識され易くなる。
【0035】
なお、複合文字は、3つ以上の構成要素により構成されてもよい。この場合、制御部11は、構成要素の数をMとしたときに、少なくともM−1個の構成要素となる可能性がある文字を特定し、特定した文字と他の構成要素となる文字とが近づくように、特定した文字をそれぞれ移動する。
【0036】
(変形例2)
実施形態では、ステップS4において、i番目の文字の外接矩形がi−1番目の文字の外接矩形に接するまで、i番目の文字が移動されていた。しかしながら、これらの外接矩形が接する前に文字の移動を止めてもよい。また、i番目の文字とi−1番目の文字とが重ならなければ、これらの外接矩形が重なるまで文字の移動を行ってもよい。また、i番目の文字とi−1番目の文字とが両方とも移動されてもよい。要するに、制御部11は、複合文字の一の構成要素である可能性がある文字と、その複合文字の他の構成要素となる文字とが近づくように、文字を移動すればよい。
【0037】
(変形例3)
実施形態では、文字が枠の3分の2よりも上側に位置し、且つ文字の画数が2以下であるという条件を用いて、濁点又は半濁点である可能性がある文字を特定していた。しかしながら、例えばi番目の文字と濁点又は半濁点とをパターンマッチングすることにより、濁点又は半濁点である可能性がある文字を特定してもよい。ただし、この場合には、処理量が増えるため、濁点又は半濁点である可能性がある文字を特定する処理にかかる時間が長くなる。
【0038】
(変形例4)
辞書120に登録される情報は、人名に限らない。例えば、インターネット上で公開されている文章に含まれる文字列であってもよい。また、辞書120に記述される遷移確率は、予め大量の文章を学習して求めたものであってもよい。
【0039】
(変形例5)
実施形態では、認識の対象となる文字の1つ前にある文字と、認識の対象となる文字との関連性に基づいて、文脈処理が行われていた。しかしながら、認識の対象となる文字の1つ後ろにある文字と、認識の対象となる文字との関連性に基づいて、文脈処理が行われてもよい。この場合、辞書120には、文字列において一の文字の直前に他の文字が現れる可能性の程度を示す値が記述される。また、制御部11は、文脈処理を行うときに、文字列を後ろから認識していく。要するに、制御部11は、隣接する文字間の関係性に基づき、文字列を認識すればよい。
【0040】
(変形例6)
文字認識装置1は、用紙に記載された文字列を認識するものであってもよい。この用紙には、予め複数の枠がプリントされている。ユーザは、この複数の枠の中に手書きで文字列を記入する。スキャナ装置は、用紙に記載された文字列を光学的に読み取り、この文字列を表すデータを文字認識装置1に入力する。文字認識装置1は、スキャナ装置から入力されたデータに基づき、上述した処理を行う。なお、スキャナ装置は、上述した画像形成装置と一体に設けられてもよい。この場合、文字認識装置1は、この画像形成装置の内部に設けられてもよい。
【0041】
(変形例7)
文字認識装置1は、タブレットやタッチパネルなどの座標入力装置を用いて入力された文字列を認識するものであってもよい。この座標入力装置は、複数の枠を表示する。ユーザは、例えば専用のペンを用いて、この複数の枠の中に手書きで文字列を書き込む。座標入力装置は、このペンの動きを検出し、検出した動きを示す時系列座標データを文字認識装置1に入力する。文字認識装置1は、座標入力装置から入力された時系列座標データに基づき、上述した処理を行う。この場合、文字認識装置1は、文字の形に加え、文字の筆順を利用して文字認識を行ってもよい。
【0042】
(変形例8)
実施形態では、枠によって区切られた領域の中に文字が記載されていたが、この枠はなくてもよい。例えば、他の領域とは異なる色を有する、区切られた領域の中に文字が記載されてもよい。
【0043】
(変形例9)
取得部21、特定部22、移動部23及び統合部24と、認識エンジン25とは、別の筐体に設けられていてもよい。この場合、移動部23により文字が移動された後の文字列を示すデータが認識エンジン25に送られる。認識エンジン25は、ステップS3又はS5において指定された文字認識の方法に従って、送られてきたデータが表す文字列を認識する。
【0044】
(変形例10)
制御部11は、ASIC(Application Specific Integrated Circuit)を備えてもよい。この場合、制御部11の機能は、ASICにより実現されてもよいし、CPUとASICの両方で実現されてもよい。
【0045】
(変形例11)
制御部11の機能を実現するプログラムは、磁気媒体(磁気テープ、磁気ディスク(HDD(Hard Disk Drive)、FD(Flexible Disk))など)、光媒体(光ディスク(CD(Compact Disc)、DVD(Digital Versatile Disk))など)、光磁気媒体、半導体メモリなどのコンピュータ読み取り可能な媒体に記憶した状態で提供し、文字認識装置1にインストールしてもよい。また、通信回線を介してダウンロードしてインストールしてもよい。
【符号の説明】
【0046】
1…文字認識装置、11…制御部、12…記憶部、13…入出力部、21…取得部、22…特定部、23…移動部、24…統合部、25…認識エンジン、120…辞書
【特許請求の範囲】
【請求項1】
文字列を表すデータを取得する取得部と、
前記取得されたデータが表す文字列から、複数の構成要素により構成される複合文字の一の構成要素を判別するために予め決められた条件を満たす文字を特定する特定部と、
前記特定された文字と、当該文字が前記複合文字の一の構成要素である場合に当該複合文字の他の構成要素となる文字とが近づくように、当該特定された文字を移動する移動部と、
文字の形及び隣接する文字間の関連性に基づいて、前記移動部により文字の移動が行われた後の文字列を認識する認識部と
を備えることを特徴とする文字認識装置。
【請求項2】
文字列において一の文字に続いて他の文字が現れる可能性の程度を示す値を記憶する記憶部を備え、
前記認識部は、前記移動が行われた後の文字列を認識するときに、認識の対象となる文字の形に基づいて複数の文字を認識候補として特定し、前記記憶部に記憶された値に基づき、当該特定された複数の文字の中から、当該認識の対象となる文字の直前にある文字に続いて現れる可能性が最も高い文字を選択する
ことを特徴とする請求項1に記載の文字認識装置。
【請求項3】
前記文字列は、複数の区切られた領域の中に記載されたものであり、
前記移動された文字が記載された領域と、前記他の構成要素となる文字が記載された領域とを統合する統合部を備え、
前記認識部は、
前記認識の対象となる文字が、前記統合部により統合されていない領域に記載されている場合には、当該文字の形に基づいて1字の文字を認識候補として特定し、当該認識の対象となる文字が、前記統合部により統合された領域に記載されている場合には、当該文字の形に基づいて1字又は複数字の文字を認識候補として特定する
ことを特徴とする請求項2に記載の文字認識装置。
【請求項4】
前記特定部は、濁点又は半濁点を判別するために予め決められた条件を満たす文字を特定し、
前記移動部は、前記特定された文字と、当該特定された文字の直前にある文字とが近づくように、当該特定された文字を移動する
ことを特徴とする請求項1から3のいずれか1項に記載の文字認識装置。
【請求項5】
前記条件は、文字の位置及び画数である
ことを特徴とする請求項4に記載の文字認識装置。
【請求項6】
コンピュータに、
文字列を表すデータを取得するステップと、
前記取得されたデータが表す文字列から、複数の構成要素により構成される複合文字の一の構成要素を判別するために予め決められた条件を満たす文字を特定するステップと、
前記特定された文字と、当該文字が前記複合文字の一の構成要素である場合に当該複合文字の他の構成要素となる文字とが近づくように、当該特定された文字を移動するステップと、
文字の形及び隣接する文字間の関連性に基づいて、前記文字の移動が行われた後の文字列を認識するステップと
を実行させるためのプログラム。
【請求項1】
文字列を表すデータを取得する取得部と、
前記取得されたデータが表す文字列から、複数の構成要素により構成される複合文字の一の構成要素を判別するために予め決められた条件を満たす文字を特定する特定部と、
前記特定された文字と、当該文字が前記複合文字の一の構成要素である場合に当該複合文字の他の構成要素となる文字とが近づくように、当該特定された文字を移動する移動部と、
文字の形及び隣接する文字間の関連性に基づいて、前記移動部により文字の移動が行われた後の文字列を認識する認識部と
を備えることを特徴とする文字認識装置。
【請求項2】
文字列において一の文字に続いて他の文字が現れる可能性の程度を示す値を記憶する記憶部を備え、
前記認識部は、前記移動が行われた後の文字列を認識するときに、認識の対象となる文字の形に基づいて複数の文字を認識候補として特定し、前記記憶部に記憶された値に基づき、当該特定された複数の文字の中から、当該認識の対象となる文字の直前にある文字に続いて現れる可能性が最も高い文字を選択する
ことを特徴とする請求項1に記載の文字認識装置。
【請求項3】
前記文字列は、複数の区切られた領域の中に記載されたものであり、
前記移動された文字が記載された領域と、前記他の構成要素となる文字が記載された領域とを統合する統合部を備え、
前記認識部は、
前記認識の対象となる文字が、前記統合部により統合されていない領域に記載されている場合には、当該文字の形に基づいて1字の文字を認識候補として特定し、当該認識の対象となる文字が、前記統合部により統合された領域に記載されている場合には、当該文字の形に基づいて1字又は複数字の文字を認識候補として特定する
ことを特徴とする請求項2に記載の文字認識装置。
【請求項4】
前記特定部は、濁点又は半濁点を判別するために予め決められた条件を満たす文字を特定し、
前記移動部は、前記特定された文字と、当該特定された文字の直前にある文字とが近づくように、当該特定された文字を移動する
ことを特徴とする請求項1から3のいずれか1項に記載の文字認識装置。
【請求項5】
前記条件は、文字の位置及び画数である
ことを特徴とする請求項4に記載の文字認識装置。
【請求項6】
コンピュータに、
文字列を表すデータを取得するステップと、
前記取得されたデータが表す文字列から、複数の構成要素により構成される複合文字の一の構成要素を判別するために予め決められた条件を満たす文字を特定するステップと、
前記特定された文字と、当該文字が前記複合文字の一の構成要素である場合に当該複合文字の他の構成要素となる文字とが近づくように、当該特定された文字を移動するステップと、
文字の形及び隣接する文字間の関連性に基づいて、前記文字の移動が行われた後の文字列を認識するステップと
を実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−173959(P2012−173959A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−34900(P2011−34900)
【出願日】平成23年2月21日(2011.2.21)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願日】平成23年2月21日(2011.2.21)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
[ Back to top ]