1 / 78

Introduction to Ontology

Introduction to Ontology. Sudarsun S Director – Research Checktronix India Chennai 600010 แปลและเรียบเรียงโดย บรรเจิด วิโรจน์วุฒิกุล คณะวิทยาการคอมพิวเตอร์ มหาวิทยาลัยบูรพา. Ontology คืออะไร?. สาขาปรัชญา – แขนงหนึ่งของปรัชญา ที่ว่าด้วยธรรมชาติและองค์กรของความจริง .

kiri
Download Presentation

Introduction to Ontology

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. Introduction to Ontology Sudarsun S Director – Research Checktronix India Chennai 600010 แปลและเรียบเรียงโดย บรรเจิด วิโรจน์วุฒิกุล คณะวิทยาการคอมพิวเตอร์ มหาวิทยาลัยบูรพา

  2. Ontology คืออะไร? สาขาปรัชญา – แขนงหนึ่งของปรัชญา ที่ว่าด้วยธรรมชาติและองค์กรของความจริง • การศึกษาเกี่ยวกับการดำรงอยู่ (ปรัชญาว่าด้วยความจริงในธรรมชาติ) • ทดลองหาคำตอบของคำถามที่ว่า : • อะไรคือคุณลักษณะของการดำรงอยู่? • ในที่สุดแล้วดำรงอยู่อย่างไร? • แบ่งแยกสายสิ่งต่างๆอย่างไร?

  3. Ontology in Computers • Ontology คือ สิ่งประดิษฐ์ทางวิศวกรรม ที่ประกอบด้วย • คำศัพท์ที่จะอธิบายถึงขอบเขต (ของสิ่งที่เจาะจง) • ข้อมูลจำเพาะที่ชัดเจน ของความหมายคำศัพท์ • ข้อจำกัดของการเพิ่มความรู้ใหม่เข้าไปในขอบเขต • ในอุดมคติแล้ว an ontology ควรจะ : • เข้าถึงความเข้าใจทั่วไป ของขอบเขตที่สนใจ • เตรียมรูปแบบ และ แบบจำลองที่เครื่องจักรจัดการได้ ของขอบเขตที่สนใจ

  4. Example • คำศัพท์ และ ความหมาย (การนิยาม) • ช้าง เป็นสมาชิกหนึ่งของ สัตว์ • สัตว์กินพืช เป็นสมาชิกของ สัตว์ ซึ่ง กินเฉพาะพืช หรือส่วนหนึ่งของพืช • ช้างโตเต็มวัย เป็นสมาชิกของ ช้าง ซึ่ง มีอายุมากกว่า 20 ปี • เบื้องหลังของความรู้/ข้อจำกัดบนขอบเขต (กฎเกณฑ์ที่ยอมรับกันทั่วไป) • ช้างโตเต็มวัย หนัก อย่างต่ำ 2000กิโลกรัม • ช้างทุกตัว เป็น ช้างแอฟริกัน หรือ ช้างอินเดีย • ไม่มี สิ่งมีชีวิตใด เป็นได้ทั้ง สัตว์กินพืช และ สัตว์กินเนื้อ

  5. Example Ontology (Protégé)

  6. What??

  7. Why Ontology? • เพื่อแชร์ความเข้าใจพื้นฐานของโครงสร้างข้อมูล ระหว่างคนและSoftware agents • เพื่อทำให้นำขอบเขตความรู้เดิมกลับมาใช้ใหม่ได้ • เพื่อสร้างขอบเขตที่สมมุติขึ้นมาให้มีความชัดเจน • เพื่อแยกขอบเขตความรู้ออกจากความรู้ทั่วไปได้ • เพื่อวิเคราะห์ขอบเขตของความรู้

  8. Few Applications • e-Science, ตัวอย่างในด้าน Bioinformatics • The Gene Ontology (GO) • The Protein Ontology (MGED) • Databases • Schema design and integration • Query optimisation • User interfaces • The Semantic Web & so-called Semantic Grid

  9. Importance towards E-Commerce • Taxonomies provide : • เข้ามาควบคุมในการใช้คำศัพท์ร่วมกัน(search engines, authors, users, databases, programs / ทุก agent ใช้ภาษาเดียวกัน) • Site ช่วยเหลือด้าน Organization และ Navigation • ถูกกำหนดให้เป็นมาตรฐาน (เช่น ตั้งไว้ที่โซนซ้ายของหลายๆเวปไซด์) • “Umbrella” ระดับโครงสร้างที่สูงขึ้น (เพื่อการ Extension) • ตัวช่วยค้นหา (แถบช่วยเหลือของ Yahoo!) • Sense disambiguation

  10. Importance towards E-Commerce • ตรวจสอบความสอดคล้อง • การทำให้สมบูรณ์ • สนับสนุนการทำให้ข้อมูลในระบบต่างๆพูดคุยกันได้(Interoperability) • สนับสนุนองค์ประกอบภายนอก • เป็นโครงสร้าง, เปรียบเทียบเพื่อปรับปรุงการค้นหาข้อมูล • Generalization/ Specialization

  11. Observations • Ontologies อย่างง่าย สามารถสร้างได้โดยไม่ต้องมีความชำนาญ โดยใช้ • Verity’s Topic Editor, Collaborative Topic Builder, GFP,Chimaeras, Protégé, OIL-ED,etc • Ontologies สามารถสร้างขึ้นได้แบบกึ่งอัตโนมัติ • โดยอ้างอิงจากเวปไซด์ เช่น yahoo!, Amazon, excite • Semi-structured sites can provide starting points • Ontologies มีการใช้เพิ่มขึ้นอย่างรวดเร็ว(โดยมีธุรกิจเป็นตัวผลักดัน) • เวปไซด์ทางธุรกิจส่วนมากใช้เช่น Amazon, Yahoo! Shopping • ธุรกิจที่เจริญรุ่งเรืองกำลังสนใจ • ภาษาที่ใช้กำลังเติบโต จำพวก Markup LanguagesXML,RDF • “Real” ontologies เหมาะสมที่จะเป็นศูนย์กลาง Application

  12. Implications & Need • ไวยกรณ์และความหมายของ Ontology Language (DAML+OIL) • ทรัพยากรที่ใช้ในการสร้างและบำรุงรักษาของ Ontologies • ฝึกฝน (Conceptual Modeling,การอ้างเหตุผลของสิ่งที่เกี่ยวข้อง, ……)

  13. Issues • การร่วมมือ ระหว่างกลุ่มที่เปิดเผยข้อมูล • การเชื่อมต่อระหว่างระบบหลายๆแห่งเข้าด้วยกัน • วิเคราะห์และวินิจฉัย • ประมาณ • แบบฉบับ • ความปลอดภัย • ง่ายต่อการใช้ • การฝึกหลากหลายระดับ / สนับสนุนผู้ใช้ • กลวิธีนำเสนอ • วงจรชีวิต • ความสามารถในการแพร่ขยายออก

  14. Chimaera • An interactive web-based tool aimed at supporting: • วิเคราะห์ Ontology (ความถูกต้อง, ความสมบูรณ์, ลักษณะ, …) • Merging of ontological terms จากหลายแหล่งเข้าด้วยกันได้ • บำรุงรักษา ontologies ตลอดเวลา • การให้เหตุผลของข้อมูลเข้า • Features: multiple I/O languages, loading and merging into multiple namespaces, collaborative distributed environment support, integrated browsing/editing environment, extensible diagnostic rule language • ถูกใช้ในด้านการพาณิชย์และวิชาการ • แหล่งข้อมูล: www.ksl.stanford.edu/software/chimaera

  15. Building Ontology • กำหนด classes • จัดเตรียมให้อยู่ในรูป Taxonomic hierarchy • sub-class/super-class model • เตรียม slots และ facets สำหรับ slots • กำหนดค่าสำหรับ slots ในแต่ละกรณี

  16. Thumb-Rules • ไม่มีวิธีการที่ถูกต้องในการสร้างขอบเขต • มีช่องทางในการทำได้เสมอ • วิธีการที่ดีที่สุดขึ้นอยู่กับการนำไปใช้และขยายต่อ • กระบวนการทำซ้ำ • แนวความคิดใน Ontology คล้ายกับobjects(รูปธรรม/นามธรรม) และ relationships ในขอบเขตที่สนใจ • Objects คือ คำนามทั่วไป • Relationships คือ กริยาทั่วไปในประโยค

  17. Step 1: Domain & Scope • อะไรคือขอบเขตที่สนใจ? • อะไรคือจุดประสงค์ของ Ontology นี้? • อะไรคือสิ่งคาดหวังของคำถาม? • ใครเป็นผู้ใช้และบำรุงรักษา Ontology ? • ตัวอย่างคำถาม: • ช้างเป็นสัตว์กินพืชหรือสัตว์กินเนื้อ? • ช้างกินอะไรเป็นอาหาร? • ช้างแอฟริกันมีนิสัยเป็นอย่างไร?

  18. Step 2: Re-Use Existing Ontology • ถ้าเข้ากันได้ ก็สามารถใช้ได้แน่นอน • ปัญหาในการ merging Ontologies? • รูปแบบขัดแย้ง • แนวคิดเดียวกัน, การนำเสนอต่างกัน

  19. Step 3: Enumerate Terms • Terms คืออะไร? • Properties ของ terms คืออะไร? • Relationships ของ terms คืออะไร? • ตัวอย่าง: • Animal, elephant, lion • ความสูง, น้ำหนัก, อาหารที่กิน • ช้างกับควาญช้าง, ช้างผสมพันธุ์กันเองได้, ช้างอยู่รวมกันเป็นกลุ่ม

  20. Step 4: Define Classes & Hierarchy • Top-Down Approach • Bottom-Up Approach • Mixed • Object Oriented Programming Analogy • อะไรที่เราจะได้รับ? • การจัดเรียง Hierarchical ของ concepts • ถ้า class P is a super-class of class Q, และทุกๆกรณีของ B คือ หนึ่งในกรณีของ P • หมายความว่า : class Q represents a “kind-of” P

  21. Step 5: Properties of Classes - Slots • “intrinsic” properties เช่น softness of silk • “extrinsic” properties เช่น bike’s model name • Parts, ถ้า object เป็นรูปแบบ Structured; สามารถกำหนดให้เป็น physical และ abstact parts ได้ • เช่น: เวลาหากินช่วงเช้าของช้าง • Relationships ระหว่างสมาชิกของ class • เช่น: ช้าง กับ ควาญช้าง, สามารถแสดงถึงความสัมพันธ์ระหว่าง ช้าง อ้างอิงถึงที่อยู่ของช้าง ผ่านทางควาญช้างได้

  22. Step 6: Define Slots • จำนวน values ของ Slot • ตั้งค่า ว่า slot ควรจะมี values ได้กี่ค่า? • ใส่ค่าของ Slot • มีค่าอะไรที่สามารถใส่ได้บ้าง? • ค่ามาตรฐานทั่วไป: • String • Number • Boolean • Enumeration • Instance

  23. Step 7: Create Instances • ยกตัวอย่างการสร้าง instance ชื่อ african_elephantซึ่งเป็น instance ของ class elephant • High : 400 cm • Weight : 6,500 Kg • Eat : fruit, leaf (instance of food class) • Behavioer:aggressive • Kind : Herbivore (instance of animal_type class)

  24. Consistency Checks ?? • ทำให้แน่ใจว่า Class hierarchy ถูกต้อง • สิ่งที่อยู่ในระดับเดียวกันของ tree ควรจะมี สิ่งทั่วไปคล้ายๆกัน • classes ที่มีความหมายเหมือนกัน แต่แยกเป็นคนละ class • ตรวจความสัมพันธ์ “is-a” และ “kind-of” • สิ่งที่มากเกินไปหรือน้อยเกินไป • Multiple Inheritance

  25. Consistency Checks ?? • เราจะเพิ่ม class ใหม่ได้เมื่อไหร่? • การเพิ่ม Subclass ของ class โดยทั่วไปจะ • มีคุณสมบัติเพิ่มเติมที่ super-class ไม่มี • มีข้อจำกัดที่แตกต่างจาก super-class • มีการอ้างอิง relationshipsมากกว่าใน super-class มี • Class ใหม่ หรือ property-value ใหม่? • class “african_elephant” หรือ class “elephant” ที่มี property type เป็น “african” ขึ้นอยู่กับจุดมุ่งหมายที่เราสนใจ • เป็น Instance หรือ Class? • Individual Instances เป็น การแสดงถึงกรณีเจาะจงในฐานความรู้ • ถ้า concept ที่สนใจเกิดจากการจำแนกโดยธรรมชาติ จะเป็น classes

  26. Limiting the Scope • ต้องการที่จะไม่ใส่ข้อมูลที่เป็นไปได้ทั้งหมดที่เกี่ยวกับขอบเขต • ต้องการที่จะไม่ใส่กรณีทั่วไป หรือ กรณีเฉพาะ มากไปกว่าอะไรที่เราต้องการนำไปใช้ • ต้องการที่จะไม่ใส่ properties ที่เป็นไปได้ทั้งหมดและ สิ่งที่แตกต่าง ในหมู่ classes บน hierarchy

  27. Ontology Merging/Alignment • สิ่งที่ต้องการ • การช่วยเหลือและคำแนะนำของของกระบวนการ • เครื่องมือพิเศษสำหรับ ontology merging and alignment • สิ่งที่ต้องการ (แต่ยังไม่สามารถทำได้) • เครื่องที่สามารถ merging and alignment ได้อัตโนมัติอย่างสมบูรณ์

  28. Mapping, Merging, Alignment

  29. Approaches • การแก้ปัญหาขัดแย้งหลังจาก merging • ผลลัพธ์โดยตรง • เกิดการปกคลุมของข้อมูล • ยากที่จะทำซ้ำ • เปลี่ยนรูปก่อนทำการ merging • กระบวนการสามารถทำซ้ำได้ • ไม่เป็นผลลัพธ์โดยตรง • ใช้เครื่องมือปรับโดยตรงให้เหมาะสม • สามารถได้ผลลัพธ์โดยตรงจากการปรับเปลี่ยน • ยากที่จะทำซ้ำ แต่เป็นไปได้

  30. SMART Algorithm

  31. Merge Classes (contd..)

  32. Merge Classes (contd..)

  33. Suggestions (contd..)

  34. Source – Car Rental

  35. Source –Airline Reservation

  36. Features • ผลที่ตอบสนองกับผู้ใช้ • คำชี้แจง • กระบวนการแก้เมื่อเกิดปัญหา • ดูแลรักษาจุดที่สนใจ • ปรับปรุงการให้ข้อแนะนำ • สร้างข้อมูลชั่วคราวเพื่อยืดเวลาสำหรับการแก้ปัญหา • การสะกดรอยความสัมพันธ์ • เก็บความสัมพันธ์ที่อ้างอิงถึง • เก็บข้อมูลอย่างย่อไว้

  37. Ontology Languages - RDF • RDFคือ Resource Description Framework • เป็น W3C candidate recommendation (http://www.w3.org/RDF • RDF เป็น graphical formalism(+XML syntax + semantics) • เพื่อเป็นตัวแทนข้อมูลที่อธิบายถึงข้อมูลอีกชุดหนึ่ง • เพื่ออธิบายถึงความหมายของข้อมูลในสิ่งที่เครื่องจักรเข้าใจได้ • RDFS extendsRDF กับ “schema vocabulary”ตัวอย่างเช่น • Class, Property • Type, subClassOf, subPropertyOf • Range, domain

  38. RDF Syntax --Triples Subject Object Property Ex: Subject Ex: Object Ex: Property

  39. RDF Syntax --Triples Subject Object Property Ex: Subject Ex: Object Ex: Property _: xxx

  40. RDF Syntax --Triples Subject Object Property Ex: Subject Ex: Object Ex: Property _: xxx

  41. RDF Syntax --Triples Subject Object Property Ex: Subject Ex: Object Ex: Property _: xxx _: yyy

  42. RDF Syntax --Triples Subject Object Property Ex: Subject Ex: Object Ex: Property _: xxx _: yyy << plain litteral >>

  43. RDF Syntax --Triples Subject Object Property Ex: Subject Ex: Object Ex: Property _: xxx _: yyy << plain litteral >> << lexical >>^^data type

  44. RDF Syntax -- Graph _: xxx

  45. RDF Syntax -- Graph << Palani Ramasamy >> Ex: name _: xxx rdf: type Ex: Person

  46. RDF Syntax -- Graph << Palani Ramasamy >> Ex: name _: yyy _: xxx Ex: member-of rdf: type Ex: Person

  47. RDF Syntax -- Graph << Palani Ramasamy >> << University of Madras >> Ex: name Ex: name _: yyy _: xxx Ex: member-of rdf: type rdf: type Ex: Organisation Ex: Person

  48. RDFS

More Related