(57)【要約】【課題】開示技術は各種の文字から構成される文字列を効率的に認識する。【解決手段】開示技術の実施例に係る文字認識方法は、文字列画像を複数のセグメントに分割するステップと、複数のセグメントに対してＯＣＲ認識を行って、候補文字を取得するステップと、候補文字の統計情報及び/又は候補文字によって形成される文字組み合わせの統計情報を取得するステップと、統計情報と候補文字のＯＣＲ認識の信頼度を統合して、候補文字列を確定するステップとを含む。そして、開示技術は文字列認識装置を提供する。【選択図】図１１
2011065646.tif 000002
【特許請求の範囲】
【請求項１】
文字列認識装置が、
文字列画像を複数のセグメントに分割するステップと、
前記複数のセグメントに対してＯＣＲ認識を行って、候補文字を取得するステップと、
前記候補文字の統計情報及び/又は前記候補文字によって形成される文字組み合わせの統計情報を取得するステップと、
前記統計情報と前記候補文字のＯＣＲ認識の信頼度を統合して、候補文字列を確定するステップと
を含む文字列認識方法。
【請求項２】
文字列画像を複数のセグメントに分割するセグメント分割部と、
前記複数のセグメントに対してＯＣＲ認識を行って、候補文字を取得するＯＣＲ認識部と、
前記候補文字の統計情報及び/又は前記候補文字によって形成される文字組み合わせの統計情報を取得する統計情報取得部と、
前記統計情報と前記候補文字のＯＣＲ認識の信頼度を統合して、候補文字列を確定する第１の文字列確定部と
を含む文字列認識装置。
【請求項３】
前記統計情報は、一つの文字、文字類型及び/または文字組み合わせと、前記一つの文字、文字類型及び/または文字組み合わせと、一つの文字、文字類型及び/または文字組み合わせとが一緒に出現する確率を含む請求項２に記載の文字列認識装置。
【請求項４】
前記文字組み合わせは、音節を構成する文字の組み合わせ又は字母と数字の組み合わせである請求項２又は３に記載の文字列認識装置。
【請求項５】
前記文字列画像における文字列は、デリミタを含み、
前記デリミタを認識するデリミタ認識部をさらに含む請求項２又は３に記載の文字列認識装置。
【請求項６】
前記デリミタ認識部は、
前記文字列画像に対して連結領域の解析を実行して、前景画素の連結領域の画素数を取得する連結領域解析部と、
前記連結領域の画素数に基づいて、デリミタを確定するデリミタ確定部とを、含む請求項５に記載の文字列認識装置。
【請求項７】
前記デリミタ確定部は、
前記連結領域の画素数に基づいてデリミタを確定する場合、前記画素数が小さい連結領域から順に複数の連結領域を選択し、選択した連結領域の画素数の平均値を算出することで閾値を確定して、連結領域の画素数が該閾値未満であって、且つ該連結領域が文字列画像の下部に位置する場合、該連結領域をデリミタに確定するように配置される請求項６に記載の文字列認識装置。
【請求項８】
ＯＣＲ認識の信頼度に基づいて、前記候補文字列と予め定義したデータベースにおける文字列との間の距離を算出して、前記候補文字列を確定する第２の文字列確定部をさらに含む請求項２に記載の文字列認識装置。
【請求項９】
前記第２の文字列確定部は、前記候補文字とデータベースにおける比較対象になる文字列との距離から、該候補文字の対応するセグメントがデータベースにおける比較対象になる文字列における対応する位置の文字に認識される信頼度に対応する値を減算するように配置される請求項８に記載の文字列認識装置。
【請求項１０】
前記第２の文字列確定部は、前記候補文字列におけるあるセグメントのいずれか一つの候補文字と前記データベースにおける比較対象になる文字列における対応する位置の文字が異なる場合、該候補文字と前記データベースにおける比較対象になる文字列との距離に、該候補文字の認識信頼度に対応する値を加算するように配置される請求項８又は９に記載の文字列認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字列画像から文字列を認識する文字列認識装置及び文字列認識方法に関する。
【背景技術】
【０００２】
現在、ＯＣＲ技術を用いて各種の文字情報を認識することは一般的である。例えば、ユーザが紙又はタッチパネルに一連の文字を書いた後、書かれた文字列は、スキャン、撮影又は磁気誘導などによって文字列画像に変換される。そして、認識システムは、変換された文字列画像を認識し、認識した文字列を出力する。
【０００３】
認識システムには、各種の文字から構成された文字列が画像として入力される。例えば、文字列として、字母のみから構成されるもの、字母と数字が混合したもの、デリミタ（区切り文字）である「．」を含むもの、デリミタである「＠」を含むものなどがある。
【０００４】
また、インターネットの急速な発展に伴い、情報を伝送する際には、各種の文字から構成される文字列が用いられる場合が頻繁にあり、とりわけ、認識システムは、手書きされた文字列を認識することがより重要となっている。例えば、認識システムは、ユーザによってタッチパネルに手書きされたＥｍａｉｌアドレスを認識する場合がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−３３０３７７号公報
【特許文献２】特開２００２−１８３６６４号公報
【特許文献３】特開２０１０−１４０１６２号公報
【特許文献４】中国特許出願公開第２００８１００８０９５０号明細書
【非特許文献】
【０００６】
【非特許文献１】W.K.  Pratt、John  Wiley、Sons  Inc，Digital  Image  Processing  (4th  Edition)，２００７年
【非特許文献２】Danian  Zheng，「Handwritten  Email  Address  Recognition  with  Syntax  and  Lexicons」，ICFHR2008
【非特許文献３】F.  Kimura、K.  Takashina、S.  Tsuruoka、Y.  Miyake，「Modified  Quadratic  Discriminant  Functions  and  the  Application  to  Chinese  Character  Recognition」，IEEE  Trans，Pattern  Analysis  and  Machine  Intelligence，１９８７年１月，第９巻，第１号，ｐ．１４９−１５３
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来の技術では、各種の文字から構成される文字列を効率的に認識することができないという課題があった。
【０００８】
開示の技術は、上記に鑑みてなされたものであって、文字列を認識する装置及び方法を提供することを目的とする。以下、開示技術に対する基本理解を深めるように、開示技術の概略を説明する。だが、この概略の説明は、開示技術を十分に説明するものではない。また、開示技術のキーポイント又は重要な部分を限定するものでもなく、開示技術の範囲を限定するものでもない。ただ、簡潔な形態で概念を与えることで、後述する更に詳しい説明の前置部分とする。
【課題を解決するための手段】
【０００９】
開示技術の一側面によると、文字列認識装置が、文字列画像を複数のセグメントに分割するステップと、複数のセグメントに対してＯＣＲ認識を行って、候補文字を取得するステップと、候補文字の統計情報及び/又は候補文字によって形成される文字組み合わせの統計情報を取得するステップと、統計情報と候補文字のＯＣＲ認識の信頼度を統合して、候補文字列を確定するステップと、を含む文字列認識方法を提供する。
【００１０】
開示技術の他の形態によると、文字列画像を複数のセグメントに分割するセグメント分割部と、複数のセグメントに対してＯＣＲ認識を行って、候補文字を取得するＯＣＲ認識部と、候補文字の統計情報及び/又は候補文字によって形成される文字組み合わせの統計情報を取得する統計情報取得部と、統計情報と候補文字のＯＣＲ認識の信頼度を統合して、候補文字列を確定する第１の文字列確定部と、を含む文字列認識装置を提供する。
【００１１】
また、開示技術の実施例によると、文字列認識方法を実現するコンピュータプログラムを提供する。
【００１２】
また、開示技術の実施例によると、文字列認識方法を実現するためのコンピュータプログラムコードが記録されており、少なくともコンピュータが読み取り可能な形態であるコンピュータプログラム製品を提供する。
【発明の効果】
【００１３】
本願の開示する文字列認識装置及び文字列認識方法の一つの態様によれば、各種の文字から構成される文字列を効率的に認識することができるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】図１は、開示技術の第１の実施例に係わる方法を模式的に示すフローチャートである。
【図２】図２は、開示技術の第２の実施例に係わる方法を模式的に示すフローチャートである。
【図３】図３は、文字列の認識結果の一例を示す図である。
【図４】図４は、右側に、ＯＣＲ認識の結果に対して選別を行った後の選別結果を示し、左側に、対応するパスを示す図である。
【図５】図５は、一般的な二つの文字からなる音節及び/又は三つの文字からなる音節を示す図である。
【図６】図６は、音節のシミュレーション及び統計結果を示す図である。
【図７】図７は、開示技術の第３の実施例に係わる方法を模式的に示すフローチャートである。
【図８】図８、数字と字母によって構成される三次元組の統計結果を示す図である。
【図９】図９は、開示技術の第４の実施例に係わる方法を模式的に示すフローチャートである。
【図１０】図１０は、開示技術の第５の実施例に係わる既に把握したデータベースを利用してＯＣＲ認識結果を補正する方法を模式的に示すフローチャートである。
【図１１】図１１は、開示技術の第６の実施例に係わる方法を模式的に示すフローチャートである。
【図１２】図１２は、開示技術の第７の実施例に係わる文字列認識装置を示す図である。
【図１３】図１３は、開示技術の第８の実施例に係わる文字列認識装置を示す図である。
【図１４】図１４は、開示技術の第９の実施例に係わる文字列認識装置を示す図である。
【図１５】図１５は、開示技術の第１０の実施例に係わる文字列認識装置のデリミタ認識部を示す図である。
【図１６】図１６は、開示技術の第１１の実施例に係わる文字列認識装置を示す図である。
【図１７】図１７は、開示技術の実施例を実施するコンピュータを示すブロック図である。
【発明を実施するための形態】
【００１５】
以下、図面を通して、開示技術の代表的な実施例を説明する。説明を明確で簡潔にするために、明細書において実際の実施形態のすべての特徴を記載しているわけではない。このようないかなる実施例を実用化する過程において、開発者の具体的な目的を実現するように、実用化する実施形態に特定された決定が行なわれる。また、異なる実施形態によって、このような決定も異なる。
【００１６】
開示技術は、以下の部分において、図面を通した記述を参照することにより、更によく理解することができる。なお、すべての図面において、同一又は類似の符号で同一又は類似の部品を表示する。図面は下記の詳細な説明とともに本明細書に含まれ且つ本明細書の一部になり、しかもさらに例を挙げて本発明の好ましい実施例を説明し、本発明の動作と効果を解釈するために用いられる。
【００１７】
ここで、図面において、開示技術が不明確になることを防ぐため、開示技術に係る技術的思想と直接関係する装置の構造及び/又は処理ステップのみを示し、開示技術と直接関係しない他のものについては、詳細な説明を省略していることを補足する。
【００１８】
以下、具体的な実施例に基づいて、開示技術を詳しく説明する。
【実施例１】
【００１９】
一般的なＯＣＲ認識技術自体は公知技術であるが、後述の説明及び理解の便宜を図るために、ＯＣＲ認識のプロセスを簡単に説明する。
【００２０】
入力された認識対象である文字列画像は、ユーザによって紙又はタッチパネルに書かれた後スキャン、撮影又は磁気誘導などによって変換して得られる文字列画像であってもよい。例えば、ユーザがタッチパネルに手書きで「hanashiro」と入力された文字列の画像であってもよい。
【００２１】
通常、入力された文字列画像を取得した後、手書きで入力された文字列画像に対して前処理、例えば２値化処理を行う。例えば、模擬画像、カラーデジタル画像、階調レベル画像を２値化画像に変換させる。その後、連結領域の解析を行う。連結領域とは、お互いに隣り合う同類の画素（例えば、前景画素）によって形成される画像領域である。同類の画素は、２値化画像の場合に、前景画素（例えば、黒画素）を指すこともでき、背景画素（例えば、白画素）を指すこともできる。また、同類の画素は、階調レベル画像の場合に、階調レベルが一定の範囲内に入る画素を指すことができる。通常の連結領域には、４隣接領域の連結領域と８隣接領域の連結領域などがある。連結領域は当業者には周知の概念であるので、ここでは説明を省略する。また、各種の公知の方法によって、連結領域を検出することができ、例えば、８隣接領域の連結領域の解析によって、文字画像におけるすべての連結領域を検出することができる。
【００２２】
８隣接領域の連結領域の解析において、まず、一つの前景点を検出してそれを起点とし、起点の８隣接領域内において、アクセスされていない前景点を検出して、これらを新規の起点とする。そして、次の新規の起点を検出すことができなくなるまで、この検出プロセスを再帰的に繰り返し、検出を終了してすべてのアクセスされた前景点を出力して一つの連結領域とする。新規のアクセスされていない前景点を検出して、それを起点として他の連結領域を検出すことができる。すべての点がアクセスされるまでにこのような処理を行う。８隣接領域の連結領域の解析について、例えば非特許文献１を参照することができる。
【００２３】
そして、連結領域の解析（文字の分割を行うこともできる）の結果に基づいて、特徴を抽出し、分類装置によってＯＣＲ認識を行うことができる。
【００２４】
しかし、文字列に対するＯＣＲ認識のみだけでは、望みの結果を得ることができない。開示技術の発明者は、多くの場合、文字列においてある組み合わせの法則を含むことを発見した。大量の文字列に対する統計を取得することでこの法則を得て、この法則を文字列の認識に利用することによって、認識率の精度を大幅に向上させることが可能となった。
【００２５】
開示技術の一実施例において、文字組み合わせの統計情報とＯＣＲ認識を統合して認識対象である文字列を特定する方法を提案する。
【００２６】
多くの場合に、認識対象である文字列は、一般的又は日常的に用いられる文字列である。例えば、日本語の文字列の「hanashiro」について、大量の日本語に対して統計を行うと、先頭に「ha」の文字組み合わせが出現した場合、その後に「na」の文字組み合わせが出現する確率を得ることができる。そうすると、認識を行う場合、ＯＣＲ認識の結果とこの統計情報を統合すると、さらに優れた結果を得ることができる。
【００２７】
図１は、開示技術の第１の実施例に係わる方法を模式的に示すフローチャートである。
【００２８】
ステップＳ１１０において、文字列認識装置は、文字列画像を複数のセグメントに分割する。各種の既存技術によってこの分割ステップを行うことができる。「hanashiro」を例とすると、連結領域の解析結果に基づいて、分割及び認識を行うことができる。まず、前景の連結領域を幾つかの隣り合うセグメントに分割することができ、この中の１〜３個の隣り合うセグメントによって一つの完全な文字が構成できる。文字列認識装置は、通常、ダブル弾性マッチングアルゴリズムによって、すべての可能な分割点を検出した後、動的計画によって最適な分割点を検出する。連結領域の分割について、具体的には、特許文献４及び非特許文献２を参照することができる。
【００２９】
ステップＳ１２０において、文字列認識装置は、分割した複数のセグメントに対してＯＣＲ認識を実行し、候補文字を取得する。当業者にとって、文字画像に対して認識を行う場合に、認識対象の文字画像は、ある文字として取得される確率であることは自明なことである。例えば、文字画像「ｈ」はＯＣＲ認識において「ｈ」又は「ｂ」として認識される可能性があるが、「ｈ」又は「ｂ」として認識される確率はそれぞれ異なる。なお、この確率は、認識信頼度と呼ばれる。したがって、各セグメントは、少なくとも一つの候補文字に対応する。
【００３０】
ステップＳ１３０において、文字列認識装置は、セグメントの候補文字の統計情報及び/又はセグメントの候補文字によって形成された文字組み合わせの統計情報を取得する。例えば、文字列認識装置は、文字組み合わせ「ha」について、大量の語彙に対して予め統計を行い、文字組み合わせ「ha」を含む確率を取得する。同様に、文字列認識装置は、文字組み合わせ「han」が語彙において出現する確率を取得することができる。ここで、統計を行うための語彙の範囲を限定することができることは当然である。例えば、文字列認識装置は、すべての会社名を統計する、すべての姓名を統計する等して、対応する確率を取得することができる。文字列認識装置は、ある文字列を認識する際に、文字列がある分野又はある範囲に所属することが分かると、対応する確率を利用して、さらに良好な結果を得ることができる。ここで、統計プロセスは予め完成したものであって、ステップＳ１３０においては統計結果を直接に入力として利用することができる。
【００３１】
文字列認識装置は、上述した各文字組み合わせの統計情報に基づいて、以下の結果を得ることができる。文字列認識装置は、ある文字又は文字組み合わせが出現すると、その後にある文字又は文字組み合わせが出現する確率が幾つであるかという結果を得ることができる。例えば、文字列認識装置は、「ha」の文字の出現する確率が分かって、「han」の出現する確率も分かると、条件確率式Ｐ（Ｂ｜Ａ）＝Ｐ（ＡＢ）／Ｐ（Ａ）にしたがって、「ha」が出現した場合その後に「n」が出現する確率が幾つであるかを得ることができる。また、逆に、文字列認識装置は、「h」が「an」の前に出現する確率が幾つであるかも得ることができる。
【００３２】
ステップＳ１４０において、文字列認識装置は、統計情報と候補文字のＯＣＲ認識の信頼度とを統合して候補文字列を文字列に確定する。例えば、文字列認識装置は、同一セグメントの複数のＯＣＲ候補文字について、統計情報に基づいて、現在のコンテキストにおける出現確率が高い候補文字を選択する。また、文字列認識装置は、統計確率とＯＣＲ認識の信頼度にそれぞれ一定の重みを加えて候補文字を選択する。また、文字列認識装置は、統計情報に基づいてＯＣＲ信頼度が一定の閾値を超える候補文字の中から選択する。
【００３３】
本実施例に係わる方法によると、文字列認識装置は、ＯＣＲ認識の信頼度以外に、複数のセグメントの候補文字組み合わせの統計情報を用いるので、認識率の精度をさらに向上させることができる。
【００３４】
ここで、説明しておきたいことは、統計情報は、一つの文字、文字類型及び/又は文字組み合わせと当該一つの文字、文字類型及び/または文字組み合わせと、他の、一つの文字、文字類型及び/又は文字組み合わせとが一緒に出現する確率を含む。例えば、文字列認識装置は、文字列の「hanashiro123」について、「h」と「a」が一緒に出現する確率、「ha」と「n」が一緒に出現する確率、「h」と「an」が一緒に出現する確率、「ha」と「na」が一緒に出現する確率、「ro」と「12」が一緒に出現する確率、字母と数字が一緒に出現する確率、複数の（例えば三つの）数字が連続して出現する確率、複数の連続する字母と複数の連続する数字が出現する確率などを統計することができる。すなわち、文字列認識装置は、いずれも、前（又は後）に出現する文字/文字類型/文字組み合わせに基づいて統計して、後（又は前）に出現する文字/文字類型/文字組み合わせが出現する確率を得て、認識に用いる。
【００３５】
文字列認識装置は、統計情報が文字組み合わせに係わる場合に、ＯＣＲ信頼度を統合すると共に文字組み合わせに係わる複数のセグメントの候補文字組み合わせを確定することができ、その方法は上述の方法と同様である。また、文字列認識装置は、文字組み合わせに係わる確率を一つの文字に係わる確率に変換して用いてもよい。
【実施例２】
【００３６】
第１の実施例に基づいて、発明者は、全ての言語において、音節が統計的な関連を持っていることを発見した。日本のユーザ名を例にすると、通常幾つかの音節が含まれ、これらの音節が統計的に一定の関連を持っているので、このような関連を利用してさらに良好な認識効果を実現することができる。例えば、日本のユーザ名「hanashiro」の場合、「ha」と「na」と「shi」と「ro」との四つの音節が含まれるので、文字列認識装置は、これらの音節によって上述した方法の文字組み合わせを構成することができる。例えば、文字組み合わせには、「ha」、「na」などの一つの音節を含むことができ、「hana」、「nashi」などの二つの音節を含むこともでき、さらに「hanashi」などの三つの音節を含むこともできる。したがって、文字列認識装置は、文字列を認識するために、例えば、ｎ−次元シソーラスから、隣り合う音節からなるｎ−次元組を検出する。そして、文字列認識装置は、隣り合う音節からなるｎ−次元組を検出した場合、この音節はさらに高いスコアを得る。一方、文字列認識装置は、隣り合う音節からなるｎ−次元組を検出しない場合、この音節はただのＯＣＲ認識確率である。以下の第２の実施例において、続けて「hanashiro」を例とし、この音節に基づくｎ−次元組の方法を具体的に説明する（三次元組の方法を例とする）。図２は、開示技術の第２の実施例に係わる方法を模式的に示すフローチャートである。
【００３７】
ステップＳ２１０において、文字列認識装置は、第１の実施例で説明したように、まず、文字列「hanashiro」の画像を複数のセグメントに分割する。ここでは、ちょうど「h」、「a」、「n」、「a」…の画像のセグメントに分割されることを想定する。その後、ステップＳ２２０において、文字列認識装置は、各セグメントに対してＯＣＲ認識を実行して、「hanashiro」における各文字のＯＣＲ認識の確率を確定する。図３に該認識の結果を示した。図３において、行ごとに対応する文字のＯＣＲ認識の確率をそれぞれ示した。例えば、文字列認識装置は、第１の画像セグメントについて、「ｈ」に認識するＯＣＲ認識の確率は０．１１４で、「ｎ」に認識する確率は０．１０１で、「ｋ」に認識する確率は０．１０１で、「ｍ」に認識する確率は０．０７４等である。文字列認識装置は、第２の画像セグメントに対して、「a」に認識する確率は０．１３２で、「u」に認識する確率は０．０８２である。
【００３８】
ステップＳ２３０において、文字列認識装置は、各文字のＯＣＲ認識の結果を選別する。文字列認識装置は、認識の信頼度の低い認識結果を除去し、認識の信頼度の高い認識結果を残す原則にしたがって選別を行う。例えば、文字列認識装置は、式Ｃｅｒｉ／Ｍａｘ（Ｃｅｒｉ）＞Ｔを利用して選別を実行する。ここで、ｉは、認識結果の番号を示し、例として挙げた図３に示す認識結果において、各文字に対して１０個ずつの候補文字が掲げられているので、ここで、ｉは１〜１０とする。Ｃｅｒｉはｉ個目の候補文字のＯＣＲ確率である。Ｔは閾値であり、例えば０．７５に設定することができる。この式によると、文字列認識装置は、ある候補文字の信頼度が全ての候補文字における最大の信頼度よりかなり小さいと、認識対象である文字が候補文字であることは不可能であると判定する。そして、文字列認識装置は、継続する算出において、この候補文字を算出しないので、算出量を大幅に低減することができる。このような形態によって、図４の右側に示す選別結果を得る。図４に示すように、第１の文字は、「h」、「n」と「k」の三つの候補文字が残され、第２の文字は、ただ「a」の一つの候補文字が残され、第３の文字は、「n」、「h」と「m」の三つの候補文字が残される。なお、例えば、最大の信頼度と関係ない閾値を直接に確定することによって選別を行ったり、最大の信頼度を有する予定量の候補文字を直接に利用したりする他の選別形態によって選別を行うこともできる。
【００３９】
ステップＳ２４０において、文字列認識装置は、日本語のスペリング法則に基づいて、候補文字を二文字からなる音節及び/又は三文字からなる音節に組み合わせる。したがって、文字列認識装置は、予め大量の日本語のユーザ名に対して解析を行っておき、例えば図５に示す結果を取得する。図５の左側に一般的な二文字からなる音節が示されており、図５の右側に一般的な三文字からなる音節が示されている。このように、文字列認識装置は、第１の候補文字が「h」、「n」と「k」であって、第２の候補文字が「a」であるので、第１の候補音節は「ha」と「na」と「ka」であると確定することができ、その後も同様に推定することができる。文字列認識装置は、音節に含まれない候補文字を依然として独立した文字として保持する。例えば、文字列認識装置は、第５〜第７の文字の候補文字がそれぞれ「s」、「h」/「k」、「i」であって、これらの組み合わせ形態を「shi」、「s」-「hi」又は「s」-「ki」とする。
【００４０】
ステップＳ２５０において、文字列認識装置は、上述の音節に基づく処理結果に基づいて、全ての可能なパス（つまり、候補文字の可能な組み合わせ）を掲げる。各パスについて、パスの各ノードに対応する「音節」又は「文字」には幾つかの候補認識結果があるので、文字列認識装置は、幾つかの同じ長さの候補文字列を組み合わせることができる。図４の左側に、「hanashiro」を認識するための全てのパスが含まれる図を示した。
【００４１】
続いて、ステップＳ２６０において、文字列認識装置は、図４に示す各ノードについて、統計情報とＯＣＲ認識の信頼度を統合してスコアを算出する。文字列認識装置は、第１のノードの前には他のノードが存在しないので、第１のノードに対して、統計的に単独に出現する確率とＯＣＲ認識の確率を直接的に利用して直接的にスコアを算出する。文字列認識装置は、第２のノードからは、その前のノードとの間に統計的な関連を持っているので、その前のノードのスコアと、その前のノードが出現した場合に現在のノードが出現する確率と、現在のノードのＯＣＲ認識の確率に基づいて現在のノードの認識確率を算出する。文字列認識装置は、この技術的思想を利用して各ノードについて確率を算出する。
【００４２】
例えば、文字列認識装置は、以下の式（１）にしたがって、各パスのノード毎にスコアを算出する。ここで、式（１）は、「Score(Sp)=Score(Sp-1)+logPnlo(Sp|hｐ−１)＋logPocr(Sp)」である。
【００４３】
式（１）において、Ｓは音節を示し、文字から構成される。ｐは音節の番号を示し、例えば、第１の音節haは、ｐ＝１とする。式（１）において、第１の項目Ｓｃｏｒｅ（Ｓｐ−１）はパスにおける現在のノードの前のノードのスコアを示し、パスにおける第1のノードは、その前のノードが存在しないので、この項はゼロである。第２の項目におけるＰｎｌｐ（Ｓｐ｜ｈｐ−１）は自然の言語において、履歴情報ｈｐ−１が存在する場合で統計を経て得た現在の音節が出現する確率（即ち、その前のノードが出現した場合に現在のノードが出現する確率）を示す。パスにおける第１のノードは、その前のノードが存在しないと、履歴情報が存在しないので、この項は直接に第１のノードの自然言語における出現確率を直接に示す。Ｐｏｃｒ（Ｓｐ）は、音節のＯＣＲ認識の確率を示し、例えば、音節を構成する各文字のＯＣＲ認識の確率をそれぞれ乗ずることによって得られる。この方法によって算出した各パスの最後のノードのスコアがこのパスのスコアであって、スコアが最大のパスを最高の信頼度を有する文字列の文字列認識結果として選択することができる。なお、式（１）において確率の対数値を利用しており、前ノードのスコア及び自然言語の確率とＯＣＲ認識の確率とを組み合わせる際に加算を利用する。当業者にとっては、各ノード、各パスのスコアにおいて上述の要素を共に考えれば、いかなる数学形態によって確率と前ノードのスコアを利用してもよいことは明らかである。
【００４４】
各音節の単独の確率と若干の音節が一緒である確率、即ち、コンテキストにおけるＰｎｌｐは、さまざまな方法によって得ることができ、外部からの入力として、本実施例による方法を直接に利用することができる。例えば、文字列認識装置は、ＳＲＩＬＭツールキットを利用して大量の関連する文字列に対してシミュレーション及び統計を実行することによって、各音節の単独の確率と若干の音節が一緒である確率を取得することができる。例えば、図６に、音節に対するシミュレーション及び統計の結果を示している。図６は、数十万個の有効の日本のＥｍａｉｌアドレスのユーザ名を利用して統計を行っている。図６に示すように、統計結果には、単一の音節（１−ｇｒａｍｓ）、２音節組（２−ｇｒａｍｓ）と３音節組（３−ｇｒａｍｓ）の確率が含まれる（ここでの確率に１０を底とする対数算出を行っており、以下、該算出結果を直接に確率と称する）。説明を容易にするために、３音節の確率の具体的な統計結果のみを示した。このように、ユーザ名に「ka-ha-ta」が出現する確率は−１．８７３３５６であって、「ke-ha-ra」が出現する確率は−０．００１８２８６１１である。例として利用されたＳＲＩＬＭツールキットは、当業者にはよく知られた言語統計ツールである。具体的に、ＳＲＩＬＭツールキットは、「http://www.speech.sri.com/projects/srilm/」を参照することができるので、ここでは詳しく説明しない。本実施例において、文字列認識装置は、統計結果における対応する確率の値を直接に利用して算出を行う。
【００４５】
文字列認識装置は、図４に示す第１のパス「ha-na-shi-ro」における第１のノード「ha」に対して、第１のノードのスコアＳｃｏｒｅ（Ｓ１）を算出する。ここで、文字列認識装置は、さまざまな形態によって、音節「ha」の自然言語の確率とＯＣＲ認識の確率情報を利用することができる。例えば、文字列認識装置は、加重方法によって組み合わせることができる。ここでは、上述の式（１）を例として算出する。ｐ＝１であって、その前にノードが存在しないので、文字列認識装置は、式（１）にしたがって、音節「ha」の自然言語の確率とＯＣＲ認識の確率を足して第１のノードのスコアＳｃｏｒｅ（Ｓ１）を得る。このパスにおける第２のノード、即ち、音節「na」について、そのスコアが前ノードのスコアと、前ノードが出現した場合に現在のノードが出現する確率と、現在のノードのＯＣＲ認識の確率とに関連する。したがって、文字列認識装置は、同様に様々な組み合わせ又は算出法則を用いて、このノードのスコアを特定することができる。ここでは依然として式（１）を例とする。式（１）から分かるように、音節のスコアは現在のノード自体と関連するばかりではなく、その前の音節、即ち、「ha」と関連する。文字列認識装置は、ＳＲＩＬＭツールキットの統計結果に基づいて、その中の条件確率ｌｏｇＰｎｌｐ（Ｓｐ｜ｈｐ−１）を簡単に算出することができる。この技術的思想は、大量の実施例に対する統計結果を利用して言語の内在法則を確定することによって、前のノードが例えば「ha」であることを確定すると、現在のノードが「na」である確率が幾つであるかを示す。ここで、ｈｐ−１は、ただその前の音節の履歴情報のみを利用したことを示すではなく、その前のさらに多くの音節の履歴情報を利用することができることを示す。開示技術の現在の方法において、第３のノードからそれぞれその前の二つの音節の履歴情報を利用するので、音節に基づく３次元組方法と呼ばれる。文字列認識装置は、さらに多くの音節が一緒である情報を統計して算出に利用できることは当然である。Ｓｃｏｒｅ（Ｓｐ−１）は、関連パスにおける現在のノードの前のノードのスコアを示し、開示技術においてはその前の一つのノードのスコアのみを利用することができる。
【００４６】
式（１）によると、第１のパスにおける各音節のスコアを算出して得ることができるので、文字列認識装置は、第１のパスのスコアを得ることもできる。同様に、文字列認識装置は、第２のパス、例えば「ha-ha-shi-ro」と、第３のパス、例えば「na-na-shi-ro」などのスコアを得て、スコアが最大のパスを確定することができる。そしてステップＳ２７０において、文字列認識装置は、認識された確率が最大の候補文字列を確定することができる。
【００４７】
この実施例において、文字列認識装置は、音節に基づいて、認識対象である文字列を分割して、統計によるこれらの音節の自然言語における互いの関連確率を利用したので、認識率の精度を大幅に向上させることができる。
【実施例３】
【００４８】
実際には、例えば「hanashiro123」のような字母と数字が混合した状況がよくある。このような場合、既存技術には有効な認識方法が開示されていない。発明者は、このような状況が、例えば「Email」のユーザ名のようなユーザによる自己定義の名称によく現われることを発見した。大量のこのような文字列を統計することによって、字母と数字との組み合わせを存在する一定の法則を得ることができる。例えば、前のａ個の文字が字母であると、後のｂ個の文字が字母又は数字である確率を統計することができ、又は、前のｃ個の文字が数字であると、後のｄ個の文字が字母又は数字である確率（ａ、ｂ、ｃ、ｄはいずれも自然数である）を統計することができる。開示技術の第１の実施例の考え方に基づいて、文字のｎ−次元組方法によってこの課題を解決する方法を提案する。図７は、開示技術の第３の実施例に係わる方法を模式的に示すフローチャートである（３次元組方法を例とする）。
【００４９】
まず、ステップＳ７１０において、文字列認識装置は、上述した実施例と同様に入力された文字列画像を複数のセグメントに分割する。
【００５０】
ステップＳ７２０において、文字列認識装置は、まず、字母と数字が混合している文字列における各セグメントに対してＯＣＲ認識を行って、ＯＣＲ認識の確率を確定する。図３に示すのと同様にして、文字列認識装置は、各文字に対する一連の確率を得ることができる。
【００５１】
ステップＳ７３０において、文字列認識装置は、各文字のＯＣＲ認識の結果について選別を行う。選別の原則は、認識信頼度の低い認識結果を除去し、認識信頼度の高い認識結果を残すことである。例えば、文字列認識装置は、式Ｃｅｒｉ／Ｍａｘ（Ｃｅｒｉ）＞Ｔを利用して選別を行うことができる。この式のｉは、認識結果の番号を示し、例として挙げた図３に示す認識結果において、各文字に対して１０個ずつの候補文字が掲げられているので、ここで、ｉは１〜１０とする。Ｃｅｒｉは第ｉ個の候補文字のＯＣＲ確率であって、Ｔは閾値で例えば０．７５に設定することができる。この式によると、ある候補文字の信頼度が全ての候補文字における最大の信頼度よりかなり小さい場合、文字列認識装置は、認識対象である文字が候補文字であることが不可能であると判定する。そして、文字列認識装置は、継続する算出において、この候補文字を算出しないので、算出量を大幅に低減することができる。このような形態によって、文字列認識装置は、図４の右側に示す選別結果に類似するものを得ることができる。なお、文字列認識装置は、例えば、最大の信頼度と関係ない閾値を直接に確定して選別を行ったり、最大の信頼度を有する予定量の候補文字を直接に利用したりする他の選別形態によって選別を行うこともできる。
【００５２】
ステップＳ７４０において、文字列認識装置は、選別結果に基づいて、全ての可能なパスを掲げる。文字列認識装置は、各パスについて、パスの各ノードに対応する「文字」には若干の候補認識結果があるので、若干の同じ長さの認識語を組み合わせることができる。したがって、文字列認識装置は、図４に示したパス図と同様のパス図を得る。
【００５３】
ステップ７５０において、文字列認識装置は、パス図における各ノードについて、統計情報とＯＣＲ認識の信頼度を統合してノードのスコアを算出する。ここでは以下の式（２）を利用する。ここで、式（２）は、「Score(Cp)=Score(Cp-1)+logPnlo(Cp|hp-1)+logPocr(Cp)」である。
【００５４】
式（２）において、式（１）との相違点は、式（１）は音節Ｓの確率に基づいて算出を行うのに対して、式（２）は文字又は文字組み合わせCの確率に基づいて算出を行うことである。式から分かるように、開示技術によって提案される字母と数字が混合した文字列の認識方法において、同様に自然言語における統計による確率Ｐｎｌｐと、ＯＣＲ認識の確率ＰＯＣＲと、履歴情報ｈｐ−１と、を用いる。
【００５５】
文字列認識装置は、各ノードに対して算出を行う場合、ＳＲＩＬＭツールキットを用いて大量の類似する文字列に対してシミュレーションと統計を行うことによって、各文字列が単独で出現する確率と、字母と数字の各種組み合わせ順の確率を得ることができる。同様に、文字列認識装置は、様々な既存の方法によってこの確率を得ることができ、開示技術はその統計結果を直接に利用すればよい。しかし、理解を容易にするために、以下、シミュレーションと統計のプロセスを例に挙げて説明する。
【００５６】
まず、大量のＥｍａｉｌアドレスのユーザ名をサンプルライブラリとして統計する。例えば、開示技術の発明者は、６９６８１８個の有効なＥｍａｉｌアドレスのユーザ名を利用して統計を行った。「mp2003@abc...xyz.ac.jp」を例にして、ユーザ名「mp2003」を抽出した。
【００５７】
その後、全てのユーザ名を以下のとおり入れ替えた。
【００５８】
ユーザ名における字母を「a」で入れ替え、
【００５９】
ユーザ名における数字を「0」で入れ替えた。
【００６０】
例えば、「mp2003」を「aa0000」に入れ替えた。
【００６１】
続いて、ＳＲＩＬＭツールキットを利用して、全てのサンプルに対して統計解析を行った。
【００６２】
統計解析の結果には、一次元組と、二次元組と、三次元組等の統計結果が含まれる。図８には、三次元組の統計結果のみを示す。図８において、「
」は開始を示し、「
」は終了を示す。この統計結果は、三つの数字が一緒に出る（「000」）確率は−０．４１２６０３４であり、二つの数字が一緒に出た後に終了する（「00
」）確率は−０．４３４５１６８であること等を示す。
【００６３】
この統計結果によると、文字列認識装置は、例えば、以下のような条件確率を得ることができる。即ち、第１の文字が字母/数字である場合、第２の文字が字母/数字である確率は幾つであり、第１の文字が字母/数字であって、第２の文字が字母/数字である場合、第３の文字が字母/数字である確率は幾つである。つまり、式（２）におけるｌｏｇＰｎｌｐ（Ｃｐ｜ｈｐ−１）項を得ることができる。式（１）で説明したように、ｈｐ−１は、ここでその前の一つの文字の履歴情報のみを利用するのではなく、その前のさらに多くの文字の履歴情報を利用することができることを示す。本願による現在の方法において、第３の文字からそれぞれその前の二つの文字の履歴情報を利用するので、文字に基づく三次元組方法と呼ばれる。当業者であればその前のさらに多くの音節の履歴情報を利用することができることを容易に想到するが、これは開示技術に提案された思想に基づくものである。
【００６４】
式（２）による他の算出は式（１）による算出と同様であるので、ここでは説明を省略する。
【００６５】
最後に、ステップＳ７６０において、文字列認識装置は、各文字のスコア及びスコアが最大であるパスを得て、認識した確率が最大の候補文字列を確定する。
【００６６】
この実施例において、文字に基づく三次元組を利用した。ここで、文字列認識装置は、統計による字母と数字の組み合わせが出現する確率を利用して、即ち、大量のユーザの命名習慣という情報を利用した。よって、文字列認識装置は、数字と字母が混合している文字列の認識率の精度を大幅に向上した。ここで、本実施例において、通常の数字と字母の組み合わせの各種確率情報のみを統計した。当業者であれば、異なる数字と異なる字母の各種の組み合わせの確率情報を具体的に統計してもよいことを容易に想到する。例えば、ただ二つの字母と一つの数字又は二つの数字と一つの字母等の通常の情報のみを統計するのではなく、「ab1」、「12b」の組み合わせ情報を統計することもできる。これは開示技術に提案された思想を離脱していない。
【実施例４】
【００６７】
発明者は、認識対象である文字列において、デリミタ「．」が出現する頻度はますます多くなっていることを発見した。インターネットの普及に伴って、ホームページアドレスであれ、Ｅｍａｉｌのアドレスであれ、いずれもこのようなデリミタ「.」を含む。デリミタ「.」は、ドメイン名部分において各レベルのドメイン名を分割する作用を果たし、Ｅｍａｉｌにおいて出現する頻度が高い。よって、このようなデリミタの認識はますます重要となっている。開示技術の第４の実施例によると、デリミタを認識する方法を提案する。図９は、開示技術の第４の実施例に係わる方法を模式的に示すフローチャートである。
【００６８】
ステップＳ９１０において、文字列認識装置は、入力された文字列画像に対して連結領域の解析を実行する。文字列認識装置は、文字列画像の連結領域の解析に基づいて、各連結領域ＣＣについて、該連結領域の各パラメータを得ることができる。例えば、文字列認識装置は、連結領域の位置の座標、連結領域における画素数等を確定する。
【００６９】
ステップＳ９２０において、文字列認識装置は、デリミタを認識するために、閾値を確定する。例えば、文字列認識装置は、連結領域の画素数に基づいて、連結領域における画素数が小さい連結領域から順に複数の連結領域を選択し、選択したこれらの連結領域の画素数の平均値を算出して、算出した平均値に基づいて閾値を設定する。例えば、文字列認識装置は、ここでは最も前の三つの連結領域を利用して算出を行い、平均値Ａｖ３を得る。続いて、文字列認識装置は、Ｔ１＝aＡｖ３を閾値として設定する。aは状況に応じて選択して調整できるパラメータであり、その目的は最高の認識効果を得るためである。例えば、文字列認識装置は、a＝３を設定することができる。閾値の確定は以上の形態に限定されないことは自明なことである。例えば、大量のサンプルに対してシミュレーションを行った結果に基づいて閾値を直接確定する、又は現在のユーザのサンプルを利用してシミュレーションを行って得た結果に基づいて閾値を確定することもできる。
【００７０】
その後、ステップＳ９３０において、文字列認識装置は、各連結領域の画素数がＴ１未満であるか否かを判定する。文字列認識装置は、画素数がＴ１未満である場合、ステップＳ９５０において、該連結領域は候補のデリミタ「.」であると確定する。ユーザ毎の筆記習慣は異なるので、デリミタ「.」のサイズも異なるユーザの筆記において大きい差異が存在する可能性がある。最小の複数の連結領域に応じて画素数の平均値を算出する方法は、異なるユーザの筆記習慣の違い（異なるユーザが書いた点のサイズは異なる）を考慮し、「自己適応」の形態でデリミタ「.」を認識した。
【００７１】
文字「i」、「j」の中にも点「.」が存在するので、ステップＳ９４０において、文字列認識装置は、さらに、認識した点「.」が文字行の下部に位置するか否かを判定する。文字列認識装置は、認識した点「.」が文字行の下部に位置する場合、この点はデリミタであると確定する。文字列認識装置は、この判定を各連結領域の座標パラメータに基づいて実行することができる。
【実施例５】
【００７２】
開示技術の発明者は、認識対象である文字列について、この文字がどのデータベースに所属するかが分かると、文字列の候補文字列と予め定義したデータベースにおける文字列との間の類似度を利用して、認識率の精度をさらに向上できることを発見した。例えば、外部から取得した情報（例えば、ユーザから提供された情報、本実施例の環境を応用する等）又は文字列自体の構造的特徴に基づいて、認識対象である文字列がどのデータベース（例えば、人名、会社名、大学と研究機構の名等）に所属するかを推定又は確定することができる。例えば、認識対象である文字列が「fujitsu」である場合、他の手段、例えばユーザから提案された情報によって文字列が日本のある会社の名称であると確定する。そして、予め定義した日本会社名のデータベースを利用して、データベースにおける各文字列と候補文字列との類似度を算出することによって、文字列とデータベースにおける「fujitsu」との類似度が最も高いことを取得し、これを「fujitsu」に認識する。以下、この実施例を詳しく説明する。
【００７３】
認識対象である文字列に対して、幾つかの候補文字列が存在し、各文字列における各文字はいずれも一定の信頼度を持っている。したがって、本実施例による方法において、文字列認識装置は、候補文字列とデータベースにおける文字列との類似度を算出する場合に、候補文字列におけるＯＣＲ認識の信頼度を利用する。
【００７４】
図１０は、開示技術の第５の実施例に係わる既に把握したデータベースを利用してＯＣＲ認識結果を補正する方法を模式的に示すフローチャートである。
【００７５】
ステップＳ１０１０において、文字列認識装置は、文字列のＯＣＲ認識の結果に基づいて、予め定義されたデータベースにＯＣＲ認識の結果と類似する文字列を検出する。文字列の比較及び検出は様々な公知の既存技術を利用することができ、例えば、ＴＤＡＧ（三次元有向無環図）を利用することができる。ＴＤＡＧは、データベースから文字列に類似する文字列を検出す方法であり、当業者には公知の技術であるので、ここでは説明を省略する。
【００７６】
ステップＳ１０２０において、文字列認識装置は、ＯＣＲ認識を経て得た幾つかの結果とステップＳ１０１０において検出したデータベースにおける類似する特殊のドメイン名との間の類似度を算出する。例えば、文字列認識装置は、ＬＤ（Levenshtein Distance）アルゴリズムによって類似度を算出する。文字列認識装置は、効率性の観点から、全ての候補の認識結果を比較するとは限らない。例えば、文字列認識装置は、ＯＣＲ認識の確率が最大の二つの候補文字列を利用して算出を行うことができる。文字列認識装置は、一つの文字が文字を挿入したり、文字を削除したり、文字を入れ替えたりして他の文字列を構成することができる。文字列Ａを文字列Ｂに変換すれば、三種類の操作における実行回数が最も少ないのをＡＢのＬＤ距離と称し、文字列の長さでＬＤ距離を割ると、ＡＢの類似度を得ることができる。既存技術において、ＬＤ距離の標準算出式は以下のとおりである。
【００７７】
【数１】
2011065646.tif 000003
【００７８】
式（３）において、ＬＤ（ｉ，ｊ）は、第１の文字列（ＯＣＲ認識した候補文字列に対応することができる）における第ｉ個の文字Ｃ（ｉ）（又は、第i個の文字までの一部の文字列）と第２の文字列（データベースにおける比較対象になる文字列に対応することができる）における対応する第ｊ個の文字Ｃ（ｊ）（又は、第ｊ個の文字までの一部の文字列）の間の距離を示し、ｉ、ｊはそれぞれ自然数である。第１の文字列と第２の文字列の最後の一つの文字について、ＬＤ（ｉ，ｊ）は、該二つの文字列間の距離を示す。式（３）における第１の式は、第１の文字列における第ｉ個の文字を削除した後に第２文字列と比較すると、第１の文字列（第i個の文字まで）と第２文字列との距離はＬＤ（ｉ−１，ｊ）に１を加算することを示す。式（３）における第２式は、第１式と相反して、即ち第２の文字列における第ｊ個の文字を削除した後に第１の文字列と比較すると、該第２の文字列（第ｊ個の文字まで）と第１の文字列との間の距離はＬＤ（ｉ，ｊ−１）に１を加算することを示す。逆にして、該第２式は第１の文字列に一つの文字を挿入することに相当する。式（３）における第３式は、第１の文字列における第ｉ個の文字又は第２の文字列における第ｊ個の文字を他の文字に入れ替えた後比較すると、その間の距離はＬＤ（ｉ−１，ｊ−１）にＣＯＳＴを加算することを示す。
【００７９】
ここで、第１の文字列を補正して得た第２の文字列の形態は多種類である。各種類の形態について、いずれもＬＤ（ｉ，ｊ）値を得ることができ、その中の最小の値を最終のＬＤ値とする。
【００８０】
式（４）において、Ｃ（ｊ）は、第２の文字列の第ｊ個の文字を示し、ＣＧ（ｉ）は、第１の文字列における第ｉ個の文字に対応する画像セグメントの全てのＯＣＲ認識の候補文字の集合を示す。式（４）は、データベースにおける比較対象になる文字列（つまり、第２の文字列）における第ｊ個の文字（つまり、第１の文字列における第ｉ個の文字が入れ替えられる目標）が、第１の文字列の第ｉ個の文字に対応する画像セグメントの候補文字の集合に存在すると、入れ替えの代価は０であことを意味する。式（４）は、第１の文字列の第ｉ個の文字に対応する画像セグメントの候補文字の集合に存在しなければ、代価は１であることを意味する。
【００８１】
しかし、このような既存技術には、文字のＯＣＲ認識の候補文字の集合に存在するか否かのみを考慮し、文字のＯＣＲ認識の信頼度を考慮していないので、ＯＣＲ認識した文字列とデータベースにおける複数の文字列との距離が同一（または、相反して、複数の候補文字列がデータベースにおけるある文字列との距離が同一）となり、距離を利用した認識の最適化に不利になる。
【００８２】
この問題を鑑み、開示技術の本実施例によると、ＣＯＳＴ関数を改善する。具体的には、ある候補文字に対応する文字列の距離から、該候補文字の対応するセグメントがデータベースにおける比較対象となる文字列における対応する位置の文字に認識される認識信頼度に対応する値を減少する。例えば、ＣＯＳＴ関数を以下の式（５）に補正する。
【００８３】
【数２】
2011065646.tif 000004
【００８４】
ＣＯＳＴ関数の上式は、１）ＯＣＲ認識した第１の文字列の第ｉ個の文字Ｃ（ｉ）（即ち、ＣＧ（ｉ）におけるある候補文字ＣＧ（ｉ，ｋ）、ｋは｜ＣＧ（ｉ）｜以下の自然数）がデータベースにおける第２の文字列の第ｊ個の文字Ｃ（ｊ）と同一である。つまりＣ（ｉ）＝ＣＧ（ｉ，ｋ）＝Ｃ（ｊ）であると、第１の文字列がデータベースにおける第２の文字列である可能性が最も高いと判定するので、対応する距離から、一つの候補文字のＯＣＲ認識の信頼度ｐ（ＣＧ（ｉ，ｋ））を減算する。つまり、ｐ（Ｃ（ｊ））又はｐ（Ｃ（ｉ））であることを意味する。２）ＯＣＲ認識した第１の文字列の第ｉ個の文字Ｃ（ｉ）（即ち、ＣＧ（ｉ）におけるある候補文字符ＣＧ（ｉ，ｋ））がデータベースにおける第２の文字列の第ｊ個の文字と異なる。つまり、Ｃ（ｉ）＝ＣＧ（ｉ，ｋ）！＝Ｃ（ｊ）であるが、第２文字列の第ｊ個の文字がＣＧ（ｉ）にも存在する。即ち、Ｃ（ｊ）∈ＣＧ（ｉ）であると、対応する距離から、候補文字の対応するセグメントがデータベースにおける比較対象になる第２の文字列における対応する位置の文字(つまり、Ｃ（ｊ）)に認識される認識の信頼度に対応する値Ｐ（Ｃ（ｊ））を減少することを意味する。第（１）の場合、Ｃ（ｊ）＝ＣＧ（ｉ，ｋ）は、Ｃ（ｊ）∈ＣＧ（ｉ）のうちの一つであるから、第（１）と第（２）はいずれもＣ（ｊ）∈ＣＧ（ｉ）の場合である。つまり、ある候補文字に対応する文字列の距離から、候補文字の対応するセグメントがデータベース中の比較対象になる文字列における対応する位置の文字に認識された信頼度に対応する値を減少する。
【００８５】
式（５）におけるＣＯＳＴ関数の下式は、第２の文字列の第ｊ個の文字Ｃ（ｊ）がＣＧ（ｉ）に存在しない(この時、ＯＣＲ認識した第１の文字列の第ｉ個の文字Ｃ（ｉ）（即ち、ＣＧ（ｉ）におけるある候補文字ＣＧ（ｉ，ｋ））とＣ（ｊ）は異なる)と、既存のアルゴリズムにしたがって算出することを意味する。
【００８６】
式（３）と式（５）を統合すると、ＯＣＲ認識した第１の文字列とデータベースにおける第２の文字列の距離を算出する場合に、対応するＯＣＲ認識の確率を考慮する。候補のＯＣＲ認識した第１の文字列における第ｉ個の文字がデータベースにおける比較対象になる第２の文字列における対応する位置の文字に認識されるＯＣＲ認識の確率が高いほど、該文字がデータベースにおける第２の文字列における対応する文字である可能性があることを示す。したがって、その間の距離は小さい。
【００８７】
他の最適な実施形態において、式（５）を改善することができ、例えば、以下の式（６）に改善することができる。
【００８８】
【数３】
2011065646.tif 000005
【００８９】
式（６）も式（５）の効果を生じることができる。式（６）の下式において、（Ａ）であるので、Ｃ（ｊ）のＯＣＲ信頼度は０であると認めることができる。したがって、下式を上式に統一することができ、次の式（７）を得ることができる。ここで、式（７）は、「COST=1-p(C(j))」である。
【００９０】
他の最適な実施形態において、ＣＯＳＴ関数に対して更なる改善を行うことができる。具体的には、候補文字列におけるあるセグメントのいずれかの一つの候補文字（即ち、第１の文字列における第ｉ個の文字Ｃ（ｉ）＝ＣＧ（ｉ，ｋ））がデータベースにおける比較対象になる文字列における対応する位置の文字（即ち、第２の文字列の第ｊ個の文字Ｃ（ｊ））と異なる時に、候補文字に対応する文字列の距離に、候補文字の認識の信頼度に対応する値Ｐ（Ｃ（ｉ））を増加することができる。この技術的思想は、ある候補文字の認識の信頼度が高いほど、ＯＣＲ認識の観点から見ると、データベースにおける文字列の対応する文字に入れ替えられる可能性は低く、距離を反映すると、対応する文字列の距離を大きくする必要がある。Ｃ（ｉ）＝Ｃ（ｊ）である場合に、第１の文字列にＣ（ｊ）と異なる文字が存在しないので、「異なる文字」が「空き」であると認めることができ、そのＯＣＲ認識の確率が０であると認めることができる。したがって、さらに補正されたＣＯＳＴ関数が式（８）であると、式（９）に書き直すことができる。
【００９１】
【数４】
2011065646.tif 000006
【００９２】
ここで、Ｐ（Ｃ（ｉ））は、第１の文字列におけるＣ（ｉ）と第２の文字列におけるＣ（ｊ）が異なる場合のＣ（ｉ）のＯＣＲ認識の信頼度を示す。Ｐ（Ｃ（ｉ）｜（Ｃ（ｉ）≠Ｃ（ｊ））は、Ｃ（ｉ）≠Ｃ（ｊ）である場合のみにＰ（Ｃ（ｉ））値を加算し、Ｃ（ｉ）＝Ｃ（ｊ）である場合には、Ｃ（ｊ）と異なるＣ（ｉ）が存在しないので、０をとることを意味する。
【００９３】
式（３）もさらに簡易化することができる。第１の文字列に挿入する場合と第１の文字列から削除する場合を、それぞれ、第１の文字列は文字が欠けている（つまり、対応する位置に「空き」文字がある）、第２の文字列は文字が欠けている（つまり、対応する位置に「空き」文字がある）と理解する。そして、空き文字について、式（９）において、ｐ（Ｃ（ｉ））であれｐ（Ｃ（ｊ））であれ、いずれも０である。そうすると、式（３）における挿入、削除と入れ替え操作時のＬＤ距離の算出は、式（９）に基づくＣＯＳＴ式の下式（１０）に統一させることができる。ここで、式（１０）は、「LD(i,j)=LD(i-1,j-1)+COST」である。
【００９４】
ステップＳ１０３０において、文字列認識装置は、二つの文字列の間の距離が予め確定した閾値未満であるか否かを判定する。文字列認識装置は、距離が予め確定した閾値未満であると判定した場合、ステップＳ１０４０において、ＯＣＲ認識した文字を対応するデータベースにおける文字列に入れ替える。文字列認識装置は、距離が予め確定した閾値未満ではないと判定した場合、ステップＳ１０５０において、ＯＣＲ認識の結果を用いて出力する。
【００９５】
文字列認識装置は、認識対象である文字列を含むデータベースを利用して補正を行うので、このような文字列の認識率の精度をさらに向上させることができる。
【実施例６】
【００９６】
第１〜第５の実施例は任意に組み合わせることができる。一つの最適な形態は、各実施例による方法を組み合わせることができる。例えば、文字列認識装置は、デリミタによって複数のセグメントに分割され、少なくとも一部分のフィールドが固定のモードを有する文字列、例えば、Ｅｍａｉｌアドレス、ネットワークアドレス等を効率的で正確に認識する。特に、手書きの文字列に効率的で正確な認識を行うことができる。
【００９７】
以下、Ｅｍａｉｌアドレス「hanashiro@abc...xyz.or.jp」の認識を例に説明する。
【００９８】
有効のＥｍａｉｌアドレス、例えば、「hanashiro@abc...xyz.or.jp」は、ユーザ名「hanashiro」と、中間の「@」文字と、ドメイン名「abc...xyz.or.jp」の三つの部分からなる。この中、ドメイン名は階層構造に所属し、通常ドメイン名と特殊ドメイン名とに分けられる。通常ドメイン名は、汎用されるもので、例えば「or」と「jp」がある。特殊ドメイン名は、ドメイン名を有する組織又は集団を示し、例えば、「abc...xyz」がある。点「.」文字は、通常、ユーザ名とドメイン名における複数のセグメントの間のデリミタとして利用される。
【００９９】
図１１は、開示技術の第６の実施例に係わる方法を模式的に示すフローチャートである。
【０１００】
実際の認識を行う場合に、当業者であれば公知のように、Ｅｍａｉｌアドレスの文字列に対して連結領域の解析を行うが、既に説明したので、ここでは説明を省略する。
【０１０１】
連結領域の解析の結果に基づいて、ステップＳ１１１０において、文字列認識装置は、Ｅｍａｉｌにおけるデリミタを認識する。文字列認識装置は、「.」文字以外、「@」文字も、ユーザ名とドメイン名とを分割するのでデリミタと見なす。文字列認識装置は、「.」の文字について、開示技術の第４の実施例による方法にしたがって認識を行うことができるので、ここでは説明を省略する。文字列認識装置は、「@」文字の認識に対して、現在の全ての文字認識方法にしたがって認識する。しかし、「@」文字の特殊性のため、非特許文献３において、「@」文字を認識する方法が提案されており、以下、この方法を簡単に説明する。
【０１０２】
まず、文字列認識装置は、「@」である可能性があるセグメントを検出するが、「@」のサイズが大きいので、サイズから「@」である可能性がないセグメントを除去する。具体的には、文字列認識装置は、セグメントの幅と高さがそれぞれ予定閾値を超えるか否かを判定し、その幅又は高さが予定閾値を超えていないと、セグメントは「@」である可能性がないと判定する。その後、文字列認識装置は、通過したセグメントについて、それらの「@」の修正２次識別関数（modified  quadratic  discriminant  function,MQDF）における出力値をテストし、信頼度に変換する（クラス条件確率）。この場合に、文字列認識装置は、「@」のシミュレーションサンプリングライブラリによって、一つの修正２次識別関数をシミュレーションすることは当然である。Ｅｍａｉｌアドレスには一つかつただ一つの「@」文字が含まれるので、文字列認識装置は、全ての信頼度において、最大の値に対応するセグメントを「@」文字として判定する。
【０１０３】
この処理を経て、文字列認識装置は、Ｅｍａｉｌアドレスにおける重要なデリミタ「@」と「.」とを得る。これらのデリミタは、Ｅｍａｉｌアドレスを異なる部分に分割する。例えば、「hanashiro@abc...xyz.or.jp」に対して、ユーザ名部分である「hanashiro」と、特殊ドメイン名部分である「abc...xyz」と、通常ドメイン名部分である「or」、「jp」に分割される。
【０１０４】
続いて、文字列認識装置は、デリミタを境界として、各部分にそれぞれ処理を行う。文字列認識装置は、各部分に文字毎の認識を行うことができ、全体の認識を行うこともでき、各実施例をそれぞれ単独又は組み合わせて利用することができる。処理中において、文字列認識装置は、認識対象の先験的な知識を利用して、各デリミタによって分割された各部分の性質を確定して、各実施例に対応するステップにおいて、辞書又はデータベース及び/又は対応する統計データを適切に利用することができる。例えば、文字列認識装置は、メールアドレスについて、後ろから前の方に、「．」によって、通常ドメイン名（通常は１〜２層）と、特殊ドメイン名（ユーザドメイン名)と、その後は「@」の後のユーザ名とに分割する。したがって、文字列認識装置は、それぞれ、通常ドメイン名の辞書（例えば、トップレベルドメイン名辞書及び/又はセカンドレベルドメイン辞書）と、特殊ドメイン名のデータベースと、ユーザ名のデータベースなどを利用する。ホームページアドレスに対しても、同様の法則がある。
【０１０５】
一実施例として、文字列認識装置は、後ろから前の方へ処理を行うことができる。よって、例えば、メールアドレスの認識において、ステップＳ１１２０において、文字列認識装置は、通常ドメイン名を認識する。ここで、文字列認識装置は、全体の認識も可能であって、文字毎の認識も可能である。
【０１０６】
ステップＳ１１２０において、文字列認識装置は、例えば、連結領域を後ろから前の方へ走査し、第１のデリミタ「.」を検出した場合、デリミタの後ろの全ての連結領域をサブ画像として全体の認識を実行する。文字列認識装置は、第２のデリミタ「.」を検出した場合、第１のデリミタと第２のデリミタとの間の連結領域をサブ画像として全体認識を実行する。文字列認識装置は、この認識に、例えば常用の修正２次分類器ＭＱＤＦ（前においてすでに説明した）を利用することができる。
【０１０７】
通常ドメイン名は、レベル構造（トップレベルドメイン名とセカンドレベルドメイン）を有し、一定の内在的法則を有する。したがって、開示技術による通常ドメイン名の認識において、文字列認識装置は、このような法則を利用して認識の正確率及び認識の処理速度をさらに向上することができる。例えば、最後のドメイン名の認識の結果、即ち、一番目の認識結果が「com」、「edu」、「org」、「net」のうちの一つであると、ドメイン名の定義の法則によると、その前は必ずユーザドメイン名であるから、通常ドメイン名の認識プロセスは終了する。一番目の認識の結果が例えば国家又は地域のドメイン名、例えば、「jp」であると、続いて認識対象である通常ドメイン名は必ず、「ac」、「ad」、「co」、「ne」、「or」などのセカンドレベルドメインのうちの一つである。これもドメイン名の定義の法則に基づいて決定されることである。したがって、認識したその後のトメイン名が「ac」、「ad」、「co」、「ne」、「or」のうちの一つである確率がある閾値Ｔｒ、例えば、Ｔｒ＝０．７を超えると、通常ドメイン名の認識は終了する。これはこのドメイン名の後は必ずユーザドメイン名であるからである。
【０１０８】
ここでは、ドメイン名を定義する法則のような先験的な知識を利用したので、全体認識の結果は通常の認識の結果より明らかに優れている。なお、文字列認識装置は、全体の認識を行わずに、文字毎の認識を実行してもよい。同様に、文字列認識装置は、先験的な知識に基づいて選択した辞書（又はデータベース）及び/又は対応する統計データを利用して、第１〜第６の実施例を単独又は統合して利用することができることはいうまでもない。
【０１０９】
続いて、ステップＳ１１３０において、文字列認識装置は、特殊ドメイン名とユーザ名を認識する。ここでは、第１、第２と第３の実施例による方法にしたがって認識を実行することができる。
【０１１０】
最後に、ステップＳ１１４０において、文字列認識装置は、既に存在するデータベースを利用して認識した結果を補正することができる。例えば、日本のＥｍａｉｌアドレスの場合、通常ドメイン名の認識結果が「.ac.jp」であると、その前の特殊ドメイン名は、必ず、大学又は研究機構のドメイン名である。よって、文字列認識装置は、大学又は研究機構のドメイン名のデータベースを利用して認識結果のスペリングの検査及び補正を実行する。そして、文字列認識装置は、一般的なユーザ名（会社名を含む）のデータベースを利用して特殊ドメイン名の認識結果を検査及び補正を実行する。この検査及び補正は、実施例５による方法にしたがって処理することができ、例えば、文字列認識装置は、ＯＣＲ認識した文字列とデータベースにおける文字列との距離を算出する。一方、この検査及び補正において、文字列認識装置は、事実的に、利用可能なデータベースさえあれば、文字列、例えばＥｍａｉｌアドレスのいかなる部分に適用することができることは言うまでもない。
【０１１１】
開示技術に係わる方法によると、文字列認識装置は、デリミタによって複数のフィールドに分割され、少なくとも一部分のフィールドが固定モードを有する文字列、例えばＥｍａｉｌアドレス、ホームページアドレス等を効率的且つ正確に認識することができる。特に、文字列認識装置は、手書きの文字列を効率的で正確に認識することができる。
【実施例７】
【０１１２】
開示技術の第７の実施例は、開示技術の第１の実施例に対応する。
【０１１３】
図１２は、開示技術の第７の実施例に係わる文字列認識装置を示す図である。図１２に示すように、文字列認識装置は、セグメント分割部１２０２と、ＯＣＲ認識部１２０４と、統計情報取得部１２０６と、第１の文字列確定部１２０８と、を備える。
【０１１４】
セグメント分割部１２０２は、文字列画像を複数のセグメントに分割するように設置される。この分割は、様々な既存技術に基づいて行うことができる。「hanashiro」画像を例にすると、セグメント分割部１２０２は、連結領域の解析結果に基づいて分割して認識することができる。セグメント分割部１２０２は、分割した後、複数の画像セグメント「h」、「a」、「n」、「a」、…、「o」を得ることができる。
【０１１５】
ＯＣＲ認識部１２０４は、複数のセグメントに対してＯＣＲ認識を行って、候補文字を取得するように設置される。当業者であれば、文字を認識する場合、認識対象である文字画像がある文字である確率を得ることは自明なことである。例えば、文字「h」は、ＯＣＲ認識において、「h」又は「b」に認識される可能性があるが、それらの確率は異なり、認識の信頼度とも呼ばれる。したがって、各セグメントは少なくとも一つの候補文字に対応する。
【０１１６】
統計情報取得部１２０６は、セグメントの候補文字の統計情報及び/又はセグメントの候補文字によって構成される文字組み合わせの統計情報を取得するように設置される。例えば、文字組み合わせ「ha」に対して、予め大量の語彙に対して統計を行っておき、該文字組み合わせを含む確率を得る。同様に、文字組み合わせ「han」が語彙において出現する確率を得ることもできる。ここで、統計するための語彙の範囲を限定することができる。たとえば、全ての会社名を統計する、全ての姓名を統計するなどと限定することによって、対応する確率を得ることができる。ある文字列を認識するとき、統計情報取得部１２０６は、認識する文字列がある分野又は範囲（第１〜第６の実施例の説明を参照）に所属することが分かった場合、対応する確率を利用して、さらに優れた結果を得ることができる。ここで、統計プロセスは事前に準備されたものであってもよく、統計情報取得部１２０６はただ、統計結果を直接に利用するようにしてもよい。
【０１１７】
第１の文字列確定部１２０８は、統計情報と候補文字のＯＣＲ認識の信頼度を統合して、候補文字列を確定するように設置される。例えば、第１の文字列確定部１２０８は、同一のセグメントの複数のＯＣＲ候補文字について、統計情報に基づいて、現在のコンテキストで出現する確率が高い候補文字を選択し、又は、統計確率とＯＣＲ認識の信頼度にそれぞれ一定の重みを与えて候補文字を選択し、又は、ＯＣＲ認識の信頼度が一定の閾値を超える候補文字の中から統計情報に基づいて選択する。
【０１１８】
本実施例による文字列認識装置は、ＯＣＲ認識の信頼度を利用する以外、複数のセグメントの候補文字組み合わせの統計情報も利用しているので、認識率の精度をさらに向上させることができる。
【実施例８】
【０１１９】
開示技術の第８の実施例は、開示技術の第２の実施例に対応する。
【０１２０】
図１３は、開示技術の第８の実施例に係わる文字列認識装置を示す図で、図１３に示すように、文字列認識装置は、セグメント分割部１３０２と、ＯＣＲ認識部１３０４と、選別部１３０６と、音節組み合わせ部１３０８と、パス生成部１３１０と、スコア算出部１３１２と、第１の文字列確定部１３１４と、を備える。
【０１２１】
セグメント分割部１３０２は、文字列画像を複数のセグメントに分割するように設置される。例えば、第２の実施例のように、文字列「hanashiro」を例にすると、セグメント分割部１３０２は、文字列「hanashiro」画像を複数のセグメントに分割する。ここでは、文字列認識装置が文字列「hanashiro」を「h」、「a」、「n」、「a」、…の画像セグメントに分割したと場合を例に説明する。
【０１２２】
ＯＣＲ認識部１３０４は、各セグメントに対してＯＣＲ認識を行って、「hanashiro」画像における各画像セグメントに対してＯＣＲ認識の確率を確定するように設置される。図３に対応する認識結果を示した。具体的な説明は第２の実施例を参照することができ、ここでは説明を省略する。
【０１２３】
選別部１３０６は、各文字のＯＣＲ認識の結果を選別するように設置される。選別は、認識の信頼度が低い認識結果を除去し、認識の信頼度の高い認識結果を残す原則にしたがって行う。例えば、式Ｃｅｒｉ／Ｍａｘ（Ｃｅｒｉ）＞Ｔにしたがって選別を行うことができ、その中、ｉは認識結果の番号を示し、例として挙げられた図３に示す認識結果において、文字毎に１０個ずつの候補文字が掲げられているので、ｉは１〜１０をとる。Ｃｅｒｉは、第ｉ個の候補文字のＯＣＲ確率を示し、Ｔは閾値で、例えば、０．７５に設定することができる。この式によると、ある候補文字の信頼度が全ての候補文字における最大の信頼度よりかなり小さいと、認識対象である文字が該候補文字である可能性はないと判定し、続きの算出において候補文字は考慮しないので、算出量を大幅に低減させることができる。このような形態によって、図４の右側に示す選別結果を得る。同様に、具体的な説明は第２の実施例を参照することができる。同様に、他の選別形態によって選別を行うことが可能なことは当然である。例えば、最大の信頼度と関係のない閾値に基づいて直接選別を行うこともでき、又は直接に、信頼度が最大の所定量の候補文字を利用して選別することもできる。
【０１２４】
音節組み合わせ部１３０８は、候補文字を複数の文字からなる音節に組み合わせるように設置される（通常、二つ又は三つの文字からなる）。したがって、音節組み合わせ部１３０８は、予め大量の日本ユーザ名を解析して、図５に示す結果を得る。図５の左側には一般的な二つの文字からなる音節を示し、右側には一般的な三つの文字からなる音節を示した。同様に、具体的には第２の実施例を参照することができる。
【０１２５】
パス生成部１３１０は、前記の音節による処理結果に基づいて、全ての可能なパス（つまり、候補文字の可能な組み合わせ）を掲げ、各パスについて、パスの各ノードに対応する「音節」又は「文字」は幾つかの候補認識結果があるので、幾つかの長さが同一の候補文字列を組み合わせることができる。図４において、左側に「hanashiro」画像を認識するための全てのパスを含む図を示した。
【０１２６】
スコア算出部１３１２は、図４における各ノードについて、統計情報とＯＣＲ認識の信頼度を統合してスコアを算出するように設置される。その中、該統計情報は、各音節の単独の確率と幾つかの音節が一緒に出る確率の情報である。具体的には、第２の実施例の説明を参照することができる。スコア算出部１３１２は、第１のノードの前には他のノードがないので、第１のノードに対して、統計的に単独で出現する確率とＯＣＲ認識の確率を直接に利用してスコアを算出する。スコア算出部１３１２は、第２のノードからのものは、その前のノードと統計上の関連を持っているので、その前のノードのスコアと、その前のノードが出現された状況下で現在のノードが出現する確率と、現在のノードのＯＣＲ認識の確率に基づいて、現在のノードの認識確率を算出する。上述の技術的思想によって、スコア算出部１３１２は、各ノードに対して確率を算出することができる。スコアの具体的な算出プロセスについては、第２の実施例を参照することができ、ここでは説明を省略する。
【０１２７】
第１の文字列確定部１３１４は、スコアの算出結果に基づいて、認識した確率が最大の候補文字列を確定するように設置される。
【０１２８】
本実施例に係わる文字列認識装置によると、音節に基づいて、認識対象である文字列を分割して、かつ、統計に基づいて得られる、自然言語においてこれらの音節が互いに関連する確率を利用するので、認識の正確性を大幅に向上させることができる。
【実施例９】
【０１２９】
開示技術の第９の実施例は、開示技術の第３の実施例に対応する。
【０１３０】
図１４は、開示技術の第９の実施例に係わる文字列認識装置を示す図で、文字列認識装置は、セグメント分割部１４０２と、ＯＣＲ認識部１４０４と、選別部１４０６と、パス生成部１４０８と、スコア算出部１４１０と、第１の文字列確定部１４１２と、を備える。第３の実施例において説明したように、この文字列認識装置は、特に字母と数字が混合した場合、例えば、「hanashiro123」に適用する。
【０１３１】
セグメント分割部１４０２は、入力された文字列画像を複数のセグメントに分割するように設置される。
【０１３２】
ＯＣＲ認識部１４０４は、字母と数字が混合している文字列における各セグメントに対してＯＣＲ認識を行って、ＯＣＲ認識の確率を確定するように設置される。図３に示すように、ここでは同様に各文字の一連の確率を得ることができる。
【０１３３】
選別部１４０６は、各文字のＯＣＲ認識結果を選別するように設置される。選別は、認識の信頼度が小さい認識結果を除去し、認識の信頼度が高い認識結果を残す原則にしたがって行う。例えば、式Ｃｅｒｉ／Ｍａｘ（Ｃｅｒｉ）＞Ｔにしたがって選別を行うことができる。ここで、ｉは認識結果の番号を示し、例として掲げられた図３に示す認識結果において、文字毎に１０個ずつの候補文字が掲げられているので、ｉは１〜１０をとることができる。Ｃｅｒｉは、第ｉ個の候補文字のＯＣＲ確率を示し、Ｔは閾値で、例えば、０．７５に設定することができる。このような形態によって、選別部１４０６は、図４の右側に示す選別結果を得ることができる。ここで、他の選別形態によって選別を行うことが可能なことは言うまでもない。例えば、最大の信頼度と関係のない閾値を直接確定して選別を行う、又は、直接に信頼度が最大の所定量の候補文字を利用して選別することができる。
【０１３４】
パス生成部１４０８は、選別結果に基づいて、全ての可能なパスを掲げるように設置される。各パスについて、パスの各ノードに対応する「文字」は幾つかの候補認識結果があるので、パス生成部１４０８は、幾つかの長さが同一の認識用語を組み合わせることができる。したがって、パス生成部１４０８は、図４におけるパス図に類似する図を得ることができる。
【０１３５】
スコア算出部１４１０は、パス図における各ノードに対して、統計情報及びＯＣＲ認識の信頼度を統合してノードのスコアを算出する。ここでの統計情報は、特に、字母と数字の各種の組み合わせが出現する確率の統計情報である。該統計情報の取得及びスコアの算出プロセスは第３の実施例を参照することができ、ここでは説明を省略する。
【０１３６】
第１の文字列確定部１４１２は、得られた各文字のスコア及びスコアが最大のパスに基づいて、認識した確率が最大である候補文字列を確定するように設置される。
【０１３７】
本実施例に係わる文字列認識装置によると、統計による字母と数字のある組み合わせが出現する確率を利用して、即ち、大量のユーザの命名習慣という情報を利用して、数字と字母が混合した文字列の認識の正確性を大幅に向上させる。
【実施例１０】
【０１３８】
開示技術の第１０の実施例は、開示技術の第４の実施例に対応する。
【０１３９】
図１５に、開示技術の第１０の実施例に係わるデリミタ認識部を示している。デリミタ認識部は、連結領域解析部１５０２とデリミタ確定部１５０４とを備える。
【０１４０】
連結領域解析部１５０２は、入力された文字列画像に対して連結領域の解析を行うように設置される。連結領域解析部１５０２は、文字列画像に対する連結領域の解析に基づいて、各連結領域ＣＣに対して、連結領域の各パラメータを得ることができる。例えば、連結領域解析部１５０２は、連結領域の位置の座標、連結領域における画素数などを確定することができる。
【０１４１】
デリミタ確定部１５０４は、連結領域の解析結果に基づいて、デリミタを確定するように設置される。その中、デリミタ確定部１５０４は、デリミタを確定するため、まず閾値を確定する。例えば、デリミタ確定部１５０４は、連結領域の画素数に基づいて、連結領域における画素数が小さい連結領域から順に複数の連結領域を選択し、選択したこれらの連結領域の画素数の平均値を算出して、算出した平均値に基づいて閾値を設定する。例えば、ここでは、最も先頭の三つの連結領域を利用して算出して、平均値Ａｖ３を得る。続いて、Ｔ１＝aＡｖ３を閾値として設定する。aは、状況に応じて調節可能なパラメータであって、その目的は、さらに優れた認識効果を実現するためである。例えば、a＝３を選択することができる。ここで、閾値の確定は上述の形態に限定されないことは言うまでもない。例えば、大量のサンプルを利用してシミュレーションを行った結果に基づいて直接に閾値を確定する、又は、現在のユーザのサンプルを利用してシミュレーションを行った結果に基づいて閾値を確定することができるなどである。
【０１４２】
続いて、デリミタ確定部１５０４は、各連結領域の画素数の値がＴ１未満であるか否かを判定し、画素数の値がＴ１未満であると、該連結領域は候補のデリミタ「.」であると判定する。ユーザ毎の筆記習慣は異なるので、デリミタ「.」のサイズも異なるユーザの間で大きい相違がある。最小の複数の連結領域に基づいて画素数の平均値を算出する方法は、ユーザ毎の筆記習慣が異なることを考慮し（したがって、ユーザによって書いた点のサイズが異なる）、「自己適応」に相当する形態で、デリミタ「.」を認識した。
【０１４３】
文字「i」、「j」にも「.」が存在する。したがって、デリミタ確定部１５０４は、認識した「.」が文字行の下部に位置するか否かをさらに判定し、認識した「.」が文字行の下部に位置すれば、認識した「.」がデリミタであると確定する。このような判定は、各連結領域の座標パラメータに基づいて行うことができる。
【実施例１１】
【０１４４】
開示技術の第１１の実施例は、開示技術の第６の実施例に対応する。
【０１４５】
図１６は、開示技術の第１１の実施例に係わる文字列認識装置を示す図である。文字列認識装置は、例えばデリミタによって複数のフィールドに分割され、かつ少なくとも一部のフィールドが固定モードを有する文字列、例えばＥｍａｉｌアドレス、ホームページアドレス等に対して効率的で正確な認識を行うことができる。特に、文字列認識装置は、手書きの文字列に対して効率的で正確な認識を行うことができる。文字列認識装置は、デリミタ認識部１６０２と、通常ドメイン名認識部１６０４と、特殊ドメイン名及びユーザ名認識部１６０６と、第２の文字列確定部１６０８と、を備える。
【０１４６】
以下、Ｅｍａｉｌアドレスである「hanashiro@abc...xyz.or.jp」の認識を例として説明する。
【０１４７】
実際に認識を行う前、当業者は公知の方法を用いて、Ｅｍａｉｌアドレスの文字列に対して連結領域の解析を行うが、これは上述の実施例において説明したので、ここでは説明を省略する。
【０１４８】
連結領域の解析の結果に基づいて、デリミタ認識部１６０２は、文字列におけるデリミタを認識するように設置される。文字列認識装置は、Ｅｍａｉｌアドレスについて、「.」のデリミタの以外、「@」文字もデリミタと見なす。「.」文字の認識プロセスについては、開示技術の第４の実施例において説明し、「@」文字の認識プロセスについては、開示技術の第６の実施例において説明したので、ここでは説明を省略する。
【０１４９】
これらのデリミタはＥｍａｉｌアドレスを異なる部分に分割する。例えば、「hanashiro@abc...xyz.or.jp」について、これをユーザ名部分である「hanashiro」と、特殊ドメイン名部分である「abc...xyz」と、通常ドメイン名部分である「or」、「jp」に分割する。
【０１５０】
通常ドメイン名認識部１６０４は、通常ドメイン名を認識するように設置される。通常ドメイン名認識部１６０４は、通常ドメイン名について、全体認識を行うことができ、文字毎の認識を行うこともできる。通常ドメイン名は、階層構造を有し、その中には一定の内在の法則があるので、開示技術による通常ドメイン名の認識においてこのような法則を利用して認識率及び認識の速度を向上することができる。通常ドメイン名の認識の具体的な内容は、開示技術の第６の実施例を参照することができ、ここでは説明しない。
【０１５１】
特殊ドメイン名及びユーザ名認識部１６０６は、特殊ドメイン名及びユーザ名に認識を行うように設置される。ここでは、前記の第１、第２と第３の実施例による方法にしたがって認識を行うことができるので、説明しない。
【０１５２】
第２の文字列確定部１６０８は、既存のデータベースを利用して認識結果を検査及び補正するように設置される。例えば、日本のＥｍａｉｌアドレスについて、認識した通常ドメイン名が「.ac.jp」であると、その前の特殊ドメイン名は必ず大学又は研究機構のドメインであることを示す。したがって、大学又は研究機構のドメイン名のデータベースを利用して認識結果に対してスペリングの検査及び補正を行うことができる。そして、一般的な特殊ドメイン名、例えば、「fujitsu」または一般的なユーザ名などに対して、対応するデータベースを利用して認識結果の検査及び補正を行うことができる。この検査及び補正は、第５の実施例による方法にしたがって実行することができる。例えば、ＯＣＲ認識した文字列とデータベース中の文字列との距離を算出することによって実行することができ、ここでは説明を省略する。
【０１５３】
本実施例による文字列認識装置によると、デリミタによって複数のフィールドに分割され、かつ少なくとも一部のセグメントが固定モードを有する文字列、例えばＥｍａｉｌアドレス、ホームページアドレス等に対して効率的で正確な認識を行うことができる。特に、本実施例による文字列認識装置によると、手書きの文字列に対して効率的で正確な認識を行うことができる。
【０１５４】
一方、本明細書に記載した各種例及び実施例は、例示に過ぎず、開示技術を限定するためのものではない。本明細書において、「第1」、「第2」などは、開示技術をさらに明確に説明するように、特徴を区別するためのものであって、開示技術を限定するものと見なしてはいけない。
【０１５５】
装置における各部は、ソフトウェア、ファームウェア、ハードウェア又はその組み合わせの形態で配置することができる。利用可能な具体的な手段又は形態に配置することは当業者には公知のことであるので、ここでは説明しない。ソフトウェア又はファームウェアによって実現する場合、記憶媒体又はネットワークから、専用のハードウェア構造を有するコンピュータ（例えば、図１７に示す汎用コンピュータ１７００）に該ソフトウェアを構成するプログラムを装着し、コンピュータに各種プログラムが装着されている場合、各種の機能を実現することができる。
【０１５６】
図１７において、中央処理ユニット(CPU)１７０１は、読取専用記憶装置（ROM）１７０２に記憶されているプログラム又は記憶部１７０８からランダムアクセスメモリ（RAM）１７０３にロードしたプログラムにしたがって各処理を実行する。ＲＡＭ１７０３には、ＣＰＵ１７０１が各処理等の実行に使用するデータを必要に応じて記憶する。ＣＰＵ１７０１、ＲＯＭ１７０２、ＲＡＭ１７０３は、バス１７０４を介して互いに接続される。入力/出力インターフェース１７０５もバス１７０４に接続される。
【０１５７】
入力部１７０６（キーボート、マウスなどを含む）と、出力部１７０７（ブラウン管（CRT）と液晶ディスプレイ（LCD）等のディスプレイとスピーカ等を含む）と、記憶部１７０８（ハードディスク等を含む）と、通信部１７０９（LANカード等のネットワークインターフェースカードと変復調装置等を含む）とは、入力/出力インターフェース１７０５に接続される。通信部１７０９は、インターネット等のネットワークを介して通信処理を行う。必要に応じて、ドライバ１７１０も入力/出力インターフェース１７０５に接続される。磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ等の脱着可能な媒体１７１１は、必要に応じてドライバ１７１０に装着され、その中から読取られるコンピュータプログラムが必要に応じて記憶部１７０８に装着されるようにする。
【０１５８】
ソフトウェアを介して一連の処理を実行する場合、インターネット等のネットワーク又は着脱可能な媒体１７１１等の記憶媒体から、ソフトウェアを構成するプログラムを装着する。
【０１５９】
記憶媒体が、図１７に示すプロラムが記憶されていると共に装置と分離して配分することによって、ユーザにプログラムを提供する着脱可能な媒体１７１１に限定されないことは当業者にとって自明なことである。着脱可能な媒体１７１１の例には、磁気ディスク（フロッピー（登録商標）ディスクを含む）と、光ディスク（光ディスクROM（CD−ROM）とデジタル・バーサタイル・ディスク（DVD）を含む）と、光磁気ディスク（ミニディスク（MD）（登録商標））と、半導体メモリと、が含まれる。あるいは、記憶媒体は、ＲＯＭ１７０２、記憶部１７０８に含まれたハードディスク等であってもよく、これらの中にはプログラムが記憶され、ハードディスク等を含む装置と共にユーザに配分される。
【０１６０】
開示技術は、装置が読み取り可能な指令コードが記憶されているプログラム製品を提供する。装置によって指令コードを読み取って実行する際、開示技術の実施例による方法を実行することができる。
【０１６１】
対応して、装置が読み取り可能な指令コードが記憶されているプログラム製品が記憶される記憶媒体も開示技術によって開示された。記憶媒体は、フロッピー（登録商標）ディスクと、光ディスクと、光磁気ディスクと、メモリと、メモリースティックなどを含むが、これらに限定されない。
【０１６２】
最後に、「含む」、「備える」又は同義の他の表現形態は、「非排他的に含む」ということを示す。そして、一連の要素を含むプロセス、方法又は装置は、それらの要素を含むだけではなく、明確に記載していない他の要素も含み、また、これらのプロセス、方法又は装置に固有の要素を含む。さらに限定していない場合、「…を含む」によって限定される要素は、要素を含むプロセス、方法又は装置に他の同様な要素が存在する場合を排除しない。
【０１６３】
以上、図面を参照して開示技術の実施例を詳しく説明したが、上述した実施例は開示技術を説明するためのものであって、開示技術を限定するものではない。当業者であれば、開示技術の保護範囲内で、実施例に各種の補正及び変更を行うことができる。よって、開示技術の範囲は、特許請求の範囲及び等同の意味によって限定される。
【０１６４】
また、前記実施例における日本のユーザ名は例に過ぎない。また、ユーザ名は実施例における例に限定されなく、いかなる言語のユーザ名であってもよい。
【０１６５】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１６６】
（付記１）文字列認識装置が、
文字列画像を複数のセグメントに分割するステップと、
前記複数のセグメントに対してＯＣＲ認識を行って、候補文字を取得するステップと、
前記候補文字の統計情報及び/又は前記候補文字によって形成される文字組み合わせの統計情報を取得するステップと、
前記統計情報と前記候補文字のＯＣＲ認識の信頼度を統合して、候補文字列を確定するステップと
を含む文字列認識方法。
【０１６７】
（付記２）前記統計情報は、一つの文字、文字類型及び/または文字組み合わせと、前記一つの文字、文字類型及び/または文字組み合わせと、一つの文字、文字類型及び/または文字組み合わせとが一緒に出現する確率を含む付記１に記載の文字列認識方法。
【０１６８】
（付記３）前記文字組み合わせは、音節を構成する文字の組み合わせ又は字母と数字の組み合わせである付記１又は２に記載の文字列認識方法。
【０１６９】
（付記４）前記文字列画像における文字列は、デリミタを含み、
前記デリミタを認識するステップをさらに含む付記１又は２に記載の文字列認識方法。
【０１７０】
（付記５）前記デリミタを認識するステップは、
前記文字列画像に対して連結領域の解析を実行して、前景画素の連結領域の画素数を取得するステップと、
前記連結領域の画素数に基づいて、デリミタを確定するステップと、を含む付記４に記載の文字列認識方法。
【０１７１】
（付記６）前記連結領域の画素数に基づいてデリミタを確定するステップは、
前記画素数が小さい連結領域から順に複数の連結領域を選択し、選択した連結領域の画素数の平均値を算出することで閾値を確定して、連結領域の画素数が該閾値未満であって、且つ該連結領域が文字列画像の下部に位置する場合、該連結領域をデリミタに確定するステップを含む付記５に記載の文字列認識方法。
【０１７２】
（付記７）文字列認識装置が、
ＯＣＲ認識の信頼度に基づいて、前記候補文字列と予め定義したデータベースにおける文字列との距離を算出して、前記候補文字列を確定するステップをさらに含む付記１に記載の文字列認識方法。
【０１７３】
（付記８）前記候補文字とデータベースにおける比較対象になる文字列との距離から、該候補文字の対応するセグメントがデータベースにおける比較対象になる文字列における対応位置の文字に認識される信頼度に対応する値を減算する付記７に記載の文字列認識方法。
【０１７４】
（付記９）前記候補文字列におけるセグメントのいずれか一つの候補文字と前記データベースにおける比較対象になる文字列における対応する位置の文字が異なる場合、該候補文字と前記データベースにおける比較対象になる文字列との距離に、該候補文字の認識信頼度に対応する値を加算する付記７又は８に記載の文字列認識方法。
【０１７５】
（付記１０）文字列画像を複数のセグメントに分割するセグメント分割部と、
前記複数のセグメントに対してＯＣＲ認識を行って、候補文字を取得するＯＣＲ認識部と、
前記候補文字の統計情報及び/又は前記候補文字によって形成される文字組み合わせの統計情報を取得する統計情報取得部と、
前記統計情報と前記候補文字のＯＣＲ認識の信頼度を統合して、候補文字列を確定する第１の文字列確定部と、
を含む文字列認識装置。
【０１７６】
（付記１１）前記統計情報は、一つの文字、文字類型及び/または文字組み合わせと、前記一つの文字、文字類型及び/または文字組み合わせと、一つの文字、文字類型及び/または文字組み合わせとが一緒に出現する確率を含む付記１０に記載の文字列認識装置。
【０１７７】
（付記１２）前記文字組み合わせは、音節を構成する文字の組み合わせ又は字母と数字の組み合わせである付記１０又は１１に記載の文字列認識装置。
【０１７８】
（付記１３）前記文字列画像における文字列は、デリミタを含み、
前記デリミタを認識するデリミタ認識部をさらに含む付記１０又は１１に記載の文字列認識装置。
【０１７９】
（付記１４）前記デリミタ認識部は、
前記文字列画像に対して連結領域の解析を実行して、前景画素の連結領域の画素数を取得する連結領域解析部と、
前記連結領域の画素数に基づいて、デリミタを確定するデリミタ確定部とを、含む付記１３に記載の文字列認識装置。
【０１８０】
（付記１５）前記デリミタ確定部は、
前記連結領域の画素数に基づいてデリミタを確定する場合、前記画素数が小さい連結領域から順に複数の連結領域を選択し、選択した連結領域の画素数の平均値を算出することで閾値を確定して、連結領域の画素数が該閾値未満であって、且つ該連結領域が文字列画像の下部に位置する場合、該連結領域をデリミタに確定するように配置される付記１４に記載の文字列認識装置。
【０１８１】
（付記１６）ＯＣＲ認識の信頼度に基づいて、前記候補文字列と予め定義したデータベースにおける文字列との間の距離を算出して、前記候補文字列を確定する第２の文字列確定部をさらに含む付記１０に記載の文字列認識装置。
【０１８２】
（付記１７）前記第２の文字列確定部は、前記候補文字とデータベースにおける比較対象になる文字列との距離から、該候補文字の対応するセグメントがデータベースにおける比較対象になる文字列における対応する位置の文字に認識される信頼度に対応する値を減算するように配置される付記１６に記載の文字列認識装置。
【０１８３】
（付記１８）前記第２の文字列確定部は、前記候補文字列におけるあるセグメントのいずれか一つの候補文字と前記データベースにおける比較対象になる文字列における対応する位置の文字が異なる場合、該候補文字と前記データベースにおける比較対象になる文字列との距離に、該候補文字の認識信頼度に対応する値を加算するように配置される付記１６又は１７に記載の文字列認識装置。
【０１８４】
（付記１９）文字列認識装置に、
文字列画像を複数のセグメントに分割させ、
前記複数のセグメントに対してＯＣＲ認識を行って、候補文字を取得させ、
前記候補文字の統計情報及び/又は前記候補文字によって形成される文字組み合わせの統計情報を取得させ、
前記統計情報と前記候補文字のＯＣＲ認識の信頼度を統合して、候補文字列を確定させる
処理を実行させる文字列認識プログラム。
【０１８５】
（付記２０）文字列認識装置に、
文字列画像を複数のセグメントに分割させ、
前記複数のセグメントに対してＯＣＲ認識を行って、候補文字を取得させ、
前記候補文字の統計情報及び/又は前記候補文字によって形成される文字組み合わせの統計情報を取得させ、
前記統計情報と前記候補文字のＯＣＲ認識の信頼度を統合して、候補文字列を確定させる
処理を実行させる文字列認識プログラムを記録した記憶媒体。
【符号の説明】
【０１８６】
１２０２  セグメント分割部
１２０４  ＯＣＲ認識部
１２０６  統計情報取得部
１２０８  第１の文字列確定部
１３０２  セグメント分割部
１３０４  ＯＣＲ認識部
１３０６  選別部
１３０８  音節組み合わせ部
１３１０  パス生成部
１３１２  スコア算出部
１３１４  第１の文字列確定部
１４０２  セグメント分割部
１４０４  ＯＣＲ認識部
１４０６  選別部
１４０８  パス生成部
１４１０  スコア算出部
１４１２  第１の文字列確定部
１５０２  連結領域解析部
１５０４  デリミタ確定部
１６０２  デリミタ認識部
１６０４  通常ドメイン名認識部
１６０６  特殊ドメイン名及びユーザ名認識部
１６０８  第２の文字列確定部
１７００  汎用コンピュータ
１７０１  ＣＰＵ
１７０２  ＲＯＭ
１７０３  ＲＡＭ
１７０４  バス
１７０５  入力／出力インターフェース
１７０６  入力部
１７０７  出力部
１７０８  記憶部
１７０９  通信部
１７１０  ドライバ
１７１１  着脱可能な媒体
【図１】
2011065646.tif 000007
【図２】
2011065646.tif 000008
【図３】
2011065646.tif 000009
【図４】
2011065646.tif 000010
【図５】
2011065646.tif 000011
【図６】
2011065646.tif 000012
【図７】
2011065646.tif 000013
【図８】
2011065646.tif 000014
【図９】
2011065646.tif 000015
【図１０】
2011065646.tif 000016
【図１１】
2011065646.tif 000017
【図１２】
2011065646.tif 000018
【図１３】
2011065646.tif 000019
【図１４】
2011065646.tif 000020
【図１５】
2011065646.tif 000021
【図１６】
2011065646.tif 000022
【図１７】
2011065646.tif 000023