Ontology ทำไมต้องพัฒนา Ontology เมื่อปีที่ผ่านมาเร็วๆนี้ ได้มีการพัฒนา

Download Report

Transcript Ontology ทำไมต้องพัฒนา Ontology เมื่อปีที่ผ่านมาเร็วๆนี้ ได้มีการพัฒนา

Ontology
ทำำไมต้องพัฒนำ Ontology
เมื่อปี ที่ผำ่ นมำเร็ วๆนี้ ได้มีกำรพัฒนำ Ontology และได้มีกำรระบุขอ้ ตกลงในโดเมน
และควำมสัมพันธ์ของพวกเขำออกมำอย่ำงเป็ นทำงกำร (Gruber 1993) ได้มีกำรย้ำย
ขอบเขตของกำรทำำแล็ป AI ไปสู่ เครื่ องคอมพิวเตอร์ทวั่ ไปของ domain experts และได้
กลำยมำเป็ นพื้นฐำนบน World-Wide Web ได้มีกำรแบ่งขอบเขตของ Ontology ออกเป็ น
หลำยกลุ่ม สำำหรับกลุ่มที่ได้มีกำรจัดหมวดหมู่เว็บไซต์ต่ำงๆ (เช่นเว็บ Yahoo) เว็บที่ได้มี
กำรจัดหมวดหมู่ผลิตภัณฑ์สำำ หรับขำย (เช่นเว็บ Amazon.com)
ทำำไมต้องพัฒนำ Ontology (ต่อ)
สมำคม WWW หรื อ W3C ได้พฒั นำ Resource Description Framework (Brickley และ Guha
ปี 1999) ภำษำที่ใช้ในกำรเข้ำรหัสบนเว็บได้มีกำรจัดทำำให้สำมำรถที่จะเข้ำใจเกี่ยวกับ
electronic agents ในกำรค้นหำข้อมูลต่ำงๆ บริ ษทั ตัวแทนที่ทำำ โครงงำนเกี่ยวกับกำรพัฒนำ
ควำมก้ำวหน้ำของกำรค้นคว้ำวิจยั หรื อที่เรี ยกย่อๆว่ำ DARPA ได้ร่วมกับ W3C เพื่อที่จะ
พัฒนำ DARPA Agent Markup Language (DAML) โดยขยำยจำก RDF ให้มีกำรสร้ำงรู ปแบบ
ควำมหมำย โดยมุ่งให้เป็ นไปในรู ปแบบที่ง่ำยและสะดวกต่อกำรนำำไปใช้บนเว็บ (Hendler
and McGuinness 2000) ได้มีกำรสร้ำงมำตรฐำนหลำยมำตรฐำนให้กบั Ontology เพื่อให้
domain experts สำมำรถแบ่งปันและอธิบำยข้อมูลในฟิ ลด์
ทำำไมต้องพัฒนำ Ontology (ต่อ)
ทำำไมถึงมีบำงคนที่ตอ้ งกำรจะพัฒนำ Ontology ? ซึ่งมีหลำกหลำยเหตุผลด้วยกัน คือ
- เพื่อแบ่งปั นควำมเข้ำใจของโครงสร้ำงข้อมูลข่ำวสำรแก่บุคคลอื่นและ software agents
- เพื่อนำำเอำ domain knowledge กลับมำใช้ใหม่
- เพื่อสร้ำง domain assumptions(ข้อสันนิษฐำน) ให้ชดั เจนขึ้น
- เพื่อแยก domain knowledge จำก operational knowledge
- เพื่อวิเครำะห์ domain knowledge
ทำำไมต้องพัฒนำ Ontology (ต่อ)
กำรแบ่งปั นควำมเข้ำใจเกี่ยวกับโครงสร้ำงของข้อมูลข่ำวสำรแก่บุคคลอื่น และ software agents
ก็เป็ นหนึ่งในเป้ ำหมำยทัว่ ไปที่จะใช้ในกำรพัฒนำ ontology (Musen 1992; Gruber
1993) สำำหรับตัวอย่ำงก็คือ สมมติวำ่ เว็บไซต์หลำยๆเว็บไซต์ได้เก็บข้อมูลเกี่ยวกับกำรรักษำที่แตกต่ำง
กัน หรื อกำรให้บริ กำร กำรรักษำแบบ e-commerce ถ้ำเว็บไซต์น้ ี สำมำรถที่จะแชร์และเป็ นแบบ
public ได้เช่นเดียวกับ ontology แล้ว computer agents ก็สำมำรถที่จะแยก และ
รวบรวมข้อมูลจำกขนำดที่มีควำมแตกต่ำงกันได้ agents ก็สำมำรถที่จะใช้กำรสรุ ปข้อมูลนี้ ไปเป็ นคำำ
ตอบให้กบั ผูใ้ ช้ที่ได้สอบถำม หรื อข้อมูลนำำเข้ำไปยังแอพลิเคชันอื่นๆ
ควำมสำมำรถในกำรนำำเอำ domain knowledge กลับมำใช้ใหม่ ซึ่งเป็ นหนึ่งของแรงผลักดันที่
ทำำให้เกิดกระแสกำรวิจยั ontology ในปั จจุบนั สำำหรับตัวอย่ำงก็คือ โมเดลซึ่งมีควำมแตกต่ำงของ
โดเมนหลำยโดเมน จำำเป็ นต้องแสดงให้เห็นถึงควำมแตกต่ำงของเวลำ กำรนำำเสนอต้องมีควำมแตกต่ำงของ
ช่วงเวลำ ตัวบ่งชี้เวลำ ควำมสัมพันธ์ที่วดั ได้จำกเวลำและอื่นๆ ถ้ำนักวิจยั หนึ่งกลุ ่มได้พฒั นำรำยละเอียด
ontology ตัวอื่นๆที่สำมำรถทำำให้ง่ำยขึ้น ผูอ้ ื่นก็ตอ้ งสำมำรถที่จะนำำเอำโดเมนเหล่ำนั้นกลับมำใช้ใหม่
ทำำไมต้องพัฒนำ Ontology (ต่อ)
บ่อยครั้งที่โดเมนของ ontology ไม่ได้มีเป้ ำหมำยในตัวมันเอง กำรพัฒนำ ontology มี
ควำมเกี่ยวข้องกับกำรจำำกัดเซตของข้อมูลและโครงสร้ำงสำำหรับโปรแกรมอื่นๆที่ใช้ วิธีกำรแก้ปัญหำ
กำรใช้งำน กำรทำำงำนของโดเมนอิสระและตัวแทนซอฟต์แวร์ที่ใช้ Ontology และสร้ำงฐำน
ควำมรู ้จำกข้อมูลที่เป็ น ontology สำำหรับตัวอย่ำงในเอกสำรนี้ เรำได้พฒั นำ ontology ของ
ไวน์และอำหำรและกำรนำำเอำไวน์มำจัดรวมกับอำหำรแต่ละมื้อที่เหมำะสม ontology นี้สำมำรถ
ใช้เป็ นพื้นฐำนสำำหรับบำงแอพลิเคชันในกำรเป็ นชุดเครื่ องมือสำำหรับกำรจัดกำรร้ำนอำหำร จะมีแอ
พลิเคชันหนึ่งที่จะสร้ำงให้มีกำรแนะนำำไวน์ที่เป็ นเมนูของแต่ละวัน หรื อ ให้แสดงคำำตอบได้เมื่อมีกำร
สอบถำมของบริ กรและลูกค้ำ แอพลิเคชันตัวอื่นๆ ก็จะทำำกำรวิเครำะห์รำยกำรสิ่ งของ ของไวน์ที่ได้
จัดเก็บไว้ และแนะนำำประเภทของไวน์ ทำำให้กำรสัง่ ของเมนูที่จะเกิดขึ้นหรื อหนังสื อทำำอำหำรขยำย
กว้ำงขึ้น
About this guide (เกีย่ วกับคู่มอื นี้)
กำรออกแบบและควำมคิดที่หลำกหลำยเกี่ยวกับ Ontology เป็ นแบบดั้งเดิมที่มำจำกแบบของ
object-oriented (Rumbaugh et al.1991;Booch et al.1997)
อย่ำงไรก็ตำม กำรพัฒนำ Ontology คือควำมแตกต่ำงจำกกำรออกแบบ คลำส และควำม
สัมพันธ์ของ object oriented programming ซึ่ง object-oriented
programming ถือเป็ นศูนย์กลำงที่สำำ คัญ โดยคลำสนั้นจะมีเมธอดอยูร่ อบๆ โปรแกรมเมอร์
จะออกแบบพื้นฐำนคุณสมบัติของแต่ละคลำส นักออกแบบจะใช้โครงสร้ำงและคุณสมบัติของคลำส
เพื่อเป็ นพื้นฐำนในกำรตัดสิ นใจออกแบบ ด้วยเหตุน้ี เอง จึงทำำให้นกั ออกแบบ ontology ได้ใช้
พื้นฐำนกำรตัดสิ นใจจำกโครงสร้ำงของคลำส ดังนั้น โครงสร้ำงและควำมสัมพันธ์ของคลำสใน
ontology จึงมีควำมแตกต่ำงกัน แม้จะมีโดเมนที่คล้ำยกับ object-oriented
programming
มีอะไรอยูใ่ น Ontology ?
AI ได้เก็บหลำยๆนิยำมเกี่ยวกับ Ontology ไว้ ซึ่งคำำนิยำมเหล่ำนี้กม็ ีควำมแตกต่ำงกันออก
ไป วัตถุประสงค์ในกำรกล่ำวถึง Ontology นี้ ก็เพื่อที่จะอธิบำยเกี่ยวกับคอนเซปในโดเมน
ให้ชดั เจนขึ้น (class ในบำงครั้งจะเรี ยกว่ำ concepts) ,คุณสมบัติและควำมสำมำรถของ
แต่ละ concept (slots บำงครั้งเรี ยกว่ำ roles หรื อ properties) , และข้อจำำกัด
ของช่อง slots (facets บำงครั้งเรี ยกว่ำ role restrictions) Ontology กับ
เซตตัวอย่ำงของคลำส ให้เป็ น knowledge base ในควำมเป็ นจริ ง เส้นที่ดี จะต้องจบ
ด้วย Ontology และเริ่ มต้นด้วย knowledge base
มีอะไรอยูใ่ น Ontology ? (ต่อ)
คลำสหลำยคลำส จะโฟกัสที่ Ontology คลำสจะอธิบำยถึง concepts ในโดเมน สำำหรับ
ตัวอย่ำงก็เช่น กำรแสดงคลำสของไวน์ Bordeaux (เป็ นไวน์จำกฝรั่งเศส) อยูใ่ นแก้วที่ดำ้ นหน้ำ
ของคุณ เมื่อคุณได้อ่ำนเอกสำรนี้ แล้ว ให้ Bordeaux wines เป็ นคลำสตัวอย่ำง แต่ละคลำส
สำมำรถที่จะมี subclass หรื อคลำสย่อย เพื่อแสดง concepts เฉพำะของ
superclass ได้ จำกตัวอย่ำง เรำสำมำรถที่จะแบ่งคลำสของไวน์ทุกๆชนิด ไปเป็ น ไวน์แดง
ไวน์ขำว และ rośe ไวน์ ซึ่งมันจะเป็ นทำงเลือกให้เรำสำมำรถแบ่งคลำสของไวน์ท้ งั หมดไปเป็ น
ไวน์ที่ทำำ ให้ไฟติดและไวน์ที่ไม่ทำำ ให้ไฟติด (sparkling และ nonsparkling
wines)
มีอะไรอยูใ่ น Ontology ? (ต่อ)
เทอมที่เหมำะกับกำรนำำเอำ Ontology เข้ำมำพัฒนำ
- กำรจำำกัดคลำสใน Ontology,
- กำรจัดเรี ยงคลำสใน ลำำดับชั้น taxonomic (subclass - superclass),
- กำรจำำกัด slot และบรรยำยค่ำที่ตำมมำจำก slot นั้นๆ,
- กำรเติมค่ำให้กบั slots ที่เป็ นตัวอย่ำง
เรำสำมำรถที่จะสร้ำงฐำนควำมรู ้ จำกกำรจำำกัดตัวอย่ำงส่ วนตัวของคลำส ที่จะเติมใน slot value
information และเพิ่มข้อจำำกัดให้กบั slot
มีอะไรอยูใ่ น Ontology ? (ต่อ)
รูปที่ 1 คลาสต่างๆ, ตัวอย่างต่างๆ และควำมสัมพันธ์กนั ในกลุ่มในโดเมนของไวน์ เรำใช้สีดำำ สำำหรับ
คลำสต่ำงๆ และสี แดงสำำหรับตัวอย่ำงต่ำงๆ เรำใช้เส้นในกำรแสดง slot และกำรเชื่อมต่อภำยในก็เช่น
เดียวกับ instance-of และ subclass-of
วิศวกรรมความรู ้อย่างง่าย
การตัดสินใจในการออกแบบหลายๆเคส
1) โมเดลโดเมนไม่มีทำงที่จะถูกต้อง ทำงเลือกที่เป็ นวิธีแก้ปัญหำที่ดีที่สุด ก็ข้ ึนอยูก่ บั กำรเลือกใช้แอพลิ
เค-ชันของคุณ
ำ
2) กำรพัฒนำ Ontology จำำเป็ นต้องมีกระบวนกำรพัฒนำซ้ำๆ
3) แนวควำมคิดของ ontology จะต้องเข้ำใจแนวควำมคิดของ ออบเจกต์ และมีควำมสัมพันธ์กบั
ขอบเขต ซึ่งก็คล้ำยๆกับ คำำนำม (ออบเจกต์) หรื อ คำำกิริยำ (ควำมสัมพันธ์)
นี่เป็ น กำรตัดสิ นใจว่ำเรำจะใช้อะไรเกี่ยวกับ Ontology และมีรำยละเอียดอย่ำงไรบ้ำง เรำต้องกำร
ตัดสิ นใจที่จะเลือกสิ่ งใดสิ่ งหนึ่งที่ทำำ งำนดีกว่ำสำำหรับงำนโครงงำน
วิศวกรรมความรู ้อย่างง่าย (ต่อ)
เรำต้องจำำไว้วำ่ ontology เป็ นรู ปแบบของควำมเป็ นจริ งของโลกและแนวคิดใน
ontology ต้องสะท้อนควำมเป็ นจริ งนี้ หลังจำกที่เรำกำำหนดรุ่ นแรกของ
ontology เรำสำมำรถประเมินผลและแก้ปัญหำ จำกกำรใช้แอพลิเคชัน หรื อ ใช้กำร
แก้ปัญหำ หรื อพูดคุยกับผูเ้ ชี่ยวชำญ หรื อทั้งคู่ ดังนั้น เรำต้องกำรที่จะปรับปรุ ง
ำ ซึ่งคล้ำยกับกำรดำำเนินต่อไป
Ontology แรก ซึ่งโปรเซสนี้ เป็ นกำรออกแบบซ้ำๆ
เรื่ อยๆ ทั้งหมดนี้เป็ นวัฎจักรของ Ontology
Step 1. กำรตัดสิ นใจของโดเมนและขอบเขตของ
Ontology
เรำเริ่ มแนะนำำกำรพัฒนำ Ontology จำกกำรจำำกัดควำมต่ำงๆ ซึ่งมันก็คือ
โดเมนและขอบเขต นัน่ เป็ นคำำตอบจำกคำำถำมที่หลำกหลำย
โดเมนที่เป็ น ontology จะครอบคลุมถึงอะไร
เรำใช้ Ontology เพื่ออะไร
ประเภทของคำำถำมที่มีขอ้ มูลใน Ontology ควรให้คำำ ตอบในรู ปแบบ
ใด
ใครที่ตอ้ งใช้และรักษำ Ontology
Step 1. กำรตัดสิ นใจของโดเมนและขอบเขตของ
Ontology (ต่อ)
คำำตอบของคำำถำมเหล่ำนี้อำจจะเปลี่ยนระหว่ำงกำรออกแบบโปรเซส Ontology แต่เวลำ
ใดๆก็ตำม จะช่วยจำำกัดขอบเขตของโมเดล
พิจำรณำเกี่ยวกับ Ontology ของไวน์และอำหำรที่เรำได้แนะนำำไปล่ำสุ ด กำรแสดงอำหำร
และไวน์เป็ นโดเมนของ Ontology เรำได้วำงแผนกำรใช้ Ontology นี้ สำำหรับให้แอพลิ
เคชันแนะนำำชุดที่ได้มีกำรนำำเอำไวน์และอำหำรที่ดีมำรวมกัน
คำาถามเกีย
่ วกับความสามารถของ
Ontology
หนึ่งในกำรกำำหนดขอบเขตของ ontology คือกำรร่ ำงรำยกำรของคำำถำมที่เป็ นฐำนควำม
รู ้พ้ืนฐำนของ Ontology ที่สำมำรถจะไปเป็ นคำำตอบของคำำถำมเกี่ยวกับควำมสำมำรถของ
Ontology ได้ (Gruninger และ Fox 1995)
ในไวน์และโดเมนอำหำร สิ่ งต่อไปนี้เป็ นคำำถำมเกี่ยวกับควำมสำมำรถที่เป็ นไปได้ :
ลักษณะที่ใช้พิจำรณำในกำรเลือกไวน์
Bordeaux เป็ นไวน์แดงหรื อไวน์ขำว
ไวน์ใดที่เหมำะกับกำรดื่มร่ วมกับเนื้อย่ำงที่สุด
bouquet หรื อรู ปร่ ำงของไวน์มีกำรเปลี่ยนแปลงไปตำมควำมเก่ำแก่ ของปี หรื อไม่
ไวน์ในปี ใดที่ดีที่สุดสำำหรับ Napa Zinfandel
คำาถามเกีย
่ วกับความสามารถของ
Ontology (ต่อ)
กำรตัดสิ นจำกรำยกำรคำำถำมนี้ ontology จะมีขอ้ มูลต่ำงๆเกี่ยวกับลักษณะต่ำงๆของ
ไวน์และชนิดของไวน์ อำยุของไวน์ที่ดีและไม่ดี กำรจำำแนกประเภทของอำหำรที่สำำ คัญ
สำำหรับกำรเลือกไวน์ที่เหมำะสม มีกำรแนะนำำกำรเลือกไวน์ให้เข้ำกับอำหำรด้วย
ขัน
้ ตอนที่ 2. พิจารณาการนำ า ontology ที่
้
มีอยูก
่ ลับมาใชใหม่
ส่ วนใหญ่มกั จะเกิดกำรพิจำรณำที่ผดิ เกี่ยวกับกำรตรวจสอบในบำงเรื่ อง ถ้ำหำกเรำ
สำมำรถกลัน่ กรองแล้วนำำเอำข้อมูลที่มีอยูม่ ำใช้ได้อีกครั้งก็จะเป็ นเรื่ องที่ดีมำก กำรนำำ
Ontologyกลับมำใช้ใหม่ อำจจะมี Requirement โดยเฉพำะหรื อมีกำรควบคุมกลุ่มคำำด้วย
Ontology อื่นๆ สำมำรถใช้ในรู ปแบบ electronicได้ และสำมำรถนำำเอำทรัพยำกรต่ำงๆมำใช้
เพื่อพัฒนำ ontology ในระเบียบกำรใน ontology มักจะใช้รูปแบบที่เร่ งด่วน เริ่ มตั้งแต่นำำ เอำ
ระบบควำมรู ้ที่หลำกหลำย แล้วนำำมำ import export เข้ำใน ontology แม้วำ่ ไม่สำมำรถนำำ
ระบบควำมรู ้เข้ำมำทำำงำนได้โดยตรงกีบรู ปแบบพิเศษ กำรแปลงรู ปแบบ ontology จำกรู ป
แบบหนึ่งไปเป็ นอีกรู ปแบบหนึ่งเป็ นงำนที่ไม่ยำกนะ
ขัน
้ ตอนที่ 2. พิจารณาการนำ า ontology ที่
้
มีอยูก
่ ลับมาใชใหม่
เรำมี library ของ ontology ที่สำมำรถนำำกลับมำใช้ใหม่ได้บนเว็บไซต์และสิ่ งพิมพ์ ตัวอย่ำง เรำ
สำมำรถใช้ Ontolingua ontology (http://www.ksl.stanford.edu/software/ontolingua/) library
DAML ontology (http://www.daml.org/ontologies/) นอกจากนี ้ontology สำำหรับธุรกิจที่สำมำรถ
่ UNSPSC (www.unspsc.org) www.rosettanet.org RosettaNet (), DMOZ (
ทำำงำนได้ (เชน
www.dmoz.org))
ขัน
้ ตอนที่ 2. พิจารณาการนำ า ontology ที่
้
มีอยูก
่ ลับมาใชใหม่
ตัวอย่ำงของระบบฐำนควำมรู ้ของไวน์ฝรั่งเศสจะมีอยูแ่ ล้วถ้ำเรำสำมำรถนำำเข้ำระบบฐำนควำมรู ้ที่มี
อยูน่ ้ ีได้ ontology นี้จะใช้เป็ นพื้นฐำนได้ เรำจะไม่เพียงแต่จำำ แนกชนิดของไวน์ฝรั่งเศสเท่ำนั้น แต่เรำจะ
แยกชนิดต่ำงๆของไวน์แต่ละตัวที่มีควำมแตกต่ำงกันและอธิบำยไวน์แต่ละตัว รำยกำรคุณสมบัติของ
ไวน์แต่ละตัวสำมำรถนำำเอำมำจำกเว็บไซต์ เช่น www.wines.com เพื่อลูกค้ำจะได้ใช้พิจำรณำในกำรซื้ อ
ไวน์
ขั้นตอนที่ 3. การแจกแจงเป็ นเรื่องสำ าคัญใน ontology
เป็ นสิ่ งที่มีประโยชน์มำกในกำรเขียนรำยกำรทั้งหมดลงไป และควรจะสร้ำงประโยคหรื อไม่ก็ควรจะ
อธิบำยกับผูใ้ ช้ ตัวอย่ำง สิ่ งสำำคัญที่มีผลต่อไวน์เรำต้องมี ไวน์ องุ่น โรงกลัน่ ไวน์ ภูมิประเทศ สี ของไวน์ รู ป
ำ ควำมแตกต่ำงของอำหำรที่รับประทำนร่ วมกัน เช่น
ร่ ำงของขวดไวน์ รสชำติของไวน์ และปริ มำณน้ำตำล
ปลำ เนื้ อ ชนิดย่อยของไวน์ คือ ไวน์ขำว ไวน์แดง ดังนั้นในขั้นต้นควำมสำำคัญที่จะทำำให้เข้ำใจรำยกำรของ
term นั้นๆได้โดยปรำศจำกควำมสงสัยเกี่ยวกับส่ วนที่ซอ้ นทับกันระหว่ำง concept ของกำรอธิบำย ควำม
สัมพันธ์ต่ำงๆของ term หรื อคุณสมบัติต่ำงๆที่ concept มี หรื ออำจทำำกำรแบ่งชนิดของ concept และ
กำำหนดเวลำไปด้วย
ขั้นตอนที่ 3. การแจกแจงเป็ นเรื่องสำ าคัญใน ontology
ในขั้นตอนต่อไป คือกำรพัฒนำ hierarchy class และกำรนิยำมคุณลักษณะของ concept slot โดย
ปกติแล้วเรำสร้ำงนิยำมของ concept ใน hierarchy ขึ้นมำเล็กน้อย และทำำกำรอธิบำยคุณลักษณะของ
concept นั้นๆ มีสองขั้นตอนที่สำำ คัญในกระบวนกำรออกแบบ ontology เรำจะอธิบำยโดยย่อและข้ำมไป
ยังขั้นตอนที่สองเพื่อแยกแยะควำมยุง่ ยำกที่มี
ขนตอนที
ั้
่ 4. นิยาม class และ hierarchy class
มีหลำยวิธีที่ใช้พฒั นำ Hierarchy class
1. Top – down เป็ นวิธีกำรที่ทำำ จำกบนลงล่ำง กระบวนกำรพัฒนำนี้ เริ่ มต้นจำกกำรนิยำม concept
ทัว่ ไป ใน domain และ subsequent ของ concept ที่มีควำมพิเศษ ตัวอย่ำง เรำสำมำรถเริ่ มสร้ำง
class สำำหรับ concept ทัว่ ไปของไวน์และอำหำร จำกรั้นเรำต้องทำำกำรศึกษำ class ของ ไวน์ โดย
สร้ำง subclass ขึ้นมำ เช่น ไวน์ขำว ไวน์แดง ไวน์ rosé เรำสำมำรถเพิ่มรำยละเอียดของไวน์แดง
เข้ำมำได้ เช่น Syrah, Red Burgundy, Cabernet Sauvignon
ขนตอนที
ั้
่ 4. นิยาม class และ hierarchy class
2. Bottom – down จำกล่ำงขึ้นด้ำนบน กำรพัฒนำเริ่ มจำกกำรนิยำม class ที่เฉพำะเจำะจงเป็ นส่ วนใหญ่
ซึ่งมีอยูใ่ น Hierarchy class ใช้ subsequent ในกำรจัดกลุ่มของ class ต่ำงๆภำยใน concept ทัว่ ไป
ตัวอย่ำงเช่น เริ่ มกำรนิ ยำม class สำำหรับ Pauillac และ Margaux ไวน์ เรำสำมำรถสร้ำง superclass
ทัว่ ไปสำำหรับสองคลำสนี้ Modoc กลับมำเป็ น superclass ของ Bordeaux
ขนตอนที
ั้
่ 4. นิยาม class และ hierarchy class
3. Combination กำรพัฒนำวิธีน้ ี เป็ นกำรรวมเอำวิธีแบบ top – down และ bottom –up รวมเข้ำไว้ดว้ ยกัน
วิธีกำรคือ ทำำกำรนิยำม concept ที่สำำ คัญที่สุดก่อน และทำำกำร generalize และ specialize วิธีกำรนี้ เรำ
มักจะเริ่ มด้วย top – level concept เช่น ไวน์และ concept ที่เจำะจงลงไป เช่น Margaux เรำสำมำรถ
สร้ำงให้สมั พันธ์กบั middle – level concept เช่น Medoc แล้วจำกนั้นเรำต้องทำำกำรสร้ำงพื้นที่ท้ งั หมด
ของ class ไวน์ จำกฝรั่งเศส ด้วยวิธีกำรสร้ำงจำำนวนของ middle – level concept
ขนตอนที
ั้
่ 4. นิยาม class และ hierarchy class
กำรใช้สำมวิธีน้ ี เป็ นวิธีที่ดีกว่ำวิธีกำรอื่นๆ กำรจะเลือกวิธีใดมำใช้น้ ันขึ้นอยูก่ บั สถำนกำรณ์
ถ้ำหำกนักพัฒนำถนัดวิธีใดก็ควรใช้วธิ ีน้ นั วิธีกำรแบบ Combination มักจะง่ำยสำำหรับกำรพัฒนำ
ontology
ถ้ำหำกคุณคิดว่ำมีแนวโน้มที่ไวน์จะมีควำมแตกต่ำงกันมำกในกำรแยกประเภท ควรจะใช้วิธ ี
top – down ในกำรทำำงำนจะดีกว่ำ ถ้ำหำกคุณเริ่ มทำำงำนจำกด้ำนล่ำงขึ้นมำก็ควรจะใช้วิธี
bottom – up จะดีกว่ำ
ขนตอนที
ั้
่ 4. นิยาม class และ hierarchy class
ไม่วำ่ วิธีไหนก็ตำม เรำควรเลือกกำรทำำงำนโดยเริ่ มจำกกำรนิยำม class จำกรำยกำรที่สร้ำงในขั้น
ตอนที่สำม เรำจะทำำกำรเลือก term และอธิบำย object ที่เป็ นเอกลักษณ์ที่มีอยู่ term จะแบ่ง ontology
และจะกลำยเป็ นจุดยืนใน Hierarchy class เรำจะตั้ง class ใน Hierarchy taxonomy โดยมีเงื่อนไขว่ำ
ถ้ำหำกมีตวั แทน 1 class object ก็เป็ นสิ่ งจำำเป็ นในกำรเป็ นตัวแทนใน class อื่นๆ
“ถ้ำ class A เป็ น superclass ของ class B แล้ว ทุกๆตัวแทนใน B จะเป็ นตัวแทนใน A”
สำำหรับตัวอย่ำง Pinot Noir ทุกๆตัวจำำเป็ นต้องเป็ นไวน์แดง นัน่ คือ Pinot Noir เป็ น subclass
ของ class ไวน์แดง
รู ปที่สองแสดงให้เห็นถึงส่ วนหนึ่งของ class hierarchy สำำหรับ ontology ของไวน์สี่ส่วนจะ
ประกอบไปด้วยรำยละเอียดต่ำงๆที่ทำำ กำรนิยำมใน class hierarchy
ขนตอนที
ั้
่ 5 นิยามคุณล ักษณะของ
คลาส slot
เรำต้องนิ ยำมบำงคลำสและต้องอธิบำยโครงสร้ำงของ concept ภำยในเรำต้องเลือกมำ 1 class
จำกรำยกำรของ term ซึ่งเรำสร้ำงในขั้นตอนที่ 3 ส่ วนใหญ่จะอยูใ่ น term ที่มีคุณสมบัติของ class
ำ
ที่เหมือนๆกัน term จะประกอบไปด้วย ตัวอย่ำงเช่น สี ของไวน์ รู ปร่ ำง รสชำติ ปริ มำณน้ำตำล
และสถำนที่ปลูก
โดยทัว่ ไปแล้วจะมีคุณสมบัติวตั ถุอยูห่ ลำย ๆ ประเภทที่สำมำรถจะเป็ น slot ใน ontology
“ภำยใน” คุณสมบัติภำยในเช่น รสชำติของไวน์
“ภำยนอก” คุณสมบัติภำยนอกเช่น ชื่อ และพื้นที่ที่ไวน์มำ
ขนตอนที
ั้
่ 5 นิยามคุณล ักษณะของ
คลาส slot
ควำมสัมพันธ์ของแต่ละสิ่ งจะมีควำมสัมพันธ์ระหว่ำงสมำชิกของคลำสแต่ละตัว เช่นผูท้ ำำ ไวน์ได้
นำำเสนอควำมสัมพันธ์ระหว่ำงไวน์กบั โรงงำนผลิตและองุ่นที่ทำำ มำจำกไวน์ และกำรเพิ่มคุณสมบัติเรำ
จะต้องทำำกำรระบุก่อน เรำจะต้องเพิ่มตำม slot ของ class ไวน์ชื่อ สถำนที่ ผูผ้ ลิตและองุ่น รู ปที่ 3
แสดงให้เห็นถึง class ของ ไวน์
subclass ทั้งหมดของ class ที่สืบทอดจำก slot ของ class
เช่น slot ของ class ไวน์ท้ งั หมดจะสื บทอดจำก subclass ทั้งหมดของไวน์ รวมไปถึงไวน์แดง และ
ไวน์ขำว เรำจะทำำกำรเพิ่ม slot tannin level (สูง ,กลำง,ต่ำ)ำ ใน class ของไวน์แดง tannin level
ทั้งหมดจะถูกสื บทอดทั้งหมดโดย class ที่ท้ งั หมดของไวน์แดง tannin level slot จะถูกสื บทอดโดย
class ทั้งหมดของไวน์แดง เช่น Bordeaux และ Beaujolais
Slot ควรจะติดกับ class ทัว่ ไปมำกที่สุด สำมำรถมีคุณสมบัติได้ สำำหรับตัวอย่ำงคือ รู ปร่ ำงและ สี
ของไวน์ควรจะติดกับ class ของไวน์ เริ่ มต้นจำก class ทัว่ ไปเป็ นส่ วนใหญ่ซ่ ึงมีตวั อย่ำงเป็ น รู ปร่ ำง
และสี
ขนตอนที
ั้
่ 6 นิยามมุมมองของ slot
Slot จะมีคำำ บรรยำยลักษณะของตัวมันได้หลำยแบบ เช่น อธิบำยตำมค่ำ อธิบำยตำมจำำนวน
และคุณลักษณะอื่นๆ ที่ค่ำ slot จะเป็ นไปได้ ตัวอย่ำงค่ำของชื่อ slot คือชื่อของไวน์ จะเป็ น 1
string นัน่ คือชื่อค่ำของ slot ที่มีชนิดเป็ น string กำรผลิต slot เช่น โรงงำนผลิตไวน์ ทำำกำรผลิต
ไวน์ สำมำรถมีได้หลำยค่ำและค่ำนั้นๆจะเป็ นตัวแทนของ class ไวน์ นัน่ คือกำรผลิต slot แล้ว
ต้องมีชนิดของตัวมันเป็ นไปตำม class นั้นๆ
Slot Cardinality
Slot Cardinality เป็ นกำรนิยำมว่ำจะต้องมีค่ำของ slot เท่ำไหร่ บำงระบบที่มีควำมแตก
ต่ำงระหว่ำง single cardinality ซึ่งส่ วนใหญ่จะมี 1 ค่ำ และ multiple cardinality เท่ำนั้น
รู ปลักษณ์ของไวน์จะมี single cardinality เพรำะไวน์สำมำรถมีได้เพียงหนึ่งรู ปร่ ำง กำรผลิต
ไวน์โดยโรงงำนจะใส่ ลงใน slot ประเภท multiple cardinality กำรผลิตจะมีใน class ของ
โรงงำน
Slot Cardinality
บำงระบบจะเจำะจง cardinality แบบ maximum และ minimum เพื่อทำำกำรอธิบำยค่ำ
จำำนวนของ slot ได้อย่ำงแม่นยำำ cardinality จำำนวนที่นอ้ ยที่สุด N จะหมำยถึง slot จะต้องมีอย่ำง
น้อยเป็ นจำำนวน N ตัวอย่ำง องุ่น slot ของไวน์จะมีค่ำ cardinality เป็ น 1:ไวน์ที่ทำำ จำกองุ่นหนึ่ง
ชนิด cardinality จำำนวนมำกที่สุดของ Mจะหมำยถึง slot จะมีค่ำมำกที่สุด M จำำนวน
Cardinality จำำนวนมำกที่สุดของ slot องุ่นจะมีควำมหลำกหลำยของไวน์เป็ น 1:ไวน์ที่ทำำ มำจำก
องุ่นหลำกหลำยชนิด บำงครั้งอำจมีประโยชน์มำก ถ้ำเซ็ตของ maximum cardinalityเป็ น 0
จะเป็ นตัวชี้วดั slot ที่ไม่สำมำรถมีได้หลำยค่ำของ class พิเศษ
ชนิดของค่า slot
ชนิดของค่ า slot
String : เป็ นค่ำที่ใช้พ้ืนฐำน นำำมำใช้กบั slot เช่น ชื่อ จะใช้ string เป็ นค่ำพื้นฐำน
จำำนวน: บำงครั้งต้องกำรที่จะใช้ค่ำที่เจำะจงมำกยิง่ ขึ้นอำจใช้เป็ นทศนิยมก็ได้ ค่ำจำำนวนใช้อธิบำย slot ที่
เป็ นตัวเลข ตัวอย่ำงเช่น รำคำของไวน์ที่สำมำรถมีค่ำเป็ นทศนิยมได้
Boolean: ค่ำที่ใช้เป็ นพื้นฐำน เช่น ใช่ ไม่ใช่ ตัวอย่ำงเช่น เรำจะต้องไม่ผลิตไวน์ที่ทำำ ให้เกิดประกำยไฟขึ้น
ได้ กำรใส่ slot ว่ำ ใช่ หมำยถึง ไวน์น้ นั ทำำให้เกิดประกำยไฟได้ ถ้ำหำก slot เป็ นไม่ใช่ หมำยถึงเป็ นไวน์
ที่ไม่สำมำรถทำำให้เกิดประกำยไฟได้
ชนิดของค่า slot
กำรแจกแจง: slot ที่มีควำมเฉพำะเจำะจงของรำยกำร ต้องทำำกำรแจกแจงค่ำของ slot เช่น รสชำติของ
ไวน์ มีค่ำที่เป็ นไปได้สำมค่ำ ดังนี้ แรง ปำนกลำง อ่อน
กำรยกตัวอย่ำง: นิยำมควำมสัมพันธ์ระหว่ำงกำรจัดกำรเอง slot ชนิดที่เป็ นกำรยกตัวอย่ำงจะต้องมี
กำรนิยำมรำยกำรของ class ที่สำมำรถเป็ นไปได้ ตัวอย่ำง slot ของโรงงำนผลิต สำำหรับคลำสของ
แรงผลิตไวน์จะต้องมีกำรยกตัวอย่ำงเพื่อเก็บค่ำ ของ class ไวน์ไว้
What’s in a name ในชื่อมีอะไร
ข้อตกลงในกำรกำำหนดชื่อสำำหรับแนวคิดของ ontology และยึดมัน่ ในอนุสญ
ั ญำอย่ำงเคร่ งครัดไม่
เพียงทำำให้ ontology เข้ำใจง่ำยแต่ยงั ช่วยหลีกเลี่ยงข้อผิดพลำดที่พบในแบบจำำลอง มีหลำยแนวทำงในกำร
ตั้งชื่อแนวควำมคิด แต่มกั ไม่มีเหตุผลที่รับรองว่ำเลือกทำงนี้ หรื อทำงอื่น แต่เรำก็จำำ เป็ นต้องกำำหนดประชุม
เพื่อกำรตั้งชื่อสำำหรับคลำสและ slot และปฏิบตั ิตำมนั้น
คุณสมบัติต่อไปนี้ของระบบแทนควำมรู ้มีผลต่อกำรประชุมเพื่อตั้งชื่อ
ระบบจะอนุญำตให้คลำสและ slot มีชื่อเดียวกัน เช่น คลำส winery และ slot winery
ระบบมีอ่อนไหว คือ ถ้ำป้ อนชื่อที่แตกต่ำงกันเพียงตัวเดียวระบบก็จะรู ้ เช่น Winery กับ winery
ชื่ออำจจะมีช่องว่ำง , เครื่ องหมำยคอมมำ(,) เครื่ องหมำยดอกจัน(*) และ เครื่ องหมำยอื่นๆ
Domain and range of a slot
ตัวอย่ำงของ slot ที่ถกู เรี ยกใช้บ่อยคือ range of a slot ในตัวอย่ำงรู ปที่ 4
คลำสไวน์คือ ลำำดับของผลผลิต slot( rang of the produces of slot) บำงระบบจะ
จำำกัด range of a slot เมื่อ slot ถูกแนบสำำหรับคลำสจำำเพำะ คลำสของ slot ที่ถกู แนบ
หรื อ คลำสที่อธิบำยคุณสมบัติของ slot จะเรี ยกว่ำ domain of slot คลำส Winery คือ
domain ของผลผลิตของ slotในคลำสไหนที่มีกำรแนบ slot ในคลำส คลำสที่ถกู แนบ
นั้นก็จะประกอบด้วย domain of slot และไม่ระบุกำรแยก domain
กฎพืน้ ฐานของการกำาหนด Domain and range of a slot นั้นเหมือนกัน
การกำาหนด Domain and range of a slot พบมากทีส่ ุ ดในคลาสทัว่ ไปหรื อ
คลาสทีส่ ามารถเรี ยงลำาดับ Domain หรือ range ของ slot ในทางกลับกัน หากไม่ มีการ
กำาหนด domain และ rang นั่นคือ Overly General คลาสทัง้ หมดใน domain ของ slot
น่ าจะเป็ นการอธิบายโดย slot และตัวอย่างของคลาสทัง้ หมดใน range ของ slot น่ าจะ
เป็ น fillers ทีม่ ีศักยภาพของ slot ถ้ าไม่ เลือก คลาส Overly General ของ rang
(จำานวนหนึ่งไม่ ต้องการทำา rang THING) แต่ อีกจำานวนหนึ่งนั้นต้ องการเลือกคลาสที่
คลอบคลมุ fillers ทัง้ หมด
แทนรำยกำรทั้งหมดของ subclasses ที่เป็ นไปได้ สำำหรับคลำส wine ของ
slot( rang of the produces of slot) เพียงรำยกำรไวน์ที่ทีเวลำคล้ำยกันเรำก็ไม่
สำมำรถระบุ range of a slot ของ THING ได้ โดยส่ วนมำกของ คลำส General ใน
ontology
ในแง่ ทเี่ ฉพาะเจาะจงมากยิง่ ขึน้ :
ถ้ารายการของคลาสกำาหนด Domain and range of a slot ทีป่ ระกอบไปด้ วย
class และ subclass ของมันเอง subclass จะถูกเอาออกไป
ถ้ำ range of a slot มีท้ งั คลำส Wine และคลำส Red Wine เรำสำมำรถเอำ
Red Wine ออกจำก rang เพรำะ มันไม่สำมำรถเพิ่มข้อมูลต่ำงๆเข้ำไปใหม่อีกได้ Red
Wine คือ subclass ของ Wine ดังนั้น slot rang ที่ประกอบไปด้วย subclass ตัวอื่นๆ
ของคลำส Wine ไปแล้วโดยปริ ยำย
ถ้ ารายการของคลาสกำาหนด Domain and range of a slotทีเ่ ป็ น subclass
ทัง้ หมดของ Class A แต่ ต้องไม่ เป็ นคลาสของตัวมันเอง นั่นคือ ต้ องมีเพียง Class A
เพียงอย่ างเดียวเท่ านั้นและไม่ มี subclass
แทนที่เรำจะกำำหนด range of a slotที่ประกอบด้วย Red Wine , White
Wine และ Rose Wine (แจกแจง subclass โดยตรงของ Wine ) เรำสำมำรถจำำกัด
range ของคลำส wine เองได้
ถ้ ารายการของคลาสกำาหนด Domain หรือ range of a slot ทัง้ หมดแต่ ยงั มี
subclass เล็กๆของ Class A
จะพิจารณาว่ า ถ้ า Class A จำาเป็ นที่ต้องทำาก็ต้องมีคาำ นิยามที่ เหมาะสมสำาหรั บ
range
ในระบบไหนมีกำรแนบ slot ไปยังคลำส นัน่ คือ มีกำรเพิ่มคลำสที่เหมือนกัน
ของ Domain of the slot กำรใช้กฎของ slot ที่แนบเหมือนกัน : บนมือหนึ่ง ควร
พยำยำมที่จะทำำให้มนั เป็ นไปได้ บนมืออื่นๆ เรำมัน่ ใจมำกว่ำแต่ละคลำสที่แนบกับ
slot มีคุณสมบัติที่แสดงถึง slot ที่ใช้ได้จริ ง เรำสำมำรถแนบ tannin level slot ของ
แต่ละคลำสที่เป็ นตัวแทนของ Red Wine ( เช่น Bordeaux , Merlot , Beaujolais
ฯลฯ) อย่ำงไรก็ตำม Red Wine ทั้งหมดมีคุณสมบัติของ tannin level
Step 7 Create Instances
ขั้นตอนล่ำสุ ดคือกำรสร้ำง individual instances ของคลำสในลำำดับชั้น กำำหนด
ควำมต้องกำรของ individual instances ของคลำส คือ 1. เลือกคลำสได้ 2. สร้ำง
individual instances ของคลำสนั้นได้ 3. กรอกค่ำของ slot ได้
ตัวอย่าง
เรำสำมำรถสร้ำง individual instances Chaleau – Morgon – Beaujolais ที่
แสดงถึงประเภทที่จำำ เพำะเจำะจงของ Beaujolais wine
Chaleau – Morgon – Beaujolais เป็ นกำรยกตัวอย่ำงของคลำส Beaujolais ที่เป็ น
ตัวแทนทั้งหมดของBeaujolais Wine และนี่คือตัวอย่ำงที่กำำ หนดค่ำใน slot
Body: Light
Color: Red
Flavor: Delicate
Tannin level: Low
Grape: Gamay (ตัวอย่างของคลาสไวน์องุน
่ )
Maker: Chateau-Morgon (ตัวอย่างของคลาส Winery )
Region: Beaujolais (ตัวอย่างของคลาส Wine-Region class)
Sugar: Dry
รู ปที่ 5 นิยำมของตัวอย่ำงคลำส Beaujolais เป็ น Chateaux Morgon Beaujolais จำกขอบเขตของ Beaujolais
ำ น
สร้ำงจำก Gamay grape โดย Chateau Morgon winery มันมีรสระเอียดอ่อน ,สี แดง,และระดับแทนนินต่ำเป็
ไวน์แห้ง
การกำาหนดคลาสและลำาดับชั้นของคลาส
ส่ วนที่เรำสำมำรถมองเห็นและเกิดควำมผิดพลำดง่ำยที่สุดคือ กำรกำำหนดคลำส
และลำำดับชั้นของคลำส (ขั้นตอนที่ 4 จำกส่ วนที่ 3 ) อย่ำงที่กล่ำวไว้ก่อนหน้ำ ลำำดับ
ชั้นของคลำส ไม่ได้ถกู ต้องเพียงอย่ำงเดียวสำำหรับ domain ใดๆ แต่ลำำ ดับชั้นขึ้นอยู่
กับควำมเป็ นไปได้ของกำรใช้ ontology ระดับของรำยละเอียดนั้นจำำเป็ นสำำหรับ
Application , กำรตั้งค่ำควำมเป็ นส่ วนตัว และบำงครั้งข้อกำำหนดสำำหรับโมเดลอื่นๆ
ที่เข้ำกันได้ อย่ำงไรก็ตำม เรำก็ตอ้ งประชุมหำแนวทำงต่ำงๆเพื่อทรำบกำรพัฒนำของ
ลำำดับชั้นของคลำส หลังจำกกำำหนมดหมำยเลขมำกมำยสำำหรับคลำสใหม่ แต่ยงั เป็ น
ประโยชน์ที่ใช้ตรวจสอบถ้ำลำำดับชั้นเกิดควำมไม่สอดคล้องกันตำมเกณฑ์ที่กำำ หนด
ความมัน่ ใจว่ าลำาดับชั้นนั้นถูกต้ อง
ความสั มพันธ์ “ is-a ”
Class hierarchy จะแสดงถึงควำมสัมพันธ์ของ is-a : class A คือ subclass
ของ B ถ้ำทุกตัวอย่ำงของ A เป็ นตัวอย่ำงของ B ด้วย ตัวอย่ำงเช่น Chardonnay คือ
subclass ของ White Wine
กำรคิดวิธีอื่นของ taxonomic relation ก็คือ “kind-of”(ชนิดของ) relation :
Chardonnay คือ ชนิดของ White Wine, Jetliner เป็ นชนิดของท่ำอำกำศยำน , เนื้อ
เป็ นชนิดของอำหำร
Subclass ของ class หนึ่ง จะแสดงถึงแนวคิดทีเ่ ป็ นแบบ “kind-of”แนวคิดที่
แสดงถึง Subclass
Single Wine ไม่ เป็ น Subclass ของไวน์ ท้งั หมด
ปกติแบบจำำลองจะเกิดควำมผิดพลำดรวมทั้ง singular และ plural
versionซึ่งคล้ำยกับแนวคิดในกำรทำำ hierarchy ในอดีตของ subclass ที่แล้ว ตัวอย่ำง
เช่น กำรผิดที่กำรกำำหนด class wines และ class wine เป็ น subclass ของ wines เมื่อ
เรำคิดว่ำ hierarchy เป็ นตัวแทนของควำมสัมพันธ์ “kind-of” โมเดลที่เกิดกำร error
ที่เห็นได้อย่ำงชัดเจน : single wine ไม่ใช่ชนิดของ wines วิธีกำรที่ใช้หลีกเลี่ยงข้อผิด
พลำดดังกล่ำว เพื่อให้ใช้ได้ท้ งั singular หรื อ plural ในกำรตั้งชื่อ class (ดู section 6
สำำหรับ Concept ของกำรตั้งชื่อที่กล่ำวมำ)
Transitivity ของความสั มพันธ์ ของ hierarchical
ควำมสัมพันธ์ของ subclass ของ transitivity :
ถ้ า B เป็ น subclass ของ A และ C เป็ น subclass ของ B ดังนั้น C เป็ น
subclass ของ A
ตัวอย่ำงเช่น เรำสำมำรถที่จะกำำหนด class wine แล้วกำำหนด class white
wine เป็ น subclass ของ wine เมื่อเรำกำำหนด class Chardonnay เป็ น subclass ของ
white wine
Transitivity ของควำมสัมพันธ์ subclass หมำยถึง class Chardonnay ยัง
เป็ น subclass ของ wine บำงครั้งเรำก็สำมำรถแยกระหว่ำง direct subclass และ
indirect subclass
Direct subclass คือ subclass ที่ใกล้เคียงกับคลำสนั้นๆ : ระหว่ำงมีหรื อไม่มี
class และ direct subclass ใน hierarchy นัน่ คือ เมื่อไม่มีคลำสอื่นๆ ใน hierarchy
ระหว่ำงคลำสและมันคือ direct subclass ในตัวอย่ำง Chardonnay คือ direct
subclass ของ white wine และ ไม่ใช่ direct subclass ของ wine
วิวฒ
ั นาการของ class hierarchy
ำ
ควำมคงที่สม่ำเสมอของ
class hierarchy อำจกลำยเป็ นควำมท้ำทำยของ
domain evolve ตัวอย่ำงเช่น เมื่อหลำยปี ที่ผำ่ นมำ Zinfandel ทั้งหมดคือ Red Wine
ดังนั้น เรำกำำหนด class ของ Zinfandel Wines เป็ น subclass ของ Red Wine class
อย่ำงไรก็ตำม ในบำงครั้งผูผ้ ลิตไวน์จะเริ่ มจำกกำรบีบองุ่นและนำำไปที่ส่วนกำรผลิตสี
ขององุ่นทันที จึงทำำให้สีของไวน์เปลี่ยนไป ดังนั้น เรำจะได้ “white Zinfandel ” ที่มี
สี ที่ได้มำจำกดอกกุหลำบตอนนี้ เรำต้องหยุด Zinfandel class ให้เป็ น 2class ของ
Zinfandel คือ white Zinfandel และ Red Zinfandel และจัดให้เป็ น subclass ของ
Rose Wine และ Red Wine ตำมลำำดับ
Classes และชื่อของclass
เป็ นสิ่ งที่สำำ คัญที่แยกระหว่ำง class และ ชื่อของมัน :
Class ทีแ่ สดงถึงแนวคิดใน Domain และไม่ เป็ นคำาทีใ่ ช้ แสดงแนวคิดเหล่ านี้
ชื่อของคลำสอำจมีกำรเปลี่ยนแปลงถ้ำเรำเลือกศัพท์ที่แตกต่ำงกันออกไป แต่เป็ นคำำที่
แสดงถึงวัตถุประสงค์ที่ใช้แทนตัวนั้นได้จริ ง ตัวอย่ำงเช่น เรำอำจจะสร้ำง class
chrimpsแล้วเปลี่ยนชื่อเป็ น Prawns class ยังคงเป็ นแนวคิดเดิม กำรผสมไวน์ที่อำ้ ง
ถึง Shrimp Dishes ควรไปดูที่ Prawns Dishes ในทำงปฏิบตั ิควรทำำตำมกฎดังนี้ :
“คำาพ้ องสำาหรับแนวคิดเดียวกันไม่ แสดงถึงความแตกต่ างกันของคลาส”
คำำพ้องเป็ นเพียงชื่อควำมแตกต่ำงของแนวคิดหรื อคำำ ดังนั้น เรำควรจะไม่มี
คลำสที่เรี ยกว่ำ Shrimp และคลำสที่เรี ยกว่ำ Prawns และอำจเป็ นคลำสที่เรี ยกว่ำ
Crevette อย่ำงไรก็ตำม มี 1 class ที่ชื่อทั้ง Prawns หรื อ Shrimp ระบบต่ำงๆจะเชื่อม
โยงไปยังรำยชื่อที่มีกำรพ้องกัน ถ้ำระบบไม่มีกำรเชื่อมโยงำำพ้องก็จะแสดงออกมำ
เสมอและอยูใ่ นเอกสำรของคลำส
Avoiding Class Cycles ( การหลีกเลีย่ งวงจรของคลาส)
เรำควรหลีกเลี่ยงวงจรใน class hierarchy เรำจะบอกได้วำ่ เป็ นวงจรใน
hierarchy ได้เมื่อบำง class A มี subclass B และเวลำที่ B เหมือนกัน คือ subclass
ของ A เป็ นกำรสร้ำงวงจรใน hierarchy ส่ วนมำกจะประกำศ class A และ B เป็ น
ค่ำที่เท่ำกัน : ตัวอย่ำงทั้งหมดของ A เป็ นตัวอย่ำงของ B และตัวอย่ำงทั้งหมดของ B
เป็ นตัวอย่ำงของ A ด้วย แน่นอน B เป็ น subclass ของ B 9วอย่ำงทั้งหมดของ B เป็ น
ตัวอย่ำงที่มีมำกมำยใน A และ A ก็มี subclass ของ B ตัวอย่ำงทั้งหมดของ A เป็ น
ตัวอย่ำงของ B ด้วย
การวิเคราะห์ พนี่ ้ องใน class hierarchy
พี่นอ้ งใน class hierarchy :
พี่นอ้ งใน hierarchy เป็ นคลำสแบบ direct subclassของคลำสที่เหมือนกัน (ดู
section 4.1)
พีน่ ้ องทัง้ หมดใน hierarchy (ยกเว้ นอย่างหนึ่งคือ root ) ต้ องมีระดับเดียวกัน
ทัว่ ไป
ตัวอย่ำง : white wine และ Chardonnay ไม่ควรเป็ น subclass ของคลำสที่
เหมือนกัน white wine คือแนวคิดที่มำกกว่ำปกติของ Chardonnay
Siblings ควรแสดงถึงแนวคิด “ตำมบรรทัดเดียวกัน” ในทำงเดียวกัน ระดับ
เดียวกัน ส่ วนของในหนังสื อจะเป็ นระดับเดียวกันทัว่ ไป ในแง่ที่ควำมต้องกำรของ
class hierarchy ที่มีควำมต้องกำรเหมือนกันสำำหรับหนังสื อนอกเวลำ
แนวคิดแบบ root ของ hierarchy อย่ำงไรก็ตำม มันจะแสดงถึงหน่วยงำนสำำคัญของ
domain และแนวคิดที่ไม่เหมือนกัน
จำานวนทีม่ ากเกินไปและวิธีการทีน่ ้ อยเกินไป
ไม่มีกฎไหนยำกเกินไปสำำหรับตัวเลขของ direct subclassที่คลำสควรมี
อย่ำงไรก็ตำม มีหลำยโครงสร้ำงของ ontology ที่ดีมีระหว่ำง 2 ใน 12 ของ direct
subclassดังนั้น เรำจึงมี 2 แนวทำงดังต่อไปนี้
ถ้าคลาสมีเพียง direct subclassเพียงอย่ างเดียว อาจจะมีปัญหากับ
โมเดลหรือ ontology ทีไ่ ม่ สมบูรณ์ หากคลาสทีม่ ีมากกว่ า 12 สำาหรั บทีก่ าำ หนดให้ คลาส
นอกจากนี้แล้ ว intermediate categories อาจจะจำาเป็ น
อย่ำงแรกทั้งสองกฎจะมีควำมคล้ำยคลึงกันกับกฎ typesetting ที่ใช้แสดงสัญลักษณ์ที่ไม่
ควรมีจุด bullet เพียงจุดเดียว ตัวอย่ำงเช่น ที่มำกที่สุดใน Red Burgundy Wines คือ Cotes d’Or
Wines สมมติวำ่ เรำต้องกำรแสดงรู ปแบบของ Burgundy Wines เป็ นส่ วนใหญ่ เรำก็จะทำำกำร
สร้ำงคลำส Red Burgundy และ Cotes d’Or Winesเป็ น single subclass (รู ป 6a) อย่ำงไรก็ตำม
ถ้ำในควำมสัมพันธ์ของ Red Burgundy ทั้งหมด และ Cotes d’Or Wines เป็ นควำมคิกหลัก
( Red Burgundy Wines ทั้งหมดเป็ น Cotes d’Or Wines และทั้งหมดของ Cotes d’Or Wines
เป็ น Red Burgundy Wines ) สร้ำง Cotes d’Or class อำจไม่จำำ เป็ นและไม่ตอ้ งเพิ่มข้อมูลอื่นใหม่
ให้กบั ควำมสัมพันธ์ ถ้ำเรำรวม Cotes Chalonnaise Wines คือจะถูกนำำไปไว้ดำ้ นล่ำงของ Cotes
d’Or ดังนั้นเรำจะสร้ำง 2 subclass ของ Burgundy class : Cotes d’Orและ Cotes Chalonnaise
รูปที่ 6คลาสย่ อย (Subclasses) ของคลาส Red Burgundyมี คลาสย่ อย
(Subclasses) เดีย่ ว คลาสปกติชี้ไปทีป่ ัญหาในการสร้ างแบบจำาลอง
สมมติวำ่ ตอนนี้รำยกำรทุกประเภทของไวน์เป็ น direct subclss ของ wine
class แล้วรำยกำรนี้ กจ็ ะรวมถึงประเภททัว่ ไปของไวน์ เช่น Beaujolais และ
Bordeaux รวมทั้งประเภทที่เจำะจง เช่น Paulliae และ Margaux (รู ป 6a ) คลำส
wine มีมำกกว่ำ direct subclsss และแน่นอน สำำหรับ ontology จะสะท้อนถึง
ประเภทที่แตกต่ำงของ wine ใน organized manner มำกมำย Medoc น่ำจะเป็ น
subclass ของ Bordeaux และ Cotes d’Or อำจเป็ น subclass ของ Burgundy และยัง
มีอีก เช่น หมวดตรงกลำงของ Red wine และ white wine ก็จะแสดงรู ปแบบกำรคิด
ของ domain ของไวน์มำกมำยที่เรำมี
รู ปที่ 7จัดประเภทของไวน์ มีไวน์ ทุกชนิดและประเภทของไวน์ ที่มหี ลายระดับ
Multiple inheritance
ระบบควำมสัมพันธ์ของฐำนควำมรู้ตำม Multiple inheritance ใน class
hierarchy :
คลำสสำมำรถเป็ น subclass ของหลำยๆคลำส สมมติวำ่ เรำต้องกำรสร้ำงคลำสที่แยก
ออกไปเป็ นไวน์ผลไม้ คือ Class Dessert Wine
Port wine คือ Red Wine และ dessert wines ดังนั้นเรำจึงกำำหนดชั้น
Port มีสอง class ใหญ่ๆ คือ Red Wine และ dessert wines
Port class จะสื บทอด slotและ facets ต่ำงๆของผูถ้ ่ำยทอด ดังนั้นจึงจะสื บทอดค่ำ
ำ
ควำมหวำน สำำหรับslotน้ำตำลจำก
Dessert wine และระดับ tannin level slot และ
ค่ำสี จำกRed wine
When to introduce a new class (or not)
หนึ่งในกำรตัดสิ นใจที่ยำกที่สุดในกำรสร้ำงแบบจำำลอง คือ เมื่อมีกำรสร้ำง class ใหม่ หรื อเมื่อ
มีควำมแตกต่ำงในค่ำของคุณสมบัติที่แตกต่ำงกันในกำรตัดสิ นใจ มันยำกที่จะนำำทำงทั้ง class ที่มี
ำ อนกันมำกกับ class ที่มีควำมซ้ำซ้
ำ อนกันน้อยสองสำม class มำทำำกำรเข้ำรหัสของ
ลำำดับชั้นซ้ำซ้
ข้อมูลที่มำกเกินไป
ำ อนขึ้นมำ
กฎที่ช่วยในกำรตัดสิ นเมื่อมีกำรสร้ำง class ใหม่ที่มีควำมซ้ำซ้
Class ย่อยของ class ปกติ
1. จะมีกำรเพิม่ คุณสมบัติที่ class แม่ไม่มี
2. ข้อจำำกัดควำมแตกต่ำงจำก super class
3. มีส่วนร่ วมในควำมแตกต่ำง ควำมสัมพันธ์กว่ำ super class
การสร้ าง Class ในลำาดับ terminological ไม่ ต้องสร้ างถึงคุณสมบัตใิ หม่
ตัวอย่ำงเช่น บำง ontologies รวมไปถึงลำำดับชั้นทัว่ ไปที่ถกู ใช้ในกลุ่ม เช่น ระบบอิเล็กทรอนิก
เก็บประวัติทำงกำรแพทย์ ซึ่ งอำจนำำไปใช้ในกำรจำำแนกประเภทของโรคต่ำงๆ กำรจำำแนกประเภท
แบบนี้อำจทำำตำมระเบียบข้อกำำหนดที่จดั ไว้ โดยไม่ได้รวมส่ วนประกอบด้ำนอื่นๆ ในกรณี น้ ี ยงั มี
ประโยชน์ในกำรจัดระเบียบข้อกำำหนดในลำำดับชั้นมำกกว่ำแบบรำยกำรเดียวเพรำะเหตุผลดังนี้
1. ง่ำยต่อกำรค้นหำสำำรวจ
2. ทำำให้แพทย์ง่ำยต่อกำรวินิจฉัยและเลือกระยะที่เหมำะสมต่อสถำนกำรณ์ทวั่ ไปที่เกิดขึ้นได้
A new class or a property value
เมื่อจำำลองรู ปแบบโดเมน จะต้องตัดสิ นใจถึงควำมแตกต่ำงที่จำำ เพำะของสิ่ งที่จะจำำลอง(เช่น
ไวน์ขำว ไวน์แดง หรื อไวน์กหุ ลำบ) ปริ มำณของคุณสมบัติหรื อชุดของส่ วนประกอบของ class
ของขอบเขตของโดเมนที่ตอ้ งคำำนึงถึงสิ่ งที่ จะสร้ำง class ของไวน์ขำว หรื อ class ทัว่ ไปของไวน์
และกรอกค่ำที่แตกต่ำงกันลงใน slot ของสี คำำตอบที่มกั จะพบบ่อยๆมักจะอยูใ่ นของเขตที่ได้
กำำหนดไว้ใน ontology ควำมสำำคัญของแนวคิดของไวน์ขำวในโดเมน คือ ถ้ำไวน์มีควำมสำำคัญ
เพียงแค่ในของเขตของโดเมนหรื อไวน์ขำวไม่มีควำมหมำยใดๆ สำำหรับควำมสัมพันธ์ไปยังวัตถุ
อื่นๆแล้ว ไม่ควรนำำมำแบ่ง class สำำหรับไวน์ขำว
สำำหรับรู ปแบบที่ใช้ในโรงงำนกำรผลิตไวน์ ฉลำกของไวน์ทุกๆสี น้ ันเหมือนกันและมีควำม
สำำคัญเท่ำกันไม่แตกต่ำงกัน หรื ออีกทำงหนึ่ง สำำหรับกำรนำำเสนอไวน์ อำหำร และกำรผสมไวน์
แดงที่เหมำะสมซึ่ งแตกต่ำงจำกไวน์ขำว : มันจะจับคู่กบั อำหำรที่มีควำมแตกต่ำงทำงคุณสมบัติและ
ด้ำนอื่นๆ เช่นเดียวกับสี ของไวน์ที่เป็ นพื้นฐำนสำำคัญของไวน์ที่ใช้ในกำรกำำหนดกำรตรวจสอบ
ไวน์(wine-tasting) ดังนั้นจึงจำำเป็ นที่จะสร้ำง class ขึ้นมำสำำหรับไวน์ขำว
ถ้ำแนวคิดควำมแตกต่ำงของค่ำของ slot กลำยเป็ นข้อจำำกัดของควำมแตกต่ำงของ slot ใน
กำรแบ่ง class แล้วจะต้องสร้ำง class ใหม่สำำ หรับควำมแตกต่ำงนั้น มิฉะนั้นจะต้องแสดง
ควำมแตกต่ำงของค่ำใน slot ของค่ำนั้น
ในทำำนองเดียวกัน ไวน์ใน ontology เช่น Red Merlot และ White Merlot น่ำจะมีลำำ ดับชั้นแค่
ชั้นเดียวในจำำนวนกำรแบ่ง class ทั้งหมดของไวน์ ซึ่ งเป็ นชนิดของไวน์ที่แตกต่ำงกัน(ผลิตจำกองุ่น
ชนิดเดียวกัน) และถ้ำพัฒนำรำยละเอียด ontology ของไวน์มนั จะมีควำมแตกต่ำงกันอย่ำงมำก
ถ้ำควำมแตกต่ำงเป็ นสิ่ งสำำคัญในโดเมนและคิดว่ำวัตถุที่มีค่ำควำมแตกต่ำงของชนิดของ
วัตถุแล้วควรที่จะสร้ำง class ใหม่ให้กบั ควำมแตกต่ำงนั้น
พิจำรณำประสิ ทธิ ภำพของแต่ละกรณี ของ class อำจจะเป็ นประโยชน์ในกำรตัดสิ นใจหรื อช่วย
ในกำรจัดแบ่งแต่ละ class
Class ซึ่งเป็ นของแต่ละชนิดไม่ควรที่จะเปลี่ยนแปลงบ่อยๆ
An instance or a class
กำรตัดสิ นใจว่ำแนวคิดจะเป็ น class ใน ontology หรื อเป็ นตัวอย่ำงของแต่ละสิ่ ง ขึ้นอยูก่ บั
ศักยภำพของ ontology ที่ใช้ กำรตัดสิ นกำรจบ class และตัวอย่ำงแต่ละกรณี เริ่ มด้วยกำรตัดสิ นด้วย
กำรเลือกสิ่ งที่อยูใ่ นระดับที่เล็กที่สุด ส่ วนที่เล็กที่สุดนั้นเป็ นตัวกำำหนดโดยใช้ศกั ยภำพของ
ontology
กฎอื่นๆที่สำมำรถย้ำยตัวอย่ำงแต่ละชนิดเป็ นชุดของ class :
ถ้ำแนวควำมคิดแบบลำำดับจำกธรรมชำติแล้วเรำจะแสดงมันด้วย class
พิจำรณำพื้นที่ของไวน์เริ่ มแรกอำจกำำหนดพื้นที่หลักของไวน์ เช่น ฝรั่งเศส สหรัฐอเมริ กำ
เยอรมันและอื่นๆ เป็ น class และควำมเฉพำะของไวน์ในพื้นที่ขนำดใหญ่เหล่ำนี้
ตัวอย่ำงเช่น Bourgogne เป็ น class ในพื้นที่ประเทศฝรั่งเศส และจะพูดถึง Cotes d’ หรื อพื้นที่
Bourgogne ดังนั้น พื้นที่ Bourgogne จะต้องเป็ น class (ในกรณี ที่มี class ย่อยหรื อตัวอย่ำง) อย่ำงไร
ก็ตำม class ของ Bourgogne และ Cotes d’ เป็ นตัวอย่ำงของพื้นที่ที่ดูเหมือนว่ำ : มันจะยำกที่จะ
ทำำให้ชดั เจนในกำรแบ่งแยกพื้นที่เป็ น class ของตัวอย่ำง ดังนั้นเรำจึงกำำหนดพื้นที่ของไวน์ท้ งั หมด
เป็ น class Protégé-2000 ช่วยให้ class มีเควำมเฉพำะที่ไม่เป็ นจริ ง ทำำให้ลำำ ดับนั้นไม่สำมำรถมี
ตัวอย่ำงโดยตรงได้ในกรณี พ้ืนที่ท้ งั หมด (รู ปที่ 8)
รู ป 8 กำรจัดแบ่งไวน์ออกเป็ นแต่ละพื้นที่ คัว “A” บอกว่ำประเภทนั้นยังคลุมเครื อและไม่สำรถ
ควบคุมกำรเกิดกรณี ตวั อย่ำงได้
Disjoint subclasses คลาสย่ อยแบบไม่ ต่อเนื่อง
ระบบจำำนวนมำกช่วยให้เรำสำมำรถระบุได้อย่ำงชัดเจนว่ำคลำสไม่ต่อเนื่อง ถ้ำไม่สำมำรถมีกรณี ใดๆ
ที่เหมือนกัน ตัวอย่ำงเช่น ไวน์ขนม และคลำสไวน์ขำวใน ontology ของเรำไม่ได้เป็ นแบบไม่ต่อเนื่อง :มี
ไวน์มำกมำยที่เป็ นทั้งสองกรณี เช่น “Rothermel Trochenbierenauslese” ชื่อองุ่นพันธ์หนึง่ ของคลาส
Sweet ในเวลำเดียวกันที่ไวน์แดงและไวน์ขำวเป็ นคลำสแบบไม่ต่อเนื่อง ไม่มีไวน์ที่สำมำรถเป็ นได้พร้อมๆ
กันทั้งขำวและแดง กำรประกำศคลำสว่ำเป็ นแบบไม่ต่อเนื่องทำำให้ระบบถูกต้องเป็ น ontology ที่ดีกว่ำ ถ้ำ
เรำประกำศว่ำไวน์แดงไวน์ขำวเป็ นคลำสแบบไม่ต่อเนื่องและต่อมำสร้ำงคลำสที่เป็ นคลำสย่อยของทั้ง
สองRiesling (คลาสย่อยของไวน์ขาว)และ Port (คลาสย่อยของไวน์แดง),ระบบสำมำรถแสดงให้เห็นได้วำ่
มีแบบจำำลองข้อผิดพลำด
Defining properties – more details
กำาหนดคุณสมบัตแิ ละรายละเอียดเพิม่ เติม
Inverse slots
ค่ำของ slots อาจขึ ้นอยูก่ บั ค่าของ slots อื่นๆ เช่นกำรเปรี ยบเทียบ inverse slots : maker slots
ของคลำสไวน์และ produces slots ของคลำสโรงกลัน่ ไวน์ เมื่อผูใ้ ช้สร้ำงตัวอย่ำงของคลำสไวน์และ
บันทึกข้อมูลในค่ำของ maker slots,ระบบอัตโนมัติจะเพิ่มตัวอย่ำงที่สร้ำงขึ้นใหม่ใน produces slots ที่
ตรงกันกับตัวอย่ำงโรงกลัน่ ไวน์ ตัวอย่ำงเช่น เมื่อเรำพูดเกี่ยวกับ ไวน์ชนิดหนึ่งที่ชื่อว่ำ “Sterling
Merlot” คือผลิตผลที่ได้จำก โรงกลัน่ ที่ชื่อว่ำ Sterling Vineyard ระบบจะทำำกำรเพิ่ม Sterling Merlot
ลงไปในตัวเลือกของไวน์ที่ผลิตจำก Sterling Vineyard โดยอัตโนมัติ (ดังรู ปที่ 9)
Default values ค่ าเริ่มต้ น
ระบบจะระบุค่ำเริ่ มต้นให้กบั slot ถ้ำค่ำช่วงหนึ่งเหมือนกันสำำหรับกรณี ส่วนใหญ่ในคลำสนั้น เรำ
สำมำรถกำำหนดค่ำนี้เป็ นค่ำเริ่ มต้นสำำหรับ slot จำกนั้นเมื่อแต่ละตัวอย่ำงใหม่ของช่วงที่มีกำรสร้ำง slot
นี้ข้ ึนระบบจะเติมค่ำเริ่ มต้นให้อตั โนมัติ เรำสำมำรถเปลี่ยนค่ำเป็ นค่ำอื่นๆเพื่อให้มีควำมสะดวกขึ้น โดย
ไม่บงั คับใช้ขอ้ จำำกัดใหม่ๆ
ตัวอย่างเช่น ไวน์ที่มีแอลกอฮอล์สูง “full-bodied” เรำสำมำรถมีคำำ ว่ำ “full” เป็ นค่ำเริ่ มต้นให้
กับไวน์ได้แล้วถ้ำหำกเรำกล่ำวนอกเหนือจำกนี้ ไวน์ท้ งั หมดที่เรำกำำหนดจะเป็ น “full-bodied”
ควรทรำบว่ำสิ่ งนี้แตกต่ำงจำกค่ำ slot ซึ่งค่ำของ slot ไม่สำมำรถเปลี่ยนแปลงได้ เช่น เรำ
ำ
สำมำรถพูดได้วำ่ slot ของน้ำตำลมมี
ค่ำเป็ น SWEET สำาหรับคลาส Dessert wine แล้วคลำสย่อยและ
ำ ค่ำนี้ไม่สำมำรถเปลี่ยนได้ในทุกๆ
ตัวอย่ำงของ Dessert wine จะมีคา่ เป็ น SWEET สำาหรับ slot น้ำตำล
คลำสย่อยหรื อตัวอย่ำงของคลำส
What’s in a name ในชื่อมีอะไร
ข้อตกลงในกำรกำำหนดชื่อสำำหรับแนวคิดของ ontology และยึดมัน่ ในอนุสญ
ั ญำอย่ำงเคร่ งครัดไม่
เพียงทำำให้ ontology เข้ำใจง่ำยแต่ยงั ช่วยหลีกเลี่ยงข้อผิดพลำดที่พบในแบบจำำลอง มีหลำยแนวทำงในกำร
ตั้งชื่อแนวควำมคิด แต่มกั ไม่มีเหตุผลที่รับรองว่ำเลือกทำงนี้ หรื อทำงอื่น แต่เรำก็จำำ เป็ นต้องกำำหนดประชุม
เพื่อกำรตั้งชื่อสำำหรับคลำสและ slot และปฏิบตั ิตำมนั้น
คุณสมบัติต่อไปนี้ของระบบแทนควำมรู ้มีผลต่อกำรประชุมเพื่อตั้งชื่อ
ระบบจะอนุญำตให้คลำสและ slot มีชื่อเดียวกัน เช่น คลำส winery และ slot winery
ระบบมีควำมอ่อนไหว คือ ถ้ำป้ อนชื่อที่แตกต่ำงกันเพียงตัวเดียวระบบก็จะรู ้ เช่น Winery กับ
winery
ชื่ออำจจะมีช่องว่ำง เครื่ องหมำยคอมมำ เครื่ องหมำยดอกจัน และ เครื่ องหมำยอื่นๆ
Capitalization and delimiters การใช้ ตวั พิมพ์ใหญ่ และตัวคัน่
เริ่ มแรก เรำสำมำรถปรับปรุ งกำรอ่ำนของ ontology ได้ ถ้ำเรำใช้ชื่อแนวคิดเป็ นตัวพิมพ์ใหญ่ เช่น
ใช้ชื่อคลำสตัวใหญ่เหมือนกันและชื่อ slot ตัวเล็ก (สมมุติวำ่ ระบบเป็ นกรณี ทวั่ ๆไป) เมื่อชื่อแนวคิดมี
มำกกว่ำหนึ่งคำำ(เช่น หลักสูตรอำหำร) เรำต้องคัน่ คำำ นี่คือทำงเลือกที่เป็ นไปได้
- ใช้คำำ และตัวคัน่ ไปพร้อมๆกัน ในแต่ละคำำใหม่ๆ
- ใช้ underscore หรื อ dash หรื อตัวคัน่ ชนิดอื่นๆ ในชื่อ
หากระบบแทนควำมรู ้ยอมรับช่องว่ำงในชื่อ อำจเป็ นทำงออกที่ดีสำำ หรับนักพัฒนำ ontology
จำำนวนมำก แต่ที่สำำ คัญต้องพิจำรณำระบบอื่นๆที่ระบบของคุณต้องโต้ตอบด้วย หำกระบบไม่ใช้ช่อง
ว่ำงหรื อถ้ำสื่ อนำำเสนอของคุณไม่ได้จดั กำรกับช่องว่ำงดีพอ กำรใช้วธิ ีอื่นจะมีประโยชน์มำกกว่ำ
Singular or plural เอกพจน์ หรือพหูพจน์
ชื่อคลำสเป็ นชุดของวัตถุ เช่น คลำสของไวน์เป็ นไวน์ท้ งั หมด ดังนั้นเรำจึงสำมำรถเพิ่มเติม
ควำมเป็ นธรรมชำติสำำ หรับกำรออกแบบในกำรเรี ยกคลำสไวน์มำกกว่ำไวน์ธรรมดำ ไม่มีทำงเลือกอื่น
ที่ดีหรื อเลวร้ำยไปกว่ำนี้ (แม้วำ่ ชื่อที่เป็ นเอกพจน์น้ นั จะใช้บ่อยในทำงปฏิบตั ิ) แต่สิ่งที่เลือกก็ควร
สอดคล้องกับ ontology อยูต่ ลอด ระบบบำงระบบได้กำำ หนดไว้ให้ผใู้ ช้แจ้งให้ทรำบล่วงหน้ำว่ำพวกเขำ
จะใช้หรื อไม่ใช้ชื่อแนวคิดที่เป็ นเอกพจน์หรื อพหูพจน์และไม่อนุญำตให้ใช้อนั อื่นนอกเหนือจำกที่
เลือกไว้แล้ว นอกจำกนี้ กำรใช้รูปแบบเดียวกันตลอดเวลำยังจะช่วยป้ องกันกำรผิดพลำดในกำร
ออกแบบจำำลองต่ำงๆ ในกำรสร้ำงคลำส ไวน์และในขณะที่กำำ ลังจะสร้ำงคลำสไวน์ ที่เป็ นในลักษณะ
ของ subclass (ดูในส่ วนของหัวข้อ 4.1)
Prefix and suffix conventions คำานำาหน้ าและคำาต่ อท้ าย
บางฐำนควำมรู ้แนะนำำให้ใช้ขอ้ ตกลงของคำำนำำหน้ำและคำำต่อท้ำยในชื่อที่แยกระหว่ำงคลำส
และ slot มีกำรใช้งำนอยูส่ องแบบคือ แบบเพิ่ม has- หรื อต่อท้ ายด้ วย –of ของชื่อ slot ดังนัน้ slot ของ
เราจะมี –maker(ผูผ้ ลิต) และ มี –winery (โรงกลัน่ เหล้ำองุ่น) ถ้ำหำกเรำเลือกมี –convention slot จะ
เปลี่ยนเป็ น maker-of และ winery-of และถ้ำเรำเลือก convention วิธีน้ ีจะช่วยให้ทุกคนตัดสิ นใจได้
ทันที ถ้ำอยูใ่ นเทอมของคลำสหรื อ slot แต่ชื่อเทอมก็จะมีควำมยำวเพิ่มขึ้นเล็กน้อย
Other naming considerations พิจารณาการตั้งชื่ออืน่ ๆ
ต่อไปนี้เป็ นข้อมูลเพิม่ เติมที่ควรพิจำรณำเมื่อมีกำรตั้งชื่ออื่นๆ:
ไม่ควรเพิ่มสตริ ง เช่น “class”, ”property”, ”slot” และชื่อที่เป็ นชื่อแนวควำมคิดอื่นๆ ซึ่งเป็ น
บริ บทที่ชดั เจนว่ำเป็ นแนวควำมคิดสำำหรับ class หรื อ slot นอกจากนี ้ยังมีการใช้ ชื่อที่แตกต่างจากข้ อ
ตกลงที่กำาหนดไว้ ของ class และ slot (พูดถึงควำมเป็ นตัวพิมพ์ใหญ่และไม่ใหญ่ตำมลำำดับ) ซึ่งชื่อของ
ตัวมันเองจะเป็ นชื่อที่แสดงให้เห็นถึงสิ่ งที่เป็ นแนวควำมคิดนั้นๆ
เป็ นปกติที่เรำควรที่จะหลีกเลี่ยงกำรใช้ชื่อแนวคิดเป็ นชื่อย่อ (เช่น ควรจะใช้Cabernet
Sauvignon มำกกว่ำ Cab)
รายชื่อโดยตรงของ subclass ของ คลำสควรจะรวมหรื อไม่รวมชื่อของ superclass ทั้งหมด
ยกตัวอย่ำงเช่น ถ้ำเรำกำำลังสร้ำง subclass อยูส่ องอันของคลำสไวน์ เพื่อที่จะแสดงไวน์แดงและไวน์
ขำว สองชื่อของ subclass ควรจะเป็ น Red Wine และ White Wine หรื อ Red และ White แต่ไม่ใช่ Red
Wine และ White
Other Resources แหล่ งข้ อมูลอืน่ ๆ
เราพยายามที่จะพัฒนาให้ ontology อยูบ่ นพื้นฐำนให้มำกที่สุดและยังไม่มีกำรโต้แย้งใดๆ
จำกหัวเรื่ องขั้นสูงหรื อวิธีกำรอื่นๆสำำหรับกำรพัฒนำ ontology Gómez-Pérez (Gómez-Pérez 1998)
และ Uschold (Uschold and Gruninger 1996) นำาเสนอทางเลือกในการพัฒนา ontology Ontolingua
(ของFarquhar 1997) กล่าวถึงลักษณะที่เป็ นทางการของแบบจำำลองควำมรู ้
ขณะนี ้นักวิจยั ไม่เพียงแต่เน้ นการพัฒนา ontology เท่ำนั้น แต่ยงั วิเครำะห์ ontology อีกด้วย
ส่ วนมำกจะเป็ น ontology ที่ถูกสร้ำงขึ้นและนำำกลับเอำมำใช้ใหม่ โดยมีเครื่ องมือที่จะทำำกำรวิเครำะห์
ontology มีมำกมำย เช่น Chimaera (McGuinness et al. 2000) มีเครื่ องมือในการวินิจฉัยเพื่อวิเคราะห์
ontology การวิเคราะห์ในรูปแบบของ Chimaera นันรวมไปถึ
้
งการตรวจสอบทางด้ านตรรกะของ
ontology และกำรวินิจฉัยข้อผิดพลำดในกำรออกแบบ ontology กำรออกแบบ ontology นั้นบำงทีเรำ
อำจต้องกำรวินิจฉัย ontology ของ Chimaera มากกว่า ontology อื่นๆ เพื่อตรวจสอบควำมสอดคล้อง
กันในเชิงปฏิบตั ิของแบบจำำลอง ontology
Conclusions สรุป
ในคู่มือนี้เรำได้อธิบำยวิธีกำรพัฒนำ ontology เพื่อแสดงให้เห็นถึงระบบของ frame-based
เรำทำำกำรแสดงรำยกำรของกระบวนกำรในกำรพัฒนำ ontology และกำรจัดกำรกับปัญหำทีซบั ซ้อน
ของกำรทำำงำนที่เป็ นไปในลักษณะลำำดับขั้น และคุณสมบัติของคลำสและตัวอย่ำงต่ำงๆ อย่ำงไรก็ตำม
กฎและข้อแนะนำำหลังจำกนี้ เป็ นสิ่ งสำำคัญที่สุดที่ตอ้ งจำำได้มีดงั นี้ : ไม่มี ontology เดียวที่ถกู ต้ องใน
โดเมน การออกแบบ ontology คือกำรสร้ำงสรรค์กระบวนกำรและไม่มี ontology สองอย่ำงที่ถูก
ออกแบบโดยประชำกรที่แตกต่ำงกันในเวลำเดียวกัน โปรแกรมที่มีศกั ยภำพของ ontology และนัก
ออกแบบมีควำมเข้ำใจและมุมมองของโดเมนที่ตอ้ งสงสัยจะมีผลต่อตัวเลือกในกำรออกแบบ “หลัก
ฐำนคือสิ่ งที่อยูใ่ นขนมพุดดิ้ง” เราสามารถประเมินคุณภาพของ ontology ได้เท่ำนั้นโดยขณะเรำกำำลัง
ใช้งำนในโปรแกรมสำำหรับเพื่อกำรออกแบบสิ่ งนั้นอยู่