(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-12
(45)【発行日】2024-11-20
(54)【発明の名称】モデル生成装置およびモデル生成方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20241113BHJP
G06F 16/58 20190101ALI20241113BHJP
【FI】
G06N20/00
G06F16/58
(21)【出願番号】P 2020153966
(22)【出願日】2020-09-14
【審査請求日】2023-07-21
(73)【特許権者】
【識別番号】000003942
【氏名又は名称】日新電機株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】森本 充
(72)【発明者】
【氏名】竹原 輝巳
【審査官】山本 俊介
(56)【参考文献】
【文献】特開2010-191556(JP,A)
【文献】特開2020-091769(JP,A)
【文献】特開平04-299442(JP,A)
【文献】森本 充ほか,AI技術を活用した図面検索ツールの構築,日新電機技報,日新電機株式会社,2019年10月25日,第64巻 第2号,pp.41-44
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 16/58
(57)【特許請求の範囲】
【請求項1】
複数の検索対象図面からターゲット図面に対応する少なくとも1つの図面を検索するための学習モデルを生成するモデル生成装置であって、
上記複数の検索対象図面を解析することにより、当該複数の検索対象図面のそれぞれの記載内容に関連した検索対象図面内容パラメータを取得する、検索対象図面内容パラメータ取得部と、
上記複数の検索対象図面のそれぞれの上記検索対象図面内容パラメータに基づき、上記複数の検索対象図面に含まれる任意の2つの異なる検索対象図面間の記載内容の相違度を算出する相違度算出部と、
上記相違度に応じて、上記複数の検索対象図面の内から、学習対象外図面を決定する決定部と、
上記学習対象外図面を除いた上記複数の検索対象図面のそれぞれの上記検索対象図面内容パラメータに基づき、上記学習モデルを生成する学習部と、を備えて
おり、
上記決定部は、
上記相違度が閾値以下である上記複数の検索対象図面の組によって構成される集合を決定し、
上記集合に属する上記複数の検索対象図面の内から、上記学習対象外図面を決定し、
上記決定部は、(i)上記集合に属する上記複数の検索対象図面のそれぞれと、(ii)上記集合に属しないある1つの検索対象図面と、の相違度の最大値を、上記集合と上記ある1つの検索対象図面との相違度として設定する、モデル生成装置。
【請求項2】
上記検索対象図面内容パラメータには、検索対象図面第1内容パラメータから検索対象図面第L内容パラメータまでのL個のパラメータが含まれており、
上記2つの異なる検索対象図面の一方を図面I、他方を図面Jと称し、
上記相違度算出部は、上記検索対象図面内容パラメータの分布を示すL次元データ空間における、図面Iに対応する点と図面Jに対応する点との距離を、図面Iと図面Jとの相違度として算出する、請求項
1に記載のモデル生成装置。
【請求項3】
複数の検索対象図面からターゲット図面に対応する少なくとも1つの図面を検索するための学習モデルを生成するモデル生成方法であって、
上記複数の検索対象図面を解析することにより、当該複数の検索対象図面のそれぞれの記載内容に関連した検索対象図面内容パラメータを取得する、検索対象図面内容パラメータ取得工程と、
上記複数の検索対象図面のそれぞれの上記検索対象図面内容パラメータに基づき、上記複数の検索対象図面に含まれる任意の2つの異なる検索対象図面間の記載内容の相違度を算出する相違度算出工程と、
上記相違度に応じて、上記複数の検索対象図面の内から、学習対象外図面を決定する決定工程と、
上記学習対象外図面を除いた上記複数の検索対象図面のそれぞれの上記検索対象図面内容パラメータに基づき、上記学習モデルを生成する学習工程と、を含んで
おり、
上記決定工程では、
上記相違度が閾値以下である上記複数の検索対象図面の組によって構成される集合を決定し、
上記集合に属する上記複数の検索対象図面の内から、上記学習対象外図面を決定し、
上記決定工程では、(i)上記集合に属する上記複数の検索対象図面のそれぞれと、(ii)上記集合に属しないある1つの検索対象図面と、の相違度の最大値を、上記集合と上記ある1つの検索対象図面との相違度として設定する、モデル生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の一態様は、モデル生成装置に関する。
【背景技術】
【0002】
例えば、プラントエンジニアリング分野では、大量の図面(例:過去図面)の取り扱いが必要となる。このため、大量の図面から、所望の図面を効率的に検索するための技術が要求されている。
【0003】
一例として、特許文献1には、図面検索システム(図面管理システム)のユーザインターフェースに関する技術が開示されている。特許文献1の図面検索システムは、ユーザによる機器名および図面の種別名のそれぞれの選択操作を受け付け、当該選択操作に応じた図面群を検索する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1の図面検索システムによれば、ユーザに検索ワードの入力を行わせることなく、上記選択操作に応じた検索結果(図面群)を提示できる。しかしながら、後述するように、特許文献1の図面検索システムでは、ターゲット図面に対応する所望の図面(例:ターゲット図面との関連性が高いと考えられる特定の図面)を、検索結果から迅速に発見することは、ユーザにとって必ずしも容易ではない。
【0006】
このように、従来の図面検索技術では、ユーザの利便性を高めるための工夫について、なお改善の余地がある。本発明の一態様は、図面検索におけるユーザの利便性を従来よりも高めることを目的とする。
【課題を解決するための手段】
【0007】
上記の課題を解決するために、本発明の一態様に係るモデル生成装置は、複数の検索対象図面からターゲット図面に対応する少なくとも1つの図面を検索するための学習モデルを生成するモデル生成装置であって、上記複数の検索対象図面を解析することにより、当該複数の検索対象図面のそれぞれの記載内容に関連した検索対象図面内容パラメータを取得する、検索対象図面内容パラメータ取得部と、上記複数の検索対象図面のそれぞれの上記検索対象図面内容パラメータに基づき、上記複数の検索対象図面に含まれる任意の2つの異なる検索対象図面間の記載内容の相違度を算出する相違度算出部と、上記相違度に応じて、上記複数の検索対象図面の内から、学習対象外図面を決定する決定部と、上記学習対象外図面を除いた上記複数の検索対象図面のそれぞれの上記検索対象図面内容パラメータに基づき、上記学習モデルを生成する学習部と、を備えている。
【0008】
また、上記の課題を解決するために、本発明の一態様に係るモデル生成方法は、複数の検索対象図面からターゲット図面に対応する少なくとも1つの図面を検索するための学習モデルを生成するモデル生成方法であって、上記複数の検索対象図面を解析することにより、当該複数の検索対象図面のそれぞれの記載内容に関連した検索対象図面内容パラメータを取得する、検索対象図面内容パラメータ取得工程と、上記複数の検索対象図面のそれぞれの上記検索対象図面内容パラメータに基づき、上記複数の検索対象図面に含まれる任意の2つの異なる検索対象図面間の記載内容の相違度を算出する相違度算出工程と、上記相違度に応じて、上記複数の検索対象図面の内から、学習対象外図面を決定する決定工程と、上記学習対象外図面を除いた上記複数の検索対象図面のそれぞれの上記検索対象図面内容パラメータに基づき、上記学習モデルを生成する学習工程と、を含んでいる。
【発明の効果】
【0009】
本発明の一態様によれば、図面検索におけるユーザの利便性を従来よりも高めることができる。
【図面の簡単な説明】
【0010】
【
図1】参考形態の情報処理システムの要部の構成を示すブロック図である。
【
図2】参考形態における第1テーブルの一例を示す図である。
【
図3】過去図面に対する特定文字列抽出処理の一例を示す図である。
【
図4】参考形態における第2テーブルの一例を示す図である。
【
図5】参考形態における第3テーブルの一例を示す図である。
【
図6】新規図面に対する特定文字列抽出処理の一例を示す図である。
【
図7】参考形態における関連性スコアの導出例について説明する図である。
【
図8】参考形態における図面検索結果の一例を示す図である。
【
図9】実施形態1における情報処理システムの要部の構成を示すブロック図である。
【
図10】実施形態1における相違度について説明する図である。
【
図11】実施形態1における相違度テーブルの一例を示す図である。
【
図12】実施形態1における類似集合決定部の処理の一例を示す図である。
【
図13】実施形態1において得られた集合の階層構造を表すデンドログラムの一例を示す図である。
【
図14】実施形態1における学習対象外図面決定部の処理の一例を示す図である。
【
図15】実施形態1における編集後第2テーブルの一例を示す図である。
【発明を実施するための形態】
【0011】
〔参考形態〕
実施形態1の情報処理システム100の説明に先立ち、参考形態としての情報処理システム100sについて述べる。説明の便宜上、参考形態にて説明した部材と同じ機能を有する部材については、以降の各実施形態では、同じ符号を付記し、その説明を繰り返さない。また、簡潔化のため、公知技術と同様の事項についても、説明を適宜省略する。
【0012】
本明細書において以下に述べる各数値は、単なる一例であることに留意されたい。本明細書では、2つの数AおよびBについての「A~B」という記載は、特に明示されない限り、「A以上かつB以下」を意味するものとする。
【0013】
(情報処理システム100sの概要)
図1は、情報処理システム100sの要部の構成を示すブロック図である。情報処理システム100sは、情報処理装置1s、過去物件図面DB(Database)91、および新規物件図面DB92を備える。
【0014】
情報処理装置1sは、制御装置10s、入力部71、表示部72、および記憶部80を備える。制御装置10sは、学習装置11sおよび図面検索装置12を備える。本明細書の「物件」とは、例えば、プラントエンジニアリングにおける「サイト」を意味する。
【0015】
情報処理装置1sは、過去物件図面DB91および新規物件図面DB92と通信可能に接続されていればよい。このため、
図1の例とは異なり、情報処理装置1sの内部に、過去物件図面DB91および新規物件図面DB92の少なくとも一方が設けられていてもよい。
【0016】
情報処理装置1s(より具体的には、制御装置10s)による検索対象となる図面(検索対象図面)には、例えば、仕様図面、設計図面、および製作図面が含まれる。また、検索対象図面には、仕様書、設計書、および、見積書が含まれていてもよい。このように、検索対象図面は、「図面」という名称が含まれている書面に限定されない。一例として、検索対象図面には、プラントエンジニアリング分野におけるプロジェクトの計画に関する任意の種類の書面が含まれる。
【0017】
制御装置10sは、情報処理装置1sの各部を統括的に制御する。記憶部80は、制御装置10sの処理に用いられる各種のデータおよびプログラムを格納する。以下に述べるように、制御装置10sは、機械学習を利用して、複数の検索対象図面(例:過去図面a1~MN)から、ターゲット図面(例:図面ND)に対応する少なくとも1つの図面を検索する。
【0018】
入力部71は、ユーザの操作(ユーザ操作)を受け付ける。表示部72は、各種のデータを表示する。一例として、表示部72には、制御装置10sによる検索結果を示すデータが表示されてよい。なお、入力部71と表示部72とは、一体として設けられてもよい。例えば、タッチパネルを用いることにより、入力部71と表示部72とを一体化できる。
【0019】
(過去物件図面DB91)
過去物件図面DB91には、過去の各物件(既設の各物件)に関する各図面(厳密には、図面データ)が格納されている。以下の説明では、「図面A(ある図面)の図面データ」を、単に「図面A」と適宜略称する。また、「図面Aの図面番号」を、単に「図面A」と適宜略称する。
【0020】
参考形態では、過去物件図面DB91には、複数のM個の異なる物件のそれぞれについての各図面が格納されている。Mは、1以上の整数である。以下、j番目の物件を、「物件j」とも称する。jは、1以上かつM以下の整数である。
【0021】
また、過去物件図面DB91には、物件1~Mのそれぞれについて、N個(N種類)の異なる図面が格納されている。Nは、1以上の整数である。以下、物件jにおけるi番目の図面を、「図面(i,j)」とも称する。また、各物件におけるi番目(i種類目)の図面を、総称的に図面iとも称する。iは、1以上かつN以下の整数である。
【0022】
以上のように、過去物件図面DB91には、合計でT個の図面が格納されている。参考形態の例では、T=M×Nである。Tは、2以上の整数であるものとする。つまり、MおよびNの少なくとも1つは、1以上であるものとする。
【0023】
具体的には、過去物件図面DB91では、
図2に示す第1テーブルTB1の形態で、各種類の図面番号が物件番号毎にリスト化されている。以下、第1テーブルTB1を、「TB1」とも略記する。その他の要素についても、適宜同様に略記する。TB1は、「物件別ソート済の過去物件・図面対応テーブル」とも称される。TB1のi行j列目のセルは、図面(i,j)の図面番号を示す。
【0024】
図2の例では、便宜上、物件1~3をそれぞれ、物件A~Cとも表記する。
図2の例では、1種類目の図面(図面1)は外形図であり、2種類目の図面(図面2)は組立図であり、3種類目の図面(図面3)は基礎図である。また、N種類目の図面(図面N)は構成図である。
【0025】
以下では、簡単のため、
図2の例における図面(1,1)~(N,1)(すなわち、物件AにおけるN種類のそれぞれの図面)を、図面a1~aNとも表記する。例えば、
図2の例における図面a1~aNはそれぞれ、物件Aの外形図~構成図を指す。その他の物件における各図面についても、同様に表記する。
【0026】
以上のように、過去物件図面DB91には、図面a1から図面MNまでの、合計T個の図面が格納されている。以下、図面a1~MNを総称的に、過去図面とも称する。過去図面は、検索対象図面の一例である。このため、図面a1~MNは、検索対象図面群とも称される。
【0027】
また、本明細書では、複数の過去図面(検索対象図面)のうちの任意の1つの図面を、候補図面とも称する。一例として、図面a1(物件Aの外形図)を候補図面とした場合の、各処理について主に例示する。その他の図面に対する処理については、適宜説明を省略するが、図面a1の場合と同様である。
【0028】
(学習装置11s)
学習装置11sは、過去図面データ取得部111、過去図面データ前処理部112(候補図面内容パラメータ取得部,検索対象図面内容パラメータ取得部)、および学習モデル生成部113sを備える。学習装置11sは、図面a1~MNに基づき、図面検索装置12による図面検索のための学習モデルを生成する。このことから、学習装置11sは、モデル生成装置と称されてもよい。以下、学習装置11sの処理の流れの一例について述べる。
【0029】
(候補図面の取得)
過去物件図面DB91では、TB1sに従って、図面a1~MNが、図面種類別に予めソートされている。従って、例えば、過去図面データ取得部111は、「図面a1→b1→…→M1」の順に、各外形図を過去物件図面DB91から取得する。続いて、過去図面データ取得部111は、「図面a2→b2→…→M2」の順に、各組立図を過去物件図面DB91から取得する。そして、最終的には、過去図面データ取得部111は、「図面aN→bN→…→MN」の順に、各構成図を過去物件図面DB91から取得する。
【0030】
上記の例の場合、過去図面データ取得部111は、はじめにTB1sの1行1列目のセルを参照する。そして、過去図面データ取得部111は、上記セルに対応する図面(1,1)、すなわち図面a1を、過去物件図面DB91から取得する。過去図面データ取得部111は、取得した図面a1を、過去図面データ前処理部112に供給する。
【0031】
(候補図面に対応する前処理データの生成)
過去図面データ前処理部112は、図面a1を解析することにより、当該図面a1に対応する前処理データを生成する。一例として、過去図面データ前処理部112は、図面a1にOCR処理を施し、OCR処理後データを生成する。OCR処理後データでは、図面a1において画像データとして表現されていた各文字が、文字コードへと変換されている。
【0032】
そして、過去図面データ前処理部112は、OCR処理後データから、各図面について予め設定された特定の文字列(ストリング)を抽出(検出)する。以下、当該特定の文字列を、特定文字列と称する。実施形態1では、L個(Lは2以上の整数)の異なる第k特定文字列が、予め設定されているものとする。
【0033】
以下では、k番目の特定文字列を、第k特定文字列と称する。kは、1以上かつL以下の整数である。以下の説明では、第1特定文字列が「電圧値」、第2特定文字列が「電流値」、第3特定文字列が「OR」、第L特定文字列が「開」として設定されている場合について、例示する。
【0034】
但し、特定文字列は、上記の例に限定されない。特定文字列は、例えばエンジニアリング分野の図面中において、製品の仕様情報(技術情報)を説明するために、一般的に用いられている単語であればよい。
【0035】
図3は、図面a1に対する特定文字列抽出処理の一例を示す図である。
図3の例では、図面a1の領域L1に、「電圧値 90V」という文字列が記載されている。この場合、過去図面データ前処理部112は、OCR処理後データから、L1の「電圧値 90V」という一連の文字列を抽出する。過去図面データ前処理部112は、抽出した当該一連の文字列から、第1特定文字列「電圧値」をさらに抽出する。
【0036】
続いて、過去図面データ前処理部112は、上記一連の文字列に対し、公知の構文解析技術を適用することにより、第1特定文字列「電圧値」に後続する文字列「90V」は、「電圧値」の属性を示していると判定する。この場合、過去図面データ前処理部112は、「90V」という文字列中に含まれる数字「90」を、「電圧値」の大きさを示す値として取得する。このように、過去図面データ前処理部112は、構文解析により、『L1に記載されている一連の文字列は、「電圧値が90Vである」という仕様情報を示している』旨を判定する。
【0037】
また、図面a1の領域L2には、「電流値 1.0A」という一連の文字列が記載されている。過去図面データ前処理部112は、L1の例と同様にして、上記一連の文字列から、第2特定文字列「電流値」を抽出する。そして、過去図面データ前処理部112は、第2特定文字列「電流値」に後続する文字列「1.0A」は、「電流値」の属性を示していると判定する。そこで、過去図面データ前処理部112は、「1.0A」という文字列中に含まれる数字「1.0」を、「電流値」の大きさを示す値として取得する。このように、過去図面データ前処理部112は、『L2に記載されている一連の文字列は、「電流値が2.0Aである」という仕様情報を示している』旨を判定する。
【0038】
ところで、図面a1には、第3特定文字列「OR」が記載されているが、当該第3特定文字列「OR」には、何ら文字列が後続していない。この場合、過去図面データ前処理部112は、OCR処理後データに含まれる第3特定文字列「OR」の登場回数を検出する。当該検出処理の結果、過去図面データ前処理部112は、図面a1に含まれている第3特定文字列「OR」の個数が、3つである旨を判定する(領域L3を参照)。
【0039】
同様に、図面a1には、第L特定文字列「開」が記載されているが、当該第L特定文字列「開」に、何ら文字が後続していない。そこで、過去図面データ前処理部112は、L3の例と同様に、図面a1に含まれている第L特定文字列「開」の個数が、1つである旨を判定する(領域L4を参照)。
【0040】
そして、過去図面データ前処理部112は、OCR処理後データに対する上述の解析結果に基づき、図面a1に対応する前処理データを生成する。当該前処理データは、第k特定文字列に対応付けられた第k内容パラメータ(以下、Ak)を示すデータセットである。また、第1~第L内容パラメータを総称的に、内容パラメータとも称する。
【0041】
内容パラメータは、図面の記載内容(具体的には、特定文字列に係る記載内容)を数値化(定量化)したデータの1つであると言える。このため、内容パラメータは、図面の記載内容を示す指標として用いられる。なお、後述するターゲット図面内容パラメータとの区別のため、検索対象図面(過去図面)の内容パラメータを、検索対象図面内容パラメータとも称する。また、検索対象図面の第k内容パラメータを、検索対象図面第k内容パラメータとも称する。
【0042】
以下では、図面(i,j)のAkを、Ak(i,j)とも表記する。上述の通り、過去図面データ前処理部112は、図面(i,j)に対する解析結果(より具体的には、図面(i,j)における特定文字列の検出結果)に基づき、Ak(i,j)を設定する。
【0043】
一例として、過去図面データ前処理部112は、図面a1について、A1=90と設定する(後述の
図4のハッチング箇所も参照)。すなわち、過去図面データ前処理部112は、図面a1に記載されている第1特定文字列「電圧値」の大きさを示す値「90」を、第1内容パラメータとして設定する。
【0044】
同様に、過去図面データ前処理部112は、A2=1.0と設定する。すなわち、過去図面データ前処理部112は、図面a1に記載されている第2特定文字列「電流値」の大きさを示す値「1.0」を、第2内容パラメータとして設定する。
【0045】
これに対し、過去図面データ前処理部112は、A3=3と設定する。すなわち、過去図面データ前処理部112は、図面a1における第3特定文字列「OR」の記載回数(登場回数)を示す値「3」を、第3内容パラメータとして設定する。
【0046】
同様に、過去図面データ前処理部112は、AL=1と設定する。すなわち、過去図面データ前処理部112は、図面a1における第L特定文字列「開」の記載回数を示す値「1」を、第L内容パラメータとして設定する。
【0047】
以上のように、過去図面データ前処理部112は、図面a1について、A1~ALを設定する。以上のように、過去図面データ前処理部112は、候補図面を解析することにより、当該候補図面の内容パラメータを取得する。このことから、過去図面データ前処理部112は、候補図面内容パラメータ取得部とも呼称される。
【0048】
また、過去図面データ前処理部112は、その他の過去図面についても、同様の処理を行う。すなわち、過去図面データ前処理部112は、図面a1~MNのそれぞれに対し、A1~ALを設定する。
【0049】
その後、過去図面データ前処理部112は、図面a1~MNのそれぞれのA1~AL、すなわち、A1(1,1)~AL(M,N)、を示す第2テーブルTB2を生成する。以下に述べるように、TB2は、参考形態における教師データの一例である。すなわち、過去図面データ前処理部112は、教師データを生成する機能部(教師データ生成部)としても動作する。
【0050】
TB2には、第2テーブル内第iサブテーブルTB2-iが含まれている。TB2-iは、図面iのそれぞれのA1~ALを示すテーブルである。
図4には、一例として、TB2-1が示されている。TB2-1には、図面a1~M1(物件A~Mの外形図)のそれぞれのA1~ALが示されている。TB2sは、TB2-1~TB2-Nという、N個のサブテーブルのセットによって構成されている。このように、参考形態では、図面種別ごとにサブテーブルが作成される。
【0051】
(参考形態における学習モデルの生成)
学習モデル生成部113sは、図面a1~M1に対応する前処理データ(すなわち、図面a1~M1におけるA1~AL)に基づき、当該図面a1~M1に応じた学習モデルを生成する。学習モデルの生成には、公知の機械学習アルゴリズムが使用されてよい。一例として、参考形態1では、学習モデル生成部113sは、多項ロジスティック回帰分析によって、学習モデルを生成する。
【0052】
上述の通り、TB2には、複数の過去図面のそれぞれ(例:図面a1)の番号(識別子の一例)と、当該複数の過去図面のそれぞれのA1~ALとの対応関係が示されている。そこで、学習モデル生成部113sは、TB2を教師データとして取得する。そして、学習モデル生成部113sは、当該教師データを用いた多項ロジスティック回帰分析を行うことにより、参考形態における学習モデルを生成する。
【0053】
一例として、学習モデル生成部113sは、TB2-1の各A1~ALに基づき、図面a1における第k特定文字列に対応付けられた第k重み係数(以下、Bk)を算出する。第1~第L重み係数を総称的に、重み係数とも称する。また、図面(i,j)のBkを、Bk(i,j)とも表記する。Bk(i,j)は、Ak(i,j)に対応する重み係数である。重み係数は、後述する関連性スコアの算出に用いられる。
【0054】
例えば、学習モデル生成部113sは、上述の多項ロジスティック回帰分析によって、図面a1におけるB1~BLを算出する。参考形態では、図面a1について、B1=-0.5、B2=-1.2、B3=0.6、…、BL=0.7として、それぞれの重み係数が算出されている(後述の
図5のハッチング箇所を参照)。
【0055】
学習モデル生成部113sは、その他の過去図面についても、同様の処理を行う。すなわち、学習モデル生成部113sは、図面a1~MNのそれぞれに対し、B1~BLを設定する。このように、学習モデル生成部113sは、図面a1~MNのそれぞれのB1~BL、すなわち、B1(1,1)~BL(M,N)、を含む学習モデルを生成する。
【0056】
そして、学習モデル生成部113sは、B1(1,1)~BL(M,N)を示す第3テーブルTB3を生成する。TB3には、第3テーブル内第iサブテーブルTB3-iが含まれている。TB3-iは、図面iのそれぞれのB1~BLを示すテーブルである。
図5には、一例として、TB3-1が示されている。TB3-1には、図面a1~M1のそれぞれのB1~BLが示されている。このように、TB3-1は、TB2-1の内容パラメータに対応する重み係数を示す。TB3は、TB3-1~TB3-Nという、N個のサブテーブルのセットによって構成されている。
【0057】
(新規物件図面DB92)
新規物件図面DB92には、新規物件(例:これから建設が行われる予定である、少なくとも1つの物件)に関する各図面(以下、総称的に新規図面とも称する)が、新規物件データセットとして格納されている。以下では、新規物件データセットに含まれる1つの新規物件(物件T)について述べる。
【0058】
一例として、新規物件図面DB92には、物件Tについて、過去物件と同種類のN個の異なる図面(外形図~構成図)が格納されている。以下では、物件Tの外形図を、新規図面の一例として例示する。また、物件Tの外形図を、図面NDと称する(後述の
図6も参照)。
【0059】
(図面検索装置12)
図面検索装置12は、新規図面データ取得部121、新規図面データ前処理部122(ターゲット図面内容パラメータ取得部)、スコア演算部123、および検索結果データ生成部124を備える。スコア演算部123および検索結果データ生成部124は、総称的に検索部と称されてもよい。
【0060】
参考形態では、図面検索装置12は、学習装置11sによって生成された学習モデルを用いて、ターゲット図面を複数の検索対象図面のそれぞれと照合することにより、少なくとも1つの図面を検索する。参考形態の図面NDは、ターゲット図面の一例である。以下に述べるように、図面検索装置12では、上記学習モデル用いて、図面NDに対し、図面a1~MNのそれぞれとの照合が行われる。
【0061】
(新規図面の取得)
新規図面データ取得部121は、過去図面データ取得部111と対になる機能部である。一例として、新規図面データ取得部121は、入力部71が所定のユーザ操作を受け付けたことを契機として、新規物件図面DB92の新規物件データセットに含まれている、所定の新規図面(例:図面ND)を取得する。新規図面データ取得部121は、取得した図面NDを、新規図面データ前処理部122に供給する。
【0062】
(新規図面に対応する前処理データの生成)
新規図面データ前処理部122は、過去図面データ前処理部112と対になる機能部である。新規図面データ前処理部122は、過去図面データ前処理部112と同様の処理により、図面NDに対応する前処理データを生成する。すなわち、新規図面データ前処理部122は、図面NDにOCR処理を施し、当該図面NDから特定文字列を抽出する。そして、新規図面データ前処理部122は、特定文字列の抽出結果に基づき、当該図面NDの内容パラメータを設定する。以下、図面NDの第k内容パラメータを、Ckとも称する。
【0063】
すなわち、新規図面データ前処理部122は、過去図面データ前処理部112と同じ解析手法によって図面NDを解析することにより、当該図面NDの内容パラメータを取得する。なお、上述の検索対象図面内容パラメータとの区別のため、ターゲット図面(図面ND)の内容パラメータを、ターゲット図面内容パラメータとも称する。また、ターゲット図面の第k内容パラメータを、ターゲット図面第k内容パラメータとも称する。
【0064】
図6は、図面NDに対する特定文字列抽出処理の一例を示す図である。
図6は、
図3と対になる図である。
図6の例では、図面NDの領域R1に、「電圧値 50V」という文字列が記載されている。従って、新規図面データ前処理部122は、第1特定文字列の抽出結果に基づき、C1=50と設定する(後述の
図7も参照)。
【0065】
ところで、図面NDの領域R1の位置は、図面a1の領域L1の位置とは異なっている(
図3・
図6を参照)。但し、図面NDでは、図面a1とは記載位置が異なるものの、当該図面a1と同じ種類の仕様情報(電圧値)が記載されている。新規図面データ前処理部122による第1内容パラメータの設定手法によれば、図面NDと図面a1との見かけ上の違い(例:第1特定文字列の記載位置の違い)によらず、図面NDと図面a1と間の記載内容(第1特定文字列に係る仕様情報)自体の一致性を、定量的に評価できる。この点に関しては、以下に述べるC2~CL(換言すれば、領域R2~R4)についても同様である。
【0066】
また、
図6の例では、図面NDの領域R2に、「電流値 2.5A」という文字列が記載されている。従って、新規図面データ前処理部122は、第2特定文字列の抽出結果に基づき、C2=2.5と設定する(
図6を参照)。
【0067】
さらに、新規図面データ前処理部122は、図面NDに含まれている第3特定文字列「OR」の個数が、3つである旨を判定する(
図6の領域R3を参照)。従って、新規図面データ前処理部122は、C3=3と設定する。
【0068】
同様に、新規図面データ前処理部122は、図面NDに含まれている第L特定文字列「開」の個数が、2つである旨を判定する(
図6の領域R4を参照)。従って、新規図面データ前処理部122は、CL=2と設定する。
【0069】
以上のように、新規図面データ前処理部122は、図面NDに対し過去図面データ前処理部112と同様の処理を行うことにより、C1~CLを設定する。その後、新規図面データ前処理部122は、C1~CLを示す新規図面内容パラメータテーブルTB-NDを生成する(
図7を参照)。
【0070】
(関連性スコアの算出)
スコア演算部123は、学習モデル生成部113sによって生成された学習モデル(より具体的には、B1(1,1)~BL(M,N))に基づき、関連性スコアを算出する。関連性スコアとは、図面NDに対する各過去図面(図面a1~MN)の関連性の高さを示すスコア(指標)である。以下、図面(i,j)の関連性スコアを、SCORE(i,j)とも表記する。また、SCORE(i,j)を、SCOREとも略記する。
【0071】
以下では、
図7(特に、
図7のハッチング箇所)を参照し、関連性スコアを算出する場合を例示する。以下の例では、説明の便宜上、図面NDと同種類の過去図面(すなわち、外形図である図面a1~M1)のそれぞれについて、関連性スコアを算出する場合を説明する。但し、図面NDと異なる種類の過去図面についても、
図7の例と同様に関連性スコアが導出されることに留意されたい。
【0072】
図7は、関連性スコアの導出例について説明する図である。
図7では、図面a1のSCOREを算出する例について主に述べる。スコア演算部123は、(i)新規図面データ前処理部122によって導出されたC1~CLと、(ii)学習モデル生成部113sによって導出された、図面a1のB1~BLと、を用いて、当該図面a1の第1素点~第L素点を算出する。
【0073】
以下、第k素点を、SSkとも表記する。なお、図面(i,j)の第k素点を、SSk(i,j)とも表記する。また、第1素点~第L素点を総称的に、素点とも称する。SSkは、Bk(第k重み係数)に対応している。
【0074】
具体的には、スコア演算部123は、図面NDの第k内容パラメータ(Ck)と図面a1の第k重み係数(Bk)との積を、SSkとして算出する。つまり、スコア演算部123は、
SSk=Ck×Bk …(1)
を算出する。
【0075】
図7の例では、C1=50、B1=-0.5である。このため、スコア演算部123は、SS1=50×-0.5=-25として、SS1を導出する。同様にして、スコア演算部123は、以降の各素点を算出する。例えば、スコア演算部123は、SS2=-3、SS3=1.8、…、SSL=1.4として、各素点を算出する。
【0076】
続いて、スコア演算部123は、図面a1の第1素点~第L素点に基づき、当該図面a1の関連性スコア(SCORE)を算出する。具体的には、スコア演算部123は、第1素点から第L素点までの各素点の和を、SCOREとして算出する。すなわち、スコア演算部123は、
SCORE=ΣSSk …(2)
を算出する。式(2)の右辺におけるkの範囲は、1からLまでである。この点は、後述する式(2A)等についても同様である。
【0077】
以上のように、スコア演算部123は、各Ckと各Bkとを用いて、SCOREを算出する。以下、図面a1の関連性スコアを、SCORE(a1)とも表記する。その他の過去図面の関連性スコアについても、同様に表記する。
図7の例では、スコア演算部123による計算の結果、SCORE(a1)=-30.4が得られた。
【0078】
続いて、スコア演算部123は、同様の手法によって、残りの各過去図面(
図7の例では、図面b1~M1)のSCOREを算出する。
図7の例では、スコア演算部123による計算の結果、SCORE(b1)=41.1、SCORE(c1)=36.5、…、SCORE(M1)=4.2が得られた。
【0079】
また、
図7の例では、SCORE(a1)~SCORE(M1)というM個のSCOREのうち、最大の関連性スコアはSCORE(b1)であることが確認された。また、上記M個のSCOREのうち、SCORE(c1)が2番目に大きいことが確認された。さらに、上記M個のSCOREのうち、最小の関連性スコアはSCORE(a1)であることが確認された。
【0080】
スコア演算部123は、自身の計算結果を示す第4テーブルTB4を生成する。TB4には、第4テーブル内第iサブテーブルTB4-iが含まれている。TB4-iは、図面iのそれぞれのSS1~SSLおよびSCOREを示すテーブルである。
図7には、一例として、TB4-1が示されている。TB4-1には、図面a1~M1のそれぞれのSS1~SSLおよびSCOREが示されている。このように、TB4-1は、TB-NDおよびTB3-1に基づいて生成される。TB4は、TB4-1~TB4-Nという、N個のサブテーブルのセットによって構成されている。
【0081】
なお、上述の式(1)は、
SSk(i,j)=Ck×Bk(i,j) …(1A)
とも表記できる。このように、スコア演算部123は、Bk(i,j)に基づきSSk(i,j)を算出する。
【0082】
また、上述の式(2)は、
SCORE(i,j)=ΣSSk(i,j)
=Σ{Ck×Bk(i,j)}…(2A)
とも表記できる。このように、スコア演算部123は、各SSk(i,j)(すなわち、各Ckおよび各Bk(i,j))に基づき、SCORE(i,j)を算出する。
【0083】
また、上述の式(2A)は、
SCORE(i,j)=Σ{Ak(i,j)×Bk(i,j)}…(3)
において、Ak(i,j)にCkを代入した式と理解することもできる。このように、スコア演算部123は、学習モデル内の独立変数(説明変数)として、C1~CLを適用することにより、従属変数(目的変数)であるSCOREを算出できる。
なお、式(3)の右辺は、多項ロジスティック回帰分析における線形モデル(多項ロジスティック回帰分析モデル)の一例である。
【0084】
なお、SSkは、Ckに応じた学習モデルの出力と表現することもできる。このことから、スコア演算部123は、学習モデルの出力(SS1~SSk)に基づき、SCOREを算出すると表現することもできる。
【0085】
あるいは、学習モデルは、SCOREを出力するように構成されてもよい。この場合、スコア演算部123は、学習モデルの出力としてのSCOREを取得し、当該SCOREを検索結果データ生成部124に供給する。
【0086】
(候補順位の決定)
検索結果データ生成部124は、スコア演算部123によって算出されたSCORE(a1)~SCORE(M1)に基づき、図面NDに対応する候補順位(候補ランキング)を決定する。具体的には、検索結果データ生成部124は、SCORE(a1)~SCORE(M1)に基づき、図面a1~M1(外形図)のそれぞれの候補順位(第1候補~第M候補)を決定する。
【0087】
検索結果データ生成部124は、SCORE(a1)~SCORE(M1)を、各SCOREの値に応じてソートする。一例として、検索結果データ生成部124は、SCORE(a1)~SCORE(M1)を、値が大きい順にソートする。そして、検索結果データ生成部124は、g番目に大きいSCOREに対応する過去図面を、第g候補(以下、候補gとも称する)として決定する。gは、1以上かつM以下の整数である。
【0088】
このようにSCOREに応じて候補番号を設定すれば、候補番号が小さくなるほど(より上位の候補であるほど)、過去図面と図面NDとの関連性が高いことが期待される。例えば、候補1は、図面a1~M1のうち、図面NDとの関連性が最も高いことがSCOREによって示されている過去図面を指す。
【0089】
上述の通り、SCORE(b1)は、SCORE(a1)~SCORE(M1)のうち、最大の関連性スコア(1番目に大きい関連性スコア)である。そこで、検索結果データ生成部124は、図面b1を候補1として決定する(
図8のハッチング箇所を参照)。このように、検索結果データ生成部124は、図面NDとの関連性が最も高い過去図面として、図面b1を選択する。
【0090】
また、SCORE(c2)は、SCORE(a1)~SCORE(M1)のうち、2番目に大きい関連性スコアである。そこで、検索結果データ生成部124は、図面c2を候補2として決定する。このように、検索結果データ生成部124は、図面NDとの関連性が2番目に高い過去図面として、図面c2を選択する。
【0091】
さらに、SCORE(a1)は、SCORE(a1)~SCORE(M1)のうち、最小の関連性スコア(M番目に大きい関連性スコア)である。そこで、検索結果データ生成部124は、図面a1を候補Mとして決定する。このように、検索結果データ生成部124は、図面NDとの関連性が最も低い(M番目に高い)過去図面として、図面a1を選択する。
【0092】
検索結果データ生成部124は、図面NDに対する図面a1~M1の候補番号を示すデータを生成する。当該データでは、図面a1~M1の図面番号(識別子)が、SCOREに応じてソートされている。より具体的には、当該データでは図面a1~M1の図面番号が、SCOREが高い順にソートされている。
【0093】
なお、検索結果データ生成部124は、新規図面の種類が外形図とは異なる場合にも、当該新規図面と同種類の過去図面について、同様の処理を行う。例えば、新規図面の種類が組立図である場合を考える。この場合、検索結果データ生成部124は、SCORE(a2)~SCORE(M2)に基づき、新規図面に対する図面a2~M2(組立図)のそれぞれの候補番号を決定する。その他の種類の図面についても同様である。
【0094】
以上のように、検索結果データ生成部124は、種類iに属する図面NDに対し、SCORE(i,1)~SCORE(i,N)に基づき、図面(i,1)~図面(i,M)の候補番号を設定する。具体的には、検索結果データ生成部124は、SCORE(i,1)~SCORE(i,M)のうち、g番目に大きいSCOREであるSCORE(i,g)を特定する。そして、検索結果データ生成部124は、SCORE(i,g)に対応する過去図面、すなわち図面(i,g)を、候補gとして決定する。
【0095】
一例として、検索結果データ生成部124は、検索結果データとして第5テーブルTB5を生成する。TB5では、図面NDの種類ごとに、候補番号が高い順に(SCOREが大きい順に)、過去図面がソートされている。
図8には、TB5の一例が示されている。検索結果データ生成部124は、TB5を表示部72に供給し、当該TB5を表示部72に表示させる。
【0096】
表示部72にTB5を表示させることにより、ユーザに、図面検索装置12(より具体的には、検索結果データ生成部124)の検索結果を、一覧性が高い態様で提示することができる。
【0097】
但し、検索結果データ生成部124は、TB5の全体を、必ずしも検索結果データとしてユーザに提示しなくともよい。過去図面数があまりに多い場合、TB5の全体をユーザに提示すると、かえってユーザの利便性が低下しうることも考えられるためである。
【0098】
従って、検索結果データは、TB5の少なくとも一部であればよい。検索結果データは、ターゲット図面(図面ND)に対応する少なくとも1つの図面(少なくとも1つの過去図面)を示すデータであればよい。
【0099】
ところで、上述の通り、候補1の図面は、複数の過去図面のうち、SCOREが最も高い図面である。そこで、検索結果データのデータ量低減の観点からは、検索結果データを、候補1の図面のみを示すデータとして生成することも考えられる。
【0100】
しかしながら、プラントエンジニアリング分野における機器の設計を行う場合、設計者は各種の技術情報を総合的に判断する必要がある。このため、過去図面を参考として図面NDに記載された機器を新たに設計する場合、SCOREが最も高い過去図面(候補1の図面)が、設計の参考に最も適しているとは限らない。例えば、候補2の図面(SCOREがより低い図面)が、候補1の図面に比べて、実際には設計の参考により適している場合もありうる。
【0101】
そこで、検索結果データは、上位の複数の候補(例:γ番目までの候補)を示すデータであることが好ましい。すなわち、検索結果データは、候補1~候補γの図面を示すデータであってよい。γは、1以上かつg以下の整数である。
【0102】
(参考形態の効果)
プラントエンジニアリングでは、物件Tに関するプロジェクトの進捗に伴い、図面ND(ターゲット図面)との関連性が高い過去図面を検索することが必要とされる場合がある(特許文献1も参照)。上記プロジェクトでは、過去物件における特定の種類の機器の設計・製作実績を参考に、物件Tにおける同種類の機器についての各種の計画(例:製作期間の予想、製作コストの試算)がなされる場合が多いためである。
【0103】
ここで、図面NDと同様の仕様情報が記載されている過去図面であれば、図面NDとの関連性が高いことが期待される。しかしながら、プラントエンジニアリングでは、過去物件の図面数が膨大であることが一般的である。このため、特許文献1の図面検索システムを用いたとしても、所望の図面(図面NDとの関連性が高い過去図面)を検索結果から迅速に見つけ出すことは、ユーザにとって必ずしも容易ではない。特許文献1の図面検索システムにおいて、キーワードレス検索を行った場合には、検索結果としてかなり多数の過去図面がヒットすることが考えられるためである。
【0104】
そこで、キーワード検索機能を有する公知の図面検索システムを用いて、図面NDとの関連性が高い所望の図面を検索することも一案である。例えば、図面ND中に記載されている特定文字列をキーワード(検索ワード)として、過去図面を検索することが考えられる。しかしながら、このようなキーワード検索を行った場合にも、所望の図面を検索結果から迅速に見つけ出すことは、ユーザにとって必ずしも容易ではない。キーワード検索を行った場合にも、検索結果としてかなり多数の過去図面がヒットすることが考えられるためである。また、適切な検索ワードをユーザが決定できない場合には、そもそもキーワード検索を利用することが困難である。
【0105】
以上の通り、従来の図面検索システムを用いて所望の図面を迅速に検索することは、プラントエンジニアリングについて十分な知識を有していないユーザ(例:新人設計者)にとって、困難を伴う。プラントエンジニアリングに精通したユーザ(例:ベテラン設計者)でなければ、従来の図面検索システムを用いて所望の図面を効率的に検索することは必ずしも容易ではないと考えられる。
【0106】
本願の発明者ら(以下、発明者ら)は、従来技術のこのような問題点に鑑み、情報処理システム100s(より具体的には、情報処理装置1s)を新たに創作した。情報処理装置1sによれば、各過去図面に対する機械学習によって得られた学習モデルを用いて、図面NDに対応する所望の図面を検索できる。
【0107】
まず、情報処理装置1sの学習装置11sでは、各過去図面について、特定文字列に関連した内容パラメータ(検索対象図面内容パラメータ)が設定される。そして、当該検索対象図面内容パラメータに基づき、各過去図面の重み係数が設定される。
【0108】
その後、情報処理装置1sの図面検索装置12では、図面NDの内容パラメータ(ターゲット図面内容パラメータ)と各過去図面の重み係数とを用いて、当該図面NDと当該各過去図面との関連性の高さを示す指標である関連性スコアが、過去図面ごとに算出される。そして、各過去図面が、関連性スコアの高い順にソートされる。つまり、関連性スコアに基づき、所望の図面の候補としての少なくとも1つの過去図面が、ユーザに提示される。
【0109】
このように、図面検索装置12によれば、キーワード検索機能を有する公知の図面検索システムとは異なり、キーワードレス検索によって、ユーザに所望の図面を効率的に検索させることができる。特に、図面検索装置12によれば、適切な検索ワードをユーザが決定できない場合であっても、ユーザに効率的な図面検索を行わせることができる。このため、図面検索装置12は、例えば上述の新人設計者の業務効率向上に特に好適と言える。
【0110】
なお、特許文献1の図面検索システムは、キーワードレス検索を前提としている点において、情報処理装置1s(より具体的には、図面検索装置12)と共通している。但し、特許文献1の図面検索システムでは、情報処理装置1sとは異なり、検索結果に対する順序付けがなされていない。このため、特許文献1の図面検索システムでは、検索結果の上位に挙げられる過去図面が、必ずしも図面NDに対し高い関連性を有しているとは限らない。
【0111】
これに対し、情報処理装置1sでは、各過去図面が関連性スコアの高い順にソートされたデータが、検索結果としてユーザに提示される。このため、ユーザに、関連性スコアの高い順に、検索結果として提示された各過去図面を確認させることができる。つまり、ユーザに、より上位の候補に挙げられた過去図面を、優先的に確認させることができる。
【0112】
このように、情報処理装置1sでは、特許文献1の図面検索システムとは異なり、検索結果として提示された各過去図面を、ユーザにしらみつぶしに(総当たり方式で)確認させることが不要となる。それゆえ、情報処理装置1sによれば、特許文献1の図面検索システムに比べても、図面NDに対応する所望の図面を、従来よりも簡便にユーザに発見させることが可能となる。すなわち、情報処理装置1sによれば、特許文献1の図面検索システムに比べて、ユーザの利便性をさらに向上させることができる。
【0113】
ところで、近年では、機械学習を利用した画像照合技術(例:顔認証技術)が広く用いられている。当該画像照合技術を用いて、所望の図面を検索することも考えられる。しかしながら、上記画像照合技術では、あくまで画像としての「見た目」(例:レイアウト)に基づいて、図面NDと各過去図面との関連性が判定される。それゆえ、画像照合技術をベースとした図面検索手法(以下、画像照合ベース図面検索)は、情報処理装置1sに比べ、図面検索には適していない場合がある。以下、この点について述べる。
【0114】
例えば、図面の記載フォーマットが標準化(統一)されていない場合には、各図面の作成者ごとに、図面の記載方式が異なることも考えられる。それゆえ、2つの図面において同様の内容(例:仕様情報)が記載されている場合であっても、各図面において当該内容が異なる位置に表記される場合がある。例えば、「
図3の領域L1」(以下、領域Aとも称する)と「
図6の領域R1」(以下、領域Bとも称する)とを参照されたい。
【0115】
このような場合、画像照合ベース図面検索では、領域Aと領域Bとの位置が異なるため、図面NDに対する図面a1の関連性が低いと評価されうる。しかしながら、上述の通り、領域Aおよび領域Bには、同一の種類の仕様情報(電圧値に関する仕様情報)が記載されている。このため、実際には、図面a1は、図面NDに対してある程度の関連性を有しているとも考えられる。
【0116】
以上の通り、画像照合ベース図面検索では、各図面に記載されている仕様情報の内容自体を考慮して、図面NDと図面a1との関連性を評価することはできない。それゆえ、図面NDとは見た目が異なっているものの、類似した内容自体が記載されている過去図面(
図8の例では、図面b1)を、適切に検索することはできない。
【0117】
これに対し、情報処理装置1sでは、画像照合ベース図面検索とは異なり、各図面に記載されている特定文字列に着目し、内容パラメータ(検索対象図面内容パラメータおよびターゲット図面内容パラメータ)が設定される。すなわち、情報処理装置1sでは、各図面に記載されている仕様情報の内容自体を考慮できる。そして、当該内容パラメータに基づき、図面NDと各過去図面との関連性が評価(例:スコアリング)される。
【0118】
それゆえ、情報処理装置1sによれば、画像照合ベース図面検索とは異なり、図面NDとは見た目が異なっているものの、類似した内容自体が記載されている過去図面(例:図面b1)を、適切に検索できる。このように情報処理装置1sは、画像照合ベース図面検索に比べ、図面検索に適している。
【0119】
また、過去図面の数が多くなるほど、従来の図面検索システム(または、画像照合ベース図面検索)によって、所定の新規図面と関連性が高い過去図面を適切に検索することがより困難となる。それゆえ、情報処理装置1sは、過去図面の数が多くなるほど、ユーザの利便性向上により有益である。
【0120】
〔変形例〕
(1)本発明の一態様に係る情報処理装置は、プラントエンジニアリング以外の分野における図面の検索についても適用可能である。本発明の一態様に係る図面は、上記図面検索装置によって内容パラメータを取得することが可能な図面であればよい。
【0121】
(2)参考形態では、学習モデル生成部113sにおいて、多項ロジスティック回帰分析を用いて学習モデルを生成する場合を例示した。但し、学習モデルの生成手法は、これに限定されない。
【0122】
学習モデル生成部113sは、上述の教師データを用いた機械学習により、学習モデルを生成できればよい(各重み係数を算出できればよい)。例えば、学習モデル生成部113sは、公知のニューラルネットワーク技術(例:公知のディープラーニング技術)を用いて、学習モデルを生成することもできる。
【0123】
(3)検索結果データ生成部124は、候補gとして選択した図面に対応する所定のデータを、さらに取得してもよい。
図8の例の場合、検索結果データ生成部124は、図面b1(候補1)に対応する、所定の機器の仕様データを取得してもよい。プラントエンジニアリングの各種の計画では、過去図面とともに、当該過去図面に記載された所定の機器の仕様がともに参照される場合が多いためである。
【0124】
この場合、検索結果データ生成部124は、検索結果データとともに、仕様データをユーザに提示できる。それゆえ、ユーザの利便性をさらに向上させることができる。一例として、情報処理装置1sでは、図面a1~MNと仕様データとの対応関係を示すテーブルが予め準備されていてよい。検索結果データ生成部124は、当該テーブルを参照し、候補gに対応する仕様データを取得すればよい。
【0125】
〔実施形態1〕
図9は、実施形態1の情報処理システム100の要部の構成を示すブロック図である。情報処理システム100の情報処理装置を、情報処理装置1と称する。情報処理装置1の制御装置を、制御装置10と称する。制御装置10の学習装置を、学習装置11と称する。はじめに、情報処理システム100の処理についての具体的な説明に先立ち、参考形態の情報処理システム100sについて改善可能な点について述べる。
【0126】
上述の通り、参考形態の情報処理装置1sでは、全ての過去図面(図面a1~MN)が、学習に用いられている。このため、報処理装置1sでは、過去物件図面DB91に格納されている過去図面群(図面a1~MN)の内容によって、学習モデルの質にばらつきが生じることも考えられる。以下に述べる通り、過去図面群の内容が偏っている場合には、偏った図面内容に基づく学習モデル(偏った学習モデル)が生成されるためである。
【0127】
(参考形態における学習モデルの質に関するパターン分類)
発明者らは、参考形態における学習モデルの質について検討を行った。具体的には、発明者らは、過去図面群と学習モデルの質との関係について、以下の4通りのパターン分類を行った。
【0128】
なお、過去図面(例:製作図面)に関する以下の説明における「図面番号に紐づく内容」とは、典型的には「過去図面を作成するための仕様図面(仕様が記載された図面)の内容」を意味する。製作図面の例としては、外形図および組立図等を挙示できる。但し、上述の通り、過去図面は製作図面に限定されないことに留意されたい。
【0129】
以下の例では、簡単のために、1つの物件における仕様図面に、当該1つの物件における全ての製作図面を作成するための全ての仕様が記載されているものとする。そして、上記1つの物件における全ての製作図面は、当該1つの物件における仕様図面に基づいて作成されるものとする。
【0130】
また、以下の例では、ある1つの図面種類(例:外形図)に属するある1つの製作図面と別の1つの製作図面との間において、当該ある1つの図面種類に関する仕様(例:外形図の作成に関する仕様)が同一(共通)である場合、当該1つの製作図面と当該別の1つの製作図面には、同一の図面番号が付与されるものとする。但し、当然ながら、上記1つの製作図面と上記別の1つの製作図面との間において、上記ある1つの図面種類に関する仕様が異なっている場合には、当該1つの製作図面と当該別の1つの製作図面には、異なる図面番号が付与される。
【0131】
(パターン1:過去図面群が、図面番号に紐づく内容が異なり、かつ、図面番号も異なる過去図面のみで構成されている場合)
異なる図面内容を、複数の相違なる図面番号の過去図面によって学習できる。このため、特に質の高い学習モデル(十分な汎化性を有する学習モデル)を生成できる。その結果、高い検索精度が実現される。
【0132】
(パターン2:過去図面群に、図面番号に紐づく内容が異なるが、図面番号が同一の過去図面が混在している場合)
相違なる図面内容が、同一の図面番号の図面によって学習される。すなわち、曖昧なデータによる学習が行われる。但し、一般的には、機械学習は、そのような曖昧なデータによる学習であっても、質の高い学習モデルを生成できる。そのため、パターン2においても、パターン1と同様に、高い検索精度が実現される。
【0133】
(パターン3:過去図面群に、図面番号に紐づく内容が同一または類似であるが、図面番号が異なる過去図面が混在している場合)
同一または類似の図面内容が、複数の相違した図面番号の過去図面によって学習される。すなわち、偏った学習が行われる。このため、パターン3では、偏った学習モデルが生成される。その結果、検索精度の低下が生じうる。例えば、同一または類似の図面内容を有する複数の異なる図面が、候補1~候補gとしてヒットする可能性が高くなる。
【0134】
(パターン4:過去図面群に、図面番号に紐づく内容が同一または類似であり、かつ、図面番号も同一である過去図面が混在している場合)
同一または類似の図面内容が、同一の図面番号の過去図面によって複数回学習される。この場合にも、偏った学習が行われる。このため、パターン4においても、偏った学習モデルが生成される。その結果、検索精度の低下が生じうる。
【0135】
上述のパターン3・4から理解できる通り、偏った学習モデルは、検索精度の低下を招きうる。このため、偏った学習モデルは、質の低い学習モデルとも言える。このような偏った学習モデルを用いて図面検索を行った場合、適切な検索結果が得られる可能性が低下しうる。
【0136】
そこで、発明者らは、情報処理システム100sをさらに改善すべく、実施形態1の情報処理システム100を創作した。以下に述べるように、情報処理システム100(より詳細には、学習装置11)によれば、学習モデルの質の低下を防止できる。それゆえ、情報処理システム100sに比べてさらに高い検索精度を実現できる。
【0137】
(学習装置11)
学習装置11は、学習装置11sとは異なり、相違度算出部114と類似集合決定部115と学習対象外図面決定部116とをさらに備える。類似集合決定部115および学習対象外図面決定部116は、総称的に決定部と称されてもよい。また、学習装置11は、学習装置11sの学習モデル生成部113sに替えて、学習モデル生成部113(学習部)を備える。
【0138】
(相違度算出部114)
相違度算出部114は、過去図面データ前処理部112によって導出された任意の2つの過去図面の内容パラメータ(第1~第L内容パラメータ)に基づき、当該2つの過去図面間の相違度を算出する。
【0139】
以下の説明では、任意の2つの過去図面を、図面Iおよび図面Jと称する。IおよびJは、1以上かつT以下の整数である。以下の説明では、便宜上、図面Iの第k内容パラメータを、Ikと称する。同様に、図面Jの第k内容パラメータを、Jkと称する。また、図面Iと図面Jとの相違度を、D(I,J)と称する。D(I,J)は、図面Iと図面Jとの内容(記載内容)の相違の程度を示す指標値である。
【0140】
図10は、実施形態1における相違度について説明する図である。なお、
図10では、例えば「図面a1」が、「a1」と略記されている。本明細書においても、同様の略記を適宜行う。
図10には、各図面の内容パラメータの分布を示すL次元のデータ空間(L次元空間)が示されている。
図10のL次元空間において、図面Iに対応する点(図面Iの内容パラメータを示す点)Iを、P(I)と称する。P(I)の座標は、
P(I)=[I1,I2,…,Ik,…,IL]
として表される。相違度算出部114は、過去図面データ前処理部112からI1~ILを取得することにより、L次元空間内におけるP(I)の座標を決定する。
【0141】
同様に、
図10のL次元空間において、図面Jに対応する点Jを、P(J)と称する。P(J)の座標は、
P(J)=[J1,J2,…,Jk,…,JL]
として表される。相違度算出部114は、過去図面データ前処理部112からJ1~JLを取得することにより、L次元空間内におけるP(J)の座標を決定する。
【0142】
一例として、相違度算出部114は、L次元空間における点Iと点Jとの距離を、D(I,J)として算出する。実施形態1では、相違度算出部114は、点Iと点Jとのユークリッド距離を、D(I,J)として算出する。すなわち、相違度算出部114は、
D(I,J)={(I1-J1)2+…+(IL-JL)2}1/2
={Σ(Ik-Jk)2}1/2 …(4)
の通り、D(I,J)を算出する。
【0143】
上記式(4)から明らかである通り、D(I,J)は0以上の値をとる。D(I,J)が大きいほど、図面Iと図面Jとの内容の類似性は低い。逆に言えば、D(I,J)が小さいほど、図面Iと図面Jとの内容の類似性は高い。D(I,J)=0の場合、図面Iと図面Jとの類似性は最大である。具体的には、D(I,J)=0の場合、図面Iと図面Jとは同一内容の図面である。
【0144】
相違度算出部114は、全てのIおよびJの組み合わせについて、D(I,J)を算出する。そして、相違度算出部114は、図面a1~MNのそれぞれの間の相違度を示すテーブルを、相違度テーブルTB11として生成する。TB11には、相違度テーブル内第iサブテーブルTB11-iが含まれている。TB11-iは、図面iに属する各過去図面間の相違度を示すテーブルである。
図11には、一例として、TB11-1が示されている。TB11-1には、図面1(外形図)に属する各過去図面(図面a1~M1)間のそれぞれの相違度が示されている。TB11-1は、M行M列の正方行列である。TB11は、TB11-1~TB11-Nという、N個のサブテーブルのセットによって構成されている。このように、実施形態1では、図面種別ごとに相違度についてのサブテーブルが作成される。
【0145】
以下、TB11-1を参照して、相違度算出部114、類似集合決定部115、および学習対象外図面決定部116の動作について説明する。但し、TB11-1に関する各事項についての以下の説明は、TB11-2~TB11-Nについても同様に当てはまる。
【0146】
なお、上述の式(4)から明らかである通り、TB11-1(I,J)=TB11-1(J,I)である。また、TB11-1(I,I)=0である。このため、
図11に示される通り、TB11-1は、対角成分が0の対称行列として生成される。そこで、以下の説明では、I<Jの場合について主に述べる。
【0147】
相違度算出部114は、TB11-1(I,J)=D(I,J)として、TB11-1(I,J)の値を設定する。一例として、D(a1,b1)=8.1であったとする。この場合、相違度算出部114は、TB11-1(a1,b1)=8.1として、TB11-1(1,2)の値を設定する。
【0148】
(類似集合決定部115)
類似集合決定部115は、TB11-1に示されている各相違度に基づき、図面a1~M1の内、類似性が高いと考えられる過去図面の集合(類似集合)を決定する。具体的には、類似集合決定部115は、相違度の閾値(便宜上、Dthと称する)に基づき、類似集合を決定する。実施形態1では、Dth=6.0として設定されている場合を例示する。但し、Dthは、情報処理システム100のユーザによって任意に設定されてよい。
【0149】
図12は、類似集合決定部115の処理の一例を示す図である。
図12の例では、説明の便宜上、
図11のTB11-1を、テーブル1200Aとも称する。テーブル1200Aは、第1世代相違度テーブルと称されてもよい。
【0150】
類似集合決定部115は、テーブル1200Aから、I<Jの条件の下で、最小の相違度を有する成分を探索する。続いて、類似集合決定部115は、発見した最小の相違度(便宜上、Dminと称する)がDth以下であるか判定する。類似集合決定部115は、DminがDth以下である場合、Dminに対応する過去図面の組(過去図面の集合)を、類似集合として決定する。換言すれば、類似集合決定部115は、DminがDth以下である場合、Dminに対応する過去図面の組が同一の集合に属するように、図面a1~M1を分類(グルーピング)する。
【0151】
図12の例では、類似集合決定部115は、テーブル1200Aに対する探索の結果、D(c1,e1)=2.5を、最小の成分として特定する(テーブル1200Aのハッチング部を参照)。従って、類似集合決定部115は、Dmin=2.5として、Dminを設定する。テーブル1200Aでは、Dmin<Dthである。このため、類似集合決定部115は、集合{c1,e1}を、集合Aとして決定する(後述の
図13も参照)。集合Aは、第1類似集合と称されてもよい。
【0152】
続いて、類似集合決定部115は、テーブル1200Aにおける要素c1およびe1(集合Aの構成要素)を、集合Aに統合することにより、テーブル1200Bを生成する。テーブル1200Bは、第2世代相違度テーブルと称されてもよい。テーブル1200Bの生成時には、類似集合決定部115は、集合Aと当該集合A外の各要素(各過去図面)との相違度、すなわちD(A,a1)、D(A,b1)、…、D(A,M1)を、所定の手法によって設定する。
【0153】
実施形態1では、類似集合決定部115は、集合Aに属する各要素(すなわち、図面c1およびe1)と集合Aに属しないある1つの要素(便宜上、図面Xと称する)との相違度の最大値を、D(A,X)として設定する。すなわち、類似集合決定部115は、
D(A,X)=Max{D(c1,X),D(e1,X)} …(5)
として、D(A,X)を設定する。このように、実施形態1では、分割的階層型クラスタリングの最長距離法によってD(A,X)が設定されている。この点については、後述する集合Bについても同様である。
【0154】
一例として、X=a1である場合を考える。
図12のテーブル1200Bに示される通り、類似集合決定部115は、上記式(5)を用いて、
D(A,a1)=Max{D(c1,a1),D(e1,a1)}
=Max(3.3,10.3)
=10.3
として、D(A,a1)を設定する。同様にして、類似集合決定部115は、D(A,b1)、…、D(A,M1)を設定する。
【0155】
続いて、類似集合決定部115は、テーブル1200Bから、I<Jの条件の下で、最小の相違度を有する成分を探索する。類似集合決定部115は、テーブル1200Bに対する探索の結果、D(b1,d1)=5.8を、最小の成分として特定する(テーブル1200Bのハッチング部を参照)。従って、類似集合決定部115は、Dmin=5.8として、Dminを設定する。テーブル1200Bでは、Dmin<Dthである。このため、類似集合決定部115は、集合{b1,d1}を、集合Bとして決定する(
図13も参照)。集合Bは、第2類似集合と称されてもよい。
【0156】
続いて、類似集合決定部115は、テーブル1200Bにおける要素b1およびd1(集合Bの構成要素)を、集合Bに統合することにより、テーブル1200Cを生成する。テーブル1200Cは、第3世代相違度テーブルと称されてもよい。類似集合決定部115は、上述の式(5)を用いて、集合Bと当該集合B外の各要素との相違度、すなわちD(B,A)、D(B,a1)、…、D(B,M1)を設定する。但し、(B,A)、D(B,a1)、…、D(B,M1)の算出においては、式(5)の左辺の集合Aは、集合Bに置き換えられることに留意されたい。
【0157】
一例として、類似集合決定部115は、
D(B,A)=Max{D(b1,A),L(d1,A)}
=Max(12.8,11.4)
=12.9
として、D(B,A)を設定する。D(B,A)についての計算例から理解できる通り、類似集合決定部115における計算では、ある1つの集合(例:集合A)が、複数の過去図面(図面c1およびe1)を代表する仮想的な1つの過去図面と見なされている。
【0158】
続いて、類似集合決定部115は、テーブル1200Cから、I<Jの条件の下で、最小の相違度を有する成分を探索する。類似集合決定部115は、テーブル1200Cに対する探索の結果、D(B,a1)=8.1を、最小の成分として特定する(テーブル1200Cのハッチング部を参照)。従って、類似集合決定部115は、Dmi=8.1として、Dminを設定する。テーブル1200Cでは、Dmin>Dthである。類似集合決定部115は、DminがDthよりも大きい場合、集合のグルーピング処理を完了する。
【0159】
図13は、実施形態1において得られた集合の階層構造を表すデンドログラムDGの一例である。DGを用いることで、ユーザに視覚的に集合の階層構造を認識させることができる。DGは、ユーザにDthを調整させるための補助情報として使用されてよい。
【0160】
なお、
図13からも理解される通り、Dthを8.1以上に設定した場合、類似集合決定部115によって、図面a1と集合Bとが同一の集合(便宜上、集合B’と称する)に分類される。上述の通り、B={b1,d1}である。このため、
B’={a1,b1,d1}={a1,{b1,d1}}={a1,B}
とも表現できる。このように、実施形態1では、既存の集合(例:集合B)をネストした新たな集合(例:集合B’)を取り扱うこともできる。
【0161】
ここで、
図10を再び参照し、D(B’,e1)を算出する場合を考える。実施形態1では、類似集合決定部115は、以下の式(6)、
D(B’,e1)
=Max{D(a1,e1),D(b1,e1),D(d1,e1)}…(6)
を用いて、L(B’,e1)を算出してもよい。すなわち、類似集合決定部115は、集合B’に属する各図面と図面e1との距離の最大値を算出することにより、L(B’,e1)
を決定してもよい。
【0162】
但し、上記式(6)は、
D(B’,e1)
=Max{D(a1,e1),Max{D(b1,e1),D(d1,e1)}}
=Max{D(a1,e1),D(B,e1)}…(6’)
とも変形できる。従って、類似集合決定部115は、式(6)に替えて式(6’)を用いて、D(B’,e1)を算出することもできる。
【0163】
式(6’)では、Max関数の引数の数が、式(6)よりも少ない。このため、式(6)に替えて式(6’)を用いることにより、類似集合決定部115におけるD(B’,e1)の演算を高速化できる。すなわち、式(6’)を用いることにより、式(6)を用いた場合に比べ、D(B’,e1)をより短時間で算出できる。このように、実施形態1では、ネストされた集合構造を取り扱うことにより、各種の演算をより高速に(より効率的に)行うことができる。
【0164】
(学習対象外図面決定部116)
学習対象外図面決定部116は、図面a1~M1間の相違度に応じて、当該図面a1~M1の内から、学習対象外図面(学習モデル生成部113における学習に使用されない過去図面)を決定する。実施形態1では、学習対象外図面決定部116は、類似集合決定部115において決定された各集合(例:集合Aおよび集合B)に属する各過去図面の内から、学習対象外図面を決定する。
【0165】
図14は、学習対象外図面決定部116の処理の一例を示す図である。実施形態1では、学習対象外図面決定部116は、ある1つの集合(便宜上、集合Xと称する)に属する複数の図面の内から、1つの代表図面(集合内代表図面)を決定する。そして、学習対象外図面決定部116は、集合Xに属する複数の図面の内、代表図面を除いた各図面を学習対象外図面として決定する。代表図面の決定は、任意の手法によって行われてよい。一例として、学習対象外図面決定部116は、集合Xに属する複数の図面の内、タイムスタンプが最新の図面を、代表図面として決定してよい。
【0166】
図14では、学習対象外図面決定部116によって、(i)集合Aに属する2つの図面c1およびe1の内から、集合A内の代表図面として図面c1が決定され、かつ、(ii)集合Bに属する2つの図面b1およびd1の内から、集合B内の代表図面として図面b1が決定された場合が例示されている。この場合、学習対象外図面決定部116は、(i)図面e1を集合A内の学習対象外図面として決定するとともに、(ii)図面d1を集合B内の学習対象外図面として決定する。このように、
図14の例では図面a1~M1の内から、図面d1およびe1が学習対象外図面として決定されている。
【0167】
なお、相違度算出部114、類似集合決定部115、および学習対象外図面決定部116は、図面1(図面a1~M1)に対する上述の処理を終了した後、図面2(図面a2~M2)に対して同様の処理を行う。すなわち、相違度算出部114、類似集合決定部115、および学習対象外図面決定部116は、図面1→図面2→…→…図面Nの順に、上述の処理を行う。このように、学習対象外図面決定部116は、図面a1~MN間の相違度に応じて、当該図面a1~MNの内から、学習対象外図面を決定する。
【0168】
そして、学習対象外図面決定部116は、自身が決定した学習対象外図面に応じて、上述のTB2を編集する。具体的には、学習対象外図面決定部116は、図面iにおいて決定した学習対象外図面に応じて、TB2-iを編集する。
図14では、学習対象外図面決定部116によるTB2-1の編集の一例が示されている。
図14の例では、学習対象外図面決定部116は、TB2-1から、図面1における学習対象外図面(すなわち図面d1およびe1)に対応する内容パラメータを削除する。また、学習対象外図面決定部116は、集合Aに図面c1(集合Aの代表図面)の図面番号を付与するとともに、集合Bに図面b1(集合Bの代表図面)の図面番号を付与する。
【0169】
学習対象外図面決定部116は、上述の通りTB2を編集することにより、編集後第2テーブルTB12を生成する。具体的には、学習対象外図面決定部116は、上述の通りTB2-iを編集することにより、編集後第2テーブル内第iサブテーブルTB12-iを生成する。
図15には、TB12-1が例示されている。TB12は、TB12-1~TB12-Nという、N個のサブテーブルのセットによって構成されている。
【0170】
(学習モデル生成部113)
学習モデル生成部113は、学習対象外図面決定部116によって生成されたTB12を教師データとして取得する。そして、学習モデル生成部113は、参考形態と同様の学習処理(例:多項ロジスティック回帰分析)を行うことにより、学習モデルを生成する。学習モデル生成後の各処理については、参考形態と同様である。
【0171】
(実施形態1の効果)
情報処理システム100(情報処理装置1)によっても、参考形態と同様に、図面検索におけるユーザの利便性を従来よりも高めることが可能となる。加えて、学習装置11によれば、参考形態とは異なり、TB12を用いて学習モデルを生成できる。すなわち、学習装置11によれば、参考形態とは異なり、学習対象外図面を除いた各過去図面の内容パラメータに基づき、学習モデルを生成できる。
【0172】
上述のように、学習装置11では、他の過去図面との類似性が高い図面が、学習対象外図面として決定される。そして、学習対象外図面を排除して、過去図面に基づく学習を行うことができる。すなわち、互いに内容の類似性が低い一群の過去図面に基づく学習を行うことができる。従って、上述のパターン3・4の学習が行われる可能性を低減できる。その結果、偏った学習モデルが得られる可能性を低減できる。
【0173】
このように、学習装置11によれば、学習対象外図面を排除して学習を行うことにより、学習モデルの質の低下を防止できる(学習モデルの品質を担保できる)。それゆえ、情報処理システム100では、学習装置11によって生成された質の高い学習モデルを用いて、図面検索装置12による検索を行うことできる。その結果、情報処理システム100によれば、参考形態に比べてさらに高い検索精度を実現できる。
【0174】
〔変形例〕
(1)実施形態1では、本発明の一態様に係る相違度の一例として、L次元空間における距離を例示した。特に、実施形態1では、距離の一例として、ユークリッド距離を例示した。但し、当該距離は、ユークリッド距離に限定されない。当該距離の別の例としては、マンハッタン距離またはチェビシェフ距離を挙げることができる。当該距離は、L次元空間において定義可能な公知の種類の距離(ノルム)であればよい。
【0175】
加えて、本発明の一態様に係る相違度は、必ずしも距離に限定されないことに留意されたい。D(I,J)は、図面Iと図面Jとの記載内容の違いを表現しうる限り、I1~ILおよびJ1~JLに基づいて算出される任意の指標値であってよい。
【0176】
(2)実施形態1では、最長距離法によってD(A,X)を設定する場合を例示した。但し、D(A,X)の設定手法は、最長距離法に限定されない。例えば、最短距離法、重心法、または群平均法などの他の手法によって、D(A,X)が設定されてもよい。
【0177】
なお、最長距離法を用いた場合には、上記他の手法を用いた場合に比べ、D(A,X)を大きい値に設定できる。このため、最長距離法を用いることにより、類似集合決定部115において、より少ない演算回数によって、類似集合の分類処理を完了させることができると期待される。このため、最長距離法は、学習装置11の計算コストの低減から好適な手法であると言える。
【0178】
〔ソフトウェアによる実現例〕
情報処理システム100の制御ブロック(特に制御装置10)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
【0179】
後者の場合、情報処理システム100は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば1つ以上のプロセッサを備えていると共に、上記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、上記コンピュータにおいて、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記プロセッサとしては、例えばCPU(Central Processing Unit)を用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM(Read Only Memory)等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するRAM(Random Access Memory)などをさらに備えていてもよい。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0180】
〔付記事項〕
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0181】
1 情報処理装置
10制御装置
11 学習装置(モデル生成装置)
100 情報処理システム
111 過去図面データ取得部
112 過去図面データ前処理部(検索対象図面内容パラメータ取得部)
113 学習モデル生成部(学習部)
114 相違度算出部
115 類似集合決定部(決定部)
116 学習対象外図面決定部(決定部)
a1~MN 図面(過去図面,検索対象図面)
ND 図面(新規図面,ターゲット図面)
A,B 集合
d1,e1 図面(学習対象外図面)