(57)【要約】【課題】  車両の設計を支援する設計支援装置に用いられるデータ構造において、部材間の関係及び制約等の関係性に基づいてデータを容易に抽出可能とする。【解決手段】  データ構造であって、既存の車両の部材の構造に関するパラメータ又は構造に対する制約を示すブロックを含む第１のグラフ３１と、開発時に設定されたゴール又は戦略を示す要素を含む第２のグラフ３３と、第１のグラフ及び第２のグラフの関係を示すナレッジグラフ３５とを含み、ナレッジグラフは、ブロック及び要素のそれぞれに対応するノードｇ１１〜ｇ４２、ｓ１１〜ｓ４１と、互いに関係する２つのブロックに対応するノードを接続するエッジｅ１と、互いに関係する２つの要素に対応するノードを接続するエッジｅ２と、ブロック及びブロックに関係する要素それぞれに対応するノードを接続する少なくとも１つのエッジｅ３とを含む。【選択図】  図３
2020129267.tif 000002
【特許請求の範囲】
【請求項１】
ユーザからのクエリをテキスト形式で受け付けて、前記クエリに対する回答をテキスト形式で通知することにより、前記ユーザの車両の設計を支援する設計支援装置のデータ構造であって、
既存の前記車両を構成する部材の構造に関するパラメータ又は前記構造に対する制約に関連付けられたブロックを含む第１のグラフと、
前記車両の開発時に設定されたゴール又は前記ゴールへの戦略に関連付けられた要素を含む第２のグラフと、
前記第１のグラフ及び前記第２のグラフの関係を示すナレッジグラフとを含み、
前記ナレッジグラフは、前記ブロック及び前記要素のそれぞれに対応するノードと、互いに関係する２つの前記ブロックに対応する前記ノードを接続するエッジと、互いに関係する２つの前記要素に対応する前記ノードを接続するエッジと、前記ブロック及び前記ブロックに関係する前記要素それぞれに対応する前記ノードを接続する少なくとも１つのエッジとを含み、
前記設計支援装置は、前記クエリに対して自然言語処理を行って質問の意図を抽出する会話エンジンと、前記会話エンジンによって抽出された前記質問の意図に基づいて、前記クエリに対応する前記ノードを開始ノードとして抽出するナレッジエンジンと、前記開始ノードに前記エッジを介して接続された前記ノードの中から、前記回答に対応する前記ノードを回答ノードとして抽出する抽出処理を行うエキスパートフレームとを備え、
前記ナレッジグラフが前記エキスパートフレームによる前記抽出処理に用いられることを特徴とするデータ構造。
【請求項２】
前記パラメータ、前記制約、前記ゴール、及び前記戦略はそれぞれ複数の抽象レベルに分類されていることを特徴とする請求項１に記載のデータ構造。
【請求項３】
前記抽象レベルは前記車両がどのように機能すべきかの要求、前記車両の性質を記載する物理法則、及び設計のプロセスのいずれか１つを含む第１の階層と、既存の前記車両に含まれる前記部材の前記パラメータ、及び、前記部材に要求される前記制約を含む第２の階層と、計算機によるシミュレーションによって得られたデータを含む第３の階層と、実物による実験によって得られたデータを含む第４の階層とを含み、
前記抽出処理において、前記エキスパートフレームは前記開始ノードに前記エッジを介して接続された前記ノードの中から、前記回答ノードとして前記第１の階層又は前記第２の階層に属する前記制約に関連付けられた前記ノードを抽出可能であることを特徴とする請求項２に記載のデータ構造。
【請求項４】
前記エキスパートフレームは、前記開始ノードに前記エッジを介して接続された前記ノードの中から、前記会話エンジンによって抽出された前記質問の意図に最も関係の深い前記制約に対応する前記ノードを前記回答ノードとして抽出することを特徴とする請求項１〜請求項３のいずれか１つの項に記載のデータ構造。
【請求項５】
前記設計支援装置は前記ユーザからの前記クエリを音声により受け付け、前記回答を音声によって出力可能なユーザインタフェースを備えることを特徴とする請求項４に記載のデータ構造。
【請求項６】
前記ナレッジグラフは前記エッジそれぞれに対して、前記エッジによって接続された２つの前記ノードの関係性の強弱を示す重みが付与され、
前記重みが前記会話エンジンによって抽出された前記質問の意図と前記制約との関係性の強弱の判定に用いられることを特徴とする請求項４又は請求項５に記載のデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はデータ構造、特に車両の設計を支援する設計支援装置に用いられるデータ構造に関する。
【背景技術】
【０００２】
数多くの要素からなるシステム、例えば車両などにおいては、フレーム（メンバ）、エンジン、車輪等の各要素が互いに相関し、協働することによって駆動する。よって、要素の一つを設計変更すると他の要素に影響が及び、システムの設計変更が容易ではない。そこで、車両の設計を行うための設計支援システムであって、一つの要素の設計変更に伴って入力された入力諸元値に基づいて、他の関連する要素の諸元値を自動的に変更するものが開発されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−３７５０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
車両を構成する部材は互いに相関しあっているため、車両を構成する部材の大きさや重量などパラメータは部材間の関係や部材に対する制約によって決定される。よって、ユーザにとっては、設計時に数多くのデータの中から必要となるデータを抽出することが大きな負担となっている。
【０００５】
ユーザの設計時の負担を低減するため、設計支援装置に、ユーザからの質問（クエリ）を受け付けて、回答を通知する機能を持たせることが考えられる。設計支援装置によって通知される回答は広範囲な部材間の関係や部材に対する制約等の関係性に基づいて決定されることが好ましい。よって、設計支援装置に用いられるデータには、これらの関係性に基づいて回答の通知に必要なデータを容易に抽出可能となる構造を備えることが求められる。
【０００６】
本発明は、以上の背景を鑑み、ユーザからのクエリを受け付けて、クエリに対する回答を通知することによって車両の設計を支援する設計支援装置に用いられるデータ構造において、部材間の関係及び制約等の関係性に基づいて回答に対応するデータを容易に抽出可能とすることを課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために本発明のある態様は、ユーザからのクエリをテキスト形式で受け付けて、前記クエリに対する回答をテキスト形式で通知することにより、前記ユーザの車両の設計を支援する設計支援装置（１）のデータ構造（Ｘ）であって、既存の前記車両を構成する部材の構造に関するパラメータ又は前記構造に対する制約に関連付けられたブロック（Ｇ１１〜Ｇ４２）を含む第１のグラフ（３１）と、前記車両の開発時に設定されたゴール又は前記ゴールへの戦略に関連付けられた要素（Ｓ１１〜Ｓ４１）を含む第２のグラフ（３３）と、前記第１のグラフ及び前記第２のグラフの関係を示すナレッジグラフ（３５）とを含み、前記ナレッジグラフは、前記ブロック及び前記要素のそれぞれに対応するノード（ｇ１１〜ｇ４２、ｓ１１〜ｓ４１）と、互いに関係する２つの前記ブロックに対応する前記ノードを接続するエッジ（ｅ１）と、互いに関係する２つの前記要素に対応する前記ノードを接続するエッジ（ｅ２）と、前記ブロック及び前記ブロックに関係する前記要素それぞれに対応する前記ノードを接続する少なくとも１つのエッジ（ｅ３）とを含み、前記設計支援装置は、前記クエリに対して自然言語処理を行って質問の意図を抽出する会話エンジン（９）と、前記会話エンジンによって抽出された前記質問の意図に基づいて、前記クエリに対応する前記ノードを開始ノードとして抽出するナレッジエンジン（１１）と、前記開始ノードに前記エッジを介して接続された前記ノードの中から、前記回答に対応する前記ノードを回答ノードとして抽出する抽出処理を行うエキスパートフレーム（１３）とを備え、前記ナレッジグラフが前記エキスパートフレームによる前記抽出処理に用いられることを特徴とする。
【０００８】
この構成によれば、データ構造はナレッジグラフを含み、ナレッジグラフには部材間の関係、及び部材とその部材に対する制約の関係がエッジによって記載されている。これにより、設計支援装置がナレッジグラフを参照することで、部材間の関係及び制約に基づいて回答に対応するデータを容易に抽出することができる。
【０００９】
更に、ナレッジグラフには第２のグラフに対応するノード及びエッジが含まれているため、設計支援装置がゴールと戦略との関係を含むより広い関係性に基づいて回答に対応するデータを抽出することができる。
【００１０】
上記の態様において、前記パラメータ、前記制約、前記ゴール、及び前記戦略はそれぞれ複数の抽象レベル（２１、２３、２５、２７）に分類されているとよい。
【００１１】
この構成によれば、設計支援装置がユーザに適した抽象レベルの回答を通知することができる。
【００１２】
上記の態様において、前記抽象レベルは前記車両がどのように機能すべきかの要求、前記車両の性質を記載する物理法則、及び設計のプロセスのいずれか１つを含む第１の階層（２１）と、既存の前記車両に含まれる前記部材の前記パラメータ、及び、前記部材に要求される前記制約を含む第２の階層（２３）と、計算機によるシミュレーションによって得られたデータを含む第３の階層（２５）と、実物による実験によって得られたデータを含む第４の階層（２７）とを含み、前記抽出処理において、前記エキスパートフレームは前記開始ノードに前記エッジを介して接続された前記ノードの中から、前記回答ノードとして前記第１の階層又は前記第２の階層に属する前記制約に関連付けられた前記ノードを抽出可能であるとよい。
【００１３】
この構成によれば、設計支援装置は第１の階層又は第２の階層に含まれるデータに基づいて回答を出力することができる。これにより、設計支援装置は第１の階層又は第２の階層に含まれる制約に基づいて、回答を出力することができる。これにより、設計支援装置がシミュレーションの結果や実物による実験結果のみではなく、設計のプロセスや機能を含む設計により有用な情報をユーザに通知することが可能となる。
【００１４】
上記の態様において、前記エキスパートフレームは、前記開始ノードに前記エッジを介して接続された前記ノードの中から、前記会話エンジンによって抽出された前記質問の意図に最も関係の深い前記制約に対応する前記ノードを前記回答ノードとして抽出するとよい。
【００１５】
この構成によれば、エッジを辿ることによって回答を取得することができるため、回答を取得する処理が簡素になる。
【００１６】
上記の態様において、前記設計支援装置は前記ユーザからの前記クエリを音声により受け付け、前記回答を音声によって出力可能なユーザインタフェース（７）を備えるとよい。
【００１７】
この構成によれば、ユーザは音声によりクエリを入力することができ、音声により回答を受け取ることができるため、設計支援装置の利便性が向上する。
【００１８】
上記の態様において、前記ナレッジグラフは前記エッジそれぞれに対して、前記エッジによって接続された２つの前記ノードの関係性の強弱を示す重みが付与され、前記重みが前記会話エンジンによって抽出された前記質問の意図と前記制約との関係性の強弱の判定に用いられるとよい。
【００１９】
この構成によれば、重みを用いることで、会話エンジンによって抽出された質問の意図に関係性の深い制約を容易に取得することができる。
【発明の効果】
【００２０】
以上の構成によれば、ユーザからのクエリを受け付けて、クエリに対する回答を通知することによって車両の設計を支援する設計支援装置に用いられるデータ構造において、部材間の関係及び制約等の関係性に基づいて回答に対応するデータが容易に抽出可能となる。
【図面の簡単な説明】
【００２１】
【図１】本発明に係るデータ構造が利用される設計支援装置の構成図
【図２】（Ａ）第１のグラフの説明図、及び（Ｂ）第２のグラフの説明図
【図３】ナレッジグラフの説明図
【図４】方法選択モデルの一例を示す図
【図５】類語辞書及び意図理解モデルの一例を示す図
【図６】設計支援装置で行われる処理を説明するためのシーケンス図
【発明を実施するための形態】
【００２２】
以下、図面を参照して、本発明に係るデータ構造の実施形態について説明する。
【００２３】
データ構造Ｘは車両の設計支援を行う設計支援装置１に用いられる。ここでいう設計支援とは、設計に携わるユーザから質問（クエリ）を受け付けて、既存の製品（既存車両）及びその部品についてのデータや、既存の製品の設計過程において作られた目標及び戦略等のデータ等に基づいて回答を導出し、ユーザに通知することである。
【００２４】
設計支援装置１は、中央演算処理装置（ＣＰＵ）と、メモリと、ハードディスク２とを備えたコンピュータによって構成されている。図１に示すように、設計支援装置１は、データ格納部３と、情報ブロック５と、ユーザインタフェース７と、ナレッジエンジン１１と、エキスパートフレーム１３とを備えている。
【００２５】
データ格納部３はハードディスク２に既存の製品の構造、及び当該製品の開発時の目標及び過程を含む設計に関するデータを異なる複数の抽象レベルに分類して保存している。より具体的には、データ格納部３は抽象レベルの高い順に第１〜第４の４つの階層に分けてデータを保存している。第１の階層のデータ２１は概念を定義するものであり、設計対象となるシステム（本実施形態では車両）のパラメータ、システムがどのように機能すべきかの要求、それらを記載する物理法則、方程式、及び設計のプロセスに関するデータの少なくともいずれか１つを含む。第２の階層のデータ２３は第１の階層の情報に記載された要求や物理法則に基づいて設計されたシステムを構成する部材のパラメータ、及びその部材に要求される機能に関するデータが含まれる。第３の階層のデータ２５には、計算機によるシミュレーションによって得られたデータが含まれる。第４の階層のデータ２７は、実際の材料、試験サンプルの物理的空間を表し、実物による実験によって得られたデータ、デッサン、写真、レポート及び他の物理的な証拠が含まれる。
【００２６】
情報ブロック５はデータの関係を規定するグラフをメモリに保存している。情報ブロック５が保存するグラフは、データ格納部３内の既存の製品の構造に関するデータに関連付けられた第１のグラフ３１と、データ格納部３内の当該製品の開発時の目標及び過程に関するデータに関連付けられた第２のグラフ３３と、第１のグラフ３１及び第２のグラフ３３の関係を規定するナレッジグラフ３５とを含む。
【００２７】
換言すれば、設計支援装置１の情報ブロック５に保持されるデータは、第１のグラフ３１と、第２のグラフ３３と、２つのグラフ３１、３３の関係を規定するナレッジグラフ３５とを含むデータ構造Ｘを有している。第１のグラフ３１、第２のグラフ３３、及びナレッジグラフ３５はそれぞれ頂点と、頂点を関連性に基づいて結ぶ有向な線（矢印）とを含むグラフ構造を備えたデータベースであり、いわゆるグラフデータベースである。
【００２８】
第１のグラフ３１は図２（Ａ）に示すようにＳｙｓＭＬによって記載された既存の製品のシステム構造を示すグラフデータベースであり、頂点としてのブロックを複数含む。ブロックはそれぞれデータ格納部３に保存されたデータの目次や要約、ファイル名等を含み、データ格納部３に保存されたデータに関連づけられている。第１のグラフ３１はブロックとして、Ｇｅｎｅｒａｌ  Ｃｏｎｓｔｒａｃｔｏｒ（以下、一般ブロック３７）と、Ｃｏｎｓｔｒａｉｎｔ  ｂｌｏｃｋ（以下、制約ブロック３９）とを含む。一般ブロック３７は既存の製品（すなわち、過去の設計対象）全体に関するパラメータ（耐荷重、寸法、及び重量など）を含むデータ、又は過去の設計対象を構成する部材に関するパラメータを含むデータに関連付けられたブロックである。制約ブロック３９は既存の製品全体（過去の設計対象全体）に対する制約に関するデータ、又は既存の製品（過去の設計対象）を構成する部材に対する制約に関するデータに関連付けられたブロックである。
【００２９】
図２（Ａ）には本実施形態に係る第１のグラフ３１の一部が示されている。第１のグラフ３１はＳ１１、Ｓ２１〜Ｓ２７、Ｓ３１、及びＳ４１（以下、Ｓ１１〜Ｓ４１と記載）のブロックを含む。Ｓ１１は車両全体の寸法や重量、耐荷重等のパラメータに関するデータに関連付けられた一般ブロック３７である。Ｓ２１は車両の骨格を構成するメンバの寸法、重量などのパラメータに関するデータに関連付けられた一般ブロック３７である。Ｓ２２はエンジンルームの寸法などのパラメータに関するデータに関連付けられた一般ブロック３７である。Ｓ２３はメンバを構成するサイドメンバの寸法等のパラメータに関するデータに関連付けられた一般ブロック３７であり、Ｓ２４はメンバを構成するクロスメンバの寸法等のパラメータに関するデータに関連付けられた一般ブロック３７であり、Ｓ２５はエンジンルームを構成するサイドメンバの寸法等のパラメータに関するデータに関連付けられた一般ブロック３７である。Ｓ２３とＳ２５とは同じデータに関連づけられるように構成されていてもよい。Ｓ２６はサイドメンバ及びクロスメンバを含むメンバに一般的に要求される機能が記載されたデータに関連付けられた制約ブロック３９である。Ｓ２７はエンジンルームを構成するサイドメンバに要求される機能が記載されたデータに関連づけられた制約ブロック３９である。Ｓ３１はサイドメンバ単体に対する耐荷重のシミュレーションのデータに関連付けられた一般ブロック３７であり、Ｓ４１はサイドメンバに対する耐荷重試験のデータに関連付けられた一般ブロック３７である。
【００３０】
一般ブロック３７は対応する部材の包含関係に基づいて、実線の矢印によって互いに接続されている。但し、矢印の向きは包含される部材に対応する一般ブロック３７から包含する部材に対応する一般ブロック３７に向くように設定されている。より具体的には、Ｓ２１及びＳ２２はそれぞれＳ１１に向かう実線の矢印によって接続されている。これは、車両（Ｓ１１）に、メンバ（Ｓ２１）及びエンジンルーム（Ｓ２２）が含有されていることを意味する。Ｓ２３及びＳ２４はそれぞれＳ２１に向かう実線の矢印によって接続されている。これは、メンバ（Ｓ２１）にサイドメンバ（Ｓ２３）及びクロスメンバ（Ｓ２４）が含まれていることを意味する。Ｓ２５はＳ２２に向かう実線の矢印によって接続されている。これは、エンジンルーム（Ｓ２２）にサイドメンバ（Ｓ２５）が含まれていることを意味する。Ｓ３１はＳ２３に向かう実線の矢印によって接続されている。これは、サイドメンバ（Ｓ２３）に関する情報として、耐荷重のシミュレーションのデータ（Ｓ３１）が包含されることを意味する。Ｓ４１はＳ２３に接続されている。これは、サイドメンバに対する耐荷重試験（実験）のデータ（Ｓ４１）がサイドメンバ（Ｓ２３）に関する情報に含まれることを意味する。
【００３１】
制約ブロック３９は、制約を加える部材に対応する一般ブロック３７に矢印によって接続されている。但し、矢印は制約から制約を加える部材に対応する一般ブロック３７に向くように構成されている。より具体的には、Ｓ２６はＳ２３、Ｓ２４、及びＳ２５に向かう破線の矢印によって接続されている。これは、Ｓ２６に記載された要求が、サイドメンバ（Ｓ２３、Ｓ２５）及びクロスメンバ（Ｓ２４）への制約となっていることを意味する。同様に、Ｓ２７はＳ２５に向かう破線の矢印によって接続されている。これは、Ｓ２７に記載された要求がエンジンルーム（Ｓ２２）を構成するサイドメンバ（Ｓ２５）への制約となっていることを意味する。但し、図２（Ａ）では、包含関係及び制約関係を便宜的に矢印によって示したがこの態様には限定されず、例えば、図２（Ａ）の矢印の矢先が菱形等の図形に置き換えられていてもよい。
【００３２】
第１のグラフ３１は、第１の階層のデータ２１に関連付けられたブロックと、第２の階層のデータ２３に関連付けられたブロックと、第３の階層のデータ２５に関連付けられたブロックと、第４の階層のデータ２７に関連付けられたブロックとを含んでいる。より具体的には、図２（Ａ）に示すように、Ｓ１１が第１の階層のデータ２１に関連付けられたブロックであり、Ｓ２１〜Ｓ２５がそれぞれ第２の階層のデータ２３に関連付けられたブロックであり、Ｓ３１が第３の階層のデータ２５に関連付けられたブロックであり、Ｓ４１が第４の階層のデータ２７に関連づけられたブロックである。
【００３３】
第２のグラフ３３は図２（Ｂ）に示すようにＧＳＮによって記載された開発時の目標構造を示すグラフデータベースであり、頂点としての要素を複数含む。要素はそれぞれデータ格納部３によって格納されたデータに関連付けられており、各要素には関連付けられたデータの目次や要約が記載されている。要素は関連付けられたデータの種類によって、ゴール、戦略、証拠の３つの種類に分類されている。ゴールに分類される要素は過去の設計対象、すなわち既存の製品の開発時に設定されたゴールを示すデータに関連付けられている。戦略に分類される要素は、既存の製品の開発時に設定されたゴールを実現するための戦略を示すデータに関連付けられている。証拠に分類される要素は、過去の設計対象の開発過程において、実験やコンピュータ（計算機）によるシミュレーションなどによって取得されたデータに関連付けられている。以下では、簡略化のため、第２のグラフ３３における各要素を必要に応じて、その種類の名称（ゴール、戦略、証拠）を用いて記載する。
【００３４】
図２（Ｂ）には、本実施形態の第２のグラフ３３の一部が示されている。第２のグラフ３３はＧ１１、Ｇ２１、Ｇ２２、Ｇ３１〜Ｇ３３、及びＧ４１〜Ｇ４３（以下、Ｇ１１〜Ｇ４３と記載）の要素を含む。図２（Ｂ）では、ゴールは長方形によって、戦略は平行四辺形によって、証拠は楕円によってそれぞれ示されている。第２のグラフ３３は、車両の安全性能の向上と記載されたゴール（Ｇ１１）と、ゴール（Ｇ１１）に対する車体の耐荷重向上という戦略（Ｇ２１）と、戦略（Ｇ２１）に対するサイドメンバの設計というゴール（Ｇ２２）と、サイドメンバの設計というゴール（Ｇ２２）に対するシミュレーションという戦略（Ｇ３１）、戦略（Ｇ３１）に対するサイドメンバの耐荷重計算というゴール（Ｇ３２）と、ゴール（Ｇ３２）に対する耐荷重計算結果である証拠（Ｇ３３）とを含む。本実施形態では、第２のグラフ３３は更に、サイドメンバの設計というゴール（Ｇ２２）に対する耐荷重試験という戦略（Ｇ４１）と、戦略（Ｇ４１）に対する実物試験の実行というゴール（Ｇ４２）と、ゴール（Ｇ４２）に対する実物試験結果である証拠（Ｇ４３）とを含んでいる。
【００３５】
図２（Ｂ）に示すように、ゴールとゴールを実現するための戦略とはゴールから戦略に向く実線の矢印によって互いに接続されている。戦略とその戦略を実現するためのゴールとは戦略からゴールに向く実線の矢印によって互いに接続されている。より具体的には、Ｇ１１はＧ２１に向く実線の矢印によってＧ２１に接続され、Ｇ２１はＧ２２に向く実線の矢印によってＧ２２に接続され、Ｇ２２はＧ３１に向く実線の矢印によってＧ３１に、Ｇ４１に向く実線の矢印によってＧ４１にそれぞれ接続されている。Ｇ３１はＧ３２に向く実線の矢印によってＧ３２に接続され、Ｇ３２はＧ３３に向く矢印によってＧ３３に接続されている。Ｇ４１はＧ４２に向く実線の矢印によってＧ４２に接続され、Ｇ４２はＧ４３に向く矢印によってＧ４３に接続されている。これらの矢印は設計のプロセスに対応している。
【００３６】
第２のグラフ３３は、第１のグラフ３１と同様に、第１〜第４の４つの階層に相当するデータに関連付けられた要素を含んでいる。本実施形態では、Ｇ１１が第１の階層のデータ２１に関連付けられ、Ｇ２１、及びＧ２２が第２の階層のデータ２３に関連付けられ、Ｇ３１〜Ｇ３３が第３の階層に関連付けられ、Ｇ４１〜Ｇ４３が第４の階層のデータ２７に関連付けられている。
【００３７】
図３に示すように、ナレッジグラフ３５は第１のグラフ３１及び第２のグラフ３３を、頂点としてのノード（Ｓ１１〜Ｓ４１、Ｇ１１〜Ｇ４３）及びノードを接続する矢印（以下、エッジ）を有するグラフデータベースに変換することによって得られたものである。
【００３８】
より具体的には、ナレッジグラフ３５は次のようにして得られる。まず、第１のグラフ３１のブロックＳ１１〜Ｓ４１をそれぞれノードｓ１１〜ｓ４１に変換し、図２（Ａ）と同様に、包含及び制約を示すエッジ（第１エッジｅ１）によって接続する。次に、第２のグラフ３３の要素Ｇ１１〜Ｇ４３をそれぞれノードｇ１１〜ｇ４３に変換し、図２（Ｂ）と同様に、ノードｇ１１〜ｇ４３をエッジ（第２エッジｅ２）によって接続する。但し、第１のグラフ３１のブロックＳ１１〜Ｓ４１に対応するノードｓ１１〜ｓ４１をそれぞれ、第１のグラフ３１の場合とは逆向きの矢印によって接続する。
【００３９】
更に、第１のグラフ３１の各ブロックＳ１１〜Ｓ４１と、第２のグラフ３３の要素Ｇ１１〜Ｇ４３との間の共通性が高いものをそれぞれ、第２のグラフ３３のブロックに対応するノードから第１のグラフ３１の要素に対応するノードに向かうエッジ（第３エッジｅ３）によって接続する。本実施形態では、第２のグラフ３３の要素Ｇ３２（耐荷重計算）に対応するノードｇ３２と、第１のグラフ３１のブロックＳ３１（サイドメンバの耐荷重シミュレーションのデータ）に対応するノードｓ３１とが、ノードｇ３２からノードｓ３１に向かうエッジによって接続されている。ブロックと要素との共通性はそれぞれの内容に含まれる単語や画像の共通性によって判定するとよい。このように構成することで、ノードがそれぞれ、設計開発プロセスや設計上の考慮事項に基づいてエッジによって接続される。これにより、ナレッジグラフ３５にはデータ格納部３に保存されたデータの関係性が保持されている。
【００４０】
第１エッジｅ１、第２エッジｅ２、及び第３エッジｅ３の各エッジには、エッジが接続する２つのノードの関係性の強弱を示す数値である重みが付与されている。重みは経験豊富な設計開発者（専門家、エキスパート）の過去の経験やこれまでにユーザが行った質問などに基づいて決定されている。例えば、重みは専門家が設計支援装置１に質問を入力し、自らの経験に基づいて導出された回答に対する評価を行う教師ありの機械学習を行うことによって決定されるとよい。本実施形態では、エッジによって接続された２つのノードの関係性が強くなるほど重みが大きくなるように設定されている。図３に示すように、重みは０〜１の間の数値で表されている。
【００４１】
ユーザインタフェース７はユーザからの質問（クエリ）を受け付けてテキスト形式で出力するとともに、ユーザに回答を通知するための装置である。ここでいうテキスト形式とは、ユーザが理解することのできる文字のみで構成されたデータを意味する。
【００４２】
本実施形態では、ユーザインタフェース７はユーザからの音声が入力されるマイクロホン４１を含む。ユーザインタフェース７は、ユーザからのマイクロホン４１への音声入力があると、その音声をテキスト形式に変換することによってクエリとして受け付ける。その後、ユーザインタフェース７はクエリを会話エンジン９にテキスト形式で出力する。ユーザインタフェース７は更にキーボード４３や、ハードディスク２に図面、写真、シミュレーションの結果のような数値データなどを格納するための出入力ポート４５（ＵＳＢポートやＬＡＮポート）を含んでいてもよい。
【００４３】
ユーザインタフェース７はユーザに会話エンジン９からのテキスト形式のデータを受け付けて音声として出力するスピーカ４７を含む。ユーザインタフェース７は、会話エンジン９からのテキスト形式のデータを音声に変換し、テキスト形式のデータを音声によってユーザに通知する。本実施形態では、ユーザインタフェース７は図面、実験データ、写真、画像、及びテキスト形式のデータを表示するモニタ４９を含んでいる。
【００４４】
会話エンジン９はＣＰＵによって実行されるソフトウエアによって構成されている。会話エンジン９はテキスト形式のデータを構文解析するための辞書５１と、意図理解モデル５２とを保持している。本実施形態では、辞書５１及び意図理解モデル５２はそれぞれメモリに保存されている。
【００４５】
辞書５１には、類語辞書５１ａが含まれている。類語辞書５１ａは意味に基づいて単語を分類したものであり、図５に示すように、意義素と意義素に対応する類語と複数保持している。意義素とは単語に結び付けられた意義を示すものであり、類語には同じ意義を持つ複数の単語が含まれる。
【００４６】
意図理解モデル５２は、図５に示すように、質問の意図５２ａと、質問の意図５２ａに対応するクエリであって、ユーザが発すると想定されるもの（以下、想定テキスト５２ｂ）とを対応付けたデータベースである。意図理解モデル５２には、例えば、「耐荷重の増加」という質問の意図５２ａに対応する想定テキスト５２ｂとして「サイドフレームの耐荷重を増加させたい」、「サイドフレームの耐荷重を上げたい」等が含まれている。更に、意図理解モデル５２には、「仕様構築」という質問の意図５２ａと、それに対応する「性能を満足する仕様を構築したい」という想定テキスト５２ｂが含まれていてもよい。また、意図理解モデル５２には、「要因解析」という質問の意図５２ａと、それに対応する「失敗要因を解析したい」という想定テキスト５２ｂがそれぞれ含まれていてもよい。図５に示すように、質問の意図５２ａにはそれぞれＩＤとなる意図識別子５２ｃが付与されている。
【００４７】
会話エンジン９はユーザインタフェース７から入力されたクエリに対して自然言語処理を実行し、クエリからキーワードを抽出して、ナレッジエンジン１１に出力する。ここでいうキーワードとはデータ格納部３及び情報ブロック５が保持するデータに基づいて回答を出力するための索引語である。会話エンジン９が抽出するキーワードは、第１のグラフ３１のブロックや第２のグラフ３３の要素に記載された目次や要約に基づいて設定されているとよい。
【００４８】
その後、会話エンジン９は意図理解モデル５２を参照して、クエリが示す質問の意図を理解し、ナレッジエンジン１１に出力する。より具体的には、会話エンジン９は意図理解モデル５２の想定テキスト５２ｂの中から、クエリに該当するものがあるかを検索する。クエリに該当するものがある場合には、対応する質問の意図５２ａをナレッジエンジン１１に出力し、ない場合には、類語辞書５１ａを参照して、クエリに含まれる単語を類語に置換する。例えば、「サイドフレームの耐荷重を上昇させたい」というクエリを受け取ると、会話エンジン９は類語辞書５１ａを参照して「上昇」を「増加」に置換することによって、「サイドフレームの耐荷重を増加させたい」（以下、変換クエリ）に変換する。次に、会話エンジン９は、意図理解モデル５２の想定テキスト５２ｂの中から、変換クエリと同じものがあるかを検索する。同じものがある場合には対応する質問の意図５２ａをナレッジエンジン１１に出力し、ない場合には、再度、類語辞書５１ａを参照してクエリを置換し、意図理解モデル５２の想定テキスト５２ｂを検索する。このように、クエリに含まれる単語を類語に置換することによって、クエリが曖昧である場合や、想定テキスト５２ｂにクエリと一致するものがない場合であっても、ユーザの質問意図を適切に出力することができる。
【００４９】
会話エンジン９は、エキスパートフレーム１３又はナレッジエンジン１１から入力があると、入力されたデータに対して自然言語処理を行ってテキスト形式の回答を構築し、ユーザインタフェース７にテキスト形式のデータとして出力する。但し、会話エンジン９は、エキスパートフレーム１３からの入力によって複数の回答が構築された場合には、回答を選択するための質問を構築して、ユーザインタフェース７にテキスト形式のデータとして出力する。また、会話エンジン９は必要に応じて、データ格納部３に格納された図面、実験データ、写真、及び画像をモニタ４９に表示させる。
【００５０】
ナレッジエンジン１１はＣＰＵによって実行されるソフトウエアとして構成されている。ナレッジエンジン１１は、会話エンジン９の出力結果に基づき、回答を得るためのナレッジグラフ３５のトレース方法を決定して、エキスパートフレーム１３に出力する。
【００５１】
例えば、ナレッジエンジン１１は、質問の意図が「仕様構築」である場合には、上位の階層のデータに関連付けられたノードから下位の階層のデータに関連付けられたノードへトレースするというトレース方法、質問の意図が「要因解析」であれば、「失敗したゴールから誤った設計方法を見つけるために遡る」というトレース方法を出力するとよい。
【００５２】
本実施形態では、ナレッジエンジン１１は、方法選択モデル６１を保持している。方法選択モデル６１は、図４に示すように、質問の意図６１ａと、質問の意図６１ａに対応するトレース方法６１ｂとを含むデータベースである。方法選択モデル６１には、質問の意図それぞれに対応する意図識別子６１ｃが含まれていてもよい。本実施形態では、方法選択モデル６１はメモリに保存されている。
【００５３】
質問の意図６１ａには「耐荷重の増加」が含まれる。「耐荷重の増加」にはトレース方法６１ｂとして制約トレースが対応付けられている。制約トレースとは、ナレッジグラフ３５を開始ノードからエッジを辿る（トレースする）ことによって、矢印の矢先の側のみが接続され、且つ第１の階層又は第２の階層に属するデータに関連付けられた制約に対応するノードを抽出する方法である。
【００５４】
質問の意図６１ａには「シミュレーション結果の表示」が含まれる。「シミュレーション結果の表示」にはトレース方法６１ｂとして計算結果トレースが対応付けられている。計算結果トレースとは、開始ノードからエッジを辿ることによって第３の階層に属するデータに対応するノードを抽出するという方法である。
【００５５】
方法選択モデル６１に含まれる質問の意図６１ａには「実験結果の表示」が含まれていてもよい。「実験結果の表示」に対しては、開始ノードからエッジを辿ることによって第４の階層に属するデータに対応するノードを抽出するというトレース方法が対応付けられているとよい。
【００５６】
本実施形態では、ナレッジエンジン１１は、会話エンジン９の出力結果に基づき、トレースの開始地点となる開始ノード、及びトレース方法をエキスパートフレーム１３に出力する。より具体的には、まず、会話エンジン９によって抽出されたキーワードに基づいて、第２のグラフ３３の一つの要素を選択して、選択した要素に対応するノードを開始ノードとして抽出する。例えば、ナレッジエンジン１１は、入力されたキーワード（例えば、耐荷重、サイドメンバなど）を最も多く含む要素に対応するノードを開始ノードとして抽出するように構成するとよい。
【００５７】
その後、ナレッジエンジン１１は方法選択モデル６１を参照して、会話エンジン９から入力された質問の意図に対応するトレース方法を出力する。より具体的には、ナレッジエンジン１１は「耐荷重の増加」という質問の意図が入力されたときには、方法選択モデル６１の質問の意図６１ａの中から会話エンジン９から入力された質問の意図と同じものを抽出する。このとき、ナレッジエンジン１１は方法選択モデル６１の意図識別子６１ｃから、会話エンジン９から入力された質問の意図に対応する意図識別子と同じものを抽出してもよい。その後、ナレッジエンジン１１は方法選択モデル６１を参照して、抽出した質問の意図又は意図識別子に対応するトレース方法、すなわち制約トレースを取得する。その後、ナレッジエンジン１１は抽出されたノードを開始ノードとした制約トレースの実行指示をエキスパートフレーム１３に出力する。
【００５８】
ナレッジエンジン１１は「シミュレーション結果の表示」という質問の意図が入力されたときには、方法選択モデル６１を参照して対応する計算結果トレースをトレース方法として取得する。その後、ナレッジエンジン１１は抽出されたノードを開始ノードとした計算結果トレースの実行指示をエキスパートフレーム１３に出力する。
【００５９】
本実施形態では、ナレッジエンジン１１は、会話エンジン９によって出力された質問の意図に基づいて推論を行う推論エンジン６２を備えている。推論エンジン６２は、データ格納部３に格納された既存の車両構造、過去のシミュレーションのデータ、過去の試験データ、過去の故障解析、すなわち第３の階層の情報及び第４の階層の情報を含むデータを参照して、公知のアルゴリズムを用いて推論を行い、適切な対処法を出力する。推論エンジン６２は必要に応じて対処法を示すデータを会話エンジン９に出力する。
【００６０】
エキスパートフレーム１３はＣＰＵによって実行されるソフトウエアとして構成されている。エキスパートフレーム１３はナレッジエンジン１１によって決定されたトレース方法に従って、情報ブロック５に格納されたナレッジグラフ３５をトレースし、ユーザからのクエリに対する回答に対応するノードを回答ノードとして抽出する抽出処理を行う。
【００６１】
但し、エキスパートフレーム１３は回答ノードとなり得る複数のノード（以下、回答ノード候補）を抽出したときには、回答ノード候補の中から会話エンジン９によって抽出されたキーワードに最も関係の深いノードを回答ノードとして抽出する。このとき、エキスパートフレーム１３は関係性の強弱の判定に重みを用いるとよい。本実施形態では、エキスパートフレーム１３は、回答ノード候補を複数抽出したときには、ナレッジグラフ３５を用いて開始ノードから各ノードに至る最短ルートを抽出し、そのルートに設けられたノードの重みの平均値を算出して、開始ノードに最も関係の深いノードを回答ノードとして抽出する。その後、エキスパートフレーム１３は回答ノードに関連付けられたデータをデータ格納部３から抽出し、クエリへの回答に対応するデータとして会話エンジン９に出力する。エキスパートフレーム１３は、回答に対応するデータを会話エンジン９に出力した後、最短ルートの経路上のエッジの重みを増加させる。
【００６２】
このとき、エキスパートフレーム１３は回答ノードが戦略に対応するノードであるときには、推論エンジン６２にその回答ノードを出力してもよい。推論エンジン６２は回答ノードに対応する戦略に記された設計方法に従って推論を行い、適切な対処法（例えば、過去の設計ではサイドフレームは厚さ０．５ｍｍ以上の鋼材が用いられることが多い、等）を導出し、会話エンジン９に出力する。これにより、会話エンジン９は推論エンジン６２が導出した対処法を、ユーザインタフェース７からユーザに通知する。
【００６３】
また、エキスパートフレーム１３は回答ノードとなりえる複数のノードを抽出したときには、推論エンジン６２に抽出された全てのノードの情報を出力してもよい。推論エンジン６２はノードを回答として適する順に順位づけし、ノードに関連付けられたデータをその順位に沿って会話エンジン９に出力するとよい。推論エンジン６２は順序付けを、開始ノードから各ノードまでの経路における重みの平均値を算出し、重みの平均値の大きいものから順にノードを並べることによって行うとよい。また、推論エンジン６２は算出された重みの平均値をエッジの強さとして、データとともに会話エンジン９に出力してもよい。このとき、会話エンジン９は、推論エンジン６２から受け取ったデータと、対応するエッジの強さとを、ユーザインタフェース７からユーザに通知するとよい。
【００６４】
本実施形態では、設計支援装置１は更に、分析プラットフォーム７１と、知識入力システム７３とを備えている。分析プラットフォーム７１及び知識入力システム７３はともにＣＰＵによって実行されるソフトウエアとして構成されている。
【００６５】
分析プラットフォーム７１は推論エンジン６２によって推論を行う際に必要となる公知のアルゴリズムが実行可能な環境を提供する。本実施形態では、分析プラットフォーム７１において、ベイジアンモデル、ニューラルネットワーク、決定木、画像認識などのアルゴリズムが実行可能である。分析プラットフォーム７１は更に、会話エンジン９において行われる自然言語処理のアルゴリズムを実行するための環境を提供するように構成されていてもよい。
【００６６】
知識入力システム７３は、ユーザインタフェース７からの入力を受け付けて自然言語処理のアルゴリズムを用いて、データ格納部３に格納されたデータと、情報ブロック５の保持する第１のグラフ３１、第２のグラフ３３、及びナレッジグラフ３５とをそれぞれ更新する。より具体的には、知識入力システム７３は、まず、ユーザインタフェース７がテキスト形式のデータに変換したデータを受け付けると、その文章構造を理解すべく、データに含まれる単語の関係を解析する。その後、知識入力システム７３は、文章構造及び単語の関係に基づいて、データの抽象レベルを判定し、データ格納部３に格納する。更に、知識入力システム７３は、文章構造及び単語の関係に基づいて、第１のグラフ３１のブロック及び第２のグラフ３３の要素を追加し、データ格納部３に格納したデータに関連付ける。更に、知識入力システム７３は、追加した第１のグラフ３１のブロック及び第２のグラフ３３の要素に応じて、ナレッジグラフ３５のノードとエッジとを追加する。また、知識入力システム７３は、必要に応じて、出入力ポート４５を介して入力された図面、写真、シミュレーションのデータのような数値データをデータ格納部３に保存するとともに、情報ブロック５に保存された第１のグラフ３１のブロック、第２のグラフ３３の要素、及びナレッジグラフ３５に対応するノードを追加することができる。これにより、ユーザからの入力に応じてデータ格納部３が保存するデータと、情報ブロック５が保存するグラフが変更されるため、ユーザに的確に情報を提供することができる。
【００６７】
次に本実施形態に係る設計支援装置１の動作を説明する。図６に示すように、ユーザによってマイクロホン４１に「サイドフレームの耐荷重を上げたい」と音声が入力されると、ユーザインタフェース７は入力された音声をテキスト形式のクエリ（例えば、「さいどふれーむのたいかじゅうをあげたい」）に変換し、会話エンジン９に出力する。
【００６８】
会話エンジン９は、ユーザインタフェース７によって変換されたクエリに対して辞書５１を用いて自然言語処理を行って、クエリを「サイドフレームの耐荷重を上げたい」という文章に変換する。次に、会話エンジン９はクエリから「サイドフレーム」、「耐荷重」、「上げ」、及び「たい」の４つのキーワードを抽出する。
【００６９】
更に、会話エンジン９は、意図理解モデル５２を参照して、クエリに対応する質問の意図を抽出する。より具体的には、会話エンジン９は意図理解モデル５２を参照して、クエリと同じものを含む想定テキストを抽出し、対応する質問の意図「耐荷重の増加」を取得する。その後、会話エンジン９はクエリに対応する４つのキーワード（「サイドフレーム」、「耐荷重」、「上げ」、及び「たい」）と、質問の意図（「耐荷重の増加」）とをナレッジエンジン１１に出力する。
【００７０】
ナレッジエンジン１１は、第２のグラフ３３から会話エンジン９から出力されたキーワードを最も多く含む要素に対応するノードを開始ノードとして抽出する。図２（Ｂ）の例では、ナレッジエンジン１１は開始ノードとして「サイドメンバ」及び「耐荷重」を含むノードｇ３２を抽出する。その後、ナレッジエンジン１１は、方法選択モデル６１を参照し、会話エンジン９から入力された質問の意図「耐荷重の増加」に対応する制約トレースをトレース方法として取得する。次に、ナレッジエンジン１１は、開始ノードをノードｇ３２とする制約トレースの実行指示をエキスパートフレーム１３に出力する。
【００７１】
エキスパートフレーム１３は開始ノードをｇ３２とする制約トレースの実行指示が入力されると、図３に示すように、情報ブロック５に格納されたナレッジグラフ３５をノードｇ３２から制約トレースの方法に従ってトレースする。すなわち、エキスパートフレーム１３はナレッジグラフ３５を開始ノードｇ３２からエッジを辿り、矢印の矢先のみが接続され、且つ第１の階層又は第２の階層に属するデータに関連付けられた制約に対応するノードｓ２６、及びｓ２７を回答ノード候補として選択する。
【００７２】
次に、エキスパートフレーム１３は重みを用いて、回答ノード候補ｓ２６、及びｓ２７から、会話エンジン９によって抽出されたキーワードに最も関係の深い制約に対応するノードを回答ノードとして抽出する。より具体的には、エキスパートフレーム１３は開始ノードｇ３２からノードｓ２６に至る最短ルートＲ１（図３の破線の矢印を参照）を抽出する。その後、エキスパートフレーム１３はルートＲ１に記載されたノードの重みの和を取ってノードの数で割ることにより、重みの平均値（０．８＋０．４＋０．３）／３＝０．５０を算出する。次に、エキスパートフレーム１３は開始ノードｇ３２からノードｓ２７に至る最短ルートＲ２（図３の二点鎖線の矢印を参照）を抽出し、ルートＲ１と同様に、ルートＲ２の重みの平均値（０．８＋０．４＋０．３＋０．３＋０．８）／５＝０．５２を算出する。エキスパートフレーム１３は回答ノード候補ｓ２６、及びＳ２７の中から重みの平均値の大きいｓ２７を回答ノードとして抽出し、データ格納部３のデータから回答ノードｓ２７に関連付けられた「前突時に車体の中で最も大きいエネルギー吸収」「相手車両への影響を与えないように変形する」という制約を示すデータを抽出して、会話エンジン９に出力する。このように、重みを用いることで、会話エンジン９によって抽出されたキーワードに最も関係の深い制約を簡便に抽出して取得することが可能となる。
【００７３】
エキスパートフレーム１３は、回答ノードｓ２７に関連付けられたデータを会話エンジン９に出力した後、最短ルートＲ１の経路に位置するエッジの重みをそれぞれ０．０１増加させる。
【００７４】
図６に示すように、ナレッジエンジン１１は更に、会話エンジン９から出力されたキーワードに基づいて、公知のアルゴリズムを用いて推論エンジン６２が推論を行って、適切な対処法（例えば、サイドフレームの断面積の増加、など）を示すデータを会話エンジン９に出力する。
【００７５】
推論エンジン６２から対処法が入力されると、会話エンジン９は推論エンジン６２から入力された対処法を適切なテキスト形式のデータ（例えば「サイドフレームの断面積を増加させてはいかがでしょうか」）に変換して、ユーザインタフェース７に出力する。ユーザインタフェース７は会話エンジン９から入力された対処法を示すテキスト形式のデータに従ってスピーカ４７から音声を発生させて、対処法をユーザに通知する。
【００７６】
更に、会話エンジン９はナレッジエンジン１１の「前突時に車体の中で最も大きいエネルギー吸収」「相手車両への影響を与えないように変形する」の２つの入力に対してユーザにそれぞれのデータに対応する２つの回答、より具体的には「前突時に車体の中で最も大きいエネルギー吸収となるようにしてください」「相手車両への影響を与えないように変形するようにしてください」という２つの回答を構築する。その後、ユーザに複数の回答の中から一つを同定するための質問（例えば、「サイドメンバは前突時に車体の中で最も大きいエネルギー吸収となっていますか？」）を構築し、ユーザインタフェース７にスピーカ４７から音声として出力させる。その後、会話エンジン９はユーザインタフェース７から質問に対するユーザの回答（例えば、「はい」）を受け取り、複数の回答の中から適切な回答を同定してユーザインタフェース７に出力する。ユーザインタフェース７はスピーカ４７から、例えば「相手車両への影響を与えないように変形するようにしてください」という音声を発生させることによって、会話エンジン９から入力された回答をユーザに通知する。
【００７７】
ユーザがマイクロホン４１を介して「サイドフレームのシミュレーション結果を表示してください」と音声により入力したときには、会話エンジン９はクエリから「サイドフレーム」、「シミュレーション」、及び「結果」の３つのキーワードを抽出する。また、会話エンジン９は、意図理解モデル５２を参照して、クエリに対応する質問の意図として「シミュレーション結果の表示」を取得する。会話エンジン９はクエリに対応する３つのキーワード（「サイドフレーム」、「シミュレーション」、及び「結果」）及び、質問の意図（「シミュレーション結果の表示」）をナレッジエンジン１１に出力する。
【００７８】
ナレッジエンジン１１はキーワードに基づいて開始ノードとしてｇ３２を選択する。次に、ナレッジエンジン１１は方法選択モデル６１を参照し、会話エンジン９から入力された質問の意図「シミュレーション結果の表示」に対応する計算結果トレースをトレース方法として取得する。その後、ナレッジエンジン１１はｇ３２を開始ノードとする計算結果トレースの実行をエキスパートフレーム１３に指示する。これにより、エキスパートフレーム１３は、回答ノードとして第３の階層のデータ２５に関連付けられたノードｇ３３を抽出し、会話エンジン９はユーザインタフェース７のモニタ４９にシミュレーション結果を表示させる。その後、エキスパートフレーム１３はｇ３２とｇ３３とを接続するエッジの重みを０．０１増加させる。
【００７９】
次に本実施形態に係るデータ構造Ｘの効果を説明する。新たな車両の設計開発においてはシミュレーションの実行や実物による実験が不可欠である。しかし、シミュレーションの実行や実物による実験には時間や資金を要することが多く、これまでの知識、経験、及び失敗に関するデータは、不要な実験やシミュレーションの実行や実験を省くことができるように保存されていることが好ましい。
【００８０】
これまでの既存の製品の設計・開発プロセスにおける知識、経験、及び失敗などのデータは、第１のグラフ３１、及び第２のグラフ３３の２つのタイプで保存されることが多い。第１のグラフ３１は主に開発終了後に作成され、既存の製品の寸法などのパラメータなどの知識が多く記載された仕様書などに該当する。一方、第２のグラフ３３では主に製品の開発時に作成され、設計・開発プロセスにおける目標や、失敗を含む過程などが多く記載されている。設計支援装置１はユーザに対して、既存の製品の第１のグラフ３１、及び第２のグラフ３３に基づいて回答を構築することが望ましい。
【００８１】
しかし、第１のグラフ３１、及び第２のグラフ３３に関連付けられたデータを単語レベルに分解してグラフデータベースを構成すると、要素や制約などのブロック間の関係やゴールや戦略などの要素間の関係が失われるため、ユーザに適切な回答を通知することが難しい。
【００８２】
第１のグラフ３１、第２のグラフ３３、及びナレッジグラフ３５を含むデータ構造Ｘにはブロック及び要素の関係性が保存されている。そのため、設計支援装置１はナレッジグラフ３５を辿る（トレースする）ことによって、要素や制約などのブロック間の関係やゴールや戦略などの要素間の関係に従って、ユーザに回答を通知することができる。これにより、これまでの知識、経験、及び失敗に関するデータに基づく、より適切な回答をユーザに通知することができ、不要な実験やシミュレーションの実行や実験を省くことができる。
【００８３】
また、回答の構築はナレッジグラフ３５のトレースによって行われるため、推論などのアルゴリズムを用いて行う場合に比べて、回答を得るための処理が簡素である。
【００８４】
ナレッジグラフ３５には第１〜第４の階層の４つの抽象レベルに属するデータに関連付けされている。これにより、一つの抽象レベルに関連づけられたナレッジグラフ３５をトレースする場合に比べて、設計支援装置１は広範囲な抽象レベルのデータに基づいて回答を構築することができる。これによって、ユーザにより適切な情報を提供することが可能となる。
【００８５】
また、ナレッジグラフ３５は第１のグラフ３１及び第２のグラフ３３に基づいて構成されている。これにより、ナレッジグラフ３５が第１のグラフ３１及び第２のグラフ３３のいずれか一方のみに基づいて構成されている場合に比べて、設計支援装置１はより広範囲なデータに基づいて、回答を出力することができる。これによって、ユーザにより適切な情報を提供することができる。
【００８６】
経験の浅い設計開発者はＧＳＮによって記載された第２のグラフ３３を参照して設計を進めることが多い。一方、専門家はＳｙｓＭＬによって記載された第１のグラフ３１とＧＳＮによって記載された第２のグラフ３３とを参照して設計を進めることが多い。設計支援装置１はナレッジグラフ３５を用いることで、より広範囲なデータに基づく回答を出力することができるため、経験の浅い設計開発者に特に有用である。
【００８７】
設計支援装置１として、エキスパートシステムを用いることが考えられる。エキスパートシステムでは、専門家が「ＩＦ（もし）・・・ＴＨＥＮ（ならば）・・・」という形式で知識ベースを構成し、そのデータに基づいて推論が行われる。よって、回答が1つだけではないというケースを実装するのに適さず、留意すべき点が複数ある場合に、複数の回答をユーザに通知するように構成することは困難である。
【００８８】
回答ノードに複数のデータが関連付けられている場合には、設計支援装置１は複数の回答（「サイドメンバは前突時に車体の中で最も大きいエネルギー吸収となるようにしてください」という回答と、「また、相手車両への影響を与えないように変形するように構成してください」という回答）と、ユーザに適切な回答を選択させる質問とを構築する。その後、設計支援装置１は質問に対するユーザの返答に応じて回答を選択する。このように、設計支援装置１は複数の回答を構築することができる。また、設計支援装置１は複数の回答の中からユーザに回答を選択させる質問を行うことで、ユーザにより迅速に適切な回答を通知することができる。
【００８９】
クエリの質問の意図が設計変更や影響評価等の場合には、ユーザにシミュレーションの結果や実物による実験結果以外の回答を通知することが好ましい。設計支援装置１において、クエリの質問の意図が「耐荷重の増加」の場合には、第１の階層又は第２の階層のデータ２３に関連付けられた制約を示すデータに基づいて回答が構築される。これにより、ユーザにはシミュレーションの結果や実物による実験結果以外の回答が通知される。このように、設計支援装置１では、データ格納部３にデータが複数の抽象レベルに分類されているため、適した抽象レベルのデータに基づいて回答を構築し、ユーザに回答を通知することができる。
【００９０】
設計支援装置１では、ユーザはクエリを音声によって入力することができ、回答を音声によって受け取ることができる。このように、設計支援装置１とユーザとの間のやり取りが音声に基づいて行われるため、ユーザはキーボード４３を使ってクエリを入力する必要がない。
【００９１】
また、設計支援装置１とユーザとの間の音声によるやり取りによって、エキスパートフレーム１３によってエッジに付与された重みが更新され、知識入力システム７３によって、データ格納部３に保存されたデータ、第１のグラフ３１、第２のグラフ３３、及びナレッジグラフ３５が更新される。エッジに付与された重みの更新によって、設計支援装置１が利用されるごとに、エキスパートフレーム１３によってトレースされたルートに位置するノード間の重みが大きくなる。これにより、ノード間の関係性が変更されて、エキスパートフレーム１３がユーザにとって重要性の高いデータをより効率よく抽出することができる。更に、キーボード４３からの入力だけでなく、音声とのやり取りによって、重み、データ格納部３に保存されたデータ、第１のグラフ３１、第２のグラフ３３、及びナレッジグラフ３５が更新されるため、キーボード４３を使ってデータを入力する手間を省くことができる。これにより、設計支援装置１はユーザにとってより利用しやすくなり、ユーザからのデータをより迅速に、より効率よくデータ格納部３に蓄積することができる。
【００９２】
重みは専門家の評価に基づいて決定されている。これにより、ユーザに専門家の評価に基づいた回答を通知することができる。エキスパートフレーム１３によって複数のノードが抽出され、複数の回答がエッジの強さとともに通知される場合には、ユーザはエッジの強さによって回答に対する専門家の評価を理解することができる。
【００９３】
以上で具体的実施形態の説明を終えるが、本発明は上記実施形態に限定されることなく幅広く変形実施することができる。上記実施形態では、設計支援装置１は１つの既存の製品に対応するナレッジグラフ３５をトレースすることによって回答を出力していたが、この態様には限定されない。設計支援装置１は複数のナレッジグラフ３５を保持し、複数のナレッジグラフ３５から適切なナレッジグラフ３５を抽出し、抽出したナレッジグラフ３５をトレースすることによって回答を出力するように構成してもよい。
【００９４】
上記実施形態では、第１のグラフ３１において第１の階層には設計対象となるシステムのパラメータのみが含まれていたが、この態様には限定されない。第１のグラフ３１の第１の階層には、設計対象となるシステムの性質を記載する物理法則や設計開発のプロセスに対応するブロックが含まれていてもよい。
【００９５】
上記実施形態では、第１のグラフ３１はＳｙｓＭＬによって記載され、第２のグラフ３３はＧＳＮによって記載されていたが、この態様には限定されない。第１のグラフ３１及び第２のグラフ３３はそれぞれグラフデータベースであればよく、例えば、ＵＭＬによって記載されたグラフデータベースやＧＱＭ（Ｇｏａｌ  Ｑｕｅｓｔｉｏｎ  Ｍｅｔｒｉｃ）法によって得られたグラフデータベースであってもよい。但し、第１のグラフ３１はパラメータや制約が記載されたグラフデータベースであることが好ましく、第２のグラフ３３はゴールや戦略が記載されたグラフデータベースであることが好ましい。また、上記実施形態では、第２のグラフ３３にはゴール、戦略及び証拠の要素が含まれていたが、さらに、コンテキストが含まれていても良い。
【００９６】
上記実施形態では辞書５１はＣＰＵによって実行されるソフトウエアに含まれるように構成されているが、この態様には限定されず、データ格納部３がハードディスク２に辞書５１を保持し、会話エンジン９はデータ格納部３に保持された辞書５１を適宜参照するように構成してもよい。
【００９７】
上記実施形態では、エキスパートフレーム１３によって複数のノードが抽出され、複数の回答がエッジの強さとともにユーザに通知される例が示されていたが、その態様には限定されない。例えば、エッジの強さそのものをユーザに通知するのではなく、エッジの強さに単調増加する数値や専門家が有用だと判定する割合に変換してユーザに通知してもよい。
【００９８】
上記実施形態では、設計支援装置１は１つのコンピュータによって構成されていたが、この態様には限定されない。設計支援装置１はインターネット等のネットワークによって接続された複数のコンピュータが協働することによって構成されていてもよい。設計支援装置１はネットワーク上の複数のサーバを含むいわゆるクラウドコンピューティングシステムによって構成されていてもよい。
【００９９】
上記実施形態では、設計支援装置１は車両の設計支援に用いられていたが、この態様には限定されない。設計支援装置１を例えば、船舶、航空機等の輸送機器や機械の設計支援に適用してもよい。
【符号の説明】
【０１００】
１      ：設計支援装置
３      ：データ格納部
５      ：情報ブロック
７      ：ユーザインタフェース
９      ：会話エンジン
１１    ：ナレッジエンジン
１３    ：エキスパートフレーム
２１    ：第１の階層のデータ
２３    ：第２の階層のデータ
２５    ：第３の階層のデータ
２７    ：第４の階層のデータ
３１    ：第１のグラフ
３３    ：第２のグラフ
３５    ：ナレッジグラフ
３７    ：一般ブロック
３９    ：制約ブロック
４１    ：マイクロホン
４３    ：キーボード
４５    ：出入力ポート
４７    ：スピーカ
４９    ：モニタ
５１    ：辞書
６１    ：推論エンジン
７１    ：分析プラットフォーム
７３    ：知識入力システム
Ｓ１１〜Ｓ４１：ブロック
Ｇ１１〜Ｇ４２：要素
ｓ１１〜ｓ４１、ｇ１１〜ｇ４２：ノード
ｅ１、ｅ２、ｅ３：エッジ
Ｘ      ：データ構造
【図１】
2020129267.tif 000003
【図２】
2020129267.tif 000004
【図３】
2020129267.tif 000005
【図４】
2020129267.tif 000006
【図５】
2020129267.tif 000007
【図６】
2020129267.tif 000008