(57)【要約】【課題】アノテーション定義のためのユーザの負荷が少なく、文書画像データから精度よくキーワードを検出することが可能な、キーワード検出装置を提供する。【解決手段】キーワード検出装置は、文書画像データに対してユーザが行った操作を示す操作情報に基づき、文書画像データにユーザが描いた描画線が通過する文書画像データ上の文字画像を囲む矩形領域である単語描画範囲を検出し、文書画像データからキーワードの描画範囲として抽出された単語画像データについて、学習モデルである単語認識モデルを用いて、単語画像データが表わす単語ラベルを判定し、キーワードリストにおけるキーワードの各文字を手書きの画像データに変換して得られる単語画像データを生成し、生成した単語画像データを学習データとして単語認識モデル学習器に入力する。【選択図】図３
2020204855.tif 000002
【特許請求の範囲】
【請求項１】
文書画像データからキーワードを検出するキーワード検出装置であって、
キーワード検出モデルを用いて文書画像データからキーワードを検出するキーワード検出推論器と、
前記キーワード検出モデルの学習を行うキーワード検出モデル学習器と、
キーワードのリストであるキーワードリストと、
一文字毎の手書きの画像データを含む手書き一文字画像辞書と、
前記キーワードリストにおけるキーワードの各文字を前記手書きの画像データに変換して得られる画像データであるキーワード埋込画像データを生成し、生成した前記キーワード埋込画像データを学習データとして前記キーワード検出モデル学習器に入力する、キーワード埋込画像合成処理部と、
文書画像データに対してユーザがユーザインタフェースに行った操作を示す情報である操作情報を受信する単語ラベル決定処理部と、
前記操作情報に基づき、前記文書画像データに対して前記ユーザが描いた描画線が通過する前記文書画像データ上の文字画像を囲む矩形領域である単語描画範囲を検出する単語描画範囲検出処理部と、
文書画像データから前記単語描画範囲として抽出された単語画像データについて単語認識モデルを用いて前記単語画像データに対応する単語ラベルを判定する単語認識推論器と、
前記単語認識モデルの学習を行う単語認識モデル学習器と、
前記キーワードリストにおける前記キーワードの各文字を前記手書きの画像データに変換して得られる画像データである単語画像データを生成し、生成した前記単語画像データを学習データとして前記単語認識モデル学習器に入力する、単語画像合成処理部と、
を備える、キーワード検出装置。
【請求項２】
請求項１に記載のキーワード検出装置であって、
前記単語ラベル決定処理部は、
前記単語画像データをユーザインタフェースを介してユーザに提示し、
前記単語認識推論器が前記単語画像データについて判定した前記単語ラベルについてユーザがユーザインタフェースに行った操作を示す情報である操作情報を受信し、
前記操作情報に基づき前記単語ラベルの正誤を判定し、前記単語ラベルが誤りであると判定した場合、前記単語画像合成処理部に当該誤りを補正するための前記単語画像データの生成を指示するとともに、前記単語認識モデル学習器に生成した前記単語画像データを学習データとする前記単語認識モデルの学習を指示する、
キーワード検出装置。
【請求項３】
請求項１に記載のキーワード検出装置であって、
一つの文字として切り出された画像データについて、一文字認識モデルを用いて前記画像データが表す文字を判定する一文字認識推論器と、
前記一文字認識モデルの学習を行う一文字認識モデル学習器と、
前記手書き一文字辞書から、前記一文字認識モデル学習器に入力する学習データである文字画像データを抽出する文字画像抽出処理部と、
前記単語画像データを、一文字ごとの文字画像データに分解する文字分解処理部と、
を更に備え、
前記単語ラベル決定処理部は、
前記単語ラベルが誤りであると判定した場合、前記文字分解処理部に対して、前記単語画像データの前記文字画像データへの分解を指示するとともに、前記一文字認識推論器に前記分解により得られた前記文字画像データの文字ラベルの判定を指示し、
前記文字分解処理部により判定された文字ラベルをユーザインタフェースを介してユー
ザに提示し、
前記文字ラベルについてユーザがユーザインタフェースに行った操作を示す情報である操作情報を受信し、
前記操作情報に基づき、前記文字ラベルの正誤を判定し、前記文字ラベルが誤りであると判定した場合、前記文字画像抽出処理部に当該誤りを補正するすための文字画像データの選択を指示するとともに、前記一文字認識モデル学習器に選択した前記文字画像データを学習データとする前記一文字認識モデルの学習を指示する、
キーワード検出装置。
【請求項４】
請求項３に記載のキーワード検出装置であって、
前記文字分解処理部は、分解することにより得られた前記文字画像データを前記手書き一文字辞書に追加する、
キーワード検出装置。
【請求項５】
請求項１に記載のキーワード検出装置であって、
文書画像データから前記キーワード検出推論器が検出したキーワードをユーザインタフェースを介してユーザに提示し、
前記ユーザが前記キーワードについてユーザインタフェースに行った操作を示す情報である操作情報を受信し、
前記操作情報に基づき前記キーワードの正誤を判定し、前記キーワードが誤りであると判定した場合、前記キーワード埋込画像合成処理部に当該誤りを補正するすためのキーワード埋込画像データの生成を指示するとともに、前記キーワード検出モデル学習器に生成した前記キーワード埋込画像データを学習データとする前記キーワード検出モデルの学習を指示する、
キーワード検出装置。
【請求項６】
請求項１に記載のキーワード検出装置であって、
複数の文書画像データが管理されるリポジトリである文書画像リポジトリと通信可能に接続し
前記キーワード検出推論器は、前記文書画像リポジトリから読み出した文書画像データからキーワードを検出する、
キーワード検出装置。
【請求項７】
請求項１に記載のキーワード検出装置であって、
前記単語ラベル決定処理部は、前記ユーザインタフェースから送られてくるユーザの操作を示す情報である操作情報を逐次受信し、
前記単語描画範囲検出処理部は、受信した前記操作情報から把握される前記単語描画範囲の前記単語画像データを前記単語認識推論器に逐次入力する、
キーワード検出装置。
【請求項８】
請求項７に記載のキーワード検出装置であって、
前記単語認識モデルは、複数の処理レイヤを含み、
前記単語認識モデルを、前記処理レイヤを単位とするパイプライン処理により駆動させる、単語認識パイプライン制御処理部を更に備える、
キーワード検出装置。
【請求項９】
請求項８に記載のキーワード検出装置であって、
前記単語認識パイプライン制御処理部は、前記単語認識モデル学習器が前記単語認識モデルの使用中の期間に前記単語描画範囲検出処理部から前記単語画像データが入力された場合、前記単語認識モデル学習器に前記単語認識モデルへの学習データの入力をサスペン
ドさせる、
キーワード検出装置。
【請求項１０】
文書画像データからキーワードを検出するキーワード検出方法であって、
情報処理装置が、
キーワード検出モデルを用いて文書画像データからキーワードを検出するステップ、
前記キーワード検出モデルの学習を行うステップ、
キーワードのリストであるキーワードリストを記憶するステップ、
一文字毎の手書きの画像データを含む手書き一文字画像辞書を記憶するステップ、
前記キーワードリストにおけるキーワードの各文字を前記手書きの画像データに変換して得られる画像データであるキーワード埋込画像データを生成し、生成した前記キーワード埋込画像データを学習データとして前記キーワード検出モデルの学習を行うステップ、
文書画像データに対してユーザがユーザインタフェースに行った操作を示す情報である操作情報を受信するステップ、
前記操作情報に基づき、前記文書画像データに対して前記ユーザが描いた描画線が通過する前記文書画像データ上の文字画像を囲む矩形領域である単語描画範囲を検出するステップ、
文書画像データから前記単語描画範囲として抽出された単語画像データについて単語認識モデルを用いて前記単語画像データに対応する単語ラベルを判定するステップ、
前記単語認識モデルの学習を行うステップ、及び、
前記キーワードリストにおける前記キーワードの各文字を前記手書きの画像データに変換して得られる画像データである単語画像データを生成し、生成した前記単語画像データを学習データとして前記単語認識モデルを学習するステップ、
を実行する、キーワード検出方法。
【請求項１１】
請求項１０に記載のキーワード検出方法であって、
前記情報処理装置が、
前記単語画像データをユーザインタフェースを介してユーザに提示するステップ、
前記単語画像データについて判定した前記単語ラベルについてユーザがユーザインタフェースに行った操作を示す情報である操作情報を受信するステップ、及び、
前記操作情報に基づき前記単語ラベルの正誤を判定し、前記単語ラベルが誤りであると判定した場合、当該誤りを補正するための前記単語画像データを生成し、前記単語画像データを学習データとする前記単語認識モデルの学習を行うステップ、
を更に実行する、
キーワード検出方法。
【請求項１２】
請求項１０に記載のキーワード検出方法であって、
前記情報処理装置が、
一つの文字として切り出された画像データについて、一文字認識モデルを用いて前記画像データが表す文字を判定するステップ、
前記一文字認識モデルの学習を行うステップ、
前記手書き一文字辞書から、前記一文字認識モデルの学習データである文字画像データを抽出するステップ、
前記単語画像データを、一文字ごとの文字画像データに分解するステップ、
前記単語ラベルが誤りであると判定した場合に、前記単語画像データの前記文字画像データに分解し、前記分解により得られた前記文字画像データの文字ラベルを判定するステップ、
判定した文字ラベルをユーザインタフェースを介してユーザに提示するステップ、
前記文字ラベルについてユーザがユーザインタフェースに行った操作を示す情報である操作情報を受信するステップ、及び、
前記操作情報に基づき、前記文字ラベルの正誤を判定し、前記文字ラベルが誤りであると判定した場合、当該誤りを補正するすための文字画像データを選択し、選択した前記文字画像データを学習データとして前記一文字認識モデルの学習を行うステップ、
を更に実行する、
キーワード検出方法。
【請求項１３】
請求項１２に記載のキーワード検出方法であって、
前記情報処理装置が、分解することにより得られた前記文字画像データを前記手書き一文字辞書に追加するステップ、
を更に実行する、
キーワード検出方法。
【請求項１４】
請求項１０に記載のキーワード検出方法であって、
文書画像データから検出したキーワードをユーザインタフェースを介してユーザに提示するステップ、
前記ユーザが前記キーワードについてユーザインタフェースに行った操作を示す情報である操作情報を受信するステップ、及び、
前記操作情報に基づき前記キーワードの正誤を判定し、前記キーワードが誤りであると判定した場合、当該誤りを補正するすためのキーワード埋込画像データを生成し、生成した前記キーワード埋込画像データを学習データとして前記キーワード検出モデルの学習を行うステップ、
を更に実行する、
キーワード検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キーワード検出装置、及びキーワード検出方法に関する。
【背景技術】
【０００２】
特許文献１には、画像データがユーザに与えられた際に当該画像データにアノテーション情報を付与する手法について記載されている。同文献の段落［００４１］、図３には、「ステップ３２０（本方法による画像の内容の意味記述）の詳細部分では、本発明によるステップ３２５（ｖ）において、各画像の意味記述が決定される。ステップ３２６（ｖｉ）において、本発明に従って、この意味記述は、１個または数個の画像に「プルーニング」（すなわち、「簡素化」または「削減」）される。任意選択的なステップ３２７（ｖｉｉ）において、多岐にわたる来歴のアノテーション（マニュアルアノテーションを含む）を追加または利用してもよい。」と記載されている。
【０００３】
非特許文献１には、既存のツールの概要説明として、「画像注釈のための既存のツールは有用であるが、それらは導入のために多くの作業が必要になる。そこで、我々は８０の一般的なオブジェクトクラスを提案するためRetinaNetと呼ばれる既存の最先端のオブジ
ェクト検出モデルを組み込んだ新しい画像注釈ツールを提供する。（Existing tools for
image annotation can help, but they require much work to be put in. We therefore present a new image annotation tool that incorporates an existing state-of-the-art object detection model called RetinaNet to show suggestions of 80 common object classes while annotation to reduce the amount of human effort to be put in to annotate images.）」と記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１８−５０１５７９号公報
【非特許文献】
【０００５】
【非特許文献１】V．Mavani、"Anno-Mage: A semi automatic Image Annotation Tool"、［online］、２０１８年５月１８日、GitHub、［２０１９年３月２８日検索］、インターネット＜URL：https://github.com/virajmavani/semi-auto-image-annotation-tool/blob/master/README.md＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
例えば、企業等の組織において取り扱われる報告書や帳票、連絡票のように、紙媒体しか残されていない文書を電子化する技術として、文書をスキャン等して生成した画像データから、当該画像データに記載されている文字情報を抽出する、ＯＣＲ（Optical Character Recognition）等の文字認識技術がある。昨今では、深層学習等の人工知能技術を利
用して、活字のみならず手書きの文字列も読み取ることが可能なＡＩ-ＯＣＲと呼ばれる
技術分野の製品も登場している。
【０００７】
文字認識技術により電子化した文書を検索し易い形で管理するためには、各文書に特定のキーワードが記載されているか否かを検出する必要がある。この検出にかかる作業負荷を軽減する技術として、オブジェクト検出（物体検出（object detection））と呼ばれる技術がある。オブジェクト検出では、一枚の画像データの中で特定の物体（オブジェクト）が描画されている箇所（描画範囲）を深層学習を用いて特定する。但しオブジェクト検
出を精度よく行うためには、ニューラルネットワーク等の学習モデルを学習（訓練）する、あるいは学習モデルの検出精度を検証する必要があり、そのためのデータ（以下、「学習データ」と称する。）を用意する必要がある。
【０００８】
上記の学習データの一つは、一枚の画像データと、その画像中において検出対象のオブジェクト（以下、「対象オブジェクト」と称する。）が現れていることを示すアノテーション情報との組で構成される。アノテーション情報は、対象オブジェクトが何であるか（クラス分類）を意味するラベルと、描画範囲を示すバウンディングボックスとの組であり、一枚の画像中に複数のオブジェクトが現れる場合、一つの学習データは、一枚の画像データと複数のアノテーション情報との組となる。
【０００９】
多くのアノテーション定義ツールでは、ユーザは描画ツールの要領で、対象画像データを背景に表示しつつ対象のオブジェクトを囲むように矩形（バウンディングボックス）を描画し、更にその対象オブジェクトのラベルをプルダウンリスト等で選択するという作業を行う。
【００１０】
上記の作業において、ユーザは、対象オブジェクトを丁度囲む大きさの矩形を描画するように気を配る必要がある。また一つ一つの対象オブジェクトについてプルダウンリストでラベルを選択する必要があり、とくに分類するクラスが数百種類にものぼる場合、ユーザの作業負荷は多大となる。またテキストボックスでラベルをインクリメンタルサーチする場合でも、矩形描画のためのマウスの操作とテキスト入力のためのキーボード操作を交互に行う必要があり、またユーザはある程度、ラベルの綴りを記憶している必要もある。このようにユーザはアノテーション定義に際して煩雑な作業を強いられる。
【００１１】
特許文献１及び非特許文献１では、オブジェクト検出技術それ自体を用いて予め幾つかの種類のオブジェクトを検出できるように学習しておき、アノテーションの一部を半自動化する。しかし検出漏れや検出誤りがあった場合はアノテーション定義ツールを用いた場合と同様にユーザは矩形描画とラベル選択の作業を行う必要がある。
【００１２】
本発明はこうした背景に基づきなされたものであり、アノテーション定義のためのユーザの負荷が少なく、文書画像データから精度よくキーワードを検出することが可能なキーワード検出システム、及びキーワード検出方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するための本発明のうちの一つは、文書画像データからキーワードを検出するキーワード検出装置であって、キーワード検出モデルを用いて文書画像データからキーワードを検出するキーワード検出推論器と、前記キーワード検出モデルの学習を行うキーワード検出モデル学習器と、キーワードのリストであるキーワードリストと、一文字毎の手書きの画像データを含む手書き一文字画像辞書と、前記キーワードリストにおけるキーワードの各文字を前記手書きの画像データに変換して得られる画像データであるキーワード埋込画像データを生成し、生成した前記キーワード埋込画像データを学習データとして前記キーワード検出モデル学習器に入力する、キーワード埋込画像合成処理部と、文書画像データに対してユーザがユーザインタフェースに行った操作を示す情報である操作情報を受信する単語ラベル決定処理部と、前記操作情報に基づき、前記文書画像データに対して前記ユーザが描いた描画線が通過する前記文書画像データ上の文字画像を囲む矩形領域である単語描画範囲を検出する単語描画範囲検出処理部と、文書画像データから前記単語描画範囲として抽出された単語画像データについて単語認識モデルを用いて前記単語画像データに対応する単語ラベルを判定する単語認識推論器と、前記単語認識モデルの学習を行う単語認識モデル学習器と、前記キーワードリストにおける前記キーワードの各文字を前記手書きの画像データに変換して得られる画像データである単語画像データを生成
し、生成した前記単語画像データを学習データとして前記単語認識モデル学習器に入力する、単語画像合成処理部と、を備える。
【００１４】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄、及び図面により明らかにされる。
【発明の効果】
【００１５】
本発明によれば、アノテーション定義のためのユーザの負荷が少なく、文書画像データから精度よくキーワードを検出することが可能な、キーワード検出システム、及びキーワード検出方法を提供することができる。
【図面の簡単な説明】
【００１６】
【図１】第１実施形態のキーワード検出システムの概略的な構成を示す図である。
【図２】キーワード検出装置やユーザ装置を実現する情報処理装置の一例を示すブロック図である。
【図３】キーワード検出システムの構成を説明するブロック図である。
【図４】アノテーションの定義に際してユーザＩ／Ｆが表示する画面の例である。
【図５】単語ラベル決定処理を説明するフローチャートである。
【図６】単語描画範囲検出処理を説明するフローチャートである。
【図７】ユーザが文字画像データに線の描画操作を行っている際に単語認識モデルがパイプライン方式で逐次的に処理を行う様子を説明する図である。
【図８】単語認識推論器による入力データの処理と、単語認識モデル学習器による学習データの処理を混合してパイプライン処理により行う様子を説明する図である。
【図９】単語認識推論器による入力データの処理と、単語認識モデル学習器による学習データの処理を混合して進める場合の第２実施形態のキーワード検出システムの構成例を示すブロック図である。
【図１０】単語描画範囲検出処理を説明するフローチャートである。
【発明を実施するための形態】
【００１７】
以下、実施形態について図面を参照しつつ説明する。以下の説明において、同一のまたは類似する構成に同一の符号を付して重複した説明を省略することがある。また以下の説明において、同種の構成を区別する必要がある場合、構成を総称する符号の後に括弧書きで識別子（数字、アルファベット等）を表記することがある。またインタフェースのことを「Ｉ／Ｆ」と略記することがある。
【００１８】
［第１実施形態］
図１に第１実施形態として示す情報処理システム（以下、「キーワード検出システム１」と称する。）の概略的な構成を示している。キーワード検出システム１は、キーワード検出装置１０と一つ以上のユーザ装置２とを含む。キーワード検出装置１０及びユーザ装置２は、いずれも情報処理装置（コンピュータ）であり、これらは通信ネットワーク５を介して通信可能に接続されている。通信ネットワーク５は、例えば、ＬＡＮ（Local Area
Network）、ＷＡＮ（Wide Area Network）、インターネット、専用線、公衆通信網等で
ある。
【００１９】
キーワード検出装置１０は、手書き文字を含む文書（例えば、報告書、帳票、連絡票等の紙でしか残されていない文書等）を電子化した多数の画像データ（以下、「文書画像データ」と称する。）が蓄積管理される文書画像リポジトリの文書画像データからキーワードを抽出する。ユーザ装置２は、キーワード検出装置１０の機能を利用するためのユーザＩ／Ｆをユーザに提供する。
【００２０】
図２は、キーワード検出装置１０やユーザ装置２を実現する情報処理装置の一例を示すブロック図である。同図に示すように、例示する情報処理装置１００は、プロセッサ１１、主記憶装置１２、補助記憶装置１３、入力装置１４、出力装置１５、及び通信装置１６を備える。情報処理装置１００は、例えば、クラウドシステム（Cloud System）により提供されるクラウドサーバ（Cloud Server）のように仮想的な情報処理資源を用いて実現されるものであってもよい。また情報処理装置１００は、コンテナ基盤にデプロイされたコンテナとして実現されるものでもよい。
【００２１】
プロセッサ１１は、例えば、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＧＰＵ（Graphics Processing Unit）、ＦＰＧＡ（Field Programmable
Gate Array）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＡＩ（Artificial Intelligence）チップ等を用いて構成されている。
【００２２】
主記憶装置１２は、プログラムやデータを記憶する装置であり、例えば、ＲＯＭ（Read
Only Memory）、ＲＡＭ（Random Access Memory）、不揮発性メモリ（ＮＶＲＡＭ（Non Volatile RAM））等である。
【００２３】
補助記憶装置１３は、例えば、ハードディスクドライブ、ＳＳＤ（Solid State Drive
）、光学式記憶装置（ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）等）、ストレージシステム、ＩＣカード、ＳＤカードや光学式記録媒体等の記録媒体の読取／書込装置、クラウドサーバの記憶領域等である。補助記憶装置１３には、記録媒体の読取装置や通信装置１６を介してプログラムやデータを読み込むことができる。補助記憶装置１３に格納（記憶）されているプログラムやデータは主記憶装置１２に随時読み込まれる。
【００２４】
入力装置１４は、外部からの入力を受け付けるインタフェースであり、例えば、キーボード、マウス、ペン入力方式のタブレット、タッチパネル、カードリーダ、音声入力装置等である。
【００２５】
出力装置１５は、処理経過や処理結果等の各種情報を出力するインタフェースである。出力装置１５は、例えば、上記の各種情報を可視化する表示装置（液晶モニタ、ＬＣＤ（Liquid Crystal Display）、グラフィックカード等）、上記の各種情報を音声化する装置（音声出力装置（スピーカ等））、上記の各種情報を文字化する装置（印字装置等）である。尚、例えば、情報処理装置１００が通信装置１６を介して他の装置との間で情報の入力や出力を行う構成としてもよい。
【００２６】
通信装置１６は、他の装置との間の通信を実現する装置である。通信装置１６は、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）、インターネット等の通信手
段を介した他の装置との間の通信を実現する有線方式又は無線方式の通信インタフェースであり、例えば、ＮＩＣ（Network Interface Card）、無線通信モジュール、ＵＳＢ（Universal Serial Bus）モジュール、シリアル通信モジュール等である。
【００２７】
キーワード検出装置１０やユーザ装置２の機能は、プロセッサ１１が、主記憶装置１２に格納されているプログラムを読み出して実行することにより、もしくは、これらの装置を構成するハードウェア（ＦＰＧＡ、ＡＳＩＣ、ＡＩチップ等）によって実現される。
【００２８】
キーワード検出装置１０やユーザ装置２には、例えば、オペレーティングシステム、デバイスドライバ、ファイルシステム、ＤＢＭＳ（DataBase Management System）等が導入されていてもよい。
【００２９】
図３は、キーワード検出システム１の構成を説明するブロック図である。同図において
、ユーザＩ／Ｆ３０２はユーザ装置２の構成であり、他はキーワード検出装置１０の構成である。但し、同図に示す構成は一例に過ぎない。例えば、ユーザＩ／Ｆ３０２は、キーワード検出装置１０の構成としてもよい。また例えば、文書画像リポジトリ３０７は、ユーザＩ／Ｆ３０２やキーワード検出装置１０と通信可能に接続する他の装置の構成であってもよい。
【００３０】
同図において、ユーザＩ／Ｆ３０２は、文書画像リポジトリ３０７から受信した文書画像データの表示、キーワード検出装置１０から送られてくる各種情報の表示、ユーザからの入力の受け付け、ユーザから受け付けた操作や入力内容を示す情報（以下、「操作情報」と称する。）のキーワード検出装置１０への送信等を行う。
【００３１】
同図に示すように、キーワード検出装置１０は、一文字認識処理部３１１、単語認識処理部３２１、及びキーワード検出処理部３３１を含む。これらはいずれも機械学習に関する処理を行う処理部（機能部）であり、いずれも推論器、学習モデル、及び学習器の三つの要素を含む。一文字認識処理部３１１、単語認識処理部３２１、及びキーワード検出処理部３３１の機能は、例えば、深層学習の機能を実装するＯＳＳ（Open Source Software）等を用いて実現される。
【００３２】
このうち一文字認識処理部３１１は、一文字認識推論器３１２、一文字認識モデル３１３、及び一文字認識モデル学習器３１４を含む。一文字認識推論器３１２は、学習モデルである一文字認識モデル３１３を用いて、一つの文字として切り出された画像データ（以下、「文字画像データ」と称する。）について、当該文字画像データが何の文字であるかを示す情報である「文字ラベル」を特定する。一文字認識モデル学習器３１４は、文字画像抽出処理部３１５により生成される文字画像データ３１６を学習データとして一文字認識モデル３１３の学習を行う。尚、一文字認識処理部３１１は、後述する図４の符号（ｅ）、（ｆ）で示す画面に対応する処理を行う。
【００３３】
単語認識処理部３２１は、単語認識推論器３２２、単語認識モデル３２３、及び単語認識モデル学習器３２４を含む。単語認識推論器３２２は、学習モデルである単語認識モデル３２３を用いて、キーワードの描画範囲として抽出された画像データ（以下、「単語画像データ」と称する。）について、当該単語画像データが何のキーワードであるかを示す情報である「単語ラベル」を特定する。単語認識モデル学習器３２４は、単語画像合成処理部３２５により生成される単語画像データ３２６を学習データとして単語認識モデル３２３の学習を行う。尚、単語認識処理部３２１は、後述する図４の符号（ｃ）、（ｄ）で示す画面に対応する処理を行う。
【００３４】
キーワード検出処理部３３１は、キーワード検出推論器３３２、キーワード検出モデル３３３、及びキーワード検出モデル学習器３３４を含む。キーワード検出推論器３３２は、学習モデルであるキーワード検出モデル３３３を用いて、文書画像リポジトリ３０７から読み出した文書画像データからキーワードを検出する。キーワード検出モデル学習器３３４は、キーワード埋込画像合成処理部３３５により生成されるキーワード埋込画像データ３３６を学習データとしてキーワード検出モデル３３３の学習を行う。
【００３５】
尚、キーワード検出モデル３３３の学習が進むことで、キーワード検出処理部３３１は、文書画像データから精度よくキーワードを検出することができるようになり、例えば、文書画像データを分類するための適切なキーワードの抽出を効率よく行うことができるようになる。
【００３６】
文字画像抽出処理部３１５は、一文字認識モデル学習器３１４に入力する学習データである文字画像データ３１６を生成する。文字画像抽出処理部３１５は、所定の文字につい
て、手書き一文字辞書３０６から文字画像データ３１６を一つ以上選択して文字画像データ３１６を生成する。
【００３７】
同図に示す単語画像合成処理部３２５は、単語認識モデル学習器３２４に入力する学習データである単語画像データ３２６を生成する。単語画像合成処理部３２５は、キーワードリスト３０５のキーワードについて、手書き一文字辞書３０６のデータを組合せることにより単語画像データ３２６を生成する。
【００３８】
同図に示すキーワード埋込画像合成処理部２２５は、キーワード検出モデル学習器３３４に入力する学習データであるキーワード埋込画像データ３３６を生成する。キーワード埋込画像合成処理部３３５は、キーワードリスト３０５のキーワードの各文字について、手書き一文字辞書３０６から抽出される文字画像データを組合せる（キーワードの各文字を手書きの画像データに変換する）ことにより、例えば、ランダムな文字列の中にキーワードについての単語画像を埋め込んだキーワード埋込画像データ３３６を生成する。
【００３９】
キーワードリスト３０５は、キーワードのリストを含む。キーワードリスト３０５は、例えば、ユーザが予め設定したキーワードを含む。キーワードリスト３０５には、アノテーション作業の過程で新たなキーワードが追加されることもある（後述する図４の符号（ｅ）、（ｆ）で示す画面のようにユーザが追加する場合等）。
【００４０】
文字分解処理部３０４は、一文字認識推論器３１２に入力するデータを生成する。文字分解処理部３０４は、入力される単語画像データを一文字ごとの文字画像データに分解し、各文字の文字画像データを一文字認識推論器３１２に入力し、その推論結果として文字ラベルを取得する。
【００４１】
単語描画範囲検出処理部３０３は、単語認識推論器３２２に入力するデータを生成する。単語描画範囲検出処理部３０３は、文書画像データと、ユーザＩ／Ｆ３０２から送られてくる操作情報とに基づき、キーワードが描画されている範囲である「単語描画範囲」を検出し、検出した単語描画範囲で切り出した画像データを単語認識推論器３２２に入力し、その推論（判定）結果として、単語描画範囲に対応する単語ラベルを取得する。尚、後述するように、上記単語描画範囲は、ユーザがユーザＩ／Ｆを操作して描画した線である「描画線」が通過する、文書画像データ上の文字画像の全てを丁度囲むような矩形領域として検出される。
【００４２】
キーワード検出推論器３３２には、文書画像リポジトリ３０７から入力される文書画像データからキーワードを検出する。
【００４３】
単語ラベル決定処理部３０１は、ユーザＩ／Ｆ３０２と通信する。単語ラベル決定処理部３０１は、ユーザＩ／Ｆ３０２、単語描画範囲検出処理部３０３、文字分解処理部３０４、単語画像合成処理部３２５、文字画像抽出処理部３１５、及びキーワード埋込画像合成処理部３３５と連携し、機械学習処理部（一文字認識処理部３１１、単語認識処理部３２１、及びキーワード検出処理部３３１）における推論（判定）や学習（訓練）に関する各種処理の実行制御を行う。
【００４４】
図４は、ユーザがユーザＩ／Ｆ３０２を操作してアノテーションの定義を行う際にユーザＩ／Ｆ３０２が表示する画面の例である。アノテーション定義作業は、ユーザが文書画像リポジトリ３０７に含まれている所定数（例えば１００程度）の文書画像データについて、当該文書画像データに画像として含まれている手書き文字の正しい認識結果（正解文字）をユーザが決定（単語ラベルを決定）する作業である。以下、同図とともにアノテーションの定義作業について具体的に説明する。
【００４５】
まず符号（ａ）で示す画面のように、ユーザはユーザＩ／Ｆ３０２を操作して、文章画像データに表示されている「メッセージ」という画像の上に線（以下、「描画線４０１」と称する。）を描画する。
【００４６】
続いて、符号（ｂ）で示す画面に示すように、単語ラベル決定処理部３０１が、描画線４０１に基づき、「メッセージ」という画像が描画されている範囲を丁度囲む枠線４０２を設定してユーザＩ／Ｆ３０２に表示する。尚、枠線４０２の設定に関する処理の詳細については後述する。
【００４７】
続いて、符号（ｃ）で示す画面のように、単語ラベル決定処理部３０１が、単語認識推論器３２２と連携して枠線４０２（単語描画範囲）内の画像の内容を判定することにより特定した単語ラベルをユーザＩ／Ｆ３０２に表示する。本例の場合、ユーザが線を引いた部分は「メッセージ」という手書き文字であるので、これを単語認識推論器３２２が正しく「メッセージ」という単語ラベルと決定していれば、ユーザは当該手書き文字についての作業を終了し、次の手書き文字を指定する操作を開始する。本例では、単語認識推論器３２２が誤って「モジュール」と判定しているため、ユーザは当該手書き文字について更に操作を続けて単語ラベル決定処理部３０１に他の候補を表示させる。
【００４８】
続いて、符号（ｄ）で示す画面のように、単語ラベル決定処理部３０１が、キーワードリスト３０５から取得される確信度の高い他のキーワードの候補を、確信度（単語認識推論器３２２が生成する確信度）と共にリストアップしてユーザＩ／Ｆ３０２に表示させる。もしこの中に正解があれば、ユーザはそのキーワードを選択し、当該手書き文字についての操作を終了する。本例では、正解のキーワードである「メッセージ」が候補としてリストアップされていないため、ユーザは同画面に表示されている「[誤認識]」の部分を選択して更に操作を続ける。
【００４９】
続いて、符号（ｅ）で示す画面のように、単語ラベル決定処理部３０１が、ユーザの操作に応じて、文字分解処理部３０４と連携して枠線内の画像を文字に分解し、一文字認識処理部３１１と連携して文字単位での認識した結果を表示している。ユーザは、全ての文字の認識結果が正解であれば、当該手書き文字についての操作を終了する。本例では、一文字認識処理部３１１が文字「セ」を「巳」と誤って判定しているため、ユーザは  ユーザＩ／Ｆ３０２を操作して誤判定された文字の修正作業を開始する。
【００５０】
符号（ｆ）で示す画面は、ユーザが誤判定された文字を修正した後の状態である。ユーザはここで当該手書き文字についてのキーワードに関する操作を終了する。
【００５１】
符号（ｇ）で示す画面は、以上に示した「メッセージ」という画像に関する処理が終了した状態である。
【００５２】
尚、画面（ａ）〜（ｇ）は、ユーザによる操作が最も多くなる場合を例示している。最短のケースでは、画面（ｇ）のように正しく「メッセージ」と判定された状態が、画面（ｃ）の段階で表示され、ユーザは早期に操作を終了することができる。
【００５３】
図５は、アノテーションの定義に関して単語ラベル決定処理部３０１が行う処理（以下、「単語ラベル決定処理Ｓ５００」と称する。）の詳細を説明するフローチャートである。以下、同図とともに単語ラベル決定処理Ｓ５００について説明する。
【００５４】
当該処理は、単語ラベル決定処理部３０１が、ユーザＩ／Ｆ３０２から、文字画像データに対する手書き文字列部分についての線引き操作の内容を示す操作情報を受信したこと
を契機として開始される（Ｓ５０１）。
【００５５】
単語ラベル決定処理部３０１は、受信した操作情報を単語描画範囲検出処理部３０３に伝達し、その結果として単語描画範囲検出処理部３０３から送られてくる単語ラベルの候補（確信度が高いものから選択された一つ以上の単語ラベルの候補）を取得する（Ｓ５０２）。
【００５６】
単語ラベル決定処理部３０１は、単語ラベルの候補をユーザＩ／Ｆ３０２を介してユーザに提示する。ユーザは、ユーザＩ／Ｆ３０２の画面に表示された単語ラベルを確認し、図４に示した符号（ｄ）で示す画面まで操作を行い、その結果、ユーザＩ／Ｆ３０２からユーザが行った操作の内容を示す操作情報が単語ラベル決定処理部３０１に送られる（Ｓ５０３）。
【００５７】
単語ラベル決定処理部３０１は、単語ラベルの候補のうちの一つをユーザが選択した否か（単語ラベルの候補（推論候補）の中に正解の単語ラベルがあったか否か）を判定する（Ｓ５０４）。単語ラベルの候補のうちの一つをユーザが選択している場合（候補の中に正解の単語ラベルあり）（Ｓ５０４：ＹＥＳ）、処理はＳ５０５に移行する。ユーザが何も選択していない場合（候補の中に正解の単語ラベルなし）（Ｓ５０４：ＮＯ）、処理はＳ５０６及びＳ５０７に移行する。
【００５８】
Ｓ５０５では、単語ラベル決定処理部３０１は、ユーザが選択した単語ラベルが最も確信度の高いものであるか否かを判定する。ユーザが選択した単語ラベルが最も確信度の高いものである場合（Ｓ５０５：ＹＥＳ）、処理はＳ５１３に移行し、最も確信度の高いものでない場合（Ｓ５０５：ＮＯ）、処理はＳ５０６に移行する。
【００５９】
Ｓ５０６では、単語ラベルの推論に誤りがあった（ユーザが選択した単語ラベルが最も確信度の高いものでなかった）ので、単語ラベル決定処理部３０１は、確信度が最高である単語ラベルについて単語画像合成処理部３２５に再学習を指示する。その後、処理はＳ５１３に移行する。
【００６０】
Ｓ５０７では、単語ラベル決定処理部３０１は、単語画像データを文字分解処理部３０４に伝達し、その結果として文字分解処理部３０４から送られてくる、単語を構成する各文字の文字画像データの文字ラベルを取得する。その後、処理はＳ５０８に移行する。
【００６１】
Ｓ５０８では、単語ラベル決定処理部３０１は、Ｓ５０７で取得した文字ラベルをユーザＩ／Ｆ３０２を介してユーザに提示する。ユーザは、ユーザＩ／Ｆ３０２の画面に表示された文字ラベルを確認し、図４の符号（ｆ）で示す画面まで操作を行う。ユーザＩ／Ｆ３０２は、ユーザが行った操作の内容（操作情報）を単語ラベル決定処理部３０１に送信する。単語ラベル決定処理部３０１は、操作情報を受信する。その後、処理はＳ５０９に移行する。
【００６２】
Ｓ５０９では、単語ラベル決定処理部３０１は、文字画像データの文字ラベルをユーザが修正した否かを判定する。ユーザが文字ラベルを修正していれば（Ｓ５０９：ＹＥＳ）、処理はＳ５１０に移行し、ユーザが文字ラベルを修正していなければ（Ｓ５０９：ＮＯ）、処理はＳ５１１に移行する。
【００６３】
Ｓ５１０では、文字画像データについて推定した文字ラベルに誤りがあった（ユーザが修正した）ので、単語ラベル決定処理部３０１は、文字画像抽出処理部３１５に当該誤りを補正するための文字画像データの選択を指示するとともに、一文字認識モデル学習器３１４に選択した上記文字画像データを学習データとする一文字認識モデル３１３の学習を
指示する。その後、処理はＳ５１１に移行する。
【００６４】
Ｓ５１１では、単語ラベル決定処理部３０１は、Ｓ５０８におけるユーザ操作によって決定された単語ラベルが、キーワードリスト３０５にない新規のキーワードであるか否かを判定する。単語ラベル決定処理部３０１が、ユーザ操作によって決定された単語ラベルが新規のキーワードであると判定した場合（Ｓ５１１：ＹＥＳ）、処理はＳ５１２に移行する。ユーザ操作によって決定された単語ラベルが新規のキーワードでないと判定した場合（Ｓ５１１：ＮＯ）、処理はＳ５１３に移行する。
【００６５】
Ｓ５１２では、単語ラベル決定処理部３０１は、単語画像合成処理部３２５とキーワード埋込画像合成処理部３３５に対し、新規のキーワードを単語画像データの新規の単語ラベルとして判定もしくはキーワードとして検出するよう、単語認識モデル３２３及びキーワード検出モデル３３３の再学習を行うように指示する。その後、処理はＳ５１３に移行する。
【００６６】
Ｓ５１３では、Ｓ５０１において文字画像データに対してユーザが引いた線に関する処理を終了する。
【００６７】
図６は、図４の符号（ｂ）で示す画面の表示に際し、単語描画範囲検出処理部３０３が単語描画範囲を検出する処理（以下、「単語描画範囲検出処理Ｓ６００」と称する。）を説明するフローチャートである。以下、同図とともに単語描画範囲検出処理Ｓ６００について説明する。
【００６８】
単語描画範囲検出処理部３０３は、単語ラベル決定処理部３０１から、ユーザによる線引きの操作情報を受信することにより単語描画範囲検出処理Ｓ６００を開始する（Ｓ６０１）。
【００６９】
まず単語描画範囲検出処理部３０３は、ユーザが引いた線（描画線）上に存在する、文書画像データ上の文字描画ドット（ユーザが引いた線と文字との交点）の全ての座標を交点座標リストに格納する（Ｓ６０２）。
【００７０】
続いて、単語描画範囲検出処理部３０３は、変数である「描画範囲上端」と、変数である「描画範囲下端」の値を、交点座標リストの第１要素のＹ座標の値に初期化する（Ｓ６０３）。
【００７１】
続いて、単語描画範囲検出処理部３０３は、Ｓ６１０までのループ処理を、交点座標リストの各要素について繰返し実行する（Ｓ６０４）。
【００７２】
続いて、単語描画範囲検出処理部３０３は、当該ループにおける処理対象である交点座標を起点として文字描画ドットが連続している領域を辿り、その最小Ｙ座標と最大Ｙ座標を検出する（Ｓ６０５）。
【００７３】
続いて、単語描画範囲検出処理部３０３は、最小Ｙ座標が、描画範囲上端の値より小さいか否かを判定する（Ｓ６０６）。最小Ｙ座標が、描画範囲上端の値より小さい場合（Ｓ６０６：ＹＥＳ）、Ｓ６０７の処理に移行する。最小Ｙ座標が、描画範囲上端の値より小さくない場合（Ｓ６０６：ＮＯ）、処理はＳ６０８に移行する（Ｓ６０６）。
【００７４】
Ｓ６０７では、単語描画範囲検出処理部３０３は、描画範囲上端の値を、最小Ｙ座標の値に更新する。その後、処理はＳ６０８に進む。
【００７５】
Ｓ６０８では、単語描画範囲検出処理部３０３は、最大Ｙ座標が、描画範囲下端の値より大きいか否かを判定する。最大Ｙ座標が、描画範囲下端の値より大きい場合（Ｓ６０８：ＹＥＳ）、処理はＳ６０９に移行する。最大Ｙ座標が、描画範囲下端の値より大きくない場合（Ｓ６０８：ＮＯ）、処理はＳ６１０に移行する。
【００７６】
Ｓ６０９では、単語描画範囲検出処理部３０３は、描画範囲下端の値を、最大Ｙ座標の値に更新する。その後、処理はＳ６１０に移行する。
【００７７】
Ｓ６１０では、単語描画範囲検出処理部３０３は、交点座標リストに格納された全ての要素の処理が終了しているか否かを判定し、終了していなければ処理はＳ６０４に移行し、終了している場合はＳ６１１に移行する。
【００７８】
Ｓ６１１では、単語描画範囲検出処理部３０３は、ユーザが引いた線の最小Ｘ座標及び最大Ｘ座標を検出し、それぞれを描画範囲左端及び描画範囲右端とする。
【００７９】
単語描画範囲検出処理部３０３は、以上の処理で検出した、描画範囲上端、下端、左端、右端で定まる矩形領域を、検出した単語描画範囲の結果として出力する。
【００８０】
以上で、単語描画範囲検出処理Ｓ６００は終了する（Ｓ６１２）。
【００８１】
尚、以上に示した単語描画範囲検出処理Ｓ６００は、単語描画範囲の検出方法の一例に過ぎず、単語描画範囲は他のアルゴリズムにより検出してもよい。
【００８２】
以上に説明したように、本実施形態のキーワード検出システム１によれば、ユーザがキーワードの記載箇所を線でなぞるだけで描画範囲を特定され、単語ラベルを半自動で決定する。そのため、ユーザは煩雑な作業である矩形描画とラベル選択の作業を強いられることがなく、アノテーションの定義におけるユーザの負荷を大きく軽減することができる。
【００８３】
また単語ラベル決定処理部３０１は、ユーザとの間の対話処理により得られる情報に基づきモデル（一文字認識モデル３１３、単語認識モデル３２３、キーワード検出モデル３３）の再学習を行い、推論器（一文字認識推論器３１２、単語認識推論器３２２、キーワード検出推論器３３２）による判定精度（文字ラベル、単語ラベル、キーワードの判定精度）を向上させる。そのため、文書画像リポジトリ３０７における文書画像データから高い精度でキーワードを検出するキーワード検出装置１０を実現することができる。
【００８４】
ところで、例えば、キーワード検出推論器３３２がユーザに文書画像データから検出したキーワードを提示した際、ユーザからキーワードの修正操作を受け付けて、キーワード検出モデル３３３の再学習を行うようにしてもよい。具体的には、まずキーワード検出推論器３３２が、文書画像リポジトリ３０７から読み出した文書画像データについてキーワードとその単語描画範囲を検出し、これらを文書画像データとともにユーザＩ／Ｆ３０２に送信し、ユーザＩ／Ｆ３０２が、当該文書画像データの上に、検出したキーワードの単語ラベルと、描画領域を示す矩形を描画した画像を表示するようにする。そしてユーザＩ／Ｆ３０２が表示する内容を確認したユーザが、図４に示した同様の手順で修正操作を行った場合に、図５に示したフローチャートのＳ５０４〜Ｓ５１３に準じた手順でキーワード検出モデル学習器３３４がキーワード検出モデル３３３の再学習を行う（即ち、当該誤りを補正するすためのキーワード埋込画像データを生成し、生成したキーワード埋込画像データを学習データとしてキーワード検出モデル３３３の再学習を行う）ようにする。そのようにすることで、キーワード検出推論器３３２の文書画像データからのキーワードの検出精度を向上することができる。
【００８５】
また例えば、文字分解処理部３０４が、単語画像データを分解して得た文字画像データを手書き一文字辞書３０６に追加するようにしてもよい。そのようにすれば、単語画像合成処理部３２５やキーワード埋込画像合成処理部３３５が学習データの材料として用いる文字画像データを拡充することができ、単語ラベルの判定精度を向上することができる。
【００８６】
［第２実施形態］
第２実施形態では、第１実施形態に示したキーワード検出システム１について、ユーザがユーザＩ／Ｆ３０２が表示する文字画像データに線の描画操作を行ってからキーワード検出装置１０が判定した単語ラベルの候補を画面に表示するまでのレスポンスの向上を図る。尚、第２実施形態のキーワード検出システム１の基本的な構成は第１実施形態のキーワード検出システム１の構成と同様である。以下、第１実施形態と相違する部分を中心として説明する。
【００８７】
第１実施形態では、ユーザによる線の描画操作が完了した後に単語認識推論器３２２による単語ラベルの判定が開始されるが、単語認識推論器３２２による推論処理にはある程度の時間を要するため、ユーザが線を引き終ってから単語ラベルが表示されるまで人が感知可能な程度の待ち時間が発生し、ユーザにストレスを与えてしまう。そこで第２実施形態では、単語認識推論機３２２による推論処理をパイプライン処理により行うようにし、ユーザの線の描画操作の完了を待たずに、ユーザの描画操作に追随して、候補の単語ラベルを随時表示するようにし、例えば、ユーザが単語ラベルの判定結果を確認してから線引きの操作を終えることができるようにする。
【００８８】
図７は、ユーザが文字画像データに線の描画操作を行っている際に単語認識モデル３２３がパイプライン方式で逐次処理を行う様子を説明する図である。尚、本実施形態では、一例として、単語認識推論機３２２による単語ラベルの推論手法として深層学習を想定する。尚、深層学習におけるデータフローは、各層（処理レイヤ）を単位とするパイプライン処理による並列性と親和性がよい。
【００８９】
同図において、符号７０１で示す線は時間遷移を表す。符号７１１〜７１５で示す各図は、ユーザが線の描画操作を行う文字画像データであり、順に時刻ｔ１〜ｔ５における状態を示す。
【００９０】
符号７２０で示す図（ニューラルネットワークの模式図）は、前述した単語認識モデル３２３を模式的に示したものである。同図に示すように、単語認識モデル３２３は、入力層Ｌ１、隠れ層Ｌ２、出力層Ｌ３の３つの層を有する。文字画像データ７１１〜７１５の夫々の下方に符号７３１〜７３５で示す各長方形は、単語認識モデル３２３の各層の処理状態を示す。
【００９１】
前述したように、単語認識推論器３２２は、入力データを単語認識モデル３２３に入力し、その処理結果を単語ラベルとして取得する。
【００９２】
時刻ｔ１の状態は、線の引き始めであり、「メッセージ」の２文字目までが単語描画範囲として検出され、その範囲で切出された画像データが、画像データ１として入力層Ｌ１で処理されている。時刻ｔ２で切り出される画像データ２までは、先頭の一部の文字しか含まないため、推論に失敗している（「？」が表示される）。また画像データ２は、時刻ｔ４に出力層Ｌ３まで処理されているが、やはり推論不能と判定されている（「？」が表示される）。
【００９３】
時刻ｔ３の状態において、ユーザの描画線が最後の文字にかかると、その最後の文字までを含む画像データ３が、入力層Ｌ１に入力される。この画像データ３は、時刻ｔ５に出
力層Ｌ３まで処理され、正しく推論された単語ラベル（本例では「メッセージ」）が表示される。この時点においてユーザは線の描画を完了していないが、先行して単語ラベルを確認することができる。そのため、ユーザは待ち時間によるストレスを感じることなく作業を行うことができる。
【００９４】
ところで、例えば、時刻ｔ２の時点でユーザの引く線がさらに右に延びることを予測し、その予測線と交差する文字の描画範囲を先行して検出することで、単語ラベルの表示タイミングを更に早めるようにしてもよい。
【００９５】
尚、ＦＰＧＡは、このようなパイプライン処理の実行に適しており、単語認識モデル３２３の処理をＦＰＧＡで実行すれば、レスポンスの改善についての相乗効果が期待できる。またマルチコアプロセッサやマルチソケット、或いは、複数のＧＰＵによるパイプライン処理で実現することによってもレスポンスの改善効果を期待できる。またパイプライン処理を行わず、個々のデータについて入力層Ｌ１から出力層Ｌ３まで一つずつ処理を実行する場合でも、先行して単語描画範囲を検出することによるレスポンス改善の効果が期待できる。
【００９６】
ところで、単語認識推論器３２２と単語認識モデル学習器３２４は、いずれも処理に際して単語認識モデル３２３を利用するため、前者が処理する入力データと後者が処理する学習データをシリアライズしてパイプライン処理に入力する必要がある。
【００９７】
図８は、単語認識推論器３２２による入力データの処理と、単語認識モデル学習器３２４による学習データの処理を混合（シリアライズ）してパイプライン処理により行う様子を説明する図である。
【００９８】
同図において、符号８０１で示す線は時間の遷移を示す。符号８１１〜８２０で示す３つの正方形は、夫々時刻ｔ１〜ｔ１０における単語認識モデル３２３の各層の処理状態を示す。正方形内に記載している「学ｎ」は、単語認識モデル学習器３２４が単語認識モデル３２３に入力するｎ番目の学習データを、「入ｍ」は、単語認識モデル学習器３２４が単語認識モデル３２３に入力するｍ番目の入力データを示している。
【００９９】
同図に示すように、時刻ｔ１〜ｔ７では、学習データ１、学習データ２、入力データ１、学習データ３、入力データ２、入力データ３、学習データ４が、単語認識モデル３２３に順次入力され、時刻ｔ３〜ｔ９において各データの処理が完了する。ここで学習データよりも入力データを優先して処理するようにすれば、ユーザに与えるストレスを低減することができる。
【０１００】
図９は、以上のように単語認識推論器３２２による入力データの処理と、単語認識モデル学習器３２４による学習データの処理を混合して進める場合におけるキーワード検出システム１の構成例を示すブロック図である。
【０１０１】
同図に示すように、本例では、図３に示した単語描画範囲検出処理部３０３の代わりに、キーワード検出装置１０に、逐次単語描画範囲検出処理部９０１と単語認識パイプライン制御処理部９０２とを設けている。例示するキーワード検出システム１の他の構成については第１実施形態と同様である。
【０１０２】
逐次単語描画範囲検出処理部９０１は、単語ラベル決定処理部３０１を経由して、ユーザＩ／Ｆ３０２からユーザが線を描画している途中においても操作情報を逐次受信し、単語描画範囲が変化する都度、単語認識パイプライン制御処理部９０２に対して、同単語描画範囲で切出した単語画像データについての単語ラベルの判定を指示する。
【０１０３】
単語認識パイプライン制御処理９０２は、上記指示を受けると、単語認識モデル学習器３２４からの単語認識モデル３２３への学習データの入力をサスペンドするとともに、単語認識推論器３２２に対して、入力データ（逐次単語描画範囲検出処理部９０１から受け取った単語描画範囲に基き文書画像データから切出した単語画像データ）についての単語ラベルの判定を指示する。
【０１０４】
図１０は、図９に示した逐次単語描画範囲検出処理部９０１が単語描画範囲の検出に際して行う処理（以下、「単語描画範囲検出処理Ｓ１０００」と称する。）を説明するフローチャートである。
【０１０５】
単語描画範囲検出処理Ｓ１０００は、逐次単語描画範囲検出処理部９０１が、単語ラベル決定処理部３０１から、ユーザによる線引き開始の座標（操作情報）を受け取ることにより開始される（Ｓ１００１）。
【０１０６】
逐次単語描画範囲検出処理部９０１は、まず描画範囲左端（変数）と描画範囲右端（変数）の値を、ユーザによる線引き開始座標のＸ座標の値に、描画範囲上端（変数）と描画範囲下端（変数）の値を、Ｙ座標の値に、それぞれ初期化する（Ｓ１００２）。
【０１０７】
Ｓ１００３〜Ｓ１０１６までのループ処理は、逐次単語描画範囲検出処理部９０１は、ユーザが線を引いている期間、描画中の座標について繰り返し実行される）。
【０１０８】
Ｓ１００４では、逐次単語描画範囲検出処理部９０１は、ユーザが描画する線が、文字描画ドットを通過したか否かを判定する。通過している場合（Ｓ１００４：ＹＥＳ）、処理はＳ１００５に移行する。通過していない場合（Ｓ１００４：ＮＯ）、処理はＳ１００６に移行する。
【０１０９】
Ｓ１００５では、逐次単語描画範囲検出処理部９０１は、Ｓ１００４にて通過したドットの座標を起点として、文字描画ドットが連続している領域を辿り、その最小Ｘ座標、最小Ｙ座標、最大Ｘ座標、及び最大Ｙ座標を検出する。また、逐次単語描画範囲検出処理部９０１は、範囲変化フラグ（真理値変数）を「Ｆａｌｓｅ」に設定する。
【０１１０】
Ｓ１００６では、逐次単語描画範囲検出処理部９０１は、最小Ｘ座標が、描画範囲左端の値より小さいか否かを判定する。最小Ｘ座標が、描画範囲左端の値より小さい場合（Ｓ１００６：ＹＥＳ）、処理はＳ１００７に移行する。最小Ｘ座標が、描画範囲左端の値より小さくない場合（Ｓ１００６：ＮＯ）、処理はＳ１００８に移行する。
【０１１１】
Ｓ１００７では、逐次単語描画範囲検出処理部９０１は、描画範囲左端の値を、最小Ｘ座標の値に更新し、範囲変化フラグを「Ｔｒｕｅ」に設定する。
【０１１２】
Ｓ１００８では、逐次単語描画範囲検出処理部９０１は、最大Ｘ座標が、描画範囲右端の値より大きいか否かを判定する。最大Ｘ座標が、描画範囲右端の値より大きい場合（Ｓ１００８：ＹＥＳ）、処理はＳ１００９に移行する。最大Ｘ座標が、描画範囲右端の値より大きくない場合（Ｓ１００８：ＮＯ）、Ｓ１０１０に移行する。
【０１１３】
Ｓ１００９では、逐次単語描画範囲検出処理部９０１は、描画範囲右端の値を、最大Ｘ座標の値に更新し、範囲変化フラグを「Ｔｒｕｅ」に設定する。
【０１１４】
Ｓ１０１０では、逐次単語描画範囲検出処理部９０１は、最小Ｙ座標が、描画範囲上端の値より小さいか否かを判定する。最小Ｙ座標が、描画範囲上端の値より小さい場合（Ｓ
１０１０：ＹＥＳ）、処理はＳ１０１１に移行する。最小Ｙ座標が、描画範囲上端の値より小さくない場合（Ｓ１０１０：ＮＯ）、処理はＳ１０１２に移行する。
【０１１５】
Ｓ１０１１では、逐次単語描画範囲検出処理部９０１は、描画範囲上端の値を、最小Ｙ座標の値に更新し、範囲変化フラグを「Ｔｒｕｅ」に設定する。
【０１１６】
Ｓ１０１２では、逐次単語描画範囲検出処理部９０１は、最大Ｙ座標が、描画範囲下端の値より大きいか否かを判定する。最大Ｙ座標が、描画範囲下端の値より大きい場合（Ｓ１０１２：ＹＥＳ）、処理はＳ１０１３に移行する。最大Ｙ座標が、描画範囲下端の値より大きくない場合（Ｓ１０１２：ＮＯ）、処理はＳ１０１４に移行する。
【０１１７】
Ｓ１０１３では、逐次単語描画範囲検出処理部９０１は、描画範囲下端の値を、最大Ｙ座標の値に更新し、範囲変化フラグを「Ｔｒｕｅ」に設定する。
【０１１８】
Ｓ１０１４では、逐次単語描画範囲検出処理部９０１は、範囲変化フラグが「Ｔｒｕｅ」か否かを判定する。範囲変化フラグが「Ｔｒｕｅ」ならば（Ｓ１０１４：ＹＥＳ）、処理はＳ１０１５に移行する。範囲変化フラグが「Ｔｒｕｅ」でなければ（Ｓ１０１４：ＮＯ）、処理はＳ１０１６に移行する。
【０１１９】
Ｓ１０１５では、逐次単語描画範囲検出処理部９０１は、描画範囲上端、下端、左端、右端で定まる矩形領域を、単語描画範囲として、単語認識パイプライン制御処理９０２に渡す。
【０１２０】
Ｓ１０１６では、逐次単語描画範囲検出処理部９０１は、ユーザが線の描画を継続中か否かを判定し、継続中であれば処理はＳ１００３に移行する。ユーザが線の描画を終了した場合、処理はＳ１０１７に移行する。
【０１２１】
Ｓ１０１７では、単語認識パイプライン制御処理９０２が、単語認識推論器３２２から受け取った最後の単語ラベルを、当該キーワードの単語ラベルとして、処理を終了する。
【０１２２】
尚、本発明における単語描画範囲検出の手順は、本フローチャートに限定するものではなく、ユーザ操作で描画された線が通過する、文書画像データ上の文字画像の全てを、丁度囲むような矩形領域を逐次的に検出する、他のアルゴリズムによるものであってもよい。
【０１２３】
以上、本発明の一実施形態について詳細に説明したが、本発明は上記の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、説明した全ての構成を備えるものに必ずしも限定されるものではない。また上記実施形態の構成の一部について、他の構成の追加や削除、置換をすることが可能である。
【０１２４】
また上記の各構成、機能部、処理部、処理手段等は、それらの一部または全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、ＩＣ
カード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０１２５】
また上記の各図において、制御線や情報線は説明上必要と考えられるものを示しており
、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。例えば、実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【０１２６】
また以上に説明した各情報処理装置の各種機能部、各種処理部、各種データベースの配置形態は一例に過ぎない。各種機能部、各種処理部、各種データベースの配置形態は、これらの装置が備えるハードウェアやソフトウェアの性能、処理効率、通信効率等の観点から最適な配置形態に変更し得る。
【０１２７】
また前述した各種のデータを格納するデータベースの構成（スキーマ（Schema）等）は、リソースの効率的な利用、処理効率向上、アクセス効率向上、検索効率向上等の観点から柔軟に変更し得る。
【符号の説明】
【０１２８】
１  キーワード検出システム、２  ユーザ装置、１０  キーワード検出装置、３０１単語ラベル決定処理部、３０２  ユーザＩ／Ｆ、３０３  単語描画範囲検出処理部、３０４  文字分解処理部、３０５  キーワードリスト、３０６  手書き一文字辞書、３０７  文書画像リポジトリ、３１１  一文字認識処理部、３１２  一文字認識推論器、３１３  一文字認識モデル、３１４  一文字認識モデル学習器、３１５  文字画像抽出処理部、３１６
文字画像データ、３２１  単語認識処理部、３２２  単語認識推論器、３２３  単語認識モデル、３２４  単語認識モデル学習器、３２５  単語画像合成処理部、３３１  キーワード検出処理部、３３２  キーワード検出推論器、３３３  キーワード検出モデル、３３４  キーワード検出モデル学習器、３３５  キーワード埋込画像合成処理部、３３６  キーワード埋込画像データ、９０１  逐次単語描画範囲検出処理部、９０２  単語認識パイプライン制御処理、Ｓ５００  単語ラベル決定処理、Ｓ６００  単語描画範囲検出処理
【図１】
2020204855.tif 000003
【図２】
2020204855.tif 000004
【図３】
2020204855.tif 000005
【図４】
2020204855.tif 000006
【図５】
2020204855.tif 000007
【図６】
2020204855.tif 000008
【図７】
2020204855.tif 000009
【図８】
2020204855.tif 000010
【図９】
2020204855.tif 000011
【図１０】
2020204855.tif 000012