JP2008257590A - 文書処理システム及びプログラム - Google Patents
文書処理システム及びプログラム Download PDFInfo
- Publication number
- JP2008257590A JP2008257590A JP2007100903A JP2007100903A JP2008257590A JP 2008257590 A JP2008257590 A JP 2008257590A JP 2007100903 A JP2007100903 A JP 2007100903A JP 2007100903 A JP2007100903 A JP 2007100903A JP 2008257590 A JP2008257590 A JP 2008257590A
- Authority
- JP
- Japan
- Prior art keywords
- document
- structure definition
- definition information
- image
- partial structure
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】既存の文書構造定義が適用できない文書の処理を容易にする。
【解決手段】文書構造探索部132は、入力された文書の画像に最もよく適合する最適文書構造定義を文書構造定義DB150から探索し、最適文書構造定義のうちその入力画像から抽出した値が当てはまらない要素(不適合要素)を特定する。部分構造探索部134は、部分構造定義DB160から不適合要素に対応する部分構造定義を取得し、それら取得した各部分構造定義と、入力画像のうち最適文書構造定義に当てはまらなかった不適合部分とを比較する。そして、不適合部分に対して最もよく適合する部分構造定義を、最適文書構造定義と組み合わせることで、入力画像に対応する文書構造定義を構築する。
【選択図】図10
【解決手段】文書構造探索部132は、入力された文書の画像に最もよく適合する最適文書構造定義を文書構造定義DB150から探索し、最適文書構造定義のうちその入力画像から抽出した値が当てはまらない要素(不適合要素)を特定する。部分構造探索部134は、部分構造定義DB160から不適合要素に対応する部分構造定義を取得し、それら取得した各部分構造定義と、入力画像のうち最適文書構造定義に当てはまらなかった不適合部分とを比較する。そして、不適合部分に対して最もよく適合する部分構造定義を、最適文書構造定義と組み合わせることで、入力画像に対応する文書構造定義を構築する。
【選択図】図10
Description
本発明は、文書の構造を定義する文書構造定義に従って対象文書画像を処理するためのシステムに関する。
文書処理のために、XML(eXtensible Markup Language)、SGML(Standard Generalized Markup Language )、HTML(Hypertext Markup Language)等の構造化記述言語により文書を構造化して取り扱うことが一般的になっている。例えば、XMLでは、DTD(Document Type Definition)やXMLスキーマ(XML schema)などのようなスキーマ言語により文書の構造を定義し、その構造定義を用いて文書の解析等の各種の処理が行われている。また、紙の原稿をスキャナで読み取り、読み取り結果の画像の中から文字列や画像などの要素を検出し、その検出結果を用いて原稿に対応する構造化文書を生成する技術も知られている。
実際の文書の構造は、同じ種類の文書でも様々に異なる。例えば、「請求書」という種類に該当する文書は、発行者名や宛名、発行日、請求金額などといった、請求書が一般に備えるべき情報項目を含んでいるが、そのほかに独自の情報項目を含んでいる場合もある。また、それら情報項目を表す名称や文書上での各情報項目のレイアウトなども様々である。また、それら情報項目同士の論理的な関係の仕方も、請求書によって異なる場合がある。このように、同じ種類の文書であっても、実際にはそれら文書の構造又はスキーマ(以下でいう「構造」又は「スキーマ」は、論理的な構造又は表示上でのレイアウト構造又はその両方を含む)は完全には同一ではない。
このように構造の異なる情報を取り扱うシステムとして、例えば特許文献1に示されるものが知られている。このシステムは、スキーマの属性が異なる商品やショップなどの情報を、広大なネットワークの中からユーザが容易に探し出すことができる情報検索システム及び電子商取引システムを提供するためのものである。このシステムは、各データベースからスキーマを収集し、収集した前記スキーマを標準スキーマに変換して端末に供給する第1のサーバと、前記標準スキーマをもとに標準クエリーを生成して問合せを行う端末と、前記端末から送られる標準クエリーを前記各データベースに対応するクエリーに変換して各データベースに対して同時に問合せを行い、データベースごとに返されるリザルトを標準リザルトに変換して前記端末に返す第2のサーバとを有する。
対象の文書をその構造に従って処理する場合、その文書に対応する構造定義が存在すれば、その構造定義を用いればよい。しかし、対象の文書に対応する構造定義が常に存在するとは限らない。例えば様々な発行者から受け取った請求書をデータベース化する場合、どのような発行者からどのような請求書を受け取るか事前に分からない以上、すべての発行者の請求書の構造定義を前もって用意することは現実的には難しい。また、同じ発行者が発行した請求書であっても、時間を経るにしたがって構造が変わる場合もあるので、以前に入手したその発行者の請求書の構造定義が、新たにその発行者から受け取った請求書の処理にそのまま適用できるとは限らない。
したがって、既存の構造定義に適合しない文書を処理するには、その文書に適合した構造定義を作成する必要が出てくる。従来、文書の構造定義の作成は、人手により行うことが一般的であった。
特許文献1に示される従来技術は、異なるスキーマに従った情報を統一的に扱うための技術ではあるが、新たな文書に対して適切なスキーマを作成するための助けとしては、十分ではない。
本発明は、既存の文書構造定義が適用できない文書の処理を容易にするためのシステムを提供することを目的とする。
請求項1に係る発明は、複数の部分からなる文書の構造の定義を示す文書構造定義情報を格納した第1格納手段と、文書を構成する部分の構造の定義を示す部分構造定義情報を、部分の種類ごとに分類可能に格納した第2格納手段と、前記第1格納手段に格納された文書構造定義情報の中から、対象文書画像に対する適合度に基づき対象文書画像に適合する適合文書構造定義情報を求める第1探索手段と、前記対象文書画像の中に、前記第1探索手段が求めた適合文書構造定義情報に適合しない部分がある場合に、その部分の種類に該当する部分構造定義情報の中から、その部分に対する適合度に基づきその部分に適合する適合部分構造定義情報を求める第2探索手段と、前記第1探索手段が求めた適合文書構造定義情報と、前記第2探索手段が求めた適合部分構造定義情報とに基づき、前記対象文書画像に関する処理を実行する処理実行手段と、を備える文書処理システムである。
請求項2に係る発明は、請求項1に係る発明において、前記処理実行手段は、前記第1探索手段が求めた適合文書構造定義情報と、前記第2探索手段が求めた適合部分構造定義情報とに基づき、前記対象文書画像に対応する文書構造定義情報を作成し、作成した文書構造定義情報に対して前記対象文書画像の各部分の値を当てはめることで、前記対象文書画像に対応する構造化文書を作成する構造化文書作成手段と、を備えることを特徴とする。
請求項3に係る発明は、請求項1に係る発明において、前記処理実行手段は、前記第1探索手段が求めた適合文書構造定義情報と、前記第2探索手段が求めた適合部分構造定義情報とに基づき、前記対象文書画像に対応する文書構造定義情報を作成し、前記第1格納手段に登録する登録手段と、を備えることを特徴とする。
請求項4に係る発明は、コンピュータを、複数の部分からなる文書の構造の定義を示す文書構造定義情報を格納した第1格納手段、文書を構成する部分の構造の定義を示す部分構造定義情報を、部分の種類ごとに分類可能に格納した第2格納手段、前記第1格納手段に格納された文書構造定義情報の中から、対象文書画像に対する適合度に基づき対象文書画像に適合する適合文書構造定義情報を求める第1探索手段、前記対象文書画像の中に、前記第1探索手段が求めた文書構造定義情報に適合しない部分がある場合に、その部分の種類に該当する部分構造定義情報の中から、その部分に対する適合度に基づきその文書に適合する適合部分構造定義情報を求める第2探索手段、前記第1探索手段が求めた適合文書構造定義情報と、前記第2探索手段が求めた適合部分構造定義情報とに基づき、前記対象文書画像に関する処理を実行する処理実行手段、として機能させるためのプログラム、である。
請求項1及び請求項4に係る発明によれば、第1格納手段に格納された文書構造定義情報の中に対象文書画像に完全に適合するものがない場合でも、適合しない部分について部分構造定義情報を組み合わせることで、対象文書画像に適合した処理が可能となる。
請求項2に係る発明によれば、第1格納手段に格納された文書構造定義情報の中に対象文書画像に完全に適合するものがない場合でも、対象文書画像に対応する構造化文書を作成することができる。
請求項3に係る発明によれば、第1格納手段に格納された文書構造定義情報の中に対象文書画像に完全に適合するものがない場合でも、対象文書画像に対応する文書構造定義情報を作成することができる。
本実施形態では、複数の部分からなる文書の構造の定義を示す文書構造定義情報を文書ごとに用意すると共に、文書を構成する各部分の構造の定義を示す部分構造定義情報を、部分の種類ごとに用意する。ここでいう「部分」は、例えば構造化文書における要素、又は複数の要素の集まりである。そして、構造化の対象となる対象文書と、各文書構造定義情報とを比較し、対象文書に対する適合度に基づき対象文書画像に適合する適合文書構造定義情報を求める。そして、適合文書構造定義情報が定義する部分の中に、対象文書の部分が適合しない部分がある場合に、その適合しない部分の種類に該当する部分構造定義情報の中から、その部分に対する適合度に基づきその部分に適合する適合部分構造定義情報を求める。そして、適合文書構造定義情報と適合部分構造定義情報とに基づき、前記対象文書に関する処理を実行する。この処理は、例えば、対象文書画像に対応する構造化文書の作成である。
以下、図面を参照して本発明の好適な実施の形態を説明する。図面において、同様の構成要素又はステップには同一符号を付して、重複した説明は省略する。
本実施形態では、一例として、見積書等の定型文書の画像を解析してその定型文書に含まれる各文書要素の値を求め、それら各文書要素の値を含んだ構造化文書の文書データ(以下単に「構造化文書」と呼ぶ)を生成するためのシステムを説明する。また、以下では、一例として、スキャナ、プリンタ、複写機などの機能をあわせ持つ画像形成装置(このような画像形成装置は、デジタル複合機とも呼ばれる)をベースにしたシステムを例にとって説明する。すなわち、以下では、紙等の媒体に印刷された文書を画像形成装置にて読み取り、読取結果の画像を解析して構造化文書を作成する処理を例にとって説明する。このシステムは、例えば、紙の見積書を読み取り、その読み取り画像から、発行者や宛先、個々の商品の単価や個数、合計金額などの要素を認識し、それら要素からなる構造化文書を生成するのに用いられる。
本実施形態の画像形成装置の制御機構の主要部を図1に示す。図1においてROM(リード・オンリ・メモリ)12には、画像形成装置の動作制御のための制御プログラムなどのデジタル情報が格納されている。CPU(中央処理装置)10がこのROM12内の制御プログラムを実行することにより、以下に説明する画像形成装置の各部の制御が実現される。
RAM(ランダム・アクセス・メモリ)14は、画像形成装置の主記憶装置であり、制御プログラムの実行の際にワークメモリとしても用いられる。RAM14は、例えば、画像出力装置24に供給する1ページ分の画像データを蓄えるページバッファとして用いることもできる。
大容量記憶装置16は、各種のデータを保存するための補助記憶装置であり、例えばハードディスクやEEPROM(Electrically Erasable Programmable Read-Only Memory)などの不揮発性の記憶装置である。
操作パネル18は、この画像形成装置のユーザインタフェースのための表示や、ユーザからの各種指示の入力受付などのためのユーザインタフェース手段である。操作パネル18は、例えば、スタートボタンなどの機械的な操作ボタンと、GUI(グラフィカル・ユーザ・インタフェース)のための液晶タッチパネルと、を備える。液晶タッチパネルは、CPU10で実行される制御プログラムが生成したGUI画面を表示し、そのディスプレイに対するユーザのタッチ位置を検出して制御プログラムに渡す。制御プログラムは、そのタッチ位置の情報からユーザの入力内容を解釈する。
通信インタフェース20は、LAN(ローカル・エリア・ネットワーク)等のネットワークを介して他の装置とデータ通信を行う際の制御を担う装置である。リモートホストからのプリント指示等は、この通信インタフェース20を介して画像形成装置内に入力される。また、ネットワーク上にある言語翻訳サーバなどといった外部サーバにアクセスする際にも、通信インタフェース20は用いられる。
画像読取装置22は、原稿を光学的に読み取って電子的な画像データを生成する装置である。例えば、ラインセンサやエリアセンサを用いたスキャナがその一例である。自動原稿送り装置(ADF)(図示省略)にセットされた原稿は、ADFの機能により1枚ずつ画像読取装置に送られ、光学的に読み取られる。
画像出力装置24は、CPU10の制御により供給される画像データを用紙に画像形成(印刷)する装置であり、プリントエンジンとも呼ばれる。
ファクシミリモジュール26は、ファクシミリデータの送受信を行うモジュールである。
像域分離回路28は、画像読取装置22により得られた読取画像の像域分離を行う回路である。よく知られるように、像域分離では、画像のエッジ強度や空間周波数などの各種の画像特徴を用いて文字や連続調画像などの像域(以下紛れのない場合に、像域を「領域」と呼ぶこともある)を判別する。像域分離回路28は、読取画像を同じ画像特徴を有する連続した領域ごとに区切る。その区切りの結果得られた各連続領域がそれぞれ像域と呼ばれる。複写機等の画像形成装置は、印刷画質向上のために、読み取った画像中の文字領域と連続調画像領域とを分離する像域分離の機能を備えるものが一般的になっている。また、高速な印刷処理のため、この像域分離の機能の多くの部分はASIC(Application Specific Integrated Circuit) やDSP(Digital Signal Processor)等のハードウエア回路として実装されている。像域分離回路28としては、そのような従来から画像形成装置が備える回路を用いることができる。従来は、像域分離回路は、もっぱら印刷などといった画像出力のためのみに用いられていたが、この像域分離回路28は、画像出力だけでなく、文書画像の解析処理にも利用される。
画像処理回路30は、文書画像に対し、印刷やファクシミリ送信等の用途に応じた画像処理を施す回路である。例えば、印刷を行う場合、像域分離回路28で分離された文字と画像の像域に対し、それぞれ文字用の画像処理(エッジ強調など)と連続調画像用の画像処理(階調補正など)を施す。
次に、この画像形成装置の構造化文書作成処理に関する機能部分の構成及びその処理内容を説明する。この画像形成装置は、構造化文書作成処理のための機能として、図2に示す情報処理部100を備える。情報処理部100は、以下に説明する機能又は手順を記述したプログラムをCPU10に実行させることにより実現できる。このプログラムは、ROM12又は大容量記憶装置16に記憶されており、CPU10により実行される。このプログラム又はその一部は、ディスク等の可搬型媒体又はネットワーク経由のダウンロードにより大容量記憶装置16にインストールしてもよい。
情報処理部100のうち文字認識部120は、読取画像中の文字領域の画像に対して文字認識を行う。文字認識部120は、周知のOCR(Optical Character Recognition:光学文字認識)技術を用いたものでよい。文字認識部120は、漢字や仮名などの日本語の文字、アルファベット、数字、記号などの各種の文字のうちの1以上を認識する。
文書解析部130は、文字認識部120の処理結果に基づき、読取画像の構造を解析し、その解析結果に基づき読取画像の内容を表す構造化文書を作成する。この処理において、文書解析部130は、文書構造定義DB(データベース)150及び部分構造定義DB160を参照する。文書構造定義DB150には、文書の構造を定義する情報である文書構造定義を特定するための情報が登録されている。部分構造定義DB160には、文書を構成する各部分の構造を定義する情報である部分構造定義が登録されている。文書構造定義、部分構造定義、及び文書解析部130の詳細については、あとで説明する。
文書登録部140は、文書解析部130が生成した構造化文書を文書DB170に登録する処理を行う。文書DB170は、構造化文書を蓄積するデータベースである。文書DB170は、画像形成装置内に設けられていてもよいし、画像形成装置からアクセス可能なネットワーク上に設けられていてもよい。
次に、文書構造定義について詳しく説明する。例えば構造化文書をXMLで記述する場合には、文書構造定義は、例えばDTD(Document Type Definition)やW3C XML schema、RELAX NG(Regular Language description for XML New Generation)などの、XML用のスキーマ言語により記述される。文書構造定義は、ある会社「A」の見積書の第1バージョン、第2バージョン、別の会社「B」の領収書の第1バージョンなどといったように、個々の文書ごとに作成される。文書構造定義は、文書を構成する複数の要素の論理構造を表す。また、文書構造定義には、それら各要素の要素名、データ型等の情報を含めることもできる。データ型には、文字列型、整数型、日付型などといった様々な型がある。またそれら単純な型を組み合わせた複合型なども定義できる。また文書構造定義には、文書中での要素の出現回数や要素の配列順序などの情報を含めることもできる。
文書構造定義の一例を図3に示す。この例は、図4に示した会社「A」の見積書の文書構造定義をW3C XML schemaで記述した例である。
文書構造定義DB150には、このような文書構造定義が登録される。また、文書構造定義DB150には、図5に示すように、文書ごとに、スタイル情報204又は検索キー情報206又はその両方を、上述のような文書構造定義202と対応づけて登録してもよい。
スタイル情報204は、文書を構成する各要素の表示(可視化)の仕方を規定する情報である。ここで、例えば像域分離により求められ個々の像域が、それぞれ文書の要素に対応する。スタイル情報204は、例えば、それら各要素に対応する像域の読取画像内での位置、形状の情報を含む。また、スタイル情報204には、それら各要素の種類の情報が含まれていてもよい。要素の種類は、例えば、文字列、連続調画像、グラフィック図形などがある。文字列を、更に詳細に例えば数字列と日本語文字列とに分類してもよい。これら要素の種類は、像域分離及び文字認識の処理において特定することができる。また、文字領域に対応する要素の場合、その領域に含まれる文字のサイズ、フォント、字詰めなどは、その要素に対するスタイル情報204の項目の一例である。スタイル情報204は、例えばCSS(Cascading Style Sheets)やXSL(eXtensible Stylesheet Language)などのスタイルシート言語で記述されたものでよい。
検索キー情報206は、文書構造定義を検索する際の検索条件の情報である。例えば、会社名の文字列(例えば「株式会社 AAA」)、会社のロゴマークや社印の画像情報、又は文書の表題の文字列(例えば「見積書」、「領収書」)などが、検索キー情報206の一例である。1つの文書構造定義に対応する検索キー情報206は、会社名、ロゴマーク、表題などといった情報のうちのいずれかを含んでいればよい。また、文書構造定義DB150に登録された文書構造定義202のすべてについて検索キー情報206が登録されている必要は必ずしもない。
例えば見積書、請求書、領収書などという、使用目的から見た文書の種類(以下、特に断りがない場合、「文書の種類」又は「文書種類」は使用目的から見た種類のことを指す)により文書に記載される内容は変わる。また同じ見積書でも発行する人や会社が異なれば、その文書のレイアウトは変わってくる。このように、文書の発行者と文書種類に応じて文書のパターンは多種多様である。また、同じ発行者が発行した同じ文書種類の文書の中にも、その文書に含まれる要素や、それら各要素の表示上でのレイアウトが異なる様々なバージョンが存在する場合がある。これら多種多様な文書それぞれに対して文書構造定義が作成され、文書構造定義DB150に登録される。
次に、部分構造定義について説明する。部分構造定義は、例えば、住所欄、商品名を表示する商品名欄や、消費税等の税金を表示する税金欄など、文書の中で1つの役割をなす「部分」の構造を定義した情報である。「部分」は、例えば文書の1つの要素である。また、複数の要素の集まりを1つの部分として取り扱ってもよい。商品名、数量、単価、金額小計などといった商品に対する複数の要素により1つの商品についての商品欄が構成される場合、その商品欄を1つの部分として取り扱ってもよい。部分構造定義は、文書構造定義と同様、スキーマ言語によって記述することができる。部分構造定義の一例を図6に示す。この例は、見積書及び領収書などの商品欄の部分の構造定義をW3C XML schemaで記述した例である。このような部分構造定義が部分構造定義DB160に登録される。
例えば、見積書の商品欄に含まれる項目群やそれら項目群の配列は、見積書の発行者によって異なったり、同じ発行者が発行した場合でも、発行の時期等によって異なったりする。部分構造定義DB160には、例えば、様々な発行者が様々な時期に発行した文書の商品欄の構造定義が登録される。例えば商品欄は、見積書や領収書など、様々な種類の文書に含まれるが、部分構造定義DB160は、商品欄の部分構造定義をその商品欄が属する文書の種類ごとに分類して保持してもよいし、文書の種類によらず一括して保持してもよい。
また、部分構造定義DB160には、図7に示すように、当該部分の種類を表す部分種類情報214を、上述のような部分構造定義212と対応づけて登録してもよい。部分の種類は、例えば「商品」など、その部分に対応する文書要素の名前で表すことができる。また、部分種類情報214の代わりに、又はそれに加えて、部分ごとの検索キー情報216を、部分構造定義212と対応づけて登録してもよい。検索キー情報216は、部分構造定義212の検索条件となるキーワード等の情報である。例えば、文書中で、部分構造定義212に対応する部分に現れる見出し等の文字列、或いはその部分に含まれる各要素(この要素は、構造化文書を構成する「要素」のことである)の要素名やデータ型が、検索キー情報216に含まれる。例えば、見積書の商品欄の場合、「商品名」又は「品名」等の文字列が検索キー情報の一例である。また、図4の例のように、商品欄が、商品名、数量、単価、消費税、金額(小計)のような複数の見出しを含む場合、それら複数の見出しのうちの1以上が検索キー情報216に含まれる。なお、部分構造定義212に対応づけて当該部分のスタイル情報を部分構造定義DB160に登録してもよい。
以上の例では、文書構造定義DB150及び部分構造定義DB160に、文書構造定義及び部分構造定義(及びそれに付随する検索キー情報やスタイル情報など)をそれぞれ登録したが、具体的な実装はこれに限るものではない。この代わりに、例えば、文書構造定義DB150及び部分構造定義DB160には、ネットワーク上に格納されている文書構造定義及び部分構造定義(及びそれに付随する情報)にアクセスするためのアクセス情報を登録しておいてもよい。例えば、文書の発行者が自分の管理するサーバに自分の発行した文書の文書構造定義を登録しておき、画像形成装置がそのサーバにアクセスして文書構造定義を取得するという枠組みがその一例である。アクセス情報は、例えばURL(Uniform Resource Locator)やURN(Uniform Resource Name)、URI(Uniform Resource Identifier)、UUID(Universally Unique Identifier)などのうちのいずれかを用いればよい。
図8に、文書構造定義のアクセス情報が登録された文書構造定義DB150のデータ内容の一例を示す。この例では、文書を発行した会社の社名と文書の種類との組合せに対応づけて、文書構造定義のURLが登録されている。図7の例では、例えば「XXXXXX社」について、パソコンの見積書が2種類と、OA機器の見積書が2種類、登録されている。
図9に、部分構造定義のアクセス情報が登録された部分構造定義DB160のデータ内容の一例を示す。この例では、住所欄や商品欄、税金欄などといった「部分」の種類ごとに、その部分に該当する各部分構造定義のURLが列挙されている。
次に、図10及び図11を参照して、文書解析部130の詳細を説明する。図10に示した例では、文書解析部130は文書構造探索部132,部分構造探索部134,構造編集部136及び構造登録部138を含む。
文書構造探索部132は、文書構造定義DB150に登録された文書構造定義の中から、画像読取部22から入力された読取画像に最もよく適合する文書構造定義を探す(S11)。
この探索処理において、文書構造探索部132は、例えば、文書の読取画像中に含まれる文書の見出し(表題)を抽出し、抽出した表題により文書構造定義の探索範囲を絞り込む。例えば、読取画像中の見出しの存在する可能性の高い範囲(例えば文書の上部)にある文字領域に対して文字認識を行い、この結果得られた文字列が文書の見出しとなり得る文字列であれば、その文書の見出しの文字列と判定する。文書の見出しとなり得る文字列のリストは、あらかじめ情報処理部100に登録しておけばよい。そして、文書構造定義DB150に登録された文書構造定義202のうち、対応する検索キー情報206がその見出しの文字列(又はその類義語)を含む文書構造定義202を、読取画像の文書構造定義の候補として抽出する。
以上では、文書の見出しによる絞り込みの例を説明したが、見積書等の定型文書中にはその文書を発行した発行者の社名、住所、又はロゴマークが含まれる場合も多いので、それらのうちいずれかを用いて候補の絞込を行うこともできる。この場合、社名、住所等も検索キー情報206の項目として文書構造定義DB150に登録しておけばよい、また、見出し、社名、住所、ロゴマークのうちの2以上の組合せにより候補を絞り込んでもよい。なお、このような見出し、社名等の文字列は、文字認識部120により求められる。
以上のような絞込を行う代わりに、読取画像から抽出した見出しや社名等の各種検索キーに応じて、文書構造定義DB150中の各文書構造定義について、読取画像に対する適合の度合いを示すスコアを求めてもよい。例えば、見出しについてのスコアは、読取画像から抽出した見出しの文字列と意味的に近い見出し文字列を検索キー情報206に含んだ文書構造定義202ほど高い値となるようにつければよい。また例えば、見出し、社名などといった項目ごとにこのようなスコアを求め、それらを総合した値(例えばそれらの平均値)を総合的なスコアとし、その総合的なスコアが最も高い文書構造定義を、読取画像に対応する文書構造定義と判定してもよい。
また、文書構造探索部132は、そのような検索キー情報206を用いた探索の代わりに、或いはそのような探索に加えて、文書要素群のレイアウトに基づく探索を行ってもよい。レイアウトに基づく探索は、例えば、像域分離回路28の像域分離結果を利用することができる。例えば、像域分離により求められた文字領域、連続調画像領域等のレイアウトと、文書構造定義DB150内の各文書構造定義202に対応するスタイル情報204が示すレイアウトとを比較することで、読取画像とそれら各文書構造定義202とのレイアウトに関する類似度合いを求めることができる。類似度合いは、例えば、読取画像のレイアウトにおける各領域を、スタイル情報204が示すレイアウトにおいてその領域と同じ種類(文字、連続調画像、又はグラフィック図形など)の領域のうち最も近い領域と重複なく対応付け、それら対応付けられた領域同士の位置やサイズの差を総合した値(例えばそれら差の自乗和など)から類似度合いのスコアを求めればよい。例えば、対応づけられた領域同士の差が小さいほど類似度合いのスコアは高くなるような関数を用いればよい。
また、レイアウトの類似度合いを求める際に、文字領域、連続調画像領域などといった画像の種類だけでなく、各領域のデータ型の適合の度合いを考慮してもよい。例えば、読取領域の各文字領域内の文字列のデータ型は、文字認識部120による文字認識により判明する。文字認識部120は、例えば、単純な文字認識により得られた文字列を、金額特有の表記パターン、日付の文字列パターンや、住所特有の表記パターンなどと照合することにより、その文字列が金額、日付、住所などといったデータ型のいずれに該当するかを判定することができる。一方、文書構造定義202には各要素のデータ型が記述されている。したがって、例えば、読取画像の領域ごとに、その領域のデータ型と、文書構造定義202内の要素のうちその領域に対応する要素のデータ型とを求め、データ型が適合する領域又は要素の数、又はその数の文書構造定義の全要素数に対する割合に基づき、レイアウトの類似度合いのスコアを求めることができる。読取画像の領域に対応する文書構造定義202の要素は、例えば、その文書構造定義202に対応するスタイル情報204が示すレイアウトにおいて、その領域に最も近い要素である。
また、レイアウトの類似度合いを求める際に、読取画像の各領域に含まれる見出し文字列を考慮してもよい。例えば、商品欄の場合、「商品名」や「数量」などといった見出し文字列が含まれる。文書構造探索部132は、読取画像のある領域の文字認識結果の中にそのような見出しに該当する文字列があれば、その文字列と、文書構造定義202中の要素のうちその領域に対応する要素に含まれる見出し文字列との類似度合いを求め、その類似度合いに基づき、レイアウトの類似度合いのスコアを求めることができる。
以上、レイアウトの類似度合いのスコアの求め方をいくつか例示した。このような手法で求めたスコアが最も高い文書構造定義202を、読取画像に対する適合度が最も高い文書構造定義202と判定してもよい。
なお、レイアウトの類似度合いを求めるにあたり、以上に例示した領域同士の位置やサイズの類似度、データ型の適合度、及び見出し文字列の類似度のうちの2以上を総合してもよい。
また、文書の見出しの類似度合いと、レイアウトの類似度合いとを総合したスコアを求め、そのスコアが最も高い文書構造定義202を、読取画像に対する適合度が最も高い文書構造定義202と判定してもよい。また、文書の見出しでもレイアウトでもない他の観点の類似度合いを用いてもよい。
文書構造探索部132は、以上のようにして求めた読取画像に対する適合度が最も高い文書構造定義(「最適文書構造定義」と呼ぶ)に対し、読取画像から抽出した各領域(要素)の値を当てはめていく。ここで、読取画像に含まれる情報のすべてを構造化文書に反映させる必要がない場合もある。例えば、図4に例示した見積書において社印の画像は、構造化文書に組み込まなくてよい、等といった場合がその一例である。したがって、この当てはめ処理では、最適文書構造定義の要素ごとに、その要素に対して読取画像における対応領域の値を当てはめていけばよい。要素に対応する領域は、その要素に対して所定距離以内の領域を選べばよい。そのような領域の値のデータ型が、その要素のデータ型に適合しない場合は、その要素には値の当てはめは行わない。
なお、以上の処理において、適合度に対して閾値を設定しておき、文書構造定義202群のうちの最高の適合がその閾値以上の場合にのみ、その最高値に対応する文書構造定義を最適な文書構造定義として採用するようにしてもよい。この場合、最高値がその閾値より低い場合には、読取画像に適合する文書構造定義がないことになる(S12の判定結果がNo)。この場合、例えばユーザに対してその旨を通知してもよい。この通知は、例えば画像形成装置の操作パネル18に表示してもよい。また、この通知の代わりに、又はこの通知に加えて、ユーザに対して読取画像に対応する文書構造定義の編集依頼を行ってもよい(S13)。この編集依頼では、例えば操作パネルに読取画像と文書構造定義の編集画面を表示してもよい。
その依頼に応じてユーザが文書構造定義を編集すると、構造編集部136は、その編集結果の文書構造定義に対して読取画像から抽出した各値を当てはめることで、読取画像に対する構造化文書を作成してもよい。また編集された文書構造定義を、文書構造定義DB150に登録してもよい。
文書構造探索部132による当てはめ処理の結果、最適文書構造定義の要素の中に値が当てはめられない要素が出てくる場合がある。読取画像に完全に適合する文書構造定義が文書構造定義DB150に登録されていない場合、このような事態が生じ得る。このように値が当てはめられない要素を不適合要素と呼ぶことにする。不適合要素が残ったまま構造化文書を作成すると、作成された構造化文書が不十分なものとなってしまう場合がある。
そこで文書構造探索部132は、そのような不適合要素が残るか否かを判定する(S14)。不適合要素が残らない場合は、最適文書構造定義におけるすべての要素に対し読取画像から抽出した値が当てはめられたということである。この場合、構造編集部136がその当てはめの結果に基づき構造化文書を作成し(S18)、その構造化文書を文書登録部140が文書DB170に登録する。
不適合要素が残る場合、部分構造探索部134が、その不適合要素の種類に該当する部品構造定義を部分構造定義DB160から検索する(S15)。ここでは、例えば、その要素の要素名(又はそれに対応づけられた種類を表す表現)を部分種類情報214の値として持つ部分構造定義212を検索すればよい。またこの代わりに、その不適合要素に含まれる各要素の要素名のうちの所定割合以上の要素名を持つ要素を含んだ部分構造定義212を検索してもよい。
部分構造検索部134は、このようにして検索された各部分構造定義212に対し、前記読取画像のうちの前記最適文書構造定義に当てはめることができなかった部分(不適合部分と呼ぶ)の当てはめを試みる。この当てはめは、最適文書構造定義を求める場合の処理と同様でよい。
すなわち、最適文書構造定義を求める際に、読取画像に対するレイアウトの類似度合いにより各文書構造定義を評価したが、部分構造定義はいわば文書構造定義の一部分を取り出したものであり、文書構造定義202と同様の構造・内容を持っているので、レイアウトの類似度合いに基づく評価が可能である。例えば、不適合部分に含まれる各領域から認識された文字列の中から見出しに該当する文字列を見つけ、それら各領域の見出しに該当する文字列と、部分構造定義212の各要素の見出し文字列との類似度合いのスコアを求めればよい。類似度合いの値は、例えば、部分構造定義212に含まれる各要素の見出し文字列のうち、不適合部分の中から見つかった見出し文字列と同一又は類似の範囲内にあるものの割合に基づいて算出すればよい。また、このとき、部分構造定義212に付随するスタイル情報(例えば、要素間の位置関係や、各要素のサイズ等の情報を含む)を考慮してもよい。この場合、例えば、部分構造定義212における見出しを持つ要素同士の位置関係と、それら各要素の見出し文字列に同一又は類似の文字列を持つ不適合部分の各領域の位置関係と、の類似度合いをスコアに反映させればよい。
このようにして求められたスコアが最も高い部分構造定義212を、最適部分構造定義として採用すればよい。なお、類似度合いのスコアに閾値を設定しておき、部分構造探索部134は、部分構造定義212群のうちの最高のスコアとその閾値との比較により、最適部分構造定義が見つかったか否かを判定すればよい(S15)。そして、閾値以上であれば、見つかった部分構造定義を構造編集部136に渡す。
構造編集部136は、文書構造探索部132が求めた最適文書構造定義と、部分構造探索部134が求めた最適部分構造定義とに基づき、読取画像に対応する構造化文書を作成する(S18)。例えば、最適文書構造定義に対する読取画像の各領域の値の当てはめ結果(不適合要素・不適合部分は除く)と、最適部分構造定義に対する不適合部分の値の当てはめ結果とを組み合わせることで、読取画像に対応する構造化文書を生成すればよい。生成された構造化文書は、文書登録部140(図2参照)により文書DB170に登録される。
また、構造編集部136は、最適文書構造定義のうちの不適合要素以外の部分と、最適部分構造定義とを組み合わせることで、その読取画像に対応する文書構造定義を生成してもよい。この場合、最適文書構造定義のうちの不適合要素が、最適部分構造定義に置き換えられることになる。
構造編集部136が生成した文書構造定義は、構造登録部138により文書構造定義DB150に登録してもよい。この場合、読取画像の解析の際に求めた各領域のレイアウトや文字サイズ等の情報をスタイル情報として、その文書構造定義に対応づけて登録することもできる。また、読取画像の解析の際に各領域から求めた文書の見出しや各欄の見出しの文字列を検索キー情報として、その文書構造定義に対応づけて登録してもよい。
ステップS16で、最高のスコアが閾値より低かった(即ち類似度合いが低い)場合には、最適部分構造定義がないとして、例えばユーザに対してその旨を通知してもよい。また、ユーザに対してその不適合部分に対する部分構造定義の編集依頼を行ってもよい(S17)。その依頼に応じてユーザが部分構造定義を編集すると、構造編集部136は、その編集結果の部分構造定義に対して読取画像の不適合部分から抽出した各値を当てはめ、その当てはめ結果と、最適文書構造定義に対する読取画像の当てはめ結果とを組み合わせることで、読取画像に対する構造化文書を作成してもよい。また部分構造定義の編集結果を最適文書構造定義と組み合わせることで、読取画像に対応する文書構造定義を作成し、文書構造定義DB150に登録してもよい。
以上の例では、最適文書構造定義に規定される要素のうち、読取画像から求めた値が当てはまらなかった要素はすべて不適合要素とし、その不適合要素に対応する部分構造定義のうち、その読取画像における不適合部分に当てはまるものを最適部分構造定義として求めた。しかし、文書構造定義に規定される要素すべてが、文書DB170に蓄積する構造化文書にとって必須とは限らない。蓄積する文書にとって必須でない要素が仮に読取画像に適合しなかった場合に、その要素の値は未定のまま構造化文書を作成して蓄積しても、それ自体は問題とならない。そこで、文書構造定義の各要素に対し、その要素の値が必須であるのか否かを示す属性を付加しておき、部分構造探索部134は、不適合要素のうちその属性が「必須」である要素についてのみ、その要素に置き換えられる最適部分構造定義を求めるようにしてもよい。
以上に説明した実施形態の情報処理部100に対し、例えば図12に例示した見積書画像400が入力されたとする。このとき、文書構造探索部132が見つけた最適文書構造定義が、図4の見積書に対応する図3のようなデータであったとする。このケースでは、見積書画像400のうち消費税の欄410が、図4の見積書の税の記載様式と合致しない。この場合、文書構造探索部132は、例えば最適文書構造定義(図3)のうち、商品欄に対応する要素310を不適合要素として認識する。そして、部分構造探索部134の処理により、商品欄に対応する1以上の部分構造定義の中から、図12の消費税の記載様式に合致する図6に示した部分構造定義が検索されたとする。この場合、構造編集部136は、図3の文書構造定義と図6の部分構造定義とを合成して、図13に示すような文書構造定義を生成する。この例では、図3の文書構造定義の商品欄の要素310が、図6の部分構造定義に置き換えられている。
以上、実施形態を説明した。以上の実施形態では、紙の文書を読み取ってその読み取り結果の画像から構造化文書を作成したが、本システムは、外部から入力された文書画像に対しても同様の処理を行うことができる。
また、以上の例では、読取画像に対する適合度が最も高い文書構造定義を最適文書構造定義として求めたが、これは一例に過ぎない。この代わりに、例えば、適合度に基づき複数の文書構造定義を適合文書構造定義として求めてもよい。例えば、適合度が上位所定数の文書構造定義、又は、適合度が所定の閾値以上となる文書構造定義を、適合文書構造定義として求めるなどである。この場合、それら適合文書構造定義ごとに、その適合文書構造定義に適合しない不適合部分を特定し、不適合部分に対する最適部分構造定義を特定すればよい。この場合、読取画像に対して複数の解析結果が求められることになるので、文書解析部130は、例えば、それら複数の解析結果を操作パネル18の表示部に表示し、ユーザにその中から最終結果を選択させてもよい。また、複数の解析結果のそれぞれについて、当該解析結果を構成する適合文書構造定義及び最適部分構造定義のそれぞれの適合度に基づき当該解析結果の適合度を計算し、計算した適合度が最も高い解析結果をユーザに提示してもよい。
以上では、文書構造定義について、「最適」なもののみでなく適合度が高いものを抽出してよいことを示したが、不適合部分に対応する部分構造定義についても同様である。
また、上記実施形態のシステムは、画像形成装置をベースとしたものであったが、画像形成装置の代わりに、情報処理部100の機能を表すプログラムを汎用のコンピュータにインストールしても、同様の処理が行える。この場合、プログラムは、可搬型の記録媒体又はネットワーク経由でコンピュータにインストールすることができる。
22 画像読取装置、100 情報処理部、120 文字認識部、130 文書解析部、132 文書構造探索部、134 部分構造探索部、136 構造編集部、138 構造登録部、140 文書登録部、150 文書構造定義DB、160 部分構造定義DB、170 文書DB。
Claims (4)
- 複数の部分からなる文書の構造の定義を示す文書構造定義情報を格納した第1格納手段と、
文書を構成する部分の構造の定義を示す部分構造定義情報を、部分の種類ごとに分類可能に格納した第2格納手段と、
前記第1格納手段に格納された文書構造定義情報の中から、対象文書画像に対する適合度に基づき対象文書画像に適合する適合文書構造定義情報を求める第1探索手段と、
前記対象文書画像の中に、前記第1探索手段が求めた適合文書構造定義情報に適合しない部分がある場合に、その部分の種類に該当する部分構造定義情報の中から、その部分に対する適合度に基づきその部分に適合する適合部分構造定義情報を求める第2探索手段と、
前記第1探索手段が求めた適合文書構造定義情報と、前記第2探索手段が求めた適合部分構造定義情報とに基づき、前記対象文書画像に関する処理を実行する処理実行手段と、
を備える文書処理システム。 - 前記処理実行手段は、
前記第1探索手段が求めた適合文書構造定義情報と、前記第2探索手段が求めた適合部分構造定義情報とに基づき、前記対象文書画像に対応する文書構造定義情報を作成し、作成した文書構造定義情報に対して前記対象文書画像の各部分の値を当てはめることで、前記対象文書画像に対応する構造化文書を作成する構造化文書作成手段と、
を備えることを特徴とする請求項1記載の文書処理システム。 - 前記処理実行手段は、
前記第1探索手段が求めた適合文書構造定義情報と、前記第2探索手段が求めた適合部分構造定義情報とに基づき、前記対象文書画像に対応する文書構造定義情報を作成し、前記第1格納手段に登録する登録手段と、
を備えることを特徴とする請求項1記載の文書処理システム。 - コンピュータを、
複数の部分からなる文書の構造の定義を示す文書構造定義情報を格納した第1格納手段、
文書を構成する部分の構造の定義を示す部分構造定義情報を、部分の種類ごとに分類可能に格納した第2格納手段、
前記第1格納手段に格納された文書構造定義情報の中から、対象文書画像に対する適合度に基づき対象文書画像に適合する適合文書構造定義情報を求める第1探索手段、
前記対象文書画像の中に、前記第1探索手段が求めた適合文書構造定義情報に適合しない部分がある場合に、その部分の種類に該当する部分構造定義情報の中から、その部分に対する適合度に基づきその部分に適合する適合部分構造定義情報を求める第2探索手段、
前記第1探索手段が求めた適合文書構造定義情報と、前記第2探索手段が求めた適合部分構造定義情報とに基づき、前記対象文書画像に関する処理を実行する処理実行手段、
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007100903A JP2008257590A (ja) | 2007-04-06 | 2007-04-06 | 文書処理システム及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007100903A JP2008257590A (ja) | 2007-04-06 | 2007-04-06 | 文書処理システム及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008257590A true JP2008257590A (ja) | 2008-10-23 |
Family
ID=39981079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007100903A Withdrawn JP2008257590A (ja) | 2007-04-06 | 2007-04-06 | 文書処理システム及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008257590A (ja) |
-
2007
- 2007-04-06 JP JP2007100903A patent/JP2008257590A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8726178B2 (en) | Device, method, and computer program product for information retrieval | |
JP5623079B2 (ja) | ハード・コピーの書式からの書式定義の自動発生 | |
US7660803B2 (en) | Policy-based management method and system for printing of extensible markup language (XML) documents | |
CN101178725B (zh) | 用于信息检索的设备和方法 | |
US20090123071A1 (en) | Document processing apparatus, document processing method, and computer program product | |
US8799401B1 (en) | System and method for providing supplemental information relevant to selected content in media | |
JP2008134683A (ja) | 画像処理装置および画像処理プログラム | |
US20070242282A1 (en) | Image forming apparatus for detecting index data of document data, and control method and program product for the same | |
US8370384B2 (en) | Information processing apparatus, file management method, program, and storage medium | |
US8854635B2 (en) | Document processing device, method, and recording medium for creating and correcting formats for extracting characters strings | |
JP2008059157A (ja) | 書類確認支援システム、書類確認支援装置およびプログラム | |
JP2973913B2 (ja) | 入力シートシステム | |
US9881001B2 (en) | Image processing device, image processing method and non-transitory computer readable recording medium | |
US20150169510A1 (en) | Method and system of extracting structured data from a document | |
US20080270879A1 (en) | Computer-readable medium, document processing apparatus and document processing system | |
JP4811133B2 (ja) | 画像形成装置及び画像処理装置 | |
JP2004334341A (ja) | 文書検索装置、文書検索方法及び記録媒体 | |
JP2008257543A (ja) | 画像処理システム及びプログラム | |
JP2007052613A (ja) | 翻訳装置、翻訳システムおよび翻訳方法 | |
JP2008257590A (ja) | 文書処理システム及びプログラム | |
JP5445740B2 (ja) | 画像処理装置、画像処理システムおよび処理プログラム | |
US20190012400A1 (en) | Information processing apparatus and non-transitory computer readable medium | |
JP2007052614A (ja) | 文書管理装置、文書管理システムおよび文書管理方法 | |
JP4177675B2 (ja) | 印刷物作成支援システム、印刷物作成支援方法、およびプログラム | |
JP7314627B2 (ja) | 制御装置、画像形成装置、制御方法および制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090210 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20100712 |