知識ベース特論 第
5回
―
Semantic Web(2)―
本講義のすすめかた
n情報検索
nSemantic Web
– コンピュータがWebページの意味(Semantic)を理解し、
組み合わせて問題解決にあたれるようにするための
方法論
• Description Logic
– 概念の定義・表現に優れた論理 – オントロジーの記述言語への論理的な裏づけ• 標準化技術
n授業資料(火・金曜日の午後には公開)
http://www-kb.ist.hokudai.ac.jp/~yoshioka/kb/
n質問・レポートはメールで
yoshioka@ist.hokudai.ac.jp
前回の答
nDublin Coreのタームを使って以下の情報をRDF
で記述せよ。
nhttp://www.hokudai.ac.jp/というサイトは、「北海
道大学
Hokkaido University」というタイトルであ
り、日本語で記述されている。
<?xml version="1.0" encoding="Shift_JIS" ?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="ja"><rdf:Description rdf:about="http:// www.hokudai.ac.jp/"> <dc:title>北海道大学 Hokkaido University </dc:title> <dc:lang>日本語</dc:lang>
</rdf:Description> </rdf:RDF>
前回の質問
n
なぜ、主語、述語、目的語の書き方が受け身
なのか?
n
RSSを用いるとトラフィックが減るのはなぜで
オントロジーの記述のために
n概念の定義が推論可能な形で行える必要性
– 概念カテゴリーの同一性の判定
– 抽象・具体の関係
– 実際のインスタンスの情報からの概念カテゴリーの
推定
↓
Description Logic
Description Logicの背景:意味ネットワーク
n意味ネットワーク
– 一般的な知識を人間の直感に即したノードとリンクの
ネットワークとして表現したもの
• 概念階層
母親 父親 人間 子供Description Logicの背景:フレーム
nフレーム
– 概念表現の手法
– フレーム:属性スロット+他概念へのリンク
花子
性別 女
…
父親 太郎
母親 良子
…
太郎
性別 男
…
父親 市蔵
母親 芳江
…
Description Logicの背景:KL-ONE
nKL-ONE
– 意味ネットワークとフレームに基づく知識表現言語 – 概念階層のネットワークを構造化して表現 • 概念階層:継承による構造化 概念分類(taxonomy)ともいう – 主要な表現要素は概念 • プリミティブ概念:システムが用意した根源的な概念 • 定義された概念:プリミティブ概念を継承したり、制約として利 用したりすることによって定義される概念 – オブジェクトを中心にした知識表現 • 表明(assertion)と記述(description)• 一般概念(generic concept)と個体概念(individual concept) – 分類(classification)
• KL-ONE記述が与えられたとき、それを継承ネットワークの適 切な位置(その概念を包摂する記述の下、かつその概念が包 摂する概念の上)に配置する。
Description Logic: DL言語
nKL-ONEの流れをくむ知識表現言語
– 数理論理的な方向ではなく、知識・概念指向の論理
• e.g.,一階述語論理
– 高い表現可能性がある – 充足可能性の判定は決定可能ではない » 冠頭標準形や有限変数などの制限の導入 » 表現力の低下– 記述の表現能力を分析
– 実装可能な推論アルゴリズムを持つ論理体系の構築
を目指す
DL言語の応用領域
nDLを用いて行われる推論タスク
– 概念の充足可能性や概念間の包摂関係を導く
• 概念の充足可能性
知識記述の制約の元で、ある条件を充足する概念
が存在するかどうかを調べる
• 概念間の包摂関係
異なる概念間の包摂関係(概念の一般化・具体化
の関係:「人間」概念は「動物」概念に包摂される)
を調べる
DL言語の基本要素
nDL言語の基本要素
– 概念
• ある特徴をもった個体の集まり
• 一階述語論理における単項述語
– ロール
• 概念が持つ属性
• 一階述語論理における二項述語
– 論理結合子
• ⊓(連言)、 ⊔ (選言)、¬(否定)
– 量化子
• ∀(全称記号)、 ∃(存在記号)
DL言語による概念定義
n定義の例
– Female ⊓ Human 「女の人」
– Human ⊓ (∃has-child.Human) 「人間の親:人間の子
供がいる(
has-childという関係を持つ人間)が存在す
る人間」
– Human ⊓ ∀has-child.Male 「女の子供を持たない人:
子供を持つ場合に、その子供が全て男」
– 男の子供だけを持つ、父親の記述は?
ALC
Language
n
ALC言語における概念の表現
Concept Representation in ALC
– 概念名の集合CN、ロール名の集合RN
– A∈CN、R∈RNを考え、一般的な概念としてC,Dを考え
るとき
A|¬C|C ⊓ D|C ⊔ D| ∀R.C| ∃R.C
– 解釈I
• 対象領域Δ
I• 解釈関数•
I – 全ての概念名に対してΔI の部分集合を割り当てる – 全てのロール名に対してΔI × ΔI の部分集合を割り当てるALC
の
ConstructorとそのSemantics
Constructor
Syntax
Semantics
概念
C
C
I⊆
Δ
Iロール
R
R
I⊆
Δ
I×Δ
I連言
C ⊓ D
C
I∩D
I選言
C
⌴ D
C
I∪D
I全称記号
∀R.C
{
x∈Δ
I| ∀y.(x,y)∈R
I→ y∈C
I}
存在記号
∃R.C
{
x∈Δ
I| ∃y.(x,y)∈R
I∧y∈C
I}
Top
T
T
I= Δ
IBottom
⊥
⊥
I=
φ
否定
¬C
Δ
I-
C
IDL言語における知識
n2種類の知識
– T-Box(Terminological knowledge) • 内包的知識
• 概念定義
Parent ≡ Human ⊓ (∃has-child.Human) Mother ≡ Parent ⊓ Female
• 以下の2つの概念定義の違い Employee ≡ Worker ⊓ ∀ has-boss.(Employee ⌴ Employer) Employee ≡ Worker ⊓ ∃has-boss.(Employee ⌴ Employer) – A-Box(Assertional knowledge) • 外延的知識 • 個体名INに関する知識 Female(YOSHIKO) has-child(YOSHIKO, HANAKO)
DL言語による推論
n推論タスク
– T-Boxに対する推論
• 概念の充足可能性
• 概念間の包摂・同値関係
– A-Box
• 無矛盾性
• 概念のインスタンス
タブロー法
n
充足可能性判定のためのアルゴリズム
– 対象とする概念の構造を分解して、矛盾を導き出すかモデルを構 築するアルゴリズム
• 概念の構造の分解
– NNF(Negational Normal Form)による表現 概念名の直前にのみ否定が現れる – 完備化規則 • 矛盾の発見 – {x:A, x:¬A} – 概念の包摂関係(C ⊑ D)の判定への応用 • C,Dを基本的な概念A∈CNにより置き換え、 C’,D’を得る。 • C’ ⊓ ¬D’をNNFに変形しタブロー法に適用 – 充足不可能な場合:包摂関係が満たされる
n
制約集合
S
iの完備化規則
タブロー規則
規則名 条件 変換方法 ⊓-規則 x: C1 ⊓ C2 ∈Si {x: C1, x:C2}∉Si Si+1=Si∪{x: C1, x:C2} ⊔ -規則 x: C1 ⊔ C2 ∈Si {x: C1, x:C2} ∩ Si =φ Si+1=Si∪{x: C1} or Si+1=Si∪ {x:C2} ∀-規則 x: ∀ P.C, (x,y):P∈Si y: C∉Si Si+1=Si∪{y: C} ∃-規則 x: ∃P.C∈Si {z|z: C, (x,z):P∈Si} =φ概念の包摂関係の判定
Mother ⊑ Human
Mother ≡ Parent ⊓ Female
Parent ≡ Human ⊓ ∃has-child.Human Human ≡ Male ⊔ Female
Mother
⇒ Parent ⊓ Female
⇒ Human ⊓ ∃has-child.Human ⊓ Female
⇒ (Male ⊔ Female) ⊓ ∃has-child.(Male ⊔ Female)) ⊓ Female
(Male ⊔ Female) ⊓ ∃has-child.(Male ⊔ Female)) ⊓ Female ⊓ ¬(Male ⊔ Female)
(Male ⊔ Female) ⊓ ∃has-child.(Male ⊔ Female)) ⊓ Female ⊓ (¬Male ⊓ ¬Female)
概念の包摂関係の判定(続き)
S0={x:(Male ⊔ Female) ⊓ ∃has-child.(Male ⊔ Female)) ⊓ Female ⊓ (¬Male ⊓ ¬Female)}
S1= S0∪{x:(Male ⊔ Female) ⊓ ∃has-child.(Male ⊔ Female)) ⊓ Female, x: (¬Male ⊓ ¬Female)}
S2= S1∪{x:(Male ⊔ Female) ⊓ ∃has-child.(Male ⊔ Female)), x: Female}
S3= S2∪{x:(Male ⊔ Female), x: ∃has-child.(Male ⊔ Female))}
S4= S3∪{x: ¬Male x: ¬Female} S5’= S4∪{x:Female} S5= S4∪{x: Male} ⊓-規則 ⊓-規則 ⊓-規則 ⊓-規則 ⊔ -規則
ALC
Language Family(1)
n数量限定
N
– 高々n個の関係を持つ ≤nR • ≤3has-child ⊓ Male 多くて3人までの子供を持つ男 – 少なくともn個の関係を持つ ≥nR • ≥3has-member ⊓ Team 少なくとも3人のメンバーを持つチーム n制限つき数量限定
Q
– 高々n個のCとの関係を持つ ≤nR.C • ≤3has-child.Male ⊓ Male 多くて3人までの男の子を持つ男 – 少なくともn個のCとの関係を持つ ≥nR .C • ≥3has-member.Female ⊓ Team 少なくとも3人の女性のメン バーを持つチームALC Language Family(2)
nロール演算子 R
– 同時に二つのロールが成り立つ
R
1⊓
R
2• (has-parent ⊓ has-Teacher).Male
男親を先生に持
つ
n逆ロール
I
– 関係Rと逆の関係
R-
• has-parent
-≡has-child
• has-parent
-.Female ⊓ Human
女の子を持つ人
n
One-of
O
– 列挙した個物により定義される概念{a
1 ,a
2 ,…
,a
n}
• {Spring, Summer, Autumn, Winter}
DL Processor
n
CLASSIC
– AT&Tのベル研で作成されたDLの処理系
– 現在、あまりちゃんとメンテナンスされていない
n
Semantic-Web用ツール群
– OWL(Web Ontology Language)
– DAML (DARPA Agent Markup Language) +OIL
(Ontology Interface Layer)
n
オントロジー記述用ツール群
– 例:RACER
http://www.sts.tu-harburg.de/~r.f.moeller/racer/
• ALCQHI
R++(D)-
RDFスキーマ
nRDFで用いる語彙の定義
– クラス階層の定義 • rdfs:Resource RDFスキーマにおける基本クラス(全てのクラスの親クラスであ るクラス)であり、 rdfs:Classのインスタンスである • rdfs:Class RDFスキーマで定義するクラス • rdfs:Literal リテラル(文字列や数字)をあらわすクラス • rdfs:Datatype データ型をあらわすクラス • rdf:XMLLiteral XMLで表現されたリテラルを表すクラス • rdf:Property プロパティをあらわすリソースRDFで用いるプロパティ(1)
nプロパティに対する制約
– rdfs:range
プロパティがとりうる値を制限するための記述
• 例:P rdfs:range C
PはCのインスタンスでなければならない
• 複数個の制限がかけることができる
– rdfs:domain
プロパティが属する領域を制約する
• 例:P rdfs:domain C
PはCの領域に属してなければならない
• 複数個の制限がかけることができる
– rdf:type
プロパティの属すべきクラスを制限する
RDFで用いるプロパティ(2)
nプロパティ間の抽象具体関係
– rdfs:subClassOf rdf:Property のインスタンスで下位(具体)クラスに属するインスタ ンスが全て上位(抽象)クラスに属するインスタンスであるという 関係 • 例:C1 rdfs:subClassOf C2 C1はC2の下位(具体)クラスである • 推移律の成り立つ関係である – rdfs:subPropertyOf rdf:Property のインスタンスで下位(具体)プロパティに属するイン スタンスで関係付けられている全てのものの間に上位(抽象)プ ロパティの関係が存在する • 例:C1 rdfs:subPropertyOf C2 C1はC2の下位(具体)プロパティである • 推移律の成り立つ関係であるRDFで用いるプロパティ(3)
n人間用のプロパティ
– rdfs:label
プロパティに人間が読みやすい名前をつける。
• 多言語による記載などを許す
– rdfs:comment
• リソースに関する説明を記載する
RDFスキーマにおけるクラス定義
RDFスキーマにおけるクラス定義
n
クラス定義の例(
RDF/XMLによる記法)
<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#">
<!-- Note: this RDF schema would typically be used in RDF instance data by referencing it with an XML namespace declaration, for example
xmlns:xyz="http://www.w3.org/2000/03/example/vehicles#". This allows us to use abbreviations such as xyz:MotorVehicle to refer
unambiguously to the RDF class 'MotorVehicle'. --> <rdf:Description ID="MotorVehicle"> <rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/> </rdf:Description> <rdf:Description ID="PassengerVehicle"> <rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:subClassOf rdf:resource="#MotorVehicle"/> </rdf:Description>
RDFスキーマにおけるクラス定義(続き)
nクラス定義の例(
RDF/XMLによる記法)
<rdf:Description ID="Truck"> <rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:subClassOf rdf:resource="#MotorVehicle"/> </rdf:Description> <rdf:Description ID="Van"> <rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:subClassOf rdf:resource="#MotorVehicle"/> </rdf:Description> <rdf:Description ID="MiniVan"> <rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:subClassOf rdf:resource="#Van"/> <rdfs:subClassOf rdf:resource="#PassengerVehicle"/> </rdf:Description> </rdf:RDF>オントロジー
(1)
n哲学用語「存在論」 広辞苑より
– あらゆる存在者が存在者としてもつ共通の特質やそ
の根拠を考察する学問。アリストテレス以来、形而上
学の基礎的部門
– 関連する研究分野
• 認識論(epistemology):認識の起源・本質・妥当範
囲を論究する哲学の一部門
オントロジー
(2)
n人工知能の研究
– 計算機による対象表現
• 定性物理の2つのアプローチ
– デバイスオントロジー 物理現象を入出力のデバイスによりモデリング – プロセスオントロジー 物理現象を属性値に影響を与えるプロセスによりモデリ ング• エキスパートシステムにおける失敗
– エキスパートの知識を目前の問題解決に利用可能な形 で表現することには成功 – 知識の作り方が場当たり的で、再利用性に乏しいオントロジー
(3)
n定義
– 概念化の仕様(specification of a conceptualization)
by T. Gruber@Stanford
– 問題解決システムを構築する際に用いられる概念の
体系的記述
by 溝口理一郎@大阪大学
nOntologyの利用法
– 知識の再利用の支援
• 以前に作成した知識を再利用するためには、知識
記述の背景を理解する必要がある。
– 異なる知識に基づくエージェントの協調
• エージェントAにとってのXという概念は、エージェ
ント
BにとってのX’という概念の関係を理解する必
要がある。
オントロジー
(4)
n類似概念
– Taxonomy 分類学
RDFスキーマのレベルのようにさまざまな語をカテゴ
リーに分類していく
– Thesaurus 類義語辞典
語を意味的類似により分類配列したもの
OWL
n
OWL: Web Ontology Language
– RDF、RDFスキーマと組み合わせてRDF、RDFスキー
マでは不十分な概念定義を行うための記述形式
– Description Logicに基づく概念定義
• クラス階層
• 属性定義
• 内包的概念定義
• 外延的概念定義
OWLの成り立ち
nDAML+OIL
– DARPA Agent Markup Language Ontology Interface Layer – 異なるエージェント間の協調を行うためのオントロジー
n
OWL 2004年2月10日W3CのRecommendation
– Semantic Webでの利用を考慮し、 DAML+OILなどを基準に作 成 – 記述力とインプリメンテーションのコストのバランスを考えた3つの 規格 • OWL-Lite:インプリメンテーションを考えた規格 • OWL-DL:Description Logicの記述制約を受け入れた規格 • OWL-Full:特に制約条件などを考えずに必要な記述内容を 考えた規格
クラス定義
nRDFスキーマのクラス定義の拡張
– owl:class rdfs:classのサブクラス(rdfs:subClassOfの
関係)にあり、
rdfsのクラスに関する定義などは利用可
能
– クラスとインスタンス(インディビジュアル)
owl:Thing インスタンス(インディビジュアル)
rdf:typeによりクラスと関係付け
<owl:Thing rdf:about="#CentralCoastRegion"> <rdf:type rdf:resource="#Region"/> </owl:Thing>プロパティ定義
nクラスが持つべき性質
(Property)
rdf:Propertyに変わるもの
– owl:ObjectProperty オブジェクトが持つプロパティ
– owl:DatatypeProperty
– RDFスキーマから引き継ぐもの
rdfs:subPropertyOf, rdfs:domain, rdfs:range
n
プロパティのタイプ
– owl:transitiveProperty p(x,y) and p(y,z) → p(x,z)
– owl:symmetricProperty p(x,y) → p(y,x)
– owl:functionalProperty p(x,y) and p(x,z)→ y=z
– owl:inverseOf p1(x,y) → p2(y,x)
プロパティへの制約
nowl:restriction プロパティへの制約
– allValuesFrom, someValuesFrom
プロパティの値がある特定のもののリストから選ばれ
る必要がある
– owl:minCardinality
0,1の場合は必須のプロパティかどうかを示す(OWL-Lite)、正の整数(OWL-DL)
プロパティに注目したクラス定義
nクラスの内包的定義
– ある属性を持つクラス
• owl:restriction
<owl:Class rdf:ID="Wine"> <rdfs:subClassOf rdf:resource="&food;PotableLiquid"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#madeFromGrape"/> <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger"> 1</owl:minCardinality> </owl:Restriction> </rdfs:subClassOf> ... </owl:Class>オントロジー間の関係付け
n他のオントロジーとの関係の記述
– owl:equivalentClass 別のオントロジーのクラスと同じクラス – owl:equivalentProperty 別のオントロジーのプロパティと同じプロパティ – owl:sameAs 別のオントロジーのインディビジュアルと同一である – owl:differentFrom, owl:allDifferent 明示的にインディビジュアルが異なることを定義 – Description Logicの推論の利用 あるインスタンスが所定の条件を満たしているので、別のクラス のインスタンスとして取り扱うことができる <owl:Class rdf:ID="Wine"> <owl:equivalentClass rdf:resource="&vin;Wine"/> </owl:Class>複雑なクラス定義 (
OWL-DL)
n
集合論的定義
– intersectionOf, unionOf, complementOf
n
外延的定義
– oneOf 構成するインディビジュアルによりクラスを定義
n