知識工学 スライド

知識工学
第07回
・基本的な知識表現と推論
-概念階層と論理型言語の融合
-概念辞書とオントロジー
担当: 馬場 博巳
論理型言語における概念階層の取り扱い
—  概念階層
—  サッカー少年は若者である.
—  東京のサッカー少年はサッカー少年である.
—  事実
—  太郎は東京のサッカー少年である.
—  サッカーはスポーツである.
—  太郎の趣味はサッカーである.
—  Prologによる記述
若者(X) :- サッカー少年(X).
サッカー少年(X) :- 東京のサッカー少年(X).
東京のサッカー少年(太郎).
スポーツ(サッカー).
趣味(太郎, サッカー).
2
知識工学 第07回
2014/06/02
Prologへの質問
—  「太郎は若者ですか?」という質問
?- 若者(太郎).
yes.
—  「スポーツを趣味とする若者はいますか?」とい
う質問
?- 趣味(X, Y), 若者(X), スポーツ(Y).
X = 太郎
Y = サッカー
3
知識工学 第07回
2014/06/02
問題点
—  概念階層上で距離が離れている場合,介在する
ルールが多くなり,推論ステップが非常に多くな
る.
—  概念階層とルールを別形式で記述した方が,概念
を整理しやすい.
⇒ 概念階層とルールを別個に扱う論理型言語が
開発された.(LOGINなど)
※概念の検索が高速に行える.
4
知識工学 第07回
2014/06/02
概念階層と論理の融合
概念階層
論理
p(・, ・) ← q(・), r(・, ・)
5
知識工学 第07回
2014/06/02
概念階層の例
T
地域で分類した人
年齢で分類した人
スポーツ
東京人
大阪人
若者
サッカー
少年
大阪の
野球少年
東京の
サッカー少年
三郎
太郎
球技
野球少年
野球
サッカー
格闘技
ラグビー
次郎
⊥
6
知識工学 第07回
2014/06/02
用語説明
—  トップ(T):最上位の概念
—  ボトム(⊥):最下位の概念
—  束構造(そくこうぞう)(lattice structure):ど
の2つの概念をとっても,共通の上位概念と共通
の下位概念を持っているグラフ構造
—  最大下界(さいだいかかい)(Greatest Lower
Bound: GLB):下にたどった時,共通概念の最
も上位のもの
—  最小上界(さいしょうじょうかい)(Lowest
Upper Bound: LUB):上にたどった時,共通概
念の最も下位のもの
7
知識工学 第07回
2014/06/02
概念辞書とオントロジー
—  概念階層やルールベースなど,知識ベースの作成
は負担が大きい.
—  膨大な知識を矛盾なく整理し,記述せねばならない.
—  専門家のノウハウは明文化が困難である.
—  従来の多くの知的システムの知識システムは,シ
ステム固有の物で再利用できない.
—  もし,知識ベースを他のシステムと共有したり,
再利用する事が出来れば,知識ベース開発の負担
軽減となる.
⇒ オントロジー(ontology)に注目
8
知識工学 第07回
2014/06/02
オントロジーとは
—  オントロジー(存在論)は,哲学用語で,世の中の全
ての物の共通の規定や性質を系統だてて説明する事を
目指した理論.
—  人工知能の分野では,明確な定義はない.
※「対象世界の概念を切り出し,概念間の関係を体系的か
に,かつ一般性を持つように整理し,コンピュータで理
解が可能な形式にまとめたもの」という意味で使ってい
る.
—  オントロジーは汎用の知識ベース,あるいは,汎用の
概念辞書としての意味合いが強いが,知識ベースとは
異なる.
※知識ベースには,経験的知識もルールとして含まれるが,
オントロジーに経験的知識は含まれない.
9
知識工学 第07回
2014/06/02
言語知識のオントロジーの代表例
—  EDR電子化辞書(日本電子化辞書研究所)
—  日本語語彙体系(NTTコミュニケーション科学研
究所)
—  日本語計算機用語辞書IPAL(情報処理振興事業協
会)
—  WordNet(プリンストン大学)
—  CYC(Cycorp社)
10
知識工学 第07回
2014/06/02
ARPAにおけるオントロジーの共有
—  米国ARPAの知識共有活動(Knowledge Sharing
Effort)では,ネットワーク上のエージェントが
知識を共有するため,以下を提案している.
—  エージェント通信言語KQML(Knowledge Query
and Manupulation Language)
—  知識交換用言語KIF(Knowledge Interchange
Format)
—  共通オントロジー記述言語Ontolingua
11
知識工学 第07回
2014/06/02
エージェント通信言語KQML
—  エージェントが互いに情報を交換するための言語
で,情報を記述する言語とオントロジーを指定し
て通信を行う.
—  記述例:「motor2 についての情報を送って欲し
い.返事には,識別情報q1をつけて欲しい.」
(stream-about
: language KIF
: ontology motor
: reply-with q1
: contents motor2)
12
知識工学 第07回
2014/06/02
知識交換用言語KIF
—  一階述語論理を拡張し,集合演算や非単調推論な
どができるようにした言語.
—  記述例:「?xが?yの父親ならば,?xは男性かつ?
yの親である.」というルールを表す.
(forall ?x
(exists ?
(=> (father ?x ?y)
(and (man ?x) (parent ?x ?y)))))
13
知識工学 第07回
2014/06/02
共通オントロジー記述言語Ontolingua
—  対象領域をオブジェクト,関数,関係の集まりと
して定義するための言語.
—  記述例:「?authorが著者であるのは,?authorが
personであって,author.nameとperson.nameが
一致していることである.」を表す.
(def-class AUTHOR(?author)
: def (and (person ?author)
(<=>(author.name ?author ?name)
(person.name ?author ?name))))
14
知識工学 第07回
2014/06/02
インターネット上での知識共有
—  インターネット上でのオントロジーの標準化の試
みが始まっている.
—  Berners-Leeが提唱するセマンティック
Web(Semantic Web)は,Web上のリソースに
メタ知識を付与して,エージェントがそれらのリ
ソースに対して意味的な処理が行えるようにする
試みである.
—  セマンティックWebが実現されると,エージェン
トはWeb上の複数のオントロジーやリソース上の
メタデータを利用し,Web上の情報を有効利用し
た知的処理を実現する事が期待される.
15
知識工学 第07回
2014/06/02