November 15, 2004
[論文紹介]オントロジ技術の応用に関する一考察
オントロジひいてはセマンティックWebについてその概要を紹介するサーベイ論文。ラッセルやらヴィトゲンシュタインやら認知心理学やらエジプト文明のヒエログラフやらを紐解きながらオントロジ技術の最新の動向を敷衍するという内容で、読み物としてとてもおもしろい。著者の大野邦夫氏はドコモシステムズ所属で、そのためか文中には携帯電話への言及があったりする。
以下、興味を惹かれた部分を適当にまとめる。
・OWLで表現される概念について
OWLで表現される概念はおおきく3つに分類される。分類概念、特性概念、定量概念である。
(i)分類概念
Thing, Nothingという根っこから出発して、世界をオブジェクトに分類していこうというもの。たとえば世界から「動物(animal)」という概念を切り出すケースを考えよう。
まず、Animalというクラスを宣言する。Labelタグで新しい概念を導入する。
<owl:Class rdf:ID="Animal" > <rdfs:label>Animal</rdfs:label> <rdfs:comment>これは「動物」を表す概念だよ。</rdfs:comment> <owl:Class>
これで「動物」という概念を新たに宣言したことになるらしい。この概念をさらに分割していく。たとえば、動物には雄と雌がいるので。
<owl:Class rdf:ID="Male> <rdfs:subClassOf rdf:resource="#Animal"/> </owl:Class>
<owl:Class rdf:ID="Famale"> <rdfs:subClassOf rdf:resource="#Animal"/> <owl:disjoingWith rdf:resource="#Male"/> </owl:Class>
subClassOf要素で、概念の親子関係を表現する。また、disjoint要素でお互いに排他的な関係であるということを表す。上の例では、雄であると同時に雌であるというような動物は存在しないということになる。
こんな感じで、世界をどんどん概念に切り分けていく。
(ii)特性概念
すでに分類されてる概念を修飾する。オブジェクト間の関係を記述するものと、オブジェクトとデータ型の関係を記述するものに分けられる。
<owl:ObjectProperty rdf:ID="hasParent"> <rdfs:domain rdf:resource="#Animal"/> <rdfs:range rdf:resource="#Animal"/> </owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="hasFather"> <rdfs:subPropertyOf rdf:resource="#hasParent"/> <rdfs:range rdfs:resource="#Male"/> </owl:ObjectProperty >
この場合、オブジェクト間にhasParent関係を定義する(2つの動物を関連づける)。また、hasParent特性の関係する適用領域(domain)と、結果として値が取りうる範囲(range)を宣言する。この場合は親子が共にAnimalなので、domainもrangeも同じになる。
特性を継承することにより範囲を狭めることができる。たとえば、値となる親のレンジを雄に限ることで父親を定義する。
(ii)定量概念
すでに定義されている特性概念に、数の情報を付加する。
<rdfs:subClassOf> <owl:Restriction owl:cardinality="1"/> <own:onProperty rdf:resource="#hasFather"/> </rdfs:subClassOf>
長くなってきたのでエントリを分ける。
Trackback
You can ping this entry by using http://windy.ac/MT/mt-tb.cgi/637 .
