(57)【要約】【課題】文字認識結果の確認・修正を利用者がより効率的に行うことを可能とする。【解決手段】画像処理装置は、複数の文字列と当該複数の文字列の文書画像における配置情報とを取得する取得手段と、所与の抽出規則に基づいて複数の文字列から複数の項目それぞれに対応する項目名に関する第１の文字列群を抽出する第１の抽出手段と、配置情報に基づいて複数の文字列から複数の項目それぞれに対応する１以上の値に関する第２の文字列群を抽出する第２の抽出手段と、複数の項目間の依存関係に基づいて当該複数の項目を複数のグループに分類する分類手段と、第１の文字列群と第２の文字列群とをグループごとに配列した表示画面を生成する生成手段と、を有する。【選択図】図７
2019040467.tif 000002
【特許請求の範囲】
【請求項１】
文書画像から抽出された複数の文字列と該複数の文字列の前記文書画像における配置情報とを取得する取得手段と、
所与の抽出規則に基づいて、前記複数の文字列から複数の項目それぞれに対応する項目名に関する第１の文字列群を抽出する第１の抽出手段と、
前記配置情報に基づいて、前記複数の文字列から前記複数の項目それぞれに対応する１以上の値に関する第２の文字列群を抽出する第２の抽出手段と、
前記複数の項目間の依存関係に基づいて該複数の項目を複数のグループに分類する分類手段と、
前記分類手段による分類の結果に基づいて前記第１の文字列群と前記第２の文字列群とをグループごとに配列した第１の表示画面を生成する生成手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記取得手段は、前記第１の文字列群及び前記第２の文字列群に対応する、前記文書画像における複数の部分領域画像を更に取得し、
前記生成手段は、前記複数の部分領域画像を配列した第２の表示画面を更に生成する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記生成手段は、前記第１の表示画面における前記第２の文字列群に対して修正候補を表示するためのユーザインタフェース（ＵＩ）部品を配置する
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記分類手段は、相対的に多くの項目を含むグループを高い優先度のグループとして設定し、
前記生成手段は、設定された優先度に従って、前記第１の文字列群と前記第２の文字列群とをグループごとに前記第１の表示画面に配列する
ことを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
前記複数の文字列は、光学文字認識（ＯＣＲ）処理により得られた文字列であり、
前記ＯＣＲ処理で発生し得る誤認識パタンを格納する記憶手段と、
前記誤認識パタンに基づいて前記複数の文字列を修正する修正手段と、
を更に有する
ことを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記生成手段は、前記修正手段により修正した文字を識別可能に表示した前記第１の表示画面を生成する
ことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記取得手段は、前記複数の文字列と前記配置情報とをＸＭＬ形式の文書データとして取得する
ことを特徴とする請求項１乃至６の何れか１項に記載の画像処理装置。
【請求項８】
紙文書を読み取り前記文書画像を生成する画像取得手段と、
前記文書画像に対してＯＣＲ処理を行い前記文書データを生成するデータ生成手段と、を更に有する
ことを特徴とする請求項７に記載の画像処理装置。
【請求項９】
画像処理装置の制御方法であって、
文書画像から抽出された複数の文字列と該複数の文字列の前記文書画像における配置情報とを取得する取得工程と、
所与の抽出規則に基づいて、前記複数の文字列から複数の項目それぞれに対応する項目名に関する第１の文字列群を抽出する第１の抽出工程と、
前記配置情報に基づいて、前記複数の文字列から前記複数の項目それぞれに対応する１以上の値に関する第２の文字列群を抽出する第２の抽出工程と、
前記複数の項目間の依存関係に基づいて該複数の項目を複数のグループに分類する分類工程と、
前記分類工程による分類の結果に基づいて前記第１の文字列群と前記第２の文字列群とをグループごとに配列した第１の表示画面を生成する生成工程と、
を有することを特徴とする制御方法。
【請求項１０】
コンピュータを、請求項１乃至８の何れか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、紙文書の電子化を支援する技術に関するものである。
【背景技術】
【０００２】
オフィス環境において電子化（ペーパーレス化）が進んでいるが、他社とのやり取りなどにおいては紙文書も相変わらず使用されていることが多い。例えば、医療分野で使用されるお薬手帳では、レシート形式あるいは帳票形式で記載された紙文書が利用されている。そのため、お薬手帳を提示された医療機関は、当該お薬手帳の内容を電子カルテなどに改めて記載する必要が生じている。一方、スキャナ装置により帳票やレシートの紙文書を光学的に読み取り電子画像化することが容易になってきている。また、その紙文書の電子画像中の文字画像から、記載内容をテキストデータ化する文字認識の技術の精度も向上し、よく利用されている。
【０００３】
とはいえ、帳票やレシートの紙文書自体が汚れていたり折れ曲がっているような場合、撮影条件が悪い場合などにおいて、撮影画像から文字認識が困難な場合がある。また、文字認識の技術の精度が向上したとはいえ誤りをゼロにすることは非常に困難であるため、撮影画像から文字認識した結果をそのまま利用することは難しい。
【０００４】
そこで、特許文献１では、手書きされた帳票を処理するにあたって、当該帳票に対応する帳票定義情報を利用して当該帳票における手書き領域を読み取り、手書き情報を効率的に取得可能とする手法が開示されている。また、特許文献２では、帳票などにおける表領域に対して文字認識を行った結果と、当該文字認識に基づく数値データと演算式とによる演算値と、を比較し、一致しない場合にその旨を報知する手法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２３４７９０号公報
【特許文献２】特開２００１−３２５５６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の技術においては、利用者は、処理対象の帳票に応じて帳票定義情報を選択し、選択した帳票定義情報で規定された項目の数だけ確認・修正作業を行う必要が生じる。また、特許文献２では、利用者は、文字認識において誤認識が起きていることを知ることは出来るが、各項目について確認・修正作業を行う必要が生じる。そのため、利用者は、文字認識結果を確認・修正する煩雑な操作を強いられることになる。
【０００７】
本発明はこのような問題を鑑みてなされたものであり、文字認識結果の確認・修正を利用者がより効率的に行うことを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述の問題点を解決するため、本発明に係る画像処理装置は以下の構成を備える。すなわち、画像処理装置は、文書画像から抽出された複数の文字列と該複数の文字列の前記文書画像における配置情報とを取得する取得手段と、所与の抽出規則に基づいて、前記複数の文字列から複数の項目それぞれに対応する項目名に関する第１の文字列群を抽出する第１の抽出手段と、前記配置情報に基づいて、前記複数の文字列から前記複数の項目それぞれに対応する１以上の値に関する第２の文字列群を抽出する第２の抽出手段と、前記複数の項目間の依存関係に基づいて該複数の項目を複数のグループに分類する分類手段と、前記分類手段による分類の結果に基づいて前記第１の文字列群と前記第２の文字列群とをグループごとに配列した第１の表示画面を生成する生成手段と、を有する。
【発明の効果】
【０００９】
本発明によれば、文字認識結果の確認・修正を利用者がより効率的に行うことを可能とする技術を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態に係る情報処理システムのハードウェア構成を示す図である。
【図２】第１実施形態に係る情報処理システムの機能構成を示す図である。
【図３】処理の対象となる紙文書の例を示す図である。
【図４】紙文書をＯＣＲ処理した処理結果を例示的に示す図である。
【図５】特定情報を抽出するための抽出規則を説明する図である。
【図６】検出された文字列の確認・修正のための画面の例を示す図である。
【図７】第１実施形態における検出処理・画面作成処理のフローチャートである。
【図８】検出処理において作成・使用される各種データの例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、図面を参照して、この発明の実施の形態の一例を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【００１２】
（第１実施形態）
本発明に係る画像処理装置の第１実施形態として、紙文書のスキャン画像を光学文字認識（ＯＣＲ）処理して得られるテキストデータを処理する情報処理システムを例に挙げて以下に説明する。特に、文書画像の解析・文字認識において発生する誤りを、利用者がより簡単に確認・修正可能となるよう支援する手法について説明する。なお、本明細書及び添付の図面において記載される薬剤名である、ニスタジール（登録商標）、セレコックス（登録商標）はそれぞれ登録商標である。
【００１３】
＜装置構成＞
図１は、第１実施形態に係る情報処理システムのハードウェア構成を示す図である。
【００１４】
ＣＰＵ（Central Processing Unit）１０１は、ＲＯＭ１０２やＲＡＭ１０３上のプログラムを実行することにより各種制御を実現する機能部である。また、ＣＰＵ１０１は、複数のプログラムを並列に動作させることもできる。ＲＯＭ１０２は、ＣＰＵ１０１により利用されるプログラムやデータを格納する。ＲＡＭ１０３は、ＣＰＵ１０１が処理するためのプログラムを格納するとともに、ＣＰＵ１０１が各種制御を実行する際の様々なデータのワークメモリを提供する。
【００１５】
入力装置１０４は、ユーザによる各種入力操作を受け付けるキーボードやマウスである。もちろん、ユーザからの入力操作を受付可能なものであれば、タッチパネル、スタイラスペン等、何でもよい。また、音声認識やジェスチャー操作に基づく入力でもよい。バス１０５は、各部分に接続されているアドレスバス、データバスなどであり、各部分間の情報交換・通信機能を提供する。これにより、各部分が連携して動作できるようにする。
【００１６】
外部記憶装置１０６は、さまざまなデータ等を記憶するための外部記憶装置である。例えば、記憶媒体と当該記憶媒体を読み書きするためのドライブ装置などで構成される。記憶媒体としては、ハードディスク、フロッピーディスク、光ディスク、磁気ディスク、磁気テープ、不揮発性のメモリカード等がある。記憶媒体に記憶されたプログラムやデータの一部又は全部は、キーボード等の指示や、プログラムの指示により、必要な時にＲＡＭ１０３上に呼び出される。
【００１７】
ＮＣＵ（Network Control Unit）１０７は、他のコンピュータ装置等と通信を行うための機能部である。ＮＣＵ１０７は、ネットワーク（ＬＡＮ）等を介して、不図示の外部装置と通信しプログラムやデータを共有する。なお、ＮＣＵ１０７には、任意の通信規格のものを使用することが出来る。例えば、ＲＳ２３２Ｃ、ＵＳＢ、ＩＥＥＥ１３９４、Ｐ１２８４、ＳＣＳＩ、モデム、Ｅｔｈｅｒｎｅｔ（登録商標）などの有線通信が利用可能である。また、Ｂｌｕｅｔｏｏｔｈ（登録商標）、赤外線通信、ＩＥＥＥ８０２．１１ａ／ｂ／ｎ等の無線通信が利用可能である。
【００１８】
ＧＰＵ（Graphics Processing Unit）１０８は、バス１０５を経由してＣＰＵ１０１などから与えられた表示指示や計算指示に従い計算を行い、その計算結果を表示装置１０９へ送信する機能部である。例えば、表示指示や計算指示に従い表示内容の画像の作成や表示位置などの計算を行い表示装置１０９に計算結果を描画させる。または、バス１０５を経由して、計算結果をＣＰＵ１０１に戻すことで、ＣＰＵ１０１と連携した計算処理を行う場合もある。
【００１９】
表示装置１０９は、液晶ディスプレイなどで構成され、各種入力操作の状態やそれに応じた計算結果などをユーザに対して表示する機能部である。ＳＣＮＵ（Scanning Unit）１１０は、原稿（紙文書）を光学的に読取り画像データを生成する画像読取部であり、例えば、オーバーヘッド型のスキャナである。ＳＣＮＵ１１０は、ＮＣＵ１０７の通信機能を介して接続してもよいし、それ以外の独自の外部Ｉ／Ｆを介して接続する形態でも良い。
【００２０】
以上述べてきた内部構成は、あくまでも一例であり、これに限定されるものでない。また、内部構成やその構成する各部分は、いわゆるハードウェアである制限はなく、ソフトウェアで作り出された仮想マシン上で動作するものでも構わない。
【００２１】
また、上述の内部構成を単体の装置で構成してもよいし、複数の装置で構成してもよい。この場合、サーバ・クライアント構成として、通信装置１０７を利用した情報交換・共有等を行い連携させて実現しても構わない。さらに、サーバ・クライアント構成のシステムの全部もしくは一部を、単一の装置上の１以上の仮想マシン上で動作させるような構成であっても構わない。
【００２２】
図２は、第１実施形態に係る情報処理システムの機能構成を示す図である。なお、各機能部は、基本的には、ＣＰＵ１０１やＧＰＵ１０８がプログラムを実行することにより実現されることを想定する。ただし、一部または全部をＡＳＩＣなどのハードウェアにより実現してもよい。また、文書画像処理部２０２と特定情報抽出部２０４とは、一体の装置として構成してもよいしそれぞれを別体の装置として構成してもよい。
【００２３】
文書画像２０１は、紙文書をＳＣＮＵ１１０で光学的にスキャンすることにより得られる画像である。文書画像処理部２０２は、文書画像２０１を画像取得して処理を行い、その結果として処理結果データ２０３を出力する。特定情報抽出部２０４は、処理結果データ２０３を入力として出力すべき情報を抽出する処理を行い、抽出情報２０５を得る。抽出情報２０５は、例えば、後段に接続された連携システムに提供される情報であり、当該連携システムが必要とする情報である。すなわち、抽出情報２０５は、紙文書に記載されていた情報である。
【００２４】
文書画像処理部２０２は、文書画像２０１を取得し、画像処理や文書内の解析、文字認識などを行う。そして、その結果として、特定情報抽出部２０４により処理される文書データとしての処理結果データ２０３を出力する（データ生成する）。文書画像処理部２０２は、補正処理部２０６、画像分類部２０７、領域抽出部２０８、文字認識部２０９、文書構造推定部２１０、文字認識辞書２１１を含む。
【００２５】
補正処理部２０６は、文書画像２０１に対する画像補正を行う。例えば、文書画像２０１は、スキャン時の紙文書の状態（斜めに配置、折れがある、丸まっているなど）や、紙文書に対する撮影方向などによる幾何学的関係から生じる画像の歪みを補正する。そのため、例えば、文書画像２０１における紙文書画像（四辺・領域など）の状態を推定し形状を補正する。
【００２６】
画像分類部２０７は、補正処理部２０６が画像補正した結果画像に対して、元の紙文書の種類を分類する。この分類結果によって、抽出される情報や、抽出するための方法などが変わってくることになる。ここでは、紙文書の種類が帳票やレシートであり、その情報を元に文書画像２０１から情報抽出することを想定している。
【００２７】
領域抽出部２０８は、補正処理部２０６が画像補正した結果画像と、画像分類部２０７による分類結果とに基づいて、文書画像２０１内の画像領域、テキスト領域などを検出する。例えば、結果画像における画像特徴量などに基づいて画像領域、テキスト領域などを検出する。検出した結果として、それぞれの領域の配置情報（位置、大きさ）及び分類（画像領域、テキスト領域、表領域など）を出力する。
【００２８】
文字認識部２０９は、画像に含まれる文字を認識する文字認識を行う。ここでは、文書画像２０１内のテキスト領域や表領域等の文字を含む領域に対して、補正処理部２０６が画像補正した結果画像における対応領域を対象に文字認識を行うことを想定する。文字認識辞書２１１は、文字認識部２０９が文字認識するために使用する辞書であり、各文字の特徴量情報が格納されている。
【００２９】
文書構造推定部２１０は、領域抽出部２０８から得られた各領域について、配置位置や大きさなどから、「構造」や「関係」を推定する。構造とは、例えば、表領域内のテキストデータの項目別の配置構造である。関係とは、例えば、文書内の画像領域と、当該画像領域に関連するテキスト領域（図番号やタイトル等のキャプション）の関係である。
【００３０】
特定情報抽出部２０４は、上述の処理により文書画像処理部２０２が出力した処理結果データ２０３を入力として処理を行い、抽出情報２０５を得る。特定情報抽出部２０４は、領域分類部２１２、検出部２１３、修正受付部２１４、抽出規則２１５、特定情報辞書２１６、検索インデックス２１７、文字認識の誤認識パタン２１８を含む。
【００３１】
抽出規則２１５は、利用者が抽出したい特定情報を抽出するための規則を格納したものである。特定情報抽出部２０４は抽出規則２１５に従い動作する。例えば、抽出規則２１５には、特定情報の内容に関する検索条件情報や抽出内容の制約情報等が含まれている。例えば、特定情報抽出部２０４は、処理結果データ２０３に対し、検索条件情報に基づき特定情報の候補を列挙し、制約情報に基づき候補や候補の組合せを求める。
【００３２】
特定情報辞書２１６は、検出部２１３での検出処理において抽出規則２１５と共に使用される多数の特定用語を記憶する所与の辞書である。例えば、商品、サービス、薬剤等の名前や、会社名等の特定用語、それらの識別情報である商品コードや会社コード等や価格等の情報が格納されている。一般的に、この特定用語は、非常に大量であり、常に最新であるのが好ましいため、最新版の情報が提供され、特定情報辞書２１６内の特定用語を更新することが行われることが多い。また、適時、利用者によって特定用語の追加等が行われることもある。
【００３３】
検索インデックス２１７は、特定情報辞書２１６内の多数の特定用語を高速に検索するための検索インデックスが格納されている。これを利用することで、特定情報辞書２１６内の特定用語の中から所望のものを高速に得ることができる。特定情報辞書２１６の内容が更新されると、それに伴い検索インデックスも更新され、常に正確な検索ができるように保たれる。検索インデックス２１７は、良く知られているｎ−ｇｒａｍ法や、用語単位の出現情報を検索インデックス化する形態素解析等の言語処理利用の方法などにより用いられる。
【００３４】
誤認識パタン２１８は、文字訂正・誤り訂正用の情報である。具体的には、文字認識部２０９が誤認識しやすい文字に対してその誤認識パタンを格納する。誤認識パタン２１８は、特定情報辞書２１６内の多数の特定用語を高速に検索する際に、誤認識文字の混入を配慮するようにするものである。以下では、文字認識の誤認識パタンを利用する例について説明するが、表記ゆれなどについても同様に適用することができる。例えば、漢字の旧字の違い、漢字の送り仮名、カタカナ記載時の「サーバー」と「サーバ」、「バイオリン」と「ヴァイオリン」などの表記ゆれがある。
【００３５】
領域分類部２１２は、抽出規則２１５が適用されるべき画像内の領域を推定し分類する。ここでは、帳票やレシートの場合を想定しており、商品やサービス、薬剤、その数や料金などを記載した部分が対象となる。そのため、これらに該当する画像内の領域を推定し、対象領域かどうか分類する。あるいは、帳票やレシート内の決まった位置に出現する発行元の店舗や会社情報等を推定し分類する。
【００３６】
検出部２１３は、抽出規則２１５に基づいて、領域分類部２１２が対象領域とした表領域やテキスト領域に対して、「特定情報」の文字列の出現を検出するものである。特定情報の文字列とは、例えば、正規表現等を利用した文字列パタンに合う文字列、特定情報辞書２１６に登録された特定用語である。また、検出部２１３は、文字列の配置位置や相対的な位置関係などの配置情報に基づいて、同じ項目の組合せの繰り返し（例えば、商品やサービス、薬剤、その数や料金の組合せ）を検出しその文字列群を特定する。特定情報辞書２１６に登録された特定用語を高速に検出するために、検索インデックス２１７を使用する。なお、文字認識部２０９の結果には、誤認識した文字が含まれ得る。そのため、特定情報辞書２１６に登録された特定用語や正規表現等を利用した文字列パタンに従って、文字認識結果を修正する。
【００３７】
修正受付部２１４は、検出部２１３により検出された抽出項目ごとの抽出候補の確認・修正を利用者が行うためのユーザインターフェース画面（ＧＵＩ）を作成し、利用者からの修正を受け付ける。詳細については後述するが、利用者は、抽出候補を対応する文書画像の該当部分を見ながら、ＧＵＩ上の表示・操作部品を用いて確認・修正を行う。なお、検出された抽出候補を出力する際に、抽出規則２１５に基づいて出力形式を決定し整形する。たとえば、抽出規則２１５の抽出候補の制約情報を利用して、画面上の表示・操作部品をまとめてＧＵＩ上にレイアウトする。これにより、利用者は、より少ない操作で修正操作を行うことが可能となる。
【００３８】
＜処理対象の紙文書の例＞
図３（ａ）は、処理の対象となる紙文書の例を示す図である。ここでは、お薬手帳と呼ばれる紙文書の例を示している。お薬手帳においては、記載内容や情報の種類は比較的限定されているが記載フォーマットは統一されていない。ただし、一般の商品やサービス等のレシートに類似した記載形式となっている。一般に、お薬手帳には、各薬剤の効能、使用方法なども記載されるが、説明を簡単にするために、図３（ａ）では、お薬手帳を一般のレシートに近い内容に簡略化したものを示している。
【００３９】
文字列３０１は薬剤を得るための処方箋を提出し、薬剤を購入した利用者の人名であり、文字列３０２は処方・調剤した日付である。文字列３０３は、処方箋を発行した病院などの医療機関の名前である。文字列３０５は、薬剤を販売した薬局等の医療機関の名前と電話番号情報である。
【００４０】
表３０４は、購入した「商品名」、「商品コード」、「発注日」、「単価」、「分量」、「金額」の情報が、薬剤ごとに記載された表である。行３０６（第１の文字列群）は、表３０４の先頭の行であり、表３０４の各列の項目名が記載されている。行３０７〜３０９（第２の文字列群）は、表３０４の２行目以降の行であり、行３０６で示された項目名に対する内容あるいは値が記載されている。
【００４１】
図３（ｂ）は、表３０４をより詳細に説明するために抜粋して示したものである。図示されるように、項目名として、商品名３１０、商品コード３１１、発注日３１２、単価３１３、分量３１４、金額３１５がある。表３０４の２行目以降の行に記載されている情報は、薬剤の各項目名に対する項目値の組合せ（項目値３１６〜３２１）となっている。複数の薬剤を購入した場合、行３０７〜３０９のように、各薬剤に関する情報が繰り返し記載されることになる。商品やサービス等のレシートとして、このような記載方法は一般的なものである。
【００４２】
＜処理対象のデータ例＞
図４は、図３（ａ）に示す紙文書をＯＣＲ処理した処理結果を例示的に示す図である。具体的には、文書画像処理部２０２が文書画像２０１（図３（ａ）に示す紙文書のスキャン画像）を入力として処理を実行した結果の処理結果データ２０３の例である。ここでは、ＸＭＬ形式を使って記載された例を示している。なお、以下に詳細説明する部分以外にも処理結果の記載があるが、行４０３、行４０９、行４１７、行４２０の記法にて途中の記載を省略している。
【００４３】
行４０１と行４２２は、それぞれ１つの文書に対する情報の開始宣言と終了宣言である。この文書は行４０１に、識別情報として“１２３”、光学スキャンして作成された日付として“２０１６／４／２”の情報を持っている。行４０２と行４２１は、それぞれ文書内のページに対する情報の開始宣言と終了宣言である。このページは、行４０２に番号“１”、大きさとして幅（横）“２００”、高さ（縦）“１５０”の情報を持っている。
【００４４】
行４０４と行４１１は、それぞれ、このページ内のテキスト領域に対する情報の開始宣言と終了宣言である。これらの間には、行３０７の記載に関する部分の情報が入っている。このテキスト領域は、行４０４に、その位置として、左上の座標情報（ｘ、ｙ）＝（４，４０）と、領域の横縦の大きさ“１８０”、“８”の情報を持っている。また、行４０５と行４０７は、それぞれ、このテキスト領域内に対する文字認識結果の情報の開始宣言と終了宣言である。文字認識結果として行４０６に“アスタリン錠  ８７３３９９  ５．６０  １４錠  ７８．４  ２０１６／４／１”の情報を持っている。また、行４０８と行４１０は、テキスト領域内に対する文字認識結果の情報の１文字ごとの情報の開始宣言と終了宣言である。この間に、文字認識の結果を１文字単位に分けた状態の情報が入っている。行４０８には、最初の文字の“ア”の位置として、左上の座標情報（ｘ、ｙ）＝（４，４０）と、領域の横縦の大きさ“５”、“８”の情報を持っている。同様に、行４１０は最後の文字“１”に関するものである。
【００４５】
行４１２〜行４１９も同様に、このページ内のテキスト領域に対する情報で、行３０８の１行目の記載に関する部分の情報が入っている。上述のような処理結果データ２０３を、抽出規則２１５に従い、特定情報抽出部２０４で処理を行う。
【００４６】
図５は、特定情報を抽出するための抽出規則２１５を説明する図である。ここでは、ＸＭＬ形式を使って記載された例を示している。なお、以下に詳細説明する部分以外にも処理結果の記載があるが、行５２８、行５４２の記法にて途中の記載を省略している。
【００４７】
行５０１と行５４３は、抽出規則２１５の複数の規則に対する情報の開始宣言と終了宣言である。行５０３と行５４１は、抽出規則２１５の規則に対する情報の開始宣言と終了宣言である。この規則は、行５０３に、識別情報として“５”の情報を持っている。また、タイプとして、“ｓｅａｒｃｈ：ｃｏｎｓｔｒａｉｎｔ”を持ち、その規則が、検索を用いた検出指示のための検索条件情報と検出した候補が満たさないといけない制約情報の指定を含んでいることを示している。また、この規則は、該当する候補があれば、何度も適用されるので、規則に該当する結果は複数生じる場合がある。
【００４８】
行５０４と行５２９は、この規則の中の検索を用いた検出指示である検索条件情報の開始宣言と終了宣言である。検索条件情報は複数あり、その個々の検索条件情報について説明する。
【００４９】
行５０５と行５０７は、検索条件情報に対する文字列検索（テキスト検索）情報の開始宣言と終了宣言である。行５０５に、検索タイプが“ｄｉｃ”とあり、辞書検索であるとの情報を持っている。また、検出結果を“ｄｒｕｇ−ｎａｍｅ”という名前で示すようにするという指示を持っている。行５０６は、この文字列検索の内容であり、対象となる辞書名として“ｄｒｕｇＤＢ”内の“ｎａｍｅ”を利用することが示されている。“ｄｒｕｇＤＢ”は商品である薬剤に関する情報が格納されているデータベースである。そして、“ｄｒｕｇＤＢ”内の“ｎａｍｅ”は、商品である薬剤の薬剤名を格納したデータベース内の薬剤名辞書である。
【００５０】
行５０５〜行５０７の指示は、特定情報辞書２１６内にある“ｄｒｕｇＤＢ”というデータベースの薬剤名辞書“ｎａｍｅ”にある薬剤名に該当するテキスト部分を曖昧検索することを指示している。また、行５０５で辞書検索を指定したため、その際に、検索インデックス２１７を利用した高速な曖昧検索を行うことになる。また、その際に、文字認識の誤り等を配慮するため、誤認識パタン２１８も使用することになる。
【００５１】
行５０８〜行５１１は、検索条件情報に対する次の文字列検索（テキスト検索）情報の開始宣言と終了宣言である。行５０８に、検索タイプが“ｐｏｓｉｔｉｏｎ：ｄｉｃ”とあり、検索は位置に関するものと、辞書検索であるとの情報を持っている。また、検出結果を“ｄｒｕｇ−ｉｄ”という名前で示すようにするという指示を持っている。行５０９〜行５１０は、この文字列検索の内容である。行５０９は、位置による検索で、上述の検出結果（名前は、“ｄｒｕｇ−ｎａｍｅ”）を起点（ｏｒｉｇｉｎ）に、右側“ｒｉｇｈｔ”にあるテキストデータを対象にするという情報を持っている。行５１０は、この文字列検索の内容であり、対象となる辞書名として“ｄｒｕｇＤＢ”内の“ｉｄ”を利用することが示されている。“ｄｒｕｇＤＢ”は商品である薬剤に関する情報が格納されているデータベースである。そして、“ｄｒｕｇＤＢ”内の“ｉｄ”は、商品である薬剤の薬剤コードを格納したデータベース内の薬剤コード辞書である。
【００５２】
この行５０８〜行５１１の指示は、特定情報辞書２１６内にある“ｄｒｕｇＤＢ”というデータベースの薬剤コード辞書“ｉｄ”にある薬剤コードに該当するテキスト部分を曖昧検索することを指示している。また、行５０８で辞書検索を指定したため、その際に、検索インデックス２１７を利用した高速な曖昧検索を行うことになる。また、その際に、文字認識の誤り等を配慮するため、誤認識パタン２１８も使用することになる。
【００５３】
行５１２と行５１５は、検索条件情報に対する次の文字列検索（テキスト検索）情報の開始宣言と終了宣言である。行５１２に、検索タイプが“ｐｏｓｉｔｉｏｎ：ｄａｔｅ”とあり、検索は位置に関するものと、日付表現の検出であるとの情報を持っている。行５１３〜行５１４は、この文字列検索の内容である。行５１３は、位置による検索で、上述の検出結果（名前は“ｄｒｕｇ−ｉｄ”）を起点に、右側“ｒｉｇｈｔ”にあるテキストデータを対象にするという情報を持っている。行５１４は、日付表現に該当する文字列のマッチングであり、形式は“ａｌｌ”で日付の記載形式は特定しないと指示されている。日付の書き方として、和暦、西暦等をはじめ、年・月・日の数字の並べ方や、その間の“−”や“／”などの記号等の組合せと順序のパタンがあるが、このパタンを日付の記載形式と呼んでいる。
【００５４】
行５１６と行５１９は、検索条件情報に対する次の文字列検索（テキスト検索）情報の開始宣言と終了宣言である。行５１７に、検索タイプが“ｐｏｓｉｔｉｏｎ：ｒｅ”とあり、検索は位置に関するものと、文字列の正規表現との比較であるとの情報を持っている。行５１７〜行５１８は、この文字列検索の内容である。また、検出結果を“ｄｒｕｇ−ｕｎｉｔＰｒｉｃｅ”という名前で示すようにするという指示を持っている。行５１７は、位置による検索で、上述の検出結果（名前は、“ｄｒｕｇ−ｄａｔｅ”）を起点に、右側“ｒｉｇｈｔ”にあるテキストデータを対象にするという情報を持っている。行５１８は、正規表現による文字マッチングで、“／＊［１−９］／”という情報をもっている。これは、１から９の数字の繰り返しがある文字列であることという条件を示している。
【００５５】
行５２０と行５２３は、検索条件情報に対する次の文字列検索（テキスト検索）情報の開始宣言と終了宣言である。行５２０に、検索タイプが“ｐｏｓｉｔｉｏｎ：ｒｅ”とあり、検索は位置に関するものと、文字列の正規表現との比較であるとの情報を持っている。行５２１〜行５２２は、この文字列検索の内容である。また、検出結果を“ｄｒｕｇ−ａｍｏｕｎｔ”という名前で示すようにするという指示を持っている。行５２１は、位置による検索で、上述の検出結果（名前は、“ｄｒｕｇ−ｕｎｉｔＰｒｉｃｅ”）を起点に、右側“ｒｉｇｈｔ”にあるテキストデータを対象にするという情報を持っている。行５２２は、正規表現による文字マッチングで、“／＊［１−９］（錠｜Ｔ｜Ｃ｜ｍＬ）／”という情報をもっている。これは、１から９の数字の繰り返しの後に「錠」か「Ｔ」か「Ｃ」か「ｍＬ」がある文字列であることという条件を示している。
【００５６】
行５２４と行５２７は、検索条件情報に対する次の文字列検索（テキスト検索）情報の開始宣言と終了宣言である。行５２４に、検索タイプが“ｐｏｓｉｔｉｏｎ：ｒｅ”とあり、検索は位置に関するものと、文字列の正規表現との比較であるとの情報を持っている。行５２５〜行５２６は、この文字列検索の内容である。また、検出結果を“ｄｒｕｇ−ｐｒｉｃｅ”という名前で示すようにするという指示を持っている。行５２１は、位置による検索で、上述の検出結果（名前は、“ｄｒｕｇ−ａｍｏｕｎｔ”）を起点に、右側“ｒｉｇｈｔ”にあるテキストデータを対象にするという情報を持っている。行５２２は、正規表現による文字マッチングで、“／＊［１−９］／”という情報をもっている。これは、１から９の数字の繰り返しがある文字列であることという条件を示している。
【００５７】
行５３０〜行５４０は、上述の検索条件情報を基に得られた候補に対して、その候補が満たすべき制約情報が指示されており、行５３０と行５４０は、その検出結果候補の満たすべき制約情報に関する情報の開始宣言と終了宣言である。特に、この例では、異なる抽出項目に対して、それぞれ得られた候補について、それらの満たすべき関係となる制約情報が複数記載されている。
【００５８】
行５３１と行５３３は、制約情報の開始宣言と終了宣言であり、制約タイプが“ｅｑｕａｔｉｏｎ”で、数式によって記載されていることが指示されている。行５３２が、その数式によって記載された制約情報である。ここには、上述した薬剤情報のデータベースの“ｄｒｕｇＤＢ”において、検索条件情報の指示で得られた“ｄｒｕｇ−ｉｄ”で示される候補に対し、該当する薬剤を特定し、その薬剤名が、“ｄｒｕｇ−ｎａｍｅ”で示される候補と一致することを指示している。この制約条件を満たせるように、“ｄｒｕｇ−ｉｄ”で示される候補と、“ｄｒｕｇ−ｎａｍｅ”で示される候補は絞り込まれることになる。
【００５９】
行５３４と行５３６は、制約情報の開始宣言と終了宣言であり、制約タイプが“ｅｑｕａｔｉｏｎ”で、数式によって記載されていることが指示されている。行５３５が、その数式によって記載された制約情報である。ここには、上述した薬剤情報のデータベースの“ｄｒｕｇＤＢ”において、検索条件情報の指示で得られた“ｄｒｕｇ−ｉｄ”で示される候補に対し、該当する薬剤を特定している。そして、その単価が、“ｄｒｕｇ−ｕｎｉｔＰｒｉｃｅ”で示される候補と一致することを指示している。この制約条件を満たせるように、“ｄｒｕｇ−ｉｄ”で示される候補と、“ｄｒｕｇ−ｕｎｉｔＰｒｉｃｅ”で示される候補は絞り込まれることになる。
【００６０】
行５３７と行５３９は、制約情報の開始宣言と終了宣言であり、制約タイプが“ｅｑｕａｔｉｏｎ”で、数式によって記載されていることが指示されている。行５３８が、その数式によって記載された制約情報である。ここには、上述した“ｄｒｕｇ−ｕｎｉｔＰｒｉｃｅ”で示される候補と、“ｄｒｕｇ−ａｍｏｕｎｔ”で示される候補の積が、“ｄｒｕｇ−ｐｒｉｃｅ”で示される候補に等しくなることを指示している。この制約条件を満たせるように、“ｄｒｕｇ−ｕｎｉｔＰｒｉｃｅ”で示される候補と、“ｄｒｕｇ−ａｍｏｕｎｔ”と、“ｄｒｕｇ−ｐｒｉｃｅ”で示される候補は絞り込まれることになる。
【００６１】
このような抽出規則２１５に従い、検出部２１３は該当するものの検索条件情報に基づき、図４に示す処理結果データ２０３に対して行う。より詳細には、抽出規則２１５内の行５０４〜行５２７の検索指示情報に従い、辞書検索の場合は、検索インデックス２１７を利用して、特定情報辞書２１６の中の該当する文字列部分を曖昧検索する。また、正規表現の場合は、指定された正規表現に該当する文字列部分を曖昧検索する。さらに、この結果見つかった文字列部分について、紙面やページ内のレイアウトや、相対的な位置関係について、指示された条件を満たすものを検索して、得られたものを抽出項目ごとに候補とする。さらに、制約情報に基づき、候補の絞り込みを行う。
【００６２】
＜確認・修正のためのユーザインタフェース画面＞
文字認識の精度が完璧で間違いが生じなければ良いが、実際には、そうでないので、このようにして得られた抽出結果の候補には、文字認識の誤りなどが含まれるのが実状である。しかしながら、抽出結果は、他の処理システム（例えば、後段に接続される連携システム）で利用されるものである。そのため、得られた抽出結果の候補を正しく修正する必要がある。
【００６３】
そのため、利用者は、抽出結果が正しいか否かの確認を行い、正しくなければ修正を行う必要がある。以下では、利用者による確認・修正のためのユーザインタフェース画面について説明する。以下では、領域分類部２１２及び検出部２１３は、図４に示す処理結果データ２０３に対して抽出規則２１５の規則を用いて処理を行った場合の、画面作成の例について説明する。
【００６４】
図６（ａ）は、検出された文字列の確認・修正のための画面の例を示す図である。画面表示用のウィンドウ６０１内には、ウィンドウ６０１の名前を表示するタイトルバー６０２、抽出情報領域６０５、該当画像領域６０３が含まれる。抽出情報領域６０５は、ユーザが、抽出した候補の確認・修正を行うため、抽出した候補を配列して表示する領域である。該当画像領域６０３は、抽出情報領域６０５のうち、利用者が確認・修正する対象として選択した部分に該当する電子文書２０１の部分領域画像を配列して表示する領域である。図６（ａ）では、抽出情報領域６０５内の「アスピリン錠」に関する部分（破線で囲んだ部分）が選択された場合の例を示している。なお、また、該当画像領域６０３及び抽出情報領域６０５には、それぞれ、表示内容が画面上の表示領域に収まらない場合に、表示部分を変更するスクロールバー６０４、６０６を有する。
【００６５】
利用者は、抽出情報領域６０５内に表示される抽出した候補を表示・操作する画面部品を選択し、その確認・修正を行う。この選択操作に応じて、該当画像領域６０３内の表示は変化し、選択された候補とその関連候補に該当する文書画像部分が表示されることになる。利用者は、抽出情報領域６０５内に表示される抽出した候補を表示・操作する画面部品に対して操作を行うことで、その確認・修正を行うことになる。
【００６６】
図６（ｂ）は、領域６０５内の表示内容を抜粋し各構成要素に参照番号を付したものである。文字列６１１〜６２２は、すべて、抽出した候補を表示・操作する画面部品である。文字列６１１は、商品名３１０、商品コード３１１、単価３１３の抽出項目名をまとめて、抽出項目グループとして抽出した値や内容を表示している。
【００６７】
文字列６１４は、文字列６１１で示される抽出項目に対応する値や内容に関する文字列であり、項目値３１６、３１７、３２０の値や内容の候補を一度に確認・修正できるように、操作部品として構成されている。文字の部分は、現在、最優先の抽出項目の値や内容の候補であり、プルダウンボタンを押下することで、修正候補である次候補以降が表示される。文字の下線部分は、文字認識結果と、抽出規則で指定された辞書やデータベース等を検索して得られた候補結果との差が生じている部分を示している。文字認識結果が優先して表示してもよいが、ここでは、辞書やデータベース等を検索して得られた候補結果が優先表示された例を示している。ただし、文字認識結果との差異部分は、識別可能に表示される（ここでは下線が付されている）。文字認識結果自体は、辞書やデータベース等を検索して得られた候補と一致しない場合は、候補として表示されないか、非常に優先されない候補として表示されることとなる。
【００６８】
文字列６１４では、複数の項目値３１６、３１７、３２０の組合せとなっている。これは、商品名が明確になれば、その商品コードや単価が判明するためである。また、利用者にとって、商品名が商品の識別を行う際にもっとも分かりやすいものであるため、商品名である「アスピリン錠」を見つけやすいように先頭に配置している。そして、そのあとに商品コードである「８１３３９９」と単価である「５．６０」を“［”と“］”の中に、カンマ区切りで表示している。この表示方法に従い、文字列６１１においても、「商品名  ［商品コード，  単価（円）］」と表示されており、各値などが対応している項目名が明確になるようにしている。
【００６９】
文字列６１７、６２０も文字列６１４と同様であり、行３０８、３０９内の対応する項目値の候補を一度に確認・修正できるように作成された操作部品である。
【００７０】
文字列６１２は、分量３１４、金額３１５の抽出項目名をまとめて抽出項目グループとして表示している。文字列６１５は、文字列６１２で示される抽出項目に対する項目値を示しており、項目値３２０、３２１の候補を一度に確認・修正できるように作成された操作部品として構成されている。
【００７１】
文字列６１８、６２１も文字列６１５と同様であり、行３０８、３０９内の対応する項目値の候補を一度に確認・修正できるように作成された操作部品である。
【００７２】
文字列６１３は、発注日３１２に対応する文字列を表示している。文字列６１６は、文字列６１３で示される抽出項目の項目値を示しており、項目値３１８の候補を確認・修正できるように作成された操作部品として構成されている。右側のカレンダーボタンを押下することで、カレンダーが出現し日付を設定できるようになっている。
【００７３】
文字列６１９、６２２も文字列６１６と同様であり、行３０８、３０９内の対応する項目値の候補を一度に確認・修正できるように作成された操作部品である。
【００７４】
図６（ｃ）は、領域６０３内の表示内容を抜粋し各構成要素に参照番号を付したものである。点線領域６３１〜６４２内には、それぞれ、文書画像２０１内の部分領域画像が表示されている。すべて、抽出した候補を表示・操作する画面部品に対応する文字認識結果の領域の部分領域画像になっている。
【００７５】
点線領域６３１〜６３３は、文字列６１１を構成している各抽出項目名に対して、それが文字認識結果として検出された領域を文書画像２０１から切り抜いた部分領域画像を表示している部分である。点線領域６３７〜６３９も同様に、文字列６１４を構成している各抽出項目の値や内容に対して、それが文字認識結果として検出された領域を文書画像２０１から切り抜いた部分領域画像を表示している部分である。図６（ｃ）において、点線領域６３７及び６３８をつなぐ太い横線、点線領域６３８及び６３９をつなぐ太い横線は、これらが、図６（ｂ）で同一の抽出項目グループにあることを示している。また、点線領域６３７及び６３１をつなぐ細い縦線は、文書画像２０１上で、点線領域６３７からみて点線領域６３１が、上方向に配置されていたことを示している。点線領域６３８と点線領域６３２をつなぐ太い縦線、点線領域６３９と点線領域６３３をつなぐ細い縦線も同様である。
【００７６】
点線領域６３４〜６３５は、文字列６１２を構成している各抽出項目名に対して、それが文字認識結果として検出された領域を文書画像２０１から切り抜いた部分領域画像を表示している部分である。点線領域６４０〜６４１も同様に、文字列６１５を構成している各抽出項目の値や内容に対して、それが文字認識結果として検出された領域を文書画像２０１から切り抜いた部分領域画像を表示している部分である。点線領域６４０〜６４１をつなぐ太い横線は、これらが、図６（ｂ）で同一の抽出項目グループにあることを示している。また、点線領域６４０と点線領域６３４をつなぐ細い縦線は、文書画像２０１上で、点線領域６４０からみて点線領域６３４が、上方向に配置されていたことを示している。点線領域６４１と点線領域６３５をつなぐ細い縦線も同様である。
【００７７】
点線領域６３６は、文字列６１３を構成している各抽出項目名に対して、それが文字認識結果として検出された領域を文書画像２０１から切り抜いた部分領域画像を表示している部分である。点線領域６４２も同様に、文字列６１６を構成している各抽出項目の値や内容に対して、それが文字認識結果として検出された領域を文書画像２０１から切り抜いた部分領域画像を表示している部分である。点線領域６４２と点線領域６３６をつなぐ細い縦線は、文書画像２０１上で、点線領域６４２からみて点線領域６３６が、上方向に配置されていたことを示している。
【００７８】
このように、ここでは、抽出した項目やその値や内容について、図６（ｂ）の同一の抽出項目グループであることを太線で、それらの文書画像２０１上での配置による相対的な位置関係を細い線で示している。もちろん、それぞれの関係性を他の形態で表示してもよい。上述のように確認・修正の画面を構成することで、利用者は、より少ない操作回数で修正・確認が行えるようになる。
【００７９】
＜システムの動作＞
図７は、第１実施形態における検出処理・画面作成処理のフローチャートである。具体的には、図６（ａ）の画面表示を作成するまでの、検出部２１３と修正受付部２１４で行われる一連の処理を示している。また、図８は、検出処理において作成・使用される各種データの例を示す図である。
【００８０】
説明の前提として、ここでは図３（ａ）を対象の文書画像２０１の例として用いており、それに対して文書画像処理部２０１が処理を行った結果である処理結果データ２０３として図４に示すデータが得られることを想定している。そして、図４の例に対して、図５に示す抽出規則２１５の規則の例を用いて、領域分類部２１２と検出部２１３の処理を行う場合を想定している。
【００８１】
なお、図７の処理が始まる前に、特定情報抽出部２０４が起動されており、抽出規則２１５や、特定情報辞書２１６、検索インデックス２１７、誤認識パタン２１８は、利用可能な状態になっている。領域分類部２１２の処理が行われ、表３０４の部分を対象として、図４の結果が利用可能なっており、図５の抽出規則２１５の規則の例を適用するところから、図７の処理は開始される。
【００８２】
Ｓ７０１では、検出部２１３は、抽出規則の検索条件情報内のテキストに対する検索条件を用いて、処理結果データ２０３内の文字認識した結果であるテキストに対し曖昧検索を行い、該当する部分文字列を検出する。これにより、商品名である薬剤名や、商品コード等に該当する可能性のある部分文字列が得られる。文字認識の誤りを配慮して、曖昧検索を行うため、誤認識パタン２１８を利用する。また、必要に応じて、検索インデックス２１７を使用することで高速化を図る。また、特定情報辞書２１６が利用できる場合には、辞書中から類似する部分文字列が、文字認識した結果であるテキスト内に検出できるかどうかを検索して該当するものを検出する。更に、事前に定義された日付文字列や、正規表現等で文字列パタンが示されたについても、同様に検索・検出を行う。
【００８３】
Ｓ７０２では、検出部２１３は、抽出規則の検索条件情報内の位置に関するレイアウトや相対位置関係等の情報を、Ｓ７０１で検出された部分文字列に対して適用し、抽出対象項目ごとに項目候補化し、その候補の組合せを取得する。これにより、Ｓ７０１で検出された部分文字列に対して、抽出規則の検索条件情報内の位置に関するレイアウトや相対位置関係等を満たすものに絞り込み、その対応関係を得る。抽出規則２１５内の規則には、何度も適用できるものが含まれる場合があるため、複数の抽出項目の組合せが得られる。そのため、レイアウトや相対位置関係等の情報を満たす組合せのみに絞り込むのである。
【００８４】
テーブル８００ａは、Ｓ７０２の処理を行った例を示しており、“抽出項目”、“抽出セットＩＤ”、“抽出項目名”、“文字認識結果”、“抽出候補テキスト”の各値が行で対応付けられた状態で記載されている。“抽出項目”は、図５の規則で抽出項目として付けられた名前である。
【００８５】
“文字認識結果”は、図５の規則の検索条件情報のテキストの検索条件を適用したことで得られた項目の値や内容の候補の情報の一部であり、その文字認識結果そのものである。“抽出候補テキスト”も、同様に適用したことで得られた項目の値や内容の候補の情報の一部であり、“文字認識結果”を基に、辞書や正規表現、日付表現等に該当するように修正・検索された結果である。これらは、Ｓ７０１の処理で得られる。“抽出セットＩＤ”はＳ７０２で得られたものである。具体的には、図５の規則の検索条件情報のレイアウトや相対位置の検索条件を適用することで、“抽出項目”間の組合せを求めて、その組合せを抽出セットＩＤで示している。すなわち、同一の抽出セットＩＤを持つ抽出項目は、同一の抽出結果候補の組合せと見なすのである。また、“抽出項目名”は図５で明示しないが、規則を適用した時に、表内から該当すると推測され獲得された表内の項目名である。その内容として、ここでは、図３（ｂ）の各項目が文字認識された結果が得られている。このような結果をＳ７０２の結果として得ることで、抽出結果の候補の情報が得られ、以下の処理で利用されることになる。
【００８６】
Ｓ７０３では、修正受付部２１４は、抽出規則の制約情報を基に、抽出項目間の依存関係を求める。そして、一度に値が確定できる抽出対象項目をグループ化し、グループ間のグループ依存関係を得る処理を行う。なお、この処理は、特定情報抽出部２０４内で抽出規則を扱う処理であれば、事前にこの処理を行うことが可能である。そのため、領域分類部２１２などで抽出規則を読み込んだ時点で行っておくことも可能である。そのため、修正受付部２１４以外の機能部で行ってもよい。
【００８７】
まずは、修正受付部２１４は、抽出規則２１５の規則内の制約情報を利用して、抽出項目間の依存関係を求める。図５の例の制約情報から、ある抽出項目の値や内容が決まると、それに応じて確定する抽出項目の値や内容があるような抽出項目同士の関係性を、ここでは依存関係として求める。テーブル８００ｂは、その結果の例を示しており、図５の行５３２、５３５、５３８の関係式で示される制約情報から得られたものである。ここでは、依存関係の識別のために、“依存関係ＩＤ”をもち、それぞれに“依存元”と“依存先”の抽出項目がある。行５３２から、“ｄｒｕｇ−ｉｄ”が決まれば、対応する“ｄｒｕｇ−ｎａｍｅ”が決まるので、依存関係ＩＤ“１”が作られている。同様に、行５３５から依存関係ＩＤ“２”、行５３８から依存関係ＩＤ“３”が作られている。
【００８８】
次に、テーブル８００ｂで示された結果から、一度に値が確定できる抽出対象項目のグループ化を行い、グループ間のグループ依存関係を求める。具体的には、テーブル８００ｂで依存元もしくは依存先が１つかつ同一となる抽出項目があれば、これらをまとめてグループ化し、同時に値や内容が決定できる抽出項目のグループを作成する。まとめられない場合は、そのまま１つのグループとする。また、その抽出項目グループ間で、重なる抽出項目があれば、グループ依存関係を設定する。テーブル８００ｃは、その結果の例を示している。ここでは、２つの抽出項目グループが得られており、その識別のために、“抽出項目グループＩＤ（以下では単にグループＩＤと呼ぶ）”が設定されている。そして、その個々の抽出グループは、複数の抽出項目を持ち、グループ依存関係があれば、グループＩＤを持っている。
【００８９】
ここでは、テーブル８００ｂの依存関係ＩＤ“１”及び“２”は、依存元の抽出項目として同じ“ｄｒｕｇ−ｉｄ”を含んでいる。そのため、テーブル８００ｃのグループＩＤ“１”が作成されている。また、図９（ｂ）の依存関係ＩＤ“３”から、テーブル８００ｃの抽出項目グループ“２”が作られている。グループＩＤ“１”及び“２”には、抽出項目の“ｄｒｕｇ−ｕｎｉｔＰｒｉｃｅ”が共通してあるため、グループ依存関係が生じており、グループ依存先のグループＩＤの値を持っている。これにより、抽出項目のグループ化ができる対象が判明したので、このテーブル８００ｃの結果を用いて以下の処理が行われる。
【００９０】
Ｓ７０４では、修正受付部２１４は、Ｓ７０３の処理結果により抽出項目のグループが得られた場合はＳ７０５へ進み、得られなかった場合はＳ７０６へ進む。
【００９１】
Ｓ７０５では、修正受付部２１４は、Ｓ７０４の処理結果の抽出項目グループ依存関係から、最小数のグループの優先順序（優先度）を設定し、画面表示グループ構成とする。ここでは、各抽出項目グループを比較して、辞書やデータベースを利用して値や内容を検索する抽出項目が多く含まれる画面表示グループを優先順序の上位に配置する。また、抽出項目グループ依存関係から、上位に配置した画面表示グループに依存する画面表示グループをその下位に配置することで、抽出項目グループの優先順位を決定する。
【００９２】
まずは、テーブル８００ｃの各抽出項目グループを比較する際に、その抽出項目グループ内の抽出項目のそれぞれについて、辞書やデータベースを利用して値や内容を検索する抽出項目を調べる。図５で調べると、グループＩＤ“１”には、辞書やデータベースを利用する抽出項目である“ｄｒｕｇ−ｎａｍｅ”（行５０６で利用辞書を指定）と“ｄｒｕｇ−ｉｄ”（行５１０で利用辞書を指定）があることが分かる。これに対し、グループＩＤ“２”には該当するものがないので、グループＩＤ“１”が画面表示グループの優先順序の上位に配置されることとなる。抽出項目グループはこれだけしかないので、グループＩＤ“１”が最上位に配置されることとなる
次に、テーブル８００ｃの各抽出項目グループのグループ依存関係により、グループＩＤ“１”とグループＩＤ“２”には、互いに依存関係があることが分かる。上述の通り、ここでは、グループＩＤ“１”が最上位なので、この依存関係から、グループＩＤ“２”が、それに続く配置優先順序となる。すなわち、後述するテーブル８００ｄでまとめて示されることとなるが、グループＩＤ“１”が優先順位“１”として最上位に設定されることとなる。また、グループＩＤ“２”は、グループＩＤ“１”に対して依存関係があるため、その下位の優先順位“２”に設定されることとなる。
【００９３】
Ｓ７０６では、修正受付部２１４は、画面表示グループ構成に入らなかった抽出項目があれば、それを１つの画面表示グループとし、グループ順序の後方に加える処理を行う。抽出項目によっては、他の抽出項目と依存関係がないものがあるので、その場合は、画面表示グループ構成に含まれないことになる。しかし、その値や内容についても、利用者による確認・修正の対象となるように、１つの画面表示グループとして追加し、すでにある画面表示グループ構成に対して、下位の優先順序に追加していく。
【００９４】
テーブル８００ｄは、その結果の例であり、テーブル８００ｃとテーブル８００ａに基づく結果を示している。Ｓ７０５の処理により、グループＩＤ“１”及び“２”が作られている。また、“ｄｒｕｇ−ｎａｍｅ”などが辞書・データベース利用の抽出項目であったことから、グループＩＤ“１”が優先順位“１”として最上位に設定されている。また、グループＩＤ“２”はグループＩＤ“１”に依存関係があるため、その下位の優先順位“２”に設定されている。また、Ｓ７０６の処理結果として、グループＩＤ“１”と“２”に含まれなかった抽出項目をテーブル８００ａから探して、抽出項目“ｄｒｕｇ−ｄａｔｅ”が残っていたので、これをグループＩＤ“３”として追加している。このようにして、画面表示グループを決定する。
【００９５】
Ｓ７０７では、修正受付部２１４は、抽出項目の組合せ対して、画面表示グループを反映し、画面表示内容を作成する処理を行う部分である。ここでは、Ｓ７０１とＳ７０２の結果である抽出項目ごとの候補の組合せに対して、Ｓ７０３〜Ｓ７０６の結果の画面表示グループを反映し、修正・確認の画面表示する内容情報を決定する。すなわち、抽出項目ごとの候補の組合せと合わせて、抽出項目名の表示内容や、抽出項目の値や内容の表示内容を決めるのである。
【００９６】
テーブル８００ｅは、その結果の例であり、Ｓ７０１とＳ７０２の結果の例であるテーブル８００ａと、Ｓ７０３〜Ｓ７０６の結果のテーブル８００ｄから作成されたものである。抽出セットごとに、その中の抽出項目をまとめた抽出グループがあり、まとめられた抽出項目に応じて、抽出項目名として表示する内容と、抽出候補テキストとして表示する内容が設定されている。抽出セットは“抽出セットＩＤ”で、抽出項目グループは“グループＩＤ”で特定される。“抽出項目”にはグループＩＤに対応する抽出項目が含まれ、テーブル８００ｄの中と同じ内容である。抽出セットＩＤで示される抽出セットには、テーブル８００ａの抽出項目名と抽出候補テキストから、それぞれ、その内容や値を組合せて、抽出セット項目名と抽出セット候補テキストが作成されている。このテーブル８００ｅの内容を基に、以下の処理で、確認・修正用の画面を作成することになる。
【００９７】
Ｓ７０８では、修正受付部２１４は、画面表示内容に従い、画面表示の利用部品とその表示内容と配置位置・順序を決定し、利用者による確認及び修正受付のための画面表示を行う。テーブル８００ｅの内容を基に、画面表示の利用部品の選択を行う。グループＩＤ“１”は、辞書・データベース利用で結果候補を選択することになるので、最優先候補の抽出セット候補テキストを表示し、その次候補以降をメニュー選択する画面表示の利用部品を割り当てることになる。これにより、文字列６１１、６１４、６１７、６２０の画面表示の利用部品が割り当てられている。グループＩＤ“２”も、グループＩＤ“１”の選択内容に応じて、選択することになるので、同様になる。これにより、文字列６１２、６１５、６１８、６２１の画面表示の利用部品が割り当てられている。グループＩＤ“３”は日時なので、カレンダー利用の選択を行う画面表示の利用部品が割り当てられることになる。これにより、文字列６１３、６１６、６１９、６２２の画面表示の利用部品が割り当てられている。これ以外に、正規表現で数値を検索した場合には、数値修正用の画面表示の利用部品が割り当てられるなど、適切に割当処理が行われる。
【００９８】
Ｓ７０９では、修正受付部２１４は、抽出項目の候補の配置位置に合わせ、項目候補の基になった文書画像の該当部分を配置し、画面表示グループ構成関係も表示する。具体的には、Ｓ７０８での抽出項目の候補の表示の利用部品の配置と、Ｓ７０１とＳ７０２で検索した抽出項目名の相対位置をもとに表示画面を生成する。このとき、利用者に選択された抽出項目の候補の表示の利用部品と、その関連部分に該当する文書画像２０１内の部分領域画像を配置し表示する。まず、各抽出項目の候補の文字認識結果が得られた領域の部分領域画像を切り出して、抽出グループごとにまとめて横線でつないで表示を行う（点線領域６３７〜６４２の部分）。また、Ｓ７０１とＳ７０２で検索した抽出項目名の相対位置方向に、抽出項目名の文字認識結果が得られた領域の部分領域画像を切り出して、縦線でつなぎながら配置・表示を行う（点線領域６３１〜６３６の部分）。
【００９９】
Ｓ７１０では、修正受付部２１４は、利用者による操作に基づいて抽出項目の値を修正し、その結果を抽出結果として出力する。
【０１００】
以上説明したとおり第１実施形態によれば、文書画像からの抽出された内容（文字列）に基づいて、利用者が確認・修正に利用する画面を生成する。これにより、利用者は、より少ない操作回数、より簡単な操作で確認・修正がきるようになる。
【０１０１】
なお、この例では、薬剤名の辞書やお薬手帳を基にした商品やサービス等のレシートの例で示したが、医療以外の場合であっても、適用可能である。特に、一般的によく利用される商品やサービス等のレシートや、レシート調の帳票については、類似性が高く容易に適用可能である。
【０１０２】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１０３】
２０２  文書画像処理部；  ２０４  特定情報抽出部；  ２１２  領域分類部；  ２１３  検出部；  ２１４  修正受付部；  ２１５  抽出規則；  ２１６  特定情報辞書；  ２１７  検索インデックス；  ２１８  誤認識パタン
【図１】
2019040467.tif 000003
【図２】
2019040467.tif 000004
【図３】
2019040467.tif 000005
【図４】
2019040467.tif 000006
【図５】
2019040467.tif 000007
【図６】
2019040467.tif 000008
【図７】
2019040467.tif 000009
【図８】
2019040467.tif 000010