材料開発のデータをグラフ構造で保存し、
可視化と検索を体験してみた
~エポキシ材料開発の事例~
はじめに
材料開発では、材料の特性、製造プロセス、実験結果などさまざまなデータを管理し、データサイエンスを用いてパターンや相関関係を抽出し、材料の特性や性能を予測することがトレンドとなっています。
また、データベースの世界では、グラフ型データベースが近年注目を浴びています。従来のリレーショナルデータベースに比べて、グラフ型データベースはより豊富な表現力と柔軟性を持ち、関連するデータの表現と高速かつ柔軟な検索を可能にします。
グラフ型データベースは、データの関係性をノードとエッジで表現することが特徴です。これにより、材料やその特性、製造プロセスなどのデータ間の関連性やパターンを視覚的に理解しやすくなります。
そこで、当社では材料開発のデータをグラフ型データベースに登録し、その効果を実際に体験してみました。
本ブログでは、実際に当社がNeo4jというグラフ型データベースと実験データベースBrix Liteを使用して材料開発のデータを保存し、Neo Dashというダッシュボードを使ってデータの可視化と検索を体験した結果を紹介します。
材料開発のデータと機械学習
材料開発のデータは、新しい材料の開発や既存の材料の改良に関連する情報やパラメータの集合を指します。これらのデータは、材料の特性、組成、構造、物理的・化学的性質、加工方法、性能評価結果など、さまざまな要素に関する情報を含んでいます。
機械学習は、材料開発のデータ分析と予測において重要な役割を果たしています。材料開発のデータを機械学習モデルに組み込むことで、パターンや相関関係を抽出し、材料の特性や性能を予測することが可能になります。機械学習アルゴリズムは、大量の材料データを学習し、未知の材料に対して予測や最適化を行うためのモデルを構築することができます。これにより、材料の特性や性能を効率的に評価し、新しい材料の設計や最適化に役立てることができます。
グラフ型データベース
グラフ型データベースは、材料開発のデータを効率的に管理するための強力なツールです。以下にその理由を説明します。
- データの関係性を表現:
- グラフ型データベースは、データの関係性をノード(頂点)とエッジ(関係)で表現します。材料開発では、材料の特性や性能、製造プロセス、実験結果などのデータが相互に関連しています。グラフデータベースを使用することで、これらの関係性を直感的に表現し、データの意味やパターンを把握しやすくなります。
- 柔軟なデータモデリング:
- グラフ型データベースは、柔軟なデータモデリングを可能にします。材料の特性や属性、実験データなどをノードのプロパティとして表現し、それらの関係性をエッジで繋げることができます。これにより、材料開発における複雑なデータ構造や階層関係をシンプルに表現することができます。
- 柔軟なクエリと探索:
- グラフ型データベースは、豊富なクエリ言語を提供しています。これにより、特定の材料や特性を効率的に検索したり、材料間の関係性やパスを分析したりすることができます。機械学習においては、特徴の抽出やデータのフィルタリングに役立ちます。
- データの統合と拡張:
- グラフ型データベースは、複数のデータソースからのデータの統合と拡張にも適しています。材料開発には、材料データだけでなく、外部のデータソースからの情報やドメイン知識も重要です。グラフデータベースを使用することで、異なるデータソースの情報を統合し、より包括的な分析や予測を行うことができます。
- 可視化とインタラクティブ性:
- グラフ型データベースは、データの可視化とインタラクティブな探索をサポートします。材料開発のデータをグラフとして可視化することで、材料やその特性の関係性やパターンを直感的に理解することができます。さらに、グラフデータベースのクエリ言語を使用してデータを探索し、関連するデータを効率的に検索することができます。
これらの理由から、グラフ型データベースは材料開発のデータ管理と機械学習の統合において優れたツールです。
1 液性エポキシ材料開発の事例
試した事:
データをグラフデータベースに格納し、
下記を実現するためのダッシュボードを作成する。
①開発材料と原材料の関係をグラフ構造で可視化する
②開発材料と配合値や実験データの関係を可視化する
③製造プロセスと原材料、プロセスの条件値をグラフ構造で可視化する
④特性値、配合値、プロセス条件値を合わせた機械学習用データセットを作る
作成物イメージ:
サンプルデータの説明:
・原材料を混ぜて新材料を開発する一般的な材料開発を想定
・プロジェクト(Epoxy1ComponentDevelopment)で新材料(EpoxyA)を開発、材料の特性試験として引張試験(Tensile_Test)を実施。生データ(TensileRaw)と解析データ(tensileAnalysis)を取得
・新材料(EpoxyA)は、原材料(RawMaterial_A~RawMaterial_L)から製造された
・製造プロセスのデータとして、何の材料を混ぜたか、混ぜた時の温度や時間を取得
詳細説明: 作成物イメージの各画面を説明します。
①Material&Measurementビュー
この画面は、材料の構造と実験データや配合を表示しています 。
・青ノードでEpoxyAは、RawMaterial_A~RawMaterial_Lの原材料から製造されたことが表現されています。
また、緑系ノードでEpoxyAに対して、引張試験の生データ(TensileRaw)、解析データ(tensileAnalysis)、配合値(Recipe)がひもづいていることも分かります。
計測データは、BRIX LITEの中に格納して、グラフデータベース内にURLリンクを登録しました。
例えば、黄緑色のTensileRawノードをクリックすると、このような画面になります。
このURLをクリックすると、BRIX LITEの指定したデータにジャンプして、生データをプロットできます。
②MaterialMeasビュー
配合値は、グラフデータベースに格納しました。
表形式で表示できるビューを作成して可視化しています。
③Test&Measurementビュー
試験に注目した画面です。
Epoxy1ComponentDevelopmentプロジェクトで、材料の特性試験として引張試験(Tensile_Test)を実施。
生データ(TensileRaw)と解析データ(tensileAnalysis)を取得したことが分かります。
④Process&SensorMeas&ProcessMeasビュー
製造プロセスのビューです。
・黄色ノードがプロセスで、MIX(混ぜる)、COLD(冷却)といった形で表現しています。
赤ノードが原材料です。各MIXノードに各原材料がひもづいています。
これにより、どの工程で原材料を混ぜたかが分かります。
オレンジ色は、各プロセスの条件値です。
クリックすると値が表示されます。この例では、20℃、10分という条件が登録されています。
⑤DataSetビュー
プロセスの条件値(temp,time)、配合値(RawMaterial_A~E)、物性値(UpperYieldStress,LowerYieldStress)を
クエリーし、表形式で表示しています。
今回は、1つの材料データを格納したために1行表示ですが、複数の材料データを格納した場合は、
複数行のデータセットを作成することができます。
このデータは、CSVで出力したり、pythonからAPIで取得することが可能です。
まとめ
この体験から、グラフ型データベースは材料実験において適切に製造プロセス、配合、実験などのデータをマッピングし、関連性の可視化や、データの抽出を実現するのに役立つツールだと考えます。
他にも、半導体製造や材料研究を想定して同様の取り組みを実施しましたので、今後記事を書いていきます。ご興味があればお問い合わせください。