(57)【要約】【課題】高額で莫大なデータ数を有するライブラリを必要とせず、精度の高い文字認識を行うことを可能とさせる機械学習装置を提供する。【解決手段】手書き文字を画像化する画像化部３１と、画像化部によって画像化された手書き文字の手書き画像に対して文字認識を行って第１文字情報を生成する生成部３２と、第１文字情報の正誤を示す正誤情報を取得し、手書き画像の画像データと第１文字情報と正誤情報を教師データとして学習を行う学習部３３とを備える。【選択図】図３
2019109559.tif 000002
【特許請求の範囲】
【請求項１】
手書き文字を画像化する画像化部と、
前記画像化部によって画像化された前記手書き文字の手書き画像に対して文字認識を行って第１文字情報を生成する生成部と、
前記第１文字情報の正誤を示す正誤情報を取得し、前記手書き画像の画像データと前記第１文字情報と前記正誤情報を教師データとして学習を行う学習部とを、
備えることを特徴とする機械学習装置。
【請求項２】
前記生成部は、学習済みの辞書を参照して前記文字認識を行うことを特徴とする請求項１に記載の機械学習装置。
【請求項３】
前記学習部は、前記手書き画像の画像データを前記教師データとして学習を行う際、前記画像化された手書き文字の手書き画像を複数の領域に分け、それぞれの領域の特徴量を算出し、算出された前記特徴量に基づいて文字を特定することを特徴とする請求項１又は２に記載の機械学習装置。
【請求項４】
前記学習部は、ニューラルネットワーク学習モデルによって前記学習を行うことを特徴とする請求項１から３のいずれか１つに記載の機械学習装置。
【請求項５】
学習モデルによる機械学習を行う機械学習プログラムであって、
手書き文字を画像化するステップと、
画像化された前記手書き文字の手書き画像に対して文字認識を行って第１文字情報を生成するステップと、
前記第１文字情報の正誤を示す正誤情報を取得し、前記手書き画像の画像データと前記第１文字情報と前記正誤情報を教師データとして学習を行うステップとを、
コンピュータに実行されることを特徴とする機械学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習モデルによる機械学習を行う機械学習装置に関する。
【背景技術】
【０００２】
現在、手書き文字認識技術（下記の特許文献１を参照）、すなわちＩＣＲ（Intelligent Character Recognition：インテリジェント文字認識技術）が多く存在し、その技術の一例では、手書き文字のライブラリを元に辞書を作成し、作成された辞書を用いてスキャンした文字を解析し、解析結果について単語辞書を用いて妥当な表現に修正している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１０−５２４０６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、学習に必要な教師データ（手書き文字認識のライブラリ）は莫大なデータ数が必要なため非常に高額であり、また教師データの文字は先進国で利用される文字が中心となっており、手軽に教師データを用意することができない。また、手書き文字の認識に関しては、文字を書く人の書き癖があるため高精度で文字認識することは困難であり、手書き文字認識のライブラリを用いてもある程度のところで精度は頭打ちになってしまうという問題があった。
【０００５】
本発明は、上記課題に鑑み、高額で莫大なデータ数を有するライブラリを必要とせず、精度の高い文字認識を行うことを可能とさせる機械学習装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は、手書き文字を画像化する画像化部と、前記画像化部によって画像化された前記手書き文字の手書き画像に対して文字認識を行って第１文字情報を生成する生成部と、前記第１文字情報の正誤を示す正誤情報を取得し、前記手書き画像の画像データと前記第１文字情報と前記正誤情報を教師データとして学習を行う学習部とを、備えることを特徴とする。
【０００７】
また、本発明の機械学習装置において、前記生成部が、学習済みの辞書を参照して前記文字認識を行うことは、好ましい態様である。
【０００８】
また、本発明の機械学習装置において、前記学習部が、前記手書き画像の画像データを前記教師データとして学習を行う際、前記画像化された手書き文字の手書き画像を複数の領域に分け、それぞれの領域の特徴量を算出し、算出された前記特徴量に基づいて文字を特定することは、好ましい態様である。
【０００９】
また、本発明の機械学習装置において、前記学習部が、ニューラルネットワーク学習モデルによって前記学習を行うことは、好ましい態様である。
【００１０】
また、本発明は、学習モデルによる機械学習を行う機械学習プログラムであって、手書き文字を画像化するステップと、画像化された前記手書き文字の手書き画像に対して文字認識を行って第１文字情報を生成するステップと、  前記第１文字情報の正誤を示す正誤情報を取得し、前記手書き画像の画像データと前記第１文字情報と前記正誤情報を教師データとして学習を行うステップとを、コンピュータに実行されることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、高額で莫大なデータ数を有するライブラリを必要とせず、精度の高い文字認識を行うことを可能とさせる。
【図面の簡単な説明】
【００１２】
【図１】実施形態におけるニューラルネットワークによる学習モデルの一例を示す図である。
【図２Ａ】実施形態における入力層に入力された手書き文章の一例を示す図である。
【図２Ｂ】実施形態における手書き文章の文字の領域を分割した状態の一例を示す図である。
【図２Ｃ】実施形態における手書き文章の文字の特徴抽出の一例を示す図である。
【図２Ｄ】実施形態における手書き文章の文字の特徴を表す数値の算出方法の一例を説明するための図である。
【図２Ｅ】実施形態における手書き文章の文字の一部がまたがる画素の一例を示す図である。
【図２Ｆ】実施形態における手書き文書の文字の特徴を数値化した場合の一例を示す図である。
【図２Ｇ】実施形態における手書き文章の文字を特定する際の文字の選択順位の一例を示す図である。
【図３】実施形態における機械学習装置の機能構成の一例を示す図である。
【図４】実施形態におけるＩＣＲによる解析結果を生成する処理フローの一例を示す図である。
【図５】実施形態における機械学習装置の学習処理フローの一例を示すフローチャートである。
【図６】実施形態における機械学習装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、実施形態について図面を参照して説明する。金融機関や陸運業界では、作業者の負担を低減させるため、あらかじめ機械によるＩＣＲ処理を行った後、作業者による目視チェックや整合性チェックを行い、誤りがあった項目を修正するという手順で作業が行われている。以下では学習プロセスの改善をこの修正作業により実現する。
【００１４】
すなわち、実施形態における機械学習装置は、手書き文字を画像化した入力画像と、画像化された入力画像について辞書を参照して文字認識した解析結果（ＩＣＲによる解析結果（第１文字情報））と、作業者による修正の有無（解析結果の正誤）とを入力パラメータとして教師データとする。これにより、学習内容の改善を行うプロセスを実現する。教師データとは事前に与えられたデータ、すなわち例題を言う。
【００１５】
図１は帳票の文字認識業務におけるニューラルネットワークによる学習モデルの一例を示す図である。図１に示すように、学習モデル１は入力層１０、中間層１１（１１ａ、・・・、１１ｚ）、出力層１２の階層型ネットワーク構造となっており、中間層１１は複数の層（１１ａ、・・・、１１ｚ）から構成されているが、１つの層から構成されていてもよい。なお、中間層１１が複数の層から構成される多層構造ネットワークのことをディープラーニングと言う。
【００１６】
各層には複数のユニット１３があり、それぞれのユニット１３は独立であり、ユニット１３では前層の複数のユニットからの出力結果に基づいて内部状態を変えて出力候補（文字）を出力する。各層のユニット数についてもこの例のように４個に限定されるものではない。ニューラルネットワークについては従来からある一般的なものが用いられるため、詳細な説明については省略する。
【００１７】
学習モデル１では入力層１０以外の各層は前層のすべてのユニット１３と結合しており、入力層１０に任意の入力パターンが与えられると、情報はネットワークの結合の重み（層間にあるつながりの強さを示す重み）が掛け合わされて中間層１１、出力層１２と伝播して出力を出す。この出力に対して、本来出力されるべき正しい値を与えることにより、結合の重みを自発的に変える。この繰り返しにより、ネットワークは正しい答えを出力するようになる。このように、結合の重みを変えることを学習と言う。
【００１８】
入力層１０では、手書き文字を画像化した入力画像と、画像化された入力画像を辞書（学習済み辞書）を参照して文字認識した解析結果（ＩＣＲによる解析結果）と、作業者による修正の有無（解析結果の正誤）とを入力パラメータとして入力させる。
【００１９】
手書き文字を画像化した入力画像とは、帳票などに記載された手書きの文字をＯＨＲ（Over Head Reader）などによって読み取り、画像化されたものである。入力層１０は、手書き文字を画像化した入力画像が入力パラメータとして入力されると、入力層１０では入力画像を元に画像の特徴量を解析し、パラメータ化（文字特定）する。
【００２０】
画像化された入力画像について辞書を参照して文字認識した解析結果とは、入力画像とあらかじめ学習済みの辞書とを比較して一致した文字を言う。
【００２１】
作業者による修正の有無（解析結果の正誤）とは、ＩＣＲによる解析結果の正誤を示す正誤情報、すなわちＩＣＲによる解析結果が作業者によって訂正された場合の訂正された文字を言う。訂正がない場合には、訂正された文字の入力はない。なお、ＩＣＲによる解析結果が“文”であったものを作業者により“丈”に訂正された場合、後述する文字の特定の際の文字の選択順位を“丈”が“文”よりも上位になるように書き換えてもよい。
【００２２】
ここで、入力画像の特徴量の解析から文字の特定までの処理の一例について説明する。まず、例えば図２Ａに示すような手書き文章２０が入力画像として入力された場合を考える。入力された手書き文書２０は１文字ずつに区切られ、１文字ずつ文字の特定が行われるが、以下では区切られた最初の文字の特定について説明する。
【００２３】
次に、区切られた文字を複数の領域（区画）に分割する。例えば、図２Ｂに示すように“文”という文字を四角形２１で囲い、囲われた四角形２１の領域を９つの領域に分割する。四角形２１を複数の領域に分割することにより、“文”という文字を構成する線がそれぞれの領域にまたがることになる。なお、分割する領域数はこれに限定されるものではなく、ひらがな、カタカナ、漢字などで異なるようにしてもよい。
【００２４】
四角形２１で囲われた文字を複数の領域に分割した後、文字を構成する線が領域内でどのような方向を向いているかの特徴を領域ごとに抽出する。ここでは、図２Ｃに示すように、主な特徴である「横、縦、右上がり、右下がり」の４種類の特徴を数値で表現する。数値が大きいほどその方向に向いていることを示している。
【００２５】
以下では図２Ｃに示す１つの領域（第１の領域２２）の特徴抽出について説明する。図２Ｃに示す第１の領域２２の特徴を表す数値は横が３、縦が１、右上がりが０、右下がりが０となっている。
【００２６】
ここで、領域における特徴を表す数値の算出方法の一例について図２Ｄを用いて説明する。特徴を表す数値の算出方法は、後述するように画素における横線、縦線、右上がり線、右下がり線の状態に基づいて数値を算出する方法である。
【００２７】
例えば“文”という文字の第１の領域２２における特徴を表す数値の算出について考える。第１の領域２２を拡大した拡大領域２３では、第１の領域２２にある“文”の文字を構成する一部の横線２４が拡大されて示されている。拡大領域２３には第１の領域２２を構成する複数の画素（破線の四角形）２５が示されており、拡大された横線２４は、複数の画素２５のうちのいくつかの画素（画素２５ａ〜２５ｌ）上に示されている。画素２５ａから２５ｌを拡大したしたものを図２Ｅに示す。
【００２８】
これらの画素は、図２Ｅに示すように、横方向に３画素（画素２５ａから２５ｃ）が並び、そして上方向に１画素（画素２５ｄ）上がり、また横方向に３画素（画素２５ｄから２５ｆ）が並び、そして上方向に１画素（画素２５ｇ）上がっている。さらに、横方向に３画素（画素２５ｇから２５ｉ）が並び、そして上方向に１画素（画素２５ｊ）上がり、また横方向に３画素（画素２５ｊから２５ｌ）が並んでいる。
【００２９】
このように、第１の領域２２内の文字の横方向の画素数は１２個、縦方向の画素数は４個であるため、横縦の比率は３対１となる。すなわち、第１の領域２２の特徴は横が３、縦が１となる。同様の処理を９つすべての領域について行う。
【００３０】
ここで右上がりの特徴がないのは、“文”という文字の右上がり具合が横方向に３、縦方向に１であり、横軸（Ｘ軸）から右上２２．５度よりも低いため横の線と判断されるためである。なお、右上がりの特徴の判断方法はこれに限定されるものではなく、他の判断基準を用いてもよい。
【００３１】
１つの領域で４種類の特徴があり、９つの領域があるため、全部で３６個の特徴を示す数値が算出され、その算出結果の一例を図２Ｆに示す。縦軸は４つの特徴の種類、横軸は各領域を示し、横軸の数字は９つに分割した領域に割り当てられた数字に対応している（図２Ｂを参照）。例えば、領域の“１”に対応する第１の領域２２では、横が３、縦が１、右上がりが０、右下がりが０となっている。また、領域の“９”に対応する第９の領域（不図示）では、横が３、縦が１、右上がりが０、右下がりが４となっている。
【００３２】
入力層１０のユニット１３では、この数値化された情報から文字を特定する。手書き文字には個人差があり、辞書に数値化されて記録してある数字と必ずしも同じ数字になるとは限らない。そのため、図２Ｇに示すように選択順位の決まった複数の文字（“文”、“交”、“人”など）の中から一番近い数字の文字（図２Ｇでは“文”）を選び、知識（例えば、場所や名称など）を加味して文字を特定する。通常は１文字を１００から４００の特徴で表す。
【００３３】
中間層１１では、入力層１０に入力されたパラメータに基づいて入力層１０で出力された情報（出力候補の文字）に対して重みを掛け合わせることで、中間層１１の各ユニット１３が情報（出力候補の文字）を出力し、出力結果は次のユニット１３への入力となる。各ユニット１３での処理は、例えば各入力に対して重みを掛け、それらを合算したものを所定の関数に当てはめるなどして出力結果を導出する。なお、各ユニット１３での処理はこれに限定されるものではなく、他の処理方法であってもよい。このようにして中間層１１において出力された出力結果（文字）は最終的に出力層１２へ出力される。
【００３４】
出力層１２では、中間層１１から出力された複数の出力結果（文字）に基づいて１つの出力結果（文字）を出力する。出力層１２は、中間層１１と同様、各入力に対して重みを掛けるなどの処理を行って出力結果を導出し、出力する。出力された文字は例えばライブラリとして蓄積される。
【００３５】
次に、実施形態における機械学習装置の機能構成の一例について図３を用いて説明する。機械学習装置３０は、画像化部３１、文字認識生成部（生成部）３２、学習部３３、記憶部３４から構成されている。なお、機械学習装置３０の構成はこれに限定されるものではなく、他の構成要素を含むものであってもよい。
【００３６】
画像化部３１は、帳票などに記載された手書き文字を画像化（画像データ化）するものであって、例えばＯＨＲなどである。
【００３７】
文字認識生成部３２は、画像化部３１によって画像化された手書き文字の手書き画像に対して、辞書（学習済み辞書）を参照して文字認識を行い、認識した結果（第１文字情報）、すなわちＩＣＲによる解析結果を生成する。ここでの辞書は、初期の辞書作成にかかる初期データを不要とし、その後の学習によって学習された辞書であって、作業者による訂正結果を反映させた精度の高い辞書である。これにより、高額なライブラリを用意する必要はない。
【００３８】
学習部３３は、ＩＣＲによる解析結果の正誤を示す正誤情報を取得し、手書き画像の画像データとＩＣＲによる解析結果と正誤情報を教師データとして学習を行う。すなわち、学習部３３は、ニューラルネットワーク学習モデルによって学習を行うものであり、これら３つの情報を教師データとし、上述した入力層１０、中間層１１、出力層１２における処理を行い、正しい結果を出力する。
【００３９】
記憶部３４は、機械学習装置３０の学習処理に必要なプログラム情報などを記憶する。
ここで、上記ＩＣＲによる解析結果を生成する処理フローの一例について図４を用いて説明する。画像化部３１は、帳票などに記載された手書き文字を読み取って画像化する（ステップＳ４０１）。文字認識生成部３２は、辞書（学習済み辞書）を参照して画像化された手書き文字の文字認識を行い、認識結果であるＩＣＲによる解析結果（文字）を生成する（ステップＳ４０２）。解析結果がディスプレイなどに表示され（ステップＳ４０３）、正しくない場合には作業者による訂正が行われる。訂正された訂正結果に基づいて、例えば文字認識生成部３２などによって辞書が更新される（ステップＳ４０４）。
【００４０】
次に、実施形態における機械学習装置の学習処理フローの一例について図５を用いて説明する。学習部３３は、画像化された手書き文字の画像データ、ＩＣＲによる解析結果、ＩＣＲによる解析結果の正誤を示す正誤情報を入力層１０において受け付ける（ステップＳ５０１）。学習部３３は、受け付けた手書き文字の画像データにおいて、文字の特徴を表す数値の算出を行い、文字を特定する（ステップＳ５０２）。すなわち、画像化された手書き文字の手書き画像を複数の領域に分け、それぞれの領域の特徴量を算出し、算出された特徴量に基づいて文字を特定する。
【００４１】
学習部３３は、上記３つの情報を元に中間層１１において出力候補の文字を出力し（ステップＳ５０３）、中間層１１における最終の出力候補の文字に基づいて正しい出力結果を出力する（ステップＳ５０４）。
【００４２】
次に、実施形態における機械学習装置のハードウェア構成の一例について図６を用いて説明する。
【００４３】
ハードウェア構成は、例えば、ＣＰＵ６１、ＨＤＤ（Ｈａｒｄ Ｄｉｓｋ Ｄｒｉｖｅ）６２、ＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）６３、ＲＯＭ（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）６４、通信インタフェース（Ｉ／Ｆ）６５、バス６６を備えている。ＣＰＵ６１、ＨＤＤ６２、ＲＡＭ６３、ＲＯＭ６４、通信インタフェース（Ｉ／Ｆ）６５は、例えば、バス６６を介して互いに接続されている。
【００４４】
ＣＰＵ６１は、バス６６を介して、ＨＤＤ６２などに格納される機械学習装置３０の各種処理を行うためのプログラム（例えば、学習処理プログラムなど）を読み込み、読み込んだプログラムをＲＡＭ６３に一時的に格納し、そのプログラムにしたがって各種処理を行う。ＣＰＵ６１は、主として、上述した文字認識生成部３２、学習部３３として機能する。
【００４５】
ＨＤＤ６２には、機械学習装置３０の各種処理を行うためのアプリケーションプログラムや、機械学習装置３０の処理に必要なデータなどが格納される。ＨＤＤ６２は、主として記憶部３４として機能する。
【００４６】
ＲＡＭ６３は、揮発性メモリであって、ＣＰＵ６１に実行させるためのＯＳ（Ｏｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ）プログラムやアプリケーションプログラムの一部が一時的に格納される。また、ＲＡＭ６３には、ＣＰＵ６１による処理に必要な各種データが格納される。
【００４７】
ＲＯＭ６４は、不揮発性メモリであって、ブートプログラムやＢＩＯＳ（Ｂａｓｉｃ Ｉｎｐｕｔ／Ｏｕｔｐｕｔ Ｓｙｓｔｅｍ）などのプログラムを記憶する。
【００４８】
通信インタフェース（Ｉ／Ｆ）６５は、外部とネットワークを介してデータの送受信を行うものである。
【００４９】
バス６６は、各装置間の制御信号、データ信号などの授受を媒介する経路である。
上述した実施形態の機械学習装置によれば、高額で莫大なデータ数を有するライブラリを必要とせず、精度の高い文字認識を行うことを可能とさせる。また、運用により手書き文字認識の多言語化が可能となるため、ＩＣＲ技術が実用化されていない国や地域などでもＩＣＲ技術を普及させることが可能となる。
【００５０】
また、上述した実施形態は、上述したものに限定されるものではなく、実施形態の要旨を逸脱しない範囲において種々の変更を加えることができる。
【符号の説明】
【００５１】
１  学習モデル
１０  入力層
１１  中間層
１２  出力層
１３  ユニット
２０  手書き文書
２１  四角形
２２  第１の領域
２３  拡大領域
２４  横線
２５  画素
３０  機械学習装置
３１  画像化部
３２  文字認識生成部
３３  学習部
３４  記憶部
６１  ＣＰＵ
６２  ＨＤＤ
６３  ＲＡＭ
６４  ＲＯＭ
６５  通信インタフェース（Ｉ／Ｆ）
６６  バス
【図１】
2019109559.tif 000003
【図２Ａ】
2019109559.tif 000004
【図２Ｂ】
2019109559.tif 000005
【図２Ｃ】
2019109559.tif 000006
【図２Ｄ】
2019109559.tif 000007
【図２Ｅ】
2019109559.tif 000008
【図２Ｆ】
2019109559.tif 000009
【図２Ｇ】
2019109559.tif 000010
【図３】
2019109559.tif 000011
【図４】
2019109559.tif 000012
【図５】
2019109559.tif 000013
【図６】
2019109559.tif 000014