(57)【要約】  帳票種識別装置は、各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワードを記憶した帳票種識別情報ＤＢをあらかじめ保持し、帳票上に記入された文字列を整列し、帳票種識別情報ＤＢに記憶されている複数のキーワードを用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワードごとにそれぞれ生成し、整列した各グループ文字列と生成した各部分文字列とをそれぞれ照合して、照合に成功した各部分文字列について、各グループ文字列に対する各部分文字列の照合率が最大の時の正解文字数をキーワードごとに取得した後、各正解文字数を用いて帳票種ごとにその帳票種である可能性を評価した評価値を算出して帳票種を決定する。
2008107997.tif 000002
【特許請求の範囲】
【請求項１】
帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別処理をコンピュータに実行させる帳票種識別プログラムであって、
各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワード情報を記憶部にそれぞれ記憶する帳票種識別情報記憶手順と、
前記帳票種識別情報記憶手順により記憶部に記憶されている前記複数のキーワード情報を用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワード情報ごとにそれぞれ生成する部分文字列生成手順と、
前記文字情報および前記罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに、当該生成された各グループ文字列を配列する文字列配列手順と、
前記文字列配列手順により配列された各グループ文字列と、前記部分文字列生成手順により生成された各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数を前記キーワード情報ごとに取得して、当該取得された各一致文字数を用いて、帳票種ごとに当該帳票種である可能性を評価した評価値を算出する部分文字列照合手順と、
前記部分文字列照合手順により帳票種ごとに算出された各評価値に基づいて、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定する帳票種決定手順と、
をコンピュータに実行させることを特徴とする帳票種識別プログラム。
【請求項２】
前記帳票種決定手順は、前記部分文字列照合手順により帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定することを特徴とする請求項１に記載の帳票種識別プログラム。
【請求項３】
前記帳票種決定手順は、前記部分文字列照合手順により帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、当該閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、当該複数存在する帳票種を当該評価値の高低に応じて順位付けすることを特徴とする請求項１に記載の帳票種識別プログラム。
【請求項４】
前記帳票種決定手順は、前記部分文字列照合手順により帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、当該閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、最も評価値の高い帳票種に決定することを特徴とする請求項１に記載の帳票種識別プログラム。
【請求項５】
前記文字列配列手順は、前記文字情報および前記罫線情報から前記グループ文字列内に罫線が存在することが判明した場合には、当該グループ文字列を罫線で分割することを特徴とする請求項１に記載の帳票種識別プログラム。
【請求項６】
前記帳票種識別情報記憶手順は、前記複数のキーワードごとに使用の可否を規定した使用可否情報をさらに記憶部に記憶し、
前記帳票種識別情報記憶手順により記憶部に記憶されている前記使用可否情報に基づいて、当該記憶部に記憶されている複数のキーワード情報の中から、使用が許可されているキーワード情報を選択するキーワード選択手順をさらにコンピュータに実行させ、
前記部分文字列生成手順は、前記キーワード選択手順により選択されたキーワード情報を用いて前記複数の部分文字列をそれぞれ生成することを特徴とする請求項１に記載の帳票種識別プログラム。
【請求項７】
前記帳票種決定手順は、前記部分文字列照合手順により帳票種ごとに各評価値が算出される度に、当該各評価値に基づいて当該帳票種の候補を絞り込み、
前記帳票種決定手順により帳票種の候補が絞り込まれる度に、前記帳票種識別情報記憶手順により記憶部に記憶されている前記複数のキーワード情報の中から、当該絞り込まれた帳票種の候補に応じてキーワード情報を変更するキーワード情報変更手順をさらにコンピュータに実行させ、
前記部分文字列生成手順は、前記キーワード情報変更手順によりキーワード情報が変更される度に、当該変更されたキーワード情報を用いて前記複数の部分文字列をそれぞれ生成し、
前記部分文字列照合手順は、前記部分文字列生成手順により前記複数の部分文字列が生成される度に、前記文字列配列手順により配列された各グループ文字列と、前記部分文字列生成手順により生成された各部分文字列とをそれぞれ照合して、各グループ文字列を構成する文字列と各部分文字列との一致度を評価した評価値を帳票種ごとに算出することを特徴とする請求項１に記載の帳票種識別プログラム。
【請求項８】
前記帳票種識別情報記憶手順は、各帳票種に対応付けて、意味が同一のグループごとに前記複数のキーワード情報を記憶部にそれぞれ記憶し、
前記部分文字列照合手順は、前記文字列配列手順により配列された各グループ文字列と、前記部分文字列生成手順により生成された各部分文字列とをそれぞれ照合し、前記各グループ内の複数のキーワードの中から、各グループ文字列に対する各部分文字列の照合率が最大となるキーワードをそれぞれ抽出して、当該抽出された各キーワードについて一致文字数をそれぞれ取得して、当該取得された各一致文字数を用いて帳票種ごとに当該帳票種である可能性を評価した評価値を算出することを特徴とする請求項１に記載の帳票種識別プログラム。
【請求項９】
帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別方法であって、
各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワード情報を記憶部にそれぞれ記憶する帳票種識別情報記憶工程と、
前記帳票種識別情報記憶工程により記憶部に記憶されている前記複数のキーワード情報を用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワード情報ごとにそれぞれ生成する部分文字列生成工程と、
前記文字情報および前記罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに、当該生成された各グループ文字列を配列する文字列配列工程と、
前記文字列配列工程により配列された各グループ文字列と、前記部分文字列生成工程により生成された各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数を前記キーワード情報ごとに取得して、当該取得された各一致文字数を用いて、帳票種ごとに当該帳票種である可能性を評価した評価値を算出する部分文字列照合工程と、
前記部分文字列照合工程により帳票種ごとに算出された各評価値に基づいて、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定する帳票種決定工程と、
を含んだことを特徴とする帳票種識別方法。
【請求項１０】
帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別装置であって、
各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワード情報をそれぞれ記憶する帳票種識別情報記憶手段と、
前記帳票種識別情報記憶手段により記憶されている前記複数のキーワード情報を用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワード情報ごとにそれぞれ生成する部分文字列生成手段と、
前記文字情報および前記罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに、当該生成された各グループ文字列を配列する文字列配列手段と、
前記文字列配列手段により配列された各グループ文字列と、前記部分文字列生成手段により生成された各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数を前記キーワード情報ごとに取得して、当該取得された各一致文字数を用いて、帳票種ごとに当該帳票種である可能性を評価した評価値を算出する部分文字列照合手段と、
前記部分文字列照合手段により帳票種ごとに算出された各評価値に基づいて、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定する帳票種決定手段と、
を備えたことを特徴とする帳票種識別装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別処理をコンピュータに実行させる帳票種識別プログラム、当該帳票種識別プログラムに対応する帳票種識別方法および帳票種識別装置に関する。
【背景技術】
【０００２】
従来より、紙帳票上に書き込まれた文字情報などを認識し、認識したデータを自動入力することを目的として、あらかじめ保持する帳票識別情報に基づいて、一旦、帳票種を識別する技術が存在する。ここで、帳票識別情報とは、帳票上の文字情報や罫線情報、帳票種を特定するための識別ＩＤなどのことをいう。【０００３】
例えば、特許文献１では、入力を受け付けた帳票データに対する文字認識結果に基づいて抽出されたグループ文字列と、各帳票種についてあらかじめ保持する帳票識別用のキーワード（頻繁に使用される文字を帳票ごとに管理したもの）とを照合することにより帳票種を識別する技術が開示されている。【０００４】
【特許文献１】特開２００１−２０２４６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上記した従来の技術は、以下に説明するようなことから、精度の高い帳票種の識別を実現することができない場合があるといった問題点があった。【０００６】
すなわち、入力を受け付けた帳票データの中には説明文や注釈といった不要な文字列が数多く含まれているので、あらかじめ保持する帳票識別用のキーワードに対応するようなグループ文字列自体を抽出するのが困難である。それゆえ、例えば、「納品書」が任意の帳票に関する帳票識別用の一つのキーワードとして保持されており、入力された帳票データから「納品書（兼領収書）」というグループ文字列が抽出された場合には、帳票種識別用のキーワードがグループ文字列の照合に対して機能せず、精度の高い帳票種の識別を実現することができない場合があるという問題点があった。【０００７】
また、入力を受け付けた帳票データの中に３文字からなる文字列が１文字誤りの状態で存在する場合には、この文字列の文字認識率は６７％となり、不適合とされてキーワードとして抽出されないのが通常である。それゆえ、帳票データの中に３文字からなる文字列が１文字誤りの状態で存在する場合には、帳票種を識別するために重要なタイトル文字列として使用される、例えば、「申込書」、「納品書」、「見積書」などいった３文字からなる文字列がキーワードとして抽出されることはないので、結果として、精度の高い帳票種の識別を実現することができない場合があるという問題点があった。【０００８】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、精度の高い帳票種の識別を実現することが可能な帳票種識別プログラム、帳票種識別方法および帳票種識別装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するため、請求項１に係る発明は、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別処理をコンピュータに実行させる帳票種識別プログラムであって、各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワード情報を記憶部にそれぞれ記憶する帳票種識別情報記憶手順と、前記帳票種識別情報記憶手順により記憶部に記憶されている前記複数のキーワード情報を用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワード情報ごとにそれぞれ生成する部分文字列生成手順と、前記文字情報および前記罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに、当該生成された各グループ文字列を配列する文字列配列手順と、前記文字列配列手順により配列された各グループ文字列と、前記部分文字列生成手順により生成された各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数を前記キーワード情報ごとに取得して、当該取得された各一致文字数を用いて、帳票種ごとに当該帳票種である可能性を評価した評価値を算出する部分文字列照合手順と、前記部分文字列照合手順により帳票種ごとに算出された各評価値に基づいて、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定する帳票種決定手順と、をコンピュータに実行させることを特徴とする。【００１０】
また、請求項２に係る発明は、上記の発明において、前記帳票種決定手順は、前記部分文字列照合手順により帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定することを特徴とする。【００１１】
また、請求項３に係る発明は、上記の発明において、前記帳票種決定手順は、前記部分文字列照合手順により帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、当該閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、当該複数存在する帳票種を当該評価値の高低に応じて順位付けすることを特徴とする。【００１２】
また、請求項４に係る発明は、上記の発明において、前記帳票種決定手順は、前記部分文字列照合手順により帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、当該閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、最も評価値の高い帳票種に決定することを特徴とする。【００１３】
また、請求項５に係る発明は、上記の発明において、前記文字列配列手順は、前記文字情報および前記罫線情報から前記グループ文字列内に罫線が存在することが判明した場合には、当該グループ文字列を罫線で分割することを特徴とする。【００１４】
また、請求項６に係る発明は、上記の発明において、前記帳票種識別情報記憶手順は、前記複数のキーワードごとに使用の可否を規定した使用可否情報をさらに記憶部に記憶し、前記帳票種識別情報記憶手順により記憶部に記憶されている前記使用可否情報に基づいて、当該記憶部に記憶されている複数のキーワード情報の中から、使用が許可されているキーワード情報を選択するキーワード選択手順をさらにコンピュータに実行させ、前記部分文字列生成手順は、前記キーワード選択手順により選択されたキーワード情報を用いて前記複数の部分文字列をそれぞれ生成することを特徴とする。【００１５】
また、請求項７に係る発明は、上記の発明において、前記帳票種決定手順は、前記部分文字列照合手順により帳票種ごとに各評価値が算出される度に、当該各評価値に基づいて当該帳票種の候補を絞り込み、前記帳票種決定手順により帳票種の候補が絞り込まれる度に、前記帳票種識別情報記憶手順により記憶部に記憶されている前記複数のキーワード情報の中から、当該絞り込まれた帳票種の候補を加味してキーワード情報を変更するキーワード情報変更手順をさらにコンピュータに実行させ、前記部分文字列生成手順は、前記キーワード情報変更手順によりキーワード情報が変更される度に、当該変更されたキーワード情報を用いて前記複数の部分文字列をそれぞれ生成し、前記部分文字列照合手順は、前記部分文字列生成手順により前記複数の部分文字列が生成される度に、前記文字列配列手順により配列された各グループ文字列と、前記部分文字列生成手順により生成された各部分文字列とをそれぞれ照合して、各グループ文字列を構成する文字列と各部分文字列との一致度を評価した評価値を帳票種ごとに算出することを特徴とする。【００１６】
また、請求項８に係る発明は、上記の発明において、前記帳票種識別情報記憶手順は、各帳票種に対応付けて、意味が同一のグループごとに前記複数のキーワード情報を記憶部にそれぞれ記憶し、前記部分文字列照合手順は、前記文字列配列手順により配列された各グループ文字列と、前記部分文字列生成手順により生成された各部分文字列とをそれぞれ照合し、前記各グループ内の複数のキーワードの中から、各グループ文字列に対する各部分文字列の照合率が最大となるキーワードをそれぞれ抽出して、当該抽出された各キーワードについて一致文字数をそれぞれ取得して、当該取得された各一致文字数を用いて帳票種ごとに当該帳票種である可能性を評価した評価値を算出することを特徴とする。【００１７】
また、請求項９に係る発明は、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別方法であって、各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワード情報を記憶部にそれぞれ記憶する帳票種識別情報記憶工程と、前記帳票種識別情報記憶工程により記憶部に記憶されている前記複数のキーワード情報を用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワード情報ごとにそれぞれ生成する部分文字列生成工程と、前記文字情報および前記罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに、当該生成された各グループ文字列を配列する文字列配列工程と、前記文字列配列工程により配列された各グループ文字列と、前記部分文字列生成工程により生成された各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数を前記キーワード情報ごとに取得して、当該取得された各一致文字数を用いて、帳票種ごとに当該帳票種である可能性を評価した評価値を算出する部分文字列照合工程と、前記部分文字列照合工程により帳票種ごとに算出された各評価値に基づいて、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定する帳票種決定工程と、を含んだことを特徴とする。【００１８】
また、請求項１０に係る発明は、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別装置であって、各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワード情報をそれぞれ記憶する帳票種識別情報記憶手段と、前記帳票種識別情報記憶手段により記憶されている前記複数のキーワード情報を用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワード情報ごとにそれぞれ生成する部分文字列生成手段と、前記文字情報および前記罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに、当該生成された各グループ文字列を配列する文字列配列手段と、前記文字列配列手段により配列された各グループ文字列と、前記部分文字列生成手段により生成された各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数を前記キーワード情報ごとに取得して、当該取得された各一致文字数を用いて、帳票種ごとに当該帳票種である可能性を評価した評価値を算出する部分文字列照合手段と、前記部分文字列照合手段により帳票種ごとに算出された各評価値に基づいて、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定する帳票種決定手段と、を備えたことを特徴とする。
【発明の効果】
【００１９】
本発明によれば、各帳票種（例えば、「申込書」や「納品書」、「見積書」など）に対応付けて、帳票種を識別するためのキーとなる複数のキーワード情報（例えば、「申込書」であれば、「申込書」、「申込日」、「住所」、「氏名」などの帳票上に記入されている情報）を記憶部にそれぞれ記憶し、記憶部に記憶されている複数のキーワード情報を用いて、帳票上に記入された文字列と照合するための複数の部分文字列（例えば、「申込書」であれば、「申込」、「込書」および「申書」など３文字中２文字からなる文字列）をキーワード情報ごとにそれぞれ生成し、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに配列し、各グループ文字列と各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数をキーワード情報ごとに取得して、取得された各一致文字数を用いて、帳票種ごとにその帳票種である可能性を評価した評価値（例えば、グループ文字列と部分文字列との一致文字数を全キーワードの文字数で除算した値）を算出し、帳票種ごとに算出された各評価値に基づいて、文字情報および罫線情報が記入された帳票に対する帳票種を決定するので、あらかじめ保持する帳票識別用のキーワードに対応するようなグループ文字列の抽出にとらわれることなく、精度の高い帳票種の識別を実現することが可能である。また、帳票上に記入された文字列の中に誤りが存在する、あるいは、文字列の認識結果に誤りがある場合であっても、部分文字列を用いた照合によって部分的な一致を加味した評価値を算出することができ、精度の高い帳票種の識別を実現することが可能である。【００２０】
また、本発明によれば、帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、文字情報および罫線情報が記入された帳票に対する帳票種を決定するので、簡易な方法で帳票種を決定することが可能である。【００２１】
また、本発明によれば、帳票種ごとに算出された各評価値が帳票種ごとに規定された閾値を超えているか否か判定して、閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、複数存在する帳票種を評価値の高低に応じて順位付けするので、帳票種の候補を順位付けしてユーザに提供することが可能である。【００２２】
また、本発明によれば、帳票種ごとに算出された各評価値が帳票種ごとに規定された閾値を超えているか否か判定して、閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、最も評価値の高い帳票種に決定するので、帳票種の候補として最も確からしいものをユーザに提供することが可能である。【００２３】
また、本発明によれば、文字情報および罫線情報からグループ文字列内に罫線が存在することが判明した場合には、グループ文字列を罫線で分割するので、正規の語句を構成する範囲でグループ文字列を分割することが可能である。【００２４】
また、本発明によれば、複数のキーワードごとに使用の可否を規定した使用可否情報をさらに記憶部に記憶し、記憶部に記憶されている使用可否情報に基づいて、複数のキーワード情報の中から使用が許可されているキーワード情報を選択し、選択されたキーワード情報を用いて複数の部分文字列をそれぞれ生成するので、あらかじめ保持するキーワードの中から必要なキーワードのみを使用することができ、また、全てのキーワードで処理を行うのに比較して処理時間を少なくすることが可能である。【００２５】
また、本発明によれば、帳票種ごとに各評価値が算出される度に、各評価値に基づいて帳票種の候補を絞り込み（例えば、最も評価値の低いものを除外するなど、帳票種として可能性のあるものに絞り込む）、帳票種の候補が絞り込まれる度に記憶部に記憶されている複数のキーワード情報の中から、絞り込まれた帳票種の候補に応じてキーワード情報を変更し、キーワード情報が変更される度に、変更されたキーワード情報を用いて複数の部分文字列をそれぞれ生成し、複数の部分文字列が生成される度に、各グループ文字列と各部分文字列とをそれぞれ照合して、各グループ文字列を構成する文字列と各部分文字列との一致度を評価した評価値を帳票種ごとに算出するので、明らかに不要な帳票種のキーワードを用いて処理を行うことなく、処理時間および処理回数を低減させることが可能であるとともに、より精度の高い帳票種の識別を実現することが可能である。【００２６】
また、本発明によれば、各帳票種に対応付けて、意味が同一のグループごとに前記複数のキーワード情報を記憶部にそれぞれ記憶し、各グループ文字列と各部分文字列とをそれぞれ照合して、各グループ内の複数のキーワードの中から、各グループ文字列に対する各部分文字列の照合率が最大となるキーワードをそれぞれ抽出して、抽出された各キーワードについて一致文字数をそれぞれ取得して、取得された各一致文字数を用いて帳票種ごとに当該帳票種である可能性を評価した評価値を算出するので、精度の高い帳票種の識別を実現することが可能である。すなわち、例えば、帳票種「申込書」において「申込日」と「記入日」とが同一の意味を持つ一つのグループとして取り扱い、「申込日」および「記入日」から生成された部分文字列と、入力された文字情報および罫線情報から生成されたグループ文字列との一致度のうち、「申込日」から生成された部分文字列との一致度が高ければ、「申込日」から生成された部分文字列との一致文字数を用いて評価値を算出するので、評価値を低下させることなく、精度の高い帳票種の識別を実現することができる。
【図面の簡単な説明】
【００２７】
【図１】図１は、実施例１に係る帳票種識別装置の概要および特徴を説明するための図である。
【図２】図２は、実施例１に係る部分文字列の生成を説明するための図である。
【図３】図３は、実施例１に係る帳票種識別装置の構成を示すブロック図である。
【図４】図４は、実施例１に係る帳票種識別情報ＤＢに記憶される情報の構成例を示す図である。
【図５】図５は、実施例１に係る文字列の整列例を示す図である。
【図６】図６は、実施例１に係るグループ文字列の生成方法を示す図である。
【図７】図７は、実施例１に係るグループ文字列と部分文字列との照合方法を示す図である。
【図８】図８は、実施例１に係るグループ文字列と部分文字列との照合方法を示す図である。
【図９】図９は、実施例１に係るグループ文字列と部分文字列との照合方法を示す図である。
【図１０】図１０は、実施例１に係るグループ文字列と部分文字列との照合例を示す図である。
【図１１】図１１は、実施例１に係る換算テーブルの構成例を示す図である。
【図１２】図１２は、実施例１に係る帳票種の出力例を示す図である。
【図１３】図１３は、実施例１に係る文字列整列処理の流れを示すフローチャートである。
【図１４】図１４は、実施例１に係る部分文字列生成処理の流れを示すフローチャートである。
【図１５】図１５は、実施例１に係る帳票種決定処理の流れを示すフローチャートである。
【図１６】図１６は、実施例２に係る帳票種識別情報ＤＢの構成例を図である。
【図１７】図１７は、実施例２に係るキーワードの選択例を示す図である。
【図１８】図１８は、実施例３に係る帳票種識別装置の構成を示すブロック図である。
【図１９】図１９は、実施例３に係るキーワード変更の流れを示す図である。
【図２０】図２０は、実施例４に係る帳票種識別情報ＤＢの構成例を図である。
【図２１】図２１は、帳票種識別プログラムを実行するコンピュータを示す図である。
【符号の説明】
【００２８】
１０  帳票種識別装置
１１  入力部
１２  出力部
１３  記憶部
１３ａ  帳票種識別情報ＤＢ
１４  制御部
１４ａ  文字認識部
１４ｂ  文字情報整列部
１４ｃ  部分文字列生成部
１４ｄ  文字列照合部
１４ｅ  帳票種決定部
１４ｆ  キーワード選択部
２０  コンピュータ
２１  入力部
２２  出力部
２３  ＨＤＤ（Hard  Disk  Drive）
２４  ＲＡＭ（Random  Access  Memory）
２５  ＲＯＭ（Read  Only  Memory）
２６  ＣＰＵ（Central  Processing  Unit）
３０  バス
【発明を実施するための最良の形態】
【００２９】
以下に添付図面を参照して、この発明に係る帳票種識別プログラム、帳票種識別方法および帳票種識別装置の実施例を詳細に説明する。なお、以下では、本発明に係る帳票種識別装置を実施例１として説明した後に、本発明に含まれる他の実施例を説明する。
【実施例１】
【００３０】
［帳票種識別装置の概要および特徴（実施例１）］
まず最初に、図１および図２を用いて、実施例１に係る帳票種識別装置の概要および特徴を説明する。図１は、実施例１に係る帳票種識別装置の概要および特徴を説明するための図である。図２は、実施例１に係る部分文字列の生成を説明するための図である。【００３１】
実施例１に係る帳票種識別装置は、帳票上に記入された文字列に関する文字情報（帳票上の座標からなる位置情報や文字を特定するための文字コードからなる情報）、および罫線に関する罫線情報（罫線の始点および終点を帳票上の座標で示す情報やセル情報からなる情報）の入力を受け付けて、文字情報および罫線情報が記入された帳票の帳票種（例えば、「申込書」や「納品書」などの帳票の種別）を識別することを概要とするが、精度の高い帳票種の識別を実現することが可能である点に主たる特徴がある。【００３２】
この主たる特徴について具体的に説明すると、実施例１に係る帳票種識別装置は、図１に示すように、各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワードを記憶した帳票種識別情報ＤＢをあらかじめ保持する。【００３３】
そして、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けると、実施例１に係る帳票種識別装置は、帳票上に記入された文字列を整列する（図１の（１）参照）。具体的に説明すると、文字情報および罫線情報に基づいて、帳票上に記入された全ての文字を左から一列に整列させ、整列された文字列を横方向に見た場合に、文字の高さが重複する範囲で文字列を分割したグループ文字列をそれぞれ生成して整列する。なお、実施例１に係る帳票種識別装置は、グループ文字列を生成した後、グループ文字列内に罫線が含まれている場合には、罫線でグループ文字列をさらに分割して整列する。【００３４】
また、実施例１に係る帳票種識別装置は、帳票種識別情報ＤＢに記憶されている複数のキーワードを用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワードごとにそれぞれ生成する（図１の（２）参照）。【００３５】
図２を用いて、具体的に説明すると、実施例１に係る帳票種識別装置は、例えば、ユーザから部分文字列の文字数の入力を受け付けると、帳票種識別情報ＤＢ１３ａから帳票種ごとに全てのキーワードを読み込む。そして、例えば、帳票種「申込書」のキーワードとして帳票種識別情報ＤＢに記憶されている３文字のキーワード「申込書」から２文字の部分文字列を生成する場合には、キーワード上のそれぞれの文字「申」、「込」、「書」を「０」または「１」に見立てて、重複することなく２文字にだけ「１」を割り当てる。次に、「１」が割り当てられた部分を文字とみなした文字列を全て抜き出すことにより、部分文字列（０：「申書」、１：「申込」、２：「込書」）を生成する。なお、「１」を割り当てる位置は、３から６までを２進数で表現することにより取得する。【００３６】
次に、実施例１に係る帳票種識別装置は、整列した各グループ文字列と生成した各部分文字列とをそれぞれ照合する（図１の（３）参照）。具体的に説明すると、まず、実施例１に係る帳票種識別装置は、ＤＰ（Ｄｙｎａｍｉｃ  Ｐｒｏｇｒａｍｍｉｎｇ）マッチングやグラフ理論などの一般的な文字認識手法を用いて、各グループ文字列と各部分文字列とを照合する。【００３７】
そして、実施例１に係る帳票種識別装置は、照合に成功した各部分文字列について、各グループ文字列に対する各部分文字列の照合率が最大の時の正解文字数をキーワードごとに取得する。例えば、ある３つのグループ文字列と、キーワード「申込書」から生成された２文字の各部分文字列（「申書」、「申込」、「込書」の３つ）との照合率（部分文字列の正解数をその部分文字列の元となるキーワードの文字数で除算した値）が６６％、５０％、２５％であった場合には、照合率が最大である６６％の時の正解文字数を取得する。なお、正解文字数は、部分文字列の文字数とグループ文字列に対する部分文字列の正解数と用いて換算することにより取得される。【００３８】
キーワードごとに各正解文字数を取得した後、実施例１に係る帳票種識別装置は、各正解文字数を用いて帳票種ごとにその帳票種である可能性を評価した評価値を算出して帳票種を決定する（図１の（４）参照）。具体的に説明すると、実施例１に係る帳票種識別装置は、帳票種ごとに、各正解文字数の総数を各キーワードで使用されている文字の総数で除算して評価値を算出する。そして、帳票種ごとに算出した各評価値が帳票種ごとに規定された閾値を超えているか否か判定し、判定の結果、閾値を超えていない評価値に対応する帳票種を切り捨てる。一方、判定の結果、閾値を超えている評価値に対応する帳票種が一つだけ存在する場合には、その帳票種に決定して出力し、閾値を超えている評価値に対応する帳票種が複数存在する場合には、各帳票種を評価値の高低に応じて順位付けして出力する。【００３９】
このようなことから、実施例１に係る帳票種識別装置は、上述した主たる特徴のごとく、精度の高い帳票種の識別を実現することが可能である。【００４０】
［帳票種識別装置の構成（実施例１）］
次に、図３〜図１２を用いて、実施例１に係る帳票種識別装置の構成を説明する。図３は、実施例１に係る帳票種識別装置の構成を示すブロック図である。図４は、実施例１に係る帳票種識別情報ＤＢに記憶される情報の構成例を示す図である。図５は、実施例１に係る文字列の整列例を示す図である。図６は、実施例１に係るグループ文字列の生成方法を示す図である。図７〜図９は、実施例１に係るグループ文字列と部分文字列との照合方法を示す図である。図１０は、実施例１に係るグループ文字列と部分文字列との照合例を示す図である。図１１は、実施例１に係る換算テーブルの構成例を示す図である。図１２は、実施例１に係る帳票種の出力例を示す図である。【００４１】
図３に示すように、実施例１に係る帳票種識別装置１０は、入力部１１と、出力部１２と、記憶部１３と、制御部１４とから構成される。なお、同図では、実施例１に係る帳票種識別装置を実現する上で必要となる処理部のみを記載し、その他の処理部については記載を省略する。【００４２】
このうち、入力部１１は、各種の情報の入力を受付ける入力部であり、キーボードやマウス、マイクなどを備えて構成され、例えば、キーワードから生成する部分文字列長（文字数）などを受け付けて入力する。なお、入力部１１に、データ読取機能をさらに備えておいて、帳票の画像データを読み取って後述する文字認識部１４ａに出力する。【００４３】
また、出力部１２は、各種の情報を出力する出力部であり、モニタ（若しくはディスプレイ、タッチパネル）やスピーカを備えて構成され、例えば、入力部１１により読み込まれた帳票の画像データを表示出力する他、後述する帳票種決定部１４ｅによる処理結果を表示出力する。【００４４】
記憶部１３は、制御部１４による各種処理に必要なデータおよびプログラムを記憶する記憶部であり、特に本発明に密接に関連するものとしては、帳票種識別情報ＤＢ１３ａを備える。【００４５】
この帳票種識別情報ＤＢ１３ａは、後述する部分文字列生成部１４ｃによる部分文字列生成処理に必要な情報を記憶する記憶部であり、具体的には、図４に例示するように、帳票種（例えば、「納品書」、「見積書」、「申込書」など）に対応付けて、帳票種を識別するためのキーとなる複数のキーワード（例えば、「納品書」、「納品日」、「合計金額」など）を記憶して構成される。【００４６】
制御部１４は、所定の制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとしては、文字認識部１４ａ、文字情報整列部１４ｂと、部分文字列生成部１４ｃと、文字列照合部１４ｄと、帳票種決定部１４ｅとを備える。【００４７】
このうち、文字認識部１４ａは、帳票の画像データから文字情報および罫線情報を取得する処理部である。具体的に説明すると、入力部１１から受け付けた帳票の画像データから、文字情報（帳票上の座標からなる位置情報や文字を特定するための文字コードからなる情報）、および罫線に関する罫線情報（罫線の始点および終点を帳票上の座標で示す情報やセル情報からなる情報）を取得して文字情報整列部１４ｂに出力する。【００４８】
文字情報整列部１４ｂは、文字認識部１４ａから受け付けた文字情報および罫線情報に基づいて、帳票上に記入された文字列を整列する処理部である。具体的に説明すると、図５に例示するように、文字情報および前記罫線情報に基づいて、全ての文字を左から一列に整列させた後、整列された文字列を横方向に見た場合に、文字の高さが重複する範囲で文字列を分割したグループ文字列（例えば、第１グループから第７グループまでのグループ文字列）をそれぞれ生成して整列する。【００４９】
すなわち、文字情報整列部１４ｂは、全ての文字を左から一列に整列させた後、整列された文字列を横方向に見て、図６に例示するように、例えば、「申」の文字の高さと、「「申」の右側に位置する「込」の文字の高さとが重複するか否かを見る。そして、「申」の文字の高さと「込」の文字の高さとが重複する場合にはグループとして取り扱い、「申込」の文字列の高さと、「込」の右側に位置する「書」の文字の高さとが重複するか否か見て、重複する場合にはグループとして取り扱う。なお、グループ文字列を生成した後、グループ文字列内に罫線が含まれている場合には、罫線でグループ文字列をさらに分割して整列する。【００５０】
なお、帳票上に記入された文字列が縦書きで存在する場合には、上記に説明したように帳票上に記入された文字列が横書きで存在する場合と同様の処理を行う。すなわち、文字情報整列部１４ｂは、全ての文字を上から一列に整列させた後、整列された文字列を縦方向に見て、例えば、文字の幅が重複する場合にはグループ文字列として取り扱う。【００５１】
部分文字列生成部１４ｃは、帳票種識別情報ＤＢ１３ａに記憶されている複数のキーワードを用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワードごとにそれぞれ生成する処理部である。【００５２】
具体的に説明すると、部分文字列生成部１４ｃは、入力部１１を介して部分文字列の文字数の入力を受け付けると、帳票種識別情報ＤＢ１３ａから帳票種ごとに全てのキーワードを読み込む。そして、例えば、帳票種「申込書」のキーワードとして帳票種識別情報ＤＢ１３ａに記憶されている３文字のキーワード「申込書」から２文字の部分文字列を生成する場合には、キーワード上のそれぞれの文字「申」、「込」、「書」を「０」または「１」に見立てて、重複することなく２文字にだけ「１」を割り当てる。次に、「１」が割り当てられた部分を文字とみなした文字列を全て抜き出することにより、部分文字列（０：「申書」、１：「申込」、２：「込書」）を生成する。【００５３】
なお、「１」を割り当てる位置は、例えば、３文字のキーワードから２文字の部分文字列を生成する場合には、３から６までを２進数で変換して、「０」および「１」からなる２値表現を生成することにより取得される。【００５４】
文字列照合部１４ｄは、文字情報整列部１４ｂにより生成整列された各グループ文字列と、部分文字列生成部１４ｃにより生成された各部分文字列とをそれぞれ照合する処理部である。具体的に説明すると、まず、図７〜図９に例示するように、ＤＰ（Ｄｙｎａｍｉｃ  Ｐｒｏｇｒａｍｍｉｎｇ）マッチングやグラフ理論などの一般的な文字認識手法を用いて、各グループ文字列と各部分文字列とを照合する。【００５５】
そして、文字列照合部１４ｄは、照合に成功した各部分文字列について、各グループ文字列に対する各部分文字列の照合率が最大の時の正解文字数をキーワードごとに取得する。【００５６】
まず、図１０に例示すように、グループ文字列「申込書」と、キーワード「申込書」から生成された２文字の各部分文字列（「申書」、「申込」、「込書」の３つ）とを照合すると、部分文字列の正解数は“３”で部分文字列の文字数が“２”となる。この部分文字列の正解数“３”および部分文字列の文字数“２”を図１１に例示するような換算テーブルにあてはめることにより正解文字数を換算する。詳細には、部分文字列の文字数が“２”の場合には換算テーブルの「ｍ＝２」の行を部分文字列の正解数が“３”の位置まで進む。そして、その列の最上段に記載された換算テーブルの「ｎ’」の値、つまり、「ｎ’＝３」がキーワード「申込書」の正解文字数となる。【００５７】
同様に、グループ文字列「申辺書」と、キーワード「申込書」から生成された２文字の各部分文字列（「申書」、「申込」、「込書」の３つ）とを照合する場合（図１０参照）を例に挙げると、部分文字列の正解数は“１”で部分文字列の文字数が“２”となるので、換算テーブルにあてはめると正解文字数は「ｎ’＝２」となる。【００５８】
このように、グループ文字列によって同じキーワードでも正解文字数が異なるので、例えば、ある３つのグループ文字列と、キーワード「申込書」から生成された２文字の各部分文字列（「申書」、「申込」、「込書」の３つ）との照合率が６６％、５０％、２５％であった場合には、照合率が最大である６６％の時の正解文字数を取得する。ここで、照合率とは、部分文字列の正解数をその部分文字列の元となるキーワードの文字数で除算した値とする。このようにして、キーワードから生成した部分文字列で照合を行うことで、グループ文字列に誤り文字がある場合にも対応できる。【００５９】
帳票種決定部１４ｅは、文字列照合部１４ｄにおいてキーワードごとに取得された各正解文字数を用いて、帳票種ごとにその帳票種である可能性を評価した評価値を算出して帳票種を決定する処理部である。具体的に説明すると、帳票種ごとに、各正解文字数の総数を各キーワードで使用されている文字の総数で除算して評価値を算出する。そして、帳票種ごとに算出した各評価値が帳票種ごとに規定された閾値を超えているか否か判定し、判定の結果、閾値を超えていない各評価値に対応する帳票種をそれぞれ切り捨て、閾値を超えている評価値に対応する帳票種が一つだけ存在する場合は、その帳票種に決定して出力する。【００６０】
また、帳票種決定部１４ｅは、帳票種ごとに算出した評価値が帳票種ごとに規定された閾値を超えているか否か判定した結果、閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、各帳票種を評価値の高低に応じて順位付けして出力するようにしてもよいし（図１２参照）、評価値の最も高い帳票種に決定して出力するようにしてもよい。【００６１】
［帳票種識別装置の処理（実施例１）］
続いて、図１３〜図１５を用いて、実施例１に係る帳票種識別装置の処理を説明する。図１３は、実施例１に係る文字列整列処理の流れを示すフローチャートである。図１４は、実施例１に係る部分文字列生成処理の流れを示すフローチャートである。図１５は、実施例１に係る帳票種決定処理の流れを示すフローチャートである。【００６２】
［文字列整列処理（実施例１）］
まず、図１３を用いて、実施例１に係る文字列整列処理の流れを説明する。同図に示すように、文字情報整列部１４ｂは、文字認識部１４ａから受け付けた文字情報および罫線情報に基づいて、帳票上に記入された全ての文字を左から一列に整列させる（ステップＳ１３０１）。【００６３】
次に、文字情報整列部１４ｂは、整列された文字列をグループに分け（ステップＳ１３０２）、グループ文字列を生成する。具体的には、整列された文字列を横方向に見た場合に、文字の高さが重複する範囲（図５参照）で文字列を分割する。【００６４】
グループ文字列を生成した後、文字情報整列部１４ｂは、グループ文字列内に罫線が含まれている場合には、罫線でグループ文字列を分割して（ステップＳ１３０３）、整列させる。【００６５】
なお、帳票上に記入された文字列が縦書きで存在する場合には、上記に説明したように帳票上に記入された文字列が横書きで存在する場合と同様の処理を行う。すなわち、文字情報整列部１４ｂは、全ての文字を上から一列に整列させた後、整列された文字列を縦方向に見て、例えば、文字の幅が重複する場合にはグループ文字列として取り扱う。【００６６】
［部分文字列生成処理（実施例１）］
次に、図１４を用いて、実施例１に係る部分文字列生成処理の流れを説明する。同図に示すように、部分文字列生成部１４ｃは、入力部１１を介して部分文字列の文字数の入力を受け付けると（ステップＳ１４０１）、帳票種識別情報ＤＢ１３ａから帳票種ごとに全てのキーワードを読み込む（ステップＳ１４０２）。【００６７】
そして、部分文字列生成部１４ｃは、帳票種識別情報ＤＢ１３ａに記憶されている複数のキーワードを用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワードごとにそれぞれ生成する（ステップＳ１４０３）。【００６８】
具体的に説明すると、部分文字列生成部１４ｃは、例えば、帳票種「申込書」のキーワードとして帳票種識別情報ＤＢ１３ａに記憶されている３文字のキーワード「申込書」から２文字の部分文字列を生成する場合には、キーワード上のそれぞれの文字「申」、「込」、「書」を「０」または「１」に見立てて、重複することなく２文字にだけ「１」を割り当てる。次に、「１」が割り当てられた部分を文字とみなした文字列を全て抜き出すことにより、部分文字列（０：「申書」、１：「申込」、２：「込書」）を生成する。【００６９】
なお、「１」を割り当てる位置は、例えば、３文字のキーワードから２文字の部分文字列を生成する場合には、３から６までを２進数で変換して、「０」および「１」からなる２値表現を生成することにより取得される。【００７０】
［帳票種決定処理（実施例１）］
続いて、図１５を用いて、実施例１に係る帳票種決定処理の流れを説明する。同図に示すように、帳票種決定部１４ｅは、文字列照合部１４ｄにおいてキーワードごとに取得された各正解文字数を用いて、帳票種ごとにその帳票種である可能性を評価した評価値を算出する（ステップＳ１５０１）。【００７１】
そして、帳票種決定部１４ｅは、帳票種ごとに算出した各評価値が帳票種ごとに規定された閾値を超えているか否か判定し、判定の結果、閾値を超えていない各評価値に対応する帳票種をそれぞれ切り捨て（ステップＳ１５０２）、閾値を超えている評価値に対応する帳票種が一つだけ存在する場合は、その帳票種に決定して出力する。【００７２】
また、判定の結果、閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、各帳票種を評価値の高低に応じて順位付けして出力する（ステップＳ１５０３）。【００７３】
［実施例１による効果］
上述してきたように、実施例１によれば、各帳票種（例えば、「申込書」や「納品書」、「見積書」など）に対応付けて、帳票種を識別するためのキーとなる複数のキーワード（例えば、「申込書」であれば、「申込書」、「申込日」、「住所」、「氏名」などの帳票上に記入されている情報）を記憶部にそれぞれ記憶し、記憶部に記憶されている複数のキーワードを用いて、帳票上に記入された文字列と照合するための複数の部分文字列（例えば、「申込書」であれば、「申込」、「込書」および「申書」など３文字中２文字からなる文字列）をキーワードごとにそれぞれ生成し、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに配列し、各グループ文字列と各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数をキーワードごとに取得して、取得された各一致文字数を用いて、帳票種ごとにその帳票種である可能性を評価した評価値（例えば、グループ文字列と部分文字列との一致文字数を全キーワードの文字数で除算した値）を算出し、帳票種ごとに算出された各評価値に基づいて、文字情報および罫線情報が記入された帳票に対する帳票種を決定するので、あらかじめ保持する帳票識別用のキーワードに対応するようなグループ文字列の抽出にとらわれることなく、精度の高い帳票種の識別を実現することが可能である。また、帳票上に記入された文字列の中に誤りが存在する、あるいは、文字列の認識結果に誤りがある場合であっても、部分文字列を用いた照合によって部分的な一致を加味した評価値を算出することができ、精度の高い帳票種の識別を実現することが可能である。【００７４】
また、実施例１によれば、帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、文字情報および罫線情報が記入された帳票に対する帳票種を決定するので、簡易な方法で帳票種を決定することが可能である。【００７５】
また、実施例１によれば、帳票種ごとに算出された各評価値が帳票種ごとに規定された閾値を超えているか否か判定して、閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、複数存在する帳票種を評価値の高低に応じて順位付けするので、帳票種の候補を順位付けしてユーザに提供することが可能である。【００７６】
また、実施例１によれば、帳票種ごとに算出された各評価値が帳票種ごとに規定された閾値を超えているか否か判定して、閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、最も評価値の高い帳票種に決定するので、帳票種の候補として最も確からしいものをユーザに提供することが可能である。【００７７】
また、実施例１によれば、文字情報および罫線情報からグループ文字列内に罫線が存在することが判明した場合には、グループ文字列を罫線で分割するので、正規の語句を構成する範囲でグループ文字列を分割することが可能である。
【実施例２】
【００７８】
上記の実施例１では、帳票種識別情報ＤＢ１３ａから帳票種ごとに全てのキーワードを読み込んで、キーワードごとに複数の部分文字列を生成する場合を説明したが、本発明はこれに限定されるものではなく、使用するキーワードを任意に選択するようにしてもよい。【００７９】
具体的に説明すると、図１６に例示するように、キーワードごとに使用の可否を規定した使用フラグ（使用する場合を「０」、使用しない場合を「−１」としたフラグ）を帳票種識別情報ＤＢ１３ａに記憶しておく。そして、部分文字列生成部１４ｃは、使用フラグが「０」であるキーワードを選択して、帳票種識別情報ＤＢ１３ａから帳票種ごとに読み込み（図１７参照）、読み込んだキーワードごとに複数の部分文字列を生成する。【００８０】
このようなことから、実施例２によれば、複数のキーワードごとに使用の可否を規定した使用フラグを帳票種識別情報ＤＢ１３ａにさらに記憶し、記憶されている使用フラグに基づいて、複数のキーワード情報の中から使用が許可されているキーワード情報を選択し、選択されたキーワード情報を用いて複数の部分文字列を帳票種ごとにそれぞれ生成するので、あらかじめ保持するキーワードの中から必要なキーワードのみを使用することができ、また、全てのキーワードで処理を行うのに比較して処理時間を少なくすることが可能である。
【実施例３】
【００８１】
上記の実施例１では、各グループ文字列と各部分文字列とを照合結果から、そのまま帳票種を決定する場合を説明したが、本発明はこれに限定されるものではなく、帳票種決定処理の結果を利用してキーワードを変更し、変更したキーワードを用いて再帰的に処理を繰り返した後に帳票種を決定するようにしてもよい。そこで、以下では、図１８および図１９を用いて、実施例３に係る帳票種識別装置の構成を説明した後に、実施例３による効果を説明する。図１８は、実施例３に係る帳票種識別装置の構成を示すブロック図である。図１９は、実施例３に係るキーワード変更の流れを示す図である。【００８２】
［帳票種識別装置の構成（実施例３）］
まず、図１８を用いて、実施例３に係る帳票種識別装置の構成を説明する。実施例３に係る帳票種識別装置の構成は、実施例１に係る帳票種識別装置の構成と基本的には同様であるが、以下に説明する点が異なる。【００８３】
すなわち、帳票種識別情報ＤＢ１３ａは、所定の階層で区分したキーワードを帳票種ごとに記憶する（図１９参照）。階層で区分する方法の一例としては、帳票種に固有のキーワードから順に「０」階層目、「１」階層目といった形で区分することができる。【００８４】
キーワード選択部１４ｆは、「０」階層目のキーワードだけを選択して部分文字列を生成するように、部分文字列生成部１４ｃに対して指示を出力する（図１９参照）。【００８５】
上記の実施例１で説明したのと同様に、文字情報整列部１４ｂ、部分文字列生成部１４ｃおよび文字列照合部１４ｄにおいて処理が行われた後、帳票種決定部１４ｅは、帳票種ごとに算出した各評価値が帳票種ごとに規定された閾値を超えているか否か判定し、判定の結果、閾値を超えていない各評価値に対応した帳票種をそれぞれ切り捨てて、閾値を超えている各評価値に対応する帳票種を絞り込み、絞り込んだ各帳票種の情報をそれぞれキーワード選択部１４ｆに出力する。なお、各評価値が全て閾値を超えていない場合には、帳票種決定部１４ｅは、閾値を超えている評価値に対応する帳票種は存在しない旨をキーワード選択部１４ｆに出力する。【００８６】
キーワード選択部１４ｆは、帳票種決定部１４ｅから各帳票種の情報を受け付けると、受け付けた帳票種の情報に対応するキーワード情報の中から、「１」階層目のキーワードのみを選択して部分文字列を生成するように、部分文字列生成部１４ｃに対して指示を出力する。なお、キーワード選択部１４ｆは、帳票種決定部１４ｅから閾値を超えている評価値に対応する帳票種は存在しない旨を受け付けた場合には、全ての帳票種について「１」階層目のキーワードのみを選択して部分文字列を生成するように、部分文字列生成部１４ｃに対して指示を出力する（図１９参照）。【００８７】
そして、再び、部分文字列生成部１４ｃおよび文字列照合部１４ｄにおいて処理が行われた後、帳票種決定部１４ｅは、帳票種ごとに算出した各評価値が帳票種ごとに規定された閾値を超えているか否か判定し、判定の結果、閾値を超えていない評価値に対応する帳票種を切り捨てる。一方、閾値を超えている各評価値に対応する帳票種が、例えば、所定の数にまで絞り込まれた場合には、各帳票種を評価値の高低に応じて順位付けして出力するようにしてもよいし、評価値の最も高い帳票種に決定して出力するようにしてもよい。【００８８】
なお、部分文字列生成部１４ｃ、文字列照合部１４ｄ、帳票種決定部１４ｅおよびキーワード選択部１４ｆの間で再帰的に繰り返される処理の処理回数をあらかじめ設定しておいて、設定した処理回数に到達した時点の帳票種を出力するようにしてもよい。【００８９】
［実施例３による効果］
上述してきたように、実施例３によれば、帳票種ごとに各評価値が算出される度に、各評価値に基づいて帳票種の候補を絞り込み（例えば、最も評価値の低いものを除外するなど、帳票種として可能性のあるものに絞り込む）、帳票種の候補が絞り込まれる度に記憶部に記憶されている複数のキーワード情報の中から、絞り込まれた帳票種の候補に応じてキーワード情報を変更し、キーワード情報が変更される度に、変更されたキーワード情報を用いて複数の部分文字列をそれぞれ生成し、複数の部分文字列が生成される度に、各グループ文字列と各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数をキーワード情報ごとに取得して、取得された各一致文字数を用いて、帳票種ごとにその帳票種である可能性を評価した評価値を帳票種ごとに算出するので、明らかに不要な帳票種のキーワードを用いて処理を行うことなく、処理時間および処理回数を低減させることが可能であるとともに、より精度の高い帳票種の識別を実現することが可能である。
【実施例４】
【００９０】
さて、これまで本発明の実施例１〜実施例３について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。【００９１】
（１）グループごとキーワードを保持
上記の実施例において、意味が同一のグループごとに複数のキーワードを帳票種識別情報ＤＢ１３ａにそれぞれ記憶するようにしてもよい。具体的には、図２０に例示するように、帳票種「納品書」について、意味が同一の「納品日」、「搬入日」および「送付日」を「納品日」のキーワードグループとしてそれぞれ記憶する。【００９２】
そして、各グループ文字列と各部分文字列とをそれぞれ照合して、各グループ内の複数のキーワードの中から、各グループ文字列に対する各部分文字列の照合率が最大となるキーワードをそれぞれ抽出して（例えば、キーワードグループ「納品日」では、「納品日」、「搬入日」、「送付日」の中から照合率が最大のキーワードを抽出して）、上記に説明した実施例と同様に、抽出された各キーワードについて一致文字数をそれぞれ取得して、取得された各一致文字数を用いて帳票種ごとに当該帳票種である可能性を評価した評価値を算出するので、精度の高い帳票種の識別を実現することが可能である。【００９３】
すなわち、例えば、帳票種「申込書」において「申込日」と「記入日」とを同一の意味を持つ一つのグループとして取り扱い、「申込日」および「記入日」から生成された部分文字列と、帳票の文字情報および罫線情報から生成されたグループ文字列との照合度のうち、「申込日」から生成された部分文字列との照合度が高ければ、「申込日」から生成された部分文字列との一致文字数を用いて評価値を算出するので、評価値を低下させることなく、精度の高い帳票種の識別を実現することができる。【００９４】
（２）装置構成等
また、図３および図１８に示した帳票種識別装置１０の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、帳票種識別装置１０の分散・統合の具体的形態は図示のものに限られず、例えば、文字列照合部１４ｄと帳票種決定部１４ｅとを統合するなど、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、帳票種識別装置１０にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。【００９５】
（３）帳票種識別プログラム
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、図２１を用いて、上記の実施例と同様の機能を有する帳票種識別プログラムを実行するコンピュータの一例を説明する。図２１は、帳票種識別プログラムを実行するコンピュータを示す図である。【００９６】
同図に示すように、帳票種識別装置としてコンピュータ２０は、入力部２１、出力部２２と、ＨＤＤ２３、ＲＡＭ２４、ＲＯＭ２５およびＣＰＵ２６をバス３０で接続して構成される。なお、入力部２１および出力部２２は、図３または図１８に示した帳票種識別装置１０の入力部１１および出力部１２にそれぞれ対応する。【００９７】
そして、ＲＯＭ２５には、上記の実施例に示した帳票種識別装置と同様の機能を発揮する帳票種識別プログラム、つまり、図２１に示すように、文字認識プログラム２５ａ、文字情報整列プログラム２５ｂ、部分文字列生成プログラム２５ｃ、文字列照合プログラム２５ｄ、帳票種決定プログラム２５ｅおよびキーワード選択プログラム２５ｆがあらかじめ記憶されている。なお、これらのプログラム２５ａ、２５ｂ、２５ｃ、２５ｄ、２５ｅおよび２５ｆについては、図３または図１８に示した帳票種識別装置１０の各構成要素と同様、適宜統合または分散してもよい。なお、ＲＯＭ２５は、不揮発性の「ＲＡＭ」でもよい。【００９８】
そして、ＣＰＵ２６が、これらのプログラム２５ａ、２５ｂ、２５ｃ、２５ｄ、２５ｅおよび２５ｆをＲＯＭ２５から読み出して実行することで、図２１に示すように、各プログラム２５ａ、２５ｂ、２５ｃ、２５ｄ、２５ｅおよび２５ｆは、文字認識プロセス２６ａ、文字情報整列プロセス２６ｂ、部分文字列生成プロセス２６ｃ、文字列照合プロセス２６ｄ、帳票種決定プロセス２６ｅおよびキーワード選択プロセス２６ｆとして機能するようになる。なお、各プロセス２６ａ、２６ｂ、２６ｃ、２６ｄ、２６ｅおよび２６ｆは、図３または図１８に示した帳票種識別装置１０の文字認識部１４ａ、文字情報整列部１４ｂ、部分文字列生成部１４ｃ、文字列照合部１４ｄ、帳票種決定部１４ｅおよびキーワード選択部１４ｆにそれぞれ対応する。【００９９】
また、ＨＤＤ２３には、図２１に示すように、帳票種識別情報データテーブル２３ａが設けられる。なお、帳票種識別情報データテーブル２３ａは、図３または図１８に示した帳票種識別情報ＤＢ１３ａに対応する。そして、ＣＰＵ２６は、帳票種識別情報データテーブル２３ａから、帳票種識別情報データ２４ａを読み出してＲＡＭ２４に格納し、ＲＡＭ２４に格納された帳票種識別情報データ２４ａに基づいて処理を実行する。【０１００】
なお、上記した各プログラム２５ａ、２５ｂ、２５ｃ、２５ｄ、２５ｅおよび２５ｆについては、必ずしも最初からＲＯＭ２５に記憶させておく必要はなく、例えば、コンピュータ２０に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」、または、コンピュータ２０の内外に備えられるＨＤＤなどの「固定用の物理媒体」、さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ２０に接続される「他のコンピュータ（またはサーバ）」などに各プログラムを記憶させておき、コンピュータ２０がこれらから各プログラムを読み出して実行するようにしてもよい。
【産業上の利用可能性】
【０１０１】
以上のように、本発明に係る帳票種識別プログラム、帳票種識別方法および帳票種識別装置は、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別処理をコンピュータに実行させる場合等に有用であり、特に、精度の高い帳票種の識別を実現することに適する。
【図１】
2008107997.tif 000003
【図２】
2008107997.tif 000004
【図３】
2008107997.tif 000005
【図４】
2008107997.tif 000006
【図５】
2008107997.tif 000007
【図６】
2008107997.tif 000008
【図７】
2008107997.tif 000009
【図８】
2008107997.tif 000010
【図９】
2008107997.tif 000011
【図１０】
2008107997.tif 000012
【図１１】
2008107997.tif 000013
【図１２】
2008107997.tif 000014
【図１３】
2008107997.tif 000015
【図１４】
2008107997.tif 000016
【図１５】
2008107997.tif 000017
【図１６】
2008107997.tif 000018
【図１７】
2008107997.tif 000019
【図１８】
2008107997.tif 000020
【図１９】
2008107997.tif 000021
【図２０】
2008107997.tif 000022
【図２１】
2008107997.tif 000023
【手続補正書】
【提出日】平成21年4月16日(2009.4.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別処理をコンピュータに実行させる帳票種識別プログラムであって、
各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワード情報を記憶部にそれぞれ記憶する帳票種識別情報記憶手順と、
前記帳票種識別情報記憶手順により記憶部に記憶されている前記複数のキーワード情報を用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワード情報ごとにそれぞれ生成する部分文字列生成手順と、
前記文字情報および前記罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに、当該生成された各グループ文字列を配列する文字列配列手順と、
前記文字列配列手順により配列された各グループ文字列と、前記部分文字列生成手順により生成された各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数を前記キーワード情報ごとに取得して、当該取得された各一致文字数を用いて、帳票種ごとに当該帳票種である可能性を評価した評価値を算出する部分文字列照合手順と、
前記部分文字列照合手順により帳票種ごとに算出された各評価値に基づいて、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定する帳票種決定手順と、
をコンピュータに実行させることを特徴とする帳票種識別プログラム。
【請求項２】
前記帳票種決定手順は、前記部分文字列照合手順により帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定することを特徴とする請求項１に記載の帳票種識別プログラム。
【請求項３】
前記帳票種決定手順は、前記部分文字列照合手順により帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、当該閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、当該複数存在する帳票種を当該評価値の高低に応じて順位付けすることを特徴とする請求項１に記載の帳票種識別プログラム。
【請求項４】
前記帳票種決定手順は、前記部分文字列照合手順により帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、当該閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、最も評価値の高い帳票種に決定することを特徴とする請求項１に記載の帳票種識別プログラム。
【請求項５】
帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別方法であって、
各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワード情報を記憶部にそれぞれ記憶する帳票種識別情報記憶工程と、
前記帳票種識別情報記憶工程により記憶部に記憶されている前記複数のキーワード情報を用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワード情報ごとにそれぞれ生成する部分文字列生成工程と、
前記文字情報および前記罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに、当該生成された各グループ文字列を配列する文字列配列工程と、
前記文字列配列工程により配列された各グループ文字列と、前記部分文字列生成工程により生成された各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数を前記キーワード情報ごとに取得して、当該取得された各一致文字数を用いて、帳票種ごとに当該帳票種である可能性を評価した評価値を算出する部分文字列照合工程と、
前記部分文字列照合工程により帳票種ごとに算出された各評価値に基づいて、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定する帳票種決定工程と、
を含んだことを特徴とする帳票種識別方法。
【請求項６】
帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別装置であって、
各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワード情報をそれぞれ記憶する帳票種識別情報記憶手段と、
前記帳票種識別情報記憶手段により記憶されている前記複数のキーワード情報を用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワード情報ごとにそれぞれ生成する部分文字列生成手段と、
前記文字情報および前記罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに、当該生成された各グループ文字列を配列する文字列配列手段と、
前記文字列配列手段により配列された各グループ文字列と、前記部分文字列生成手段により生成された各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数を前記キーワード情報ごとに取得して、当該取得された各一致文字数を用いて、帳票種ごとに当該帳票種である可能性を評価した評価値を算出する部分文字列照合手段と、
前記部分文字列照合手段により帳票種ごとに算出された各評価値に基づいて、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定する帳票種決定手段と、
を備えたことを特徴とする帳票種識別装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別処理をコンピュータに実行させる帳票種識別プログラム、当該帳票種識別プログラムに対応する帳票種識別方法および帳票種識別装置に関する。
【背景技術】
【０００２】
従来より、紙帳票上に書き込まれた文字情報などを認識し、認識したデータを自動入力することを目的として、あらかじめ保持する帳票識別情報に基づいて、一旦、帳票種を識別する技術が存在する。ここで、帳票識別情報とは、帳票上の文字情報や罫線情報、帳票種を特定するための識別ＩＤなどのことをいう。
【０００３】
例えば、特許文献１では、入力を受け付けた帳票データに対する文字認識結果に基づいて抽出されたグループ文字列と、各帳票種についてあらかじめ保持する帳票識別用のキーワード（頻繁に使用される文字を帳票ごとに管理したもの）とを照合することにより帳票種を識別する技術が開示されている。
【０００４】
【特許文献１】特開２００１−２０２４６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上記した従来の技術は、以下に説明するようなことから、精度の高い帳票種の識別を実現することができない場合があるといった問題点があった。
【０００６】
すなわち、入力を受け付けた帳票データの中には説明文や注釈といった不要な文字列が数多く含まれているので、あらかじめ保持する帳票識別用のキーワードに対応するようなグループ文字列自体を抽出するのが困難である。それゆえ、例えば、「納品書」が任意の帳票に関する帳票識別用の一つのキーワードとして保持されており、入力された帳票データから「納品書（兼領収書）」というグループ文字列が抽出された場合には、帳票種識別用のキーワードがグループ文字列の照合に対して機能せず、精度の高い帳票種の識別を実現することができない場合があるという問題点があった。
【０００７】
また、入力を受け付けた帳票データの中に３文字からなる文字列が１文字誤りの状態で存在する場合には、この文字列の文字認識率は６７％となり、不適合とされてキーワードとして抽出されないのが通常である。それゆえ、帳票データの中に３文字からなる文字列が１文字誤りの状態で存在する場合には、帳票種を識別するために重要なタイトル文字列として使用される、例えば、「申込書」、「納品書」、「見積書」などいった３文字からなる文字列がキーワードとして抽出されることはないので、結果として、精度の高い帳票種の識別を実現することができない場合があるという問題点があった。
【０００８】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、精度の高い帳票種の識別を実現することが可能な帳票種識別プログラム、帳票種識別方法および帳票種識別装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するため、本発明は、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別処理をコンピュータに実行させる帳票種識別プログラムであって、各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワード情報を記憶部にそれぞれ記憶する帳票種識別情報記憶手順と、前記帳票種識別情報記憶手順により記憶部に記憶されている前記複数のキーワード情報を用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワード情報ごとにそれぞれ生成する部分文字列生成手順と、前記文字情報および前記罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに、当該生成された各グループ文字列を配列する文字列配列手順と、前記文字列配列手順により配列された各グループ文字列と、前記部分文字列生成手順により生成された各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数を前記キーワード情報ごとに取得して、当該取得された各一致文字数を用いて、帳票種ごとに当該帳票種である可能性を評価した評価値を算出する部分文字列照合手順と、前記部分文字列照合手順により帳票種ごとに算出された各評価値に基づいて、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定する帳票種決定手順と、をコンピュータに実行させることを特徴とする。
【００１０】
また、本発明は、上記の発明において、前記帳票種決定手順は、前記部分文字列照合手順により帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定することを特徴とする。
【００１１】
また、本発明は、上記の発明において、前記帳票種決定手順は、前記部分文字列照合手順により帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、当該閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、当該複数存在する帳票種を当該評価値の高低に応じて順位付けすることを特徴とする。
【００１２】
また、本発明は、上記の発明において、前記帳票種決定手順は、前記部分文字列照合手順により帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、当該閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、最も評価値の高い帳票種に決定することを特徴とする。
【００１３】
また、本発明は、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別方法であって、各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワード情報を記憶部にそれぞれ記憶する帳票種識別情報記憶工程と、前記帳票種識別情報記憶工程により記憶部に記憶されている前記複数のキーワード情報を用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワード情報ごとにそれぞれ生成する部分文字列生成工程と、前記文字情報および前記罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに、当該生成された各グループ文字列を配列する文字列配列工程と、前記文字列配列工程により配列された各グループ文字列と、前記部分文字列生成工程により生成された各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数を前記キーワード情報ごとに取得して、当該取得された各一致文字数を用いて、帳票種ごとに当該帳票種である可能性を評価した評価値を算出する部分文字列照合工程と、前記部分文字列照合工程により帳票種ごとに算出された各評価値に基づいて、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定する帳票種決定工程と、を含んだことを特徴とする。
【００１４】
また、本発明は、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けて、当該文字情報および当該罫線情報が記入された帳票の帳票種を識別する帳票種識別装置であって、各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワード情報をそれぞれ記憶する帳票種識別情報記憶手段と、前記帳票種識別情報記憶手段により記憶されている前記複数のキーワード情報を用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワード情報ごとにそれぞれ生成する部分文字列生成手段と、前記文字情報および前記罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに、当該生成された各グループ文字列を配列する文字列配列手段と、前記文字列配列手段により配列された各グループ文字列と、前記部分文字列生成手段により生成された各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数を前記キーワード情報ごとに取得して、当該取得された各一致文字数を用いて、帳票種ごとに当該帳票種である可能性を評価した評価値を算出する部分文字列照合手段と、前記部分文字列照合手段により帳票種ごとに算出された各評価値に基づいて、前記文字情報および前記罫線情報が記入された帳票に対する帳票種を決定する帳票種決定手段と、を備えたことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、各帳票種（例えば、「申込書」や「納品書」、「見積書」など）に対応付けて、帳票種を識別するためのキーとなる複数のキーワード情報（例えば、「申込書」であれば、「申込書」、「申込日」、「住所」、「氏名」などの帳票上に記入されている情報）を記憶部にそれぞれ記憶し、記憶部に記憶されている複数のキーワード情報を用いて、帳票上に記入された文字列と照合するための複数の部分文字列（例えば、「申込書」であれば、「申込」、「込書」および「申書」など３文字中２文字からなる文字列）をキーワード情報ごとにそれぞれ生成し、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに配列し、各グループ文字列と各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数をキーワード情報ごとに取得して、取得された各一致文字数を用いて、帳票種ごとにその帳票種である可能性を評価した評価値（例えば、グループ文字列と部分文字列との一致文字数を全キーワードの文字数で除算した値）を算出し、帳票種ごとに算出された各評価値に基づいて、文字情報および罫線情報が記入された帳票に対する帳票種を決定するので、あらかじめ保持する帳票識別用のキーワードに対応するようなグループ文字列の抽出にとらわれることなく、精度の高い帳票種の識別を実現することが可能である。また、帳票上に記入された文字列の中に誤りが存在する、あるいは、文字列の認識結果に誤りがある場合であっても、部分文字列を用いた照合によって部分的な一致を加味した評価値を算出することができ、精度の高い帳票種の識別を実現することが可能である。
【００１６】
また、本発明によれば、帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、文字情報および罫線情報が記入された帳票に対する帳票種を決定するので、簡易な方法で帳票種を決定することが可能である。
【００１７】
また、本発明によれば、帳票種ごとに算出された各評価値が帳票種ごとに規定された閾値を超えているか否か判定して、閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、複数存在する帳票種を評価値の高低に応じて順位付けするので、帳票種の候補を順位付けしてユーザに提供することが可能である。
【００１８】
また、本発明によれば、帳票種ごとに算出された各評価値が帳票種ごとに規定された閾値を超えているか否か判定して、閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、最も評価値の高い帳票種に決定するので、帳票種の候補として最も確からしいものをユーザに提供することが可能である。
【００１９】
また、本発明によれば、文字情報および罫線情報からグループ文字列内に罫線が存在することが判明した場合には、グループ文字列を罫線で分割するので、正規の語句を構成する範囲でグループ文字列を分割することが可能である。
【００２０】
また、本発明によれば、複数のキーワードごとに使用の可否を規定した使用可否情報をさらに記憶部に記憶し、記憶部に記憶されている使用可否情報に基づいて、複数のキーワード情報の中から使用が許可されているキーワード情報を選択し、選択されたキーワード情報を用いて複数の部分文字列をそれぞれ生成するので、あらかじめ保持するキーワードの中から必要なキーワードのみを使用することができ、また、全てのキーワードで処理を行うのに比較して処理時間を少なくすることが可能である。
【００２１】
また、本発明によれば、帳票種ごとに各評価値が算出される度に、各評価値に基づいて帳票種の候補を絞り込み（例えば、最も評価値の低いものを除外するなど、帳票種として可能性のあるものに絞り込む）、帳票種の候補が絞り込まれる度に記憶部に記憶されている複数のキーワード情報の中から、絞り込まれた帳票種の候補に応じてキーワード情報を変更し、キーワード情報が変更される度に、変更されたキーワード情報を用いて複数の部分文字列をそれぞれ生成し、複数の部分文字列が生成される度に、各グループ文字列と各部分文字列とをそれぞれ照合して、各グループ文字列を構成する文字列と各部分文字列との一致度を評価した評価値を帳票種ごとに算出するので、明らかに不要な帳票種のキーワードを用いて処理を行うことなく、処理時間および処理回数を低減させることが可能であるとともに、より精度の高い帳票種の識別を実現することが可能である。
【００２２】
また、本発明によれば、各帳票種に対応付けて、意味が同一のグループごとに前記複数のキーワード情報を記憶部にそれぞれ記憶し、各グループ文字列と各部分文字列とをそれぞれ照合して、各グループ内の複数のキーワードの中から、各グループ文字列に対する各部分文字列の照合率が最大となるキーワードをそれぞれ抽出して、抽出された各キーワードについて一致文字数をそれぞれ取得して、取得された各一致文字数を用いて帳票種ごとに当該帳票種である可能性を評価した評価値を算出するので、精度の高い帳票種の識別を実現することが可能である。すなわち、例えば、帳票種「申込書」において「申込日」と「記入日」とが同一の意味を持つ一つのグループとして取り扱い、「申込日」および「記入日」から生成された部分文字列と、入力された文字情報および罫線情報から生成されたグループ文字列との一致度のうち、「申込日」から生成された部分文字列との一致度が高ければ、「申込日」から生成された部分文字列との一致文字数を用いて評価値を算出するので、評価値を低下させることなく、精度の高い帳票種の識別を実現することができる。
【発明を実施するための最良の形態】
【００２３】
以下に添付図面を参照して、この発明に係る帳票種識別プログラム、帳票種識別方法および帳票種識別装置の実施例を詳細に説明する。なお、以下では、本発明に係る帳票種識別装置を実施例１として説明した後に、本発明に含まれる他の実施例を説明する。
【実施例１】
【００２４】
［帳票種識別装置の概要および特徴（実施例１）］
まず最初に、図１および図２を用いて、実施例１に係る帳票種識別装置の概要および特徴を説明する。図１は、実施例１に係る帳票種識別装置の概要および特徴を説明するための図である。図２は、実施例１に係る部分文字列の生成を説明するための図である。
【００２５】
実施例１に係る帳票種識別装置は、帳票上に記入された文字列に関する文字情報（帳票上の座標からなる位置情報や文字を特定するための文字コードからなる情報）、および罫線に関する罫線情報（罫線の始点および終点を帳票上の座標で示す情報やセル情報からなる情報）の入力を受け付けて、文字情報および罫線情報が記入された帳票の帳票種（例えば、「申込書」や「納品書」などの帳票の種別）を識別することを概要とするが、精度の高い帳票種の識別を実現することが可能である点に主たる特徴がある。
【００２６】
この主たる特徴について具体的に説明すると、実施例１に係る帳票種識別装置は、図１に示すように、各帳票種に対応付けて、帳票種を識別するためのキーとなる複数のキーワードを記憶した帳票種識別情報ＤＢをあらかじめ保持する。
【００２７】
そして、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報の入力を受け付けると、実施例１に係る帳票種識別装置は、帳票上に記入された文字列を整列する（図１の（１）参照）。具体的に説明すると、文字情報および罫線情報に基づいて、帳票上に記入された全ての文字を左から一列に整列させ、整列された文字列を横方向に見た場合に、文字の高さが重複する範囲で文字列を分割したグループ文字列をそれぞれ生成して整列する。なお、実施例１に係る帳票種識別装置は、グループ文字列を生成した後、グループ文字列内に罫線が含まれている場合には、罫線でグループ文字列をさらに分割して整列する。
【００２８】
また、実施例１に係る帳票種識別装置は、帳票種識別情報ＤＢに記憶されている複数のキーワードを用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワードごとにそれぞれ生成する（図１の（２）参照）。
【００２９】
図２を用いて、具体的に説明すると、実施例１に係る帳票種識別装置は、例えば、ユーザから部分文字列の文字数の入力を受け付けると、帳票種識別情報ＤＢ１３ａから帳票種ごとに全てのキーワードを読み込む。そして、例えば、帳票種「申込書」のキーワードとして帳票種識別情報ＤＢに記憶されている３文字のキーワード「申込書」から２文字の部分文字列を生成する場合には、キーワード上のそれぞれの文字「申」、「込」、「書」を「０」または「１」に見立てて、重複することなく２文字にだけ「１」を割り当てる。次に、「１」が割り当てられた部分を文字とみなした文字列を全て抜き出すことにより、部分文字列（０：「申書」、１：「申込」、２：「込書」）を生成する。なお、「１」を割り当てる位置は、３から６までを２進数で表現することにより取得する。
【００３０】
次に、実施例１に係る帳票種識別装置は、整列した各グループ文字列と生成した各部分文字列とをそれぞれ照合する（図１の（３）参照）。具体的に説明すると、まず、実施例１に係る帳票種識別装置は、ＤＰ（Ｄｙｎａｍｉｃ  Ｐｒｏｇｒａｍｍｉｎｇ）マッチングやグラフ理論などの一般的な文字認識手法を用いて、各グループ文字列と各部分文字列とを照合する。
【００３１】
そして、実施例１に係る帳票種識別装置は、照合に成功した各部分文字列について、各グループ文字列に対する各部分文字列の照合率が最大の時の正解文字数をキーワードごとに取得する。例えば、ある３つのグループ文字列と、キーワード「申込書」から生成された２文字の各部分文字列（「申書」、「申込」、「込書」の３つ）との照合率（部分文字列の正解数をその部分文字列の元となるキーワードの文字数で除算した値）が６６％、５０％、２５％であった場合には、照合率が最大である６６％の時の正解文字数を取得する。なお、正解文字数は、部分文字列の文字数とグループ文字列に対する部分文字列の正解数と用いて換算することにより取得される。
【００３２】
キーワードごとに各正解文字数を取得した後、実施例１に係る帳票種識別装置は、各正解文字数を用いて帳票種ごとにその帳票種である可能性を評価した評価値を算出して帳票種を決定する（図１の（４）参照）。具体的に説明すると、実施例１に係る帳票種識別装置は、帳票種ごとに、各正解文字数の総数を各キーワードで使用されている文字の総数で除算して評価値を算出する。そして、帳票種ごとに算出した各評価値が帳票種ごとに規定された閾値を超えているか否か判定し、判定の結果、閾値を超えていない評価値に対応する帳票種を切り捨てる。一方、判定の結果、閾値を超えている評価値に対応する帳票種が一つだけ存在する場合には、その帳票種に決定して出力し、閾値を超えている評価値に対応する帳票種が複数存在する場合には、各帳票種を評価値の高低に応じて順位付けして出力する。
【００３３】
このようなことから、実施例１に係る帳票種識別装置は、上述した主たる特徴のごとく、精度の高い帳票種の識別を実現することが可能である。
【００３４】
［帳票種識別装置の構成（実施例１）］
次に、図３〜図１２を用いて、実施例１に係る帳票種識別装置の構成を説明する。図３は、実施例１に係る帳票種識別装置の構成を示すブロック図である。図４は、実施例１に係る帳票種識別情報ＤＢに記憶される情報の構成例を示す図である。図５は、実施例１に係る文字列の整列例を示す図である。図６は、実施例１に係るグループ文字列の生成方法を示す図である。図７〜図９は、実施例１に係るグループ文字列と部分文字列との照合方法を示す図である。図１０は、実施例１に係るグループ文字列と部分文字列との照合例を示す図である。図１１は、実施例１に係る換算テーブルの構成例を示す図である。図１２は、実施例１に係る帳票種の出力例を示す図である。
【００３５】
図３に示すように、実施例１に係る帳票種識別装置１０は、入力部１１と、出力部１２と、記憶部１３と、制御部１４とから構成される。なお、同図では、実施例１に係る帳票種識別装置を実現する上で必要となる処理部のみを記載し、その他の処理部については記載を省略する。
【００３６】
このうち、入力部１１は、各種の情報の入力を受付ける入力部であり、キーボードやマウス、マイクなどを備えて構成され、例えば、キーワードから生成する部分文字列長（文字数）などを受け付けて入力する。なお、入力部１１に、データ読取機能をさらに備えておいて、帳票の画像データを読み取って後述する文字認識部１４ａに出力する。
【００３７】
また、出力部１２は、各種の情報を出力する出力部であり、モニタ（若しくはディスプレイ、タッチパネル）やスピーカを備えて構成され、例えば、入力部１１により読み込まれた帳票の画像データを表示出力する他、後述する帳票種決定部１４ｅによる処理結果を表示出力する。
【００３８】
記憶部１３は、制御部１４による各種処理に必要なデータおよびプログラムを記憶する記憶部であり、特に本発明に密接に関連するものとしては、帳票種識別情報ＤＢ１３ａを備える。
【００３９】
この帳票種識別情報ＤＢ１３ａは、後述する部分文字列生成部１４ｃによる部分文字列生成処理に必要な情報を記憶する記憶部であり、具体的には、図４に例示するように、帳票種（例えば、「納品書」、「見積書」、「申込書」など）に対応付けて、帳票種を識別するためのキーとなる複数のキーワード（例えば、「納品書」、「納品日」、「合計金額」など）を記憶して構成される。
【００４０】
制御部１４は、所定の制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとしては、文字認識部１４ａ、文字情報整列部１４ｂと、部分文字列生成部１４ｃと、文字列照合部１４ｄと、帳票種決定部１４ｅとを備える。
【００４１】
このうち、文字認識部１４ａは、帳票の画像データから文字情報および罫線情報を取得する処理部である。具体的に説明すると、入力部１１から受け付けた帳票の画像データから、文字情報（帳票上の座標からなる位置情報や文字を特定するための文字コードからなる情報）、および罫線に関する罫線情報（罫線の始点および終点を帳票上の座標で示す情報やセル情報からなる情報）を取得して文字情報整列部１４ｂに出力する。
【００４２】
文字情報整列部１４ｂは、文字認識部１４ａから受け付けた文字情報および罫線情報に基づいて、帳票上に記入された文字列を整列する処理部である。具体的に説明すると、図５に例示するように、文字情報および前記罫線情報に基づいて、全ての文字を左から一列に整列させた後、整列された文字列を横方向に見た場合に、文字の高さが重複する範囲で文字列を分割したグループ文字列（例えば、第１グループから第７グループまでのグループ文字列）をそれぞれ生成して整列する。
【００４３】
すなわち、文字情報整列部１４ｂは、全ての文字を左から一列に整列させた後、整列された文字列を横方向に見て、図６に例示するように、例えば、「申」の文字の高さと、「「申」の右側に位置する「込」の文字の高さとが重複するか否かを見る。そして、「申」の文字の高さと「込」の文字の高さとが重複する場合にはグループとして取り扱い、「申込」の文字列の高さと、「込」の右側に位置する「書」の文字の高さとが重複するか否か見て、重複する場合にはグループとして取り扱う。なお、グループ文字列を生成した後、グループ文字列内に罫線が含まれている場合には、罫線でグループ文字列をさらに分割して整列する。
【００４４】
なお、帳票上に記入された文字列が縦書きで存在する場合には、上記に説明したように帳票上に記入された文字列が横書きで存在する場合と同様の処理を行う。すなわち、文字情報整列部１４ｂは、全ての文字を上から一列に整列させた後、整列された文字列を縦方向に見て、例えば、文字の幅が重複する場合にはグループ文字列として取り扱う。
【００４５】
部分文字列生成部１４ｃは、帳票種識別情報ＤＢ１３ａに記憶されている複数のキーワードを用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワードごとにそれぞれ生成する処理部である。
【００４６】
具体的に説明すると、部分文字列生成部１４ｃは、入力部１１を介して部分文字列の文字数の入力を受け付けると、帳票種識別情報ＤＢ１３ａから帳票種ごとに全てのキーワードを読み込む。そして、例えば、帳票種「申込書」のキーワードとして帳票種識別情報ＤＢ１３ａに記憶されている３文字のキーワード「申込書」から２文字の部分文字列を生成する場合には、キーワード上のそれぞれの文字「申」、「込」、「書」を「０」または「１」に見立てて、重複することなく２文字にだけ「１」を割り当てる。次に、「１」が割り当てられた部分を文字とみなした文字列を全て抜き出することにより、部分文字列（０：「申書」、１：「申込」、２：「込書」）を生成する。
【００４７】
なお、「１」を割り当てる位置は、例えば、３文字のキーワードから２文字の部分文字列を生成する場合には、３から６までを２進数で変換して、「０」および「１」からなる２値表現を生成することにより取得される。
【００４８】
文字列照合部１４ｄは、文字情報整列部１４ｂにより生成整列された各グループ文字列と、部分文字列生成部１４ｃにより生成された各部分文字列とをそれぞれ照合する処理部である。具体的に説明すると、まず、図７〜図９に例示するように、ＤＰ（Ｄｙｎａｍｉｃ  Ｐｒｏｇｒａｍｍｉｎｇ）マッチングやグラフ理論などの一般的な文字認識手法を用いて、各グループ文字列と各部分文字列とを照合する。
【００４９】
そして、文字列照合部１４ｄは、照合に成功した各部分文字列について、各グループ文字列に対する各部分文字列の照合率が最大の時の正解文字数をキーワードごとに取得する
。
【００５０】
まず、図１０に例示すように、グループ文字列「申込書」と、キーワード「申込書」から生成された２文字の各部分文字列（「申書」、「申込」、「込書」の３つ）とを照合すると、部分文字列の正解数は“３”で部分文字列の文字数が“２”となる。この部分文字列の正解数“３”および部分文字列の文字数“２”を図１１に例示するような換算テーブルにあてはめることにより正解文字数を換算する。詳細には、部分文字列の文字数が“２”の場合には換算テーブルの「ｍ＝２」の行を部分文字列の正解数が“３”の位置まで進む。そして、その列の最上段に記載された換算テーブルの「ｎ’」の値、つまり、「ｎ’＝３」がキーワード「申込書」の正解文字数となる。
【００５１】
同様に、グループ文字列「申辺書」と、キーワード「申込書」から生成された２文字の各部分文字列（「申書」、「申込」、「込書」の３つ）とを照合する場合（図１０参照）を例に挙げると、部分文字列の正解数は“１”で部分文字列の文字数が“２”となるので、換算テーブルにあてはめると正解文字数は「ｎ’＝２」となる。
【００５２】
このように、グループ文字列によって同じキーワードでも正解文字数が異なるので、例えば、ある３つのグループ文字列と、キーワード「申込書」から生成された２文字の各部分文字列（「申書」、「申込」、「込書」の３つ）との照合率が６６％、５０％、２５％であった場合には、照合率が最大である６６％の時の正解文字数を取得する。ここで、照合率とは、部分文字列の正解数をその部分文字列の元となるキーワードの文字数で除算した値とする。このようにして、キーワードから生成した部分文字列で照合を行うことで、グループ文字列に誤り文字がある場合にも対応できる。
【００５３】
帳票種決定部１４ｅは、文字列照合部１４ｄにおいてキーワードごとに取得された各正解文字数を用いて、帳票種ごとにその帳票種である可能性を評価した評価値を算出して帳票種を決定する処理部である。具体的に説明すると、帳票種ごとに、各正解文字数の総数を各キーワードで使用されている文字の総数で除算して評価値を算出する。そして、帳票種ごとに算出した各評価値が帳票種ごとに規定された閾値を超えているか否か判定し、判定の結果、閾値を超えていない各評価値に対応する帳票種をそれぞれ切り捨て、閾値を超えている評価値に対応する帳票種が一つだけ存在する場合は、その帳票種に決定して出力する。
【００５４】
また、帳票種決定部１４ｅは、帳票種ごとに算出した評価値が帳票種ごとに規定された閾値を超えているか否か判定した結果、閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、各帳票種を評価値の高低に応じて順位付けして出力するようにしてもよいし（図１２参照）、評価値の最も高い帳票種に決定して出力するようにしてもよい。
【００５５】
［帳票種識別装置の処理（実施例１）］
続いて、図１３〜図１５を用いて、実施例１に係る帳票種識別装置の処理を説明する。
図１３は、実施例１に係る文字列整列処理の流れを示すフローチャートである。図１４は、実施例１に係る部分文字列生成処理の流れを示すフローチャートである。図１５は、実施例１に係る帳票種決定処理の流れを示すフローチャートである。
【００５６】
［文字列整列処理（実施例１）］
まず、図１３を用いて、実施例１に係る文字列整列処理の流れを説明する。同図に示すように、文字情報整列部１４ｂは、文字認識部１４ａから受け付けた文字情報および罫線情報に基づいて、帳票上に記入された全ての文字を左から一列に整列させる（ステップＳ１３０１）。
【００５７】
次に、文字情報整列部１４ｂは、整列された文字列をグループに分け（ステップＳ１３０２）、グループ文字列を生成する。具体的には、整列された文字列を横方向に見た場合に、文字の高さが重複する範囲（図５参照）で文字列を分割する。
【００５８】
グループ文字列を生成した後、文字情報整列部１４ｂは、グループ文字列内に罫線が含まれている場合には、罫線でグループ文字列を分割して（ステップＳ１３０３）、整列させる。
【００５９】
なお、帳票上に記入された文字列が縦書きで存在する場合には、上記に説明したように帳票上に記入された文字列が横書きで存在する場合と同様の処理を行う。すなわち、文字情報整列部１４ｂは、全ての文字を上から一列に整列させた後、整列された文字列を縦方向に見て、例えば、文字の幅が重複する場合にはグループ文字列として取り扱う。
【００６０】
［部分文字列生成処理（実施例１）］
次に、図１４を用いて、実施例１に係る部分文字列生成処理の流れを説明する。同図に示すように、部分文字列生成部１４ｃは、入力部１１を介して部分文字列の文字数の入力を受け付けると（ステップＳ１４０１）、帳票種識別情報ＤＢ１３ａから帳票種ごとに全てのキーワードを読み込む（ステップＳ１４０２）。
【００６１】
そして、部分文字列生成部１４ｃは、帳票種識別情報ＤＢ１３ａに記憶されている複数のキーワードを用いて、帳票上に記入された文字列と照合するための複数の部分文字列をキーワードごとにそれぞれ生成する（ステップＳ１４０３）。
【００６２】
具体的に説明すると、部分文字列生成部１４ｃは、例えば、帳票種「申込書」のキーワードとして帳票種識別情報ＤＢ１３ａに記憶されている３文字のキーワード「申込書」から２文字の部分文字列を生成する場合には、キーワード上のそれぞれの文字「申」、「込」、「書」を「０」または「１」に見立てて、重複することなく２文字にだけ「１」を割り当てる。次に、「１」が割り当てられた部分を文字とみなした文字列を全て抜き出すことにより、部分文字列（０：「申書」、１：「申込」、２：「込書」）を生成する。
【００６３】
なお、「１」を割り当てる位置は、例えば、３文字のキーワードから２文字の部分文字列を生成する場合には、３から６までを２進数で変換して、「０」および「１」からなる２値表現を生成することにより取得される。
【００６４】
［帳票種決定処理（実施例１）］
続いて、図１５を用いて、実施例１に係る帳票種決定処理の流れを説明する。同図に示すように、帳票種決定部１４ｅは、文字列照合部１４ｄにおいてキーワードごとに取得された各正解文字数を用いて、帳票種ごとにその帳票種である可能性を評価した評価値を算出する（ステップＳ１５０１）。
【００６５】
そして、帳票種決定部１４ｅは、帳票種ごとに算出した各評価値が帳票種ごとに規定された閾値を超えているか否か判定し、判定の結果、閾値を超えていない各評価値に対応する帳票種をそれぞれ切り捨て（ステップＳ１５０２）、閾値を超えている評価値に対応する帳票種が一つだけ存在する場合は、その帳票種に決定して出力する。
【００６６】
また、判定の結果、閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、各帳票種を評価値の高低に応じて順位付けして出力する（ステップＳ１５０３）。
【００６７】
［実施例１による効果］
上述してきたように、実施例１によれば、各帳票種（例えば、「申込書」や「納品書」、「見積書」など）に対応付けて、帳票種を識別するためのキーとなる複数のキーワード（例えば、「申込書」であれば、「申込書」、「申込日」、「住所」、「氏名」などの帳票上に記入されている情報）を記憶部にそれぞれ記憶し、記憶部に記憶されている複数のキーワードを用いて、帳票上に記入された文字列と照合するための複数の部分文字列（例えば、「申込書」であれば、「申込」、「込書」および「申書」など３文字中２文字からなる文字列）をキーワードごとにそれぞれ生成し、帳票上に記入された文字列に関する文字情報および罫線に関する罫線情報に基づいて、帳票上に記入された文字列を横方向に見た場合に、文字の高さが重複する範囲で当該文字列を分割したグループ文字列をそれぞれ生成するとともに配列し、各グループ文字列と各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数をキーワードごとに取得して、取得された各一致文字数を用いて、帳票種ごとにその帳票種である可能性を評価した評価値（例えば、グループ文字列と部分文字列との一致文字数を全キーワードの文字数で除算した値）を算出し、帳票種ごとに算出された各評価値に基づいて、文字情報および罫線情報が記入された帳票に対する帳票種を決定するので、あらかじめ保持する帳票識別用のキーワードに対応するようなグループ文字列の抽出にとらわれることなく、精度の高い帳票種の識別を実現することが可能である。また、帳票上に記入された文字列の中に誤りが存在する、あるいは、文字列の認識結果に誤りがある場合であっても、部分文字列を用いた照合によって部分的な一致を加味した評価値を算出することができ、精度の高い帳票種の識別を実現することが可能である。
【００６８】
また、実施例１によれば、帳票種ごとに算出された各評価値が、帳票種ごとに規定された閾値を超えているか否か判定して、文字情報および罫線情報が記入された帳票に対する帳票種を決定するので、簡易な方法で帳票種を決定することが可能である。
【００６９】
また、実施例１によれば、帳票種ごとに算出された各評価値が帳票種ごとに規定された閾値を超えているか否か判定して、閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、複数存在する帳票種を評価値の高低に応じて順位付けするので、帳票種の候補を順位付けしてユーザに提供することが可能である。
【００７０】
また、実施例１によれば、帳票種ごとに算出された各評価値が帳票種ごとに規定された閾値を超えているか否か判定して、閾値を超えているものと判定された評価値に対応する帳票種が複数存在する場合には、最も評価値の高い帳票種に決定するので、帳票種の候補として最も確からしいものをユーザに提供することが可能である。
【００７１】
また、実施例１によれば、文字情報および罫線情報からグループ文字列内に罫線が存在することが判明した場合には、グループ文字列を罫線で分割するので、正規の語句を構成する範囲でグループ文字列を分割することが可能である。
【実施例２】
【００７２】
上記の実施例１では、帳票種識別情報ＤＢ１３ａから帳票種ごとに全てのキーワードを読み込んで、キーワードごとに複数の部分文字列を生成する場合を説明したが、本発明はこれに限定されるものではなく、使用するキーワードを任意に選択するようにしてもよい。
【００７３】
具体的に説明すると、図１６に例示するように、キーワードごとに使用の可否を規定した使用フラグ（使用する場合を「０」、使用しない場合を「−１」としたフラグ）を帳票種識別情報ＤＢ１３ａに記憶しておく。そして、部分文字列生成部１４ｃは、使用フラグが「０」であるキーワードを選択して、帳票種識別情報ＤＢ１３ａから帳票種ごとに読み込み（図１７参照）、読み込んだキーワードごとに複数の部分文字列を生成する。
【００７４】
このようなことから、実施例２によれば、複数のキーワードごとに使用の可否を規定した使用フラグを帳票種識別情報ＤＢ１３ａにさらに記憶し、記憶されている使用フラグに基づいて、複数のキーワード情報の中から使用が許可されているキーワード情報を選択し、選択されたキーワード情報を用いて複数の部分文字列を帳票種ごとにそれぞれ生成するので、あらかじめ保持するキーワードの中から必要なキーワードのみを使用することができ、また、全てのキーワードで処理を行うのに比較して処理時間を少なくすることが可能である。
【実施例３】
【００７５】
上記の実施例１では、各グループ文字列と各部分文字列とを照合結果から、そのまま帳票種を決定する場合を説明したが、本発明はこれに限定されるものではなく、帳票種決定処理の結果を利用してキーワードを変更し、変更したキーワードを用いて再帰的に処理を繰り返した後に帳票種を決定するようにしてもよい。そこで、以下では、図１８および図１９を用いて、実施例３に係る帳票種識別装置の構成を説明した後に、実施例３による効果を説明する。図１８は、実施例３に係る帳票種識別装置の構成を示すブロック図である。図１９は、実施例３に係るキーワード変更の流れを示す図である。
【００７６】
［帳票種識別装置の構成（実施例３）］
まず、図１８を用いて、実施例３に係る帳票種識別装置の構成を説明する。実施例３に係る帳票種識別装置の構成は、実施例１に係る帳票種識別装置の構成と基本的には同様であるが、以下に説明する点が異なる。
【００７７】
すなわち、帳票種識別情報ＤＢ１３ａは、所定の階層で区分したキーワードを帳票種ごとに記憶する（図１９参照）。階層で区分する方法の一例としては、帳票種に固有のキーワードから順に「０」階層目、「１」階層目といった形で区分することができる。
【００７８】
キーワード選択部１４ｆは、「０」階層目のキーワードだけを選択して部分文字列を生成するように、部分文字列生成部１４ｃに対して指示を出力する（図１９参照）。
【００７９】
上記の実施例１で説明したのと同様に、文字情報整列部１４ｂ、部分文字列生成部１４ｃおよび文字列照合部１４ｄにおいて処理が行われた後、帳票種決定部１４ｅは、帳票種ごとに算出した各評価値が帳票種ごとに規定された閾値を超えているか否か判定し、判定の結果、閾値を超えていない各評価値に対応した帳票種をそれぞれ切り捨てて、閾値を超えている各評価値に対応する帳票種を絞り込み、絞り込んだ各帳票種の情報をそれぞれキーワード選択部１４ｆに出力する。なお、各評価値が全て閾値を超えていない場合には、帳票種決定部１４ｅは、閾値を超えている評価値に対応する帳票種は存在しない旨をキーワード選択部１４ｆに出力する。
【００８０】
キーワード選択部１４ｆは、帳票種決定部１４ｅから各帳票種の情報を受け付けると、受け付けた帳票種の情報に対応するキーワード情報の中から、「１」階層目のキーワードのみを選択して部分文字列を生成するように、部分文字列生成部１４ｃに対して指示を出力する。なお、キーワード選択部１４ｆは、帳票種決定部１４ｅから閾値を超えている評価値に対応する帳票種は存在しない旨を受け付けた場合には、全ての帳票種について「１」階層目のキーワードのみを選択して部分文字列を生成するように、部分文字列生成部１４ｃに対して指示を出力する（図１９参照）。
【００８１】
そして、再び、部分文字列生成部１４ｃおよび文字列照合部１４ｄにおいて処理が行われた後、帳票種決定部１４ｅは、帳票種ごとに算出した各評価値が帳票種ごとに規定された閾値を超えているか否か判定し、判定の結果、閾値を超えていない評価値に対応する帳票種を切り捨てる。一方、閾値を超えている各評価値に対応する帳票種が、例えば、所定の数にまで絞り込まれた場合には、各帳票種を評価値の高低に応じて順位付けして出力するようにしてもよいし、評価値の最も高い帳票種に決定して出力するようにしてもよい。
【００８２】
なお、部分文字列生成部１４ｃ、文字列照合部１４ｄ、帳票種決定部１４ｅおよびキーワード選択部１４ｆの間で再帰的に繰り返される処理の処理回数をあらかじめ設定しておいて、設定した処理回数に到達した時点の帳票種を出力するようにしてもよい。
【００８３】
［実施例３による効果］
上述してきたように、実施例３によれば、帳票種ごとに各評価値が算出される度に、各評価値に基づいて帳票種の候補を絞り込み（例えば、最も評価値の低いものを除外するなど、帳票種として可能性のあるものに絞り込む）、帳票種の候補が絞り込まれる度に記憶部に記憶されている複数のキーワード情報の中から、絞り込まれた帳票種の候補に応じてキーワード情報を変更し、キーワード情報が変更される度に、変更されたキーワード情報を用いて複数の部分文字列をそれぞれ生成し、複数の部分文字列が生成される度に、各グループ文字列と各部分文字列とをそれぞれ照合し、各グループ文字列に対する各部分文字列の照合率が最大の時の一致文字数をキーワード情報ごとに取得して、取得された各一致文字数を用いて、帳票種ごとにその帳票種である可能性を評価した評価値を帳票種ごとに算出するので、明らかに不要な帳票種のキーワードを用いて処理を行うことなく、処理時間および処理回数を低減させることが可能であるとともに、より精度の高い帳票種の識別を実現することが可能である。
【実施例４】
【００８４】
さて、これまで本発明の実施例１〜実施例３について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００８５】
（１）グループごとキーワードを保持
上記の実施例において、意味が同一のグループごとに複数のキーワードを帳票種識別情報ＤＢ１３ａにそれぞれ記憶するようにしてもよい。具体的には、図２０に例示するように、帳票種「納品書」について、意味が同一の「納品日」、「搬入日」および「送付日」を「納品日」のキーワードグループとしてそれぞれ記憶する。
【００８６】
そして、各グループ文字列と各部分文字列とをそれぞれ照合して、各グループ内の複数のキーワードの中から、各グループ文字列に対する各部分文字列の照合率が最大となるキーワードをそれぞれ抽出して（例えば、キーワードグループ「納品日」では、「納品日」、「搬入日」、「送付日」の中から照合率が最大のキーワードを抽出して）、上記に説明した実施例と同様に、抽出された各キーワードについて一致文字数をそれぞれ取得して、取得された各一致文字数を用いて帳票種ごとに当該帳票種である可能性を評価した評価値を算出するので、精度の高い帳票種の識別を実現することが可能である。
【００８７】
すなわち、例えば、帳票種「申込書」において「申込日」と「記入日」とを同一の意味を持つ一つのグループとして取り扱い、「申込日」および「記入日」から生成された部分文字列と、帳票の文字情報および罫線情報から生成されたグループ文字列との照合度のうち、「申込日」から生成された部分文字列との照合度が高ければ、「申込日」から生成された部分文字列との一致文字数を用いて評価値を算出するので、評価値を低下させることなく、精度の高い帳票種の識別を実現することができる。
【００８８】
（２）装置構成等
また、図３および図１８に示した帳票種識別装置１０の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、帳票種識別装置１０の分散・統合の具体的形態は図示のものに限られず、例えば、文字列照合部１４ｄと帳票種決定部１４ｅとを統合するなど、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、帳票種識別装置１０にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００８９】
（３）帳票種識別プログラム
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、図２１を用いて、上記の実施例と同様の機能を有する帳票種識別プログラムを実行するコンピュータの一例を説明する。図２１は、帳票種識別プログラムを実行するコンピュータを示す図である。
【００９０】
同図に示すように、帳票種識別装置としてコンピュータ２０は、入力部２１、出力部２２と、ＨＤＤ２３、ＲＡＭ２４、ＲＯＭ２５およびＣＰＵ２６をバス３０で接続して構成される。なお、入力部２１および出力部２２は、図３または図１８に示した帳票種識別装置１０の入力部１１および出力部１２にそれぞれ対応する。
【００９１】
そして、ＲＯＭ２５には、上記の実施例に示した帳票種識別装置と同様の機能を発揮する帳票種識別プログラム、つまり、図２１に示すように、文字認識プログラム２５ａ、文字情報整列プログラム２５ｂ、部分文字列生成プログラム２５ｃ、文字列照合プログラム２５ｄ、帳票種決定プログラム２５ｅおよびキーワード選択プログラム２５ｆがあらかじめ記憶されている。なお、これらのプログラム２５ａ、２５ｂ、２５ｃ、２５ｄ、２５ｅおよび２５ｆについては、図３または図１８に示した帳票種識別装置１０の各構成要素と同様、適宜統合または分散してもよい。なお、ＲＯＭ２５は、不揮発性の「ＲＡＭ」でもよい。
【００９２】
そして、ＣＰＵ２６が、これらのプログラム２５ａ、２５ｂ、２５ｃ、２５ｄ、２５ｅおよび２５ｆをＲＯＭ２５から読み出して実行することで、図２１に示すように、各プログラム２５ａ、２５ｂ、２５ｃ、２５ｄ、２５ｅおよび２５ｆは、文字認識プロセス２６ａ、文字情報整列プロセス２６ｂ、部分文字列生成プロセス２６ｃ、文字列照合プロセス２６ｄ、帳票種決定プロセス２６ｅおよびキーワード選択プロセス２６ｆとして機能するようになる。なお、各プロセス２６ａ、２６ｂ、２６ｃ、２６ｄ、２６ｅおよび２６ｆは、図３または図１８に示した帳票種識別装置１０の文字認識部１４ａ、文字情報整列部１４ｂ、部分文字列生成部１４ｃ、文字列照合部１４ｄ、帳票種決定部１４ｅおよびキーワード選択部１４ｆにそれぞれ対応する。
【００９３】
また、ＨＤＤ２３には、図２１に示すように、帳票種識別情報データテーブル２３ａが設けられる。なお、帳票種識別情報データテーブル２３ａは、図３または図１８に示した帳票種識別情報ＤＢ１３ａに対応する。そして、ＣＰＵ２６は、帳票種識別情報データテーブル２３ａから、帳票種識別情報データ２４ａを読み出してＲＡＭ２４に格納し、ＲＡＭ２４に格納された帳票種識別情報データ２４ａに基づいて処理を実行する。
【００９４】
なお、上記した各プログラム２５ａ、２５ｂ、２５ｃ、２５ｄ、２５ｅおよび２５ｆについては、必ずしも最初からＲＯＭ２５に記憶させておく必要はなく、例えば、コンピュータ２０に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」、または、コンピュータ２０の内外に備えられるＨＤＤなどの「固定用の物理媒体」、さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ２０に接続される「他のコンピュータ（またはサーバ）」などに各プログラムを記憶させておき、コンピュータ２０がこれらから各プログラムを読み出して実行するようにしてもよい。
【図面の簡単な説明】
【００９５】
【図１】図１は、実施例１に係る帳票種識別装置の概要および特徴を説明するための図である。
【図２】図２は、実施例１に係る部分文字列の生成を説明するための図である。
【図３】図３は、実施例１に係る帳票種識別装置の構成を示すブロック図である。
【図４】図４は、実施例１に係る帳票種識別情報ＤＢに記憶される情報の構成例を示す図である。
【図５】図５は、実施例１に係る文字列の整列例を示す図である。
【図６】図６は、実施例１に係るグループ文字列の生成方法を示す図である。
【図７】図７は、実施例１に係るグループ文字列と部分文字列との照合方法を示す図である。
【図８】図８は、実施例１に係るグループ文字列と部分文字列との照合方法を示す図である。
【図９】図９は、実施例１に係るグループ文字列と部分文字列との照合方法を示す図である。
【図１０】図１０は、実施例１に係るグループ文字列と部分文字列との照合例を示す図である。
【図１１】図１１は、実施例１に係る換算テーブルの構成例を示す図である。
【図１２】図１２は、実施例１に係る帳票種の出力例を示す図である。
【図１３】図１３は、実施例１に係る文字列整列処理の流れを示すフローチャートである。
【図１４】図１４は、実施例１に係る部分文字列生成処理の流れを示すフローチャートである。
【図１５】図１５は、実施例１に係る帳票種決定処理の流れを示すフローチャートである。
【図１６】図１６は、実施例２に係る帳票種識別情報ＤＢの構成例を図である。
【図１７】図１７は、実施例２に係るキーワードの選択例を示す図である。
【図１８】図１８は、実施例３に係る帳票種識別装置の構成を示すブロック図である。
【図１９】図１９は、実施例３に係るキーワード変更の流れを示す図である。
【図２０】図２０は、実施例４に係る帳票種識別情報ＤＢの構成例を図である。
【図２１】図２１は、帳票種識別プログラムを実行するコンピュータを示す図である。
【符号の説明】
【００９６】
１０  帳票種識別装置
１１  入力部
１２  出力部
１３  記憶部
１３ａ  帳票種識別情報ＤＢ
１４  制御部
１４ａ  文字認識部
１４ｂ  文字情報整列部
１４ｃ  部分文字列生成部
１４ｄ  文字列照合部
１４ｅ  帳票種決定部
１４ｆ  キーワード選択部
２０  コンピュータ
２１  入力部
２２  出力部
２３  ＨＤＤ（Hard  Disk  Drive）
２４  ＲＡＭ（Random  Access  Memory）
２５  ＲＯＭ（Read  Only  Memory）
２６  ＣＰＵ（Central  Processing  Unit）
３０  バス
【国際調査報告】
2008107997.tif 000024
2008107997.tif 000025
2008107997.tif 000026
2008107997.tif 000027