Protege คืออะไร Protege เป็นของฟรีที่ใช้ได้โดยไม่เสียค่าใช้จ่าย เป็น open

Download Report

Transcript Protege คืออะไร Protege เป็นของฟรีที่ใช้ได้โดยไม่เสียค่าใช้จ่าย เป็น open

Protege คืออะไร
•
•
•
Protege เป็ นของฟรี ที่ใช้ได้โดยไม่เสี ยค่าใช้จ่าย
เป็ น open-source ใช้ platform สร้างแบบจำาลอง
model และประยุกต์ใช้ฐานความรู้ดว้ ย ontologies
Ontologies อยูใ่ นช่วงของ taxonomies classifications
database schemas ไปสู่ ทฤษฎี axiomatized อย่างเต็มที่
Ontologies ขณะนี้มีศูนย์กลางในการใช้งานจำานวนมาก เช่น
ความรู ้ทางวิทยาศาสตร์พอร์ทลั การจัดการข้อมูลและระบบ
บูรณาการพาณิ ชย์อิเล็กทรอนิกส์และการบริ การเว็บ 1
การติดตั้ง Protege
•
ไปที่
http://protege.stanford.edu/doc/owl/getting-started.html เพือ่
ดาวโหลด protege version 3.x
•
Protege OWLสร้างขึ้นด้วยการติดตั้งเต็มรู ปแบบของ
แพลตฟอร์ ม ระหว่างการติดตั้งให้เลือก"Basic + OWL
ดูรายละเอียดเพิม่ เติมได้ที่
2
http://protege.stanford.edu/doc/owl/getting-started.html
•
•
•
Protege
มีสองวิธีหลักของการสร้างแบบจำาลอง ontologies มีดงั นี้ :
- Frame-based
- OWL
แต่ละคนมีส่วนติดต่อผูใ้ ช้ของตัวเอง
กรอบที่ใช้สร้าง protege : ช่วยให้ผใู้ ช้สามารถสร้างและเติม ontologies
ที่มีตามกรอบตามความใน OKBC (Knowledge Base เปิ ดโครงร่ างการ
เชื่อมต่อ)
- Classes (ชั้นเรี ยน)
- สล็อตสำาหรับคุณสมบัติและความสัมพันธ์
- อินสแตนซ์สาำ หรับการเรี ยน
3
Protege
Protege OWL : ช่วยให้ผใู้ ช้สร้าง ontology สำาหรับเว็บความหมาย
โดยเฉพาะอย่างยิง่ OWL
- Classes (ชั้นเรี ยน)
- Properties (คุณสมบัติ)
- Instances (ตัวอย่าง)
- reasoning (เหตุผล)
4
การสร้าง Ontology OWL
• E2 : สร้าง OWL ใหม่
-
เริ่ ม Protege
ไปที่ Project – OWL/RDF files – Ontology URI
(http://www.pizza.com/ontologies/pizza.owl) – OWL DL –
Properties View
โครงการใหม่ของ Protege – OWL ว่างเปล่าได้ถกู สร้างขึ้น
บันทึกไว้ในแฟ้ มในงานของคุณเป็ น pizza.owl
5
Named Classes
•
•
•
•
ไปที่แท็บ OWL Classes
ต้นไม้วา่ งเปล่าที่มีหนึ่ง classเรี ยกว่า Owl :ซึ่งเป็ น superclass ของทุกอย่าง
E3 : สร้าง subclasses ของพิซซ่า, PizzaTopping และ PizzaBase พวกนี้
เป็ น subclasses ของOwl
Naming convention (ตั้งชื่อการประชุม)
- การตั้งชื่อการประชุมที่ไม่พิเศษ
- ความมัน่ คง
6
Disjoint classes
•
1.
2.
3.
4.
E4 : วิธีการที่จะบอกว่า PizzaTopping และ PizzaBase มีการ disjoint
(เคลื่อน)
Select the class Pizza
กด "เพิ่มพี่นอ้ ง" ที่ปุ่มบน
เครื่ องมือ disjoint classe
เพิ่ม PizzaBase and PizzaTopping
เลือก class ของ PizzaTopping
เพิ่ม Pizza and PizzaBase
ที่จะทำาการ disjoint class
7
E5 : สร้างกลุ่มของลำาดับชั้น
•
•
•
•
สร้าง Thin And CrisyBase และ DeepPanBase เป็ นsubclasses ของ
PizzaBase แต่ละการ disjointed
เลือก PizzaBase คลิกขวาที่เม้าส์ เลือก “create subclasses”
ทำาตามตัวช่วยในการสร้างการ disjoint ทั้ง 2 class
จะเป็ นการประหยัดเวลามากเมื่อมีความจำาเป็ นที่จะต้องสร้างการdisjoint
ทั้ง 2 classes เป็ นจำานวนมาก
8
E6 : สร้างลำาดับชั้นย่อยบางส่ วนของ PizzaTopping
•
•
•
เลือก PizzaTopping
- สร้าง subclasses เป็ น MeatTopping VegetableTopping
CheeseTopping และ SeafoodTopping ตรวจสอบก่อนว่าเหล่านี้
จะdisjoint ทั้ง 2 classesไปยังแต่ละหน่วยอื่น ๆ
เลือก class MeatTopping
- เพิ่มการ disjoint subclasses: SpicyBeefTopping,PepperoniTopping,
SalamiTopping and HamTopping
เลือก VegetableTopping
- เพิ่มการ Add disjoint subclasses: TomatoTopping,OliveTopping,
MushroomTopping,PepperTopping, OnionTopping,CaperTopping
9
E6 : การสร้าง disjoint ของลำาดับชั้นย่อย
•
เลือก Pepper Topping
- เพิ่มการ Add disjoint subclasses: RedPepperTopping ,
GreenPepper Topping ,JalapenoPepperTopping
• เลือก CheeseTopping
- เพิ่มการAdd disjoint subclasses: MozzarellaTopping,
ParmezanTopping
• เลือก SeafoodTopping
เพิม่ การ Add disjoint subclasses:
TunaTopping, AnchovyTopping and PrawnTopping
10
คุณสมบัติของ OWL
•
คุณสมบัติของOWLแสดงความสัมพันธ์ระหว่างสองวัตถุ
- มีสองคุณสมบัติหลักคือ
1. คุณสมบัติของวัตถุ : วัตถุเชื่อมโยงไปยังวัตถุ
2.คุณสมบัติของ datatype : วัตถุเชื่อมโยงไปยัง XML Schema ประเภท
ข้อมูลหรื อ RDF : อักษร
- OWLมีคุณสมบัติอื่น ๆ
คุณสมบัติบนั ทึกย่อที่จะใช้เพื่อเพิ่มข้อมูลประกอบ classes
บุคคลและคุณสมบัติ
11
คุณสมบัติของ OWL
12
E7 : สร้างคุณสมบัติของวัตถุ
•
•
•
สลับไปที่แท็บ Properties
ใช้ ปุ่ ม "Create Object Property"เพื่อสร้างคุณสมบัติของวัตถุใหม่
เปลี่ยนชื่อเป็ น hasIngredient
13
E8 : การสร้างคุณสมบัติยอ่ ย
•
เลือกคุณสมบัติ hasIngredient
เพิ่ม hasTopping and hasBase เป็ น subproperties
14
คุณสมบัติผกผัน
•
•
คุณสมบัติของวัตถุแต่ละคนอาจจะมีคุณสมบัติที่สอดคล้องกันผกผัน
ถ้าบางคุณสมบัติการเชื่อมโยงส่ วน A ถึง B แล้วมันจะผกผัน
คุณสมบัติการเชื่อมโยงจากส่ วน B ถึง A
15
E9 : การสร้างคุณสมบัติที่ผกผัน
•
•
•
สร้ างคุณสมบัตขิ องวัตถุใหม่ที่เรี ยกว่า isIngredientOf
- กดปุ่ ม Set inverse property
- เลือก “hasIngredient”
- แล้ วความสัมพันธ์ผกผันก็เริ่ มต้ นขึ ้น
เลือก hasBase
- สร้ าง isBaseOf เป็ นคุณสมบัตขิ องผกผันของ hasBase
- isBaseOf เป็ น subproperty ของ isIngredientOf
เลือก hasTopping
- สร้ าง isToppingOf เป็ นคุณสมบัตขิ องผกผัน
- isToppingOf เป็ น subproperty จาก isIngredientOf
16
•
•
คุณสมบัติการทำางาน
ถ้าคุณสมบัติที่จะทำางานสำาหรับบุคคลที่ได้รับมีความสามารถมากที่สุด
จะเกี่ยวข้องทางคุณสมบัติดงั นี้
- โดเมนที่ได้รับช่วงจะต้องไม่ซากั
้ำ น
คุณสมบัติการทำางานเป็ นที่รู้จกั กันเป็ นคุณสมบัติที่มีมูลค่าเพียงครั้งเดียว
17
คุณสมบัติการทำางานแบบผกผัน
•
ถ้ าคุณสมบัตเิ ป็ นผกผันการทำางานแล้ วผกผันของสถานที่ให้
บริการสามารถทำางานได้
- ช่วงที่กำาหนดโดเมนต้ องไม่ซ้ำากัน
18
การทำางานและคุณสมบัติการทำางานผกผัน
•
คุณสมบัติการทำางานกับคุณสมบัติการทำางานผกผัน
โดเมน
ช่วง
ตัวอย่าง
-คุณสมบัติการ สำาหรับการ
ช่วงที่ไม่ซากั
้ำ น
ทำางาน
กำาหนดโดเมน
hasFather: A hasFather
B, A hasFather C B=C
-คุณสมบัติการ โดเมนจะไม่ซา้ ำ สำาหรับช่วงที่
ทำางานผกผัน กัน
กำาหนด
hasID: A hasID B, C
hasID B A=C
19
คุณสมบัติการ transitive
•
ถ้าคุณสมบัติเป็ น transitiveและคุณสมบัติ a เกี่ยวข้องกับ b และ b ยัง
เกี่ยวข้องกับ c แล้วเราสามารถอนุมานความเกี่ยวข้องนี้เป็ นเกี่ยวกับ c
ผ่านคุณสมบัติ P
20
คุณสมบัติการสมมาตร
•
ถ้า Pมีคุณสมบัติการสมมาตรและเกี่ยวข้องกับ aไปยัง b แล้ว b ยัง
เกี่ยวข้องกับ a ผ่าน P
21
E10 : การตรวจคุณสมบัติ hasIngredient transitive
•
•
•
เลือกคุณสมบัติ hasIngredient
ทำาเครื่ องหมายที่ช่อง transitive
เลือกคุณสมบัติ isIngredientOf ตรวจสอบให้แน่ใจว่ากล่องที่
ทำาเครื่ องหมายเป็ น transitive
22
E11 : ตรวจคุณสมบัติ การทำางาน ของhasBase
•
•
•
เลือกคุณสมบัติ hasBase
ทำาเครื่ องหมายที่ช่อง functional
OWL - DL ไม่อนุญาตให้มีคุณสมบัติ datatype
แบบtransitive, สมมาตรหรื อคุณสมบัติผกผัน
23
คุณสมบัติโดเมนและช่วง
•
•
คุณสมบัติของความเชื่อมโยงจะเกี่ยวข้องจากโดเมนไปยังช่วง
OWLจะใช้โดเมนและช่วงที่เป็ นสัจพจน์ในการให้เหตุผล
24
E12 : ระบุช่วงของ hasTopping
•
•
เลือก hasTopping
- กดปุ่ ม range
- เลือก PizzaTopping
- กดปุ่ ม OK
- PizzaTopping ควรจะปรากฏอยูใ่ นช่วงของรายการ
เมื่อหลายคลาสมีการเพิม่ ช่วง จะต้องเป็ นตัวแทนร่ วมของคลาสทั้งหมด
25
E13 : ระบุพิซซ่าเป็ นโดเมนของคุณสมบัติ hasTopping
•
•
เลือก คุณสมบัติ hasTopping
- กดปุ่ ม Add domain
- เลือก Pizza
- กดปุ่ ม OK
- Pizza พิซซ่าจะปรากฏในรายชื่อโดเมน
เมื่อหลายคลาสถูกเพิม่ เป็ น domain พวกเขาเป็ นตัวแทนร่ วมของคลาส
เหล่านี้
26
E14 : ระบุ domain และช่วงสำาหรับคุณสมบัติ
isToppingOf
•
•
•
เลือก คุณสมบัติ isToppingOf
ตั้งค่า domain ของคุณสมบัติ isToppingOf ที่ PizzaTopping
ตั้งค่าช่วงของคุณสมบัติ isToppingOf ที่ Pizza
27
E15 : ระบุ domain และช่วง สำาหรับคุณสมบัติ hasBase
และคุณสมบัติผกผันของ isBaseOf
•
•
เลือก คุณสมบัติ hasBase
- ระบุโดเมนเป็ น Pizza (พิซซ่า)
- ระบุช่วงเป็ น PizzaBase
เลือก คุณสมบัติ isBaseOf
- ระบุโดเมนเป็ น PizzaBase
- ระบุช่วงเป็ น Pizza
28
•
•
ข้อจำากัด ของคุณสมบัติ
ใน OWL คุณสมบัติที่ใช้ในการสร้างข้อจำากัด
ข้อจำากัดจะถูกใช้เพื่อจำากัดบุคคลที่อยูใ่ นคลาส
มี 3 ข้อจำากัด ดังนี้ :
1.ข้อจำากัดเรื่ อง Quantifier
- Existential quantifier (  )
- Universal quantifier (  )
2.ข้อจำากัดเรื่ อง Cardinality
3.ข้อจำากัดเรื่ อง hasValue
29
E16 : เพิม่ ข้อ จำากัด ที่ Pizza
•
เพิ่มข้อจำากัดให้กบั Pizza ที่ระบุวา่ Pizza จะต้องมี PizzaBase
- เลือก Pizza
- เลือกหัวที่จาำ เป็ นเพื่อสร้างเป็ นเงื่อนไขที่จาำ เป็ น
- เลือกสร้างตัวช่วยสร้างข้อจำากัด
* เลือก hasBaseเป็ นคุณสมบัติที่ถกู จำากัด
* เลือก someValueFrom เป็ นข้อจำากัด
* ใส่ PizzaBase ลงใน filler
30
เพิม่ ข้อจำากัดที่ Pizza
31
E18 : การสร้างประเภทต่างๆของพิซซ่า
•
•
สร้าง subclass ของ Pizza ชื่อ NamedPizza
และ subclass ของ NamedPizza ชื่อ MargheritaPizza
เพิม่ ความคิดเห็นที่ MargheritaPizza :
Pizza ที่มีเพียง Mozarella และ Tomato toppings
32
E19: การเพิม่ ข้อจำากัด ที่ MargheritaPizza
•
ในการระบุวา่ MargheritaPizza มีอย่างน้อยหนึ่ง MozzarellaTopping
- เลือก MargheritaPizza
-ไปที่ Asserted Conditionsและสร้างข้อจำากัดใหม่
- เลือก someValueFrom
- เลือก hasTopping เป็ นคุณสมบัติที่ถกู จำากัด
- เข้า MozzarellaTopping ที่ filler
- กดปุ่ ม OK
33
E20 : ข้อจำากัดในการเพิม่ MargheritaPizza
•
ในการระบุวา่ MargheritaPizza มีอย่างน้อยหนึ่ง Tomato Topping
- เลือก MargheritaPizza
- ไปที่ Asserted Conditions และสร้างข้อจำากัดใหม่
- เลือก someValueFrom
- เลือก hasTopping เป็ นคุณสมบัติที่ถกู จำากัด
- เข้า Tomato Topping ที่ filler
- กดปุ่ ม OK
34
E21 : การสร้าง AmericanPizza
•
•
สร้าง AmericanPizza กับ toppings ของ pepperoni, mozzarella และ
Tomato
ผ่านการเลียนแบบและการปรับเปลี่ยนรายละเอียดของ
MargheritaPizza
- เลือก MargheritaPizza
- เลือกสร้างเลียนแบบ
- เพิ่มข้อ จำากัด เพิ่มเติมที่ AmericanaPizza
* เพิ่ม PepperoniTopping
- กดปุ่ ม OK
35
E22 : การสร้าง AmericanHotPizza และ SohoPizza
•
•
AmericanHotPizza เกือบจะเป็ นเช่นเดียวกับ AmericanaPizza
แต่มี JalapenoPepperTopping เพิ่มเติม
SohoPizza เกือบจะเหมือนกับ MargheritaPizza
แต่มี OliveTopping และ ParmezanTopping เพิ่มเติม
36
E23 : ตรวจ subclasses ของ NamedPizza
ที่ disjoint จากอื่น ๆ
•
•
เลือก MargheritaPizza
กดปุ่ ม add all siblings
บนปุ่ ม Disjoints widget
เพือ่ ให้ disjoint Pizza จากที่อื่น ๆ
37
•
•
•
•
การใช้ Reasoner
ontology อธิบายไว้ใน OWL - DL สามารถประมวลผลได้
โดย Reasoner
บริ การหลักที่นาำ เสนอโดย Reasoner คือ การทดสอบ
หรื อ ไม่หนึ่งคลาสเป็ น subclass ของคลาสอื่น
โดยดำาเนินการทดสอบดังกล่าวในทุกคลาส มันเป็ นไปได้
สำาหรับ Reasoner เพื่อคำานวณ ontology ลำาดับชั้นของคลาสที่
อ้างถึง
บริ การการให้เหตุผลอีกประการหนึ่งคือตรวจสอบความ
สอดคล้อง
38
การใช้ Racer
•
•
เพื่อให้เหตุผลมากกว่า ontology ใน Protege - OWLซึ่งเป็ นไปตาม
มาตรฐาน DIG Reasoner ควรจะติดตั้งและเริ่ มต้น
ในการเรี ยนวิชานี้ เราจะใช้ Racer
- ดาวโหลดที่
http://www.racer-systems.com/products/download/index.phtml
- คลิ๊กที่ RacerPro เพื่อเริ่ มต้น Racer
39
•
•
•
•
•
Invoking the reasoner
ต้องเริ่ มต้น Racer, ภววิทยาที่สามารถส่ งไปยัง Reasoner โดยอัตโนมัติ
คำานวณการจำาแนกลำาดับชั้นและยังตรวจสอบความสอดคล้องเชิงตรรกะ
ของภววิทยา
ใน Protege, ลำาดับชั้นที่สร้างด้วยตนเองจะเรี ยกว่าลำาดับชั้นของการยืนยัน
ที่คาำ นวณโดยอัตโนมัติโดย Reasoner จะเรี ยกว่าลำาดับชั้นของอนุมาน
ไปที่ OWL – classify taxonomy – to invoke the reasoner
- ถ้าคลาสได้รับการจัดประเภทรายการใหม่แล้วชื่อคลาสจะปรากฏในสี ฟ้า
ในลำาดับชั้นอ้างถึง
ไปที่ OWL – Check consistency – to invoke the reasoner
- ถ้าคลาสได้รับการพบที่ไม่สอดคล้อง ไอคอนมันจะเป็ นวงกลมสี แดง
การคำานวณลำาดับชั้นคลาสอนุมานเรี ยกอีกอย่างว่า การจำาแนก ontology
40
Invoke the reasoner
41
E24 : ลำาดับชั้นที่ไม่สอดคล้อง
•
เพื่อแสดงถึงการใช้งานของ Reasoner ในการตรวจสอบความไม่
สอดคล้องกันใน ontology เราจะสร้าง คลาส
ProbeInconsistentTopping
- ซึ่งเป็ น subclass ของ CheeseTopping
- เลือก ProbeInconsistentTopping ไปที่ asserted condition ที่จะเพิ่ม
ชื่อคลาสให้เลือก VegetableTopping แล้วกด OK
- ไปที่ OWL – check consistency
42
E25 : การแบ่ง ontology อีกครั้ง
•
สังเกต ProbeInconsistentToppingไม่สอดคล้องกัน
43
E26: ลบคำาสัง่ ที่ disjoint
•
ระหว่าง CheeseTopping และ VegetableTopping สังเกตดูวา่
เกิดอะไรขึ้น
- เลือก CheeseTopping
- ไปที่ Disjoint part
- เลือก VegetableTopping คลิกขวา และ “ Delete the selected row ”
- จัดอนุกรมวิธาน (Classify taxonomy)
- ความไม่สอดคล้องกันนั้นไม่มีอยูแ่ ล้ว
44
E27 : การแก้ไข ontology
•
โดยการทำาให้ CheeseTopping และ VegetableTopping
เคลื่อนออกจากกันและกัน
45
ที่มาของแหล่งข้อมูล
•
•
•
Protege Ontology Libraries
http://protegewiki.stanford.edu/index.php/
Protege_Ontology_ Library
Protege tutorial
http://www.co-ode.org/resources/tutorials/
Protege Website
http://protege.stanford.edu/doc/users.html
http://protege.stanford.edu/
46
จัดทำาโดย
นางสาวสุวชิ ญาภรณ์ คงเจริญ
รหัสนิสติ 51532050
คณะวิทยาการสารสนเทศ
สาขาวิทยาการคอมพิวเตอร์