(57)【要約】【課題】非定型の帳票等を認識する場合において、データ文字列と項目名文字列との位置関係のみによらず、データ文字列の属性を特定することの可能な表認識処理装置を実現すること。【解決手段】本発明は、項目名文字列のみならず、データ文字列をも辞書によりその属性を特定することの可能な表認識処理装置を提供する。具体的には、表中の単語に取得した位置情報と属性情報を付与し、属性と位置の両者を用いる関連性決定ルールにより複数の単語同士の関連性を取得していく。このように取得された関連性に基づいて、認識結果を出力することが可能であるため、非定型の帳票などに対してより信頼性の高い認識を行うことができる。【選択図】図９
2019079147.tif 000002
【特許請求の範囲】
【請求項１】
表中に含まれる単語（数字、単位を含む。以下同じ。）によって表される意図に沿った処理をするために予定されている単語と単語の関連性を取得するための表認識処理装置であって、
表中の位置と関連付けた単語である位置付単語を取得する位置付単語取得部と、
予定されている単語と単語の関連性を取得するために単語に与えられている属性情報をその単語と関連付けて保持する辞書部と、
取得された位置付単語の属性を辞書部を利用して位置付単語に関連付けた属性位置付単語を取得する属性位置付単語取得部と、
取得した属性位置付単語を出力する属性位置付単語出力部と、
を有する表認識処理装置。
【請求項２】
さらに、
単語と単語との位置関係と、各単語の属性とに基づいて単語と単語との関連性を決定するためのルールである関連性決定ルールを保持する関連性決定ルール保持部と、
属性位置付単語に関連付けられている各単語の位置及び属性と、関連性決定ルールと、に基づいて各単語の関連性を取得する関連性取得部と、
を有する請求項１に記載の表認識処理装置。
【請求項３】
前記保持されている関連性決定ルールは、特定の属性の単語の繰り返し配置に応じて
表の所定の領域を特定の関連性のある単語が配置されていると判断する判断ルールである領域関連性判断ルールを含む請求項２に記載の表認識処理装置。
【請求項４】
単語と単語との関連性に基づいて実行すべき処理ルールを保持する処理ルール保持部と、
取得した関連性と、保持されている処理ルールとに基づいて関連性のある単語についての処理を実行する処理実行部と、
をさらに有する請求項１、２、又は３に記載の表認識処理装置。
【請求項５】
表は帳票であり、単語に与えられる属性は、項番、商品名、商品コード（製品番号）、サービス名、数量、単価、消費税、金額、合計金額、単位、取引先コード、取引先名称、住所、納期、出荷日、検収日、検収期限、支払期日、支払期限、項番項目名称、商品名項目名称、商品コード（製品番号）項目名称、サービス名項目名称、数量項目名称、単価項目名称、消費税項目名称、金額項目名称、合計金額項目名称、単位項目名称、取引先コード項目名称、取引先名称項目名称、住所項目名称、納期項目名称、出荷日項目名称、検収日項目名称、検収期限項目名称、支払期日項目名称、支払期限項目名称、のいずれか一以上である請求項１から４のいずれか一に記載の表認識処理装置。
【請求項６】
表中に含まれる単語（数字、単位を含む。以下同じ。）によって表される意図に沿った処理をするために予定されている単語と単語の関連性を取得するための表認識処理方法であって、
表中の位置と関連付けた単語である位置付単語を取得する位置付単語取得ステップと、
予定されている単語と単語の関連性を取得するために単語に与えられている属性情報をその単語と関連付けて保持した情報を参照する辞書参照ステップと、
取得された位置付単語の属性を辞書参照ステップにより辞書を参照して位置付単語に関連付けた属性位置付単語を取得する属性位置付単語取得ステップと、
取得した属性位置付単語を出力する属性位置付単語出力ステップと、
を有する表認識処理方法。
【請求項７】
さらに、
単語と単語との位置関係と、各単語の属性とに基づいて単語と単語との関連性を決定するためのルールである関連性決定ルールを取得する関連性決定ルール取得ステップと、
属性位置付単語に関連付けられている各単語の位置及び属性と、関連性決定ルールと、に基づいて各単語の関連性を取得する関連性取得ステップと、
を有する請求項６に記載の表認識処理方法。
【請求項８】
前記保持されている関連性決定ルールは、特定の属性の単語の繰り返し配置に応じて
表の所定の領域を特定の関連性のある単語が配置されていると判断する判断ルールである領域関連性判断ルールを含む請求項７に記載の表認識処理方法。
【請求項９】
単語と単語との関連性に基づいて実行すべき処理ルールを取得する処理ルール取得ステップと、
取得した関連性と、取得した処理ルールとに基づいて関連性のある単語についての処理を実行する処理実行ステップと、
をさらに有する請求項６、７、又は８に記載の表認識処理方法。
【請求項１０】
表は帳票であり、単語に与えられる属性は、項番、商品名、商品コード（製品番号）、サービス名、数量、単価、消費税、金額、合計金額、単位、取引先コード、取引先名称、住所、納期、出荷日、検収日、検収期限、支払期日、支払期限、項番項目名称、商品名項目名称、商品コード（製品番号）項目名称、サービス名項目名称、数量項目名称、単価項目名称、消費税項目名称、金額項目名称、合計金額項目名称、単位項目名称、取引先コード項目名称、取引先名称項目名称、住所項目名称、納期項目名称、出荷日項目名称、検収日項目名称、検収期限項目名称、支払期日項目名称、支払期限項目名称、のいずれか一以上である請求項６から９のいずれか一に記載の表認識処理方法。
【請求項１１】
表中に含まれる単語（数字、単位を含む。以下同じ。）によって表される意図に沿った処理をするために予定されている単語と単語の関連性を取得するための表認識処理装置の動作プログラムであって、
表中の位置と関連付けた単語である位置付単語を取得する位置付単語取得ステップと、
予定されている単語と単語の関連性を取得するために単語に与えられている属性情報をその単語と関連付けて保持した情報を参照する辞書参照ステップと、
取得された位置付単語の属性を辞書参照ステップにより辞書を参照して位置付単語に関連付けた属性位置付単語を取得する属性位置付単語取得ステップと、
取得した属性位置付単語を出力する属性位置付単語出力ステップと、
を計算機に実行させるための表認識処理プログラム。
【請求項１２】
さらに、
単語と単語との位置関係と、各単語の属性とに基づいて単語と単語との関連性を決定するためのルールである関連性決定ルールを取得する関連性決定ルール取得ステップと、
属性位置付単語に関連付けられている各単語の位置及び属性と、関連性決定ルールと、に基づいて各単語の関連性を取得する関連性取得ステップと、
を計算機に実行させるための請求項１１に記載の表認識処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表の要素である項目やデータの属性を自動で認識し処理する装置に関するものである。
【背景技術】
【０００２】
紙に印刷されている表である帳票等の内容を認識し計算機上で処理するためには、まずＯＣＲ等で文字認識を行った上で、認識された文字列が帳票中のどの項目に関連付けられるかを特定する必要がある。従来、帳票上の位置が項目名と関連付けられており、あらかじめ決められた位置の文字列に対してあらかじめ定義されている項目名を関連付けするものであった。このため、文字列の位置が決められた位置からずれると項目名が適切に関連付けされないため、正しく認識を行うためには、定型の帳票を採用する必要があった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２０４２２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の技術では非定型の帳票を統一フォーマットの帳票に変換するための装置等が開示されている。該技術では、項目名単語辞書を有しており、文字認識を行った文字列に対して、当該文字列が項目名に該当するか否かを辞書と照合することにより決定する。照合の結果、該当する場合には項目名文字列とし、該当しなかった場合にはデータ文字列とする。次に項目名文字列とデータ文字列の帳票上の位置関係により、データ文字列がどの項目（識別情報で名寄せされている）に関連付けられるかを特定する処理を実行する。
【０００５】
このように、上記技術ではデータ文字列と関連付けられる項目名は専らデータ文字列と項目名文字列との相対的な位置関係により決定される。このため、両者が関連付けられるための位置関係のルールをあらかじめ定義しておく必要がある。しかしながら両者がルールに定義されていない位置関係にある場合には関連付けに失敗したり、間違った関連付けを行ってしまったりするといった問題が生ずる。
【０００６】
図２６は従来技術による帳票の認識処理を説明するための図である。この図にあるように、帳票中の表の上部に「ＮＯ．」、「商品コード」、「商品名」、「単価」、「個数」、「金額」といった項目名文字列があり、その下にデータ文字列が並んでいる態様になっている。このとき帳票を縦（列方向）に見て「項目名文字列の下に隣接して位置するデータ文字列はその項目名文字列と関連付けられる」といったルールと、「関連付けられたデータ文字列に下方に隣接するデータ文字列はその関連付けられたデータ文字列と同じ項目名文字列に関連付けられる」といったルールとを適用することにより関連付けを行うことができる。しかしながら、表の下部にある「小計」、「消費税」、「合計」の項目名文字列は、下にデータ文字列が存在しないため上記ルールでは関連付けを行うことができず、これらの項目名文字列はデータ文字列との関連付けに失敗する。そこで、今度は帳票を横（行方向）に見て、「項目名文字列の右側に隣接して位置するデータ文字列はその項目名文字列と関連付けられる」といったルールを適用することにより関連付けを行う。しかしながら、「小計」、「消費税」、「合計」の各項目名文字列に隣接するセルは空白であり、「隣接」とみなされる範囲を拡大しなければ上記ルールを適用できず、データ文字列との関連付けを行うことができない。このように、項目名文字列とデータ文字列との相対的位置関係のみから両者の関連付けを行う場合に、ルールを適用できない位置関係が出現すると関連付けに失敗するといった問題が生ずる。さらに従来技術では、データ文字列の属性を判別しないので帳票のフォーマットの変換はできるが帳票の意図に沿った処理（例えば、発注、送金など）をすることはできなかった。
【０００７】
上記のような問題を踏まえ、非定型の帳票を認識する場合において、データ文字列と項目名文字列との位置関係のみによらず、データ文字列の属性を特定することによりデータ文字列間の関係性を取得し、その関係性に基づいた帳票作成意図どおりの処理が可能となる表認識処理装置を実現することが課題として生ずる。
【課題を解決するための手段】
【０００８】
このような課題に対し、本発明は、項目名文字列のみならず、データ文字列をも辞書によりその属性を特定することの可能な表認識処理装置を提供する。
【０００９】
具体的には、表中に含まれる単語（数字、単位を含む。以下同じ。）によって表される意図に沿った処理をするために予定されている単語と単語の関連性を取得するための表認識処理装置であって、表中の位置と関連付けた単語である位置付単語を取得する位置付単語取得部と、予定されている単語と単語の関連性を取得するために単語に与えられている属性情報をその単語と関連付けて保持する辞書部と、取得された位置付単語の属性を辞書部を利用して位置付単語に関連付けた属性位置付単語を取得する属性位置付単語取得部と、取得した属性位置付単語を出力する属性位置付単語出力部と、を有する表認識処理装置を提供する。
【００１０】
また上記特徴に加えてさらに、単語と単語との位置関係と、各単語の属性とに基づいて単語と単語との関連性を決定するためのルールである関連性決定ルールを保持する関連性決定ルール保持部と、属性位置付単語に関連付けられている各単語の位置及び属性と、関連性決定ルールと、に基づいて各単語の関連性を取得する関連性取得部と、を有する表認識処理装置を提供する。
【００１１】
また上記特徴に加えて、前記保持されている関連性決定ルールは、特定の属性の単語の繰り返し配置に応じて表の所定の領域を特定の関連性のある単語が配置されていると判断する判断ルールである領域関連性判断ルールを含む表認識処理装置を提供する。
【００１２】
また上記特徴に加えて、単語と単語との関連性に基づいて実行すべき処理ルールを保持する処理ルール保持部と、取得した関連性と、保持されている処理ルールとに基づいて関連性のある単語についての処理を実行する処理実行部と、をさらに有する表認識処理装置を提供する。
【００１３】
また上記特徴に加えて、表は帳票であり、単語に与えられる属性は、項番、商品名、商品コード（製品番号）、サービス名、数量、単価、消費税、金額、合計金額、単位、取引先コード、取引先名称、住所、納期、出荷日、検収日、検収期限、支払期日、支払期限、項番項目名称、商品名項目名称、商品コード（製品番号）項目名称、サービス名項目名称、数量項目名称、単価項目名称、消費税項目名称、金額項目名称、合計金額項目名称、単位項目名称、取引先コード項目名称、取引先名称項目名称、住所項目名称、納期項目名称、出荷日項目名称、検収日項目名称、検収期限項目名称、支払期日項目名称、支払期限項目名称、のいずれか一以上である表認識処理装置を提供する。
【発明の効果】
【００１４】
上記のような表認識処理装置により、項目名文字列とデータ文字列の位置関係のみに基づくのではなく、辞書に格納された項目名文字列とデータ文字列とのそれぞれの属性に基づいて項目名文字列とデータ文字列の関連付けも可能である。これにより、あらかじめ決められたフォーマットに限定されない多様な態様の表のより信頼性の高い認識が可能となる。
【図面の簡単な説明】
【００１５】
【図１】実施例１の表認識処理装置の処理の概要を示す図
【図２】実施例１にかかる表認識処理装置の機能的構成を示す図
【図３】実施例１を実施した場合の認識処理によって取得された「位置」を説明するための図
【図４】実施例１にかかる表認識処理装置の辞書部を構成する辞書ＤＢに保持されている単語データの例を示すための図
【図５】実施例１にかかる表認識処理装置において単語の属性情報を取得しその位置付単語の属性として付加する処理を示すための図
【図６】実施例１における表認識処理装置の処理の流れの一例を示すフローチャート
【図７】実施例１にかかる表認識処理装置のハードウェア構成の一例を示す図
【図８】実施例２にかかる表認識処理装置の処理の結果を示すための図
【図９】実施例２にかかる表認識処理装置の機能的構成を示す図
【図１０】実施例２にかかる表認識処理装置において単語と単語との位置関係を示すための図
【図１１】実施例２にかかる表認識処理装置において単語と単語との位置関係による関連性決定ルールを説明するための図
【図１２】実施例２にかかる表認識処理装置においてｘ軸方向（右方向）に認識範囲を伸縮することで関連付けが可能となる一例を示す図
【図１３】実施例２にかかる表認識処理装置において各単語の属性に基づく関連性決定ルールを説明するための図
【図１４】実施例２における表認識処理装置の別の処理の一例を示すための図
【図１５】実施例２における表認識処理装置の処理の流れの一例を示すフローチャート
【図１６】実施例２にかかる表認識処理装置のハードウェア構成の一例を示す図
【図１７】実施例３にかかる表認識処理装置の処理の概要を示すための図
【図１８】実施例３にかかる表認識処理装置の機能的構成を示す図
【図１９】実施例３の表認識処理装置における、領域関連性判断ルールを説明するための図
【図２０】実施例３における表認識処理装置の処理の流れの一例を示すフローチャート
【図２１】実施例３にかかる表認識処理装置のハードウェア構成の一例を示す図
【図２２】実施例４にかかる表認識処理装置の処理の概要を示すための図
【図２３】実施例４にかかる表認識処理装置の機能的構成を示す図
【図２４】実施例４における表認識処理装置の処理の流れの一例を示すフローチャート
【図２５】実施例４にかかる表認識処理装置のハードウェア構成の一例を示す図
【図２６】従来技術による帳票の認識処理を説明するための図
【発明を実施するための形態】
【００１６】
以下、本件発明の実施の形態について、添付図面を用いて説明する。なお、実施例と請求項の相互の関係は以下の通りである。実施例１は主に請求項１、５、６、１０に関し、実施例２は主に請求項２、７、１２に関し、実施例３は主に請求項３および８に関し、実施例４は主に請求項４および９に関する。本件発明は、これら実施例に何ら限定されるべきものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施し得る。
【実施例１】
【００１７】
＜概要＞
【００１８】
図１は本実施例の表認識処理装置の処理の概要を示す図である。この図にあるように、「注文書」と題された帳票内の要素をイメージとして取り出し単語として認識する。次に、これら認識された単語の位置を取得する。図１では取得されたイメージ上における（横,縦）の座標で位置を特定している。例えば、単語の「ｂ２０１」は、イメージ上の（４０,１１０）の位置に配置されているとすると、その座標（４０,１１０）を単語「ｂ２０１」とに関連付けて記憶域に格納する。次に認識された単語によって辞書内を検索し、該当した場合にはその該当項目に記載されている属性を取得する。例えば、「ｂ２０１」との単語が認識された場合には、この「ｂ２０１」に該当する項目を辞書内で検索する。その結果、単語「ｂ２０１」が該当し、辞書の記載により「商品コード」の属性を有することが分かったとする。そうすると、図１下の表のように、単語「ｂ２０１」に属性「商品コード」を付与して記憶域に格納する。このように本実施例の表認識処理装置では表中の文字列をある属性を有する単語として認識し、かつ表内での位置を特定して出力することができる。この出力結果を用いることにより、属性が特定された要素である単語を所定のルールにより再配置し、種々の処理に供することができる。例えば「注文書」において、属性「商品コード」が特定された単語「ｂ２０１」を座標（４０,１１０）の位置から別の表である「請求書」の内訳の該当位置に所定のルールを用いて再配置することで請求処理を実行するための表を構成することができる。
【００１９】
以下では、本実施例の表認識処理装置の機能及び処理の流れ、並びにハードウェアの内容について、詳細に説明する。なお、以下に記載する本システムの機能ブロックは、ハードウェア及びソフトウェアの組み合わせとして実現され得る。具体的には、コンピュータを利用するものであれば、ＣＰＵ（中央演算装置）や主メモリ、バス、あるいは二次記憶装置（ハードディスクドライブや不揮発性メモリ、ＣＤやＤＶＤなどの記憶メディアとそれらメディアの読取ドライブなど）、情報入力に利用されるスキャナなどの入力デバイス、印刷機器や表示装置、その他の外部周辺装置などのハードウェア構成部、またその外部周辺装置用のインターフェース、通信用インターフェース、それらハードウェアを制御するためのドライバプログラムやその他アプリケーションプログラム、ユーザ・インターフェース用アプリケーションなどが挙げられる。そして主メモリ上に展開したプログラムに従ったＣＰＵの演算処理によって、入力デバイスやその他インターフェースなどから入力され、メモリやハードディスク上に保持されているデータなどが加工、蓄積されたり、上記各ハードウェアやソフトウェアを制御するための命令が生成されたりする。あるいは本システムの機能ブロックは専用ハードウェアによって実現されても良い。
【００２０】
また、この発明はシステムとして実現できるのみでなく、方法としても実現可能である。また、このような発明の一部をソフトウェアとして構成することができる。さらに、そのようなソフトウェアをコンピュータに実行させるために用いるプログラム、及びプログラムを固定した記録媒体も、当然にこの発明の技術的な範囲に含まれる（本明細書の全体を通じて同様である）。
【００２１】
＜機能的構成＞
図２は、本実施例にかかる表認識処理装置の機能的構成を示す図である。本実施例にかかる表認識処理装置（０２００）は、「位置付単語取得部」（０２０１）と、「辞書部」（０２０２）と、「属性位置付単語取得部」（０２０３）と、「属性位置付単語出力部」（０２０４）と、を有する。
【００２２】
「位置付単語取得部」（０２０１）とは、表中の位置と関連付けた単語である位置付単語を取得する機能を有する。「表」とは本装置の認識対象であり、お互い関連性のある、文字列や数値などの要素の配列のことを指す。表には商取引に用いられる帳票などが含まれる。「位置」とは表中に定義される座標平面上において特定される要素の代表点を指す。代表点には、例えば文字列の認識枠の左上の点や中心点、重心点などが挙げられる。ここで認識枠とは、文字認識を実行するためにイメージから切り出されるターゲット領域のことであり、認識対象の文字列の外周を直線で囲んだものである。図３は認識処理によって取得された「位置」を説明するための図である。この図にあるように、図１の帳票の要素を切り出し処理によってｘｙ軸上に認識枠（０３０１）として配置している。本図では上記「位置」は認識枠の中心点を代表点として特定している。例えば、「ｂ２０１」をイメージとして有する要素（０３０２）は（ｘ１，ｙ１）を「位置」として有する。本実施例において「単語」とは認識された文字列の他、数値や単位が含まれる。「位置付単語」と言った場合には上述の位置を有する単語を指し、少なくとも単語文字列データと位置データをプロパティとして持つデータ構造（例えば位置付単語クラス等）により実現されるものである。「取得」とは認識処理によって位置データと文字列データを特定し、所定の記憶域に格納する処理を指す。具体的には、テキストファイル等やワークシート上の文字列の位置とテキストデータとを特定して記憶域に格納する処理や、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）等で行われる処理であって、表をスキャンすることによってイメージに変換し、そのイメージの中から単語を認識枠により切り出し、１．認識枠の位置を特定し記憶域に格納し、２．認識枠内の文字列あるいは数値を文字認識により特定してテキストあるいは数値データとして記憶域に格納する処理を実行すること等を指す。当部の機能は、主に装置のＣＰＵと、ＲＡＭと、ＲＡＭに呼び出されＣＰＵにて実行される位置付単語取得プログラムにより実現される。
【００２３】
「辞書部」（０２０２）は、予定されている単語と単語の関連性を取得するために単語に与えられている属性情報をその単語と関連付けて保持する機能を有する。「属性情報」とは、図１において、「ボールペン」、「シャープペンシル」に対する「商品名」のように、認識結果として出力される際に一意に定まり、他の属性と識別可能なフィールド名となるものである。ここで、属性情報は、項番、商品名、商品コード（製品番号）、サービス名、数量、単価、消費税、金額、合計金額、単位、取引先コード、取引先名称、住所、納期、出荷日、検収日、検収期限、支払期日、支払期限、項番項目名称、商品名項目名称、商品コード（製品番号）項目名称、サービス名項目名称、数量項目名称、単価項目名称、消費税項目名称、金額項目名称、合計金額項目名称、単位項目名称、取引先コード項目名称、取引先名称項目名称、住所項目名称、納期項目名称、出荷日項目名称、検収日項目名称、検収期限項目名称、支払期日項目名称、支払期限項目名称、のいずれか一以上である場合を含む。図４は辞書部を構成する辞書ＤＢに保持されている単語データの例を示したものである。辞書部に登録される文字列は、おおよそ伝票に使われるであろう文字列で足りる。これは初期に利用される可能性のある文字列を登録する。一般には企業名、部署名、担当者名、商品名、サービス名、住所、電話番号、郵便番号、メールアドレス、伝票の種類を示す文字列、項目の名称を示す文字列、商品コード、商品の説明に用いられる文字列、年月日時間時刻を示す単語などである。この図にあるように、一つの単語データは文字列と属性情報からなる。ただし、伝票に表れる可能性があるすべての単語に属性が割り当てられている必要はなく、例えば数字のみからなる単語（文字列）には属性を割り当てないように設計してもよい。当部の機能は、主に装置のＣＰＵと、ＲＡＭと、ＨＤＤなどの不揮発性メモリに格納された辞書ＤＢにより実現される。
【００２４】
「属性位置付単語取得部」（０２０３）は、取得された位置付単語の属性を辞書部（０２０２）を利用して位置付単語に関連付けた属性位置付単語を取得する機能を有する。具体的には図５に示すように位置付単語の文字列（数値等を含む）をキーとして辞書部内の辞書ＤＢ（０５０１）内を検索し、一致する単語の属性情報を取得しその位置付単語の属性として付加する処理等を実行する。なお上記単語の一致については、全部一致と部分一致との場合があり、部分一致では一致した文字列の数に基づく適合率が所定の値を超えた場合に一致するとみなすといった処理を行っても良い。あるいは上記の他、ハミング距離や、レーベンシュタイン距離等の編集距離を上記適合率に代えて使用しても良い。このような処理によって位置付単語に表記ゆれが存在したとしても一定の範囲で同一のものであるとの判断が可能であり、属性付与の処理を促進させることができる。なお、単語と認識されたにもかかわらず属性を取得できないものに関してはアラームとしてその単語を構成する文字列に関連付けて属性が取得できなかった旨の情報を出力するように構成してもよい。さらに、オペレータによって属性が取得できなかった単語に属性を割り当てて辞書部に登録する機能、又はすでに登録されている単語と名寄せ処理をする機能を設けることが好ましい。また一つの単語に複数の属性を割り当てるように構成してもよい。数字に複数の属性を割り当てる場合や、「ＳＵＺＵＫＩ」に担当者名と企業名を割り当てるようなケースである。当部の機能は、主に装置のＣＰＵと、ＲＡＭと、ＲＡＭに格納され、ＣＰＵにて実行される属性位置付単語取得プログラムにより実現される。
【００２５】
「属性位置付単語出力部」（０２０４）は、取得した属性位置付単語を出力する機能を有する。ここで「出力」とはディスプレイ等のデバイスに出力する場合のほか、装置内部の他の構成部分に対して出力する場合も含まれる。当部の機能は主に装置のＣＰＵと、ＲＡＭと、ＲＡＭに格納され、ＣＰＵにて実行される属性位置付単語出力プログラムとディスプレイ等のＵ／Ｉで実現される。
【００２６】
＜処理の流れ＞
図６は、本実施例にかかる表認識処理装置を用いた場合の処理の流れの一例を示すためのフローチャートである。まず、表中の位置と関連付けた単語である位置付単語を取得する（ステップＳ０６０１）。次に、辞書を参照する（ステップＳ０６０２）。具体的には予定されている単語と単語の関連性を取得するために単語に与えられている属性情報をその単語と関連付けて保持した情報を参照する。その後、位置付単語に関連付けた属性位置付単語を取得する（ステップＳ０６０３）。続いて、属性位置付単語を出力する（ステップＳ０６０４）。
【００２７】
＜ハードウェア構成＞
図７は、本実施例にかかる表認識処理装置のハードウェア構成の一例を示す図である。以下、この図を用いて説明する。
【００２８】
この図にあるように、本実施例にかかる表認識処理装置は、各種演算処理を行う「ＣＰＵ（中央演算装置）」（０７０１）と、ＨＤＤなどの「不揮発性メモリ」（０７０２）と、揮発性の記憶媒体である「ＲＡＭ」（０７０３）を備えている。また、「入力Ｉ／Ｆ」（０７０４）を介して「スキャナ」（０７０５）、キーボード、マウス、ディスプレイ、プリンタ等の「Ｕ／Ｉ」（０７０６）を備えている。そして、それらが「システムバス」（０７０７）などのデータ通信経路によって相互に接続され、情報の送受信や処理を行う。
【００２９】
また、「ＲＡＭ」（０７０３）は、各種処理を行うプログラムを「ＣＰＵ」（０７０１）に実行させるために読み出すと同時にそのプログラムの作業領域でもあるワーク領域を提供する。また、このＲＡＭ（０７０３）にはそれぞれ複数のアドレスが割り当てられており、ＣＰＵ（０７０１）で実行されるプログラムは、そのアドレスを特定しアクセスすることで相互にデータのやりとりを行い、処理を行うことが可能になっている（本明細書を通じて同様である）。
【００３０】
まず、１．位置付単語取得プログラムがＲＡＭ（０７０３）上に呼び出され、ＣＰＵ（０７０１）にて実行される。同プログラムはスキャナ（０７０５）等により帳票などの表のイメージを取り込む。取り込まれたイメージはＲＡＭ（０７０３）上に一時的に保持される。次に同プログラムはＣＰＵ（０７０１）にてイメージを解析して認識すべき文字列および数値等がある箇所に認識文字枠を設定する。認識文字枠のイメージ上での座標（左上、中心、重心など）を取得して位置情報とする。設定された認識文字枠内の文字列は文字認識処理によりテキストデータ（数値等含む。以下同じ。）に変換される。これら位置情報と文字列のテキストデータは位置付単語データとしてＲＡＭ（０７０３）上に一時的に保持される。
【００３１】
次に２．属性位置付単語取得プログラムがＲＡＭ（０７０３）上に呼び出され、ＣＰＵ（０７０１）にて実行される。同プログラムは一時的に保持されている単語のテキストデータをキーとして不揮発性メモリ（０７０２）に保持されている辞書ＤＢ内を検索する。検索した結果ヒットした場合には、その項目を辞書ＤＢよりＲＡＭ（０７０３）上に読み出し、その項目の有する属性値をＲＡＭ（０７０３）に格納されている位置付単語データに複製することにより付加する。付加された単語データはＲＡＭ（０７０３）上に属性位置付単語データとして一時的に格納される。
【００３２】
次に３．属性位置付単語出力プログラムがＲＡＭ（０７０３）上に呼び出され、ＣＰＵ（０７０１）にて実行される。同プログラムはＲＡＭ（０７０３）上に一時的に格納されている属性位置付単語データをディスプレイ等のＵ／Ｉ（０７０６）により出力、もしくは装置内部で動作する他のプログラムに出力するためにＲＡＭ（０７０３）上に一時的に格納される。
【実施例２】
【００３３】
＜概要＞
【００３４】
図８は本実施例の表認識処理装置の処理の結果を示す図である。本実施例は属性位置付単語間の位置関係と属性関係とを用いて単語と単語との関連性を取得する。そのためにルールを保持し、ルールを利用する。例えば図８の上側に示されたオリジナルの伝票は、ルールを用いて下側に示される関連性が取得される。例えば下側のＸＭＬ文書にて示される一番上の要素はこのオリジナルの伝票は「注文書」であり、その注文は「○○商事株式会社」へ、「××産業株式会社」からのものである点、またその注文の内容として「ｂ２０１」その他の商品コードで示される物品が「１００」個・・・注文され、金額は、「２０，０００」（円）・・・であること、さらに総計金額として小計が「３７，５００」（円）、消費税が「３，０００」（円）、合計が「４０，０００」（円）であるとの情報が取得される。つまり、各単語間の関連性として、これらの情報が取得される、というものである。これらの情報は注文書の意図に沿った処理をするために用いられ、例えば自動発注処理、自動送金依頼処理、統一フォーマットの帳票作成などの処理に利用される。
【００３５】
＜機能的構成＞
図９は、本実施例にかかる表認識処理装置の機能的構成を示す図である。本実施例にかかる表認識処理装置（０９００）は、「位置付単語取得部」（０９０１）と、「辞書部」（０９０２）と、「属性位置付単語取得部」（０９０３）と、「属性位置付単語出力部」（０９０４）と、を有する。これらの構成については上記実施例にて説明済みであるので記載は省略する。本実施例の表認識処理装置の特徴は上記構成に加え、「関連性決定ルール保持部」（０９０５）と、「関連性取得部」（０９０６）とを有する点である。
【００３６】
「関連性決定ルール保持部」（０９０５）は、単語と単語との位置関係と、各単語の属性とに基づいて単語と単語との関連性を決定するためのルールである関連性決定ルールを保持する機能を有する。「関連性」とは、発注元と発注先の関係、商品コードと発注数量との関係、商品コードとその商品コードで示される商品の総発注額との関係、一の注文書と、その注文書での総発注金額、消費税額、総支払額などの関係であり、関連性決定ルール保持部（０９０５）は、これらの関連性を取得するためのルールを保持している。
【００３７】
例えば、横に並んでいる単語の間の属性の一が商品コードであり、他の一が個数であり、その伝票の文書種別が発注書である場合には、横に並んでいる前記単語と前記単語との関連性を商品コードとその商品コードで識別される商品の発注個数の関係であると判断するルールを保持する。「ｂ２０１」といった単語が出現した場合、この単語をキーとして辞書部を参照すると該当項目があり、「商品コード」の属性を有する単語であることがわかる。そうすると、上記関連性において発注の対象である商品を特定したことになる。また同じ行に数字で「２００」の単語がある場合、「２００」という単語に割り当てられる可能性がある属性が辞書部に蓄積されている。例えば、「２００」という数字には、項番、商品コード、単価、個数（発注、受注、戻入、不良品、良品、送付、保管）、金額、小計額、消費税、総計額から選択される属性が割り当て可能となっている。その「２００」の単語と上下関係にある単語として属性が単価を示す項目名称がある場合には、関連性決定ルールにて、割り当て可能な属性が上下左右に配置されている項目名の属性と同じである場合には、その項目名に割り当てられている属性をその単語、この場合には数字の「２００」の属性として割り当てる、というルールを用いる。例えばそれが「単価」という属性である場合には、さらに、横に並んでいる単語に商品コードの属性が割り当てられている場合には、関連性決定ルールとして、その商品コードで識別される商品の単価であるという関連性が取得される。また数字文字列については属性を与えないように本装置を構成してもよい。この場合には対応付けすべき項目名文字列が数字を許容する場合にその項目名文字列とその数字とを対応付けするようにしてもよい。また数字文字列以外にも属性を与えない文字列があってもよい。例えば「−」、「＊」、「〜」、「｜」、「＋」等の実からなる文字列である。
【００３８】
さらに「１００」という単語についても、割り当て可能な属性として辞書部から、項番、商品コード、単価、個数（発注、受注、戻入、不良品、良品、送付、保管、廃棄）、金額、小計額、消費税、総計額が取得され、かつその「１００」が属性が商品コードである単語や、属性が単価等である単語と同じ横に並んでおり、かつ、上下関係にある単語として属性が個数である項目名称がある場合には１００という単語は、その横並びの商品コードで識別される商品の発注個数であるという関連性が取得される。
【００３９】
このような処理をするルールは、位置関係と属性関係とを用いて単語と単語との関連性を決定するルールであったり、位置関係を用いて属性が不明な単語の属性を決定する処理のためのルール、あるいは単語の属性を決定するルールとその複数の属性を用いて単語と単語との関連性を決定するルールとの複合ルールであったり、単語の位置と属性からそれらの単語が予め関連付けられた属性関係にあるかを判断するルールであったり、これらの複合ルールであったりする。単語の文字列が数字の場合には、金銭単位である場合と、数量の単位である場合、商品コードである場合などがあるが、その数字だけからは、いずれの属性をもつ単語であるか判断することはできない。この場合には上下関係、左右関係にある単語の持つ属性を調べ、単価、発注金額、小計、消費税、総発注額、発注個数、項番（Ｎｏ．）などの属性を有する単語が発見されれば、その属性をその単語に割り当てる処理をする。関連性の決定のルールとしては、伝票の属性が注文書であり、縦又は横に並んでいる単語の属性に、商品コード又は商品名が含まれ、かつ、発注個数又は発注額が含まれている場合には、その並びの情報の関連性はその並びの情報によって一の注文を構成していると判断するルールが該当する。伝票の属性に応じて関連性として発注を構成する情報である、受注を構成する情報である、配送を構成する情報である、保管を構成する情報である、売り上げを構成する情報である、廃棄を構成する情報である、返品を構成する情報である、在庫状況を構成する情報である、など各種の関連性を構成する情報であるとの決定をするためのルールが考えられる。また伝票の属性は必ずしも唯一であるとは限らず、一の伝票に複数の処理のための表構成部分が含まれていてもよい。例えば、受注伝票部分と配送伝票部分が一の伝票に含まれていてもよい。これも単語の属性と、各単語の位置関係とに基づいて、ある部分領域は受注伝票部分、ある部分領域は配送伝票部分と判断して処理するようにルールを定めることができる。
【００４０】
図１０は「単語と単語との位置関係」を示すための図である。この図にあるように、項目名文字列である単語「金額」を基準にとると、その下のｘ座標ｘ５＿１からｘ５＿２の範囲内に「２０，０００」が配置されている。この「２０，０００」について辞書を参照する。その結果、数値である「２０，０００」は「金額」、「単価」、「個数」などの複数の属性に該当する。ここで単語「２０，０００」は単語「金額」の下の既定の範囲に位置していることから属性「金額」が付与されることがわかる。今度は、単語「ｂ２０１」（属性：商品コード）を基準に取ると、その右側のｙ１＿１からｙ１＿２の範囲内に「ボールペン」、「２００」、「１００」、「２０，０００」が並んでいる。辞書を参照すると「ボールペン」は商品名であり、「２００」、「１００」、「２０，０００」は数値であり「単価」、「個数」あるいは「金額」などの属性を有するといったことが分かる。ここで「２００」は「単価」という属性を持つ項目名文字列の下に位置しており、「１００」は「個数」、「２０，０００」は「金額」の下に位置していることから、それぞれ「単価」、「個数」、「金額」の属性を有すると考えられる。このように属性を決定した上で関連性決定ルールにより関連性を取得する。ここでは「単価」（円）の「商品名」を「個数」分だけ「金額」（円）で発注する、といった関連性決定ルールを適用すると、単価「２００」（円）の「ボールペン」（商品コード：ｂ２０１）を「１００」本、金額「２０，０００」（円）で発注する、といった関連性が取得される。
【００４１】
関連性決定ルールを一般化すると、単語について、辞書を参照することによって一義的にその属性が定められる場合には、その単語の属性は辞書で定められる属性とする。一義的に属性を定められず、複数の属性の候補がある場合には、上下左右に並ぶ単語に項目名称の属性を有する単語がある場合には、さらにその項目名称で示される項目の属性を取得し、取得した項目名称の属性と複数の属性の候補に一致するものがあれば、その一致した属性を選択してその単語の属性とする。項目名称の属性が複数取得される場合もある。例えば最上位に属性として「商品のシリーズ名」が位置し、さらにその下に「商品のシリーズ内での名称」が位置するような場合である。例えばこの項目名称の下には、「ＡＢＣチョコレート」と「イチゴ味」が並んでいる場合には、単語の上下関係と項目名称の上下関係に基づいて、「ＡＢＣチョコレート」は単語の属性がシリーズ名、「イチゴ味」は単語の属性が「シリーズ内での名称」と決定する。つまり、上は上に対応、下は下に対応、という関連性決定ルールである。
【００４２】
さらにこの伝票の属性が発注伝票である場合には、シリーズ名で発注するのでなく、シリーズ名とシリーズ内での名称の両者を用いて発注するという関連性を取得する。例えば、このシリーズ名、シリーズ内での名称の単語の左右位置関係にある単語の属性が発注数量である場合には、シリーズとシリーズ内での名称を特定して該当する発注数量の発注処理をする関連性があると、関連性決定ルールによって決定される。
【００４３】
上記ｙ１＿１からｙ１＿２、ｘ５＿１からｘ５＿２の範囲は広げたり狭めたりすることが可能である。図１１に示すように、当初「商品コード」の「ｓ１０３」を基準として、デフォルト値に基づいてｙ２＿１からｙ２＿２の範囲を同一の結果レコードの範囲とする。そうすると本来同一レコード内にあるべき「単価」の「１５０」が認識範囲から漏れてしまう。そこで、同一の結果レコードの中で欠落したフィールドが存在する場合には認識範囲を所定の値だけ拡張するといったルールに基づいて、ｙ２＿２をまずｙ３まで拡張する。そうすると、「単価」の「１５０」が認識範囲に入ってくるが、同時に「商品コード」の「ｅ３０３」も認識範囲に入って来る。なお認識範囲を下方のみに拡張する理由はｙ２＿２より上方の要素についてはすでに認識済みであるという前提が存在するためである。認識結果の「商品コード」のフィールドにはすでに「ｓ１０３」が入っているため、「ｅ３０３」は次レコードで認識すべき単語であると判断できる。すなわち、認識範囲を拡大した場合に、既に発見したフィールドの単語が再び発見された場合には次レコードで認識すべき単語であると判断し、認識範囲を所定の値だけ狭めるといったルールが適用される。これに則ってｙ３をｙ２＿３まで狭めると、「単価」の「１５０」までが同一レコードとして認識範囲に入り、次レコードで認識すべき「ｅ３０３」は除かれ、同一レコードとして認識される範囲が適切に保たれる。
【００４４】
このように、同一のレコードとして関連付けられる範囲を伸縮させることによって、同一レコードの単語として関連付けられるべき他の項目の単語を漏れなく関連付けを行うことが可能である。なお、上記例はｙ軸方向の例を示したが、同様にｘ軸方向においても認識範囲を伸縮することで、漏れなく関連付けが可能となる。
【００４５】
図１２はｘ軸方向（右方向）に認識範囲を伸縮することで関連付けが可能となる一例を示す図である。この図にあるように、項目名文字列の「商品名」に属する「ボールペン」と、項目名文字列の「単価（円）」に属する「２００」と、の位置関係が入れ替わっている。このような態様の単語を位置関係だけで処理しようとすると、認識の誤りが生じてしまう。本実施例の表認識装置では、単語の属性を特定する処理を実行する。まず、一番左に位置する文字列「２００」を基準として参照する。「２００」はデータ文字列であり、単価や、個数など様々な属性の可能性を有しており辞書を参照しても属性の特定ができない。そこで、「２００」の上に属する項目名文字列を参照すると「商品名項目名称」を属性として有する「商品名」という単語が位置している。「２００」は数値であり辞書を参照すると商品名としては該当しない。そこで、属性はｎｕｌｌ値とするか、あるいは仮に「数字」という属性を与える。次に「商品名」という属性を有する単語を探すために、右方向に所定の幅で認識範囲を拡張していくと、文字列「ボールペン」が認識範囲に入ってくる。「ボールペン」は辞書を参照すると「商品名」の属性を有することが特定でき、かつ上部に位置する商品名項目名称「商品名」の拡張された認識範囲に含まれており、商品名項目名称と商品名とは対応関係が成り立つので、商品名項目名称「商品名」に対応する単語は「ボールペン」であると判断する。一方、「単価」と「２００」が残ったので、単語「単価」と単語（文字列）「２００」を対応付ける処理をする。このように、単語の属性を導入して認識処理を実行することで、図１２にあるように項目名文字列とデータ文字列との位置関係が交錯していたとしても、誤り無く認識することが可能である。伝票中の項目名称と、項目に記載される単語（文字列）との対応関係が属性で関連付けられているので多少の単語の印刷位置ずれがあっても正しく認識できる。
【００４６】
当部の機能は、ＣＰＵと関連性決定ルールが保持されているＲＡＭにより実現される。
【００４７】
「関連性取得部」（０９０６）は、属性位置付単語に関連付けられている各単語の位置及び属性と、関連性決定ルールと、に基づいて各単語の関連性を取得する機能を有する。本実施例の表認識処理装置は上記のルールを用いて位置および属性の両方で関連性を決定する処理を実行する。図１３は、関連性決定ルールを適用し関連性を取得する処理を示すための図である。ここでは「左右に横並びの属性「商品コード」を有する単語と属性「個数」を有する単語により「受発注商品とその個数の関係」といった関連性を取得する」といったルールが保持されている。ここで「ｂ２０１」の縦軸上の位置はｙ１であり、「１００」の縦軸上の位置もｙ１であり、横軸上の位置がそれぞれｘ２、ｘ４と異なることから左右に横並びの位置関係にあることが分かる。「ｂ２０１」は辞書によると「商品コード」に該当し、項目名文字列の単語である「商品コード」の下に位置することから属性：商品コードを有する事がわかる。「１００」は辞書によると「個数」や「単価」等に該当し一に絞り込まれることがないが、項目名文字列の単語である「個数」の下に位置することから「個数」の属性を有することが分かる。従って「商品コードｂ２０１の商品を１００個受発注する」といった関連性が取得できる。この処理の手順は、初めに位置に基づいたルールで関連付けを行う位置優先の処理であってもよいし、初めに属性に基づいたルールで関連付けを行う属性優先の処理であってもよい。あるいは、初めは位置優先または属性優先で関連付けを行っていくが、関連付けが失敗したところで他方のルールに基づく関連付けに切り替えるような処理であってもよい。当部の機能は、ＣＰＵとＲＡＭ、ＲＡＭ上に展開されＣＰＵにて実行される関連性取得プログラムにより実現される。
【００４８】
上記のような構成にて処理を実行することで、多様な形態の表を確実に認識することが可能である。例えば図１４のような表について認識処理を行う場合には、まず属性「企業名項目名称」を有する単語「企業名」を基準として下の単語を参照していくと、単語「電話番号」が見つかる。さらに下に認識範囲を拡げていくと次のレコードに格納すべき「企業名」の文字列が見つかるため認識範囲を縮め、「企業名」、「電話番号」が関連付すべき項目として取得される。次に、横方向に認識範囲を拡げていく。「企業名」を基準として認識範囲を拡げていくと、「企業名」を属性に持つ「△△株式会社」が「企業名」の横に見つかる。「０３−ＸＸＸＸ−１２３４」は単語「電話番号」の横に位置しており、辞書によると属性は「電話番号」である。これらの属性に基づいて、「△△株式会社」の「電話番号」は「０３−ＸＸＸＸ−１２３４」であるとの関連付けがされる。続いて横に認識範囲を拡げていくと、「送付先住所」が見つかる。属性は「送付先住所項目名称」であり、新たに関連付すべき項目として取得される。「送付先住所」を基準として横に認識範囲を拡げていくと、単語「郵便番号」が見つかり、さらに認識範囲を拡げていくと「１０６−６２２０」が右側横に見つかり、辞書を参照すると「郵便番号」の属性を有していることがわかる。そうすると、「送付先住所」と「郵便番号」とが関連付けされる項目として取得され、「△△株式会社」の「送付先住所」の「郵便番号」は、「１０６−６２２０」であるとの関連付けがされる。同様に「都道府県名」、「市区町村」、「番地」、「ビル名」についてもそれぞれ右側横に位置する「東京都」、「港区六本木」、「３−２−１」、「○○ビル５Ｆ」がその属性に基づいて企業名「△△株式会社」等と関連付けがされる。その結果、「送付先住所：……」を有する「企業名：△△株式会社」に対して送付処理が実行可能となる。
【００４９】
＜処理の流れ＞
図１５は、本実施例にかかる表認識処理装置を用いた場合の処理の流れの一例を示すためのフローチャートである。まず、表中の位置と関連付けた単語である位置付単語を取得する（ステップＳ１５０１）。次に、辞書を参照する（ステップＳ１５０２）。具体的には予定されている単語と単語の関連性を取得するために単語に与えられている属性情報をその単語と関連付けて保持した情報を参照する。その後、位置付単語に関連付けた属性位置付単語を取得する（ステップＳ１５０３）。次に、属性位置付単語の出力を行う（ステップＳ１５０４）。続いて、単語と単語との位置関係と、各単語の属性とに基づいて単語と単語との関連性を決定するためのルールである関連性決定ルールを取得する（ステップＳ１５０５）。最後に、属性位置付単語に関連付けられている各単語の位置及び属性と、関連性決定ルールと、に基づいて各単語の関連性を取得する（ステップＳ１５０６）。
【００５０】
＜ハードウェア構成＞
図１６は、本実施例にかかる表認識処理装置のハードウェア構成の一例を示す図である。以下、この図を用いて説明する。
【００５１】
この図にあるように、本実施例にかかる表認識処理装置は、各種演算処理を行う「ＣＰＵ（中央演算装置）」（１６０１）と、ＨＤＤなどの「不揮発性メモリ」（１６０２）と、揮発性の記憶媒体である「ＲＡＭ」（１６０３）を備えている。また、「入力Ｉ／Ｆ」（１６０４）を介して「スキャナ」（１６０５）、キーボード、マウス、ディスプレイ等の「Ｕ／Ｉ」（１６０６）を備えている。そして、それらが「システムバス」（１６０７）などのデータ通信経路によって相互に接続され、情報の送受信や処理を行う。
【００５２】
まず、１．位置付単語取得プログラムがＲＡＭ（１６０３）上に呼び出され、ＣＰＵ（１６０１）にて実行される。同プログラムはスキャナ（１６０５）により帳票などの表のイメージを取り込む。取り込まれたイメージはＲＡＭ（１６０３）上に一時的に保持される。次に同プログラムはＣＰＵ（１６０１）にてイメージを解析して認識すべき文字列および数値等がある箇所に認識文字枠を設定する。認識文字枠のイメージ上での座標（左上、中心、重心など）を取得して位置情報とする。設定された認識文字枠内の文字列は文字認識により単語のテキストデータ（数値等含む。以下同じ。）に変換される。これら位置情報と単語のテキストデータは単語データとしてＲＡＭ（１６０３）上に一時的に保持される。
【００５３】
次に２．属性位置付単語取得プログラムがＲＡＭ（１６０３）上に呼び出され、ＣＰＵ（１６０１）にて実行される。同プログラムは一時的に保持されている単語のテキストデータをキーとして不揮発性メモリ（１６０２）に保持されている辞書ＤＢ内を検索する。検索した結果ヒットした場合には、その項目を辞書ＤＢよりＲＡＭ（１６０３）上に読み出し、その項目の有する属性値をＲＡＭ（１６０３）に格納されている単語データに複製することにより付加する。なお、複数の項目がヒットした場合には複数の属性を候補として付加する。
【００５４】
次に３．属性位置付単語出力プログラムがＲＡＭ（１６０３）上に呼び出され、ＣＰＵ（１６０１）にて実行される。同プログラムはＲＡＭ（１６０３）上に一時的に格納されている属性位置付単語データをディスプレイ等のＵ／Ｉ（１６０６）により出力する。
【００５５】
次に４．関連性取得プログラムがＲＡＭ（１６０３）上に呼び出され、ＣＰＵ（１６０１）にて実行される。同プログラムは、ＲＡＭ上に格納されているａ．関連性決定ルールを読み込む。読み込んだルールに基づいて関連性の取得を行う。例えば、関連性決定ルールにおいて「属性：商品コード」を「属性：単価」（円）で、「属性：個数」分、「属性：金額」（円）で発注すると定められていたとすると、同プログラムは、表中の単語の属性データを読み出し、属性「商品コード」、「単価」、「個数」、「金額」を有する単語を取得し、関連性のある一の認識結果レコードとして不揮発性メモリ（１６０２）内の認識結果ＤＢに格納する。このとき、各単語の位置データを参照し、ある単語の位置データを基準として他の単語が上下（あるいは左右）のデフォルト値の範囲内に収まっているとすると同一の認識結果レコードとして格納できると判断する。また、「１００」のように「単価」や「個数」など複数の属性候補が付与されている単語に関しては、左右（あるいは上下）のデフォルト値の範囲内に「単価」などの項目名文字列があるか否かを位置データを参照することにより判断し、項目名文字列「単価」がある場合にはその項目名文字列が有する属性「単価」であると決定され認識結果ＤＢに当該単語を属性と共に格納する。デフォルト値の範囲で項目名文字列が見当たらない場合には、所定の値の分、探索範囲を広げる処理を行い再度項目名文字列を探索する。同プログラムは、これらの処理を単語同士で繰り返し実行し、単語同士の関連性を決定していく。すべての単語の間で関連性が決定すると、その関連性に基づいて、不揮発性メモリ（１６０２）上の認識結果ＤＢに認識結果として格納する。
【実施例３】
【００５６】
＜概要＞
【００５７】
実施例３では、行が入れ子状になっている表の認識が可能な表認識処理装置を提供する。図１７は本実施例の表認識処理装置の処理の概要を示すための図である。この図にあるように、注文書の表中の一行に「商品名」と「納入先」とが存在するが、これらは一行を二つに分けて上下に要素が配列されている。このような表を適切に認識するための処理について下記で述べる。
【００５８】
以下、機能的構成、処理の流れ、ハードウェア構成を順に説明する。
【００５９】
＜機能的構成＞
図１８は、本実施例にかかる表認識処理装置の機能的構成を示す図である。本実施例にかかる表認識処理装置（１８００）は、「位置付単語取得部」（１８０１）と、「辞書部」（１８０２）と、「属性位置付単語取得部」（１８０３）と、「属性位置付単語出力部」（１８０４）「関連性決定ルール保持部」（１８０５）と、「関連性取得部」（１８０６）と、を有する。これら構成要件については上記で説明済であるため記載は省略する。本実施例の表認識処理装置は、「関連性決定ルール保持部」（１８０５）が領域関連性判断ルールを有する点である。
【００６０】
領域関連性判断ルールとは、特定の属性の単語の繰り返し配置に応じて表の所定の領域を特定の関連性のある単語が配置されていると判断する判断ルールである。「特定の属性の単語の繰り返し配置」とは例えば図１７における「商品名」と「納入先」といったように特定の属性の単語が、所定の領域である「商品名／納入先」の列の１行に上下又は１列に左右に入れ子状になって配置されていることなどを指す。「特定の関連性」とは、例えば１列に上下に配置されている単語が異なる属性を持つ場合に、図１７のように「特定の商品名の商品は特定の営業所に納入すべきである」などの関連性を指す。
【００６１】
図１９は本実施例の表認識処理装置における、領域関連性判断ルールを説明するための図である。この図は図１６の表の一部を座標平面上に配置したものである。図内の斜線部は商品コード「ｓ１０３」を基準とした一レコード分の認識範囲を示している。この範囲は上記で述べたように伸縮することで適切な認識範囲に調整が可能である。例えば、ｙ２＿２までの認識範囲をｙ３まで拡張した場合には、同じ属性「商品コード」を有しており次のレコードに格納すべき「ｅ３０３」が認識範囲に入ってくる。この場合、認識範囲を狭める必要があるため、「大阪営業所」の下端のｙ２＿２まで認識範囲を縮める。このようにして関連付けすべき認識結果のレコード一行分の範囲が特定される。次に、「シャープペンシル」と「大阪営業所」が同一レコードとして認識されるが、一行に複数個の単語が配置されている。ここで、「シャープペンシル」と「大阪営業所」の属性を辞書を参照することで取得すると、異なる属性「商品名」と「納入先」とを有することが判明する。そうすると、二つの単語は同一レコードの別のフィールドに格納され、特定の関連性である「商品名」と「納入先」との関連性を有していると判断される。
【００６２】
＜処理の流れ＞
図２０は、本実施例にかかる表認識処理装置を用いた場合の処理の流れの一例を示すためのフローチャートである。まず、表中の位置と関連付けた単語である位置付単語を取得する（ステップＳ２００１）。次に、辞書を参照する（ステップＳ２００２）。具体的には予定されている単語と単語の関連性を取得するために単語に与えられている属性情報をその単語と関連付けて保持した情報を参照する。その後、位置付単語に関連付けた属性位置付単語を取得する（ステップＳ２００３）。次に属性位置付単語を出力する（ステップＳ２００４）。続いて、特定の属性の単語の繰り返し配置に応じて表の所定の領域を特定の関連性のある単語が配置されていると判断する判断ルールである領域関連性判断ルールを取得する（ステップＳ２００５）。最後に、属性位置付単語に関連付けられている各単語の位置及び属性と、関連性決定ルールと、に基づいて各単語の関連性を取得する（ステップＳ２００６）。
【００６３】
＜ハードウェア構成＞
図２１は、本実施例にかかる表認識処理装置のハードウェア構成の一例を示す図である。以下、この図を用いて説明する。
【００６４】
この図にあるように、本実施例にかかる表認識処理装置は、各種演算処理を行う「ＣＰＵ（中央演算装置）」（２１０１）と、ＨＤＤなどの「不揮発性メモリ」（２１０２）と、揮発性の記憶媒体である「ＲＡＭ」（２１０３）を備えている。また、「入力Ｉ／Ｆ」（２１０４）を介して「スキャナ」（２１０５）、キーボード、マウス、ディスプレイ等の「Ｕ／Ｉ」（２１０６）を備えている。そして、それらが「システムバス」（２１０７）などのデータ通信経路によって相互に接続され、情報の送受信や処理を行う。
【００６５】
まず、１．位置付単語取得プログラムと２．属性位置付単語取得プログラムおよび３．属性位置付単語出力プログラムによる処理が実行されるがこれらのハードウェアにおける処理は上記実施例で説明済みであるので記載は省略する。
【００６６】
３．属性位置付単語取得プログラムにより属性位置付き単語の出力が完了すると、４．関連性取得プログラムがＲＡＭ（２１０３）上に呼び出され、ＣＰＵ（２１０１）にて実行される。同プログラムは、ＲＡＭ上に格納されているｂ．領域関連性判断ルールを読み込む。読み込んだルールに基づいて関連性の取得を行う。例えば、関連性決定ルールにおいて「属性：商品コード」を「属性：単価」（円）で、「属性：個数」分、「属性：金額」（円）で発注すると定められていたとすると、同プログラムは、表中の単語の属性データを読み出し、属性「商品コード」、「単価」、「個数」、「金額」を有する単語を取得し、関連性のある一の認識結果レコードとして不揮発性メモリ（２１０２）内の認識結果ＤＢに格納する。このとき、各単語の位置データを参照し、ある単語の位置データを基準として他の単語が上下（あるいは左右）のデフォルト値の範囲内に収まっているとすると同一の認識結果レコードとして格納できると判断する。また、「１００」のように「単価」や「個数」など複数の属性候補が付与されている単語に関しては、左右（あるいは上下）のデフォルト値の範囲内に「単価」などの項目名文字列があるか否かを位置データを参照することにより判断し、項目名文字列「単価」がある場合にはその項目名文字列が有する属性「単価」であると決定され認識結果ＤＢに当該単語を属性と共に格納する。デフォルト値の範囲で項目名文字列が見当たらない場合には、所定の値の分、探索範囲を広げる処理を行い再度項目名文字列を探索する。同プログラムは、これらの処理を単語同士で繰り返し実行し、単語同士の関連性を決定していく。すべての単語の間で関連性が決定すると、その関連性に基づいて、不揮発性メモリ（２１０２）上の認識結果ＤＢに認識結果として格納する。
【実施例４】
【００６７】
＜概要＞
【００６８】
実施例４にかかる表認識処理装置は、認識処理を行うことで関連付けられた単語を用いて、所定の処理が可能である。図２２は本実施例の表認識処理装置の処理の概要を示すための図である。この図にあるように、注文書を元に請求書を作成する処理の前後の概要を示している。当該処理では注文書の認識処理を実行し、関連付けられた単語を用いて請求書の生成処理を実行している。
【００６９】
以下、機能的構成、処理の流れ、ハードウェア構成を順に説明する。
【００７０】
＜機能的構成＞
図２３は、本実施例にかかる表認識処理装置の機能的構成を示す図である。本実施例にかかる表認識処理装置（２３００）は、「位置付単語取得部」（２３０１）と、「辞書部」（２３０２）と、「属性位置付単語取得部」（２３０３）と、「属性位置付単語出力部」（２３０４）「関連性決定ルール保持部」（２３０５）と、「関連性取得部」（２３０６）と、を有する。これら構成要件については上記実施例で説明済みであるので記載は省略する。本実施例の表認識処理装置の特徴は、処理ルール保持部（２３０７）と、処理実行部（２３０８）を新たに有する点である。
【００７１】
「処理ルール保持部」（２３０７）は、単語と単語との関連性に基づいて実行すべき処理ルールを保持する機能を有する。「単語と単語との関連性に基づいて」とは、関連性取得部（２３０６）で取得された関連性により認識結果が出力されるが、その出力されたデータの構造を用いることを意味する。具体的には、出力結果は一以上のフィールドと一以上のレコードとからなるテーブルで出力され、各レコードの単語データはフィールドと関連付けられている。この関連付けを用いて処理ルールを適用する。「処理ルール」とは、関連付けられた一つ一つの単語データを再配置するためのルールである。例えば図２１における注文書の「合計金額」に関連付けられている「￥４０，５００」は、請求書の「合計金額」になっているとともに、「お振込金額」の部分に再配置されている。このような処理を行うための手続きが含まれるものが処理ルールに該当する。当部の機能は、ＣＰＵとＲＡＭにより実現される。
【００７２】
「処理実行部」（２３０８）は、取得した関連性と、保持されている処理ルールとに基づいて関連性のある単語についての処理を実行する機能を有する。処理ルール保持部（２３０７）に保持される処理ルールを読み込み、ルールに記載されている手続きを実行する。当部の機能はＣＰＵとＲＡＭと、ＲＡＭに呼び出され、ＣＰＵにて実行される処理実行プログラムにより実現される。
【００７３】
＜処理の流れ＞
図２４は、本実施例にかかる表認識処理装置を用いた場合の処理の流れの一例を示すためのフローチャートである。まず、表中の位置と関連付けた単語である位置付単語を取得する（ステップＳ２４０１）。次に、辞書を参照する（ステップＳ２４０２）。具体的には予定されている単語と単語の関連性を取得するために単語に与えられている属性情報をその単語と関連付けて保持した情報を参照する。その後、位置付単語に関連付けた属性位置付単語を取得する（ステップＳ２４０３）。次に属性位置付単語を出力する（ステップＳ２４０４）。続いて、単語と単語との位置関係と、各単語の属性とに基づいて単語と単語との関連性を決定するためのルールである関連性決定ルールを取得する（ステップＳ２４０５）。次に、属性位置付単語に関連付けられている各単語の位置及び属性と、関連性決定ルールと、に基づいて各単語の関連性を取得する（ステップＳ２４０６）。その後、単語と単語との関連性に基づいて実行すべき処理ルールを参照する（ステップＳ２４０７）。最後に取得した関連性と、参照した処理ルールとに基づいて関連性のある単語についての処理を実行する（ステップＳ２４０８）。
【００７４】
＜ハードウェア構成＞
図２５は、本実施例にかかる表認識処理装置のハードウェア構成の一例を示す図である。以下、この図を用いて説明する。
【００７５】
この図にあるように、本実施例にかかる表認識処理装置は、各種演算処理を行う「ＣＰＵ（中央演算装置）」（２５０１）と、ＨＤＤなどの「不揮発性メモリ」（２５０２）と、揮発性の記憶媒体である「ＲＡＭ」（２５０３）を備えている。また、「入力Ｉ／Ｆ」（２５０４）を介して「スキャナ」（２５０５）、キーボード、マウス、ディスプレイ等の「Ｕ／Ｉ」（２５０６）を備えている。そして、それらが「システムバス」（２５０７）などのデータ通信経路によって相互に接続され、情報の送受信や処理を行う。
【００７６】
まず、１．位置付単語取得プログラムと２．属性位置付単語取得プログラムと３．属性位置付単語出力プログラムおよび４．関連性取得プログラムの処理が実行されるがこれらのハードウェアにおける処理は上記実施例で説明済みであるので記載は省略する。
【００７７】
４．関連性取得プログラムにより各単語間の関連性が取得され、認識結果として不揮発性メモリ（２５０２）内に格納されている認識結果ＤＢに単語が格納される。次に、５．処理実行プログラムがＲＡＭ（２５０３）上に呼び出され、ＣＰＵ（２５０１）にて実行される。同プログラムはＲＡＭ（２５０３）上のｃ．処理ルールを読み込み、ルールに記載されている手続きを実行する。具体的には、不揮発性メモリ（２５０２）上の認識結果ＤＢ内の単語を取得して、処理ルールに基づいて再配置を行う。再配置が完了すると、出力結果としてＲＡＭ（２５０３）上に一時的に格納される。
【符号の説明】
【００７８】
０９００：表認識処理装置
０９０１：位置付単語取得部
０９０２：辞書部
０９０３：属性位置付単語取得部
０９０４：属性位置付単語出力部
０９０５：関連性決定ルール保持部
０９０６：関連性取得部
【図１】
2019079147.tif 000003
【図２】
2019079147.tif 000004
【図３】
2019079147.tif 000005
【図４】
2019079147.tif 000006
【図５】
2019079147.tif 000007
【図６】
2019079147.tif 000008
【図７】
2019079147.tif 000009
【図８】
2019079147.tif 000010
【図９】
2019079147.tif 000011
【図１０】
2019079147.tif 000012
【図１１】
2019079147.tif 000013
【図１２】
2019079147.tif 000014
【図１３】
2019079147.tif 000015
【図１４】
2019079147.tif 000016
【図１５】
2019079147.tif 000017
【図１６】
2019079147.tif 000018
【図１７】
2019079147.tif 000019
【図１８】
2019079147.tif 000020
【図１９】
2019079147.tif 000021
【図２０】
2019079147.tif 000022
【図２１】
2019079147.tif 000023
【図２２】
2019079147.tif 000024
【図２３】
2019079147.tif 000025
【図２４】
2019079147.tif 000026
【図２５】
2019079147.tif 000027
【図２６】
2019079147.tif 000028
【手続補正書】
【提出日】平成30年5月24日(2018.5.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
表中に含まれる単語（数字、単位を含む。以下同じ。）によって表される意図に沿った処理をするために予定されている単語と単語の関連性を取得するための表認識処理装置であって、
表中の位置と関連付けた単語である位置付単語を取得する位置付単語取得部と、
予定されている単語と単語の関連性を取得するために単語に与えられている属性情報をその単語と関連付けて保持する辞書部と、
取得された位置付単語の属性を辞書部を利用して位置付単語に関連付けた属性位置付単語を取得する属性位置付単語取得部と、
取得した属性位置付単語を出力する属性位置付単語出力部と、
単語と単語との位置関係と、各単語の属性とに基づいて単語と単語との関連性を決定するためのルールである関連性決定ルールを保持する関連性決定ルール保持部と、
属性位置付単語に関連付けられている各単語の位置及び属性と、関連性決定ルールと、に基づいて各単語の関連性を取得する関連性取得部と、
を有し、
前記保持されている関連性決定ルールは、特定の属性の単語の繰り返し配置に応じて
表の所定の領域を特定の関連性のある単語が配置されていると判断する判断ルールである領域関連性判断ルールを含む表認識処理装置。
【請求項２】
表は帳票であり、単語に与えられる属性は、項番、商品名、商品コード（製品番号）、サービス名、数量、単価、消費税、金額、合計金額、単位、取引先コード、取引先名称、住所、納期、出荷日、検収日、検収期限、支払期日、支払期限、項番項目名称、商品名項目名称、商品コード（製品番号）項目名称、サービス名項目名称、数量項目名称、単価項目名称、消費税項目名称、金額項目名称、合計金額項目名称、単位項目名称、取引先コード項目名称、取引先名称項目名称、住所項目名称、納期項目名称、出荷日項目名称、検収日項目名称、検収期限項目名称、支払期日項目名称、支払期限項目名称、のいずれか一以上である請求項１に記載の表認識処理装置。
【請求項３】
表中に含まれる単語（数字、単位を含む。以下同じ。）によって表される意図に沿った処理をするために予定されている単語と単語の関連性を取得するための表認識処理方法であって、
表中の位置と関連付けた単語である位置付単語を取得する位置付単語取得ステップと、
予定されている単語と単語の関連性を取得するために単語に与えられている属性情報をその単語と関連付けて保持した情報を参照する辞書参照ステップと、
取得された位置付単語の属性を辞書参照ステップにより辞書を参照して位置付単語に関連付けた属性位置付単語を取得する属性位置付単語取得ステップと、
取得した属性位置付単語を出力する属性位置付単語出力ステップと、
単語と単語との位置関係と、各単語の属性とに基づいて単語と単語との関連性を決定するためのルールである関連性決定ルールを取得する関連性決定ルール取得ステップと、
属性位置付単語に関連付けられている各単語の位置及び属性と、関連性決定ルールと、に基づいて各単語の関連性を取得する関連性取得ステップと、
を有し、
前記取得されている関連性決定ルールは、特定の属性の単語の繰り返し配置に応じて
表の所定の領域を特定の関連性のある単語が配置されていると判断する判断ルールである領域関連性判断ルールにより実行される表認識処理方法。
【請求項４】
表は帳票であり、単語に与えられる属性は、項番、商品名、商品コード（製品番号）、サービス名、数量、単価、消費税、金額、合計金額、単位、取引先コード、取引先名称、住所、納期、出荷日、検収日、検収期限、支払期日、支払期限、項番項目名称、商品名項目名称、商品コード（製品番号）項目名称、サービス名項目名称、数量項目名称、単価項目名称、消費税項目名称、金額項目名称、合計金額項目名称、単位項目名称、取引先コード項目名称、取引先名称項目名称、住所項目名称、納期項目名称、出荷日項目名称、検収日項目名称、検収期限項目名称、支払期日項目名称、支払期限項目名称、のいずれか一以上である請求項３に記載の表認識処理方法。
【請求項５】
表中に含まれる単語（数字、単位を含む。以下同じ。）によって表される意図に沿った処理をするために予定されている単語と単語の関連性を取得するための表認識処理装置の動作プログラムであって、
表中の位置と関連付けた単語である位置付単語を取得する位置付単語取得ステップと、
予定されている単語と単語の関連性を取得するために単語に与えられている属性情報をその単語と関連付けて保持した情報を参照する辞書参照ステップと、
取得された位置付単語の属性を辞書参照ステップにより辞書を参照して位置付単語に関連付けた属性位置付単語を取得する属性位置付単語取得ステップと、
取得した属性位置付単語を出力する属性位置付単語出力ステップと、
単語と単語との位置関係と、各単語の属性とに基づいて単語と単語との関連性を決定するためのルールである関連性決定ルールを取得する関連性決定ルール取得ステップと、
属性位置付単語に関連付けられている各単語の位置及び属性と、関連性決定ルールと、に基づいて各単語の関連性を取得する関連性取得ステップと、
を有し、
前記取得されている関連性決定ルールは、特定の属性の単語の繰り返し配置に応じて
表の所定の領域を特定の関連性のある単語が配置されていると判断する判断ルールである領域関連性判断ルールにより実行される表認識処理を計算機に実行させるための表認識処理プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
以下、本件発明の実施の形態について、添付図面を用いて説明する。なお、実施例と請求項の相互の関係は以下の通りである。実施例１は主に請求項１〜５に関し、実施例２は主に請求項１、３および５に関し、実施例３は主に請求項１、３および５に関する。本件発明は、これら実施例に何ら限定されるべきものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施し得る。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００７１
【補正方法】変更
【補正の内容】
【００７１】
「処理ルール保持部」（２３０７）は、単語と単語との関連性に基づいて実行すべき処理ルールを保持する機能を有する。「単語と単語との関連性に基づいて」とは、関連性取得部（２３０６）で取得された関連性により認識結果が出力されるが、その出力されたデータの構造を用いることを意味する。具体的には、出力結果は一以上のフィールドと一以上のレコードとからなるテーブルで出力され、各レコードの単語データはフィールドと関連付けられている。この関連付けを用いて処理ルールを適用する。「処理ルール」とは、関連付けられた一つ一つの単語データを再配置するためのルールである。例えば図２２における注文書の「合計金額」に関連付けられている「￥４０，５００」は、請求書の「合計金額」になっているとともに、「お振込金額」の部分に再配置されている。このような処理を行うための手続きが含まれるものが処理ルールに該当する。当部の機能は、ＣＰＵとＲＡＭにより実現される。