(57)【特許請求の範囲】
【請求項１】
文字処理システムであって、
予め定められた字形を持つ基準文字の画像と、互いに異なる字形を持つ複数の文字の画像とを用いた機械学習によって生成され、入力される文字の画像から前記予め定められた字形に適応した文字の画像を生成する学習済みモデルを格納する格納部と、
前記学習済みモデルを用いて、処理対象の文字の画像から、前記予め定められた字形に適応させた前記処理対象の文字の画像を生成する文字画像生成部と、
前記文字画像生成部が生成した画像と前記基準文字の画像との比較結果に基づいて、前記処理対象の文字と前記基準文字との相違を示す情報を出力する相違情報出力部と
を備える文字処理システム。
【請求項２】
前記相違情報出力部は、前記文字画像生成部が生成した画像と前記基準文字の画像とを重畳して表示させる
請求項１に記載の文字処理システム。
【請求項３】
複数の基準文字の画像の中から、前記文字画像生成部が生成した文字の画像に類似する文字の画像を選択する文字画像選択部
をさらに備え、
前記相違情報出力部は、前記文字画像選択部が選択した画像と、前記文字画像生成部が生成した画像とを重畳して表示させる
請求項２に記載の文字処理システム。
【請求項４】
前記文字画像生成部が生成した画像と前記基準文字の画像とが相違するか否かを示す情報を、利用者から取得する判定結果取得部
さらに備える請求項３に記載の文字処理システム。
【請求項５】
前記相違情報出力部は、前記処理対象の文字と前記基準文字とが相違すると判定された場合に、前記処理対象の文字が特徴的な字形を持つ文字であることを示す情報を記録する
請求項１から４のいずれか一項に記載の文字処理システム。
【請求項６】
前記相違情報出力部は、前記文字画像生成部が生成した画像と前記基準文字の画像とを比較して、前記文字画像生成部が生成した画像において前記基準文字の画像とは文字の骨格が異なる部位が存在する場合に、前記文字の骨格が異なる部位を示す情報と前記処理対象の文字の識別情報とを対応づけて記録する
請求項５に記載の文字処理システム。
【請求項７】
文字の解析対象となる文書の画像データを取得する解析対象画像取得部と、
前記文書の画像データから文字を含む画像を抽出する文字画像抽出部と、
前記相違情報出力部によって記録された情報を用いて、前記文字画像抽出部が抽出した画像に含まれる文字を解析する文字解析部と
をさらに備える請求項５又は６に記載の文字処理システム。
【請求項８】
前記予め定められた字形を持つ基準文字の画像は、予め定められた第１のフォントに属する文字の画像であり、
前記互いに異なる字形を持つ文字の画像は、前記第１のフォントとは異なる、互いに異なる複数の第２のフォントに属する文字の画像である
請求項１から７のいずれか一項に記載の文字処理システム。
【請求項９】
前記第１のフォントと、前記複数の第２のフォントとを選択するフォント選択部と、
前記第１のフォントの画像と、前記複数の第２のフォントの画像とを用いた機械学習を行って、前記複数の第２のフォントに属する文字の画像から、前記第１のフォントに属する文字の字形に適応した文字の画像を生成する前記学習済みモデルを生成するモデル生成部と
をさらに備える請求項８に記載の文字処理システム。
【請求項１０】
前記学習済みモデルは、前記予め定められた字形を持つ基準文字の画像と、前記互いに異なる字形を持つ文字のそれぞれの画像との複数の組を学習データとした敵対的生成ネットワーク（ＧＡＮ）を用いて生成されたモデルである
請求項１から９のいずれか一項に記載の文字処理システム。
【請求項１１】
コンピュータを、請求項１から１０のいずれか一項に記載の文字処理システムとして機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字処理システム及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、画像にて検出された文字の認識をして、そのフォントを判断することが記載されている。
［先行技術文献］
［特許文献］
［特許文献１］特開２０１３−１８８９３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
文字処理においては、処理対象の文字と基準文字とを適切に比較することが望まれる。
【課題を解決するための手段】
【０００４】
本発明の第１の態様においては、文字処理システムが提供される。文字処理システムは、予め定められた字形を持つ基準文字の画像と、互いに異なる字形を持つ複数の文字の画像とを用いた機械学習によって生成され、入力される文字の画像から予め定められた字形に適応した文字の画像を生成する学習済みモデルを格納する格納部を備える。文字処理システムは、学習済みモデルを用いて、処理対象の文字の画像から、予め定められた字形に適応させた処理対象の文字の画像を生成する文字画像生成部を備える。文字処理システムは、文字画像生成部が生成した画像と基準文字の画像との比較結果に基づいて、処理対象の文字と基準文字との相違を示す情報を出力する相違情報出力部を備える。
【０００５】
相違情報出力部は、文字画像生成部が生成した画像と基準文字の画像とを重畳して表示させてよい。
【０００６】
文字処理システムは、複数の基準文字の画像の中から、文字画像生成部が生成した文字の画像に類似する文字の画像を選択する文字画像選択部を備えてよい。相違情報出力部は、文字画像選択部が選択した画像と、文字画像生成部が生成した画像とを重畳して表示させてよい。
【０００７】
文字処理システムは、文字画像生成部が生成した画像と基準文字の画像とが相違するか否かを示す情報を、利用者から取得する判定結果取得部を備えてよい。
【０００８】
相違情報出力部は、処理対象の文字と基準文字とが相違すると判定された場合に、処理対象の文字が特徴的な字形を持つ文字であることを示す情報を記録してよい。
【０００９】
相違情報出力部は、文字画像生成部が生成した画像と基準文字の画像とを比較して、文字画像生成部が生成した画像において基準文字の画像とは文字の骨格が異なる部位が存在する場合に、文字の骨格が異なる部位を示す情報と処理対象の文字の識別情報とを対応づけて記録してよい。
【００１０】
文字処理システムは、文字の解析対象となる文書の画像データを取得する解析対象画像取得部を備えてよい。文字処理システムは、文書の画像データから文字を含む画像を抽出する文字画像抽出部を備えてよい。文字処理システムは、相違情報出力部によって記録された情報を用いて、文字画像抽出部が抽出した画像に含まれる文字を解析する文字解析部を備えてよい。
【００１１】
予め定められた字形を持つ基準文字の画像は、予め定められた第１のフォントに属する文字の画像であってよい。互いに異なる字形を持つ文字の画像は、第１のフォントとは異なる、互いに異なる複数の第２のフォントに属する文字の画像であってよい。
【００１２】
文字処理システムは、第１のフォントと、複数の第２のフォントとを選択するフォント選択部を備えてよい。文字処理システムは、第１のフォントの画像と、複数の第２のフォントの画像とを用いた機械学習を行って、複数の第２のフォントに属する文字の画像から、第１のフォントに属する文字の字形に適応した文字の画像を生成する学習済みモデルを生成するモデル生成部を備えてよい。
【００１３】
学習済みモデルは、予め定められた字形を持つ基準文字の画像と、互いに異なる字形を持つ文字のそれぞれの画像との複数の組を学習データとした敵対的生成ネットワーク（ＧＡＮ）を用いて生成されたモデルであってよい。
【００１４】
第２の態様において、プログラムが提供される。プログラムは、コンピュータを、上記の文字処理システムとして機能させる。
【００１５】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００１６】
【図１】一実施形態における文字処理システム１０の全体構成を概略的に示す。
【図２】文字処理システム１０が実行する処理の流れを概略的に示す。
【図３】特徴文字情報生成装置２００、学習装置２０２及び文字解析装置２８０の機能ブロックを示す。
【図４】学習データの構成を示す。
【図５】モデル生成部２０６における機械学習を実行する学習器の概念的な構成を示す図である。
【図６】相違情報出力部２４０が出力する相違情報の一例を示す。
【図７】文字画像６２０−１、文字画像６３０−１、文字画像６４０−１及び比較画像６５０−１を拡大して示す。
【図８】文字画像６２０−１に文字画像６４０−１を重ねた状態を示す。
【図９】特異文字情報１６０のデータ構造の一例を示す。
【図１０】本実施形態に係るコンピュータ２０００の例を示す。
【発明を実施するための形態】
【００１７】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、図面において、同一または類似の部分には同一の参照番号を付して、重複する説明を省く場合がある。
【００１８】
図１は、一実施形態における文字処理システム１０の全体構成を概略的に示す。文字処理システム１０は、文書に使用されている文字のうち、特徴的な字形を持つ文字を示す情報を生成する機能を有する。文字処理システム１０は、特徴文字情報生成装置２００と、学習装置２０２と、文字解析装置２８０と、記憶装置２９０と、表示装置８８とを備える。記憶装置２９０は、フォントデータ１００と、モデル１２０と、特異文字情報１６０とを格納する格納部である。
【００１９】
学習装置２０２は、フォントデータ１００に含まれる複数のフォントの文字画像を用いた機械学習によって、入力される文字の字形を、基準となるフォントの字形に適応させる学習済みモデル１２０を生成する。一例として、モデル１２０は、「とめ」、「はね」、「はらい」等のような装飾的な字形要素を、基準となるフォントの字形要素に適応させるためのニューラルネットワークモデルである。学習装置２０２がモデル１２０を生成する処理については後述する。
【００２０】
特徴文字情報生成装置２００は、モデル１２０を用いて、サンプル文書２０から抽出された文字を、基準となる字形に適応させた上で、サンプル文書２０に含まれる文字のうち、どの文字が特徴的な字形を持つかを示す情報を生成して、特異文字情報１６０に記録する。なお、本実施形態において、特徴的な字形を持つ文字のことを「特異文字」と呼ぶ場合がある。
【００２１】
サンプル文書２０及び解析対象文書３０は、例えば、同一の発行機関が発行した文書であってよい。一例として、サンプル文書２０及び解析対象文書３０は、特定の行政機関が発行した文書であってよい。行政機関は、独自のフォントを用いて文書を作成する場合がある。文字解析装置２８０は、特異文字情報１６０の情報を用いて解析対象文書３０を解析するので、行政機関が文書の作成に使用する特徴的な字形を持つ文字を認識して、解析対象文書３０に含まれる文字を適切に解析することができる。
【００２２】
図２は、文字処理システム１０が実行する処理の流れを概略的に示す。学習装置２０２は、フォントデータ１００を用いた機械学習により、モデル１２０を生成する。フォントデータ１００は、フォントＡ、Ｂ１、Ｂ２・・・のデータを含む。フォントＡ、Ｂ１、Ｂ２・・・は、それぞれ互いに異なる字形を持つ。フォントＡ、フォントＢ１、フォントＢ２・・・のうち、特定のフォントＡを、基準フォントＡと呼ぶ。基準フォントＡは、特異文字を特定する場合に比較対象として用いられる基準となるフォントである。なお、複数のフォントＢ１、Ｂ２・・・を、各フォントを識別する符号「ｉ」を用いて、「フォントＢｉ」と総称する場合がある。
【００２３】
フォントＡ及びフォントＢｉのデータは、機械学習用のフォントデータとして用いられる。学習装置２０２は、フォントＡ及びフォントＢｉのフォントデータを用いて機械学習することによって、フォントＢｉの各フォントの文字を、フォントＡの文字の字形に適応させるモデル１２０を生成する。モデル１２０は、例えばニューラルネットワークによって構築されるモデルである。学習装置２０２は、｛フォントＢｉの文字とフォントＡの文字｝を１つの文字ペアとして機械学習を行い、フォントＢｉの文字の画像を入力した場合にフォントＡの文字の字形に適応した文字の画像を生成するモデル１２０を生成する。
【００２４】
モデル１２０が生成されると、特徴文字情報生成装置２００は、サンプル文書２０の画像から抽出した文字の画像をモデル１２０に入力して、適応文字１４０を生成する。特徴文字情報生成装置２００は、適応文字１４０と基準フォントＡの文字との比較結果に基づいて、サンプル文書２０の画像から抽出した文字が特異文字であるか否かを判定して、特異文字と判定された文字の情報を特異文字情報１６０に記録する。
【００２５】
文字解析装置２８０は、特異文字情報１６０を用いて、解析対象文書３０の画像に対して文字解析を行う。例えば、「藤」の字が特異文字として判定されている場合、特異文字情報１６０は、解析対象文書３０の「藤」の文字を正しく認識するように構築されたアルゴリズムで文字認識を行う。
【００２６】
図３は、特徴文字情報生成装置２００、学習装置２０２、及び文字解析装置２８０の機能ブロックを示す。
【００２７】
学習装置２０２は、フォント選択部２０４と、モデル生成部２０６とを備える。特徴文字情報生成装置２００は、処理対象文字取得部２１０と、文字画像生成部２２０と、文字画像選択部２３０と、相違情報出力部２４０と、判定結果取得部２５０とを備える。文字解析装置２８０は、解析対象画像取得部２８２と、文字画像抽出部２８４と、文字解析部２８６とを備える。
【００２８】
特徴文字情報生成装置２００、学習装置２０２、及び文字解析装置２８０は、コンピュータにより実現される。特徴文字情報生成装置２００、学習装置２０２、及び文字解析装置２８０は、１以上の任意の数のコンピュータにより実現されてよい。記憶装置２９０は、不揮発性の記憶媒体や揮発性の記憶媒体によって実現される。
【００２９】
記憶装置２９０は、予め定められた字形を持つ基準文字の画像と、互いに異なる字形を持つ複数の文字の画像とを用いた機械学習によって生成された学習済みモデル１２０を格納する。モデル１２０は、入力される文字の画像から、予め定められた字形に適応した文字の画像を生成するモデルである。
【００３０】
学習装置２０２において、モデル生成部２０６は、予め定められた字形を持つ基準文字の画像と、互いに異なる字形を持つ文字のそれぞれの画像との複数の組を学習データとした敵対的生成ネットワーク（Ｇｅｎｅｒａｔｉｖｅ  Ａｄｖｅｒｓａｒｉａｌ  Ｎｅｔｗｏｒｋ、ＧＡＮ）を用いてモデル１２０を生成する。
【００３１】
モデル生成部２０６は、学習データとしてフォントデータ１００を用いてよい。この場合、「予め定められた字形を持つ基準文字」は、予め定められた第１のフォントに属する文字であり、「互いに異なる字形を持つ複数の文字」は、第１のフォントとは異なる、互いに異なる複数の第２のフォントに属する文字である。具体的には、第１のフォントは、上述した基準フォントＡに対応し、第２のフォントは、上述したフォントＢｉに対応する。
【００３２】
フォント選択部２０４は、第１のフォントと、複数の第２のフォントとを選択する。フォント選択部２０４は、判定者８０が指定したフォントを、第１のフォントとして選択してよい。モデル生成部２０６は、第１のフォントの画像と、複数の第２のフォントの画像とを用いた機械学習を行って、モデル１２０を生成する。モデル１２０は、複数の第２のフォントに属する文字の画像から、第１のフォントに属する文字の字形に適応した文字の画像を生成するモデル１２０を生成するように機械学習することによって生成されたモデルである。
【００３３】
特徴文字情報生成装置２００において、処理対象文字取得部２１０は、処理対象の文字の画像を取得する。処理対象の文字は、例えば、サンプル文書２０の文字である。
【００３４】
文字画像生成部２２０は、学習済みモデル１２０を用いて、処理対象の文字の画像から、予め定められた字形に適応させた処理対象の文字の画像を生成する。相違情報出力部２４０は、文字画像生成部２２０が生成した画像と基準文字の画像との比較結果に基づいて、処理対象の文字と基準文字との相違を示す情報を出力する。
【００３５】
相違情報出力部２４０は、文字画像生成部２２０が生成した画像と基準文字の画像とを重畳して表示させる。例えば、相違情報出力部２４０は、文字画像生成部２２０が生成した画像と基準文字の画像とを互いに異なる色で重畳して表示させてよい。判定結果取得部２５０は、文字画像生成部２２０が生成した画像と基準文字の画像とが相違するか否かを示す情報を、利用者としての判定者８０から取得する。
【００３６】
例えば、文字画像選択部２３０は、複数の基準文字の画像の中から、文字画像生成部２２０が生成した文字の画像に類似する文字の画像を選択する。そして、相違情報出力部２４０は、文字画像選択部２３０が選択した画像と、文字画像生成部２２０が生成した画像とを重畳して表示させる。例えば、相違情報出力部２４０は、文字画像選択部２３０が選択した画像と、文字画像生成部２２０が生成した画像とを重畳して、表示装置８８に表示させる。文字画像生成部２２０が生成した画像と基準文字の画像とを重畳させて表示するので、判定者８０は、文字の字形を基準フォントに適応させた文字が基準文字と相違する部位を適切に判断することができる。
【００３７】
相違情報出力部２４０は、処理対象の文字と基準文字とが相違すると判定された場合に、処理対象の文字が特徴的な字形を持つ文字であることを示す情報を特異文字情報１６０に記録してよい。なお、「処理対象の文字が特徴的な字形を持つ文字であることを示す情報」は、「処理対象の文字と基準文字との相違を示す情報」の一例である。相違情報出力部２４０は、特異文字情報１６０に記録する際、サンプル文書２０の発行主体情報とともに記録してよい。
【００３８】
相違情報出力部２４０は、文字画像生成部２２０が生成した画像と基準文字の画像とを比較して、文字画像生成部２２０が生成した画像において基準文字の画像とは文字の骨格が異なる部位が存在する場合に、文字の骨格が異なる部位を示す情報と処理対象の文字の識別情報とを対応づけて記録する。
【００３９】
文字解析装置２８０において、解析対象画像取得部２８２は、文字の解析対象となる文書としての解析対象文書３０の画像データを取得する。解析対象文書３０は、「文字の解析対象となる文書」の一例である。文字画像抽出部２８４は、解析対象文書３０の画像データから、文字を含む画像を抽出する。文字解析部２８６は、相違情報出力部２４０によって記録された情報を用いて、文字画像抽出部２８４が抽出した画像に含まれる文字を解析する。文字解析部２８６は、判定者８０から解析対象文書３０の発行主体情報を受付けて、その発行主体情報をもとに選択された特異文字情報１６０を使用して、文字を解析するよい。このように、文字解析部２８６は、特異文字情報１６０を用いて、文字画像抽出部２８４が抽出した画像に含まれる文字を解析する。サンプル文書２０は、解析対象文書３０と同種の書類のサンプル画像である。そのため、解析対象文書３０には、サンプル文書２０で使用されている文字と同じフォントの文字が使用されている。文字解析部２８６は、サンプル文書２０から特定された特異文字を認識して解析対象文書３０を解析するので、解析対象文書３０に記載されている内容をより正確に解析することができる。
【００４０】
図４は、学習データの構成を示す。学習データは、文字ペア４００−１１、文字ペア４００−１２、文字ペア４００−１３・・・と、文字ペア４００−２１、文字ペア４００−２２、文字ペア４００−２３・・・とを含む。
【００４１】
文字ペア４００−１１は、フォントＢ１の「藤」の文字と、基準フォントＡの「藤」の文字とのペアである。文字ペア４００−１２は、フォントＢ１の「研」の文字と、基準フォントＡの「研」の文字とのペアである。文字ペア４００−１３は、フォントＢ１の「あ」の文字と、基準フォントＡの「あ」の文字とのペアである。
【００４２】
文字ペア４００−２１は、フォントＢ２の「藤」の文字と、基準フォントＡの「藤」の文字とのペアである。文字ペア４００−２２は、フォントＢ２の「研」の文字と、基準フォントＡの「研」の文字とのペアである。文字ペア４００−２３は、フォントＢ２の「あ」の文字と、基準フォントＡの「あ」の文字とのペアである。
【００４３】
一般に、フォントＢｉを識別する符号を「ｉ」とし、字体（字種）を識別する符号を「ｊ」とすると、モデル生成部２０６は、文字ペア４００−ｉｊを用いて機械学習を行って、モデル１２０を生成する。モデル生成部２０６は、例えば、文字ペア４００−ｉｊを用いて、フォントＢ１の「藤」の文字の画像が入力された場合に、基準フォントＡの「藤」の文字の字形にできるだけ適応した字形を持つ「藤」文字の画像を生成するように、機械学習を行う。
【００４４】
これにより、例えばフォントＢ１の「藤」の文字の画像が入力された場合に、基準フォントＡの「藤」の字形に適応した字形を持つ「藤」の文字の画像を生成するモデル１２０が生成される。このように、モデル１２０は、フォントＢｉの文字ｊの画像から、フォントＡの文字ｊが持つ字形に適応した字形を持つ文字ｊの画像を生成するモデルである。
【００４５】
図５は、モデル生成部２０６における機械学習を実行する学習器の概念構成を示す。図５は、フォントＢｉの「藤」の文字の画像５００ｂと、基準フォントＡの「藤」の文字の画像５００ａとの文字ペアを学習データとして用いた学習を行う場合を示す。図５に示す学習器は、ＧＡＮの一種である条件付きＧＡＮを用いた学習器である。
【００４６】
学習器は、生成ネットワークＧと識別ネットワークＤとを備える。生成ネットワークＧ及び識別ネットワークＤは、それぞれニューラルネットワークである。生成ネットワークＧは、入力される画像５００ｂからフェイク画像５００ｂ'を生成する。
【００４７】
識別ネットワークＤには、画像５００ｂと画像５００ａとの組み合わせが入力される。また、識別ネットワークＤには、画像５００ｂと、生成ネットワークＧが生成したフェイク画像５００ｂ'の組み合わせが入力される。識別ネットワークＤは、入力された画像の組み合わせの識別結果を出力する。例えば、識別ネットワークＤは、入力された画像の組み合わせの正しさの程度を示す確率を、０から１の範囲の数値で出力する。例えば、識別ネットワークＤは、入力された画像の組み合わせが正しいと判断した場合に「１」を出力し、入力された画像の組み合わせ正しくないと判断した場合に「０」を出力する。
【００４８】
識別ネットワークＤは、画像５００ｂと画像５００ａとのペアが入力された場合に「１」に近い値を出力し、画像５００ｂとフェイク画像５００ｂ'のペアが入力された場合に「０」に近い値を出力するように学習する。いわば、識別ネットワークＤは、生成ネットワークＧが生成したフェイク画像５００ｂ'を偽物であると判断できるように学習する。一方で、生成ネットワークＧは、画像５００ｂとフェイク画像５００ｂ'とのペアを識別ネットワークＤに入力した場合に識別ネットワークＤから「１」に近い値が出力されるようなフェイク画像５００ｂ'を生成できるように学習する。画像５００ｂとフェイク画像５００ｂ'とのペアを入力したときの識別ネットワークＤの出力が１／２に十分に近くなった場合に、学習が達成されたと判断される。
【００４９】
モデル生成部２０６は、図４に示されるようなフォント及び字体（字種）の組み合わせが異なる多数の文字ペアを用いて機械学習を行う。モデル生成部２０６は、各文字ペアで学習が達成されたと判断した場合に、生成ネットワークＧをモデル１２０として出力する。
【００５０】
図６は、相違情報出力部２４０が出力する相違情報の一例を示す。図６の画面６００は、相違情報出力部２４０が表示装置８８に出力する相違情報の表示例である。
【００５１】
文字画像６２０−１及び文字画像６２０−２は、サンプル文書２０の文字の画像である。画面６００において、文字画像６２０−１及び文字画像６２０−２は、特徴文字情報生成装置２００における「検査対象文字」として表示される。
【００５２】
文字画像６３０−１は、文字画像６２０−１をモデル１２０に入力することによって文字画像生成部２２０が生成した文字画像である。文字画像６３０−２は、文字画像６２０−２をモデル１２０に入力することによって文字画像生成部２２０が生成した文字である。画面６００において、文字画像６３０−１及び文字画像６３０−２は、基準フォントの字形に適合した文字を持つ「変換後文字」として表示される。
【００５３】
文字画像６４０−１は、文字画像６２０−１の文字に対応する、基準フォントＡの文字の画像である。文字画像６４０−２は、文字画像６２０−２の文字に対応する、基準フォントＡの文字の画像である。文字画像６４０−１及び文字画像６４０−２は、文字画像選択部２３０によって選択された画像である。例えば、文字画像選択部２３０は、文字画像６３０−１と一致度が予め定められた値より高い文字を、基準フォントＡの文字の中から選択する。画面６００において、文字画像６４０−１及び文字画像６４０−２は、変換後後文字の比較対象となる「基準文字」として表示される。
【００５４】
比較画像６５０−１は、文字画像６３０−１に文字画像６４０−１を重畳した画像である。比較画像６５０−２は、文字画像６３０−２に文字画像６４０−２を重畳した画像である。
【００５５】
相違情報出力部２４０は、文字画像６２０−１、文字画像６３０−１、文字画像６４０−１、及び比較画像６５０−１と、ボタン６１０−１とを対応づけて、表示装置８８に表示させる。また、相違情報出力部２４０は、文字画像６２０−２、文字画像６３０−２、文字画像６４０−２、及び比較画像６５０−２と、ボタン６１０−２とを対応づけて、表示装置８８に表示させる。
【００５６】
図６には、「藤」と「研」の２種の字体の文字についての情報が表示された状態を示す。一般に、検査対象とした文字種を示す符号を「ｉ」とすると、相違情報出力部２４０は、文字画像６２０−ｉ、文字画像６３０−ｉ、文字画像６４０−ｉ、及び比較画像６５０−ｉと、ボタン６１０−ｉとを対応づけて、表示装置８８に表示させる。
【００５７】
なお、相違情報出力部２４０は、文字画像６３０−ｉと文字画像６４０−ｉとを比較して、文字画像６３０−ｉと文字画像６４０−ｉとの一致度を算出してよい。相違情報出力部２４０は、算出した画像の一致度が低い順に、文字画像６２０−ｉ、文字画像６３０−ｉ、文字画像６４０−ｉ、及び比較画像６５０−ｉと、ボタン６１０−ｉとを含む文字画像を表示させてよい。
【００５８】
判定者８０は、例えば比較画像６５０−ｉを参照して、文字画像６３０−ｉが文字画像６４０−ｉと相違する部分を持つか否かを判定する。具体的には、判定者８０は、文字画像６３０−ｉが文字画像６４０−ｉと相違する骨格部分を持つか否かを判定する。例えば、判定者８０は、文字画像６３０−ｉが文字画像６４０−ｉと相違する骨格部分を持つと判定した場合に、ボタン６１０−ｉを押す。
【００５９】
ボタン６１０−ｉを押されたことに応じて、判定結果取得部２５０は、文字画像６２０−ｉが特異文字であると判定結果を取得する。この場合に、相違情報出力部２４０は、文字画像６２０−ｉの文字の情報を、特異文字として特異文字情報１６０に記録する。例えば、相違情報出力部２４０は、文字画像６２０−ｉの文字種の識別情報を、特異文字情報１６０に記録する。
【００６０】
なお、判定者８０は、文字画像６３０−ｉが文字画像６４０−ｉと相違する部位を示す情報を入力してよい。例えば、判定者８０は、文字画像６３０−ｉが文字画像６４０−ｉと相違する骨格部分を含む範囲を示す情報を入力する。この場合、相違情報出力部２４０は、入力された骨格部分を含む範囲を示す情報を、文字画像６２０−ｉの文字種の識別情報に対応づけて特異文字情報１６０に記録する。
【００６１】
図７は、文字画像６２０−１、文字画像６３０−１、文字画像６４０−１及び比較画像６５０−１を拡大して示す。Ｄ１は、文字画像６２０−１における「藤」の文字を構成する辺７０１と辺７０２の間の骨格の間隔を示す。Ｄ２は、文字画像６３０−１における辺７０１と辺７０２の間の骨格の間隔であり、Ｄ３は、文字画像６４０−１における辺７０１と辺７０２の間の骨格の間隔である。比較画像６５０−１から、Ｄ１及びＤ２はいずれも、Ｄ３より短いことが明瞭に分かる。
【００６２】
文字画像６３０−１の文字は、文字画像６２０−１の文字の字形を基準フォントＡの「藤」の字形に適応させたものである。これにより、文字画像６３０−１と文字画像６４０−１との間では、例えば「とめ」、「はね」、「はらい」等の装飾的デザインや文字の太さの違いによって生じる差が小さくなる。そのため、文字画像６３０−１の文字の装飾的デザインや文字の太さは、基準フォントの文字画像６４０−１の文字の装飾的デザインや太さに近いものとなる。一般的に流通しているフォントは主として、装飾的デザインや太さが異なるものが多い。そのため、装飾的デザインや太さが異なるフォントを用いてモデル１２０を学習することによって、基準フォントＡの装飾的デザインに近い装飾的デザインを持つ文字の画像を生成するモデル１２０が得られる。これにより、文字画像６３０−１と文字画像６４０−１との間の装飾的デザインの差が小さくなる。よって、例えば比較画像６５０−１を通じて、文字画像６３０−１の辺７０１と辺７０２の間の骨格の間隔が短いという、学習に用いたフォントに対する特徴的な相違点を、明確に提示することができる。
【００６３】
なお、モデル１２０を生成するための機械学習に用いたフォントデータにおいて、辺７０１と辺７０２の間の骨格の間隔については、フォント間で違いが小さいものであったとする。この場合、フォントデータを用いたモデル１２０の学習工程において、辺７０１と辺７０２の間の骨格の間隔は普遍的な特徴を持つものとして学習される。これにより生成されるモデル１２０は、入力される「藤」の字の画像に対して、辺７０１と辺７０２の間の骨格の間隔を基準フォントに大きく適応させるようなものにはならない。したがって、文字画像６２０−１をモデル１２０で変換すると、文字画像６３０−１のように辺７０１と辺７０２の間の骨格の間隔が比較的に狭い文字の画像が得られる。
【００６４】
このように、文字処理システム１０によれば、文字画像生成部２２０は、モデル１２０に入力した文字の字形要素のうち、装飾的デザインのように様々な違いがある字形要素については、基準フォントＡに適応した文字の画像を生成する。一方で、文字画像生成部２２０は、モデル１２０に入力した文字の字形要素のうち、機械学習に用いたフォントデータに共通している字形要素とは異質な特徴的な字形要素については、その特徴的な字形要素を実質的に維持した文字の画像を生成する。
【００６５】
したがって、判定者８０は、文字画像６３０−１と文字画像６４０−１とを比較することによって、文字画像６２０−１が特異文字であるか否かを容易に判定することができる。特に、相違情報出力部２４０は比較画像６５０−１を表示装置８８に表示させるので、判定者８０は、サンプル文書２０において「藤」の文字の辺７０１と辺７０２の間の骨格の間隔が短いことを一目で判断することができる。
【００６６】
図８は、参考例として、文字画像６２０−１に文字画像６４０−１を重ねた状態を示す。文字画像６２０−１は、文字画像６３０−１とは異なり、基準フォントＡの「藤」の字形に適応させた文字ではない。そのため、文字画像６２０−１と文字画像６４０−１との間には、字形のデザイン性の違いによって生じる誤差が多く存在する。このように、文字画像６２０−１と文字画像６４０−１とを比較しても、字形の装飾的デザインの違いに起因する誤差が目立つ。そのため、判定者８０が目で見て判定する場合においても、コンピュータ等によって判定する場合においても、その文字が特異文字であるか否かを容易に判定することはできない。
【００６７】
これに対し、図８及び図９に示されるとように、文字処理システム１０によれば、どの文字が特異文字であるかを比較的に容易に判定することができる。
【００６８】
図９は、特異文字情報１６０のデータ構造の一例を示す。特異文字情報１６０は、文字識別情報、文字画像、特徴部位及び特徴量を対応づけて格納する。
【００６９】
「文字識別情報」には、特異文字として判定された文字の識別情報が格納される。文字識別情報は、例えば文字種を示す情報であってよい。文字識別情報は、文字コードであってよい。「文字画像」には、特異文字として判定された文字の画像データがバイナリ形式で格納される。
【００７０】
「特徴部位」は、特徴的な字形を持つ部位の範囲を示す情報である。例えば、特徴的な字形を持つ領域を矩形領域で示す場合、「特徴部位」は、矩形の対角の座標を示す情報を含んでよい。
【００７１】
「特徴量」は、文字画像から抽出される特徴量を示す情報である。特徴量は、文字画像全体から抽出される特徴量を含んでよい。特徴量は、文字画像における特徴部位から抽出される特徴量を含んでよい。
【００７２】
特異文字情報１６０は、文字解析装置２８０が解析対象文書３０を解析する場合に使用される。例えば、解析対象文書３０を解析する場合、解析対象画像取得部２８２が解析対象文書３０の画像データを取得し、文字画像抽出部２８４が解析対象文書３０の画像データから文字画像を抽出する。そして、文字解析部２８６は、特異文字情報１６０に格納されている情報を用いて、文字画像抽出部２８４が抽出した文字画像を解析する。
【００７３】
例えば、文字解析部２８６は、解析対象文書３０から抽出された文字画像から特徴量を検出する。文字解析部２８６は、検出した特徴量が、特異文字情報１６０に格納されている特徴量に適合した場合に、当該特徴量に対応づけて特異文字情報１６０に格納されている文字識別情報を読み出す。そして、文字解析部２８６は、当該文字識別情報の文字が、解析対象文書３０から抽出された文字画像の文字であると認識する。
【００７４】
以上に説明した文字処理システム１０によれば、画像として入力された文字が特異文字であるか否かを適切に判定するとができる。そのため、特異文字であることを認識して、文字認識等の文字を解析することができる。
【００７５】
なお、機械学習に用いるフォントの書体は、サンプル文書２０及び解析対象文書３０で使用されるフォントの書体に整合させることが望ましい。例えば、サンプル文書２０及び解析対象文書３０で使用されるフォントがゴシック体の書体のフォントである場合には、ゴシック体の書体のフォントを機械学習に用いることが望ましい。
【００７６】
なお、文字認識は、文字解析の一例である。文字解析としては、文書の有効性判定等を例示することができる。例えば、外国で発行されたパスポートの有効性を判定する場合に、ある特定の国で発行されたサンプルのパスポートから取得した文字画像から、その国のパスポートに印字されている特殊なイタリック体の文字を特異文字として検出する。そして、その国のパスポートの画像が解析対象文書３０として入力された場合に、文字処理システム１０は、印刷されている文字が特殊なイタリック体の文字を持つか否かに基づいて、そのパスポートの有効性を判定してよい。
【００７７】
文字処理システム１０における文字処理として、手書き文字の評価等に使用できる場合がある。例えば、ペン習字において生徒が楷行体等の標準的な書体を練習する場合の評価に使用できる場合がる。例えば、ある特定の指導者の手書き文字を基準文字とし、他の多数の指導者の手書き文字を用いて学習することによって、モデル１２０を生成する。そして、特徴文字情報生成装置２００に入力される文書として、生徒が書いた文書を入力する。これにより、生徒の手書き文字を特定の指導者が書いた手書き文字に適応した文字と、特定の指導者が書いた基準文字との比較結果に基づいて、生徒が書いた文字が特異性を持つか否かを判定する。また、文字処理システム１０における文字解析処理として、筆跡鑑定等の手書き文字の解析に利用できる場合がある。
【００７８】
図１０は、本実施形態に係るコンピュータ２０００の例を示す。コンピュータ２０００にインストールされたプログラムは、コンピュータ２０００に、実施形態に係る特徴文字情報生成装置２００、学習装置２０２及び文字解析装置２８０、若しくは文字処理システム１０等の装置又はシステム、若しくは当該装置又はシステムの各部として機能させる、当該装置又は当該装置の各部に関連付けられるオペレーションを実行させる、及び／又は、実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ２０００に、本明細書に記載の処理手順及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、ＣＰＵ２０１２によって実行されてよい。
【００７９】
本実施形態によるコンピュータ２０００は、ＣＰＵ２０１２、及びＲＡＭ２０１４を含み、それらはホストコントローラ２０１０によって相互に接続されている。コンピュータ２０００はまた、ＲＯＭ２０２６、フラッシュメモリ２０２４、通信インタフェース２０２２、及び入力／出力チップ２０４０を含む。ＲＯＭ２０２６、フラッシュメモリ２０２４、通信インタフェース２０２２、及び入力／出力チップ２０４０は、入力／出力コントローラ２０２０を介してホストコントローラ２０１０に接続されている。
【００８０】
ＣＰＵ２０１２は、ＲＯＭ２０２６及びＲＡＭ２０１４内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。
【００８１】
通信インタフェース２０２２は、ネットワークを介して他の電子デバイスと通信する。フラッシュメモリ２０２４は、コンピュータ２０００内のＣＰＵ２０１２によって使用されるプログラム及びデータを格納する。ＲＯＭ２０２６は、アクティブ化時にコンピュータ２０００によって実行されるブートプログラム等、及び／又はコンピュータ２０００のハードウエアに依存するプログラムを格納する。入力／出力チップ２０４０はまた、キーボード、マウス及びモニタ等の様々な入力／出力ユニットをシリアルポート、パラレルポート、キーボードポート、マウスポート、モニタポート、ＵＳＢポート、ＨＤＭＩ（登録商標）ポート等の入力／出力ポートを介して、入力／出力コントローラ２０２０に接続してよい。
【００８２】
プログラムは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、又はメモリカードのようなコンピュータ可読媒体又はネットワークを介して提供される。ＲＡＭ２０１４、ＲＯＭ２０２６、又はフラッシュメモリ２０２４は、コンピュータ可読媒体の例である。プログラムは、フラッシュメモリ２０２４、ＲＡＭ２０１４、又はＲＯＭ２０２６にインストールされ、ＣＰＵ２０１２によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ２０００に読み取られ、プログラムと上記様々なタイプのハードウエアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ２０００の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
【００８３】
例えば、コンピュータ２０００及び外部デバイス間で通信が実行される場合、ＣＰＵ２０１２は、ＲＡＭ２０１４にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース２０２２に対し、通信処理を命令してよい。通信インタフェース２０２２は、ＣＰＵ２０１２の制御下、ＲＡＭ２０１４及びフラッシュメモリ２０２４のような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取った送信データをネットワークに送信し、ネットワークから受信された受信データを、記録媒体上に提供される受信バッファ処理領域等に書き込む。
【００８４】
また、ＣＰＵ２０１２は、フラッシュメモリ２０２４等のような記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がＲＡＭ２０１４に読み取られるようにし、ＲＡＭ２０１４上のデータに対し様々な種類の処理を実行してよい。ＣＰＵ２０１２は次に、処理されたデータを記録媒体にライトバックする。
【００８５】
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理にかけられてよい。ＣＰＵ２０１２は、ＲＡＭ２０１４から読み取られたデータに対し、本明細書に記載され、プログラムの命令シーケンスによって指定される様々な種類のオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索／置換等を含む、様々な種類の処理を実行してよく、結果をＲＡＭ２０１４にライトバックする。また、ＣＰＵ２０１２は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第２の属性の属性値に関連付けられた第１の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、ＣＰＵ２０１２は、第１の属性の属性値が指定されている、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第２の属性の属性値を読み取り、それにより予め定められた条件を満たす第１の属性に関連付けられた第２の属性の属性値を取得してよい。
【００８６】
上で説明したプログラム又はソフトウェアモジュールは、コンピュータ２０００上又はコンピュータ２０００近傍のコンピュータ可読媒体に格納されてよい。専用通信ネットワーク又はインターネットに接続されたサーバーシステム内に提供されるハードディスク又はＲＡＭのような記録媒体が、コンピュータ可読媒体として使用可能である。コンピュータ可読媒体に格納されたプログラムを、ネットワークを介してコンピュータ２０００に提供してよい。
【００８７】
コンピュータ２０００にインストールされ、コンピュータ２０００を文字処理システム１０として機能させるプログラムは、ＣＰＵ２０１２等に働きかけて、コンピュータ２０００を、文字処理システム１０の各部としてそれぞれ機能させてよい。これらのプログラムに記述された情報処理は、コンピュータ２０００に読込まれることにより、ソフトウエアと上述した各種のハードウエア資源とが協働した具体的手段である文字処理システム１０の各部として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ２０００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の文字処理システム１０が構築される。
【００８８】
様々な実施形態が、ブロック図等を参照して説明された。ブロック図において各ブロックは、（１）オペレーションが実行されるプロセスの段階又は（２）オペレーションを実行する役割を持つ装置の各部を表わしてよい。特定の段階及び各部が、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び／又はコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び／又はアナログハードウエア回路を含んでよく、集積回路（ＩＣ）及び／又はディスクリート回路を含んでよい。プログラマブル回路は、論理ＡＮＤ、論理ＯＲ、論理ＸＯＲ、論理ＮＡＮＤ、論理ＮＯＲ、及び他の論理オペレーション、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラマブルロジックアレイ（ＰＬＡ）等のようなメモリ要素等を含む、再構成可能なハードウエア回路を含んでよい。
【００８９】
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、処理手順又はブロック図で指定されたオペレーションを実行するための手段をもたらすべく実行され得る命令を含む製品の少なくとも一部を構成する。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー（登録商標）ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、消去可能プログラマブルリードオンリメモリ（ＥＰＲＯＭ又はフラッシュメモリ）、電気的消去可能プログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）、静的ランダムアクセスメモリ（ＳＲＡＭ）、コンパクトディスクリードオンリメモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、ブルーレイ（登録商標）ディスク、メモリスティック、集積回路カード等が含まれてよい。
【００９０】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はＳｍａｌｌｔａｌｋ、ＪＡＶＡ（登録商標）、Ｃ＋＋等のようなオブジェクト指向プログラミング言語、及び「Ｃ」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、１又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。
【００９１】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ又はプログラマブル回路に対し、ローカルに又はローカルエリアネットワーク（ＬＡＮ）、インターネット等のようなワイドエリアネットワーク（ＷＡＮ）を介して提供され、説明された処理手順又はブロック図で指定されたオペレーションを実行するための手段をもたらすべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【００９２】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。また、技術的に矛盾しない範囲において、特定の実施形態について説明した事項を、他の実施形態に適用することができる。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００９３】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００９４】
１０  文字処理システム
２０  サンプル文書
３０  解析対象文書
８０  判定者
８８  表示装置
１００  フォントデータ
１２０  モデル
１４０  適応文字
１６０  特異文字情報
２００  特徴文字情報生成装置
２０２  学習装置
２０４  フォント選択部
２０６  モデル生成部
２１０  処理対象文字取得部
２２０  文字画像生成部
２３０  文字画像選択部
２４０  相違情報出力部
２５０  判定結果取得部
２８０  文字解析装置
２８２  解析対象画像取得部
２８４  文字画像抽出部
２８６  文字解析部
２９０  記憶装置
４００  文字ペア
５００  画像
６００  画面
６１０  ボタン
６２０、６３０、６４０  文字画像
６５０  比較画像
７０１、７０２  辺
２０００  コンピュータ
２０１０  ホストコントローラ
２０１２  ＣＰＵ
２０１４  ＲＡＭ
２０２０  入力／出力コントローラ
２０２２  通信インタフェース
２０２４  フラッシュメモリ
２０２６  ＲＯＭ
２０４０  入力／出力チップ
【要約】
【課題】文字処理においては、処理対象の文字と比較対象となる基準文字とを適切に比較することが望まれる。
【解決手段】文字処理システムは、予め定められた字形を持つ基準文字の画像と、互いに異なる字形を持つ複数の文字の画像とを用いた機械学習によって生成され、入力される文字の画像から予め定められた字形に適応した文字の画像を生成する学習済みモデルを格納する格納部と、学習済みモデルを用いて、処理対象の文字の画像から、予め定められた字形に適応させた処理対象の文字の画像を生成する文字画像生成部と、文字画像生成部が生成した画像と基準文字の画像との比較結果に基づいて、処理対象の文字と基準文字との相違を示す情報を出力する相違情報出力部とを備える。
【選択図】図２【図１】
0006845911.tif 000002
【図２】
0006845911.tif 000003
【図３】
0006845911.tif 000004
【図４】
0006845911.tif 000005
【図５】
0006845911.tif 000006
【図６】
0006845911.tif 000007
【図７】
0006845911.tif 000008
【図８】
0006845911.tif 000009
【図９】
0006845911.tif 000010
【図１０】
0006845911.tif 000011