ナレッジグラフはどのように役立つのか？ - Reliability & Safety 分野を例として

## はじめに

ナレッジグラフは，情報検索，推薦システム，QAなど様々な分野で研究が行われています．特に近年の大規模言語モデルの発展とともに，自然言語処理分野でも大きく注目を集めています．
しかし，実世界ではナレッジグラフはどのような使われ方ができるのでしょうか？本記事では，Reliability & Safety 分野を例として，近年のナレッジグラフやオントロジーの応用研究をまとめます．

本記事は，[ナレッジグラフ Advent Calendar 2024](https://adventar.org/calendars/11112) の16日目です．なお本記事では簡単のため「ナレッジグラフ」を広義で使用し，本来区別されるオントロジーなどの概念を含みます．

## Reliability & Safety

Reliability & Safety分野は，製品やシステムが「信頼性」をもって動作し，「安全性」を確保するための理論・実践を追求する学際的な分野です．ナレッジグラフやオントロジーは，分野特有の多様な知識・データを形式化し，複雑な概念間の関係性を明示的に表現することに長けているため，この分野と非常に相性がよく，広く応用されています．

### 知識抽出[^1][^5][^6]

過去の運用レポートや事故レポートは，将来的な運用において役立つ知識が記述されていますが，大量のテキストデータから必要な知識を抽出することは容易ではありません．そこで，ナレッジグラフを用いてテキストデータを構造化し，レポートごとに分散した知識を統合したり，複数のレポートの中で潜在する法則を見つけたりすることで知識抽出をする研究が行われています．

ここでは，原子力発電所における運用レポートを統合し，体系的な知識を獲得する研究[^6]を例として紹介します．
まず下図のように，テキスト形式のレポートから主要な要素を自然言語処理によって抽出します．ここでは，レポート内で使用されている用語や，その用語間の依存関係を抽出しています．ここで抽出された用語や関係性が，ナレッジグラフのノードやリンクとなります．

<img width=80% src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2116254/863b34e1-548d-24e7-3b8d-8f42607e2d34.png" />

レポートごとに抽出された要素は，下図上に示されるようにナレッジグラフとして表現されます．そしてそれぞれのナレッジグラフを統合することによって，下図下のように複数のレポートの知識を含むナレッジグラフを構築します．これにより，レポートごとに分散した情報を統合し，運用に役立つ知識を抽出します．

<img width=80% src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2116254/026248c8-453b-77ca-9f3d-ded44eae618a.png" />

### リスク評価・分析[^8][^2][^7][^3]

近年の産業発展により，製品やシステムは非常に複雑になっています．そこで，オントロジーやナレッジグラフを用いてシステムを構造化し，故障や事故に関するデータと紐づけることによってリスクの評価や分析を可能にします．

#### システムとデータの統合[^8][^2]

ここでは，製品の構造に合わせてメンテナンスや故障の記録を紐づけることによって，製品の設計時に注意しなければならないリスクを可視化する例を紹介します[^8]．
製品の構造は下図のように階層性がツリー状に表現できます．プロダクトやシステムはより小さいサブシステムによって構成されており，更にそれぞれのサブシステムがより小さい要素によって構成されています．このような複雑な構造の中で，要素ごとにメンテナンスや故障に関するデータを紐づけていきます．

<img width=80% src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2116254/a0f037f6-5454-8125-ea29-8f654d71ecb8.png">

製品の構造と，要素ごとのメンテナンスや故障データを紐づけると下図のようになります．

<img width=80% src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2116254/63987ddf-2f3b-fa3e-b585-d4c7bf7932a5.png">


製品がもつ複雑な構造に合わせて，メンテナンスや故障データを紐づけて扱うことで，下図のように総合的なリスクの可視化を行うことができ，リスク分析に役立てることができます．

<img width=80% alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2116254/543e9778-4aa9-e788-6efe-20982ebeb505.png">


#### 因果関係のモデリング[^7][^3]
    
システム上のリスクは，一つの要素に留まらず連鎖的に波及していきます．そこでその連鎖をナレッジグラフのリンクによって表現し，そのリンクを予測することで，潜在するリスクを予測する研究が行われています．

例えば，様々な状況がノードとして表現されており，ある状況がまた別の状況を引き起こすという形でリンクが表現されているナレッジグラフを考えます[^3]．下図では，因果関係がresult_inというリンクで学習されています．このようなナレッジグラフで，因果関係を学習することによって新しい状況や条件に対して生じうる状況をグラフ特徴量を用いて予測することによって潜在するリスクを見つけます．ここでは，New-E1として表現されている新しい状況に対してリンク予測を行うことで，result_inというリンクが張られるシナリオを予測しています．

<img width=80% src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2116254/00906192-7225-f8de-fb64-b60175a917c7.png">

### 運用支援システム[^4]

ナレッジグラフによる知識の構造化は，システムの運用支援にも役立ちます．例えば，システムの保全を行う際に，見つかった症状に合わせて，メンテナンスを行うべき箇所をレコメンドします．
下図では油圧ドリルにおける構成要素，症状，原因，解決策などがナレッジグラフとして表現されています．ここで，事前のデータの中で，見つかった症状に繋がっている解決策をレコメンドするだけでなく，リンク予測を行うことで，事前のデータとして繋がっていなかった場合でも，あり得る解決策を予測し，レコメンドすることができます．

<img width=80% src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2116254/4082cc33-f6db-d8ff-5f97-b8acdf54846e.png">

更に下図のように，チャットボットと組み合わせることで，インタラクティブに状況を入力し，実用性を向上させるような方向性も考えられています．

<img width=80% src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2116254/2d5cd882-da9f-3a8d-f69d-4d1fae180039.png">

## おわりに

本記事では，Reliability & Safety分野を例として，近年のナレッジグラフの応用研究についてまとめました．ナレッジグラフは，実世界の複雑なシステムにおける，意思決定支援や信頼性向上のために応用され，これからの信頼性や安全性を向上させるための主要な技術の一つとなるかもしれません．

[ナレッジグラフ若手の会](https://wakate.knowledge-graph.jp/)では，ナレッジグラフを含むセマンティックウェブ分野のトップカンファレンスであるISWCとESWCの論文読み会を開催し，その資料を公開しています ([ナレッジグラフ若手の会：論文サーベイ](https://github.com/knowledgegraph-yra/Survey))．気になる方はこちらもご覧ください．

[^1]: [A data-driven and knowledge graph-based analysis of the risk hazard coupling mechanism in subway construction accidents](https://doi.org/10.1016/j.ress.2024.110254)
[^2]: [Combining improved DFMEA with knowledge graph for component risk analysis of complex products](https://doi.org/10.1016/j.ress.2024.110340)
[^3]: [A knowledge graph-based hazard prediction approach for preventing railway operational accidents](https://doi.org/10.1016/j.ress.2024.110126)
[^4]: [Maintenance planning recommendation of complex industrial equipment based on knowledge graph and graph neural network](https://doi.org/10.1016/j.ress.2022.109068)
[^5]: [A knowledge graph-based approach for exploring railway operational accidents](https://doi.org/10.1016/j.ress.2020.107352)
[^6]: [A method for systematically developing the knowledge base of reactor operators in nuclear power plants to support cognitive modeling of operator performance](https://doi.org/10.1016/j.ress.2019.02.014)
[^7]: [An ontology-based multi-hazard coupling accidents simulation and deduction system for underground utility tunnel - A case study of earthquake-induced disaster chain](https://doi.org/10.1016/j.ress.2024.110559)
[^8]: [Hybrid ontology for safety, security, and dependability risk assessments and Security Threat Analysis (STA) method for industrial control systems](https://doi.org/10.1016/j.ress.2021.108270)