(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023170853
(43)【公開日】2023-12-01
(54)【発明の名称】学習装置、文字認識システム、学習方法、及びプログラム
(51)【国際特許分類】
G06V 30/196 20220101AFI20231124BHJP
G06V 30/194 20220101ALI20231124BHJP
【FI】
G06V30/196 E
G06V30/194
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022082920
(22)【出願日】2022-05-20
(71)【出願人】
【識別番号】000003193
【氏名又は名称】TOPPANホールディングス株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100139686
【弁理士】
【氏名又は名称】鈴木 史朗
(74)【代理人】
【識別番号】100169764
【弁理士】
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100147267
【弁理士】
【氏名又は名称】大槻 真紀子
(72)【発明者】
【氏名】橋本 江美
【テーマコード(参考)】
5B064
【Fターム(参考)】
5B064DA24
5B064DA27
5B064EA08
(57)【要約】
【課題】認識することが困難な文字を、多大な時間をかけることなく効率よく学習させることができる学習装置、文字認識システム、学習方法、及びプログラムを提供する。
【解決手段】文字を認識させた認識結果を取得する取得部と、前記認識結果に基づいて認識することが困難な文字を特定し、前記特定した文字をノンパラメトリックモデルに学習させる追加文字として決定する決定部と、前記決定部により決定された前記追加文字を前記ノンパラメトリックモデルに学習させる学習部と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
文字を認識させた認識結果を取得する取得部と、
前記認識結果に基づいて認識することが困難な文字を特定し、前記特定した文字をノンパラメトリックモデルに学習させる追加文字として決定する決定部と、
前記決定部により決定された前記追加文字を前記ノンパラメトリックモデルに学習させる学習部と、
を備える学習装置。
【請求項2】
前記取得部は、ディープラーニングによる学習済モデルを用いて文字を認識させた前記認識結果を取得し、
前記決定部は、ディープラーニングによる学習済モデルを用いた文字認識では認識することが困難な文字を前記追加文字とする、
請求項1に記載の学習装置。
【請求項3】
前記取得部は、ディープラーニングによる学習済モデルが文字を認識する過程において文字認識の候補となった文字が正解らしい確率である尤度を取得し、
前記決定部は、文字認識の候補となった文字のそれぞれの尤度の差が閾値未満である文字を前記追加文字とする、
請求項1に記載の学習装置。
【請求項4】
前記取得部は、ディープラーニングによる学習済モデルに学習させた学習データの数であるサンプル数を、文字種ごとに示す情報を前記認識結果として取得し、
前記決定部は、前記サンプル数が閾値未満である文字種に属する文字を前記追加文字とする、
請求項2に記載の学習装置。
【請求項5】
前記取得部は、ディープラーニングによる学習済モデルを用いて文字を認識させた結果、誤った認識をした文字に関する情報を前記認識結果として取得し、
前記決定部は、ディープラーニングによる学習済モデルを用いて文字を認識させた結果、誤った認識をした文字を前記追加文字とする、
請求項2に記載の学習装置。
【請求項6】
前記取得部は、メトリック学習された最近傍識別器の分類結果を前記認識結果として取得し、
前記決定部は、メトリック学習された最近傍識別器により正しく分類されなかった文字を前記追加文字とする、
請求項1に記載の学習装置。
【請求項7】
請求項1から請求項5のいずれか一項に記載の学習装置によって学習された前記ノンパラメトリックモデルと、
ディープラーニングを用いて文字を認識するディープラーニングモデルと、
前記ディープラーニングモデルが正しく認識できない文字を、前記ノンパラメトリックモデルを用いて認識させる実行部と、
を備える文字認識システム。
【請求項8】
コンピュータが行う学習方法であって、
文字を認識させた認識結果を取得する工程と、
前記認識結果に基づいて認識することが困難な文字を特定し、前記特定した文字をノンパラメトリックモデルに学習させる追加文字として決定する工程と、
前記追加文字を前記ノンパラメトリックモデルに学習させる工程と
を含む学習方法。
【請求項9】
コンピュータに、
文字を認識させた認識結果を取得するステップと、
前記認識結果に基づいて認識することが困難な文字を特定し、前記特定した文字をノンパラメトリックモデルに学習させる追加文字として決定するステップと、
前記追加文字を前記ノンパラメトリックモデルに学習させるステップと
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、文字認識システム、学習方法、及びプログラムに関する。
【背景技術】
【0002】
文字を認識させる技術がある。例えば、特許文献1には、段階的に複数回の文字認識を行う技術が開示されている。第1の文字認識で誤った認識をした場合、誤った文字の文字種等を特定し、特定した文字種に適した方法で再度の文字認識を行う。これにより、文字認識の精度を向上させることが可能となる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1では、特定の文字種に特化した複数の文字認識エンジンを備える必要があるため装置コストが高く、また、新たな文字種が追加された場合などに柔軟に対応することが困難である。
この対策として、ディープラーニング技術を用いることが考えられる。例えば、ディープラーニングによる学習済モデルを用いて文字認識を行い、誤った認識をした文字を学習データとして追加し、改めてディープラーニングのモデルに再学習させる試みが考えられる。しかしながら、ディープラーニングの学習済モデルに再学習させる場合、再学習に多大な時間を要してしまうという問題があった。
【0005】
本発明は、このような状況に鑑みてなされたものであり、認識することが困難な文字を、多大な時間をかけることなく効率よく学習させることができる学習装置、文字認識システム、学習方法、及びプログラムを提供する。
【課題を解決するための手段】
【0006】
本発明の一態様にかかる学習装置は、文字を認識させた認識結果を取得する取得部と、前記認識結果に基づいて認識することが困難な文字を特定し、前記特定した文字をノンパラメトリックモデルに学習させる追加文字として決定する決定部と、前記決定部により決定された前記追加文字を前記ノンパラメトリックモデルに学習させる学習部と、を備える。
【0007】
本発明の一態様にかかる文字認識システムは、上記に記載の学習装置によって学習されたノンパラメトリックモデルと、ディープラーニングを用いて文字を認識するディープラーニングモデルと、前記ディープラーニングモデルが正しく認識できない文字を、前記ノンパラメトリックモデルを用いて認識させる実行部と、を備える。
【0008】
本発明の一態様にかかる学習方法は、コンピュータが行う学習方法であって、文字を認識させた認識結果を取得する工程と、前記認識結果に基づいて認識することが困難な文字を特定し、前記特定した文字をノンパラメトリックモデルに学習させる追加文字として決定する工程と、前記追加文字を前記ノンパラメトリックモデルに学習させる工程とを含む。
【0009】
本発明の一態様にかかるプログラムは、コンピュータに、文字を認識させた認識結果を取得するステップと、前記認識結果に基づいて認識することが困難な文字を特定し、前記特定した文字をノンパラメトリックモデルに学習させる追加文字として決定するステップと、前記追加文字を前記ノンパラメトリックモデルに学習させるステップとを実行させるプログラムである。
【発明の効果】
【0010】
本発明によれば、認識することが困難な文字を、ノンパラメトリックモデルに学習させることができる。
ディープラーニングでは、入力に対する出力を導出するモデルを仮定し、学習によりモデルに設定するパラメータを決定するのに対し、ノンパラメトリックモデルはモデルを仮定することなく、学習データをその特徴に応じて分布させた特徴量空間を用いて、特徴量空間における入力データの位置に基づいて、入力データを分類する。
例えば、ノンパラメトリックモデルの一つであるk最近傍法の場合、学習データがプロットされた空間において入力データに近い任意のk個のデータを取得し、多数決によって入力データが属するクラスを予測する。
このため、ノンパラメトリックモデルに学習データを追加して再学習させる場合、特徴量空間にデータを追加すればよく、ディープラーニングに比べて追加学習の時間がほとんどかからずに済む。したがって、認識することが困難な文字を、ディープラーニングの学習モデルに再学習させる場合よりも効率よく学習させることが可能である。
【図面の簡単な説明】
【0011】
【
図1】実施形態にかかる学習装置の構成を示すブロック図である。
【
図2】実施形態にかかる学習装置での処理を示すフローチャートである。
【
図3】実施形態の学習装置が行う処理の流れを示すフローチャートである。
【
図4】実施形態にかかる文字認識システムの構成を示すブロック図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態について図面を参照しながら説明する。
図1は、本発明の実施形態にかかる学習装置1のブロック図である。学習装置1は、文字認識を行うための学習済モデルを生成する。学習装置1はコンピュータである。
【0013】
(学習装置1の構成について)
図1に示すように、本発明の実施形態にかかる学習装置1は、文字認識結果取得部11、追加文字決定部12、ノンパラメトリックモデル学習部13、予測器生成部14、文字データベース15、及びノンパラメトリックモデル情報16により構成される。
【0014】
学習装置1が備える機能部(文字認識結果取得部11、追加文字決定部12、ノンパラメトリックモデル学習部13、及び予測器生成部14)により行われる処理は、学習装置1がハードウェアとして備えるCPU(Central Processing Unit)にプログラムを実行させることによって実現される。
【0015】
文字認識結果取得部11は、文字を認識した認識結果を取得する。例えば、文字認識結果取得部11は、ディープラーニングの手法を用いて文字を認識した認識結果を取得する。例えば、文字認識結果取得部11は、文字データベース15に格納されている文字画像データセットを用いてディープラーニングにより学習された学習済モデルによる文字認識を行う。或いは、文字認識結果取得部11は、ディープラーニングにより学習された学習済モデルによって予測済みの認識結果を取得してもよい。文字認識結果取得部11は、このようにして取得したディープラーニングによる文字認識の認識結果を追加文字決定部12に出力する。
【0016】
認識結果には、文字を認識することが困難である度合を示す情報が含まれる。例えば、認識結果には、正解とする文字、文字認識の過程において文字認識の候補となった文字とその文字が正解らしい確率(尤度)、認識率、誤認識率、及び学習に用いた学習データの数(サンプル数)などを示す情報が含まれる。また、認識結果には、文字種ごとの、尤度、認識率、誤認識率、及びサンプル数などを示す情報が含まれていてもよい。
【0017】
ここでの文字種は、例えば、数字、ラテン文字などのアルファベット、ひらがな、カタカナ、及び漢字の何れか又はこれらの組み合わせである。あるいは、文字種は、英語又は日本語などのように言語であってもよい。また、文字種は、大文字又は小文字などであってもよい。あるいは、文字種は上記したものの組み合わせであってもよい。
【0018】
追加文字決定部12は、文字認識結果取得部11の認識結果を取得し、この認識結果の情報を用いて、ノンパラメトリックモデルに追加する文字(以下、追加文字)を決定する。
【0019】
追加文字決定部12は、認識結果に基づいて文字を認識することが困難である文字を特定し、特定した文字を追加文字として決定する。追加文字決定部12は、例えば、以下の(1)から(3)のそれぞれに示す方法に基づいて追加文字を決定する。
【0020】
(1)誤って認識しやすい文字
追加文字決定部12は、文字認識の過程において複数の文字認識の候補があげられ、その複数の認識候補のそれぞれの尤度が同程度であった文字を、追加文字とする。
例えば、正解が「あ」という文字に対し、文字認識の候補として「あ」と「め」の複数の文字認識の候補があげられたとする。認識対象とする文字が「あ」であるらしい確率(尤度)が33%であり、認識対象とする文字が「め」であるらしい確率(尤度)が32%であり、それぞれの尤度の差が閾値(例えば、3%)未満であるとする。この場合、追加文字決定部12は、文字認識の候補としての「あ」と「め」のそれぞれの尤度の差が閾値未満であり、たとえ認識結果が正しくとも誤って認識し易い文字、つまり文字を認識することが困難な文字であるとみなし、追加文字とする。
【0021】
(2)サンプル数が少ない文字種
追加文字決定部12は、学習に用いた学習データの数(サンプル数)が閾値未満である文字種を、追加文字とする。
ディープラーニングによる認識では、サンプル数が多いほど認識率が向上していく。すなわち、ディープラーニングによる認識では、使用頻度が低い文字種、珍しい文字種に関しては、学習データがほとんど存在しないため正しく認識できない場合が多い。このため、追加文字決定部12は、文字の種別ごとのサンプル数が閾値以下である文字を、認識することが困難な文字とみなし、追加文字とする。ここでの閾値は予め自動で決定された一律の値であってもよいし、文字種ごと変動する値であってもよいし、ユーザが手動により決定する値であってもよい。
【0022】
(3)誤って認識された文字
追加文字決定部12は、認識率が低い、或いは誤認識率が高い文字を、追加文字とする。すなわち、追加文字決定部12は、文字認識の過程、或いはサンプル数に関わらず、ディープラーニングによる学習済モデルに認識させた結果として誤って認識された文字を、認識することが困難な文字とみなし、追加文字とするようにしてもよい。
【0023】
ノンパラメトリックモデル学習部13は、追加文字決定部12で決定した追加文字をノンパラメトリックモデルに学習させる。これにより文字認識に用いるノンパラメトリックモデルを更新する。ノンパラメトリックモデルとしては、例えばk最近傍法がある。k最近傍法の場合、ノンパラメトリックモデル学習部13は、追加文字の画像情報と正解文字を示す情報とを対応づけたデータを、学習データに追加するデータとして特徴量空間(学習データがプロットされる空間)に追加する。
【0024】
予測器生成部14は、ノンパラメトリックモデル学習部13によって追加文字が学習されることにより更新されたノンパラメトリックモデルを使った予測器を生成する。
【0025】
文字データベース15は、文字画像データセットを記憶する。文字画像データセットは、例えば、文字を撮像した画像情報と、撮像された文字を正しく認識した結果を示す情報とが組み(セット)になった情報である。
【0026】
ノンパラメトリックモデル情報16は、ノンパラメトリックモデルに関する情報を記憶する。ノンパラメトリックモデルに関する情報には、学習データをその特徴に応じて分布させた特徴量空間を示す情報が含まれる。特徴量空間に配置される学習データの分布状況は、ノンパラメトリックモデル学習部13によって更新される。
【0027】
(学習装置1の変形例)
ここで、実施形態における学習装置1の変形例について説明する。本変形例では、メトリック学習された最近傍識別器を用いる点において、上述した実施形態と相違する。メトリック学習は、文字の特徴量がプロットされた特徴量空間における距離であるメトリックに基づいてデータを分類する手法である。なお、説明を簡単にするために、ここでのメトリック学習された最近傍識別器は、ノンパラメトリックモデル学習部13が学習対象とするノンパラメトリックモデルとは異なるモデルであることを前提とする。
【0028】
例えば、文字認識結果取得部11は、ディープラーニングによる学習済モデルが誤った認識をした文字について、最近傍識別器による文字認識を行う。そして、文字認識結果取得部11は、メトリック学習された最近傍識別器による文字認識の認識結果を取得する。文字認識結果取得部11は、取得した認識結果を追加文字決定部12に出力する。ここでの認識結果には、最近傍識別器によってどのようなクラスに分類されたかを示す情報が含まれる。
【0029】
追加文字決定部12は、例えば、以下の(4)に示す方法により追加文字を決定する。
【0030】
(4)最近傍識別器が誤って認識する文字
追加文字決定部12は、最近傍識別器により文字を認識させた結果、正しく分類されなかった文字を追加文字とする。例えば、最近傍識別器が誤ったクラスに分類をしたり、複数のクラスに分類したり、1のクラスに分類したがそのクラスに認識対象とは異なる文字が含まれていたりする場合、その文字を認識することが困難な文字とみなして、追加文字とする。
【0031】
(学習装置1が行う処理の流れについて)
図2は、本発明の実施形態にかかる学習装置1での処理を示すフローチャートである。
(ステップS1):文字認識結果取得部11は文字を認識させた認識結果を取得する。
(ステップS2):追加文字決定部12は、文字認識結果取得部11からの認識結果を用いて、追加文字を決定する。
(ステップS3):ノンパラメトリックモデル学習部13は、追加文字決定部12で決定した追加文字をノンパラメトリックモデルに学習させることにより、ノンパラメトリックモデルを更新する。
(ステップS4):予測器生成部14は、ノンパラメトリックモデル学習部13で更新されたノンパラメトリックモデルを使用する予測器を生成する。
【0032】
図3は、ステップS2での追加文字の決定での処理を示すフローチャートである。
【0033】
(ステップS101):追加文字決定部12は、ディープラーニングに学習させた文字について類似文字との誤認識率が閾値以上であるか否かを判定する。追加文字決定部12は、類似文字との誤認識率が閾値以上である場合には(ステップS101:Yes)、ステップS105で追加文字として決定する。
【0034】
(ステップS102):追加文字決定部12は、ディープラーニングに学習させた文字について文字の種別ごとのサンプル数が閾値以下か否かを判定する。追加文字決定部12は、文字の種別ごとのサンプル数が閾値以下の場合には(ステップS102:Yes)、ステップS105で追加文字として決定する。
【0035】
(ステップS103):追加文字決定部12は、ディープラーニングに学習させた文字について文字の種別ごとの認識率が閾値以下か否かを判定する。追加文字決定部12は、文字の種別ごとの認識率が閾値以下の場合には(ステップS103:Yes)、ステップS105で追加文字として決定する。
【0036】
(ステップS104):追加文字決定部12は、メトリック学習された最近傍識別器の分類結果が正しくないか否かを判定する。追加文字決定部12は、分類結果が正しくない場合(ステップS104:Yes)、ステップS105で追加文字として決定する。
(ステップS105):追加文字決定部12は、ステップS101からステップS104の何れかに該当する場合には、追加文字と判定する。
(ステップS106):追加文字決定部12は、ステップS101からステップS104の何れにも該当しない場合には、追加文字ではないと判定する。
【0037】
以上説明したように、実施形態の学習装置1は、文字認識結果取得部11と、追加文字決定部12と、ノンパラメトリックモデル学習部13とを備える。文字認識結果取得部11は、「取得部」の一例である。追加文字決定部12は、「決定部」の一例である。ノンパラメトリックモデル学習部13は、「学習部」の一例である。文字認識結果取得部11は認識結果を取得する。追加文字決定部12は認識結果に基づいて認識することが困難な文字を特定し、特定した文字をノンパラメトリックモデルに学習させる追加文字として決定する。ノンパラメトリックモデル学習部13は、追加文字をノンパラメトリックモデルに学習させる。
【0038】
これにより、実施形態の学習装置1では、認識することが困難な文字を、ノンパラメトリックモデルに学習させることができる。ノンパラメトリックモデルに学習データを追加して再学習させる場合、ディープラーニングによる学習済モデルに再学習させる場合と比較して、学習の時間をほとんどかかけずに済む。ディープラーニングでは、入力に対する出力を導出するモデルを仮定し、学習によりモデルに設定するパラメータを決定するのに対し、ノンパラメトリックモデルはモデルを仮定することなく、学習データをその特徴に応じて分布させた特徴量空間を用いて、特徴量空間における入力データの位置に基づいて、入力データを分類するためである。したがって、認識することが困難な文字を、ディープラーニングの学習モデルに再学習させる場合よりも効率よく学習させることが可能である。
【0039】
また、実施形態の学習装置1では、文字認識結果取得部11はディープラーニングによる学習済モデルが文字を認識した認識結果を取得する。追加文字決定部12は、ディープラーニングによる学習済モデルが認識することが困難な文字を追加文字とする。これにより、実施形態の学習装置1では、ディープラーニングによる文字認識において、ディープラーニングによる学習済モデルが認識することが困難な文字を追加文字とすることができる。
【0040】
一般に、ディープラーニングによる学習済モデルでは、再学習に多大な時間を要するにもかかわらず、再学習をした学習済モデルが必ずしも全体として文字認識の精度が向上したモデルになるとは限らない。例えば、再学習前には正しく認識できていた文字が、再学習後には誤認識するようになってしまったり、再学習後のモデルが追加で学習させた文字を正しく認識できなかったりする場合もあり得る。
【0041】
これに対し、本実施形態では、ノンパラメトリックモデルが文字の画像情報を特徴量空間においてクラスタリングすることにより文字を認識させる。このため、特に、形状が類似する文字に対しては、ディープラーニングによる学習済モデルにおいて誤った認識がなされた場合であっても、ノンパラメトリックモデルによる認識において正しく認識されることが期待できる。したがって、認識することが困難な文字を、ディープラーニングの学習モデルに再学習させる場合よりも効率よく、且つ精度よく学習させることが可能である。
【0042】
一方で、ノンパラメトリックモデルを用いた文字認識に関しては、サンプル数の増加に伴い、文字認識にかかる時間が増大する。文字認識の対象となる文字は100万文字を超えることもある。このため、文字認識の対象となる全ての文字を、ノンパラメトリックモデルを用いて認識させようとすると、文字認識にかかる時間が増大してしまうという問題が生じ得る。
【0043】
これに対し、本実施形態では、ディープラーニングによる学習済モデルを用いた場合に認識させることが困難な文字を、ノンパラメトリックモデルに学習させるようにした。上述したように、ディープラーニングによる認識では、サンプル数が多いほど認識率が向上することが知られている。このため、ディープラーニングによる学習済モデルは、使用頻度が高い文字種、珍しくない汎用的な文字種のほとんどを正しく認識することができる。本実施形態では、ノンパラメトリックモデルに学習させる追加文字を、ディープラーニングによる学習済モデルに認識させることが困難な文字に限定する。これにより、追加文字を、ノンパラメトリックモデルに学習させることが有効なデータに絞ることができ、ノンパラメトリックモデルに学習させる文字数の増大を抑制することができる。
【0044】
また、実施形態の学習装置1では、文字認識結果取得部11はディープラーニングによる学習済モデルが文字を認識する過程において文字認識の候補となった文字が正解らしい確率である尤度を取得する。追加文字決定部12は、文字認識の候補となった文字のそれぞれの尤度の差が閾値未満である文字を前記追加文字とする。これにより、実施形態の学習装置1では、ディープラーニングによる文字認識において誤認識しやすい文字を追加文字とすることができる。
【0045】
例えば、「あ」という文字と「め」という文字は形状が類似しており、ディープラーニングによる認識では、正解が「あ」という文字に対して「め」と誤認識したり、「あ」という文字に対して「あ」と「め」の2つの認識候補を提示し、手動で正解を選択したりすることがある。このような形状が類似する文字は、メトリック(特徴量空間における距離)が小さい。このため、サンプル数を増やして学習させたとしても、ディープラーニングによる認識では誤った認識を繰り返す可能性が高い。
このように、文字認識では、サンプル数だけでは文字を認識することが困難な度合を判定することが難しい可能性がある。例えば、文字の形状が似ているものであれば、サンプル数に関係なく誤認識する可能性がある。
【0046】
これに対し、ノンパラメトリックモデルでは、学習により「あ」という文字と、「め」という文字との間に境界線を追加することにより、両者が特徴量空間において異なるクラスに分類できるように学習する。このため、形状が類似する複数の文字が存在し、メトリック(特徴量空間における距離)が近い文字が複数存在する場合であっても、学習により境界線を追加することで文字を正しく認識することができるようになる。したがって、ディープラーニングによる学習済モデルに再学習させるより、ノンパラメトリックモデルに学習させる方が有効な文字を、ノンパラメトリックモデルに学習させることができる。
【0047】
また、実施形態の学習装置1では、文字認識結果取得部11は、文字種ごとのサンプル数を認識結果として取得を取得する。追加文字決定部12は、サンプル数が閾値未満である文字種に属する文字を追加文字とする。これにより、実施形態の学習装置1では、サンプル数が少なく、ディープラーニングによる文字認識において誤認識しやすい文字を追加文字とすることができる。
【0048】
また、実施形態の学習装置1では、文字認識結果取得部11は、ディープラーニングによる学習済モデルが誤った認識をした文字に関する情報を認識結果として取得する。追加文字決定部12は、ディープラーニングによる学習済モデルが誤った認識をした文字を追加文字とする。これにより、実施形態の学習装置1では、ディープラーニングによる文字認識において誤認識した文字を追加文字とすることができる。
【0049】
また、実施形態の変形例に係る学習装置1では、文字認識結果取得部11は、メトリック学習された最近傍識別器の分類結果を、認識結果として取得する。追加文字決定部12は、メトリック学習された最近傍識別器により正しく分類されなかった文字を、追加文字とする。これにより、実施形態の変形例に係る学習装置1では、メトリック学習された最近傍識別器、例えば汎用的な最近傍識別器を用いた場合に正しく分類することが難しい文字を、ノンパラメトリックモデルを学習させることができる。したがって、ノンパラメトリックモデルを学習させる文字の数をさらに絞ることができ、ノンパラメトリックモデルを学習させる文字の数が増大することを抑制することが可能となる。
【0050】
(学習装置1を用いた文字認識システム100について)
ここで、学習装置1を用いた文字認識システム100について説明する。文字認識システム100は、学習装置1によりノンパラメトリックモデルを学習させる学習段階と、学習段階を経て更新されたノンパラメトリックモデルを用いて文字認識を実行する実行段階を有するシステムである。
【0051】
図4は、本発明の実施形態にかかる文字認識システム100の構成例を示すブロック図である。
図4に示すように、文字認識システム100は、例えば、学習装置1と実行装置2とを備える。
【0052】
学習装置1は、上述した学習装置1である。学習装置1は、例えば、追加文字を学習させたノンパラメトリックモデルを示す情報を実行装置2に送信する。
【0053】
実行装置2は、文字を認識する処理を実行するコンピュータである。実行装置2は、ディープラーニングモデルと、ノンパラメトリックモデルを併用して文字認識を行う。ここでのノンパラメトリックモデルは、学習装置1が追加文字を学習させることにより更新されたモデルである。実行装置2は、例えば、学習装置1から追加文字を学習させたノンパラメトリックモデルを示す情報を受信し、受信した情報を、後述するノンパラメトリックモデル情報27として記憶させる。
【0054】
実行装置2は、例えば、文字画像入力部21と、ディープラーニングモデル文字認識部22と、ノンパラメトリックモデル文字認識部23と、認識制御部24と、出力部25と、ディープラーニングモデル情報26と、ノンパラメトリックモデル情報27とを備える。
【0055】
実行装置2が備える機能部(文字画像入力部21、ディープラーニングモデル文字認識部22、ノンパラメトリックモデル文字認識部23、認識制御部24、及び出力部25)により行われる処理は、実行装置2がハードウェアとして備えるCPU(Central Processing Unit)にプログラムを実行させることによって実現される。
【0056】
文字画像入力部21は、文字認識の対象とする文字画像を入力する。文字画像入力部21は、例えば、スキャナー又はカメラなどである。
【0057】
ディープラーニングモデル文字認識部22は、後述する認識制御部24の制御に従い、ディープラーニングによる学習済モデルを用いた文字認識を行う。ディープラーニングモデル文字認識部22が文字認識に用いる学習済モデルは、一般的なディープラーニングによる文字認識モデルであり、例えば、汎用的な文字が認識できるように学習されたモデルである。
【0058】
ノンパラメトリックモデル文字認識部23は、認識制御部24の制御に従い、ノンパラメトリックモデルを用いた文字認識を行う。ここでのノンパラメトリックモデルは、上述した学習装置1により追加文字を学習することによって更新されたモデルであり、例えば、ノンパラメトリックモデル情報27に基づくモデルである。
【0059】
認識制御部24は、ディープラーニングモデル文字認識部22による文字認識、及び、ノンパラメトリックモデル文字認識部23による文字認識を制御する。
【0060】
例えば、認識制御部24は、文字画像入力部21に入力された文字画像を、ディープラーニングモデル文字認識部22に出力し、ディープラーニングによる学習済モデルに文字を認識させる。
認識制御部24は、ディープラーニングモデル文字認識部22による文字を認識した結果を取得し、ディープラーニングによる学習済モデルが文字を正しく認識した場合、その結果を、出力部25に出力する。
一方、認識制御部24は、ディープラーニングによる学習済モデルが文字を正しく認識しなかった場合、その認識対象とした文字画像を、ノンパラメトリックモデル文字認識部23に出力し、ノンパラメトリックモデルに文字を認識させる。この場合、認識制御部24は、ノンパラメトリックモデルによる文字を認識した結果を出力部25に出力する。
【0061】
或いは、認識制御部24は、文字画像入力部21に入力された文字画像の属性情報に基づいて、ディープラーニングによる学習済モデル、又はノンパラメトリックモデルの何れに文字を認識させるか判定するようにしてもよい。
ここでの属性情報は、上述した文字認識結果取得部11が取得する認識結果と同様な情報であり、文字を認識することが困難である度合を示す情報である。
認識制御部24は、文字画像入力部21に入力された文字画像の属性情報に基づいて、文字画像に対応する文字が、認識することが困難な文字であるか否かを特定する。認識制御部24は、文字画像入力部21に入力された文字画像に対応する文字が、認識することが困難な文字である場合、その文字画像をノンパラメトリックモデル文字認識部23に出力し、ノンパラメトリックモデルに文字を認識させる。一方、認識制御部24は、文字画像入力部21に入力された文字画像に対応する文字が、認識することが困難な文字でない場合、その文字画像をディープラーニングモデル文字認識部22に出力し、ディープラーニングによる学習済モデルに文字を認識させる。
【0062】
出力部25は、例えばディスプレイであり、入力された文字画像、及び文字画像に対応する文字を認識した結果を表示する。
【0063】
以上説明したように、実施形態の文字認識システム100は、ノンパラメトリックモデル情報27と、ディープラーニングモデル情報26と、認識制御部24とを備える。ノンパラメトリックモデル情報27は、学習装置1によって学習されたノンパラメトリックモデルを示す情報である。ディープラーニングモデル情報26は、ディープラーニングによる学習済モデルを示す情報である。認識制御部24は、ディープラーニングモデルが正しく認識できない文字を、ノンパラメトリックモデルを用いて認識させる。これにより、実施形態の文字認識システム100では、ディープラーニングでは正しく認識できない文字を、ノンパラメトリックモデルを用いて認識させることができる。ノンパラメトリックモデルは、学習装置1により追加文字を学習したモデルであるため、ディープラーニングでは正しく認識できない文字を正しく認識することができる可能性が高い。このため、実施形態の文字認識システム100ではより精度よく文字を認識させることができる。
【0064】
以上のように、本実施形態にかかる学習装置1では、ディープラーニングによる認識結果に関する情報を取得して追加文字を決定し、ノンパラメトリックモデルに追加している。追加文字をノンパラメトリックモデルで学習させることで、長時間にわたる学習を行わずに、認識精度を向上させることができる。
【0065】
上述した実施形態における学習装置1及び文字認識システム100の全部または一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【0066】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0067】
例えば、文字認識結果取得部11は、従来のOCR(optical character recognition)技術を用いて文字を認識した認識結果を取得するようにしてもよい。この場合、追加文字決定部12は、OCRの文字認識において認識することが困難な文字を追加文字とする。
【0068】
また、上述した実施形態の変形例では、説明を簡単にするために、メトリック学習された最近傍識別器が、ノンパラメトリックモデル学習部13が学習対象とするノンパラメトリックモデルとは異なるモデルであることを前提としたが、これに限定されることはない。
例えば、ノンパラメトリックモデル学習部13が学習対象とするノンパラメトリックモデルが、ある程度の文字認識が可能となるように、ある程度の学習データが分布する特徴量空間を有するモデルであってもよい。
この場合、ノンパラメトリックモデルは、特に、追加文字決定部12によって追加文字と決定された文字、或いは文字種を正しく認識することができるように学習させたモデルとなる。このように、文字を認識する対象に応じてノンパラメトリックモデルが更新されるように構成されてもよい。
【符号の説明】
【0069】
100…文字認識システム、11…文字認識結果取得部(取得部)、12…追加文字決定部(決定部)、13…ノンパラメトリックモデル学習部(学習部)、14…予測器生成部(生成部)