[Previous] [Up] [Next]

第5週 知識資源管理技術の基礎(4)
〜セマンティックWeb と オントロジー〜


1. セマンティックWeb におけるオントロジーとは

1.1 哲学におけるオントロジー

オントロジーは、もともとは、哲学において、存在とはなにか、あるいは物理的・概念的な存在は本質的にどのようなものであるのか、という課題を探求する活動である、「存在論(Ontology)」を指すものである。

例えば伝統的な哲学では、存在論の中で、以下のような問いに取り組んできた。

参考:哲学においては、存在論とは別に、対象となる事象を人間がどのように認識するか(できるのか)を探求する「認識論(Epistemology)」と呼ばれるアプローチがある。

1.2 オントロジーと辞書・辞典

物理的・概念的な事象を見極めるという、存在論的(オントロジー的)な視点に基づいて、実用的な成果を出してきたのが、辞書・辞典である。

例:
国語辞典
概念や事象を表す日本語の用語を、日本語の文章によって定義している。
シソーラス
単語同士の、同義・類義関係を定義した辞書である。
英和(和英)辞典
英語と日本語という、異なるドメインに属する単語の関係を定義している。

1.3 コンピュータサイエンスにおけるオントロジー

コンピュータサイエンスの領域におけるオントロジーも、哲学と同様に、さまざまな事象や概念の性質を整理し、定義するための枠組みである。哲学や辞書との主な違いは、以下の通りである。

1.4 セマンティックWebにおけるオントロジー

さらに、セマンティックWebにおけるオントロジーは、以下の特徴を持つ。

これによって、セマンティックWebにおけるオントロジーは、インターネットやイントラネットを介して、領域、組織、部門などを越えた多様な知識を共有するための手段として、普及しはじめている。

現在、セマンティックWebにおけるオントロジーを表現する手段として、OWL (Web Ontology Language)という語彙体系と、それを処理するためのルールなどの関連技術が提案されている。

図1 セマンティックWebの概念図
出所:http://www.w3.org/DesignIssues/diagrams/sw-stack-2005.png

2. Web オントロジー言語 (OWL) の概要

2. 1 OWL の概要

OWL は、オントロジー記述言語として、以下のような事象の関係性を定義することができる。

2. 2 OWLの構文

以下に、OWLで用いられる主な構文について述べる。

(1) クラス要素

a. クラス定義、クラスのおよび上下関係の定義

OWLのクラスは、owl:Class 要素によって定義される。例えば、「准教授は教員の一種である」という知識は、以下のように表現される。

 <owl:Class rdf:ID="准教授">
   <rdfs:subClassOf rdf:resource="#教員"/>
 </owl:Class>
※ セマンティックWebにおけるオントロジー定義では、RDF、RDFS、OWLなどを組み合わせる。

これを RDF グラフで表現すると以下のようになる。

b. クラスの同義性の定義

例えば、「教員と教授陣は同義である」といったように、異なる名前のクラスが同じものである(同値である)という関係は、owl:equivalentClass 要素によって定義される。

 <owl:Class rdf:ID="教授陣">
   <owl:equivalentClass rdf:resource="#教員"/>
 </owl:Class>

c. クラスの異義性の定義

「准教授は、教授や講師とは異なる」という知識は、owl:disjointWith要素によって定義される。

 <owl:Class rdf:about="#准教授">
   <owl:disjointWith rdf:resource="#教授"/>
   <owl:disjointWith rdf:resource="#講師"/>
 </owl:Class>

d. クラス集合の定義

クラス集合の論理的な組合せは、以下の要素を用いて表現する。

owl:intersectionOf
クラス集合の「積」を表す。
owl:unionOf
クラス集合の「和」を表す。
owl:complementOf
クラス集合の補集合(主語クラスのうち目的語クラスに属さない部分)を表す。

例えば、「教授陣は、教授、准教授、講師を合わせたものである」という知識は、以下のように表現される。

 <owl:Class rdf:ID="教授陣">
  <owl:unionOf rdf:parseType="Collection">
   <owl:Class rdf:about="#教授"/>
   <owl:Class rdf:about="#准教授"/>
   <owl:Class rdf:about="#講師"/>
  </owl:unionOf>
 </owl:Class>

(2) プロパティ要素

OWL では、プロパティの定義について、「データ型プロパティ」と「オブジェクトプロパティ」という、2種類の定義方法がある。

a. データ型プロパティ

データ型プロパティでは、オプジェクトの属性の型を定義する。

以下は、データ型プロパティの記述例である。例えば、「『年齢』という 属性の値の範囲は、プラスの整数(nonNegativeInteger) である」という知識 は、以下のように表現される。

 <owl:DataProperty rdf:ID="年齢">
   <rdfs:range
     rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/>
 </owl:DataProperty>

b. オブジェクトプロパティ

オブジェクトプロパティでは、属性が取り得る値の範囲を定義する。

以下は、オブジェクトプロパティの記述例である。例えば、「『担当教員』というオブジェクトは、『授業科目』を『担当』する『教員』である」という知識は、以下のように表現される。

 <owl:ObjectProperty rdf:ID="担当教員">
   <rdfs:domain rdf:resource="#授業科目"/>
   <rdfs:range rdf:resource="#教員"/>
   <rdfs:subPropertyOf rdf:resource="#担当"/>
 </owl:ObjectProperty>

(3) インスタンス定義

OWL によって定義されたクラスを元にインスタンスを定義する場合は、RDFを用いる。

 <rdf:Description rdf:ID="123456">
   <rdf:type rdf:resource="#教員"/>
 </rdf:Description>

4. セマンティックWebによるオントロジー記述の実例

4. 1 一般的な記述方法

既に見てきたように、セマンティックWebを用いたオントロジー記述をする際には、 OWL だけでなく、RDF や RDF Schema の語彙を組み合わせる必要がある。

以下に、これらの語彙を用いる際のおおまかな方針を示す。

RDF
インスタンスを特定、あるいはクラスとインスタンスの関係を定義するために用いる。
例:rdf:Description、rdf:resource、rdf:type、など

RDF Schema (RDFS)
クラスのの上下関係、属性の範囲など、より抽象的な情報を記述するために用いる。
例:rdfs:subClassOf、rdfs:range、など。

OWL
クラス間の多様な論理的関係性(同等、少なくとも1つが該当、など)を記述するために用いる。

実際のオントロジー記述では、上記の語彙に

Dublin Core
著作物の記述
FOAF
人物の記述

などを加え、さらには新規に定義した独自の語彙を用いることもある。

4. 2 実例

RDF/OWL を利用した歴史情報閲覧システム

参考リンク:


5. セマンティックWeb 技術とオントロジーの応用

5.1 ビジネス分野での応用

現在、セマンティックWeb 技術とオントロジーが、以下のビジネス分野で応用されはじめている(参考:文献1, pp. 213-237.)。

  1. 水平情報統合
  2. データ統合
  3. スキル発見
  4. マルチメディアデータベース、など。

5.2 学術分野での応用

認知科学会・情報処理学会による「総合学術辞典(仮称)」構想

参考リンク:


第2部:事例紹介


  1. Antoniou, G. and van Harmelen, F. : A Semantic Web Primer, MIT Press (2004)(荻野監修、CD-ROMで始めるセマンティックWeb、ジャストシステム、2005)
  2. 神崎著、セマンティック・ウェブのためのRDF/OWL入門、森北出版
  3. 斎藤・荻野監、セマンティックWeb入門、オーム社
  4. 曽根原・岸上・赤植著、メタデータ技術とセマンティックウェブ、電機大出版局
  5. 溝口編、オントロジー構築入門、オーム社
  6. 神崎、メタ情報とセマンティックWeb、http://www.kanzaki.com/docs/sw/

[Previous] [Up] [Next]
Mitsuyuki Inaba (inabam@sps.&#\ 114;itsumei.ac.jp)
Last modified: Mon Jul 13 12:54:38 JST 2009