(57)【特許請求の範囲】
【請求項１】
枠間に間隔がある枠に記入された文字列を表すデータを取得する取得部と、
前記取得されたデータが表す文字列から、複数の構成要素により構成される複合文字の
一の構成要素を判別するために予め決められた条件を満たす文字を特定する特定部と、
前記特定された文字と、当該文字が前記複合文字の一の構成要素である場合に当該複合文字の他の構成要素となる文字とが近づくように、当該特定された文字を移動する移動部と
を備えることを特徴とする文字認識装置。
【請求項２】
文字の形及び隣接する文字間の関連性に基づいて、前記移動部により文字の移動が行われた後の文字列を認識する認識部をさらに備える
ことを特徴とする請求項１に記載の文字認識装置。
【請求項３】
文字列において一の文字に続いて他の文字が現れる可能性の程度を示す値を記憶する記憶部を備え、
前記認識部は、前記移動が行われた後の文字列を認識するときに、認識の対象となる文字の形に基づいて複数の文字を認識候補として特定し、前記記憶部に記憶された値に基づき、当該特定された複数の文字の中から、当該認識の対象となる文字の直前にある文字に続いて現れる可能性が最も高い文字を選択する
ことを特徴とする請求項２に記載の文字認識装置。
【請求項４】
前記文字列は、複数の区切られた領域の中に記載されたものであり、
前記移動された文字が記載された領域と、前記他の構成要素となる文字が記載された領域とを統合する統合部を備え、
前記認識部は、
前記認識の対象となる文字が、前記統合部により統合されていない領域に記載されている場合には、当該文字の形に基づいて１字の文字を認識候補として特定し、当該認識の対象となる文字が、前記統合部により統合された領域に記載されている場合には、当該文字の形に基づいて１字又は複数字の文字を認識候補として特定する
ことを特徴とする請求項３に記載の文字認識装置。
【請求項５】
前記特定部は、濁点又は半濁点を判別するために予め決められた条件を満たす文字を特定し、
前記移動部は、前記特定された文字と、当該特定された文字の直前にある文字とが近づくように、当該特定された文字を移動する
ことを特徴とする請求項１から４のいずれか１項に記載の文字認識装置。
【請求項６】
前記条件は、文字の位置及び画数である
ことを特徴とする請求項５に記載の文字認識装置。
【請求項７】
コンピュータに、
枠間に間隔がある枠に記入された文字列を表すデータを取得するステップと、
前記取得されたデータが表す文字列から、複数の構成要素により構成される複合文字の一の構成要素を判別するために予め決められた条件を満たす文字を特定するステップと、
前記特定された文字と、当該文字が前記複合文字の一の構成要素である場合に当該複合文字の他の構成要素となる文字とが近づくように、当該特定された文字を移動するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字認識装置及びプログラムに関する。
【背景技術】
【０００２】
手書きの文字をテキストデータに変換する文字認識技術が知られている。例えば、特許文献１には、濁点又は半濁点付き文字が隣接する２個の文字枠に記入されたときに、その文字を濁点又は半濁点付きの１個の文字に変換する技術が記載されている。特許文献２には、手書きで入力された文字が大文字であるか小文字であるかを判別する技術が記載されている。特許文献３には、濁点又は半濁点を正確に識別する技術が記載されている。特許文献４には、同じ形状で大きさの異なる文字を認識候補として表示する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−７６０９８号公報
【特許文献２】特開平５−１２２４５号公報
【特許文献３】特開平７−２６２３１４号公報
【特許文献４】特開平９−２３１３１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、文字列に複合文字が含まれる場合であっても、文字列を精度よく認識することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、一の態様において、枠間に間隔がある枠に記入された文字列を表すデータを取得する取得部と、前記取得されたデータが表す文字列から、複数の構成要素により構成される複合文字の一の構成要素を判別するために予め決められた条件を満たす文字を特定する特定部と、前記特定された文字と、当該文字が前記複合文字の一の構成要素である場合に当該複合文字の他の構成要素となる文字とが近づくように、当該特定された文字を移動する移動部とを備える文字認識装置を提供する。
好ましい態様において、前記文字認識装置は、文字の形及び隣接する文字間の関連性に基づいて、前記移動部により文字の移動が行われた後の文字列を認識する認識部をさらに備える。
【０００６】
好ましい態様において、前記文字認識装置は、文字列において一の文字に続いて他の文字が現れる可能性の程度を示す値を記憶する記憶部を備え、前記認識部は、前記移動が行われた後の文字列を認識するときに、認識の対象となる文字の形に基づいて複数の文字を認識候補として特定し、前記記憶部に記憶された値に基づき、当該特定された複数の文字の中から、当該認識の対象となる文字の直前にある文字に続いて現れる可能性が最も高い文字を選択する。
【０００７】
好ましい態様において、前記文字列は、複数の区切られた領域の中に記載されたものであり、前記移動された文字が記載された領域と、前記他の構成要素となる文字が記載された領域とを統合する統合部を備え、前記認識部は、前記認識の対象となる文字が、前記統合部により統合されていない領域に記載されている場合には、当該文字の形に基づいて１字の文字を認識候補として特定し、当該認識の対象となる文字が、前記統合部により統合された領域に記載されている場合には、当該文字の形に基づいて１字又は複数字の文字を認識候補として特定する。
【０００８】
好ましい態様において、前記特定部は、濁点又は半濁点を判別するために予め決められた条件を満たす文字を特定し、前記移動部は、前記特定された文字と、当該特定された文字の直前にある文字とが近づくように、当該特定された文字を移動する。
【０００９】
好ましい態様において、前記条件は、文字の位置及び画数である。
【００１０】
本発明は、他の観点において、コンピュータに、文字列を表すデータを取得するステップと、前記取得されたデータが表す文字列から、複数の構成要素により構成される複合文字の一の構成要素を判別するために予め決められた条件を満たす文字を特定するステップと、前記特定された文字と、当該文字が前記複合文字の一の構成要素である場合に当該複合文字の他の構成要素となる文字とが近づくように、当該特定された文字を移動するステップとを実行させるためのプログラムを提供する。
【発明の効果】
【００１１】
請求項１に係る発明によれば、文字列に複合文字が含まれる場合であっても、文字の移動を行わずに文字列の認識を行う場合に比べて、文字列を精度よく認識することができる。
請求項２に係る発明によれば、記憶部に記憶された値を用いずに文字列を認識する場合に比べて、文字列の認識精度が向上する。
請求項３に係る発明によれば、認識候補として特定される文字の字数に全く制限がない場合に比べて、文字列の認識精度が向上する。
請求項４に係る発明によれば、濁点又は半濁点とその他の構成要素により構成される複合文字を認識することができる。
請求項５に係る発明によれば、文字の位置及び画数以外の条件が用いられる場合に比べて、濁点又は半濁点を判別するために予め決められた条件を満たす文字を特定する処理にかかる時間が短くなる。
請求項６に係る発明によれば、文字列に複合文字が含まれる場合であっても、文字の移動を行わずに文字列の認識を行う場合に比べて、文字列を精度よく認識することができる。
【図面の簡単な説明】
【００１２】
【図１】文字認識装置の構成を示す図。
【図２】辞書に記述された遷移確率の一例を示す図。
【図３】制御部の機能構成を示す図。
【図４】文字列の一例を示す図。
【図５】制御部が行う処理を示すフローチャート。
【図６】文字の移動を説明する図。
【図７】統合された枠の一例を示す図。
【図８】文字列を認識する処理を説明する図。
【図９】文字列を認識する処理を説明する図。
【図１０】変形例に係る複合文字を構成する文字を示す図。
【図１１】変形例に係る複合文字を構成する文字を示す図。
【発明を実施するための形態】
【００１３】
図１は、本実施形態に係る文字認識装置１の構成を示す図である。文字認識装置１は、制御部１１と、記憶部１２と、入出力部１３とを備える。制御部１１は、ＣＰＵ（Central Processing Unit）とメモリを備える。ＣＰＵは、メモリに記憶されているプログラムを実行することにより、各種の処理を行う。記憶部１２は、例えば不揮発性のメモリを備え、文字認識に用いられる辞書１２０を記憶する。入出力部１３は、外部の装置とデータのやり取りを行う。
【００１４】
辞書１２０には、複数の人名が登録されている。また、辞書１２０には、人名において一の文字に続いて他の文字が現れる可能性の程度を示す遷移確率が記述されている。なお、この一の文字と他の文字とは、それぞれ一字であってもよいし複数字であってもよい。図２は、辞書１２０に記述された遷移確率の一例を示す図である。図２では、文字「エ」から文字「ビ」への遷移確率として０．６が記述され、文字「ヒハ」への遷移確率として０．２が記述され、文字「ヒリ」への遷移確率として０．１が記述されている。これは、文字「エ」の後には、文字「ヒハ」や文字「ヒリ」が現れるよりも、文字「ビ」が現れる方が、より確からしい文字列になることを意味する。
【００１５】
図３は、制御部１１の機能構成を示す図である。制御部１１は、取得部２１と、特定部２２と、移動部２３と、統合部２４と、認識エンジン２５として機能する。取得部２１は、文字列を表すデータを取得する。この文字列は、例えば複数の区切られた領域の中に記載されたものである。特定部２２は、取得部２１により取得されたデータが表す文字列から、複数の構成要素により構成される複合文字の一の構成要素を判別するために予め決められた条件を満たす文字を特定する。移動部２３は、特定部２２により特定された文字と、この文字が複合文字の一の構成要素である場合にこの複合文字の他の構成要素となる文字とが近づくように、この特定された文字を移動する。統合部２４は、移動部２３により移動された文字が記載された領域と、移動された文字が複合文字の一の構成要素である場合にこの複合文字の他の構成要素となる文字が記載された領域とを統合する。認識エンジン２５は、文字の形及び隣接する文字間の関連性に基づいて、移動部２３により文字の移動が行われた後の文字列を認識する。例えば、認識エンジン２５は、認識の対象となる文字が、統合部２４により統合されていない領域に記載されている場合には、文字の形に基づいて１字の文字を認識候補として特定し、認識の対象となる文字が、統合部２４により統合された領域に記載されている場合には、文字の形に基づいて１字又は複数字の文字を認識候補として特定する。続いて、認識エンジン２５は、認識の対象となる文字の形に基づいて複数の文字を認識候補として特定し、記憶部１２に記憶された遷移確率に基づき、この特定された複数の文字の中から、認識の対象となる文字の直前の文字に続いて現れる可能性が最も高い文字を選択する。
【００１６】
次に、文字認識装置１の動作について説明する。文字認識装置１には、入出力部１３を介して文字列を示すデータが入力される。図４は、入力されたデータが表す文字列の一例を示す図である。文字列に含まれる文字は、それぞれ枠３１〜３９の中に記載されている。この枠３１〜３９は、それぞれ区切られた領域である。枠３１〜３９の大きさ及び位置は予め決められている。この文字列には、複数の構成要素により構成される複合文字「ビ」及び「ジ」が含まれる。複合文字「ビ」は、文字「ヒ」と濁音とで構成される。図４に示すように、この文字「ヒ」と濁音とは異なる枠に記載されている。同様に、複合文字「ジ」は、文字「シ」と濁点とで構成される。図４に示すように、この文字「シ」と濁点とは異なる枠に記載されている。制御部１１は、入出力部１３を介して入力されたデータを取得すると、以下の処理を行う。
【００１７】
図５は、制御部１１が行う処理を示すフローチャートである。ステップＳ１において、制御部１１は、変数ｉを初期値の１に設定する。また、制御部１１は、変数Ｎを設定する。具体的には、制御部１１は、入力されたデータに基づき、枠に記載された文字の数を算出する。そして、算出した数に１を加えた数を変数Ｎとして設定する。図４では、枠３１〜３９に９個の文字が記載されている。したがって、９に１を加えた１０が変数Ｎとして設定される。制御部１１は、変数ｉがＮよりも小さい間、変数ｉに１を加えてステップＳ１からＳ６までの処理を繰り返す。
【００１８】
ステップＳ２において、制御部１１は、入力されたデータに基づき、ｉ番目の文字が濁点又は半濁点である可能性があるか否かを判定する。なお、このｉ番目とは、文字列における文字の並び順を示す。したがって、文字列において先頭の文字が１番目の文字となり、その次の文字が２番目の文字となる。制御部１１は、濁点又は半濁点を判別するために予め決められた条件を用いて、濁点又は半濁点である可能性がある文字を特定する。ここでは、文字が枠の３分の２よりも上側に位置し、且つ文字の画数が２以下であるという条件を用いて、濁点又は半濁点である可能性がある文字が特定される。図４では、枠３３に記載された文字が、枠３３の３分の２よりも上側に位置し、且つ文字の画数が２以下である。同様に、枠３９に記載された文字は、枠３９の３分の２よりも上側に位置し、且つ文字の画数が２以下である。この場合、枠３３及び枠３９に記載された文字は、それぞれ濁点又は半濁点である可能性があると判定される。一方、これ以外の文字については、この条件に当てはまらないため、濁点又は半濁点である可能性がないと判定される。
【００１９】
ｉ番目の文字が濁点又は半濁点である可能性がない場合（ステップＳ２；ＮＯ）、制御部１１は、ステップＳ３に進む。ステップＳ３において、制御部１１は、ｉ番目の文字を認識するときに用いる方法として、孤立文字認識を指定する。これにより、図４に示す枠３３及び３９以外の枠に記載された文字については、この孤立文字認識が適用される。孤立文字認識とは、１つの枠に１字の文字が記載されていることを前提として、文字認識を行う方法である。したがって、孤立文字認識では、１つの枠から１字の文字が認識される。一方、ｉ番目の文字が濁点又は半濁点である可能性がある場合（ステップＳ２；ＹＥＳ）、制御部１１は、ステップＳ４に進む。
【００２０】
ステップＳ４において、制御部１１は、ｉ番目の文字とｉ−１番目の文字とが近づくように、ｉ番目の文字を移動する。図４では、枠３３に記載された文字と枠３９に記載された文字とがそれぞれ移動される。図６は、この文字の移動を説明する図である。図６では、枠３３に記載された文字がｉ番目の文字であり、枠３２に記載された文字がｉ−１番目の文字である。まず、制御部１１は、枠３３に記載された文字の外接矩形４３と、枠３２に記載された文字の外接矩形４２とを求める。次に、制御部１１は、外接矩形４３が外接矩形４２に接するまで、枠３３に記載された文字を移動する。これにより、枠３３に記載された文字と、枠３２に記載された文字との間の距離が縮まり、これらの文字を単一の複合文字であると認識し易くなる。
【００２１】
ステップＳ５において、制御部１１は、ｉ番目の文字が記載された枠とｉ−１番目の文字が記載された枠とを統合する。図４では、枠３２と枠３３とが統合され、さらに枠３８と枠３９とが統合される。図７は、統合された枠の一例を示す図である。図７では、図４に示す枠３２と枠３３とが統合されて、統合枠３２ａが生成されている。また、図４に示す枠３８と枠３９とが統合されて、統合枠３８ａが生成されている。なお、この枠の統合とは、文字認識を行うときに、統合前の複数の枠に記載された文字を１まとまりとして扱うことを意味する。したがって、統合枠の大きさ及び形状は、１まとまりとして扱う文字を含むものであればよい。次に、制御部１１は、統合枠に記載された文字を認識するときに用いる方法として、枠なし文字列認識を指定する。これにより、図７に示す統合枠３２ａ及び統合枠３８ａに記載された文字については、この枠なし文字列認識が適用される。枠なし文字列認識とは、１つの枠に記載されている文字の数が決まっていないことを前提として、文字認識を行う方法である。したがって、枠なし文字列認識では、１つの枠から１字又は複数字の文字が認識される。なお、枠なし文字列認識では、枠に記載された文字の字数に制限がないため、一般的には、孤立文字認識よりも文字認識の精度が低くなる。ステップＳ６において、制御部１１は、変数ｉが変数Ｎになると、処理の繰り返しを終了する。
【００２２】
ステップＳ７において、制御部１１は、記憶部１２に記憶された辞書１２０を用いて、文字の移動が行われた後の文字列を認識する処理を行う。図８は、文字列を認識する処理を説明する図である。まず、制御部１１は、各枠に記載された文字の形に基づき、認識候補となる文字を特定する。このとき、制御部１１は、枠３１及び枠３４〜３７に記載された文字については、孤立文字認識により１字の文字を特定する。一方、制御部１１は、統合枠３２ａ及び統合枠３８ａに記載された文字については、枠なし文字列認識により１字又は複数字の文字を特定する。
【００２３】
次に、制御部１１は、文脈処理を行って、認識候補として特定された文字の中から、隣接する文字との関連性が高い文字を選択する。図８では、枠３２ａに記載された文字の認識候補として、文字「ビ」、文字「ヒハ」、及び文字「ヒリ」が特定されている。この場合、制御部１１は、枠３１に記載された文字からこれら各文字への遷移確率に基づき、認識候補として特定された文字の中から、枠３１に記載された文字に続いて現れる可能性が最も高い文字を選択する。ここでは、枠３１に記載された文字として、「エ」が認識された場合を想定する。図２では、文字「エ」から文字「ビ」への遷移確率として０．６が記述され、文字「ヒハ」への遷移確率として０．２が記述され、文字「ヒリ」への遷移確率として０．１が記述されている。この場合、文字「エ」から文字「ビ」への遷移確率が最も高いため、文字「ビ」が選択される。
【００２４】
このようにして文字列を認識した後、制御部１１は、認識した文字列を表すテキストデータを生成する。生成されたテキストデータは、入出力部１３から外部の装置へ出力される。例えば、テキストデータは、画像形成装置に出力される。この場合、画像形成装置は、文字認識装置１から出力されたテキストデータが表す文字列を用紙に形成する。あるいは、テキストデータは、表示装置に出力されてもよい。この場合、表示装置は、文字認識装置１から出力されたテキストデータが表す文字列を表示する。
【００２５】
なお、図４に示す枠３５に記載された文字は濁点でも半濁点でもないが、画数が２以下であるため、例えばこの文字が枠３５の３分の２よりも上側の位置に記載された場合には、ステップＳ２において、濁点又は半濁点である可能性があると誤判定されることがある。この場合、ステップＳ４では、枠３５に記載された文字と枠３４に記載された文字とが近づくように、枠３５に記載された文字が移動される。ステップＳ５では、枠３４と枠３５とが統合され、統合枠３４ａが生成される。そして、この統合枠３４ａに記載された文字を認識するときに用いられる方法として、枠なし文字列認識が指定される。
【００２６】
そして、ステップＳ７では、統合枠３４ａに記載された文字の形に基づき、図９に示すような文字が認識候補として特定される。統合枠３４ａに記載された文字「ニ」は、濁点と形状が類似している。したがって、図９では、統合枠３４ａに記載された文字の認識候補として、文字「ダ」、及び文字「タニ」が特定されている。ここでは、枠３２ａに記載された文字として、「ビ」が認識された場合を想定する。図２では、文字「ビ」から文字「ダ」への遷移確率として０．１が記述され、文字「タニ」への遷移確率として０．３が記述されている。この場合、文字「ビ」から文字「タニ」への遷移確率が最も高いため、文字「タニ」が選択される。
【００２７】
このように、この実施形態では、濁点又は半濁点である可能性がある文字が特定された場合に、その文字と、その文字の直前にある文字とを組み合わせて１つの複合文字とするか否かを、文脈処理により決定する。したがって、濁点又は半濁点ではない文字が濁点又は半濁点である可能性があると誤判定された場合にも、文脈処理により正しい文字に修正される。
【００２８】
本発明は、上述した実施形態に限定されるものではなく、変形して実施されてもよい。以下、変形例をいくつか説明する。また、以下の変形例は、それぞれ組み合わせて実施されてもよい。
【００２９】
（変形例１）
文字列には、記号や数字が含まれてもよい。記号や数字には、例えばセルシウス度の記号、分数、括弧つきの数字のように、複数の構成要素により構成されるものがある。これらの記号又は数字は、濁点又は半濁点が付加された文字と同様に、複合文字として扱われてもよい。また、文字列には、日本語以外の言語の文字が含まれていてもよい。日本語以外の言語の文字には、例えばアクセント記号付きのラテン文字、ハングル文字のように、複数の構成要素により構成されるものがある。これらの文字は、濁点又は半濁点が付加された文字と同様に、複合文字として扱われてもよい。さらに、文字列には、漢字が含まれていてもよい。漢字には、偏（左側に配置される構成要素）とつくり（右側に配置される構成要素）とで構成されるものがある。これらの漢字は、濁点又は半濁点が付加された文字と同様に、複合文字として扱われてもよい。
【００３０】
このように、複合文字は、濁点又は半濁点が付加された文字に限らない。複合文字は、複数の構成要素により構成される文字（記号、数字を含む。）であればよい。この構成要素とは、複合文字の一部であり、複合文字の他の部分から離れて記載される可能性があるものをいう。したがって、一般的に、単一の複合文字を構成する複数の構成要素は、それぞれ分離したものである。また、各構成要素は、単独でも使用される文字であってもよい。
【００３１】
ここで、文字列にこのような複合文字が含まれる場合の処理の概念について説明する。図１０は、複合文字４０を構成する文字４１及び４２を示す図である。文字４１は、複合文字４０において左側に配置される構成要素である。文字４２は、複合文字４０において右側に配置される構成要素である。この文字４１及び４２は、それぞれ１つの枠の中に記載されている。この場合、制御部１１は、入力されたデータが表す文字列から、複合文字４０の一の構成要素を判別するために予め決められた条件を満たす文字を特定する。この条件は、構成要素の特徴であり、例えば構成要素の位置及び画数である。あるいは、制御部１１は、パターンマッチングを行うことにより、複合文字４０の一の構成要素と類似する文字を特定してもよい。次に、制御部１１は、特定した文字と他の構成要素となる文字とが近づくように、特定した文字を移動する。例えば、複合文字４０の左側の構成要素の特徴が条件として用いられた場合には、文字４１が特定される。この場合、図１０（ｂ）に示すように、特定された文字４１と文字４２とが近づくように、文字４１が右側に移動される。一方、複合文字４０の右側の構成要素の特徴が条件として用いられた場合には、文字４２が特定される。この場合、図１０（ａ）に示すように、特定された文字４２と文字４１とが近づくように、文字４２が左側に移動される。
【００３２】
この処理によれば、例えば文字列にセルシウス度の記号が含まれている場合には、この記号において右側に配置される文字「Ｃ」と左上に配置される丸とが近づくように、文字「Ｃ」又は丸が移動される。これにより、セルシウス度の記号を構成する丸と文字「Ｃ」との間の距離が縮まり、これらの文字が単一の複合文字であると認識され易くなる。また、文字列に偏とつくりとで構成される漢字が含まれている場合には、この漢字において左側に配置される偏と右側に配置されるつくりとが近づくように、偏又はつくりが移動される。これにより、この漢字を構成する偏とつくりとの間の距離が縮まり、これらの文字が単一の複合文字であると認識され易くなる。
【００３３】
図１１は、複合文字５０を構成する文字５１及び５２を示す図である。文字５１は、複合文字５０において上側に配置される構成要素である。文字５２は、複合文字５０において下側に配置される構成要素である。この文字５１及び５２は、それぞれ１つの枠の中に記載されている。この場合、制御部１１は、入力されたデータが表す文字列から、複合文字５０の一の構成要素を判別するために予め決められた条件を満たす文字を特定する。この条件は、構成要素の特徴であり、例えば構成要素の位置及び画数である。あるいは、制御部１１は、パターンマッチングを行うことにより、複合文字５０の一の構成要素と類似する文字を特定してもよい。次に、制御部１１は、特定した文字と他の構成要素となる文字とが近づくように、特定した文字を移動する。例えば、複合文字５０の上側の構成要素の特徴が条件として用いられた場合には、文字５１が特定される。この場合、図１１（ａ）に示すように、特定された文字５１と文字５２とが近づくように、文字５１が下側に移動される。一方、複合文字５０の下側の構成要素の特徴が条件として用いられた場合には、文字５２が特定される。この場合、図１１（ｂ）に示すように、特定された文字５２と文字５１とが近づくように、文字５２が上側に移動される。
【００３４】
この処理によれば、例えば文字列にアクセント記号付きのラテン文字が含まれている場合には、このラテン文字において上側に配置されるアクセント記号と下側に配置される文字とが近づくように、例えばアクセント記号が移動される。これにより、このラテン文字を構成する文字とアクセント記号との間の距離が縮まり、これらの文字が単一の複合文字であると認識され易くなる。
【００３５】
なお、複合文字は、３つ以上の構成要素により構成されてもよい。この場合、制御部１１は、構成要素の数をＭとしたときに、少なくともＭ−１個の構成要素となる可能性がある文字を特定し、特定した文字と他の構成要素となる文字とが近づくように、特定した文字をそれぞれ移動する。
【００３６】
（変形例２）
実施形態では、ステップＳ４において、ｉ番目の文字の外接矩形がｉ−１番目の文字の外接矩形に接するまで、ｉ番目の文字が移動されていた。しかしながら、これらの外接矩形が接する前に文字の移動を止めてもよい。また、ｉ番目の文字とｉ−１番目の文字とが重ならなければ、これらの外接矩形が重なるまで文字の移動を行ってもよい。また、ｉ番目の文字とｉ−１番目の文字とが両方とも移動されてもよい。要するに、制御部１１は、複合文字の一の構成要素である可能性がある文字と、その複合文字の他の構成要素となる文字とが近づくように、文字を移動すればよい。
【００３７】
（変形例３）
実施形態では、文字が枠の３分の２よりも上側に位置し、且つ文字の画数が２以下であるという条件を用いて、濁点又は半濁点である可能性がある文字を特定していた。しかしながら、例えばｉ番目の文字と濁点又は半濁点とをパターンマッチングすることにより、濁点又は半濁点である可能性がある文字を特定してもよい。ただし、この場合には、処理量が増えるため、濁点又は半濁点である可能性がある文字を特定する処理にかかる時間が長くなる。
【００３８】
（変形例４）
辞書１２０に登録される情報は、人名に限らない。例えば、インターネット上で公開されている文章に含まれる文字列であってもよい。また、辞書１２０に記述される遷移確率は、予め大量の文章を学習して求めたものであってもよい。
【００３９】
（変形例５）
実施形態では、認識の対象となる文字の１つ前にある文字と、認識の対象となる文字との関連性に基づいて、文脈処理が行われていた。しかしながら、認識の対象となる文字の１つ後ろにある文字と、認識の対象となる文字との関連性に基づいて、文脈処理が行われてもよい。この場合、辞書１２０には、文字列において一の文字の直前に他の文字が現れる可能性の程度を示す値が記述される。また、制御部１１は、文脈処理を行うときに、文字列を後ろから認識していく。要するに、制御部１１は、隣接する文字間の関係性に基づき、文字列を認識すればよい。
【００４０】
（変形例６）
文字認識装置１は、用紙に記載された文字列を認識するものであってもよい。この用紙には、予め複数の枠がプリントされている。ユーザは、この複数の枠の中に手書きで文字列を記入する。スキャナ装置は、用紙に記載された文字列を光学的に読み取り、この文字列を表すデータを文字認識装置１に入力する。文字認識装置１は、スキャナ装置から入力されたデータに基づき、上述した処理を行う。なお、スキャナ装置は、上述した画像形成装置と一体に設けられてもよい。この場合、文字認識装置１は、この画像形成装置の内部に設けられてもよい。
【００４１】
（変形例７）
文字認識装置１は、タブレットやタッチパネルなどの座標入力装置を用いて入力された文字列を認識するものであってもよい。この座標入力装置は、複数の枠を表示する。ユーザは、例えば専用のペンを用いて、この複数の枠の中に手書きで文字列を書き込む。座標入力装置は、このペンの動きを検出し、検出した動きを示す時系列座標データを文字認識装置１に入力する。文字認識装置１は、座標入力装置から入力された時系列座標データに基づき、上述した処理を行う。この場合、文字認識装置１は、文字の形に加え、文字の筆順を利用して文字認識を行ってもよい。
【００４２】
（変形例８）
実施形態では、枠によって区切られた領域の中に文字が記載されていたが、この枠はなくてもよい。例えば、他の領域とは異なる色を有する、区切られた領域の中に文字が記載されてもよい。
【００４３】
（変形例９）
取得部２１、特定部２２、移動部２３及び統合部２４と、認識エンジン２５とは、別の筐体に設けられていてもよい。この場合、移動部２３により文字が移動された後の文字列を示すデータが認識エンジン２５に送られる。認識エンジン２５は、ステップＳ３又はＳ５において指定された文字認識の方法に従って、送られてきたデータが表す文字列を認識する。
【００４４】
（変形例１０）
制御部１１は、ＡＳＩＣ（Application Specific Integrated Circuit）を備えてもよい。この場合、制御部１１の機能は、ＡＳＩＣにより実現されてもよいし、ＣＰＵとＡＳＩＣの両方で実現されてもよい。
【００４５】
（変形例１１）
制御部１１の機能を実現するプログラムは、磁気媒体（磁気テープ、磁気ディスク（ＨＤＤ（Hard Disk Drive）、ＦＤ（Flexible Disk））など）、光媒体（光ディスク（CD（Compact Disc）、ＤＶＤ（Digital Versatile Disk））など）、光磁気媒体、半導体メモリなどのコンピュータ読み取り可能な媒体に記憶した状態で提供し、文字認識装置１にインストールしてもよい。また、通信回線を介してダウンロードしてインストールしてもよい。
【符号の説明】
【００４６】
１…文字認識装置、１１…制御部、１２…記憶部、１３…入出力部、２１…取得部、２２…特定部、２３…移動部、２４…統合部、２５…認識エンジン、１２０…辞書
【図１】
0005807342.tif 000002
【図２】
0005807342.tif 000003
【図３】
0005807342.tif 000004
【図４】
0005807342.tif 000005
【図５】
0005807342.tif 000006
【図６】
0005807342.tif 000007
【図７】
0005807342.tif 000008
【図８】
0005807342.tif 000009
【図９】
0005807342.tif 000010
【図１０】
0005807342.tif 000011
【図１１】
0005807342.tif 000012