特許第6524311号(P6524311)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社エスピックの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6524311
(24)【登録日】2019年5月10日
(45)【発行日】2019年6月5日
(54)【発明の名称】表認識処理装置
(51)【国際特許分類】
   G06K 9/20 20060101AFI20190527BHJP
【FI】
   G06K9/20 340C
【請求項の数】10
【全頁数】26
(21)【出願番号】特願2018-99861(P2018-99861)
(22)【出願日】2018年5月24日
(62)【分割の表示】特願2017-204014(P2017-204014)の分割
【原出願日】2017年10月20日
(65)【公開番号】特開2019-79488(P2019-79488A)
(43)【公開日】2019年5月23日
【審査請求日】2018年5月24日
【早期審査対象出願】
(73)【特許権者】
【識別番号】517369885
【氏名又は名称】株式会社エスピック
(74)【代理人】
【識別番号】100109553
【弁理士】
【氏名又は名称】工藤 一郎
(72)【発明者】
【氏名】佐藤 良則
(72)【発明者】
【氏名】平山 英行
(72)【発明者】
【氏名】牛坂 幸太
(72)【発明者】
【氏名】神野 孝幸
【審査官】 板垣 有紀
(56)【参考文献】
【文献】 特開2010−003000(JP,A)
【文献】 特開2011−248609(JP,A)
【文献】 特開2015−072637(JP,A)
【文献】 特開2000−029983(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06K 9/20
(57)【特許請求の範囲】
【請求項1】
表中に含まれる単語(数字、単位を含む。以下同じ。)によって表される意図に沿った処理をするために予定されている単語と単語の関連性を取得するための表認識処理装置であって、
表中の位置(表中に定義される座標平面上において特定される単語の代表点)と関連付けた単語である位置付単語を取得する位置付単語取得部と、
予定されている単語と単語の関連性を取得するために単語に与えられている、項番、商品名、商品コード(製品番号)、サービス名、数量、単価、消費税、金額、合計金額、単位、取引先コード、取引先名称、住所、納期、出荷日、検収日、検収期限、支払期日、支払期限、項番項目名称、商品名項目名称、商品コード(製品番号)項目名称、サービス名項目名称、数量項目名称、単価項目名称、消費税項目名称、金額項目名称、合計金額項目名称、単位項目名称、取引先コード項目名称、取引先名称項目名称、住所項目名称、納期項目名称、出荷日項目名称、検収日項目名称、検収期限項目名称、支払期日項目名称、支払期限項目名称、のいずれか一以上である属性情報をその単語と関連付けて保持する辞書部と、
取得された位置付単語の属性を辞書部を利用して位置付単語に関連付けた属性位置付単語を取得する属性位置付単語取得部と、
取得した属性位置付単語を出力する属性位置付単語出力部と、
を有する表認識処理装置。
【請求項2】
さらに、
単語と単語との位置関係と、各単語の属性とに基づいて単語と単語との関連性を決定するためのルールである関連性決定ルールを保持する関連性決定ルール保持部と、
属性位置付単語に関連付けられている各単語の位置及び属性と、関連性決定ルールと、に基づいて各単語の関連性を取得する関連性取得部と、
を有する請求項1に記載の表認識処理装置。
【請求項3】
単語と単語との関連性に基づいて実行すべき処理ルールを保持する処理ルール保持部と、
取得した関連性と、保持されている処理ルールとに基づいて関連性のある単語について再配置処理を実行する処理実行部と、
をさらに有する請求項1又は2に記載の表認識処理装置。
【請求項4】
表は帳票である請求項1から3のいずれか一に記載の表認識処理装置。
【請求項5】
表中に含まれる単語(数字、単位を含む。以下同じ。)によって表される意図に沿った処理をするために予定されている単語と単語の関連性を取得するための表認識処理方法であって、
表中の位置(表中に定義される座標平面上において特定される単語の代表点)と関連付けた単語である位置付単語を取得する位置付単語取得ステップと、
予定されている単語と単語の関連性を取得するために単語に与えられている、項番、商品名、商品コード(製品番号)、サービス名、数量、単価、消費税、金額、合計金額、単位、取引先コード、取引先名称、住所、納期、出荷日、検収日、検収期限、支払期日、支払期限、項番項目名称、商品名項目名称、商品コード(製品番号)項目名称、サービス名項目名称、数量項目名称、単価項目名称、消費税項目名称、金額項目名称、合計金額項目名称、単位項目名称、取引先コード項目名称、取引先名称項目名称、住所項目名称、納期項目名称、出荷日項目名称、検収日項目名称、検収期限項目名称、支払期日項目名称、支払期限項目名称、のいずれか一以上である属性情報をその単語と関連付けて保持した情報を参照する辞書参照ステップと、
取得された位置付単語の属性を辞書参照ステップにより辞書を参照して位置付単語に関連付けた属性位置付単語を取得する属性位置付単語取得ステップと、
取得した属性位置付単語を出力する属性位置付単語出力ステップと、
を有する表認識処理方法。
【請求項6】
さらに、
単語と単語との位置関係と、各単語の属性とに基づいて単語と単語との関連性を決定するためのルールである関連性決定ルールを取得する関連性決定ルール取得ステップと、
属性位置付単語に関連付けられている各単語の位置及び属性と、関連性決定ルールと、に基づいて各単語の関連性を取得する関連性取得ステップと、
を有する請求項5に記載の表認識処理方法。
【請求項7】
単語と単語との関連性に基づいて実行すべき処理ルールを取得する処理ルール取得ステップと、
取得した関連性と、取得した処理ルールとに基づいて関連性のある単語について再配置処理を実行する処理実行ステップと、
をさらに有する請求項5又は6に記載の表認識処理方法。
【請求項8】
表は帳票である請求項5から7のいずれか一に記載の表認識処理方法。
【請求項9】
表中に含まれる単語(数字、単位を含む。以下同じ。)によって表される意図に沿った処理をするために予定されている単語と単語の関連性を取得するための表認識処理装置の動作プログラムであって、
表中の位置(表中に定義される座標平面上において特定される単語の代表点)と関連付けた単語である位置付単語を取得する位置付単語取得ステップと、
予定されている単語と単語の関連性を取得するために単語に与えられている、項番、商品名、商品コード(製品番号)、サービス名、数量、単価、消費税、金額、合計金額、単位、取引先コード、取引先名称、住所、納期、出荷日、検収日、検収期限、支払期日、支払期限、項番項目名称、商品名項目名称、商品コード(製品番号)項目名称、サービス名項目名称、数量項目名称、単価項目名称、消費税項目名称、金額項目名称、合計金額項目名称、単位項目名称、取引先コード項目名称、取引先名称項目名称、住所項目名称、納期項目名称、出荷日項目名称、検収日項目名称、検収期限項目名称、支払期日項目名称、支払期限項目名称、のいずれか一以上である属性情報をその単語と関連付けて保持した情報を参照する辞書参照ステップと、
取得された位置付単語の属性を辞書参照ステップにより辞書を参照して位置付単語に関連付けた属性位置付単語を取得する属性位置付単語取得ステップと、
取得した属性位置付単語を出力する属性位置付単語出力ステップと、
を計算機に実行させるための表認識処理プログラム。
【請求項10】
さらに、
単語と単語との位置関係と、各単語の属性とに基づいて単語と単語との関連性を決定するためのルールである関連性決定ルールを取得する関連性決定ルール取得ステップと、
属性位置付単語に関連付けられている各単語の位置及び属性と、関連性決定ルールと、に基づいて各単語の関連性を取得する関連性取得ステップと、
を計算機に実行させるための請求項9に記載の表認識処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、表の要素である項目やデータの属性を自動で認識し処理する装置に関するものである。
【背景技術】
【0002】
紙に印刷されている表である帳票等の内容を認識し計算機上で処理するためには、まずOCR等で文字認識を行った上で、認識された文字列が帳票中のどの項目に関連付けられるかを特定する必要がある。従来、帳票上の位置が項目名と関連付けられており、あらかじめ決められた位置の文字列に対してあらかじめ定義されている項目名を関連付けするものであった。このため、文字列の位置が決められた位置からずれると項目名が適切に関連付けされないため、正しく認識を行うためには、定型の帳票を採用する必要があった。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−204226号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1の技術では非定型の帳票を統一フォーマットの帳票に変換するための装置等が開示されている。該技術では、項目名単語辞書を有しており、文字認識を行った文字列に対して、当該文字列が項目名に該当するか否かを辞書と照合することにより決定する。照合の結果、該当する場合には項目名文字列とし、該当しなかった場合にはデータ文字列とする。次に項目名文字列とデータ文字列の帳票上の位置関係により、データ文字列がどの項目(識別情報で名寄せされている)に関連付けられるかを特定する処理を実行する。
【0005】
このように、上記技術ではデータ文字列と関連付けられる項目名は専らデータ文字列と項目名文字列との相対的な位置関係により決定される。このため、両者が関連付けられるための位置関係のルールをあらかじめ定義しておく必要がある。しかしながら両者がルールに定義されていない位置関係にある場合には関連付けに失敗したり、間違った関連付けを行ってしまったりするといった問題が生ずる。
【0006】
図26は従来技術による帳票の認識処理を説明するための図である。この図にあるように、帳票中の表の上部に「NO.」、「商品コード」、「商品名」、「単価」、「個数」、「金額」といった項目名文字列があり、その下にデータ文字列が並んでいる態様になっている。このとき帳票を縦(列方向)に見て「項目名文字列の下に隣接して位置するデータ文字列はその項目名文字列と関連付けられる」といったルールと、「関連付けられたデータ文字列に下方に隣接するデータ文字列はその関連付けられたデータ文字列と同じ項目名文字列に関連付けられる」といったルールとを適用することにより関連付けを行うことができる。しかしながら、表の下部にある「小計」、「消費税」、「合計」の項目名文字列は、下にデータ文字列が存在しないため上記ルールでは関連付けを行うことができず、これらの項目名文字列はデータ文字列との関連付けに失敗する。そこで、今度は帳票を横(行方向)に見て、「項目名文字列の右側に隣接して位置するデータ文字列はその項目名文字列と関連付けられる」といったルールを適用することにより関連付けを行う。しかしながら、「小計」、「消費税」、「合計」の各項目名文字列に隣接するセルは空白であり、「隣接」とみなされる範囲を拡大しなければ上記ルールを適用できず、データ文字列との関連付けを行うことができない。このように、項目名文字列とデータ文字列との相対的位置関係のみから両者の関連付けを行う場合に、ルールを適用できない位置関係が出現すると関連付けに失敗するといった問題が生ずる。さらに従来技術では、データ文字列の属性を判別しないので帳票のフォーマットの変換はできるが帳票の意図に沿った処理(例えば、発注、送金など)をすることはできなかった。
【0007】
上記のような問題を踏まえ、非定型の帳票を認識する場合において、データ文字列と項目名文字列との位置関係のみによらず、データ文字列の属性を特定することによりデータ文字列間の関係性を取得し、その関係性に基づいた帳票作成意図どおりの処理が可能となる表認識処理装置を実現することが課題として生ずる。
【課題を解決するための手段】
【0008】
このような課題に対し、本発明は、項目名文字列のみならず、データ文字列をも辞書によりその属性を特定することの可能な表認識処理装置を提供する。
【0009】
具体的には、表中に含まれる単語(数字、単位を含む。以下同じ。)によって表される意図に沿った処理をするために予定されている単語と単語の関連性を取得するための表認識処理装置であって、表中の位置(表中に定義される座標平面上において特定される単語の代表点)と関連付けた単語である位置付単語を取得する位置付単語取得部と、予定されている単語と単語の関連性を取得するために単語に与えられている属性情報をその単語と関連付けて保持する辞書部と、取得された位置付単語の属性を辞書部を利用して位置付単語に関連付けた属性位置付単語を取得する属性位置付単語取得部と、取得した属性位置付単語を出力する属性位置付単語出力部と、を有する表認識処理装置を提供する。
【0010】
また上記特徴に加えてさらに、単語と単語との位置関係と、各単語の属性とに基づいて単語と単語との関連性を決定するためのルールである関連性決定ルールを保持する関連性決定ルール保持部と、属性位置付単語に関連付けられている各単語の位置及び属性と、関連性決定ルールと、に基づいて各単語の関連性を取得する関連性取得部と、を有する表認識処理装置を提供する。
【0011】
また上記特徴に加えて、前記保持されている関連性決定ルールは、特定の属性の単語の繰り返し配置に応じて表の所定の領域を特定の関連性のある単語が配置されていると判断する判断ルールである領域関連性判断ルールを含む表認識処理装置を提供する。
【0012】
また上記特徴に加えて、単語と単語との関連性に基づいて実行すべき処理ルールを保持する処理ルール保持部と、取得した関連性と、保持されている処理ルールとに基づいて関連性のある単語についての再配置処理を実行する処理実行部と、をさらに有する表認識処理装置を提供する。
【0013】
また上記特徴に加えて、表は帳票であり、単語に与えられる属性は、項番、商品名、商品コード(製品番号)、サービス名、数量、単価、消費税、金額、合計金額、単位、取引先コード、取引先名称、住所、納期、出荷日、検収日、検収期限、支払期日、支払期限、項番項目名称、商品名項目名称、商品コード(製品番号)項目名称、サービス名項目名称、数量項目名称、単価項目名称、消費税項目名称、金額項目名称、合計金額項目名称、単位項目名称、取引先コード項目名称、取引先名称項目名称、住所項目名称、納期項目名称、出荷日項目名称、検収日項目名称、検収期限項目名称、支払期日項目名称、支払期限項目名称、のいずれか一以上である表認識処理装置を提供する。
【発明の効果】
【0014】
上記のような表認識処理装置により、項目名文字列とデータ文字列の位置関係のみに基づくのではなく、辞書に格納された項目名文字列とデータ文字列とのそれぞれの属性に基づいて項目名文字列とデータ文字列の関連付けも可能である。これにより、あらかじめ決められたフォーマットに限定されない多様な態様の表のより信頼性の高い認識が可能となる。
【図面の簡単な説明】
【0015】
図1】実施例1の表認識処理装置の処理の概要を示す図
図2】実施例1にかかる表認識処理装置の機能的構成を示す図
図3】実施例1を実施した場合の認識処理によって取得された「位置」を説明するための図
図4】実施例1にかかる表認識処理装置の辞書部を構成する辞書DBに保持されている単語データの例を示すための図
図5】実施例1にかかる表認識処理装置において単語の属性情報を取得しその位置付単語の属性として付加する処理を示すための図
図6】実施例1における表認識処理装置の処理の流れの一例を示すフローチャート
図7】実施例1にかかる表認識処理装置のハードウェア構成の一例を示す図
図8】実施例2にかかる表認識処理装置の処理の結果を示すための図
図9】実施例2にかかる表認識処理装置の機能的構成を示す図
図10】実施例2にかかる表認識処理装置において単語と単語との位置関係を示すための図
図11】実施例2にかかる表認識処理装置において単語と単語との位置関係による関連性決定ルールを説明するための図
図12】実施例2にかかる表認識処理装置においてx軸方向(右方向)に認識範囲を伸縮することで関連付けが可能となる一例を示す図
図13】実施例2にかかる表認識処理装置において各単語の属性に基づく関連性決定ルールを説明するための図
図14】実施例2における表認識処理装置の別の処理の一例を示すための図
図15】実施例2における表認識処理装置の処理の流れの一例を示すフローチャート
図16】実施例2にかかる表認識処理装置のハードウェア構成の一例を示す図
図17】実施例3にかかる表認識処理装置の処理の概要を示すための図
図18】実施例3にかかる表認識処理装置の機能的構成を示す図
図19】実施例3の表認識処理装置における、領域関連性判断ルールを説明するための図
図20】実施例3における表認識処理装置の処理の流れの一例を示すフローチャート
図21】実施例3にかかる表認識処理装置のハードウェア構成の一例を示す図
図22】実施例4にかかる表認識処理装置の処理の概要を示すための図
図23】実施例4にかかる表認識処理装置の機能的構成を示す図
図24】実施例4における表認識処理装置の処理の流れの一例を示すフローチャート
図25】実施例4にかかる表認識処理装置のハードウェア構成の一例を示す図
図26】従来技術による帳票の認識処理を説明するための図
【発明を実施するための形態】
【0016】
以下、本件発明の実施の形態について、添付図面を用いて説明する。なお、実施例と請求項の相互の関係は以下の通りである。実施例1は主に請求項1、4、5、8、9に関し、実施例2は主に請求項2、6、10に関し、実施例4は主に請求項3および7に関する。本件発明は、これら実施例に何ら限定されるべきものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施し得る。
【実施例1】
【0017】
<概要>
【0018】
図1は本実施例の表認識処理装置の処理の概要を示す図である。この図にあるように、「注文書」と題された帳票内の要素をイメージとして取り出し単語として認識する。次に、これら認識された単語の位置を取得する。図1では取得されたイメージ上における(横,縦)の座標で位置を特定している。例えば、単語の「b201」は、イメージ上の(40,110)の位置に配置されているとすると、その座標(40,110)を単語「b201」とに関連付けて記憶域に格納する。次に認識された単語によって辞書内を検索し、該当した場合にはその該当項目に記載されている属性を取得する。例えば、「b201」との単語が認識された場合には、この「b201」に該当する項目を辞書内で検索する。その結果、単語「b201」が該当し、辞書の記載により「商品コード」の属性を有することが分かったとする。そうすると、図1下の表のように、単語「b201」に属性「商品コード」を付与して記憶域に格納する。このように本実施例の表認識処理装置では表中の文字列をある属性を有する単語として認識し、かつ表内での位置を特定して出力することができる。この出力結果を用いることにより、属性が特定された要素である単語を所定のルールにより再配置し、種々の処理に供することができる。例えば「注文書」において、属性「商品コード」が特定された単語「b201」を座標(40,110)の位置から別の表である「請求書」の内訳の該当位置に所定のルールを用いて再配置することで請求処理を実行するための表を構成することができる。
【0019】
以下では、本実施例の表認識処理装置の機能及び処理の流れ、並びにハードウェアの内容について、詳細に説明する。なお、以下に記載する本システムの機能ブロックは、ハードウェア及びソフトウェアの組み合わせとして実現され得る。具体的には、コンピュータを利用するものであれば、CPU(中央演算装置)や主メモリ、バス、あるいは二次記憶装置(ハードディスクドライブや不揮発性メモリ、CDやDVDなどの記憶メディアとそれらメディアの読取ドライブなど)、情報入力に利用されるスキャナなどの入力デバイス、印刷機器や表示装置、その他の外部周辺装置などのハードウェア構成部、またその外部周辺装置用のインターフェース、通信用インターフェース、それらハードウェアを制御するためのドライバプログラムやその他アプリケーションプログラム、ユーザ・インターフェース用アプリケーションなどが挙げられる。そして主メモリ上に展開したプログラムに従ったCPUの演算処理によって、入力デバイスやその他インターフェースなどから入力され、メモリやハードディスク上に保持されているデータなどが加工、蓄積されたり、上記各ハードウェアやソフトウェアを制御するための命令が生成されたりする。あるいは本システムの機能ブロックは専用ハードウェアによって実現されても良い。
【0020】
また、この発明はシステムとして実現できるのみでなく、方法としても実現可能である。また、このような発明の一部をソフトウェアとして構成することができる。さらに、そのようなソフトウェアをコンピュータに実行させるために用いるプログラム、及びプログラムを固定した記録媒体も、当然にこの発明の技術的な範囲に含まれる(本明細書の全体を通じて同様である)。
【0021】
<機能的構成>
図2は、本実施例にかかる表認識処理装置の機能的構成を示す図である。本実施例にかかる表認識処理装置(0200)は、「位置付単語取得部」(0201)と、「辞書部」(0202)と、「属性位置付単語取得部」(0203)と、「属性位置付単語出力部」(0204)と、を有する。
【0022】
「位置付単語取得部」(0201)とは、表中の位置と関連付けた単語である位置付単語を取得する機能を有する。「表」とは本装置の認識対象であり、お互い関連性のある、文字列や数値などの要素の配列のことを指す。表には商取引に用いられる帳票などが含まれる。「位置」とは表中に定義される座標平面上において特定される要素の代表点を指す。代表点には、例えば文字列の認識枠の左上の点や中心点、重心点などが挙げられる。ここで認識枠とは、文字認識を実行するためにイメージから切り出されるターゲット領域のことであり、認識対象の文字列の外周を直線で囲んだものである。図3は認識処理によって取得された「位置」を説明するための図である。この図にあるように、図1の帳票の要素を切り出し処理によってxy軸上に認識枠(0301)として配置している。本図では上記「位置」は認識枠の中心点を代表点として特定している。例えば、「b201」をイメージとして有する要素(0302)は(x1,y1)を「位置」として有する。本実施例において「単語」とは認識された文字列の他、数値や単位が含まれる。「位置付単語」と言った場合には上述の位置を有する単語を指し、少なくとも単語文字列データと位置データをプロパティとして持つデータ構造(例えば位置付単語クラス等)により実現されるものである。「取得」とは認識処理によって位置データと文字列データを特定し、所定の記憶域に格納する処理を指す。具体的には、テキストファイル等やワークシート上の文字列の位置とテキストデータとを特定して記憶域に格納する処理や、OCR(Optical Character Recognition)等で行われる処理であって、表をスキャンすることによってイメージに変換し、そのイメージの中から単語を認識枠により切り出し、1.認識枠の位置を特定し記憶域に格納し、2.認識枠内の文字列あるいは数値を文字認識により特定してテキストあるいは数値データとして記憶域に格納する処理を実行すること等を指す。当部の機能は、主に装置のCPUと、RAMと、RAMに呼び出されCPUにて実行される位置付単語取得プログラムにより実現される。
【0023】
「辞書部」(0202)は、予定されている単語と単語の関連性を取得するために単語に与えられている属性情報をその単語と関連付けて保持する機能を有する。「属性情報」とは、図1において、「ボールペン」、「シャープペンシル」に対する「商品名」のように、認識結果として出力される際に一意に定まり、他の属性と識別可能なフィールド名となるものである。ここで、属性情報は、項番、商品名、商品コード(製品番号)、サービス名、数量、単価、消費税、金額、合計金額、単位、取引先コード、取引先名称、住所、納期、出荷日、検収日、検収期限、支払期日、支払期限、項番項目名称、商品名項目名称、商品コード(製品番号)項目名称、サービス名項目名称、数量項目名称、単価項目名称、消費税項目名称、金額項目名称、合計金額項目名称、単位項目名称、取引先コード項目名称、取引先名称項目名称、住所項目名称、納期項目名称、出荷日項目名称、検収日項目名称、検収期限項目名称、支払期日項目名称、支払期限項目名称、のいずれか一以上である場合を含む。図4は辞書部を構成する辞書DBに保持されている単語データの例を示したものである。辞書部に登録される文字列は、おおよそ伝票に使われるであろう文字列で足りる。これは初期に利用される可能性のある文字列を登録する。一般には企業名、部署名、担当者名、商品名、サービス名、住所、電話番号、郵便番号、メールアドレス、伝票の種類を示す文字列、項目の名称を示す文字列、商品コード、商品の説明に用いられる文字列、年月日時間時刻を示す単語などである。この図にあるように、一つの単語データは文字列と属性情報からなる。ただし、伝票に表れる可能性があるすべての単語に属性が割り当てられている必要はなく、例えば数字のみからなる単語(文字列)には属性を割り当てないように設計してもよい。当部の機能は、主に装置のCPUと、RAMと、HDDなどの不揮発性メモリに格納された辞書DBにより実現される。
【0024】
「属性位置付単語取得部」(0203)は、取得された位置付単語の属性を辞書部(0202)を利用して位置付単語に関連付けた属性位置付単語を取得する機能を有する。具体的には図5に示すように位置付単語の文字列(数値等を含む)をキーとして辞書部内の辞書DB(0501)内を検索し、一致する単語の属性情報を取得しその位置付単語の属性として付加する処理等を実行する。なお上記単語の一致については、全部一致と部分一致との場合があり、部分一致では一致した文字列の数に基づく適合率が所定の値を超えた場合に一致するとみなすといった処理を行っても良い。あるいは上記の他、ハミング距離や、レーベンシュタイン距離等の編集距離を上記適合率に代えて使用しても良い。このような処理によって位置付単語に表記ゆれが存在したとしても一定の範囲で同一のものであるとの判断が可能であり、属性付与の処理を促進させることができる。なお、単語と認識されたにもかかわらず属性を取得できないものに関してはアラームとしてその単語を構成する文字列に関連付けて属性が取得できなかった旨の情報を出力するように構成してもよい。さらに、オペレータによって属性が取得できなかった単語に属性を割り当てて辞書部に登録する機能、又はすでに登録されている単語と名寄せ処理をする機能を設けることが好ましい。また一つの単語に複数の属性を割り当てるように構成してもよい。数字に複数の属性を割り当てる場合や、「SUZUKI」に担当者名と企業名を割り当てるようなケースである。当部の機能は、主に装置のCPUと、RAMと、RAMに格納され、CPUにて実行される属性位置付単語取得プログラムにより実現される。
【0025】
「属性位置付単語出力部」(0204)は、取得した属性位置付単語を出力する機能を有する。ここで「出力」とはディスプレイ等のデバイスに出力する場合のほか、装置内部の他の構成部分に対して出力する場合も含まれる。当部の機能は主に装置のCPUと、RAMと、RAMに格納され、CPUにて実行される属性位置付単語出力プログラムとディスプレイ等のU/Iで実現される。
【0026】
<処理の流れ>
図6は、本実施例にかかる表認識処理装置を用いた場合の処理の流れの一例を示すためのフローチャートである。まず、表中の位置と関連付けた単語である位置付単語を取得する(ステップS0601)。次に、辞書を参照する(ステップS0602)。具体的には予定されている単語と単語の関連性を取得するために単語に与えられている属性情報をその単語と関連付けて保持した情報を参照する。その後、位置付単語に関連付けた属性位置付単語を取得する(ステップS0603)。続いて、属性位置付単語を出力する(ステップS0604)。
【0027】
<ハードウェア構成>
図7は、本実施例にかかる表認識処理装置のハードウェア構成の一例を示す図である。以下、この図を用いて説明する。
【0028】
この図にあるように、本実施例にかかる表認識処理装置は、各種演算処理を行う「CPU(中央演算装置)」(0701)と、HDDなどの「不揮発性メモリ」(0702)と、揮発性の記憶媒体である「RAM」(0703)を備えている。また、「入力I/F」(0704)を介して「スキャナ」(0705)、キーボード、マウス、ディスプレイ、プリンタ等の「U/I」(0706)を備えている。そして、それらが「システムバス」(0707)などのデータ通信経路によって相互に接続され、情報の送受信や処理を行う。
【0029】
また、「RAM」(0703)は、各種処理を行うプログラムを「CPU」(0701)に実行させるために読み出すと同時にそのプログラムの作業領域でもあるワーク領域を提供する。また、このRAM(0703)にはそれぞれ複数のアドレスが割り当てられており、CPU(0701)で実行されるプログラムは、そのアドレスを特定しアクセスすることで相互にデータのやりとりを行い、処理を行うことが可能になっている(本明細書を通じて同様である)。
【0030】
まず、1.位置付単語取得プログラムがRAM(0703)上に呼び出され、CPU(0701)にて実行される。同プログラムはスキャナ(0705)等により帳票などの表のイメージを取り込む。取り込まれたイメージはRAM(0703)上に一時的に保持される。次に同プログラムはCPU(0701)にてイメージを解析して認識すべき文字列および数値等がある箇所に認識文字枠を設定する。認識文字枠のイメージ上での座標(左上、中心、重心など)を取得して位置情報とする。設定された認識文字枠内の文字列は文字認識処理によりテキストデータ(数値等含む。以下同じ。)に変換される。これら位置情報と文字列のテキストデータは位置付単語データとしてRAM(0703)上に一時的に保持される。
【0031】
次に2.属性位置付単語取得プログラムがRAM(0703)上に呼び出され、CPU(0701)にて実行される。同プログラムは一時的に保持されている単語のテキストデータをキーとして不揮発性メモリ(0702)に保持されている辞書DB内を検索する。検索した結果ヒットした場合には、その項目を辞書DBよりRAM(0703)上に読み出し、その項目の有する属性値をRAM(0703)に格納されている位置付単語データに複製することにより付加する。付加された単語データはRAM(0703)上に属性位置付単語データとして一時的に格納される。
【0032】
次に3.属性位置付単語出力プログラムがRAM(0703)上に呼び出され、CPU(0701)にて実行される。同プログラムはRAM(0703)上に一時的に格納されている属性位置付単語データをディスプレイ等のU/I(0706)により出力、もしくは装置内部で動作する他のプログラムに出力するためにRAM(0703)上に一時的に格納される。
【実施例2】
【0033】
<概要>
【0034】
図8は本実施例の表認識処理装置の処理の結果を示す図である。本実施例は属性位置付単語間の位置関係と属性関係とを用いて単語と単語との関連性を取得する。そのためにルールを保持し、ルールを利用する。例えば図8の上側に示されたオリジナルの伝票は、ルールを用いて下側に示される関連性が取得される。例えば下側のXML文書にて示される一番上の要素はこのオリジナルの伝票は「注文書」であり、その注文は「○○商事株式会社」へ、「××産業株式会社」からのものである点、またその注文の内容として「b201」その他の商品コードで示される物品が「100」個・・・注文され、金額は、「20,000」(円)・・・であること、さらに総計金額として小計が「37,500」(円)、消費税が「3,000」(円)、合計が「40,000」(円)であるとの情報が取得される。つまり、各単語間の関連性として、これらの情報が取得される、というものである。これらの情報は注文書の意図に沿った処理をするために用いられ、例えば自動発注処理、自動送金依頼処理、統一フォーマットの帳票作成などの処理に利用される。
【0035】
<機能的構成>
図9は、本実施例にかかる表認識処理装置の機能的構成を示す図である。本実施例にかかる表認識処理装置(0900)は、「位置付単語取得部」(0901)と、「辞書部」(0902)と、「属性位置付単語取得部」(0903)と、「属性位置付単語出力部」(0904)と、を有する。これらの構成については上記実施例にて説明済みであるので記載は省略する。本実施例の表認識処理装置の特徴は上記構成に加え、「関連性決定ルール保持部」(0905)と、「関連性取得部」(0906)とを有する点である。
【0036】
「関連性決定ルール保持部」(0905)は、単語と単語との位置関係と、各単語の属性とに基づいて単語と単語との関連性を決定するためのルールである関連性決定ルールを保持する機能を有する。「関連性」とは、発注元と発注先の関係、商品コードと発注数量との関係、商品コードとその商品コードで示される商品の総発注額との関係、一の注文書と、その注文書での総発注金額、消費税額、総支払額などの関係であり、関連性決定ルール保持部(0905)は、これらの関連性を取得するためのルールを保持している。
【0037】
例えば、横に並んでいる単語の間の属性の一が商品コードであり、他の一が個数であり、その伝票の文書種別が発注書である場合には、横に並んでいる前記単語と前記単語との関連性を商品コードとその商品コードで識別される商品の発注個数の関係であると判断するルールを保持する。「b201」といった単語が出現した場合、この単語をキーとして辞書部を参照すると該当項目があり、「商品コード」の属性を有する単語であることがわかる。そうすると、上記関連性において発注の対象である商品を特定したことになる。また同じ行に数字で「200」の単語がある場合、「200」という単語に割り当てられる可能性がある属性が辞書部に蓄積されている。例えば、「200」という数字には、項番、商品コード、単価、個数(発注、受注、戻入、不良品、良品、送付、保管)、金額、小計額、消費税、総計額から選択される属性が割り当て可能となっている。その「200」の単語と上下関係にある単語として属性が単価を示す項目名称がある場合には、関連性決定ルールにて、割り当て可能な属性が上下左右に配置されている項目名の属性と同じである場合には、その項目名に割り当てられている属性をその単語、この場合には数字の「200」の属性として割り当てる、というルールを用いる。例えばそれが「単価」という属性である場合には、さらに、横に並んでいる単語に商品コードの属性が割り当てられている場合には、関連性決定ルールとして、その商品コードで識別される商品の単価であるという関連性が取得される。また数字文字列については属性を与えないように本装置を構成してもよい。この場合には対応付けすべき項目名文字列が数字を許容する場合にその項目名文字列とその数字とを対応付けするようにしてもよい。また数字文字列以外にも属性を与えない文字列があってもよい。例えば「−」、「*」、「〜」、「|」、「+」等の実からなる文字列である。
【0038】
さらに「100」という単語についても、割り当て可能な属性として辞書部から、項番、商品コード、単価、個数(発注、受注、戻入、不良品、良品、送付、保管、廃棄)、金額、小計額、消費税、総計額が取得され、かつその「100」が属性が商品コードである単語や、属性が単価等である単語と同じ横に並んでおり、かつ、上下関係にある単語として属性が個数である項目名称がある場合には100という単語は、その横並びの商品コードで識別される商品の発注個数であるという関連性が取得される。
【0039】
このような処理をするルールは、位置関係と属性関係とを用いて単語と単語との関連性を決定するルールであったり、位置関係を用いて属性が不明な単語の属性を決定する処理のためのルール、あるいは単語の属性を決定するルールとその複数の属性を用いて単語と単語との関連性を決定するルールとの複合ルールであったり、単語の位置と属性からそれらの単語が予め関連付けられた属性関係にあるかを判断するルールであったり、これらの複合ルールであったりする。単語の文字列が数字の場合には、金銭単位である場合と、数量の単位である場合、商品コードである場合などがあるが、その数字だけからは、いずれの属性をもつ単語であるか判断することはできない。この場合には上下関係、左右関係にある単語の持つ属性を調べ、単価、発注金額、小計、消費税、総発注額、発注個数、項番(No.)などの属性を有する単語が発見されれば、その属性をその単語に割り当てる処理をする。関連性の決定のルールとしては、伝票の属性が注文書であり、縦又は横に並んでいる単語の属性に、商品コード又は商品名が含まれ、かつ、発注個数又は発注額が含まれている場合には、その並びの情報の関連性はその並びの情報によって一の注文を構成していると判断するルールが該当する。伝票の属性に応じて関連性として発注を構成する情報である、受注を構成する情報である、配送を構成する情報である、保管を構成する情報である、売り上げを構成する情報である、廃棄を構成する情報である、返品を構成する情報である、在庫状況を構成する情報である、など各種の関連性を構成する情報であるとの決定をするためのルールが考えられる。また伝票の属性は必ずしも唯一であるとは限らず、一の伝票に複数の処理のための表構成部分が含まれていてもよい。例えば、受注伝票部分と配送伝票部分が一の伝票に含まれていてもよい。これも単語の属性と、各単語の位置関係とに基づいて、ある部分領域は受注伝票部分、ある部分領域は配送伝票部分と判断して処理するようにルールを定めることができる。
【0040】
図10は「単語と単語との位置関係」を示すための図である。この図にあるように、項目名文字列である単語「金額」を基準にとると、その下のx座標x5_1からx5_2の範囲内に「20,000」が配置されている。この「20,000」について辞書を参照する。その結果、数値である「20,000」は「金額」、「単価」、「個数」などの複数の属性に該当する。ここで単語「20,000」は単語「金額」の下の既定の範囲に位置していることから属性「金額」が付与されることがわかる。今度は、単語「b201」(属性:商品コード)を基準に取ると、その右側のy1_1からy1_2の範囲内に「ボールペン」、「200」、「100」、「20,000」が並んでいる。辞書を参照すると「ボールペン」は商品名であり、「200」、「100」、「20,000」は数値であり「単価」、「個数」あるいは「金額」などの属性を有するといったことが分かる。ここで「200」は「単価」という属性を持つ項目名文字列の下に位置しており、「100」は「個数」、「20,000」は「金額」の下に位置していることから、それぞれ「単価」、「個数」、「金額」の属性を有すると考えられる。このように属性を決定した上で関連性決定ルールにより関連性を取得する。ここでは「単価」(円)の「商品名」を「個数」分だけ「金額」(円)で発注する、といった関連性決定ルールを適用すると、単価「200」(円)の「ボールペン」(商品コード:b201)を「100」本、金額「20,000」(円)で発注する、といった関連性が取得される。
【0041】
関連性決定ルールを一般化すると、単語について、辞書を参照することによって一義的にその属性が定められる場合には、その単語の属性は辞書で定められる属性とする。一義的に属性を定められず、複数の属性の候補がある場合には、上下左右に並ぶ単語に項目名称の属性を有する単語がある場合には、さらにその項目名称で示される項目の属性を取得し、取得した項目名称の属性と複数の属性の候補に一致するものがあれば、その一致した属性を選択してその単語の属性とする。項目名称の属性が複数取得される場合もある。例えば最上位に属性として「商品のシリーズ名」が位置し、さらにその下に「商品のシリーズ内での名称」が位置するような場合である。例えばこの項目名称の下には、「ABCチョコレート」と「イチゴ味」が並んでいる場合には、単語の上下関係と項目名称の上下関係に基づいて、「ABCチョコレート」は単語の属性がシリーズ名、「イチゴ味」は単語の属性が「シリーズ内での名称」と決定する。つまり、上は上に対応、下は下に対応、という関連性決定ルールである。
【0042】
さらにこの伝票の属性が発注伝票である場合には、シリーズ名で発注するのでなく、シリーズ名とシリーズ内での名称の両者を用いて発注するという関連性を取得する。例えば、このシリーズ名、シリーズ内での名称の単語の左右位置関係にある単語の属性が発注数量である場合には、シリーズとシリーズ内での名称を特定して該当する発注数量の発注処理をする関連性があると、関連性決定ルールによって決定される。
【0043】
上記y1_1からy1_2、x5_1からx5_2の範囲は広げたり狭めたりすることが可能である。図11に示すように、当初「商品コード」の「s103」を基準として、デフォルト値に基づいてy2_1からy2_2の範囲を同一の結果レコードの範囲とする。そうすると本来同一レコード内にあるべき「単価」の「150」が認識範囲から漏れてしまう。そこで、同一の結果レコードの中で欠落したフィールドが存在する場合には認識範囲を所定の値だけ拡張するといったルールに基づいて、y2_2をまずy3まで拡張する。そうすると、「単価」の「150」が認識範囲に入ってくるが、同時に「商品コード」の「e303」も認識範囲に入って来る。なお認識範囲を下方のみに拡張する理由はy2_2より上方の要素についてはすでに認識済みであるという前提が存在するためである。認識結果の「商品コード」のフィールドにはすでに「s103」が入っているため、「e303」は次レコードで認識すべき単語であると判断できる。すなわち、認識範囲を拡大した場合に、既に発見したフィールドの単語が再び発見された場合には次レコードで認識すべき単語であると判断し、認識範囲を所定の値だけ狭めるといったルールが適用される。これに則ってy3をy2_3まで狭めると、「単価」の「150」までが同一レコードとして認識範囲に入り、次レコードで認識すべき「e303」は除かれ、同一レコードとして認識される範囲が適切に保たれる。
【0044】
このように、同一のレコードとして関連付けられる範囲を伸縮させることによって、同一レコードの単語として関連付けられるべき他の項目の単語を漏れなく関連付けを行うことが可能である。なお、上記例はy軸方向の例を示したが、同様にx軸方向においても認識範囲を伸縮することで、漏れなく関連付けが可能となる。
【0045】
図12はx軸方向(右方向)に認識範囲を伸縮することで関連付けが可能となる一例を示す図である。この図にあるように、項目名文字列の「商品名」に属する「ボールペン」と、項目名文字列の「単価(円)」に属する「200」と、の位置関係が入れ替わっている。このような態様の単語を位置関係だけで処理しようとすると、認識の誤りが生じてしまう。本実施例の表認識装置では、単語の属性を特定する処理を実行する。まず、一番左に位置する文字列「200」を基準として参照する。「200」はデータ文字列であり、単価や、個数など様々な属性の可能性を有しており辞書を参照しても属性の特定ができない。そこで、「200」の上に属する項目名文字列を参照すると「商品名項目名称」を属性として有する「商品名」という単語が位置している。「200」は数値であり辞書を参照すると商品名としては該当しない。そこで、属性はnull値とするか、あるいは仮に「数字」という属性を与える。次に「商品名」という属性を有する単語を探すために、右方向に所定の幅で認識範囲を拡張していくと、文字列「ボールペン」が認識範囲に入ってくる。「ボールペン」は辞書を参照すると「商品名」の属性を有することが特定でき、かつ上部に位置する商品名項目名称「商品名」の拡張された認識範囲に含まれており、商品名項目名称と商品名とは対応関係が成り立つので、商品名項目名称「商品名」に対応する単語は「ボールペン」であると判断する。一方、「単価」と「200」が残ったので、単語「単価」と単語(文字列)「200」を対応付ける処理をする。このように、単語の属性を導入して認識処理を実行することで、図12にあるように項目名文字列とデータ文字列との位置関係が交錯していたとしても、誤り無く認識することが可能である。伝票中の項目名称と、項目に記載される単語(文字列)との対応関係が属性で関連付けられているので多少の単語の印刷位置ずれがあっても正しく認識できる。
【0046】
当部の機能は、CPUと関連性決定ルールが保持されているRAMにより実現される。
【0047】
「関連性取得部」(0906)は、属性位置付単語に関連付けられている各単語の位置及び属性と、関連性決定ルールと、に基づいて各単語の関連性を取得する機能を有する。本実施例の表認識処理装置は上記のルールを用いて位置および属性の両方で関連性を決定する処理を実行する。図13は、関連性決定ルールを適用し関連性を取得する処理を示すための図である。ここでは「左右に横並びの属性「商品コード」を有する単語と属性「個数」を有する単語により「受発注商品とその個数の関係」といった関連性を取得する」といったルールが保持されている。ここで「b201」の縦軸上の位置はy1であり、「100」の縦軸上の位置もy1であり、横軸上の位置がそれぞれx2、x4と異なることから左右に横並びの位置関係にあることが分かる。「b201」は辞書によると「商品コード」に該当し、項目名文字列の単語である「商品コード」の下に位置することから属性:商品コードを有する事がわかる。「100」は辞書によると「個数」や「単価」等に該当し一に絞り込まれることがないが、項目名文字列の単語である「個数」の下に位置することから「個数」の属性を有することが分かる。従って「商品コードb201の商品を100個受発注する」といった関連性が取得できる。この処理の手順は、初めに位置に基づいたルールで関連付けを行う位置優先の処理であってもよいし、初めに属性に基づいたルールで関連付けを行う属性優先の処理であってもよい。あるいは、初めは位置優先または属性優先で関連付けを行っていくが、関連付けが失敗したところで他方のルールに基づく関連付けに切り替えるような処理であってもよい。当部の機能は、CPUとRAM、RAM上に展開されCPUにて実行される関連性取得プログラムにより実現される。
【0048】
上記のような構成にて処理を実行することで、多様な形態の表を確実に認識することが可能である。例えば図14のような表について認識処理を行う場合には、まず属性「企業名項目名称」を有する単語「企業名」を基準として下の単語を参照していくと、単語「電話番号」が見つかる。さらに下に認識範囲を拡げていくと次のレコードに格納すべき「企業名」の文字列が見つかるため認識範囲を縮め、「企業名」、「電話番号」が関連付すべき項目として取得される。次に、横方向に認識範囲を拡げていく。「企業名」を基準として認識範囲を拡げていくと、「企業名」を属性に持つ「△△株式会社」が「企業名」の横に見つかる。「03−XXXX−1234」は単語「電話番号」の横に位置しており、辞書によると属性は「電話番号」である。これらの属性に基づいて、「△△株式会社」の「電話番号」は「03−XXXX−1234」であるとの関連付けがされる。続いて横に認識範囲を拡げていくと、「送付先住所」が見つかる。属性は「送付先住所項目名称」であり、新たに関連付すべき項目として取得される。「送付先住所」を基準として横に認識範囲を拡げていくと、単語「郵便番号」が見つかり、さらに認識範囲を拡げていくと「106−6220」が右側横に見つかり、辞書を参照すると「郵便番号」の属性を有していることがわかる。そうすると、「送付先住所」と「郵便番号」とが関連付けされる項目として取得され、「△△株式会社」の「送付先住所」の「郵便番号」は、「106−6220」であるとの関連付けがされる。同様に「都道府県名」、「市区町村」、「番地」、「ビル名」についてもそれぞれ右側横に位置する「東京都」、「港区六本木」、「3−2−1」、「○○ビル5F」がその属性に基づいて企業名「△△株式会社」等と関連付けがされる。その結果、「送付先住所:……」を有する「企業名:△△株式会社」に対して送付処理が実行可能となる。
【0049】
<処理の流れ>
図15は、本実施例にかかる表認識処理装置を用いた場合の処理の流れの一例を示すためのフローチャートである。まず、表中の位置と関連付けた単語である位置付単語を取得する(ステップS1501)。次に、辞書を参照する(ステップS1502)。具体的には予定されている単語と単語の関連性を取得するために単語に与えられている属性情報をその単語と関連付けて保持した情報を参照する。その後、位置付単語に関連付けた属性位置付単語を取得する(ステップS1503)。次に、属性位置付単語の出力を行う(ステップS1504)。続いて、単語と単語との位置関係と、各単語の属性とに基づいて単語と単語との関連性を決定するためのルールである関連性決定ルールを取得する(ステップS1505)。最後に、属性位置付単語に関連付けられている各単語の位置及び属性と、関連性決定ルールと、に基づいて各単語の関連性を取得する(ステップS1506)。
【0050】
<ハードウェア構成>
図16は、本実施例にかかる表認識処理装置のハードウェア構成の一例を示す図である。以下、この図を用いて説明する。
【0051】
この図にあるように、本実施例にかかる表認識処理装置は、各種演算処理を行う「CPU(中央演算装置)」(1601)と、HDDなどの「不揮発性メモリ」(1602)と、揮発性の記憶媒体である「RAM」(1603)を備えている。また、「入力I/F」(1604)を介して「スキャナ」(1605)、キーボード、マウス、ディスプレイ等の「U/I」(1606)を備えている。そして、それらが「システムバス」(1607)などのデータ通信経路によって相互に接続され、情報の送受信や処理を行う。
【0052】
まず、1.位置付単語取得プログラムがRAM(1603)上に呼び出され、CPU(1601)にて実行される。同プログラムはスキャナ(1605)により帳票などの表のイメージを取り込む。取り込まれたイメージはRAM(1603)上に一時的に保持される。次に同プログラムはCPU(1601)にてイメージを解析して認識すべき文字列および数値等がある箇所に認識文字枠を設定する。認識文字枠のイメージ上での座標(左上、中心、重心など)を取得して位置情報とする。設定された認識文字枠内の文字列は文字認識により単語のテキストデータ(数値等含む。以下同じ。)に変換される。これら位置情報と単語のテキストデータは単語データとしてRAM(1603)上に一時的に保持される。
【0053】
次に2.属性位置付単語取得プログラムがRAM(1603)上に呼び出され、CPU(1601)にて実行される。同プログラムは一時的に保持されている単語のテキストデータをキーとして不揮発性メモリ(1602)に保持されている辞書DB内を検索する。検索した結果ヒットした場合には、その項目を辞書DBよりRAM(1603)上に読み出し、その項目の有する属性値をRAM(1603)に格納されている単語データに複製することにより付加する。なお、複数の項目がヒットした場合には複数の属性を候補として付加する。
【0054】
次に3.属性位置付単語出力プログラムがRAM(1603)上に呼び出され、CPU(1601)にて実行される。同プログラムはRAM(1603)上に一時的に格納されている属性位置付単語データをディスプレイ等のU/I(1606)により出力する。
【0055】
次に4.関連性取得プログラムがRAM(1603)上に呼び出され、CPU(1601)にて実行される。同プログラムは、RAM上に格納されているa.関連性決定ルールを読み込む。読み込んだルールに基づいて関連性の取得を行う。例えば、関連性決定ルールにおいて「属性:商品コード」を「属性:単価」(円)で、「属性:個数」分、「属性:金額」(円)で発注すると定められていたとすると、同プログラムは、表中の単語の属性データを読み出し、属性「商品コード」、「単価」、「個数」、「金額」を有する単語を取得し、関連性のある一の認識結果レコードとして不揮発性メモリ(1602)内の認識結果DBに格納する。このとき、各単語の位置データを参照し、ある単語の位置データを基準として他の単語が上下(あるいは左右)のデフォルト値の範囲内に収まっているとすると同一の認識結果レコードとして格納できると判断する。また、「100」のように「単価」や「個数」など複数の属性候補が付与されている単語に関しては、左右(あるいは上下)のデフォルト値の範囲内に「単価」などの項目名文字列があるか否かを位置データを参照することにより判断し、項目名文字列「単価」がある場合にはその項目名文字列が有する属性「単価」であると決定され認識結果DBに当該単語を属性と共に格納する。デフォルト値の範囲で項目名文字列が見当たらない場合には、所定の値の分、探索範囲を広げる処理を行い再度項目名文字列を探索する。同プログラムは、これらの処理を単語同士で繰り返し実行し、単語同士の関連性を決定していく。すべての単語の間で関連性が決定すると、その関連性に基づいて、不揮発性メモリ(1602)上の認識結果DBに認識結果として格納する。
【実施例3】
【0056】
<概要>
【0057】
実施例3では、行が入れ子状になっている表の認識が可能な表認識処理装置を提供する。図17は本実施例の表認識処理装置の処理の概要を示すための図である。この図にあるように、注文書の表中の一行に「商品名」と「納入先」とが存在するが、これらは一行を二つに分けて上下に要素が配列されている。このような表を適切に認識するための処理について下記で述べる。
【0058】
以下、機能的構成、処理の流れ、ハードウェア構成を順に説明する。
【0059】
<機能的構成>
図18は、本実施例にかかる表認識処理装置の機能的構成を示す図である。本実施例にかかる表認識処理装置(1800)は、「位置付単語取得部」(1801)と、「辞書部」(1802)と、「属性位置付単語取得部」(1803)と、「属性位置付単語出力部」(1804)「関連性決定ルール保持部」(1805)と、「関連性取得部」(1806)と、を有する。これら構成要件については上記で説明済であるため記載は省略する。本実施例の表認識処理装置は、「関連性決定ルール保持部」(1805)が領域関連性判断ルールを有する点である。
【0060】
領域関連性判断ルールとは、特定の属性の単語の繰り返し配置に応じて表の所定の領域を特定の関連性のある単語が配置されていると判断する判断ルールである。「特定の属性の単語の繰り返し配置」とは例えば図17における「商品名」と「納入先」といったように特定の属性の単語が、所定の領域である「商品名/納入先」の列の1行に上下又は1列に左右に入れ子状になって配置されていることなどを指す。「特定の関連性」とは、例えば1列に上下に配置されている単語が異なる属性を持つ場合に、図17のように「特定の商品名の商品は特定の営業所に納入すべきである」などの関連性を指す。
【0061】
図19は本実施例の表認識処理装置における、領域関連性判断ルールを説明するための図である。この図は図16の表の一部を座標平面上に配置したものである。図内の斜線部は商品コード「s103」を基準とした一レコード分の認識範囲を示している。この範囲は上記で述べたように伸縮することで適切な認識範囲に調整が可能である。例えば、y2_2までの認識範囲をy3まで拡張した場合には、同じ属性「商品コード」を有しており次のレコードに格納すべき「e303」が認識範囲に入ってくる。この場合、認識範囲を狭める必要があるため、「大阪営業所」の下端のy2_2まで認識範囲を縮める。このようにして関連付けすべき認識結果のレコード一行分の範囲が特定される。次に、「シャープペンシル」と「大阪営業所」が同一レコードとして認識されるが、一行に複数個の単語が配置されている。ここで、「シャープペンシル」と「大阪営業所」の属性を辞書を参照することで取得すると、異なる属性「商品名」と「納入先」とを有することが判明する。そうすると、二つの単語は同一レコードの別のフィールドに格納され、特定の関連性である「商品名」と「納入先」との関連性を有していると判断される。
【0062】
<処理の流れ>
図20は、本実施例にかかる表認識処理装置を用いた場合の処理の流れの一例を示すためのフローチャートである。まず、表中の位置と関連付けた単語である位置付単語を取得する(ステップS2001)。次に、辞書を参照する(ステップS2002)。具体的には予定されている単語と単語の関連性を取得するために単語に与えられている属性情報をその単語と関連付けて保持した情報を参照する。その後、位置付単語に関連付けた属性位置付単語を取得する(ステップS2003)。次に属性位置付単語を出力する(ステップS2004)。続いて、特定の属性の単語の繰り返し配置に応じて表の所定の領域を特定の関連性のある単語が配置されていると判断する判断ルールである領域関連性判断ルールを取得する(ステップS2005)。最後に、属性位置付単語に関連付けられている各単語の位置及び属性と、関連性決定ルールと、に基づいて各単語の関連性を取得する(ステップS2006)。
【0063】
<ハードウェア構成>
図21は、本実施例にかかる表認識処理装置のハードウェア構成の一例を示す図である。以下、この図を用いて説明する。
【0064】
この図にあるように、本実施例にかかる表認識処理装置は、各種演算処理を行う「CPU(中央演算装置)」(2101)と、HDDなどの「不揮発性メモリ」(2102)と、揮発性の記憶媒体である「RAM」(2103)を備えている。また、「入力I/F」(2104)を介して「スキャナ」(2105)、キーボード、マウス、ディスプレイ等の「U/I」(2106)を備えている。そして、それらが「システムバス」(2107)などのデータ通信経路によって相互に接続され、情報の送受信や処理を行う。
【0065】
まず、1.位置付単語取得プログラムと2.属性位置付単語取得プログラムおよび3.属性位置付単語出力プログラムによる処理が実行されるがこれらのハードウェアにおける処理は上記実施例で説明済みであるので記載は省略する。
【0066】
3.属性位置付単語取得プログラムにより属性位置付き単語の出力が完了すると、4.関連性取得プログラムがRAM(2103)上に呼び出され、CPU(2101)にて実行される。同プログラムは、RAM上に格納されているb.領域関連性判断ルールを読み込む。読み込んだルールに基づいて関連性の取得を行う。例えば、関連性決定ルールにおいて「属性:商品コード」を「属性:単価」(円)で、「属性:個数」分、「属性:金額」(円)で発注すると定められていたとすると、同プログラムは、表中の単語の属性データを読み出し、属性「商品コード」、「単価」、「個数」、「金額」を有する単語を取得し、関連性のある一の認識結果レコードとして不揮発性メモリ(2102)内の認識結果DBに格納する。このとき、各単語の位置データを参照し、ある単語の位置データを基準として他の単語が上下(あるいは左右)のデフォルト値の範囲内に収まっているとすると同一の認識結果レコードとして格納できると判断する。また、「100」のように「単価」や「個数」など複数の属性候補が付与されている単語に関しては、左右(あるいは上下)のデフォルト値の範囲内に「単価」などの項目名文字列があるか否かを位置データを参照することにより判断し、項目名文字列「単価」がある場合にはその項目名文字列が有する属性「単価」であると決定され認識結果DBに当該単語を属性と共に格納する。デフォルト値の範囲で項目名文字列が見当たらない場合には、所定の値の分、探索範囲を広げる処理を行い再度項目名文字列を探索する。同プログラムは、これらの処理を単語同士で繰り返し実行し、単語同士の関連性を決定していく。すべての単語の間で関連性が決定すると、その関連性に基づいて、不揮発性メモリ(2102)上の認識結果DBに認識結果として格納する。
【実施例4】
【0067】
<概要>
【0068】
実施例4にかかる表認識処理装置は、認識処理を行うことで関連付けられた単語を用いて、所定の処理が可能である。図22は本実施例の表認識処理装置の処理の概要を示すための図である。この図にあるように、注文書を元に請求書を作成する処理の前後の概要を示している。当該処理では注文書の認識処理を実行し、関連付けられた単語を用いて請求書の生成処理を実行している。
【0069】
以下、機能的構成、処理の流れ、ハードウェア構成を順に説明する。
【0070】
<機能的構成>
図23は、本実施例にかかる表認識処理装置の機能的構成を示す図である。本実施例にかかる表認識処理装置(2300)は、「位置付単語取得部」(2301)と、「辞書部」(2302)と、「属性位置付単語取得部」(2303)と、「属性位置付単語出力部」(2304)「関連性決定ルール保持部」(2305)と、「関連性取得部」(2306)と、を有する。これら構成要件については上記実施例で説明済みであるので記載は省略する。本実施例の表認識処理装置の特徴は、処理ルール保持部(2307)と、処理実行部(2308)を新たに有する点である。
【0071】
「処理ルール保持部」(2307)は、単語と単語との関連性に基づいて実行すべき処理ルールを保持する機能を有する。「単語と単語との関連性に基づいて」とは、関連性取得部(2306)で取得された関連性により認識結果が出力されるが、その出力されたデータの構造を用いることを意味する。具体的には、出力結果は一以上のフィールドと一以上のレコードとからなるテーブルで出力され、各レコードの単語データはフィールドと関連付けられている。この関連付けを用いて処理ルールを適用する。「処理ルール」とは、関連付けられた一つ一つの単語データを再配置するためのルールである。例えば図22における注文書の「合計金額」に関連付けられている「¥40,500」は、請求書の「合計金額」になっているとともに、「お振込金額」の部分に再配置されている。このような処理を行うための手続きが含まれるものが処理ルールに該当する。当部の機能は、CPUとRAMにより実現される。
【0072】
「処理実行部」(2308)は、取得した関連性と、保持されている処理ルールとに基づいて関連性のある単語についての処理を実行する機能を有する。処理ルール保持部(2307)に保持される処理ルールを読み込み、ルールに記載されている手続きを実行する。当部の機能はCPUとRAMと、RAMに呼び出され、CPUにて実行される処理実行プログラムにより実現される。
【0073】
<処理の流れ>
図24は、本実施例にかかる表認識処理装置を用いた場合の処理の流れの一例を示すためのフローチャートである。まず、表中の位置と関連付けた単語である位置付単語を取得する(ステップS2401)。次に、辞書を参照する(ステップS2402)。具体的には予定されている単語と単語の関連性を取得するために単語に与えられている属性情報をその単語と関連付けて保持した情報を参照する。その後、位置付単語に関連付けた属性位置付単語を取得する(ステップS2403)。次に属性位置付単語を出力する(ステップS2404)。続いて、単語と単語との位置関係と、各単語の属性とに基づいて単語と単語との関連性を決定するためのルールである関連性決定ルールを取得する(ステップS2405)。次に、属性位置付単語に関連付けられている各単語の位置及び属性と、関連性決定ルールと、に基づいて各単語の関連性を取得する(ステップS2406)。その後、単語と単語との関連性に基づいて実行すべき処理ルールを参照する(ステップS2407)。最後に取得した関連性と、参照した処理ルールとに基づいて関連性のある単語についての処理を実行する(ステップS2408)。
【0074】
<ハードウェア構成>
図25は、本実施例にかかる表認識処理装置のハードウェア構成の一例を示す図である。以下、この図を用いて説明する。
【0075】
この図にあるように、本実施例にかかる表認識処理装置は、各種演算処理を行う「CPU(中央演算装置)」(2501)と、HDDなどの「不揮発性メモリ」(2502)と、揮発性の記憶媒体である「RAM」(2503)を備えている。また、「入力I/F」(2504)を介して「スキャナ」(2505)、キーボード、マウス、ディスプレイ等の「U/I」(2506)を備えている。そして、それらが「システムバス」(2507)などのデータ通信経路によって相互に接続され、情報の送受信や処理を行う。
【0076】
まず、1.位置付単語取得プログラムと2.属性位置付単語取得プログラムと3.属性位置付単語出力プログラムおよび4.関連性取得プログラムの処理が実行されるがこれらのハードウェアにおける処理は上記実施例で説明済みであるので記載は省略する。
【0077】
4.関連性取得プログラムにより各単語間の関連性が取得され、認識結果として不揮発性メモリ(2502)内に格納されている認識結果DBに単語が格納される。次に、5.処理実行プログラムがRAM(2503)上に呼び出され、CPU(2501)にて実行される。同プログラムはRAM(2503)上のc.処理ルールを読み込み、ルールに記載されている手続きを実行する。具体的には、不揮発性メモリ(2502)上の認識結果DB内の単語を取得して、処理ルールに基づいて再配置を行う。再配置が完了すると、出力結果としてRAM(2503)上に一時的に格納される。
【符号の説明】
【0078】
0900:表認識処理装置
0901:位置付単語取得部
0902:辞書部
0903:属性位置付単語取得部
0904:属性位置付単語出力部
0905:関連性決定ルール保持部
0906:関連性取得部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26