(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024029410
(43)【公開日】2024-03-06
(54)【発明の名称】文字認識器学習装置、文字認識器学習方法、及び文字認識器学習プログラム
(51)【国際特許分類】
G06V 30/194 20220101AFI20240228BHJP
G06V 10/774 20220101ALI20240228BHJP
【FI】
G06V30/194
G06V10/774
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022131644
(22)【出願日】2022-08-22
(71)【出願人】
【識別番号】000003193
【氏名又は名称】TOPPANホールディングス株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100139686
【弁理士】
【氏名又は名称】鈴木 史朗
(74)【代理人】
【識別番号】100169764
【弁理士】
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100147267
【弁理士】
【氏名又は名称】大槻 真紀子
(72)【発明者】
【氏名】石井 達也
【テーマコード(参考)】
5B064
5L096
【Fターム(参考)】
5B064DA27
5L096BA17
5L096CA24
5L096JA11
5L096KA04
(57)【要約】 (修正有)
【課題】光学文字認識器の学習のために取り扱いが容易な学習データを作成することが可能な文字認識器学習装置、文字認識器学習方法及び文字認識器学習プログラムを提供する。
【解決手段】文字認識器学習装置1000は、文字が書かれた画像とテキストデータとの対を入力データとして受け付ける入力データ受付部10と、文字が書かれた画像とテキストデータとの対を表示する表示部30と、表示された文字が書かれた画像とテキストデータについて、各々の一部を切り出して学習データとして保存するようユーザからの指定を受け付ける学習データ指定受付部40と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
文字が書かれた画像とテキストデータとの対を入力データとして受け付ける入力データ受付部と、
前記文字が書かれた画像と前記テキストデータとの対を表示する表示部と、
前記表示された文字が書かれた画像とテキストデータについて、各々の一部を切り出して学習データとして保存するようユーザからの指定を受け付ける学習データ指定受付部と、
を備える文字認識器学習装置。
【請求項2】
前記入力データ受付部が受け付ける入力データは、前記テキストデータに含まれる文字毎の画像中における位置情報を含み、
前記学習データ指定受付部は、
前記表示部によって表示された前記文字が書かれた画像の一部の切り出しをユーザから受け付けた後に、前記テキストデータに含まれる文字毎の画像中における位置情報を用いて前記表示部によって表示された前記テキストデータの一部を切り出す対応テキストデータ切出部、
を備える請求項1に記載の文字認識器学習装置。
【請求項3】
前記入力データ受付部が受け付ける入力データは、前記テキストデータの修正情報又は前記テキストデータに含まれる文字毎の画像中における位置情報の修正情報を含み、
前記表示部は、
前記文字が書かれた画像と前記テキストデータとの対に加え、前記修正情報を表示する修正情報表示部、
を備える請求項1に記載の文字認識器学習装置。
【請求項4】
前記学習データ指定受付部によって指定された学習データを用いて文字認識器を学習させる学習部、
を備える請求項1に記載の文字認識器学習装置。
【請求項5】
前記学習部が学習させる文字認識器は、文字画像から特徴量を抽出する特徴抽出器を含み、
前記学習部は、
前記学習データ指定受付部がユーザから指定を受け付けて保存した学習データのうち、文字が1文字のみ書かれた画像とテキストデータとの対を用いて、前記特徴抽出器を事前学習させる1文字事前学習部、
を備える請求項4に記載の文字認識器学習装置。
【請求項6】
前記学習データ指定受付部は、
ユーザから指定を受け付けた文字が書かれた画像とテキストデータについて、学習データとして適切か否かを判定する学習データ判定部、
を備え、
前記表示部は、
前記学習データ判定部が学習データとして適切でないと判定した文字が書かれた画像とテキストデータについて、ユーザに通知を行う通知部、
を備える請求項1に記載の文字認識器学習装置。
【請求項7】
前記学習データ判定部は、前記ユーザから指定を受け付けたテキストデータが、予め用意された禁止テキストデータベースに挙げられたテキストを含む場合、学習データとして適切でないと判定する、
請求項6に記載の文字認識器学習装置。
【請求項8】
前記学習データ判定部は、前記ユーザから指定を受け付けたテキストデータから、固有表現が抽出された場合、学習データとして適切でないと判定する、
請求項6に記載の文字認識器学習装置。
【請求項9】
入力データ受付部が、文字が書かれた画像とテキストデータとの対を入力データとして受け付ける入力データ受付過程と、
表示部が、前記文字が書かれた画像と前記テキストデータとの対を表示する表示過程と、
学習データ指定受付部が、前記表示された文字が書かれた画像とテキストデータについて、各々の一部を切り出して学習データとして保存するようユーザからの指定を受け付ける学習データ指定受付過程と、
を含む文字認識器学習方法。
【請求項10】
コンピュータを、
文字が書かれた画像とテキストデータとの対を入力データとして受け付ける入力データ受付手段と、
前記文字が書かれた画像と前記テキストデータとの対を表示する表示手段と、
前記表示された文字が書かれた画像とテキストデータについて、各々の一部を切り出して学習データとして保存するようユーザからの指定を受け付ける学習データ指定受付手段と、
として機能させるための文字認識器学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文字認識器学習装置、文字認識器学習方法、及び文字認識器学習プログラムに関する。
【背景技術】
【0002】
光学式文字認識とは、カメラやスキャナで取得した2次元の画像データから、その画像に示されている文字を認識し、認識した文字を文字データ(文字コード)として出力する技術である。例えば、光学式文字認識は、手書き文字を認識する手段、あるいはクレジットカード等からカード情報を読み取る手段として、印刷、金融、郵便、運輸などの様々な分野で用いられている。
【0003】
印刷の分野では、チラシ、パンフレット、カタログ、カレンダー、専門書等印刷物の入稿データに対する校正や、論文、契約書、特許書面、古文書、古典籍等のデジタルデータ化を行う際に、テキスト情報を持たない画像である入力データからテキスト情報を抽出するための仕組みとして、光学式文字認識が用いられている。
【0004】
光学式文字認識では、文書画像(文字列を含む画像)に対して何らかの画像処理(例えば、2値化、明度調整など)を施す処理が行われる。画像処理を施した上で、個々の文字列又は文字に対応する領域として、文書画像から所定の条件を充足する領域を個別に切り出し(検出)をする。そして、切り出した各領域の画像に対して、その領域に描画された文字列又は文字を特定する同定処理を行うことにより、文字列又は文字が認識される。同定処理として、例えば、切り出した画像と予め準備したモデル画像との比較を行う処理がある。あるいは、同定処理として、画像とその画像に描画された文字列又は文字との関係を学習済みの機械学習モデルを用いて、切り出した画像に描画された文字列又は文字を予測する処理などがある。
【0005】
一般に、画像と画像に対応する情報との関係を予測する機械学習モデルの学習においては、画像と画像に対応する情報とが対となった学習データが必要となる。学習データには情報の正確性が求められることから、学習データの候補を機械的に選定し、それを元に最終的な学習データを人手で作成するための様々な装置が考案されている。
【0006】
下記特許文献1から特許文献3には、画像認識器の学習装置に関する技術が開示されている。例えば、特許文献1には、多数のクラスを分類するマルチクラス分類器に対して、マルチクラス分類器によって求められるメンバーシップ確率に基づいて、ラベルの無い問い合わせ画像とラベル付きのサンプル画像を選択し、イエス/ノーフィードバックのみを必要とするトレーニング方法を提供する技術が開示されている。
【0007】
また、特許文献2には、ラベル無し学習データの内、クラスタリングした際に、ラベル有り学習データによって学習した識別器を用いた識別スコアを踏まえて低信頼度クラスタと判定されたクラスタから、学習データの候補を選択する技術が開示されている。
【0008】
また、特許文献3には、シーン画像内に写る物体の意味クラスに対する物体検出器の不確信度と、物体の場所に対する物体検出器の不確信度との組み合わせを含む検出指標に基づいて、物体検出器が検出したデータの中から学習データとするべきものを絞る技術が開示されている。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特許第5506722号公報
【特許文献2】特許第6364037号公報
【特許文献3】特許第6837597号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
光学文字認識器の学習に向けて学習データを作成する際、実際に認識対象となる文書データのサンプルから機械的に切り出された文字が書かれた画像とテキストデータとを対とするデータを全て学習データとして利用すると、学習データ量が肥大化しやすくなってしまう。また、学習データに取り扱いが容易でない情報(例えば、秘密情報や個人情報など)が含まれる場合には学習データとしての利用が困難となる。このため、学習データとして利用するデータを絞りつつ、取り扱いが容易でない情報を含むデータを学習データから取り除く必要があった。
しかしながら、上記特許文献1から特許文献3に開示された技術では、学習データの作成作業を単純化して学習データの候補を絞ることはできるが、取り扱いが容易でない情報を十分に取り除くことまではできなかった。
【0011】
上述の課題を鑑み、本発明の目的は、光学文字認識器の学習のために取り扱いが容易な学習データを作成することが可能な文字認識器学習装置、文字認識器学習方法、及び文字認識器学習プログラムを提供することにある。
【課題を解決するための手段】
【0012】
上述の課題を解決するために、本発明の一態様に係る文字認識器学習装置は、文字が書かれた画像とテキストデータとの対を入力データとして受け付ける入力データ受付部と、前記文字が書かれた画像と前記テキストデータとの対を表示する表示部と、前記表示された文字が書かれた画像とテキストデータについて、各々の一部を切り出して学習データとして保存するようユーザからの指定を受け付ける学習データ指定受付部と、を備える。
【0013】
本発明の一態様に係る文字認識器学習方法は、入力データ受付部が、文字が書かれた画像とテキストデータとの対を入力データとして受け付ける入力データ受付過程と、表示部が、前記文字が書かれた画像と前記テキストデータとの対を表示する表示過程と、学習データ指定受付部が、前記表示された文字が書かれた画像とテキストデータについて、各々の一部を切り出して学習データとして保存するようユーザからの指定を受け付ける学習データ指定受付過程と、を含む。
【0014】
本発明の一態様に係る文字認識器学習プログラムは、コンピュータを、文字が書かれた画像とテキストデータとの対を入力データとして受け付ける入力データ受付手段と、前記文字が書かれた画像と前記テキストデータとの対を表示する表示手段と、前記表示された文字が書かれた画像とテキストデータについて、各々の一部を切り出して学習データとして保存するようユーザからの指定を受け付ける学習データ指定受付手段と、として機能させる。
【発明の効果】
【0015】
本発明によれば、光学文字認識器の学習のために取り扱いが容易な学習データを作成することができる。
【図面の簡単な説明】
【0016】
【
図1】本実施形態に係る文字認識器学習装置の構成例を示すブロック図である。
【
図2】本実施形態に係る表示部による表示の一例を示す図である。
【
図3】本実施形態に係る文字認識器学習装置における処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0017】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
【0018】
<1.文字認識器学習装置の構成>
図1及び
図2を参照して、本実施形態に係る文字認識器学習装置の構成について説明する。
図1は、本実施形態に係る文字認識器学習装置1000の構成例を示すブロック図である。
図1に示す文字認識器学習装置1000は、光学文字認識器の学習のために取り扱いが容易な学習データを作成し、作成した学習データで光学文字認識器の学習を行う装置である。文字認識器学習装置1000は、例えば、PC(Personal Computer)やサーバ(又はサーバ群)などによって実現される。
【0019】
図1に示すように、文字認識器学習装置1000は、入力データ受付部10と、入力データ記憶部20と、表示部30と、学習データ指定受付部40と、学習データ記憶部50と、学習部60と、学習モデル記憶部70とを備える。
【0020】
(1)入力データ受付部10
入力データ受付部10は、文字が書かれた画像とテキストデータとの対を入力データとして受け付ける機能を有する。文字が書かれた画像は、例えば、書籍、チラシ、ポスター、カレンダー、パンフレット、カタログ、取扱説明書、契約書、ノート、帳票などの印刷物や、文字列が記されたホワイトボード、あるいは、文字列が示された町中の看板や標識、電光掲示板等をカメラやスマートフォンの撮像機能などを用いて撮像した電子データである。あるいは、それらをスキャナなどにより読み込ませることにより取得した電子データである。文字が書かれた画像は、少なくとも文字列を含む画像を電子化した情報であればよく、特に限定されない。
入力データ受付部10は、入力データとして受け付けた文字が書かれた画像とテキストデータとの対を、入力画像データ210、入力テキストデータ220として入力データ記憶部20に記憶させる。
【0021】
入力データ受付部10は、テキストデータに含まれる文字毎の画像中の位置情報、又はテキストデータの修正情報又はテキストデータに含まれる文字毎の画像中の位置情報の修正情報も含む入力データを受け付けてもよい。この場合、入力データ受付部10は、テキストデータに含まれる文字毎の画像中の位置情報を文字位置情報データ230として、テキストデータの修正情報又はテキストデータに含まれる文字毎の画像中の位置情報の修正情報を修正情報データ240として、入力データ記憶部20に記憶させる。
【0022】
(2)入力データ記憶部20
入力データ記憶部20は、入力データ受付部10によって受け付けた入力データを記憶する機能を有する。例えば、入力データ記憶部20は、入力画像データ210と、入力テキストデータ220と、文字位置情報データ230と、修正情報データ240とを記憶する。
【0023】
入力画像データ210は、入力データ受付部10により取得された文字が書かれた画像そのものである。入力画像データ210には、画像データのメタデータが含まれていてもよい。画像データのメタデータは、画像データに関する情報であって、例えば、入力データ受付部10により画像データが取得された日時、後述する学習データ指定受付部40によって指定された学習データの情報などである。
【0024】
このような画像データのメタデータを、後述する表示部30や学習データ指定受付部40における、当該入力画像データ210に対する学習データ指定の進捗状況管理、学習データ指定ステップの中断ならびに再開などに活用することが可能である。
【0025】
入力テキストデータ220は、入力データ受付部10により取得されたテキストデータそのものであり、入力画像データ210に書かれた文字に対応した文字コードの配列データなどとして定義される。
【0026】
文字位置情報データ230は、入力データ受付部10により取得されたテキストデータに含まれる文字毎の画像中の位置情報そのものである。画像中の位置情報は、例えば画像の上隅を始点とした、文字矩形の上隅の横方向座標x、文字矩形の上隅の縦方向座標y、矩形幅w、矩形高さhの4つで表すことができ、(x,y,w,h)などと表記できる。文字位置情報データ230は、このような画像中の位置情報を文字毎に格納した配列データなどとして定義される。
【0027】
修正情報データ240は、入力データ受付部10により取得されたテキストデータの修正情報又はテキストデータに含まれる文字毎の画像中の位置情報の修正情報そのものである。2つの修正情報は、文字認識器学習装置1000の入力となる文字が書かれた画像とテキストデータとの対を作成する際に行われた修正に関する情報である。例えば、2つの修正情報は、人間によって入力された情報や文字認識器によって認識された情報が誤っており、後から別の人間が確認して修正した場合に記憶される、修正前のテキストデータ又はテキストデータに含まれる文字毎の画像中の位置情報を示す情報である。後から別の人間によって修正される情報は、例えば、文字が書かれた画像を人間が見て、文字が書かれた位置や文字に対応するテキストデータを当該人間が入力した際に誤って入力された内容、あるいは、文字が書かれた画像から文字が書かれた位置や文字に対応するテキストデータを何らかの文字認識器が認識した際に誤って認識された内容などである。
【0028】
(3)表示部30
表示部30は、各種情報を表示する機能を有する。例えば、表示部30は、入力データ記憶部20によって記憶されたデータならびに後述する学習データ指定受付部40による学習データの指定状況などを表示する。具体的に、表示部30は、文字が書かれた画像とテキストデータとの対、学習データとして指定された画像部分と対応するテキストデータ部分を示す情報、修正情報、通知などを表示する。
図1に示すように、表示部30は、入力画像データ表示部310と、入力テキストデータ表示部320と、修正情報表示部330と、通知部340とを備える。
【0029】
(3-1)入力画像データ表示部310
入力画像データ表示部310は、入力データ記憶部20から入力画像データ210を読み出して表示する。
【0030】
(3-2)入力テキストデータ表示部320
入力テキストデータ表示部320は、入力データ記憶部20から入力テキストデータ220を読み出して表示する。このとき、入力テキストデータ表示部320は、例えば、表示部30を含む装置のOS(Operating System)又はユーザから指定されたフォント情報に基づいて、入力テキストデータ220を文字画像として描画して表示してもよい。
【0031】
なお、入力画像データ表示部310及び入力テキストデータ表示部320は、例えば、入力画像データ210と入力テキストデータ220とを並べて表示してもよい。また、入力画像データ表示部310及び入力テキストデータ表示部320は、入力データ記憶部20から読み出した文字位置情報データ230に基づき、入力画像データ210と入力テキストデータ220とを表示してもよい。例えば、入力画像データ表示部310及び入力テキストデータ表示部320は、文字位置情報データ230に基づき、入力画像データ210の上で、入力画像データ210に書かれた文字に対応する位置に入力テキストデータ220に含まれる各文字を重畳表示してもよい。
【0032】
(3-3)修正情報表示部330
修正情報表示部330は、文字が書かれた画像とテキストデータとの対に加え、修正情報を表示する機能を有する。当該機能により、ユーザは、表示された修正情報を確認することで、文字認識器が誤って認識しやすい文字を把握することができ、当該文字を含む学習データを作成するよう指定することができる。このため、ユーザは、文字認識器の認識精度向上により有効な学習データを作成することができる。
【0033】
具体的に、修正情報表示部330は、入力データ記憶部20から修正情報データ240を読み出して表示する。このとき、修正情報表示部330は、例えば、入力テキストデータ表示部320によって表示された入力テキストデータ220と並べて修正情報データ240を表示してもよい。また、修正情報表示部330は、例えば、入力テキストデータ220又は文字位置情報データ230と、修正情報データ240とで相異なる箇所のみについて、対応する箇所を矢印記号などで繋いで表示してもよい。
【0034】
(3-4)通知部340
通知部340は、後述する学習データ判定部430が学習データとして適切でないと判定した文字が書かれた画像とテキストデータについて、ユーザに通知を行う機能を有する。当該機能により、ユーザは、表示部30に表示された通知を確認することで、自身が指定した情報が学習データとして適切でない情報であること、即ち、取り扱いが容易でない情報であることを把握することができる。これにより、ユーザは、取り扱いが容易でない情報以外の情報、即ち、取り扱いが容易である情報から学習データを指定することができる。
【0035】
通知部340は、学習データ判定部430によって学習データとして適切でないと判定された文字が書かれた画像とテキストデータを表示する。このとき、通知部340は、例えば、後述する画像データ指定受付部410が指定を受け付けた画像の一部や、後述する対応テキストデータ切出部420が切り出したテキストデータの一部に対応する位置に、マークアップ表示や通知メッセージ表示を行ってもよい。通知部340は、マークアップ表示として、例えば該当箇所を枠囲みした表示を行ってもよい。また、通知部340は、通知メッセージ表示として、例えば「禁止テキストが含まれています」など、学習データとして適切でない旨やその理由を記した吹き出しの表示を行ってもよい。
【0036】
ここで、
図2を参照して、表示部30による表示の一例について説明する。
図2は、本実施形態に係る表示部30よる表示の一例を示す図である。
【0037】
図2に示す画像2000は、表示部30による表示の全体に相当し、入力画像データ210(文字が書かれた画像)の全体を含む画像である。画像2000には、文字が書かれた画像の一例として、原稿用紙2001の画像が示されている。
画像2002は、表示部30に表示された画像2000の一部を拡大表示した拡大表示部である。画像2002には、文字が書かれた画像を示す画像2003と当該文字が書かれた画像と対となるテキストデータを示す画像2004が表示されている。画像2003は、入力画像データ表示部310による入力画像データ210の表示であり、拡大表示に応じて該当する一部だけが表示される。画像2004は、入力テキストデータ表示部320による入力テキストデータ220の表示であり、拡大表示に応じて、該当する一部だけが表示される。一例として、画像2003と画像2004は、画像2000全体のうち、「本日は、お日柄もよく、山田太郎様のご親族」の部分の画像データとテキストデータをそれぞれ示している。
なお、画像2002に表示する画像2003と画像2004は、例えば、ユーザが学習データの切り出し指定をしようとしている箇所をユーザが切り出しやすいように指定して決定される。また、画像2002に表示する画像2003と画像2004は、予め設定された単位で表示部30の制御によって順番に表示されてもよい。
画像2005は、修正情報表示部330による修正情報データ240の表示であり、拡大表示に応じて、該当する一部だけが表示される。一例として、画像2005には、「山田太郎様」のうち「太」が誤って「大」と認識されたため、「太」に修正されたことが示されている。
画像2006は、後述する画像データ指定受付部410そのものである。一例として、画像2006は、画像2003が示す「本日は、お日柄もよく、山田太郎様のご親族」の画像データのうち、「山田太郎様」の部分の画像データが指定されたことを示している。
画像2007は、対応テキストデータ切出部420により切り出されたテキストの表示である。一例として、画像2007は、画像2004が示す「本日は、お日柄もよく、山田太郎様のご親族」のテキストデータのうち、「山田太郎様」の部分のテキストデータが切り出されたことを示している。
画像2008は、通知部340による学習データ判定部430の判定結果の通知そのものである。一例として、画像2008は、画像2007に示す「山田太郎様」に禁止テキストが含まれていることを示している。
【0038】
(4)学習データ指定受付部40
学習データ指定受付部40は、表示された文字が書かれた画像とテキストデータについて、各々の一部を切り出して学習データとして保存するようユーザからの指定(以下、「切り出し指定」とも称される)を受け付ける機能を有する。例えば、学習データ指定受付部40は、表示部30による表示を受けたユーザから、文字認識器の学習に用いる学習データの切り出し指定を受け付ける。
図1に示すように、学習データ指定受付部40は、画像データ指定受付部410と、対応テキストデータ切出部420と、学習データ判定部430とを備える。
【0039】
(4-1)画像データ指定受付部410
画像データ指定受付部410は、ユーザから、入力画像データ210の中で、文字認識器の学習に用いる部分画像データの指定(切り出し指定)を受け付ける機能を有する。当該部分画像データは、入力画像データ210の一部を切り出した画像(以下、「部分画像」とも称される)そのものに加え、入力画像データ210の中での切出位置情報を含む。当該切出位置情報は、例えば、入力画像データの上隅を始点とした、文字矩形の上隅の横方向座標x、文字矩形の上隅の縦方向座標y、矩形幅w、矩形高さhの4つで表すことができ、(x,y,w,h)などと表記できる。
【0040】
(4-2)対応テキストデータ切出部420
対応テキストデータ切出部420は、テキストデータを切り出す機能を有する。例えば、対応テキストデータ切出部420は、表示部30によって表示された文字が書かれた画像の一部の切り出しをユーザから受け付けた後に、テキストデータに含まれる文字毎の画像中における位置情報を用いて、表示部30によって表示されたテキストデータの一部を切り出す。これにより、対応テキストデータ切出部420は、ユーザによって指定された部分画像に対応するテキストデータを切り出し、部分画像と切り出したテキストデータと対とするデータを得ることができる。
なお、対応テキストデータ切出部420によって切り出されたテキストデータは、以下、「部分テキストデータ」とも称される。
【0041】
具体的に、対応テキストデータ切出部420は、画像データ指定受付部410が切り出し指定を受け付けた部分画像データに含まれる切出位置情報と、入力データ記憶部20から呼び出した文字位置情報データ230とに基づき、部分画像に対応するテキストデータを切り出す。このとき、対応テキストデータ切出部420は、例えば、矩形の上隅の横方向座標x_r、縦方向座標y_r、矩形幅w_r、矩形高さh_rとして定義された切出位置情報に対して、完全に内包されるような文字位置情報データ230を検索する。検索後、対応テキストデータ切出部420は、検索によって得られた文字位置情報データに対応する入力テキストデータ220を入力データ記憶部20から呼び出す。そして、対応テキストデータ切出部420は、呼び出した入力テキストデータ220内の各文字コードを、入力テキストデータ220内に格納された順に並べたものとして切り出してもよい。
【0042】
(4-3)学習データ判定部430
学習データ判定部430は、ユーザから切り出し指定を受け付けた文字が書かれた画像(即ち部分画像)とテキストデータ(即ち部分テキストデータ)について、学習データとして適切か否かを判定する機能を有する。学習データ判定部430は、予め用意される禁止テキストデータベース431を有する。禁止テキストデータベース431には、学習データとして適切でないテキスト(以下、「禁止テキスト」とも称される)を示す情報が格納されている。禁止テキストは、例えば、人名、企業名、住所、電話番号などといった秘密情報、個人情報に関するテキストなどである。学習データ判定部430は、当該禁止テキストデータベース431に基づき、部分画像と部分テキストデータとの対が学習データとして適切か否かを判定する。
【0043】
具体的に、学習データ判定部430は、対応テキストデータ切出部420によって切り出された部分テキストデータと禁止テキストとの比較により、学習データとして適切か否かを判定する。このとき、学習データ判定部430は、禁止テキストデータベース431から禁止テキスト群を呼び出し、その各々が部分テキストデータに含まれるか否かを確認する。部分テキストデータに1つでも禁止テキストが含まれる場合、学習データ判定部430は、部分テキストデータと部分画像との対が学習データとして適切でないと判定する。一方、部分テキストデータに1つも禁止テキストが含まれない場合、学習データ判定部430は、部分テキストデータと部分画像との対が学習データとして適切であると判定する。
【0044】
なお、学習データ判定部430は、禁止テキストデータベース431を用いずに、部分画像と部分テキストデータとの対が学習データとして適切であるか否かを判定可能であってもよい。例えば、学習データ判定部430は、部分テキストデータから固有表現が抽出されたか否かに応じて、学習データとしての適性を判定してもよい。固有表現は、例えば、人名、企業名、住所、電話番号などといった秘密情報や個人情報などに関する表現である。この場合、学習データ判定部430は、部分テキストデータから固有表現が抽出されなかった場合、部分画像と部分テキストデータとの対が学習データとして適切であると判定する。一方、学習データ判定部430は、部分テキストデータから固有表現が抽出された場合、部分画像と部分テキストデータとの対が学習データとして適切でないと判定してもよい。
これにより、ユーザは、予め禁止テキストを決定し、禁止テキストデータベース431を用意する必要がなくなる。このため、学習データの作成におけるユーザの手間を軽減することができる。
【0045】
ここで、再び
図2を参照して、学習データ指定受付部40が表示部30による表示を受けたユーザから、文字認識器の学習に用いる学習データの切り出し指定を受け付ける具体例について説明する。
【0046】
まず、学習データ指定受付部40は、ユーザから部分画像データの指定を受けるにあたり、例えば、表示部30に表示された画像2000(入力画像データ210)上にユーザが操作可能なマウスカーソルを表示させる。
次いで、画像データ指定受付部410は、マウスカーソルを操作しているユーザから最初にクリック入力を受け付けたときのマウスカーソルの位置を部分画像データの左上端点、2回目にクリック入力を受け付けたときのマウスカーソルの位置を部分画像データの右下端点の位置として指定を受け付ける。このとき、画像データ指定受付部410は、指定を受け付けた左上端点と右下端点とを、矩形の各辺が入力画像データ210の縦横方向と平行となるように直線でつなぐ。そして、画像データ指定受付部410は、両端点を当該直線でつないだ際の矩形における上隅の横方向座標x、縦方向座標y、矩形幅w、矩形高さhを切出位置情報として、部分画像データの指定を受け付ける。
対応テキストデータ切出部420は、ここで受け付けた部分画像データの指定をもとに、入力テキストデータ220からの切り出しを行う。また、対応テキストデータ切出部420による切り出しを受けて、学習データ判定部430は、学習データとして適切か否かの判定を行う。
このようにして、表示部30による表示を受けたユーザから文字認識器の学習に用いる学習データの切り出し指定を受け付ける。
【0047】
(5)学習データ記憶部50
学習データ記憶部50は、学習データ510を記憶する機能を有する。例えば、学習データ記憶部50は、学習データ指定受付部40によって切り出し指定が受け付けられ、学習データ判定部430によって学習データとして適切と判定されたデータを、学習データ510として記憶する。学習データ510は、例えば、画像データ指定受付部410によって入力画像データ210から切り出された部分画像を含む部分画像データと、対応テキストデータ切出部420によって切り出されたテキストデータとの対であってもよい。
【0048】
(6)学習部60
学習部60は、指定された学習データを用いて文字認識器を学習させる機能を有する。例えば、学習部60は、学習データ記憶部50から呼び出した学習データ510を用いて、文字認識器710を学習させ、学習モデル記憶部70に記憶させる。
図1に示すように、学習部60は、1文字事前学習部610と、認識器学習部620とを備える。
【0049】
(6-1)1文字事前学習部610
1文字事前学習部610は、主に、1文字毎の文字の画像的特徴を学習する機能を有する。例えば、1文字事前学習部610は、学習データ指定受付部40がユーザから指定を受け付けて学習データ記憶部50に保存した学習データ510のうち、文字が1文字のみ書かれた画像とテキストデータとの対を用いて、文字認識器710に含まれる特徴抽出器711を事前学習させる。特徴抽出器711は、文字画像から特徴量を抽出することができる。
【0050】
(6-2)認識器学習部620
認識器学習部620は、主に、文字間の空白領域や文字の並びを学習する機能を有する。例えば、認識器学習部620は、学習データ記憶部50に保存された学習データ510を用いて、文字認識器710を学習させる。
【0051】
このように、文字認識器710の学習において、学習の内容に応じて学習部を使い分けることで、学習データ510を効果的に扱うことができるようになる。
なお、学習部60による学習に当たっては、例えば、学習データ510以外に予め用意された学習データを併用してもよいし、予め学習データ510以外の学習データで事前学習された文字認識器710に対して追加学習させてもよい。
【0052】
(7)学習モデル記憶部70
学習モデル記憶部70は、学習部60によって学習された文字認識器710を記憶する機能を有する。文字認識器710は、特徴抽出器711を含む。文字認識器710には、例えばCNN(Convolutional Neural Network)とRNN(Recurrent Neural Network)とを含むニューラルネットワークを用いてもよい。また、特徴抽出器711には、例えばCNNを含むニューラルネットワークを用いてもよい。
【0053】
なお、文字認識器学習装置1000が備える上述した機能部は、複数の情報処理装置(例えばPCやサーバなど)に分散されていてもよい。例えば、文字認識器学習装置1000のうち、入力データ記憶部20、学習データ記憶部50、又は学習モデル記憶部70は、所定のデータベースサーバに記憶されていてもよい。この場合、文字認識器学習装置1000と当該データベースサーバとは、汎用又は専用の通信ネットワークを介して、互いに通信可能に接続される。
【0054】
同様に、文字認識器学習装置1000とは異なるコンピューティングサーバに学習部60を備えさせてもよい。この場合、文字認識器学習装置1000と当該コンピューティングサーバとは、汎用又は専用の通信ネットワークを介して、互いに通信可能に接続される。
【0055】
また、表示部30、学習データ指定受付部40、及び学習部60は、文字認識器学習装置1000がハードウェアとして備えるCPU(Central Processing Unit)、GPU(Graphics Processing Unit)等のProcessing Unit(プロセッシングユニット)がメモリ領域に記憶されたプログラムを実行することにより実現される。
【0056】
また、入力データ記憶部20、学習データ記憶部50、又は学習モデル記憶部70は、記憶媒体、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、RAM(Random Access read/write Memory)、ROM(Read Only Memory)、またはこれらの記憶媒体の任意の組み合わせによって構成される。
【0057】
<2.処理の流れ>
以上、本実施形態に係る文字認識器学習装置1000の構成について説明した。続いて、
図3を参照して、本実施形態に係る処理の流れについて説明する。
図3は、本実施形態に係る文字認識器学習装置1000における処理の流れの一例を示すフローチャートである。
【0058】
図3に示すように、まず、入力データ受付部10は、入力データを受け付ける(ステップS101)。具体的に、入力データ受付部10は、文字が書かれた画像とテキストデータとの対を入力データとして受け付ける。このとき、入力データ受付部10は、テキストデータに含まれる文字毎の画像中の位置情報、又はテキストデータの修正情報、又はテキストデータに含まれる文字毎の画像中の位置情報の修正情報を含む入力データを受け付けてもよい。
【0059】
次いで、入力データ記憶部20は、入力データ受付部10によって受け付けられた入力データを記憶する(ステップS102)。具体的に、入力データ記憶部20は、入力データ受付部10が受け付けた入力データに含まれる文字が書かれた画像とテキストデータとの対を、それぞれ入力画像データ210、入力テキストデータ220として記憶する。また、入力データ記憶部20は、入力データ受付部10が受け付けた入力データのテキストデータに含まれる、文字毎の画像中の位置情報を文字位置情報データ230として記憶する。また、入力データ記憶部20は、テキストデータの修正情報又はテキストデータに含まれる文字毎の画像中の位置情報の修正情報を修正情報データ240として記憶する。
【0060】
次いで、表示部30は、入力データに基づき各種の表示を行う。具体的に、まず、表示部30の入力画像データ表示部310は、入力データ記憶部20から入力画像データ210を読み出して表示する(ステップS103)。
次いで、表示部30の入力テキストデータ表示部320は、入力データ記憶部20から入力テキストデータ220を読み出して表示する(ステップS104)。
そして、表示部30の修正情報表示部330は、入力データ記憶部20から修正情報データ240を読み出して表示する(ステップS105)。
【0061】
次いで、学習データ指定受付部40は、学習データの指定を受け付ける。(ステップS106)。具体的に、学習データ指定受付部40は、表示部30によって表示された入力画像データ210と入力テキストデータ220について、文字認識器の学習に用いる学習データの切り出し指定をユーザから受け付ける。
切り出し指定を受け付けると、学習データ指定受付部40の画像データ指定受付部410は、切り出し指定に基づき、入力画像データ210から切り出す部分画像と、その切出位置情報を含む部分画像データを指定する(ステップS107)。
さらに、学習データ指定受付部40の対応テキストデータ切出部420は、画像データ指定受付部410が指定した部分画像データに含まれる切出位置情報と、入力データ記憶部20から呼び出した文字位置情報データ230とに基づき、部分画像に対応するテキストデータを切り出す(ステップS108)。
【0062】
次いで、学習データ指定受付部40の学習データ判定部430は、学習データを判定する(ステップS109)。具体的に、学習データ判定部430は、画像データ指定受付部410によって指定された部分画像と、対応テキストデータ切出部420によって切り出された部分テキストデータとの対が、学習データとして適切であるか否かを判定する。このとき、学習データ判定部430は、禁止テキストデータベース431から禁止テキスト群を呼び出し、当該禁止テキスト群の禁止テキストが部分テキストデータに含まれるか否かを確認する。
確認の結果、部分テキストデータに1つも禁止テキストが含まれない場合、学習データ判定部430は、部分画像と部分テキストデータとの対が学習データとして適切であると判定する。一方、部分テキストデータに1つでも禁止テキストが含まれる場合、学習データ判定部430は、部分画像と部分テキストデータとの対が学習データとして適切でないと判定する。
【0063】
学習データ判定部430によって部分画像と部分テキストデータとの対が学習データとして適切であると判定された場合(ステップS110/YES)、処理をステップS111へ進める。一方、学習データ判定部430によって部分画像と部分テキストデータとの対が学習データとして適切でないと判定された場合(ステップS110/NO)、処理をステップS112へ進める。
【0064】
処理がステップS111へ進んだ場合、学習データ判定部430は、学習データとして適切であると判定した部分画像と部分テキストデータとの対を学習データとして追加する(ステップS111)。具体的に、学習データ判定部430は、学習データとして適切であると判定した部分画像と部分テキストデータとの対を、学習データ510として学習データ記憶部50に記憶させる。その後、処理をステップS113へ進める。
【0065】
処理がステップS112へ進んだ場合、表示部30の通知部340は、ユーザによって指定された学習データが、学習データとして適切でない(即ち不適切)である旨を示す通知を表示する(ステップS112)。その後、処理をステップS113へ進める。
【0066】
処理がステップS113へ進んだ場合、ユーザが全ての学習データについて指定を終えたか否かを確認する(ステップS113)。終えた場合(ステップS113/YES)、処理をステップS114へ進める。一方、終えていない場合(ステップS113/NO)、処理をステップS106から繰り返す。
【0067】
処理がステップS114へ進んだ場合、学習部60は、学習データ記憶部50から呼び出した学習データ510を用いて文字認識器710の学習を行い、学習後の文字認識器710を学習モデル記憶部70に記憶させる。
具体的に、まず、学習部60の1文字事前学習部610は、学習データ記憶部50に保存された学習データ510のうち、文字が1文字のみ書かれた画像とテキストデータとの対を用いて、文字認識器710に含まれる特徴抽出器711を事前学習させる(ステップS114)。
次いで、学習部60の認識器学習部620は、学習データ記憶部50に保存された全ての学習データ510を用いて、文字認識器710を学習させる(ステップS115)。
学習終了後、処理を終了する。
【0068】
以上説明したように、本実施形態に係る文字認識器学習装置1000は、文字が書かれた画像とテキストデータとの対を入力データとして受け付ける入力データ受付部10と、文字が書かれた画像と前記テキストデータとの対を表示する表示部30と、表示された文字が書かれた画像とテキストデータについて、各々の一部を切り出して学習データとして保存するようユーザからの指定を受け付ける学習データ指定受付部40と、を備える。
【0069】
かかる構成により、ユーザは、表示部30に表示された画像とテキストデータについて取り扱いが容易である情報を示す部分を指定し、取り扱いが容易でない情報を示す部分を指定しないことで、取り扱いが容易である情報に絞って学習データを作成することができる。
よって、本実施形態に係る文字認識器学習装置1000は、光学文字認識器の学習のために取り扱いが容易な学習データを作成することを可能とする。
【0070】
以上、本発明の実施形態について説明した。なお、上述した実施形態における文字認識器学習装置1000の一部又は全部の機能をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【0071】
なお、上述した実施形態で説明した機能は、ハードウェアを用いて構成するにとどまらず、ソフトウェアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウェア、ハードウェアのいずれかを選択して構成するものであっても良い。
【0072】
以上、図面を参照してこの発明の実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【符号の説明】
【0073】
1000…文字認識器学習装置、10…入力データ受付部、20…入力データ記憶部、210…入力画像データ、220…入力テキストデータ、230…文字位置情報データ、240…修正情報データ、30…表示部、310…入力画像データ表示部、320…入力テキストデータ表示部、330…修正情報表示部、340…通知部、40…学習データ指定受付部、410…画像データ指定受付部、420…対応テキストデータ切出部、430…学習データ判定部、431…禁止テキストデータベース、50…学習データ記憶部、510…学習データ、60…学習部、610…1文字事前学習部、620…認識器学習部、70…学習モデル記憶部、710…文字認識器、711…特徴抽出器