1 / 50

Protege Tutorial

Protege Tutorial. การเรียนการสอน Protege ด้วยเว็บไซต์. protege คืออะไร. Protege เป็น Open-source ฟรีเป็นแหล่งที่มาของการสร้างแบบจำลองแบบเต็มรูปแบบและการประยุกต์ใช้กับฐานความรู้ซึ่งเกี่ยวข้องกับ ontologies

raya-chaney
Download Presentation

Protege Tutorial

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Protege Tutorial การเรียนการสอน Protege ด้วยเว็บไซต์

  2. protegeคืออะไร • Protege เป็น Open-source ฟรีเป็นแหล่งที่มาของการสร้างแบบจำลองแบบเต็มรูปแบบและการประยุกต์ใช้กับฐานความรู้ซึ่งเกี่ยวข้องกับ ontologies • Ontologies ในช่วงตั้งแต่อนุกรมวิธาน การจำแนกประเภท database schemas กับทฤษฎี Axiomatized อย่างเต็มรูปแบบ • Ontologies ในขณะนี้มีศูนย์กลางในการใช้งานจำนวนมาก อาทิเช่น ความรู้ทางวิทยาศาสตร์ การจัดการข้อมูลแบบพอร์ทัลและระบบบูรณาการ พาณิชย์อิเล็กทรอนิกส์และบริการเว็บ เป็นต้น

  3. การติดตั้ง protege • ไปที่ http://protege.stanford.edu/doc/owl/getting-started.html เพื่อดาวน์โหลด protege (version 3.x) • protege จะถูกติดตั้งอย่างเต็มรูปแบบ ระหว่างการติดตั้งให้เลือกBasic+OWL • สำหรับรายละเอียดเพิ่มเติมศึกษาได้จาก http://protege.stanford.edu/doc/owl/getting-started.html

  4. protege • การสร้างแบบจำลอง ontologies มีสองวิธีหลัก ดังนี้ • Frame-based • OWL • แต่ละส่วนสามารถติดต่อกับผู้ใช้งานได้ • การแก้ไข Protege Frames สามารถช่วยให้ผู้ใช้งานสามารถสร้างและเติม ontologies ตามกรอบมาตรฐาน OKBC ได้ (การเชื่อมต่อฐานความรู้กับ Protocol)

  5. protege • Classes • Slots สำหรับคุณสมบัติและความสัมพันธ์ • Instances สำหรับ class • การแก้ไขProtege OWL สามารถช่วนให้ผู้ใช้สร้าง Ontology สำหรับความหมายของเว็บ โดยเฉพาะเว็บ OWL • Classes • Properties (คุณสมบัติ) • Instances • Reasoning (เหตุผล)

  6. การสร้างOWL Ontology • การสร้าง project OWL • เริ่มต้น Protege • ไฟล์-สร้างโครงการใหม่-ไฟล์ OWL/RDF-URI Ontology(http://www.pizza.com/ontologies/pizza.owl) OWL DL – ดูคุณสมบัติ • โครงการ Protege ถูกสร้างขึ้น • บันทึกโครงการไว้ในแฟ้มชื่อ pizza.owl

  7. ชื่อของ classes • ไปที่แท็บ Classes ของ OWL • class ที่ว่างเปล่า 1 class เรียกว่า owl ซึ่งเป็น super class ของทุกอย่าง • สร้างคลาสของพิซซ่า ส่วน Pizza Topping และ Pizza Base เหล่านี้เป็น subclasses ของ owl • การตั้งชื่อในการประชุม • การตั้งชื่อในการประชุม ที่ธรรมดาไม่มีความพิเศษ • ความมั่นคง

  8. disjoint classes • วิธีการของพิซซ่าในส่วน Pizza Topping และ Pizza Base จะเป็น disjoint • เลือกคลาสของพิซซ่า • กด “add siblings” บนเครื่องมือของคลาส • เพิ่ม Pizza Base และ Pizza Topping • เลือกคลาสในส่วนของ Pizza Topping • เพิ่มพิซซ่า และ Pizza Base ในคลาส disjoint

  9. disjoint classes

  10. สร้างกลุ่มของClasses • สร้าง ThinAndCrisyBase และ DeepPanBase เป็นคลาสของ Pizza Base โดยไม่ปะติดปะต่อกัน • เลือก Pizza Base คลิกขวาเลือก “create subclasses” • ทำตามขั้นตอนที่ปรากฏ เพื่อสร้างคลาสทั้งสองของ disjoint • มันจะประหยัดเวลามากเมื่อมีความจำเป็นต้องสร้างคลาส disjoint จำนวนมากๆ

  11. สร้างคลาสย่อยบางส่วนของ Pizza Topping • เลือก Pizza Topping • สร้าง subclasses เป็น Meat Topping, Vegetable Topping, Cheese Topping และ Seafood Toppingตรวจสอบให้แน่ใจว่าคลาสเหล่านี้จะมี disjoint • เลือกคลาส Meat Topping • เพิ่มคลาสที่ disjoint เป็น SpicyBeefTopping, Pepperoni Topping, Salami Topping และ Ham Topping

  12. สร้างคลาสย่อยบางส่วนของ Pizza Topping • เลือก Vegetable Topping • เพิ่มคลาสที่ disjoint เป็น Tomato Topping, Olive Topping, Mushroom Topping, Pepper Topping, Onion Topping และ Caper Topping

  13. การสร้างคลาสที่ disjoint • เลือก Pepper Topping • เพิ่มคลาสที่ disjoint เป็น RedPepperTopping, GreenPepperTopping และ JalapenoPepperTopping • เลือก Cheese Topping • เพิ่มคลาสที่ disjoint เป็น MozzarellaTopping และ ParmezanTopping • เลือก SeafoodTopping • เพิ่มคลาสที่ disjoint เป็น TunaTopping, AnchovyTopping และ PrawnTopping

  14. OWL Properties • คุณสมบัติของ OWL แสดงความสัมพันธ์ระหว่างสอง Object • ซึ่งมีคุณสมบัติ 2 อย่าง คือ • คุณสมบัติของ Object เชื่อมโยงระหว่าง Object กับ Object • ประเภทของคุณสมบัติ เชื่อมโยง Object ไปยัง XML Schema ประเภทข้อมูลหรือ RDF • OWL มีคุณสมบัติอื่น ๆ คือ คุณสมบัติของการบันทึกที่ใช้เพื่อเพิ่มข้อมูลประกอบใน classes individuals และproperties

  15. การสร้างคุณสมบัติของ object • เปลี่ยนไปที่แท็บ Properties • ใช้ “สร้าง Object Property” เพื่อสร้างปุ่ม object property ใหม่ • เปลี่ยนชื่อเป็น Ingredient

  16. การสร้าง sub-properties • การเลือกคุณสมบัติของ Ingredient • การเพิ่มส่วน Topping และส่วนฐานเป็น Subproperties

  17. คุณสมบัติแบบ Inverse • แต่ละคุณสมบัติของ object อาจจะมีคุณสมบัติที่สอดคล้องแบบ Inverse • ถ้าบางจุดที่เชื่อมโยงกันในแต่ละจุดจาก A ถึง B อาจจะผกผันกับจุดที่เชื่อมโยงจากจุด B ถึง A

  18. การสร้างคุณสมบัติแบบ Inverse • สร้างคุณสมบัติของวัตถุใหม่ที่เรียกว่า Ingredient • กดปุ่ม “Set inverse property” • เลือก “Ingredient” • จากนั้นความสัมพันธ์แบบ Inverse จะได้รับการตั้งค่า • เลือกส่วน Base • สร้างส่วน Base ให้มีคุณสมบัติแบบ Inverse • ทำไมส่วน Base ถึงเป็นคุณสมบัติย่อยของส่วน Ingredient

  19. การสร้างคุณสมบัติแบบ Inverse • เลือกส่วน Topping • สร้างส่วน Topping เป็น inverse property • ทำไมส่วนของ Topping คือ subproperty ของ subproperty

  20. คุณสมบัติของฟังก์ชั่นคุณสมบัติของฟังก์ชั่น • ถ้าคุณสมบัติเป็นฟังก์ชั่นสำหรับการได้รับ individual ซึ่งมีมากกว่า 1 individual ที่เกี่ยวข้องกับproperty • สำหรับช่วงโดเมนที่กำหนด ต้องไม่ซ้ำกัน • คุณสมบัติของฟังก์ชั่นจะเป็นที่รู้จักเป็นเพียง 1 properties

  21. คุณสมบัติของฟังก์ชั่นแบบ Inverse • ถ้าคุณสมบัติของฟังก์ชั่นทำงานแบบ inverse โดย property เป็นฟังก์ชั่น • สำหรับช่วงโดเมนที่กำหนด ต้องไม่ซ้ำกัน

  22. คุณสมบัติของฟังก์ชั่นและ inverse ฟังก์ชั่น • Functional Property และ Inverse Functional Property

  23. คุณสมบัติ Transitive • คุณสมบัติคือ transitive และ คุณสมบัติ related individual จาก A ไปยัง B และ ไปยัง C และเราสามารถสรุปได้ว่า คุณสมบัติ related individual C ผ่านไปยัง P

  24. คุณสมบัติสมมาตร • ถ้า P มีคุณสมบัติสมมาตร และคุณสมบัติการ individual ของ A ไปยัง B แล้ว B จะมีคุณสมบัติเกี่ยวข้องกับการ individual ผ่านไปยัง P

  25. การทำให้ Ingredient มีคุณสมบัติเกี่ยวกับtransitive • การเลือกคุณสมบัติที่มีส่วนประกอบ • การทำเครื่องหมายในกล่อง • การเลือกคุณสมบัติ Ingredient และการตรวจสอบให้แน่ใจว่ามีการทำเครื่องหมายในกล่องหรือเปล่า

  26. การทำให้ Base property functional • การเลือกคุณสมบัติที่เป็น Base • การทำเครื่องหมาย "ฟังก์ชั่น" ในกล่อง • OWL-DL ไม่อนุญาตให้มี datatype เป็นคุณสมบัติของการสมมาตรหรือมีคุณสมบัติแบบ inverse

  27. Property domains และ ranges • คุณสมบัติของการเชื่อมต่อจาก domain ไปยัง range • OWL ใช้ domain และ range ในการให้เหตุผล

  28. การระบุในช่วงของ range ในส่วนของ Topping • การเลือกส่วน Topping • กดในช่วงของ range • เลือก Pizza Topping • กดปุ่ม OK • Pizza Topping จะปรากฏ list ในช่วงของ range • เมื่อ multiple classes มีการเพิ่มช่วงของ range มันจะแทนเป็น classes ทั้งหมด

  29. ระบุพิซซ่าเป็นโดเมน • การเลือกคุณสมบัติ Topping • กดปุ่ม add domain • เลือกพิซซ่า • กด OK • พิซซ่าจะปรากฏใน list ของ domain • เมื่อ multiple classes มีการเพิ่มช่วงของ domain มันจะแทนเป็น classes

  30. ระบุช่วงของ domain และ range สำหรับส่วน Topping ของ property • การเลือกคุณสมบัติของ Topping • การตั้งค่าโดเมนของคุณสมบัติของ Topping ถึง Pizza Topping • ตั้งค่าช่วงของคุณสมบัติส่วน Topping ของพิซซ่า

  31. การระบุ domain และ range สำหรับ Base property และ inverse property • การเลือกคุณสมบัติของ Base property • ระบุโดเมนของ Pizza • ช่วง range ของ Pizza • การเลือกคุณสมบัติของ Base สำหรับ property • การระบุ domain ของ Pizza • การระบุ range ของ Pizza

  32. การจำกัดคุณสมบัติ • คุณสมบัติที่ใช้ในการสร้างข้อจำกัดของ OWL • ข้อจำกัดจะถูกใช้ใน class • ข้อจำกัด 3 อย่าง • ข้อ จำกัด Quantifier • Existential quantifier ( ) • Universal quantifier ( ) • ข้อ จำกัด cardinality • ข้อ จำกัด Value

  33. การเพิ่มข้อจำกัดของ Pizza • การระบุและเพิ่มข้อจำกัดให้กับ Pizza • เลือก Pizza • เลือกหัวที่จำเป็นเพื่อสร้างเป็นเงื่อนไขที่จำเป็น • เลือกสร้างตัวช่วยสร้างที่มีข้อจำกัด • เลือก Base restricted property • เลือกค่าจากเป็นข้อ จำกัด บางอย่าง • ใส่ลงใน Pizza

  34. การเพิ่มข้อจำกัดให้กับ Pizza

  35. การสร้างชนิดที่แตกต่างจาก Pizzas • สร้าง subclass ของ Pizza เรียกว่า Named Pizzaและ subclass ของ Named Pizza ที่เรียกว่า Margherita Pizza • เพิ่มความคิดเห็นเพื่อ Margherita Pizza, Pizza ที่มีเพียง Mozarellaและรสชาติมะเขือเทศ

  36. การเพิ่มข้อจำกัดให้กับ Margherita Pizza • ในการระบุว่า Margherita Pizza มีอย่างน้อยหนึ่ง Mozzarella Topping • เลือก Margherita Pizza • ไปที่ "ยืนยันเงื่อนไข" สร้างข้อจำกัดใหม่ • เลือกค่าจากบางส่วน • เลือก Topping ที่จำกัดเป็น property • ใส่ Mozzarella Topping • กดปุ่ม OK

  37. การเพิ่มข้อจำกัดใน Margherita Pizza • ในการระบุว่า Margherita Pizza มีอย่างน้อยหนึ่ง Tomato Topping • เลือก Margherita Pizza • ไปที่ "ยืนยันเงื่อนไข" สร้างข้อจำกัดใหม่ • เลือกค่าจากบางส่วน • เลือก Topping ที่ถูกจำกัด • ใส่ Tomato Topping • กดปุ่ม OK

  38. การสร้าง American Pizza • สร้าง American Pizza กับรสชาติของ pepperoni mozzarella และมะเขือเทศ • ผ่านการ cloning และการปรับเปลี่ยนรายละเอียดของ Margherita Pizza • เลือก Margherita Pizza • เลือกสร้าง clone • เพิ่มข้อจำกัดเพิ่มเติมให้กับ Americana Pizza • เพิ่ม Pepperoni Topping • กดปุ่ม OK

  39. สร้าง American Hot Pizza และ Soho Pizza • American Hot Pizza มันจะเหมือนกับ American Pizza แต่มี Jalapeno Pepper Topping เพิ่ม • Soho Pizz จะเหมือนกัน Margherita Pizza แต่จะเพิ่ม Olive Topping และ Parmezan Topping

  40. ให้ subclasses ของ Named Pizza เคลื่อนจากที่อื่นๆ • เลือก Margherita Pizza • กดปุ่ม “add all siblings” บน “Disjoints widget” จะทำให้ pizzas เคลื่อนที่จากที่อื่นๆ

  41. การใช้ Reasoner • คำอธิบายของ ontology ใน OWL - DL สามารถประมวลผลโดย Reasoner • ไปตั้งค่าที่ owl เพื่อให้แน่ใจว่า OWL-DL ถูกเลือก • การให้บริการหลักที่นำเสนอโดย Reasoner คือการทดสอบหรือไม่ก็ 1 class เป็น subclass ของclass อื่น • โดยการดำเนินการทดสอบดังกล่าวในทุก classes เป็นไปได้สำหรับ Reasoner เพื่อคำนวณ ontology ลำดับชั้นของ classes ที่อ้างถึง • การให้เหตุผลในการให้บริการอีกประการหนึ่ง คือ การตรวจสอบความสอดคล้อง เพื่อตรวจสอบหรือไม่ก็เป็นไปได้สำหรับ class กรณีต่างๆ • คลาส A จะถือว่าจะไม่สอดคล้องกัน ถ้ามันไม่เป็น instances

  42. Using Racer • เพื่อให้เหตุผลมากกว่า ontology ใน Protege - OWL ซึ่งเป็นไปตามมาตรฐาน DIG Reasoner ควรจะติดตั้งและเริ่มต้น • ใน tutorial นี้เราจะใช้ Racer • Download ได้ที่ : http://www.racer-systems.com/products/download/index.phtml • ดับเบิลคลิกที่ RacerProเพื่อเริ่มต้นการใช้ Racer

  43. Invoking the reasoner • ต้องเริ่มต้น Racer ontology สามารถส่งไปยัง Reasoner โดยอัตโนมัติ การคำนวณจำแนกลำดับชั้นและยังตรวจสอบความสอดคล้องเชิงตรรกะของ ontology • ใน Protege ลำดับชั้นที่สร้าง class จะเรียกว่า asserted hierarchy ที่คำนวณอัตโนมัติโดย Reasoner จะเรียกว่า inferred hierarchy • ไปที่ OWL – classify taxonomy เพื่อเรียก Reasoner • ถ้า class ได้รับการจัดประเภทรายการใหม่แล้วชื่อ class จะปรากฏเป็นสีฟ้าในการสรุปลำดับชั้น • ไปที่ OWL ตรวจสอบความสอดคล้อง ซึ่งเรียกโดย reasoner • ถ้า class ได้รับการพบ inconsistent ไอคอนมันจะเป็นวงกลมสีแดง • การคำนวณ class อ้างถึงเป็นที่รู้จักกันในการจำแนก ontology

  44. Invoke the reasoner

  45. ความไม่สอดคล้องของ Class • เพื่อแสดงถึงการใช้งานของ Reasoner ในการตรวจสอบความไม่สอดคล้องกันใน ontologyเราจะสร้าง Probe Inconsistent Topping ขึ้นใน Class • เป็น subclass ของ Cheese Topping • เลือก Probe Inconsistent Topping ไปยืนยันเงื่อนไขของการเพิ่ม Classในระดับ Vegetable Topping แล้วเลือกกดตกลง • ไปที่ OWL เพื่อตรวจสอบความสอดคล้อง

  46. การแยกประเภทของ ontology อีกครั้ง • หากต้องการดูส่วน Topping ที่ไม่สอดคล้องกัน

  47. คำสั่งในการลบ • ระหว่าง Cheese Topping และ Vegetable Topping เพื่อดูว่าเกิดอะไรขึ้น • เลือก Cheese Topping • ไปที่ disjoint • เลือก Vegetable Topping คลิกขวาและ "ลบแถวที่เลือก" • แยกประเภทอนุกรมวิธาน • ความไม่สอดคล้องกันนั้นจะหายไป

  48. การแก้ไข ontology • โดยการทำให้ Cheese Topping และ Vegetable Topping เคลื่อนจากแต่ละที่

  49. แหล่งข้อมูล • 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/

More Related