(57)【要約】【課題】複数の記号と同様の記号を、イメージデータの設計図面本図の中から、コンピューターマッチングを行い、効率的に抽出することが可能となる積算業務支援システムを提供する。【解決手段】本発明は、イメージデータよりなる設計図面から、設計図面における電気器具に係る複数の記号パターンの抽出を行うと共に、設計図面における品名を認識する積算業務支援システムであって、所定の矩形状領域で、複数の記号の矩形状ドットパターンを記憶する工程と、複数の記号のそれぞれの矩形状ドットパターンを１ドットずつずらしながら設計図面との比較を行い、相関係数を算出し、それぞれの記号に対する相関係数関数を求める工程と、求められた相関係数関数が所定の閾値を超える記号であり、かつ、近傍に相関係数が所定の閾値を超える記号は存在しない記号を正解として抽出する工程（ステップＳ３０２）と、が実行されることを特徴とする。【選択図】      図９
2020181405.tif 000002
【特許請求の範囲】
【請求項１】
イメージデータよりなる設計図面から、設計図面における電気器具に係る複数の記号パターンの抽出を行うと共に、設計図面における品名を認識する積算業務支援システムであって、
所定の矩形状領域で、複数の記号の矩形状ドットパターンを記憶する工程と、
複数の記号のそれぞれの矩形状ドットパターンを１ドットずつずらしながら設計図面との比較を行い、相関係数を算出し、それぞれの記号に対する相関係数関数を求める工程と、
求められた相関係数関数が所定の閾値を超える記号であり、かつ、近傍に相関係数関数が所定の閾値を超える記号は存在しない記号を正解として抽出する工程と、
が実行されることを特徴とする積算業務支援システム。
【請求項２】
指定範囲において、全ての記号に対する相関係数関数の最大値を与える最大値関数を算出する工程と、
最大値関数における極大値を与える記号を正解として抽出する工程と、が実行されることを特徴とする請求項１に記載の積算業務支援システム。
【請求項３】
設計図面における品名を文字認識技術に基づいてテキストに変換する工程と、
変換されたテキストと、品名の正解テキストとが一致しない場合、変換されたテキストを、編集距離が最も近い正解テキストに修正する工程と、が実行されることを特徴とする請求項１又は請求項２に記載の積算業務支援システム。
【請求項４】
変換されたテキストと、品名の正解テキストとが一致しない場合で、編集距離が最も近い正解テキストが複数存在するとき、
変換されたテキストのうち、類似文字を有するものについては類似文字を代表文字に置換処理する工程と、
正解テキストのうち、類似文字を有するものについては類似文字を代表文字に置換処理する工程と、
置換処理済みの変換されたテキストと、置換処理済みの正解テキストとの間の編集距離を算出する工程と、
編集距離がより短い変換されたテキストを、正解テキストに修正する工程と、が実行されることを特徴とする請求項３に記載の積算業務支援システム。
【請求項５】
イメージデータよりなる設計図面から、設計図面における電気器具に係る複数の記号パターンの抽出を行う処理と共に、設計図面における品名を認識する処理をコンピューターに実行させる積算業務支援プログラムであって、
所定の矩形状領域で、複数の記号の矩形状ドットパターンを記憶する工程と、
複数の記号のそれぞれの矩形状ドットパターンを１ドットずつずらしながら設計図面との比較を行い、相関係数を算出し、それぞれの記号に対する相関係数関数を求める工程と、
求められた相関係数関数が所定の閾値を超える記号であり、かつ、近傍に相関係数関数が所定の閾値を超える記号は存在しない記号を正解として抽出する工程と、
をコンピューターに実行させることを特徴とする積算業務支援プログラム。
【請求項６】
指定範囲において、全ての記号に対する相関係数関数の最大値を与える最大値関数を算出する工程と、
最大値関数における極大値を与える記号を正解として抽出する工程と、をコンピューターに実行させることを特徴とする請求項５に記載の積算業務支援プログラム。
【請求項７】
設計図面における品名を文字認識技術に基づいてテキストに変換する工程と、
変換されたテキストと、品名の正解テキストとが一致しない場合、変換されたテキストを、編集距離が最も近い正解テキストに修正する工程と、をコンピューターに実行させることを特徴とする請求項５又は請求項６に記載の積算業務支援プログラム。
【請求項８】
変換されたテキストと、品名の正解テキストとが一致しない場合で、編集距離が最も近い正解テキストが複数存在するとき、
変換されたテキストのうち、類似文字を有するものについては類似文字を代表文字に置換処理する工程と、
正解テキストのうち、類似文字を有するものについては類似文字を代表文字に置換処理する工程と、
置換処理済みの変換されたテキストと、置換処理済みの正解テキストとの間の編集距離を算出する工程と、
編集距離がより短い変換されたテキストを、正解テキストに修正する工程と、をコンピューターに実行させることを特徴とする請求項７に記載の積算業務支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イメージデータの設計図面から、電気器具等の品名や個数などを自動的に拾い出すことで、積算業務の支援を行う積算業務支援システム及び積算業務支援プログラムに関する。
【背景技術】
【０００２】
従来、積算業務の支援を行うシステムが種々提案されてきた（例えば、特許文献１（特開２００６−１１３９４０号公報）参照。）
【特許文献１】特開２００６−１１３９４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
発明者らは、顧客から提供される建物の設計図面から、電気器具の品名や個数などを抽出し（拾い出し）、これらを積算することで、電気工事費用を算出する業務を行っている。ところで、顧客から提供される前記設計図面は、ＣＡＤデータ等によるものではなく、イメージデータであることが特徴となっている。これは、ＣＡＤデータ等を顧客側から受領してしまうと、万が一誤って改変してしまう可能性も生じてしまうからであり、このようなことを防止するためにイメージデータの設計図面を顧客から受領するようにしている。そこで、従来は、電気工事費用の算出業務においては、イメージデータに基づいて、電気器具の記号や、テキストの拾い出しを行わなければならず、このような拾い出し作業は実質的に人手により行わなければならず、非常に業務効率が悪い、という問題があった。
【０００４】
図１７、図１８を参照して具体的に説明する。図１７、図１８それぞれの（Ａ）は建物の設計図面の一例を示す図である。図１７（Ａ）に関連して図１７（Ｂ）における凡例表には電気器具のシンボルマークとしての記号と、当該記号に対応して名称などが定義されている。設計図面からの積算作業においては、設計図面の本図の中から、記号を抽出することが必要となる。しかしながら、これまで、凡例表中に定義されている複数の記号を、イメージデータの設計図面本図の中で、コンピューターマッチングを行い、効率的に抽出する技術については知られていなかった。（課題１）
さらに、設計図面においては、例えば、図１８（Ａ）に関連して図１８（Ｂ）における姿図が記述されている。このような姿図においては、「品名」などが記述されている。このような「品名」は、姿図や設計図面においてＯＣＲなどの文字認識技術により、テキストデータに変換されるが、この際しばしば変換ミスが発生してしまう。しかしながら、従来このような変換ミスを修正するためには人に頼るしかなく、自動でこれを効率的に修正する技術が求められていた。（課題２）
【課題を解決するための手段】
【０００５】
このような課題を解決するために、本発明に係る積算業務支援システムは、イメージデータよりなる設計図面から、設計図面における電気器具に係る複数の記号パターンの抽出を行うと共に、設計図面における品名を認識する積算業務支援システムであって、所定の矩形状領域で、複数の記号の矩形状ドットパターンを記憶する工程と、複数の記号のそれぞれの矩形状ドットパターンを１ドットずつずらしながら設計図面との比較を行い、相関係数を算出し、それぞれの記号に対する相関係数関数を求める工程と、求められた相関係数関数が所定の閾値を超える記号であり、かつ、近傍に相関係数関数が所定の閾値を超える記号は存在しない記号を正解として抽出する工程と、が実行されることを特徴とする。
【０００６】
また、本発明に係る積算業務支援システムは、指定範囲において、全ての記号に対する相関係数関数の最大値を与える最大値関数を算出する工程と、最大値関数における極大値を与える記号を正解として抽出する工程と、が実行されることを特徴とする。
【０００７】
また、本発明に係る積算業務支援システムは、設計図面における品名を文字認識技術に基づいてテキストに変換する工程と、変換されたテキストと、品名の正解テキストとが一致しない場合、変換されたテキストを、編集距離が最も近い正解テキストに修正する工程と、が実行されることを特徴とする。
【０００８】
また、本発明に係る積算業務支援システムは、変換されたテキストと、品名の正解テキストとが一致しない場合で、編集距離が最も近い正解テキストが複数存在するとき、変換されたテキストのうち、類似文字を有するものについては類似文字を代表文字に置換処理する工程と、正解テキストのうち、類似文字を有するものについては類似文字を代表文字に置換処理する工程と、置換処理済みの変換されたテキストと、置換処理済みの正解テキストとの間の編集距離を算出する工程と、編集距離がより短い変換されたテキストを、正解テキストに修正する工程と、が実行されることを特徴とする。
【０００９】
また、本発明に係る積算業務支援プログラムは、イメージデータよりなる設計図面から、設計図面における電気器具に係る複数の記号パターンの抽出を行う処理と共に、設計図面における品名を認識する処理をコンピューターに実行させる積算業務支援プログラムであって、所定の矩形状領域で、複数の記号の矩形状ドットパターンを記憶する工程と、複数の記号のそれぞれの矩形状ドットパターンを１ドットずつずらしながら設計図面との比較を行い、相関係数を算出し、それぞれの記号に対する相関係数関数を求める工程と、求められた相関係数関数が所定の閾値を超える記号であり、かつ、近傍に相関係数関数が所定の閾値を超える記号は存在しない記号を正解として抽出する工程と、をコンピューターに実行させることを特徴とする。
【００１０】
また、本発明に係る積算業務支援プログラムは、指定範囲において、全ての記号に対する相関係数関数の最大値を与える最大値関数を算出する工程と、最大値関数における極大値を与える記号を正解として抽出する工程と、をコンピューターに実行させることを特徴とする。
【００１１】
また、本発明に係る積算業務支援プログラムは、設計図面における品名を文字認識技術に基づいてテキストに変換する工程と、変換されたテキストと、品名の正解テキストとが一致しない場合、変換されたテキストを、編集距離が最も近い正解テキストに修正する工程と、をコンピューターに実行させることを特徴とする。
【００１２】
また、本発明に係る積算業務支援プログラムは、変換されたテキストと、品名の正解テキストとが一致しない場合で、編集距離が最も近い正解テキストが複数存在するとき、変換されたテキストのうち、類似文字を有するものについては類似文字を代表文字に置換処理する工程と、正解テキストのうち、類似文字を有するものについては類似文字を代表文字に置換処理する工程と、置換処理済みの変換されたテキストと、置換処理済みの正解テキストとの間の編集距離を算出する工程と、編集距離がより短い変換されたテキストを、正解テキストに修正する工程と、をコンピューターに実行させることを特徴とする。
【発明の効果】
【００１３】
本発明に係る積算業務支援システム及び積算業務支援プログラムは、求められた相関係数関数が所定の閾値を超える記号であり、かつ、近傍に相関係数関数が所定の閾値を超える記号は存在しない記号を正解として抽出するので、このような本発明に係る積算業務支援システム及び積算業務支援プログラムによれば、凡例表中に定義されている複数の記号と同様の記号を、イメージデータの設計図面本図の中から、コンピューターマッチングを行い、効率的に抽出することが可能となる。
【００１４】
また、本発明に係る積算業務支援システム及び積算業務支援プログラムは、変換されたテキストと、姿図に記載された品名の正解テキストとが一致しない場合、変換されたテキストを、編集距離が最も近い正解テキストに修正するので、このような本発明に係る積算業務支援システム及び積算業務支援プログラムによれば、文字認識技術により誤変換されたテキストデータを効率的に修正することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態に係る積算業務支援システム１を実行するコンピューターのシステム構成例を示す図である。
【図２】設計図面における（Ａ）凡例表、（Ｂ）姿図の一部を例示する図である。
【図３】説明のための簡略化した３種の記号を示す図である。
【図４】本発明の実施形態に係る積算業務支援システム１における記号抽出処理のフローチャートを示す図である。
【図５】本発明の実施形態に係る積算業務支援システム１における相関係数関数算出・記憶処理サブルーチンのフローチャートを示す図である。
【図６】基準ドットを有するｗ×ｈドットの記号ドットパターンと、スキャン対象範囲であるＷ×Ｈドットの設計図面本図（平面図）を示す図である。
【図７】相関係数の算出の処理を模式的に説明する図である。
【図８】種々の記号に対する相関係数の算出の処理を模式的に説明する図である。
【図９】本発明の実施形態に係る積算業務支援システム１における第１抽出処理サブルーチンのフローチャートを示す図である。
【図１０】図３に示した３種の記号に対する相関係数の値の推移を示す図である。
【図１１】本発明の実施形態に係る積算業務支援システム１における第２抽出処理サブルーチンのフローチャートを示す図である。
【図１２】最大値関数ｃ（ｘ，ｙ）と、最大値関数ｃ（ｘ，ｙ）の極大値を与える記号とを説明する図である。
【図１３】マッチング元パターンとして、向きの異なる記号の自動生成について説明する図である。
【図１４】本発明の実施形態に係る積算業務支援システム１における品名認識処理のフローチャートを示す図である。
【図１５】編集距離が近い正解テキストが複数ある場合を示す図である。
【図１６】代表文字による置換処理と、編集距離算出とによる判定を説明する図である。
【図１７】建物の設計図面の一例を示す図であり、（Ａ）は平面図を、（Ｂ）は凡例表を示している。
【図１８】建物の設計図面の一例を示す図であり、（Ａ）は平面図を、（Ｂ）は姿図を示している。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態を図面を参照しつつ説明する。図１は本発明の実施形態に係る積算業務支援システムのプラグラムを実行させるコンピューターのシステム構成例を示す図である。
【００１７】
図１において、１０はシステムバス、１１はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、１２はＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、１３はＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、１４は外部情報機器との通信を司る通信制御部、１５はキーボードコントローラなどの入力制御部、１６は出力制御部、１７は外部記憶装置制御部、１８はキーボード、ポインティングデバイス、マウスなどの入力機器からなる入力部、１９は印刷装置などの出力部、２０はＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の外部記憶装置、２１はグラフィック制御部、２２はディスプレイ装置をそれぞれ示している。
【００１８】
図１において、ＣＰＵ１１は、ＲＯＭ１３内のプログラム用ＲＯＭ、或いは、大容量の外部記憶装置２０に記憶されたプログラム等に応じて、外部機器と通信することでデータを検索・取得したり、また、図形、イメージ、文字、表等が混在した出力データの処理を実行したり、更に、外部記憶装置２０に格納されているデータベースの管理を実行したり、などといった演算処理を行うものである。
【００１９】
また、ＣＰＵ１１は、システムバス１０に接続される各デバイスを統括的に制御する。ＲＯＭ１３内のプログラム用ＲＯＭあるいは外部記憶装置２０には、ＣＰＵ１１の制御用の基本プログラムであるオペレーティングシステムプログラム（以下ＯＳ）等が記憶されている。また、ＲＯＭ１３あるいは外部記憶装置２０には出力データ処理等を行う際に使用される各種データが記憶されている。メインメモリーであるＲＡＭ１２は、ＣＰＵ１１の主メモリ、ワークエリア等として機能する。
【００２０】
入力制御部１５は、キーボードや不図示のポインティングデバイスからの入力部１８を制御する。また、出力制御部１６は、プリンタなどの出力部１９の出力制御を行う。
【００２１】
外部記憶装置制御部１７は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶するＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）や、或いはソリッドステートドライブ（ＳＳＤ）等の外部記憶装置２０へのアクセスを制御する。本発明の積算業務支援システムを実現するシステムプログラムは、上記のような外部記憶装置２０に記憶されている。また、グラフィック制御部２１は、ディスプレイ装置２２に表示する情報を描画処理するための構成である。
【００２２】
また、通信制御部１４は、ネットワークを介して、外部機器と通信を制御するものであり、これによりシステムが必要とするデータを、インターネットやイントラネット上の外部機器が保有するデータベースから取得したり、外部機器に情報を送信したりすることができるように構成される。
【００２３】
また、外部記憶装置２０には、ＣＰＵ１１の制御プログラムであるオペレーティングシステムプログラム（以下ＯＳ）以外に、本発明の積算業務支援システム１をＣＰＵ１１上で動作させるシステムプログラム、及びこのシステムプログラムで用いるデータなどがインストールされ保存・記憶されている。また、本発明の外部記憶装置２０には、表計算処理を実行するＥｘｃｅｌ（商標）などのスプレッドシートソフトウエアがインストールされ、本発明の積算業務支援システム１と連動可能に動作するようにプログラムされている。
【００２４】
本発明の積算業務支援システム１を実現するシステムプログラムで利用されるデータとしては、基本的には外部記憶装置２０に保存されていることが想定されているが、場合によっては、これらのデータを、通信制御部１４を介してインターネットやイントラネット上の外部機器から取得するように構成することも可能である。また、本発明の積算業務支援システム１を実現するシステムプログラムで利用されるデータを、ＵＳＢメモリやＣＤ、ＤＶＤなどの各種メディアから取得するように構成することもできる。本発明に係る積算業務支援システムは、以上のように構成されるコンピューターでプログラムが実行されることで実現される。
【００２５】
以下、本実施形態では、電気器具の記号、品名や個数などを設計図面から拾い上げて抽出する例に基づいて説明を行う。また、設計図面のイメージデータは、凡例表や、平面図（本図）や姿図とからなり、これら図面や表から電気器具のシンボルマークとしての記号やテキストデータを抽出する例で、以下の説明を行うが、本発明で用い得るデータが、凡例表や、平面図（本図）や姿図とからなる組み合わせに限定されるものでもない。
【００２６】
発明者らは、顧客から提供される建物の設計図面から、電気器具の品名や個数などを抽出し（拾い出し）、これらを積算することで、電気工事費用を算出する業務を行っている。ここで、顧客から提供される前記設計図面は、ＣＡＤデータ等によるものではなく、イメージデータであり、従来の電気工事費用の算出業務においては、イメージデータに基づいた照明器具の拾い出しを行っており、実質的に人手による作業となっていた。
【００２７】
そこで、本発明に係る積算業務支援システム１においては、顧客から提供される設計図面のイメージデータから、電気工事費用の積算に必要な電気器具の記号や、テキストトデータを抽出しようとするものである。
【００２８】
図２は設計図面における（Ａ）凡例表、（Ｂ）姿図の一部を例示する図である。図２（Ａ）の凡例表においては、電気器具のシンボルマークとしての「記号」と、当該記号に対応して「名称」が定義されている。設計図面からの積算作業においては、設計図面の本図の中から、このような記号を抽出することが必要となる。しかしながら、これまで、凡例表中に定義されている複数の記号を、イメージデータの設計図面本図の中で、コンピューターマッチングを行い、効率的に抽出する技術については知られていなかった。（課題１）
また、図２（Ｂ）の姿図においては、「品名」などが記述されている。このような姿図や設計図面中からは、ＯＣＲなどの文字認識技術により、テキストデータに変換されるが、この際しばしば変換ミスが発生してしまう。しかしながら、従来このような変換ミスを修正するためには人に頼るしかなく、自動でこれを効率的に修正する技術が求められていた。（課題２）
なお、姿図においては、斜視図が含まれることに図面としての特徴を有するものであるが、本発明においては姿図における品名のテキストデータに着目しているところ、図２（Ｂ）では斜視図等を省略している。
【００２９】
以下、これらの課題１及び課題２を、本発明に係る積算業務支援システム１及び積算業務支援プログラムによって解決する具体的な方法について説明する。
【００３０】
まず、「記号」を、設計図面の本図からマッチング処理によって抽出する技術について説明する。図３は説明のための簡略化した３種の記号を示す図である。このような記号は、コンピューターにおけるドット単位の座標でみて水平方向にｗドット、垂直方向にｈドットのマトリクスを有するものとする。なお、設計図面の本図においてマッチング対象となる記号も、同様に水平方向にｗドット、垂直方向にｈドットのマトリクスを有している。また、図３に示す記号、設計図面の本図中の記号は２値で構成されている。
【００３１】
水平方向のｗドット、垂直方向のｈドットの左上隅にのドットを基準ドットとして定義する。図３に示すような記号のドットパターンを、設計図面の本図でマッチング処理を行い抽出する際には、この基準ドットと共に記号のドットパターンを１ドットずつ移動させつつ、本図中のドットパターンとの相関係数をとっていく。そして、相関係数が所定の閾値より高い箇所には、記号が存在するものとして扱うようにする。これにより、本図中から記号を抽出することが可能となる。
【００３２】
ただし、設計図面の本図においては、電気器具の記号のパターンに、建築図の線などが重なっていたり、或いは、そもそも電気器具の記号同士に類似しているものが存在していたりして、判定が困難となる状況があるので、これに対応するために、本発明においては最大値関数という概念を導入して、このような最大値関数に極大値を与えるような記号を抽出するところに本発明の大きな特徴点がある。
【００３３】
さて、以上を踏まえて、次に設計図面の本図から記号を抽出する際のアルゴリズムの一例を説明する。図４は本発明の実施形態に係る積算業務支援システム１における記号抽出処理のフローチャートを示す図である。
【００３４】
図４において、ステップＳ１００で記号抽出処理が開始されると、続いて、ステップＳ１０１に進み、相関係数関数算出・記憶処理のサブルーチンが実行される。このようなサブルーチンについて図５を参照して説明する。なお、このようなサブルーチンは、抽出しようとする全ての記号（本例では図３の（Ａ）乃至（Ｃ）の３種類の記号）について実行される。
【００３５】
図５で、ステップＳ２００で、相関係数関数算出・記憶処理サブルーチンが開始されると、ステップＳ２０１に進み、対象とする記号の基準ドットパターンの座標を初期座標に設定する。このような初期座標としては、設計図面の本図の、例えば左上隅のドット座標が選択される。初期座標から、最終座標まで１ドットずつ隙間なくスキャンすることができればどのような座標をとっても構わない。
【００３６】
図６は左上隅に基準ドットを有するｗ×ｈドットの記号ドットパターンと、スキャン対象範囲であるＷ×Ｈドットの設計図面本図（平面図）を示す図である。図６において、水平右方向にｘ座標を、垂直下方向にｙ座標を定義する。基本的に、ｗ×ｈドットの記号ドットパターンは、初期座標（１，１）から順次ｘ座標方向に、設計図面本図（平面図）をスキャンしつつ相関係数を算出していく。右端部（Ｗ―ｗ,１）にまで到達すると、次にｙ座標を＋１とし（１，２）から順次ｘ座標方向に、設計図面本図（平面図）をスキャンしつつ相関係数を算出していく。以下同様に、このような工程を繰り返して、記号ドットパターンにより設計図面本図（平面図）をスキャンしつつ相関係数を求めていく。
【００３７】
ステップＳ２０２では、記号のドットパターンと、このドットパターンと重なっている本図のドットパターンとの間の相関係数を算出して記憶する。
【００３８】
ステップＳ２０３では、設計図面の全ての領域（スキャン対象範囲）について相関係数が算出・記憶された否かが判定される。（すなわち、（Ｗ−ｗ，Ｈ−ｈ）まで基準ドットが到達したか否かが判定される。）当該判定がＮＯであれば、ステップＳ２０４に進み、基準ドットパターンの座標を１ドット分ずらして、再びステップＳ２０２を実行する。一方、当該判定がＹＥＳであると、ステップＳ２０５に進み、元のルーチンにリターンする。
【００３９】
図７は相関係数の算出の処理を模式的に説明する図である。図７において、斜線の記号は設計図面の本図中の記号を示している。また、ｘ座標を水平方向に右側に進むに連れて座標値が増大する座標として定義し、ｙ座標を垂直方向に下側に進むに連れて座標値が増大する座標として定義している。
【００４０】
また、Ｒ1を図３（Ａ）に示す記号のドットパターンと本図のドットパターンとの間の相関係数と定義し、Ｒ2を図３（Ｂ）に示す記号のドットパターンと本図のドットパターンとの間の相関係数と定義し、Ｒ3を図３（Ｃ）に示す記号のドットパターンと本図のドットパターンとの間の相関係数と定義する。
【００４１】
図７においては、（Ａ）→（Ｂ）→（Ｃ）→（Ｄ）の順で、相関係数算出・記憶処理サブルーチンにおけるステップが進んでいる様子を示している。図７から分かるように、記号のドットパターンと本図のドットパターンと重なり具合によって、それらの間の相関係数の値が変化する。なお、相関係数の最大値は１である。例えば、図７（Ａ）→（Ｂ）→（Ｃ）→（Ｄ）の順で、相関係数Ｒ1は０、０．１６、０．９８、０．３０のように推移する。
【００４２】
また、図８は、図３の（Ａ）乃至（Ｃ）の３種類の記号に対する相関係数の算出の処理を模式的に説明する図である。本実施形態においては、相関係数算出・記憶処理のサブルーチンで、図３の（Ａ）乃至（Ｃ）の３種類の記号の全てについて、図８に示すような形でそれぞれ相関係数が求められていく。
【００４３】
ステップＳ２０５においては、上記のように算出した相関係数に基づいて記号ごとの相関係数関数Ｒn（ｘ，ｙ）を求め（本例では、ｎ＝１，２，３）ておき、これを記憶部に記憶する。ステップＳ２０６で元のルーチンにリターンする。
【００４４】
さて、以上のように相関係数関数算出・記憶処理のサブルーチンが実行され、図４に示す元のルーチンに戻りステップＳ１０２に進むと、続いて、図９に示す第１抽出処理サブルーチンが実行される。
【００４５】
ステップＳ３００で第１抽出処理のサブルーチンが開始されると、続いて、ステップＳ３０１に進み、図５のサブルーチンで算出された相関係数関数を取得する。
【００４６】
続く、ステップＳ３０２では、算出された相関係数関数が所定の閾値を超える記号であり（条件１とする）、かつ、近傍に相関係数関数が所定の閾値を超える記号は存在しない（条件２とする）かが判定される。
【００４７】
図１０は、図３に示した３種の記号のドットパターンと、図８の本図ドットパターンとの相関係数の値の推移を示す図である。図１０において、横軸はｘ座標を示しており、縦軸はそれぞれの相関係数Ｒの値を示している。ここで、Ｒthが先の所定の閾値であるものとする。上記の条件１に該当する記号は、図１０に示す図において、閾値Ｒthを超えた記号であり、本例では図３（Ａ）に示す「△」が該当する。
【００４８】
次に条件２について検討する。２つの記号同士の矩形状のドットパターンが重なっていなければ、それぞれの記号を独立的に相関係数の値を比較することができる。一方、２つの記号同士の矩形状のドットパターン（ｗ×ｈのパターン）が重なってしまう場合（この場合を２つの記号同士が「近傍」にあると称する）には、両方が閾値Ｒthを超えてしまうようなことがあり得る。この場合には、精度の高いマッチングができなくなってしまうので、本発明においては、条件２を条件１とのアンド条件とすることで、誤判定を避けるようにしている。
【００４９】
さて、上記の条件１、かつ、条件２を満たしステップＳ３０２における判定がＹＥＳであると、ステップＳ３０３に進み、着目している当該記号についてはマッチングした正解として抽出を行う。
【００５０】
一方、先のステップＳ３０２における判定がＮＯであると、ステップＳ３０３に進み、着目している当該記号については、とりあえず未確定の記号として処理を行う。
【００５１】
ステップＳ３０５に進むと元のルーチンにリターンして、図４のフローチャートに戻る。図４のフローチャートにおいて、ステップＳ１０３では、対象となっている本図のドットパターンにおいて、未確定の記号が存在するか否かが判定される。
【００５２】
ここで、未確定の記号が存在せず、ステップＳ１０３の判定がＮＯであれば、ステップＳ１０５に進み、記号抽出処理は終了となる。
【００５３】
一方、未確定の記号が存在し、ステップＳ１０３の判定がＹＥＳとなると、続いてステップＳ１０４に進み、第２抽出処理サブルーチンが実行される。この第２抽出処理サブルーチンを、図１１を参照して説明する。
【００５４】
図１１において第２抽出処理サブルーチンが開始されると、ステップＳ４０１に進み、最大値関数の算出が実行される。ここで、図１２を参照して最大値関数ｃ（ｘ，ｙ）についての説明を行う。図１２は最大値関数ｃ（ｘ，ｙ）と、最大値関数ｃ（ｘ，ｙ）の極大値を与える記号とを説明する図である。なお、図１２においては（ｘ，ｙ）を１次元的に簡略的に図示している。
【００５５】
最大値関数ｃ（ｘ，ｙ）は、指定範囲において、全ての記号に対する相関係数関数の最大値を与えるもとして定義する。ここで、指定範囲は（ｘ，ｙ）を基準として、―εの範囲から＋εの範囲とする。また、εは、０＜ε／ｗ＜１、かつ０＜ε／ｈ＜１の値を満たす正の整数である。
【００５６】
このような最大値関数ｃ（ｘ，ｙ）は、記憶されている各記号の相関係数関数より求めることができる。
【００５７】
さて、上記のようにステップＳ４０１で最大値関数ｃ（ｘ，ｙ）を算出した後には、続いて、ステップＳ４０２に進み、未確定記号のうち、最大値関数ｃ（ｘ，ｙ）に対して極大値を与えるものがあるか否かを判定する。
【００５８】
ステップＳ４０２における判定がＹＥＳであるとき、ステップＳ４０４に進み、極大値を与える当該記号を正解として抽出する。
【００５９】
一方、ステップＳ４０２における判定がＮＯであるとき、ステップＳ４０４に進み、正解の抽出に失敗したエラーとして処理する。
【００６０】
ステップＳ４０５では、リターンして元のフローチャートに戻る。また、元のフローチャートにおいても、ステップＳ１０５に進み処理を終了する。
【００６１】
以上のように、本発明に係る積算業務支援システム１及び積算業務支援プログラムは、算出された相関係数関数が所定の閾値を超える記号であり、かつ、近傍に相関係数関数が所定の閾値を超える記号は存在しない記号を正解として抽出するので、このような本発明に係る積算業務支援システム１及び積算業務支援プログラムによれば、凡例表中に定義されている複数の記号と同様の記号を、イメージデータの設計図面本図の中から、コンピューターマッチングを行い、効率的に抽出することが可能となる。
【００６２】
また、本発明に係る積算業務支援システム１及び積算業務支援プログラムでは、相関係数関数のみでは、的確な抽出を行い得ないときには、最大値関数ｃ（ｘ，ｙ）に基づいて記号の抽出処理を行うので、より確度の高い抽出処理を行うことができる。
【００６３】
なお、図３（Ａ）（図１３（Ａ）に同じ）の記号「△」は、当該記号に加え、９０°右に回転させた図１３（Ｂ）に示す記号、及び、それをさらに９０°右に回転させた図１３（Ｃ）に示す記号、及び、それをさらに９０°右に回転させた図１３（Ｄ）に示す記号の全てのパターンを、マッチングさせる元の記号としておくことが好ましい。設計図面の本図のイメージデータでは、先の記号「△」が、どのような向きで配置されているか分からないからである。図１３（Ａ）のパターンから、図１３（Ｂ）乃至（Ｄ）までのマッチングパターンを自動で生成するようにしておくと利便性が高い。
【００６４】
次に、課題２を本発明に係る積算業務支援システム１及び積算業務支援プログラムによって解決する具体的な方法について説明する。なお、課題２は、従来の文字認識技術による変換ミスを、自動的・効率的に修正する技術が確立されていない、というものであった。
【００６５】
以下、図２（Ｂ）に類する姿図における「品名」を読み取る例に基づいて説明を行う。また、図２（Ｂ）における品名「ＡｄＯＩ（エー  ディー  オー  アイ）」、「ＡｃＯｘ（エー  シー  オー  エックス）」、「ＡｅＯｙ（エー  イー  オー  ワイ）」については正解のテキストデータであるものとして説明すると共に、このような正解テキストデータについてはシステムやプログラム側に予め記憶させてあることを前提に説明する。
【００６６】
図１４は本発明の実施形態に係る積算業務支援システム１における品名認識処理のフローチャートを示す図である。なお、本例ではアルゴリズムを「品名認識処理」と称しているが、本発明では認識処理を行い得る対象は姿図の品名に限定されるものではない。
【００６７】
図１４において、ステップＳ５００で、品名認識処理のフローチャートが開始されると、続いて、ステップＳ５０１に進み、対象となる姿図の品名の欄を文字認識技術に基づいてテキストに変換する。なお、読み取る姿図の具体例についてはここでは特に示さない。また、読み取ったデータをテキストデータに変換する文字認識技術は従来周知のものを適宜利用することができる。
【００６８】
続く、ステップＳ５０２では、ステップＳ５０１で変換されたテキストと、正解テキスト（図２（Ｂ）の一覧）とを比較する。
【００６９】
ステップＳ５０３では、正解テキストの一覧の中に一致するものが存在するか否かが判定される。ステップＳ５０３における判定がＹＥＳである場合には、ステップＳ５０７に進み、変換されたテキストを、修正することなくそのまま正解として、ステップＳ５１３に進み、品名認識処理を終了する。
【００７０】
一方、ステップＳ５０３における判定がＮＯである場合には、ステップＳ５０４に進み、変換されたテキストと、正解テキストとの間の編集距離を算出する。
【００７１】
ここで、ある文字列を別の文字列に変換する際、１文字の挿入・削除・置換のいずれかの処理を１回としてカウントするとき、編集距離は、ある文字列を別の文字列に変換するまでに何回の当該処理で変換を行えるかの（最小の）回数として定義することができる。このような編集距離が短い方が、二つの文字列がより近いことを示す。
【００７２】
続く、ステップＳ５０５では、編集距離が最も近い正解テキストが１つのみあるか否かが判定される。ステップＳ５０５における判定がＹＥＳであるときには、ステップＳ５０６に進み、文字認識により変換されたテキストは、正解テキストに修正する。すなわち、本ステップで自動修正を行ってしまう。
【００７３】
一方、ステップＳ５０５における判定がＮＯであるとき、すなわち、編集距離が近い正解テキストが複数ある場合については、続いてステップＳ５０８に進む。
【００７４】
図１５は編集距離が近い正解テキストが複数ある場合を示す図である。ステップＳ５０５では、「ＡｄＯＩ（エー  ディー  オー  アイ）」、「ＡｃＯｘ（エー  シー  オー  エックス）」、「ＡｅＯｙ（エー  イー  オー  ワイ）」の正解テキストに対する、読み取りにより得られた変換されたテキストである「ＡＢＯｌ（エー  ビィー  オー  エル）」の編集距離が検討される。変換されたテキストの文字列「ＡＢＯｌ」から、正解テキストの文字列（「ＡｄＯＩ」、「ＡｃＯｘ」、「ＡｅＯｙ」）までの編集距離はいずれも２である。
【００７５】
図１５に示すような場合には、ステップＳ５０８では、類似文字を代表文字に置換する。ここでは、仮に０（ゼロ）がＯ（オー）の代表文字であり、１（イチ）がＩ（アイ）、ｌ（エル）の代表文字であるものと予め定義されていると仮定する。図１５の例では、変換されたテキストの文字列「ＡＢＯｌ」は図１６に示すようにステップＳ５０８の処理で、「ＡＢ０１（エー  ビィー  ゼロ  イチ）」へと置換処理される。
【００７６】
ステップＳ５０８では、正解テキストについても、類似文字を代表文字に置換する処理が実行される。正解テキスト「ＡｄＯＩ」、「ＡｃＯｘ」、「ＡｅＯｙ」は、本ステップの置換処理によってそれぞれ「Ａｄ０１（エー  ディー  ゼロ  イチ）」、「Ａｃ０ｘ（エー  シー  ゼロ  エックス）」、「Ａｅ０ｙ（エー  イー  ゼロ  ワイ）」とされる。
【００７７】
続いて、ステップＳ５０９に進み、置換処理された変換テキスト（「ＡＢ０１」）と、置換処理された正解テキスト（「Ａｄ０１」、「Ａｃ０ｘ」、「Ａｅ０ｙ」）との間の編集距離を算出する。図１６に示すように、置換された変換テキスト「ＡＢ０１」から置換された正解テキスト「Ａｃ０ｘ」、「Ａｅ０ｙ」までの編集距離は２である。一方、置換された変換テキスト「ＡＢ０１」から置換された正解テキスト「Ａｄ０１」までの編集距離は１である。（後者が、ステップＳ５１０における１つのみの組み合わせとなる）
続く、ステップＳ５１０においては、編集距離がより短い組み合わせが１つのみあるか否かが判定される。当該判定結果がＮＯであれば、いずれが正解であるかを決定することができないものとして、ステップＳ５１２に進み、エラーの処理がなされる。
【００７８】
一方、ステップＳ５１０の判定結果がＹＥＳであるときには、ステップＳ５１１に進み、変換されたテキストを、正解テキストに修正する、所謂自動修正を行う。図１６は、ステップＳ５１０に進む例を示している。本ステップによれば、変換されたテキストの文字列「ＡＢＯｌ」は、自動修正により正解テキスト「ＡｄＯＩ」に修正される。
【００７９】
ステップＳ５１３では、品名認識処理を終了する。これまで説明したように、編集距離による処理と、さらに必要に応じて、代表文字への置換処理の双方を利用することで、文字認識によって誤変換されたテキストを、自動修正できる確率を高めることが可能となる。
【００８０】
以上のように、本発明に係る積算業務支援システム１及び積算業務支援プログラムは、変換されたテキストと、姿図に記載された品名の正解テキストとが一致しない場合、変換されたテキストを、編集距離が最も近い正解テキストに修正するので、このような本発明に係る積算業務支援システム１及び積算業務支援プログラムによれば、文字認識技術により誤変換されたテキストデータを効率的に修正することが可能となる。
【符号の説明】
【００８１】
１・・・積算業務支援システム
１０・・・システムバス
１１・・・ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）
１２・・・ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）
１３・・・ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）
１４・・・通信制御部
１５・・・入力制御部
１６・・・出力制御部
１７・・・外部記憶装置制御部
１８・・・入力部
１９・・・出力部
２０・・・外部記憶装置
２１・・・グラフィック制御部
２２・・・ディスプレイ装置
【図１】
2020181405.tif 000003
【図２】
2020181405.tif 000004
【図３】
2020181405.tif 000005
【図４】
2020181405.tif 000006
【図５】
2020181405.tif 000007
【図６】
2020181405.tif 000008
【図７】
2020181405.tif 000009
【図８】
2020181405.tif 000010
【図９】
2020181405.tif 000011
【図１０】
2020181405.tif 000012
【図１１】
2020181405.tif 000013
【図１２】
2020181405.tif 000014
【図１３】
2020181405.tif 000015
【図１４】
2020181405.tif 000016
【図１５】
2020181405.tif 000017
【図１６】
2020181405.tif 000018
【図１７】
2020181405.tif 000019
【図１８】
2020181405.tif 000020