(57)【要約】【課題】画像データから認識した文字の誤りを検出又は補正することができる情報処理装置等を提供する。【解決手段】情報処理装置１は、文字画像を含む画像データを取得する取得部と、前記文字画像に対応する文字及び座標を認識する認識部と、前記画像データを構成する各要素を識別する際のルールを規定する構造化テーブルを参照、又は前記画像データを構成する各要素を識別する構造識別器を用いて、前記文字を含む前記画像データの各要素の構造を特定する特定部と、特定した構造に基づき、前記文字の誤りを検出、又は誤りである前記文字を補正する文字処理部とを備えることを特徴とする。【選択図】図１
2020166658.tif 000002
【特許請求の範囲】
【請求項１】
文字画像を含む画像データを取得する取得部と、
前記文字画像に対応する文字及び座標を認識する認識部と、
前記画像データを構成する各要素を識別する際のルールを規定する構造化テーブルを参照、又は前記画像データを構成する各要素を識別する構造識別器を用いて、前記文字を含む前記画像データの各要素の構造を特定する特定部と、
特定した構造に基づき、前記文字の誤りを検出、又は誤りである前記文字を補正する文字処理部と
を備えることを特徴とする情報処理装置。
【請求項２】
前記認識部は、前記文字画像をテキストデータに変換する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記文字処理部は、文章群を学習済みの識別器を用いて、前記文字の誤りを検出又は補正する
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記文字処理部は、一又は複数の前記識別器を用いて前記文字の誤りを検出又は補正する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記文字処理部は、前記文章に出現する文字の並び順を学習済みの前記識別器を用いて、前記文字の誤りを検出又は補正する
ことを特徴とする請求項３又は４に記載の情報処理装置。
【請求項６】
前記文字処理部は、前記文章に出現する文字の並び順を、該文章の順に学習済みの第１の前記識別器と、前記文章の先頭から末尾までを逆順序に並び替えた前記文章の順に学習済みの第２の前記識別器とを用いて前記文字の誤りを検出又は補正する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記文字処理部は、正解の前記文章と、該正解の文章に対応する文章であって、誤りの文字を含む文章とを学習済みの前記識別器を用いて前記文字の誤りを検出又は補正する
ことを特徴とする請求項３〜６のいずれか１項に記載の情報処理装置。
【請求項８】
前記正解の文章は、文字画像を含む学習用の画像データにおいて、前記文字画像に対応付けられたテキストデータであり、
前記誤りの文字を含む文章は、前記認識部が前記学習用の画像データに含まれる前記文字画像を変換したテキストデータである
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
文字画像を含む画像データを取得し、
前記文字画像に対応する文字及び座標を認識し、
前記画像データを構成する各要素を識別する際のルールを規定する構造化テーブルを参照、又は前記画像データを構成する各要素を識別する構造識別器を用いて、前記文字を含む前記画像データの各要素の構造を特定し、
特定した構造に基づき、前記文字の誤りを検出、又は誤りである前記文字を補正する
処理をコンピュータに実行させることを特徴とする情報処理方法。
【請求項１０】
文字画像を含む画像データを取得し、
前記文字画像に対応する文字及び座標を認識し、
前記画像データを構成する各要素を識別する際のルールを規定する構造化テーブルを参照、又は前記画像データを構成する各要素を識別する構造識別器を用いて、前記文字を含む前記画像データの各要素の構造を特定し、
特定した構造に基づき、前記文字の誤りを検出、又は誤りである前記文字を補正する
処理をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
ＯＣＲ（Optical Character Recognition）等の手段を用いて文書等の画像データから文字を認識し、認識した文字から文書等の誤りを検出する技術がある。例えば特許文献１では、校閲対象の原稿画像をＯＣＲ処理でテキストデータに変換し、変換したテキストデータから、原稿内の誤り表記と、誤り表記を修正した正規表記とを検出して、誤り表記及び正規表記を原稿画像に合成した校閲結果画像を生成する画像処理装置等が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−６７１５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に係る発明は元々の原稿の誤りを検出するのみで、画像データから文字を認識する際の誤認識も含めて誤りを検出するに至っていない。
【０００５】
一つの側面では、画像データから認識した文字の誤りを検出又は補正することができる情報処理装置等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
一つの側面に係る情報処理装置は、文字画像を含む画像データを取得する取得部と、前記文字画像に対応する文字及び座標を認識する認識部と、前記画像データを構成する各要素を識別する際のルールを規定する構造化テーブルを参照、又は前記画像データを構成する各要素を識別する構造識別器を用いて、前記文字を含む前記画像データの各要素の構造を特定する特定部と、特定した構造に基づき、前記文字の誤りを検出、又は誤りである前記文字を補正する文字処理部とを備えることを特徴とする。
【発明の効果】
【０００７】
一つの側面では、画像データから認識した文字の誤りを検出又は補正することができる。
【図面の簡単な説明】
【０００８】
【図１】文書処理システムの構成例を示す模式図である。
【図２】サーバの構成例を示すブロック図である。
【図３】文字認識処理に関する説明図である。
【図４】構造化データ及び非構造化データの比較例を示す説明図である。
【図５】構造化処理に関する説明図である。
【図６】正順序モデル及び逆順序モデルに関する説明図である。
【図７】誤り補正モデルに関する説明図である。
【図８】正順序モデル及び逆順序モデルの生成処理の手順を示すフローチャートである。
【図９】誤り補正モデルの生成処理の手順を示すフローチャートである。
【図１０】誤り検出処理の手順を示すフローチャートである。
【図１１】実施の形態２に係るサーバの構成例を示すブロック図である。
【図１２】構造化モデルに関する説明図である。
【図１３】構造化モデルの生成処理の手順を示すフローチャートである。
【図１４】上述した形態のサーバの動作を示す機能ブロック図である。
【発明を実施するための形態】
【０００９】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
（実施の形態１）
図１は、文書処理システムの構成例を示す模式図である。本実施の形態では、文書画像（画像データ）から文書内の文字を認識し、認識した文字の誤りを検出して正しい文字に補正する文書処理システムについて説明する。文書処理システムは、情報処理装置１及び端末２を含む。各装置は、インターネット等のネットワークＮを介して相互に通信接続されている。
【００１０】
なお、本実施の形態では処理対象とする画像データが「文書」に係る画像であるものとするが、本システムでは文字画像を含む画像データから文字を認識し、認識した文字の誤りを検出又は補正可能であればよく、処理対象とする画像データは文書画像に限定されない。例えばイラスト、写真等を処理対象としてもよい。また、画像データに含まれる文字画像は印刷文字に限定されず、例えば手書きで記入された文字などであってもよい。
【００１１】
情報処理装置１は、種々の情報処理、情報の送受信を行う装置であり、例えばサーバ装置、パーソナルコンピュータ等である。本実施の形態において情報処理装置１はサーバ装置であるものとし、以下では簡潔のためサーバ１と読み替える。サーバ１は、テキストデータ（文字コード等）が付与されていない文書画像（例えば文書をスキャナで読み取ったＰＤＦファイル）から、ＯＣＲ等の手段で文書内の文字を認識し、認識した文字の誤りを検出、補正する。
【００１２】
端末２は、サーバ１に接続されたクライアント端末であり、例えばパーソナルコンピュータ等である。例えばサーバ１は、ネットワークＮを介して端末２から文書画像を取得し、取得した文書画像を対象として後述の処理を行う。
【００１３】
なお、本実施の形態ではクラウド上のサーバ１が処理を行うものとして説明するが、ローカル装置（例えば端末２）で一連の処理を行ってもよい。
【００１４】
図２は、サーバ１の構成例を示すブロック図である。サーバ１は、制御部１１、主記憶部１２、通信部１３、補助記憶部１４を有する。
制御部１１は、一又は複数のＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro-Processing Unit）、ＧＰＵ（Graphics Processing Unit）等の演算処理装置を有し、補助記憶部１４に記憶されたプログラムＰを読み出して実行することにより、種々の情報処理、制御処理等を行う。主記憶部１２は、ＳＲＡＭ（Static Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）、フラッシュメモリ等の一時記憶領域であり、制御部１１が演算処理を実行するために必要なデータを一時的に記憶する。通信部１３は、通信に関する処理を行うための通信モジュールであり、外部と情報の送受信を行う。
【００１５】
補助記憶部１４は、ハードディスク、大容量メモリ等の不揮発性記憶領域であり、制御部１１が処理を実行するために必要なプログラムＰ、その他のデータを記憶している。また、補助記憶部１４は、構造化テーブル１４１、正順序モデル１４２、逆順序モデル１４３、及び誤り補正モデル１４４を記憶している。構造化テーブル１４１は、非構造化データである文書画像から構造化データに変換するためのルールを規定するテーブルである。正順序モデル１４２は、文章内に出現する文字列の並び順を、文章通りの正順序で学習済みの学習済みモデルである。逆順序モデル１４３は、文章内に出現する文字列の出現順序を、文章の並び順とは逆順序で学習済みの学習済みモデルである。誤り補正モデル１４４は、正しく表記された文章と、誤りを含む文章とのペアを学習することで誤りの出現パターンを学習済みの学習済みモデルである。
【００１６】
なお、補助記憶部１４はサーバ１に接続された外部記憶装置であってもよい。また、サーバ１は複数のコンピュータからなるマルチコンピュータであっても良く、ソフトウェアによって仮想的に構築された仮想マシンであってもよい。
【００１７】
また、本実施の形態においてサーバ１は上記の構成に限られず、例えば操作入力を受け付ける入力部、画像を表示する表示部等を含んでもよい。また、サーバ１は、ＣＤ（Compact Disk）−ＲＯＭ、ＤＶＤ（Digital Versatile Disc）−ＲＯＭ等の可搬型記憶媒体１ａを読み取る読取部を備え、可搬型記憶媒体１ａからプログラムＰを読み取って実行するようにしても良い。あるいはサーバ１は、半導体メモリ１ｂからプログラムＰを読み込んでも良い。
【００１８】
図３は、文字認識処理に関する説明図である。図３では、文書画像内の文字と、当該文字の座標とを認識する様子を概念的に図示している。
端末２から文書画像（画像データ）を取得した場合、サーバ１は、取得した文書画像内の各文字画像（画像領域）を識別し、当該文字画像に対応する文字を認識する。例えばサーバ１は、ＯＣＲ処理を行って文字画像をテキストデータに変換する。
【００１９】
なお、本明細書で「テキストデータ」とは、文字画像に対応する文字を表すデータであって、コンピュータが文字を解釈して表示するために必要なデータを意味する。テキストデータは、例えばプレーンテキスト（文字コード情報）であってもよく、プレーンテキストに加えてフォント、文字サイズ等の情報を含むデータであってもよい。
【００２０】
サーバ１は、文字画像をテキストデータに変換すると共に、文字画像に対応する文字の文書画像内での座標を特定する。サーバ１は、特定した座標に変換したテキストデータを挿入し、文書画像に各文字の情報を付加した文書ファイルを生成する。
【００２１】
サーバ１は、生成した文書ファイルを、ＸＭＬファイル等の構造化データに変換する処理を行い、文章構造を特定する。サーバ１は、特定した文章構造に基づいてテキストデータを抽出し、当該テキストデータの誤りを検出する。
【００２２】
図４は、構造化データ及び非構造化データの比較例を示す説明図である。図４では、同一の文書について、構造化されているデータと、構造化されていないデータとを概念的に図示している。
【００２３】
構造化データに変換する処理を行わずに文書ファイルからテキストデータの抽出を行った場合、文書レイアウトの違い等に起因して、誤字、脱字等の誤認識が発生する恐れがある。例えば図４左下に示すように、不適切な位置に不適切なテキスト（図４では文書タイトルの「業績の概要」）が挿入される場合、あるいは不適切な箇所で改行、スペース等が挿入される場合などが生じ得る。
【００２４】
そこで本実施の形態では、図４右下に示すように、非構造化データである文書ファイルを構造化データに変換する。サーバ１は、構造化した文書ファイルから正しいテキストのまとまり（構造）を特定して、後述の誤り検出を行う。
【００２５】
図５は、構造化処理に関する説明図である。図５では、文書ファイルを構造化データに変換する様子を概念的に図示している。
例えばサーバ１は、文章構造を特定するためのルールを規定する構造化テーブル１４１を参照して、文書ファイルを、文書画像を構成する所定の基本要素毎に構造化した構造化データに変換する。文書の要素とは、例えば文書のタイトル、本文、写真、図表、キャプション等であるが、文書画像を所定単位で分割した要素であればよく、その内容（分割単位）は特に限定されない。構造化テーブル１４１は、文書画像を構成する各要素について、各要素を識別する上で基準とするルールと、各要素に対して付与すべきメタデータとを格納してある。
【００２６】
例えば構造化テーブル１４１は、タイトル、本文、写真、図表、キャプション等の各要素について、各要素を識別する上で基準とする文字サイズ、フォント、文書内での座標位置、座標範囲等の情報（ルール）を格納してある。サーバ１は、構造化テーブル１４１を参照して、文書ファイルから各要素を識別する。
【００２７】
サーバ１は、識別した各要素に対してメタデータを付与する。メタデータは、各要素を定義付けるタグ情報であり、各要素にタグ付けされるタグ名、あるいはタグ内の情報として格納される属性値などである。例えば図４右下に図示したように、文書のタイトルに該当する要素であれば「ｔｉｔｌｅ」、サブタイトルに該当する要素であれば「ｓｅｃｔｉｏｎ」がメタデータ（タグ名）として付与される。
【００２８】
上述の如く、サーバ１は、各要素を識別する際のルールを規定する構造化テーブル１４１を参照して、文書ファイルを構成する各要素を識別し、メタデータを付与する。そしてサーバ１は、図５右上に図示するように、非構造化データである文書ファイルを構造化した構造化データを生成する。これにより、図４右下に図示したように、文書ファイルのテキストデータについて、正しい文字順序、改行位置等を認識することができる。
【００２９】
サーバ１は、上記で生成した構造化データに基づいてテキストデータを抽出し、抽出したテキストデータに誤りがあるか否か、誤り検出を行う。本実施の形態でサーバ１は、文章群（文書コーパス）から生成した正順序モデル１４２、逆順序モデル１４３、及び誤り補正モデル１４４の３種類のモデル（識別器）を用いて誤り検出を行う。
【００３０】
なお、これらのモデルは、タグに関係なくテキストデータ全体を使って生成することもあれば、タグごとにモデルを生成することも考える。例えば、上記の「ｔｉｔｌｅ」のテキストデータを対象としたモデルや、「ｓｅｃｔｉｏｎ」のテキストデータを対象としたモデルを生成するといった場合である。
【００３１】
図６は、正順序モデル１４２及び逆順序モデル１４３に関する説明図である。図６では、正順序モデル１４２（第１の識別器）及び逆順序モデル１４３（第２の識別器）を用いた誤り検出処理を概念的に図示している。図６に基づき、正順序モデル１４２及び逆順序モデル１４３について説明する。
【００３２】
正順序モデル１４２及び逆順序モデル１４３はそれぞれ、文書コーパスに出現する文字列の並び順（出現順序）を学習した学習済みモデル（識別器）であって、例えば深層学習により生成されるニューラルネットワークである。具体的には、正順序モデル１４２及び逆順序モデル１４３は、ＲＮＮ（Recurrent Neural Network）の一種であるＬＳＴＭ（Long Short-Term Memory）により作成される。
【００３３】
なお、ＬＳＴＭは正順序モデル１４２及び逆順序モデル１４３の一例であって、正順序モデル１４２及び逆順序モデル１４３は、その他の深層学習など、他のアルゴリズムに係る学習済みモデルであってもよい。また、Ｎ−ｇｒａｍ、分かち書きなど、他の文字の切り分けに係る学習済みモデルであってもよい。
【００３４】
正順序モデル１４２及び逆順序モデル１４３は、文章内で出現する各文字列のデータの入力を受け付けるための入力層と、各文字列に続いて出現する文字列の推定結果を出力する出力層と、入力層及び出力層の間の演算処理を行う中間層（隠れ層）とを有する。入力層は、文章における出現順序に従って、文章内に出現する各文字列のデータの入力をそれぞれ受け付ける複数のニューロンを有する。中間層は、入力層の各ニューロンに対応して、入力層と出力層との間の演算を行うための複数のニューロンを有する。中間層のニューロンはＬＳＴＭブロックと呼ばれ、中間層における過去時点の演算結果を用いて次の時点での入力値に関する演算を行うことで、直近時点までの時系列的なデータから次の時点の値を演算する。出力層は、中間層から出力された演算値に基づき、入力層の対応するニューロンに入力された文字列に続く文字列の推定結果を表す出力値を出力する。
【００３５】
正順序モデル１４２を生成する場合、サーバ１は文書コーパスの文章を所定単位の文字列毎に分割し、分割した各文字列を、文章内での並び順（正順序）に従って入力層に順次入力する。文章の分割単位は、例えば一文字ずつの文字単位であるが、本実施の形態はこれに限定されるものではなく、例えば単語単位で分割してもよい。サーバ１は、文章の先頭から続く一又は複数の文字列を順次入力し、当該一又は複数の文字列に続く次の文字列を推定した推定結果を出力層から取得する。例えば出力層は、図６に示すように、推定された次の文字列と、当該文字列の生起確率とを推定結果として出力する。
【００３６】
サーバ１は、推定された文字列を、実際に文章に出現する正解の文字列と比較し、両者が近似するように、各ニューロン間の重み、活性化関数の係数等の各種パラメータの最適化を行う。サーバ１は、文書コーパスの各文章について上記の処理を行い、正順序モデル１４２を生成する。
【００３７】
逆順序モデル１４３を生成する場合、サーバ１は、文書コーパスの文章を分割した各文字列の並び順を、先頭及び末尾を入れ換えた逆順序に変換する。サーバ１は、変換後の並び順で各文字列を入力層に順次入力し、元の文章において末尾から続く一又は複数の文字列に基づき、当該一又は複数の文字列の直前に出現する文字列を推定した推定結果を出力層から取得する。サーバ１は、推定された文字列を正解の文字列と比較し、両者が近似するように各種パラメータを最適化して逆順序モデル１４３を生成する。
【００３８】
このように、サーバ１は、文章内の文字列の並び順を正順序で学習した正順序モデル１４２と、逆順序で学習した逆順序モデル１４３とを生成し、両者を用いて誤り検出を行う。
【００３９】
サーバ１は、構造化した文書ファイルからテキストデータ（文章）を抽出し、テキストデータを所定単位の文字列毎（例えば一文字ずつ）に分割する。サーバ１は、分割した各文字列をテキストデータにおける並び順（正順序）に従って正順序モデル１４２に順次入力し、各位置に出現する文字列の推定結果（生起確率）を出力として取得する。サーバ１は、推定した文字列と、文書画像から認識した文字列（文字）とを比較し、例えば生起確率が閾値以下である文字列は誤りであるものとして検出する。
【００４０】
サーバ１は、テキストデータを分割した文字列の順序を逆順序に変換し、変換後の順序（逆順序）に従って逆順序モデル１４３に順次入力する。サーバ１は、逆順序モデル１４３からテキスト内の各位置に出現する文字列を推定し、文字画像から認識した文字列と比較して、誤りを判定する。
【００４１】
図７は、誤り補正モデル１４４に関する説明図である。図７では、誤りを含まない正解の文章と、誤りを含む文章とをペアで学習することで、誤りの出現パターンを学習済みの誤り補正モデル１４４を用いた誤り検出処理を概念的に図示している。
【００４２】
誤り補正モデル１４４は、正順序モデル１４２、逆順序モデル１４３と同様に深層学習により生成された学習済みモデルであり、例えばＳｅｑｕｅｎｃｅ−ｔｏ−Ｓｅｑｕｅｎｃｅにより生成される。サーバ１は、誤りを含まない正解文章と、正解文章に対応する文章であって、誤りを含む文章とを用いて学習を行い、誤り補正モデル１４４を生成する。
【００４３】
例えばサーバ１は、誤り補正モデル１４４を生成するための学習用データとして、テキストデータを含む文書ファイルを用いて学習を行う。
正解文章には、学習用の文書ファイルに付されているテキストデータを用いる。誤りを含む文章には、学習用の文書ファイルを画像化し、その画像に対してＯＣＲなどの文字認識を適用した結果得られる元のテキストデータとは異なる誤りを含むテキストデータを用いる。
【００４４】
誤りを含むテキストデータを得る方法として、まず、サーバ１は、学習用の文書ファイルを画像データへと変換する。そしてサーバ１は、生成した画像データに対する文字認識を行って画像データからテキストデータに再変換し、文書ファイルを生成する。すなわち、サーバ１は、図３及び図４で説明した処理と同様の手順で、画像データから文書ファイルを生成する。
【００４５】
元の文書ファイルにおけるテキストデータ（正解テキストデータ）と、生成した文書ファイルに存在するテキストデータ（誤りテキストデータ）と、の対応関係から対応付けを行うことで学習用データセットを得ることができる。なお、対応付けはテキストデータの位置関係や元データに存在するタグの参照、構造化等により行うことができる。
【００４６】
次に、サーバ１は、学習用データセットにおけるテキストデータを所定単位の文字列（例えば一文字）毎に分割し、分割した各文字列を並び順に従って誤り補正モデル１４４に順次入力する。誤り補正モデル１４４は、入力された学習用データセットの誤りテキストデータに対しての出力が正解テキストデータに近似するように各種パラメータを最適化することで学習を行う。
【００４７】
このように、サーバ１は、ＯＣＲ等で文字画像を変換したテキストデータと、学習用の文書ファイルに付されているテキストデータとを用いて、テキストデータへの変換時に発生する誤りを検出、補正するモデルを生成する。誤り検出時においてサーバ１は、図５で説明した処理によって構造化した文書ファイルからテキストデータを抽出し、誤り補正モデル１４４に入力して、テキストデータの誤りの検出及び補正を行う。
【００４８】
上述の如く、サーバ１は、正順序モデル１４２、逆順序モデル１４３、及び誤り補正モデル１４４の３種類のモデルを用いて、各々のモデルでテキストデータの誤りを検出する。例えばサーバ１は、３種類のモデルのうち、過半数（２種類以上）のモデルで同一の文字（文字列）の誤りと判定した場合、当該文字が誤りであるものとして検出する。あるいはサーバ１は、いずれかのモデルで誤りと判定した場合、判定された箇所を誤りとして検出してもよい。あるいはサーバ１は、３種類のモデルそれぞれから出力される出力値（生起確率等の確率値）に基づいて総合的な誤り判定を行い、誤りである文字を検出するようにしてもよい。
【００４９】
なお、本実施の形態では正順序モデル１４２、逆順序モデル１４３、及び誤り補正モデル１４４の３つのモデルを用いて誤り検出を行ったが、サーバ１は、上記３つのモデルの全てを搭載している必要はなく、１つまたは２つのモデルを用いて誤り検出を行ってもよい。また、上記３つのモデル以外の他のモデルを搭載し、４つ以上のモデルで誤り検出を行ってもよい。
【００５０】
誤りを検出した場合、サーバ１は、正順序モデル１４２、逆順序モデル１４３、及び／又は誤り補正モデル１４４を用いて、誤りである文字を正しい文字に補正する。例えばサーバ１は、誤り補正モデル１４４で誤りを検出した場合、誤りの文字を、誤り補正モデル１４４で補正された文字に変換する。あるいは、サーバ１は、誤り補正モデル１４４において誤りとして検出されなかったものの、正順序モデル１４２及び／又は逆順序モデル１４３において誤りとして検出された場合、正順序モデル１４２及び／又は逆順序モデル１４３から出力される推定結果に基づき、誤りとして検出された文字を、生起確率が最も高い文字に変換する。あるいはサーバ１は、３つのモデル全ての出力値に基づいて正解の文字を推定し、テキストデータを補正してもよい。
【００５１】
サーバ１は、文書ファイルのテキストデータを補正後のテキストデータに変換し、文書ファイルを端末２に出力する。なお、サーバ１は構造化データ（ＸＭＬファイル等）の形式で文書ファイルを出力してもよく、非構造化データ（ＰＤＦファイル等の画像データ）に戻して出力してもよい。これにより、サーバ１は、文字認識時の誤認識も含めて、文書内の誤りを補正した文書ファイルを提供することができる。
【００５２】
図８は、正順序モデル１４２及び逆順序モデル１４３の生成処理の手順を示すフローチャートである。図８に基づき、正順序モデル１４２及び逆順序モデル１４３を生成する機械学習の処理内容について説明する。
サーバ１の制御部１１は、正順序モデル１４２及び逆順序モデル１４３を生成するために用いる文章群（文書コーパス）を取得する（ステップＳ１１）。制御部１１は、取得した文章を所定単位の文字列毎に分割する（ステップＳ１２）。
【００５３】
制御部１１は、分割した文字列の並び順を、文章の順（正順序）で学習する機械学習を行い、正順序モデル１４２を生成する（ステップＳ１３）。具体的には、制御部１１は、分割した文字列を元の文章の並び順に従って順次入力し、先頭から順に出現する一又は複数の文字列に基づき、当該一又は複数の文字列に続く次に出現する文字列を推定した推定結果（生起確率等）を出力として取得する。制御部１１は、推定結果を正解の文字列と比較し、両者が近似するように、正順序モデル１４２の演算に用いる重み等の各種パラメータを最適化して正順序モデル１４２を生成する。
【００５４】
制御部１１は、ステップＳ１２で分割した文字列の並び順を、文章の先頭及び末尾を入れ換えた逆順序に変換する（ステップＳ１４）。制御部１１は、逆順序に変換した文字列の並び順を学習する機械学習を行い、逆順序モデル１４３を生成する（ステップＳ１５）。すなわち、制御部１１は、各文字列を逆順序で順次入力し、元の文章において末尾から順に出現する一又は複数の文字列に基づき、当該一又は複数の文字列の直前に出現する文字列を推定した推定結果を出力として取得する。制御部１１は、推定結果を正解の文字列と比較して各種パラメータの最適化を行い、逆順序モデル１４３を生成する。制御部１１は、一連の処理を終了する。
【００５５】
図９は、誤り補正モデル１４４の生成処理の手順を示すフローチャートである。図９に基づき、誤り補正モデル１４４を生成する機械学習の処理内容について説明する。
サーバ１の制御部１１は、誤り補正モデル１４４を生成するための学習用データであって、文字画像を含む文書画像に対し、各文字画像に対応するテキストデータが付与された文書ファイル群を取得する（ステップＳ３１）。制御部１１は、取得した文書ファイルからテキストデータを除去し、文書画像に変換する（ステップＳ３２）。
【００５６】
制御部１１は、ＯＣＲ等の手段で文書画像内の各文字画像をテキストデータに変換し、文書画像における当該テキストデータの座標を特定する（ステップＳ３３）。制御部１１は、変換したテキストデータを、特定した座標に挿入（付与）した文書ファイルを生成する（ステップＳ３４）。
【００５７】
制御部１１は、構造化テーブル１４１を参照して、ステップＳ３３で生成した文書ファイルと、ステップＳ３１で取得した学習用の文書ファイルとをそれぞれ構造化データに変換する（ステップＳ３５）。構造化処理を行うことにより、各文書ファイルに含まれる正解テキストデータ及び誤りテキストデータの各文の対応関係を取得することができる。また、構造化したタグごとに学習を行うことも可能である。
【００５８】
制御部１１は、構造化した各文書ファイルのテキストデータを用いて、誤り補正モデル１４４を生成する（ステップＳ３６）。具体的には、制御部１１は、ステップＳ３４で生成した文書ファイルを構造化して得たテキストデータ（文章）を誤り補正モデル１４４に入力し、誤りである文字を補正したテキストデータを出力として取得する。制御部１１は、出力されたテキストデータと、ステップＳ３１で取得した学習用の文書ファイルのテキストデータとを比較して、両者が近似するように各種パラメータを最適化して誤り補正モデル１４４を生成する。制御部１１は一連の処理を終了する。
【００５９】
図１０は、誤り検出処理の手順を示すフローチャートである。図１０に基づき、文書画像に含まれる文字画像の文字認識を行い、文字の誤りを検出する処理の処理内容について説明する。
サーバ１の制御部１１は、処理対象とする文書画像（画像データ）を取得する（ステップＳ５１）。制御部１１は、ＯＣＲ等の手段で文書画像内の各文字画像をテキストデータに変換し、文書画像における当該テキストデータの座標を特定する（ステップＳ５２）。制御部１１は、変換したテキストデータを、特定した座標に挿入（付与）した文書ファイルを生成する（ステップＳ５３）。制御部１１は、構造化テーブル１４１を参照して、生成した文書ファイル内の各要素を識別し、各要素にメタデータを付与した構造化データに変換する（ステップＳ５４）。
【００６０】
制御部１１は、構造化した文書ファイルからテキストデータを抽出し、抽出したテキストデータから誤りである文字を検出する（ステップＳ５５）。具体的には、制御部１１は、正順序モデル１４２、逆順序モデル１４３、及び誤り補正モデル１４４にそれぞれテキストデータ（文章）を入力し、複数のモデル（識別器）を用いて誤りを検出する。誤りが検出された場合、制御部１１は、正順序モデル１４２、逆順序モデル１４３、又は誤り補正モデル１４４を用いて、誤りの文字を補正する（ステップＳ５６）。制御部１１は、一連の処理を終了する。
【００６１】
なお、上記では文字認識手段としてＯＣＲを用いたが、サーバ１は文字画像に対応する文字を認識可能であればよく、例えばＩＣＲ（Intelligent Character Recognition）等の手段を用いてもよい。また、文字認識手段は光学的手段に限定されず、画像データから文字を認識可能であればよい。
【００６２】
また、上記では文書ファイル（画像データ）をＸＭＬファイル等の構造化データに変換するものとして説明したが、サーバ１は画像データの構造を特定してテキストデータ（文字）を抽出可能であればよく、構造化データへの変換は必須ではない。
【００６３】
以上より、本実施の形態１によれば、画像データから認識した文字の誤りを検出又は補正することができる。
【００６４】
また、本実施の形態１によれば、ＯＣＲ等の手段で文字画像をテキストデータに変換することで、好適に処理することができる。
【００６５】
また、本実施の形態１によれば、文章群（文書コーパス）を学習済みの学習済みモデル（識別器）を用いることで、高精度に誤りを検出又は補正することができる。
【００６６】
また、本実施の形態１によれば、複数の学習済みモデルを組み合わせることで、より高精度に誤りを検出又は補正することができる。
【００６７】
また、本実施の形態１によれば、文章内に出現する文字の並び順を学習した学習済みモデルを用いることで、前後のテキストから誤り箇所を好適に検出又は補正することができる。
【００６８】
また、本実施の形態１によれば、正順序モデル１４２及び逆順序モデル１４３を用いて誤り検出を行うことで、より高精度に誤りを検出又は補正することができる。
【００６９】
また、本実施の形態１によれば、正解の文章と、誤りを含む文章とを学習済みの学習済みモデルを用いることで、文書画像から認識した文字の誤りを好適に検出又は補正することができる。
【００７０】
また、本実施の形態１によれば、テキストデータが付与された文書画像（文書ファイル）と、テキストデータを除去した文書画像とに基づいて生成された誤り補正モデル１４４を用いることで、文字の誤りをより好適に検出又は補正することができる。
【００７１】
また、本実施の形態１によれば、構造化テーブル１４１を参照して画像データを構造化データに変換することで、文章構造を好適に特定することができる。
【００７２】
（実施の形態２）
本実施の形態では、構造化テーブル１４１に代えて、機械学習によって文章構造を学習した構造化モデル１４５を用いて文書画像の構造化を行う形態について述べる。なお、実施の形態１と重複する内容については同一の符号を付して説明を省略する。
図１１は、実施の形態２に係るサーバ１の構成例を示すブロック図である。本実施の形態に係るサーバ１の補助記憶部１４は、構造化テーブル１４１に代えて、構造化モデル１４５（構造識別器）を記憶している。構造化モデル１４５は、機械学習によって構築された学習済みモデルであり、教師用の文書画像内の各要素を識別するための構造識別器である。
【００７３】
図１２は、構造化モデル１４５に関する説明図である。非構造化データである教師用の文書ファイル（文書画像）から構造化モデル１４５を生成する様子を概念的に図示している。図１２に基づき、本実施の形態の概要を説明する。
上述の如く、本実施の形態においてサーバ１は、予めルールが設定された構造化テーブル１４１に代えて、機械学習を行うことで構築した構造化モデル１４５を用いて文書の構造化を行う。例えばサーバ１は、ＣＮＮに係るニューラルネットワーク、具体的にはセマンティックセグメンテーションに係るニューラルネットワークを構造化モデル１４５として生成し、文書の構造化処理に用いる。
【００７４】
例えばサーバ１は、文書画像に対し、当該文書を構成するタイトル、本文等の各要素について、メタデータの正解値が関連付けられた教師用の文書ファイルを用いて学習を行う。例えば図１２に示すように、教師用の文書ファイルでは、各要素に相当する領域（矩形枠で図示）に対し、メタデータの正解値に相当するタグ名が関連付けられている。サーバ１は、当該教師データを用いて構造化モデル１４５を生成する。
【００７５】
サーバ１は、教師用の文書画像を構造化モデル１４５に入力し、当該文書画像に含まれる各要素を識別した識別結果を出力として取得する。例えばサーバ１は、各要素に相当する画像領域の座標値と、当該領域に含まれる要素に付与すべきメタデータとを出力として取得する。サーバ１は、出力された画像領域の座標値及びメタデータを正解値と比較し、両者が近似するように、構造化モデル１４５において演算に用いる重み等のパラメータを最適化する。これによりサーバ１は、構造化モデル１４５を生成する。
【００７６】
端末２から文書画像を取得した場合、サーバ１は、上記で生成した構造化モデル１４５を用いて構造化を行う。具体的には、サーバ１は、取得した文書画像を構造化モデル１４５に入力し、各要素を識別した識別結果を取得する。サーバ１は、識別結果に従って文書内の各要素を抽出し、メタデータを付与する。これにより、サーバ１は文書画像を構造化した構造化データを生成する。その後、サーバ１は実施の形態１と同様に誤り検出を行い、誤りである文字を補正する。
【００７７】
図１３は、構造化モデル１４５の生成処理の手順を示すフローチャートである。図１３に基づき、機械学習によって構造化モデル１４５を生成する処理の内容について説明する。
サーバ１の制御部１１は、構造化モデル１４５を生成するための教師データであって、非構造化データである教師用の文書画像に対し、当該文書を構成する各要素のメタデータの正解値が関連付けられた教師データを取得する（ステップＳ２０１）。制御部１１は、取得した教師データを用いて構造化モデル１４５を生成する（ステップＳ２０２）。具体的には、制御部１１は、教師用の文書画像を構造化モデル１４５に入力し、各要素に相当する画像領域、及び当該領域に含まれる要素に付与すべきメタデータを識別した識別結果を出力として取得する。制御部１１は、取得した識別結果を正解値と比較し、両者が近似するように重み等の各種パラメータを最適化して構造化モデル１４５を生成する。制御部１１は、一連の処理を終了する。
【００７８】
以上より、本実施の形態２によれば、機械学習によって構築した構造化モデル１４５を用いて文書画像の構造化を行うこともできる。
【００７９】
（実施の形態３）
図１４は、上述した形態のサーバ１の動作を示す機能ブロック図である。制御部１１がプログラムＰを実行することにより、サーバ１は以下のように動作する。
取得部１４０１は、文字画像を含む画像データを取得する。認識部１４０２は、前記文字画像に対応する文字及び座標を認識する。特定部１４０３は、前記画像データを構成する各要素を識別する際のルールを規定する構造化テーブルを参照、又は前記画像データを構成する各要素を識別する構造識別器を用いて、前記文字を含む前記画像データの各要素の構造を特定する。文字処理部１４０４は、特定した構造に基づき、前記文字の誤りを検出、又は誤りである前記文字を補正する。
【００８０】
本実施の形態３は以上の如きであり、その他は実施の形態１及び２と同様であるので、対応する部分には同一の符号を付してその詳細な説明を省略する。
【００８１】
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００８２】
１  サーバ（情報処理装置）
１１  制御部
１２  主記憶部
１３  通信部
１４  補助記憶部
Ｐ  プログラム
１４１  構造化テーブル
１４２  正順序モデル
１４３  逆順序モデル
１４４  誤り補正モデル
１４５  構造化モデル
２  端末
【図１】
2020166658.tif 000003
【図２】
2020166658.tif 000004
【図３】
2020166658.tif 000005
【図４】
2020166658.tif 000006
【図５】
2020166658.tif 000007
【図６】
2020166658.tif 000008
【図７】
2020166658.tif 000009
【図８】
2020166658.tif 000010
【図９】
2020166658.tif 000011
【図１０】
2020166658.tif 000012
【図１１】
2020166658.tif 000013
【図１２】
2020166658.tif 000014
【図１３】
2020166658.tif 000015
【図１４】
2020166658.tif 000016