(57)【特許請求の範囲】
【請求項１】
文書中の座標を取得する座標取得装置と、
二つの文書を照合するサーバと、を備えた文書検定システムであって、
前記サーバは、プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリと、インターフェースとを備え、
前記サーバは、
第１の文書から取得された第１の座標と、第２の文書から取得された第２の座標とを対応付ける座標対応付け部と、
前記第１の文書において前記第１の座標の近傍の第１の文字列、及び、前記第２の文書において前記第２の座標の近傍の第２の文字列を抽出する文字抽出部と、
前記抽出された第１及び第２の文字列から文字を認識する文字認識部と、
前記第１の文字列の認識結果に基づいて、前記第２の文字列の認識精度を検定する検定部とを備え、
前記検定部は、
前記第１の文字列から認識された文字から文字候補を切り出して、仮説候補ネットワークを生成し、
前記第２の文字列から認識された文字を用いて、前記生成された仮説候補ネットワークのスコアを計算し、
前記計算された仮説候補ネットワークのスコアを所定の閾値と比較することによって、前記第２の文字列の文字の認識精度を検定することを特徴とする文書検定システム。
【請求項２】
前記文字抽出部は、
前記第１及び第２の座標から所定の距離の領域内の画素の連結成分を抽出し、
前記抽出された連結成分のうち、所定長を超える長さの連結成分を除去したものを、第１及び第２の文字列として抽出することを特徴とする請求項１に記載の文書検定システム。
【請求項３】
前記文字抽出部が、前記除去された連結成分の角度を測定し、前記測定された角度だけ前記抽出された文字列を回転させた後、前記文字認識部が、前記回転された文字列を認識することを特徴とする請求項２に記載の文書検定システム。
【請求項４】
前記文字抽出部は、複数の前記連結成分が除去された場合、前記除去された連結成分毎に当該連結成分の角度を測定し、前記測定された複数の角度だけ前記抽出された文字列を回転させ、その後、前記文字認識部が、前記複数の角度回転された文字列を認識することを特徴とする請求項３に記載の文字検定システム。
【請求項５】
前記文書検定システムは、前記抽出された文字に対応する単位を特定し、当該単位によって表される数値を変換する単位変換部を備え、
前記文字認識部は、前記変換された数値を認識することを特徴とする請求項１に記載の文書検定システム。
【請求項６】
前記座標取得装置は、前記文書中の座標を、該座標を取得した時刻と共に取得し、
前記座標対応付け部は、前記座標取得時刻が当該第１の座標の取得時刻の直前又は直後に取得された、及び、前記座標取得時刻が当該第１の座標の取得時刻から所定の時間内に取得された、の少なくとも一つの条件を満たすものを前記第２の座標とすることを特徴とする請求項１に記載の文書検定システム。
【請求項７】
前記文書検定システムは、前記第１及び第２の文書の記載項目レイアウトの情報を含む定義情報にアクセス可能であって、
前記座標対応付け部は、前記定義情報を参照して、前記第１の座標と前記第２の座標とのペアを作成することを特徴とする請求項１に記載の文書検定システム。
【請求項８】
プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリと、文書中の座標を取得する座標取得装置と接続されるインターフェースとを備える文書検定システムにおける文書検定方法であって、
前記プロセッサが、第１の文書から取得された第１の座標と、第２の文書から取得された第２の座標とを対応付けるステップと、
前記プロセッサが、前記第１の文書において前記第１の座標の近傍の第１の文字列、及び、前記第２の文書において前記第２の座標の近傍の第２の文字列を抽出するステップと、
前記プロセッサが、前記抽出された第１及び第２の文字列から文字を認識するステップと、
前記プロセッサが、前記第１の文字列の認識結果に基づいて、前記第２の文字列の認識精度を検定するステップと、を含み、
前記認識精度を検定するステップでは、
前記第１の文字列から認識された文字から文字候補を切り出して、仮説候補ネットワークを生成し、
前記第２の文字列から認識された文字を用いて、前記生成された仮説候補ネットワークのスコアを計算し、
前記計算された仮説候補ネットワークのスコアを所定の閾値と比較することによって、前記第２の文字列の文字の認識精度を検定することを特徴とする文書検定方法。
【請求項９】
前記文字列を抽出するステップでは、
前記第１及び第２の座標から所定の距離の領域内の画素の連結成分を抽出し、
前記抽出された連結成分のうち、所定長を超える長さの連結成分を除去したものを、第１及び第２の文字列として抽出することを特徴とする請求項８に記載の文書検定方法。
【請求項１０】
前記文字列を抽出するステップでは、前記除去された連結成分の角度を測定し、前記測定された角度だけ前記抽出された文字列を回転させ、
その後、前記文字を認識するステップでは、前記回転された文字列を認識することを特徴とする請求項９に記載の文書検定方法。
【請求項１１】
前記文字列を抽出するステップでは、複数の前記連結成分が除去された場合、前記除去された連結成分毎に当該連結成分の角度を測定し、前記測定された複数の角度だけ前記抽出された文字列を回転させ、
その後、前記文字を認識するステップでは、前記複数の角度回転された文字列を認識することを特徴とする請求項１０に記載の文字検定方法。
【請求項１２】
前記方法は、さらに、前記抽出された文字に対応する単位を特定し、当該単位によって表される数値を変換するステップを含み、
前記文字を認識するステップでは、前記変換された数値を認識することを特徴とする請求項８に記載の文書検定方法。
【請求項１３】
前記座標取得装置は、前記文書中の座標を、該座標を取得した時刻と共に取得し、
前記座標を対応付るステップでは、前記座標取得時刻が当該第１の座標の取得時刻の直前又は直後に取得された、及び、前記座標取得時刻が当該第１の座標の取得時刻から所定の時間内に取得された、の少なくとも一つの条件を満たすものを前記第２の座標とすることを特徴とする請求項８に記載の文書検定方法。
【請求項１４】
前記文書検定システムは、前記第１及び第２の文書の記載項目レイアウトの情報を含む定義情報にアクセス可能であって、
前記座標を対応付けるステップでは、前記定義情報を参照して、前記第１の座標と前記第２の座標とのペアを作成することを特徴とする請求項８に記載の文書検定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字認識結果を検定する文書検定システムに関し、特に、２文書に記載された文字を照合する際に有効な検定方法に関する。
【背景技術】
【０００２】
手書き文字及び活字文字を光学的に読み取り、これを文字データに変換して利用する文字認識技術がある。また、文字認識結果を用いて、複数の文字列を照合する技術が提案されている。例えば、特許文献１には、認識仮説データを用いて入力文字とＯＣＲ認識結果との不整合を警告するシステムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１８１２２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
先述した従来技術では、一定の精度で文字列を照合することができる。しかし、文書中には文字だけでなく、直線（例えば、表の罫線）も記載されている。特に、設計図面では、寸法線が多く、文字と寸法線を区別することが困難であった。
【０００５】
また、文書中では、罫線に沿って文字が記載されることから、図中の文字の傾きは一定ではない。特に、設計図面中では、寸法線に沿って文字が記載される。このため、文字の向きを特定しないと、文字を正確に認識することができなかった。
【０００６】
本発明は、文字が傾いて記載されている場合でも、正確に文字を認識し、認識された文字を検定することを目的とする。
【課題を解決するための手段】
【０００７】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、文書中の座標を取得する座標取得装置と、二つの文書を照合するサーバと、を備えた文書検定システムであって、前記サーバは、プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリと、インターフェースとを備え、前記座標取得装置は、前記文書中の座標を、該座標を取得した時刻と共に取得し、前記サーバは、第１の文書から取得された第１の座標と、第２の文書から取得された第２の座標とを対応付ける座標対応付け部、前記第１の文書において前記第１の座標の近傍の第１の文字列、及び、前記第２の文書において前記第２の座標の近傍の第２の文字列を抽出する文字抽出部と、前記抽出された第１及び第２の文字列から文字を認識する文字認識部と、前記第１の文字列の認識結果に基づいて、前記第２の文字列の認識精度を検定する検定部とを備え、前記検定部は、前記第１の文字列から認識された文字から文字候補を切り出して、仮説候補ネットワークを生成し、前記第２の文字列から認識された文字を用いて、前記生成された仮説候補ネットワークのスコアを計算し、前記計算された仮説候補ネットワークのスコアを所定の閾値と比較することによって、前記第２列の文字の認識精度を検定する。
【発明の効果】
【０００８】
本発明の代表的な実施形態によれば、文字と罫線が混在する場合でも、文字を認識精度を検定することができ、２文書に記載された文字を確実に照合することができる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態の文書照合システムの構成を示すブロック図である。
【図２】第１の実施形態の文書照合処理のフローチャートである。
【図３】第１の実施形態においてチェックマークの近傍の連結成分を抽出する処理を説明する図である。
【図４】第１の実施形態においてチェックマークのペアを生成する処理を説明する図である。
【図５】第１の実施形態の文書照合処理を模式的に表した図である。
【図６】第１の実施形態の項目定義辞書を説明する図である。
【図７Ａ】第１の実施形態の変形例における図面及び文書の対比を説明する図である。
【図７Ｂ】第１の実施形態の変形例における図面及び文書の対比を説明する図である。
【図７Ｃ】第１の実施形態の変形例における図面及び文書の対比を説明する図である。
【図８】第２の実施形態の文書照合処理のフローチャートである。
【図９】第２の実施形態においてチェックマークの近傍の連結成分を抽出する処理を説明する図である。
【図１０Ａ】第２の実施形態の傾き補正を説明する図である。
【図１０Ｂ】第２の実施形態の傾き補正を説明する図である。
【図１０Ｃ】第２の実施形態の傾き補正を説明する図である。
【図１１】の第３の実施形態の文書照合処理のフローチャートである。
【図１２】第３の実施形態の図面及び文書の対比を説明する図である。
【図１３】第３の実施形態の数値単位定義辞書の構成を説明する図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明に関する実施形態について説明する。
【００１１】
図１は、本発明の第１の実施形態の文書照合システム１０の構成を示すブロック図である。
【００１２】
第１の実施形態の文書照合システム１０は、入力装置１１、表示装置１２、プロセッサ（ＣＰＵ：Central Processing Unit）１３、印刷装置１４、ワークエリア１５、データ保持手段１６及び通信ネットワーク１７を備える計算機である。
【００１３】
入力装置１１は、入力装置１１０及び画像入力装置１１１を含む。入力装置１１０は、ユーザによる指示等の入力を受け付ける装置であり、例えばキーボード、マウス又はタッチパネル等でよい。画像入力装置１１１は、手書き文字及び活字文字等が記載された書面を光学的に読み取ってそれらを画像データに変換する、いわゆるイメージスキャナである。
【００１４】
表示装置１２は、ユーザに種々の文字及び画像等の情報を出力する装置であり、例えば液晶ディスプレイのような画像表示装置でよい。
【００１５】
プロセッサ１３は、ワークエリア１５に格納されたプログラムを実行することによって種々の機能を実現する処理装置である。以下に説明される各プログラムの処理は、プロセッサ１３が実行する。
【００１６】
印刷装置１４は、ユーザに提供する種々の情報を必要に応じて印刷する。
【００１７】
ワークエリア１５は、プロセッサ１３によって実行されるプログラム等が格納される記憶領域である。本実施形態のワークエリア１５は、オペレーティングシステム（ＯＳ）１５１、通信プログラム１５２、文書処理プログラム１５３及び文字認識プログラム１５４を格納する。ワークエリア１５は、さらに他のプログラムを格納しても、プロセッサ１３がそれらのプログラムを実行するときに参照されるデータを格納しても、プロセッサ１３が実行した処理の結果を格納してもよい。
【００１８】
オペレーティングシステム１５１は、文書照合システム１０の基本機能を実現する。通信プログラム１５２は、通信インターフェース１７を介したファイルサーバ２１との通信を制御する。文書処理プログラム１５３は、文字認識プログラム１５４に文字を認識させるための前処理、及び、認識された文字の検定処理及び照合処理を行う。文字認識プログラム１５４は、文字行から文字を認識し、文字候補を抽出する。これらのプログラムによる処理の詳細は後述する。
【００１９】
データ保持手段１６は、プロセッサ１３が各プログラムに基づいて種々の処理を実行するために参照する情報、すなわち、データ保持手段１６には、活字文字認識用辞書１６１、数値単位定義辞書１６２及び項目名辞書１６３を格納する。データ保持手段１６は、さらに他の情報を格納してもよいが、本実施形態では説明を省略する。
【００２０】
活字文字認識用辞書１６１は、活字文字の特徴量を示す情報を含み、文書照合システム１０が活字文字認識を実行する際に参照される。数値単位定義辞書１６２は、数値の単位を変換する場合に参照され、その詳細は図１３を用いて説明する。項目定義辞書は、照合すべき文書内に記載された項目のリストであり、その詳細は図６を用いて説明する。
【００２１】
ワークエリア１５及びデータ保持手段１６は、窓口受付システム１０に実装された記憶装置である。典型的には、ワークエリア１５がＤＲＡＭ（Dynamic Random Access Memory）のような高速かつ揮発性の記憶装置であり、データ保持手段１６が磁気ディスクドライブ（Hard Disk Drive）又はフラッシュメモリのような大容量かつ不揮発性の記憶装置であるが、他の記憶装置でもよい。各プログラムは、データ保持手段１６に格納され、プロセッサ１３によって実行されるときにワークエリア１５にロードされてもよい。また、データ保持手段１６に格納された辞書の少なくとも一部が、必要に応じて一時的にワークエリア１５にコピーされてもよい。
【００２２】
通信インターフェース１７は、所定のプロトコルを用いて、通信ネットワーク１９を介して、ファイルサーバ２１と通信をする。
【００２３】
ファイルサーバ２１は、本文書照合システム１０によって照合される文書を管理する計算機である。本文書照合システム１０で取り扱われる文書には文字が記載されており、該記載された文字を照合する際にチェックマークが記入されている（図３参照）。このチェックマークは、書面上の位置が記録される方法、例えば、記入位置の座標を取得できるデジタルペンによって、記入される。
【００２４】
デジタルペンは、ペン先の軌跡を電子的に取得するペン型入力デバイスであり、取得したペン先の軌跡を計算機に入力する。例えば、デジタルペンは、スウェーデンのＡｎｏｔｏ社が開発した「アノトペン」等がある。このデジタルペンについては、国際公開第０１／７１４７３号パンフレットに詳細に記載されている。
【００２５】
また、デジタルペンに限らず、タブレット等の紙面上の座標を取得できる装置や、マウス等の画面（すなわち、電子的に表示された書面）上の座標を取得できる装置であればよい。
【００２６】
なお、チェックマークが付される文書は、紙面上又は電子データ上にチェックマークが現実に記載されていなくても、チェックされた座標が記録されていれば足りる。
【００２７】
デジタルペンによって記入されるチェックマークは、ストロークセットとして、その座標が取得されるが、一点を指定した一つの座標でもよい。
【００２８】
図２は、本発明の第１の実施形態の文書照合処理のフローチャートである。この文書照合処理は、プロセッサ１３が文書処理プログラム１５３及び文字認識プログラム１５４を実行することによって、行われる。
【００２９】
なお、本発明の実施形態では、主に図面とテキストデータを含む文書とを照合する場合について説明するが、図面と図面や、図面と帳票や、帳票と帳票や、テキストデータとテキストデータなどの様々な文書の照合に本発明を適用することができる。すなわち、本発明は、文書中の文字の照合に本発明を適用することができる。
【００３０】
まず、プロセッサ１３（文書処理プログラム１５３）は、ファイルサーバ２１から、図面を取得し（２０１）、テキストが含まれる文書を取得する（２１１）。
【００３１】
その後、プロセッサ１３（文書処理プログラム１５３）は、入力された図面からチェックマークを一つ抽出し、抽出されたチェックマークの近傍の連結成分を抽出する（２０２）。なお、図示は省略するが、この２０２から２０８の処理は図面上に記載された全てのチェックマークについて行われる。
【００３２】
この連結成分の抽出は、図３に示すように、抽出されたチェックマーク５０１の座標から所定の距離内を領域とするウインドウ５０２を設定し、ウインドウ５０２内にある画素を特定し、該特定された画素と連続する画素をひとかたまりの連結成分（（字列５０３及び線５０４）を抽出する。このチェックマークの座標は、チェックマークが存在する矩形領域を定め、当該領域の中心の座標でもよく、また、各角の座標（すなわち、各角から所定の距離のウインドウを設ける）でもよい。また、連結成分とされたひとかたまりの画素が含まれる領域の高さに所定の係数（例えば、１）を乗じた幅を該領域に与え、該領域に含まれる画素及びそれに連続する画素を連結成分としてもよい。
【００３３】
その後、プロセッサ１３（文書処理プログラム１５３）は、抽出された連結成分から文字行を抽出する（２０３）。例えば、抽出された連結成分の長さが所定の閾値を超えるものを直線であると特定し、この特定された直線を除外することによって、直線と文字とを区分して、文字行を抽出することができる。
【００３４】
その後、プロセッサ１３（文書処理プログラム１５３）は、チェックマークが記入された時刻を抽出する（２０４）。これは、例えば、デジタルペンでは、ペンを紙面に付けたペンダウン時刻、ペンを紙面から離したペンアップ時刻が記録されるので、当該チェックマークに対応するストロークが記入された時刻を特定することができる。
【００３５】
その後、プロセッサ１３（文字認識プログラム１５４）は、ステップ２０３で抽出された文字行を文字認識し、文字候補を抽出する（２０５）。
【００３６】
一方、ステップ２０４において、チェックマークが記入された時刻の抽出後に、照合相手の文書（ステップ２１１で取得したテキストが含まれる文書）中のチェックマークの記入時刻から、ステップ２０４で特定されたチェックマークの記入時刻の直近の記入時刻を持つチェックマークを抽出する。例えば、図４に示すように、ステップ２０１で入力された図面９００には、チェックマーク９０１、９０２、９０３が含まれており、ステップ２１１で入力されたテキストが含まれる文書（例えば、設計に用いられるシミュレータから出力されたパラメータのリスト）９１０には、チェックマーク９１１、９１２、９０３が含まれている。これらのチェックマーク９０１、９０２、９０３、９１１、９１２、９１３は、共に、設計図面の記載とテキストが含まれる文書の記載とを、デジタルペンによって照合した際に図面９００及び文書９１０の上に付されたものである。
【００３７】
この場合、チェックマーク９０２とチェックマーク９１２の記入時刻が一定時間以内で、かつ、いずれかのチェックマークの直後に他方のチェックマークを記入している場合、直近のチェックマークであると決定する。
【００３８】
また、チェックマークが、マーク９１１、マーク９０１、マーク９１２、マーク９０２、マーク９１３、マーク９０３の順で記入された場合、前述したチェックマーク９０２とチェックマーク９１２との組み合わせの他、チェックマーク９０２とチェックマーク９１３との組み合わせも、前述した条件を満たすことがある。この場合、チェックマークのペアが二つ生成され、ステップ２１３で二つの文字が認識される。
【００３９】
なお、チェックマークの記入時刻の差にかかわらず、直前及び直後のチェックマークを直近のチェックマークであると決定してもよい。また、チェックマークの記入順にかかわらず、チェックマークの記入時刻が所定時間内である場合に、直近のチェックマークであると決定してもよい。
【００４０】
その後、抽出されたチェックマークの近傍の文字を抽出する（２１２）。この文字の抽出処理は前述したステップ２０２、２０３及び２０５と同等の処置によって行われる。
【００４１】
その後、プロセッサ１３（文字認識プログラム１５４）は、抽出された文字について文字認識を行う（２１３）。
【００４２】
その後、プロセッサ１３（文書処理プログラム１５３）入力された図面９１０から抽出された文字候補を切り出し、仮説候補ネットワークの重みを補正する（２０６）。その後、文書９１０から認識された文字を用いて、仮説候補ネットワーク内のパス毎のスコアを計算し、計算された最も大きいスコアによって仮説候補ネットワークを重み付けする。この仮説候補ネットワーク及びパスのスコアの計算については、特開２００９−１８１２２５号公報、特願２０１１−１６４９０の明細書に詳しく記載されている。
【００４３】
その後、抽出された文字候補の確からしさを判定し、仮説候補ネットワークの重みを所定の閾値と比較した結果によって、図面の文字とテキストの文字とが整合するか否かを判定することによって、テキストの文字の認識精度を検定する（２０７）。
【００４４】
そして、いずれの仮説候補ネットワークの重みが所定の閾値を超えない場合、図面の文字とテキストの文字とが一致しないと判定し、利用者に警告を提示する（２０８）。この警告は、一致しない文字を表示画面に表示しても、画面に表示された図面及び／又はテキスト上に一致しない文字が区別可能なように表示してもよい。さらに、表示画面ではなく、音等によって、利用者にアラートを提示してもよい。
【００４５】
図５は、本発明の第１の実施形態の文書照合処理を模式的に表した図である。
【００４６】
文字認識プログラム１５４は、図面９００のチェック箇所付近の文字候補を抽出する。その後、文書処理プログラム１５３は、文字認識によって抽出された文字候補を含む文字列から文字を切り出して、仮説候補ネットワーク１３１１を作成する。また、プロセッサ１３（文書処理プログラム１５３）は、文書９１０のチェック箇所付近の文字を認識し、文字の認識結果「ＯＰＱＲ７」１３１２を取得する。
【００４７】
次に、プロセッサ１３（文書処理プログラム１５３）は、認識された文字列１３１２を用いて、仮説候補ネットワーク１３１１を検索する（９１３）。図５に示す例では、認識結果の文字列１３１２に対応するパスが仮説候補ネットワーク１３１１に存在する。このため、プロセッサ１３（文書処理プログラム１５３）は、この仮説候補ネットワーク１３１１の重み付けを重く設定する。例えば、仮説候補ネットワーク１３１１のノード間を接続するエッジ毎にスコアを定め、この定められたスコアの合計を正規化して、仮説候補ネットワーク１３１１の重み付けを求めることができる。
【００４８】
すなわち、仮説候補ネットワーク１３１１中に、文書９１０から認識された文字列に対応するパスが存在すれば、当該仮説候補ネットワーク１３１１の重み付け係数は大きくなるが、文書９１０から認識された文字列に対応するパスが存在しなければ、当該仮説候補ネットワーク１３１１の重み付け係数は小さくなる。
【００４９】
その後、仮説候補ネットワーク１３１１の重み付け係数と所定の閾値とを比較して、図面９００内の文字と文書９１０内の文字との照合結果を出力する（９１４）。
【００５０】
以上に説明したように、第１の実施形態によると、文字が傾いて記載されている場合でも、文字を認識結果の精度を検定して、文書間（図面間又は文書と図面）の文字を正しく照合することができる。
【００５１】
＜実施形態１の変形例＞
次に、第１の実施形態の変形例について説明する。この変形例では、図２のチェックマーク付与時間抽出処理（ステップ２０４）、及び、直近筆記箇所の活字文字行を抽出する処理（ステップ２１２）において、項目定義辞書１６３を用いて比較対象の文書・図面間の文字を対応付ける。
【００５２】
図６は、本発明の第１の実施形態の項目定義辞書１６３を説明する図であり、項目定義辞書１６３は、項目名リスト１６３１及び項目名の識別子１６３２を含む。
【００５３】
項目名リスト１６３１は、比較対象となる文書、図面中に含まれる項目の名称が記載される。項目名の識別子１６３２は、項目名リスト１６３１の項目名に対応する識別子であり、異なる文書でも同じ内容が記入される項目には同じ識別子が付与される。
【００５４】
例えば、図７Ａに示す文書Ａの「Document No」の欄と、図７Ｂに示す文書Ｂの「件名」の欄は同じ内容が記載されるので、同じ項目名識別子「０１０」が付与され、この二つの項目名に対応する記載内容は同じであるべきである。
【００５５】
次に、第１の実施形態の変形例のステップ２０４において実行される項目名の対応処理について説明する。
【００５６】
まず、抽出されたチェックマークが記入された枠内で項目名を探索する。具体的には、まず、抽出されたチェックマークが記入された枠内に記入された文字列を抽出し、抽出された全ての文字列を項目定義辞書１６３と照合する。その結果、項目名リストに存在し、項目名識別子が得られる文字列を、当該枠の項目名とする。
【００５７】
なお、当該枠内で項目名が探索されなかった場合、チェックマークが記入された枠から左方又は上方をたどって、文字列を抽出し、項目定義辞書１６３と照合することによって、項目名になりうる文字列を探索する。この場合、チェックマークが記入された枠から最も近い位置に記入された項目名になりうる文字列を、当該枠の項目名にするとよい。
【００５８】
同様に、ステップ２１２においても、項目定義辞書１６３との照合によって、項目名となりうる文字列を探索する。
【００５９】
文書と図面を照合する際、チェックマークの記入時刻によって、チェックマークの組が二つ抽出される。この二つのチェックマークの組のうち、項目名識別子が一致するものを、対応する文字列として文字認識をする（２０５、２１３）。
【００６０】
図７Ａ〜図７Ｃは、第１の実施形態の変形例における図面と文書との対比を説明する図である。
【００６１】
図７Ａに示す文書Ａに記入されたチェックマーク１０１１の近傍から文字行「ＯＰＱＲＳＴ０３」が抽出される（２１２）。このチェックマーク１０１１が記入された枠１０１２の中には、他の文字（項目名になりうる文字）が記入されていないので、左隣の欄に記入された文字行「Document No.」を抽出する。この文字行を用いて項目定義辞書１６３を検索すると、項目名識別子「０１０」が得られる。このため、「Document No.」が、このチェックマーク１０１１が記入された枠に対応する項目名であることが分かる。
【００６２】
図７Ｂに示す文書Ｂに記入されたチェックマーク１０２１の近傍から文字行「ＯＰＱＲＳＴ０３」が抽出される（２０２、２０３）。このチェックマーク１０２１が記入された枠１０１２の中には、「ＯＰＱＲＳＴ０３」の他に、二つの文字行「○×図面」、「件名」が抽出される（２０４）。これらの文字行を用いて項目定義辞書１６３を検索すると、「○×図面」に対応する項目名識別子は得られないが、「件名」に対応して項目名識別子「０１０」が得られる。このため、「件名」が、このチェックマーク１０１１が記入された枠に対応する項目名であることが分かる。
【００６３】
図７Ｃに示す文書Ｃに記入されたチェックマーク１０３１の近傍から文字行「１」が抽出される（２１２）。文書Ｃではこのチェックマーク１０３１は枠内に記入されていないので、左方をたどって、文字行「ＲＥＶ」が抽出される。この文字行を用いて項目定義辞書１６３を検索すると、項目名識別子「０１３」が得られる。このため、「ＲＥＶ」１０３２が、このチェックマーク１０１１が記入された枠に対応する項目名であることが分かる。
【００６４】
なお、以上に説明した第１の実施形態の変形例の項目名の対応処理は、前述したように図２のステップ２０４、２１１の処理に付加されてもよいし、図２のステップ２０４、２１１の本来の処理の代わりに実行されてもよい。この場合、チェックマークが記入された時刻を比較することなく、チェックマークの近傍の文字列に関連する項目名を抽出し、項目名識別子が同じの文字列の組を対比すべき文字とすればよい。
【００６５】
このように、第１の実施形態の変形例によると、仮説候補ネットワークの重み付けをするための文字列の数を少なくすることができ、仮説候補ネットワークを作成する処理の演算量を減らすことができる。
【００６６】
＜実施形態２＞
次に、第２の実施形態について説明する。
【００６７】
図面に記載された数字は、斜めになっていたり、横に９０度回転している等のため、通常の文字認識では、認識精度が低下する場合がある。しかし、文字列は、近傍の線に沿って記載されることが多い。このため、第２の実施形態では、文字の近傍の線の傾きによって、文字の傾きを推定し、文字を認識する。
【００６８】
第２の実施形態は、前述した第１の実施形態と文書照合処理の一部の処理が異なる。なお、第１の実施形態と同じ処理及び構成には同じ符号を付し、それらの説明は省略する。
【００６９】
図８は、本発明の第２の実施形態の文書照合処理のフローチャートである。
【００７０】
第２の実施形態の文書照合処理では、入力された図面からチェックマークを一つ抽出し（２０１）、該抽出されたチェックマークの近傍の連結成分を抽出する（２０２）。
【００７１】
その後、抽出された連結成分の近傍にある線を抽出する（３０１）。具体的には、図９に示すように、連結成分７０１を入力された図面５００から抽出し、抽出された連結成分７０１の座標から所定の距離内を領域とするウインドウ７０２を設定し、ウインドウ７０２内にその一部（又は全部）が含まれる線を特定する。図９に示す場合、ウインドウ７０２内に少なくとも一部が含まれる３本の線７０３、７０４、７０５が抽出される。この連結成分の座標は、連結成分が存在する矩形領域を定め、当該領域の中心の座標でもよく、また、各角の座標（すなわち、各角から所定の距離のウインドウを設ける）でもよい。
【００７２】
その後、抽出された線７０３、７０４、７０５の傾きを特定し、特定された線７０３、７０４の傾きに従って、連結成分の傾きを補正する（３０２）。
【００７３】
例えば、図１０Ａに示すように、右方向を０°とする右回りの座標系を設定した場合、基準線６００からの線の傾きが−α（左回りにα）であれば、−α及び１８０°−α回転させた二つの連結成分を生成する。なお、第２の実施形態では、回転させない連結成分と、−α及び１８０°−α回転させた連結成分の三つについて、その後の処理が実行される。文字列は、近傍の線に沿って記載されることが多いが、線の方向とは関係なく、水平方向に記載されている場合もある。このため、近傍の線によって傾き補正した場合と、補正しない場合の両方について文字認識を行い、文字認識結果を高精度に検定することができる。
【００７４】
なお、抽出された連結成分（文字列）７０１が複数の線が近接しており、連結成分７０１の近傍の線が複数存在する場合、ステップ３０２では、各線７０３、７０４、７０５の傾きに従って、傾き補正が実行され、複数の文字認識結果が出力される。
【００７５】
その後、傾きが補正された及び傾き補正がされていない連結成分から文字行を抽出する（２０３）。さらに、ステップ２０４から２０８の処理が実行され、抽出された文字候補の確からしさの判定結果に基づいてアラームが表示される。
【００７６】
図１０Ａから図１０Ｃは、第２の実施形態の傾き補正を説明する図である。
【００７７】
図１０Ａに示す場合、文字列６０２は寸法線６０１に沿って記載されており、線６０１の傾きは−αである。この場合、文字列６０２は線６０１に沿って記載されているので、文字列６０２を水平方向に補正するためには、文字列（連結成分）を＋α°回転させる。
【００７８】
なお、図示は省略するが、文字列が線６０１に沿って下向きに記載されている場合、１８０°−（−α）、すなわち、１８０°＋α回転させることによって、文字（連結成分）を水平方向に補正することができる。
【００７９】
一方、図１０Ｂに示す場合、文字列６０３は線６０１に沿って記載されていない（文字列６０３は水平方向に記載されている）。よって、文字列（連結成分）は回転させることなく、文字を正しく認識することができる。このため、回転させない連結成分についても、その後の処理を実行することが望ましい。
【００８０】
さらに、図１０Ｃに示すように、文字列６０４は線に沿って記載されているが、正立している場合、連結成分の水平方向の幅にｔａｎαを乗じることによって高さ方向のズレを計算し、該計算されたズレの高さ分、連結成分の位置をずらす。これによって、図１０Ｃに示す場合でも、文字（連結成分）を水平方向に並べることができる。
【００８１】
以上に説明したように、本発明の第２の実施形態では、文字の近傍の線の傾きによって文字の傾きを補正した後に文字を認識するので、傾いて記載されている文字でも認識率を向上させ、文字を認識結果を高精度に検定して、文書間（図面間又は文書と図面）の文字を正しく照合することができる。
【００８２】
＜実施形態３＞
次に、第３の実施形態について説明する。
【００８３】
第３の実施形態は、前述した第２の実施形態と文書照合処理の一部の処理が異なる。第１及び第２の実施形態と同じ処理及び構成には同じ符号を付し、それらの説明は省略する。
【００８４】
図１１は、本発明の第３の実施形態の文書照合処理のフローチャートである。
【００８５】
第３の実施形態において、入力された図面の処理は前述した第２の実施形態と同じである。第３の実施形態では、入力されたテキストの処理が前述した第２の実施形態と異なる。
【００８６】
第３の実施形態では、単位変換処理４０１を第２の実施形態に適用した例を説明するが、単位変換処理４０１を第１の実施形態に適用することもできる。
【００８７】
図１２に示すように、ステップ２１１で取得したテキストが含まれる文書１１１０は、当該文書中１１００のチェックマーク１１０１の記入時刻から、ステップ２０４で特定されたチェックマークの記入時刻の直近の記入時刻を持つチェックマーク１１１を抽出する。その後、抽出されたチェックマークの近傍の文字１１１２を抽出する（２１２）。この文字の抽出処理は前述したステップ２０２、２０３及び２０５と同等の処置によって行われる。
【００８８】
その後、文字認識プログラム１５４は、抽出された文字について文字認識を行い（２１３）、認識された文字の単位を変換する（４０１）。
【００８９】
この単位の変換は、図１２に示すように、チェックマーク１１０１付近の文字１１０２に対応する単位情報１１０３、及び、チェックマーク１１１１付近の文字１１１２に対応する単位情報１１１３を取得し、図１３に示す数値単位定義辞書１６２を参照し、認識された文字（数値）を単位が異なる数値に変換する。
【００９０】
数値の単位は、通常、数値の直後又は直前に記載されるので、数値の位置から左右の所定範囲をスキャンし、当該数値の単位の候補を特定する。また、数値が表内に記載されている場合、数値に対する単位は、数値の位置から水平又は垂直の位置に記載されることが多いので、数値の位置から左右及び上下の所定範囲をスキャンし、文字認識によって当該数値の単位の候補を特定する。単位の候補が特定された後、特定された単位候補をキーとして単位変換情報の単位名称１を検索して、当該数値の単位を特定する。
【００９１】
そして、特定された単位に対応する単位名称２を変換先の単位として、認識された数値に、値２を値１で除した値（値２／値１）を乗じた値を変換後の数値とする。
【００９２】
図１３は、第３の実施形態の数値単位定義辞書１６２の構成を説明する図である。
【００９３】
数値単位定義辞書１６２は、単位名称１（１６２１）、値１（１６２２）、単位名称２（１６２３）及び値２（１６２４）を含む。
【００９４】
単位名称１（１６２１）は、文書において用いられる単位を示す。単位名称２（１６２３）は、単位名称１（１６２１）は、文書において用いられる単位を示す。単位名称２（１６２３）は、単位名称１と同一の種類の単位を示す。値１（１６２２）及び値２（１６２４）は、単位名称１（１６２１）で値１（１６２２）の場合、単位名称２（１６２３）で値２（１６２４）となることを示す。すなわち、単位名称１（１６２１）を単位名称２（１６２３）に変換する場合、値２／値１を乗じればよい。
【００９５】
以上に説明したように、本発明の第３の実施形態では、認識された数値の単位を変換して認識精度を検証するので、同じ値が単位が異なって記載されている場合でも、認識率を向上させ、文字を認識結果を高精度に検定して、文書間（図面間又は文書と図面）の文字を正しく照合することができる。
【符号の説明】
【００９６】
１０  文書照合システム
１２  表示装置
１３  プロセッサ（ＣＰＵ）
１４  印刷装置
１５  ワークエリア
１６  データ保持手段
１７  通信インターフェース
２１  ファイルサーバ
１１０  入力装置
【図１】
0005669044.tif 000002
【図２】
0005669044.tif 000003
【図３】
0005669044.tif 000004
【図４】
0005669044.tif 000005
【図５】
0005669044.tif 000006
【図６】
0005669044.tif 000007
【図７Ａ】
0005669044.tif 000008
【図７Ｂ】
0005669044.tif 000009
【図７Ｃ】
0005669044.tif 000010
【図８】
0005669044.tif 000011
【図９】
0005669044.tif 000012
【図１０Ａ】
0005669044.tif 000013
【図１０Ｂ】
0005669044.tif 000014
【図１０Ｃ】
0005669044.tif 000015
【図１１】
0005669044.tif 000016
【図１２】
0005669044.tif 000017
【図１３】
0005669044.tif 000018