IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通フロンテック株式会社の特許一覧

特開2023-166131帳票処理装置、帳票処理方法及び帳票処理プログラム
<>
  • 特開-帳票処理装置、帳票処理方法及び帳票処理プログラム 図1
  • 特開-帳票処理装置、帳票処理方法及び帳票処理プログラム 図2
  • 特開-帳票処理装置、帳票処理方法及び帳票処理プログラム 図3
  • 特開-帳票処理装置、帳票処理方法及び帳票処理プログラム 図4
  • 特開-帳票処理装置、帳票処理方法及び帳票処理プログラム 図5
  • 特開-帳票処理装置、帳票処理方法及び帳票処理プログラム 図6
  • 特開-帳票処理装置、帳票処理方法及び帳票処理プログラム 図7
  • 特開-帳票処理装置、帳票処理方法及び帳票処理プログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023166131
(43)【公開日】2023-11-21
(54)【発明の名称】帳票処理装置、帳票処理方法及び帳票処理プログラム
(51)【国際特許分類】
   G06V 30/412 20220101AFI20231114BHJP
   G06V 30/14 20220101ALI20231114BHJP
【FI】
G06V30/412
G06V30/14 340J
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022076941
(22)【出願日】2022-05-09
(71)【出願人】
【識別番号】000237639
【氏名又は名称】富士通フロンテック株式会社
(74)【代理人】
【識別番号】110004185
【氏名又は名称】インフォート弁理士法人
(74)【代理人】
【識別番号】100121083
【弁理士】
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【弁理士】
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100074099
【弁理士】
【氏名又は名称】大菅 義之
(72)【発明者】
【氏名】馬路 武志
(72)【発明者】
【氏名】小原 勝利
(72)【発明者】
【氏名】高山 和也
(72)【発明者】
【氏名】狩野 忠史
【テーマコード(参考)】
5B029
【Fターム(参考)】
5B029CC18
5B029CC21
(57)【要約】
【課題】罫線の抽出処理の結果の如何にかかわらず好適な帳票処理を実行することができる帳票処理装置、帳票処理方法及び帳票処理プログラムを提供する。
【解決手段】帳票処理装置は、帳票に対して罫線抽出処理を実行する罫線抽出処理部と、罫線抽出処理による縦横罫線の抽出結果がそれぞれ所定閾値の本数以上である場合と所定閾値の本数未満である場合とでそれぞれ異なる態様での帳票認識処理を実行する帳票認識処理部と、を有している。帳票認識処理部は、前記罫線抽出処理による縦横罫線の抽出結果が所定閾値の本数未満である場合の帳票認識処理として、帳票に含まれ得る固定文字列候補及び可変文字列候補を事前登録しておき、帳票から読み取った文字列候補と、固定文字列候補及び可変文字列候補とを比較する。
【選択図】図2
【特許請求の範囲】
【請求項1】
帳票に対して罫線抽出処理を実行する罫線抽出処理部と、
前記罫線抽出処理による縦横罫線の抽出結果がそれぞれ所定閾値の本数以上である場合と所定閾値の本数未満である場合とでそれぞれ異なる態様での帳票認識処理を実行する帳票認識処理部と、
を有することを特徴とする帳票処理装置。
【請求項2】
前記帳票認識処理部は、前記罫線抽出処理による縦横罫線の抽出結果が所定閾値の本数未満である場合の前記帳票認識処理として、前記帳票に含まれ得る固定文字列候補及び可変文字列候補を事前登録しておき、前記帳票から読み取った文字列候補と、前記固定文字列候補及び前記可変文字列候補とを比較する、
ことを特徴とする請求項1に記載の帳票処理装置。
【請求項3】
前記固定文字列候補は、同一種類の帳票において必ず同じ内容で含まれる文字列の候補であり、
前記可変文字列候補は、同一種類の帳票であっても帳票毎に異なる内容で含まれる文字列の候補である、
ことを特徴とする請求項2に記載の帳票処理装置。
【請求項4】
前記帳票認識処理部は、前記帳票から読み取った文字列候補のサイズ、配置、及び、属性の少なくとも1つを指標として、前記帳票から読み取った文字列候補を前記固定文字列候補と前記可変文字列候補のいずれかに振り分ける、
ことを特徴とする請求項2に記載の帳票処理装置。
【請求項5】
前記帳票認識処理部は、前記帳票から読み取った文字列候補が前記帳票の上端側に配置されていること、前記帳票から読み取った文字列候補の確信度が高いこと、及び、前記帳票から読み取った文字列候補の間隔が一定であることの少なくとも1つを指標として、前記帳票から読み取った文字列候補を前記固定文字列候補と前記可変文字列候補のいずれかに振り分ける、
ことを特徴とする請求項2に記載の帳票処理装置。
【請求項6】
前記帳票認識処理部は、前記帳票から読み取った文字列候補の前記帳票の上端部からの距離をAと定義し、前記帳票から読み取った文字列候補の確信度をBと定義し、前記帳票から読み取った文字列候補の間隔の一定度合いをCと定義し、前記帳票から読み取った文字列候補の左端/右端と他の文字列候補の左端/右端を比較した際の一定度合いをDと定義し、N1、N2、N3、N4を同一又は異なる係数値と定義したとき、A×N1+B×N2+C×N3-D×N4が所定閾値以上である場合に、前記帳票から読み取った文字列候補を前記固定文字列候補に振り分けるとともに、A×N1+B×N2+C×N3-D×N4が所定閾値未満である場合に、前記帳票から読み取った文字列候補を前記可変文字列候補に振り分ける、
ことを特徴とする請求項2に記載の帳票処理装置。
【請求項7】
N1、N2、N3、N4は、N1>N2>N3>N4を満足する係数値である、
ことを特徴とする請求項6に記載の帳票処理装置。
【請求項8】
罫線抽出処理部により、帳票に対して罫線抽出処理を実行するステップと、
帳票認識処理部による縦横罫線の抽出結果がそれぞれ所定閾値の本数以上である場合と所定閾値の本数未満である場合とでそれぞれ異なる態様での帳票認識処理を実行するステップと、
を有することを特徴とする帳票処理方法。
【請求項9】
罫線抽出処理部により、帳票に対して罫線抽出処理を実行するステップと、
帳票認識処理部による縦横罫線の抽出結果がそれぞれ所定閾値の本数以上である場合と所定閾値の本数未満である場合とでそれぞれ異なる態様での帳票認識処理を実行するステップと、
をプロセッサに実行させることを特徴とする帳票処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、帳票処理装置、帳票処理方法及び帳票処理プログラムに関する。
【背景技術】
【0002】
特許文献1には、帳票を処理する帳票処理装置が記載されている。この帳票処理装置は、画像読取部と、罫線抽出部と、セル領域認識部と、文字列認識部と、行情報取得部と、文字列属性判断部と、内容項目取得部とを備えている。
【0003】
画像読取部は、帳票を画像読取装置に読み取らせて帳票画像を取得する。罫線抽出部は、画像読取部によって読み取らせた帳票画像から縦横罫線を抽出する。セル領域認識部は、罫線抽出部によって抽出された縦横罫線に基づいてセル領域を認識する。文字列認識部は、セル領域認識部によって認識されたセル領域毎に文字認識処理を実行して文字列を認識する。行情報取得部は、文字列認識部によって認識された文字列から構成される行情報を取得する。文字列属性判断部は、行情報取得部によって取得された行情報毎に文字列の属性を判断する。内容項目取得部は、セル領域認識部によって認識されたセル領域内で、行情報取得部によって2以上の行情報が取得された場合、文字列属性判断部によって判断された属性に基づいて、文字列認識部によって認識された文字列を帳票に記載された特定の内容項目として取得する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2018-018206号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1は、帳票の罫線(縦横罫線)を上手く抽出できなかった場合、あるいは、罫線(縦横罫線)が存在しない帳票を対象とする場合に、帳票処理が不十分になるおそれがある点において、改良の余地がある。
【0006】
本発明は、上記実情に鑑み、罫線の抽出処理の結果の如何にかかわらず好適な帳票処理を実行することができる帳票処理装置、帳票処理方法及び帳票処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本開示の帳票処理装置は、帳票に対して罫線抽出処理を実行する罫線抽出処理部と、前記罫線抽出処理による縦横罫線の抽出結果がそれぞれ所定閾値の本数以上である場合と所定閾値の本数未満である場合とでそれぞれ異なる態様での帳票認識処理を実行する帳票認識処理部と、を有することを特徴とする。
【0008】
本開示の帳票処理方法は、罫線抽出処理部により、帳票に対して罫線抽出処理を実行するステップと、帳票認識処理部による縦横罫線の抽出結果がそれぞれ所定閾値の本数以上である場合と所定閾値の本数未満である場合とでそれぞれ異なる態様での帳票認識処理を実行するステップと、を有することを特徴とする。
【0009】
本開示の帳票処理プログラムは、罫線抽出処理部により、帳票に対して罫線抽出処理を実行するステップと、帳票認識処理部による縦横罫線の抽出結果がそれぞれ所定閾値の本数以上である場合と所定閾値の本数未満である場合とでそれぞれ異なる態様での帳票認識処理を実行するステップと、をプロセッサに実行させることを特徴とする。
【発明の効果】
【0010】
本発明によれば、罫線の抽出処理の結果の如何にかかわらず好適な帳票処理を実行することができる帳票処理装置、帳票処理方法及び帳票処理プログラムを提供することができる。
【図面の簡単な説明】
【0011】
図1】帳票処理装置を備えるシステム構成の一例を示す図である。
図2】帳票処理装置の内部構成の一例を示す機能ブロック図である。
図3】帳票処理装置のハードウェア構成の一例を示すブロック図である。
図4】帳票認識処理部の内部構成の一例を示す機能ブロック図である。
図5】帳票に含まれる固定文字列候補及び可変文字列候補の一例を示す図である。
図6】定義体に登録される固定文字列候補と可変文字列候補の一例を示す図である。
図7】本実施形態の帳票処理の第1の例を示すフローチャートである。
図8】本実施形態の帳票処理の第2の例を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、図面を参照しながら本発明の実施の形態について説明する。
【0013】
本開示の帳票処理装置、帳票処理方法及び帳票処理プログラムは、例えば、光学的に読み取った帳票のイメージ情報から所定の項目の文字認識を行うものである。本開示の帳票処理方法及び帳票処理プログラムは、帳票処理装置に含まれるプロセッサに各種の処理ステップを実行させることで実現される。なお、プロセッサは、コンピュータ(CPU:Central Processing Unit)と読み替えてもよい。
【0014】
図1は、帳票処理装置を備えるシステム構成の一例を示す図である。図1に示すように、帳票処理システム1は、画像読取装置2と、帳票処理装置3とを有している。画像読取装置2と帳票処理装置3は、互いに通信可能に接続されている。帳票処理システム1は、金融機関や公共機関をはじめとする様々な施設に設置されて、当該施設における各種の帳票処理に利用される。例えば、銀行等では、帳票をスキャナ等の画像読取装置で読み取り、読取結果の帳票画像から光学式文字読取(OCR:Optical Character Reader)処理によりテキスト情報を得ることで、銀行員によるデータ入力等の事務処理を効率化させている。
【0015】
画像読取装置2は、例えば、イメージスキャナ等から構成されており、帳票を光学的に読み取り、その読取結果を帳票処理装置3に伝送する。帳票処理装置3は、例えば、ワークステーション、サーバ、プロセッサ、パーソナルコンピュータ等から構成されており、画像読取装置2から伝送された帳票読取結果に対して、後述する帳票処理を実行する。
【0016】
図2は、帳票処理装置の内部構成の一例を示す機能ブロック図である。図2に示すように、帳票処理装置3は、制御部30と、スキャナ制御部31と、罫線抽出処理部(罫線読取処理部)32と、帳票認識処理部33と、認識結果表示部34とを有している。
【0017】
制御部30は、スキャナ制御部31と罫線抽出処理部32と帳票認識処理部33と認識結果表示部34とによる一連の処理を制御する。スキャナ制御部31は、画像読取装置2を制御して、帳票の記載面を帳票画像データとして取得する。
【0018】
罫線抽出処理部32は、スキャナ制御部31が取得した帳票(帳票画像データ)に対して罫線抽出処理を実行する。罫線抽出処理部32は、縦罫線であれば、縦方向に連続する画素、すなわち縦方向の直線があるか否かを抽出して、その結果を縦罫線抽出結果として出力する。罫線抽出処理部32は、横罫線であれば、横方向に連続する画素、すなわち横方向の直線があるか否かを抽出して、その結果を横罫線抽出結果として出力する。なお、罫線抽出処理部32による罫線抽出処理は、成功する場合もあれば失敗する場合もある。具体的に、「罫線抽出処理が成功する」とは、罫線抽出処理による縦横罫線の抽出結果がそれぞれ所定閾値の本数以上であることと同義であり、「罫線抽出処理が失敗する」とは、罫線抽出処理による縦横罫線の抽出結果がそれぞれ所定閾値の本数未満であることと同義である。帳票(帳票画像データ)に明瞭な罫線が現れていれば、罫線抽出処理が成功する可能性が高くなるが、帳票(帳票画像データ)の罫線が不明瞭な場合やそもそも罫線が存在しない場合には、罫線抽出処理が失敗する可能性が高くなる。例えば、罫線が擦れている場合、罫線が点線や短い線からなる場合は、文字の可能性があるとして、罫線として抽出されない可能性がある。
【0019】
帳票認識処理部33は、罫線抽出処理部32による罫線抽出処理が施された帳票(帳票画像データ)に対して、所定の帳票認識処理を実行する。より具体的に、帳票認識処理部33は、罫線抽出処理部32による罫線抽出処理による縦横罫線の抽出結果がそれぞれ所定閾値の本数以上である場合と所定閾値の本数未満である場合(罫線抽出処理が成功した場合と失敗した場合)とでそれぞれ異なる態様での帳票認識処理を実行する。罫線抽出処理が成功、失敗した場合の各態様での帳票認識処理の詳細については、後に詳しく説明する。
【0020】
認識結果表示部34は、帳票認識処理部33による帳票認識処理の結果を帳票処理装置3のディスプレイ3D(図1参照)に表示させる。
【0021】
図3は、帳票処理装置のハードウェア構成の一例を示すブロック図である。図3に示すように、帳票処理装置3は、CPU(Central Processing Unit)300と、入力装置301と、出力装置302と、ROM(Read Only Memory)303と、RAM(Random Access Memory)304と、インターフェース(I/F)305と、これらの各構成要素を接続するバス306とを有している。
【0022】
入力装置301は、例えば、キーボード、ジョイスティック、ライトペン、マウス、タッチパッド、タッチパネル、トラックボール等を有し、各種のデータや信号等を入力する。出力装置302は、例えば、LCD(Liquid Crystal Display)等の各種ディスプレイ、プリンタ等を有し、画像やその他の情報を出力する。ROM303は、帳票処理装置3における帳票処理を実行するプログラムの他、帳票処理装置3の各機能を制御し実行するための制御プログラム及びテーブルデータなどを収納する。RAM304は、出力装置302のためのフレームバッファや一部のアプリケーションプログラム等を格納する。インターフェース305は、USB(Universal Serial Bus)等のシリアルインターフェースやイーサネット(登録商標)等のパラレルインターフェース等を有する、外部機器と接続するためのユニットである。CPU300は、上記の各構成要素を統括的に制御する。
【0023】
ところで、上述した特許文献1を含む従来の帳票処理装置では、帳票に対して帳票判別/文字認識を行う場合、認識したい帳票のレイアウトから罫線情報や文字認識する項目の座標を格納した定義体を事前に準備する必要がある。実際に帳票判別/文字認識を行う際、該当帳票から罫線情報を取得し、定義体と比較し、一致するものがあれば定義体に登録された文字認識する項目の座標を使用して、文字認識を行い、結果を通知する。このように、従来の帳票処理装置では、帳票に罫線情報が存在すること、及び、その罫線情報を確実に取得することが前提となっており、その前提が崩れてしまったときに、帳票処理が不十分になるおそれがある。例えば、振込明細など、帳票上に罫線がない帳票については、罫線情報を取得することができず、事前の定義体の準備などを行うことができず、文字認識する項目の座標を登録/利用することができない。
【0024】
本発明者は、上記の問題点を重要な技術課題として捉えて、罫線の抽出処理の結果の如何にかかわらず、すなわち、帳票の罫線を上手く抽出できなかった場合、あるいは、罫線が存在しない帳票を対象とする場合であっても、好適な帳票処理を実行することができる帳票処理装置、帳票処理方法及び帳票処理プログラムを着想するに至った。
【0025】
具体的に、本実施形態では、罫線抽出処理による縦横罫線の抽出結果がそれぞれ所定閾値の本数以上である場合と所定閾値の本数未満である場合(罫線抽出処理が成功した場合と失敗した場合)とでそれぞれ異なる態様での帳票認識処理を実行する。罫線抽出処理による縦横罫線の抽出結果がそれぞれ所定閾値の本数以上である場合(罫線抽出処理が成功した場合)には、罫線情報(縦横属性、位置、長さ等)をキーとして帳票の特徴を定義体に登録し、文字認識項目の位置、属性(文字種等)を利用者の指定で登録し、これらの登録情報に基づいて、帳票認識処理を実行する。
【0026】
罫線抽出処理による縦横罫線の抽出結果がそれぞれ所定閾値の本数未満である場合(罫線抽出処理が失敗した場合)には、帳票に含まれ得る固定文字列候補及び可変文字列候補を事前登録しておき、帳票から読み取った文字列候補と、固定文字列候補及び可変文字列候補とを比較することで、帳票認識処理を実行する。また、帳票から読み取った文字列候補を解析して、当該文字列候補を固定文字列候補と可変文字列候補のいずれかに振り分けることで、定義体に登録する帳票の特徴(とりわけ固定文字列候補)を更新する。そして、文字認識項目の位置、属性(文字種等)を利用者の指定で登録し、これらの登録情報に基づいて、帳票認識処理を実行する。このように、罫線情報が取得できない帳票に対して、帳票種類を判別可能な文字列(固定文字列、可変文字列)を事前に登録する。実際に帳票判別/文字認識を行う際、該当帳票から文字列を抽出し、定義体(固定文字列、可変文字列)と比較することで、文字認識を行い、結果を通知することができる。罫線が取得できない帳票についても、定義体(固定文字列、可変文字列)と比較し、登録済みであれば文字認識結果を通知することができる。
【0027】
図4は、帳票認識処理部の内部構成の一例を示す機能ブロック図である。図4に示すように、帳票認識処理部33は、定義体比較部33Aと、文字認識処理部33Bと、文字列候補振分部33Cと、定義体33Dと、文字認識辞書33Eとを有している。
【0028】
定義体比較部33Aは、固定文字列候補と可変文字列候補を事前登録した定義体33Dを参照して、帳票から読み取った文字列候補と、定義体33Dに登録された固定文字列候補及び可変文字列候補とを比較する。固定文字列候補は、固定文言と読み替えてもよく、可変文字列候補は、可変文言と読み替えてもよい。固定文字列候補(固定文言)は、同一種類の帳票において必ず同じ内容で含まれる文字列(の候補)であり、例えば、「振込明細」、「地方公務員災害補償基金」等の帳票タイトル、「銀行名」、「支店名」等の認識項目名がこれに該当する。可変文字列候補(可変文言)は、同一種類の帳票であっても帳票毎に異なる内容で含まれる文字列(の候補)であり、例えば、「川崎」、「大宮」等の具体的な支店名の他、具体的な金額の値がこれに該当する。定義体比較部33Aは、罫線抽出処理部32による罫線抽出処理が失敗した場合(罫線抽出処理による縦横罫線の抽出結果がそれぞれ所定閾値の本数未満である場合)の帳票認識処理として、帳票に含まれ得る固定文字列候補及び可変文字列候補を定義体33Dに事前登録しておき、帳票から読み取った文字列候補と、固定文字列候補及び可変文字列候補とを比較する。
【0029】
図5は、帳票に含まれる固定文字列候補(固定文言)及び可変文字列候補(可変文言)の一例を示す図である。図5において、破線の矩形枠で囲んだ領域に固定文字列候補(固定文言)が記載されており、一点鎖線の楕円枠で囲んだ領域に可変文字列候補(可変文言)が記載されている。具体的に、固定文字列候補(固定文言)として、「振込明細」、「地方公務員災害補償基金」、「銀行名」、「支店名」、「種(口座種別の略称)」、「口座番号」、「口座名義人」、「金額」、「件数」、「備考」が図5に描かれている。また、可変文字列候補(可変文言)として、銀行名としての「富士通」、支店名としての「川崎、大宮」、種(口座種別の略称)としての「普(普通預金)、当(当座預金)」、口座番号としての「1234567、0987654」、口座名義人としての「フジツウタロウ、フジツウハナコ」、金額としての「83,620円、1,580円」が図5に描かれている。
【0030】
図6A図6Cは、定義体に登録される固定文字列候補(固定文言)と可変文字列候補(可変文言)の一例を示す図である。図6Aに示すように、ある種類(一種類)の帳票に対して1つのIndexが割り振られて、当該1つのIndexに対して、各複数の固定文字列候補(固定文言)と可変文字列候補(可変文言)が紐付けられている。この場合、固定文字列候補(固定文言)と可変文字列候補(可変文言)の間に相関がなくてもよい。図6Bに示すように、ある帳票に対応するIndex1に対して、固定文字列候補(固定文言)の記載内容(振込明細、地方公務員災害補償基金、銀行支店、・・・、備考、・・・)と、固定文字列候補(固定文言)の座標((200,10,400,50)、(Xs,Ys,Xe,Ye)、・・・)とが紐付けられている。別の帳票に対応するIndex2以降についても、同様の情報が登録されている。図6Cに示すように、ある帳票に対応するIndex1に対して、可変文字列候補(可変文言)の座標((100,200,300,400)、(Xs,Ys,Xe,Ye)、・・・)が紐付けられている。別の帳票に対応するIndex2以降についても、同様の情報が登録されている。なお、図6B図6Cではブランク(・・・)で描いているが、固定文字列候補(固定文言)と可変文字列候補(可変文言)に対して文字種等の付加情報が登録されていてもよい。
【0031】
文字認識処理部33Bは、スキャナ制御部31によって取得した帳票画像データから、帳票記載面に記載されている文字を認識する。その際、帳票に記載された文字の認識には、文字認識辞書33Eを使用する。文字認識処理部33Bによる文字認識処理は、公知の文字認識技術を使用することが可能であるので、これ以上の詳細な説明は省略する。
【0032】
続いて、文字列候補振分部33Cの機能について説明する。上述の通り、定義体33Dへの事前登録に際して、帳票上の文字を使用して帳票種別を判定する場合、固定文字列候補(固定文言)と可変文字列候補(可変文言)を判別してこれを振り分ける必要がある。例えば、固定文字列候補(固定文言)は、文字認識を行い易い所定の(一定の)フォントで印字されることが多いため、予め使用されるフォントを指定したり、文字認識結果の情報を利用したりすることで、自動的に、固定文字列候補(固定文言)と可変文字列候補(可変文言)を判別してこれを振り分けることができる。
【0033】
文字列候補振分部33Cは、帳票から読み取った文字列候補のサイズ、配置、及び、属性(文字種等)の少なくとも1つを指標として、帳票から読み取った文字列候補を固定文字列候補と可変文字列候補のいずれかに振り分けてもよい。例えば、帳票から読み取った文字列候補のサイズが大きいほど、当該文字列候補が固定文字列候補に振り分けられる可能性が高くなり、帳票から読み取った文字列候補のサイズが小さいほど、当該文字列候補が可変文字列候補に振り分けられる可能性が高くなる。また、帳票から読み取った文字列候補の配置が帳票の上端側等の目立ち易い箇所にあるほど、当該文字列候補が固定文字列候補に振り分けられる可能性が高くなり、帳票から読み取った文字列候補の配置が帳票の下端側等の目立ち難い箇所にあるほど、当該文字列候補が可変文字列候補に振り分けられる可能性が高くなる。また、帳票から読み取った文字列候補が文字認識を行い易い所定の(一定の)フォントで印字されている場合には、当該文字列候補が固定文字列候補に振り分けられる可能性が高くなり、帳票から読み取った文字列候補が手書きの場合には、当該文字列候補が可変文字列候補に振り分けられる可能性が高くなる。このように、帳票から読み取った文字列候補のサイズ、配置、及び、属性(文字種等)を総合的に勘案して、帳票から読み取った文字列候補を固定文字列候補と可変文字列候補のいずれかに振り分けることが好ましい。
【0034】
あるいは、文字列候補振分部33Cは、帳票から読み取った文字列候補が帳票の上端側に配置されていること、帳票から読み取った文字列候補の確信度が高いこと、及び、帳票から読み取った文字列候補の間隔が一定であることの少なくとも1つを指標として、帳票から読み取った文字列候補を固定文字列候補と可変文字列候補のいずれかに振り分けてもよい。
【0035】
あるいは、文字列候補振分部33Cは、帳票から読み取った文字列候補の帳票の上端部からの距離をAと定義し、帳票から読み取った文字列候補の確信度をBと定義し、帳票から読み取った文字列候補の間隔の一定度合いをCと定義し、帳票から読み取った文字列候補の左端/右端と他の文字列候補の左端/右端を比較した際の一定度合いをDと定義し、N1、N2、N3、N4を同一又は異なる係数値と定義したとき、A×N1+B×N2+C×N3-D×N4が所定閾値以上である場合に、帳票から読み取った文字列候補を固定文字列候補に振り分けるとともに、A×N1+B×N2+C×N3-D×N4が所定閾値未満である場合に、帳票から読み取った文字列候補を可変文字列候補に振り分けてもよい。所定閾値をどのように設定するかには自由度があり、種々の設計変更が可能であるが、例えば、A、B、C、Dの単位(スケール)やシステム環境を考慮して、統計情報や外部指定情報に基づいて設定してもよい。
【0036】
この場合、帳票から読み取った文字列候補の帳票の上端部からの距離Aの重み付けを最も大きくし、帳票から読み取った文字列候補の確信度Bの重み付けを2番目に大きくし、帳票から読み取った文字列候補の間隔の一定度合いCの重み付けを3番目に大きくし、帳票から読み取った文字列候補の左端/右端と他の文字列候補の左端/右端を比較した際の一定度合いDを最も小さくするべく、N1、N2、N3、N4を、N1>N2>N3>N4を満足する係数値としてもよい。これは、本発明者の鋭意研究により、帳票から読み取った文字列候補が固定文字列候補に該当する可能性に与える影響がA>B>C>Dの順であったことに起因する。もちろん、N1、N2、N3、N4の係数値による重み付けの態様には自由度があり、種々の設計変更が可能である。
【0037】
ここで、帳票から読み取った文字列候補の帳票の上端部からの距離Aは、例えば、帳票の上端部から文字列候補の任意の箇所(上端部、下端部、上下方向の中間部等)までの距離であってもよい。また、帳票から読み取った文字列候補の帳票の上端部からの距離Aの単位(スケール)は、例えば、cm(センチメートル)やmm(ミリメートル)であってもよい。
【0038】
また、帳票から読み取った文字列候補の確信度Bは、確信度係数(Certainty Factor)と読み替えてもよい。帳票から読み取った文字列候補の確信度Bは、例えば、人工知能(AI)、マシンラーニング(機械学習)、ディープラーニング(深層学習)等を用いた分析(解析)により、帳票から読み取った文字列候補が定義体33Dに事前登録された固定文字列候補と一致することの確実性(不確実性)を指標としてパラメータ化したものである。
【0039】
また、帳票から読み取った文字列候補の間隔の一定度合いCは、例えば、複数の文字列候補の間隔をサンプリングして、いずれかの文字列候補の間隔を基準間隔とし、その他の文字列候補の間隔を参照間隔としたときに、参照間隔が基準間隔の所定範囲内に収まっていること(例えば、0.9×参照間隔<基準間隔<1.1×参照間隔)を指標としてパラメータ化したものであってもよい。あるいは、帳票から読み取った文字列候補の間隔の一定度合いCは、同じ文字列候補の中の各文字の間隔を指標としてパラメータ化したものであってもよい。あるいは、帳票から読み取った文字列候補の間隔の一定度合いCは、例えば、複数の文字列候補の平均文字間隔を指標としてパラメータ化したものであってもよい。
【0040】
また、帳票から読み取った文字列候補の左端/右端と他の文字列候補の左端/右端を比較した際の一定度合いDは、帳票から読み取った文字列候補と他の文字列候補の左端/右端を比較した際の異なり度合いと読み替えてもよい。帳票から読み取った文字列候補の左端/右端と他の文字列候補の左端/右端を比較した際の一定度合いDが高いほど、可変文字列候補の可能性が高く、帳票から読み取った文字列候補の左端/右端と他の文字列候補の左端/右端を比較した際の一定度合いDが低いほど、固定文字列候補の可能性が高い。これは、固定文字列が表形式の認識項目名として先頭行に中央揃え等で印字される一方、金額/口座番号などの可変文字列が左詰め/右詰めで印字/記載されていることが多く、可変文字列の先端/後端が複数行で同じ座標となる傾向があることに起因する。図5を例に挙げると、帳票上の「金額」という文字列の左端は「地方公務員災害補償基金」と一致しているが、右端は他の文字列とは一致していない。一方で帳票上の「83,620円」という文字列の左端は他文字列と一致せず、右端は「1,580円」と一致している。図5の例では、3項目以降を省略しているが、実際の帳票では数十項目が印字/記載されることがあり、3項目以降の具体的な金額の左端と一致する。以上より、他の文字列候補の左端/右端を比較した際の一定度合いが低いほど固定文字列と判断できる。
【0041】
なお、事前登録時(定義体33Dへの登録時)に同じ種類の帳票と判断した際、帳票上の固定文字列候補と、登録済みの固定文字列候補とが大きく異なる場合は、定義体33Dに事前登録された固定文字列候補が可変文字列候補である(が妥当である)と判断して、定義体33Dの登録内容を更新してもよい。
【0042】
続いて、帳票から読み取った文字列候補と定義体33Dに事前登録された文字列候補(固定文字列候補、可変文字列候補)との比較方法(認識時)について説明する。まず、認識対象の帳票上から全ての文字を抽出する。このとき、帳票/文字の状態によっては誤読/リジェクトする可能性もある。次いで、全ての帳票に対応する全てのIndexに対して、固定文字列候補(固定文言)が一致するIndexを検索する。このとき、運用によって、全ての固定文字列候補(固定文言)が一致するIndexを探索したり、固定文字列候補(固定文言)が一致するものが最も多いIndexを探索したりする等の切り替えが可能である。最後に、一致すると判断したIndex(帳票種別)に紐付いた可変文字列候補(可変文言)の座標を利用して、文字認識を実行する。
【0043】
なお、帳票処理装置3は、図2図4に描いて説明した構成要素の他にも、例えば、項目位置特定部、特定項目処理部、セル領域認識部、文字列認識部、行情報取得部、文字列属性判断部、内容項目取得部、項目名判断部、内容項目取得部等を有していてもよい。項目位置特定部は、文字認識処理部33Bで認識された文字列が記載されている位置を特定する。特定項目処理部は、位置が特定された文字列の属性を判断し、その属性に基づいて認識された文字列を帳票に記載された特定の内容項目として取得する。セル領域認識部は、罫線抽出処理部32による罫線抽出処理が成功した場合(罫線抽出処理による縦横罫線の抽出結果がそれぞれ所定閾値の本数以上である場合)に、その抽出罫線に基づいてセル領域を認識する。文字列認識部は、帳票画像に対して文字認識処理を実行して文字列を認識する。行情報取得部は、文字列認識部が認識した文字列から構成される行情報を取得する。文字列属性判断部は、文字列認識部が認識した文字列の属性を判断する。内容項目取得部は、文字列属性判断部が判断した属性に基づいて、文字列認識部が認識した文字列を帳票に記載された特定の内容項目として取得する。項目名判断部は、文字列認識部が認識した文字列が予め定められた項目名を含むか否かを判断する。内容項目取得部は、セル領域認識部が認識したセル領域内で、行情報取得部が2以上の行情報を取得した場合、文字列属性判断部が判断した属性に基づいて、文字列認識部が認識した文字列を帳票に記載された特定の内容項目として取得する。
【0044】
図7は、本実施形態の帳票処理の第1の例を示すフローチャートである。図7の処理は、定義体33Dへの事前登録時に該当する。
【0045】
ステップST1では、スキャナ制御部31による制御の下、画像読取装置2による帳票の読取処理を実行する。ステップST2では、罫線抽出処理部32により、帳票読取画像に対して罫線抽出処理を実行する。ステップST3では、罫線抽出処理部32による罫線抽出処理が成功したか否かを判定する。すなわち、罫線抽出処理による縦横罫線の抽出結果がそれぞれ所定閾値の本数以上であるか否かを判定する。罫線抽出処理部32による罫線抽出処理が成功した場合(ステップST3:Yes)は、ステップST4に進み、罫線抽出処理部32による罫線抽出処理が失敗した場合(ステップST3:No)は、ステップST7に進む。
【0046】
ステップST4では、成功した罫線抽出処理にかかる罫線情報を抽出する。ステップST5では、罫線情報(縦横属性、位置、長さ等)をキーとして帳票の特徴を定義体に登録する。ステップST6では、文字認識項目の位置、属性(文字種等)を利用者の指定で登録する。ステップST5、ステップST6の処理に当たっては、罫線情報(縦横属性、位置、長さ等)、及び、文字認識項目の位置、属性(文字種等)を登録した定義体を参照する。この定義体は、図3に示した定義体33Dであってもよいし、定義体33Dとは別に設けた定義体であってもよい。
【0047】
ステップST7では、帳票全面の文字情報を自動的に抽出する。ステップST8では、抽出した帳票全面の文字情報を解析して、固定文字列候補(固定文言)と可変文字列候補(可変文言)に振り分けるとともに、定義体33Dへの登録を実行する。より具体的に、解析対象の文字情報のサイズ、配置、及び、属性(文字種等)を特徴キーデータとして、この特徴キーデータに基づいて、固定文字列候補(固定文言)と可変文字列候補(可変文言)の振り分けと登録を実行する。あるいは、解析対象の文字情報が帳票の上端側に配置されていること、解析対象の文字情報の確信度が高いこと、及び、解析対象の文字情報の間隔の一定度合いを特徴キーデータとして(これらを変数とした条件式を特徴キーデータとして)、この特徴キーデータに基づいて、固定文字列候補(固定文言)と可変文字列候補(可変文言)の振り分けと登録を実行する。ステップST9では、文字認識項目の位置、属性(文字種等)を利用者の指定で登録する。ステップST7~ステップST9の処理に当たっては、適宜、定義体33Dを参照して、全面文字認識した結果(文字列、座標等)、特徴キーデータ、文字認識項目の位置、属性(文字種等)を用いることができる。
【0048】
図8は、本実施形態の帳票処理の第2の例を示すフローチャートである。図8の処理は、読み取った帳票の認識処理時に相当する。
【0049】
ステップST11では、スキャナ制御部31による制御の下、画像読取装置2による帳票の読取処理を実行する。ステップST12では、罫線抽出処理部32により、帳票読取画像に対して罫線抽出処理を実行する。ステップST13では、罫線抽出処理部32による罫線抽出処理が成功したか否かを判定する。すなわち、罫線抽出処理による縦横罫線の抽出結果がそれぞれ所定閾値の本数以上であるか否かを判定する。罫線抽出処理部32による罫線抽出処理が成功した場合(ステップST13:Yes)は、ステップST14に進み、罫線抽出処理部32による罫線抽出処理が失敗した場合(ステップST13:No)は、ステップST17に進む。
【0050】
ステップST14では、成功した罫線抽出処理にかかる罫線情報を抽出する。ステップST15では、抽出した罫線情報キーとして帳票の種類を特定する。ステップST16では、定義体(定義体33Dと同じ又は別の定義体)に従って、帳票に記載された文字情報の認識を実行する。ステップST15、ステップST16の処理に当たっては、定義体(定義体33Dと同じ又は別の定義体)を適宜参照することができる。ステップST16の処理が終わったら、ステップST19に進む。
【0051】
ステップST17では、帳票全面の文字情報を自動的に抽出する。ステップST18では、自動抽出した文字情報の中から、ユニークな文字情報をキーとして、認識項目を検索する。ステップST18の処理に当たっては、定義体33Dを適宜参照することができる。ステップST18の処理が終わったら、ステップST19に進む。
【0052】
ステップST19では、帳票判別/文字認識結果を通知する(例えば帳票処理装置3のディスプレイ3Dに表示する)。
【0053】
このように、本開示の帳票処理装置は、帳票に対して罫線抽出処理を実行する罫線抽出処理部と、罫線抽出処理による縦横罫線の抽出結果がそれぞれ所定閾値の本数以上である場合と所定閾値の本数未満である場合(罫線抽出処理が成功した場合と失敗した場合)とでそれぞれ異なる態様での帳票認識処理を実行する帳票認識処理部とを有している。これにより、罫線の抽出処理の結果の如何にかかわらず好適な帳票処理を実行することができる。
【0054】
また、本開示の帳票処理装置では、帳票認識処理部が、罫線抽出処理による縦横罫線の抽出結果が所定閾値の本数未満である場合(罫線抽出処理が失敗した場合)の帳票認識処理として、帳票に含まれ得る固定文字列候補及び可変文字列候補を事前登録しておき、帳票から読み取った文字列候補と、固定文字列候補及び可変文字列候補とを比較する。これにより、罫線のない帳票や罫線が不明瞭な帳票に対しても、固定文字列候補及び可変文字列候補に基づく定義体を作成して、帳票仕分けや帳票種類を自動的に判別した上で文字認識を行うことができる。
【0055】
以上、本発明の実施の形態について説明したが、本発明は、上述した実施の形態に限定されることなく、本発明の要旨を逸脱しない範囲内で種々の改良・変更が可能である。
【符号の説明】
【0056】
1 帳票処理システム
2 画像読取装置
3 帳票処理装置
3D ディスプレイ
30 制御部
31 スキャナ制御部
32 罫線抽出処理部(罫線読取処理部)
33 帳票認識処理部
33A 定義体比較部
33B 文字認識処理部
33C 文字列候補振分部
33D 定義体
33E 文字認識辞書
34 認識結果表示部
300 CPU(Central Processing Unit)
301 入力装置
302 出力装置
303 ROM(Read Only Memory)
304 RAM(Random Access Memory)
305 インターフェース(I/F)
306 バス
図1
図2
図3
図4
図5
図6
図7
図8