1 / 68

รายชื่อสมาชิกในกลุ่ม 3

รายชื่อสมาชิกในกลุ่ม 3. นายดุสิต สัจจะวัฒนวิมล 50531603 กลุ่ม 3401 นายวิทยา มานิตย์ 50531870 กลุ่ม 3401 นางสาวโสมนันท์ คัมภีรญาณนนท์ 50531993 กลุ่ม 3401 นายธนพล ชัยวิสุทธิ์ 50532815 กลุ่ม 3401 นายอนุสรณ์ ศรีงาม 50533072 กลุ่ม 3401 นายนิฐวัฒน์ โสมวิภาต 50534222 กลุ่ม 3401

nami
Download Presentation

รายชื่อสมาชิกในกลุ่ม 3

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. รายชื่อสมาชิกในกลุ่ม 3 นายดุสิต สัจจะวัฒนวิมล 50531603 กลุ่ม 3401 นายวิทยา มานิตย์ 50531870 กลุ่ม 3401 นางสาวโสมนันท์ คัมภีรญาณนนท์ 50531993 กลุ่ม 3401 นายธนพล ชัยวิสุทธิ์ 50532815 กลุ่ม 3401 นายอนุสรณ์ ศรีงาม 50533072 กลุ่ม 3401 นายนิฐวัฒน์ โสมวิภาต 50534222 กลุ่ม 3401 นางสาววรุณศิริ ชาญเดชา 50534352 กลุ่ม 3401

  2. Ontology Development 101 :A Guide to Creating Your First Ontology

  3. ทำไมถึงต้องพัฒนา ontology? • ในปีที่ผ่านมาการพัฒนา ontology ได้กำหนดข้อตกลงอย่างเป็นทางการในโดเมนและความสัมพันธ์ของพวกเขาอย่างชัดเจน (Gruber 1993) ได้มีการเปลี่ยนขอบเขตของการทดลองในห้องปฏิบัติการ Artificial Intelligence มาสู่เครื่องคอมพิวเตอร์ทั่วไป ได้กลายมาเป็นพื้นฐานของ world-wide web โดยที่ ontology บนเว็บไซต์ ได้ขอบเขตของมันออกเป็นหลายกลุ่ม โดยจัดหมวดของเว็บไซต์ (เช่น Yahoo) หรือแบ่งหมวดหมู่ผลิตภัณฑ์ (เช่น Amazon.com)

  4. ทำไมถึงต้องพัฒนา ontology? • ซึ่งW3C เป็นผู้พัฒนา Resource Description Framework หรือ RDF (Brickley and Guha 1999) ซึ่งเป็นภาษาที่ใช้ในการเข้ารหัสความรู้บนเว็บเพจเพื่อที่เวลาค้นหาข้อมูลตัว agent จะได้เข้าใจเนื้อหาภายในเว็บเพจได้ Defense Advance Research Projects Agency (DARPA) ได้ร่วมกับ W3C ในการพัฒนา DARPA Agent Markup Language (DAML) โดยที่ใช้เป็นส่วนเสริมของ RDF เพื่อให้เกิดความสะดวกเวลา agent ต้องการติดต่อกับเว็บไซต์(Hendler and McGuinness 2000) โดยได้มีการสร้างมาตรฐานมากมายสำหรับ ontology เพื่อที่จะใช้แบ่งปัน และอธิบายข้อมูล

  5. ทำไมถึงต้องพัฒนา ontology? • ทำไมมีบางคนที่ต้องการพัฒนา ontology • โดยทั่วไปเป็นการร่วมความเข้าใจของโครงสร้างของข้อมูลที่เป็นกลุ่มคน ประชาชน หรือตัวแทนซอฟต์แวร์ • ทำให้สามารถนำมาใช้ใหม่ในขอบเขตของความรู้ • ในการทำข้อสมมติฐานมีขอบเขตที่ชัดเจนขึ้น • ทำให้สามารถแยกขอบเขตของความรู้ ความสนใจ ออกจากความรู้ในการปฏิบัติงาน • ใช้ในการวิเคราะห์ขอบเขตของความรู้

  6. ทำไมถึงต้องพัฒนา ontology? • การวิเคราะห์โดเมนความรู้ • แบ่งปันความเข้าใจร่วมกันของโครงสร้างของข้อมูลของผู้ใช้หรือซอฟต์แวร์ตัวแทนเป็นหนึ่งในเป้าหมายทั่วไปในการพัฒนา ontology (Musen 1992; Gruber1993) ตัวอย่างเช่นสมมติว่าเว็บไซต์หลายต่างมี ข้อมูลทางการแพทย์หรือให้บริการอีคอมเมิร์ซแพทย์ หากหุ้นเหล่านี้และเผยแพร่เว็บไซต์ ontology อ้างอิงเดียวกันคำที่พวกเขาใช้ทั้งหมดแล้วคอมพิวเตอร์สามารถสกัดสารและข้อมูลรวมจากเว็บไซต์ต่างๆเหล่านี้ ตัวแทนสามารถใช้ข้อมูลรวมเพื่อตอบแบบสอบถามผู้ใช้หรือข้อมูลเข้าโปรแกรมอื่น ๆ

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

  8. ทำไมถึงต้องพัฒนา ontology? • การพัฒนา Ontology กำหนดชุดของข้อมูลและโครงสร้างของโปรแกรมอื่นที่ใช้ วิธีการแก้ปัญหาการใช้งาน การทำงานของโดเมนอิสระและตัวแทนซอฟต์แวร์ใช้ Onotology และ ฐานความรู้สร้างจาก Ontology เป็นข้อมูล ตัวอย่างเช่นในบทความนี้เราพัฒนา ontology ของไว และ อาหาร และ การผสมที่เหมาะสมของไวน์กับอาหาร Onotlogy นี้สามารถใช้เป็นพื้นฐานสำหรับบางแอพิเคชั่นในการเป็นชุดเครื่องมือการจัดการของร้านอาหาร หนึ่งแอปพิเคชั่นสามารถสร้างไวน์สำหรับเมนูในวันนั้น หรือ จัดการรอคอยของพนักงานและลูกค้า แอปพลิเคชั่นอื่น

  9. ทำไมถึงต้องพัฒนา ontology? • ไวน์และอาหารที่เราใช้เป็นตัวอย่างชี้แนะนี้ได้อธิบายใน Classic- a knowledge –representation system based อธิบายด้วยโลจิ (Brachman et al.1991) การใช้ The Classic (McGuinness et al.1994) มีการพัฒนาอย่างต่อเนื่อง Protégé-2000 และอื่นที่เป็นกรอบการทำงานของระบบที่อธิบาย ontology เปิดเผย ระบุอย่างชัดเจน อะไรที่เป็น Class hierarchy คือที่ไม่ซ้ำ • Ontology เป็นความคิด ในเรื่องของ object oriented (Rumbaugh et al. 1991; Booch et al. 1997) อย่างไรก็ตาม การพัฒนา Ontology คือความแตกต่างจาการ ออกแบบ class และความสัมพันธ์ของ object oriented programming Objectoriented programming เป็นตัวหลักในการทานของ classes a programmer ทำให้ออกแบบและอธิบายจากคุณสมบัติการปฏิบัติงานของชั้นในขณะที่ออกแบบ ontology

  10. มีอะไรใน Ontology? • ในปัญญาประดิษฐ์ ได้มีการนำเอา ontology ไปบรรจุไว้ คำนิยามเหล่านี้ก็มีสิ่งหนึ่งที่แตกต่างกันออกไป เพื่อวัตถุประสงค์ในการแนะนำ ontology นี้เป็นคำอธิบายที่ชัดเจนอย่างเป็นทางการของแนวคิดในโดเมนของวาทกรรม คุณสมบัติของแต่ละแนวความคิด ได้อธิบายถึงลักษณะเด่นในหลายๆด้าน และลักษณะทางความคิด และการถูกกำหนดภายในกรอบแคบๆ ontology รวมกับกลุ่มของตัวอย่างของคลาส นำมาสร้างเป็นฐานความรู้ในความเป็นจริง มีการหาเส้นทางที่จะไปถึง จุดสิ้นสุดของ ontology และการเริ่มต้นจากความรู้พื้นฐาน

  11. มีอะไรใน Ontology? • Classes คือจุดที่จะต้องให้ความสำคัญใน ontologiesส่วนใหญ่. Classes เป็นตัวอธิบายคอนเซ็ปของโดเมน ยกตัวอย่าง Classes ของไวน์เป็นตัวแทนของไวน์ทั้งหมด ไวน์ชนิดต่างๆจะเป็น instances ของ class นี้ ไวน์บอร์โดซ์ (Bordeaux wines) ที่อยู่ในแก้วที่วางอยู่นี้เป็น instance หนึ่งของ class ของไวน์บอร์โดซ์.Class หนึ่งๆ อาจถูกแบ่งออกเป็น subclass ที่เป็นตัวแทนคอนเซ็ปทีมีความจำเพาะเจาะจงมากกว่า superclass. ยกตัวอย่าง: เราสามารถแบ่ง class ของไวน์ทั้งหมดออกเป็น ไวน์แดง ไวน์ขาวและไวน์กุหลาบ หรือในอีกทางเลือกก็คือ เราสามารถแบ่ง class ของไวน์ทั้งหมดออกเป็นไวน์ที่มีความเป็นประกราย กับไวน์ที่ไม่มีประกราย

  12. มีอะไรใน Ontology? • ช่องที่อธิบายคุณสมบัติของคลาส และอินสแตน: Chateau Lafite Rothschild Palillac ซึ่งเป็นส่วนเริ่มต้นของไวน์ ซึ่งถูกสร้างมาจากโรงกลั่น: Chareau Lafite Rothschild โดยมี 2 ช่อง เพื่ออธิบายไวน์ในตัวอย่าง ช่องบอดี้จะมีค่าเต็ม และช่องของตัวสร้างจะมีค่าโรงกลั่นไวน์ Chateau Lafite Rothschild ซึ่งอินสแตนของคลาสไวน์ ในระดับคลาสเราสามารถพูดได้ว่ากรณีของคลาสไวน์จะมีช่องอธิบายรส ร่างกายของระดับน้ำตาลของผู้ผลิตไวน์และอื่นๆ

  13. มีอะไรใน Ontology? • ในทางปฏิบัติ การพัฒนา ontology จะรวมถึง • การนิยามclass ใน ontology • การเรียบเรียง class ให้เป็นหมวดหมู่และลำดับขั้นตอน • การนิยาม slot และอธิบาย ค่าที่ยอมได้ ของ slot เหล่านี้ • การเติมค่าลงใน slot ต่างๆของ instance จากนั้นเราก็สามารถสร้าง knowledge base โดยการนิยาม instance แต่ละตัวของ class ที่มีการเติมข้อมูลค่าและข้อห้ามเพิ่มเติมลงใน slot ของมัน

  14. มีอะไรใน Ontology? • รูป1 แสดงบางส่วนของ class และ instance และความสัมพันธ์ระหว่างทั้งสองในโดเมนไวน์ เราใช้สีดำสำหรับ class และใช้สีแดงหรับ instance. เราใช้การเชื่อมตรง เป็นตัวแทนของ slot และการเชื่อมภายใน เช่น instance-of และ subclass-of

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

  16. วิศวกรรมความรู้ อย่างง่าย • ขั้นแรก เราต้องการเน้นกฎพื้นฐานในการออกแบบบาง ontology เราอาจจะต้องดูว่าสิ่งไหนที่เราอ้างถึงหลายๆ ครั้ง กฎเหล่านั้นอาจจะดูไม่เหมาะสม แต่มันก็สามารถช่วยได้ อย่างไรก็ตามการสร้างตัวตัดสินใจในหลายๆ กรณี • 1) ไม่มีขอบข่ายที่แน่นอน-ทางแก้ปัญหาที่ดีที่สุดขึ้นอยู่กับการประยุกต์ของตัวเรา และขยายขอบเขตออกไป • 2) การพัฒนา ontology ต้องมีการพัฒนากระบวนการซ้ำๆ • 3) แนวความคิดของ ontology จะต้องเข้าใจแนวความคิดของ ออบเจกต์ และมีความสัมพันธ์กับขอบเขต ซึ่งก็คล้ายๆกับ คำนาม (ออบเจกต์) หรือ คำกิริยา (ความสัมพันธ์)

  17. วิศวกรรมความรู้ อย่างง่าย • ขั้นตอนที่ 1 การตรวจสอบโดเมนและขอบเขตของ ontology • เราจะเริ่มแนะนำการเริ่มต้นพัฒนา ontology ด้วยการกำหนดโดเมนและขอบเขต นี่คือคำตอบของปัญหาพื้นฐาน • โดเมนที่ ontology จะครอบคลุมอะไร • เราจะใช้ ontology หรือไม่ เพื่ออะไร • คำถามเกี่ยวกับ ontology ควรให้คำตอบแบบใด • ใครจะใช้และรักษา ontology • คำตอบสำหรับคำถามเหล่านี้อาจมีการเปลี่ยนแปลงระหว่างกระบวนการออกแบบ ontology แต่บางเวลาจะให้ตัวจำกัดของการออกแบบ

  18. วิศวกรรมความรู้ อย่างง่าย • คำถามเกี่ยวกับสมรรถภาพ • คำถามเหล่านี้เป็นเพียงโครงร่างของสมรรถนะและไม่จำเป็นต้องครบถ้วนสมบูรณ์ ในไวน์และโดเมนอาหาร สิ่งต่อไปนี้เป็นคำถามที่ความสามารถเป็นไปได้ : ลักษณะใดควรพิจารณาเมื่อเลือกไวน์ Bordeaux เป็นไวน์แดงหรือไวน์ขาวCabernet Sauvignon ไม่เข้ากับอาหารทะเลอะไรเป็นตัวเลือกที่ดีที่สุดของไวน์สำหรับเนื้อย่างลักษณะของไวน์มีผลต่อความเหมาะสมของจานหรือไม่bouquet หรือรูปร่างการเปลี่ยนแปลงเฉพาะของไวน์กับความเก่าแก่ของปีมีผลหรือไม่อะไรที่ทำให้ vintages ดีสำหรับ Napa Zinfandel

  19. วิศวกรรมความรู้ อย่างง่าย • ขั้นตอนที่ 2 พิจารณา reusing ontology ที่มีอยู่ • เกือบตลอดเวลาที่พิจารณาข้อมูลสิ่งที่คนอื่นได้ทำและการตรวจสอบว่าเราสามารถปรับแต่งและขยายสิ่งที่มีอยู่ให้เหมาะสำหรับโดเมนเฉพาะงานของเรา Reusing ontology ที่มีอยู่อาจจะต้องการหากระบบของเราต้องทำงานกับโปรแกรมอื่น ๆ ที่มีจุดมุ่งหมายของงานอยู่แล้วเป็น ontology โดยเฉพาะหรือศัพท์ควบคุม ontology จำนวนมากอยู่แล้วในรูปอิเล็กทรอนิกส์และสามารถนำเข้ามาพัฒนาในสภาพแวดล้อมของคุณและผู้ใช้ทั่วไป เป็นขั้นตอนที่ ontology นั้นในบางครั้งอาจจะไม่แสดงตามขั้นตอนอย่างต่อเนื่อง ในหลาย ๆรูปแบบ การแสดงระบบความรู้ สามารถนำเข้าและส่งออก ontology ได้ แม้มีความรู้ในระบบการแสดงเราก็ยังไม่สามารถทำงานได้โดยตรงกับการทำงานที่มีความจำเพาะ งานการแปล ontology จากการกระทำตามสิ่งที่มีอยู่แล้วมักจะไม่ยากไปกว่าเดิม

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

  21. วิศวกรรมความรู้ อย่างง่าย • ขั้นตอนที่ 4 กำหนดคลาสและลำดับชั้น กระบวนการพัฒนาจากบนลงล่างเริ่มต้นด้วยคำนิยามทั่วไปและหลายๆแนวคิดในโดเมน ตัวอย่างจากการสร้างชั้นสำหรับแนวคิดทั่วไปของไวน์และอาหารเมื่อเรามีความเชี่ยวชาญจากชั้นไวน์ จากการสร้าง subclasses ของ ไวน์ขาว ไวน์แดงเรายังสามารถจัดประเภทของไวน์แดง

  22. วิศวกรรมความรู้ อย่างง่าย • ขั้นตอนที่ 4 กำหนดคลาสและลำดับชั้น • การพัฒนาจากล่างขึ้นบนจากการนิยามที่เจาะจงมากที่สุด เป็นลำดับชั้นกับกลุ่มของการเรียนเหล่านี้ในแนวคิดที่กว้างขึ้น ตัวอย่างเช่นเราเริ่มต้นด้วยการกำหนดหลักสูตรสำหรับ Pauillacและไวน์ Margauxจากนั้นเราจะสร้าง superclassทั่วไปสำหรับการเรียนทั้งสองMedocซึ่งจะเป็น subclass ของ Bordeaux การพัฒนาชุดเป็นชุดของ top - down และ bottomup

  23. วิศวกรรมความรู้ อย่างง่าย • ขั้นตอนที่ 4 กำหนดคลาสและลำดับชั้น • กระบวนการการพัฒนาแบบผสมผสานซึ่งเป็นการรวมกันของแบบบนลงล่างและแบบล่างขึ้นบน โดยกำหนดแนวคิดหลักก่อนแล้วตามด้วยแนวคิดทั่วไป และให้ความสำคัญอย่างเหมาะสม ซึ่งเราอาจจะเริ่มต้นด้วยแนวคิดจากบนสุดตัวอย่างเช่น ไวน์ และบางแนวคิดหลัก เช่น Margauxแล้วเกี่ยวโยงไปยังแนวคิดระดับกลาง เช่น Medoc หลังจากนั้นอาจจะต้องสร้างสัญชาติของไวน์ทั้งหมดของประเทศฝรั่งเศส แล้วจึงสร้างแนวคิดระดับกลาง

  24. วิศวกรรมความรู้ อย่างง่าย • รูปที่ 2 ระดับต่างๆของอนุกรมวิธาน Wine : ไวน์เป็นแนวคิดโดยทั่วไปมากที่สุด ไวน์แดงไวน์ขาวและไวน์กุหลาบมีแนวคิดทั่วไประดับบนสุด Pauillacและ Margauxเป็นชั้นเรียนมากที่สุดเฉพาะในลำดับชั้น (หรือแนวคิดระดับล่าง)

  25. วิศวกรรมความรู้ อย่างง่าย • ขั้นตอนที่ 4 กำหนดคลาสและลำดับชั้น • ทั้งสามวิธีไม่มีอะไรดีที่สุด วิธีการขึ้นอยู่กับโดเมนแต่ละบุคคล หากนักพัฒนามีระบบ top - downของโดเมนดู ก็อาจจะง่ายต่อการใช้วิธีการจากบนลงล่าง วิธีการผสมมักจะเป็นวิธีที่ง่ายที่สุดสำหรับนักพัฒนาหลาย ontology ตั้งแต่แนวคิดระดับกลางมักจะเป็นแนวคิดแบบขึ้น

  26. วิศวกรรมความรู้ อย่างง่าย • ขั้นตอนที่ 4 กำหนดคลาสและลำดับชั้น • Class B เป็นตัวอย่างแนวคิดชนิดของ A, เช่น ทุกๆ Pinot noir ไวน์ จำเป็นต้องเป็นไวน์แดง ดังนั้น Class Pinot noir เป็นคลาสย่อยของไวน์แดง รูปที่ 2 แสดงส่วนของลำดับชั้นสำหรับ ontology ไวน์ ส่วนที่ 4 มีการบรรยายรายละเอียดของสิ่งที่ค้นหาเมื่อกำหนดลำดับของชั้น • รูปที่ 3 ช่องสำหรับชั้นไวน์และ facets ของช่องเหล่านี้ “I” icon ถัดจากผู้ผลิตแปรผกผัน กับส่วน 5.1

  27. วิศวกรรมความรู้ อย่างง่าย • ขั้นตอนที่ 5 กำหนดคุณสมบัติของคลาส – สล็อต(slots) • คลาสเดี่ยวจะไม่ให้ข้อมูลเพียงพอที่จะตอบคำถามตามความสามารถ จากขั้นตอนที่ 1 เมื่อเราได้กำหนดบางคลาสแล้ว เราต้องอธิบายถึงโครงสร้างของแนวคิดด้วย • เราได้เลือกคลาสจากรายการตามขอบเขตที่เราสร้างในขั้นตอนที่ 3 ในที่สุดของขอบเขตที่เหลือจะมีแนวโน้มที่จะเป็นคุณสมบัติของคลาสเหล่านี้ด้วย ในขอบเขตเหล่านี้รวมถึงการยกตัวอย่าง เช่น สีของไวน์ รูปร่าง รสชาติ และน้ำตาล และสถานที่ของโรงกลั่นด้วย

  28. วิศวกรรมความรู้ อย่างง่าย • ขั้นตอนที่ 5 กำหนดคุณสมบัติของคลาส – สล็อต(slots) • สำหรับแต่ละคุณสมบัติในรายการนั้น เรามักจะต้องกำหนดคลาสด้วยคำอธิบาย ซึ่งคุณสมบัติเหล่านี้เป็นสล็อตที่ติดกันกับคลาส ดังนั้น คลาสของไวน์จะมีสล็อตดังต่อไปนี้ : สี รูปร่าง รสชาติ และ น้ำตาล และคลาสของโรงกลั่นจะมีสถานที่ของสล็อตด้วย • โดยทั่วไปแล้วจะมีคุณสมบัติวัตถุอยู่หลาย ๆ ประเภทที่สามารถจะเป็นสล็อตใน ontology : • “ภายใน” คุณสมบัติภายในเช่น รสชาติของไวน์ • “ภายนอก” คุณสมบัติภายนอกเช่น ชื่อ และพื้นที่ที่มาจาก : • ส่วน ถ้าวัตถุคือโครงสร้าง มันจะสามารถเป็นได้ทั้งสองอย่างคือ ทางกายภาพและนามธรรม “ส่วน” (ยกตัวอย่างเช่น หลักสูตรของอาหาร)

  29. วิศวกรรมความรู้ อย่างง่าย • ขั้นตอนที่ 5 กำหนดคุณสมบัติของคลาส – สล็อต(slots) • ดังนั้น นอกเหนือจากคุณสมบัติที่เราได้ทำการระบุไว้ก่อนหน้าที่เรา เราต้องเพิ่มสล็อตต่อไปนี้ในคลาสของไวน์ด้วย : ชื่อ พื้นที่ การผลิต องุ่น ดังรูปที่ 3 ซึ่งจะแสดงถึงสล็อตสำหรับคลาสของไวน์ • ในส่วนย่อยทั้งหมดของคลาสที่เกิดจากการสืบทอด สล็อตของคลาส ยกตัวอย่างเช่น สล็อตทั้งหมดของคลาสไวน์ จะมีการสืบทอดถึงคลาสย่อยทั้งหมดของหวาน รวมทั้ง ไวน์แดง และ ไวน์ขาว เราจะทำการเพิ่มอีกสล็อตคือ ระดับของ แทนนิน(tannin) (ต่ำ ปานกลาง หรือสูง) เพื่อแสดงคลาสของไวน์แดง ระดับของแทนนิน จะมีการสืบทอดโดยคลาสทั้งหมดจะแสดงถึงไวน์แดง (เช่น Bordeaux และ Beaujolais) (เป็นชื่อยี่ห้อของไวน์ หรืออาจจะเป็นเมืองของประเทศฝรั่งเศส)

  30. วิศวกรรมความรู้ อย่างง่าย • ขั้นตอนที่ 6 กำหนด facets ของช่อง • ช่องสามารถมีการอธิบายประเภทของค่า facets ที่ต่างกัน ได้ค่าและจำนวนค่า (cardinalty) และคุณสมบัติอื่นๆ ของค่าช่องสามารถหยิบมาใช้ได้ ตัวอย่างเช่นค่าของชื่อช่อง (เช่น “ชื่อไวน์”) เป็นสตริงที่มีชื่อช่อง ช่องผลิต (เช่น “ไวน์เนอรี่ผลิตไวน์เหล่านี้”) จะมีหลายค่าและเป็นค่าตัวอย่างของคลาสไวน์ คือ ผลิตค่าที่ผลิตเป็นช่วง เช่น ชนิดกับคลาสไวน์ ซึ่งเราจะอธิบาย facets พื้นฐานหลายประการ

  31. Slot Cardinality • Slot Cardinality • Slot cardinality กำหนดจำนวนค่าที่เป็นไปได้ในช่อง ระบบบางระบบจะแยกระหว่าง cardinality เดียว (ให้ค่ามากที่สุดหนึ่งค่า) และหลาย cardinality (ให้จำนวนค่าใดๆ) รูปร่างของไวน์จะเป็นช่องแบบ cardinality เดียว (ไวน์สามารถมีได้เพียงหนึ่งรูปร่าง) ไวน์ที่ผลิตจากไวน์เนอรี่โดยเฉพาะการเติมในช่องแบบหลาย cardinality ก่อให้เกิดคลาสสำหรับไวน์เนอรี่

  32. Slot-value type • ในแง่ของประเภทของค่าอธิบายว่าประเภทของค่าสามารถกรอกข้อมูลลงไปในช่องได้ นี่คือรายการของประเภทของค่าทั่วไป คือ : สตริง (String) - เป็นชนิดของค่าที่ง่ายซึ่งใช้สำหรับช่องของชื่อ : ค่าเป็นสตริงแบบง่าย • จำนวน (Number) - (บางครั้งจะเฉพาะเจาะจงชนิดของโฟลตและใช้ค่า integer) อธิบายช่องด้วยค่าตัวเลข ตัวอย่างเช่น ราคาของไวน์สามารถมีค่าประเภทโฟลต

  33. Slot-value type • Boolean- ยกตัวอย่างง่ายคือช่อง yes – no ตัวอย่างเช่นถ้าเราเลือกที่จะไม่แสดงไวน์ที่เดือดเป็นฟองจะแยกเป็นคลาสต่างหาก หรือไม่ไวน์ที่เดือดเป็นฟองจะแสดงเป็นค่าของช่อง Boolean : ถ้าค่าเป็น “จริง” (“yes”)คือไวน์ที่เดือดเป็นฟอง และถ้าค่าเป็น “เท็จ” (“no”) คือไวน์ที่ไม่เดือดเป็นฟอง • Enumerated- ช่องนับจำนวนระบุรายการของค่าอนุญาตเฉพาะช่อง ตัวอย่างเช่น เราสามารถระบุที่ช่องรสชาติ สามารถใช้ค่าหนึ่งในสามค่าที่เป็นไปได้ : ดี ปานกลาง และ อ่อน ใน Protégé-มีจำนวนประเภทของสัญลักษณ์ 2000 ช่อง

  34. Slot-value type • ยกตัวอย่างเช่น ประเภทของช่องให้คำนิยามของความสัมพันธ์ระหว่างแต่ละอัน ช่องที่มีชนิดของค่าตัวอย่างจะต้องกำหนดรายการของคลาสที่ได้จากตัวอย่างที่ได้มา ตัวอย่างเช่น ช่องผลิตสำหรับคลาสไวน์เนอรี่ อาจมีค่าของกรณีของคลาสไวน์ • รูปที่ 4 นิยามของช่องที่อธิบายไวน์ที่ผลิตจากไวน์เนอรี่ ช่องมีหลาย Cadinalityค่าตัวอย่าง และคลาสไวน์เป็นคลาสที่อนุญาตให้มีค่า

  35. โดเมนและช่วงของช่อง • คลาสอนุญาตสำหรับช่องประเภทอินสแตนซ์มักจะเรียกว่าช่วงของช่อง ตัวอย่างในรูปที่ 4 ชั้นไวน์เป็นช่วงของช่องผลิตภัณฑ์ ระบบบางระบบจำกัดช่วงของช่องเมื่อช่องรวมสำหรับคลาสเฉพาะ • คลาสที่รวมช่องหรือคลาสซึ่งอธิบายคุณสมบัติ เรียกว่า โดเมนของช่อง คลาสไวเนอรี่เป็นโดเมนของผู้ผลิตที่ช่อง ในระบบที่เราติดต่อช่องถึงคลาสนั่น คลาสที่รวมช่องปกติเป็นโดเมนของช่องที่ไม่จำเป็นต้องระบุโดเมนแยกต่างหาก กฎพื้นฐานในการพิจารณาโดเมนและช่วงของช่องคล้ายคลึงกัน

  36. โดเมนและช่วงของช่อง • กฎพื้นฐานในการพิจารณาโดเมนและช่วงของช่องคล้ายคลึงกัน เมื่อกำหนดโดเมนและช่วงสำหรับช่อง หาคลาสทั่วไปมากที่สุดหรือคลาสที่สามารถเรียงลำดับโดเมนหรือช่วงสำหรับช่อง ในทางกลับกันไม่กำหนดโดเมนและช่วงสำหรับช่องที่มากกว่าปกติเกินไป ทุกคลาสในโดเมนของช่องควรจะอธิบายโดยช่องและตัวอย่างของทุกคลาสในช่วงของช่องควรจะมีช่องข้อมูลที่มีศักยภาพ อย่าเลือกคลาสที่มีค่าของช่วงที่มากกว่าปกติเกินไป (เช่น คือไม่ต้องการทำให้ช่วงสำคัญ) แต่ก็อยากจะเลือกคลาสที่ครอบคลุมข้อมูลทั้งหมด

  37. โดเมนและช่วงของช่อง • แทนรายการของ subclasses ที่เป็นไปได้ทั้งหมดของ Wine class ลงในส่วนของช่วงของ produces • slot เป็นเพียงแค่รายการหนึ่งของ Wine ที่ในเวลานั้น เราจะไม่ต้องการกำหนดความยาวของ slot ของ thing ซื่งเป็น class ทั่วไปของ ontology

  38. ขั้นตอนที่ 7 : Create instances • ขั้นตอนสุดท้ายนี้คือการสร้างตัวอย่างในแต่ละ class เพื่อจัดระเบียบตามลำดับขั้น กำหนดขั้นต่างๆ ไว้ดังนี้ • การเลือกและการตัดสินใจ • การสร้างตัวอย่างในแต่ละ class นั้น • การใส่ค่าให้กับ slot

  39. ขั้นตอนที่ 7 : Create instances • ตัวอย่างเช่น • เราสามารถสร้างในแต่ละตัวอย่าง อย่างเช่น • Chateau-Morgon-Beaujolais แทนกรณีแบบ Beaujolais wine • Chateau-Morgon-Beaujolais กรณีที่ class Beaujolais ไปทำหน้าที่แทน Beaujolais wines ทั้งหมด

  40. ขั้นตอนที่ 7 : Create instances • เช่น ตัวอย่างต่อไปนี้เป็นการกำหนดค่าสล๊อต (รูปที่ 5): • Body: Light • Color: Red • Flavor: Delicate • Tannin level: Low • Grape: Gamay (ตัวอย่างของคลาสไวน์องุ่น) • Maker: Chateau-Morgon (ตัวอย่างของคลาส Winery ) • Region: Beaujolais (ตัวอย่างของคลาส Wine-Region class) • Sugar: Dry

  41. ขั้นตอนที่ 7 : Create instances • รูปที่ 5 นิยามของตัวอย่างของคลาส Beaujolais กรณีที่เป็น Chateaux Morgon Beaujolais จากพื้นที่ Beaujolais, ผลิตจากองุ่น Gamay โดย Winery Chateau Morgon แต่ก็มีรสชาติละเอียดอ่อน, สีแดง, และระดับแทนนินต่ำ และมันคือไวน์แห้ง

  42. 4 คลาสและการกำหนดลำดับชั้นของคลาส • ในส่วนนี้จะกล่าวถึงสิ่งที่ต้องระวังและข้อผิดพลาดที่ง่านต่อการกำหนดคลาสรวมถึงลำดับชั้นของคลาส(ขั้นตอนที่ 4 จากข้อ 3) ที่เราได้กล่าวถึงก่อนที่ไม่มีลำดับชั้นเดียวที่ถูกต้องสำหรับโดเมนใดก็ตาม ลำดับชั้นจะขึ้นอยู่กับความเป็นไปได้ของ ontology ระดับของการตั้งค่ารายละเอียดที่จำเป็นสำหรับการนำไปประยุกต์ใช้เพื่อเป็นแนวทางในการพัฒนาต่อไป หลังจากที่มีการกำหนดคลาสใหม่เป็นจำนวนมากจะเป็นประโยชน์ที่กลับมาดูและตรวจสอบลำดับชั้นที่เกิดขึ้นใหม่เพื่อที่จะสอดคล้องกับหลักเกณฑ์เหล่านี้

  43. 4.1 การตรวจสอบความถูกต้องในลำดับชั้นของคลาส • “is-a” ความสัมพันธ์ • ลำดับชั้นของคลาสเป็น "is - a"ความสัมพันธ์: คลาส A เป็นคลาสย่อยของคลาส B ถ้าทุกๆกรณีของคลาส Aตัวอย่าง ทุก Chardonnay เป็นคลาสย่อยของไวน์ขาว และอีกวิธีคิดอนุกรมวิธานของความสัมพันธ์ก็คือ “kind-of” ความสัมพันธ์ : Chardonnay เป็นประเภทของไวน์ขาว • คลาสย่อยของคลาสเป็นแนวคิดที่เป็น “kind of” ซึ่งเป็นแนวคิดของการทำหน้าที่แทนคลาสย่อย

  44. 4.1 การตรวจสอบความถูกต้องในลำดับชั้นของคลาส • ไวน์ตัวเดียวไม่เป็นคลาสย่อยของไวน์ทั้งหมด • การจำลองความผิดพลาดมีการรวมทั้งเอกพจน์และพหูพจน์ของรุ่นเดียวกัน แนวคิดก่อนหน้านี้ทำให้คลาสย่อยมีความผิดพลาดเพื่อกำหนดคลาสไวน์เป็นคลาสย่อยของไวน์ เมื่อคุณคิดเป็นลำดับชั้นแทน "ชนิด - สัมพันธ์" ของความผิดพลาดแบบจำลองจะกลายเป็นสิ่งที่ชัดเจนขึ้น ไวน์เดียวไม่ใช่ชนิดของไวน์ วิธีที่ดีที่สุดเพื่อหลีกเลี่ยงข้อผิดพลาดดังกล่าวอยู่เสมอ ใช้ทั้งเอกพจน์หรือพหูพจน์ในการตั้งชื่อคลาส (ดูมาตรา 6 สำหรับการสนทนาในการตั้งชื่อ) • Transitivity ของความสัมพันธ์แบบลำดับชั้น • ความสัมพันธ์ของคลาสย่อย เป็นสกรรมกริยา (transitive) :ถ้า B เป็น คลาสย่อยของ A และ C เป็น คลาสย่อย) ของ B แล้ว C เป็น คลาสย่อย (subclass) ของ A ตัวอย่างเช่น เราสามารถกำหนดระดับไวน์ (Wine) แล้วกำหนดระดับไวน์ขาวเป็น คลาสย่อย (subclass) ของไวน์ แล้วเรากำหนดคลาส Chardonnay เป็นคลาสย่อย ของไวน์ขาว Transitivity

  45. 4.1 การตรวจสอบความถูกต้องในลำดับชั้นของคลาส • การวิวัฒนาการของ class hierarchy การคงอยู่ของ class hierarchy ที่สอดคล้องกัน อาจกลายเป็นสิ่งที่ท้าทายของการค่อยๆ พัฒนา ตัวอย่าง Zinfandel ทั้งหมดเป็นสีแดง เพราะฉะนั้นเราจะกำหนดให้ class ของ Zinfandel เป็น subclass ของ ไวน์แดง บางครั้ง ไวน์ทำมาจาก การอัดกันขององุ่น และเปลี่ยนลักษณะของสีที่ได้ ดังนั้น เราจะได้ white Zinfandel ซึ่งตอนแรกมันเป็นสีกุหลาบ ตอนนี้เราต้องการแยก Zinfandel class ให้กลายเป็น 2 class ของ Zinfandel คือ white และ red การจัดกลุ่มพวกมัน ก็เหมือน subclass ของ rose wine และ red wine ตามลำดับ

  46. 4.1 การตรวจสอบความถูกต้องในลำดับชั้นของคลาส • Class และ ชื่อของมัน Class แสดง แนวความคิดใน domain และไม่มีคำ ที่มีความหมายที่แน่นอน ชื่อของ class อาจเปลี่ยนได้ถ้าเราเลือกคำศัพท์เฉพาะทางที่แตกต่างกัน แต่เทอมของแต่ละตัวเองที่จะแสดงสภาความเป็นจริงที่มี อยู่บนโลก ตัวอย่าง ถ้าเราสร้าง class ของ Shrimps และจากนั้นเปลี่ยนเป็น class ของ prawns มันยังคงแสดงถึง concept เดียวกัน Synonym เป็นเพียงชื่อที่แตกต่างกัน สำหับ concept หรือ เทอม เพราะฉะนั้น เราจะไม่มีclass ที่เรียกว่า shrimps และ prawns ถ้าเป็นไปได้เราจะเรียก class นั้นว่าCrevette

  47. 4.1 การตรวจสอบความถูกต้องในลำดับชั้นของคลาส • หลีกเลี่ยง class cycle เราจะบอกว่า มี cycle ในhierarchy เมื่อ บาง class A มี subclass และในเวลาเดียวกัน Bเป็น superclass ของ A การสร้าง cycle ใน hierarchy นั่นแสดงว่า class A และ class B จะต้องเท่ากัน

  48. 4.2 วิเคราะห์เกี่ยวกับsiblingของลำดับชั้นของคลาส • การวิเคราะห์ sibling ใน class hierarchy sibling ใน class hierarchy • sibling ใน class hierarchy คือ class ซึ่งเป็น subclass โดยตรง ของ class เดียวกัน (ดูที่ section 4.1) • sibling ทั้งหมด ใน hierarchy ต้องมจาก level เดียวกัน ของหลักการโดยทั่วไป

  49. 4.2 วิเคราะห์เกี่ยวกับsiblingของลำดับชั้นของคลาส • ต้องเท่าไหร่ถึงจะมากเกินไป และ ต้องเท่าไหร่ถึงจะน้อยเกินไป ไม่มีหลักเกณฑ์ยากๆสำหรับ จำนวนของ subclass โดยตรง ซึ่ง class ควรจะมี อย่างไรก็ตาม well-structure ontology มีระหว่าง 2-12 subclass โดยตรง เพราะฉะนั้น เราจะแสดงทั้งหมด 2 guideline ถ้า class มีแค่ subclass โดยตรงแค่ทางเดียว อาจจะเป็นการจำลองปัญหา หรือ ontology ไม่สมบูรณ์ ถ้ามีมากกว่า 12 subclass สำหรับการแสดง cla ss เมื่อเพิ่มประเภท สื่อกลาง อาจจะจำเป็น

  50. 4.3 Multiple inheritance • ระบบ knowledge-representation ยอมให้ multiple inheritance ใน class hierarchy: ใน class สามารถมี class ย่อยในหลาย class ได้ สมมติว่าเราต้องการที่จะสร้าง class แยก dessert wines Port ไวน์ของทั้งสองอันคือ ไวน์แดงและ dessert wines ดังนั้นเราจึงกำหนดชั้น Port มีสอง class ใหญ่ คิอ ไวน์แดงและ dessert wines • Port class จะสืบทอดสลอตและ facets ต่างๆของผู้ถ่ายทอด ดังนั้นจึงจะสืบทอดค่าความหวาน สำหรับสล็อตน้ำตาลจาก Dessert wine และระดับ tannin และค่าสีจากไวน์แดง

More Related