モデリングとしてのオントロジと関連ツール
オントロジとは
「オントロジ」という言葉を聞き慣れない方も多いでしょう。もともとは哲学の用語であり、存在論あるいは存在に関する体系的な理論を指します。工学分野におけるオントロジとは、対象世界に存在して対象世界を形造っている概念と概念との関係を、体系的にまとめて記述したものを指します。
オントロジを使えば、概念の階層構造を明らかにしたり、述語論理によって意味制約を形式的に定義したりできます。問題領域がどのように形造られているかを明示的に表せます。オントロジとは、人とコンピュータ上のプログラムが相互に理解したり、人と人が認識を合わせて合意形成したりするための基準、もしくはその内容そのものです。世界中でさまざまなオントロジに関する方法論が提唱され、数多くのツールが存在します。
図1-1は、オントロジの中でも最上位に位置する概念階層(上位オントロジ)の例です。すべての対象を説明する抽象レベルが考察されています。オントロジが、いかに基本的なところまで分析しているのかを、うかがい知ることができます。
「概念」とは、『広辞苑』によれば、以下の通りです。「事物の本質をとらえる思考の形式。事物の本質的な特徴とそれらの連関が概念の内容(内包)。概念は同一本質をもつ一定範囲の事物(外延)に適用されるから一般性をもつ。例えば、人という概念の内容は人の人としての特徴であり、外延はあらゆる人々である。(中略)概念とは言語に表現され、その意味として存在する。(後略)」。
概念に関して、簡単な例を示しましょう。日本語で「猫」といっても、英語で「Cat」といっても、同じ猫という概念を指しています。同じ概念を指しているので、対訳することができますし、共通の認識を持つことができます。また、同じ日本語でも、「お客様」と「顧客」のどちらで表現しても、「客」という同じ意味を指します。
ちなみに、World Wide Web(WWW)を考案したTim Berners-Leeが提唱した「セマンティック・ウェブ」(Semantic Web)は、オントロジの領域に踏み込んで、適切にコンピュータ上で意味を処理しようとするものです。Web上のコンテンツに意味情報を付与し、もっとWebを便利に利用できるようにします。
同じ言葉が違う概念を指す場合もあります。例えば、「家(いえ)」という言葉は、人が住む建造物を指すこともあれば、「鈴木家」のような、一族/血族を表している場合もあります。コンテキスト(文脈)によって、どちらの意味を指すかが決まります。
本記事では、このような"概念"というものを扱うオントロジが、「ソフトウエア開発のどのような場面で有効なのか」、「ソフトウエア開発者にどのような視点を与えてくれるのか」、について解説します。
図1-1: オントロジの中でも最上位の概念階層(上位オントロジ)の例 |