文書検定システム及び文書検定方法
【課題】文書中の文字を正確に認識し、文字認識結果を高精度に検定する。
【解決手段】文書中の座標を取得する座標取得装置と、二つの文書を照合するサーバと、を備えた文書検定システムであって、前記座標取得装置は、前記文書中の座標を、該座標を取得した時刻と共に取得し、前記サーバは、第1の文書から取得された第1の座標と、第2の文書から取得された第2の座標とを対応付ける座標対応付け部、前記第1の文書において前記第1の座標の近傍の第1の文字列、及び、前記第2の文書において前記第2の座標の近傍の第2の文字列を抽出する文字抽出部と、前記抽出された第1及び第2の文字列から文字を認識する文字認識部と、前記第1の文字列の認識結果に基づいて、前記第2の文字列の認識精度を検定する検定部とを備える。
【解決手段】文書中の座標を取得する座標取得装置と、二つの文書を照合するサーバと、を備えた文書検定システムであって、前記座標取得装置は、前記文書中の座標を、該座標を取得した時刻と共に取得し、前記サーバは、第1の文書から取得された第1の座標と、第2の文書から取得された第2の座標とを対応付ける座標対応付け部、前記第1の文書において前記第1の座標の近傍の第1の文字列、及び、前記第2の文書において前記第2の座標の近傍の第2の文字列を抽出する文字抽出部と、前記抽出された第1及び第2の文字列から文字を認識する文字認識部と、前記第1の文字列の認識結果に基づいて、前記第2の文字列の認識精度を検定する検定部とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文字認識結果を検定する文書検定システムに関し、特に、2文書に記載された文字を照合する際に有効な検定方法に関する。
【背景技術】
【0002】
手書き文字及び活字文字を光学的に読み取り、これを文字データに変換して利用する文字認識技術がある。また、文字認識結果を用いて、複数の文字列を照合する技術が提案されている。例えば、特許文献1には、認識仮説データを用いて入力文字とOCR認識結果との不整合を警告するシステムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−181225号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
先述した従来技術では、一定の精度で文字列を照合することができる。しかし、文書中には文字だけでなく、直線(例えば、表の罫線)も記載されている。特に、設計図面では、寸法線が多く、文字と寸法線を区別することが困難であった。
【0005】
また、文書中では、罫線に沿って文字が記載されることから、図中の文字の傾きは一定ではない。特に、設計図面中では、寸法線に沿って文字が記載される。このため、文字の向きを特定しないと、文字を正確に認識することができなかった。
【0006】
本発明は、文字が傾いて記載されている場合でも、正確に文字を認識し、認識された文字を検定することを目的とする。
【課題を解決するための手段】
【0007】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、文書中の座標を取得する座標取得装置と、二つの文書を照合するサーバと、を備えた文書検定システムであって、前記サーバは、プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリと、インターフェースとを備え、前記座標取得装置は、前記文書中の座標を、該座標を取得した時刻と共に取得し、前記サーバは、第1の文書から取得された第1の座標と、第2の文書から取得された第2の座標とを対応付ける座標対応付け部、前記第1の文書において前記第1の座標の近傍の第1の文字列、及び、前記第2の文書において前記第2の座標の近傍の第2の文字列を抽出する文字抽出部と、前記抽出された第1及び第2の文字列から文字を認識する文字認識部と、前記第1の文字列の認識結果に基づいて、前記第2の文字列の認識精度を検定する検定部とを備える。
【発明の効果】
【0008】
本発明の代表的な実施形態によれば、文字と罫線が混在する場合でも、文字を認識精度を検定することができ、2文書に記載された文字を確実に照合することができる。
【図面の簡単な説明】
【0009】
【図1】第1の実施形態の文書照合システムの構成を示すブロック図である。
【図2】第1の実施形態の文書照合処理のフローチャートである。
【図3】第1の実施形態においてチェックマークの近傍の連結成分を抽出する処理を説明する図である。
【図4】第1の実施形態においてチェックマークのペアを生成する処理を説明する図である。
【図5】第1の実施形態の文書照合処理を模式的に表した図である。
【図6】第1の実施形態の項目定義辞書を説明する図である。
【図7A】第1の実施形態の変形例における図面及び文書の対比を説明する図である。
【図7B】第1の実施形態の変形例における図面及び文書の対比を説明する図である。
【図7C】第1の実施形態の変形例における図面及び文書の対比を説明する図である。
【図8】第2の実施形態の文書照合処理のフローチャートである。
【図9】第2の実施形態においてチェックマークの近傍の連結成分を抽出する処理を説明する図である。
【図10A】第2の実施形態の傾き補正を説明する図である。
【図10B】第2の実施形態の傾き補正を説明する図である。
【図10C】第2の実施形態の傾き補正を説明する図である。
【図11】の第3の実施形態の文書照合処理のフローチャートである。
【図12】第3の実施形態の図面及び文書の対比を説明する図である。
【図13】第3の実施形態の数値単位定義辞書の構成を説明する図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して、本発明に関する実施形態について説明する。
【0011】
図1は、本発明の第1の実施形態の文書照合システム10の構成を示すブロック図である。
【0012】
第1の実施形態の文書照合システム10は、入力装置11、表示装置12、プロセッサ(CPU:Central Processing Unit)13、印刷装置14、ワークエリア15、データ保持手段16及び通信ネットワーク17を備える計算機である。
【0013】
入力装置11は、入力装置110及び画像入力装置111を含む。入力装置110は、ユーザによる指示等の入力を受け付ける装置であり、例えばキーボード、マウス又はタッチパネル等でよい。画像入力装置111は、手書き文字及び活字文字等が記載された書面を光学的に読み取ってそれらを画像データに変換する、いわゆるイメージスキャナである。
【0014】
表示装置12は、ユーザに種々の文字及び画像等の情報を出力する装置であり、例えば液晶ディスプレイのような画像表示装置でよい。
【0015】
プロセッサ13は、ワークエリア15に格納されたプログラムを実行することによって種々の機能を実現する処理装置である。以下に説明される各プログラムの処理は、プロセッサ13が実行する。
【0016】
印刷装置14は、ユーザに提供する種々の情報を必要に応じて印刷する。
【0017】
ワークエリア15は、プロセッサ13によって実行されるプログラム等が格納される記憶領域である。本実施形態のワークエリア15は、オペレーティングシステム(OS)151、通信プログラム152、文書処理プログラム153及び文字認識プログラム154を格納する。ワークエリア15は、さらに他のプログラムを格納しても、プロセッサ13がそれらのプログラムを実行するときに参照されるデータを格納しても、プロセッサ13が実行した処理の結果を格納してもよい。
【0018】
オペレーティングシステム151は、文書照合システム10の基本機能を実現する。通信プログラム152は、通信インターフェース17を介したファイルサーバ21との通信を制御する。文書処理プログラム153は、文字認識プログラム154に文字を認識させるための前処理、及び、認識された文字の検定処理及び照合処理を行う。文字認識プログラム154は、文字行から文字を認識し、文字候補を抽出する。これらのプログラムによる処理の詳細は後述する。
【0019】
データ保持手段16は、プロセッサ13が各プログラムに基づいて種々の処理を実行するために参照する情報、すなわち、データ保持手段16には、活字文字認識用辞書161、数値単位定義辞書162及び項目名辞書163を格納する。データ保持手段16は、さらに他の情報を格納してもよいが、本実施形態では説明を省略する。
【0020】
活字文字認識用辞書161は、活字文字の特徴量を示す情報を含み、文書照合システム10が活字文字認識を実行する際に参照される。数値単位定義辞書162は、数値の単位を変換する場合に参照され、その詳細は図13を用いて説明する。項目定義辞書は、照合すべき文書内に記載された項目のリストであり、その詳細は図6を用いて説明する。
【0021】
ワークエリア15及びデータ保持手段16は、窓口受付システム10に実装された記憶装置である。典型的には、ワークエリア15がDRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶装置であり、データ保持手段16が磁気ディスクドライブ(Hard Disk Drive)又はフラッシュメモリのような大容量かつ不揮発性の記憶装置であるが、他の記憶装置でもよい。各プログラムは、データ保持手段16に格納され、プロセッサ13によって実行されるときにワークエリア15にロードされてもよい。また、データ保持手段16に格納された辞書の少なくとも一部が、必要に応じて一時的にワークエリア15にコピーされてもよい。
【0022】
通信インターフェース17は、所定のプロトコルを用いて、通信ネットワーク19を介して、ファイルサーバ21と通信をする。
【0023】
ファイルサーバ21は、本文書照合システム10によって照合される文書を管理する計算機である。本文書照合システム10で取り扱われる文書には文字が記載されており、該記載された文字を照合する際にチェックマークが記入されている(図3参照)。このチェックマークは、書面上の位置が記録される方法、例えば、記入位置の座標を取得できるデジタルペンによって、記入される。
【0024】
デジタルペンは、ペン先の軌跡を電子的に取得するペン型入力デバイスであり、取得したペン先の軌跡を計算機に入力する。例えば、デジタルペンは、スウェーデンのAnoto社が開発した「アノトペン」等がある。このデジタルペンについては、国際公開第01/71473号パンフレットに詳細に記載されている。
【0025】
また、デジタルペンに限らず、タブレット等の紙面上の座標を取得できる装置や、マウス等の画面(すなわち、電子的に表示された書面)上の座標を取得できる装置であればよい。
【0026】
なお、チェックマークが付される文書は、紙面上又は電子データ上にチェックマークが現実に記載されていなくても、チェックされた座標が記録されていれば足りる。
【0027】
デジタルペンによって記入されるチェックマークは、ストロークセットとして、その座標が取得されるが、一点を指定した一つの座標でもよい。
【0028】
図2は、本発明の第1の実施形態の文書照合処理のフローチャートである。この文書照合処理は、プロセッサ13が文書処理プログラム153及び文字認識プログラム154を実行することによって、行われる。
【0029】
なお、本発明の実施形態では、主に図面とテキストデータを含む文書とを照合する場合について説明するが、図面と図面や、図面と帳票や、帳票と帳票や、テキストデータとテキストデータなどの様々な文書の照合に本発明を適用することができる。すなわち、本発明は、文書中の文字の照合に本発明を適用することができる。
【0030】
まず、プロセッサ13(文書処理プログラム153)は、ファイルサーバ21から、図面を取得し(201)、テキストが含まれる文書を取得する(211)。
【0031】
その後、プロセッサ13(文書処理プログラム153)は、入力された図面からチェックマークを一つ抽出し、抽出されたチェックマークの近傍の連結成分を抽出する(202)。なお、図示は省略するが、この202から208の処理は図面上に記載された全てのチェックマークについて行われる。
【0032】
この連結成分の抽出は、図3に示すように、抽出されたチェックマーク501の座標から所定の距離内を領域とするウインドウ502を設定し、ウインドウ502内にある画素を特定し、該特定された画素と連続する画素をひとかたまりの連結成分((字列503及び線504)を抽出する。このチェックマークの座標は、チェックマークが存在する矩形領域を定め、当該領域の中心の座標でもよく、また、各角の座標(すなわち、各角から所定の距離のウインドウを設ける)でもよい。また、連結成分とされたひとかたまりの画素が含まれる領域の高さに所定の係数(例えば、1)を乗じた幅を該領域に与え、該領域に含まれる画素及びそれに連続する画素を連結成分としてもよい。
【0033】
その後、プロセッサ13(文書処理プログラム153)は、抽出された連結成分から文字行を抽出する(203)。例えば、抽出された連結成分の長さが所定の閾値を超えるものを直線であると特定し、この特定された直線を除外することによって、直線と文字とを区分して、文字行を抽出することができる。
【0034】
その後、プロセッサ13(文書処理プログラム153)は、チェックマークが記入された時刻を抽出する(204)。これは、例えば、デジタルペンでは、ペンを紙面に付けたペンダウン時刻、ペンを紙面から離したペンアップ時刻が記録されるので、当該チェックマークに対応するストロークが記入された時刻を特定することができる。
【0035】
その後、プロセッサ13(文字認識プログラム154)は、ステップ203で抽出された文字行を文字認識し、文字候補を抽出する(205)。
【0036】
一方、ステップ204において、チェックマークが記入された時刻の抽出後に、照合相手の文書(ステップ211で取得したテキストが含まれる文書)中のチェックマークの記入時刻から、ステップ204で特定されたチェックマークの記入時刻の直近の記入時刻を持つチェックマークを抽出する。例えば、図4に示すように、ステップ201で入力された図面900には、チェックマーク901、902、903が含まれており、ステップ211で入力されたテキストが含まれる文書(例えば、設計に用いられるシミュレータから出力されたパラメータのリスト)910には、チェックマーク911、912、903が含まれている。これらのチェックマーク901、902、903、911、912、913は、共に、設計図面の記載とテキストが含まれる文書の記載とを、デジタルペンによって照合した際に図面900及び文書910の上に付されたものである。
【0037】
この場合、チェックマーク902とチェックマーク912の記入時刻が一定時間以内で、かつ、いずれかのチェックマークの直後に他方のチェックマークを記入している場合、直近のチェックマークであると決定する。
【0038】
また、チェックマークが、マーク911、マーク901、マーク912、マーク902、マーク913、マーク903の順で記入された場合、前述したチェックマーク902とチェックマーク912との組み合わせの他、チェックマーク902とチェックマーク913との組み合わせも、前述した条件を満たすことがある。この場合、チェックマークのペアが二つ生成され、ステップ213で二つの文字が認識される。
【0039】
なお、チェックマークの記入時刻の差にかかわらず、直前及び直後のチェックマークを直近のチェックマークであると決定してもよい。また、チェックマークの記入順にかかわらず、チェックマークの記入時刻が所定時間内である場合に、直近のチェックマークであると決定してもよい。
【0040】
その後、抽出されたチェックマークの近傍の文字を抽出する(212)。この文字の抽出処理は前述したステップ202、203及び205と同等の処置によって行われる。
【0041】
その後、プロセッサ13(文字認識プログラム154)は、抽出された文字について文字認識を行う(213)。
【0042】
その後、プロセッサ13(文書処理プログラム153)入力された図面910から抽出された文字候補を切り出し、仮説候補ネットワークの重みを補正する(206)。その後、文書910から認識された文字を用いて、仮説候補ネットワーク内のパス毎のスコアを計算し、計算された最も大きいスコアによって仮説候補ネットワークを重み付けする。この仮説候補ネットワーク及びパスのスコアの計算については、特開2009−181225号公報、特願2011−16490の明細書に詳しく記載されている。
【0043】
その後、抽出された文字候補の確からしさを判定し、仮説候補ネットワークの重みを所定の閾値と比較した結果によって、図面の文字とテキストの文字とが整合するか否かを判定することによって、テキストの文字の認識精度を検定する(207)。
【0044】
そして、いずれの仮説候補ネットワークの重みが所定の閾値を超えない場合、図面の文字とテキストの文字とが一致しないと判定し、利用者に警告を提示する(208)。この警告は、一致しない文字を表示画面に表示しても、画面に表示された図面及び/又はテキスト上に一致しない文字が区別可能なように表示してもよい。さらに、表示画面ではなく、音等によって、利用者にアラートを提示してもよい。
【0045】
図5は、本発明の第1の実施形態の文書照合処理を模式的に表した図である。
【0046】
文字認識プログラム154は、図面900のチェック箇所付近の文字候補を抽出する。その後、文書処理プログラム153は、文字認識によって抽出された文字候補を含む文字列から文字を切り出して、仮説候補ネットワーク1311を作成する。また、プロセッサ13(文書処理プログラム153)は、文書910のチェック箇所付近の文字を認識し、文字の認識結果「OPQR7」1312を取得する。
【0047】
次に、プロセッサ13(文書処理プログラム153)は、認識された文字列1312を用いて、仮説候補ネットワーク1311を検索する(913)。図5に示す例では、認識結果の文字列1312に対応するパスが仮説候補ネットワーク1311に存在する。このため、プロセッサ13(文書処理プログラム153)は、この仮説候補ネットワーク1311の重み付けを重く設定する。例えば、仮説候補ネットワーク1311のノード間を接続するエッジ毎にスコアを定め、この定められたスコアの合計を正規化して、仮説候補ネットワーク1311の重み付けを求めることができる。
【0048】
すなわち、仮説候補ネットワーク1311中に、文書910から認識された文字列に対応するパスが存在すれば、当該仮説候補ネットワーク1311の重み付け係数は大きくなるが、文書910から認識された文字列に対応するパスが存在しなければ、当該仮説候補ネットワーク1311の重み付け係数は小さくなる。
【0049】
その後、仮説候補ネットワーク1311の重み付け係数と所定の閾値とを比較して、図面900内の文字と文書910内の文字との照合結果を出力する(914)。
【0050】
以上に説明したように、第1の実施形態によると、文字が傾いて記載されている場合でも、文字を認識結果の精度を検定して、文書間(図面間又は文書と図面)の文字を正しく照合することができる。
【0051】
<実施形態1の変形例>
次に、第1の実施形態の変形例について説明する。この変形例では、図2のチェックマーク付与時間抽出処理(ステップ204)、及び、直近筆記箇所の活字文字行を抽出する処理(ステップ212)において、項目定義辞書163を用いて比較対象の文書・図面間の文字を対応付ける。
【0052】
図6は、本発明の第1の実施形態の項目定義辞書163を説明する図であり、項目定義辞書163は、項目名リスト1631及び項目名の識別子1632を含む。
【0053】
項目名リスト1631は、比較対象となる文書、図面中に含まれる項目の名称が記載される。項目名の識別子1632は、項目名リスト1631の項目名に対応する識別子であり、異なる文書でも同じ内容が記入される項目には同じ識別子が付与される。
【0054】
例えば、図7Aに示す文書Aの「Document No」の欄と、図7Bに示す文書Bの「件名」の欄は同じ内容が記載されるので、同じ項目名識別子「010」が付与され、この二つの項目名に対応する記載内容は同じであるべきである。
【0055】
次に、第1の実施形態の変形例のステップ204において実行される項目名の対応処理について説明する。
【0056】
まず、抽出されたチェックマークが記入された枠内で項目名を探索する。具体的には、まず、抽出されたチェックマークが記入された枠内に記入された文字列を抽出し、抽出された全ての文字列を項目定義辞書163と照合する。その結果、項目名リストに存在し、項目名識別子が得られる文字列を、当該枠の項目名とする。
【0057】
なお、当該枠内で項目名が探索されなかった場合、チェックマークが記入された枠から左方又は上方をたどって、文字列を抽出し、項目定義辞書163と照合することによって、項目名になりうる文字列を探索する。この場合、チェックマークが記入された枠から最も近い位置に記入された項目名になりうる文字列を、当該枠の項目名にするとよい。
【0058】
同様に、ステップ212においても、項目定義辞書163との照合によって、項目名となりうる文字列を探索する。
【0059】
文書と図面を照合する際、チェックマークの記入時刻によって、チェックマークの組が二つ抽出される。この二つのチェックマークの組のうち、項目名識別子が一致するものを、対応する文字列として文字認識をする(205、213)。
【0060】
図7A〜図7Cは、第1の実施形態の変形例における図面と文書との対比を説明する図である。
【0061】
図7Aに示す文書Aに記入されたチェックマーク1011の近傍から文字行「OPQRST03」が抽出される(212)。このチェックマーク1011が記入された枠1012の中には、他の文字(項目名になりうる文字)が記入されていないので、左隣の欄に記入された文字行「Document No.」を抽出する。この文字行を用いて項目定義辞書163を検索すると、項目名識別子「010」が得られる。このため、「Document No.」が、このチェックマーク1011が記入された枠に対応する項目名であることが分かる。
【0062】
図7Bに示す文書Bに記入されたチェックマーク1021の近傍から文字行「OPQRST03」が抽出される(202、203)。このチェックマーク1021が記入された枠1012の中には、「OPQRST03」の他に、二つの文字行「○×図面」、「件名」が抽出される(204)。これらの文字行を用いて項目定義辞書163を検索すると、「○×図面」に対応する項目名識別子は得られないが、「件名」に対応して項目名識別子「010」が得られる。このため、「件名」が、このチェックマーク1011が記入された枠に対応する項目名であることが分かる。
【0063】
図7Cに示す文書Cに記入されたチェックマーク1031の近傍から文字行「1」が抽出される(212)。文書Cではこのチェックマーク1031は枠内に記入されていないので、左方をたどって、文字行「REV」が抽出される。この文字行を用いて項目定義辞書163を検索すると、項目名識別子「013」が得られる。このため、「REV」1032が、このチェックマーク1011が記入された枠に対応する項目名であることが分かる。
【0064】
なお、以上に説明した第1の実施形態の変形例の項目名の対応処理は、前述したように図2のステップ204、211の処理に付加されてもよいし、図2のステップ204、211の本来の処理の代わりに実行されてもよい。この場合、チェックマークが記入された時刻を比較することなく、チェックマークの近傍の文字列に関連する項目名を抽出し、項目名識別子が同じの文字列の組を対比すべき文字とすればよい。
【0065】
このように、第1の実施形態の変形例によると、仮説候補ネットワークの重み付けをするための文字列の数を少なくすることができ、仮説候補ネットワークを作成する処理の演算量を減らすことができる。
【0066】
<実施形態2>
次に、第2の実施形態について説明する。
【0067】
図面に記載された数字は、斜めになっていたり、横に90度回転している等のため、通常の文字認識では、認識精度が低下する場合がある。しかし、文字列は、近傍の線に沿って記載されることが多い。このため、第2の実施形態では、文字の近傍の線の傾きによって、文字の傾きを推定し、文字を認識する。
【0068】
第2の実施形態は、前述した第1の実施形態と文書照合処理の一部の処理が異なる。なお、第1の実施形態と同じ処理及び構成には同じ符号を付し、それらの説明は省略する。
【0069】
図8は、本発明の第2の実施形態の文書照合処理のフローチャートである。
【0070】
第2の実施形態の文書照合処理では、入力された図面からチェックマークを一つ抽出し(201)、該抽出されたチェックマークの近傍の連結成分を抽出する(202)。
【0071】
その後、抽出された連結成分の近傍にある線を抽出する(301)。具体的には、図9に示すように、連結成分701を入力された図面500から抽出し、抽出された連結成分701の座標から所定の距離内を領域とするウインドウ702を設定し、ウインドウ702内にその一部(又は全部)が含まれる線を特定する。図9に示す場合、ウインドウ702内に少なくとも一部が含まれる3本の線703、704、705が抽出される。この連結成分の座標は、連結成分が存在する矩形領域を定め、当該領域の中心の座標でもよく、また、各角の座標(すなわち、各角から所定の距離のウインドウを設ける)でもよい。
【0072】
その後、抽出された線703、704、705の傾きを特定し、特定された線703、704の傾きに従って、連結成分の傾きを補正する(302)。
【0073】
例えば、図10Aに示すように、右方向を0°とする右回りの座標系を設定した場合、基準線600からの線の傾きが−α(左回りにα)であれば、−α及び180°−α回転させた二つの連結成分を生成する。なお、第2の実施形態では、回転させない連結成分と、−α及び180°−α回転させた連結成分の三つについて、その後の処理が実行される。文字列は、近傍の線に沿って記載されることが多いが、線の方向とは関係なく、水平方向に記載されている場合もある。このため、近傍の線によって傾き補正した場合と、補正しない場合の両方について文字認識を行い、文字認識結果を高精度に検定することができる。
【0074】
なお、抽出された連結成分(文字列)701が複数の線が近接しており、連結成分701の近傍の線が複数存在する場合、ステップ302では、各線703、704、705の傾きに従って、傾き補正が実行され、複数の文字認識結果が出力される。
【0075】
その後、傾きが補正された及び傾き補正がされていない連結成分から文字行を抽出する(203)。さらに、ステップ204から208の処理が実行され、抽出された文字候補の確からしさの判定結果に基づいてアラームが表示される。
【0076】
図10Aから図10Cは、第2の実施形態の傾き補正を説明する図である。
【0077】
図10Aに示す場合、文字列602は寸法線601に沿って記載されており、線601の傾きは−αである。この場合、文字列602は線601に沿って記載されているので、文字列602を水平方向に補正するためには、文字列(連結成分)を+α°回転させる。
【0078】
なお、図示は省略するが、文字列が線601に沿って下向きに記載されている場合、180°−(−α)、すなわち、180°+α回転させることによって、文字(連結成分)を水平方向に補正することができる。
【0079】
一方、図10Bに示す場合、文字列603は線601に沿って記載されていない(文字列603は水平方向に記載されている)。よって、文字列(連結成分)は回転させることなく、文字を正しく認識することができる。このため、回転させない連結成分についても、その後の処理を実行することが望ましい。
【0080】
さらに、図10Cに示すように、文字列604は線に沿って記載されているが、正立している場合、連結成分の水平方向の幅にtanαを乗じることによって高さ方向のズレを計算し、該計算されたズレの高さ分、連結成分の位置をずらす。これによって、図10Cに示す場合でも、文字(連結成分)を水平方向に並べることができる。
【0081】
以上に説明したように、本発明の第2の実施形態では、文字の近傍の線の傾きによって文字の傾きを補正した後に文字を認識するので、傾いて記載されている文字でも認識率を向上させ、文字を認識結果を高精度に検定して、文書間(図面間又は文書と図面)の文字を正しく照合することができる。
【0082】
<実施形態3>
次に、第3の実施形態について説明する。
【0083】
第3の実施形態は、前述した第2の実施形態と文書照合処理の一部の処理が異なる。第1及び第2の実施形態と同じ処理及び構成には同じ符号を付し、それらの説明は省略する。
【0084】
図11は、本発明の第3の実施形態の文書照合処理のフローチャートである。
【0085】
第3の実施形態において、入力された図面の処理は前述した第2の実施形態と同じである。第3の実施形態では、入力されたテキストの処理が前述した第2の実施形態と異なる。
【0086】
第3の実施形態では、単位変換処理401を第2の実施形態に適用した例を説明するが、単位変換処理401を第1の実施形態に適用することもできる。
【0087】
図12に示すように、ステップ211で取得したテキストが含まれる文書1110は、当該文書中1100のチェックマーク1101の記入時刻から、ステップ204で特定されたチェックマークの記入時刻の直近の記入時刻を持つチェックマーク111を抽出する。その後、抽出されたチェックマークの近傍の文字1112を抽出する(212)。この文字の抽出処理は前述したステップ202、203及び205と同等の処置によって行われる。
【0088】
その後、文字認識プログラム154は、抽出された文字について文字認識を行い(213)、認識された文字の単位を変換する(401)。
【0089】
この単位の変換は、図12に示すように、チェックマーク1101付近の文字1102に対応する単位情報1103、及び、チェックマーク1111付近の文字1112に対応する単位情報1113を取得し、図13に示す数値単位定義辞書162を参照し、認識された文字(数値)を単位が異なる数値に変換する。
【0090】
数値の単位は、通常、数値の直後又は直前に記載されるので、数値の位置から左右の所定範囲をスキャンし、当該数値の単位の候補を特定する。また、数値が表内に記載されている場合、数値に対する単位は、数値の位置から水平又は垂直の位置に記載されることが多いので、数値の位置から左右及び上下の所定範囲をスキャンし、文字認識によって当該数値の単位の候補を特定する。単位の候補が特定された後、特定された単位候補をキーとして単位変換情報の単位名称1を検索して、当該数値の単位を特定する。
【0091】
そして、特定された単位に対応する単位名称2を変換先の単位として、認識された数値に、値2を値1で除した値(値2/値1)を乗じた値を変換後の数値とする。
【0092】
図13は、第3の実施形態の数値単位定義辞書162の構成を説明する図である。
【0093】
数値単位定義辞書162は、単位名称1(1621)、値1(1622)、単位名称2(1623)及び値2(1624)を含む。
【0094】
単位名称1(1621)は、文書において用いられる単位を示す。単位名称2(1623)は、単位名称1(1621)は、文書において用いられる単位を示す。単位名称2(1623)は、単位名称1と同一の種類の単位を示す。値1(1622)及び値2(1624)は、単位名称1(1621)で値1(1622)の場合、単位名称2(1623)で値2(1624)となることを示す。すなわち、単位名称1(1621)を単位名称2(1623)に変換する場合、値2/値1を乗じればよい。
【0095】
以上に説明したように、本発明の第3の実施形態では、認識された数値の単位を変換して認識精度を検証するので、同じ値が単位が異なって記載されている場合でも、認識率を向上させ、文字を認識結果を高精度に検定して、文書間(図面間又は文書と図面)の文字を正しく照合することができる。
【符号の説明】
【0096】
10 文書照合システム
12 表示装置
13 プロセッサ(CPU)
14 印刷装置
15 ワークエリア
16 データ保持手段
17 通信インターフェース
21 ファイルサーバ
110 入力装置
【技術分野】
【0001】
本発明は、文字認識結果を検定する文書検定システムに関し、特に、2文書に記載された文字を照合する際に有効な検定方法に関する。
【背景技術】
【0002】
手書き文字及び活字文字を光学的に読み取り、これを文字データに変換して利用する文字認識技術がある。また、文字認識結果を用いて、複数の文字列を照合する技術が提案されている。例えば、特許文献1には、認識仮説データを用いて入力文字とOCR認識結果との不整合を警告するシステムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−181225号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
先述した従来技術では、一定の精度で文字列を照合することができる。しかし、文書中には文字だけでなく、直線(例えば、表の罫線)も記載されている。特に、設計図面では、寸法線が多く、文字と寸法線を区別することが困難であった。
【0005】
また、文書中では、罫線に沿って文字が記載されることから、図中の文字の傾きは一定ではない。特に、設計図面中では、寸法線に沿って文字が記載される。このため、文字の向きを特定しないと、文字を正確に認識することができなかった。
【0006】
本発明は、文字が傾いて記載されている場合でも、正確に文字を認識し、認識された文字を検定することを目的とする。
【課題を解決するための手段】
【0007】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、文書中の座標を取得する座標取得装置と、二つの文書を照合するサーバと、を備えた文書検定システムであって、前記サーバは、プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリと、インターフェースとを備え、前記座標取得装置は、前記文書中の座標を、該座標を取得した時刻と共に取得し、前記サーバは、第1の文書から取得された第1の座標と、第2の文書から取得された第2の座標とを対応付ける座標対応付け部、前記第1の文書において前記第1の座標の近傍の第1の文字列、及び、前記第2の文書において前記第2の座標の近傍の第2の文字列を抽出する文字抽出部と、前記抽出された第1及び第2の文字列から文字を認識する文字認識部と、前記第1の文字列の認識結果に基づいて、前記第2の文字列の認識精度を検定する検定部とを備える。
【発明の効果】
【0008】
本発明の代表的な実施形態によれば、文字と罫線が混在する場合でも、文字を認識精度を検定することができ、2文書に記載された文字を確実に照合することができる。
【図面の簡単な説明】
【0009】
【図1】第1の実施形態の文書照合システムの構成を示すブロック図である。
【図2】第1の実施形態の文書照合処理のフローチャートである。
【図3】第1の実施形態においてチェックマークの近傍の連結成分を抽出する処理を説明する図である。
【図4】第1の実施形態においてチェックマークのペアを生成する処理を説明する図である。
【図5】第1の実施形態の文書照合処理を模式的に表した図である。
【図6】第1の実施形態の項目定義辞書を説明する図である。
【図7A】第1の実施形態の変形例における図面及び文書の対比を説明する図である。
【図7B】第1の実施形態の変形例における図面及び文書の対比を説明する図である。
【図7C】第1の実施形態の変形例における図面及び文書の対比を説明する図である。
【図8】第2の実施形態の文書照合処理のフローチャートである。
【図9】第2の実施形態においてチェックマークの近傍の連結成分を抽出する処理を説明する図である。
【図10A】第2の実施形態の傾き補正を説明する図である。
【図10B】第2の実施形態の傾き補正を説明する図である。
【図10C】第2の実施形態の傾き補正を説明する図である。
【図11】の第3の実施形態の文書照合処理のフローチャートである。
【図12】第3の実施形態の図面及び文書の対比を説明する図である。
【図13】第3の実施形態の数値単位定義辞書の構成を説明する図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して、本発明に関する実施形態について説明する。
【0011】
図1は、本発明の第1の実施形態の文書照合システム10の構成を示すブロック図である。
【0012】
第1の実施形態の文書照合システム10は、入力装置11、表示装置12、プロセッサ(CPU:Central Processing Unit)13、印刷装置14、ワークエリア15、データ保持手段16及び通信ネットワーク17を備える計算機である。
【0013】
入力装置11は、入力装置110及び画像入力装置111を含む。入力装置110は、ユーザによる指示等の入力を受け付ける装置であり、例えばキーボード、マウス又はタッチパネル等でよい。画像入力装置111は、手書き文字及び活字文字等が記載された書面を光学的に読み取ってそれらを画像データに変換する、いわゆるイメージスキャナである。
【0014】
表示装置12は、ユーザに種々の文字及び画像等の情報を出力する装置であり、例えば液晶ディスプレイのような画像表示装置でよい。
【0015】
プロセッサ13は、ワークエリア15に格納されたプログラムを実行することによって種々の機能を実現する処理装置である。以下に説明される各プログラムの処理は、プロセッサ13が実行する。
【0016】
印刷装置14は、ユーザに提供する種々の情報を必要に応じて印刷する。
【0017】
ワークエリア15は、プロセッサ13によって実行されるプログラム等が格納される記憶領域である。本実施形態のワークエリア15は、オペレーティングシステム(OS)151、通信プログラム152、文書処理プログラム153及び文字認識プログラム154を格納する。ワークエリア15は、さらに他のプログラムを格納しても、プロセッサ13がそれらのプログラムを実行するときに参照されるデータを格納しても、プロセッサ13が実行した処理の結果を格納してもよい。
【0018】
オペレーティングシステム151は、文書照合システム10の基本機能を実現する。通信プログラム152は、通信インターフェース17を介したファイルサーバ21との通信を制御する。文書処理プログラム153は、文字認識プログラム154に文字を認識させるための前処理、及び、認識された文字の検定処理及び照合処理を行う。文字認識プログラム154は、文字行から文字を認識し、文字候補を抽出する。これらのプログラムによる処理の詳細は後述する。
【0019】
データ保持手段16は、プロセッサ13が各プログラムに基づいて種々の処理を実行するために参照する情報、すなわち、データ保持手段16には、活字文字認識用辞書161、数値単位定義辞書162及び項目名辞書163を格納する。データ保持手段16は、さらに他の情報を格納してもよいが、本実施形態では説明を省略する。
【0020】
活字文字認識用辞書161は、活字文字の特徴量を示す情報を含み、文書照合システム10が活字文字認識を実行する際に参照される。数値単位定義辞書162は、数値の単位を変換する場合に参照され、その詳細は図13を用いて説明する。項目定義辞書は、照合すべき文書内に記載された項目のリストであり、その詳細は図6を用いて説明する。
【0021】
ワークエリア15及びデータ保持手段16は、窓口受付システム10に実装された記憶装置である。典型的には、ワークエリア15がDRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶装置であり、データ保持手段16が磁気ディスクドライブ(Hard Disk Drive)又はフラッシュメモリのような大容量かつ不揮発性の記憶装置であるが、他の記憶装置でもよい。各プログラムは、データ保持手段16に格納され、プロセッサ13によって実行されるときにワークエリア15にロードされてもよい。また、データ保持手段16に格納された辞書の少なくとも一部が、必要に応じて一時的にワークエリア15にコピーされてもよい。
【0022】
通信インターフェース17は、所定のプロトコルを用いて、通信ネットワーク19を介して、ファイルサーバ21と通信をする。
【0023】
ファイルサーバ21は、本文書照合システム10によって照合される文書を管理する計算機である。本文書照合システム10で取り扱われる文書には文字が記載されており、該記載された文字を照合する際にチェックマークが記入されている(図3参照)。このチェックマークは、書面上の位置が記録される方法、例えば、記入位置の座標を取得できるデジタルペンによって、記入される。
【0024】
デジタルペンは、ペン先の軌跡を電子的に取得するペン型入力デバイスであり、取得したペン先の軌跡を計算機に入力する。例えば、デジタルペンは、スウェーデンのAnoto社が開発した「アノトペン」等がある。このデジタルペンについては、国際公開第01/71473号パンフレットに詳細に記載されている。
【0025】
また、デジタルペンに限らず、タブレット等の紙面上の座標を取得できる装置や、マウス等の画面(すなわち、電子的に表示された書面)上の座標を取得できる装置であればよい。
【0026】
なお、チェックマークが付される文書は、紙面上又は電子データ上にチェックマークが現実に記載されていなくても、チェックされた座標が記録されていれば足りる。
【0027】
デジタルペンによって記入されるチェックマークは、ストロークセットとして、その座標が取得されるが、一点を指定した一つの座標でもよい。
【0028】
図2は、本発明の第1の実施形態の文書照合処理のフローチャートである。この文書照合処理は、プロセッサ13が文書処理プログラム153及び文字認識プログラム154を実行することによって、行われる。
【0029】
なお、本発明の実施形態では、主に図面とテキストデータを含む文書とを照合する場合について説明するが、図面と図面や、図面と帳票や、帳票と帳票や、テキストデータとテキストデータなどの様々な文書の照合に本発明を適用することができる。すなわち、本発明は、文書中の文字の照合に本発明を適用することができる。
【0030】
まず、プロセッサ13(文書処理プログラム153)は、ファイルサーバ21から、図面を取得し(201)、テキストが含まれる文書を取得する(211)。
【0031】
その後、プロセッサ13(文書処理プログラム153)は、入力された図面からチェックマークを一つ抽出し、抽出されたチェックマークの近傍の連結成分を抽出する(202)。なお、図示は省略するが、この202から208の処理は図面上に記載された全てのチェックマークについて行われる。
【0032】
この連結成分の抽出は、図3に示すように、抽出されたチェックマーク501の座標から所定の距離内を領域とするウインドウ502を設定し、ウインドウ502内にある画素を特定し、該特定された画素と連続する画素をひとかたまりの連結成分((字列503及び線504)を抽出する。このチェックマークの座標は、チェックマークが存在する矩形領域を定め、当該領域の中心の座標でもよく、また、各角の座標(すなわち、各角から所定の距離のウインドウを設ける)でもよい。また、連結成分とされたひとかたまりの画素が含まれる領域の高さに所定の係数(例えば、1)を乗じた幅を該領域に与え、該領域に含まれる画素及びそれに連続する画素を連結成分としてもよい。
【0033】
その後、プロセッサ13(文書処理プログラム153)は、抽出された連結成分から文字行を抽出する(203)。例えば、抽出された連結成分の長さが所定の閾値を超えるものを直線であると特定し、この特定された直線を除外することによって、直線と文字とを区分して、文字行を抽出することができる。
【0034】
その後、プロセッサ13(文書処理プログラム153)は、チェックマークが記入された時刻を抽出する(204)。これは、例えば、デジタルペンでは、ペンを紙面に付けたペンダウン時刻、ペンを紙面から離したペンアップ時刻が記録されるので、当該チェックマークに対応するストロークが記入された時刻を特定することができる。
【0035】
その後、プロセッサ13(文字認識プログラム154)は、ステップ203で抽出された文字行を文字認識し、文字候補を抽出する(205)。
【0036】
一方、ステップ204において、チェックマークが記入された時刻の抽出後に、照合相手の文書(ステップ211で取得したテキストが含まれる文書)中のチェックマークの記入時刻から、ステップ204で特定されたチェックマークの記入時刻の直近の記入時刻を持つチェックマークを抽出する。例えば、図4に示すように、ステップ201で入力された図面900には、チェックマーク901、902、903が含まれており、ステップ211で入力されたテキストが含まれる文書(例えば、設計に用いられるシミュレータから出力されたパラメータのリスト)910には、チェックマーク911、912、903が含まれている。これらのチェックマーク901、902、903、911、912、913は、共に、設計図面の記載とテキストが含まれる文書の記載とを、デジタルペンによって照合した際に図面900及び文書910の上に付されたものである。
【0037】
この場合、チェックマーク902とチェックマーク912の記入時刻が一定時間以内で、かつ、いずれかのチェックマークの直後に他方のチェックマークを記入している場合、直近のチェックマークであると決定する。
【0038】
また、チェックマークが、マーク911、マーク901、マーク912、マーク902、マーク913、マーク903の順で記入された場合、前述したチェックマーク902とチェックマーク912との組み合わせの他、チェックマーク902とチェックマーク913との組み合わせも、前述した条件を満たすことがある。この場合、チェックマークのペアが二つ生成され、ステップ213で二つの文字が認識される。
【0039】
なお、チェックマークの記入時刻の差にかかわらず、直前及び直後のチェックマークを直近のチェックマークであると決定してもよい。また、チェックマークの記入順にかかわらず、チェックマークの記入時刻が所定時間内である場合に、直近のチェックマークであると決定してもよい。
【0040】
その後、抽出されたチェックマークの近傍の文字を抽出する(212)。この文字の抽出処理は前述したステップ202、203及び205と同等の処置によって行われる。
【0041】
その後、プロセッサ13(文字認識プログラム154)は、抽出された文字について文字認識を行う(213)。
【0042】
その後、プロセッサ13(文書処理プログラム153)入力された図面910から抽出された文字候補を切り出し、仮説候補ネットワークの重みを補正する(206)。その後、文書910から認識された文字を用いて、仮説候補ネットワーク内のパス毎のスコアを計算し、計算された最も大きいスコアによって仮説候補ネットワークを重み付けする。この仮説候補ネットワーク及びパスのスコアの計算については、特開2009−181225号公報、特願2011−16490の明細書に詳しく記載されている。
【0043】
その後、抽出された文字候補の確からしさを判定し、仮説候補ネットワークの重みを所定の閾値と比較した結果によって、図面の文字とテキストの文字とが整合するか否かを判定することによって、テキストの文字の認識精度を検定する(207)。
【0044】
そして、いずれの仮説候補ネットワークの重みが所定の閾値を超えない場合、図面の文字とテキストの文字とが一致しないと判定し、利用者に警告を提示する(208)。この警告は、一致しない文字を表示画面に表示しても、画面に表示された図面及び/又はテキスト上に一致しない文字が区別可能なように表示してもよい。さらに、表示画面ではなく、音等によって、利用者にアラートを提示してもよい。
【0045】
図5は、本発明の第1の実施形態の文書照合処理を模式的に表した図である。
【0046】
文字認識プログラム154は、図面900のチェック箇所付近の文字候補を抽出する。その後、文書処理プログラム153は、文字認識によって抽出された文字候補を含む文字列から文字を切り出して、仮説候補ネットワーク1311を作成する。また、プロセッサ13(文書処理プログラム153)は、文書910のチェック箇所付近の文字を認識し、文字の認識結果「OPQR7」1312を取得する。
【0047】
次に、プロセッサ13(文書処理プログラム153)は、認識された文字列1312を用いて、仮説候補ネットワーク1311を検索する(913)。図5に示す例では、認識結果の文字列1312に対応するパスが仮説候補ネットワーク1311に存在する。このため、プロセッサ13(文書処理プログラム153)は、この仮説候補ネットワーク1311の重み付けを重く設定する。例えば、仮説候補ネットワーク1311のノード間を接続するエッジ毎にスコアを定め、この定められたスコアの合計を正規化して、仮説候補ネットワーク1311の重み付けを求めることができる。
【0048】
すなわち、仮説候補ネットワーク1311中に、文書910から認識された文字列に対応するパスが存在すれば、当該仮説候補ネットワーク1311の重み付け係数は大きくなるが、文書910から認識された文字列に対応するパスが存在しなければ、当該仮説候補ネットワーク1311の重み付け係数は小さくなる。
【0049】
その後、仮説候補ネットワーク1311の重み付け係数と所定の閾値とを比較して、図面900内の文字と文書910内の文字との照合結果を出力する(914)。
【0050】
以上に説明したように、第1の実施形態によると、文字が傾いて記載されている場合でも、文字を認識結果の精度を検定して、文書間(図面間又は文書と図面)の文字を正しく照合することができる。
【0051】
<実施形態1の変形例>
次に、第1の実施形態の変形例について説明する。この変形例では、図2のチェックマーク付与時間抽出処理(ステップ204)、及び、直近筆記箇所の活字文字行を抽出する処理(ステップ212)において、項目定義辞書163を用いて比較対象の文書・図面間の文字を対応付ける。
【0052】
図6は、本発明の第1の実施形態の項目定義辞書163を説明する図であり、項目定義辞書163は、項目名リスト1631及び項目名の識別子1632を含む。
【0053】
項目名リスト1631は、比較対象となる文書、図面中に含まれる項目の名称が記載される。項目名の識別子1632は、項目名リスト1631の項目名に対応する識別子であり、異なる文書でも同じ内容が記入される項目には同じ識別子が付与される。
【0054】
例えば、図7Aに示す文書Aの「Document No」の欄と、図7Bに示す文書Bの「件名」の欄は同じ内容が記載されるので、同じ項目名識別子「010」が付与され、この二つの項目名に対応する記載内容は同じであるべきである。
【0055】
次に、第1の実施形態の変形例のステップ204において実行される項目名の対応処理について説明する。
【0056】
まず、抽出されたチェックマークが記入された枠内で項目名を探索する。具体的には、まず、抽出されたチェックマークが記入された枠内に記入された文字列を抽出し、抽出された全ての文字列を項目定義辞書163と照合する。その結果、項目名リストに存在し、項目名識別子が得られる文字列を、当該枠の項目名とする。
【0057】
なお、当該枠内で項目名が探索されなかった場合、チェックマークが記入された枠から左方又は上方をたどって、文字列を抽出し、項目定義辞書163と照合することによって、項目名になりうる文字列を探索する。この場合、チェックマークが記入された枠から最も近い位置に記入された項目名になりうる文字列を、当該枠の項目名にするとよい。
【0058】
同様に、ステップ212においても、項目定義辞書163との照合によって、項目名となりうる文字列を探索する。
【0059】
文書と図面を照合する際、チェックマークの記入時刻によって、チェックマークの組が二つ抽出される。この二つのチェックマークの組のうち、項目名識別子が一致するものを、対応する文字列として文字認識をする(205、213)。
【0060】
図7A〜図7Cは、第1の実施形態の変形例における図面と文書との対比を説明する図である。
【0061】
図7Aに示す文書Aに記入されたチェックマーク1011の近傍から文字行「OPQRST03」が抽出される(212)。このチェックマーク1011が記入された枠1012の中には、他の文字(項目名になりうる文字)が記入されていないので、左隣の欄に記入された文字行「Document No.」を抽出する。この文字行を用いて項目定義辞書163を検索すると、項目名識別子「010」が得られる。このため、「Document No.」が、このチェックマーク1011が記入された枠に対応する項目名であることが分かる。
【0062】
図7Bに示す文書Bに記入されたチェックマーク1021の近傍から文字行「OPQRST03」が抽出される(202、203)。このチェックマーク1021が記入された枠1012の中には、「OPQRST03」の他に、二つの文字行「○×図面」、「件名」が抽出される(204)。これらの文字行を用いて項目定義辞書163を検索すると、「○×図面」に対応する項目名識別子は得られないが、「件名」に対応して項目名識別子「010」が得られる。このため、「件名」が、このチェックマーク1011が記入された枠に対応する項目名であることが分かる。
【0063】
図7Cに示す文書Cに記入されたチェックマーク1031の近傍から文字行「1」が抽出される(212)。文書Cではこのチェックマーク1031は枠内に記入されていないので、左方をたどって、文字行「REV」が抽出される。この文字行を用いて項目定義辞書163を検索すると、項目名識別子「013」が得られる。このため、「REV」1032が、このチェックマーク1011が記入された枠に対応する項目名であることが分かる。
【0064】
なお、以上に説明した第1の実施形態の変形例の項目名の対応処理は、前述したように図2のステップ204、211の処理に付加されてもよいし、図2のステップ204、211の本来の処理の代わりに実行されてもよい。この場合、チェックマークが記入された時刻を比較することなく、チェックマークの近傍の文字列に関連する項目名を抽出し、項目名識別子が同じの文字列の組を対比すべき文字とすればよい。
【0065】
このように、第1の実施形態の変形例によると、仮説候補ネットワークの重み付けをするための文字列の数を少なくすることができ、仮説候補ネットワークを作成する処理の演算量を減らすことができる。
【0066】
<実施形態2>
次に、第2の実施形態について説明する。
【0067】
図面に記載された数字は、斜めになっていたり、横に90度回転している等のため、通常の文字認識では、認識精度が低下する場合がある。しかし、文字列は、近傍の線に沿って記載されることが多い。このため、第2の実施形態では、文字の近傍の線の傾きによって、文字の傾きを推定し、文字を認識する。
【0068】
第2の実施形態は、前述した第1の実施形態と文書照合処理の一部の処理が異なる。なお、第1の実施形態と同じ処理及び構成には同じ符号を付し、それらの説明は省略する。
【0069】
図8は、本発明の第2の実施形態の文書照合処理のフローチャートである。
【0070】
第2の実施形態の文書照合処理では、入力された図面からチェックマークを一つ抽出し(201)、該抽出されたチェックマークの近傍の連結成分を抽出する(202)。
【0071】
その後、抽出された連結成分の近傍にある線を抽出する(301)。具体的には、図9に示すように、連結成分701を入力された図面500から抽出し、抽出された連結成分701の座標から所定の距離内を領域とするウインドウ702を設定し、ウインドウ702内にその一部(又は全部)が含まれる線を特定する。図9に示す場合、ウインドウ702内に少なくとも一部が含まれる3本の線703、704、705が抽出される。この連結成分の座標は、連結成分が存在する矩形領域を定め、当該領域の中心の座標でもよく、また、各角の座標(すなわち、各角から所定の距離のウインドウを設ける)でもよい。
【0072】
その後、抽出された線703、704、705の傾きを特定し、特定された線703、704の傾きに従って、連結成分の傾きを補正する(302)。
【0073】
例えば、図10Aに示すように、右方向を0°とする右回りの座標系を設定した場合、基準線600からの線の傾きが−α(左回りにα)であれば、−α及び180°−α回転させた二つの連結成分を生成する。なお、第2の実施形態では、回転させない連結成分と、−α及び180°−α回転させた連結成分の三つについて、その後の処理が実行される。文字列は、近傍の線に沿って記載されることが多いが、線の方向とは関係なく、水平方向に記載されている場合もある。このため、近傍の線によって傾き補正した場合と、補正しない場合の両方について文字認識を行い、文字認識結果を高精度に検定することができる。
【0074】
なお、抽出された連結成分(文字列)701が複数の線が近接しており、連結成分701の近傍の線が複数存在する場合、ステップ302では、各線703、704、705の傾きに従って、傾き補正が実行され、複数の文字認識結果が出力される。
【0075】
その後、傾きが補正された及び傾き補正がされていない連結成分から文字行を抽出する(203)。さらに、ステップ204から208の処理が実行され、抽出された文字候補の確からしさの判定結果に基づいてアラームが表示される。
【0076】
図10Aから図10Cは、第2の実施形態の傾き補正を説明する図である。
【0077】
図10Aに示す場合、文字列602は寸法線601に沿って記載されており、線601の傾きは−αである。この場合、文字列602は線601に沿って記載されているので、文字列602を水平方向に補正するためには、文字列(連結成分)を+α°回転させる。
【0078】
なお、図示は省略するが、文字列が線601に沿って下向きに記載されている場合、180°−(−α)、すなわち、180°+α回転させることによって、文字(連結成分)を水平方向に補正することができる。
【0079】
一方、図10Bに示す場合、文字列603は線601に沿って記載されていない(文字列603は水平方向に記載されている)。よって、文字列(連結成分)は回転させることなく、文字を正しく認識することができる。このため、回転させない連結成分についても、その後の処理を実行することが望ましい。
【0080】
さらに、図10Cに示すように、文字列604は線に沿って記載されているが、正立している場合、連結成分の水平方向の幅にtanαを乗じることによって高さ方向のズレを計算し、該計算されたズレの高さ分、連結成分の位置をずらす。これによって、図10Cに示す場合でも、文字(連結成分)を水平方向に並べることができる。
【0081】
以上に説明したように、本発明の第2の実施形態では、文字の近傍の線の傾きによって文字の傾きを補正した後に文字を認識するので、傾いて記載されている文字でも認識率を向上させ、文字を認識結果を高精度に検定して、文書間(図面間又は文書と図面)の文字を正しく照合することができる。
【0082】
<実施形態3>
次に、第3の実施形態について説明する。
【0083】
第3の実施形態は、前述した第2の実施形態と文書照合処理の一部の処理が異なる。第1及び第2の実施形態と同じ処理及び構成には同じ符号を付し、それらの説明は省略する。
【0084】
図11は、本発明の第3の実施形態の文書照合処理のフローチャートである。
【0085】
第3の実施形態において、入力された図面の処理は前述した第2の実施形態と同じである。第3の実施形態では、入力されたテキストの処理が前述した第2の実施形態と異なる。
【0086】
第3の実施形態では、単位変換処理401を第2の実施形態に適用した例を説明するが、単位変換処理401を第1の実施形態に適用することもできる。
【0087】
図12に示すように、ステップ211で取得したテキストが含まれる文書1110は、当該文書中1100のチェックマーク1101の記入時刻から、ステップ204で特定されたチェックマークの記入時刻の直近の記入時刻を持つチェックマーク111を抽出する。その後、抽出されたチェックマークの近傍の文字1112を抽出する(212)。この文字の抽出処理は前述したステップ202、203及び205と同等の処置によって行われる。
【0088】
その後、文字認識プログラム154は、抽出された文字について文字認識を行い(213)、認識された文字の単位を変換する(401)。
【0089】
この単位の変換は、図12に示すように、チェックマーク1101付近の文字1102に対応する単位情報1103、及び、チェックマーク1111付近の文字1112に対応する単位情報1113を取得し、図13に示す数値単位定義辞書162を参照し、認識された文字(数値)を単位が異なる数値に変換する。
【0090】
数値の単位は、通常、数値の直後又は直前に記載されるので、数値の位置から左右の所定範囲をスキャンし、当該数値の単位の候補を特定する。また、数値が表内に記載されている場合、数値に対する単位は、数値の位置から水平又は垂直の位置に記載されることが多いので、数値の位置から左右及び上下の所定範囲をスキャンし、文字認識によって当該数値の単位の候補を特定する。単位の候補が特定された後、特定された単位候補をキーとして単位変換情報の単位名称1を検索して、当該数値の単位を特定する。
【0091】
そして、特定された単位に対応する単位名称2を変換先の単位として、認識された数値に、値2を値1で除した値(値2/値1)を乗じた値を変換後の数値とする。
【0092】
図13は、第3の実施形態の数値単位定義辞書162の構成を説明する図である。
【0093】
数値単位定義辞書162は、単位名称1(1621)、値1(1622)、単位名称2(1623)及び値2(1624)を含む。
【0094】
単位名称1(1621)は、文書において用いられる単位を示す。単位名称2(1623)は、単位名称1(1621)は、文書において用いられる単位を示す。単位名称2(1623)は、単位名称1と同一の種類の単位を示す。値1(1622)及び値2(1624)は、単位名称1(1621)で値1(1622)の場合、単位名称2(1623)で値2(1624)となることを示す。すなわち、単位名称1(1621)を単位名称2(1623)に変換する場合、値2/値1を乗じればよい。
【0095】
以上に説明したように、本発明の第3の実施形態では、認識された数値の単位を変換して認識精度を検証するので、同じ値が単位が異なって記載されている場合でも、認識率を向上させ、文字を認識結果を高精度に検定して、文書間(図面間又は文書と図面)の文字を正しく照合することができる。
【符号の説明】
【0096】
10 文書照合システム
12 表示装置
13 プロセッサ(CPU)
14 印刷装置
15 ワークエリア
16 データ保持手段
17 通信インターフェース
21 ファイルサーバ
110 入力装置
【特許請求の範囲】
【請求項1】
文書中の座標を取得する座標取得装置と、
二つの文書を照合するサーバと、を備えた文書検定システムであって、
前記サーバは、プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリと、インターフェースとを備え、
前記サーバは、
第1の文書から取得された第1の座標と、第2の文書から取得された第2の座標とを対応付ける座標対応付け部と、
前記第1の文書において前記第1の座標の近傍の第1の文字列、及び、前記第2の文書において前記第2の座標の近傍の第2の文字列を抽出する文字抽出部と、
前記抽出された第1及び第2の文字列から文字を認識する文字認識部と、
前記第1の文字列の認識結果に基づいて、前記第2の文字列の認識精度を検定する検定部とを備えることを特徴とする文書検定システム。
【請求項2】
前記文字抽出部は、
前記第1及び第2の座標から所定の距離の領域内の画素の連結成分を抽出し、
前記抽出された連結成分のうち、所定長を超える長さの連結成分を除去したものを、第1及び第2の文字列として抽出することを特徴とする請求項1に記載の文書検定システム。
【請求項3】
前記文字抽出部が、前記除去された連結成分の角度を測定し、前記測定された角度だけ前記抽出された文字列を回転させた後、前記文字認識部が、前記回転された文字列を認識することを特徴とする請求項1に記載の文書検定システム。
【請求項4】
前記文字抽出部は、複数の前記連結成分が除去された場合、前記除去された連結成分毎に当該連結成分の角度を測定し、前記測定された複数の角度だけ前記抽出された文字列を回転させ、その後、前記文字認識部が、前記複数の角度回転された文字列を認識することを特徴とする請求項3に記載の文字検定システム。
【請求項5】
前記文書検定システムは、前記抽出された文字に対応する単位を特定し、当該単位によって表される数値を変換する単位変換部を備え、
前記文字認識部は、前記変換された数値を認識することを特徴とする請求項1に記載の文書検定システム。
【請求項6】
前記座標取得装置は、前記文書中の座標を、該座標を取得した時刻と共に取得し、
前記座標対応付け部は、前記座標取得時刻が当該第1の座標の取得時刻の直前又は直後に取得された、及び、前記座標取得時刻が当該第1の座標の取得時刻から所定の時間内に取得された、の少なくとも一つの条件を満たすものを前記第2の座標とすることを特徴とする請求項1に記載の文書検定システム。
【請求項7】
前記文書検定システムは、前記第1及び第2の文書の記載項目レイアウトの情報を含む定義情報にアクセス可能であって、
前記座標対応付け部は、前記定義情報を参照して、前記第1の座標と前記第2の座標とのペアを作成することを特徴とする請求項1に記載の文書検定システム。
【請求項8】
前記検定部は、
前記第1の文字列から認識された文字から文字候補を切り出して、仮説候補ネットワークを生成し、
前記第2の文字列から認識された文字を用いて、前記生成された仮説候補ネットワークのスコアを計算し、
前記計算された仮説候補ネットワークのスコアを所定の閾値と比較することによって、前記第2列の文字の認識精度を検定することを特徴とする請求項1に記載の文書検定システム。
【請求項9】
プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリと、文書中の座標を取得する座標取得装置と接続されるインターフェースとを備える文書検定システムにおける文書検定方法であって、
前記プロセッサが、第1の文書から取得された第1の座標と、第2の文書から取得された第2の座標とを対応付けるステップと、
前記プロセッサが、前記第1の文書において前記第1の座標の近傍の第1の文字列、及び、前記第2の文書において前記第2の座標の近傍の第2の文字列を抽出するステップと、
前記プロセッサが、前記抽出された第1及び第2の文字列から文字を認識するステップと、
前記プロセッサが、前記第1の文字列の認識結果に基づいて、前記第2の文字列の認識精度を検定するステップと、を含むことを特徴とする文書検定方法。
【請求項10】
前記文字列を抽出するステップでは、
前記第1及び第2の座標から所定の距離の領域内の画素の連結成分を抽出し、
前記抽出された連結成分のうち、所定長を超える長さの連結成分を除去したものを、第1及び第2の文字列として抽出することを特徴とする請求項9に記載の文書検定方法。
【請求項11】
前記文字列を抽出するステップでは、前記除去された連結成分の角度を測定し、前記測定された角度だけ前記抽出された文字列を回転させ、
その後、前記文字を認識するステップでは、前記回転された文字列を認識することを特徴とする請求項9に記載の文書検定方法。
【請求項12】
前記文字列を抽出するステップでは、複数の前記連結成分が除去された場合、前記除去された連結成分毎に当該連結成分の角度を測定し、前記測定された複数の角度だけ前記抽出された文字列を回転させ、
その後、前記文字を認識するステップでは、前記複数の角度回転された文字列を認識することを特徴とする請求項11に記載の文字検定方法。
【請求項13】
前記方法は、さらに、前記抽出された文字に対応する単位を特定し、当該単位によって表される数値を変換するステップを含み、
前記文字を認識するステップでは、前記変換された数値を認識することを特徴とする請求項9に記載の文書検定方法。
【請求項14】
前記座標取得装置は、前記文書中の座標を、該座標を取得した時刻と共に取得し、
前記座標を対応付るステップでは、前記座標取得時刻が当該第1の座標の取得時刻の直前又は直後に取得された、及び、前記座標取得時刻が当該第1の座標の取得時刻から所定の時間内に取得された、の少なくとも一つの条件を満たすものを前記第2の座標とすることを特徴とする請求項9に記載の文書検定方法。
【請求項15】
前記文書検定システムは、前記第1及び第2の文書の記載項目レイアウトの情報を含む定義情報にアクセス可能であって、
前記座標を対応付けるステップでは、前記定義情報を参照して、前記第1の座標と前記第2の座標とのペアを作成することを特徴とする請求項9に記載の文書検定方法。
【請求項16】
前記認識精度を検定するステップでは、
前記第1の文字列から認識された文字から文字候補を切り出して、仮説候補ネットワークを生成し、
前記第2の文字列から認識された文字を用いて、前記生成された仮説候補ネットワークのスコアを計算し、
前記計算された仮説候補ネットワークのスコアを所定の閾値と比較することによって、前記第2列の文字の認識精度を検定することを特徴とする請求項9に記載の文書検定方法。
【請求項1】
文書中の座標を取得する座標取得装置と、
二つの文書を照合するサーバと、を備えた文書検定システムであって、
前記サーバは、プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリと、インターフェースとを備え、
前記サーバは、
第1の文書から取得された第1の座標と、第2の文書から取得された第2の座標とを対応付ける座標対応付け部と、
前記第1の文書において前記第1の座標の近傍の第1の文字列、及び、前記第2の文書において前記第2の座標の近傍の第2の文字列を抽出する文字抽出部と、
前記抽出された第1及び第2の文字列から文字を認識する文字認識部と、
前記第1の文字列の認識結果に基づいて、前記第2の文字列の認識精度を検定する検定部とを備えることを特徴とする文書検定システム。
【請求項2】
前記文字抽出部は、
前記第1及び第2の座標から所定の距離の領域内の画素の連結成分を抽出し、
前記抽出された連結成分のうち、所定長を超える長さの連結成分を除去したものを、第1及び第2の文字列として抽出することを特徴とする請求項1に記載の文書検定システム。
【請求項3】
前記文字抽出部が、前記除去された連結成分の角度を測定し、前記測定された角度だけ前記抽出された文字列を回転させた後、前記文字認識部が、前記回転された文字列を認識することを特徴とする請求項1に記載の文書検定システム。
【請求項4】
前記文字抽出部は、複数の前記連結成分が除去された場合、前記除去された連結成分毎に当該連結成分の角度を測定し、前記測定された複数の角度だけ前記抽出された文字列を回転させ、その後、前記文字認識部が、前記複数の角度回転された文字列を認識することを特徴とする請求項3に記載の文字検定システム。
【請求項5】
前記文書検定システムは、前記抽出された文字に対応する単位を特定し、当該単位によって表される数値を変換する単位変換部を備え、
前記文字認識部は、前記変換された数値を認識することを特徴とする請求項1に記載の文書検定システム。
【請求項6】
前記座標取得装置は、前記文書中の座標を、該座標を取得した時刻と共に取得し、
前記座標対応付け部は、前記座標取得時刻が当該第1の座標の取得時刻の直前又は直後に取得された、及び、前記座標取得時刻が当該第1の座標の取得時刻から所定の時間内に取得された、の少なくとも一つの条件を満たすものを前記第2の座標とすることを特徴とする請求項1に記載の文書検定システム。
【請求項7】
前記文書検定システムは、前記第1及び第2の文書の記載項目レイアウトの情報を含む定義情報にアクセス可能であって、
前記座標対応付け部は、前記定義情報を参照して、前記第1の座標と前記第2の座標とのペアを作成することを特徴とする請求項1に記載の文書検定システム。
【請求項8】
前記検定部は、
前記第1の文字列から認識された文字から文字候補を切り出して、仮説候補ネットワークを生成し、
前記第2の文字列から認識された文字を用いて、前記生成された仮説候補ネットワークのスコアを計算し、
前記計算された仮説候補ネットワークのスコアを所定の閾値と比較することによって、前記第2列の文字の認識精度を検定することを特徴とする請求項1に記載の文書検定システム。
【請求項9】
プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリと、文書中の座標を取得する座標取得装置と接続されるインターフェースとを備える文書検定システムにおける文書検定方法であって、
前記プロセッサが、第1の文書から取得された第1の座標と、第2の文書から取得された第2の座標とを対応付けるステップと、
前記プロセッサが、前記第1の文書において前記第1の座標の近傍の第1の文字列、及び、前記第2の文書において前記第2の座標の近傍の第2の文字列を抽出するステップと、
前記プロセッサが、前記抽出された第1及び第2の文字列から文字を認識するステップと、
前記プロセッサが、前記第1の文字列の認識結果に基づいて、前記第2の文字列の認識精度を検定するステップと、を含むことを特徴とする文書検定方法。
【請求項10】
前記文字列を抽出するステップでは、
前記第1及び第2の座標から所定の距離の領域内の画素の連結成分を抽出し、
前記抽出された連結成分のうち、所定長を超える長さの連結成分を除去したものを、第1及び第2の文字列として抽出することを特徴とする請求項9に記載の文書検定方法。
【請求項11】
前記文字列を抽出するステップでは、前記除去された連結成分の角度を測定し、前記測定された角度だけ前記抽出された文字列を回転させ、
その後、前記文字を認識するステップでは、前記回転された文字列を認識することを特徴とする請求項9に記載の文書検定方法。
【請求項12】
前記文字列を抽出するステップでは、複数の前記連結成分が除去された場合、前記除去された連結成分毎に当該連結成分の角度を測定し、前記測定された複数の角度だけ前記抽出された文字列を回転させ、
その後、前記文字を認識するステップでは、前記複数の角度回転された文字列を認識することを特徴とする請求項11に記載の文字検定方法。
【請求項13】
前記方法は、さらに、前記抽出された文字に対応する単位を特定し、当該単位によって表される数値を変換するステップを含み、
前記文字を認識するステップでは、前記変換された数値を認識することを特徴とする請求項9に記載の文書検定方法。
【請求項14】
前記座標取得装置は、前記文書中の座標を、該座標を取得した時刻と共に取得し、
前記座標を対応付るステップでは、前記座標取得時刻が当該第1の座標の取得時刻の直前又は直後に取得された、及び、前記座標取得時刻が当該第1の座標の取得時刻から所定の時間内に取得された、の少なくとも一つの条件を満たすものを前記第2の座標とすることを特徴とする請求項9に記載の文書検定方法。
【請求項15】
前記文書検定システムは、前記第1及び第2の文書の記載項目レイアウトの情報を含む定義情報にアクセス可能であって、
前記座標を対応付けるステップでは、前記定義情報を参照して、前記第1の座標と前記第2の座標とのペアを作成することを特徴とする請求項9に記載の文書検定方法。
【請求項16】
前記認識精度を検定するステップでは、
前記第1の文字列から認識された文字から文字候補を切り出して、仮説候補ネットワークを生成し、
前記第2の文字列から認識された文字を用いて、前記生成された仮説候補ネットワークのスコアを計算し、
前記計算された仮説候補ネットワークのスコアを所定の閾値と比較することによって、前記第2列の文字の認識精度を検定することを特徴とする請求項9に記載の文書検定方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7A】
【図7B】
【図7C】
【図8】
【図9】
【図10A】
【図10B】
【図10C】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7A】
【図7B】
【図7C】
【図8】
【図9】
【図10A】
【図10B】
【図10C】
【図11】
【図12】
【図13】
【公開番号】特開2012−194932(P2012−194932A)
【公開日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願番号】特願2011−59988(P2011−59988)
【出願日】平成23年3月18日(2011.3.18)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願日】平成23年3月18日(2011.3.18)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]