以下、本発明の一実施形態を、図面を参照して詳細に説明する。
以下で説明する実施形態は、設計変更に関するものである。設計変更の対象となるものは特に限定せず、文書と図面とで設計変更の内容が示されるものであれば良い。以下、設計変更の対象となるものを、設計物として説明する。
以下で説明する実施形態は、文書から設計変更による影響を予測することが可能である。即ち、本実施形態では、文書により示される設計変更と、その設計変更に伴い発生する他の設計変更とを予測可能である。従って、設計物は、設計変更が発生した段階で、設計変更の内容を示す文書等が作成され、その文書から、図面等が作成されるものが好適である。
なお、以下では、設計変更が発生した段階で作成等される、自然言語で記述された変更内容を示す文書を「通知文書」として説明する。
以下、本実施形態の設計変更影響予測システムについて説明する。
図1は本実施形態の設計変更影響予測システムの機能ブロック図の一例である。図1において、設計変更影響予測システム100は、データベース部110、予測モデル構築エンジン部120、予測値算出エンジン部130、予測モデル記憶部140、制御部150等を有する。予測モデル構築エンジン部120、予測値算出エンジン部130及び制御部150等の各々は、データベース部110と、公知の通信ネットワーク160を介して接続されている。また、予測モデル構築エンジン部120及び予測値算出エンジン部130等の各々は、予測モデル記憶部140と、公知の通信ネットワーク170を介して接続されている。
データベース部110は、単語リストDB111と、通知文書DB112と、変更項目情報DB113と、差分情報DB114と、図面履歴情報DB115と、工数情報DB116と、を有する。
単語リストDB111には、単語リスト111a等が格納されている。単語リスト111aは、通知文書から検索すべき単語等を示す。
通知文書DB112には、通知文書112a等が格納されている。通知文書112aは、過去の設計変更における通知文書等である。
変更項目情報DB113には、変更項目情報113a等が格納されている。変更項目情報113aは、過去の設計変更において、変更された設計物の部位等を示す。より具体的には、変更項目情報113aは、過去の設計変更で設計物の図面が変更された際に、変更があった図面における部位や仕様等を示す。以下、この図面における部位や仕様等を、「変更項目」として説明する。
差分情報DB114には、差分情報114a等が格納されている。差分情報114aは、過去の設計変更において、変更前後の図面の差分を示す。この差分情報114aは、具体的には、例えば、変更項目と、その変更項目の変更量等とが対応づけられている。より具体的には、変更項目の変更量とは、例えば、寸法、重量、数量等の変更前後の差分である。
図面履歴情報DB115には、図面履歴情報115a等が格納されている。図面履歴情報115aは、過去に作成等された図面の詳細情報を示す。より具体的には、図面履歴情報115aは、変更項目と、その変更項目の値(例えば寸法、重量、数量等の値)等とが対応づけられている。
工数情報DB116は、工数情報116a等が格納されている。工数情報116aは、過去の設計変更により発生した工数を示す。より具体的には、例えば、変更項目と、その変更項目の値と、その変更項目を変更するのに必要な時間である工数等とが対応付けられている。
なお、通知文書112a、変更項目情報113a、差分情報114a、図面履歴情報115a、工数情報116aは、それらの情報のもとになる設計物や設計変更等が特定可能なように記憶されているものとする。これらを特定する技術は特に限定するものではないが、例えば、各情報に付与等されている、設計変更の識別情報、設計物の識別情報、リビジョンやバージョン等の情報、日時、任意の管理情報等や、これらの組み合わせにより特定可能である。このような技術は公知であるので、詳細な説明は省略する。
また、変更項目情報113a、差分情報114a等は、通知文書により直接変更が示された変更項目と、その変更項目の変更に伴い変更した他の変更項目とが区別可能なように記憶されていてもよい。即ち、変更項目情報113a、差分情報114a等は、通知文書により直接変更が示された変更項目と、その変更に伴い変更が発生した変更項目とが区別可能なように記憶されていてもよい。これらを区別する技術は特に限定するものではないが、例えば、付与等したフラグ等により区別してもよい。また、変更項目情報113a、差分情報114a等の両方が区別可能なように記憶されている必要は無く、少なくともどちらかが区別可能であれば、例えば、上記したような設計変更の識別情報、設計物の識別情報、リビジョンやバージョン等の情報、日時、任意の管理情報等と組み合わせることで区別することができる。このような技術は公知であるので、詳細な説明は省略する。このようにすることで、以下で説明する処理等で、通知文書により直接変更が示された変更項目のみを用いることにより、より精度の高いモデルを構築することが可能となる。
ここで、単語リストDB111に格納されている単語リスト111a一例を説明する。
図2は、単語リストDB111に格納されている単語リスト111aの一例である。図2に一例を示すように、単語リスト111aは、単語201と、単語ID202とが対応づけられている。単語201は、単語を格納する領域である。単語ID202は、対応する単語の識別情報である単語IDを格納する領域である。
単語201に格納されている単語は、通知文書に含まれうる単語のうち、設計変更による変更項目への影響を推測することが可能なものである。以下、このような単語を「キー単語」として説明する。
なお、単語リスト111aは、全ての設計物に対し同じ単語リスト111aを適用するものとしてもよく、また、設計物やその種別等に応じて、異なる単語リスト111aを適用するものとしてもよい。設計物やその種別等に応じて異なる単語リスト111aを適用する場合、設計物や種別等を示す情報を各単語リスト111aに付与しておき、この情報により、以下の処理で用いる単語リスト111aを特定してもよい。
図1に戻り説明する。
予測モデル構築エンジン部120は、変更項目予測モデル構築部121と、項目・変更量予測モデル構築部122と、工数予測モデル構築部123と、を有する。
予測値算出エンジン部130は、形態素解析部131と、単語取得部132と、変更項目取得部133と、項目・変更量取得部134と、工数取得部135と、を有する。
予測モデル記憶部140は、変更項目予測モデルDB141と、項目・変更量予測モデルDB142と、工数予測モデルDB143と、を有する。
制御部150は、出力制御部151、出力部152、入力部153、記憶部154と、を有する。
変更項目予測モデルDB141には、変更項目予測モデル141a等が格納されている。項目・変更量予測モデルDB142には、項目・変更量予測モデル142a等が格納されている。工数予測モデルDB143には、工数予測モデル143a等が格納されている。
変更項目予測モデル141aは、通知文書により設計変更が直接示される変更項目と、各変更項目の変更量の程度とを取得するためのものである。以下、説明のために、変更項目予測モデル141aを用いて取得される、通知文書により設計変更が直接示される変更項目を、「一次変更項目」として説明する。
項目・変更量予測モデル142aは、通知文書により設計変更される全ての変更項目と、その変更項目の変更量の程度とを取得するためのものである。以下、項目・変更量予測モデル142aを用いて取得される、通知文書により設計変更される全ての変更項目を、「二次変更項目」として説明する。
工数予測モデル143aは、二次変更項目及びその変更量の程度から、設計変更に必要な工数を取得するためのものである。
なお、変更項目予測モデル141aで取得される変更項目の変更量の程度と、項目・変更量予測モデル142aで取得される変更項目の変更量の程度とは、粒度が異なる。即ち、項目・変更量予測モデル142aでは、変更項目予測モデル141aよりも細かい分解能で、変更項目の変更量の程度を取得することができる。分解能は特に限定するものではないが、ここでは、変更項目の値の取りえる範囲を、変更項目予測モデル141aでは5段階に分割し、項目・変更量予測モデル142aでは10段階に分割するものとして説明する。この詳細は後述する。
なお、上記分解能は、全ての変更項目予測モデル141a、項目・変更量予測モデル142a等の各々で同じである必要は無く、設計物やその種別等に応じて異なっていてもよい。
上記変更項目予測モデル141a、項目・変更量予測モデル142a、工数予測モデル143aの各々は、具体的には、例えば、これらのモデルを実現するための数や式等を含むプログラム等である。変更項目予測モデルDB141、項目・変更量予測モデルDB142、工数予測モデルDB143の各々には、これらのモデルを実現するためのプログラム等が、そのプログラムが機能する設計物の識別情報、及び/又は、プログラムの作成日時等が付与等されて格納されている。
変更項目予測モデル構築部121は、通知文書DB112と変更項目情報DB113とから取得したデータをもとに変更項目予測モデル141aを構築し、変更項目予測モデルDB141に保存する。
項目・変更量予測モデル構築部122は、差分情報DB114から取得したデータをもとに項目・変更量予測モデル142aを構築し、項目・変更量予測モデルDB142に保存する。
工数予測モデル構築部123は、図面履歴情報DB115と工数情報DB116とから取得したデータをもとに工数予測モデル143aを構築し、工数予測モデルDB143に保存する。
形態素解析部131は予測対象の通知文書を単語に分割する。
単語取得部132は、単語リスト111aに基づき、形態素解析部131が分割した単語のうち、キー単語であるものを取得する。
変更項目取得部133は、変更項目予測モデル141aを用いて、通知文書で直接変更が示される図面内の変更箇所を特定して、一次変更項目を取得する。
項目・変更量取得部134は、項目・変更量予測モデル142aを用いて、通知文書で変更される全ての図面内の変更箇所と、その変更量の確率分布とを取得する。
工数取得部135は、工数予測モデル143aを用いて、工数を算出する。
出力部152は、予測値算出エンジン部130の各部により取得された結果を出力する。入力部153は、予測値算出エンジン部130等へ情報を入力する。出力制御部151は、出力部152への出力を制御する。記憶部154には、リードタイム情報154aが格納されている。
リードタイム情報154aは、具体的には、例えば、変更項目と、その変更項目の変更の仕掛かりからコストが発生するまでのリードタイム等が対応付けられて格納されている。
次に、設計変更影響予測システム100のハードウェア構成例を説明する。
図3は、設計変更影響予測システム100を実現するシステム構成の一例である。図3に示すように、設計変更影響予測システム100は、複数の情報処理装置301と、複数のストレージ302等とから構成される。各情報処理装置301及び各ストレージ302は、公知の通信ネットワーク303を介して接続される。
情報処理装置301は、演算装置311、メモリ312、外部記憶装置313、出力装置314、入力装置315、通信I/F(インターフェース)316等を有する。これらは、バス317を介して接続されている。
演算装置311は、例えばCPU(Central Processing Unit)等である。外部記憶装置313は、例えばHDD(Hard Disk Drive)や、SSD(Solid State Drive)等のフラッシュディスク、任意の記憶メディア及びその読み込み/書き込み装置等である。出力装置314は、例えばディスプレイ装置やスピーカ等である。入力装置315は、例えばキーボード、マウス、マイクロフォン等である。
なお、出力装置314及び入力装置315は、タッチパネル等により1つの装置等で実現してもよく、通信ネットワーク303等を介して接続された他の情報端末(図示略)により実現してもよい。
ストレージ302は、例えばHDDや、SSD等のフラッシュディスク、任意の記憶メディア及びその読み込み/書き込み装置等(図示略)を有する。
なお、図3では、1つの情報処理装置301にのみ上記各構成を示しているが、他の情報処理装置301も同様の構成を有する。また、情報処理装置301及びストレージ302の各々の数は任意であり、図3に示すものに限るわけではない。
ここでは、予測値算出エンジン部130、予測モデル構築エンジン部120、出力制御部151の各構成は、情報処理装置301の演算装置311が、自身の外部記憶装置313等に記憶されたプログラム又は通信I/F316等を介して入力されたプログラムを、メモリ312にロードして実行することにより実現するものとする。
また、予測値算出エンジン部130、予測モデル構築エンジン部120、出力制御部151の各構成は、それぞれ異なる装置等に実現される必要は無く、これらの全て又は一部が、同一の装置等に実現されてもよい。また、予測値算出エンジン部130、予測モデル構築エンジン部120、出力制御部151の各構成は、複数の装置等に分散して実現されてもよい。
また、出力部152は、出力装置314等により実現するものとする。また、入力部153は、入力装置315、及び/又は、通信I/F316等により実現するものとする。また、記憶部154は、外部記憶装置313等により実現するものとする。
また、上記データベース部110、予測モデル記憶部140の各々は、1つ又は複数のストレージ302等により実現するものとする。
図1に示す各構成を実現するものはこれに限るわけではない。例えば、予測モデル構築エンジン部120、予測値算出エンジン部130、出力制御部151の各構成のうち一部又は全てを、回路等によりハードウェアとして実現してもよい。
次に、設計変更影響予測システム100の動作例を説明する。
図4は、設計変更影響予測フローの一例である。なお、ここで説明するフローは、設計変更影響予測システム100の動作概要を説明するものである。この処理を起動するタイミングは限定しないが、例えば、入力部153等から開始指示や通知文書等が入力等された場合に開始する。
図4において、形態素解析部131、単語取得部132は、通知文書からキー単語を取得する(S401)。次に、変更項目取得部133は、S401で取得されたキー単語から、一次変更項目、及び、その変更量の程度を取得する(S402)。項目・変更量取得部134は、S402で取得された情報から、二次変更項目、及び、その変更量の程度を取得する(S403)。ここで、必要であれば、変更項目予測モデル構築部121〜工数予測モデル構築部123によりモデルが作成される。次に、工数取得部135は、S403で取得された情報から、設計変更に伴い発生する工数を取得する(S404)。次に、出力制御部151は、これらの処理で得られた情報を入力部153に出力する(S405)。
上記各処理について詳細に説明する。
まず、S401の処理例を詳細に説明する。
図5は、S401の処理フローの一例である。図5において、形態素解析部131は、予測対象の通知文書を取得する(S501)。この通知文書は、通知文書DB112から読み出されてもよく、また、入力部153等から入力されてもよい。
次に、単語取得部132は、単語リストDB111から、単語リスト111aを読み出して取得する(S502)。
次に、単語取得部132は、S501で取得した通知文書を形態素解析することにより単語を取得する(S503)。形態素解析は公知であるので詳細は省略する。
次に、単語取得部132は、S502で取得した単語リスト111aに基づいて、S503で取得した単語のうち、キー単語であるものを特定して、キー単語の集合であるキー単語リストを取得する。(S504)。単語取得部132は、取得したキー単語リストを、メモリ312等の任意の記憶領域に記憶させる。
上記S501〜S504の処理例を、図面を参照して具体的に説明する。
図6は、通知文書の一例である。上記S501では、図6に一例を示す通知文書600が取得される。
図7は、S503の処理例を説明するための図である。上記のように、単語取得部132は、S503で、形態素解析等の任意の技術により、自然言語で記述された通知文書600から単語を取得する。図7に一例を示す単語集合700は、通知文書600を、取得した単語毎に区切りを入れて示した例である。
図8は、S504の処理例を説明するための図である。上記単語集合700で一例を示すように、通知文書600から、複数の単語が取得されている。単語取得部132は、S503で取得された単語の各々と一致するものが、単語リスト111aに含まれているか否かにより、キー単語を特定し、特定したキー単語の集合を取得する。
具体的には、単語取得部132は、例えば、単語集合700を構成する各々の単語が、単語リスト111aの単語201と一致するか否かにより、キー単語を特定する。ここでは、単語取得部132は、さらに、特定したキー単語に単語IDを付与する。この単語IDは、一致した単語201に対応する単語ID202である。単語集合700のキー単語を、単語リスト111aの単語ID202に置換した例が、図8(A)の置換単語リスト800である。単語取得部132は、さらに、置換単語リスト800を構成するもののうち、単語IDに置換されていない単語を削除等する。図8(B)のキー単語リスト801は、この処理で取得された、単語IDの集合の一例である。
次に、上記S402の詳細を説明する。
図9は、S402の処理フローの一例である。図9において、変更項目取得部133は、変更項目予測モデル141aの構築を行うかどうかを判断するための情報を取得する(S901)。この情報は特に限定するものではないが、例えば、前回のモデル作成日時や、最新のモデル構築後からの累積予測データ数、即ち、図4に一例を示すフローを行った回数等である。これらの情報は、例えば、予測モデル記憶部140の各DBに格納されているモデルと対応づけられている作成日時情報であってもよく、また、外部記憶装置313、ストレージ302等に格納されている情報であってもよい。また、入力部153等から入力された情報であってもよい。
次に、変更項目取得部133は、変更項目予測モデル141aを構築するか否かを判定する(S902)。この判定は特に限定しないが、例えば、上記S901で取得した情報に基づいて判定する。
具体的には、例えば、変更項目取得部133は、前回のモデル作成日時と現在日時との差が所定基準値以上である場合に、変更項目予測モデル141aを構築すると判定する。また、変更項目取得部133は、前回モデルを構築してから、所定の数より多くの予測データを取得していた場合に、変更項目予測モデル141aを構築すると判定する。また、変更項目取得部133は、入力部153等から入力された情報が、変更項目予測モデル141aを構築すると示しているか否かにより判定する。
S902の判定の結果、変更項目予測モデル141aを構築する場合(S902:Y)、変更項目取得部133は、変更項目予測モデル構築部121にモデル構築を指示する。変更項目予測モデル構築部121は、モデル構築に必要な情報を取得する(S903)。ここで取得する情報は、例えば、通知文書DB112に格納されている通知文書112a、変更項目情報DB113に格納されている変更項目情報113a等である。変更項目予測モデル構築部121は、さらに、差分情報DB114に格納されている差分情報114a等を取得してもよい。
次に、変更項目予測モデル構築部121は、S902で読み出した情報から、変更項目予測モデル141aを作成する(S904)。このモデルは特に限定しないが、例えば、SVM(Support Vector Machine)やLogistic Regressionなどの識別モデル、C4.5やRandom Forestなどの分類木、LDA(Latent Dirichlet Allocation)などの生成モデル等でも良い。これらのモデル、及び、モデル作成技術は公知であるので、詳細は省略するが、例えば、変更項目予測モデル構築部121は、公知のモデルを実現する式や数を含むプログラムをフォーマットとし、ここに、S903で読み出した情報から算出等した数を重み値等として含めることにより、モデルを作成してもよい。また、変更項目予測モデル構築部121は、上記S501〜S504等と同様の処理によりキー単語リストを取得し、取得したキー単語リストを用いて、上記モデルを作成してもよい。
変更項目予測モデル構築部121は、作成したモデルを、予測対象の設計物の識別情報や作成日時等と対応づけて変更項目予測モデルDB141に格納する。
一方、S902の判定の結果、変更項目予測モデル141aを構築しない場合(S902:N)、変更項目取得部133は、以下処理で用いる変更項目予測モデル141aを取得する(S905)。具体的には、変更項目取得部133は、変更項目予測モデルDB141から、変更項目予測モデル141aを読み出す。変更項目予測モデルDB141に複数の変更項目予測モデル141aが格納されている場合、変更項目取得部133は、付与等されている設計物の識別情報や各モデルの作成日時等に基づいて、予測対象の設計物のモデル、及び/又は、最新のモデル等を特定して読み出す。
次に、変更項目取得部133は、メモリ312等の任意の記憶領域に記憶されているキー単語リストを読み出して取得する(S906)。
次に、変更項目取得部133は、S904で作成した変更項目予測モデル141a又はS905で取得した変更項目予測モデル141aと、S906で取得したキー単語リストとから、一次変更項目、及び、その変更項目の変更量の程度等を取得する(S907)。
より具体的には、例えば、変更項目取得部133は、S906で取得したキー単語リスト等を入力値とし、変更項目予測モデル141aにより、設計変更により変更される設計物の変更項目毎に、変更項目の取りうる変更量の範囲を所定数に分割した各区分において、どの程度の確率で設計変更が発生しているかを取得する。この変更項目毎の確率は、以下で示すことができる。
なお、上記(1)式において、Δxiは変更項目の変更量の程度を示す。また、Wは通知文書を示す。
ここでは、変更項目予測モデル141aは、上記のように、変更項目の変更量を5段階に区分するものとしている。
図10は、変更項目毎の変更量の確率の例である。図10において、グラフ1000は、変更項目の変更量を、マイナス方向に大変更、マイナス方向に小変更、ほとんど変更無し、プラス方向に小変更、プラス方向に大変更という、5段階に区分した例である。この各区分が、変更項目の変更量の程度を示す。上記(1)式におけるΔxiは、このように5段階に区分した変更量のいずれかであることを示す。
以下、このような変更項目の変更量の程度を、変更量区分として説明する。
変更項目取得部133は、上記のように取得した変更項目毎の確率から、通知文書により設計変更が直接示される変更項目を特定する。変更項目の特定技術は特に限定するものではない。変更項目取得部133は、例えば、上記処理により取得した変更項目毎の確率を基準にソート等して、確率が高いものから順に単数又は複数の変更項目を特定してもよく、また、任意の評価関数等から算出した評価値と閾値等とを比較した結果等から、変更項目を特定してもよい。変更項目取得部133は、このように取得した取得した変更項目及びその変更量区分毎の確率等を、一次変更項目及びその変更量区分毎の確率として、メモリ312等の任意の記憶領域に記憶させる。
なお、ここで取得される一次変更項目の数は任意である。
次に、上記S403の詳細を説明する。
図11は、S403の処理フローの一例である。図11において、項目・変更量取得部134は、項目・変更量予測モデル142aの構築を行うかどうかを判断するための情報を取得する(S1101)。この情報は特に限定するものではなく、例えば、上記S901と同じであるので詳細は省略する。
次に、項目・変更量取得部134は、項目・変更量予測モデル142aを構築するかどうか判定する(S1102)。この判定は特に限定しないが、例えば、上記S902と同じであるので詳細は省略する。
S1102の判定の結果、項目・変更量予測モデル142aを構築する場合(S1102:Y)、項目・変更量取得部134は、項目・変更量予測モデル構築部122にモデル構築を指示する。項目・変更量予測モデル構築部122は、モデル構築に必要な情報を取得する(S1103)。ここで取得する情報は、例えば、差分情報DB114に格納されている差分情報114a等である。
次に、項目・変更量予測モデル構築部122は、S1102で読み出した情報から、項目・変更量予測モデル142aを作成する(S1104)。このモデルは特に限定しないが、例えば、Bayesian Networkなどの確率伝播モデルなどでも良い。このモデル、及び、モデル作成技術は公知であるので、詳細は省略するが、例えば、項目・変更量予測モデル構築部122は、上記S904と同様に、公知のモデルを実現する式や数を含むプログラムをフォーマットとし、ここに、S1103で読み出した情報から算出等した数を重み値等として含めることにより、モデルを作成してもよい。
項目・変更量予測モデル構築部122は、作成したモデルを、予測対象の設計物の識別情報や作成日時等と対応づけて項目・変更量予測モデルDB142に格納する。
一方、S1102の判定の結果、項目・変更量予測モデル142aを構築しない場合(S1102:N)、項目・変更量取得部134は、以下処理で用いる項目・変更量予測モデル142aを取得する(S1105)。具体的には、項目・変更量取得部134は、項目・変更量予測モデルDB142から、項目・変更量予測モデル142aを読み出す。項目・変更量予測モデルDB142に複数の項目・変更量予測モデル142aが格納されている場合、項目・変更量取得部134は、付与等されている設計物の識別情報や各モデルの作成日時等に基づいて、予測対象の設計物のモデル、及び/又は、最新のモデル等を特定して読み出す。
次に、項目・変更量取得部134は、メモリ312等の任意の記憶領域に記憶されている、S907で取得された一次変更項目及びその変更量区分毎の確率等を読み出して取得する(S1106)。
次に、項目・変更量取得部134は、S1104で作成した項目・変更量予測モデル142a又はS1105で取得した項目・変更量予測モデル142aと、S1106で取得した一次変更項目及びその変更量区分毎の確率等とから、設計変更により変更される変更項目と、その変更量区分とを取得する(S1107)。
より具体的には、例えば、項目・変更量取得部134は、S1106で取得した一次変更項目毎の変更量区分等を入力値とし、項目・変更量予測モデル142aにより、設計変更により変更されうる全ての変更項目毎に、変更項目の取りうる変更量の範囲を所定数に分割した各区分において、どの程度の確率で設計変更が発生しているかを取得する。この変更項目毎の確率は、以下で示すことができる。
上記(2)式において、Δx1…Δxpは、変更項目の変更量区分を示す。また、Δxiは、一次変更項目の変更量区分を示す。
なお、上記のように、上記(2)式は、設計変更により変更されうる全ての変更項目を対象としているので、Δx1…Δxpの変更項目には、一次変更項目が含まれうる。
上記のように、ここでは、項目・変更量予測モデル142aは、変更項目の変更量を10段階に区分するものとしている。その確率の例は、上記図10を参照して説明したグラフ1000と、区分の数が異なる点を除き同じである。上記(2)式におけるΔx1…Δxpは、このように10段階に区分した変更量区分のいずれかであることを示す。
項目・変更量取得部134は、上記のように取得した変更項目毎の確率から、設計変更により変更される設計物の変更項目、及び、その変更項目の変更量区分を取得する。そのために、項目・変更量取得部134は、例えば、上記S907と同様に、上記処理により取得した変更項目毎の確率や、任意の評価関数等から算出した評価値と閾値等とを比較した結果等から、上記変更項目及び変更量区分を取得してもよい。項目・変更量取得部134は、取得した変更項目及びその変更項目の変更量区分等を、二次変更項目及びその変更量区分毎の確率として、メモリ312等の任意の記憶領域に記憶させ、さらに、制御部150に出力する。
なお、ここで取得される二次変更項目の数は任意である。
上記のように、一次変更項目の変更量区分の数と、二次変更項目の変更量区分の数とは異なる。一次変更項目の変更量を比較的粗く区分することで、通知文書に基づいた変更項目の特定精度を高くすることが可能となる。また、二次変更項目の変更量を比較的細かく区分することで、二次変更項目及びその変化量の特定精度を高くすることができる。
次に、上記S404の詳細を説明する。
図12は、S404の処理フローの一例である。図12において、工数取得部135は、工数予測モデル143aの構築を行うかどうかを判断するための情報を取得する(S1201)。この情報は特に限定するものではなく、例えば、上記S901と同じであるので詳細は省略する。
次に、工数取得部135は、工数予測モデル143aを構築するかどうか判定する(S1202)。この判定は特に限定しないが、例えば、上記S902と同じであるので詳細は省略する。
S1202の判定の結果、工数予測モデル143aを構築する場合(S1202:Y)、工数取得部135は、工数予測モデル構築部123にモデル構築を指示する。工数予測モデル構築部123は、モデル構築に必要な情報を取得する(S1203)。ここで取得する情報は、例えば、図面履歴情報DB115に格納されている図面履歴情報115a、工数情報DB116に格納されている工数情報116a等である。
次に、工数予測モデル構築部123は、S1203で読み出した情報から、工数予測モデル143aを作成する(S1204)。このモデルは特に限定しないが、例えば、最少二乗法、ステップワイズ回帰、PLS(Partial Least Square)回帰、PCA(Principle Component Analysis)回帰、Ridge回帰、LASSO(Least Absolute Shrinkage and Selection Operator)、Elastic Net、一般化線形モデル等の重回帰モデルなどでも良い。これらのモデル、及び、モデル作成技術は公知であるので、詳細は省略するが、例えば、工数予測モデル構築部123は、上記S904と同様に、公知のモデルを実現する式や数を含むプログラムをフォーマットとし、ここに、S1203で読み出した情報から算出等した数を重み値等として含めることにより、モデルを作成してもよい。
工数予測モデル構築部123は、作成したモデルを、予測対象の設計物の識別情報や作成日時等と対応づけて工数予測モデルDB143に格納する。
一方、S1202の判定の結果、工数予測モデル143aを構築しない場合(S1202:N)、工数取得部135は、以下処理で用いる工数予測モデル143aを取得する(S1205)。具体的には、工数取得部135は、工数予測モデルDB143から、工数予測モデル143aを読み出す。工数予測モデルDB143に複数の工数予測モデル143aが格納されている場合、工数取得部135は、付与等されている設計物の識別情報や各モデルの作成日時等に基づいて、予測対象の設計物のモデル、又は、最新のモデル等を特定して読み出す。
次に、工数取得部135は、メモリ312等の任意の記憶領域に記憶されている、S907で取得された一次変更項目及びその変更量区分毎の確率、S1107で取得された二次変更項目及びその変更量区分毎の確率等を読み出して取得する(S1206)。
次に、工数取得部135は、S1204で作成した工数予測モデル143a又はS1205で取得した工数予測モデル143aと、S1206で取得した情報等とから、設計変更により発生する工数を取得する(S1207)。
より具体的には、例えば、工数取得部135は、S1206で取得した、一次変更項目及びその変更量区分毎の確率と、二次変更項目及びその変更量区分毎の確率等とを入力値とし、工数予測モデル143aにより、設計変更により発生する工数を取得する。1つの二次変更項目の工数は、以下で示すことができる。
また、通知文書に基づく設計変更により発生する全ての工数の期待値を算出する技術は任意であるが、例えば、上記(3)式を積分した以下式で算出することができる。
工数取得部135は、設計変更により変更される設計物の工数の期待値に、出力装置314等に格納されている工数単価を積算等することにより、コストを算出する。工数取得部135は、このように算出した工数及びそのコスト等を、メモリ312等の任意の記憶領域に記憶させ、さらに、制御部150に出力する。
次に、S405の出力処理について説明する。
出力制御部151は、項目・変更量取得部134、工数取得部135等から出力された情報を、自身のメモリ312及び/又は外部記憶装置313等に記憶させる。出力制御部151は、この情報を出力部152に出力させる処理を行う。
例えば、出力制御部151は、メモリ312及び/又は外部記憶装置313等から、二次変更項目及びその変更量区分毎の確率等を読み出し、これらを出力するための情報を作成して、出力部152に出力する。
図13は、二次変更項目及びその変更量区分毎の確率を表示する画面の例である。図13において、画面1300は、二次変更項目及びその変更量区分毎の確率を、ヒストグラムとして表示した場合の例である。画面1300では、二次変更項目と、その変更項目のヒストグラム等とが表示される例を示している。
また、例えば、出力制御部151は、メモリ312及び/又は外部記憶装置313等から読み出したコストを出力部152に出力する。この出力形態は特に限定しないが、ここでは、追加コストが発生する時間軸をさらに加えて出力する例を説明する。
図14は、設計変更に伴い発生する追加コスト及びその時期を示す画面の例である。図14において、画面1400は、縦軸を追加コスト、横軸を時間として、いわゆる箱ひげ図として表示した場合の例である。
画面1400を表示するための情報を作成する技術は特に限定しないが、例えば、出力制御部151は以下の処理を行う。
出力制御部151は、メモリ312及び/又は外部記憶装置313等から、二次変更項目及びその変更量区分毎の確率等を読み出す。さらに、出力制御部151は、記憶部154から、リードタイム情報154aを読み出す。出力制御部151は、読み出した二次変更項目と、リードタイム情報154a等とに基づいて、二次変更項目毎のリードタイムを取得する。
さらに、出力制御部151は、上記処理で取得した二次変更項目毎のリードタイムから、例えば月日等の時期と、その時期に工数が発生する二次変更項目とを特定する。出力制御部151は、このようにして特定した情報から、所定期間を、例えば時、日、週、月、年等任意に分割した各単位時間の間に、工数が発生する二次変更項目を特定する。この単位時間は、予め設定されていてもよく、入力部153等から入力等されてもよい。出力制御部151は、このように特定した、各単位時間の間に工数が発生する二次変更項目から、各単位時間の間に発生する工数を算出する。この処理は特に限定しないが、例えば、上記S1207と同様にして取得してもよい。ここでの処理とS1207での処理との差異は、ここでは、処理対象とする単位時間の間に工数が発生する二次変更項目のみの工数を算出するのに対し、S1207では、工数発生時期を限定せず、全ての二次変更項目の工数を算出することである。
出力制御部151は、このように算出した、各単位時間の間に発生する工数を表示する情報を作成し、画面1400に一例を示すように表示させる。このとき、出力制御部151は、箱ひげ図の箱の部分を、上記変更量区分毎の確率により定める。箱の部分とする確率の範囲は任意であり、予め設定されていてもよく、入力部153等から入力等されてもよい。
設計物、特に、製造・生産・建築等の開始から完成までに時間を要する設計物は、製造・生産・建築等の途中で発生する諸事情から、完成までに設計を変更する場合がある。このような変更が発生すると、設計変更に対応するため、新規の部材発注や製造・生産・建築工数の追加などによる追加コストが発生する。
そのため、追加コストの発生を抑制するためには、設計変更案が発生した段階で、設計変更による追加コストを予測し、その費用対効果の観点から設計変更を行うかどうかを判断することが好ましい。
上記で説明した実施形態では、設計変更案が発生した段階で作成等される文書から、設計変更によって生じる追加工数や追加コストを予測することができる。従って、設計物としては、製造・生産・建築等の着手から完成までの間に、複数回の設計変更があるもの、及び/又は、ある部位等の設計変更に伴い他の部位等の設計変更が発生するものが、本実施形態の効果をより享受することができる。
上記のように、本実施形態では、上記モデルにより、通知文書から、その通知文書で直接変更が示される変更項目等を特定し、この特定した変更項目等と、上記モデルとから、通知文書に従い最終的に変更される変更項目等を特定する。最終的に変更される変更項目等を特定するために、モデルにより特定した変更項目等を用いることで、少ない過去データでも、設計変更の影響を予測することが可能となる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各図において、制御線や情報線は説明上必要と考えられるものを示しており、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。