JP4809024B2 - 帳票読取装置、プログラム及び帳票読取システム - Google Patents

帳票読取装置、プログラム及び帳票読取システム Download PDF

Info

Publication number
JP4809024B2
JP4809024B2 JP2005260941A JP2005260941A JP4809024B2 JP 4809024 B2 JP4809024 B2 JP 4809024B2 JP 2005260941 A JP2005260941 A JP 2005260941A JP 2005260941 A JP2005260941 A JP 2005260941A JP 4809024 B2 JP4809024 B2 JP 4809024B2
Authority
JP
Japan
Prior art keywords
reading
query
specified
item
definition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005260941A
Other languages
English (en)
Other versions
JP2007072882A (ja
Inventor
健 永崎
勝美 丸川
峰伸 関
正一 石井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Information and Telecommunication Engineering Ltd
Original Assignee
Hitachi Computer Peripherals Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Computer Peripherals Co Ltd filed Critical Hitachi Computer Peripherals Co Ltd
Priority to JP2005260941A priority Critical patent/JP4809024B2/ja
Publication of JP2007072882A publication Critical patent/JP2007072882A/ja
Application granted granted Critical
Publication of JP4809024B2 publication Critical patent/JP4809024B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Character Input (AREA)
  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、帳票を撮像する帳票読取装置に関し、特に、撮像した画像データから必要なデータを読み取る技術に関する。
現在、コンピュータによるデジタル情報技術が普及している。それでも、紙は、情報伝達媒体として広く使われている。そのため、紙の帳票及び紙の文書を効率よく電子的に処理したいという社会的な要求は依然根強い。ここでは、紙の帳票及び紙の文書をまとめて紙帳票と呼ぶ。
そこで、紙帳票を読み取る帳票読取装置が知られている。帳票読取装置は、帳票に記載されている情報を文字認識することによって、帳票に記載された情報を電子データに変換する。
例えば、帳票読取装置は、帳票を撮像することによって、帳票の画像データを取得する。次に、取得した画像データから読み取る情報(項目記載内容)の領域(読取対象領域)を特定する。そして、帳票読取装置は、特定した読取対象領域を読み取る。
帳票読取装置が用いるOCR(Optical Character Recognition)技術として、帳票OCR技術又は文書OCR技術が知られている。帳票OCR技術が適用された帳票読取装置は、帳票構造に関する定義(帳票定義)を参照して、帳票の画像データから必要なデータを読み取る。なお、帳票定義は、帳票に記載されている枠及び罫線の構造に関する定義を含む。また、帳票定義は、帳票に記載されている枠の座標及び帳票に記載されている読取対象領域の座標等を含む。
文書OCR技術が適用された帳票読取装置は、特定の帳票構造を前提とせずに、帳票からデータを読み取る。よって、文書OCR技術が適用された帳票読取装置には、帳票定義を設定する必要がない。しかし、文書OCR技術が適用された帳票読取装置は、読み取ったデータの内容が分からないという問題があった。そのため、当該データは、データベースの適切な位置に格納できない。
例えば、文書OCR技術が適用された帳票読取装置が読み取ったデータに含まれる数字列は、金額又はID番号のどちらを意味するのかが分からない。よって、当該数字列は、データとして活用できない。更に、当該数字列が、金額であると判明しても、何の項目に対応する金額なのかが分からないので、データとして活用できない。例えば、当該数字列は、収入又は支出のどちらであるのかが分からないと、データベースに格納できない。
一方、帳票OCR技術が適用された帳票読取装置は、帳票定義に基づいて、帳票の画像データから必要なデータを読み取る。よって、読み取ったデータの内容を把握できる。そのため、一般的な帳票読取装置には、帳票OCR技術が適用されている。
また、項目記載内容の位置を指定する技術として、枠構造解析技術及び帳票項目読取技術が知られている。
枠構造解析技術については、特許文献1に開示されている。以下、枠構造解析技術の処理を説明する。
まず、帳票読取装置は、帳票の画像データから罫線を抽出する。次に、抽出した罫線に囲まれる領域を枠として特定する。次に、特定した枠の配置を解析することによって、項目記載内容が記載されている領域(読取対象領域)を特定する。
また、帳票項目読取技術については、特許文献2に開示されている。特許文献2では、紙帳票を総合振込依頼書に限定している。以下、帳票項目読取技術の処理を説明する。
帳票読取装置は、帳票の構造定義を参照しながら、紙帳票から項目名を読み取る。そして、読み取った項目名の出現順序に応じて、読取対象領域を特定する。これによって、項目記載内容の位置が入れ替わった準定型の紙帳票であっても、読取対象領域を特定できる。
また、項目記載内容を高精度に読み取る技術として、文字列表記解析技術が知られている。文字列表記解析技術は、読取対象領域を特定した場合における項目記載内容の読取精度を向上する技術である。
文字列表記解析技術を適用した帳票読取装置は、文字切出及び文字認識の不確定さを補いながら、文字列の画像データを文字列テキストに変換する。なお、文字列表記解析技術には、形態素解析、RTN照合(再帰遷移ネットワーク照合)又は上昇型構文解析アルゴリズム等を用いる。
例えば、帳票読取装置の読取結果に形態素解析を用いる文字列表記解析技術が、特許文献3に開示されている。
また、従来の帳票読取装置は、帳票を読み取る際に、当該帳票のフォーマット定義を用いる。なお、フォーマット定義は、帳票のID、項目記載内容、罫線及び枠の構造定義、読取対象領域の座標並びに表記知識を含む。従来の帳票読取装置は、帳票の画像データの枠構造とフォーマット定義に含まれる構造定義とを照合する。すると、項目記載内容の位置を特定できる。そして、特定した位置を読み取ることによって、画像データから項目記載内容を取得する。
従来の帳票読取装置は、定型の帳票のみを読み取るのであれば、当該帳票のフォーマット定義を備えていればよい。
しかし、従来の帳票読取装置が、非定型の帳票を読み取る場合、すべての帳票のフォーマット定義を備えるのは困難である。
また、帳票構造が変更された場合、帳票読取装置が備えるフォーマット定義を変更しなければならない。同様に、業務処理が変更された場合、帳票の項目記載内容を追加又は変更する必要があるので、帳票読取装置が備えるフォーマット定義を変更しなければならない。これらの場合、帳票読取装置が備えるフォーマット定義だけでなく、帳票読取装置の周辺の装置の設定も変更しなければならない。例えば、帳票読取装置が読み取ったデータをデータベースに格納する際に使用される情報を変更しなければならない。
また、表記定義を表現する方法が、特許文献4に記載されている。これによれば、表記定義を表現する方法として、トライ法又は文脈自由文法などが知られている。
特開平8−125855 特開2003−30455号公報 特開平5−108891号公報 特開2001−014311号公報
従来の帳票読取装置は、帳票から必要なデータを読み取る場合、構造定義を用いる。そのため、従来の帳票読取装置は、非定型の帳票からデータを読み取るためには、すべての帳票の構造定義を含む構造定義辞書を用意しなければならないという問題があった。
本発明は、前述した問題点に鑑みてなされたものであり、構造定義辞書を参照せずに必要なデータを抽出する帳票読取装置を提供することを目的とする。
本発明は、画像撮像部と、中央演算部と、記憶部と、通信部と、を備える帳票読取装置であって、前記画像撮像部は、帳票を撮像することによって、当該帳票の画像データを取得し、前記記憶部は、前記帳票に記載されている項目名の半順序構造を含むスタイルシートを記憶し、前記中央演算部は、前記通信部からクエリを受けると、当該クエリに指定された項目名を特定し、前記記憶部に記憶されたスタイルシートを解釈することによって、前記特定した項目名に対応する記載内容が前記帳票に記載されている位置を特定し、前記特定した位置を、前記帳票の画像データから読み取ることによって、当該記載内容を取得し、前記取得した記載内容をインスタンスとして通信部から出力することを特徴とする。
本発明によれば、構造定義辞書を参照せずに必要なデータを抽出できる。
以下、本発明の実施の形態を図面を参照して説明する。
(第1の実施の形態)
図1Aは、従来の帳票読取システムのブロック図である。
従来の帳票読取システムは、帳票読取装置0102、業務制御装置0104及び業務データベース装置(業務DB装置)0106を備える。また、従来の帳票読取システムは、帳票定義辞書0103、テキスト変換定義辞書0105及びデータベース定義辞書(DB定義辞書)0107等を含む複数の辞書を管理する。
帳票定義辞書0103は、当該帳票読取システムによって処理される帳票に関する定義を管理する辞書である。例えば、帳票定義辞書0103は、帳票に記載されている枠の構造及び帳票に記載されている罫線の構造に関する定義を含む。また、帳票定義辞書0103は、枠、罫線及び文字列の帳票における座標等を含む。
テキスト変換定義辞書0105は、帳票に記載されている内容に関する定義を管理する辞書である。例えば、テキスト変換定義辞書0105は、帳票の読取対象領域と当該読取対象領域の記載内容との対応を含む。
DB定義辞書0107は、業務DB装置0106がデータベースにデータを格納する際に使用する定義を管理する辞書である。
次に、従来の帳票読取システムの処理を説明する。本実施の形態では、紙の帳票及び紙の文書をまとめて紙帳票と呼ぶ。
まず、従来の帳票読取システムに紙帳票0101が入力される。すると、帳票読取装置0102が、入力された紙帳票0101を撮像することによって、当該紙帳票の画像データを取得する。次に、帳票読取装置0102は、帳票定義辞書0103に基づいて、帳票上の読取対象領域を特定する。なお、読取対象領域は、帳票読取装置0102によって読み取られるデータ(項目記載内容)が記載されている領域である。
次に、帳票読取装置0102は、読取対象領域の項目記載内容の表記に応じて、画像データの読取対象領域を読み取る。例えば、項目記載内容が氏名であれば、標準的な姓名の表記が定義された辞書を参照しながら、画像データの読取対象領域を読み取る。そして、帳票読取装置0102は、読取結果を業務制御装置0104に送る。
すると、業務制御装置0104は、テキスト処理によって、帳票読取装置0102の読取結果を変換する。具体的には、一行に複数の項目記載内容が記載されている場合、業務制御装置0104は、一行のテキストデータを項目記載内容ごとに分割する。例えば、業務制御装置0104は、一行のテキストデータを、項目名と金額とに分割したり、住所と名前とに分割したりする。次に、業務制御装置0104は、帳票読取装置0102の読取結果に、テキストの属性のタグを付ける。これによって、業務制御装置0104は、帳票読取装置0102の読取結果を、データベースに格納し易いデータ形式に変換する。
なお、タグ付けには、例えば、XML等のタグ言語が用いられる。また、読取結果は、CSV等の区切り記号によって分割されたテキストデータとして表現されてもよい。なお、タグを付された(構造化テキストで表現された)データを、インスタンスと呼ぶ。
次に、業務DB装置0106は、DB定義辞書0107に基づいて、インスタンスの中の必要なデータをデータベースに格納する。例えば、インスタンスがXMLインスタンスであれば、業務DB装置0106は、タグを参照しながら、インスタンスの中の必要なデータをデータベースに格納する。また、インスタンスがCSVであれば、業務DB装置0106は、テキストが何番目の区切りであるかを考慮しながら、インスタンスの中の必要なデータをデータベースに格納する。
図1Bは、本発明の第1の実施の形態の帳票読取システムのブロック図である。
本実施の形態の帳票読取システムは、帳票読取装置0108及び業務処理装置0109を備える。また、帳票読取システムは、XSLスタイルシート0110を管理する。なお、具体的な処理の内容については後述する。
XSLスタイルシート0110は、図5で後述するが、帳票に記載されている項目の半順序構造を含む。
業務処理装置0109は、帳票のデータが必要になると、読取クエリを帳票読取装置0108へ送信する。読取クエリには、帳票の読み取りに必要な情報が含まれる。つまり、読取クエリには、XSLスタイルシート0110の内容が反映されている。
すると、帳票読取装置0108は、XSLスタイルシート0110に基づいて、紙帳票0101の読取対象領域を特定する。次に、特定した読取対象領域を読み取る。次に、読取結果をインスタンスに変換する。そして、当該インスタンスを業務処理装置0109に送信する。
業務処理装置0109は、帳票読取装置0108からインスタンスを受信する。そして、受信したインスタンスを解析することによって、帳票読取装置0108の読取結果をデータベースへ格納する。このとき、業務処理装置0109は、DB定義を参照しながら、帳票読取装置0108の読取結果をデータベースへ格納する。DB定義は、業務処理装置0109がデータベースにデータを格納する際に使用する情報である。
なお、業務処理装置0109は、帳票のデータが必要になると、読取クエリを帳票読取装置0108に逐次送信する。帳票読取装置0108は、読取クエリを受信する度に読取処理(オンライン駆動)を行ってもよいし、複数の読取クエリを受信した後にまとめて読取処理(バッチ駆動)を行ってもよい。
本実施の形態の帳票読取システムは、帳票定義、テキスト定義及びDB定義に関する情報を一元化した情報と同等なXSLスタイルシート0110を管理する。これによって、帳票読取装置0108と業務処理装置0109とが連携して動作する。
図2は、本発明の第1の実施の形態の帳票読取システムの処理の説明図である。
まず、帳票提出側のシステム0201の処理を説明する。
帳票提出側のシステム0201は、データベースA0202、帳票提出側業務処理装置0203及び印刷装置0205を備える。データベースA0202には、帳票提出側の業務等に関するデータが格納されている。
また、帳票提出側のシステム0201は、XSLスタイルシート0110を管理している。XSLスタイルシート0110は、例えば、印刷フォーマットを定めるXML−FOに基づくものである。
帳票提出側のシステム0201の処理について説明する。
まず、帳票提出側業務処理装置0203は、必要なデータをデータベースA0202から抽出する。次に、抽出したデータをXMLに変換する。これによって、抽出したデータをインスタンス0204に変換する。
次に、帳票提出側業務処理装置0203は、インスタンス0204を印刷装置0205に送信する。
すると、印刷装置0205は、受信したインスタンス0204とXSLスタイルシート0110とを掛け合わせたものを印刷する。これによって、印刷装置0205は、紙帳票0101を印刷する。
帳票提出側のシステム0201のユーザは、印刷された紙帳票0101を帳票受付側のシステム0208のユーザへ郵便等で送る。
次に、帳票受付側のシステム0208を説明する。
帳票受付側のシステム0208は、例えば、本実施の形態の帳票読取システムである。帳票受付側のシステム0208は、データベースB0209、業務処理装置0109及び帳票読取装置0108を備える。データベースB0209には、紙帳票0101から読み取られたデータが格納されている。
また、帳票受付側のシステム0208は、XSLスタイルシート0110を管理している。
帳票受付側のシステム0208の処理を説明する。
まず、業務処理装置0109は、データベースB0209にアクセスすることによって、必要なデータを決定する。
このとき、業務処理装置0109は、XSLスタイルシート0110を解釈することによって、紙帳票0101の内容及び体裁を把握する。次に、業務処理装置0109は、把握した紙帳票0101の内容及び体裁を参照して、読取クエリ0211を作成する。そして、作成した読取クエリ0211を帳票読取装置0108に送信する。なお、当該読取クエリは、業務処理装置0109が必要とするデータの読み取り要求である。
帳票読取装置0108は、業務処理装置0109から読取クエリ0211を受信する。すると、帳票読取装置0108は、紙帳票0101を撮像することによって、紙帳票0101の画像データを取得する。なお、帳票読取装置0108は、紙帳票0101を予め撮像しておいてもよいし、読取クエリを受けてから紙帳票0101を撮像してもよい。
次に、帳票読取装置0108は、XSLスタイルシート0110を参照して、読取対象領域を特定する。次に、特定した読取対象領域を画像データから読み取る。次に、帳票読取装置0108は、読取結果をインスタンス0212に変換する。そして、当該インスタンスを業務処理装置0109に送信する。
業務処理装置0109は、帳票読取装置0108からインスタンス0212を受信する。次に、受信したインスタンス0212のデータをデータベースB0209へ格納する。
以上のように、帳票提出側のシステム0201と帳票受付側のシステム0208とが、同一のXSLスタイルシート0110を管理することによって、別個にXSLスタイルシート0110を作成する手間を省略できる。このため、システムのユーザは、業務を効率よく遂行できる。また、システムのユーザは、印刷形式のデータに基づいてXSLスタイルシート0110を作成する。よって、システムのユーザは、帳票定義辞書、テキスト変換辞書定義及びDB定義辞書よりも容易に、XSLスタイルシート0110を作成できる。
図3は、本発明の第1の実施の形態の帳票読取システムのブロック図である。
帳票読取システムは、前述した図2においては、帳票受付側のシステム0208に該当する。
帳票読取システムは、帳票読取装置0108及び業務処理装置0109を備える。
帳票読取装置0108は、画像撮像部0301、操作部0302、表示部0303、外部記憶装置0304、メモリ0305、中央演算部0306及び通信部0307を備える。
画像撮像部0301、操作部0302、表示部0303、外部記憶装置0304、メモリ0305、中央演算部0306及び通信部0307は、内部バス0308によって相互に接続されている。
画像撮像部0301は、紙帳票0101を撮像することによって、紙帳票0101の画像データを取得する。そして、画像撮像部0301は、取得した画像データを外部記憶装置0304又はメモリ0305に格納する。
操作部0302は、ユーザによって操作されることによって、各種情報が入力される。表示部0303は、各種情報を表示する。
外部記憶装置0304は、各種情報を記憶する。メモリ0305は、プログラムを含む各種情報を記憶する。
例えば、外部記憶装置0304又はメモリ0305は、帳票形式の定義、帳票に含まれる項目名及び帳票に含まれる項目記載内容の表記等を記憶している。これらの情報は、文書構造解析処理において使用される。
また、メモリ0305は、データベースクエリ処理のデーモンプログラムを記憶している。データベースクエリ処理のデーモンプログラムは、読取クエリを受けると、当該読取クエリの処理に必要なプログラムを起動する。
中央演算部0306は、メモリ0305に記憶されているプログラムを実行することによって、各種処理を行う。
通信部0307は、外部通信線0309を介して業務処理装置0109に接続されている。
業務処理装置0109は、操作部0315、表示部0316、外部記憶装置0310、メモリ0311、中央演算部0312及び通信部0313を備える。
操作部0315、表示部0316、外部記憶装置0310、メモリ0311、中央演算部0312及び通信部0313は、内部バス0314によって相互に接続されている。
操作部0315は、ユーザによって操作されることによって、各種情報が入力される。表示部0316は、各種情報を表示する。
外部記憶装置0310は、各種情報を記憶する。メモリ0311は、プログラムを含む各種情報を記憶する。
例えば、外部記憶装置0310又はメモリ0311は、データベース、XSLスタイルシート0110及び帳票読取装置0108に送信する読取クエリを記憶している。
通信部0313は、外部通信線0309を介して帳票読取装置0108に接続されている。
中央演算部0312は、メモリ0311に記憶されているプログラムを実行することによって、各種処理を行う。
例えば、業務処理装置0109の中央演算部0312は、業務遂行のタイミングに合わせて、XSLスタイルシート0110に関する情報又は読取クエリを帳票読取装置0108に送信する。
すると、帳票読取装置0108の中央演算部0306は、受信したXSLスタイルシート0110に関する情報又は読取クエリを、メモリ0305に格納する。
次に、帳票読取装置0108の中央演算部0306は、メモリ0305に格納されているXSLスタイルシート0110に関する情報及び読取クエリに基づいて、帳票の画像データの読取対象領域を特定する。そして、特定した読取対象領域を読み取る。
次に、読取結果をインスタンスに変換する。そして、当該インスタンスを業務処理装置0109に送信する。
業務処理装置0109の中央演算部0312は、受信したインスタンスをメモリ0311に格納する。
次に、業務処理装置0109の中央演算部0312は、メモリ0311に格納されているインスタンスのデータを、データベースへ格納する。また、メモリ0311に格納されているインスタンスを用いて、業務処理を行ってもよい。
そして、業務処理装置0109の中央演算部0312は、これらの処理の結果を表示部0316に表示させる。ユーザは、表示部0316に表示された画像データを閲覧する。そして、ユーザは、必要に応じて、業務処理に関する指示を操作部0315に入力する。
なお、帳票読取装置0108及び業務処理装置0109は、一つの装置で実現されてもよい。
次に、帳票読取装置0108が業務処理装置0109に送信するインスタンスの一例として、XMLインスタンスを説明する。
図4は、本発明の第1の実施の形態のXMLインスタンス0402の説明図である。
行番号0401は、XMLインスタンス0402の説明のために付されたものであり、実際には付されていない。
本説明図のXMLインスタンス0402では、日立製作所が品物を送った取引先に関する情報がXMLタグ付きで記載されている。
1行目には、当該XMLによって扱われる言語体系が記載されている。
2行目には、当該データを表示又は印刷する際に使われるスタイルシートの名称が記載されている。3行目の<取引一覧>タグから20行目の</取引一覧>タグの間には、取引先に関するデータが記載されている。
5行目の<取引>タグから11行目の</取引>タグの間には、ある取引先に関するデータが記載されている。同様に、12行目の<取引>タグから18行目の</取引>タグの間にも、他の取引先に関するデータが記載されている。
6行目及び13行目には、当該取引先の郵便番号が記載されている。また、7行目及び14行目には、当該取引先の住所が記載されている。また、8行目及び15行目には、当該取引先の名称が記載されている。また、9行目及び16行目には、日立製作所が当該取引先に送った品物の金額が記載されている。また、10行目及び17行目には、当該取引先の区分の一意な識別子が記載されている。
すべての取引先に関する情報が記載された後に、</取引一覧>タグが記載される。</取引一覧>タグは、取引一覧の終了を示すタグである。本説明図では、20行目に</取引一覧>タグが記載されている。
図5は、本発明の第1の実施の形態のXSLスタイルシート0502の説明図である。
行番号0501は、XSLスタイルシート0502の説明のために付されたものであり、実際には付されていない。
XSLスタイルシート0502には、データベースのデータを視覚化する方法が定義されている。
本説明図のXSLスタイルシート0502は、XMLインスタンス0402(図4)をHTML形式に変換する。
1行目には、当該XMLによって扱われる言語体系が記載されている。
2行目には、当該XSLスタイルシート0502によって変換する旨の宣言が記載されている。3行目には、XMLインスタンス0402のルートノード以下のデータを変換する旨の宣言が記載されている。なお、ルートノードは、すべてのタグを束ねる最上位の概念である。
4行目には、データをHTMLへ変換する旨の宣言が記載されている。
5行目から7行目は、ヘッダ部である。なお、一般的に、HTMLのヘッダ部は、表示されない。
6行目には、XMLインスタンス0402の「取引一覧/社名」を挿入する旨が記載されている。なお、XMLインスタンス0402は、「/」記号で区切られたタグのツリー表記で記載される。従って、XMLインスタンス0402の「取引一覧/社名」とは、図4の3行目の<取引一覧>タグと図4の20行目の</取引一覧>タグとに囲まれ、且つ、<社名>と</社名>とに囲まれている情報である。図4のXMLインスタンス0402の場合、「取引一覧/社名」は、「株式会社日立製作所」を示す。
8行目から29行目は、ボディー部である。
9行目には、「取引一覧表:」という表示に続いて、XMLインスタンス0402の「取引一覧/社名」を表示する旨が記載されている。
10行目には、「table」というHTMLの予約語が記載されている。更に、10行目には、線の太さが3である表を表示する旨が記載されている。
10行目の<table>タグから28行目の</table>タグの間には、表の詳細な内容が記載されている。
11行目には、<tr>タグが記載されている。<tr>タグは、表の行を区切る旨のタグである。
なお、11行名の<tr>タグから16行目の</tr>タグまでの間には、表の一行目に関する記載が記載されている。
12行目から15行目には、表の一行目のそれぞれのカラムに格納する情報が記載されている。なお、それぞれのカラムに格納される情報は、<td>タグと</td>タグとで囲まれている。12行目から15行目には、<td>と</td>とで囲まれている情報が4つ存在する。よって、表は四列から構成される。
表の一行目のそれぞれのカラムには、「区分」、「送付先」、「郵便番号 送付先住所」及び「購入額」の順に格納される。つまり、表の一行目は、項目名となる。
17行目の<xsl:for−each>タグから27行目の</xsl:for−each>タグの間には、表の二行目以降に関する定義が記載されている。17行目の<xsl:for−each>タグは、すべてのXMLインスタンス0402を走査して、指定条件にあったデータをHTMLに挿入する旨のタグである。つまり、17行目の<xsl:for−each>タグから27行目の</xsl:for−each>タグの間の処理を繰り返す。
更に、17行目には、表に格納するデータの条件が指定されている。なお、表に格納するデータの条件は、selectという指定子によって指定されている。具体的には、17行目には、「select=“取引一覧/取引”」が記載されている。つまり、XMLインスタンス0402の<取引>タグと</取引>タグとで囲まれるすべてのすべての部分に対して、「for」以下(18行目から26行目まで)を繰り返す。これによって、XMLインスタンス0402がHTMLに変換される。
18行目には、<tr>タグが記載されている。また、26行目には、</tr>タグが記載されている。よって、それぞれの取引先に関する情報は、一行で表される。
18行目の<tr>タグと26行目には、</tr>タグの間には、<td>タグと</td>タグとで囲まれている情報が四つ存在する。よって、表は、四列から構成される。
19行目から25行目には、表の二行目以降のそれぞれのカラムに格納する情報が記載されている。
表の一列目のカラムには、XMLインスタンス0402の<区分>と</区分>とで囲まれている情報が格納される。また、表の二列目のカラムには、<名前>と</名前>とで囲まれている情報が格納される。
また、表の三列目のカラムには、<郵便>と</郵便>とで囲まれている情報及び<住所>と</住所>とで囲まれている情報が格納される。なお、22行目には、<br>タグが記載されている。<br>タグは、改行を挿入するタグである。よって、表の三列目のカラムには、<郵便>と</郵便>とで囲まれている情報の後に、改行が格納される。
また、表の四列目のカラムには、<金額>と</金額>とで囲まれている情報が格納される。
以上のように、XSLスタイルシート0502には、項目名の半順序構造及び項目記載内容の半順序構造が定義される。なお、半順序構造とは、並び順が緩く定義された構造である。例えば、半順序構造では、項目A、項目B、項目C・・・という順で左から右へ並ぶ構造が定義されてもよい。また、半順序構造では、項目A、項目B、項目C・・・という順で上から下へ並ぶ構造が定義されてもよい。なお、半順序構造では、項目が省略されてもよい。例えば、項目Bが省略された場合、半順序構造は、項目A、項目C・・・という順で並ぶことを意味する。
なお、XSLスタイルシート0502は、項目の並びの半順序構造だけでなく、項目の位置座標等を含んでいてもよい。
例えば、帳票読取装置0108は、XSLスタイルシート0502を解釈することによって、項目の半順序構造を取得する。そして、取得した半順序構造に基づいて、読取対象領域を特定する。
これよって、帳票読取装置0108は、項目名の配置と項目記載内容の配置との対応が不規則な帳票であっても、読取対象領域を特定できる。また、帳票読取装置0108は、帳票の差異を吸収しながら、帳票の読取範囲を特定できる。帳票の差異は、例えば、帳票の位置のずれ又は帳票のサイズのずれ等である。
なお、XSLスタイルシート0502は、従来の枠構造定義と似ている。しかし、従来の枠構造定義は、項目の並びを厳密に定義している。また、従来の枠構造定義は、項目を分割する枠又は罫線の構造を定義している。また、従来の枠構造定義は、繰り返しの構造を定義できない。
一方、XSLスタイルシート0502は、項目の並びを緩く規定する半順序構造が記述されている。また、XSLスタイルシート0502は、項目を分割する枠及び罫線の有無に関係なく、項目の並びを定義できる。また、XSLスタイルシート0502は、繰返しの構造を定義できる。これによって、帳票読取装置0108は、一つのXSLスタイルシート0502に基づいて、項目の省略、罫線の有無又は項目の配置の違いなどから生じる複数の非定型の帳票を読み取ることができる。
図6は、本発明の第1の実施の形態の帳票読取システムが表示した表の説明図である。
本説明図の表は、XSLスタイルシート0502(図5)によって、XMLインスタンス0402(図4)をHTML形式に変換されたものである。
表の上には、表の見出し0601として「取引一覧表:・・・」が表示されている。また、表は四列から構成される。
表の一行目には、項目名が格納されている。表の二行目以降には、それぞれの取引先に関するデータが格納されている。
表は、区分0602、送付先0603、郵便番号及び送付先住所0604並びに購入額0605を含む。
区分0602には、当該取引先の区分の一意な識別子が格納される。送付先0603には、当該取引先の名称が格納される。郵便番号及び送付先住所0604には、当該取引先の郵便番号及び当該取引先の住所が格納される。なお、郵便番号と住所との間には、改行が挿入される。購入額0604は、日立製作所が当該取引先に送った品物の金額が格納される。
図7は、本発明の第1の実施の形態の帳票読取装置0108のデータ読取プログラム0702の説明図である。
行番号0701は、データ読取プログラム0702の説明のために付されたものであり、実際には付されていない。
本説明図のデータ読取プログラム0702は、帳票読取装置0108と業務処理装置0109とが連携する帳票読取システムにおけるプログラムである。また、データ読取プログラム0702は、帳票読取装置が読取クエリを受信する度に読取処理(オンライン駆動)を行う場合のプログラムである。
なお、データ読取プログラム0702は、業務処理装置0109の外部記憶装置0310又はメモリ0311に記憶されている。そして、業務処理装置0109の中央演算部0312が、データ読込プログラム0702を実行する。
データ読取プログラム0702の2行目には、XMLPaperというクラスによってクエリ対応型の帳票読取装置0108を制御する旨が記載されている。3行目には、XMLPaperQueryAnswerというクラスによってクエリの回答を制御する旨が記載されている。
6行目には、画像データをメモリに取り込むコマンドが記載されている。帳票読取装置0108は、このコマンドを受けると、画像データを自身のメモリ0305に格納する。このとき、帳票読取装置0108は、画像撮像部0301を用いて、紙帳票から画像データを取得してもよい。
7行目では、読取処理(クエリ処理)を行う条件が、セッション開始条件によって指定されている。なお、セッションとは、仮想の処理単位である。本説明図のデータ読取プログラムでは、XSLスタイルシートが指定されている。つまり、業務処理装置0109は、XSLスタイルシートを帳票読取装置0108に送信する。すると、帳票読取装置0108は、受信したXSLスタイルシートに基づいて、帳票定義を作成する。そして、作成した帳票定義を、外部記憶装置0304又はメモリ305に格納する。なお、当該処理の詳細は、図9で説明する。
8行目から11行目では、読取クエリに対応して読取処理を行う旨が記載されている。読取クエリは、業務処理装置0109が帳票読取装置0108に送信する。9行目によると、XMLPaperオブジェクトに対してクエリ文が入力される。そして、その結果がXMLPaperQueryAnswerオブジェクトとして返される。つまり、帳票読取装置0108は、読取クエリを受信し、受信した読取クエリに対応する処理を行う。そして、処理結果を業務処理装置0109に送信する。すると、業務処理装置0109は、受信した処理結果を自身のメモリ0311に格納する。
第10行では、読取クエリの処理結果を出力する旨が記載されている。出力の対象は、ファイル、画面、プロセス間を繋ぐパイプ、共有メモリ又はデータベース等である。ここでは、業務処理装置0109が、帳票読取装置0108の処理結果を表示部0316に表示する。なお、業務処理装置0109は、帳票読取装置0108の処理結果をインスタンスとして受信する。よって、業務処理装置0109は、受信したインスタンスのデータをを容易にデータベースに格納できる。
図8は、本発明の第1の実施の形態の帳票読取システムのタイミングチャートである。
まず、業務処理装置0109には、帳票読取システムで処理される帳票に対応するXSLスタイルシートが設定される(0803)。帳票読取システムで処理される帳票は、例えば、年金帳票、申し込み帳票又はレセプト等である。
次に、業務処理装置0109は、設定されたXSLスタイルシートのデータを帳票読取装置0108に送信する。
帳票読取装置0108は、XSLスタイルシートのデータを業務処理装置0109から受信する(0805)。次に、帳票読取装置0108は、受信したXSLスタイルシートのデータを解釈する(0806)。そして、XSLスタイルシートのデータを、読取処理に適した形に変換する。なお、XSLスタイルシートのデータ変換については、図9で詳細を説明する。
次に、業務処理装置0109は、読み取りを要求する帳票の画像データを帳票読取装置0108に送信する。なお、業務処理装置0109は、帳票の画像データを送信する代わりに、帳票の読取要求を帳票読取装置0108に送信してもよい(0807)。
帳票読取装置0108は、帳票の画像データ又は帳票の読取要求を受信する(0809)。帳票読取装置0108は、帳票の画像データを受信すると、受信した画像データをメモリ0305に格納する。一方、帳票読取装置0108は、帳票の読取要求を受信すると、画像撮像部0301を用いて紙帳票の画像データを取得する。そして、取得した紙帳票の画像データをメモリ0305に格納する。
次に、帳票読取装置0108は、メモリ0305に格納されている画像データに対して読取前処理を行う(810)。読取前処理0810は、図9で詳細を説明する。
なお、業務処理装置0109は、ステップ0803及びステップ0807のいずれを先に実行してもよい。例えば、帳票読取装置0108が同一の帳票を連続して読み取る場合、業務処理装置0109は、ステップ803を先に実行する。そして、業務処理装置0109は、連続して読み取る同一の帳票に対して、ステップ807を繰り返せばよい。
また、帳票読取装置0108が異なる帳票を順番に読み取る場合、業務処理装置0109は、ステップ807を先に実行する。その後に、業務処理装置0109には、XSLスタイルシートが設定される。
次に、業務処理装置0109は、読取クエリを帳票読取装置0108に送信する(811)。なお、読取クエリでは、画像データから読み取られる領域(読取対象領域)又は画像データから読み取られるデータの項目等が指定される。
帳票読取装置0108は、読取クエリを業務処理装置0109から受信する(0813)。帳票読取装置0108は、受信した読取クエリに基づいて、画像データの読取対象領域を特定する。そして、帳票読取装置0108は、特定した読取対象領域を読み取る(0814)。
次に、帳票読取装置0108は、読取結果をインスタンスへ変換する。そして、当該インスタンスを業務処理装置0109へ送信する(0817)。
業務処理装置0109は、インスタンスを帳票読取装置0108から受信する(0815)。業務処理装置0109は、受信したインスタンスのデータをデータベースに格納する(0818)。
次に、業務処理装置0109は、読み取りを要求するデータが同一の画像データ中に存在するかどうかを判定する(0819)。読み取りを要求するデータが存在する場合には、ステップ811に戻る。そして、読取クエリを再度送信する。
一方、読み取りを要求するデータが存在しない場合には、業務処理装置0109は、他に処理する帳票が存在するかどうかを判定する(0820)。他に処理する帳票が存在すると、ステップ0807に戻る。そして、当該他の帳票を処理する。
一方、他に処理する帳票が存在しないと、本処理を終了する。
図9は、本発明の第1の実施の形態の帳票読取装置0108の機能のブロック図である。
帳票読取装置0108は、画像撮像部0301を備える。また、帳票読取装置0108のメモリ0305は、帳票定義、帳票理解モジュール0908及びXSL解釈モジュール0913を記憶している。帳票定義は、構造定義0910、項目定義0911及び読取定義0912を含む。また、読取定義0912は、文字識別辞書及び表記定義を含む。なお、文字識別辞書及び表記定義は、図11で詳細を説明する。
構造定義0910は、帳票に記載されている枠及び罫線の配置に関する情報を含む。項目定義0911は、項目名と項目記載内容との対応に関する情報を含む。なお、項目記載内容は、例えば、年月日文字列、金額文字列、ID数字文字列又は一般単語文字列等である。
帳票読取装置0108の中央演算部0306は、メモリ0305に記憶されている帳票理解モジュール0908及びXSL解釈モジュール0913を実行する。そして、当該モジュール0908、0913の実行結果を業務処理装置0109に送信する。
まず、帳票読取装置0108の画像撮像部0301は、紙帳票を撮像することによって、紙帳票の画像データを取得する。
次に、帳票理解モジュール0908は、画像撮像部0301が取得した画像データを処理する。帳票理解モジュール0908は、帳票定義を用いて、画像データを処理する。
XSL解釈モジュール0913は、指定されたXSLスタイルシートを解釈する。これによって、XSL解釈モジュール0913は、XSLスタイルシートを、構造定義0910、項目定義0911及び読取定義0912に変換する。
なお、帳票読取装置0108は、XSLスタイルシートを指定されない場合、従来技術と同様に、帳票定義に関する辞書を用いる。
帳票理解モジュール0908は、要素抽出モジュール0902、帳票判別モジュール0903、構造解析モジュール0904、項目解析モジュール0905、文字列読取モジュール0906及びクエリ解釈モジュール0907を含む。
要素抽出モジュール0902は、画像データから帳票の構成要素を抽出する。なお、帳票の構成要素は、図10で詳細を説明するが、線候補、セル候補、枠候補、空白罫線候補、文字要素候補、文字候補及び文字列候補等を含む。
帳票判別モジュール0903は、帳票ID又はバーコード等を画像データから読み取る。これによって、帳票判別モジュール0903は、読取対象の帳票の種類を判別する。なお、画像データに帳票IDが存在しない場合、帳票判別モジュール0903は省略される。
構造解析モジュール0904は、画像データから罫線及び枠を抽出する。そして、構造解析モジュール0904は、当該画像データに対応する構造定義0910を用いて、抽出した罫線及び枠を構造解析する。これによって、構造解析モジュール0904は、読取対象となる枠の位置を特定する。なお、構造解析モジュール0904には、例えば、特許文献1に記載されている技術が用いられる。
なお、画像データに対応する構造定義0910が存在しない場合又は項目解析モジュール0905のみによって処理を実行する場合、構造解析モジュール904は省略される。
構造解析モジュール0904が枠構造を一意に特定できない場合、項目解析モジュール0905及び文字列読取モジュール0906の少なくとも一方が、処理を行う。
項目解析モジュール0905は、項目定義0911を用いて、項目名に対応する文字列を(項目名文字列)特定する。文字列読取モジュール0906は、文字列表記定義0912を用いて、項目記載内容に対応する文字列を読み取る。
クエリ解釈モジュール0907は、読取クエリに応じて、読取結果をマッピングする。そして、クエリ解釈モジュール0907は、読取クエリに対する回答を、インスタンスとして業務処理装置0109に送信する。
これらのモジュール0902〜0907は、それぞれ独立して動作するのでなく、必要なタイミング(イベント駆動型)で動作する。例えば、項目定義0911が表記知識によって定義されている場合、項目解析モジュール0905は、文字列読取モジュール0906を起動する。そして、文字列読取モジュール0906が、読取範囲の文字列候補を読み取る。そして、項目解析モジュール0905は、文字列読取モジュール0906の読取結果を用いて、項目名文字列を特定する。
次に、XSL解釈モジュール0913及び帳票理解モジュール0908の処理を具体的に説明する。ここでは、インスタンスは、図4で説明したXMLインスタンス0402とする。また、図5で説明したXSLスタイルシート0502が指定されたとする。また、帳票の画像データは、図6で説明した表とする。
まず、XSL解釈モジュール0913は、指定されたXSLスタイルシート0502を解釈する。これによって、XSL解釈モジュール0913は、帳票の構造を解釈する。具体的には、XSL解釈モジュール0913は、当該帳票が四列N行(Nは不定)の表構造であると解釈する。そこで、XSL解釈モジュール0913は、四列N行の表形式を構造定義0910に登録する。
次に、XSL解釈モジュール0913は、XSLスタイルシート0502の12行目から15行目を解釈することによって、「区分」、「送付先」、「郵便番号 送付先住所」及び「購入額」を項目名として項目定義0911に登録する。次に、XSL解釈モジュール0913は、XSLスタイルシート0502の19行目から25行目を解釈することによって、それぞれの項目名に対して、「区分」、「名前」、「郵番 住所」及び「金額」を項目記載内容として項目定義0911に登録する。更に、XSL解釈モジュール0913は、項目名と項目記載内容とが上下で対応することを、項目定義0911に登録する。
例えば、帳票理解モジュール0908が、住所に関する読取クエリを受信すると、画像データ(図6)の表の三列目のカラムを選択する。次に、選択したカラムの二行目以下の文字列を抽出する。なぜなら、XSLスタイルシート0502の22行目及び23行目によると、画像データの表の三列目には住所及び郵便番号列が格納される。そして、郵便番号と住所との間には、改行が挿入されるからである。
次に、帳票理解モジュール0908は、抽出した文字列を、XMLインスタンス0402に変換する。そして、変換したXMLインスタンス0402を業務処理装置0109に送信する。
図10は、本発明の第1の実施の形態の帳票理解モジュール0908が処理するデータの階層の説明図である。
帳票理解モジュール0908は、画像データを徐々に抽象化することによって、データベースに格納しやすい形式のデータに変換する。そして、変換したデータを業務処理装置0109に送信する。
要素抽出モジュール0902は、画像データ1001から、ラン1002及び連結成分1003などの要素を抽出する。次に、要素抽出モジュール0902は、抽出したラン1002及び連結成分1003に基づいて、線候補1004及び文字要素候補1007を作成する。線候補1004は、ラン1002の集まりで表現される。また、線候補1004は、端点の座標及び線の太さを持つ数字の組み合わせとして表現されてもよい。文字要素候補1007は、ラン1002の集まりで表現される。また、文字要素候補1007は、当該文字要素候補1007を包含する外接矩形座標として表現されてもよい。
要素抽出モジュール0902は、線候補1004の並びを解析することによって、セル候補1005を作成する。例えば、上下四隅に罫線が存在する最小の空間をセルと定義したとする。この場合、要素抽出モジュール0902は、座標的に上下に隣接する罫線のペア及び座標的に左右に隣接する罫線のペアをセル候補1005とする。
文字候補1008は、文字要素候補1007の集まりで構成される。要素抽出モジュール0902は、文字要素候補1007の上下の空白の大きさ、文字要素候補1007の外接矩形の重なり度合い及び文字要素候補1007同士のサイズ比等に基づいて、文字要素候補1007同士の近接度合いを算出する。そして、算出した近接度合いに応じて、文字要素候補1007同士を融合又は離散する。これによって、文字候補1008を作成する。
枠候補1006は、セル候補1005の集まりを含む表構造である。また、文字列候補1009は、近接する文字候補1008の集まりで構成される文字列である。
要素抽出モジュール0902は、連結成分1003に基づいて、空白罫線候補1010を求める。空白罫線候補1010は、行間空白、列間空白及び文字間空白等を含む。また、空白罫線候補1010は、文字列候補1009が分割される際のセパレータとして使われる。また、空白罫線候補1010は、枠候補1006が作成される際のセパレータとして使われる。
帳票理解モジュール0908は、空白罫線候補1010をセパレータとして使用することによって、項目記載内容を分割する罫線又は枠が存在しない帳票からでも必要なデータを読み取ることができる。
以上のような要素候補の集まりによって帳票が構成される。
帳票判別モジュール0903は、文字列候補1009の中から、読取対象となる帳票の帳票IDを読み取る。帳票IDは、帳票の種別の一意な識別子である。
また、構造解析モジュール0904は、構造定義0910を参照して、枠候補1006、セル候補1005及び文字列候補1009の中から読取対象領域を特定する。読取対象領域は、読取対象のデータセル1012の領域又は読取対象のデータ文字列1014の領域である。
項目解析モジュール0905は、項目定義0911を参照して、項目名文字列1013を確定する。文字列読取モジュール0906は、読取定義0912を参照して、データ文字列1014を読み取る。クエリ解釈モジュール0907は、読取クエリに応じて、データセル1012、項目名文字列1013及びデータ文字列1014をマッピングする。
帳票理解モジュール0908は、コンポーネントを扱う。コンポーネントは、画像1001、ラン1002、連結成分1003、線候補1004、文字要素候補1007、セル候補1005、文字候補1008、枠候補1006及び文字列候補1009等である。また、帳票理解モジュール0908は、明示的に区切られないデータを区分するために、空白罫線候補1010を使用する。
コンポーネントは、本説明図の右側に行くほど抽象度が高い。抽象度の高いコンポーネントは、多くの情報が含まれているので扱いやすいが、抽出及び認識に失敗する可能性が高い。逆に、コンポーネントは、本説明図の左側に行くほど抽象度が低い。よって、読取対象領域を指定する場合、これらのコンポーネントに対応した指定方法が選択されるとよい。
帳票1011は、これらのコンポーネントによって構成される。帳票1011は、読取クエリに対して構造が一意に確定する。
図11は、本発明の第1の実施の形態の文字列読取モジュール0906の処理のフローチャートである。
文字列読取モジュール0906の処理の前には、項目名理解処理及び項目記載内容理解処理が行われる。これによって、読取対象領域(文字ブロック)が指定される。
文字列読取モジュール0906は、指定された読取対象領域を順に選択する(1101)。次に、選択した読取対象領域から文字パタン候補を切り出す(1102)。
次に、文字識別辞書1106を参照して、切り出した文字パタン候補を識別する(1103)。次に、表記定義1107を参照して、表記解析を行う(1104)。具体的には、識別した文字パタン候補に対応する文字コードを一意に確定する。なお、帳票読取装置0108のメモリ0305は、文字識別辞書1106及び表記定義1107を記憶している。
次に、文字列読取モジュール0906は、読み取った文字パタン候補の尤度を算出する。例えば、文字識別の尤度及び文字の並びの尤度に基づいて、文字パタン候補の尤度を算出する。そして、算出した尤度の大きい順に、文字パタン候補を並び替え、読取結果とする(1105)。
次に、文字列読取モジュール0906の具体的な処理を説明する。
図12Aは、本発明の第1の実施の形態の文字列読取モジュール0906が読み取る文字列の説明図である。
以下、文字列読取モジュール0906が、本説明図の文字列(読取対象文字列)を読み取る場合を説明する。文字列読取モジュール0906は、読取対象文字列から、文字パタンと推定される部分を様々に切り出す。これによって、文字パタン候補を作成する。そして、作成した文字パタン候補を文字識別することによって、文字列仮説を作成する。
図12Bは、本発明の第1の実施の形態の文字列読取モジュール0906が作成した文字列仮説の説明図である。
文字列仮説は、文字パタン候補、文字識別文字コード1203及び文字パタン候補間の接続関係の情報を含む。なお、文字識別文字コード1203は、文字識別の類似度に応じて順位付けされている。
文字列仮説では、文字パタン候補がアーク1201として表現される。また、文字パタンの境界が有向グラフであるノード1202として表現される。
それぞれの文字パタン候補には、境界ID、文字識別文字コード1203及び識別類似度1204が含まれる。境界IDは、ノード1202の一意な識別子である。
有向グラフとして表現された文字列仮説を、候補文字ネットワークと呼ぶ。
次に、文字列読取モジュール0906は、表記定義1107を参照して、文字列仮説から文字列パスを特定する。なお、文字列パスは、一意に確定した文字コード及び文字コードに対応する文字パタンの並びを含む。
具体的には、文字列読取モジュール0906は、文字列仮説と表記定義1107とを比較する。そして、表記定義1107に含まれる文字列を文字列仮説の中から検索する。
図12Cは、本発明の第1の実施の形態の表記定義1107の一例の説明図である。
表記定義1107は、表記知識に関する定義である。本説明図の表記定義1107によると、「明治」、「大正」又は「昭和」のいずれかが元号1205として記載される。また、元号1205に続いて、数字列1206が記載される。また、数字列1206に続いて、「年」、「・」又は「/」のいずれかが区切り記号として記載される。
また、本説明図の表記定義1107では、元号1205及び数字列1206に下線が引かれている。これは、元号1205及び数字列1206が読取りの際に区分されるべき情報であることを意味する。
表記定義1107は、本説明図以外の方法で表現されていてもよい。表記定義1107を表現する方法として、トライ法又は文脈自由文法などが知られている(例えば、特許文献4参照。)。
文字列読取モジュール0906は、文字列仮説上で文字識別類似度が最大となるコストパス問題を解くことによって、文字列コード及び文字列パスを特定する。
更に、表記定義1107は、文字列の区分先に関する定義を含むので、項目記載内容の文字列を分割する処理に使用される。
図12Dは、本発明の第1の実施の形態の文字列パスの説明図である。
文字列読取モジュール0906は、このような処理によって、本説明図のような文字列パスを特定する。そして、特定した文字列パスが読取結果となる。
次に、読取クエリを説明する。
図13は、本発明の第1の実施の形態の読取クエリの種類の説明図である。
XMLに対するクエリは、ロケーションパスによってXML文書におけるノードの位置を指定する。以下、XMLに対するクエリの一例を記載する。
/ロケーションステップ
/ロケーションステップ
/・・・
/軸::ノードテスト[述語(条件式)]
一方、XMLPaperに対するクエリ1301には、領域指定クエリ1302、セル指定クエリ1303、表記読取クエリ1304、マーク指定クエリ1305、項目読取クエリ1306及び表読取クエリ1307等の要素クエリが含まれる。
領域指定クエリ1302は、読取対象領域(又は読取対象座標)を指定した読取要求である。セル指定クエリ1303は、表のカラムを指定した読取要求である。表記読取クエリ1304は、特定の表記列に関する読取要求である。マーク指定クエリ1305は、チェックマークなどのマーキング項目を指定した読取要求である。項目読取クエリ1306は、項目名に対応するデータの読取要求である。表読取クエリ1307は、表構造の二次元的な位置を指定した読取要求である。
読取対象は、単独のクエリで指定されてもよいし、複数のクエリを組み合わせによって指定されてもよい。例えば、「XXセルの中にあるYYというキーワード」のように読取対象が指定されてもよい。また、「複合セルで、セルXXの中にはYYという項目名がある」のように、読取対象が指定されてもよ。
クエリ1301は、単独の要素クエリであってもよいし、複数の要素クエリの組み合わせであってもよい。XMLPaperに対するクエリ1301は、入れ子状に括弧が連なる単独のクエリのリストで記述されてもよいし、論理演算AND又はORなどの連結子でクエリを結んだ形式で記述されてもよい。例えば、クエリ1301では、「/Cell(/Area・・・)」又は「/Cell(・・・)&/Area(・・・)」等のようにセルの領域が指定される。
業務処理装置0109は、単純な読取処理を要求する場合には、単独のクエリ1301を帳票読取装置0108に送信する。一方、業務処理装置0109は、複雑な読取処理を要求する場合には、複数のクエリ1301を組み合わせたものを、帳票読取装置0108に送信する。つまり、業務処理装置0109は、要求する処理のレベルに応じたクエリ1301を帳票読取装置0108に送信できる。
本実施の形態によれば、帳票読取装置0108は、XSLスタイルシートを参照することによって、帳票の画像データから適切な情報を読み取ることができる。これによって、ユーザは、帳票定義辞書を作成する手間を省略できる。
(第2の実施の形態)
第2の実施の形態では、帳票読取装置は、XSLスタイルシートを参照せずに、帳票を読み取る。
図14は、本発明の第2の実施の形態の帳票読取システムのブロック図である。
第2の実施の形態の帳票読取システムは、XSLスタイルシートを管理しない。第2の実施の形態の帳票読取システムのそれ以外の構成は、第1の実施の形態の帳票読取システム(図2)と同一である。同一の構成には同一の番号を付し、説明を省略する。
また、第2の実施の形態の帳票提出側の装置は、第1の実施の形態の帳票提出側のシステム0201と同一なので、図示を省略する。
読取クエリでは、読取座標又は半順序構造が指定されてもよい。この場合、読取クエリは、第1の実施の形態のXSLスタイルシートと同様に、配置構造が定義されている。
ただし、第1の実施の形態のXSLスタイルシートには、帳票全体の配置構造が定義されるので、複雑な定義が必要となる。一方、読取クエリには、帳票の部分的な配置構造が定義されるので、複雑な定義が不要である。つまり、帳票読取装置0108がXSLスタイルシートを参照しない場合、帳票の配置構造に関する複雑な定義が不要になる。
しかし、帳票読取装置0108は、XSLスタイルシートを参照しない場合、項目記載内容の領域(読取対象領域)を特定できない。そこで、帳票読取装置0108は、読取クエリに基づいて、読取対象領域を特定しなければならない。
例えば、領域指定クエリ1302及び表読取クエリ1304は、項目名の配置と項目記載内容の配置との対応に関する情報を含むことができる。よって、帳票読取装置0108は、領域指定クエリ1302又は表読取クエリ1304に基づいて、読取対象領域を特定できる。
また、項目読取クエリ1306は、項目記載内容の配置に関する情報を含まない。帳票読取装置0108は、項目読取クエリ1306を受けると、暗黙的知識に基づいて、読取対象領域を特定する。
図15は、本発明の第2の実施の形態の帳票読取装置0108の暗黙的知識の説明図である。
暗黙的知識は、項目名の配置と項目記載内容の配置との対応に関する情報である。
本説明図は、暗黙的知識名1501及び暗黙的知識1502を含む。
暗黙的知識名1501は、暗黙的知識1502の名称である。
本説明図の(A)に示される一対一対応では、項目名と項目記載内容とが左右又は上下に対応する。本説明図の(B)に示される一体多対応では、一つの項目名に対して複数の項目記載内容が対応する。本説明図の(C)に示される階層対応では、複数の項目名を含む。そして、階層対応に含まれるそれぞれの項目名に一つの項目記載内容が対応する。
本説明図の(D)に示されるリスト対応では、一つの項目名に対して複数の項目記載内容が連なっている。そして、同一の項目名に対応する複数の項目記載内容は、上下または左右で一纏まりになっている。
本説明図の(E)に示される二次元対応では、二つの項目名によって項目記載内容が一意に特定される。
本説明図の(F)に示される非直行対応は、例えば、財務諸表等に使用される。非直行対応については、図16で後述する。
帳票読取装置0108は、項目読取クエリを受けると、暗黙的知識の中から、尤もらしい配置関係の暗黙的知識を選択する。例えば、項目名の並びの直線関係及び項目名の配置間隔の一定性などを引数とする尤度関数に基づいて、尤もらしい配置関係の暗黙的知識を選択する。
次に、帳票読取装置0108は、選択した暗黙的知識を用いることによって、画像データの読取対象領域を特定する。そして、読取対象領域を読み取る。
また、読取クエリでは、暗黙的知識と同様の配置関係が指定できてもよい。
図16は、本発明の第2の実施の形態の非直行対応の配置の説明図である。
本説明図では、財務諸表を例として、非直行対応の配置を説明する。
財務諸表には、「決算」、「資本の部」、「不動産」、「現金」及び「株式」が項目名として記載されている。項目名の「不動産」と項目記載内容の「X」とは、左右に対応している。同様に、項目名の「現金」と項目記載内容の「Y」とは、左右に対応している。また、項目名の「株式」と項目記載内容の「Z」とは、左右に対応している。
しかし、項目名の「資本の部」と項目記載内容の「S」とは、左右に対応して配置されていない。同様に、項目名の「決算」と項目記載内容の「T」とは、左右に対応して配置されていない。
つまり、財務諸表は、項目名の配置と項目記載内容の配置との対応が不規則である。
このような場合であっても、帳票読取装置0108は、読取クエリに基づいて、読取対象領域を特定できる。当該読取クエリは、表読取クエリ1307、項目読取クエリ1306及び非直行関係が指定されたクエリの組み合わせである。
例えば、当該読取クエリは、「/TagData(/Tag 資産の部)&非直行対応(/Tag(1、1)、/TagData(X,/Table(/ColNum)−1))」のように記述される。当該読取クエリには、項目名が「資産の部」であると記述されている。また、項目名と項目記載内奥とが非直行対応関係であると記述されている。また、項目名が1行1列であり、項目記載内容が任意の行(X行)のY列にありと記述されている。更に、Y列が「表の列数−1」であると記述されている。
帳票読取装置0108は、このようなクエリを受信すると、非定型の帳票であっても、読取対象領域を特定できる。
以上のように、帳票読取装置0108は、XSLスタイルシートを参照せずに、読取クエリを解釈することによって、帳票を読み取ることができる。
本発明は、紙の帳票又は紙の文書を処理する帳票読取システムに適用できる。
従来の帳票読取システムのブロック図である。 本発明の第1の実施の形態の帳票読取システムのブロック図である。 本発明の第1の実施の形態の帳票読取システムの処理の説明図である。 本発明の第1の実施の形態の帳票読取システムのブロック図である。 本発明の第1の実施の形態のXMLインスタンスの説明図である。 本発明の第1の実施の形態のXSLスタイルシートの説明図である。 本発明の第1の実施の形態の帳票読取システムが表示した表の説明図である。 本発明の第1の実施の形態の帳票読取装置のデータ読取プログラムの説明図である。 本発明の第1の実施の形態の帳票読取システムのタイミングチャートである。 本発明の第1の実施の形態の帳票読取装置の機能のブロック図である。 本発明の第1の実施の形態の帳票理解モジュールが処理するデータの階層の説明図である。 本発明の第1の実施の形態の文字列読取モジュールの処理のフローチャートである。 本発明の第1の実施の形態の文字列読取モジュールが読み取る文字列の説明図である。 本発明の第1の実施の形態の文字列読取モジュールが作成した文字列仮説の説明図である。 本発明の第1の実施の形態の表記定義の一例の説明図である。 本発明の第1の実施の形態の文字列パスの説明図である。 本発明の第1の実施の形態の読取クエリの種類の説明図である。 本発明の第2の実施の形態の帳票読取システムのブロック図である。 本発明の第2の実施の形態の帳票読取装置の暗黙的知識の説明図である。 本発明の第2の実施の形態の非直行対応の配置の説明図である。
符号の説明
0101 紙帳票
0102 帳票読取装置
0103 帳票定義辞書
0104 業務制御装置
0105 テキスト変換定義辞書
0106 業務DB装置
0107 DB定義辞書
0108 帳票読取装置
0109 業務処理装置
0110 XSLスタイルシート
0201 帳票提出側のシステム
0202 データベースA
0203 帳票提出側業務装置
0204 インスタンス
0205 印刷装置
0208 文書受付側のシステム
0209 データベースB
0211 読取クエリ
0212 インスタンス
0301 画像撮像部
0302 操作部
0303 表示部
0304 外部記憶装置
0305 メモリ
0306 中央演算部
0307 通信部
0308 内部バス
0309 外部通信線
0310 外部記憶装置
0311 メモリ
0312 中央演算部
0313 通信部
0314 内部バス
0315 操作部
0316 表示部
0902 要素抽出モジュール
0903 帳票判断モジュール
0904 構造解析モジュール
0905 項目解析モジュール
0906 文字列読取モジュール
0907 クエリ解釈モジュール
0908 帳票理解モジュール
0910 構造定義
0911 項目定義
0912 読取定義
0913 XSL解釈モジュール

Claims (8)

  1. 画像撮像部と、中央演算部と、記憶部と、通信部と、を備える帳票読取装置であって、
    前記画像撮像部は、帳票を撮像することによって、当該帳票の画像データを取得し、
    前記記憶部は、前記帳票に記載されている項目名の半順序構造を含むスタイルシートを記憶し、
    前記中央演算部は、
    前記通信部からクエリを受けると、当該クエリに指定された項目名を特定し、
    前記記憶部に記憶されたスタイルシートを解釈することによって、前記特定した項目名に対応する記載内容が前記帳票に記載されている位置を特定し、
    前記特定した位置を、前記帳票の画像データから読み取ることによって、当該記載内容を取得し、
    前記取得した記載内容をインスタンスとして通信部から出力することを特徴とする帳票読取装置。
  2. 前記スタイルシートは、更に、前記帳票に記載されている枠の構造に関する定義及び前記項目名と前記記載内容との配置に関する定義のうち少なくとも一つを含むことを特徴とする請求項1に記載の帳票読取装置。
  3. 前記通信部は、データベースを管理する業務処理装置に接続され、
    前記クエリは、前記スタイルシートに含まれる項目名のうち、前記業務処理装置によってデータベースに格納されるデータの項目名を指定することを特徴とする請求項1に記載の帳票読取装置。
  4. クエリに応じて、帳票の画像データの処理をコンピュータに実行させるためのプログラムであって、
    前記クエリを受けると、当該クエリに指定された項目名を特定する手順と、
    前記帳票に記載されている項目名の半順序構造を含むスタイルシートを解釈することによって、前記特定した項目名に対応する記載内容が前記帳票に記載されている位置を特定し、前記特定した位置を、前記帳票の画像データから読み取ることによって、当該記載内容を取得する手順と、
    前記取得した記載内容をインスタンスとして出力する手順と、を含むことを特徴とするプログラム。
  5. 前記記載内容を取得する手順は、
    前記帳票に記載されている項目名の半順序構造を含むスタイルシートを解釈することによって、前記帳票に記載されている枠の構造に関する定義及び前記項目名と前記記載内容との配置に関する定義のうち少なくとも一つを当該スタイルシートから抽出し、
    前記抽出した定義に基づいて、前記特定した項目名に対応する記載内容が前記帳票に記載されている位置を特定し、
    前記特定した位置を、前記帳票の画像データから読み取ることによって、当該記載内容を取得することを特徴とする請求項4に記載のプログラム。
  6. データベースを管理する業務処理装置と、前記業務処理装置に接続されている帳票読取装置と、を含む帳票読取システムであって、
    前記帳票読取装置は、画像撮像部と、中央演算部と、記憶部と、通信部と、を備え、
    前記画像撮像部は、帳票を撮像することによって、当該帳票の画像データを取得し、
    前記記憶部は、前記帳票に記載されている項目名の半順序構造を含むスタイルシートを記憶し、
    前記中央演算部は、
    前記業務処理装置からクエリを受けると、当該クエリに指定された項目名を特定し、
    前記記憶部に記憶されたスタイルシートを解釈することによって、前記特定した項目名に対応する記載内容が前記帳票に記載されている位置を特定し、
    前記特定した位置を、前記帳票の画像データから読み取ることによって、当該記載内容を取得し、
    前記取得した記載内容をインスタンスとして前記業務処理装置に出力することを特徴とする帳票読取システム。
  7. 前記スタイルシートは、前記帳票に記載されている枠の構造に関する定義及び前記項目名と前記記載内容との配置に関する定義のうち少なくとも一つを含むことを特徴とする請求項6に記載の帳票読取システム。
  8. 前記業務処理装置は、前記スタイルシートに含まれる項目名のうちデータベースに格納するデータの項目名を指定したクエリを、前記帳票読取装置に送信することを特徴とする請求項6に記載の帳票読取システム。
JP2005260941A 2005-09-08 2005-09-08 帳票読取装置、プログラム及び帳票読取システム Active JP4809024B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005260941A JP4809024B2 (ja) 2005-09-08 2005-09-08 帳票読取装置、プログラム及び帳票読取システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005260941A JP4809024B2 (ja) 2005-09-08 2005-09-08 帳票読取装置、プログラム及び帳票読取システム

Publications (2)

Publication Number Publication Date
JP2007072882A JP2007072882A (ja) 2007-03-22
JP4809024B2 true JP4809024B2 (ja) 2011-11-02

Family

ID=37934254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005260941A Active JP4809024B2 (ja) 2005-09-08 2005-09-08 帳票読取装置、プログラム及び帳票読取システム

Country Status (1)

Country Link
JP (1) JP4809024B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009245373A (ja) * 2008-03-31 2009-10-22 Fujitsu Fip Corp 受発注データ変換方法、同方法を実行させるコンピュータプログラムおよび記憶媒体
JP6283442B1 (ja) * 2017-06-01 2018-02-21 フューチャー株式会社 解析装置、解析方法、および解析プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11167603A (ja) * 1997-12-04 1999-06-22 Toshiba Corp イメージエントリシステム、イメージ/文字表示方法および記録媒体
JP4636814B2 (ja) * 2003-07-03 2011-02-23 株式会社電通国際情報サービス データマッピング装置、データマッピング方法、およびプログラム

Also Published As

Publication number Publication date
JP2007072882A (ja) 2007-03-22

Similar Documents

Publication Publication Date Title
JP5623079B2 (ja) ハード・コピーの書式からの書式定義の自動発生
KR100990018B1 (ko) 데이터 구성 방법, 정보 전달 방법, 라벨 부가 방법, 임포트 파일 템플릿 형성 방법, 데이터 임포트 방법, 및 데이터 입력 방법
JP2957375B2 (ja) 文書書式のデジタル・イメージの文字認識誤りを修復するデータ処理システム及び方法
US7991709B2 (en) Method and apparatus for structuring documents utilizing recognition of an ordered sequence of identifiers
US20060277159A1 (en) Accuracy in searching digital ink
US20090125529A1 (en) Extracting information based on document structure and characteristics of attributes
EP1969491A2 (en) Automated processing of forms using remotely-stored templates
JP5315368B2 (ja) 文書処理装置
US20030028503A1 (en) Method and apparatus for automatically extracting metadata from electronic documents using spatial rules
JP2008059157A (ja) 書類確認支援システム、書類確認支援装置およびプログラム
KR101942468B1 (ko) 정형 및 비정형 데이터 추출 시스템 및 방법
JP3683925B2 (ja) 電子ファイリング装置
US20060210171A1 (en) Image processing apparatus
JP4809024B2 (ja) 帳票読取装置、プログラム及び帳票読取システム
US6943923B2 (en) Adaptive technology for automatic document analysis
JP2003108331A (ja) データ変換方法、プログラム及び記録媒体
US20100023517A1 (en) Method and system for extracting data-points from a data file
RU2398276C2 (ru) Альтернативы анализа в контекстных деревьях
CN100442275C (zh) 用于鉴别中文地址数据的方法和系统
JP5445740B2 (ja) 画像処理装置、画像処理システムおよび処理プログラム
JP3732254B2 (ja) フォーマット情報生成方法及びフォーマット情報生成装置
JP4466241B2 (ja) 文書処理手法及び文書処理装置
Wu et al. Automatic semantic knowledge extraction from electronic forms
Kwok et al. An automatic method to extract data from an electronic contract composed of a number of documents in PDF format
JP7377565B2 (ja) 図面検索装置、図面データベース構築装置、図面検索システム、図面検索方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110204

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110802

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110818

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140826

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4809024

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250