【文献】
阿部耕太郎、内田誠一,クラス間弁別性を考慮したDCGANによる文字生成の試み,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2017年 2月11日,Vol.116 No.462,p.193−p.198
【文献】
柳井啓司,1章 質感の視覚工学 1−3 深層学習によるスタイル変換,映像情報メディア学会誌,日本,一般社団法人映像情報メディア学会 ,2019年 5月 1日,第73巻 第3号,p,413−p.417
(58)【調査した分野】(Int.Cl.,DB名)
前記相違情報出力部は、前記処理対象の文字と前記基準文字とが相違すると判定された場合に、前記処理対象の文字が特徴的な字形を持つ文字であることを示す情報を記録する
請求項1から4のいずれか一項に記載の文字処理システム。
前記相違情報出力部は、前記文字画像生成部が生成した画像と前記基準文字の画像とを比較して、前記文字画像生成部が生成した画像において前記基準文字の画像とは文字の骨格が異なる部位が存在する場合に、前記文字の骨格が異なる部位を示す情報と前記処理対象の文字の識別情報とを対応づけて記録する
請求項5に記載の文字処理システム。
前記学習済みモデルは、前記予め定められた字形を持つ基準文字の画像と、前記互いに異なる字形を持つ文字のそれぞれの画像との複数の組を学習データとした敵対的生成ネットワーク(GAN)を用いて生成されたモデルである
請求項1から9のいずれか一項に記載の文字処理システム。
【発明を実施するための形態】
【0017】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、図面において、同一または類似の部分には同一の参照番号を付して、重複する説明を省く場合がある。
【0018】
図1は、一実施形態における文字処理システム10の全体構成を概略的に示す。文字処理システム10は、文書に使用されている文字のうち、特徴的な字形を持つ文字を示す情報を生成する機能を有する。文字処理システム10は、特徴文字情報生成装置200と、学習装置202と、文字解析装置280と、記憶装置290と、表示装置88とを備える。記憶装置290は、フォントデータ100と、モデル120と、特異文字情報160とを格納する格納部である。
【0019】
学習装置202は、フォントデータ100に含まれる複数のフォントの文字画像を用いた機械学習によって、入力される文字の字形を、基準となるフォントの字形に適応させる学習済みモデル120を生成する。一例として、モデル120は、「とめ」、「はね」、「はらい」等のような装飾的な字形要素を、基準となるフォントの字形要素に適応させるためのニューラルネットワークモデルである。学習装置202がモデル120を生成する処理については後述する。
【0020】
特徴文字情報生成装置200は、モデル120を用いて、サンプル文書20から抽出された文字を、基準となる字形に適応させた上で、サンプル文書20に含まれる文字のうち、どの文字が特徴的な字形を持つかを示す情報を生成して、特異文字情報160に記録する。なお、本実施形態において、特徴的な字形を持つ文字のことを「特異文字」と呼ぶ場合がある。
【0021】
サンプル文書20及び解析対象文書30は、例えば、同一の発行機関が発行した文書であってよい。一例として、サンプル文書20及び解析対象文書30は、特定の行政機関が発行した文書であってよい。行政機関は、独自のフォントを用いて文書を作成する場合がある。文字解析装置280は、特異文字情報160の情報を用いて解析対象文書30を解析するので、行政機関が文書の作成に使用する特徴的な字形を持つ文字を認識して、解析対象文書30に含まれる文字を適切に解析することができる。
【0022】
図2は、文字処理システム10が実行する処理の流れを概略的に示す。学習装置202は、フォントデータ100を用いた機械学習により、モデル120を生成する。フォントデータ100は、フォントA、B1、B2・・・のデータを含む。フォントA、B1、B2・・・は、それぞれ互いに異なる字形を持つ。フォントA、フォントB1、フォントB2・・・のうち、特定のフォントAを、基準フォントAと呼ぶ。基準フォントAは、特異文字を特定する場合に比較対象として用いられる基準となるフォントである。なお、複数のフォントB1、B2・・・を、各フォントを識別する符号「i」を用いて、「フォントBi」と総称する場合がある。
【0023】
フォントA及びフォントBiのデータは、機械学習用のフォントデータとして用いられる。学習装置202は、フォントA及びフォントBiのフォントデータを用いて機械学習することによって、フォントBiの各フォントの文字を、フォントAの文字の字形に適応させるモデル120を生成する。モデル120は、例えばニューラルネットワークによって構築されるモデルである。学習装置202は、{フォントBiの文字とフォントAの文字}を1つの文字ペアとして機械学習を行い、フォントBiの文字の画像を入力した場合にフォントAの文字の字形に適応した文字の画像を生成するモデル120を生成する。
【0024】
モデル120が生成されると、特徴文字情報生成装置200は、サンプル文書20の画像から抽出した文字の画像をモデル120に入力して、適応文字140を生成する。特徴文字情報生成装置200は、適応文字140と基準フォントAの文字との比較結果に基づいて、サンプル文書20の画像から抽出した文字が特異文字であるか否かを判定して、特異文字と判定された文字の情報を特異文字情報160に記録する。
【0025】
文字解析装置280は、特異文字情報160を用いて、解析対象文書30の画像に対して文字解析を行う。例えば、「藤」の字が特異文字として判定されている場合、特異文字情報160は、解析対象文書30の「藤」の文字を正しく認識するように構築されたアルゴリズムで文字認識を行う。
【0026】
図3は、特徴文字情報生成装置200、学習装置202、及び文字解析装置280の機能ブロックを示す。
【0027】
学習装置202は、フォント選択部204と、モデル生成部206とを備える。特徴文字情報生成装置200は、処理対象文字取得部210と、文字画像生成部220と、文字画像選択部230と、相違情報出力部240と、判定結果取得部250とを備える。文字解析装置280は、解析対象画像取得部282と、文字画像抽出部284と、文字解析部286とを備える。
【0028】
特徴文字情報生成装置200、学習装置202、及び文字解析装置280は、コンピュータにより実現される。特徴文字情報生成装置200、学習装置202、及び文字解析装置280は、1以上の任意の数のコンピュータにより実現されてよい。記憶装置290は、不揮発性の記憶媒体や揮発性の記憶媒体によって実現される。
【0029】
記憶装置290は、予め定められた字形を持つ基準文字の画像と、互いに異なる字形を持つ複数の文字の画像とを用いた機械学習によって生成された学習済みモデル120を格納する。モデル120は、入力される文字の画像から、予め定められた字形に適応した文字の画像を生成するモデルである。
【0030】
学習装置202において、モデル生成部206は、予め定められた字形を持つ基準文字の画像と、互いに異なる字形を持つ文字のそれぞれの画像との複数の組を学習データとした敵対的生成ネットワーク(Generative Adversarial Network、GAN)を用いてモデル120を生成する。
【0031】
モデル生成部206は、学習データとしてフォントデータ100を用いてよい。この場合、「予め定められた字形を持つ基準文字」は、予め定められた第1のフォントに属する文字であり、「互いに異なる字形を持つ複数の文字」は、第1のフォントとは異なる、互いに異なる複数の第2のフォントに属する文字である。具体的には、第1のフォントは、上述した基準フォントAに対応し、第2のフォントは、上述したフォントBiに対応する。
【0032】
フォント選択部204は、第1のフォントと、複数の第2のフォントとを選択する。フォント選択部204は、判定者80が指定したフォントを、第1のフォントとして選択してよい。モデル生成部206は、第1のフォントの画像と、複数の第2のフォントの画像とを用いた機械学習を行って、モデル120を生成する。モデル120は、複数の第2のフォントに属する文字の画像から、第1のフォントに属する文字の字形に適応した文字の画像を生成するモデル120を生成するように機械学習することによって生成されたモデルである。
【0033】
特徴文字情報生成装置200において、処理対象文字取得部210は、処理対象の文字の画像を取得する。処理対象の文字は、例えば、サンプル文書20の文字である。
【0034】
文字画像生成部220は、学習済みモデル120を用いて、処理対象の文字の画像から、予め定められた字形に適応させた処理対象の文字の画像を生成する。相違情報出力部240は、文字画像生成部220が生成した画像と基準文字の画像との比較結果に基づいて、処理対象の文字と基準文字との相違を示す情報を出力する。
【0035】
相違情報出力部240は、文字画像生成部220が生成した画像と基準文字の画像とを重畳して表示させる。例えば、相違情報出力部240は、文字画像生成部220が生成した画像と基準文字の画像とを互いに異なる色で重畳して表示させてよい。判定結果取得部250は、文字画像生成部220が生成した画像と基準文字の画像とが相違するか否かを示す情報を、利用者としての判定者80から取得する。
【0036】
例えば、文字画像選択部230は、複数の基準文字の画像の中から、文字画像生成部220が生成した文字の画像に類似する文字の画像を選択する。そして、相違情報出力部240は、文字画像選択部230が選択した画像と、文字画像生成部220が生成した画像とを重畳して表示させる。例えば、相違情報出力部240は、文字画像選択部230が選択した画像と、文字画像生成部220が生成した画像とを重畳して、表示装置88に表示させる。文字画像生成部220が生成した画像と基準文字の画像とを重畳させて表示するので、判定者80は、文字の字形を基準フォントに適応させた文字が基準文字と相違する部位を適切に判断することができる。
【0037】
相違情報出力部240は、処理対象の文字と基準文字とが相違すると判定された場合に、処理対象の文字が特徴的な字形を持つ文字であることを示す情報を特異文字情報160に記録してよい。なお、「処理対象の文字が特徴的な字形を持つ文字であることを示す情報」は、「処理対象の文字と基準文字との相違を示す情報」の一例である。相違情報出力部240は、特異文字情報160に記録する際、サンプル文書20の発行主体情報とともに記録してよい。
【0038】
相違情報出力部240は、文字画像生成部220が生成した画像と基準文字の画像とを比較して、文字画像生成部220が生成した画像において基準文字の画像とは文字の骨格が異なる部位が存在する場合に、文字の骨格が異なる部位を示す情報と処理対象の文字の識別情報とを対応づけて記録する。
【0039】
文字解析装置280において、解析対象画像取得部282は、文字の解析対象となる文書としての解析対象文書30の画像データを取得する。解析対象文書30は、「文字の解析対象となる文書」の一例である。文字画像抽出部284は、解析対象文書30の画像データから、文字を含む画像を抽出する。文字解析部286は、相違情報出力部240によって記録された情報を用いて、文字画像抽出部284が抽出した画像に含まれる文字を解析する。文字解析部286は、判定者80から解析対象文書30の発行主体情報を受付けて、その発行主体情報をもとに選択された特異文字情報160を使用して、文字を解析するよい。このように、文字解析部286は、特異文字情報160を用いて、文字画像抽出部284が抽出した画像に含まれる文字を解析する。サンプル文書20は、解析対象文書30と同種の書類のサンプル画像である。そのため、解析対象文書30には、サンプル文書20で使用されている文字と同じフォントの文字が使用されている。文字解析部286は、サンプル文書20から特定された特異文字を認識して解析対象文書30を解析するので、解析対象文書30に記載されている内容をより正確に解析することができる。
【0040】
図4は、学習データの構成を示す。学習データは、文字ペア400−11、文字ペア400−12、文字ペア400−13・・・と、文字ペア400−21、文字ペア400−22、文字ペア400−23・・・とを含む。
【0041】
文字ペア400−11は、フォントB1の「藤」の文字と、基準フォントAの「藤」の文字とのペアである。文字ペア400−12は、フォントB1の「研」の文字と、基準フォントAの「研」の文字とのペアである。文字ペア400−13は、フォントB1の「あ」の文字と、基準フォントAの「あ」の文字とのペアである。
【0042】
文字ペア400−21は、フォントB2の「藤」の文字と、基準フォントAの「藤」の文字とのペアである。文字ペア400−22は、フォントB2の「研」の文字と、基準フォントAの「研」の文字とのペアである。文字ペア400−23は、フォントB2の「あ」の文字と、基準フォントAの「あ」の文字とのペアである。
【0043】
一般に、フォントBiを識別する符号を「i」とし、字体(字種)を識別する符号を「j」とすると、モデル生成部206は、文字ペア400−ijを用いて機械学習を行って、モデル120を生成する。モデル生成部206は、例えば、文字ペア400−ijを用いて、フォントB1の「藤」の文字の画像が入力された場合に、基準フォントAの「藤」の文字の字形にできるだけ適応した字形を持つ「藤」文字の画像を生成するように、機械学習を行う。
【0044】
これにより、例えばフォントB1の「藤」の文字の画像が入力された場合に、基準フォントAの「藤」の字形に適応した字形を持つ「藤」の文字の画像を生成するモデル120が生成される。このように、モデル120は、フォントBiの文字jの画像から、フォントAの文字jが持つ字形に適応した字形を持つ文字jの画像を生成するモデルである。
【0045】
図5は、モデル生成部206における機械学習を実行する学習器の概念構成を示す。
図5は、フォントBiの「藤」の文字の画像500bと、基準フォントAの「藤」の文字の画像500aとの文字ペアを学習データとして用いた学習を行う場合を示す。
図5に示す学習器は、GANの一種である条件付きGANを用いた学習器である。
【0046】
学習器は、生成ネットワークGと識別ネットワークDとを備える。生成ネットワークG及び識別ネットワークDは、それぞれニューラルネットワークである。生成ネットワークGは、入力される画像500bからフェイク画像500b'を生成する。
【0047】
識別ネットワークDには、画像500bと画像500aとの組み合わせが入力される。また、識別ネットワークDには、画像500bと、生成ネットワークGが生成したフェイク画像500b'の組み合わせが入力される。識別ネットワークDは、入力された画像の組み合わせの識別結果を出力する。例えば、識別ネットワークDは、入力された画像の組み合わせの正しさの程度を示す確率を、0から1の範囲の数値で出力する。例えば、識別ネットワークDは、入力された画像の組み合わせが正しいと判断した場合に「1」を出力し、入力された画像の組み合わせ正しくないと判断した場合に「0」を出力する。
【0048】
識別ネットワークDは、画像500bと画像500aとのペアが入力された場合に「1」に近い値を出力し、画像500bとフェイク画像500b'のペアが入力された場合に「0」に近い値を出力するように学習する。いわば、識別ネットワークDは、生成ネットワークGが生成したフェイク画像500b'を偽物であると判断できるように学習する。一方で、生成ネットワークGは、画像500bとフェイク画像500b'とのペアを識別ネットワークDに入力した場合に識別ネットワークDから「1」に近い値が出力されるようなフェイク画像500b'を生成できるように学習する。画像500bとフェイク画像500b'とのペアを入力したときの識別ネットワークDの出力が1/2に十分に近くなった場合に、学習が達成されたと判断される。
【0049】
モデル生成部206は、
図4に示されるようなフォント及び字体(字種)の組み合わせが異なる多数の文字ペアを用いて機械学習を行う。モデル生成部206は、各文字ペアで学習が達成されたと判断した場合に、生成ネットワークGをモデル120として出力する。
【0050】
図6は、相違情報出力部240が出力する相違情報の一例を示す。
図6の画面600は、相違情報出力部240が表示装置88に出力する相違情報の表示例である。
【0051】
文字画像620−1及び文字画像620−2は、サンプル文書20の文字の画像である。画面600において、文字画像620−1及び文字画像620−2は、特徴文字情報生成装置200における「検査対象文字」として表示される。
【0052】
文字画像630−1は、文字画像620−1をモデル120に入力することによって文字画像生成部220が生成した文字画像である。文字画像630−2は、文字画像620−2をモデル120に入力することによって文字画像生成部220が生成した文字である。画面600において、文字画像630−1及び文字画像630−2は、基準フォントの字形に適合した文字を持つ「変換後文字」として表示される。
【0053】
文字画像640−1は、文字画像620−1の文字に対応する、基準フォントAの文字の画像である。文字画像640−2は、文字画像620−2の文字に対応する、基準フォントAの文字の画像である。文字画像640−1及び文字画像640−2は、文字画像選択部230によって選択された画像である。例えば、文字画像選択部230は、文字画像630−1と一致度が予め定められた値より高い文字を、基準フォントAの文字の中から選択する。画面600において、文字画像640−1及び文字画像640−2は、変換後後文字の比較対象となる「基準文字」として表示される。
【0054】
比較画像650−1は、文字画像630−1に文字画像640−1を重畳した画像である。比較画像650−2は、文字画像630−2に文字画像640−2を重畳した画像である。
【0055】
相違情報出力部240は、文字画像620−1、文字画像630−1、文字画像640−1、及び比較画像650−1と、ボタン610−1とを対応づけて、表示装置88に表示させる。また、相違情報出力部240は、文字画像620−2、文字画像630−2、文字画像640−2、及び比較画像650−2と、ボタン610−2とを対応づけて、表示装置88に表示させる。
【0056】
図6には、「藤」と「研」の2種の字体の文字についての情報が表示された状態を示す。一般に、検査対象とした文字種を示す符号を「i」とすると、相違情報出力部240は、文字画像620−i、文字画像630−i、文字画像640−i、及び比較画像650−iと、ボタン610−iとを対応づけて、表示装置88に表示させる。
【0057】
なお、相違情報出力部240は、文字画像630−iと文字画像640−iとを比較して、文字画像630−iと文字画像640−iとの一致度を算出してよい。相違情報出力部240は、算出した画像の一致度が低い順に、文字画像620−i、文字画像630−i、文字画像640−i、及び比較画像650−iと、ボタン610−iとを含む文字画像を表示させてよい。
【0058】
判定者80は、例えば比較画像650−iを参照して、文字画像630−iが文字画像640−iと相違する部分を持つか否かを判定する。具体的には、判定者80は、文字画像630−iが文字画像640−iと相違する骨格部分を持つか否かを判定する。例えば、判定者80は、文字画像630−iが文字画像640−iと相違する骨格部分を持つと判定した場合に、ボタン610−iを押す。
【0059】
ボタン610−iを押されたことに応じて、判定結果取得部250は、文字画像620−iが特異文字であると判定結果を取得する。この場合に、相違情報出力部240は、文字画像620−iの文字の情報を、特異文字として特異文字情報160に記録する。例えば、相違情報出力部240は、文字画像620−iの文字種の識別情報を、特異文字情報160に記録する。
【0060】
なお、判定者80は、文字画像630−iが文字画像640−iと相違する部位を示す情報を入力してよい。例えば、判定者80は、文字画像630−iが文字画像640−iと相違する骨格部分を含む範囲を示す情報を入力する。この場合、相違情報出力部240は、入力された骨格部分を含む範囲を示す情報を、文字画像620−iの文字種の識別情報に対応づけて特異文字情報160に記録する。
【0061】
図7は、文字画像620−1、文字画像630−1、文字画像640−1及び比較画像650−1を拡大して示す。D1は、文字画像620−1における「藤」の文字を構成する辺701と辺702の間の骨格の間隔を示す。D2は、文字画像630−1における辺701と辺702の間の骨格の間隔であり、D3は、文字画像640−1における辺701と辺702の間の骨格の間隔である。比較画像650−1から、D1及びD2はいずれも、D3より短いことが明瞭に分かる。
【0062】
文字画像630−1の文字は、文字画像620−1の文字の字形を基準フォントAの「藤」の字形に適応させたものである。これにより、文字画像630−1と文字画像640−1との間では、例えば「とめ」、「はね」、「はらい」等の装飾的デザインや文字の太さの違いによって生じる差が小さくなる。そのため、文字画像630−1の文字の装飾的デザインや文字の太さは、基準フォントの文字画像640−1の文字の装飾的デザインや太さに近いものとなる。一般的に流通しているフォントは主として、装飾的デザインや太さが異なるものが多い。そのため、装飾的デザインや太さが異なるフォントを用いてモデル120を学習することによって、基準フォントAの装飾的デザインに近い装飾的デザインを持つ文字の画像を生成するモデル120が得られる。これにより、文字画像630−1と文字画像640−1との間の装飾的デザインの差が小さくなる。よって、例えば比較画像650−1を通じて、文字画像630−1の辺701と辺702の間の骨格の間隔が短いという、学習に用いたフォントに対する特徴的な相違点を、明確に提示することができる。
【0063】
なお、モデル120を生成するための機械学習に用いたフォントデータにおいて、辺701と辺702の間の骨格の間隔については、フォント間で違いが小さいものであったとする。この場合、フォントデータを用いたモデル120の学習工程において、辺701と辺702の間の骨格の間隔は普遍的な特徴を持つものとして学習される。これにより生成されるモデル120は、入力される「藤」の字の画像に対して、辺701と辺702の間の骨格の間隔を基準フォントに大きく適応させるようなものにはならない。したがって、文字画像620−1をモデル120で変換すると、文字画像630−1のように辺701と辺702の間の骨格の間隔が比較的に狭い文字の画像が得られる。
【0064】
このように、文字処理システム10によれば、文字画像生成部220は、モデル120に入力した文字の字形要素のうち、装飾的デザインのように様々な違いがある字形要素については、基準フォントAに適応した文字の画像を生成する。一方で、文字画像生成部220は、モデル120に入力した文字の字形要素のうち、機械学習に用いたフォントデータに共通している字形要素とは異質な特徴的な字形要素については、その特徴的な字形要素を実質的に維持した文字の画像を生成する。
【0065】
したがって、判定者80は、文字画像630−1と文字画像640−1とを比較することによって、文字画像620−1が特異文字であるか否かを容易に判定することができる。特に、相違情報出力部240は比較画像650−1を表示装置88に表示させるので、判定者80は、サンプル文書20において「藤」の文字の辺701と辺702の間の骨格の間隔が短いことを一目で判断することができる。
【0066】
図8は、参考例として、文字画像620−1に文字画像640−1を重ねた状態を示す。文字画像620−1は、文字画像630−1とは異なり、基準フォントAの「藤」の字形に適応させた文字ではない。そのため、文字画像620−1と文字画像640−1との間には、字形のデザイン性の違いによって生じる誤差が多く存在する。このように、文字画像620−1と文字画像640−1とを比較しても、字形の装飾的デザインの違いに起因する誤差が目立つ。そのため、判定者80が目で見て判定する場合においても、コンピュータ等によって判定する場合においても、その文字が特異文字であるか否かを容易に判定することはできない。
【0067】
これに対し、
図8及び
図9に示されるとように、文字処理システム10によれば、どの文字が特異文字であるかを比較的に容易に判定することができる。
【0068】
図9は、特異文字情報160のデータ構造の一例を示す。特異文字情報160は、文字識別情報、文字画像、特徴部位及び特徴量を対応づけて格納する。
【0069】
「文字識別情報」には、特異文字として判定された文字の識別情報が格納される。文字識別情報は、例えば文字種を示す情報であってよい。文字識別情報は、文字コードであってよい。「文字画像」には、特異文字として判定された文字の画像データがバイナリ形式で格納される。
【0070】
「特徴部位」は、特徴的な字形を持つ部位の範囲を示す情報である。例えば、特徴的な字形を持つ領域を矩形領域で示す場合、「特徴部位」は、矩形の対角の座標を示す情報を含んでよい。
【0071】
「特徴量」は、文字画像から抽出される特徴量を示す情報である。特徴量は、文字画像全体から抽出される特徴量を含んでよい。特徴量は、文字画像における特徴部位から抽出される特徴量を含んでよい。
【0072】
特異文字情報160は、文字解析装置280が解析対象文書30を解析する場合に使用される。例えば、解析対象文書30を解析する場合、解析対象画像取得部282が解析対象文書30の画像データを取得し、文字画像抽出部284が解析対象文書30の画像データから文字画像を抽出する。そして、文字解析部286は、特異文字情報160に格納されている情報を用いて、文字画像抽出部284が抽出した文字画像を解析する。
【0073】
例えば、文字解析部286は、解析対象文書30から抽出された文字画像から特徴量を検出する。文字解析部286は、検出した特徴量が、特異文字情報160に格納されている特徴量に適合した場合に、当該特徴量に対応づけて特異文字情報160に格納されている文字識別情報を読み出す。そして、文字解析部286は、当該文字識別情報の文字が、解析対象文書30から抽出された文字画像の文字であると認識する。
【0074】
以上に説明した文字処理システム10によれば、画像として入力された文字が特異文字であるか否かを適切に判定するとができる。そのため、特異文字であることを認識して、文字認識等の文字を解析することができる。
【0075】
なお、機械学習に用いるフォントの書体は、サンプル文書20及び解析対象文書30で使用されるフォントの書体に整合させることが望ましい。例えば、サンプル文書20及び解析対象文書30で使用されるフォントがゴシック体の書体のフォントである場合には、ゴシック体の書体のフォントを機械学習に用いることが望ましい。
【0076】
なお、文字認識は、文字解析の一例である。文字解析としては、文書の有効性判定等を例示することができる。例えば、外国で発行されたパスポートの有効性を判定する場合に、ある特定の国で発行されたサンプルのパスポートから取得した文字画像から、その国のパスポートに印字されている特殊なイタリック体の文字を特異文字として検出する。そして、その国のパスポートの画像が解析対象文書30として入力された場合に、文字処理システム10は、印刷されている文字が特殊なイタリック体の文字を持つか否かに基づいて、そのパスポートの有効性を判定してよい。
【0077】
文字処理システム10における文字処理として、手書き文字の評価等に使用できる場合がある。例えば、ペン習字において生徒が楷行体等の標準的な書体を練習する場合の評価に使用できる場合がる。例えば、ある特定の指導者の手書き文字を基準文字とし、他の多数の指導者の手書き文字を用いて学習することによって、モデル120を生成する。そして、特徴文字情報生成装置200に入力される文書として、生徒が書いた文書を入力する。これにより、生徒の手書き文字を特定の指導者が書いた手書き文字に適応した文字と、特定の指導者が書いた基準文字との比較結果に基づいて、生徒が書いた文字が特異性を持つか否かを判定する。また、文字処理システム10における文字解析処理として、筆跡鑑定等の手書き文字の解析に利用できる場合がある。
【0078】
図10は、本実施形態に係るコンピュータ2000の例を示す。コンピュータ2000にインストールされたプログラムは、コンピュータ2000に、実施形態に係る特徴文字情報生成装置200、学習装置202及び文字解析装置280、若しくは文字処理システム10等の装置又はシステム、若しくは当該装置又はシステムの各部として機能させる、当該装置又は当該装置の各部に関連付けられるオペレーションを実行させる、及び/又は、実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ2000に、本明細書に記載の処理手順及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU2012によって実行されてよい。
【0079】
本実施形態によるコンピュータ2000は、CPU2012、及びRAM2014を含み、それらはホストコントローラ2010によって相互に接続されている。コンピュータ2000はまた、ROM2026、フラッシュメモリ2024、通信インタフェース2022、及び入力/出力チップ2040を含む。ROM2026、フラッシュメモリ2024、通信インタフェース2022、及び入力/出力チップ2040は、入力/出力コントローラ2020を介してホストコントローラ2010に接続されている。
【0080】
CPU2012は、ROM2026及びRAM2014内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。
【0081】
通信インタフェース2022は、ネットワークを介して他の電子デバイスと通信する。フラッシュメモリ2024は、コンピュータ2000内のCPU2012によって使用されるプログラム及びデータを格納する。ROM2026は、アクティブ化時にコンピュータ2000によって実行されるブートプログラム等、及び/又はコンピュータ2000のハードウエアに依存するプログラムを格納する。入力/出力チップ2040はまた、キーボード、マウス及びモニタ等の様々な入力/出力ユニットをシリアルポート、パラレルポート、キーボードポート、マウスポート、モニタポート、USBポート、HDMI(登録商標)ポート等の入力/出力ポートを介して、入力/出力コントローラ2020に接続してよい。
【0082】
プログラムは、CD−ROM、DVD−ROM、又はメモリカードのようなコンピュータ可読媒体又はネットワークを介して提供される。RAM2014、ROM2026、又はフラッシュメモリ2024は、コンピュータ可読媒体の例である。プログラムは、フラッシュメモリ2024、RAM2014、又はROM2026にインストールされ、CPU2012によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ2000に読み取られ、プログラムと上記様々なタイプのハードウエアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ2000の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
【0083】
例えば、コンピュータ2000及び外部デバイス間で通信が実行される場合、CPU2012は、RAM2014にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース2022に対し、通信処理を命令してよい。通信インタフェース2022は、CPU2012の制御下、RAM2014及びフラッシュメモリ2024のような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取った送信データをネットワークに送信し、ネットワークから受信された受信データを、記録媒体上に提供される受信バッファ処理領域等に書き込む。
【0084】
また、CPU2012は、フラッシュメモリ2024等のような記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM2014に読み取られるようにし、RAM2014上のデータに対し様々な種類の処理を実行してよい。CPU2012は次に、処理されたデータを記録媒体にライトバックする。
【0085】
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理にかけられてよい。CPU2012は、RAM2014から読み取られたデータに対し、本明細書に記載され、プログラムの命令シーケンスによって指定される様々な種類のオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々な種類の処理を実行してよく、結果をRAM2014にライトバックする。また、CPU2012は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU2012は、第1の属性の属性値が指定されている、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0086】
上で説明したプログラム又はソフトウェアモジュールは、コンピュータ2000上又はコンピュータ2000近傍のコンピュータ可読媒体に格納されてよい。専用通信ネットワーク又はインターネットに接続されたサーバーシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読媒体として使用可能である。コンピュータ可読媒体に格納されたプログラムを、ネットワークを介してコンピュータ2000に提供してよい。
【0087】
コンピュータ2000にインストールされ、コンピュータ2000を文字処理システム10として機能させるプログラムは、CPU2012等に働きかけて、コンピュータ2000を、文字処理システム10の各部としてそれぞれ機能させてよい。これらのプログラムに記述された情報処理は、コンピュータ2000に読込まれることにより、ソフトウエアと上述した各種のハードウエア資源とが協働した具体的手段である文字処理システム10の各部として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ2000の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の文字処理システム10が構築される。
【0088】
様々な実施形態が、ブロック図等を参照して説明された。ブロック図において各ブロックは、(1)オペレーションが実行されるプロセスの段階又は(2)オペレーションを実行する役割を持つ装置の各部を表わしてよい。特定の段階及び各部が、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び/又はコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び/又はアナログハードウエア回路を含んでよく、集積回路(IC)及び/又はディスクリート回路を含んでよい。プログラマブル回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、及び他の論理オペレーション、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含む、再構成可能なハードウエア回路を含んでよい。
【0089】
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、処理手順又はブロック図で指定されたオペレーションを実行するための手段をもたらすべく実行され得る命令を含む製品の少なくとも一部を構成する。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD−ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0090】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。
【0091】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ又はプログラマブル回路に対し、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供され、説明された処理手順又はブロック図で指定されたオペレーションを実行するための手段をもたらすべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0092】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。また、技術的に矛盾しない範囲において、特定の実施形態について説明した事項を、他の実施形態に適用することができる。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0093】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【解決手段】文字処理システムは、予め定められた字形を持つ基準文字の画像と、互いに異なる字形を持つ複数の文字の画像とを用いた機械学習によって生成され、入力される文字の画像から予め定められた字形に適応した文字の画像を生成する学習済みモデルを格納する格納部と、学習済みモデルを用いて、処理対象の文字の画像から、予め定められた字形に適応させた処理対象の文字の画像を生成する文字画像生成部と、文字画像生成部が生成した画像と基準文字の画像との比較結果に基づいて、処理対象の文字と基準文字との相違を示す情報を出力する相違情報出力部とを備える。