IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特開2024-132026モデル生成システム、生成方法、およびプログラム
<>
  • 特開-モデル生成システム、生成方法、およびプログラム 図1
  • 特開-モデル生成システム、生成方法、およびプログラム 図2
  • 特開-モデル生成システム、生成方法、およびプログラム 図3
  • 特開-モデル生成システム、生成方法、およびプログラム 図4
  • 特開-モデル生成システム、生成方法、およびプログラム 図5
  • 特開-モデル生成システム、生成方法、およびプログラム 図6
  • 特開-モデル生成システム、生成方法、およびプログラム 図7
  • 特開-モデル生成システム、生成方法、およびプログラム 図8
  • 特開-モデル生成システム、生成方法、およびプログラム 図9
  • 特開-モデル生成システム、生成方法、およびプログラム 図10
  • 特開-モデル生成システム、生成方法、およびプログラム 図11
  • 特開-モデル生成システム、生成方法、およびプログラム 図12
  • 特開-モデル生成システム、生成方法、およびプログラム 図13
  • 特開-モデル生成システム、生成方法、およびプログラム 図14
  • 特開-モデル生成システム、生成方法、およびプログラム 図15
  • 特開-モデル生成システム、生成方法、およびプログラム 図16
  • 特開-モデル生成システム、生成方法、およびプログラム 図17
  • 特開-モデル生成システム、生成方法、およびプログラム 図18
  • 特開-モデル生成システム、生成方法、およびプログラム 図19
  • 特開-モデル生成システム、生成方法、およびプログラム 図20
  • 特開-モデル生成システム、生成方法、およびプログラム 図21
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024132026
(43)【公開日】2024-09-30
(54)【発明の名称】モデル生成システム、生成方法、およびプログラム
(51)【国際特許分類】
   G06V 30/194 20220101AFI20240920BHJP
   G06V 30/41 20220101ALI20240920BHJP
【FI】
G06V30/194
G06V30/41
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023042646
(22)【出願日】2023-03-17
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100181135
【弁理士】
【氏名又は名称】橋本 隆史
(72)【発明者】
【氏名】井上 尚也
【テーマコード(参考)】
5B029
5B064
【Fターム(参考)】
5B029AA01
5B029BB02
5B029CC19
5B029CC22
5B029CC26
5B064AA01
5B064AB02
5B064AB03
5B064BA01
5B064DA27
(57)【要約】
【課題】学習用画像が用意されていない場合であっても、適切な学習モデルを生成することのできるモデル生成システムを提供する。
【解決手段】モデル生成システムは、帳票画像から抽出された文字列における活字の特徴量および前記文字列における手書き文字の特徴量に基づいて生成された学習用の文字列の画像である学習用文字列画像に基づいて、学習モデルを生成する第1生成手段、を備える。
【選択図】図19
【特許請求の範囲】
【請求項1】
帳票画像から抽出された文字列における活字の特徴量および前記文字列における手書き文字の特徴量に基づいて生成された学習用の文字列の画像である学習用文字列画像に基づいて、学習モデルを生成する第1生成手段、
を備えるモデル生成システム。
【請求項2】
前記特徴量に基づいて学習用の画像である学習用画像を生成する第2生成手段と、
前記学習用画像に基づいて前記学習用文字列画像を生成する第3生成手段と、
を備える請求項1に記載のモデル生成システム。
【請求項3】
前記学習用文字列画像における活字に関する第1属性情報、および前記学習用文字列画像における手書き文字に関する第2属性情報を取得する第2取得手段、
を備え、
前記第1生成手段は、
前記第1属性情報および前記第2属性情報に基づいて、前記学習モデルを生成する、
請求項1または請求項2に記載のモデル生成システム。
【請求項4】
前記学習モデルの読み取り精度に影響を及ぼす情報である、前記学習用画像に関する第3属性情報を取得する第3取得手段、
を備え、
前記第1生成手段は、
前記第3属性情報に基づいて、前記学習モデルを生成する、
請求項2に記載のモデル生成システム。
【請求項5】
帳票画像から抽出された文字列における活字の特徴量および前記文字列における手書き文字の特徴量に基づいて生成された学習用の文字列の画像である学習用文字列画像に基づいて、学習モデルを生成すること、
含む生成方法。
【請求項6】
コンピュータに、
帳票画像から抽出された文字列における活字の特徴量および前記文字列における手書き文字の特徴量に基づいて生成された学習用の文字列の画像である学習用文字列画像に基づいて、学習モデルを生成すること、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、モデル生成システム、生成方法、およびプログラムに関する。
【背景技術】
【0002】
さまざまな分野で人工知能が用いられている。人工知能を実現するために学習モデルが用いられる場合がある。特許文献1には、関連する技術として、学習サンプルを生成する画像認識装置に関する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平07-021367号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、学習用画像が用意されていない場合であっても、適切な学習モデルを生成することのできる技術が求められている。
【0005】
本開示の各態様は、上記の課題を解決することのできるモデル生成システム、生成方法、およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本開示の一態様によれば、モデル生成システムは、帳票画像から抽出された文字列における活字の特徴量および前記文字列における手書き文字の特徴量に基づいて生成された学習用の文字列の画像である学習用文字列画像に基づいて、学習モデルを生成する第1生成手段、を備える。
【0007】
上記目的を達成するために、本開示の別の態様によれば、生成方法は、帳票画像から抽出された文字列における活字の特徴量および前記文字列における手書き文字の特徴量に基づいて生成された学習用の文字列の画像である学習用文字列画像に基づいて、学習モデルを生成すること、含む。
【0008】
上記目的を達成するために、本開示の別の態様によれば、プログラムは、コンピュータに、帳票画像から抽出された文字列における活字の特徴量および前記文字列における手書き文字の特徴量に基づいて生成された学習用の文字列の画像である学習用文字列画像に基づいて、学習モデルを生成すること、を実行させる。
【発明の効果】
【0009】
本開示の各態様によれば、学習用画像が用意されていない場合であっても、適切な学習モデルを生成することができる。
【図面の簡単な説明】
【0010】
図1】本開示の実施形態によるモデル生成システムの構成の一例を示す図である。
図2】本開示の実施形態による文字列画像情報抽出部が行う具体的な処理のフローチャートの一例を示す図である。
図3】本開示の実施形態による文字画像情報抽出部が行う具体的な処理のフローチャートの一例を示す図である。
図4】本開示の実施形態による文字画像情報生成部が行う具体的な処理のフローチャートの一例を示す図である。
図5】本開示の実施形態による学習項目情報生成部が行う具体的な処理のフローチャートの一例を示す図である。
図6】本開示の実施形態による学習モデル生成部が行う具体的な処理のフローチャートの一例を示す図である。
図7図6におけるステップS157の処理を詳細に示すフローチャートの一例を示す図である。
図8】本開示の実施形態による抽出文字列画像情報DBが記憶する情報の一例を示す図である。
図9】本開示の実施形態による活字文字画像情報DBが記憶する情報の一例を示す図である。
図10】本開示の実施形態による手書き文字画像情報DBが記憶する情報の一例を示す図である。
図11】本開示の実施形態による手書き文字画像情報DBが記憶する情報の一例を示す図である。
図12】本開示の実施形態による学習項目情報生成部による分析結果の一例を示す図である。
図13】本開示の実施形態による学習項目情報DBが記憶する最終的な情報の一例を示す図である。
図14】本開示の実施形態による学習モデル生成部が決定した学習項目の一例を示す図である。
図15】本開示の実施形態による学習モデル生成部が算出した取得可能な画像枚数および生成した画像枚数の一例を示す図である。
図16】本開示の実施形態における文字列形式情報の一例を示す図である。
図17】本開示の実施形態における氏名の文字列情報および氏名の類似文字列情報の一例を示す図である。
図18】本開示の実施形態における学習文字情報の一例を示す図である。
図19】本開示の実施形態によるモデル生成システムの最小構成を示す図である。
図20】本開示の実施形態による最小構成のモデル生成システムの処理フローの一例を示す図である。
図21】少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら実施形態について詳しく説明する。
<実施形態>
(モデル生成システムの構成)
本開示の実施形態によるモデル生成システム1について図面を参照して説明する。モデル生成システム1は、学習用画像が用意されていない場合であっても、適切な学習モデルを生成することのできるシステムである。
【0012】
図1は、本開示の実施形態によるモデル生成システム1の構成の一例を示す図である。モデル生成システム1は、図1に示すように、複数の画像出力装置10(10A、10B、・・・)、および情報処理システム20を備える。
【0013】
画像出力装置10は、カメラやスキャナ等の装置であり、定型または非定型の帳票画像を出力する。情報処理システム20は、情報処理部100、および情報記憶部200を備える。
【0014】
情報処理部100は、図1に示すように、文字列画像情報抽出部110、文字画像情報抽出部120、文字画像情報生成部130、学習項目情報生成部140、および学習モデル生成部150を備える。
【0015】
情報記憶部200は、図1に示すように、抽出文字列画像情報データベース210、活字文字画像情報データベース220、手書き文字画像情報データベース230、学習項目情報データベース240、および学習文字列情報データベース250を備える。なお、本開示の実施形態における説明において「データベース」を「DB」と記載することがある。
【0016】
文字列画像情報抽出部110は、複数の画像出力装置10(10A、10B、・・・)が出力した帳票画像から文字列画像情報を取得する。文字列画像情報抽出部110は、取得した文字列画像情報を抽出文字列画像情報DB210に記録する。文字列画像情報抽出部110が行う処理、およびこの抽出文字列画像情報DB210の具体例については後述する。
【0017】
文字画像情報抽出部120は、抽出文字列画像情報DB210が記憶する文字列画像情報から文字画像情報を取得する。文字画像情報抽出部120は、取得した文字画像情報を、活字文字画像情報DB220または手書き文字画像情報DB230に記録する。文字画像情報抽出部120が行う処理、この活字文字画像情報DB220、およびこの手書き文字画像情報DB230の具体例については後述する。
【0018】
文字画像情報生成部130は、活字文字画像情報DB220または手書き文字画像情報DB230が記憶する文字画像情報から、新たに文字画像情報を生成する。文字画像情報生成部130は、生成した文字画像情報を、活字文字画像情報DB220または手書き文字画像情報DB230に記録する。文字画像情報生成部130が行う処理、この活字文字画像情報DB220、およびこの手書き文字画像情報DB230の具体例については後述する。
【0019】
学習項目情報生成部140は、抽出文字列画像情報DB210が記憶する文字列画像情報から、学習するための画像である学習画像を生成する時に参照する項目情報を生成する。学習項目情報生成部140は、生成した項目情報を学習項目情報DB240に記録する。学習項目情報生成部140が行う処理、およびこの学習項目情報DB240の具体例については後述する。
【0020】
学習モデル生成部150は、学習項目情報DB240及び学習文字列情報DB250から学習文字列を生成し、全ての学習文字列に対して、抽出文字列画像情報DB210から取得または活字文字画像情報DB220または手書き文字画像情報DB230から学習画像を生成して学習を実行することにより、項目毎に学習モデルを生成する。学習モデル生成部150が行う処理、この学習項目情報DB240、およびこの学習文字列情報DB250の具体例については後述する。
【0021】
次に、モデル生成システム1が行う処理について図2から図18を参照して説明する。図2は、本開示の実施形態による文字列画像情報抽出部110が行う具体的な処理のフローチャートの一例を示す図である。図3は、本開示の実施形態による文字画像情報抽出部120が行う具体的な処理のフローチャートの一例を示す図である。図4は、本開示の実施形態による文字画像情報生成部130が行う具体的な処理のフローチャートの一例を示す図である。図5は、本開示の実施形態による学習項目情報生成部140が行う具体的な処理のフローチャートの一例を示す図である。図6は、本開示の実施形態による学習モデル生成部150が行う具体的な処理のフローチャートの一例を示す図である。また、図7は、図6におけるステップS157の処理を詳細に示すフローチャートの一例を示す図である。
【0022】
(文字列画像情報抽出部が行う処理)
まず、図2を参照して、文字列画像情報抽出部110が行う処理について説明する。文字列画像情報抽出部110は、複数の画像出力装置10(10A、10B、・・・)が出力した帳票画像を取得する(ステップS111)。文字列画像情報抽出部110は、取得した帳票画像に対して、画像補正により帳票の傾きや歪み等を補正する(ステップS112)。文字列画像情報抽出部110は、補正した帳票画像に対して、帳票内に存在する全ての文字列の領域を検出(領域の座標を取得)する(ステップS113)。
【0023】
文字列画像情報抽出部110は、検出した領域(座標)に従って、補正した画像から文字列画像を切り出す(ステップS114)。文字列画像情報抽出部110は、切り出した画像に対して、OCRにより文字列を認識(テキスト化)する(ステップS115)。文字列画像情報抽出部110は、認識した文字列(テキスト)を出力する。文字列画像情報抽出部110は、認識した文字列の誤りを訂正する(ステップS116)。文字列の誤りを訂正する方法の例としては、NLP(Natural Language Processing、自然言語処理)により訂正する方法や人間が目視して手動で訂正する方法などが挙げられる。
【0024】
文字列画像情報抽出部110は、学習画像を生成する時に参照する属性情報を取得する(ステップS117)。属性情報とは、学習結果(学習モデルの読み取り精度)に影響がある情報を指す。文字列画像情報抽出部110は、本情報を参照して学習画像を生成・学習することにより、読み取り対象の文字列、画像、帳票の性質に合った学習モデルを生成し、読み取り精度及びロバスト性を向上させる。本開示の実施形態では、文字列画像情報抽出部110は、属性情報として、文字列種別、画像種別、帳票種別を取得する。
【0025】
属性情報の1つ目は、文字列種別であり、項目名が氏名、年齢のような単語の意味毎に区別する情報である。文字列画像情報抽出部110は、NLPにより単語を事前学習し、解析することにより属性情報を取得する。例えば、項目名「氏名」「年齢」を意味する文字列については、文字列画像情報抽出部110は、文字列「日電太郎」の場合氏名として、文字列「20才」の場合年齢として文字列を取得する。また、帳票内に存在する文字列の解析をより正確にするための方法としては、固定文字列または可変文字列であるかを判別する方法も挙げられる。固定文字列とは、帳票内の固定の文字列を指し、帳票のタイトル(例えば「請求書」等)や項目名(例えば「氏名」「年齢」等)を意味する文字列が該当する。可変文字列とは、ユーザが帳票内に記入する文字列を指し、帳票の項目に対する値を意味する文字列が該当する。固定または可変の文字列の判別方法としては、定型帳票の場合、固定文字列及び可変文字列の位置(座標)をあらかじめ定義する手法などが挙げられる。また、固定または可変の文字列の判別方法としては、非定型帳票の場合、帳票内の文字列の座標を参照して位置関係で判別する手法などなどが挙げられる。
【0026】
属性情報の2つ目は、画像種別がカメラ、スキャンのような画像出力装置の情報である。文字列画像情報抽出部110は、その他画像の解像度等の画像に関する情報のような画像出力装置から取得可能な情報を取得することにより属性情報を取得する。
【0027】
属性情報の3つ目は、帳票種別が申込書、請求書のような帳票に関する情報である。文字列画像情報抽出部110は、帳票内に存在するタイトルや項目名に該当する文字列を解析することにより属性情報を取得する。ここで、文字列画像情報抽出部110は、ステップS114の処理で切り出した文字列画像、ステップS116の処理で訂正した文字列、ステップS117の処理で取得した属性情報を1つのレコードとして抽出文字列画像情報DB210に記録する。
【0028】
図8は、本開示の実施形態による抽出文字列画像情報DB210が記憶する情報の一例を示す図である。文字列画像情報抽出部110は、取得したすべての帳票画像に対して処理済みであるか否かを判定する(ステップS118)。文字列画像情報抽出部110は、処理済みであると判定した場合(ステップS118においてYES)、一連の処理を終了する。また、文字列画像情報抽出部110は、処理済みではないと判定した場合(ステップS118においてNO)、ステップS112の処理に戻し、次の帳票画像に対してステップS112~ステップS117の処理を実行する。
【0029】
(文字画像情報抽出部が行う処理)
次に、図3を参照して、文字画像情報抽出部120が行う処理について説明する。文字画像情報抽出部120が行う処理は、文字列画像情報抽出部110が行う処理の次に行われる。なお、活字文字画像情報DB220には、あらかじめ生成した複数のフォントの活字文字画像を、活字文字画像情報として記憶してあるものとする。
【0030】
文字画像情報抽出部120は、抽出文字列画像情報DB210から文字列画像情報を取得する(ステップS121)。文字画像情報抽出部120は、取得した文字列画像に対して、一文字単位の文字領域を検出する(すなわち、領域の座標を取得する)(ステップS122)。文字画像情報抽出部120は、検出した文字領域(取得した領域の座標)に従って、文字列画像から文字画像を切り出す(ステップS123)。
【0031】
文字画像情報抽出部120は、切り出した文字画像に対して、活字文字画像であるか手書き文字画像であるかを判別する(ステップS124)。例えば、文字画像情報抽出部120は、切り出した文字画像の特徴量と、活字文字画像情報DB220にあらかじめ登録しておいた活字の文字画像の特徴量とを比較する。そして、特徴量が近似していると文字画像情報抽出部120が判定した場合、文字画像情報抽出部120は、切り出した文字画像を活字文字と判別する。また、特徴量が近似していないと文字画像情報抽出部120が判定した場合、文字画像情報抽出部120は、切り出した文字画像を手書き文字と判別する。近似の判定としては、しきい値をあらかじめ設定する方法が考えられる。なお、学習画像を生成する時に活字文字または手書き文字のどちらかを指定する。そのため、指定した文字に近似する文字を学習に利用できればよく、厳密に活字文字と手書き文字とを判別する必要はない。
【0032】
文字画像情報抽出部120は、活字文字画像の属性情報、および手書き文字画像の属性情報を取得する(ステップS125)。属性情報の例としては、カメラ、スキャン等の画像種別、漢字、平仮名等の文字種別、フォントやBold等の文字形状に関する情報などが挙げられる。文字形状に関する情報の例としては、活字文字の場合には明朝等のフォント情報、手書き文字の場合には執筆者および文字形状の区別を可能にする情報(「執筆者A,鉛筆書き」、「執筆者B,ペン書き」等)などが挙げられる。文字画像情報抽出部120は、属性情報を参照して学習画像のバリエーションを増やすことにより、読み取り対象の文字画像の特性に合った学習画像を生成する。文字画像情報抽出部120は、読み取り対象の文字画像の特性に合った学習画像を生成することにより、学習モデルの読み取り精度およびロバスト性を向上させる。
【0033】
ここで、文字画像情報抽出部120は、ステップS123の処理により切り出した文字画像に対応する文字と、ステップS125の処理により取得した属性情報とを1レコードとし、ステップS124の判別結果が切り出した文字画像を活字文字と判別する判別結果である場合には、その1レコードの情報を活字文字画像情報DB220に記録する。また、文字画像情報抽出部120は、切り出した文字画像を手書き文字と判別する判別結果である場合には、その1レコードの情報を手書き文字画像情報DB230に記録する。
【0034】
図9は、本開示の実施形態による活字文字画像情報DB220が記憶する情報の一例を示す図である。図10は、本開示の実施形態による手書き文字画像情報DB230が記憶する情報の一例を示す図である。活字文字画像情報DB220は、図9に示すように、画像ファイルに関連づけて、切り出した文字画像に対応する文字、文字の種別、文字の形状、画像の種別を記憶する。また、手書き文字画像情報DB230は、図10に示すように、画像ファイルに関連づけて、切り出した文字画像に対応する文字、文字の種別、文字の形状、画像の種別を記憶する。
【0035】
文字画像情報抽出部120は、取得したすべての文字列画像に対して処理済みであるか否かを判定する(ステップS126)。文字画像情報抽出部120は、すべての文字列画像に対して処理済みであると判定した場合(ステップS126においてYES)、一連の処理を終了する。また、文字画像情報抽出部120は、すべての文字列画像のうち少なくとも1つに対して処理済みではないと判定した場合(ステップS127)、ステップS122の処理に戻し、次の文字列画像に対してステップS122~ステップS125の処理を実行する。
【0036】
(文字画像情報生成部が行う処理)
次に、図4を参照して、文字画像情報生成部130が行う処理について説明する。文字画像情報生成部130が行う処理は、文字画像情報抽出部120が行う処理の次に行われる。文字画像情報生成部130は、活字文字画像情報DB220および手書き文字画像情報DB230から文字画像情報を取得する(ステップS131)。文字画像情報生成部130は、取得した文字画像を加工または生成することにより新たな文字画像を生成する(ステップS132)。文字画像を生成する方法の例としては、活字文字に歪みを加えて手書き文字を生成する手法、少数の手書き文字から様々な手書き文字を生成する手法(例えば、GAN(Generative Adversarial Network、敵対的生成ネットワーク)など)などが挙げられる。手書き文字を学習に用いる場合、執筆者が多くなればなるほど学習の有効性が高まる。文字画像のバリエーションを増やす方法としては、複数の手法で手書き文字を生成することが考えられる。
【0037】
文字画像情報生成部130は、ステップS131で取得した文字画像情報に対して、前述の文字形状、画像種別に関する属性情報を追加する(ステップS133)。このステップS133の処理により、例えば、図10の1行目に示すデータ(生成の元にするデータ)に対して、図11の2~3行目に示すデータ(生成データ)の属性情報が追加されることになる。ただし、手書き文字の執筆者に関する情報として区別可能な情報(「生成文字A」等)を記憶する。
【0038】
ここで、文字画像情報生成部130は、ステップS132の処理により生成した文字画像に対応する文字と、ステップS133の処理により追加した属性情報とを1レコードとし、ステップS131の処理により取得した文字画像情報が活字文字である場合には、その1レコードの情報を活字文字画像情報DB220に記録する。また、文字画像情報生成部130は、ステップS131の処理により取得した文字画像情報が手書き文字である場合には、その1レコードの情報を手書き文字画像情報DB230に記録する。図11は、本開示の実施形態による手書き文字画像情報DB230が記憶する情報の一例を示す図である。手書き文字画像情報DB230は、図11に示すように、画像ファイルに関連づけて、手書き文字、文字の種別、文字の形状、画像の種別を記憶する。
【0039】
文字画像情報生成部130は、画像生成条件を満たすか否かを判定する(ステップS134)。文字画像情報生成部130は、画像生成条件を満たすと判定した場合(ステップS134においてYES)、一連の処理を終了する。また、文字画像情報生成部130は、画像生成条件を満たさないと判定した場合(ステップS134においてNO)、ステップS132の処理に戻し、画像生成条件を満たすまでステップS132~ステップS133の処理を実行する。画像生成条件の例としては、生成する画像の枚数などが挙げられる。画像生成条件は、文字の形状や画像の種別ごとに設定するものであってもよい。
【0040】
(学習項目情報生成部が行う処理)
次に、図5を参照して、学習項目情報生成部140が行う処理について説明する。学習項目情報生成部140が行う処理は、文字画像情報生成部130が行う処理の次に行われる。学習項目情報生成部140は、抽出文字列画像情報DB210から文字列画像情報を取得する(ステップS141)。学習項目情報生成部140は、文字列画像情報の文字列種別を参照して、文字列種別毎に分類(グルーピング)する(ステップS142)。
【0041】
学習項目情報生成部140は、同一の文字列種別に分類された文字列を分析することにより(ステップS143)、文字種別、文字列形式を取得する。文字種別の例としては、文字列に含まれる漢字や数字のような文字種別、活字または手書き文字のような情報が挙げられる。文字列形式の例としては、「年齢」や「日付」のような文字列種別向けの特定の文字列形式などが挙げられる。
【0042】
図12は、本開示の実施形態による学習項目情報生成部140による分析結果の一例を示す図である。図12に示す分析結果の例では、同一の文字列種別は「氏名」である。図12に示す例では、学習項目情報生成部140は、文字列「日電太郎」を分析することにより、文字種別として「漢字(手書き)」を取得し、文字列形式として「形式無し」を取得する。また、図12に示す例では、学習項目情報生成部140は、文字列「日電はな子」を分析することにより、文字種別として「漢字(手書き)、平仮名(手書き)」を取得し、文字列形式として「形式無し」を取得する。
【0043】
学習項目情報生成部140は、ステップS143の処理において分析したデータを、同一の文字列種別、文字種別、文字列形式、画像種別、帳票種別単位で分類するごとに、1つの学習項目情報を生成する(ステップS144)。例えば、ステップS143の処理において学習項目情報生成部140が分析したデータが図12に示すデータである場合、ステップS144の処理により、図12に示す1行目と2行目のデータは文字種別が異なるため、1行目と2行目のデータは別の分類となる。そして、1行目のデータに対して例えば「氏名1」という項目が生成され、2行目のデータに対して例えば「氏名2」という項目が生成されることになる。学習項目情報生成部140は、生成した学習項目情報を学習項目情報DB240に記録する。例えば、同一の文字列種別(例えば「氏名」)に対して、文字種別が異なる場合、学習項目情報生成部140は、複数の項目(例えば「氏名1」「氏名2」・・・)として学習項目情報を学習項目情報DB240に記録する。
【0044】
ここで、学習項目情報生成部140は、分類した項目単位で画像の枚数をカウントすることにより、学習画像を生成する時に画像の枚数を調整できるようにする。学習項目情報生成部140は、すべての文字列種別の処理が完了したか否かを判定する(ステップS145)。学習項目情報生成部140は、すべての文字列種別の処理が完了したと判定した場合(ステップS145においてYES)、一連の処理を終了する。また、学習項目情報生成部140は、すべての文字列種別のうち少なくとも1つに対して処理が完了していないと判定した場合(ステップS145においてNO)、ステップS143の処理に戻し、すべての文字列種別の処理が完了したと判定するまでステップS143~ステップS144の処理を実行する。
【0045】
図13は、本開示の実施形態による学習項目情報DB240が記憶する最終的な情報の一例を示す図である。学習項目情報DB240が記憶する最終的な情報は、図13に示すように、項目、文字の種別、文字列の形式、画像の種別、帳票の種別、および画像の枚数を関連付けた情報である。
【0046】
(学習モデル生成部が行う処理)
次に、図6を参照して、学習モデル生成部150が行う処理について説明する。学習モデル生成部150が行う処理は、学習項目情報生成部140が行う処理の次に行われる。学習モデル生成部150は、学習項目情報DB240から学習項目情報を取得する(ステップS151)。学習モデル生成部150は、学習項目情報から学習条件および学習項目を決定する(ステップS152)。学習条件の例としては、学習モデル名(学習項目名)、文字種別、文字列形式、帳票種別のような文字列に関する条件(学習文字列条件)、画像種別、学習画像の枚数のような画像に関する条件(学習画像条件)などが挙げられる。学習モデル生成部150は、取得した学習項目情報をマージすることにより、学習文字列条件および学習画像条件を決定することができる。ただし、ユーザが読み取り対象の帳票や画像に合わせて変更できてもよい。学習モデル生成部150は、学習項目として、学習文字列条件に合わせて学習項目情報から必要な項目のみ(例えば「氏名1」「氏名2」)を指定することができる。
【0047】
図14は、本開示の実施形態による学習モデル生成部150が決定した学習項目の一例を示す図である。図14に示す学習項目の例は、学習モデル生成部150が学習文字列条件に合わせて決定した学習項目である。学習に十分な枚数を確保し、枚数により学習時間を調整することができるよう、学習画像の枚数は、あらかじめ指定するもの、または都度ユーザが変更できるものであってよい。
【0048】
また、学習モデル生成部150は、決定した学習項目から画像枚数を合算することにより取得可能な画像枚数を算出する。また、学習モデル生成部150は、学習画像の枚数から、取得可能な画像枚数を減算することにより生成する画像枚数を算出する。事前に帳票を入手できない(取得可能な画像枚数が0枚である)場合、学習モデル生成部150は、生成した画像を利用して学習を実行することが可能である。
【0049】
図15は、本開示の実施形態による学習モデル生成部150が算出した取得可能な画像枚数および生成した画像枚数の一例を示す図である。図15に示すように、取得可能な画像枚数および生成した画像枚数は、学習モデル、画像の種別、学習画像枚数を含む学習画像条件に関連付けられる。学習モデル生成部150は、取得可能な画像枚数が1以上であるか否かを判定する(ステップS153)。学習モデル生成部150は、取得可能な画像枚数が1以上であると判定した場合(ステップS153においてYES)、後述するステップS154の処理に進める。また、学習モデル生成部150は、取得可能な画像枚数が0であると判定した場合(ステップS153においてNO)、後述するステップS155の処理に進める。
【0050】
学習モデル生成部150は、決定した学習条件を満たす文字列画像情報を抽出文字列画像情報DB210から取得する(ステップS154)。学習モデル生成部150は、生成した画像枚数が1以上であるか否かを判定する(ステップS155)。学習モデル生成部150は、生成した画像枚数が1以上であると判定した場合(ステップS155においてYES)、後述するステップS156の処理に進める。また、学習モデル生成部150は、生成した画像枚数が0であると判定した場合(ステップS155においてNO)、後述するステップS158の処理に進める。
【0051】
学習モデル生成部150は、学習文字列情報DB250を参照して学習文字列を生成する(ステップS156)。学習文字列情報DB250は、学習モデルの読み取り精度を向上させるために文字列のバリエーションを増やすことを考慮して、学習項目毎に文字列の形式、学習文字列、類似文字列といった情報を記憶するものとする。学習文字列情報DB250が記憶する情報は、あらかじめ登録しておくものとする。しかしながら、学習文字列情報DB250が記憶する情報は、ユーザにより都度追加で登録することや、帳票の追加時に抽出した文字列画像情報を元に追加で登録することも考えられる。
【0052】
学習モデル生成部150は、文字列形式情報として、学習項目毎に考え得る複数の形式を登録する。図16は、本開示の実施形態における文字列形式情報の一例を示す図である。図16に示すように、文字列の形式は、学習項目に関連付けられる。学習文字列が氏名である場合、学習モデル生成部150は、日本人の苗字と名前の組み合わせであることを考慮して、日本人の氏名を網羅するよう苗字と名前を登録する。学習モデル生成部150は、類似文字列情報として、漢字等の誤認し易い類似文字を登録し、学習文字列が氏名である場合、該当する類似文字を含む、複数の苗字の文字列または複数の名前の文字列を生成する。学習モデル生成部150は、類似文字を含む、苗字の文字列または名前の文字列を多く学習させることにより、読み取り精度を向上させることが可能となる。
【0053】
図17は、本開示の実施形態における氏名の文字列情報および氏名の類似文字列情報の一例を示す図である。図17の(a)の部分に示す例では、文字列情報は、苗字および名前を含んでいる。また、図17の(b)の部分に示す例では、類似文字列情報は、類似文字、苗字、および名前を含んでいる。その他の項目についても同様に、登録可能な文字列形式、学習文字列、類似文字列があらかじめ登録されているものとする。学習モデル生成部150は、学習文字列画像を生成する(ステップS157)。なお、ステップS157の処理の詳細については後述する。学習モデル生成部150は、ステップS154の処理により取得した文字列画像およびステップS157の処理により生成した文字列画像の学習を実行することにより、学習モデルを生成する(ステップS158)。学習モデル生成部150は、すべての項目の学習を実行済み(学習モデルを生成済み)であるか否かを判定する(ステップS159)。学習モデル生成部150は、すべての項目の学習を実行済みであると判定した場合(ステップS159においてYES)、一連の処理を終了する。また、学習モデル生成部150は、すべての項目のうち1つの項目でも学習を実行していないと判定した場合(ステップS159においてNO)、ステップS152の処理に戻し、すべての項目の学習を実行するまで、ステップS152~ステップS158の処理を実行する。
【0054】
(ステップS157の処理の詳細)
次に、図7を参照して、ステップS157の処理の詳細について説明する。学習モデル生成部150は、ステップS156の処理により生成した学習文字列およびステップS152の処理で決定した学習条件を参照し、学習文字情報を生成する(ステップS157-1)。例えば、学習モデル生成部150は、学習文字列を1文字単位で区切った文字に対して、学習条件の文字種別、画像種別、文字の形状のような情報を追加することにより、学習文字情報を生成する。
【0055】
図18は、本開示の実施形態における学習文字情報の一例を示す図である。図18に示すように、学習文字情報は、文字、文字の種別、文字の形状、画像の種別を含む。図18の(a)には、学習文字情報が氏名である場合の例が示されている。また、図18(b)には、学習文字情報が年齢である場合の例が示されている。学習モデル生成部150は、学習文字情報を参照して、活字文字画像情報DB220および手書き文字画像情報DB230から該当する文字画像を取得する(ステップS157-2)。取得する文字画像は、あらかじめまたは都度文字画像情報生成部130により生成されるものとする。
【0056】
学習モデル生成部150は、すべての文字画像を取得済みであるか否かを判定する(ステップS157-3)。学習モデル生成部150は、すべての文字画像を取得済みであると判定した場合(ステップS157-3においてYES)、後述するステップS157-4の処理に進める。また、学習モデル生成部150は、取得していない文字画像があると判定した場合(ステップS157-3においてNO)、ステップS157-2の処理に戻す。
【0057】
学習モデル生成部150は、取得した文字画像を順番に結合することにより、文字列画像を生成する(ステップS157-4)。なお、学習モデルの読み取り精度を向上させるためには、学習モデル生成部150は、画像の結合する際に、文字の間隔も考慮して、ランダムに文字の間隔を調整し、複数のバリエーションの学習文字列画像を生成することが望ましい。
【0058】
学習モデル生成部150は、生成した文字列画像に対して、画像処理により歪みを加える(ステップS157-5)。なお、画像に歪みを加えることにより、学習モデルのロバスト性が向上する。
【0059】
学習モデル生成部150は、ステップS152の処理により決定した生成する画像枚数等の学習画像条件を満たすか否かを判定する(ステップS157-6)。学習モデル生成部150は、学習画像条件を満たすと判定した場合(ステップS157-6においてYES)、一連の処理を終了する。また、学習モデル生成部150は、学習画像条件を満たさないと判定した場合(ステップS157-6においてNO)、ステップS157-1の処理に戻し、学習画像条件を満たすまで、ステップS157-1~S157-5の処理を実行する。
【0060】
以上、本開示の実施形態によるモデル生成システム1について説明した。モデル生成システム1において、学習モデル生成部150(第1生成手段の一例)は、帳票画像から抽出された文字列における活字の特徴量および前記文字列における手書き文字の特徴量に基づいて生成された学習用の文字列の画像である学習用文字列画像に基づいて、学習モデルを生成する。
【0061】
このモデル生成システム1により、学習用画像が用意されていない場合であっても、適切な学習モデルを生成することができる。
【0062】
また、このモデル生成システム1により、読み取り対象の文字列に合わせた、文字列画像を学習することができるようになるため、学習モデルの読み取り精度が向上する。例えば、年齢の学習モデルであれば、「〇〇歳」といった文字列形式に対して、全て手書きの学習データ、または数字が手書きで「歳」が活字の学習データも含めて学習することで、年齢の文字列に対して読み取り精度が向上する。
【0063】
図19は、本開示の実施形態によるモデル生成システム1の最小構成を示す図である。モデル生成システム1は、図19に示すように、第1生成手段300を備える。第1生成手段300は、帳票画像から抽出された文字列における活字の特徴量および前記文字列における手書き文字の特徴量に基づいて生成された学習用の文字列の画像である学習用文字列画像に基づいて、学習モデルを生成する。第1生成手段300は、例えば、図1に例示されている学習モデル生成部150が有する機能を用いて実現することができる。
【0064】
図20は、本開示の実施形態による最小構成のモデル生成システム1の処理フローの一例を示す図である。次に、本開示の実施形態による最小構成のモデル生成システム1の処理について図20を参照して説明する。
【0065】
第1生成手段300は、帳票画像から抽出された文字列における活字の特徴量および前記文字列における手書き文字の特徴量に基づいて生成された学習用の文字列の画像である学習用文字列画像に基づいて、学習モデルを生成する(ステップS101)。
【0066】
以上、本開示の実施形態による最小構成のモデル生成システム1について説明した。このモデル生成システム1により、学習用画像が用意されていない場合であっても、適切な学習モデルを生成することができる。
【0067】
なお、本開示の実施形態における処理は、適切な処理が行われる範囲において、処理の順番が入れ替わってもよい。
【0068】
本開示の実施形態について説明したが、上述のモデル生成システム1、画像出力装置10、情報処理システム20、その他の制御装置は内部に、コンピュータシステムを有していてもよい。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。コンピュータの具体例を以下に示す。
【0069】
図21は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。コンピュータ5は、図21に示すように、CPU6、メインメモリ7、ストレージ8、インターフェース9を備える。
【0070】
例えば、上述のモデル生成システム1、画像出力装置10、情報処理システム20、その他の制御装置のそれぞれは、コンピュータ5に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ8に記憶されている。CPU6は、プログラムをストレージ8から読み出してメインメモリ7に展開し、当該プログラムに従って上記処理を実行する。また、CPU6は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ7に確保する。
【0071】
ストレージ8の例としては、HDD(Hard Disk Drive)、SSD(Solid State Drive)、磁気ディスク、光磁気ディスク、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、半導体メモリ等が挙げられる。ストレージ8は、コンピュータ5のバスに直接接続された内部メディアであってもよいし、インターフェース9または通信回線を介してコンピュータ5に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ5に配信される場合、配信を受けたコンピュータ5が当該プログラムをメインメモリ7に展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、ストレージ8は、一時的でない有形の記憶媒体である。
【0072】
また、上記プログラムは、前述した機能の一部を実現してもよい。さらに、上記プログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるファイル、いわゆる差分ファイル(差分プログラム)であってもよい。
【0073】
本開示のいくつかの実施形態を説明したが、これらの実施形態は、例であり、開示の範囲を限定しない。これらの実施形態は、開示の要旨を逸脱しない範囲で、種々の追加、省略、置き換え、変更を行ってよい。
【0074】
なお、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0075】
(付記1)
帳票画像から抽出された文字列における活字の特徴量および前記文字列における手書き文字の特徴量に基づいて生成された学習用の文字列の画像である学習用文字列画像に基づいて、学習モデルを生成する第1生成部、
を備えるモデル生成システム。
【0076】
(付記2)
前記特徴量に基づいて学習用の画像である学習用画像を生成する第2生成部と、
前記学習用画像に基づいて前記学習用文字列画像を生成する第3生成部と、
を備える付記1に記載のモデル生成システム。
【0077】
(付記3)
前記学習用文字列画像における活字に関する第1属性情報、および前記学習用文字列画像における手書き文字に関する第2属性情報を取得する第2取得部、
を備え、
前記第1生成部は、
前記第1属性情報および前記第2属性情報に基づいて、前記学習モデルを生成する、
付記1または付記2に記載のモデル生成システム。
【0078】
(付記4)
前記学習モデルの読み取り精度に影響を及ぼす情報である、前記学習用画像に関する第3属性情報を取得する第3取得部、
を備え、
前記第1生成部は、
前記第3属性情報に基づいて、前記学習モデルを生成する、
付記2に記載のモデル生成システム。
【0079】
(付記5)
帳票画像から抽出された文字列における活字の特徴量および前記文字列における手書き文字の特徴量に基づいて生成された学習用の文字列の画像である学習用文字列画像に基づいて、学習モデルを生成すること、
含む生成方法。
【0080】
(付記6)
コンピュータに、
帳票画像から抽出された文字列における活字の特徴量および前記文字列における手書き文字の特徴量に基づいて生成された学習用の文字列の画像である学習用文字列画像に基づいて、学習モデルを生成すること、
を実行させるプログラム。
【符号の説明】
【0081】
1・・・モデル生成システム
5・・・コンピュータ
6・・・CPU
7・・・メインメモリ
8・・・ストレージ
9・・・インターフェース
10・・・画像出力装置
20・・・情報処理システム
30・・・情報通信端末
100・・・情報処理部
110・・・文字列画像情報抽出部
120・・・文字画像情報抽出部
130・・・文字画像情報生成部
140・・・学習項目情報生成部
150・・・学習モデル生成部
200・・・情報記憶部
210・・・抽出文字列画像情報データベース
220・・・活字文字画像情報データベース
230・・・手書き文字画像情報データベース
240・・・学習項目情報データベース
250・・・学習文字列情報データベース
300・・・第1生成手段
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21