Comments
Description
Transcript
Webインテリジェンス論 Protégé演習
Webインテリジェンス論 Protégé演習 演習の概要 カクテルオントロジーの作成 クラス階層 プロパティ階層 クラス公理 推論機構の利用 Protégé 世界で最も有名かつ利用されているオントロジー構築 支援ツール 拡張可能なプラグイン機構 http://protegewiki.stanford.edu/index.php/Protege_Plu gin_Library 最新バージョン: ユーザ登録数: 約20万人 (2012年6月) 3系:3.4.8 (3.5 Beta) 4系:4.1 (4.2 Beta) 開発元:Stanford大学 Medical Informatics 入手先:http://protege.stanford.edu/ Protégéにより編集可能な要素 ヘッダ要素 クラス要素 プロパティ要素 インスタンス カクテルオントロジーの作成 カクテル 主材料 副材料 スクリュードライバー ウォッカ オレンジジュース バラライカ ウォッカ ホワイトキュラソー レモンジュース ギムレット ジン ライムジュース ジンアンドイット ジン スイートベルモット フロリダ オレンジジュース レモンジュース オントロジ技術入門 第4章 OWLウェブオントロジ言語の記述例より カクテルオントロジーにおける クラス階層の作成 スピリッツ リキュール 材料 蒸留酒に果実やハーブなどの副材料を加えて調製した酒 (出典: wikipedia) ホワイトキュラソー,スイートベルモット ジュース 蒸留酒.醸造酒を蒸留して作られた酒 (出典: wikipedia) ウォッカ,ジン 果汁飲料. レモンジュース,ライムジュース,グレープフルーツジュース,オレンジ ジュース カクテル 主にベースとなる酒に,他の酒またはジュースなどを混ぜて作るアル コール飲料 (出典: wikipedia) スクリュードライバー,バラライカ,ギムレット,ジンアンドイット,フロリダ カクテルオントロジーにおける クラス階層の作成 クラス名を入力 下位クラス 兄弟クラス の作成 の作成 クラス の削除 カクテルオントロジーにおける プロパティ階層の作成 オブジェクト プロパティ データタイプ プロパティ オブジェクト プロパティ の作成 定義域の 追加 サブプロパティ の作成 値域の 追加 プロパティ の削除 カクテルオントロジーにおける プロパティ階層の作成 材料プロパティ 定義域:カクテル 値域:ジュース,スピリッツ,リキュール カクテルオントロジーにおける クラス公理の作成 スクリュードライバーは,主材料がウォッカ,副材料 がオレンジジュースからできるカクテル OWLのプロパティ制約により表現 スクリュードライバークラスは,主材料プロパティを持ち,その 値の少なくとも一つはウォッカクラスのインスタンスである スクリュードライバークラスは,副材料プロパティを持ち,その 値の少なくとも一つはオレンジジュースクラスのインスタンス である カクテルオントロジーにおける クラス公理の作成 スクリュードライバー owl:Thing 主材料:ウォッカ カクテル 副材料: オレンジジュース カクテルオントロジーにおける クラス公理の作成 制約の 作成 カクテルオントロジーにおける クラス公理の作成 スクリュードライバークラスは,主材料プロパティを持ち, その値の少なくとも一つはウォッカクラスのインスタンスである カクテルオントロジーにおける クラス公理の作成 スクリュードライバークラスの定義 RDF/XML構文 <owl:Class rdf:ID="スクリュードライバー"> <rdfs:subClassOf rdf:resource="#カクテル"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty> <owl:ObjectProperty rdf:about="#主材料"/> </owl:onProperty> <owl:someValuesFrom rdf:resource="#ウォッカ"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:someValuesFrom rdf:resource="#オレンジジュース"/> <owl:onProperty> <owl:ObjectProperty rdf:about="#副材料"/> </owl:onProperty> </owl:Restriction> </rdfs:subClassOf> </owl:Class> Protégé カクテルオントロジーにおける クラス公理の作成 カクテル 主材料 副材料 スクリュードライバー ウォッカ オレンジジュース バラライカ ウォッカ ホワイトキュラソー レモンジュース ギムレット ジン ライムジュース ジンアンドイット ジン スイートベルモット フロリダ オレンジジュース レモンジュース 同様に,上記の表を参考にして,プロパティ制約を作成 推論機構の利用 Protégéと推論エンジンを連携させることにより, クラスの自動分類を行うことができる Reasoning → Pellet 1.5.2 (direct) Reasoning → Classify Taxonomy メニュー 推論機構を利用して,以下のカクテルを自動的 に判別させる ウォッカベースカクテル アルコール入りカクテル ノンアルコールカクテル ウォッカベースカクテルの定義 主材料がウォッカであるカクテル カクテルクラスの下位クラス 主材料プロパティを持ち,その値の少なく とも一つはウォッカクラスのインスタンスで あるという制約を持つ 上記を必要十分条件とする ウォッカベースカクテルの分類 necessary & sufficient 必要条件の場合,主材料がウォッカであっても, 必要十分条件.完全公理. ウォッカベースカクテルであるとは限らないという necessary 意味になるため 必要条件.部分公理. 分類されない ウォッカベースカクテルの分類 <owl:Class rdf:ID="ウォッカベースカクテル"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty> <owl:ObjectProperty rdf:ID="主材料"/> </owl:onProperty> <owl:someValuesFrom rdf:resource="#ウォッカ"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Class rdf:ID="カクテル"/> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ウォッカベースカクテル"> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:ID="カクテル"/> <owl:Restriction> <owl:someValuesFrom rdf:resource="#ウォッカ"/> <owl:onProperty> <owl:ObjectProperty rdf:ID="主材料"/> </owl:onProperty> </owl:Restriction> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> 部分公理(必要条件) 完全公理(必要十分条件) ウォッカベースカクテルの分類 Reasoning → Classify taxonomy 推論されたクラス階層 メニューを実行 推論結果を表示 アルコール入りカクテルの定義 材料にアルコールが含まれているか, そうでないかを区別 スピリッツとリキュールはアルコールが 含まれており,ジュースにはアルコール は含まれていない アルコール飲料というクラスを作成し, その下位クラスをスピリッツとリキュー ルとする アルコール入りカクテルの分類 アルコール入りカクテルの定義 主材料,副材料の別を問わず, 材料にアルコール飲料を含むカクテル カクテルクラスの下位クラス 材料プロパティを持ち,その値の少なくとも 一つはアルコール飲料クラスのインスタン スであるという制約を持つ 上記を必要十分条件とする アルコール入りカクテルの分類 アルコール入りカクテルの分類 Reasoning → Classify taxonomy メニューを実行 ノンアルコールカクテルの分類 カクテルのうちアルコール入りカクテル 以外のもの フロリダはノンアルコールカクテル 主材料:オレンジジュース 副材料:レモンジュース 補集合(owl:complementOf)を用いて 定義可能 ノンアルコールカクテル owl:Thing アルコール入り カクテル カクテル ノンアルコールカクテルの分類 Help → Protégé-OWL Syntaxメニューを実行 ① ② ④ ③ ノンアルコールカクテルの分類 フロリダがノンアルコールカクテル として分類されない Reasoning → Classify taxonomy メニューを実行 ノンアルコールカクテルの分類 フロリダクラスのプロパティ制約 開世界仮説では,これだけの条件からは, フロリダに他の材料(アルコール飲料) が含まれる可能性が排除できない フロリダクラスの材料プロパティ(およびその下位プロパティ)の値は, すべてオレンジジュースクラスまたはレモンジュースクラスの インスタンスである ノンアルコールカクテルの分類 <rdfs:subClassOf> RDF/XML構文 <owl:Restriction> <owl:allValuesFrom> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#オレンジジュース"/> <owl:Class rdf:about="#レモンジュース"/> </owl:unionOf> </owl:Class> </owl:allValuesFrom> <owl:onProperty> <owl:ObjectProperty rdf:ID="材料"/> </owl:onProperty> </owl:Restriction> </rdfs:subClassOf> ノンアルコールカクテルの分類 ジュースがアルコール飲料ではないという ことが定義できていない ジュースクラスとアルコール飲料クラスの 関係は互いに素であることを定義 owl:Thing owl:disjointWith ジュース アルコール飲料 ノンアルコールカクテルの分類 ジュースクラスと互いに素であるクラスを追加 ノンアルコールカクテルの分類 Reasoning → Classify taxonomy メニューを実行 Protégé: オントロジーの保存 保存場所を指定 参考文献 オントロジ技術入門―ウェブオントロジとOWL 著者:AIDOS 出版社:東京電機大学出版局 ISBN:4501540109 Amazon URL: http://www.amazon.co.jp/dp/4501540109