(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023102136
(43)【公開日】2023-07-24
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
G06V 30/412 20220101AFI20230714BHJP
G06V 30/24 20220101ALI20230714BHJP
G06T 7/00 20170101ALI20230714BHJP
【FI】
G06K9/20 340C
G06K9/62 630A
G06T7/00 350C
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022002528
(22)【出願日】2022-01-11
(71)【出願人】
【識別番号】500104314
【氏名又は名称】ニッセイ情報テクノロジー株式会社
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【弁理士】
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】川▲崎▼ 誠
(72)【発明者】
【氏名】平木 健司
(72)【発明者】
【氏名】小松原 剛志
【テーマコード(参考)】
5B029
5B064
5L096
【Fターム(参考)】
5B029AA01
5B029BB02
5B029CC26
5B029EE12
5B064AA01
5B064AB02
5B064BA01
5B064DA03
5B064DC03
5B064FA01
5L096AA06
5L096BA17
5L096CA02
5L096DA02
5L096FA10
5L096FA67
5L096FA69
5L096FA76
5L096HA11
5L096JA11
5L096KA04
(57)【要約】
【課題】入れ子構造を有する表の画像データを読み取ってこの入れ子構造の項目の情報を出力するにあたって、この帳票が非定型であっても対応できる情報処理装置、情報処理方法及びプログラムを提供する。
【解決手段】情報処理装置は、複数のセルにより構成された表を含む帳票の画像データを取得する取得部と、画像データ上の表の罫線を抽出する抽出部と、表の複数のセルを認識する認識部と、認識された複数のセルにおいて、親子関係にある親セルと子セルの組み合わせの候補を1つ以上特定する組み合わせ特定部と、親セルと子セルの位置関係と、親セルと子セルの間の罫線の配置状態と、に基づいて、候補の中から採用する組み合わせを選択する選択部と、選択された組み合わせに基づいて、親セルを示す情報と子セルを示す情報とを出力する出力部と、を備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
複数のセルにより構成された表を含む帳票の画像データを取得する取得部と、
前記画像データ上の前記表の罫線を抽出する抽出部と、
前記表の複数のセルを認識する認識部と、
前記認識された複数のセルにおいて、親子関係にある親セルと子セルの組み合わせの候補を1つ以上特定する組み合わせ特定部と、
前記親セルと前記子セルの位置関係と、前記親セルと前記子セルの間の前記罫線の配置状態と、に基づいて、前記候補の中から採用する組み合わせを選択する選択部と、
前記選択された組み合わせに基づいて、前記親セルを示す情報と前記子セルを示す情報とを出力する出力部と、を備える、
情報処理装置。
【請求項2】
前記認識部は、前記抽出された罫線に基づいて、前記表の水平方向の左右を認識し、
前記選択部は、前記候補の妥当性を評価する妥当性評価部を備え、
前記妥当性評価部は、前記位置関係として、前記水平方向において前記親セルが前記子セルより左側に配置されている場合、前記候補の妥当性の評価を上げ、
前記選択部は、前記評価された妥当性に基づいて、前記採用する組み合わせを選択する、
請求項1に記載の情報処理装置。
【請求項3】
前記認識部は、前記抽出された罫線に基づいて、前記表の垂直方向の上下を認識し、
前記選択部は、前記候補の妥当性を評価する妥当性評価部を備え、
前記妥当性評価部は、前記位置関係として、前記垂直方向において前記親セルが前記子セルより上側に配置されている場合、前記候補の妥当性の評価を上げる、
前記選択部は、前記評価された妥当性に基づいて、前記採用する組み合わせを選択する、
請求項1又は2に記載の情報処理装置。
【請求項4】
前記妥当性評価部は、前記配置状態として、前記親セルと前記子セルの間に配置されている前記罫線が所定の本数を超えている場合、前記候補の妥当性の評価を下げる、
請求項2又は3に記載の情報処理装置。
【請求項5】
前記選択部は、前記親セルを囲う罫線の枠の少なくとも一部と前記子セルを囲う罫線の枠の少なくとも一部が重なっているか否かを評価する重なり評価部をさらに備え、
前記妥当性評価部は、前記重なり評価部による評価の結果にさらに基づいて、前記候補の妥当性を評価する、
請求項3又は4に記載の情報処理装置。
【請求項6】
前記表内の領域において、前記表に含まれる項目名が配置される領域を特定する領域特定部をさらに備え、
前記妥当性評価部は、前記親セル及び前記子セルの少なくともいずれかが前記表内において前記特定された領域外に位置する場合、前記候補の妥当性の評価を下げる、
請求項2から5のいずれか一項に記載の情報処理装置。
【請求項7】
前記妥当性評価部は、前記表に配置されうる1以上のキーワードを記憶するキーワード記憶部を参照して、前記キーワードを示す文字列が前記表内に存在しない場合、この表内に配置された前記親セル及び前記子セルの前記候補の妥当性の評価を下げる、
請求項2から6のいずれか一項に記載の情報処理装置。
【請求項8】
前記抽出部は、罫線判定部と、交点抽出部と、を備え、
前記罫線判定部は、前記画像データの各画素に対して、前記画像データ上の罫線を形成する罫線候補とするか否かを判定し、
前記交点抽出部は、前記画像データ上の罫線の交点位置を抽出し、
前記抽出部は、前記判定された罫線候補と、前記抽出された交点位置とに基づいて、前記罫線を抽出する、
請求項1から7のいずれか一項に記載の情報処理装置。
【請求項9】
前記罫線判定部は、学習された第1ニューラルネットワークに前記画像データを入力し、前記第1ニューラルネットワークの出力に基づいて、前記画像データの各画素に対して、前記画像データ上の罫線を形成する罫線候補とするか否かを判定し、
前記交点抽出部は、交点判定部を備え、
前記交点判定部は、学習された第2ニューラルネットワークに前記画像データを入力し、前記第2ニューラルネットワークの出力に基づいて、前記画像データの各画素に対して、前記画像データ上の罫線の交点を形成する交点候補とするか否かを判定し、
前記交点抽出部は、前記交点候補と判定された画素の位置に基づいて、前記罫線の交点位置を抽出する、
請求項8に記載の情報処理装置。
【請求項10】
前記表は複合表であって、前記複合表は隣接する複数の表から構成され、
前記認識部は、文字認識部と項目特定部とカウント部と分割位置特定部とを備え、
前記文字認識部は、前記画像データ上のセル内の文字列を認識し、
前記項目特定部は、前記認識された各文字列に基づいて、前記表に含まれる複数の項目名のそれぞれの位置を特定し、
前記カウント部は、前記罫線を形成する線分ごとに、前記複数の項目名のそれぞれの文字列を囲う罫線の枠の一部とこの線分とが重なるか否か判定し、重なると判定した場合はその都度所定の数をカウントし、
前記分割位置特定部は、前記カウントの結果に基づいて、前記画像データ上において、前記複合表を前記複数の表に分割する位置を特定し、
前記認識部は、前記複合表を、前記特定された位置で前記複数の表に分割する、
請求項1から9のいずれか一項に記載の情報処理装置。
【請求項11】
コンピュータに、
複数のセルにより構成された表を含む帳票の画像データを取得する取得機能と、
前記画像データ上の前記表の罫線を抽出する抽出機能と、
前記表の複数のセルを認識する認識機能と、
前記認識された複数のセルにおいて、親子関係にある親セルと子セルの組み合わせの候補を1つ以上特定する組み合わせ特定機能と、
前記親セルと前記子セルの位置関係と、前記親セルと前記子セルの間の前記罫線の配置状態と、に基づいて、前記候補の中から採用する組み合わせを選択する選択機能と、
前記選択された組み合わせに基づいて、前記親セルを示す情報と前記子セルを示す情報とを出力する出力機能と、を実現する、
プログラム。
【請求項12】
コンピュータが、
複数のセルにより構成された表を含む帳票の画像データを取得し、
前記画像データ上の前記表の罫線を抽出し、
前記表の複数のセルを認識し、
前記認識された複数のセルにおいて、親子関係にある親セルと子セルの組み合わせの候補を1つ以上特定し、
前記親セルと前記子セルの位置関係と、前記親セルと前記子セルの間の前記罫線の配置状態と、に基づいて、前記候補の中から採用する組み合わせを選択し、
前記選択された組み合わせに基づいて、前記親セルを示す情報と前記子セルを示す情報とを出力する、
情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
従来、帳票の画像データを解析してこの帳票の表の構造や表に含まれる各項目を認識して各項目の情報を出力する、OCR(Optical Character Recognition)という技術が存在する。また、複数の項目名に対応し、表を構成する複数の領域(以下、この領域を「セル」ともいう)が親子関係にある構造、いわゆる入れ子構造を有する表を採用する帳票も多く、このような入れ子構造を認識する技術も存在する(例えば、特許文献1)。このような技術では、例えば、セルを抽出し、抽出した領域が入れ子構造の場合、この領域を表とみなしてセルの抽出の再帰処理を行うことで、入れ子構造を構成する領域を抽出する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記特許文献1では、抽出した領域が入れ子構造であることを予め設定する必要があり、例えば非定型の帳票には対応できない問題があった。
【0005】
そこで、本発明は、入れ子構造を有する表の画像データを読み取ってこの入れ子構造の項目の情報を出力するにあたって、この帳票が非定型であっても対応できる情報処理装置、情報処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一態様に係る情報処理装置は、複数のセルにより構成された表を含む帳票の画像データを取得する取得部と、画像データ上の表の罫線を抽出する抽出部と、表の複数のセルを認識する認識部と、認識された複数のセルにおいて、親子関係にある親セルと子セルの組み合わせの候補を1つ以上特定する組み合わせ特定部と、親セルと子セルの位置関係と、親セルと子セルの間の罫線の配置状態と、に基づいて、候補の中から採用する組み合わせを選択する選択部と、選択された組み合わせに基づいて、親セルを示す情報と子セルを示す情報とを出力する出力部と、を備える。
【0007】
本発明の一態様に係るプログラムは、コンピュータに、複数のセルにより構成された表を含む帳票の画像データを取得する取得機能と、画像データ上の表の罫線を抽出する抽出機能と、表の複数のセルを認識する認識機能と、認識された複数のセルにおいて、親子関係にある親セルと子セルの組み合わせの候補を1つ以上特定する組み合わせ特定機能と、親セルと子セルの位置関係と、親セルと子セルの間の罫線の配置状態と、に基づいて、候補の中から採用する組み合わせを選択する選択機能と、選択された組み合わせに基づいて、親セルを示す情報と子セルを示す情報とを出力する出力機能と、を実現する。
【0008】
本発明の一態様に係る情報処理方法は、コンピュータが、複数のセルにより構成された表を含む帳票の画像データを取得し、画像データ上の表の罫線を抽出し、表の複数のセルを認識し、認識された複数のセルにおいて、親子関係にある親セルと子セルの組み合わせの候補を1つ以上特定し、親セルと子セルの位置関係と、親セルと子セルの間の罫線の配置状態と、に基づいて、候補の中から採用する組み合わせを選択し、選択された組み合わせに基づいて、親セルを示す情報と子セルを示す情報とを出力する。
【発明の効果】
【0009】
本発明によれば、入れ子構造を有する表の画像データを読み取ってこの入れ子構造の項目の情報を出力するにあたって、この帳票が非定型であっても対応できる情報処理装置、情報処理方法及びプログラムを提供することができる。
【図面の簡単な説明】
【0010】
【
図1】本実施形態に係る帳票読取システムのシステム構成例を説明するための図である。
【
図2】本実施形態に係るサーバ装置の機能構成の一例を示す図である。
【
図3】本実施形態に係るサーバ装置における帳票の罫線候補の画素及び交点候補の画素の抽出処理を説明するための図である。
【
図4】本実施形態に係るサーバ装置における連結されている複数表の分割処理を説明するための図である。
【
図5】本実施形態に係るサーバ装置における入れ子構造の認識処理を説明するための図である。
【
図6】本実施形態に係るサーバ装置における入れ子構造の認識処理を説明するための図である。
【
図7】本実施形態に係るサーバ装置における入れ子構造の認識処理を説明するための図である。
【
図8】本実施形態に係るサーバ装置における入れ子構造の認識処理を説明するための図である。
【
図9】本実施形態に係るサーバ装置の動作例を示す図である。
【
図10】本実施形態に係るサーバ装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0011】
添付図面を参照して、本発明の好適な実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【0012】
本実施形態では、OCR(光学式文字読取:Optical Character Recognition)を用いて、スキャナー等で読み取った帳票の画像を解析し、帳票の文字を認識(文字認識)したり、帳票に含まれる表の構造を認識したりする例を説明する。
【0013】
本実施形態では、非定型の紙媒体の帳票を画像で読み取り、この画像から帳票に含まれる表の各項目の項目名や項目値の文字列を特定して電子テキスト化する例を説明する。この「電子テキスト化」とは、例えば、帳票の画像から読み取った情報をテキスト形式のデータ(以下、「テキストデータ」ともいう)にして出力することをいう。なお、本実施形態に係る帳票読取システム1が出力するデータは、このテキストデータに限定されない。また、ここでいう「非定型」とは、対象とする帳票のフォーマットが定まっていない状態をいい、非定型の帳票には、発行機関が複数存在して複数パターン存在するためにレイアウトが一定とならない帳票も含まれる。
【0014】
本実施形態では、帳票読取システム1が、親子関係にある複数の項目名で一つの項目を表す構造、すなわち入れ子構造の項目を、以下の(ア)~(ウ)の少なくともいずれかの妥当性の評価(スコアリング)を行い、この評価の結果に基づいて認識する例を説明する。
(ア)入れ子構造そのものの妥当性
(イ)入れ子構造の表内での位置の妥当性
(ウ)表のタイトルや単位などのキーワードとの位置関係の妥当性
【0015】
本実施形態では、帳票に含まれる表(以下、単に「表」ともいう)を構成する領域を「セル」ともいう。セルは、例えば、表に含まれる各項目に対応してもよい。セルは、視覚的に認識できる罫線で囲まれたものも、囲まれていないものも含む。具体的には、1つのセルは、1つの項目名又は1つの項目値に対応してもよい。本実施形態に係る親子関係にある、すなわち入れ子構造にある複数のセルのそれぞれは、典型的には、項目名に対応するがこれに限定されない。以降の説明において、親子関係にある複数のセルのそれぞれを項目名と読み替えてもよい。また、帳票には、例えば、隣接する複数の表から構成される複合表が含まれてもよい。
【0016】
<1.システム構成>
図1を参照して、本実施形態に係る帳票読取システム1のシステム構成例を説明する。
【0017】
帳票読取システム1は、紙媒体の帳票を読み取り、電子テキスト化するためのシステムである。
図1に示すように、帳票読取システム1は、サーバ装置100と、ユーザが使用する端末200と、スキャナー300とを含む。サーバ装置100と、端末200と、スキャナー300とは、ネットワークNを介して互いに接続されている。
【0018】
ネットワークNは、無線ネットワークや有線ネットワークにより構成される。ネットワークの一例としては、携帯電話網や、PHS(Personal Handy-phone System)網、無線LAN(Local Area Network)、3G(3rd Generation)、LTE(Long Term Evolution)、4G(4th Generation)、5G(5th Generation)、WiMax(登録商標)、赤外線通信、Bluetooth(登録商標)、有線LAN、電話線、電灯線ネットワーク、IEEE1394等に準拠したネットワークがある。
【0019】
サーバ装置100は、端末200及びスキャナー300との通信や画像解析処理等が可能な情報処理装置である。サーバ装置100は、所定のプログラム(以下、「サーバプログラム」ともいう)を実行することにより、スキャナー300と連携して、このスキャナー300が読み取った紙媒体の帳票の画像データ(以下、単に「画像データ」ともいう)を解析したり、帳票の表のレイアウトやこの表に含まれる複数の項目のそれぞれの項目名とこの項目名に対応する項目値を特定したりする機能を実現する。
【0020】
端末200は、スマートフォン、ラップトップ端末又はデスクトップ端末等であり、サーバ装置100との通信やユーザに対して帳票の各項目の項目名と項目値とを関連付けて出力可能な情報処理装置である。端末200は、所定のプログラムを実行することにより、サーバ装置100と連携して帳票に関する情報を送受信したり帳票に関する画面を出力したりする機能を実現する。
【0021】
スキャナー300は、文字や写真、絵等の原稿をデジタル画像データに変換する画像入力装置である。なお、スキャナー300に関して、紙媒体の帳票を読み取って画像データに変換できればどのような装置でもよく、カメラ機能を備えたスマートフォン、ラップトップ端末等の端末装置であってもよい。また、スキャナー300は、画像データにおける文字認識が可能であってもよい。
【0022】
<2.機能構成>
図2を参照して、本実施形態に係るサーバ装置100の機能構成を説明する。
図2に示すように、サーバ装置100は、制御部110と、記憶部120と、通信部130とを備える。サーバ装置100は、取得した帳票の画像データから、この帳票に含まれる表が有する複数のセルのそれぞれを認識する。また、サーバ装置100は、表に含まれる複数のセルが親子関係、すなわち入れ子構造にある場合、この入れ子構造にある複数のセルについて親セルと子セルとして特定し関連付ける。サーバ装置100は、これらの特定・関連付けの結果を端末200に出力する。
【0023】
[制御部]
制御部110は、取得部111と、抽出部112と、認識部113と、組み合わせ特定部114と、選択部115と、出力部116と、を備える。
【0024】
[取得部]
取得部111は、帳票の画像データを取得する。この帳票は、セルを複数有する表を含む。取得部111は、例えば、通信部130を介してスキャナー300が紙媒体の帳票を読み取って画像データに変換したものを取得してもよいし、予め記憶部120に記憶されている帳票の画像データを取得してもよい。また、取得部111は、例えば、端末200やその他の外部装置(不図示)から、通信部130を介して帳票の画像データを取得してもよい。
【0025】
[抽出部]
抽出部112は、取得部111により取得された画像データ上の罫線や表を抽出する。
【0026】
抽出部112は、例えば、
図3に示すように、後述する罫線判定部112aにより判定された罫線候補と、後述する交点抽出部112bにより抽出された交点位置とに基づいて、画像データ上の罫線を抽出してもよい。具体的には、先ず、抽出部112は、この抽出された交点位置の中から2つの交点位置の組み合わせを特定する。次に、抽出部112は、この組み合わされた2つの交点位置を結ぶ直線を特定する。次に、抽出部112は、各画素が、特定された直線上にあり、かつ罫線候補であるか否か判定する。そして、抽出部112は、特定された直線上にあり、かつ罫線候補である画素を罫線として抽出する。すなわち、抽出部112は、二つの交点位置を結ぶ直線上の画素と罫線候補と判定された画素とが合致するところを罫線の画素として抽出する。
【0027】
上記構成によれば、抽出部112は、罫線候補の画素と交点位置とに基づいて帳票の画像データ上の罫線を抽出することができる。このため、抽出部112は、非定型の帳票であっても、帳票に含まれる表の罫線を抽出し、この表のレイアウトを解析させることができる。
【0028】
抽出部112は、例えば、罫線判定部112aを備えてもよい。罫線判定部112aは、画像データの各画素に対して、この画像データ上の罫線を形成する罫線候補(以下、単に「罫線候補」ともいう)とするか否かを判定する。
【0029】
罫線判定部112aは、例えば、機械学習の技術を用いて、各画素に対して罫線候補とするか否かを判定してもよい。具体的には、罫線判定部112aは、先ず、学習された第1ニューラルネットワークに画像データを入力する。そして、罫線判定部112aは、画像データが入力された第1ニューラルネットワークの出力に基づいて、画像データの各画素に対して罫線候補とするか否かを判定する。罫線判定部112aは、例えば、帳票の画像データを入力データとし罫線を示す画素のデータを正解データとする第1データセットに基づいて、第1ニューラルネットワークを学習させてもよい。
【0030】
抽出部112は、例えば、交点抽出部112bを備えてもよい。交点抽出部112bは、画像データ上の罫線の交点位置を抽出する。交点抽出部112bは、例えば、交点判定部112b1により交点候補と判定された画素の位置に基づいて、画像データ上の罫線の交点位置を抽出してもよい。
【0031】
交点抽出部112bは、例えば、交点判定部112b1を備えてもよい。交点判定部112b1は、画像データの各画素に対して、この画像データ上の罫線の交点を形成する交点候補とするか否かを判定する。
【0032】
交点判定部112b1は、例えば、機械学習の技術を用いて、各画素に対して罫線候補とするか否かを判定してもよい。具体的には、交点判定部112b1は、先ず、学習された第2ニューラルネットワークに画像データを入力する。そして、交点判定部112b1は、画像データが入力された第2ニューラルネットワークの出力に基づいて、この画像データの各画素に対して、この画像データ上の罫線の交点を形成する交点候補とするか否かを判定してもよい。交点判定部112b1は、例えば、帳票の画像データを入力データとし交点を示す画素のデータを正解データとする第2データセットに基づいて、第2ニューラルネットワークを学習させてもよい。
【0033】
第1ニューラルネットワークは、各画素に対して、罫線候補か否かを判定するためのモデルである。また、第2ニューラルネットワークは、各画素に対して交点候補か否かを判定するためのモデルである。第1ニューラルネットワークと第2ニューラルネットワークは、例えば、畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)であってもよい。
【0034】
[認識部]
認識部113は、帳票に含まれる表の複数のセルを認識する。認識部113は、画像データ上の表の各文字列を含む領域をセルとして認識する。認識部113は、例えば、各セルについて、左右上下の領域の頂点(交点)の座標、セルの幅、セルの高さ、及び/又はセルを構成する文字列等を認識してもよい。
【0035】
認識部113は、例えば、視覚的に認識できる罫線で囲まれているセルの場合、各文字列を囲う罫線からなる四角枠を認識してもよい。認識部113は、この認識した四角枠をセルの一部として認識してもよい。
【0036】
認識部113は、例えば、抽出部112により抽出された罫線に基づいて、表の水平方向(X軸方向)の左右を認識してもよい。また、認識部113は、例えば、抽出部112により抽出された罫線に基づいて、表の垂直方向(Y軸方向)の上下を認識してもよい。
【0037】
認識部113は、例えば、文字認識部113aを備えてもよい。文字認識部113aは、画像データ上のセル内の文字列を認識する。
【0038】
認識部113は、例えば、項目特定部113bを備えてもよい。項目特定部113bは、文字認識部113aにより認識された各文字列に基づいて、表に含まれる複数の項目名のそれぞれを特定する。具体的には、項目特定部113bは、この複数の項目名のそれぞれの位置や文字列等を特定する。
【0039】
項目特定部113bは、例えば、文字認識部113aにより認識された各セルの文字列と記憶部120に記憶されている項目名登録情報とに基づいて、帳票の各セルの中で項目名を表すセルを特定してもよい。項目特定部113bは、このように特定したセルの位置を項目名の位置として特定してもよい。
【0040】
項目特定部113bは、例えば、項目名登録情報に登録されている項目名の一部又は全部を検索ワードとして各セルの文字列を検索し、この検索ワードに合致する各文字又は各文字を組み合わせた文字列を含むセルを、項目名を表すセルとして特定してもよい。
【0041】
「項目名登録情報」は、予め登録された帳票の各項目の項目名を示す情報である。項目名登録情報は、例えば帳票が医療機関発行の領収書であった場合、医療費領収書が発行された日付を示す項目の「発行日」、医師の診察を受けたときにかかる費用を示す項目の「初・再診料」、又は手術にかかった費用の項目を示す項目の「手術」等といった各項目を識別するための項目名をリストアップした情報である。
【0042】
項目特定部113bは、例えば、文字認識部113aにより認識された各文字列に基づいて、特定された各項目名に対応する項目値を特定してもよい。また、項目特定部113bは、例えば、第1マッピングモデルを用いて、特定された項目名の位置に対応する項目値のうち、第1相関値が所定の閾値以上の項目値が位置し得る範囲を特定してもよい。そして、項目特定部113bは、この特定された範囲に属する各文字を抽出し、この抽出された各文字に基づいて、特定された項目名に対応する項目値を特定してもよい。
【0043】
第1マッピングモデルは、帳票の各項目の項目名の位置とこの項目名に対応する項目値の位置との間の第1相関値を表すモデルである。第1マッピングモデルは、例えば、パターン分類部113fにより分類された帳票のパターンごとに、帳票上に帳票の各項目の項目名の位置と項目値の位置との相関値がマッピングされたものであってもよい。この相関値は、例えば、学習データである各項目の項目名と項目値との複数の相対位置情報を、統計解析して算出されたものであってもよい。また、第1マッピングモデルは、例えば、各項目の項目名と項目値との相対位置のデータを表現した可視化グラフであるヒートマップであってもよく、項目名に対応する複数の項目値の相対位置の相関レベルを二次元で表したものでもあってもよい。
【0044】
認識部113は、例えば、カウント部113cを備えてもよい。カウント部113cは、
図4に示すように、複数の表から構成される複合表において複数の表に分割する位置(以下、「分割位置」ともいう)の候補となる罫線の位置に対して投票を行う。具体的には、カウント部113cは、先ず、罫線を形成する線分ごとに、複数の項目名(セル)のそれぞれの文字列を囲う罫線の枠の一部と、この線分とが重なるか否か判定する。そして、カウント部113cは、それぞれの罫線の枠の一部とこの線分とが重なると判定した場合はその都度所定の数をカウントする(投票する)。言い換えれば、カウント部113cは、項目名のセルの罫線の枠の一部とこの線分とが合致する場合、その都度所定の数をカウントする。
【0045】
カウント部113cは、例えば、項目名が縦並びで配置される表の場合、罫線を形成する各線分と重なるか否かを判定する対象を、複数の項目名(セル)のそれぞれの文字列を囲う罫線の枠の左辺(左側の垂直線)に限定してもよい。また、カウント部113cは、例えば、項目名が横並びで配置される表の場合、罫線を形成する各線分と重なるか否かを判定する対象を、複数の項目名(セル)のそれぞれの文字列を囲う罫線の枠の上辺(上側の水平線)に限定してもよい。例えば、項目名が縦並びで配置される表の場合、表に含まれる項目名は左側に配置されることが一般的である。また、例えば、項目名が横並びで配置される表の場合、表に含まれる項目名は上側に配置されることが一般的である。このような構成によれば、カウント部113cは、項目名が縦並びで配置される表や横並びで配置される表のレイアウトの傾向をふまえて、分割位置の候補となる罫線の位置に投票を行うことができる。
【0046】
認識部113は、罫線を形成する線分について、例えば、抽出部112により抽出された罫線を示す画素同士が隣接する、すなわち繋がりがある場合、これらの画素を結合して形成してもよい。
【0047】
認識部113は、例えば、分割位置特定部113dを備えてもよい。分割位置特定部113dは、
図4に示すように、カウント部113cによる投票の結果に基づいて分割位置を特定する。分割位置特定部113dは、隣接する複数の表から構成される複合表の場合、カウント部113cによるカウントの結果に基づいて、画像データ上において、複合表を複数の表に分割する位置を特定する。認識部113は、例えば、分割位置特定部113dにより特定された位置で複合表を複数の表に分割してもよい。
【0048】
例えば、特に非定型の場合、隣接する複数の表から構成される複合表であっても一つの表として抽出される場合がある。上記構成によれば、認識部113は、このように一つの表として抽出された複合表について、表のレイアウトの傾向をふまえて投票された結果に基づいて、この複合表を構成する複数の表に分割することができる。
【0049】
認識部113は、例えば、領域特定部113eを備えてもよい。領域特定部113eは、表内の領域において、この表に含まれる項目名が配置される領域を特定する。領域特定部113eは、例えば、項目名が縦並びで配置される表の場合、この表の左側半分の領域を、この表に含まれる項目名が配置される領域として特定してもよい。他の例として、領域特定部113eは、項目名が横並びで配置される表の場合、この表の上側半分の領域を、この表に含まれる項目名が配置される領域として特定してもよい。また、他の例として、領域特定部113eは、項目名が横並びと横並びの両方で配置される表の場合、この表の右下部分の領域外を、この表に含まれる項目名が配置される領域として特定してもよい。
【0050】
認識部113は、例えば、パターン分類部113fを備えてもよい。パターン分類部113fは、取得部111により取得された帳票の画像データに基づいて、この画像データに示された帳票のパターンを分類する。パターン分類部113fは、例えば、畳み込みニューラルネットワークを用いて画像データの特徴量を抽出して、画像分類を行ってもよい。また、パターン分類部113fは、予め記憶部120に記憶する帳票のフォーマットパターンを示すパターン情報に基づいて、このフォーマットパターンごとに分類してもよい。
【0051】
[組み合わせ特定部]
組み合わせ特定部114は、認識部113により認識された複数のセルにおいて、親子関係にある、すなわち入れ子構造にある親セルと子セルの組み合わせの候補を1つ以上特定する。以降、親セルと子セルの組み合わせを、「親子セル」ともいう。また、組み合わせ特定部114は、例えば、親子孫関係にある、言い換えれば入れ子構造にある親セルと子セルと孫セルの組み合わせの候補を1つ以上特定してもよい。この組み合わせの場合、子セルと孫セルとは、子セルが親で孫セルが子の親子関係、すなわち入れ子構造にある。以降、親セルと子セルと孫セルの組み合わせを、「親子孫セル」ともいう。言い換えれば、親子孫セルは、2つの親子セルの組み合わせを有する。
【0052】
組み合わせ特定部114は、例えば、認識部113により認識された複数のセルを総当たりで組み合わせて、この組み合わせたセルを親子セルの候補として特定してもよい。
【0053】
[選択部]
選択部115は、親セルと子セルの位置関係と、親セルと子セルの間の罫線の配置状態と、に基づいて、親セルと子セルの組み合わせの候補の中から採用する組み合わせを選択する。選択部115は、例えば、後述する妥当性評価部による評価が相対的な評価の場合、複数の親子セルの候補の中から妥当性の評価の値が相対的に高いものを選択してもよい。この「相対的に高い」とは、例えば、親子セルの候補における妥当性の評価の値の平均値や中央値、又は標準偏差よりも高い評価の値をもつ候補を採用するものとして選択してもよい。また、他の例として、選択部115は、妥当性評価部による評価が絶対な評価の場合、複数の親子セルの候補の中から評価の値が所定の閾値を超える候補を採用するものとして選択してもよい。
【0054】
上記構成によれば、選択部115は、組み合わせた複数のセルの位置関係と、複数のセルの間の罫線の配置状態とにより、親子セルを選択することができる。このため、選択部115は、非定型の帳票の表であっても、この表に含まれる入れ子構造の項目名(セル)を選択することができる。したがって、選択部115は、帳票の画像データ上の入れ子構造を有する表においてこの入れ子構造の項目の情報を出力させるにあたって、この帳票の表が非定型であっても対応できる。
【0055】
選択部115は、例えば、妥当性評価部115aを備えてもよい。妥当性評価部115aは、入れ子構造、すなわち親子セルの候補の妥当性を評価する。また、妥当性評価部115aは、例えば、親子孫セルの候補の妥当性を評価してもよい。選択部115は、妥当性評価部115aにより評価された妥当性に基づいて、候補の中から採用する組み合わせを選択してもよい。このような構成によれば、選択部115は、親子セルの候補の妥当性を評価により採用する親子セルを選択することができる。このため、選択部115は、非定型の帳票であっても、一定の妥当性を根拠として、入れ子構造の項目名(セル)を認識することができる。
【0056】
妥当性評価部115aは、上記(ア)の妥当性の評価として、例えば、以下のルール1~4の少なくともいずれかに従い、親子セルの候補の妥当性を評価してもよい。
・ルール1:横並びに親子セルの候補が存在する場合、親セルが子セルより前方(水平方向の左側)に配置している方が、親子セルの候補の妥当性が高い
・ルール2:縦並びに親子セルの候補が存在する場合、親セルが上方(垂直方向)に配置している方が、親子セルの候補の妥当性が高い
・ルール3:親子セル間のグリッド経路(水平方向・垂直方向に沿う直角での移動)で横切る罫線の本数が少ない方が、親子セルの候補の妥当性が高い
・ルール4:親セルと子セルがY座標(垂直軸)で重なっているか判定し、重なっている候補と比較して、重なっていない候補の妥当性が低い
【0057】
妥当性評価部115aが行う妥当性の評価は、例えば、複数の候補の間の相対的な評価であってもよいし、絶対的な評価であってもよい。
【0058】
妥当性評価部115aは、例えば、上記ルール1に従って、親セルと子セルの位置関係として、水平方向(X軸方向)において親セルが子セルより左側に配置されている場合、親子セルの候補の妥当性の評価を上げてもよい。この場合、妥当性評価部115aは、例えば、親セルが子セルより右側に配置されている場合と比較して、親子セルの候補の妥当性の評価を上げてもよい。このような構成によれば、妥当性評価部115aは、左側から右側に向けて読み取るように構成されている表のレイアウトをふまえて、親子関係、すなわち入れ子構造の妥当性を評価することができる。
【0059】
妥当性評価部115aは、例えば、上記ルール2に従って、親セルと子セルの位置関係として、垂直方向(Y軸方向)において親セルが子セルより上側に配置されている場合、親子セルの候補の妥当性の評価を上げてもよい。この場合、妥当性評価部115aは、例えば、垂直方向において親セルが子セルより下側に配置されている場合と比較して、親子セルの候補の妥当性の評価を相対的に上げてもよい。このような構成によれば、妥当性評価部115aは、上側から下側に向けて読み取るように構成されている表のレイアウトをふまえて、親子関係、すなわち入れ子構造の妥当性を評価することができる。
【0060】
妥当性評価部115aは、例えば、上記ルール3に従って、親セルと子セルの間の罫線の配置状態として、親セルと子セルの間に配置されている罫線が所定の本数を超えている場合、親子セルの候補の妥当性の評価を下げてもよい。この場合、妥当性評価部115aは、例えば、親セルと子セルの間に配置されている罫線が所定の本数を超えない場合と比較して、親子セルの候補の妥当性の評価を相対的に下げてもよい。例えば、無関係に配置されている複数のセルは互いに隣接していない等、一定の距離を隔てて配置されていることが多い。このような構成によれば、妥当性評価部115aは、このような無関係なセルの配置の傾向をふまえて、親子関係、すなわち入れ子構造の妥当性を評価することができる。
【0061】
妥当性評価部115aは、例えば、上記ルール4に従って、後述する重なり評価部115bによる評価の結果にさらに基づいて、親子セルの候補の妥当性を評価してもよい。例えば、無関係に配置されている複数のセルは互いに隣接しておらず、各セルを囲う枠は重ならないことが多い。このような構成によれば、妥当性評価部115aは、このような無関係なセルの配置の傾向をふまえて、親子関係、すなわち入れ子構造の妥当性を評価することができる。
【0062】
選択部115は、例えば、重なり評価部115bを備えてもよい。重なり評価部115bは、親セルを囲う罫線の枠と子セルを囲う罫線の枠の重なり状態を評価する。具体的には、重なり評価部115bは、親セルを囲う罫線の枠の少なくとも一部と子セルを囲う罫線の枠の少なくとも一部が重なっているか否かを評価してもよい。
【0063】
重なり評価部115bは、例えば、親セルを囲う罫線の交点座標と子セルを囲う罫線の交点座標とが重なっているか否かを評価してもよい。また、重なり評価部115bは、例えば、親セルの交点座標のY座標と子セルの交点座標のY座標とが、重なっているか否か、すなわち略同一か否かを評価してもよい。この「(座標が)略同一か否か」とは、例えば、それぞれの座標が同じ値又は一定の範囲内にあるか否かであってもよい。
【0064】
ここで、
図5~6を参照して、妥当性評価部115aにおける、上記ルール1~4を用いた入れ子構造の妥当性の評価の一例について説明する。
【0065】
図5の例では、(1)「視力」セル、(2)「裸眼」セル、(3a)「右」セル、及び(3b)「左」セルの組み合わせを用いて説明する。
図5に示すように、妥当性評価部115aは、(1)・(2)(3a)・(3b)の中から組み合わされた親子孫セルの候補のそれぞれについて、上記ルール1~4に従って、入れ子構造の妥当性の評価を行う。なお、
図5では、グリッド線を破線で示す。また、本例では、妥当性の評価において、加点方式で行う。すなわち、各候補において、ルールに当てはまる点があれば評価は加点されるが、ルールに当てはまらない点があっても減点されない。
【0066】
上記ルール1について、(1)「視力」セルを親セル、(2)「裸眼」セルを子セル、(3a)「右」セルを孫セルとする組み合わせ(以下、「(1)・(2)・(3a)の親子孫セル」ともいう)の候補の場合、子セルと孫セルの親子関係において、水平方向(X軸方向)において子セルが孫セルより左側に配置されている。このため、この候補に対して、妥当性評価部115aは、入れ子構造の妥当性の評価を加点(「+」)する。
【0067】
上記ルール2について、(1)・(2)・(3a)の親子孫セルの候補の場合、親セルと子セルの親子関係において、垂直方向(Y軸)において親セルが子セルより上側に配置されている。このため、この候補に対して、妥当性評価部115aは、入れ子構造の妥当性の評価を加点(「+」)する。
【0068】
上記ルール3について、(1)・(2)・(3a)の親子孫セルの候補の場合、孫セルと子セルの親子関係において、親セルと子セルの間に配置されている罫線、すなわち、子孫セル間のグリッド経路(グリッド線上のX軸・Y軸に沿う直角での移動)で横切る罫線の本数が所定の本数(本例では、「2本」とする)を下回る。このため、この候補に対して、妥当性評価部115aは、入れ子構造の妥当性の評価を加点(「+」)する。この「グリッド経路で横切る罫線の本数」は、例えば、グリッド線と親子セルのそれぞれを囲う罫線とが交わる交点のうちグリッド線上に沿う親子セル間の移動経路にある交点としてもよい。この移動経路にある交点の数が所定の数を下回る場合、この親子セルの候補に対して、妥当性評価部115aは、入れ子構造の妥当性の評価を加点してもよい。
【0069】
上記ルール4について、(1)・(2)・(3a)の親子孫セルの候補の場合、孫セルと子セルの親子関係において、子セルの交点座標のY座標と孫セルの交点座標のY座標とが、重なっている右上下の頂点2つが重なっている。このため、この候補に対して、妥当性評価部115aは、入れ子構造の妥当性の評価を加点(「+」)する。
【0070】
妥当性評価部115aは、上記のとおり、ルール1~4について入れ子構造の妥当性の評価に対して加点された結果を合計する。例えば、1つの「+」を1ポイントとして加点する場合、(1)・(2)・(3a)の親子孫セルの候補の妥当性の評価は合計4ポイントとなる。例えば、この合計が所定の閾値(本例では、3本)を超える場合、選択部115は、(1)・(2)・(3a)の親子孫セルを、採用する親子孫セルとして選択してもよい。他の例として、特定されたすべての親子孫セルの組み合わせの候補の中で相対的にこの合計が高い場合、選択部115は、(1)・(2)・(3a)の親子孫セルを、採用する親子孫セルとして選択してもよい。
【0071】
図6に示すように、例えば、抽出部112により罫線の一部が抽出できないような場合もある。このような場合、妥当性評価部115aは、入れ子構造の妥当性の評価に対して、抽出できなかった罫線を用いるようなルール(本例では、ルール2とする)は適用しなくてもよい。
【0072】
図2に戻って説明を続ける。妥当性評価部115aは、上記(イ)の妥当性の評価として、例えば、親セル及び子セルの少なくともいずれかが表内において領域特定部113eにより特定された領域外に位置する場合、親子セルの候補の妥当性の評価を下げてもよい。
【0073】
ここで
図7を参照して、表のレイアウトをふまえた入れ子構造の妥当性の評価の一例について説明する。本例では、特定された項目名のセルを、「血圧」及び「最高」とする。
図7(a)に示すように、項目名が縦並びにある表T1が抽出された場合、表T1を示す領域を略中央の線(y1-y1’線)を基準として左側の領域と右側の領域に分けた際、領域特定部113eは、表T1の項目名が配置される領域として、左側の領域を特定する。他方、
図7(b)はグラフ
図P1が項目名が縦並びにある表として誤って抽出された場合の例を示す。
図7(b)に示すように、妥当性評価部115aは、グラフ
図P1を示す領域を略中央の線(y2-y2’線)を基準として左側の領域が特定された場合、この特定された左側の領域外、すなわち右側の領域に少なくとも一部が位置する項目名のセル(本例では、「血圧」及び「最高」)について、入れ子構造、すなわち親子セルの候補としての妥当性を減点してもよい。
【0074】
例えば、表のレイアウトの多くは、表内において左側の領域に配置される傾向にある。上記構成によれば、妥当性評価部115aは、このような表のレイアウトの傾向をふまえて、親子関係、すなわち入れ子構造の妥当性を評価することができる。このため、例えば、グラフ図等を表と誤って抽出した場合において、妥当性評価部115aは、このグラフ図等にあるセルを、入れ子構造として誤認識することを低減させることができる。
【0075】
図2に戻って説明を続ける。妥当性評価部115aは、上記(ウ)の妥当性の評価として、例えば、表に配置されうる1以上のキーワードを示す情報(以下、「キーワード情報」ともいう)を記憶するキーワード記憶部121を参照して、キーワードを示す文字列(セル)が表内に存在しない場合、この表内に配置された親子セルの候補の妥当性の評価を下げてもよい。このキーワードは、例えば、表のタイトルを示す文字列、列(カラム)のタイトル(項目名)を示す文字列や単位を示す文字列等であってもよい。
【0076】
ここで
図8を参照して、表に含まれうるキーワードをふまえた入れ子構造の妥当性の評価の一例について説明する。本例では、特定された項目名のセルを「血圧」及び「最高」とし、キーワードを「今回」という列のタイトルとする。
図8(a)に示すように、抽出された表T2について、表内のセルに含まれる文字列の中に、キーワード「今回」が存在する。他方、
図8(b)はグラフ
図P2が表として誤って抽出された場合の例を示す。
図7(b)に示すように、妥当性評価部115aは、グラフ
図P2内にキーワード「今回」が存在しないため、グラフ
図P2に含まれる項目名のセル(本例では、「血圧」「最高」)について、入れ子構造、すなわち親子セルの候補としての妥当性を減点してもよい。
【0077】
上記構成によれば、妥当性評価部115aは、このような表に含まれうるタイトルや単位等のキーワードによって、親子関係、すなわち入れ子構造の妥当性を評価することができる。このため、例えば、グラフ図等を表と誤って抽出した場合等において、妥当性評価部115aは、このグラフ図等にあるセルを、入れ子構造として誤認識することを低減させることができる。
【0078】
[出力部]
出力部116は、選択された組み合わせに基づいて、親セルを示す情報と子セルを示す情報とを出力する。出力部116は、例えば、親セルの文字列情報と子セルの文字列情報とを関連付けて端末200等で出力するための出力情報を生成してもよい。そして、出力部116は、例えば、生成した出力情報を、端末200に通信部130により送信させることで出力してもよい。この出力情報は、例えば、帳票の親子関係にある各項目名の文字列をリストアップした固定長又は可変長のテキストデータであってもよい。
【0079】
[記憶部]
記憶部120は、第1ニューラルネットワークと第2ニューラルネットワークとを記憶してもよい。さらに、記憶部120は、帳票の画像データ、各セルを示す情報、出力情報、項目名登録情報、及び/又はキーワード情報等を記憶してもよい。記憶部120は、例えば、キーワード記憶部121を備えてもよい。キーワード記憶部121は、キーワード情報を記憶する。記憶部120は、例えば、データベースマネジメントシステム(DBMS)を利用して各情報を記憶してもよいし、ファイルシステムを利用して各情報を記憶してもよい。DBMSを利用する場合は、記憶部120では、複数の情報それぞれについてテーブルを設けて、このテーブル間を関連付けることで複数の情報を関連付けて記憶し管理されてもよい。
【0080】
[通信部]
通信部130は、ネットワークNを介して、スキャナー300から帳票の画像データを受信したり、端末200に出力情報を送信したりする。
【0081】
<3.動作例>
図9を参照して、本実施形態に係るサーバ装置100の動作例を説明する。
図9は、サーバ装置100において、帳票の画像データを取得して、この画像データから読み取れた情報を端末200に出力する処理の流れを示すフロー図である。なお、以下に示す処理の順番は一例であって、適宜、変更されてもよい。
【0082】
図9に示すように、サーバ装置100の取得部111は、帳票の画像データを取得する(S10)。この帳票は、セルを複数有する表を含む。
【0083】
罫線判定部112aは、帳票の画像データの各画素に対して、この画像データ上の罫線を形成する罫線候補とするか否かを判定する(S11)。この罫線判定部112aの判定処理と並列して、交点判定部112b1は、帳票の画像データの各画素に対して、この画像データ上の罫線の交点を形成する交点候補とするか否かを判定する(S12)。交点抽出部112bは、交点候補と判定された画素の位置に基づいて、画像データ上の罫線の交点位置を抽出する(S13)。
【0084】
抽出部112は、罫線判定部112aにより判定された罫線候補と、交点抽出部112bにより抽出された交点位置とに基づいて、画像データ上の罫線を抽出する(S14)。
【0085】
上記の罫線候補の判定処理や交点位置の抽出処理、罫線の抽出処理と並列して、文字認識部113aは、帳票の画像データ上のセル内の文字列を認識する(S15)。同様に並列して、抽出部112は、帳票の画像データ上の表を抽出する(S16)。
【0086】
認識部113は、抽出部112により抽出された表、及び認識部113により認識された文字列に基づいて、表の複数のセルを認識する(S17)。具体的には、認識部113は、例えば、各セルについて、このセルの頂点座標及びこのセルに含まれる文字列を認識する。
【0087】
組み合わせ特定部114は、認識部113により認識された複数のセルにおいて、親子関係にある親セルと子セルの組み合わせの候補を1つ以上特定する(S18)。選択部115は、親セルと子セルの位置関係と、親セルと子セルの間の罫線の配置状態と、に基づいて、親セルと子セルの組み合わせの候補の中から採用する組み合わせを選択する(S19)。出力部116は、選択部115により選択された組み合わせに基づいて、親セルを示す情報と子セルを示す情報とを端末200等に出力する(S20)。
【0088】
<4.ハードウェア構成>
図10を参照して、上述してきたサーバ装置100をコンピュータ800により実現する場合のハードウェア構成の一例を説明する。なお、それぞれの装置の機能は、複数台の装置に分けて実現することもできる。
【0089】
図10に示すように、コンピュータ800は、プロセッサ801と、メモリ803と、記憶装置805と、入力I/F部807と、データI/F部809と、通信I/F部811、及び表示装置813を含む。
【0090】
プロセッサ801は、メモリ803に記憶されているプログラム(例えば、サーバプログラム等)を実行することによりコンピュータ800における様々な処理を制御する。例えば、サーバ装置100の制御部110が備える各機能部などは、メモリ803に一時記憶された上で、主にプロセッサ801上で動作するプログラムとして実現可能である。
【0091】
メモリ803は、例えばRAM(Random Access Memory)などの記憶媒体である。メモリ803は、プロセッサ801によって実行されるプログラム(例えば、サーバプログラム等)のプログラムコードや、プログラムの実行時に必要となるデータを一時的に記憶する。
【0092】
記憶装置805は、例えばハードディスクドライブ(HDD)やフラッシュメモリなどの不揮発性の記憶媒体である。記憶装置805は、オペレーティングシステムや、上記各構成を実現するための各種プログラム(例えば、サーバプログラム等)を記憶する。この他、記憶装置805は、出力情報やキーワード情報等を登録するテーブルと、当該テーブルを管理するDBを記憶することも可能である。このようなプログラムやデータは、必要に応じてメモリ803にロードされることにより、プロセッサ801から参照される。
【0093】
入力I/F部807は、ユーザからの入力を受け付けるためのデバイスである。入力I/F部807の具体例としては、キーボードやマウス、タッチパネル、各種センサ、ウェアラブル・デバイスなどが挙げられる。入力I/F部807は、例えばUSB(Universal Serial Bus)などのインタフェースを介してコンピュータ800に接続されても良い。
【0094】
データI/F部809は、コンピュータ800の外部からデータを入力するためのデバイスである。データI/F部809の具体例としては、各種記憶媒体に記憶されているデータを読み取るためのドライブ装置などがある。データI/F部809は、コンピュータ800の外部に設けられることも考えられる。その場合、データI/F部809は、例えばUSBなどのインタフェースを介してコンピュータ800へと接続される。
【0095】
通信I/F部811は、コンピュータ800の外部の装置と有線又は無線により、インターネットNを介したデータ通信を行うためのデバイスである。通信I/F部811は、コンピュータ800の外部に設けられることも考えられる。その場合、通信I/F部811は、例えばUSBなどのインタフェースを介してコンピュータ800に接続される。
【0096】
表示装置813は、各種情報を表示するためのデバイスである。表示装置813の具体例としては、例えば液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイ、ウェアラブル・デバイスのディスプレイなどが挙げられる。表示装置813は、コンピュータ800の外部に設けられても良い。その場合、表示装置813は、例えばディスプレイケーブルなどを介してコンピュータ800に接続される。また、入力I/F部807としてタッチパネルが採用される場合には、表示装置813は、入力I/F部807と一体化して構成することが可能である。
【0097】
なお、本実施形態は、本発明を説明するための例示であり、本発明をその実施の形態のみに限定する趣旨ではない。また、本発明は、その要旨を逸脱しない限り、さまざまな変形が可能である。さらに、当業者であれば、以下に述べる各要素を均等なものに置換した実施の形態を採用することが可能であり、かかる実施の形態も本発明の範囲に含まれる。
【0098】
[変形例]
なお、本発明を上記実施の形態に基づいて説明してきたが、以下のような場合も本発明に含まれる。
【0099】
[変形例1]
上記実施形態に係るサーバ装置100における各構成の少なくとも一部は、端末200が備えていてもよい。例えば、サーバ装置100の認識部113、組み合わせ特定部114、選択部115及び出力部116の機能は、端末200の制御部(不図示)に備えてもよい。
【0100】
[変形例2]
上記実施形態では、上記(イ)及び(ウ)の妥当性の評価の例として、表のレイアウトや表内に含まれるキーワードを用いて、入れ子構造の妥当性を評価する例を説明したが、本発明はこれに限定されない。例えば、妥当性評価部115aは、キーワード情報に基づいて、第2マッピングモデルを用いて、特定された項目名の位置に対応するキーワードのうち、第2相関値が所定の閾値以上のキーワードが位置し得る範囲を特定してもよい。このキーワードは、例えば、帳票のパターンごとに分類されたキーワードであってもよい。妥当性評価部115aは、キーワードを示す文字列がこの特定された範囲内に存在しない場合、この表内に配置された親子セルの候補の妥当性の評価を下げてもよい。また、逆に、妥当性評価部115aは、キーワードを示す文字列がこの特定された範囲内に存在する場合、この表内に配置された親子セルの候補の妥当性の評価を上げてもよい。
【0101】
第2マッピングモデルは、帳票の各項目の項目名の位置とこの項目名に対応するキーワードの位置との間の第2相関値を表すモデルである。第2マッピングモデルは、例えば、パターン分類部113fにより分類された帳票のパターンごとに、帳票上に帳票の各項目の項目名の位置とキーワードの位置との相関値がマッピングされたものであってもよい。この相関値は、学習データである各項目の項目名とキーワードとの複数の相対位置情報を統計解析して算出されたものであってもよい。また、第2マッピングモデルは、例えば、各項目の項目名とキーワードとの相対位置のデータを表現した可視化グラフであるヒートマップであってもよく、項目名に対応する複数のキーワードの相対位置の相関レベルを二次元で表したものでもあってもよい。
【符号の説明】
【0102】
1…帳票読取システム、100…サーバ装置(情報処理装置)、110…制御部、112…抽出部、113…認識部、114…組み合わせ特定部、115…選択部、116…出力部、120…記憶部、130…通信部、200…端末、300…スキャナー、800…コンピュータ、801…プロセッサ、803…メモリ、805…記憶装置、807…入力I/F部、809…データI/F部、811…通信I/F部、813…表示装置。