A Semantic Web Primer輪読 5章(担当:沼)
Download
Report
Transcript A Semantic Web Primer輪読 5章(担当:沼)
2005/08/11
セマンティックウェブとメタデータ勉強会#3
5.
Logic and Inference
Rules
沼 晃介
総合研究大学院大学
国立情報学研究所
Outline
•
•
•
•
•
Introduction
単調ルール(Monotonic Rules)
非単調ルール(Nonmonotonic Rules)
XMLによる単調ルールのマークアップ
XMLによる非単調ルールのマークアップ
5.1
Introduction
Logic
• 明確な表現
• 形式的な意味論(semantics)
• 論理的帰結(logical consequence)の正確な概念がある:
他の宣言の集合から宣言を導出可能かを決定する
• 統語的(syntactic)に宣言(statement)を導出する証明シス
テム(proof system)が存在する
• 統語的な導出と一致する意味的な論理的帰結を導出で
きる証明システムが存在する
• 述語論理(predicate logic)は、健全で完全な証明システ
ムが存在する点で他にない
• 証明システムが存在すれば、論理的帰結を導く証明を
トレースできる
Rule System
• 効率的な証明システムのある述語論理のサブ
セット
• Horn logicやdefinite logic programsとも
• 形式:
A1 ,..., An B A, Bは原子式(atomic formula)
• 演鐸ルール(deductive rule)とリアクティブルール
(reactive rule)の2つの読みが可能
• この章では演鐸ルールを扱う
記述論理vs述語論理
• 記述論理(description logic)と述語論理は相互独
立な関係(orthogonal)
• 例)同じ街で勉強し暮らしている人は、「地元学
生」
– OWLではわからない
– ルールでは容易
studies X , Y , lives X , Z , loc Y , U , loc Z , U
homeStuden t X
単調ルールと非単調ルール
• 例) 誕生日に特別割引をする
– R1: もし誕生日なら特別割引をする
– R2: もし誕生日でなければ特別割引はしない
• でも誕生日がわからなかったら?
– R1: もし誕生日なら特別割引をする
– R2´: もし誕生日がわからなければ特別割引はしない
• 2つの問題
– 述語論理の表現を超える
– あとで誕生日が判明したら?
• 単調なルール、非単調なルール
5.2-5.4
Monotonic Rules
単調ルール
5.2 単調ルールの例
• 基本述語
X ,Y
father X , Y
male X
female Y
mother
• ルールを使い、述語を定義して、多くの関係を推論できる
X , Y parent X , Y
father X , Y parent X , Y
male X , parent P , X , parent P , Y , notSame X , Y
brother X , P , parent P , Y uncle X , Y
mother X , P , parent P , Y grandmothe r X , Y
parent X , Y ancestor X , Y
ancestor X , P , parent P , Y ancestor X , Y
mother
brother
X ,Y
5.3 単調ルールの構文(syntax)
loyalCusto mer X , age X
premises
body
• 変数(variables)
60 discount
head
値の保持場所: X
• 定数(constants)
固定された値: 60
• 述語(predicates)
オブジェクトの関連付け: loyalCustomer, >
• 関数記号(function symbols)
特定の引数に関する値: age
X
5.3.1-5.3.3
Rules, Facts, Logic Programs
• 述語論理解釈
ルール
解釈
r : B1 ,..., B n A
pl r : X 1 ... X k B1 ... B n A
X 1 ... X k A B1 ... B n
• 事実(Facts)
原子式
loyalCustomer(a345678)
• 論理プログラム(Logic Programs)
事実とルールの有限集合
5.3.4 Goals
• プログラムに対するクエリ
G : B1 ,..., B n
• 背理法を用いて結論を得る
– Gは以下と同値
X 1 ... X k B1 ... B n
X 1 ... X k B1 ... B n
–
–
–
–
p(a) が事実、 p(X)→ がゴールとする
ゴールは ¬∃X p(X) と読める
事実とゴールは矛盾
∃X p(X) が導かれた
5.4 単調ルールの意味論(semantics)
• 5.4.1 述語論理意味論
– ルール、事実、クエリを述語論理的に解釈
– 述語論理の解釈とは;
• 論理言語(記号)の要素には任意の意味を持たせられる
• 述語論理モデルAには特定の意味を与える
• 論理結合子¬、∨、∧、→、∀、∃は、直感的意味:否定、和、
積、含意、すべての、存在する、に対応
• A|=Ψ :論理式ΨがモデルAにおいて真かどうか
• 論理式の集合Mが真であるモデルAにおいて、論理式Ψが
真のとき、ΨはMから帰結される(Ψ follows from M)という
5.4.1 述語論理意味論(cont’d)
• 具体例
– プログラムP p a
pX qX
– クエリ q X を考える
• q(a) であれば、pl(P) から帰結される:肯定
• q(b) では、pl(P) から帰結されない:否定
5.4.2 Ground
and Parameterized Witnesses 1
• 次の事実とクエリがあるとき
p a
pX
答え Yes は正しいが、不満足
• 定数による証拠(Ground Witness)
{X/a} という置換(substitution)の定数a
5.4.2 Ground
and Parameterized Witnesses 2
• プログラム
add X , 0 , X
add
X ,Y , Z
add X , s Y , s Z
※ s は引数に 1 足したものを返す
クエリ
add X , s 0 , Z
8
• 定数による証拠をあげると
{X/0,Z/s8(0)}, {X/s(0),Z/s9(0)},…と無限にある
• パラメータ化された証拠(Parameterized Witness)
Z = s8(X)
5.5-5.6
Nonmonotonic Rules
非単調ルール
5.5 非単調ルール
• 非単調ルールでは、ルールは棄却可能
(defeasible)
• 否定の原子式がheadやbodyに出現
• 単調ルールとは別の矢印を使う
• ルール間に優先順位をつける
r1 : p X q X
r2 : r X q X
r1 r2
• 事実p(a), r(a)があると、p(a)が導出される
5.5.2 構文
• 形式
r : L1 , L 2 ,..., L n L
•
•
•
•
ラベル(label): r
body, 前提(premises): {L1, …, Ln}
head: L
リテラル: L, L1, …, Ln
肯定・否定のリテラル(関数記号を含まない原子式・その否定)
• 論争論理プログラム(defeasible logic program)
事実の集合「F」、ルールの集合「R」、非循環2項関係「>」のトリプル(F, R, >)
5.6 具体例
• アパート探しの仲介
カルロスは少なくとも45平米で2部屋以上のアパートを探してい
る。もし部屋が4階以上にあるのなら、建物にはエレベータがなけ
ればならない。またペットの飼育も可能でなければならない。
カルロスは45平米で中心街にあるのであれば300ドル出しても
いいと考えており、郊外で同じ条件以上であれば、250ドル出して
もいいと考えている。加えて、部屋の広さが条件以上であれば、1
平米毎に5ドル、また庭については1平米につき2ドル出してもよ
いと考えている。
彼は全体として400ドル以上は出せない。もし、複数の候補が
与えられれば、最も安い条件のアパートを購入するであろう。彼
の2番目の優先順位は庭があるということである。最も低い優先
順位はスペースの追加である。
5.6.1 要求の形式化
述語
• size(x,y)
• bedrooms(x,y)
• price(x,y)
• floor(x,y)
• garden(x,y)
• lift(x)
• pets(x)
• central(x)
• acceptable(x)
• offer(x,y)
アパートxの広さはy平米
xの部屋数はy
xの値段はy
xはy階にある
xには広さyの庭がある
xにはエレベータがある
xはペット可
xは中心街にある
アパートxはカルロスの要求にあう
カルロスはxにyドル払える
5.6.1 要求の形式化(cont’d)
X
r2 : bedrooms X , Y , Y 2 acceptable X
r3 : size X , Y , Y 45 acceptable X
r4 : pets X acceptable X
r5 : floor X , Y , Y 3 , lift X acceptable X
r6 : price X , Y , Y 400 acceptable X
r1 : acceptable
r2 r1 , r3 r1 , r4 r1 , r5 r1 , r6 r1
r7 : size X , Y , Y 45 , garden
X , Y , central X
offer X , 300 2 Z 5 (Y 45 )
r8 : size X , Y , Y 45 , garden X , Y , central X
offer X , 250 2 Z 5 (Y 45 )
r9 : offer X , Y , price ( X , Z ), Y Z acceptable X
r9 r1
5.6.2 購入可能なアパートの表現
アパート
寝室
広さ
中心街
階
エレベータ
ペット
庭
価格
a1
a2
a3
a4
a5
a6
a7
1
2
2
2
3
2
3
50
45
65
55
55
60
65
yes
yes
no
no
yes
yes
yes
2
1
3
2
1
4
2
no
no
no
yes
no
no
no
yes
yes
yes
no
yes
no
yes
0
0
0
15
15
0
12
300
335
350
330
350
370
375
5.6.2 購入可能なアパートの表現
(cont’d)
• アパートa1
a 1 ,1
size a 1 , 50
central a 1
floor a 1 ,1
lift a 1 , 0
pets a 1
garden a 1 , 0
price a 1 , 300
bedrooms
5.6.2 購入可能なアパートの表現
(cont’d)
• アパートa1は寝室1つなのでNG(ルールr2)
• ペットが飼えないのでa4とa6はNG(ルールr4)
• a2は、カルロスが払える300ドルより高い(ルール
r7とルールr9)
• アパートa3とa5とa7は条件に合う(ルールr1)
5.6.3 アパートの選択
• 追加ルール
r10 : cheapest
r11 : cheapest
r12 : cheapest
X rent X
X , largestGar den X rent X
X , largestGar den X , largest X
r12 r10 , r12 r11 , r11 r10
• 事実
a 3
cheapest a 5
largest a 3
largest a 7
cheapest
largestGar den a 5
rent X
5.6.3 アパートの選択(cont’d)
• ルールr11はa5に適用できる
• ルールr10はa3に適用できるので、競合が起こる。
だが、この競合はルールr11がr10より強いという
条件から解消され、a5が残る。
• r11がr12の優先条件に当てはまるアパートはない
ため、これが唯一の競合である。
5.7
Rule Markup in XML
単調ルール
5.7.1 項(term)
• <term>, <function>, <var>, <const>を用いて表現
<term>
<function>f</function>
f X , a , g b , Y
<term><var>X</var></term>
<term><const>a</const></term>
<term>
<function>g</function>
<term><const>b</const></term>
<term><var>Y</var></term>
</term>
</term>
5.7.2 原子論理式(atomic formula)
• <atom>, <predicate>を追加
<atom>
<predicate>p</predicate>
p X , a , f b , Y
<term><var>X</var></term>
<term><const>a</const></term>
<term>
<function>f</function>
<term><const>b</const></term>
<term><var>Y</var></term>
</term>
</atom>
5.7.3 事実 (fact)
• 原子論理式を<fact>で囲む
<fact>
<atom>
p a
<predicate>p</predicate>
<term><const>a</const></term>
</atom>
</fact>
5.7.4 ルール (rule)
• <rule>, <head>, <body>を追加
p X , a , q Y , b r X , Y
<rule>
<predicate>p</predicate>
<head>
<term><var>X</var></term>
<atom>
<term><const>a</const></term>
<predicate>r</predicate>
</atom>
<term><var>X</var></term>
<atom>
<term><var>Y</var></term>
<predicate>q</predicate>
</atom>
<term><var>Y</var></term>
</head>
<body>
<atom>
<term><const>b</const></term>
</atom>
</body>
</rule>
5.7.5 クエリ (query)
• ruleのbody(atomのリスト)で表現され、
<query>で囲む
<query>
<atom>
p X , a , q Y , b
<predicate>p</predicate>
<term><var>X</var></term>
<term><const>a</const></term>
</atom>
<atom>
<predicate>q</predicate>
<term><var>Y</var></term>
<term><const>b</const></term>
</atom>
</query>
5.7.6 DTD
<!ELEMENT program ((rule | fact)*)>
<!ELEMENT fact (atom)>
<!ELEMENT rule (head, body)>
<!ELEMENT head (atom)>
<!ELEMENT body (atom*)>
<!ELEMENT atom (predicate, term*)>
<!ELEMENT term (const | var | (function, term*))>
<!ELEMENT predicate (#PCDATA)>
<!ELEMENT function (#PCDATA)>
<!ELEMENT var (#PCDATA)>
<!ELEMENT const (#PCDATA)>
<!ELEMENT query (atom*)>
5.7.7 RuleML
• 標準化中のルール記述手法
• 順番は関係ない
この本のDTD
RuleML
program
rulebase
fact
fact
rule
imp
head
_head
body
_body
atom
atom
atom*
and
predicate
rel
const
ind
var
var
この本のRuleMLは
Version 0.8くらい?
現在は改定が重ね
られ、0.89になって、
だいぶ変わっている
5.8
Rule Markup in XML
非単調ルール
単調ルールとの構文比較
•
•
•
•
関数記号はない
否定の原子式がルールのheadやbodyに現れる
ルールはラベルを持つ
プログラムには、ルールと事実のほかに、優先
順位を含む
• 使用構文
– ラベル:ruleのid属性
– 優先順位:<stronger>
– 否定:<neg>
5.8.2 DTD
<!ELEMENT program ((rule | fact | stronger)*)>
<!ELEMENT fact (atom | neg)>
<!ELEMENT neg (atom)>
<!ELEMENT rule (head, body)>
<!ATTLIST rule
id ID #IMPLIED>
<!ELEMENT head (atom | neg)>
<!ELEMENT body ((atom | neg)*)>
<!ELEMENT atom (predicate, (var | const)*)>
<!ELEMENT stronger EMPTY>
<!ATTLIST stronger
superior IDREF #REQUIRED>
inferior IDREF #REQUIRED>
<!ELEMENT predicate (#PCDATA)>
<!ELEMENT var (#PCDATA)>
<!ELEMENT const (#PCDATA)>
<!ELEMENT query (atom*)>
5.9
Summary
まとめ
• ホーン論理は述語論理のサブセットであり、効率
的な推論が可能。ホーン論理は記述論理(DL)
に対して直行的なサブセットを形成。
• ホーン論理は単調ルールの基礎。
• 非単調論理ルールは、利用可能な情報が完全
でない状況で便利。矛盾する証拠によって上書
きされることがあるルール。
• 優先順位は非単調論理の競合を解消する。
• XMLに似た記述言語によるルール表現はわか
りやすい。
和訳部分はジャストシステム知識活用研究グループ
Gnosis翻訳の『CD-ROMで始めるセマンティックWeb』
(2005年6月)から一部引用した。