for AI

Lecture 6 of Artificial Intelligence
Ontology
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/1
Topics of this lecture
•
•
•
•
•
•
What is ontology?
Semantic network
Frame
Structural knowledge
Declarative knowledge
Procedural knowledge
•
•
•
•
•
•
オントロジーとは?
意味ネットワーク
フレーム
構造的知識
宣言的知識
手続き的知識
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/2
オントロジーとは?
1. オントロジー(ontology)は、もともと哲学者たちの争点の一つで、「存在
論」のことである。
2. (宇宙に何もない状態から考えた場合)最初に存在したのが何か、法則
(精神)なのか、それとも物質なのか、その答えによって唯心論と唯物論
と分かれる。
3. それぞれの根拠があるので、ここで説明することを省く。
4. 簡単に考えれば、すべての「存在」が「ある法則」にしたがって存在し、ま
たある法則によって規定された存在形態を有する。
5. ある「物質的存在」は、他の物質的存在との間に、ある法則にしたがっ
て相互作用をし、別の物質的存在に変わる。
6. この意味で、法則は不変であり、宇宙万物を支配する「本質的」な存在
であると考えられる。
7. しかし、5.にある「物質的存在」を「存在」に書き換えるとどうだろう?
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/3
なぜオントロジー?
• そもそも、なぜオントロジーを考えるのかは、興味深い質問である。
• 実際、人間の知識は、多くの人々のさまざまな経験を元に得られたもの
であり、その中で、「本当の本当」の知識、「万国共通」の知識、「公理」と
なりえる知識などがある。
• これらの知識を「形式的に」まとめることができれば、人類の文明が確実
に進化することができる。
• オントロジー工学は、人間の知識を形式的構築する方法と
過程を研究し、人間の知識がだれでも使用できるようにする
ための学問である。
• 哲学的オントロジーは、宇宙全体に関する知識を、まったくミスがなく、正
しく記述するもので、オントロジー工学の目標であり、オントロジーの最高
レベルであると考えられる。
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/4
オントロジーの形式
• オントロジ工学では、通常、オントロジーをグラフの形で定義する。
• グラフの節点(ノード)はある「存在」を表し、連結(エッジ)は存在と存在の
間の関係を表す。
• ある存在は、その存在の形式、理由、性質、現在の状態などがあり、これ
らはノードの中に記述される。
• 存在間の関係は、上位と下位関係、従属関係、相互作用の条件、などで
あり、エッジで記述される。
• このグラフを見るだけで、「ある人」が獲得した知識が一目瞭然になり、ほ
かの人はそれを学び、改善し、拡張することができる。
• したがって、オントロジーは、人類の知識を伝承し、発展するための重要
なツールである。
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/5
オントロジーの例その1:意味ネット
体毛
犬
脊椎動物
Is a
Is a
動物
哺乳類
Is a
トラ
海豚
鮫
水
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/6
意味ネットとは?
• 意味ネットは有向グラフで表したオントロジーであり、
その節点(node)は概念(concept)を表し、枝(edge)
は概念間の関係を示す。
• 概念は通常、対象(Object);属性(Attributes)と属性
値(Values)によって表現される。
• 概念間の関係としては、上位と下位関係、全体と部
分関係などが挙げられる。
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/7
概念の例
値=雑食
• 犬という概念が、
– 属性1=食べ物、値は「雑食」;
– 属性2=走る速度、値は「速い」;
– 属性3=性格、値は「ひとなつこい」;
などで表せる
概念: 犬
• 属性の値は人間がわかりやすい
「ファジー」の概念で記述すること
が多い。
値=速い
属性2
=速度
値=ひとな
つこい
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/8
既知知識の例
•
•
•
•
動物は生物である
動物は動く
動物は食べる
動物は呼吸する
•
•
•
•
•
•
犬は動物である
犬は雑食である
犬の走る速度ははやい
犬の性格は人懐こい
トラは動物である
トラは肉食である
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/9
既知知識の例(続き)
トラの性格は凶暴である
トラの活動時間は夜である
ワンワンは犬である
ワンワンの人気度は1位で
ある
• ワンワンの大きさは小型で
ある
• ワンワンの原産地は日本
である
•
•
•
•
•
•
•
•
ブールは犬である
ブールの人気度は2位である
ブールの大きさは大型である
ブールの原産地はドイツである
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/10
意味ネットで知識をまとめると
is-a
生物
動物
属性1:動く
属性2:食べる
属性3:呼吸する
is-a
犬
属性1:食べ物=雑食
属性2:走る速度=はやい
属性3:性格=人懐こい
is-a
is-a
トラ
属性1:食べ物=肉食
属性2:活動時間=夜
属性3:性格=凶暴
ワンワン
属性1:人気度=1
属性2:大きさ=小型
属性3:原産地=日本
犬
速度
雑食
はやい
人懐こい
ブルー
属性1:人気度=2
属性2:大きさ=大型
属性3:原産地=ドイツ
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
is-a
AI Lec06/11
意味ネットで推論
• 質問1
– ワンワンの人気度は1ですか?
• 質問2
– ワンワンの原産地はどこですか?
• 質問3
– ワンワンのはしる速度ははやいですか?
• 質問4
– ブルーは動物ですか?
• 質問5
– ワンワンはトラですか?
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/12
意味ネットで推論
• これらの質問に答えるために、部分照合法がある。
• この方法では、質問を基に、まず「質問ネットワー
ク」を構成する。
• この質問ネットワークが意味ネットの一部となる場合、
照合が成功し、回答が得られる。
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/13
推論の例
• 質問: ワンワンの人気度は1ですか?
ワンワン
ワンワン
大きさ
人気度
1
1
小型
日本
質問ネットワークと一致する部分ネットワークが存在するので、答えはYESとなる。
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/14
推論の例
• 質問: ワンワンの速度ははやいですか?
ワンワン
はやい
犬
犬
速度
速度
is-a
速度
はやい
雑食
はやい
人懐こい
質問ネットワークと一致する部分ネットワークは存在しないが、その上位概念にた
どって行くと、一致するものが見つかった。答えはYESとなる。
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/15
意味ネットの歴史
• "Semantic Nets" were first invented for computers by R.
H. Richens in 1956 as an "interlingua" for machine
translation of natural languages.
• They were developed by R. F. Simmons in the early
1960s and later featured prominently in the work of
Collins and Quillian and Collins and Loftus.
• In the 1960s to 1980s the idea of a semantic link was
developed within hypertext systems as the most basic
unit, or edge, in a semantic network.
• These ideas were extremely influential, and there have
been many attempts to add typed link semantics to
HTML and XML.
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/16
オントロジーの例その2:フレーム
• フレームは1975年にミン
スキー(Minsky)によって提
案された知識表現モデルで
ある。
• フレームは意味ネットの拡
張である。
• 意味ネットに比べ、記述力
と推論機能の両面において
優れている。
犬
属性1:食べ物=雑食
属性2:速度=はやい
属性3:性格=人懐こい
フレーム名
犬
スロット1
is-a
動物
スロット2
食べ物
雑食
スロット3
速度
はやい
スロット4
性格
人懐こい
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/17
フレームの例:上位と下位概念
生物
動物
ワンワン
is-a
もの
is-a
生物
is-a
犬
属性
生きている
属性
動く
人気
1
属性
複製できる
属性
食べる
大きさ
小型
属性
死ぬ
属性
呼吸する
原産地
日本
トラ
ブルー
犬
is-a
動物
is-a
動物
is-a
犬
食べ物
肉食
食べ物
雑食
人気
2
性格
凶暴
速度
はやい
大きさ
大型
活動時間
夜
性格
人懐こい
原産地
ドイツ
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/18
フレームの例:全体と部分概念
人
頭
体
is-a
動物
前
顔
部品1
胴体
属性
頭
後ろ
髪の毛
部品2
腕
属性
体
上
髪の毛
部品3
脚
属性
創造 できる
下
首
顔
髪の毛
首
上
眉毛 と 目
形
糸 状
形
円筒
下
顎
色
黒、白、茶
長さ
5cm前後
真ん中
鼻 と 口
硬さ
やわらかい
太さ
10cm前後
色
皮膚 と同じ
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/19
フレームにおける推論:継承管理機構
• 値が記述されていないスロットが質問の中に含まれたとき、
現在フレームの上位概念を検索する。
• 答えが見つかるまで上位フレームを順に検索していく。
• これは意味ネットと同じである。
上位概念
ワンワン
速度
はやい?
犬
速度
はやい
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/20
手続きとメッセージ
• フレームの中で、スロットの値として、手
続き(関数、メソッド)を使用することも可
能である。
• 手続きは何らかの条件で実行され、事
前わからない知識を計算、或はまとめて、
スロットの中に入れることができる。
• 手続きを埋め込むことによって、フレー
ムが宣言的知識(declarative
knowledge)と手続き的(procedural
knowledge)両方が表現できる。
意味ネットワークと違う点
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/21
手続きを利用する例
Yamada
Score
Is-a
学生
Abe
90,89,80,77
平均成績
手続き1
Watanabe
80,88,81,50
奨学金返還
の免除額
手続き2
………
………
Yamada
55,66,88,90
………
………
Ave
手続き3
手続き1
begin
………
Message (Score, Ave, Yamada)
………
end
手続き3
begin
スロットXの値の平均を求める
end
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/22
手続きを利用する例(続き)
• 「Yamada君の平均成績は?」という質問に対して
– Yamada君のフレームを見つける。
– 平均成績の値を検索する。
– 平均成績の値があれば、それをユーザに返して処理を終
了する。なければ、手続き1を呼び出す。
– 手続き1はフレーム「Score」にmessageを送り出す。
– フレーム「Score」は、Yamadaという学生の成績を検索し、
その平均値を求めるために、手続き3を呼び出す。
– 手続き3が結果を手続き1に渡し、手続き1がそれを回答
としてユーザに返して処理を終了する。
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/23
デーモン(demon,精霊)
• デーモンは一定の条件が
満たされたときに自動的に
実行される手続きである。
• 実行条件としては、
– If-needed: スロットの値がな
い状態で参照されたとき
– If-added: スロットに値が代
入されたとき
– If-removed: スロットの値が
削除されたとき
などがある。
• 例えば、前の例では、学生
の平均成績はいつも変わ
るので、対応しているスロッ
トに手続きを入れ、必要の
ときに求めればよい。
Yamada
Is-a
学生
平均成績
If-needed:
手続き1
奨学金返還
の免除額
If-needed:
手続き2
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/24
フレームの特徴
• 意味ネットと同様に、典型的知識、階
層的知識が記述できる。
• デーモンなどの導入によって、手続き
的知識も簡単に記述できる。
• 簡単に言えば、フレームシステムは静
的知識をベースにして、新しい知識を
動的に生み出す機能がある。
• 即ち、ノードで表現された「存在」は、
どの条件でどのように変化するかは、
手続きによって明文化している。
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/25
今週の課題
• 授業Webページにスライド22Pような学生情報を管理するフ
レームのプログラムスケルトンがある.
• これをダウンロードし、必要な部分を埋めてプログラムを完
成させよ.
– ただし、奨学金免除額は成績順位に基づいて決められている.
• 5位以内: 全額免除
• 6-10位の範囲: 半額免除
• 上記以外: 免除無し
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/26
今週の課題 (続き)
• プログラムを完成させたのち、data_06.txtに独自の入力デー
タを追加、更に、answer_06.txtにその予想される出力を追加
してから、実際の出力を確認せよ.
• 以下の事項についてsummary_06.txtのdiscussion項に書け.
– どのような事を行ったのか
– `average`や`rank`などの出力
– 学生の`rank`の変化 (もし変化があれば順位が前後の学生のものを、
変化前・後で示せ)
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/27
今週のクイズ
•
意味ネットの中で、NodeとEdgeはそれぞれ何を表しま
すか?
•
概念(Concept)は、どのように記述されますか?
•
•
意味ネットとホームページとの間に、どんな関係があり
ますか?
•
フレーム(Frame)と意味ネットの相違点は主にどこです
か?
•
フレームにあるデーモンは、どんなものですか?
「ブルーが大型な犬である」ことを11ページの意味ネッ
トで証明してください。
Produced by Qiangfu Zhao (Since 2008), All rights reserved ©
AI Lec06/28