セマンティックWebと認知科学オントロジー 武田英明 国立情報学研究所/総合研究大学院大学 takeda@nii.ac.jp
The Semantic Webの目的 "The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation." The Semantic Web, Scientific American, May 2001, Tim Berners-Lee, James Hendler and Ora Lassila The Semantic Web is a vision: the idea of having data on the web defined and linked in a way that it can be used by machines not just for display purposes, but for automation, integration and reuse of data across various applications. http://www.w3.org/2001/sw/
Semantic Web Webを通じてさまざまな情報交換の実現 自動化 統合 データの再利用
http://www.semaview.com/ © 2003 Semaview Inc. © 2003 Semaview Inc.
Next Generation Web? Webの進化 HTML: 表示のためのWeb XML:シンタックスをもったWeb から 人間と機械のためのWeb ヘ cf. 機械ためだけのWeb どうやって実現する? メタデータをつける メタデータの構造化→オントロジー どうやって使うか? エージェント
なぜXMLでは不十分か “person”, “name”とは何を意味するのか. “name”と“名前”は同じなのだろうか.(同一性) <name> Hideaki Takeda</name> <age> 20</age> </person> <個人> <名前>Hideaki Takeda</名前> <年齢> 20</年齢> </個人> “person”, “name”とは何を意味するのか. “name”と“名前”は同じなのだろうか.(同一性) これは“person”の記述して十分なのだろうか(拘束条件) … 結局,シンタックスだけは解決つかない
Tim Berners-Lee http://www.w3.org/2002/Talks/09-lcs-sweb-tbl/ Semantic Webの階梯 RDF (Resource Description Framework) 最も原始的な意味記述の枠組みを提供ー>SVOモデル Entity-Relation Model(実体関連モデル) セマンティックネット RDF Schema RDFに最も原始的な概念記述の仕組みを追加 class-subclass関係,制約 DAML+OIL より一般的な概念記述の枠組みを提供 多様なクラス表現,多様な制約 DAML-S プロセスの記述 Tim Berners-Lee http://www.w3.org/2002/Talks/09-lcs-sweb-tbl/
RDFシンタックス http://www-kasm.nii.ac.jp/~takedaのcreatorは“Hideaki Takeda”である http://www-kasm.nii.ac.jp/~takeda Creator “Hideaki Takeda” Resource Property Value <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://dublincore.org/2001/08/14/dces#"> <rdf:Description about="http://www-kasm.nii.ac.jp/~takeda"> <dc:Creator>Hideaki Takeda</dc:Creator> </rdf:Description> </rdf:RDF> <rdf:RDF> <rdf:Description about="http://www-kasm.nii.ac.jp/~takeda"> <dc:Creator rdf:resource=“Hideaki Takeda” /> </rdf:Description> </rdf:RDF>
RDF Schema Range(値域) 一つ指定できる Cardinality(個数制限)はない Domain(定義域) 複数指定できる(OR) rdfs:Class rdfs:SubclassOf クラスを詳細化したもの 複数可 推移性 rdf:type あるクラスのインスタンスのとき rdf:property 属性にあたるもの 注意:propertyはグローバル rdfs:subPropertyOf propertyを詳細化したもの
“Social Security Number” RDF Schema Animal <rdf:RDF xml:lang="en" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> <rdfs:Class rdf:ID="Person"> <rdfs:comment>The class of people.</rdfs:comment> <rdfs:subClassOf rdf:resource="http://www.w3.org/ 2000/03/example/ classes#Animal"/> </rdfs:Class> <rdf:Property ID="maritalStatus"> <rdfs:range rdf:resource="#MaritalStatus"/> <rdfs:domain rdf:resource="#Person"/> </rdf:Property> <rdf:Property ID="ssn"> <rdfs:comment>Social Security Number</rdfs:comment> <rdfs:range rdf:resource="http://www.w3.org/2000/03/example/classes#Integer"/> <rdf:Property ID="age"> <rdfs:Class rdf:ID="MaritalStatus"/> <MaritalStatus rdf:ID="Married"/> <MaritalStatus rdf:ID="Divorced"/> <MaritalStatus rdf:ID="Single"/> <MaritalStatus rdf:ID="Widowed"/> </rdf:RDF> “The class of person” s rdfs:comment Person d d maritalStatus d ssn r age MaritalStatus r rdfs:comment Integer t t Married Single “Social Security Number” t Windowed t = rdf:type d = rdfs:domain r = rdfs:range = class = class instance = property t Divorced Resource Description Framework(RDF) Schema Specification 1.0 http://www.w3.org/TR/2000/CR-rdf-schema-20000327/
DAML+OIL RDFSにより豊富なクラス表現と制約の方法を追加 Description Logicのfravor Frame表現のfravor 特徴 クラス クラス要素:必要条件,必要十分条件の区別が可能 クラス表現: プロパティによる制約(クラスのスロット定義の相当) 型制限(全称/限量),個数制限,型指定個数制限 クラスの論理演算:和,積,否定 プロパティ 定義域,値域の複数指定(積) 推移性の指定 定義のインポート
DAML+OIL記述例 <rdf:RDF xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:daml="http://www.daml.org/2001/03/daml+oil#" xmlns:xsd ="http://www.w3.org/2000/10/XMLSchema#" xmlns:dex ="http://www.daml.org/2001/03/daml+oil-ex#" xmlns:exd ="http://www.daml.org/2001/03/daml+oil-ex-dt#" xmlns ="http://www.daml.org/2001/03/daml+oil-ex#“ > <daml:Ontology rdf:about=""> <rdfs:comment>An example ontology by Takeda, with data types taken from XMLSchema</rdfs:comment> <daml:imports rdf:resource="http://www.daml.org/2001/03/daml+oil"/> </daml:Ontology> <daml:Class rdf:ID="Animal"> <rdfs:label>Animal</rdfs:label> <rdfs:comment>This class of animals is illustrative of a number of ontological idioms.</rdfs:comment> </daml:Class> DAML+OIL Example http://www.daml.org/2001/03/daml+oil-ex.daml
<daml:ObjectProperty rdf:ID="name"> <rdfs:domain rdf:resource="#Animal"/> <rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#decimal"/> </daml:ObjectProperty> <daml:DatatypeProperty rdf:ID="age"> <rdfs:comment> age is a DatatypeProperty whose range is xsd:decimal. age is also a UniqueProperty (can only have one age) </rdfs:comment> <rdf:type rdf:resource="http://www.daml.org/2001/03/daml+oil#UniqueProperty"/> <rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#nonNegativeInteger"/> </daml:DatatypeProperty> <daml:Class rdf:ID="Person"> <rdfs:subClassOf rdf:resource="#Animal"/> <rdfs:subClassOf> <daml:Restriction daml:mincardinality="1"> <daml:onProperty rdf:resource="#name"/> </daml:Restriction> </rdfs:subClassOf> </daml:Class> <Person rdf:ID="Hideaki"> <rdfs:label>Hideaki</rdfs:label> <rdfs:comment>Hideaki is a person. His name is Hideaki Takeda and his age is 20.</rdfs:comment> <name>Hideaki Takeda</name> <age><xsd:integer rdf:value="20"/></age> </Person> </rdf:RDF> DAML+OIL Example http://www.daml.org/2001/03/daml+oil-ex.daml
Semantic Webの課題と可能性 Semantic Webは一見技術的には陳腐にみえるが... 技術的側面 閉じた世界と開かれた世界 知識生成のプロセスにおけるHuman-in-the-Loop 社会的側面 普及のプロセス 言語,習慣,文化 オントロジーの課題(つくる,つなげる,つかう) 概念体系の収集と統合
認知科学オントロジー:私の提案 認知学辞典の世界 美しい体系を目指す 混沌しかし拡張可能な体系を目指す 例)Wikipedia どんな体系? 多重オントロジー:ひとつの体系は困難 分野ごと 視点ごと(初学者むき、学習向、専門向、門外漢…) 人毎(橋田さんのオントロジー) 浅いオントロジー:定義を分けることは困難 上位下位、関連用語 プロセス支援? Web、コミュニティ…