(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-01
(45)【発行日】2024-07-09
(54)【発明の名称】くずし字認識システム、くずし字認識方法、データセットの作成方法、及びプログラム
(51)【国際特許分類】
G06V 30/196 20220101AFI20240702BHJP
G06V 30/194 20220101ALI20240702BHJP
G06V 30/24 20220101ALI20240702BHJP
【FI】
G06V30/196 E
G06V30/194
G06V30/24 620D
(21)【出願番号】P 2020050631
(22)【出願日】2020-03-23
【審査請求日】2023-02-22
(73)【特許権者】
【識別番号】000003193
【氏名又は名称】TOPPANホールディングス株式会社
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100139686
【氏名又は名称】鈴木 史朗
(74)【代理人】
【識別番号】100169764
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100147267
【氏名又は名称】大槻 真紀子
(72)【発明者】
【氏名】大澤 留次郎
(72)【発明者】
【氏名】岡 敏生
【審査官】秦野 孝一郎
(56)【参考文献】
【文献】特開2018-116286(JP,A)
【文献】赤間 亮,岡 敏生,AI技術を応用したくずし字翻刻学習・指導システム,画像ラボ,日本,日本工業出版株式会社,2020年02月,第31巻,p.20-25
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/00-30/424
(57)【特許請求の範囲】
【請求項1】
くずし字の文字画像を取得する文字画像取得部と、
くずし字の画像と、当該画像に示されたくずし字の現代文字とを対応させた字形データテーブルを記憶する字形データベースと、
学習用画像と、前記学習用画像に示されたくずし字の現代文字とを対応づけた学習用データセットを用いて、入力されたくずし字の画像から当該画像に示されたくずし字の現代文字を出力するように学習された機械学習モデルを記憶する機械学習モデル記憶部と、
前記機械学習モデ
ルと前記文字画像とを用い
て前記文字画像に示されたくずし字を現代文字に対応させる文字認識を行
い、前記機械学習モデルを用いて前記文字画像における前記文字認識を行った結果が誤りである場合、前記字形データテーブルを用いて前記文字認識を行い、前記字形データテーブルを用いて前記文字認識を行った結果を前記文字画像における前記文字認識の結果として出力するくずし字認識部と、
所定の条件が満たされる場合に、前記機械学習モデルを再学習させる機械学習モデル生成部と、
を備えることを特徴とするくずし字認識システム。
【請求項2】
前記機械学習モデルを用いて前記文字画像における前記文字認識を行った結果が誤りである場合、前記文字画像と、前記文字画像に示されたくずし字の現代文字とを対応させた情報を前記字形データテーブルに記憶させる登録部、を更に備え、
前記くずし字認識部は、前記字形データテーブルを用いて前記文字認識を行う場合、前記登録部によって前記字形データテーブルに登録された情報を用いて、前記文字認識を行う、
請求項
1に記載のくずし字認識システム。
【請求項3】
くずし字の文字画像を取得する文字画像取得部と、
くずし字の画像と、当該画像に示されたくずし字の現代文字とを対応させた字形データテーブルを記憶する字形データベースと、
学習用画像と、前記学習用画像に示されたくずし字の現代文字とを対応づけた学習用データセットを用いて、入力されたくずし字の画像から当該画像に示されたくずし字の現代文字を出力するように学習された機械学習モデルを記憶する機械学習モデル記憶部と、
前記字形データテーブル、及び前記機械学習モデルのいずれかと、前記文字画像とを用いて、前記文字画像に示されたくずし字を現代文字に対応させる文字認識を行うくずし字認識部と、
前記機械学習モデルを用いて前記文字画像における前記文字認識を行った結果が誤りである場合、前記文字画像と前記文字画像に示されたくずし字の現代文字とを対応させた情報を前記字形データテーブルに記憶させる登録部と、
所定の条件が満たされる場合に、
前記登録部によって前記字形データテーブルに登録された情報を含む前記学習用データセットを用いて前記機械学習モデルを再学習させる機械学習モデル生成部と、
を備えるくずし字認識システム。
【請求項4】
くずし字の文字画像を取得する文字画像取得部と、
くずし字の画像と、当該画像に示されたくずし字の現代文字とを対応させた字形データテーブルを記憶する字形データベースと、
くずし字を含む文書の一部または全部である対象文章に対応する現代語の文章と、前記対象文章を、OCR(Optical Character Recognition)を利用して文字認識させた認識結果とに基づいて、前記文字画像に示されたくずし字を囲む矩形を示す矩形情報を取得する矩形情報取得部と、
学習用画像と
前記矩形情報に、前記学習用画像に示されたくずし字の現代文字とを対応づけた学習用データセットを用いて、入力されたくずし字の画像から当該画像に示されたくずし字の現代文字を出力するように学習された機械学習モデルを記憶する機械学習モデル記憶部と、
前記字形データテーブル、及び前記機械学習モデルのいずれかと、前記文字画像とを用いて、前記文字画像に示されたくずし字を現代文字に対応させる文字認識を行うくずし字認識部と、
所定の条件が満たされる場合に、前記機械学習モデルを再学習させる機械学習モデル生成部と、
を備えるくずし字認識システム。
【請求項5】
くずし字の画像と、当該画像に示されたくずし字の現代文字とを対応させた字形データテーブルを記憶する字形データベースと、学習用画像と前記学習用画像に示されたくずし字の現代文字とを対応づけた学習用データセットを用いて、入力されたくずし字の画像から当該画像に示されたくずし字の現代文字を出力するように学習された機械学習モデルを記憶する機械学習モデル記憶部と、を備えるコンピュータによるくずし字認識方法であって、
文字画像取得部が、くずし字の文字画像を取得し、
くずし字認識部が
、前記機械学習モデ
ルと前記文字画像とを用い
て前記文字画像に示されたくずし字を現代文字に対応させる文字認識を行
い、前記機械学習モデルを用いて前記文字画像における前記文字認識を行った結果が誤りである場合、前記字形データテーブルを用いて前記文字認識を行い、前記字形データテーブルを用いて前記文字認識を行った結果を前記文字画像における前記文字認識の結果として出力し、
機械学習モデル生成部が、所定の条件が満たされる場合に、前記機械学習モデルを再学習させる、
ことを特徴とするくずし字認識方法。
【請求項6】
くずし字の画像と、当該画像に示されたくずし字の現代文字とを対応させた字形データテーブルを記憶する字形データベースと、学習用画像と、前記学習用画像に示されたくずし字の現代文字とを対応づけた学習用データセットを用いて、入力されたくずし字の画像から当該画像に示されたくずし字の現代文字を出力するように学習された機械学習モデルを記憶する機械学習モデル記憶部と、を備えるコンピュータを、
くずし字の文字画像を取得させる文字画像取得手段、
前記機械学習モデ
ルと前記文字画像とを用い
て前記文字画像に示されたくずし字を現代文字に対応させる文字認識を行
い、前記機械学習モデルを用いて前記文字画像における前記文字認識を行った結果が誤りである場合、前記字形データテーブルを用いて前記文字認識を行い、前記字形データテーブルを用いて前記文字認識を行った結果を前記文字画像における前記文字認識の結果として出力させるくずし字認識手段、
所定の条件が満たされる場合に、前記機械学習モデルを再学習させる機械学習モデル生成手段、
として機能させるためのプログラム。
【請求項7】
くずし字文章を構成する各くずし字の画像と現代文字とを対応させたデータセットを作成するデータセットの作成方法であって、
前記くずし字文章と、前記各くずし字の現代文字で構成される現代文字文章とが対応づけられており、前記各くずし字と前記現代文字文章における各現代文字とが対応づけられていない第1データと、当該第1データと同一のくずし字文章から抽出される前記各くずし字の画像に現代文字が対応づけられている第2データとを比較し、前記第2データを、現代文字との対応関係が前記第1データにおける対応関係と同じ関係にある正解データ、又は現代文字との対応関係が前記第1データにおける対応関係とは異なる関係にある不正解データに仕分ける仕分工程と、
前記仕分工程によって前記不正解データに仕分けられた前記各くずし字の画像に、前記第1データにおける対応関係と同じ関係にある現代文字を対応させた修正データを生成する修正工程と、
前記正解データ、及び前記修正データを統合する統合工程と、
を備えることを特徴とするデータセットの作成方法。
【請求項8】
前記第2データが、機械学習モデルによって文字認識された結果により作成されたデータであり、
前記機械学習モデルは、入力されたくずし字文章から各くずし字の画像と各くずし字の画像に対応する現代文字を出力するように学習されたモデルである、
ることを特徴とする請求項
7記載のデータセットの作成方法。
【請求項9】
前記仕分工程において、編集距離を用いた文字列マッチングにより、前記第1データと前記第2データとが比較される、
ことを特徴とする請求項
7または請求項
8記載のデータセットの作成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、くずし字認識システム、くずし字認識方法、データセットの作成方法、及びプログラムに関する。
【背景技術】
【0002】
過去の日本文化を研究する場合、過去の日本の文書に記された文字の文字が読めることが必要となる場合がある。江戸期以前の日本の文書の多くは、漢字や片仮名などを崩したくずし文字で記載されている。くずし字は、旧字体が用いられたり、草書体などで記載されたりしているため、使用される文字と文字の形状とが現在とは大きく異なっており、専門家以外は読むことが困難である。また、くずし字に対応していない一般的なOCR(Optical Character Recognition、光学文字認識)エンジンを用いて、くずし字を文字認識させることができない。
【0003】
くずし字をOCRエンジンに認識させ、認識結果を楷書体(現代文字)で示したデータにて出力することができれば、専門家以外でもくずし字で記載された歴史的に価値の高い内容を、幅広く活用することができる。このため、くずし字に対応したOCRエンジンの開発が進められている(例えば、非特許文献1参照)。このようなくずし字に対応したOCRエンジンでは、くずし字を認識させる方法として、くずし字データベースを用いた方法が用いられている。くずし字データベースは、くずし字の画像と、当該くずし字の文字認識結果とが対応付けられたデータベースである。文字を認識する対象とするくずし字の画像と一致又は類似する画像をくずし字データベースから検索し、検索した画像に対応づけられた文字を文字認識の結果とする。
【先行技術文献】
【非特許文献】
【0004】
【文献】山本純子、大澤留次郎:”古典籍翻刻の省略化:くずし字を含むOCR技術の開発”、情報管理、58巻(2015)11号、p819-827、2016
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、くずし字データベースを用いた方法にて文字の認識精度を向上させようとした場合、様々なくずし字の画像を大量に登録し、登録した大量の画像の中から該当する画像を検索する必要があり、文字認識に時間がかかってしまう問題があった。
【0006】
本発明は、このような状況に鑑みてなされたもので、くずし字の画像を登録したデータベースのみを用いた方法と比較して、文字認識に時間に要する時間を増加させることなく、くずし字の文字認識を行うことができるくずし字認識システム、くずし字認識方法、データセットの作成方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明のくずし字認識システムは、くずし字の文字画像を取得する文字画像取得部と、くずし字の画像と、当該画像に示されたくずし字の現代文字とを対応させた字形データテーブルを記憶する字形データベースと、学習用画像と、前記学習用画像に示されたくずし字の現代文字とを対応づけた学習用データセットを用いて、入力されたくずし字の画像から当該画像に示されたくずし字の現代文字を出力するように学習された機械学習モデルを記憶する機械学習モデル記憶部と、前記機械学習モデルと前記文字画像とを用いて前記文字画像に示されたくずし字を現代文字に対応させる文字認識を行い、前記機械学習モデルを用いて前記文字画像における前記文字認識を行った結果が誤りである場合、前記字形データテーブルを用いて前記文字認識を行い、前記字形データテーブルを用いて前記文字認識を行った結果を前記文字画像における前記文字認識の結果として出力するくずし字認識部と、所定の条件が満たされる場合に、前記機械学習モデルを再学習させる機械学習モデル生成部と、を備えることを特徴とする。
【0009】
本発明のくずし字認識システムは、前記機械学習モデルを用いて前記文字画像における前記文字認識を行った結果が誤りである場合、前記文字画像と、前記文字画像に示されたくずし字の現代文字とを対応させた情報を前記字形データテーブルに記憶させる登録部、を更に備え、前記くずし字認識部は、前記字形データテーブルを用いて前記文字認識を行う場合、前記登録部によって前記字形データテーブルに登録された情報を用いて、前記文字認識を行うことを特徴とする。
【0010】
本発明のくずし字認識システムは、くずし字の文字画像を取得する文字画像取得部と、くずし字の画像と、当該画像に示されたくずし字の現代文字とを対応させた字形データテーブルを記憶する字形データベースと、学習用画像と、前記学習用画像に示されたくずし字の現代文字とを対応づけた学習用データセットを用いて、入力されたくずし字の画像から当該画像に示されたくずし字の現代文字を出力するように学習された機械学習モデルを記憶する機械学習モデル記憶部と、前記字形データテーブル、及び前記機械学習モデルのいずれかと、前記文字画像とを用いて、前記文字画像に示されたくずし字を現代文字に対応させる文字認識を行うくずし字認識部と、前記機械学習モデルを用いて前記文字画像における前記文字認識を行った結果が誤りである場合、前記文字画像と、前記文字画像に示されたくずし字の現代文字とを対応させた情報を前記字形データテーブルに記憶させる登録部と、所定の条件が満たされる場合に、前記登録部によって前記字形データテーブルに登録された情報を含む前記学習用データセットを用いて、前記機械学習モデルを再学習させる機械学習モデル生成部と、を備えることを特徴とする。
【0011】
本発明のくずし字認識システムは、くずし字の文字画像を取得する文字画像取得部と、くずし字の画像と、当該画像に示されたくずし字の現代文字とを対応させた字形データテーブルを記憶する字形データベースと、くずし字を含む文書の一部または全部である対象文章に対応する現代語の文章と、前記対象文章を、OCR(Optical Character Recognition)を利用して文字認識させた認識結果とに基づいて、前記文字画像に示されたくずし字を囲む矩形に関する矩形情報を取得する矩形情報取得を部と、学習用画像と前記矩形情報に、前記学習用画像に示されたくずし字の現代文字とを対応づけた学習用データセットを用いて、入力されたくずし字の画像から当該画像に示されたくずし字の現代文字を出力するように学習された機械学習モデルを記憶する機械学習モデル記憶部と、前記字形データテーブル、及び前記機械学習モデルのいずれかと、前記文字画像とを用いて、前記文字画像に示されたくずし字を現代文字に対応させる文字認識を行うくずし字認識部と、所定の条件が満たされる場合に、前記機械学習モデルを再学習させる機械学習モデル生成部と、を備えることを特徴とする。
【0012】
本発明のくずし字認識方法は、くずし字の画像と、当該画像に示されたくずし字の現代文字とを対応させた字形データテーブルを記憶する字形データベースと、学習用画像と前記学習用画像に示されたくずし字の現代文字とを対応づけた学習用データセットを用いて、入力されたくずし字の画像から当該画像に示されたくずし字の現代文字を出力するように学習された機械学習モデルを記憶する機械学習モデル記憶部と、を備えるコンピュータによるくずし字認識方法であって、文字画像取得部が、くずし字の文字画像を取得し、くずし字認識部が、前記機械学習モデルと前記文字画像とを用いて前記文字画像に示されたくずし字を現代文字に対応させる文字認識を行い、前記機械学習モデルを用いて前記文字画像における前記文字認識を行った結果が誤りである場合、前記字形データテーブルを用いて前記文字認識を行い、前記字形データテーブルを用いて前記文字認識を行った結果を前記文字画像における前記文字認識の結果として出力し、機械学習モデル生成部が、所定の条件が満たされる場合に、前記機械学習モデルを再学習させることを特徴とする。
【0013】
本発明のプログラムは、くずし字の画像と、当該画像に示されたくずし字の現代文字とを対応させた字形データテーブルを記憶する字形データベースと、学習用画像と、前記学習用画像に示されたくずし字の現代文字とを対応づけた学習用データセットを用いて、入力されたくずし字の画像から当該画像に示されたくずし字の現代文字を出力するように学習された機械学習モデルを記憶する機械学習モデル記憶部と、を備えるコンピュータを、くずし字の文字画像を取得させる文字画像取得手段、前記機械学習モデルと前記文字画像とを用いて前記文字画像に示されたくずし字を現代文字に対応させる文字認識を行い、前記機械学習モデルを用いて前記文字画像における前記文字認識を行った結果が誤りである場合、前記字形データテーブルを用いて前記文字認識を行い、前記字形データテーブルを用いて前記文字認識を行った結果を前記文字画像における前記文字認識の結果として出力させるくずし字認識手段、所定の条件が満たされる場合に、前記機械学習モデルを再学習させる機械学習モデル生成手段として機能させるためのプログラムである。
【0014】
本発明のデータセットの作成方法は、くずし字文章を構成する各くずし字の画像と現代文字とを対応させたデータセットを作成するデータセットの作成方法であって、前記くずし字文章と、前記各くずし字の現代文字で構成される現代文字文章とが対応づけられており、前記各くずし字と前記現代文字文章における各現代文字とが対応づけられていない第1データと、当該第1データと同一のくずし字文章から抽出される前記各くずし字の画像に現代文字が対応づけられている第2データとを比較し、前記第2データを、現代文字との対応関係が前記第1データにおける対応関係と同じ関係にある正解データ、又は現代文字との対応関係が前記第1データにおける対応関係とは異なる関係にある不正解データに仕分ける仕分工程と、前記仕分工程によって前記不正解データに仕分けられた前記各くずし字の画像に、前記第1データにおける対応関係と同じ関係にある現代文字を対応させた修正データを生成する修正工程と、前記正解データ、及び前記修正データを統合する統合工程と、を備えることを特徴とする。
【0015】
本発明のデータセットの作成方法は、前記第2データが、機械学習モデルによって文字認識された結果により作成されたデータであり、前記機械学習モデルは、入力されたくずし字文章から各くずし字の画像と各くずし字の画像に対応する現代文字を出力するように学習されたモデルである、ることを特徴とする。
【0016】
本発明のデータセットの作成方法は、前記仕分工程において、編集距離を用いた文字列マッチングにより、前記第1データと前記第2データとが比較される、ことを特徴とする。
【発明の効果】
【0017】
本発明によれば、くずし字の画像を登録したデータベースのみを用いた方法と比較して、文字認識に時間に要する時間を増加させることなく、くずし字の文字認識を行うことができる。
【図面の簡単な説明】
【0018】
【
図1】実施形態によるくずし字認識システム1の構成の例を示すブロック図である。
【
図2】実施形態による字形データテーブル160の構成の例を示す図である。
【
図3】実施形態による機械学習モデル170を説明する図である。
【
図4】実施形態による文字認識を説明する図である。
【
図5】実施形態による登録部13が行う処理を説明する図である。
【
図6】実施形態によるくずし字認識システム1が行う動作の流れを示すフローチャートである。
【
図7】実施形態の変形例1によるくずし字認識システム1Aの構成の例を示すブロック図である。
【
図8】実施形態の変形例1によるくずし字認識システム1Aが行う動作の流れを示すフローチャートである。
【
図9】実施形態の変形例2によるくずし字認識システム1Bの構成の例を示すブロック図である。
【
図10】実施形態の変形例2によるくずし字認識システム1Bが行う動作の流れを示すフローチャートである。
【発明を実施するための形態】
【0019】
以下、図面を参照しながら本発明の実施形態を詳細に説明する。
【0020】
図1は、実施形態によるくずし字認識システム1の構成の例を示すブロック図である。くずし字認識システム1は、例えば、データ入出力部10と、くずし字認識部11と、判定部12と、登録部13と、機械学習モデル生成部14と、表示部15と、字形データベース16と、機械学習モデル記憶部17とを備える。ここで、データ入出力部10は、「文字画像取得部」の一例である。
【0021】
データ入出力部10は、くずし字の文字画像M(
図3参照)の画像情報を取得する。文字画像Mは、くずし字の文字認識を行う対象とする文献の任意のページの撮像画像における文字認識を行う(翻刻する)対象のくずし字が含まれる領域が抽出された画像である。文字画像Mに含まれるくずし字の文字数は任意であってよい。以下では、文字画像Mに含まれるくずし字の数が1文字である場合を例に説明するが、2文字以上である場合は勿論、文字画像Mに、単語単位や文書単位、或いは行単位でくずし字が含まれる場合にも同様な手法を適用することが可能である。
【0022】
例えば、データ入出力部10は、くずし字を認識する対象の文献の撮像画像を外部装置から読み込むことにより文字画像Mを取得する。データ入出力部10は、図示しないデータ入力手段(キーボード、マウス等)や、後述する表示部15のタッチパネルを介した操作が行われることにより、外部装置から文字画像Mを取得したり、外部装置に対してくずし字を翻刻した現代文字などの文字認識の結果を示すデータを出力したりする。
【0023】
くずし字認識部11は、字形データテーブル160(
図2参照)、及び機械学習モデル170(
図3参照)のいずれかと、文字画像Mとを用いて、文字画像Mに示されたくずし字を現代文字に対応させる文字認識を行う。字形データテーブル160は、くずし字の画像G(
図2参照)と、画像Gに示されたくずし字の現代文字とを対応させたテーブルである。機械学習モデル170は、学習用画像と、その学習用画像に示されたくずし字の現代文字とを対応づけた学習用データセットを用いて、入力されたくずし字の画像から当該画像に示されたくずし字の現代文字を出力するように学習されたモデルである。
【0024】
字形データテーブル160を用いて文字認識を行う場合、くずし字認識部11は、データ入出力部10によって取得された文字画像Mに基づいて字形データテーブル160を参照し、文字画像Mの形状と一致、又は類似する形状が示された画像を検索する。くずし字認識部11は、例えば、文字画像Mを複数の要素領域に分割し、それぞれの要素領域における特徴量を抽出する。特徴量は、要素領域に示された文字部分の形状における特徴の度合いであって、例えば、要素領域に含まれる画素における画素値の勾配ベクトルである。くずし字認識部11は、文字画像Mのそれぞれの要素領域における特徴量を集約し、字形データテーブル160に記憶された画像のうち、特徴量の傾向が一致する、或いは類似する画像を、文字画像Mと一致する、或いは類似する画像として抽出する。くずし字認識部11は、例えば、勾配ベクトル空間における二つの勾配ベクトルの距離が、所定の閾値未満である場合に、二つの勾配ベクトルが一致、或いは類似すると判定する。くずし字認識部11は、字形データテーブル160から抽出した画像に対応付けられている現代文字を、文字画像Mにおける文字認識の結果とする。
【0025】
機械学習モデル170を用いて文字認識を行う場合、くずし字認識部11は、データ入出力部10によって取得された文字画像Mを、機械学習モデル170に入力することにより、機械学習モデル170から出力される現代文字を、文字画像Mにおける文字認識の結果とする。
【0026】
くずし字認識部11は、後述する判定部12によって判定された判定結果に基づいて、文字画像Mにおける文字認識の結果を決定する。ここでの判定結果は、機械学習モデル170を用いて文字認識を行った結果が、正解であるか否かを判定した結果である。くずし字認識部11は、機械学習モデル170を用いて文字認識を行った結果が、判定部12によって正解であると判定された場合、その機械学習モデル170を用いて文字認識を行った結果を文字画像Mにおける文字認識の結果とする。くずし字認識部11は、機械学習モデル170を用いて文字認識を行った結果が、判定部12によって正解でないと判定された場合、その機械学習モデル170を用いて文字認識を行った結果を文字画像Mにおける文字認識の結果とする。くずし字認識部11は、文字画像Mにおける文字認識の結果を、データ入出力部10を介して出力する。或いは、くずし字認識部11は、文字画像Mにおける文字認識の結果を表示部15に表示するようにしてもよい。
【0027】
判定部12は、機械学習モデル170を用いて文字認識を行った結果が、正解であるか否かを判定する。判定部12は、専門家等により操作入力された判定結果を示す信号を、データ入出力部10を介して取得し、取得した信号に基づいて、文字認識を行った結果が正解であるか否かを判定する。この場合、例えば、機械学習モデル170を用いて文字認識を行った結果が表示部15に表示される。専門家等は、表示部15に表示された文字認識の結果を視認し、文字認識の結果が正しいか否かを判断する。専門家等は、文字認識の結果が正しくない、つまり誤っていると判断した場合、マウス等を操作することにより、誤っていると判断した文字の領域をクリック操作する等してその旨を示す信号をデータ入出力部10に入力する。判定部12は、判定結果をくずし字認識部11に出力する。
【0028】
登録部13は、判定部12によって機械学習モデル170を用いて文字画像Mの文字認識を行った結果が正解でないと判定された場合、文字画像Mと、文字画像Mに示されたくずし字の現代文字とを対応させた情報(以下、登録情報という)を、字形データテーブル160に記憶させる。これにより、機械学習モデル170を用いて誤った文字認識を行なわれた場合であっても、字形データテーブル160を用いて正しい文字認識を行うことができる。
【0029】
登録部13は、登録情報を字形データテーブル160に記憶させる場合、登録情報の画像が、機械学習モデル170用いた推定に誤り(推定誤り)があったことを示す情報を対応付けて記憶させる。このように、登録部13は、字形データテーブル160に記憶された画像のうち、機械学習モデル170による推定誤りがない画像と、推定誤りがある画像を区別して登録する。推定誤りがあったことを示す情報は、例えば、後述する、機械学習モデルによる推定誤りフラグ(
図2参照)である。
【0030】
機械学習モデル生成部14は、機械学習モデル170を生成する。以下では、機械学習モデル170が機械学習のアルゴリズムとして、ニューラルネットワークが適用された場合を例示して説明する。しかしながら、これに限定されることはなく、機械学習のアルゴリズムとして、例えば、RNN(Recurrent Neural Network)、DCNN(Deep Convolutional Neural Network)、CNN、決定木、階層ベイズ、SVM(Support Vector Machine)などの手法、およびこれらを適宜組み合わせた手法が適用されてもよい。
【0031】
機械学習モデル生成部14は、学習用データセットを生成し、生成した学習用データセットをニューラルネットワークに機械学習させることにより機械学習モデル170を生成する。機械学習モデル生成部14が、機械学習モデル170を生成する方法については後で詳しく説明する。
【0032】
機械学習モデル生成部14は、所定の条件を満たす場合に、機械学習モデル170に再学習を行う。再学習は、機械学習モデル170に対し、再度の機械学習を実行することである。機械学習モデル生成部14は、再学習前の機械学習モデル170を生成した際に用いた学習用データセットに、データを追加した内容にて再学習を行う。機械学習モデル生成部14が、再学習を行う方法については後で詳しく説明する。
【0033】
表示部15は、例えば液晶パネルからなる表示画面を有する。表示部15は、データ入出力部10により取得された文字画像M、くずし字認識部11による文字認識の判定結果などを表示する。表示部15は、この表示画面の全部又は一部がタッチパネルである場合には、画面上におけるボタンがクリックされることで、データ入出力部101を介したデータ入力などを行うことができる。
【0034】
字形データベース16には、字形データテーブル160が予め書込まれて記憶されている。
図2は、実施形態による字形データテーブル160の構成の例を示す図である。
図2に示すように、字形データテーブル160は、例えば、文字コード、画像、現代文字、機械学習モデルによる推定誤りフラグ(以下、単に推定誤りフラグともいう)の各々の項目を備える。
【0035】
文字コードは、くずし字の画像を一意に識別する識別情報である。画像は、文字コードで特定されるくずし字の画像である。現代文字は、文字コードで特定される画像に示されるくずし字の形状等に基づいて判読された現代の文字である。推定誤りフラグは、文字コードで特定される画像における機械学習モデル170を用いた現代文字の推定に誤りがあった否かを示す情報である。この例では、フラグが0(ゼロ)の場合、誤りがなかったことを示し、フラグが1の場合、誤りがあったことを示している。
【0036】
この例では、文字コード(M0001)に「礼」の旧字を元とするくずし字の画像G1の現代文字が「礼」であること、及び画像G1について機械学習モデル170による推定に誤りがないことが示されている。この例のように、一見して「礼」とは判別できない形状のくずし字であっても、専門家等によって画像に示されたくずし字が「礼」の旧字であることが判読され、現代文字の「礼」に相当すると判断された場合には、その判断結果が現代文字に示されてよい。また、この例では、文字コード(M0002)に「満」を字母とする「ま」の変体仮名のくずし字の画像G2の現代文字が「ま」であること、及び画像G2について機械学習モデル170による推定に誤りがないことが示されている。この例のように、専門家等によって、字母を考慮せずに、同じ仮名に相当するくずし字は、その形状が互いに異なる場合であっても同じ現代文字と判読すると判断された場合には、その判断結果が現代文字に示されてよい。
【0037】
機械学習モデル記憶部17には、機械学習モデル170が記憶されている。
図3は、実施形態による機械学習モデル170を説明する図である。
【0038】
図3に示すように、機械学習モデル170は、例えば、第1層パーセプトロン171、第2層パーセプトロン172、及び第3層パーセプトロン173の各々から構成されている。各層のパーセプトロンは、1又は複数のユニットにより構成されている。この例では、第1層パーセプトロン171、及び第2層パーセプトロン172の各々が6つのユニットを備える。第3層パーセプトロン173は1つのユニットを備える。それぞれのユニットは、自身が属する層より上位の層がある場合に、その上位の層における各ユニットとノードを介して接続されている。
【0039】
第1層パーセプトロン171は、いわゆる入力層であり、例えば、文字画像Mの画像情報が各ユニットに入力される。画像情報は、画像に関する情報であって、例えば、画素ごとの画素値や、クレースケールなどを示す情報である。第1層パーセプトロン171の各ユニットに入力された画像情報の各々は、第1層パーセプトロン171の各ユニットと、その上位層である第2層パーセプトロン172の各ユニットとを接続するノードに対応付けられた結合係数(重みW)が乗算され、接続先のユニットに対応付けられたバイアス成分bが加算されて、第2層パーセプトロン172に入力される。
【0040】
第2層パーセプトロン172は、いわゆる中間層である。この例では、第2層パーセプトロン172が二つの層で構成された場合を示しているが、第2層パーセプトロン172は一つの層であってもよいし、三以上の層で構成されてもよい。下位の第2層パーセプトロン172の各ユニットに入力されたデータの各々は、その上位の第2層パーセプトロン172の各ユニットと接続するノードに対応付けられた結合係数(重みW)が乗算され、接続先のユニットに対応付けられたバイアス成分bが加算されて、上位の第2層パーセプトロン172に入力される。上位の第2層パーセプトロン172の各ユニットに入力されたデータの各々は、第3層パーセプトロン173のユニットと接続するノードに対応付けられた結合係数(重みW)が乗算され、接続先の第3層パーセプトロン173のユニットに対応付けられたバイアス成分bが加算されて、第3層パーセプトロン173に入力される。
【0041】
第3層パーセプトロン173は、いわゆる出力層である。第3層パーセプトロン173は、上位の第2層パーセプトロン172の各ユニットから入力されたデータを加算した値を出力する。
【0042】
ここで、機械学習モデル生成部14が機械学習モデル170を生成する方法について説明する。
機械学習モデル生成部14は、ニューラルネットワークに機械学習を行う学習段階において、学習用のデータセットを生成する。学習用のデータセットは、くずし字の画像と、当該画像に示されたくずし字の現代文字とが組み合わされた(セットになった)データである。学習用のデータセットとして、例えば、字形データテーブル160に記憶された情報が用いられてよい。機械学習モデル生成部14は、機械学習モデル170の第1層パーセプトロン171に、学習用のデータセットにおけるくずし字の画像における画像情報を入力する。これにより、ニューラルネットワークにおける各層のパーセプトロンの各々において設定されたパラメータ(結合係数(重みW)とバイアス成分b)に応じた、乗算や加算などの演算が実行され、第3層パーセプトロン173から何らかの値が出力される。機械学習モデル生成部14は、第3層パーセプトロン173から出力された値が、学習用のデータセットの現代文字に対応する値に近づくように、機械学習モデル170のパラメータの調整を繰り返し行う。これにより、機械学習モデル170は入力された画像における現代文字を精度よく出力できるようになる。機械学習モデル生成部14は、予め定めた終了条件を満たすまで学習させた機械学習モデル170を、学習済みの機械学習モデル170とする。予め定めた終了条件とは、例えば、学習用データセットをすべて学習させたこと、或いは、入力された画像における現代文字を推定する精度が所定の閾値以上となったこと等である。機械学習モデル生成部14は、学習済みの機械学習モデル170を示す情報を、機械学習モデル記憶部17に記憶させる。
【0043】
機械学習モデル記憶部17には、機械学習モデル170の構成を示す情報、及び調整後のパラメータを示す情報などが記憶される。機械学習モデル170の構成を示す情報は、例えば、第1層パーセプトロン171のユニット数、第2層パーセプトロン172の層数及び各層のユニット数、第3層パーセプトロン173のユニット数などを示す情報である。調整後のパラメータを示す情報重みWとバイアス成分bとを、ノードやユニットと対応付けた情報である。
【0044】
図3の例では、学習済みの機械学習モデル170が、「礼」を字母とする「れ」の変体仮名の文字画像Mの画像情報に基づいて、各層のパーセプトロンにおいて乗算や加算などの演算が実行された結果、この文字画像Mに示されたくずし字が現代文字の「れ」であると推定(文字認識)した場合を模式的に示している。
【0045】
図4は、実施形態による機械学習モデル170を用いて誤った文字認識がなされた場合の例を示している。
図4の例では、学習済みの機械学習モデル170が、「が」の変体仮名の文字画像Mの画像情報に基づいて、各層のパーセプトロンにおいて乗算や加算などの演算が実行された結果、この文字画像Mに示されたくずし字が現代文字の「お」であると推定(文字認識)した場合を模式的に示している。
【0046】
しかしながら、
図4に示す文字画像Mに示されたくずし字は、専門家により「が」の変体仮名と判断されている。このような誤認識が発生する要因として、学習段階において、機械学習モデル170に、
図4の文字画像Mが学習用のデータセットに含まれていないことが考えられる。つまり、学習用のデータセットに、文字画像Mと、文字画像Mに示されたくずし字の現代文字が「が」であること組み合わせたデータセットが含まれていないと考えられる。このような場合、学習段階において、
図4の文字画像Mの現代文字を出力するために機械学習モデル170のパラメータの調整が行われていない。このため、機械学習モデル170の各層のパーセプトロンにおいて乗算や加算などの演算が実行された結果、その形状が、学習済みの「お」の変体仮名の形状に近いと判定し、変体仮名「お」であると、誤った推定が行われたと考えられる。
【0047】
このような誤認識が発見された場合、機械学習モデル170のパラメータの調整を再度行うことが考えられる。具体的には、
図4の文字画像Mを含む学習用のデータセットを生成し、生成した学習用のデータセットを用いて、再度の機械学習を行う。これにより、学習段階において
図4の文字画像Mの現代文字を正確に出力するための、機械学習モデル170のパラメータの調整が行われる。この場合、学習済みの機械学習モデル170に
図4の文字画像Mの画像情報を入力すると、各層のパーセプトロンにおいて乗算や加算などの演算が実行された結果、この文字画像Mに示されたくずし字が現代文字の「が」であると出力されることが期待できる。
【0048】
しかしながら、誤った文字認識がなされる度に、機械学習モデル170に再度の機械学習を行うようにすると、再度の学習に要する時間がかかってしまう。再度の学習においても、学習用のデータセットにおける全ての画像に対して、正確な現代文字が出力できるように、繰り返し学習を行い、機械学習モデル170のパラメータの調整を行う必要があるためである。
【0049】
この対策として、本実施形態では、機械学習モデル170を用いて誤った文字認識がなされた場合、その誤った文字認識がなされた画像を字形データテーブル160に登録する。字形データテーブル160に登録がなされることにより、次回以降、字形データテーブル160を用いて正確な文字認識を行うことが可能となる。このため、誤った文字認識がなされる度に、機械学習モデル170に再度の機械学習を行わなくとも、正確な文字認識を行うことが可能となる。
【0050】
一方、機械学習モデル170を用いて誤った文字認識がなされた画像を、字形データテーブル160に登録し続けると、字形データテーブル160に記憶された画像が増加する。字形データテーブル160を用いた文字認識は、画像の検索を行う手法である。このため、字形データテーブル160に記憶された画像の数が多いほど、検索に要する時間がかかってしまう。
【0051】
この対策として、本実施形態では、字形データテーブル160を用いた文字認識においては、機械学習モデル170による推定誤りがない画像を除いた画像を検索の対象として文字認識を行う。
【0052】
図5は、実施形態による登録部13が行う処理を説明する図である。字形データテーブル160が備える項目(文字コード、画像、現代文字、推定誤りフラグ等)については、
図2と同様であるため、その説明を省略する。
【0053】
この例では、文字コード(M0101)にくずし字の画像G3の現代文字が「が」であること、及び画像G3について機械学習モデル170による推定に誤りがあったことが示されている。この例では、画像G3は、
図4の文字画像Mであり機械学習モデル170を用いた文字認識により、現代文字が「お」であると誤った推定がなされた画像である。
【0054】
くずし字認識部11は、字形データテーブル160における推定誤りフラグに基づいて、字形データテーブル160を用いた文字認識に用いる画像を選択する。具体的に、くずし字認識部11は、推定誤りフラグが1、つまり推定誤りありの画像を、字形データテーブル160を用いた文字認識に用いる画像として選択する。これにより、検索対象とする画像の数を削減し、字形データテーブル160を用いた文字認識に要する時間の増大を抑制することが可能である。一方、機械学習モデル170による推定誤りがある画像については、字形データテーブル160を用いた文字認識における検索対象の画像とすることで、正しい文字認識の結果が得られるようにすることができる。
【0055】
ここで、機械学習モデル生成部14が機械学習モデル170の再学習を行う方法について説明する。
【0056】
本実施形態では、所定の条件を満たす場合、機械学習モデル生成部14よって機械学習モデル170に再学習が行われる。所定の条件は任意に設定されてよいが、例えば、字形データテーブル160を用いた文字認識において、検索の対象とする画像の数が所定の閾値以上となったことである。また、例えば、所定の条件は、機械学習モデル170による推定誤りの確率が所定の閾値以上となったことである。字形データテーブル160に記憶された画像の数が多いほど、検索に要する時間がかかってしまうためである。前回作成した機械学習モデル170では推定誤りが生じた画像であっても、再学習を行うことにより、再学習後の機械学習モデル170では推定誤りが生じなくなる。この場合、字形データテーブル160を用いた文字認識において、検索の対象とする画像の数を削減することができ、検索に要する時間を低減させることができる。
【0057】
具体的に、機械学習モデル生成部14は、字形データテーブル160の推定誤りフラグに1が設定された画像の数が所定の閾値以上であるか否かを判定する。機械学習モデル生成部14は、推定誤りフラグに1が設定された画像の数が所定の閾値以上である場合、その推定誤りフラグに1が設定された画像群を含む学習用のデータセットを生成する。機械学習モデル生成部14は、推定誤りフラグに1が設定された画像を加えて生成した学習用のデータセットを用いて、再度の機械学習を行う。これにより、画像を加えて生成した学習用のデータセットの画像における現代文字を正確に出力することができるように機械学習モデル170のパラメータの調整が行われる。
【0058】
図6は、実施形態によるくずし字認識システム1が行う動作の流れを示すフローチャートである。
まず、くずし字認識システム1のデータ入出力部10は、文字画像M(くずし字画像)の画像情報を取得する(ステップS10)。
次に、くずし字認識システム1のくずし字認識部11は、機械学習モデル170を用いて、文字画像Mにおける現代文字の文字認識を行う(ステップS11)。例えば、くずし字認識部11は、機械学習モデル170に文字画像Mの画像情報を入力することにより得られる出力に基づいて、現代文字の文字認識を行う。
次に、くずし字認識システム1の判定部12は、文字認識の結果が正解であるか否かを判定する(ステップS12)。例えば、判定部12は、専門家等により操作入力された判定結果を示す信号を、データ入出力部10を介して取得し、取得した信号に基づいて、文字認識の結果が正解であるか否かを判定する。
【0059】
文字認識の結果が正解である場合、くずし字認識部11は、機械学習モデル170を用いた文字認識の結果を、文字画像Mにおける現代文字としてデータ入出力部10を介して出力する(ステップS13)。
一方、文字認識の結果が誤っていた場合、登録部13は、字形データテーブル160に文字画像Mが記憶(登録)されているか否か判定する(ステップS14)。
文字画像Mが記憶されている場合、くずし字認識部11は、字形データテーブル160を用いて文字画像Mにおける現代文字の文字認識を行う(ステップS15)。ここで、登録部13は、字形データテーブル160における文字画像Mに対応付けられた推定誤りフラグを1(推定誤りあり)に設定する。
くずし字認識部11は、字形データテーブル160を用いた文字認識の結果を、文字画像Mにおける現代文字としてデータ入出力部10を介して出力する(ステップS16)。
【0060】
一方、ステップS14において、字形データテーブル160に文字画像Mが記憶されていない場合、登録部13は、字形データテーブル160に文字画像Mとその現代文字を対応付けて記憶する(ステップS17)。この場合において、登録部13は、文字画像Mに対応付けられた推定誤りフラグを1(推定誤りあり)に設定する。
【0061】
機械学習モデル生成部14は、所定の条件(再学習条件)を満たすか否かを判定する(ステップS18)。機械学習モデル生成部14は、例えば、字形データテーブル160に、推定誤りフラグに1が設定された画像の数が所定の閾値以上である場合に、所定の条件(再学習条件)を満たすと判定する。
所定の条件(再学習条件)を満たす場合、機械学習モデル生成部14は、機械学習モデル170を再学習させる(ステップS19)。機械学習モデル生成部14は、推定誤りフラグに1が設定された画像を追加した学習用のデータセットを用いて、機械学習モデル170を再学習させる。
機械学習モデル生成部14は、再学習させた機械学習モデル170を示す情報を機械学習モデル記憶部17に記憶させる(ステップS20)。また、機械学習モデル生成部14は、字形データテーブル160における、学習用のデータセットに追加した画像の推定誤りフラグを0に設定する(ステップS21)。
【0062】
以上説明したように、実施形態におけるくずし字認識システム1は、データ入出力部10(「文字画像取得部」の一例)と、字形データベース16と、機械学習モデル記憶部17と、くずし字認識部11と、機械学習モデル生成部14とを備える。データ入出力部10は、くずし字の文字画像Mを取得する。字形データベース16は、くずし字の画像Gと、画像Gに示されたくずし字の現代文字とを対応させた字形データテーブル160を記憶する。機械学習モデル記憶部17は、学習用画像と、学習用画像に示されたくずし字の現代文字とを対応づけた学習用データセットを用いて、入力されたくずし字の画像から当該画像に示されたくずし字の現代文字を出力するように学習された機械学習モデル170を記憶する。くずし字認識部11は、字形データテーブル160、及び機械学習モデル170のいずれかを用いて、文字画像Mに基づく文字画像Mに示されたくずし字を現代文字に対応させる文字認識を行う。機械学習モデル生成部14は、所定の条件が満たされる場合に、機械学習モデル170を再学習させる。
【0063】
これにより、実施形態におけるくずし字認識システム1では、字形データテーブル160、及び機械学習モデル170のいずれかを用いて、文字認識を行うことができる。字形データテーブル160を用いた文字認識には画像検索が行われ、例えば画像又は画像の一部の領域における特徴量(勾配ベクトル)が算出される。一方、機械学習モデル170を用いた文字認識では単純な乗算や加算の組合せにより認識結果が得られる。機械学習モデル170を用いた文字認識では、勾配ベクトルなどの複雑な計算と比較して、処理負荷が少なく、より高速に文字認識を行うことが可能である。つまり、実施形態のくずし字認識システム1では、くずし字の画像を登録したデータベースのみを用いた方法と比較して、文字認識に時間に要する時間を増加させることなく、くずし字の文字認識を行うことができる。
【0064】
また、実施形態のくずし字認識システム1では、くずし字認識部11は、機械学習モデル170を用いて文字画像Mにおける文字認識を行った結果が誤りである場合、字形データテーブル160を用いて前記文字認識を行い、字形データテーブル160を用いて文字認識を行った結果を、文字画像Mにおける文字認識の結果として出力する。これにより、実施形態のくずし字認識システム1では、まず、処理負荷が少なく、より高速に文字認識を行うことができる機械学習モデル170を用いた文字認識を行い、文字認識に誤りがある場合にのみ字形データテーブル160を用いた文字認識を行うことができ、上述した効果と同様の効果を奏する。
【0065】
また、実施形態のくずし字認識システム1は、登録部13、を更に備える。登録部13は、機械学習モデル170を用いて文字画像Mにおける文字認識を行った結果が誤りである場合、文字画像Mと、文字画像Mに示されたくずし字の現代文字とを対応させた情報を字形データテーブル160に記憶させる。くずし字認識部11は、字形データテーブル160を用いて文字認識を行う場合、登録部13によって字形データテーブル160に登録された情報を用いて、文字認識を行う。これにより、機械学習モデル170で推定誤りがあった画像が字形データテーブル160に登録されていない場合であっても、新たに登録を行うことができ、新たに登録した画像に基づいて文字認識をすることが可能となる。したがって、機械学習モデル170の文字認識に誤りがある場合であっても、文字認識を正しく行うことができる。
【0066】
また、実施形態のくずし字認識システム1では、機械学習モデル生成部14は、登録部13によって字形データテーブル160に登録された情報を含む学習用データセットを用いて、機械学習モデル170を再学習させる。これにより、機械学習モデル170で推定誤りがあった画像を含めて再学習を行うことができ、再学習前のモデルでは誤りがあった画像であっても、再学習後の機械学習モデル170により正しい文字認識を行うことが可能となる。
【0067】
(実施形態の変形例1)
次に実施形態の変形例1について説明する。本変形例では、くずし字の「矩形情報」を学習用のデータに用いる点において、上述した実施形態と相違する。矩形情報は、くずし字を囲む矩形を示す情報である。すなわち、本変形例では、学習用画像と矩形情報に、その学習用画像に示されたくずし字の現代文字とを対応づけた学習用データセットが用いられる。学習用のデータに矩形情報を加えることにより、くずし文字の字形と矩形の形状から、そのくずし字の現代文字を推定することが可能となり、現代文字を認識する精度の向上が期待できる。
【0068】
くずし字の矩形情報を取得する方法として、例えば、データアノテーションソフトウェアを用いて、矩形領域と対応する文字(または文字コード)を手動で指定することにより、学習用のデータセットを作る方法が考えられる。データアノテーションソフトウェアとは、例えば、くずし字の画像に矩形などの画像を重ねて表示させ、矩形を表示させる位置や矩形の大きさを手動で設定することができるソフトウェアである。データアノテーションソフトウェアを用いることにより、作業者が目視で確認しながら、くずし字の矩形情報を取得していくことができる。しかし、この方法は手動による作業となるため、人手による作業負荷が大きい。
【0069】
また、くずし字の矩形情報を取得する別の方法として、くずし字を文字認識(くずし字OCR)するソフトウェアを用いて、くずし字の矩形領域とそれに対応する文字コードを自動認識させる方法が考えられる。くずし字OCRでは、くずし字を含む古文書や古典籍の文書からくずし字の文字を矩形で抽出し、抽出した文字に対応する現代文字を表示する。くずし字OCRを用いて文字認識を行うことにより、矩形情報を自動認識させることができる。このため、上述したデータアノテーションソフトウェアを用いる方法と比較して、効率的に矩形情報を取得することが可能である。しかし、OCRで誤認識した矩形情報については、手動で修正する必要がある。矩形情報が誤って認識された場合、そのくずし字の現代文字も誤って認識されている可能性が高い。このため、OCRにて誤認識された場合、誤認識された矩形を手動で指定し直す工程、及び現代文字(または文字コード)を修正する工程の両方が発生する可能性が高く、作業の効率が低下してしまうという問題があった。
【0070】
本変形例では、上記の課題、つまりくずし字の矩形情報を効率よく取得することができないという課題を解決することを目的とする。以下の説明では、上述した実施形態と異なる構成についてのみ説明する。上述した実施形態と同等の構成については、同じ符号を付して、その説明を省略する。
【0071】
図7は、実施形態の変形例1によるくずし字認識システム1Aの構成の例を示すブロック図である。本変形例のくずし字認識システム1Aは、例えば、矩形情報取得部18を備える。矩形情報取得部18は、くずし字の矩形情報を取得する。
【0072】
矩形情報取得部18は、くずし字を含む文書の一部または全部を、現代文字にした文章を取得する。現代文字にした文書は、上述した実施形態のくずし字認識部11により認識された結果であってもよいし、古文書や古典籍に、専門家らが訳した現代語の文章が予め対応づけられているものを利用してもよい。
【0073】
矩形情報取得部18は、上記で取得した現代文字の文章に対応するくずし字を、OCR認識させた文字認識の結果を取得する。矩形情報取得部18は、上記で取得した現代文字の文章と、OCR認識させた文字認識の結果とを比較する。矩形情報取得部18は、例えば、編集距離を用いた文字列マッチングを行うことにより両者を比較する。データ入出力部10は、両者の文字、又は文字コードを用いて比較するようにしてもよい。
【0074】
矩形情報取得部18は、両者の文字の認識結果が一致した場合、OCR認識された文字に対応する矩形を、そのくずし字の正しい矩形と判定する。一方、矩形情報取得部18は、両者の文字の認識結果が一致しなかった場合、OCR認識された文字に対応する矩形を、そのくずし字に対応していない誤った矩形であると判定する。
【0075】
矩形情報取得部18は、誤った矩形であると判定したくずし字について、その矩形情報を修正する。矩形情報の修正は、例えば、データアノテーションソフトウェアを用いる方法により、作業員等が手動で修正を行う。矩形情報取得部18は、修正後の矩形情報を取得する。
【0076】
矩形情報取得部18は、必要に応じて修正した、より確からしい矩形情報を、機械学習モデル生成部14に出力する。機械学習モデル生成部14は、くずし字の学習用画像と矩形情報とに、その現代文字の認識結果を対応付けた学習用のデータセットを用いて、学習済みモデルを生成する。くずし字認識部11は、機械学習を用いた文字認識を行う場合、機械学習モデル生成部14により生成された、矩形情報を含んで学習を行った学習済みモデルを用いて、くずし字の現代文字の文字認識を行う。
【0077】
図8は、実施形態の変形例1によるくずし字認識システム1Aが行う動作の流れを示すフローチャートである。
【0078】
くずし字認識システム1Aは、くずし字の現代文字を取得する(ステップS20)。くずし字認識システム1Aは、ステップS20で用いたくずし字と同じ字を、くずし字OCRに読み取らせることにより、OCRによる文字認識の結果を取得する(ステップS21)。くずし字認識システム1Aは、ステップS20で取得した現代文字と、ステップS20で取得したOCRによる文字認識の結果とが、一致するか否かを判定する(ステップ22)。くずし字認識システム1Aは、両者が一致した場合、OCRにより文字認識された文字の矩形を、そのくずし字の正しい矩形情報として、当該矩形情報を登録する(ステップS23)。一方、くずし字認識システム1Aは、両者が一致しない場合、OCRにより文字認識された文字の矩形を、そのくずし字の誤った矩形情報として修正する(ステップS24)。くずし字認識システム1Aは、例えば、修正が必要である旨を表示部15にアラート表示する等して作業員に知覚可能に通知し、通知を受けて対応した作業員の入力操作などの手動より修正された結果を取得する。くずし字認識システム1Aは、ステップS23に戻り、修正された矩形情報を登録する。くずし字認識システム1Aは、例えば、図示しない記憶部に記憶させることにより、矩形情報を登録する。くずし字認識システム1は、ステップS20に戻り、矩形情報を取得する対象のくずし字の全てについて、その矩形情報を取得するまで、ステップS20からS24までの処理を繰り返す。
【0079】
以上、説明したように、実施形態の変形例1に係るくずし字認識システム1Aは、矩形情報取得部18を備える。矩形情報取得部18は、くずし字の現代文字の認識結果と、OCR文字認識の結果とを用いて、当該くずし字の矩形情報を取得する。機械学習モデル生成部14は、矩形情報を含む学習用のデータセットを用いて学習済みモデルを作成する。くずし字認識部11は、機械学習の手法を用いて文字認識を行う場合、矩形情報を含む学習用のデータセットを用いて学習した学習済みモデルを用いた文字認識を行う。
【0080】
これにより、実施形態の変形例1に係るくずし字認識システム1Aでは、現代語の文章とOCR文字認識の結果を比較して、不一致である場合のみ修正を行うことができる。このため、OCR文字認識の結果誤りの際に矩形情報と認識結果との両方を修正する場合と比較して、効率よく矩形情報を取得することが可能である。特に、古文書、古典籍においては、既に現代語訳が存在しているものも多い。このような現代語訳を利用すれば、上述した
図8のステップS20に係る作業を更に効率よく行うことが可能となり、従来の方法に比べて大幅に作業負荷を低減することができる。
【0081】
(実施形態の変形例2)
次に実施形態の変形例2について説明する。本変形例では、くずし字文章から切り出したくずし字と、その現代文字とを対応させたデータセットを、学習用のデータとして作成する点において、上述した実施形態と相違する。くずし字文章とは複数のくずし字の集まりである、以下の説明では、くずし字文章に含まれるくずし字のそれぞれを、各くずし字と称する場合がある。また、以下の説明では、複数の現代文字の集まりを現代文字文章と称し、現代文字文章に含まれる現代文字のそれぞれを、各現代文字と称する場合がある。
【0082】
くずし字の画像と現代文字が対応付けられたデータセット(以下、学習用のデータセットという)の作成方法として、最も単純な実現方法は、データアノテーションソフトウェアを用いる方法である。例えば、データアノテーションソフトウェアを用いてくずし字文章から切り出した(矩形抽出した)くずし字の画像と、そのくずし字に対応する現代文字(または文字コード)を手動で指定する。これにより機械学習に用いる教師データセット(学習用のデータセット)を作ることが可能である。この方法は、人手による作業負荷が高い。
【0083】
さらには、学習用のデータセットの作成方法として、文字認識(OCR)ソフトウェアを用いる方法がある。文字認識ソフトウェアを用いる方法では、くずし字文章から切り出したくずし字の画像に、文字認識(OCR)ソフトウェアを用いた文字認識を実行させる。これにより、くずし字の画像に対応するくずし字に、当該くずし字に相当する現代文字の文字コードを対応づける方法である。この文字認識(OCR)ソフトウェアを用いた方法では、くずし字における現代文字の文字認識に誤り(誤認識)が発生する場合がある。このような誤認識した文字については、例えば、手動で修正することにより学習用のデータセットを作成する。しかしながら、当該方法では、誤認識の判別と、誤認識部分の再度のくずし字の画像の切り出しと、当該再度切り出されたくずし字の画像と正しい文字コードの対応付けを手動で行う必要があり、依然として人手による作業負荷が高い。
【0084】
一方、世の中には、くずし字文章(例えば、古文書や古典籍)と現代文字文章(例えば、古文書や古典籍の現代語逐語訳)の組み合わせが数多く存在する。これらの組み合わせには、くずし字文章から切り出したくずし字の画像と、各現代文字との組み合わせが含まれてはない。本発明者らは、これらの組合せを有効活用し、効率的にくずし字画像と各現代文字との組み合わせからなる機械学習用のデータセットを作成することに気付き、本発明を完成させた。本変形例では、効率よく機械学習用のデータセットを作成するという課題を解決することを目的とする。以下の説明では、上述した実施形態と異なる構成についてのみ説明する。上述した実施形態と同等の構成については、同じ符号を付して、その説明を省略する。
【0085】
図9は、実施形態の変形例2によるくずし字認識システム1Bの構成の例を示すブロック図である。本変形例のくずし字認識システム1Bは、字形データベース16Bと、データセット作成部19を更に備える。字形データベース16Bには、文章データセット161と文字データセット162とが記憶される。文章データセット161は、「第1データ」の一例である。文字データセット162は、「第2データ」の一例である。
【0086】
文章データセット161は、くずし字の文章(以下、くずし字文章という)と、そのくずし字文章を現代文字で逐語訳した文章(以下、現代文字文章という)とが対応付けられた情報である。文章データセット161は、例えば、古典書や古典籍と、その古典書等における現代文字の逐語訳文章とが対応づけられた情報である。例えば、文章データセット161における現代文字の逐語訳は、専門家などにより作成されたものを利用することが可能である。
【0087】
ここで、文章データセット161は、くずし字文章から抽出された各くずし字と、現代文字文章における各現代文字とが対応づけられていないデータである。本変形例では、文章データセット161を利用して、くずし字文章から抽出された各くずし字に、正しい現代文字が対応付けられたデータセットを作成する。
【0088】
文字データセット162は、くずし字文章から抽出された各くずし字の画像と、その各くずし字の画像に示されるくずし字の現代文字とが対応付けられた情報である。文字データセット162における各くずし字の画像は、文章データセット161のくずし字文章と同一の文章から抽出されたものである。例えば、文字データセット162における各くずし字の画像は、データアノテーションソフトウェアを用いて、くずし字文章から各くずし字の画像を矩形抽出することにより生成される。文字データセット162における各くずし字の現代文字は、文字認識(OCR)ソフトウェアを用いた文字認識によって認識された現代文字である。或いは、文字データセット162における各くずし字の現代文字は、文字認識用の機械学習モデル(以下、文字認識モデルという)を用いた文字認識によって認識された現代文字であってもよい。
【0089】
この場合における、文字認識モデルは、入力されたくずし字文章から各くずし字の画像とその各くずし字に対応する現代文字を出力するように学習されたモデルである。例えば、学習用のくずし字文章について、くずし字文章に含まれる各くずし字の画像と、その画像に示されているくずし字の現代文字とが対応づけられた文字認識学習用のデータセットを用意する。そして、文字認識モデルに、文字認識学習用のデータセットを用いて、くずし字文章における各くずし字の画像と現代文字との対応関係を学習させる。これにより、文字認識モデルを、入力されたくずし字文章から各くずし字の画像と各くずし字の画像に対応する現代文字を出力するモデルとして機能させることができる。
【0090】
データセット作成部19は、機械学習用のデータセットを作成する。ここでの機械学習用のデータセットは、くずし字文章から抽出された各くずし字の画像に、その画像に示されたくずし字の現代文字が対応付けられた情報である。データセット作成部19は、文字データセット162における各くずし字の画像に対応づけられた現代文字の誤りを修正することにより、より高精度な機械学習用のデータセットを作成する。データセット作成部19は、例えば、仕分部190と、修正部191と、統合部192とを備える。
【0091】
仕分部190は、文字データセット162を、正解データと不正解データとに仕分ける。ここでの正解データとは、文字データセット162における各くずし字の画像に、正しい現代文字が対応づけられたデータである。不正解データとは、文字データセット162における各くずし字の画像に、正しくない現代文字が対応づけられているデータである。
【0092】
本変形例では、文章データセット161におけるくずし字文章に対応づけられた現代文字文章が正しいものとみなして、仕分部190による仕分けを行う。具体的には、仕分部190は、比較元の現代文字と比較先の現代文字とが一致するデータを正解データと判定し、一致しない部分を不正解データと判定する。ここでの比較元の現代文字とは、文字データセット162の各くずし字の画像に対応づけられた現代文字である。比較先の現代文字とは、文章データセット161における、文字データセット162の各くずし字の画像に相当するくずし字に対応する現代文字である。
【0093】
例えば、仕分部190は、編集距離を用いた文字列マッチングにより文章データセット161と文字データセット162とを比較する。編集距離は、二つの文字列における互いに異なる程度を示す情報である。仕分部190は、文章データセット161における現代文字文章を、形態素解析などの手法を用いて文字列に分割する。仕分部190は、文字データセット162における現代文字を結合させることにより文字列を生成する。
【0094】
仕分部190は、例えば、文字データセット162における現代文字を、くずし字文書におけるくずし字の記載の順序に沿って繋げることにより、現代文字列を生成する。この場合において、仕分部190は、文字データセット162における現代文字を結合させる文字列の順序を任意に設定してよい。例えば、仕分部190は、くずし字文章における上から下に向かう方向、左から右に向かう方向など、所定の方向に沿った順序で、対応する現代文字を結合させる。或いは、仕分部190は、各くずし字の画像における画像間の距離の近さに応じて、対応する現代文字を結合させるようにしてもよい。
【0095】
仕分部190は、文章データセット161における現代文字の文字列と、文字データセット162における現代文字の文字列との編集距離を算出する。仕分部190は、編集距離が、2つの文字列が一致することを示す値である場合、その文字列に対応する文字データセット162の各くずし字の画像と現代文字とが正解データであると判定する。一方、仕分部190は、編集距離が、2つの文字列が一致しないことを示す値である場合、その文字列に対応する文字データセット162の各くずし字の画像と現代文字とが不正解データであると判定する。仕分部190は、不正解データを示す情報を、修正部191、統合部192に出力する。
【0096】
修正部191は、仕分部190によって不正解データと判定されたデータを、正しい現代文字の文字列に修正する。修正部191は、不正解部分と判定された文字列について、文字データセット162の文字列を、文章データセット161の文字列に変更する。これにより、修正部191は、不正解データに仕分けられた各くずし字の画像に、文章データセット161における対応関係と同じ関係にある現代文字を対応させた修正データを生成する。修正部191は、修正データを示す情報を、統合部192に出力する。
【0097】
統合部192は、正解データと修正データとを統合する。例えば、統合部192は、字形データベース16を参照して文字データセット162を取得する。統合部192は、文字データセット162における、不正解データを修正データに変更することにより正解データと修正データとを統合する。統合後のデータは、文字データセット162において正しくない現代文字が対応付けられていた各くずし字の画像に、正しい現代文字が対応付けられたデータとなる。これにより、くずし字文章から抽出された各くずし字の画像に正しい現代文字が対応付けられたデータを生成することができる。
【0098】
図10は、実施形態の変形例2によるくずし字認識システム1Bが行う動作の流れを示すフローチャートである。くずし字認識システム1Bは、文章データセット161と文字データセット162とを取得して(ステップS30)、両者の現代文字の文字列ごとに比較し(ステップS31)、両者の文字列が一致するか否かを判定する(ステップS32)。
【0099】
くずし字認識システム1Bは、両者の文字列が一致した場合、文字データセット162における、その文字列に対応するデータを正解データと判定する(ステップS33)。一方、くずし字認識システム1Bは、両者の文字列が一致しない場合、文字データセット162における、その文字列に対応するデータを不正解データと判定する(ステップS34)。くずし字認識システム1Bは、不正解データと判定されたデータのくずし字の画像に、正しい現代文字を対応付けることにより修正データを生成する(ステップS35)。
【0100】
くずし字認識システム1Bは、全ての文字列について比較を行ったか否かを判定し(ステップS36)、全ての文字列について比較を行っていない場合、ステップS32に戻り、残りの文字列の比較を行う。一方、くずし字認識システム1Bは、全ての文字列について比較を行った場合、正解データと修正データを統合する(ステップS37)。
【0101】
以上説明したように、実施形態の変形例2のくずし字認識システム1Bは、くずし字文章を構成する各くずし字の画像と現代文字とを対応させたデータセットを作成する。くずし字認識システム1Bは、仕分部190と、修正部191と、統合部192を更に備える。仕分部190は、文章データセット161(「第1データ」の一例)と、文字データセット162(「第2データ」の一例)とを比較する。文章データセット161は、くずし字文章と現代文字文章とが対応づけられており、各くずし字と現代文字文章における各現代文字とが対応づけられていないデータである。文字データセット162は、文章データセット161と同一のくずし字文章から抽出される各くずし字の画像に現代文字が対応づけられているデータである。仕分部190は、文章データセット161と文字データセット162を比較することにより、文字データセット162を、正解データ、又は不正解データに仕分ける。正解データは、くずし字の画像と現代文字との対応関係が文章データセット161における対応関係と同じ関係にあるデータである。不正解データは、くずし字の画像と現代文字との対応関係が文章データセット161における対応関係とは異なる関係にあるデータである。修正部191は、修正データを生成する。修正データは、仕分部190によって不正解データに仕分けられた各くずし字の画像に、文章データセット161における対応関係と同じ関係にある現代文字を対応させたデータである。統合部192は、正解データ、及び修正データを統合する。
【0102】
これにより、実施形態の変形例2のくずし字認識システム1Bは、文章データセット161を有効に利用して、文字データセット162の誤りを修正することができる。したがって、くずし字に誤った現代文字が対応づけられていた場合に、その誤りを修正することができ、より高精度な機械学習用のデータセットを作成することが可能である。
【0103】
また、実施形態の変形例2のくずし字認識システム1Bでは、文字データセット162が、文字認識モデル(「機械学習モデル」の一例)によって文字認識された結果により作成されたデータであってもよい。文字認識モデルは、入力されたくずし字文章から各くずし字の画像と各くずし字の画像に対応する現代文字を出力するように学習されたモデルである。これにより、実施形態の変形例2のくずし字認識システム1Bでは、文字認識モデルを用いて、容易に、くずし文章から各くずし字の画像と、その画像に示されたくずし字の現代文字を作成することができる。
【0104】
また、実施形態の変形例2のくずし字認識システム1Bでは、仕分部190は、編集距離を用いた文字列マッチングにより、文章データセット161と文字データセット162とを比較するようにしてもよい。これにより、実施形態の変形例2のくずし字認識システム1Bでは、編集距離を用いて、容易に、文章データセット161と文字データセット162とを比較することができる。
【0105】
なお、上述した変形例2では、文字列ごとに編集距離を用いた比較を行う場合を例示して説明したが、これに限定されない。仕分部190は、任意の手法で文章データセット161と文字データセット162とを比較してよい。例えば、仕分部190は、編集距離を用いることなく文章データセット161と文字データセット162とを比較するようにしてもよい。仕分部190は、文章を構成する文字ごとに、文章データセット161と文字データセット162とを比較するようにしてもよい。
【0106】
上述した実施形態におけるくずし字認識システム1の全部又は一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりくずし字を対応する現代文字に対応させる認識処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0107】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0108】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0109】
1…くずし字認識システム
10…データ入出力部
11…くずし字認識部
12…判定部
13…登録部
14…機械学習モデル生成部
15…表示部
16…字形データベース
17…機械学習モデル記憶部