JPWO2008107997A1 - 帳票種識別プログラム、帳票種識別方法および帳票種識別装置 - Google Patents

帳票種識別プログラム、帳票種識別方法および帳票種識別装置 Download PDF

Info

Publication number
JPWO2008107997A1
JPWO2008107997A1 JP2009502412A JP2009502412A JPWO2008107997A1 JP WO2008107997 A1 JPWO2008107997 A1 JP WO2008107997A1 JP 2009502412 A JP2009502412 A JP 2009502412A JP 2009502412 A JP2009502412 A JP 2009502412A JP WO2008107997 A1 JPWO2008107997 A1 JP WO2008107997A1
Authority
JP
Japan
Prior art keywords
character string
form type
information
keyword
partial
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.)
Granted
Application number
JP2009502412A
Other languages
English (en)
Other versions
JP4918937B2 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2008107997A1 publication Critical patent/JPWO2008107997A1/ja
Application granted granted Critical
Publication of JP4918937B2 publication Critical patent/JP4918937B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/1444Selective acquisition, locating or processing of specific regions, e.g. highlighted text, fiducial marks or predetermined fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Character Discrimination (AREA)
  • Character Input (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Machine Translation (AREA)

Abstract

帳票種識別装置は、各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワードを記憶した帳票種識別情報DBをあらかじめ保持し、帳票上に記入された文字列を整列し、帳票種識別情報DBに記憶されている複数のキーワードを用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワードごとにそれぞれ生成し、整列した各グループ文字列と生成した各部分文字列とをそれぞれ照合して、照合に成功した各部分文字列について、各グループ文字列に対する各部分文字列の照合率が最大の時の正解文字数をキーワードごとに取得した後、各正解文字数を用いて帳票種ごとにその帳票種である可能性を評価した評価値を算出して帳票種を決定する。

Description

この発明は、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別処理をコンピュータに実行させる帳票種識別プログラム、当該帳票種識別プログラムに対応する帳票種識別方法および帳票種識別装置に関する。
従来より、紙帳票上に書き込まれた文字情報などを認識し、認識したデータを自動入力することを目的として、あらかじめ保持する帳票識別情報に基づいて、一旦、帳票種を識別する技術が存在する。ここで、帳票識別情報とは、帳票上の文字情報や罫線情報、帳票種を特定するための識別IDなどのことをいう。
例えば、特許文献1では、入力を受け付けた帳票データに対する文字認識結果に基づいて抽出されたグループ文字列と、各帳票種についてあらかじめ保持する帳票識別用のキーワード(頻繁に使用される文字を帳票ごとに管理したもの)とを照合することにより帳票種を識別する技術が開示されている。
特開2001−202466号公報
ところで、上記した従来の技術は、以下に説明するようなことから、精度の高い帳票種の識別を実現することができない場合があるといった問題点があった。
すなわち、入力を受け付けた帳票データの中には説明文や注釈といった不要な文字列が数多く含まれているので、あらかじめ保持する帳票識別用のキーワードに対応するようなグループ文字列自体を抽出するのが困難である。それゆえ、例えば、「納品書」が任意の帳票に関する帳票識別用の一つのキーワードとして保持されており、入力された帳票データから「納品書(兼領収書)」というグループ文字列が抽出された場合には、帳票種識別用のキーワードがグループ文字列の照合に対して機能せず、精度の高い帳票種の識別を実現することができない場合があるという問題点があった。
また、入力を受け付けた帳票データの中に3文字からなる文字列が1文字誤りの状態で存在する場合には、この文字列の文字認識率は67%となり、不適合とされてキーワードとして抽出されないのが通常である。それゆえ、帳票データの中に3文字からなる文字列が1文字誤りの状態で存在する場合には、帳票種を識別するために重要なタイトル文字列として使用される、例えば、「申込書」、「納品書」、「見積書」などいった3文字からなる文字列がキーワードとして抽出されることはないので、結果として、精度の高い帳票種の識別を実現することができない場合があるという問題点があった。
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、精度の高い帳票種の識別を実現することが可能な帳票種識別プログラム、帳票種識別方法および帳票種識別装置を提供することを目的とする。
上述した課題を解決し、目的を達成するため、請求項1に係る発明は、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別処理をコンピュータに実行させる帳票種識別プログラムであって、各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワード情報を記憶部にそれぞれ記憶する帳票種識別情報記憶手順と、前記帳票種識別情報記憶手順により記憶部に記憶されている前記複数のキーワード情報を用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワード情報ごとにそれぞれ生成する部分文字列生成手順と、前記文字情報および前記罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに、当該生成された各グループ文字列を配列する文字列配列手順と、前記文字列配列手順により配列された各グループ文字列と、前記部分文字列生成手順により生成された各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数を前記キーワード情報ごとに取得して、当該取得された各一致文字数を用いて、帳票種ごとに当該帳票種である可能性を評価した評価値を算出する部分文字列照合手順と、前記部分文字列照合手順により帳票種ごとに算出された各評価値に基づいて、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定する帳票種決定手順と、をコンピュータに実行させることを特徴とする。
また、請求項2に係る発明は、上記の発明において、前記帳票種決定手順は、前記部分文字列照合手順により帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定することを特徴とする。
また、請求項3に係る発明は、上記の発明において、前記帳票種決定手順は、前記部分文字列照合手順により帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、当該閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、当該複数存在する帳票種を当該評価値の高低に応じて順位付けすることを特徴とする。
また、請求項4に係る発明は、上記の発明において、前記帳票種決定手順は、前記部分文字列照合手順により帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、当該閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、最も評価値の高い帳票種に決定することを特徴とする。
また、請求項5に係る発明は、上記の発明において、前記文字列配列手順は、前記文字情報および前記罫線情報から前記グループ文字列内に罫線が存在することが判明した場合には、当該グループ文字列を罫線で分割することを特徴とする。
また、請求項6に係る発明は、上記の発明において、前記帳票種識別情報記憶手順は、前記複数のキーワードごとに使用の可否を規定した使用可否情報をさらに記憶部に記憶し、前記帳票種識別情報記憶手順により記憶部に記憶されている前記使用可否情報に基づいて、当該記憶部に記憶されている複数のキーワード情報の中から、使用が許可されているキーワード情報を選択するキーワード選択手順をさらにコンピュータに実行させ、前記部分文字列生成手順は、前記キーワード選択手順により選択されたキーワード情報を用いて前記複数の部分文字列をそれぞれ生成することを特徴とする。
また、請求項7に係る発明は、上記の発明において、前記帳票種決定手順は、前記部分文字列照合手順により帳票種ごとに各評価値が算出される度に、当該各評価値に基づいて当該帳票種の候補を絞り込み、前記帳票種決定手順により帳票種の候補が絞り込まれる度に、前記帳票種識別情報記憶手順により記憶部に記憶されている前記複数のキーワード情報の中から、当該絞り込まれた帳票種の候補を加味してキーワード情報を変更するキーワード情報変更手順をさらにコンピュータに実行させ、前記部分文字列生成手順は、前記キーワード情報変更手順によりキーワード情報が変更される度に、当該変更されたキーワード情報を用いて前記複数の部分文字列をそれぞれ生成し、前記部分文字列照合手順は、前記部分文字列生成手順により前記複数の部分文字列が生成される度に、前記文字列配列手順により配列された各グループ文字列と、前記部分文字列生成手順により生成された各部分文字列とをそれぞれ照合して、各グループ文字列を構成する文字列と各部分文字列との一致度を評価した評価値を帳票種ごとに算出することを特徴とする。
また、請求項8に係る発明は、上記の発明において、前記帳票種識別情報記憶手順は、各帳票種に対応付けて、意味が同一のグループごとに前記複数のキーワード情報を記憶部にそれぞれ記憶し、前記部分文字列照合手順は、前記文字列配列手順により配列された各グループ文字列と、前記部分文字列生成手順により生成された各部分文字列とをそれぞれ照合し、前記各グループ内の複数のキーワードの中から、各グループ文字列に対する各部分文字列の照合率が最大となるキーワードをそれぞれ抽出して、当該抽出された各キーワードについて一致文字数をそれぞれ取得して、当該取得された各一致文字数を用いて帳票種ごとに当該帳票種である可能性を評価した評価値を算出することを特徴とする。
また、請求項9に係る発明は、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別方法であって、各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワード情報を記憶部にそれぞれ記憶する帳票種識別情報記憶工程と、前記帳票種識別情報記憶工程により記憶部に記憶されている前記複数のキーワード情報を用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワード情報ごとにそれぞれ生成する部分文字列生成工程と、前記文字情報および前記罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに、当該生成された各グループ文字列を配列する文字列配列工程と、前記文字列配列工程により配列された各グループ文字列と、前記部分文字列生成工程により生成された各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数を前記キーワード情報ごとに取得して、当該取得された各一致文字数を用いて、帳票種ごとに当該帳票種である可能性を評価した評価値を算出する部分文字列照合工程と、前記部分文字列照合工程により帳票種ごとに算出された各評価値に基づいて、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定する帳票種決定工程と、を含んだことを特徴とする。
また、請求項10に係る発明は、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別装置であって、各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワード情報をそれぞれ記憶する帳票種識別情報記憶手段と、前記帳票種識別情報記憶手段により記憶されている前記複数のキーワード情報を用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワード情報ごとにそれぞれ生成する部分文字列生成手段と、前記文字情報および前記罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに、当該生成された各グループ文字列を配列する文字列配列手段と、前記文字列配列手段により配列された各グループ文字列と、前記部分文字列生成手段により生成された各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数を前記キーワード情報ごとに取得して、当該取得された各一致文字数を用いて、帳票種ごとに当該帳票種である可能性を評価した評価値を算出する部分文字列照合手段と、前記部分文字列照合手段により帳票種ごとに算出された各評価値に基づいて、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定する帳票種決定手段と、を備えたことを特徴とする。
本発明によれば、各帳票種(例えば、「申込書」や「納品書」、「見積書」など)に対応付けて、帳票種を識別するためのキーとなる複数のキーワード情報(例えば、「申込書」であれば、「申込書」、「申込日」、「住所」、「氏名」などの帳票上に記入されている情報)を記憶部にそれぞれ記憶し、記憶部に記憶されている複数のキーワード情報を用いて、帳票上に記入された文字列と照合するための複数の部分文字列(例えば、「申込書」であれば、「申込」、「込書」および「申書」など3文字中2文字からなる文字列)をキーワード情報ごとにそれぞれ生成し、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに配列し、各グループ文字列と各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数をキーワード情報ごとに取得して、取得された各一致文字数を用いて、帳票種ごとにその帳票種である可能性を評価した評価値(例えば、グループ文字列と部分文字列との一致文字数を全キーワードの文字数で除算した値)を算出し、帳票種ごとに算出された各評価値に基づいて、文字情報および罫線情報が記入された帳票に対する帳票種を決定するので、あらかじめ保持する帳票識別用のキーワードに対応するようなグループ文字列の抽出にとらわれることなく、精度の高い帳票種の識別を実現することが可能である。また、帳票上に記入された文字列の中に誤りが存在する、あるいは、文字列の認識結果に誤りがある場合であっても、部分文字列を用いた照合によって部分的な一致を加味した評価値を算出することができ、精度の高い帳票種の識別を実現することが可能である。
また、本発明によれば、帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、文字情報および罫線情報が記入された帳票に対する帳票種を決定するので、簡易な方法で帳票種を決定することが可能である。
また、本発明によれば、帳票種ごとに算出された各評価値が帳票種ごとに規定された閾値を超えているか否か判定して、閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、複数存在する帳票種を評価値の高低に応じて順位付けするので、帳票種の候補を順位付けしてユーザに提供することが可能である。
また、本発明によれば、帳票種ごとに算出された各評価値が帳票種ごとに規定された閾値を超えているか否か判定して、閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、最も評価値の高い帳票種に決定するので、帳票種の候補として最も確からしいものをユーザに提供することが可能である。
また、本発明によれば、文字情報および罫線情報からグループ文字列内に罫線が存在することが判明した場合には、グループ文字列を罫線で分割するので、正規の語句を構成する範囲でグループ文字列を分割することが可能である。
また、本発明によれば、複数のキーワードごとに使用の可否を規定した使用可否情報をさらに記憶部に記憶し、記憶部に記憶されている使用可否情報に基づいて、複数のキーワード情報の中から使用が許可されているキーワード情報を選択し、選択されたキーワード情報を用いて複数の部分文字列をそれぞれ生成するので、あらかじめ保持するキーワードの中から必要なキーワードのみを使用することができ、また、全てのキーワードで処理を行うのに比較して処理時間を少なくすることが可能である。
また、本発明によれば、帳票種ごとに各評価値が算出される度に、各評価値に基づいて帳票種の候補を絞り込み(例えば、最も評価値の低いものを除外するなど、帳票種として可能性のあるものに絞り込む)、帳票種の候補が絞り込まれる度に記憶部に記憶されている複数のキーワード情報の中から、絞り込まれた帳票種の候補に応じてキーワード情報を変更し、キーワード情報が変更される度に、変更されたキーワード情報を用いて複数の部分文字列をそれぞれ生成し、複数の部分文字列が生成される度に、各グループ文字列と各部分文字列とをそれぞれ照合して、各グループ文字列を構成する文字列と各部分文字列との一致度を評価した評価値を帳票種ごとに算出するので、明らかに不要な帳票種のキーワードを用いて処理を行うことなく、処理時間および処理回数を低減させることが可能であるとともに、より精度の高い帳票種の識別を実現することが可能である。
また、本発明によれば、各帳票種に対応付けて、意味が同一のグループごとに前記複数のキーワード情報を記憶部にそれぞれ記憶し、各グループ文字列と各部分文字列とをそれぞれ照合して、各グループ内の複数のキーワードの中から、各グループ文字列に対する各部分文字列の照合率が最大となるキーワードをそれぞれ抽出して、抽出された各キーワードについて一致文字数をそれぞれ取得して、取得された各一致文字数を用いて帳票種ごとに当該帳票種である可能性を評価した評価値を算出するので、精度の高い帳票種の識別を実現することが可能である。すなわち、例えば、帳票種「申込書」において「申込日」と「記入日」とが同一の意味を持つ一つのグループとして取り扱い、「申込日」および「記入日」から生成された部分文字列と、入力された文字情報および罫線情報から生成されたグループ文字列との一致度のうち、「申込日」から生成された部分文字列との一致度が高ければ、「申込日」から生成された部分文字列との一致文字数を用いて評価値を算出するので、評価値を低下させることなく、精度の高い帳票種の識別を実現することができる。
図1は、実施例1に係る帳票種識別装置の概要および特徴を説明するための図である。 図2は、実施例1に係る部分文字列の生成を説明するための図である。 図3は、実施例1に係る帳票種識別装置の構成を示すブロック図である。 図4は、実施例1に係る帳票種識別情報DBに記憶される情報の構成例を示す図である。 図5は、実施例1に係る文字列の整列例を示す図である。 図6は、実施例1に係るグループ文字列の生成方法を示す図である。 図7は、実施例1に係るグループ文字列と部分文字列との照合方法を示す図である。 図8は、実施例1に係るグループ文字列と部分文字列との照合方法を示す図である。 図9は、実施例1に係るグループ文字列と部分文字列との照合方法を示す図である。 図10は、実施例1に係るグループ文字列と部分文字列との照合例を示す図である。 図11は、実施例1に係る換算テーブルの構成例を示す図である。 図12は、実施例1に係る帳票種の出力例を示す図である。 図13は、実施例1に係る文字列整列処理の流れを示すフローチャートである。 図14は、実施例1に係る部分文字列生成処理の流れを示すフローチャートである。 図15は、実施例1に係る帳票種決定処理の流れを示すフローチャートである。 図16は、実施例2に係る帳票種識別情報DBの構成例を図である。 図17は、実施例2に係るキーワードの選択例を示す図である。 図18は、実施例3に係る帳票種識別装置の構成を示すブロック図である。 図19は、実施例3に係るキーワード変更の流れを示す図である。 図20は、実施例4に係る帳票種識別情報DBの構成例を図である。 図21は、帳票種識別プログラムを実行するコンピュータを示す図である。
符号の説明
10 帳票種識別装置
11 入力部
12 出力部
13 記憶部
13a 帳票種識別情報DB
14 制御部
14a 文字認識部
14b 文字情報整列部
14c 部分文字列生成部
14d 文字列照合部
14e 帳票種決定部
14f キーワード選択部
20 コンピュータ
21 入力部
22 出力部
23 HDD(Hard Disk Drive)
24 RAM(Random Access Memory)
25 ROM(Read Only Memory)
26 CPU(Central Processing Unit)
30 バス
以下に添付図面を参照して、この発明に係る帳票種識別プログラム、帳票種識別方法および帳票種識別装置の実施例を詳細に説明する。なお、以下では、本発明に係る帳票種識別装置を実施例1として説明した後に、本発明に含まれる他の実施例を説明する。
[帳票種識別装置の概要および特徴(実施例1)]
まず最初に、図1および図2を用いて、実施例1に係る帳票種識別装置の概要および特徴を説明する。図1は、実施例1に係る帳票種識別装置の概要および特徴を説明するための図である。図2は、実施例1に係る部分文字列の生成を説明するための図である。
実施例1に係る帳票種識別装置は、帳票上に記入された文字列に関する文字情報(帳票上の座標からなる位置情報や文字を特定するための文字コードからなる情報)、および罫線に関する罫線情報(罫線の始点および終点を帳票上の座標で示す情報やセル情報からなる情報)の入力を受け付けて、文字情報および罫線情報が記入された帳票の帳票種(例えば、「申込書」や「納品書」などの帳票の種別)を識別することを概要とするが、精度の高い帳票種の識別を実現することが可能である点に主たる特徴がある。
この主たる特徴について具体的に説明すると、実施例1に係る帳票種識別装置は、図1に示すように、各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワードを記憶した帳票種識別情報DBをあらかじめ保持する。
そして、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けると、実施例1に係る帳票種識別装置は、帳票上に記入された文字列を整列する(図1の(1)参照)。具体的に説明すると、文字情報および罫線情報に基づいて、帳票上に記入された全ての文字を左から一列に整列させ、整列された文字列を横方向に見た場合に、文字の高さが重複する範囲で文字列を分割したグループ文字列をそれぞれ生成して整列する。なお、実施例1に係る帳票種識別装置は、グループ文字列を生成した後、グループ文字列内に罫線が含まれている場合には、罫線でグループ文字列をさらに分割して整列する。
また、実施例1に係る帳票種識別装置は、帳票種識別情報DBに記憶されている複数のキーワードを用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワードごとにそれぞれ生成する(図1の(2)参照)。
図2を用いて、具体的に説明すると、実施例1に係る帳票種識別装置は、例えば、ユーザから部分文字列の文字数の入力を受け付けると、帳票種識別情報DB13aから帳票種ごとに全てのキーワードを読み込む。そして、例えば、帳票種「申込書」のキーワードとして帳票種識別情報DBに記憶されている3文字のキーワード「申込書」から2文字の部分文字列を生成する場合には、キーワード上のそれぞれの文字「申」、「込」、「書」を「0」または「1」に見立てて、重複することなく2文字にだけ「1」を割り当てる。次に、「1」が割り当てられた部分を文字とみなした文字列を全て抜き出すことにより、部分文字列(0:「申書」、1:「申込」、2:「込書」)を生成する。なお、「1」を割り当てる位置は、3から6までを2進数で表現することにより取得する。
次に、実施例1に係る帳票種識別装置は、整列した各グループ文字列と生成した各部分文字列とをそれぞれ照合する(図1の(3)参照)。具体的に説明すると、まず、実施例1に係る帳票種識別装置は、DP(Dynamic Programming)マッチングやグラフ理論などの一般的な文字認識手法を用いて、各グループ文字列と各部分文字列とを照合する。
そして、実施例1に係る帳票種識別装置は、照合に成功した各部分文字列について、各グループ文字列に対する各部分文字列の照合率が最大の時の正解文字数をキーワードごとに取得する。例えば、ある3つのグループ文字列と、キーワード「申込書」から生成された2文字の各部分文字列(「申書」、「申込」、「込書」の3つ)との照合率(部分文字列の正解数をその部分文字列の元となるキーワードの文字数で除算した値)が66%、50%、25%であった場合には、照合率が最大である66%の時の正解文字数を取得する。なお、正解文字数は、部分文字列の文字数とグループ文字列に対する部分文字列の正解数と用いて換算することにより取得される。
キーワードごとに各正解文字数を取得した後、実施例1に係る帳票種識別装置は、各正解文字数を用いて帳票種ごとにその帳票種である可能性を評価した評価値を算出して帳票種を決定する(図1の(4)参照)。具体的に説明すると、実施例1に係る帳票種識別装置は、帳票種ごとに、各正解文字数の総数を各キーワードで使用されている文字の総数で除算して評価値を算出する。そして、帳票種ごとに算出した各評価値が帳票種ごとに規定された閾値を超えているか否か判定し、判定の結果、閾値を超えていない評価値に対応する帳票種を切り捨てる。一方、判定の結果、閾値を超えている評価値に対応する帳票種が一つだけ存在する場合には、その帳票種に決定して出力し、閾値を超えている評価値に対応する帳票種が複数存在する場合には、各帳票種を評価値の高低に応じて順位付けして出力する。
このようなことから、実施例1に係る帳票種識別装置は、上述した主たる特徴のごとく、精度の高い帳票種の識別を実現することが可能である。
[帳票種識別装置の構成(実施例1)]
次に、図3〜図12を用いて、実施例1に係る帳票種識別装置の構成を説明する。図3は、実施例1に係る帳票種識別装置の構成を示すブロック図である。図4は、実施例1に係る帳票種識別情報DBに記憶される情報の構成例を示す図である。図5は、実施例1に係る文字列の整列例を示す図である。図6は、実施例1に係るグループ文字列の生成方法を示す図である。図7〜図9は、実施例1に係るグループ文字列と部分文字列との照合方法を示す図である。図10は、実施例1に係るグループ文字列と部分文字列との照合例を示す図である。図11は、実施例1に係る換算テーブルの構成例を示す図である。図12は、実施例1に係る帳票種の出力例を示す図である。
図3に示すように、実施例1に係る帳票種識別装置10は、入力部11と、出力部12と、記憶部13と、制御部14とから構成される。なお、同図では、実施例1に係る帳票種識別装置を実現する上で必要となる処理部のみを記載し、その他の処理部については記載を省略する。
このうち、入力部11は、各種の情報の入力を受付ける入力部であり、キーボードやマウス、マイクなどを備えて構成され、例えば、キーワードから生成する部分文字列長(文字数)などを受け付けて入力する。なお、入力部11に、データ読取機能をさらに備えておいて、帳票の画像データを読み取って後述する文字認識部14aに出力する。
また、出力部12は、各種の情報を出力する出力部であり、モニタ(若しくはディスプレイ、タッチパネル)やスピーカを備えて構成され、例えば、入力部11により読み込まれた帳票の画像データを表示出力する他、後述する帳票種決定部14eによる処理結果を表示出力する。
記憶部13は、制御部14による各種処理に必要なデータおよびプログラムを記憶する記憶部であり、特に本発明に密接に関連するものとしては、帳票種識別情報DB13aを備える。
この帳票種識別情報DB13aは、後述する部分文字列生成部14cによる部分文字列生成処理に必要な情報を記憶する記憶部であり、具体的には、図4に例示するように、帳票種(例えば、「納品書」、「見積書」、「申込書」など)に対応付けて、帳票種を識別するためのキーとなる複数のキーワード(例えば、「納品書」、「納品日」、「合計金額」など)を記憶して構成される。
制御部14は、所定の制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとしては、文字認識部14a、文字情報整列部14bと、部分文字列生成部14cと、文字列照合部14dと、帳票種決定部14eとを備える。
このうち、文字認識部14aは、帳票の画像データから文字情報および罫線情報を取得する処理部である。具体的に説明すると、入力部11から受け付けた帳票の画像データから、文字情報(帳票上の座標からなる位置情報や文字を特定するための文字コードからなる情報)、および罫線に関する罫線情報(罫線の始点および終点を帳票上の座標で示す情報やセル情報からなる情報)を取得して文字情報整列部14bに出力する。
文字情報整列部14bは、文字認識部14aから受け付けた文字情報および罫線情報に基づいて、帳票上に記入された文字列を整列する処理部である。具体的に説明すると、図5に例示するように、文字情報および前記罫線情報に基づいて、全ての文字を左から一列に整列させた後、整列された文字列を横方向に見た場合に、文字の高さが重複する範囲で文字列を分割したグループ文字列(例えば、第1グループから第7グループまでのグループ文字列)をそれぞれ生成して整列する。
すなわち、文字情報整列部14bは、全ての文字を左から一列に整列させた後、整列された文字列を横方向に見て、図6に例示するように、例えば、「申」の文字の高さと、「「申」の右側に位置する「込」の文字の高さとが重複するか否かを見る。そして、「申」の文字の高さと「込」の文字の高さとが重複する場合にはグループとして取り扱い、「申込」の文字列の高さと、「込」の右側に位置する「書」の文字の高さとが重複するか否か見て、重複する場合にはグループとして取り扱う。なお、グループ文字列を生成した後、グループ文字列内に罫線が含まれている場合には、罫線でグループ文字列をさらに分割して整列する。
なお、帳票上に記入された文字列が縦書きで存在する場合には、上記に説明したように帳票上に記入された文字列が横書きで存在する場合と同様の処理を行う。すなわち、文字情報整列部14bは、全ての文字を上から一列に整列させた後、整列された文字列を縦方向に見て、例えば、文字の幅が重複する場合にはグループ文字列として取り扱う。
部分文字列生成部14cは、帳票種識別情報DB13aに記憶されている複数のキーワードを用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワードごとにそれぞれ生成する処理部である。
具体的に説明すると、部分文字列生成部14cは、入力部11を介して部分文字列の文字数の入力を受け付けると、帳票種識別情報DB13aから帳票種ごとに全てのキーワードを読み込む。そして、例えば、帳票種「申込書」のキーワードとして帳票種識別情報DB13aに記憶されている3文字のキーワード「申込書」から2文字の部分文字列を生成する場合には、キーワード上のそれぞれの文字「申」、「込」、「書」を「0」または「1」に見立てて、重複することなく2文字にだけ「1」を割り当てる。次に、「1」が割り当てられた部分を文字とみなした文字列を全て抜き出することにより、部分文字列(0:「申書」、1:「申込」、2:「込書」)を生成する。
なお、「1」を割り当てる位置は、例えば、3文字のキーワードから2文字の部分文字列を生成する場合には、3から6までを2進数で変換して、「0」および「1」からなる2値表現を生成することにより取得される。
文字列照合部14dは、文字情報整列部14bにより生成整列された各グループ文字列と、部分文字列生成部14cにより生成された各部分文字列とをそれぞれ照合する処理部である。具体的に説明すると、まず、図7〜図9に例示するように、DP(Dynamic Programming)マッチングやグラフ理論などの一般的な文字認識手法を用いて、各グループ文字列と各部分文字列とを照合する。
そして、文字列照合部14dは、照合に成功した各部分文字列について、各グループ文字列に対する各部分文字列の照合率が最大の時の正解文字数をキーワードごとに取得する。
まず、図10に例示すように、グループ文字列「申込書」と、キーワード「申込書」から生成された2文字の各部分文字列(「申書」、「申込」、「込書」の3つ)とを照合すると、部分文字列の正解数は“3”で部分文字列の文字数が“2”となる。この部分文字列の正解数“3”および部分文字列の文字数“2”を図11に例示するような換算テーブルにあてはめることにより正解文字数を換算する。詳細には、部分文字列の文字数が“2”の場合には換算テーブルの「m=2」の行を部分文字列の正解数が“3”の位置まで進む。そして、その列の最上段に記載された換算テーブルの「n’」の値、つまり、「n’=3」がキーワード「申込書」の正解文字数となる。
同様に、グループ文字列「申辺書」と、キーワード「申込書」から生成された2文字の各部分文字列(「申書」、「申込」、「込書」の3つ)とを照合する場合(図10参照)を例に挙げると、部分文字列の正解数は“1”で部分文字列の文字数が“2”となるので、換算テーブルにあてはめると正解文字数は「n’=2」となる。
このように、グループ文字列によって同じキーワードでも正解文字数が異なるので、例えば、ある3つのグループ文字列と、キーワード「申込書」から生成された2文字の各部分文字列(「申書」、「申込」、「込書」の3つ)との照合率が66%、50%、25%であった場合には、照合率が最大である66%の時の正解文字数を取得する。ここで、照合率とは、部分文字列の正解数をその部分文字列の元となるキーワードの文字数で除算した値とする。このようにして、キーワードから生成した部分文字列で照合を行うことで、グループ文字列に誤り文字がある場合にも対応できる。
帳票種決定部14eは、文字列照合部14dにおいてキーワードごとに取得された各正解文字数を用いて、帳票種ごとにその帳票種である可能性を評価した評価値を算出して帳票種を決定する処理部である。具体的に説明すると、帳票種ごとに、各正解文字数の総数を各キーワードで使用されている文字の総数で除算して評価値を算出する。そして、帳票種ごとに算出した各評価値が帳票種ごとに規定された閾値を超えているか否か判定し、判定の結果、閾値を超えていない各評価値に対応する帳票種をそれぞれ切り捨て、閾値を超えている評価値に対応する帳票種が一つだけ存在する場合は、その帳票種に決定して出力する。
また、帳票種決定部14eは、帳票種ごとに算出した評価値が帳票種ごとに規定された閾値を超えているか否か判定した結果、閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、各帳票種を評価値の高低に応じて順位付けして出力するようにしてもよいし(図12参照)、評価値の最も高い帳票種に決定して出力するようにしてもよい。
[帳票種識別装置の処理(実施例1)]
続いて、図13〜図15を用いて、実施例1に係る帳票種識別装置の処理を説明する。図13は、実施例1に係る文字列整列処理の流れを示すフローチャートである。図14は、実施例1に係る部分文字列生成処理の流れを示すフローチャートである。図15は、実施例1に係る帳票種決定処理の流れを示すフローチャートである。
[文字列整列処理(実施例1)]
まず、図13を用いて、実施例1に係る文字列整列処理の流れを説明する。同図に示すように、文字情報整列部14bは、文字認識部14aから受け付けた文字情報および罫線情報に基づいて、帳票上に記入された全ての文字を左から一列に整列させる(ステップS1301)。
次に、文字情報整列部14bは、整列された文字列をグループに分け(ステップS1302)、グループ文字列を生成する。具体的には、整列された文字列を横方向に見た場合に、文字の高さが重複する範囲(図5参照)で文字列を分割する。
グループ文字列を生成した後、文字情報整列部14bは、グループ文字列内に罫線が含まれている場合には、罫線でグループ文字列を分割して(ステップS1303)、整列させる。
なお、帳票上に記入された文字列が縦書きで存在する場合には、上記に説明したように帳票上に記入された文字列が横書きで存在する場合と同様の処理を行う。すなわち、文字情報整列部14bは、全ての文字を上から一列に整列させた後、整列された文字列を縦方向に見て、例えば、文字の幅が重複する場合にはグループ文字列として取り扱う。
[部分文字列生成処理(実施例1)]
次に、図14を用いて、実施例1に係る部分文字列生成処理の流れを説明する。同図に示すように、部分文字列生成部14cは、入力部11を介して部分文字列の文字数の入力を受け付けると(ステップS1401)、帳票種識別情報DB13aから帳票種ごとに全てのキーワードを読み込む(ステップS1402)。
そして、部分文字列生成部14cは、帳票種識別情報DB13aに記憶されている複数のキーワードを用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワードごとにそれぞれ生成する(ステップS1403)。
具体的に説明すると、部分文字列生成部14cは、例えば、帳票種「申込書」のキーワードとして帳票種識別情報DB13aに記憶されている3文字のキーワード「申込書」から2文字の部分文字列を生成する場合には、キーワード上のそれぞれの文字「申」、「込」、「書」を「0」または「1」に見立てて、重複することなく2文字にだけ「1」を割り当てる。次に、「1」が割り当てられた部分を文字とみなした文字列を全て抜き出すことにより、部分文字列(0:「申書」、1:「申込」、2:「込書」)を生成する。
なお、「1」を割り当てる位置は、例えば、3文字のキーワードから2文字の部分文字列を生成する場合には、3から6までを2進数で変換して、「0」および「1」からなる2値表現を生成することにより取得される。
[帳票種決定処理(実施例1)]
続いて、図15を用いて、実施例1に係る帳票種決定処理の流れを説明する。同図に示すように、帳票種決定部14eは、文字列照合部14dにおいてキーワードごとに取得された各正解文字数を用いて、帳票種ごとにその帳票種である可能性を評価した評価値を算出する(ステップS1501)。
そして、帳票種決定部14eは、帳票種ごとに算出した各評価値が帳票種ごとに規定された閾値を超えているか否か判定し、判定の結果、閾値を超えていない各評価値に対応する帳票種をそれぞれ切り捨て(ステップS1502)、閾値を超えている評価値に対応する帳票種が一つだけ存在する場合は、その帳票種に決定して出力する。
また、判定の結果、閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、各帳票種を評価値の高低に応じて順位付けして出力する(ステップS1503)。
[実施例1による効果]
上述してきたように、実施例1によれば、各帳票種(例えば、「申込書」や「納品書」、「見積書」など)に対応付けて、帳票種を識別するためのキーとなる複数のキーワード(例えば、「申込書」であれば、「申込書」、「申込日」、「住所」、「氏名」などの帳票上に記入されている情報)を記憶部にそれぞれ記憶し、記憶部に記憶されている複数のキーワードを用いて、帳票上に記入された文字列と照合するための複数の部分文字列(例えば、「申込書」であれば、「申込」、「込書」および「申書」など3文字中2文字からなる文字列)をキーワードごとにそれぞれ生成し、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに配列し、各グループ文字列と各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数をキーワードごとに取得して、取得された各一致文字数を用いて、帳票種ごとにその帳票種である可能性を評価した評価値(例えば、グループ文字列と部分文字列との一致文字数を全キーワードの文字数で除算した値)を算出し、帳票種ごとに算出された各評価値に基づいて、文字情報および罫線情報が記入された帳票に対する帳票種を決定するので、あらかじめ保持する帳票識別用のキーワードに対応するようなグループ文字列の抽出にとらわれることなく、精度の高い帳票種の識別を実現することが可能である。また、帳票上に記入された文字列の中に誤りが存在する、あるいは、文字列の認識結果に誤りがある場合であっても、部分文字列を用いた照合によって部分的な一致を加味した評価値を算出することができ、精度の高い帳票種の識別を実現することが可能である。
また、実施例1によれば、帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、文字情報および罫線情報が記入された帳票に対する帳票種を決定するので、簡易な方法で帳票種を決定することが可能である。
また、実施例1によれば、帳票種ごとに算出された各評価値が帳票種ごとに規定された閾値を超えているか否か判定して、閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、複数存在する帳票種を評価値の高低に応じて順位付けするので、帳票種の候補を順位付けしてユーザに提供することが可能である。
また、実施例1によれば、帳票種ごとに算出された各評価値が帳票種ごとに規定された閾値を超えているか否か判定して、閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、最も評価値の高い帳票種に決定するので、帳票種の候補として最も確からしいものをユーザに提供することが可能である。
また、実施例1によれば、文字情報および罫線情報からグループ文字列内に罫線が存在することが判明した場合には、グループ文字列を罫線で分割するので、正規の語句を構成する範囲でグループ文字列を分割することが可能である。
上記の実施例1では、帳票種識別情報DB13aから帳票種ごとに全てのキーワードを読み込んで、キーワードごとに複数の部分文字列を生成する場合を説明したが、本発明はこれに限定されるものではなく、使用するキーワードを任意に選択するようにしてもよい。
具体的に説明すると、図16に例示するように、キーワードごとに使用の可否を規定した使用フラグ(使用する場合を「0」、使用しない場合を「−1」としたフラグ)を帳票種識別情報DB13aに記憶しておく。そして、部分文字列生成部14cは、使用フラグが「0」であるキーワードを選択して、帳票種識別情報DB13aから帳票種ごとに読み込み(図17参照)、読み込んだキーワードごとに複数の部分文字列を生成する。
このようなことから、実施例2によれば、複数のキーワードごとに使用の可否を規定した使用フラグを帳票種識別情報DB13aにさらに記憶し、記憶されている使用フラグに基づいて、複数のキーワード情報の中から使用が許可されているキーワード情報を選択し、選択されたキーワード情報を用いて複数の部分文字列を帳票種ごとにそれぞれ生成するので、あらかじめ保持するキーワードの中から必要なキーワードのみを使用することができ、また、全てのキーワードで処理を行うのに比較して処理時間を少なくすることが可能である。
上記の実施例1では、各グループ文字列と各部分文字列とを照合結果から、そのまま帳票種を決定する場合を説明したが、本発明はこれに限定されるものではなく、帳票種決定処理の結果を利用してキーワードを変更し、変更したキーワードを用いて再帰的に処理を繰り返した後に帳票種を決定するようにしてもよい。そこで、以下では、図18および図19を用いて、実施例3に係る帳票種識別装置の構成を説明した後に、実施例3による効果を説明する。図18は、実施例3に係る帳票種識別装置の構成を示すブロック図である。図19は、実施例3に係るキーワード変更の流れを示す図である。
[帳票種識別装置の構成(実施例3)]
まず、図18を用いて、実施例3に係る帳票種識別装置の構成を説明する。実施例3に係る帳票種識別装置の構成は、実施例1に係る帳票種識別装置の構成と基本的には同様であるが、以下に説明する点が異なる。
すなわち、帳票種識別情報DB13aは、所定の階層で区分したキーワードを帳票種ごとに記憶する(図19参照)。階層で区分する方法の一例としては、帳票種に固有のキーワードから順に「0」階層目、「1」階層目といった形で区分することができる。
キーワード選択部14fは、「0」階層目のキーワードだけを選択して部分文字列を生成するように、部分文字列生成部14cに対して指示を出力する(図19参照)。
上記の実施例1で説明したのと同様に、文字情報整列部14b、部分文字列生成部14cおよび文字列照合部14dにおいて処理が行われた後、帳票種決定部14eは、帳票種ごとに算出した各評価値が帳票種ごとに規定された閾値を超えているか否か判定し、判定の結果、閾値を超えていない各評価値に対応した帳票種をそれぞれ切り捨てて、閾値を超えている各評価値に対応する帳票種を絞り込み、絞り込んだ各帳票種の情報をそれぞれキーワード選択部14fに出力する。なお、各評価値が全て閾値を超えていない場合には、帳票種決定部14eは、閾値を超えている評価値に対応する帳票種は存在しない旨をキーワード選択部14fに出力する。
キーワード選択部14fは、帳票種決定部14eから各帳票種の情報を受け付けると、受け付けた帳票種の情報に対応するキーワード情報の中から、「1」階層目のキーワードのみを選択して部分文字列を生成するように、部分文字列生成部14cに対して指示を出力する。なお、キーワード選択部14fは、帳票種決定部14eから閾値を超えている評価値に対応する帳票種は存在しない旨を受け付けた場合には、全ての帳票種について「1」階層目のキーワードのみを選択して部分文字列を生成するように、部分文字列生成部14cに対して指示を出力する(図19参照)。
そして、再び、部分文字列生成部14cおよび文字列照合部14dにおいて処理が行われた後、帳票種決定部14eは、帳票種ごとに算出した各評価値が帳票種ごとに規定された閾値を超えているか否か判定し、判定の結果、閾値を超えていない評価値に対応する帳票種を切り捨てる。一方、閾値を超えている各評価値に対応する帳票種が、例えば、所定の数にまで絞り込まれた場合には、各帳票種を評価値の高低に応じて順位付けして出力するようにしてもよいし、評価値の最も高い帳票種に決定して出力するようにしてもよい。
なお、部分文字列生成部14c、文字列照合部14d、帳票種決定部14eおよびキーワード選択部14fの間で再帰的に繰り返される処理の処理回数をあらかじめ設定しておいて、設定した処理回数に到達した時点の帳票種を出力するようにしてもよい。
[実施例3による効果]
上述してきたように、実施例3によれば、帳票種ごとに各評価値が算出される度に、各評価値に基づいて帳票種の候補を絞り込み(例えば、最も評価値の低いものを除外するなど、帳票種として可能性のあるものに絞り込む)、帳票種の候補が絞り込まれる度に記憶部に記憶されている複数のキーワード情報の中から、絞り込まれた帳票種の候補に応じてキーワード情報を変更し、キーワード情報が変更される度に、変更されたキーワード情報を用いて複数の部分文字列をそれぞれ生成し、複数の部分文字列が生成される度に、各グループ文字列と各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数をキーワード情報ごとに取得して、取得された各一致文字数を用いて、帳票種ごとにその帳票種である可能性を評価した評価値を帳票種ごとに算出するので、明らかに不要な帳票種のキーワードを用いて処理を行うことなく、処理時間および処理回数を低減させることが可能であるとともに、より精度の高い帳票種の識別を実現することが可能である。
さて、これまで本発明の実施例1〜実施例3について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
(1)グループごとキーワードを保持
上記の実施例において、意味が同一のグループごとに複数のキーワードを帳票種識別情報DB13aにそれぞれ記憶するようにしてもよい。具体的には、図20に例示するように、帳票種「納品書」について、意味が同一の「納品日」、「搬入日」および「送付日」を「納品日」のキーワードグループとしてそれぞれ記憶する。
そして、各グループ文字列と各部分文字列とをそれぞれ照合して、各グループ内の複数のキーワードの中から、各グループ文字列に対する各部分文字列の照合率が最大となるキーワードをそれぞれ抽出して(例えば、キーワードグループ「納品日」では、「納品日」、「搬入日」、「送付日」の中から照合率が最大のキーワードを抽出して)、上記に説明した実施例と同様に、抽出された各キーワードについて一致文字数をそれぞれ取得して、取得された各一致文字数を用いて帳票種ごとに当該帳票種である可能性を評価した評価値を算出するので、精度の高い帳票種の識別を実現することが可能である。
すなわち、例えば、帳票種「申込書」において「申込日」と「記入日」とを同一の意味を持つ一つのグループとして取り扱い、「申込日」および「記入日」から生成された部分文字列と、帳票の文字情報および罫線情報から生成されたグループ文字列との照合度のうち、「申込日」から生成された部分文字列との照合度が高ければ、「申込日」から生成された部分文字列との一致文字数を用いて評価値を算出するので、評価値を低下させることなく、精度の高い帳票種の識別を実現することができる。
(2)装置構成等
また、図3および図18に示した帳票種識別装置10の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、帳票種識別装置10の分散・統合の具体的形態は図示のものに限られず、例えば、文字列照合部14dと帳票種決定部14eとを統合するなど、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、帳票種識別装置10にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(3)帳票種識別プログラム
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、図21を用いて、上記の実施例と同様の機能を有する帳票種識別プログラムを実行するコンピュータの一例を説明する。図21は、帳票種識別プログラムを実行するコンピュータを示す図である。
同図に示すように、帳票種識別装置としてコンピュータ20は、入力部21、出力部22と、HDD23、RAM24、ROM25およびCPU26をバス30で接続して構成される。なお、入力部21および出力部22は、図3または図18に示した帳票種識別装置10の入力部11および出力部12にそれぞれ対応する。
そして、ROM25には、上記の実施例に示した帳票種識別装置と同様の機能を発揮する帳票種識別プログラム、つまり、図21に示すように、文字認識プログラム25a、文字情報整列プログラム25b、部分文字列生成プログラム25c、文字列照合プログラム25d、帳票種決定プログラム25eおよびキーワード選択プログラム25fがあらかじめ記憶されている。なお、これらのプログラム25a、25b、25c、25d、25eおよび25fについては、図3または図18に示した帳票種識別装置10の各構成要素と同様、適宜統合または分散してもよい。なお、ROM25は、不揮発性の「RAM」でもよい。
そして、CPU26が、これらのプログラム25a、25b、25c、25d、25eおよび25fをROM25から読み出して実行することで、図21に示すように、各プログラム25a、25b、25c、25d、25eおよび25fは、文字認識プロセス26a、文字情報整列プロセス26b、部分文字列生成プロセス26c、文字列照合プロセス26d、帳票種決定プロセス26eおよびキーワード選択プロセス26fとして機能するようになる。なお、各プロセス26a、26b、26c、26d、26eおよび26fは、図3または図18に示した帳票種識別装置10の文字認識部14a、文字情報整列部14b、部分文字列生成部14c、文字列照合部14d、帳票種決定部14eおよびキーワード選択部14fにそれぞれ対応する。
また、HDD23には、図21に示すように、帳票種識別情報データテーブル23aが設けられる。なお、帳票種識別情報データテーブル23aは、図3または図18に示した帳票種識別情報DB13aに対応する。そして、CPU26は、帳票種識別情報データテーブル23aから、帳票種識別情報データ24aを読み出してRAM24に格納し、RAM24に格納された帳票種識別情報データ24aに基づいて処理を実行する。
なお、上記した各プログラム25a、25b、25c、25d、25eおよび25fについては、必ずしも最初からROM25に記憶させておく必要はなく、例えば、コンピュータ20に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」、または、コンピュータ20の内外に備えられるHDDなどの「固定用の物理媒体」、さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ20に接続される「他のコンピュータ(またはサーバ)」などに各プログラムを記憶させておき、コンピュータ20がこれらから各プログラムを読み出して実行するようにしてもよい。
以上のように、本発明に係る帳票種識別プログラム、帳票種識別方法および帳票種識別装置は、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別処理をコンピュータに実行させる場合等に有用であり、特に、精度の高い帳票種の識別を実現することに適する。
この発明は、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別処理をコンピュータに実行させる帳票種識別プログラム、当該帳票種識別プログラムに対応する帳票種識別方法および帳票種識別装置に関する。
従来より、紙帳票上に書き込まれた文字情報などを認識し、認識したデータを自動入力することを目的として、あらかじめ保持する帳票識別情報に基づいて、一旦、帳票種を識別する技術が存在する。ここで、帳票識別情報とは、帳票上の文字情報や罫線情報、帳票種を特定するための識別IDなどのことをいう。
例えば、特許文献1では、入力を受け付けた帳票データに対する文字認識結果に基づいて抽出されたグループ文字列と、各帳票種についてあらかじめ保持する帳票識別用のキーワード(頻繁に使用される文字を帳票ごとに管理したもの)とを照合することにより帳票種を識別する技術が開示されている。
特開2001−202466号公報
ところで、上記した従来の技術は、以下に説明するようなことから、精度の高い帳票種の識別を実現することができない場合があるといった問題点があった。
すなわち、入力を受け付けた帳票データの中には説明文や注釈といった不要な文字列が数多く含まれているので、あらかじめ保持する帳票識別用のキーワードに対応するようなグループ文字列自体を抽出するのが困難である。それゆえ、例えば、「納品書」が任意の帳票に関する帳票識別用の一つのキーワードとして保持されており、入力された帳票データから「納品書(兼領収書)」というグループ文字列が抽出された場合には、帳票種識別用のキーワードがグループ文字列の照合に対して機能せず、精度の高い帳票種の識別を実現することができない場合があるという問題点があった。
また、入力を受け付けた帳票データの中に3文字からなる文字列が1文字誤りの状態で存在する場合には、この文字列の文字認識率は67%となり、不適合とされてキーワードとして抽出されないのが通常である。それゆえ、帳票データの中に3文字からなる文字列が1文字誤りの状態で存在する場合には、帳票種を識別するために重要なタイトル文字列として使用される、例えば、「申込書」、「納品書」、「見積書」などいった3文字からなる文字列がキーワードとして抽出されることはないので、結果として、精度の高い帳票種の識別を実現することができない場合があるという問題点があった。
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、精度の高い帳票種の識別を実現することが可能な帳票種識別プログラム、帳票種識別方法および帳票種識別装置を提供することを目的とする。
上述した課題を解決し、目的を達成するため、発明は、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別処理をコンピュータに実行させる帳票種識別プログラムであって、各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワード情報を記憶部にそれぞれ記憶する帳票種識別情報記憶手順と、前記帳票種識別情報記憶手順により記憶部に記憶されている前記複数のキーワード情報を用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワード情報ごとにそれぞれ生成する部分文字列生成手順と、前記文字情報および前記罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに、当該生成された各グループ文字列を配列する文字列配列手順と、前記文字列配列手順により配列された各グループ文字列と、前記部分文字列生成手順により生成された各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数を前記キーワード情報ごとに取得して、当該取得された各一致文字数を用いて、帳票種ごとに当該帳票種である可能性を評価した評価値を算出する部分文字列照合手順と、前記部分文字列照合手順により帳票種ごとに算出された各評価値に基づいて、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定する帳票種決定手順と、をコンピュータに実行させることを特徴とする。
また、発明は、上記の発明において、前記帳票種決定手順は、前記部分文字列照合手順により帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定することを特徴とする。
また、発明は、上記の発明において、前記帳票種決定手順は、前記部分文字列照合手順により帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、当該閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、当該複数存在する帳票種を当該評価値の高低に応じて順位付けすることを特徴とする。
また、発明は、上記の発明において、前記帳票種決定手順は、前記部分文字列照合手順により帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、当該閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、最も評価値の高い帳票種に決定することを特徴とする。
また、発明は、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別方法であって、各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワード情報を記憶部にそれぞれ記憶する帳票種識別情報記憶工程と、前記帳票種識別情報記憶工程により記憶部に記憶されている前記複数のキーワード情報を用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワード情報ごとにそれぞれ生成する部分文字列生成工程と、前記文字情報および前記罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに、当該生成された各グループ文字列を配列する文字列配列工程と、前記文字列配列工程により配列された各グループ文字列と、前記部分文字列生成工程により生成された各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数を前記キーワード情報ごとに取得して、当該取得された各一致文字数を用いて、帳票種ごとに当該帳票種である可能性を評価した評価値を算出する部分文字列照合工程と、前記部分文字列照合工程により帳票種ごとに算出された各評価値に基づいて、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定する帳票種決定工程と、を含んだことを特徴とする。
また、発明は、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別装置であって、各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワード情報をそれぞれ記憶する帳票種識別情報記憶手段と、前記帳票種識別情報記憶手段により記憶されている前記複数のキーワード情報を用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワード情報ごとにそれぞれ生成する部分文字列生成手段と、前記文字情報および前記罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに、当該生成された各グループ文字列を配列する文字列配列手段と、前記文字列配列手段により配列された各グループ文字列と、前記部分文字列生成手段により生成された各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数を前記キーワード情報ごとに取得して、当該取得された各一致文字数を用いて、帳票種ごとに当該帳票種である可能性を評価した評価値を算出する部分文字列照合手段と、前記部分文字列照合手段により帳票種ごとに算出された各評価値に基づいて、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定する帳票種決定手段と、を備えたことを特徴とする。
本発明によれば、各帳票種(例えば、「申込書」や「納品書」、「見積書」など)に対応付けて、帳票種を識別するためのキーとなる複数のキーワード情報(例えば、「申込書」であれば、「申込書」、「申込日」、「住所」、「氏名」などの帳票上に記入されている情報)を記憶部にそれぞれ記憶し、記憶部に記憶されている複数のキーワード情報を用いて、帳票上に記入された文字列と照合するための複数の部分文字列(例えば、「申込書」であれば、「申込」、「込書」および「申書」など3文字中2文字からなる文字列)をキーワード情報ごとにそれぞれ生成し、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに配列し、各グループ文字列と各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数をキーワード情報ごとに取得して、取得された各一致文字数を用いて、帳票種ごとにその帳票種である可能性を評価した評価値(例えば、グループ文字列と部分文字列との一致文字数を全キーワードの文字数で除算した値)を算出し、帳票種ごとに算出された各評価値に基づいて、文字情報および罫線情報が記入された帳票に対する帳票種を決定するので、あらかじめ保持する帳票識別用のキーワードに対応するようなグループ文字列の抽出にとらわれることなく、精度の高い帳票種の識別を実現することが可能である。また、帳票上に記入された文字列の中に誤りが存在する、あるいは、文字列の認識結果に誤りがある場合であっても、部分文字列を用いた照合によって部分的な一致を加味した評価値を算出することができ、精度の高い帳票種の識別を実現することが可能である。
また、本発明によれば、帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、文字情報および罫線情報が記入された帳票に対する帳票種を決定するので、簡易な方法で帳票種を決定することが可能である。
また、本発明によれば、帳票種ごとに算出された各評価値が帳票種ごとに規定された閾値を超えているか否か判定して、閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、複数存在する帳票種を評価値の高低に応じて順位付けするので、帳票種の候補を順位付けしてユーザに提供することが可能である。
また、本発明によれば、帳票種ごとに算出された各評価値が帳票種ごとに規定された閾値を超えているか否か判定して、閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、最も評価値の高い帳票種に決定するので、帳票種の候補として最も確からしいものをユーザに提供することが可能である。
また、本発明によれば、文字情報および罫線情報からグループ文字列内に罫線が存在することが判明した場合には、グループ文字列を罫線で分割するので、正規の語句を構成する範囲でグループ文字列を分割することが可能である。
また、本発明によれば、複数のキーワードごとに使用の可否を規定した使用可否情報をさらに記憶部に記憶し、記憶部に記憶されている使用可否情報に基づいて、複数のキーワード情報の中から使用が許可されているキーワード情報を選択し、選択されたキーワード情報を用いて複数の部分文字列をそれぞれ生成するので、あらかじめ保持するキーワードの中から必要なキーワードのみを使用することができ、また、全てのキーワードで処理を行うのに比較して処理時間を少なくすることが可能である。
また、本発明によれば、帳票種ごとに各評価値が算出される度に、各評価値に基づいて帳票種の候補を絞り込み(例えば、最も評価値の低いものを除外するなど、帳票種として可能性のあるものに絞り込む)、帳票種の候補が絞り込まれる度に記憶部に記憶されている複数のキーワード情報の中から、絞り込まれた帳票種の候補に応じてキーワード情報を変更し、キーワード情報が変更される度に、変更されたキーワード情報を用いて複数の部分文字列をそれぞれ生成し、複数の部分文字列が生成される度に、各グループ文字列と各部分文字列とをそれぞれ照合して、各グループ文字列を構成する文字列と各部分文字列との一致度を評価した評価値を帳票種ごとに算出するので、明らかに不要な帳票種のキーワードを用いて処理を行うことなく、処理時間および処理回数を低減させることが可能であるとともに、より精度の高い帳票種の識別を実現することが可能である。
また、本発明によれば、各帳票種に対応付けて、意味が同一のグループごとに前記複数のキーワード情報を記憶部にそれぞれ記憶し、各グループ文字列と各部分文字列とをそれぞれ照合して、各グループ内の複数のキーワードの中から、各グループ文字列に対する各部分文字列の照合率が最大となるキーワードをそれぞれ抽出して、抽出された各キーワードについて一致文字数をそれぞれ取得して、取得された各一致文字数を用いて帳票種ごとに当該帳票種である可能性を評価した評価値を算出するので、精度の高い帳票種の識別を実現することが可能である。すなわち、例えば、帳票種「申込書」において「申込日」と「記入日」とが同一の意味を持つ一つのグループとして取り扱い、「申込日」および「記入日」から生成された部分文字列と、入力された文字情報および罫線情報から生成されたグループ文字列との一致度のうち、「申込日」から生成された部分文字列との一致度が高ければ、「申込日」から生成された部分文字列との一致文字数を用いて評価値を算出するので、評価値を低下させることなく、精度の高い帳票種の識別を実現することができる。
以下に添付図面を参照して、この発明に係る帳票種識別プログラム、帳票種識別方法および帳票種識別装置の実施例を詳細に説明する。なお、以下では、本発明に係る帳票種識別装置を実施例1として説明した後に、本発明に含まれる他の実施例を説明する。
[帳票種識別装置の概要および特徴(実施例1)]
まず最初に、図1および図2を用いて、実施例1に係る帳票種識別装置の概要および特徴を説明する。図1は、実施例1に係る帳票種識別装置の概要および特徴を説明するための図である。図2は、実施例1に係る部分文字列の生成を説明するための図である。
実施例1に係る帳票種識別装置は、帳票上に記入された文字列に関する文字情報(帳票上の座標からなる位置情報や文字を特定するための文字コードからなる情報)、および罫線に関する罫線情報(罫線の始点および終点を帳票上の座標で示す情報やセル情報からなる情報)の入力を受け付けて、文字情報および罫線情報が記入された帳票の帳票種(例えば、「申込書」や「納品書」などの帳票の種別)を識別することを概要とするが、精度の高い帳票種の識別を実現することが可能である点に主たる特徴がある。
この主たる特徴について具体的に説明すると、実施例1に係る帳票種識別装置は、図1に示すように、各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワードを記憶した帳票種識別情報DBをあらかじめ保持する。
そして、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けると、実施例1に係る帳票種識別装置は、帳票上に記入された文字列を整列する(図1の(1)参照)。具体的に説明すると、文字情報および罫線情報に基づいて、帳票上に記入された全ての文字を左から一列に整列させ、整列された文字列を横方向に見た場合に、文字の高さが重複する範囲で文字列を分割したグループ文字列をそれぞれ生成して整列する。なお、実施例1に係る帳票種識別装置は、グループ文字列を生成した後、グループ文字列内に罫線が含まれている場合には、罫線でグループ文字列をさらに分割して整列する。
また、実施例1に係る帳票種識別装置は、帳票種識別情報DBに記憶されている複数のキーワードを用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワードごとにそれぞれ生成する(図1の(2)参照)。
図2を用いて、具体的に説明すると、実施例1に係る帳票種識別装置は、例えば、ユーザから部分文字列の文字数の入力を受け付けると、帳票種識別情報DB13aから帳票種ごとに全てのキーワードを読み込む。そして、例えば、帳票種「申込書」のキーワードとして帳票種識別情報DBに記憶されている3文字のキーワード「申込書」から2文字の部分文字列を生成する場合には、キーワード上のそれぞれの文字「申」、「込」、「書」を「0」または「1」に見立てて、重複することなく2文字にだけ「1」を割り当てる。次に、「1」が割り当てられた部分を文字とみなした文字列を全て抜き出すことにより、部分文字列(0:「申書」、1:「申込」、2:「込書」)を生成する。なお、「1」を割り当てる位置は、3から6までを2進数で表現することにより取得する。
次に、実施例1に係る帳票種識別装置は、整列した各グループ文字列と生成した各部分文字列とをそれぞれ照合する(図1の(3)参照)。具体的に説明すると、まず、実施例1に係る帳票種識別装置は、DP(Dynamic Programming)マッチングやグラフ理論などの一般的な文字認識手法を用いて、各グループ文字列と各部分文字列とを照合する。
そして、実施例1に係る帳票種識別装置は、照合に成功した各部分文字列について、各グループ文字列に対する各部分文字列の照合率が最大の時の正解文字数をキーワードごとに取得する。例えば、ある3つのグループ文字列と、キーワード「申込書」から生成された2文字の各部分文字列(「申書」、「申込」、「込書」の3つ)との照合率(部分文字列の正解数をその部分文字列の元となるキーワードの文字数で除算した値)が66%、50%、25%であった場合には、照合率が最大である66%の時の正解文字数を取得する。なお、正解文字数は、部分文字列の文字数とグループ文字列に対する部分文字列の正解数と用いて換算することにより取得される。
キーワードごとに各正解文字数を取得した後、実施例1に係る帳票種識別装置は、各正解文字数を用いて帳票種ごとにその帳票種である可能性を評価した評価値を算出して帳票種を決定する(図1の(4)参照)。具体的に説明すると、実施例1に係る帳票種識別装置は、帳票種ごとに、各正解文字数の総数を各キーワードで使用されている文字の総数で除算して評価値を算出する。そして、帳票種ごとに算出した各評価値が帳票種ごとに規定された閾値を超えているか否か判定し、判定の結果、閾値を超えていない評価値に対応する帳票種を切り捨てる。一方、判定の結果、閾値を超えている評価値に対応する帳票種が一つだけ存在する場合には、その帳票種に決定して出力し、閾値を超えている評価値に対応する帳票種が複数存在する場合には、各帳票種を評価値の高低に応じて順位付けして出力する。
このようなことから、実施例1に係る帳票種識別装置は、上述した主たる特徴のごとく、精度の高い帳票種の識別を実現することが可能である。
[帳票種識別装置の構成(実施例1)]
次に、図3〜図12を用いて、実施例1に係る帳票種識別装置の構成を説明する。図3は、実施例1に係る帳票種識別装置の構成を示すブロック図である。図4は、実施例1に係る帳票種識別情報DBに記憶される情報の構成例を示す図である。図5は、実施例1に係る文字列の整列例を示す図である。図6は、実施例1に係るグループ文字列の生成方法を示す図である。図7〜図9は、実施例1に係るグループ文字列と部分文字列との照合方法を示す図である。図10は、実施例1に係るグループ文字列と部分文字列との照合例を示す図である。図11は、実施例1に係る換算テーブルの構成例を示す図である。図12は、実施例1に係る帳票種の出力例を示す図である。
図3に示すように、実施例1に係る帳票種識別装置10は、入力部11と、出力部12と、記憶部13と、制御部14とから構成される。なお、同図では、実施例1に係る帳票種識別装置を実現する上で必要となる処理部のみを記載し、その他の処理部については記載を省略する。
このうち、入力部11は、各種の情報の入力を受付ける入力部であり、キーボードやマウス、マイクなどを備えて構成され、例えば、キーワードから生成する部分文字列長(文字数)などを受け付けて入力する。なお、入力部11に、データ読取機能をさらに備えておいて、帳票の画像データを読み取って後述する文字認識部14aに出力する。
また、出力部12は、各種の情報を出力する出力部であり、モニタ(若しくはディスプレイ、タッチパネル)やスピーカを備えて構成され、例えば、入力部11により読み込まれた帳票の画像データを表示出力する他、後述する帳票種決定部14eによる処理結果を表示出力する。
記憶部13は、制御部14による各種処理に必要なデータおよびプログラムを記憶する記憶部であり、特に本発明に密接に関連するものとしては、帳票種識別情報DB13aを備える。
この帳票種識別情報DB13aは、後述する部分文字列生成部14cによる部分文字列生成処理に必要な情報を記憶する記憶部であり、具体的には、図4に例示するように、帳票種(例えば、「納品書」、「見積書」、「申込書」など)に対応付けて、帳票種を識別するためのキーとなる複数のキーワード(例えば、「納品書」、「納品日」、「合計金額」など)を記憶して構成される。
制御部14は、所定の制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとしては、文字認識部14a、文字情報整列部14bと、部分文字列生成部14cと、文字列照合部14dと、帳票種決定部14eとを備える。
このうち、文字認識部14aは、帳票の画像データから文字情報および罫線情報を取得する処理部である。具体的に説明すると、入力部11から受け付けた帳票の画像データから、文字情報(帳票上の座標からなる位置情報や文字を特定するための文字コードからなる情報)、および罫線に関する罫線情報(罫線の始点および終点を帳票上の座標で示す情報やセル情報からなる情報)を取得して文字情報整列部14bに出力する。
文字情報整列部14bは、文字認識部14aから受け付けた文字情報および罫線情報に基づいて、帳票上に記入された文字列を整列する処理部である。具体的に説明すると、図5に例示するように、文字情報および前記罫線情報に基づいて、全ての文字を左から一列に整列させた後、整列された文字列を横方向に見た場合に、文字の高さが重複する範囲で文字列を分割したグループ文字列(例えば、第1グループから第7グループまでのグループ文字列)をそれぞれ生成して整列する。
すなわち、文字情報整列部14bは、全ての文字を左から一列に整列させた後、整列された文字列を横方向に見て、図6に例示するように、例えば、「申」の文字の高さと、「「申」の右側に位置する「込」の文字の高さとが重複するか否かを見る。そして、「申」の文字の高さと「込」の文字の高さとが重複する場合にはグループとして取り扱い、「申込」の文字列の高さと、「込」の右側に位置する「書」の文字の高さとが重複するか否か見て、重複する場合にはグループとして取り扱う。なお、グループ文字列を生成した後、グループ文字列内に罫線が含まれている場合には、罫線でグループ文字列をさらに分割して整列する。
なお、帳票上に記入された文字列が縦書きで存在する場合には、上記に説明したように帳票上に記入された文字列が横書きで存在する場合と同様の処理を行う。すなわち、文字情報整列部14bは、全ての文字を上から一列に整列させた後、整列された文字列を縦方向に見て、例えば、文字の幅が重複する場合にはグループ文字列として取り扱う。
部分文字列生成部14cは、帳票種識別情報DB13aに記憶されている複数のキーワードを用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワードごとにそれぞれ生成する処理部である。
具体的に説明すると、部分文字列生成部14cは、入力部11を介して部分文字列の文字数の入力を受け付けると、帳票種識別情報DB13aから帳票種ごとに全てのキーワードを読み込む。そして、例えば、帳票種「申込書」のキーワードとして帳票種識別情報DB13aに記憶されている3文字のキーワード「申込書」から2文字の部分文字列を生成する場合には、キーワード上のそれぞれの文字「申」、「込」、「書」を「0」または「1」に見立てて、重複することなく2文字にだけ「1」を割り当てる。次に、「1」が割り当てられた部分を文字とみなした文字列を全て抜き出することにより、部分文字列(0:「申書」、1:「申込」、2:「込書」)を生成する。
なお、「1」を割り当てる位置は、例えば、3文字のキーワードから2文字の部分文字列を生成する場合には、3から6までを2進数で変換して、「0」および「1」からなる2値表現を生成することにより取得される。
文字列照合部14dは、文字情報整列部14bにより生成整列された各グループ文字列と、部分文字列生成部14cにより生成された各部分文字列とをそれぞれ照合する処理部である。具体的に説明すると、まず、図7〜図9に例示するように、DP(Dynamic Programming)マッチングやグラフ理論などの一般的な文字認識手法を用いて、各グループ文字列と各部分文字列とを照合する。
そして、文字列照合部14dは、照合に成功した各部分文字列について、各グループ文字列に対する各部分文字列の照合率が最大の時の正解文字数をキーワードごとに取得する
まず、図10に例示すように、グループ文字列「申込書」と、キーワード「申込書」から生成された2文字の各部分文字列(「申書」、「申込」、「込書」の3つ)とを照合すると、部分文字列の正解数は“3”で部分文字列の文字数が“2”となる。この部分文字列の正解数“3”および部分文字列の文字数“2”を図11に例示するような換算テーブルにあてはめることにより正解文字数を換算する。詳細には、部分文字列の文字数が“2”の場合には換算テーブルの「m=2」の行を部分文字列の正解数が“3”の位置まで進む。そして、その列の最上段に記載された換算テーブルの「n’」の値、つまり、「n’=3」がキーワード「申込書」の正解文字数となる。
同様に、グループ文字列「申辺書」と、キーワード「申込書」から生成された2文字の各部分文字列(「申書」、「申込」、「込書」の3つ)とを照合する場合(図10参照)を例に挙げると、部分文字列の正解数は“1”で部分文字列の文字数が“2”となるので、換算テーブルにあてはめると正解文字数は「n’=2」となる。
このように、グループ文字列によって同じキーワードでも正解文字数が異なるので、例えば、ある3つのグループ文字列と、キーワード「申込書」から生成された2文字の各部分文字列(「申書」、「申込」、「込書」の3つ)との照合率が66%、50%、25%であった場合には、照合率が最大である66%の時の正解文字数を取得する。ここで、照合率とは、部分文字列の正解数をその部分文字列の元となるキーワードの文字数で除算した値とする。このようにして、キーワードから生成した部分文字列で照合を行うことで、グループ文字列に誤り文字がある場合にも対応できる。
帳票種決定部14eは、文字列照合部14dにおいてキーワードごとに取得された各正解文字数を用いて、帳票種ごとにその帳票種である可能性を評価した評価値を算出して帳票種を決定する処理部である。具体的に説明すると、帳票種ごとに、各正解文字数の総数を各キーワードで使用されている文字の総数で除算して評価値を算出する。そして、帳票種ごとに算出した各評価値が帳票種ごとに規定された閾値を超えているか否か判定し、判定の結果、閾値を超えていない各評価値に対応する帳票種をそれぞれ切り捨て、閾値を超えている評価値に対応する帳票種が一つだけ存在する場合は、その帳票種に決定して出力する。
また、帳票種決定部14eは、帳票種ごとに算出した評価値が帳票種ごとに規定された閾値を超えているか否か判定した結果、閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、各帳票種を評価値の高低に応じて順位付けして出力するようにしてもよいし(図12参照)、評価値の最も高い帳票種に決定して出力するようにしてもよい。
[帳票種識別装置の処理(実施例1)]
続いて、図13〜図15を用いて、実施例1に係る帳票種識別装置の処理を説明する。
図13は、実施例1に係る文字列整列処理の流れを示すフローチャートである。図14は、実施例1に係る部分文字列生成処理の流れを示すフローチャートである。図15は、実施例1に係る帳票種決定処理の流れを示すフローチャートである。
[文字列整列処理(実施例1)]
まず、図13を用いて、実施例1に係る文字列整列処理の流れを説明する。同図に示すように、文字情報整列部14bは、文字認識部14aから受け付けた文字情報および罫線情報に基づいて、帳票上に記入された全ての文字を左から一列に整列させる(ステップS1301)。
次に、文字情報整列部14bは、整列された文字列をグループに分け(ステップS1302)、グループ文字列を生成する。具体的には、整列された文字列を横方向に見た場合に、文字の高さが重複する範囲(図5参照)で文字列を分割する。
グループ文字列を生成した後、文字情報整列部14bは、グループ文字列内に罫線が含まれている場合には、罫線でグループ文字列を分割して(ステップS1303)、整列させる。
なお、帳票上に記入された文字列が縦書きで存在する場合には、上記に説明したように帳票上に記入された文字列が横書きで存在する場合と同様の処理を行う。すなわち、文字情報整列部14bは、全ての文字を上から一列に整列させた後、整列された文字列を縦方向に見て、例えば、文字の幅が重複する場合にはグループ文字列として取り扱う。
[部分文字列生成処理(実施例1)]
次に、図14を用いて、実施例1に係る部分文字列生成処理の流れを説明する。同図に示すように、部分文字列生成部14cは、入力部11を介して部分文字列の文字数の入力を受け付けると(ステップS1401)、帳票種識別情報DB13aから帳票種ごとに全てのキーワードを読み込む(ステップS1402)。
そして、部分文字列生成部14cは、帳票種識別情報DB13aに記憶されている複数のキーワードを用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワードごとにそれぞれ生成する(ステップS1403)。
具体的に説明すると、部分文字列生成部14cは、例えば、帳票種「申込書」のキーワードとして帳票種識別情報DB13aに記憶されている3文字のキーワード「申込書」から2文字の部分文字列を生成する場合には、キーワード上のそれぞれの文字「申」、「込」、「書」を「0」または「1」に見立てて、重複することなく2文字にだけ「1」を割り当てる。次に、「1」が割り当てられた部分を文字とみなした文字列を全て抜き出すことにより、部分文字列(0:「申書」、1:「申込」、2:「込書」)を生成する。
なお、「1」を割り当てる位置は、例えば、3文字のキーワードから2文字の部分文字列を生成する場合には、3から6までを2進数で変換して、「0」および「1」からなる2値表現を生成することにより取得される。
[帳票種決定処理(実施例1)]
続いて、図15を用いて、実施例1に係る帳票種決定処理の流れを説明する。同図に示すように、帳票種決定部14eは、文字列照合部14dにおいてキーワードごとに取得された各正解文字数を用いて、帳票種ごとにその帳票種である可能性を評価した評価値を算出する(ステップS1501)。
そして、帳票種決定部14eは、帳票種ごとに算出した各評価値が帳票種ごとに規定された閾値を超えているか否か判定し、判定の結果、閾値を超えていない各評価値に対応する帳票種をそれぞれ切り捨て(ステップS1502)、閾値を超えている評価値に対応する帳票種が一つだけ存在する場合は、その帳票種に決定して出力する。
また、判定の結果、閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、各帳票種を評価値の高低に応じて順位付けして出力する(ステップS1503)。
[実施例1による効果]
上述してきたように、実施例1によれば、各帳票種(例えば、「申込書」や「納品書」、「見積書」など)に対応付けて、帳票種を識別するためのキーとなる複数のキーワード(例えば、「申込書」であれば、「申込書」、「申込日」、「住所」、「氏名」などの帳票上に記入されている情報)を記憶部にそれぞれ記憶し、記憶部に記憶されている複数のキーワードを用いて、帳票上に記入された文字列と照合するための複数の部分文字列(例えば、「申込書」であれば、「申込」、「込書」および「申書」など3文字中2文字からなる文字列)をキーワードごとにそれぞれ生成し、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに配列し、各グループ文字列と各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数をキーワードごとに取得して、取得された各一致文字数を用いて、帳票種ごとにその帳票種である可能性を評価した評価値(例えば、グループ文字列と部分文字列との一致文字数を全キーワードの文字数で除算した値)を算出し、帳票種ごとに算出された各評価値に基づいて、文字情報および罫線情報が記入された帳票に対する帳票種を決定するので、あらかじめ保持する帳票識別用のキーワードに対応するようなグループ文字列の抽出にとらわれることなく、精度の高い帳票種の識別を実現することが可能である。また、帳票上に記入された文字列の中に誤りが存在する、あるいは、文字列の認識結果に誤りがある場合であっても、部分文字列を用いた照合によって部分的な一致を加味した評価値を算出することができ、精度の高い帳票種の識別を実現することが可能である。
また、実施例1によれば、帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、文字情報および罫線情報が記入された帳票に対する帳票種を決定するので、簡易な方法で帳票種を決定することが可能である。
また、実施例1によれば、帳票種ごとに算出された各評価値が帳票種ごとに規定された閾値を超えているか否か判定して、閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、複数存在する帳票種を評価値の高低に応じて順位付けするので、帳票種の候補を順位付けしてユーザに提供することが可能である。
また、実施例1によれば、帳票種ごとに算出された各評価値が帳票種ごとに規定された閾値を超えているか否か判定して、閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、最も評価値の高い帳票種に決定するので、帳票種の候補として最も確からしいものをユーザに提供することが可能である。
また、実施例1によれば、文字情報および罫線情報からグループ文字列内に罫線が存在することが判明した場合には、グループ文字列を罫線で分割するので、正規の語句を構成する範囲でグループ文字列を分割することが可能である。
上記の実施例1では、帳票種識別情報DB13aから帳票種ごとに全てのキーワードを読み込んで、キーワードごとに複数の部分文字列を生成する場合を説明したが、本発明はこれに限定されるものではなく、使用するキーワードを任意に選択するようにしてもよい。
具体的に説明すると、図16に例示するように、キーワードごとに使用の可否を規定した使用フラグ(使用する場合を「0」、使用しない場合を「−1」としたフラグ)を帳票種識別情報DB13aに記憶しておく。そして、部分文字列生成部14cは、使用フラグが「0」であるキーワードを選択して、帳票種識別情報DB13aから帳票種ごとに読み込み(図17参照)、読み込んだキーワードごとに複数の部分文字列を生成する。
このようなことから、実施例2によれば、複数のキーワードごとに使用の可否を規定した使用フラグを帳票種識別情報DB13aにさらに記憶し、記憶されている使用フラグに基づいて、複数のキーワード情報の中から使用が許可されているキーワード情報を選択し、選択されたキーワード情報を用いて複数の部分文字列を帳票種ごとにそれぞれ生成するので、あらかじめ保持するキーワードの中から必要なキーワードのみを使用することができ、また、全てのキーワードで処理を行うのに比較して処理時間を少なくすることが可能である。
上記の実施例1では、各グループ文字列と各部分文字列とを照合結果から、そのまま帳票種を決定する場合を説明したが、本発明はこれに限定されるものではなく、帳票種決定処理の結果を利用してキーワードを変更し、変更したキーワードを用いて再帰的に処理を繰り返した後に帳票種を決定するようにしてもよい。そこで、以下では、図18および図19を用いて、実施例3に係る帳票種識別装置の構成を説明した後に、実施例3による効果を説明する。図18は、実施例3に係る帳票種識別装置の構成を示すブロック図である。図19は、実施例3に係るキーワード変更の流れを示す図である。
[帳票種識別装置の構成(実施例3)]
まず、図18を用いて、実施例3に係る帳票種識別装置の構成を説明する。実施例3に係る帳票種識別装置の構成は、実施例1に係る帳票種識別装置の構成と基本的には同様であるが、以下に説明する点が異なる。
すなわち、帳票種識別情報DB13aは、所定の階層で区分したキーワードを帳票種ごとに記憶する(図19参照)。階層で区分する方法の一例としては、帳票種に固有のキーワードから順に「0」階層目、「1」階層目といった形で区分することができる。
キーワード選択部14fは、「0」階層目のキーワードだけを選択して部分文字列を生成するように、部分文字列生成部14cに対して指示を出力する(図19参照)。
上記の実施例1で説明したのと同様に、文字情報整列部14b、部分文字列生成部14cおよび文字列照合部14dにおいて処理が行われた後、帳票種決定部14eは、帳票種ごとに算出した各評価値が帳票種ごとに規定された閾値を超えているか否か判定し、判定の結果、閾値を超えていない各評価値に対応した帳票種をそれぞれ切り捨てて、閾値を超えている各評価値に対応する帳票種を絞り込み、絞り込んだ各帳票種の情報をそれぞれキーワード選択部14fに出力する。なお、各評価値が全て閾値を超えていない場合には、帳票種決定部14eは、閾値を超えている評価値に対応する帳票種は存在しない旨をキーワード選択部14fに出力する。
キーワード選択部14fは、帳票種決定部14eから各帳票種の情報を受け付けると、受け付けた帳票種の情報に対応するキーワード情報の中から、「1」階層目のキーワードのみを選択して部分文字列を生成するように、部分文字列生成部14cに対して指示を出力する。なお、キーワード選択部14fは、帳票種決定部14eから閾値を超えている評価値に対応する帳票種は存在しない旨を受け付けた場合には、全ての帳票種について「1」階層目のキーワードのみを選択して部分文字列を生成するように、部分文字列生成部14cに対して指示を出力する(図19参照)。
そして、再び、部分文字列生成部14cおよび文字列照合部14dにおいて処理が行われた後、帳票種決定部14eは、帳票種ごとに算出した各評価値が帳票種ごとに規定された閾値を超えているか否か判定し、判定の結果、閾値を超えていない評価値に対応する帳票種を切り捨てる。一方、閾値を超えている各評価値に対応する帳票種が、例えば、所定の数にまで絞り込まれた場合には、各帳票種を評価値の高低に応じて順位付けして出力するようにしてもよいし、評価値の最も高い帳票種に決定して出力するようにしてもよい。
なお、部分文字列生成部14c、文字列照合部14d、帳票種決定部14eおよびキーワード選択部14fの間で再帰的に繰り返される処理の処理回数をあらかじめ設定しておいて、設定した処理回数に到達した時点の帳票種を出力するようにしてもよい。
[実施例3による効果]
上述してきたように、実施例3によれば、帳票種ごとに各評価値が算出される度に、各評価値に基づいて帳票種の候補を絞り込み(例えば、最も評価値の低いものを除外するなど、帳票種として可能性のあるものに絞り込む)、帳票種の候補が絞り込まれる度に記憶部に記憶されている複数のキーワード情報の中から、絞り込まれた帳票種の候補に応じてキーワード情報を変更し、キーワード情報が変更される度に、変更されたキーワード情報を用いて複数の部分文字列をそれぞれ生成し、複数の部分文字列が生成される度に、各グループ文字列と各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数をキーワード情報ごとに取得して、取得された各一致文字数を用いて、帳票種ごとにその帳票種である可能性を評価した評価値を帳票種ごとに算出するので、明らかに不要な帳票種のキーワードを用いて処理を行うことなく、処理時間および処理回数を低減させることが可能であるとともに、より精度の高い帳票種の識別を実現することが可能である。
さて、これまで本発明の実施例1〜実施例3について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
(1)グループごとキーワードを保持
上記の実施例において、意味が同一のグループごとに複数のキーワードを帳票種識別情報DB13aにそれぞれ記憶するようにしてもよい。具体的には、図20に例示するように、帳票種「納品書」について、意味が同一の「納品日」、「搬入日」および「送付日」を「納品日」のキーワードグループとしてそれぞれ記憶する。
そして、各グループ文字列と各部分文字列とをそれぞれ照合して、各グループ内の複数のキーワードの中から、各グループ文字列に対する各部分文字列の照合率が最大となるキーワードをそれぞれ抽出して(例えば、キーワードグループ「納品日」では、「納品日」、「搬入日」、「送付日」の中から照合率が最大のキーワードを抽出して)、上記に説明した実施例と同様に、抽出された各キーワードについて一致文字数をそれぞれ取得して、取得された各一致文字数を用いて帳票種ごとに当該帳票種である可能性を評価した評価値を算出するので、精度の高い帳票種の識別を実現することが可能である。
すなわち、例えば、帳票種「申込書」において「申込日」と「記入日」とを同一の意味を持つ一つのグループとして取り扱い、「申込日」および「記入日」から生成された部分文字列と、帳票の文字情報および罫線情報から生成されたグループ文字列との照合度のうち、「申込日」から生成された部分文字列との照合度が高ければ、「申込日」から生成された部分文字列との一致文字数を用いて評価値を算出するので、評価値を低下させることなく、精度の高い帳票種の識別を実現することができる。
(2)装置構成等
また、図3および図18に示した帳票種識別装置10の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、帳票種識別装置10の分散・統合の具体的形態は図示のものに限られず、例えば、文字列照合部14dと帳票種決定部14eとを統合するなど、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、帳票種識別装置10にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(3)帳票種識別プログラム
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、図21を用いて、上記の実施例と同様の機能を有する帳票種識別プログラムを実行するコンピュータの一例を説明する。図21は、帳票種識別プログラムを実行するコンピュータを示す図である。
同図に示すように、帳票種識別装置としてコンピュータ20は、入力部21、出力部22と、HDD23、RAM24、ROM25およびCPU26をバス30で接続して構成される。なお、入力部21および出力部22は、図3または図18に示した帳票種識別装置10の入力部11および出力部12にそれぞれ対応する。
そして、ROM25には、上記の実施例に示した帳票種識別装置と同様の機能を発揮する帳票種識別プログラム、つまり、図21に示すように、文字認識プログラム25a、文字情報整列プログラム25b、部分文字列生成プログラム25c、文字列照合プログラム25d、帳票種決定プログラム25eおよびキーワード選択プログラム25fがあらかじめ記憶されている。なお、これらのプログラム25a、25b、25c、25d、25eおよび25fについては、図3または図18に示した帳票種識別装置10の各構成要素と同様、適宜統合または分散してもよい。なお、ROM25は、不揮発性の「RAM」でもよい。
そして、CPU26が、これらのプログラム25a、25b、25c、25d、25eおよび25fをROM25から読み出して実行することで、図21に示すように、各プログラム25a、25b、25c、25d、25eおよび25fは、文字認識プロセス26a、文字情報整列プロセス26b、部分文字列生成プロセス26c、文字列照合プロセス26d、帳票種決定プロセス26eおよびキーワード選択プロセス26fとして機能するようになる。なお、各プロセス26a、26b、26c、26d、26eおよび26fは、図3または図18に示した帳票種識別装置10の文字認識部14a、文字情報整列部14b、部分文字列生成部14c、文字列照合部14d、帳票種決定部14eおよびキーワード選択部14fにそれぞれ対応する。
また、HDD23には、図21に示すように、帳票種識別情報データテーブル23aが設けられる。なお、帳票種識別情報データテーブル23aは、図3または図18に示した帳票種識別情報DB13aに対応する。そして、CPU26は、帳票種識別情報データテーブル23aから、帳票種識別情報データ24aを読み出してRAM24に格納し、RAM24に格納された帳票種識別情報データ24aに基づいて処理を実行する。
なお、上記した各プログラム25a、25b、25c、25d、25eおよび25fについては、必ずしも最初からROM25に記憶させておく必要はなく、例えば、コンピュータ20に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」、または、コンピュータ20の内外に備えられるHDDなどの「固定用の物理媒体」、さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ20に接続される「他のコンピュータ(またはサーバ)」などに各プログラムを記憶させておき、コンピュータ20がこれらから各プログラムを読み出して実行するようにしてもよい。
図1は、実施例1に係る帳票種識別装置の概要および特徴を説明するための図である。 図2は、実施例1に係る部分文字列の生成を説明するための図である。 図3は、実施例1に係る帳票種識別装置の構成を示すブロック図である。 図4は、実施例1に係る帳票種識別情報DBに記憶される情報の構成例を示す図である。 図5は、実施例1に係る文字列の整列例を示す図である。 図6は、実施例1に係るグループ文字列の生成方法を示す図である。 図7は、実施例1に係るグループ文字列と部分文字列との照合方法を示す図である。 図8は、実施例1に係るグループ文字列と部分文字列との照合方法を示す図である。 図9は、実施例1に係るグループ文字列と部分文字列との照合方法を示す図である。 図10は、実施例1に係るグループ文字列と部分文字列との照合例を示す図である。 図11は、実施例1に係る換算テーブルの構成例を示す図である。 図12は、実施例1に係る帳票種の出力例を示す図である。 図13は、実施例1に係る文字列整列処理の流れを示すフローチャートである。 図14は、実施例1に係る部分文字列生成処理の流れを示すフローチャートである。 図15は、実施例1に係る帳票種決定処理の流れを示すフローチャートである。 図16は、実施例2に係る帳票種識別情報DBの構成例を図である。 図17は、実施例2に係るキーワードの選択例を示す図である。 図18は、実施例3に係る帳票種識別装置の構成を示すブロック図である。 図19は、実施例3に係るキーワード変更の流れを示す図である。 図20は、実施例4に係る帳票種識別情報DBの構成例を図である。 図21は、帳票種識別プログラムを実行するコンピュータを示す図である。
10 帳票種識別装置
11 入力部
12 出力部
13 記憶部
13a 帳票種識別情報DB
14 制御部
14a 文字認識部
14b 文字情報整列部
14c 部分文字列生成部
14d 文字列照合部
14e 帳票種決定部
14f キーワード選択部
20 コンピュータ
21 入力部
22 出力部
23 HDD(Hard Disk Drive)
24 RAM(Random Access Memory)
25 ROM(Read Only Memory)
26 CPU(Central Processing Unit)
30 バス

Claims (10)

  1. 帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別処理をコンピュータに実行させる帳票種識別プログラムであって、
    各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワード情報を記憶部にそれぞれ記憶する帳票種識別情報記憶手順と、
    前記帳票種識別情報記憶手順により記憶部に記憶されている前記複数のキーワード情報を用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワード情報ごとにそれぞれ生成する部分文字列生成手順と、
    前記文字情報および前記罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに、当該生成された各グループ文字列を配列する文字列配列手順と、
    前記文字列配列手順により配列された各グループ文字列と、前記部分文字列生成手順により生成された各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数を前記キーワード情報ごとに取得して、当該取得された各一致文字数を用いて、帳票種ごとに当該帳票種である可能性を評価した評価値を算出する部分文字列照合手順と、
    前記部分文字列照合手順により帳票種ごとに算出された各評価値に基づいて、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定する帳票種決定手順と、
    をコンピュータに実行させることを特徴とする帳票種識別プログラム。
  2. 前記帳票種決定手順は、前記部分文字列照合手順により帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定することを特徴とする請求項1に記載の帳票種識別プログラム。
  3. 前記帳票種決定手順は、前記部分文字列照合手順により帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、当該閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、当該複数存在する帳票種を当該評価値の高低に応じて順位付けすることを特徴とする請求項1に記載の帳票種識別プログラム。
  4. 前記帳票種決定手順は、前記部分文字列照合手順により帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、当該閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、最も評価値の高い帳票種に決定することを特徴とする請求項1に記載の帳票種識別プログラム。
  5. 前記文字列配列手順は、前記文字情報および前記罫線情報から前記グループ文字列内に罫線が存在することが判明した場合には、当該グループ文字列を罫線で分割することを特徴とする請求項1に記載の帳票種識別プログラム。
  6. 前記帳票種識別情報記憶手順は、前記複数のキーワードごとに使用の可否を規定した使用可否情報をさらに記憶部に記憶し、
    前記帳票種識別情報記憶手順により記憶部に記憶されている前記使用可否情報に基づいて、当該記憶部に記憶されている複数のキーワード情報の中から、使用が許可されているキーワード情報を選択するキーワード選択手順をさらにコンピュータに実行させ、
    前記部分文字列生成手順は、前記キーワード選択手順により選択されたキーワード情報を用いて前記複数の部分文字列をそれぞれ生成することを特徴とする請求項1に記載の帳票種識別プログラム。
  7. 前記帳票種決定手順は、前記部分文字列照合手順により帳票種ごとに各評価値が算出される度に、当該各評価値に基づいて当該帳票種の候補を絞り込み、
    前記帳票種決定手順により帳票種の候補が絞り込まれる度に、前記帳票種識別情報記憶手順により記憶部に記憶されている前記複数のキーワード情報の中から、当該絞り込まれた帳票種の候補に応じてキーワード情報を変更するキーワード情報変更手順をさらにコンピュータに実行させ、
    前記部分文字列生成手順は、前記キーワード情報変更手順によりキーワード情報が変更される度に、当該変更されたキーワード情報を用いて前記複数の部分文字列をそれぞれ生成し、
    前記部分文字列照合手順は、前記部分文字列生成手順により前記複数の部分文字列が生成される度に、前記文字列配列手順により配列された各グループ文字列と、前記部分文字列生成手順により生成された各部分文字列とをそれぞれ照合して、各グループ文字列を構成する文字列と各部分文字列との一致度を評価した評価値を帳票種ごとに算出することを特徴とする請求項1に記載の帳票種識別プログラム。
  8. 前記帳票種識別情報記憶手順は、各帳票種に対応付けて、意味が同一のグループごとに前記複数のキーワード情報を記憶部にそれぞれ記憶し、
    前記部分文字列照合手順は、前記文字列配列手順により配列された各グループ文字列と、前記部分文字列生成手順により生成された各部分文字列とをそれぞれ照合し、前記各グループ内の複数のキーワードの中から、各グループ文字列に対する各部分文字列の照合率が最大となるキーワードをそれぞれ抽出して、当該抽出された各キーワードについて一致文字数をそれぞれ取得して、当該取得された各一致文字数を用いて帳票種ごとに当該帳票種である可能性を評価した評価値を算出することを特徴とする請求項1に記載の帳票種識別プログラム。
  9. 帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別方法であって、
    各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワード情報を記憶部にそれぞれ記憶する帳票種識別情報記憶工程と、
    前記帳票種識別情報記憶工程により記憶部に記憶されている前記複数のキーワード情報を用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワード情報ごとにそれぞれ生成する部分文字列生成工程と、
    前記文字情報および前記罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに、当該生成された各グループ文字列を配列する文字列配列工程と、
    前記文字列配列工程により配列された各グループ文字列と、前記部分文字列生成工程により生成された各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数を前記キーワード情報ごとに取得して、当該取得された各一致文字数を用いて、帳票種ごとに当該帳票種である可能性を評価した評価値を算出する部分文字列照合工程と、
    前記部分文字列照合工程により帳票種ごとに算出された各評価値に基づいて、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定する帳票種決定工程と、
    を含んだことを特徴とする帳票種識別方法。
  10. 帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別装置であって、
    各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワード情報をそれぞれ記憶する帳票種識別情報記憶手段と、
    前記帳票種識別情報記憶手段により記憶されている前記複数のキーワード情報を用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワード情報ごとにそれぞれ生成する部分文字列生成手段と、
    前記文字情報および前記罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに、当該生成された各グループ文字列を配列する文字列配列手段と、
    前記文字列配列手段により配列された各グループ文字列と、前記部分文字列生成手段により生成された各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数を前記キーワード情報ごとに取得して、当該取得された各一致文字数を用いて、帳票種ごとに当該帳票種である可能性を評価した評価値を算出する部分文字列照合手段と、
    前記部分文字列照合手段により帳票種ごとに算出された各評価値に基づいて、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定する帳票種決定手段と、
    を備えたことを特徴とする帳票種識別装置。
JP2009502412A 2007-03-08 2007-03-08 帳票種識別プログラム、帳票種識別方法および帳票種識別装置 Expired - Fee Related JP4918937B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/054576 WO2008107997A1 (ja) 2007-03-08 2007-03-08 帳票種識別プログラム、帳票種識別方法および帳票種識別装置

Publications (2)

Publication Number Publication Date
JPWO2008107997A1 true JPWO2008107997A1 (ja) 2010-06-10
JP4918937B2 JP4918937B2 (ja) 2012-04-18

Family

ID=39737902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009502412A Expired - Fee Related JP4918937B2 (ja) 2007-03-08 2007-03-08 帳票種識別プログラム、帳票種識別方法および帳票種識別装置

Country Status (4)

Country Link
US (1) US8275792B2 (ja)
JP (1) JP4918937B2 (ja)
CN (1) CN101622632B (ja)
WO (1) WO2008107997A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2928051C (en) * 2005-07-15 2018-07-24 Indxit Systems, Inc. Systems and methods for data indexing and processing
JP4930153B2 (ja) * 2007-03-30 2012-05-16 富士通株式会社 文書検索システム、文書番号部分列取得装置、および文書検索方法
US20090138296A1 (en) * 2007-11-27 2009-05-28 Ebay Inc. Context-based realtime advertising
US8666976B2 (en) 2007-12-31 2014-03-04 Mastercard International Incorporated Methods and systems for implementing approximate string matching within a database
CN102054171A (zh) * 2009-10-30 2011-05-11 株式会社东芝 文档文件种类识别装置以及文档文件种类识别方法
JP5617249B2 (ja) * 2010-01-20 2014-11-05 富士ゼロックス株式会社 帳票識別装置、帳票識別プログラム及び帳票処理システム
JP5629474B2 (ja) * 2010-02-05 2014-11-19 株式会社Okiソフトウェア 帳票読取装置及びプログラム
CN102375978A (zh) * 2010-08-17 2012-03-14 富士通株式会社 处理图像的方法和设备
JP5912714B2 (ja) * 2012-03-21 2016-04-27 任天堂株式会社 データ構造、データ構造生成方法、情報処理装置、情報処理システム、及び情報処理プログラム
WO2014004478A1 (en) * 2012-06-26 2014-01-03 Mastercard International Incorporated Methods and systems for implementing approximate string matching within a database
JP6020161B2 (ja) * 2012-12-28 2016-11-02 富士通株式会社 グラフ作成プログラム、情報処理装置、およびグラフ作成方法
US9229674B2 (en) 2014-01-31 2016-01-05 Ebay Inc. 3D printing: marketplace with federated access to printers
JP6325407B2 (ja) 2014-09-29 2018-05-16 株式会社東芝 情報処理装置、情報処理方法及びプログラム
JP6442962B2 (ja) * 2014-10-01 2018-12-26 富士通株式会社 帳票生成プログラムおよび帳票生成装置
US9595037B2 (en) 2014-12-16 2017-03-14 Ebay Inc. Digital rights and integrity management in three-dimensional (3D) printing
US20180018311A1 (en) * 2016-07-15 2018-01-18 Intuit Inc. Method and system for automatically extracting relevant tax terms from forms and instructions
US10579721B2 (en) 2016-07-15 2020-03-03 Intuit Inc. Lean parsing: a natural language processing system and method for parsing domain-specific languages
US11222266B2 (en) 2016-07-15 2022-01-11 Intuit Inc. System and method for automatic learning of functions
US10725896B2 (en) 2016-07-15 2020-07-28 Intuit Inc. System and method for identifying a subset of total historical users of a document preparation system to represent a full set of test scenarios based on code coverage
US11049190B2 (en) 2016-07-15 2021-06-29 Intuit Inc. System and method for automatically generating calculations for fields in compliance forms
US10140277B2 (en) 2016-07-15 2018-11-27 Intuit Inc. System and method for selecting data sample groups for machine learning of context of data fields for various document types and/or for test data generation for quality assurance systems
JP7000052B2 (ja) * 2017-07-04 2022-01-19 株式会社 Kagホールディングズ 会計装置及びプログラム
JP6590417B2 (ja) * 2017-11-21 2019-10-16 株式会社バイオーム 判別装置、判別方法、判別プログラム、判別システム
US11163956B1 (en) 2019-05-23 2021-11-02 Intuit Inc. System and method for recognizing domain specific named entities using domain specific word embeddings
US11783128B2 (en) 2020-02-19 2023-10-10 Intuit Inc. Financial document text conversion to computer readable operations

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06259468A (ja) * 1993-03-04 1994-09-16 Ricoh Co Ltd 単語スペル自動補正装置
JP2000285190A (ja) * 1999-03-31 2000-10-13 Toshiba Corp 帳票識別方法および帳票識別装置および記憶媒体
JP2000348142A (ja) * 1999-06-08 2000-12-15 Nippon Telegr & Teleph Corp <Ntt> 文字認識装置,文字認識方法,および文字認識方法を実行するプログラムを記録した記録媒体
JP2001202466A (ja) * 2000-01-18 2001-07-27 Hitachi Ltd 帳票種別判別装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06309394A (ja) 1993-04-26 1994-11-04 Nippon Steel Corp 図面構造の認識方法及び装置
JPH07134720A (ja) 1993-09-17 1995-05-23 Nec Corp 文章作成システムにおける関連情報提示方法及び装置
JP2000251012A (ja) * 1999-03-01 2000-09-14 Hitachi Ltd 帳票処理方法およびシステム
JP2002324236A (ja) * 2001-04-25 2002-11-08 Hitachi Ltd 帳票識別方法及び帳票登録方法
JP2006134106A (ja) * 2004-11-05 2006-05-25 Hammock:Kk 帳票認識システム、帳票認識方法及びコンピュータプログラム
WO2007117334A2 (en) * 2006-01-03 2007-10-18 Kyos Systems Inc. Document analysis system for integration of paper records into a searchable electronic database
JP4848221B2 (ja) * 2006-07-31 2011-12-28 富士通株式会社 帳票処理プログラム、該プログラムを記録した記録媒体、帳票処理装置、および帳票処理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06259468A (ja) * 1993-03-04 1994-09-16 Ricoh Co Ltd 単語スペル自動補正装置
JP2000285190A (ja) * 1999-03-31 2000-10-13 Toshiba Corp 帳票識別方法および帳票識別装置および記憶媒体
JP2000348142A (ja) * 1999-06-08 2000-12-15 Nippon Telegr & Teleph Corp <Ntt> 文字認識装置,文字認識方法,および文字認識方法を実行するプログラムを記録した記録媒体
JP2001202466A (ja) * 2000-01-18 2001-07-27 Hitachi Ltd 帳票種別判別装置

Also Published As

Publication number Publication date
JP4918937B2 (ja) 2012-04-18
US8275792B2 (en) 2012-09-25
WO2008107997A1 (ja) 2008-09-12
CN101622632A (zh) 2010-01-06
US20100005096A1 (en) 2010-01-07
CN101622632B (zh) 2011-12-21

Similar Documents

Publication Publication Date Title
JP4918937B2 (ja) 帳票種識別プログラム、帳票種識別方法および帳票種識別装置
US7979268B2 (en) String matching method and system and computer-readable recording medium storing the string matching method
CN106462399B (zh) 代码推荐
JP6413391B2 (ja) 変換装置、変換プログラム、及び変換方法
CN102612691B (zh) 给文本评分的方法和系统
CN101460960B (zh) 用于提供手写识别的组合器
Esser et al. Automatic indexing of scanned documents: a layout-based approach
CN101681198A (zh) 提供相关文本自动完成
Forstall et al. Modeling the scholars: Detecting intertextuality through enhanced word-level n-gram matching
JP2007317022A (ja) 手書文字処理装置及び手書文字処理方法
CN1920829A (zh) 字符输入辅助方法和信息处理装置
JP2008198132A (ja) 固有表現抽出プログラム、固有表現抽出方法および固有表現抽出装置
US20130322773A1 (en) Methods of object search and recognition
WO2014049708A1 (ja) 文書分析装置およびプログラム
JP2012159883A (ja) 情報照合装置、情報照合方法および情報照合プログラム
WO2008062822A1 (fr) Dispositif d&#39;exploration de texte, procédé d&#39;exploration de texte et programme d&#39;exploration de texte
JP2016206748A (ja) 分類付与方法および分類付与システム
CN112860850A (zh) 人机交互方法、装置、设备及存储介质
JP5928733B2 (ja) 文字列からなるテストデータを自動的に生成する方法及び文字列からなるテストデータ中に埋め込まれたシグネチャーを識別する方法、並びに、それらのコンピュータ及びコンピュータ・プログラム
JP2011191834A (ja) 文書分類方法、文書分類装置、およびプログラム
JP5894273B2 (ja) 文書関連付け方法および文書検索方法、文書関連付け装置および文書検索装置、並びにそのためのプログラム
JP2019061522A (ja) 文書推薦システム、文書推薦方法および文書推薦プログラム
JP7135730B2 (ja) 要約生成方法及び要約生成プログラム
CN112989011A (zh) 数据查询方法、数据查询装置和电子设备
JP6730090B2 (ja) 対話処理装置

Legal Events

Date Code Title Description
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: 20120104

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: 20120117

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150210

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees