はじめに
生成AI(LLM)の進展に伴い、オントロジーといった用語を目にする機会が増えた。
知識グラフやRAGの文脈でも登場するが、そもそも何を指す言葉かは整理されにくい。
Palantir におけるオントロジーのコア概念 はアプリケーションとして活用するにあたり、シンプルに抽出されているように見受けられる。
本記事では、オントロジーの定義・構成要素・役割を概説する。
オントロジーとは
オントロジーは哲学用語で「存在論」と訳すことができる。哲学者のプラトンやアリストテレスなどが考察してきた。人工知能や知識ベース等の観点でそれぞれ定義されることもある。
オントロジー工学 の書籍では、以下のようにまとめている。
対象とする世界の情報処理的モデルを構築する人が,その世界をどのように「眺めたか」,いい換えるとその世界には「何が存在している」と見なしてモデルを構築したかを(共有を指向して)明示的にしたものであり,その結果得られた基本概念や概念間の関係を土台にしてモデルを記述することができるようなもの
モデル化したい対象となる世界があり、その人がどのように捉えるか、基本概念や概念間の関係性を記述するか。他の人から見ても同意し得る概念体系が構築できれば、その概念体系を基づいて物事を整理することができるだろう。
オントロジーの構成要素
前掲書ではオントロジーの構成的定義がまとめられており、具体例を加えて整理する。
- 対象世界から基本概念を切り出した結果としての「概念」の集合
- たとえば「商品」「顧客」「注文」など、その世界に存在する概念を抽出する
- 概念の is-a 関係による階層化
- 「定期購入 is-a 注文」のように、より具体的な概念を下位に置くことで階層を構成する
- is-a 関係以外で必要となる概念間の関係
- 「顧客が注文を持つ」「注文が商品を含む」のような関係を定義する
- 抽出した概念と関係の定義、あるいは意味制約の公理化
- 「注文には必ず1件以上の商品が含まれる」のような制約を形式化する
コア概念 での図示では、オブジェクトタイプは概念として捉えられ、リンクタイプは概念間の関係として捉えることができるだろう。
役割について
前掲書ではオントロジーの役割として以下が挙げられている。
- 合意を得る手段: 共通の概念体系を持つことで、異なる部門や組織が同じ語彙で議論できる。「顧客」の定義が部門ごとに異なる状況を防ぐ
- 暗黙情報を明示化: 暗黙的に共有されていた知識を形式化する。属人化した定義をシステムや文書として残せる
- 再利用と共有: 一度構築した概念体系を別のシステムや文脈でも利用できる
- 知識の体系化: 散在する知識を構造化して管理できる
- 標準化: 業界や組織内での用語・概念の標準を定める
- メタモデル的機能: モデルを記述するためのモデルとして機能する。他のデータモデルの土台になる
- 総合的効用: 上記が組み合わさることで、システム間の連携やデータ統合の基盤になる
総じて、どのように物事を捉えているかを整理し、合意を得られることで、同じ物事について議論できるようになる役割があるのだと考える。
おわりに
オントロジー工学の書籍に基づいて、オントロジーについて整理した。
難しい概念ではあるが、物事をどのように捉えるか、それぞれが同じ物事として捉えられるか、といった人それぞれの曖昧さを埋めるものだと考える。
ここでは構築方法や表現方法については記載していない。表現方法として、Web Ontology Language(OWL)があるが、対象世界における概念と、概念間の関係が構築できていれば異なる表現方法もあるだろう。
参考として、オントロジーに関連する書籍をまとめたので気になる方は確認してほしい。
参考