Ontology Development 101: A Guide to Creating Your First Ontology

Download Report

Transcript Ontology Development 101: A Guide to Creating Your First Ontology

Ontology Development 101:
A Guide to Creating
Your First Ontology
สมาชิกในกลุ่ม
1. นายพิสิษฐ์
ธนพงศ์สุข
50034494
2. นางสาวจิรภัทร
ทองนพคุณ 50036207
3. นางสาววีราภรณ์ หามนตรี
50036436
4. นางสาวอารยา
50036535
นิ่มเจริ ญ
1. ทำาไมต้ องมีการพัฒนา ontology
ในหลายปี ที่ผา่ นมา การพัฒนาเกี่ยวกับ Ontology มีการพัฒนาคุณสมบัติอย่าง
เป็ นทางการชัดเจน ในส่ วนของขอบเขตและความสัมพันธ์ท่ามกลางช่วงปี นั้น
(1993) ได้มีการเปลี่ยนจากขอบเขตของการปฏิบตั ิทางปั ญญาประดิษฐ์ไปเป็ น
ขอบเขตงานของผูเ้ ชี่ยวชาญ Ontology อยูใ่ นรู ปของการทำางานแบบ World-Wide
Web ขอบเขตของOntology บนช่วงของ Web มีการจัดแบ่ง Web sites ต่างๆ ออก
เป็ นประเภท เช่น Web site “Yahoo” และการจัดประเภทของสิ นค้าเพื่อการขาย
สิ นค้า เช่น Web site “Amazon” องค์กร W3C กำาลังพัฒนา Resource Description
Framework (RDF) ซึ่ งเป็ นภาษาสำาหรับการแทนความรู ้ในหน้า Web page เพื่อที่
จะทำาให้ตวั แทนอิเล็กทรอนิกส์ เช่น คอมพิวเตอร์ สามารถเข้าใจความรู ้น้ นั ได้ เพื่อ
การค้นหาข้อมูล
หน่วยงาน Defense Advanced Research Projects Agency (DARPA) ร่ วมมือกับ
องค์กร W3C กำาลังพัฒนาภาษาสำาหรับตัวแทนการทำางานที่มีชื่อว่า DARPA Agent
Markup Language (DAML) โดยขยายมาจาก RDF ด้วยการแสดงโครงสร้างของการ
อำานวยความสะดวกเพื่อการโต้ตอบกันบน Web ขณะนี้มีหลายวงการที่พฒั นามาตรฐาน
ของ Ontologyในขอบเขตของผูเ้ ชี่ยวชาญให้สามารถแบ่งปันและอธิ บายข้อมูลในฟิ ลด์
ต่างๆ ทางการแพทย์สาำ หรับตัวอย่าง คือ มีการผลิตขนาดใหญ่, มาตรฐาน, โครงสร้าง
ของคำาศัพท์ต่างๆ เช่น SNOMED เป็ นต้น เครื อข่ายความหมายของ Unified Medical
Language System วัตถุประสงค์โดยทัว่ ไปของ Ontology คือ การเกิดใหม่ที่ดี สำาหรับ
ตัวอย่าง เช่น โครงการพัฒนา United Nations Development Program and Dun &
Bradstreet ร่ วมมือกันพัฒนา UNSPSC Ontology ซึ่งให้ศพั ท์เฉพาะสำาหรับสิ นค้าและ
บริ การ
Ontology มีการกำาหนดคำาศัพท์ทวั่ ไปสำาหรับนักวิจยั ที่ตอ้ งการใช้ขอ้ มูลในขอบเขต
ร่ วมกัน ประกอบด้วยเครื่ องแปลและนิยามแนวคิดพื้นฐานในขอบเขตและความสัมพันธ์
ทำาไมใครบางคนมีความต้องการที่จะพัฒนา Ontology? ซึ่งเหตุผลก็คือ…
• การแบ่งปันความเข้าใจร่ วมกันของโครงสร้างของข้อมูลของประชาชนหรื อ
ตัวแทนซอฟต์แวร์
• เพื่อให้สามารถนำาขอบเขตของความรู ้ใหม่มาใช้
• เพื่อให้เกิดขอบเขตของสมมติฐานที่ชดั เจน
• เพื่อแยกขอบเขตความรู ้ออกจากระบวนการของความรู ้
• เพื่อวิเคราะห์ขอบเขตของความรู ้
“การแบ่งปั นความเข้าใจร่ วมกันของโครงสร้างของข้อมูลของประชาชนหรื อ
ซอฟต์แวร์ตวั แทนจำาหน่าย” เป็ นหนึ่งของวัตถุประสงค์การพัฒนา Ontology,
สำาหรับตัวอย่าง คือ สมมติวา่ หลายเว็บไซต์ต่างมีขอ้ มูลทางการแพทย์หรื อให้
บริ การ e-commerce แพทย์ หากเว็บไซต์เหล่านี้ร่วมกันและเผยแพร่ เดียวกัน
ontology ในกลุ่ม Web site และตัวแทนการทำางานบนคอมพิวเตอร์ สามารถแตก
และรวบรวมข้อมูลจาก Web site ที่แตกต่างกันได้ ตัวแทนเหล่านั้นก็สามารถใช้
ข้อมูลสรุ ปรวมนี้ เพื่อที่จะตอบแบบสอบถามผูใ้ ช้หรื อเป็ นข้อมูลนำาเข้าของ
โปรแกรมอื่นๆ
“การเปิ ดใช้การของขอบเขตความรู้” เป็ นหนึ่งในแรงขับเคลื่อนที่อยูเ่ บื้องหลัง
ในการวิจยั ontology, สำาหรับตัวอย่าง คือ โมเดลสำาหรับขอบเขตที่แตกต่างจำาเป็ น
ต้องแทนความคิดในช่วงเวลาหนึ่ง การแทนนี้ เป็ นการรวมความคิดต่างๆ ในช่วง
เวลาหนึ่ง จุดต่างๆ ในเวลาหนึ่งมีความสัมพันธ์กบั ปริ มาณของเวลา ถ้ามีนกั วิจยั
กลุ่มหนึ่งพัฒนา เช่น Ontology ลงในรายละเอียด นักวิจยั กลุ่มอื่นสามารถที่จะนำา
ขอบเขตของความรู ้กลับไปใช้ได้ใหม่ เพิ่มเติม ถ้าเราต้องการจะสร้าง Ontology
ขนาดใหญ่ เราสามารถรวม Ontology ต่างๆ ที่มีอยูแ่ ล้วมาสร้างเป็ นขอบเขตที่ใหญ่
ได้ เราสามารถที่จะนำา Ontology ทัว่ ๆ ไป เอามาใช้ใหม่ได้ เช่น UNSPSC
ontology และขยายมันให้อยูใ่ นขอบเขตที่เราสนใจได้
“การทำาให้สมมติฐานของขอบเขตมีความชัดเจน” ต้นแบบการดำาเนินงาน
ทำาให้สามารถเปลี่ยนสมมติฐานเหล่านี้ได้อย่างง่ายดายหากมีการเปลี่ยนแปลง
ความรู้เกี่ยวกับขอบเขต การเขียนโค้ดแบบ Hard-coding ในโลกของ
Programming-language ทำาให้สมมติฐานนี้ ไม่ยากเกินทำาความเข้าใจ แต่ยากที่
จะทำาการเปลี่ยนแปลงสำาหรับคนที่ไม่ใช้ผเู้ ชี่ยวชาญด้านการเขียนโปรแกรมใน
การเพิ่มเติม ข้อกำาหนดที่ชดั เจนของขอบเขตความรู้ มีประโยชน์สาำ หรับผูใ้ ช้ใหม่
ที่ตอ้ งเรี ยนรู ้คาำ สัง่ ต่างๆ ในขอบเขตเฉลี่ย
“การแยกขอบเขตความรู ้จากความรู ้ในการปฏิบตั ิงาน” คือการใช้ Ontology ต่างๆ
เราสามารถอธิบายงานที่เกี่ยวข้องกับการปรับแต่ง Product จากส่ วนประกอบต่างๆ ตาม
รายละเอียดที่จาำ เป็ น และนำาไปใช้กบั โปรแกรม ซึ่งการปรับแต่งนี้ไม่ข้ ึนอยูก่ บั Product
และส่ วนประกอบต่างๆ ของมันเอง เราสามารถพัฒนา Ontology ของส่ วนประกอบ
PC-components และ Characteristics และนำาไปประยุกต์กบั Algorithms เพื่อปรับแต่ง
PCs เราสามารถใช้ Algorithms เดียวกันนี้ ปรับแต่งลิฟท์
ถ้าเราป้ อนส่ วนประกอบของ Ontology ให้กบั มัน “การวิเคราะห์ขอบเขตของ
ความรู ้” เป็ นไปได้ เมื่อเราระบุความต้องการของสิ่ งที่จะเป็ นได้ โดยทัว่ ไปแล้ว การ
วิเคราะห์ในหลายๆ ส่ วน มีความท้าทายมาก เมื่อเรามีความพยายามที่จะนำา Ontology
ที่มีอยูม่ าใช้ และขยายมันต่อ
บางครั้งขอบเขตของ Ontology ก็ไม่ใช่จุดประสงค์ของตัวมันเอง การพัฒนา
Ontology จะคล้ายกับการกำาหนดชุดของข้อมูลและโครงสร้างสำาหรับโปรแกรมอื่นเพื่อ
ใช้งาน วิธีการแก้ปัญหา, ขอบเขต - โปรแกรมที่มีความเป็ นอิสระ, และตัวแทน
ซอฟต์แวร์ที่ใช้งาน Ontology และสร้างฐานความรู ้ (knowledge bases) จาก Ontology
ของข้อมูล สำาหรับตัวอย่าง ในรายงานที่เราพัฒนาเกี่ยวกับ Ontology สำาหรับไวน์และ
อาหาร และชุดที่จะเหมาะสมกันระหว่างการดื่มไวน์พร้อมเนื้ อสัตว์ Ontology นี้สามารถ
นำาไปใช้กบั บางงาน เช่น ใช้เป็ นเครื่ องมือการจัดการร้านอาหาร งานแรกสามารถที่จะ
แนะนำาเมนูไวน์แต่ละวัน หรื อตอบคำาถามของแขกหรื อลูกค้า ส่ วนงานที่สองสามารถที่
จะวิเคราะห์และสร้างรายการของไวน์และแนะนำาชนิดของไวน์ เพื่อที่จะขยายและแบ่ง
ไวน์ให้สะดวกต่อการสัง่ หรื อจองอาหาร
คำาแนะนำาเรื่องนี้
เราสร้างประสบการณ์ของเรา โดยใช้ Protégé-2000 (Protege 2000),
Ontolingua (Ontolingua 1997), and Chimaera (Chimaera 2000) ใช้เป็ นสภาพ
แวดล้อมเกี่ยวกับการเขียน Ontology ในคำาแนะนำานี้ เราใช้ Protégé-2000 เป็ น
ตัวอย่างของเรา
ตัวอย่างไวน์และอาหารที่เรานำามาใช้เป็ นตัวอย่างของฐานความรู ้ ถูกนำาเสนอ
อยูใ่ นรายงาน เป็ นรู ปแบบการแทนความรู้ที่อยูบ่ นพื้นฐานของการอธิบาย
The CLASSIC ได้มีการพัฒนาตัวอย่างนี้ Protégé-2000 และระบบที่เกี่ยวข้องอื่นๆ
อธิบาย Ontology อย่างที่ประกาศไว้ เป็ นลำาดับชั้นและเป็ นชั้นที่เป็ นอิสระ
แนวคิดการออกแบบบาง Ontology ในคำาแนะนำานี้ มาจากงานเขียนเกี่ยวกับ
การออกแบบเชิงวัตถุ อย่างไรก็ตาม การพัฒนา Ontology ต่างจากการออกแบบ
คลาสและความสัมพันธ์ในรู ปของการเขียนโปรแกรมเชิงวัตถุ หลักการเขียน
โปรแกรมเชิงวัตถุจะต้องมี Method ที่อยูบ่ นคลาส นักเขียนโปรแกรมทำาการ
ออกแบบคุณสมบัติของกระบวนการทำางานของคลาส ขณะที่นกั ออกแบบ
Ontology จะทำาการออกแบบคุณสมบัติแบบโครงสร้างของคลาส ผลที่ได้คือ
โครงสร้างและความสัมพันธ์ของคลาสใน Ontology จะแตกต่างจากโครงสร้าง
บนขอบเขตของการเขียนโปรแกรมเชิงวัตถุ
มันเป็ นไม่ได้ที่จะครอบคลุมทุกประเด็นของการพัฒนา Ontology นักพัฒนา
จะต้องใช้ความพยายามของตนเอง เพราะคู่มือนี้ ไม่สามารถอธิบายเกี่ยวกับ
Ontology ได้หมด ในคู่มือนี้จะให้คาำ แนะนำาเริ่ มต้นแก่นกั ออกแบบ Ontology
มือใหม่ ในตอนท้ายเราจะแนะนำาแหล่งข้อมูล เพื่อหาคำาอธิบายของโครงสร้างซับ
ซ้อนมากขึ้นและการออกแบบกลไกในขอบเขตที่ตอ้ งการได้
สุ ดท้ายนี้ ไม่มีคาำ ตอบใดที่ถกู ต้องเพียงคำาตอบเดียว เกี่ยวกับวิธีการออกแบบ
Ontology และเราจะไม่นิยามสิ่ งนั้น ความคิดต่างๆ เราจะนำาเสนอที่นี่ เมื่อเรา
พบประโยชน์จากประสบการณ์ในการพัฒนา Ontology ในตอนท้ายของคำาแนะนำา
นี้ เราจะแสดงรายการอ้างอิงเกี่ยวกับทางเลือกและวิธีการต่างๆ
2. มีอะไรอยู่ใน ontology?
งานเขียนเกี่ยวกับปัญญาประดิษฐ์ประกอบไปด้วยหลายคำาจำากัดความของ
Ontology ซึ่ งในหลายๆ สิ่ งเหล่านี้ยงั มีความขัดแย้งในตัวเองกันอยู่ สำาหรับวัตถุประสงค์
ของการแนะนำาเกี่ยวกับ Ontology นี้ มีคาำ อธิบายที่ชดั เจนอย่างเป็ นทางการของแนวคิด
ในขอบเขตของงานเขียน (คลาส (Class) ซึ่งบางครั้งจะเรี ยกว่า “Concept หรื อ แนวคิด”)
คุณสมบัติของแต่ละแนวคิดจะมีการอธิ บายคุณสมบัติและคุณลักษณะต่างๆของแนวคิด
ของแนวคิดนั้น (Slots ซึ่ งบางครั้งจะเรี ยกว่า กฎ (Roles) หรื อ คุณสมบัติ (Properties))
และข้อจำากัดของ Slot (Facets ซึ่ งบางครั้งจะเรี ยกว่า Role restrictions) Ontology จะ
รวบรวม Instance ของคลาสเป็ นฐานความรู ้ (Knowledge Based) แต่แท้จริ งแล้ว ในสาย
งานด้าน Ontology จะเป็ นปลายสุ ดท้าย และมีฐานความรู ้ (Knowledge Based) เป็ น
จุดเริ่ มต้น
การเรี ยนรู ้ เป็ นเรื่ องที่สาำ คัญของ Ontology การเรี ยนรู ้จะเป็ นการบอกถึง
ขอบเขตของแนวคิด สำาหรับตัวอย่าง คลาสที่นาำ เสนอเกี่ยวกับเรื่ องไวน์ท้ งั หมด
โดยเฉพาะกรณี ของไวน์ที่อยูใ่ นคลาสนี้ ไวน์ Bordeaux จะอยูใ่ นแก้วด้านหน้า
ของคุณ ในขณะที่คุณอ่านเอกสารฉบับนี้ เป็ นตัวอย่างคลาสของไวน์ Bordeaux ซึ่ง
ภายในคลาสก็จะประกอบไปด้วยคลาสย่อย (Subclass) ที่จะนำาเสนอแนวคิดที่
เกี่ยวกับคลาสย่อย (Subclass) โดยเฉพาะ สำาหรับในตัวอย่างนี้ เราสามารถแบ่ง
ประเภทของไวน์ท้ งั หมดออกได้ตามสี ของไวน์ คือ สี แดง, ขาว, และสี หลาบ หรื อ
มิฉะนั้น เราสามารถแบ่งประเภทของไวน์ท้ งั หมดเป็ นคลาสในลักษณะของ
Sparklingและ Non - sparkling
Slots จะอธิบายคุณสมบัติของคลาสและ Instances ของไวน์: Château Lafite
Rothschild Pauillac ซึ่งเป็ นไวน์ตวั เต็ม ที่ผลิตโดย Château Lafite Rothschild เรา
จะมีสอง Slots ที่ใช้อธิบายในตัวอย่างของไวน์น้ ี ตัว Slots นี้จะมีค่าเต็มและ Slots
สามารถให้ค่า Château Lafite Rothschild ของไวน์ ที่ในระดับของคลาส ซึ่ งเรา
สามารถเรี ยกมันว่า Instance สำาหรับคลาสของไวน์ โดยจะมี Slots เป็ นตัวอธิบาย
ำ
ลักษณะของ รสชาติ ลักษณะของไวน์ ระดับน้าตาลที
่ประกอบในไวน์ และส่ วน
ผสมที่นาำ มาใช้ผลิตเป็ นไวน์ข้ ึนมา
ในตัว Instance ทั้งหมดของคลาสไวน์ และคลาสย่อยของ Pauillac มีตวั Slots
ที่เป็ นตัวบอกค่าส่ วนผสมที่นาำ มาใช้ผลิตขึ้นเป็ นไวน์ในคลาสที่มีชื่อว่า Winely ซึ่ ง
Instance สำาหรับคลาส Winely จะมี Slots ที่เป็ นตัวบอกถึงผลผลิตที่เกิดขึ้นทั้งหมด
ของไวน์ (Instance สำาหรับคลาสของไวน์และคลาสย่อย) นัน่ รวมถึงผลผลิตของ
ไวน์ดว้ ย
ในทางปฏิบตั ิแล้ว การพัฒนา Ontology จะประกอบไปด้วย
• กำาหนดคลาสใน Ontology
• จัดเรี ยนคลาสใจเชิงอนุกรมวิธาน (คลาสย่อย - คลาสแม่) เป็ นลำาดับชั้น
• กำาหนด Slots และมีการอธิบายค่าสำาหรับแต่ละ Slot
• กรอกค่าใน Slots สำาหรับ Instance
จากนั้นเราสามารถสร้างฐานความรู้โดยการกำาหนดลักษณะ Instance สำาหรับ
การกรอกค่าในแต่ละคลาสไว้เป็ นการจำาเพาะเจาะจงสำาหรับค่า Slots ของข้อมูล
และข้อจำากัดของ Slots
ภาพที่ 1 คลาส,อินสแตนท์ และความสัมพันธ์ในโดเมนของไวน์ เราจะใช้สีดาำ
สำาหรับคลาส และใช้สีแดงสำาหรับอินสแตนท์ เส้นที่เชื่อมตรงจะอยูใ่ นรู ปของ Slots
และเส้นเชื่อมภายใน เช่น อินแสตนท์ และคลาสย่อย
วิธีการทางวิศวกรรมความรู้ อย่ างง่ าย
ที่เรากล่าวว่าก่อนหน้านี้ไม่มีวิธีการใดที่ถูกต้อง หรื อวิธีการในการพัฒนา Ontology
ที่น้ ีเราจะมาคุยเรื่ องทัว่ ไปในการพิจารณา และเสนอกระบวนการที่เป็ นไปได้ในการ
พัฒนา Ontology เราอธิบายวิธีการพัฒนา ontology แบบทบทวน โดยเริ่ มต้นจากทางที่
ยากของ ontology
จากนั้นเราจะแก้ไขและปรับแต่ง Ontology และเติมรายละเอียดเข้าไป ตลอดทางเรา
คุยแบบจำาลองการตัดสิ นใจที่นกั ออกแบบต้องการให้เป็ น รวมทั้ง pros cons, และผลการ
แก้ไขปัญหาที่แตกต่างกัน สิ่ งแรกเราต้องการเน้นกฎพื้นฐานในการออกแบบบาง
ontology ซึ่งเราจะต้องอ้างอิงอยูห่ ลายครั้ง กฎเหล่านี้อาจดูเหมือนไม่มีเหตุผลมากกว่า
แต่อย่างไรก็ช่วยให้เราสามารถตัดสิ นใจออกแบบในหลายกรณี ได้
1) ไม่มีวิธีใดที่ถกู ต้องในการสร้างโดเมนของโมเดล มีแต่ทางเราสามารถเลือก
ได้สาำ หรับทางออกที่ดีที่สุดมักจะขึ้นอยูก่ บั แอฟพลิเคชัน่ ที่เราคิดในใจและ
ส่ วนที่เราคาดหวัง
2) การพัฒนา ontology มีความจำาเป็ นที่ตอ้ งพัฒนาอยูเ่ รื่ อย ๆ
3) แนวคิดใน ontology ควรจะใกล้เคียงกับวัตถุ (physical หรื อ logical)
และความสัมพันธ์ในโดเมนของคุณที่น่าสนใจเหล่านี้มกั จะ เป็ นคำานาม (วัตถุ)
หรื อกริ ยา (ความสัมพันธ์) ในประโยคที่อธิบายโดเมนของเรา
นัน่ คือ สิ่ งที่เราต้องตัดสิ นใจใช้ ontology และ วิธีการรายละเอียดหรื อ
ontology ทัว่ ไปเป็ นไปได้ที่จะแนะนำาการจำาลองหลายแบบเพื่อการตัดสิ นใจ ถ้ามี
ทางเลือกหลายทาง เราต้องตรวจหาว่างานไหนที่ดีสาำ หรับโครงการ ทำาง่าย และ
สามารถขยายได้ บำารุ งรักษาได้ เราต้องนึกเสมอว่า ontology คือ โมเดลของโลก
แห่งความเป็ นจริ ง และเป็ นแนวคิดที่สะท้อนถึงสิ่ งที่เป็ นจริ ง หลังจาก ที่เรานิยาม
ontology ในตอนต้นแล้ว เราสามารถประเมินผลและแก้ปัญหาโดยใช้ในการใช้
งานหรื อวิธีการแก้ปัญหาหรื อคุยปรึ กษากับผูเ้ ชี่ยวชาญในด้านนั้น หรื อทั้งสอง
อย่าง ดังนั้นเราจะต้องแก้ไข ontology เริ่ มต้น กระบวนการออกแบบซ้าำ ๆ นี้จะทำา
ต้องเป็ นวัฎจักรของ ontology อย่างต่อเนื่อง
ขั้นตอนที่ 1 การหาโดเมนและขอบเขตของ ontology
เราแนะนำาการเริ่ มต้นการพัฒนา Ontology โดยการนิยามโดเมนและขอบเขต
นัน่ คือ คำาตอบของคำาถามพื้นฐาน ซึ่งมีดงั นี้
1. อะไรคือโดเมนที่จะครอบคลุม ontology
2. เราจะใช้ ontology ไปเพื่ออะไร
3. อะไรคือประเภทของคำาถามของข้อมูลใน ontology และควรจะให้คาำ ตอบแก่เรา
อย่างไร
4. ใครจะเป็ นผูใ้ ช้และดูแลรักษา ontology
คำาตอบของคำาถามต่าง ๆ เหล่านี้อาจจะเปลี่ยนแปลงได้ระหว่างกระบวนการ
ออกแบบ ontology แต่อาจจะต้องให้เวลาในการจำากัดขอบเขตของโมเดล
พิจารณา Ontology ของไวน์และอาหารนัน่ เป็ นการแนะนำามาก่อนหน้านี้
การแสดงอาหารและไวน์ คือ โดเมนของ Ontology เราวางแผนว่าจะใช้ ontology
สำาหรับแอฟพลิเคชัน่ นี้ที่ใช้ในการแนะนำาอาหารและไวน์ที่ดี
โดยปกติแล้ว แนวความคิดที่จะอธิบายประเภทไวน์และอาหาร ความคิดที่
เกี่ยวกับการจัดชุดไวน์และอาหารที่ดี และไม่ดี จะช่วยให้เราเห็นภาพภายใน
Ontology ของเรา ในขณะเดียวกัน Ontology จะประกอบขึ้นจากหลายความคิด
สำาหรับการจัดการสร้างขึ้นมาจากนักดื่มไวน์หรื อพนักงานในภัตตาคาร ความคิด
ต่าง ๆ จากสิ่ งนี้มีความสัมพันธ์เกี่ยวข้องกับความคิดของไวน์และอาหาร
ถ้า Ontology เรามีการออกแบบเพื่อจะใช้ประโยชน์ในการช่วยกระบวนการ
ภาษาธรรมชาติของบทความในหนังสื อแมกกาซีนของไวน์ มันอาจจะเป็ นสิ ่ ง
สำาคัญในการที่จะรวมข้อมูลและส่ วนของคำาพูดที่คล้าย ๆ กันได้ สำาหรับแนวความ
คิดใน ontology ถ้า ontology จะถูกใช้เพื่อช่วยเหลือหรื อแนะนำาการตัดสิ นใจของ
ลูกค้าในภัตตาคาร ของการสัง่ ไวน์ เราจำาเป็ นต้องมีขอ้ มูลของราคาการขาย ถ้ามัน
ถูกใช้กบั ผูท้ ี่ซ้ื อไวน์เพื่อที่จะเอาไปเก็บไว้หอ้ งใต้ถุน ราคาการขายทั้งหมดต้องได้
มาโดยง่าย อาจจะเป็ นสิ่ งจำาเป็ น ถ้าใครจะเป็ นผูซ้ ่ ึ งดูแล ontology และอธิบาย
โดเมนในภาษาที่แตกต่างกันได้ ทั้งนี้ข้ ึนอยูก่ บั ผูใ้ ช้ ontology แต่ละคน เราอาจต้อง
ให้บริ การแมปภาษาที่แตกต่างกันด้วย
คำาถามต่ าง ๆ ทีม่ คี วามสมบูรณ์
ทางหนึ่งในการหาขอบเขตของ Ontology คือ การร่ างรายการของคำาถามต่าง ๆ ซึ่ง
คำาถามของฐานความรู ้บน Ontology อาจจะมีได้หลายคำาตอบ สำาหรับคำาถามที่มีความ
สมบูรณ์คาำ ถามต่าง ๆ เหล่านี้จะใช้การได้อย่างจำากัด
คำาถาม
1. ontology สามารถบรรจุขอ้ มูลที่เพียงพอสำาหรับการตอบคำาถามต่าง ๆ เหล่านี้
หรื อไม่
2. คำาตอบต่าง ๆ ต้องการระดับของรายละเอียดหรื อการแสดงเป็ นพิเศษหรื อไม่
คำาถามที่มีความสมบูรณ์เหล่านี้เป็ นการร่ างขึ้นมาและไม่จาำ เป็ นต้องทำาให้ละเอียด
หมดจดในโดเมนของไวน์และอาหาร สิ่ งตามนี้มีความเป็ นไปได้ที่จะเป็ นคำาถามที่
สมบูรณ์
ลักษณะใดของไวน์ ทเี่ ราควรจะเลือกหรือพิจารณามัน
1. เป็ นไวน์แดงหรื อไวน์ขาวที่มาจากเมืองบอโดหรื อไม่
2. เป็ นไวน์ที่เข้ากับอาหารทะเลดีหรื อไม่
3. ไวน์อะไรที่ดีที่สุดที่ตอ้ งกินคู่กบั เนื้อวัวย่าง
4. ลักษณะใดของไวน์ที่เหมาะกับอาหาร
5. รสชาติหอมหรื อลักษณะเฉพาะของไวน์เปลี่ยนไปตามปี ที่มีไวน์รสชาติดีหรื อไม่
6. ฤดูไหนบ้างใน Napa Zinfandel ที่ดีหรื อเหมาะต่อการทำาไวน์
การพิจารณาจากรายการของคำาถาม ontology จะรวมข้อมูลต่าง ๆ เกี่ยวกับลักษณะ
และประเภทของไวน์ เช่น ปี ที่มีไวน์รสชาติดี หรื อไม่ดี , การแยกอาหารต่าง ๆ ที่เหมาะ
หรื อเข้ากันกับไวน์ ซึ่งเป็ นการแนะนำาอาหารและไวน์
ขั้นตอนที่ 2
การพิจารณาการนำา ontology ทีม่ อี ยู่กลับมาใช้ ใหม่
มันเป็ นการพิจารณาที่มีค่า ถ้ามีอะไรบางอย่างที่ใช้งานได้อยูแ่ ล้ว ถ้าเรา
สามารถแก้ไขให้ดีข้ ึนและขยายแหล่งทรัพยากรที่มีอยูไ่ ด้ในส่ วนของโดเมนและ
งาน การใช้ Ontology ที่มีอยู่ อาจจะมีความต้องการ ถ้าระบบของเราต้องโต้ตอบ
กับแอฟพลิเคชัน่ อื่น หลาย ontology อยูใ่ นรู ปของอิเล็กทรอนิกส์และสามารถนำา
เข้ามาในสภาพแวดล้อมการพัฒนา Ontology ได้ หลักการทัว่ ไปของ ontology จะ
ถูกแสดงออกอย่างเด่นชัด เพราะระบบการแทนความรู ้ สามารถนำาเข้าและส่ งออก
ontology ได้ ถ้าระบบแทนความรู้ ไม่สามารถทำางานได้โดยตรง งานการแปลของ
ontology จากรู ปแบบหนึ่งไปยังอีกรู ปแบบหนึ่งไม่ได้เป็ นเรื่ องยากเลย
มีไลบราลี่ของ ontology ให้ใช้อยูบ่ นเว็บและในงานเขียน สำาหรับตัวอย่าง คือ
เราสามารถใช้ไลบราลี่ Ontolingua ของ ontology ที่
- (http://www.ksl.stanford.edu/software/ontolingua/)
- (http://www.daml.org/ontologies/)
มี ontology ที่เป็ นของสาธารณะแบบการค้า ตัวอย่าง คือ UNSPSC
(www.unspsc.org), RosettaNet (www.rosettanet.org), DMOZ (www.dmoz.org))
ตัวอย่าง เช่น ฐานความรู ้ของไวน์ฝรั่งเศสอาจจะมีอยูแ่ ล้ว ถ้าเรานำาฐานความรู ้น้ ี มาใช้จะ
ทำาให้เป็ นความรู ้พ้ืนฐานที่เรามีอยู่ เราไม่ได้ทาำ การแบ่งประเภทของไวน์เพียงอย่างเดียว
แต่ในตอนแรกจะแยกประเภทของไวน์จากลักษณะของมันโดยใช้สิ่งที่แตกต่างกันใน
การจำาแนกและอธิบายรายละเอียดของไวน์ รายการคุณสมบัติของไวน์อาจจะมีอยูแ่ ล้ว
ในเว็บไซต์ทางการค้า เช่นwww.wines.com ซึ่งลูกค้าสามารถเลือกพิจารณาไวน์ที่ตนเอง
ต้องการได้ คำาแนะนำานี้ อย่างไรก็ตาม เราจะสมมติวา่ ไม่มีความสัมพันธ์กนั กับ ontology
ที่มีอยูแ่ ล้ว และเริ่ มการพัฒนา ontology จากการเขียน
ขั้นตอนที่ 3
ความสำ าคัญของการระบุในเทอมของ ontology
มันคือสิ่ งที่มีประโยชน์ในการเขียนรายการของเทอมทั้งหมด เราสามารถใช้
ในการทำาประโยค (Statement) หรื อ อธิบายให้ผใู้ ช้เข้าใจได้ และอะไรคือเทอมที่
เราจะพูดถึง อะไรคือคุณสมบัติที่เทอมนั้นมี อะไรคือเรื่ องที่เราจะพูดถีงเกี่ยวกับ
เทอมต่าง ๆ ตัวอย่าง คือ ความสำาคัญของความสัมพันธ์ของไวน์ จะประกอบด้วย
ไวน์ , องุ่น , winery , สถานที่ผลิต , สี ของไวน์ , ความเข้ม,รสชาติ และความหวาน
,: ประเภทอาหารที่แตกต่าง เช่น ปลา , เนื้อที่มีสีแดง : ชนิดของไวน์ เช่น ไวน์ขาว ,
ไวน์แดง และอื่น ๆ
ในตอนเริ่ มต้น ความสำาคัญในการที่จะทำาการรวมรายการของเทอมทั้งหมด โดย
ไม่มีเรื่ องของการทับกันของแนวคิดที่เรานำาเสนอ ความสัมพันธ์ในเทอมต่าง ๆหรื อ
แนวคิดพื้นฐานต่าง ๆ ซึ่งมีได้ หรื อมีแนวคิดที่เป็ นคลาสหรื อสล็อต 2 ขั้นตอนต่อไป
คือ การพัฒนาลำาดับขั้นของคลาส (class hierarchy) และการนิยามคุณสมบัติของแนวคิด
(สล็อต) มันเป็ นเรื่ องยากในการที่จะทำาในตอนแรก และแล้วต่อมาก็ทาำ ตามปกติ เรา
สามารถสร้างนิยาม 2 – 3 นิยามของแนวคิดในลำาดับชั้น แล้วก็อธิบายคุณสมบัติของ
แนวคิดเหล่านี้ 2 ขั้นตอนนี้เป็ นขั้นตอนที่มีความสำาคัญในการกระบวนการออกแบบ
ontology เราจะอธิบายพวกมันอย่างคราว ๆ และจะพูดถึงรายละเอียดในอีก 2 ส่ วนต่อ
ไปที่เราต้องพิจารณา คือ สิ่ งที่เป็ นอันตรายทัว่ ๆ ไป , การตัดสิ นใจทำา และอื่น ๆ
ขั้นตอนที่ 4 กำาหนดคลาสและลำาดับชั้นของคลาส
มีวิธีการที่เป็ นไปได้หลายวิธีในการพัฒนาลำาดับชั้นของคลาส
วิธีการพัฒนาแบบ top-down
เป็ นกระบวนการพัฒนาที่เริ่ มต้นด้วยการกำาหนดแนวคิดทัว่ ไป ๆ ในโดเมน
และต่อมาก็กาำ หนดแนวคิดแบบเฉพาะ เช่น เราสามารถเริ่ มต้นสร้างคลาสสำาหรับ
แนวคิดของไวน์และอาหารและเราก็สร้างคลาสของไวน์ที่เฉพาะเจาะจงเป็ นคลาส
ย่อย (Subclass) เช่น ไวน์ขาว , ไวน์แดง, ไวน์กหุ ลาบ เป็ นต้น เราสามารถแบ่ง
คลาสของไวน์แดงได้ ตัวอย่างเช่น Syrah, Red Burgundy, Cabernet Sauvignon
และอื่น ๆ
วิธีการพัฒนาแบบ bottom-up
เป็ นกระบวนการพัฒนาที่เริ่ มต้นด้วยการกำาหนดสิ่ งที่เฉพาะเจาะจงในคลาส
ใบของลำาดับชั้น ต่อมาก็ทาำ การรวมคลาสเหล่านี้ให้เป็ นกลุ่มลงในแนวคิดทัว่ ๆ ไป
ตัวอย่าง คือ เราเริ่ มต้นด้วยการกำาหนดคลาสของไวน์ Pauillac , Margaux แล้วเรา
ก็สร้างคลาสแม่ (super class) เป็ น 2 คลาส Medoc จะเป็ นคลาสย่อย (subclass)
ของ Bordeaux
วิธีการพัฒนาแบบ combination
เป็ นกระบวนการพัฒนาที่รวมวิธีการของทั้งสองแบบ คือ top-down และ
bottom-up เรากำาหนดจุดเด่นของแนวคิดต่าง ๆ ในตอนแรกและก็ทาำ การ
generalize และ specialize อย่างเหมาะสม เราต้องเริ่ มต้นจากแนวคิดแบบ
top-level เช่น ไวน์ และระบุแนวคิดเฉพาะลงไป เช่น Margaux แล้วเราก็ให้มนั
มีความสัมพันธ์กนั แบบ middle-level เช่น Medoc จากนั้นเราต้องสร้างคลาสที่
ผลิตไวน์จากประเทศฝรั่งเศส ซึ่ งเป็ นการสร้างในระดับ middle - level
รู ปที่ 2 แสดงให้ เห็นถึงระดับของการ generalize ทีแ่ ตกต่ างกัน
รู ปที่ 2 ความแตกต่างของระดับของอภิธานศัพท์ไวน์ ไวน์เป็ นแนวคิดทัว่ ๆ ไป
ไวน์แดง ไวน์ขาว และไวน์กหุ ลาบ เป็ นแนวคิดระดับ top level ส่ วน Pauillac and
Margaux เป็ นคลาสเฉพาะในลำาดับชั้นหรื อระดับ bottom level
การใช้วิธีการ 3 วิธีน้ ีดีกว่าการใช้วธิ ีใดวิธีหนึ่ง วิธีการจะขึ้นอยูก่ บั คนที่สามารถมอง
โดเมนออกได้อย่างชัดเจน ถ้านักพัฒนามีมุมมองของโดเมนแบบ Top-down ที่สมมาตร
กัน แล้วจะทำาให้สามารถใช้วิธีการแบบ top-down ได้ง่าย วิธีการที่รวมวิธีอื่น ๆ เข้าด้วย
กันบ่อยครั้งทำาให้ง่ายต่อการพัฒนาของนักพัฒนา เพราะแนวคิดของ “in the middle”
มักมีการอธิบายแนวคิดในโดเมนอย่างละเอียด ถ้าคุณมักคิดว่าไวน์ต่าง ๆ สามารถแยก
ได้โดยการทำา classification ในตอนแรกแล้ววิธีการแบบ top-down อาจจะดีสาำ หรับคุณ
ถ้าคุณเริ่ มจากสิ่ งที่เฉพาะเจาะจง วิธีการแบบ bottom - up อาจจะเหมาะสมกับคุณ
วิธีการใดก็ตามที่คุณเลือก เราต้องเริ่ มต้นจากการกำาหนดคลาส จากรายการที่เราสร้าง
ในขั้นตอนที่ 3 และเลือกเทอมที่เราจะอธิบายวัตถุที่ไม่เกี่ยวข้องกันมากกว่า
เทอมของวัตถุเหล่านี้ เทอมต่าง ๆ เหล่านี้จะเป็ นคลาสใน Ontology และกลาย
เป็ นหลักในลำาดับชั้นของคลาส เราจัดโครงสร้างคลาสภายในลำาดับชั้นของ
อภิธานศัพท์ โดยการสอบถาม ถ้ามี instance ของคลาส วัตถุ (object) จะต้องมี
ตัวอย่าง เช่น ถ้าคลาส A เป็ นคลาสแม่ของคลาส B แล้วทุก ๆ instance ของคลาส
B เป็ น instance ของคลาส A ด้วย คลาส B จะถูกแทนด้วยคำาว่า “kind of” ของ A
ตัวอย่าง ทุก ๆ Pinot Noir ของไวน์ ต้องเป็ นไวน์แดง ดังนั้นคลาสของ Pinot Noir
เป็ นคลาสย่อยของคลาสไวน์แดง รู ปที่ 2 แสดงให้เห็นถึงส่ วนของลำาดับชั้นของ
คลาสสำาหรับ ontology ของไวน์ ส่ วนที่ 4 จะมีการพูดถึงในรายละเอียดของ
สิ่ งต่างๆ เมื่อมีการกำาหนดลำาดับชั้นของคลาส
รู ปที่ 3 สล็อตสำาหรับคลาสของไวน์และหน้าตาของสล็อตของเหล่านี้
ตัวอักษร “I” ที่อยูบ่ น makerบอกเราว่า สล็อตตัวนั้นมีการอินเวิร์ส
ขั้นตอนที่ 5 กำาหนดคุณสมบัตขิ องคลาสและสล็อต
คลาสเดี่ยวจะให้ขอ้ มูลได้ไม่เพียงพอในการที่จะตอบคำาถามที่สมบรู ณ์ได้ จาก
ขั้นตอนที่ 1 เราได้กาำ หนดคลาสต่าง ๆ แล้ว เราต้องอธิ บายโครงสร้างแนวคิดภายในด้วย
ตอนนี้เราได้เลือกคลาส จากรายการของเทอมที่เราได้สร้างไว้ในขั้นตอนที่ 3 เทอมที่
เหลือจะเป็ นคุณสมบัติของคลาส เทอมนี้ จะประกอบด้วย ดังตัวอย่าง สี ของไวน์,
ความเข้มข้นของไวน์, รสชาติ และความหวานของไวน์ และสถานที่ผลิตไวน์ แต่ละ
คุณสมบัติในรายการ เราต้องหาว่าคลาสใดที่มนั จะอธิบายคุณสมบัติ เพื่อให้มนั กลาย
เป็ นสล็อตที่เป็ นส่ วนที่ติดไปกับคลาส ดังนั้นคลาสของไวน์จะมีสล็อตของสี ความเข้ม
ข้น,รสชาติและความหวาน และคลาสของไวน์จะมีที่เก็บของสล็อต โดยทัว่ ไปแล้ว
มีคุณสมบัติของวัตถุหลายประเภท และก็สามารถเป็ นสล็อตใน ontology ได้
คุณสมบัติของ “intrinsic” เช่น รสชาติของไวน์
คุณสมบัติของ “extrinsic” เช่น ชื่อของไวน์ และที่มาของไวน์
parts : ถ้าวัตถุเป็ นแบบโครงสร้าง มันสามารถเป็ นได้ท้ งั ทางกายภาพและนามธรรม
“parts” ตัวอย่าง เช่น เวลาทานอาหาร
relationships to other individuals : เป็ นความสัมพันธ์ระหว่างสมาชิกของคลาสและสิ่ ง
อื่น ๆ
ตัวอย่าง เช่น ผูผ้ ลิตไวน์ แทนความสัมพันธ์ระหว่างกันของ ไวน์ และ ที่ผลิตไวน์ และ
องุ่นที่มาทำาไวน์ ดังนั้นคุณสมบัติของเราจะถูกกำาหนดก่อนแล้ว เราต้องทำาการเพิ่มสล็อตลง
ในคลาสของไวน์ ได้แก่ ชื่อ , ที่ผลิต , ผูผ้ ลิต , องุ่น รู ปที่ 3 แสดงให้เห็นสล็อตสำาหรับคลาส
ไวน์ คลาสย่อยทั้งหมดของคลาสจะมีการถ่ายทอดสล็อตจากคลาสนั้น ตัวอย่าง เช่น สล็อต
ทั้งหมดของคลาสไวน์ จะถูกถ่ายทอดไปยังทุกๆ คลาสย่อยของไวน์ ประกอบด้วย ไวน์แดง
และไวน์ขาว เราจะทำาการเพิ่มสล็อต ระดับกรดจากไม้โอ๊ค (ต่าำ , พอประมาณ , หรื อสูง) ไปยัง
คลาสของไวน์แดง สล็อตของระดับกรดจากไม้โอ๊คจะถูกถ่ายทอดไปยังทุกคลาส เช่น
Bordeaux และ Beaujolais
ขั้นตอนที่ 6 กำาหนดหน้ าตาของสล็อต
สล็อตต่าง ๆ มีหน้าตาการอธิบายที่แตกต่างกัน เช่น value type, allowed
values, number of the values (cardinality) และคุณสมบัติอื่น ๆ อีก ตัวอย่าง เช่น
value ของชื่อสล็อต (ในที่น้ ี คือ ชื่อของไวน์) เป็ นข้อความชุดหนึ่ง นัน่ คือ ชื่อของ
สล็อตกับ value ของประเภทสตริ ง สล็อตของการผลิต (ในที่น้ ีคือ การผลิตไวน์)
สามารถมีได้หลาย value และ value เป็ น instance ของคลาสไวน์ นัน่ คือ การผลิต
คือ สล็อตกับประเภทของ value
สล็อต Cardinality
สล็อต cardinality กำาหนด value ต่าง ๆ ที่สล็อตสามารถมีได้ บางระบบจะ
แยกระหว่าง single cardinality และ multiple cardinality โดยเฉพาะ (มีจาำ นวน
ของ value ได้ ) ความเข้มข้นของไวน์จะเป็ นสล็อต single cardinality (ไวน์
สามารถมีได้ความเข้มข้นเดียวเท่านั้น) ไวน์ที่ผลิตมาโดยการแยกผลิตจะอยูใ่ น
สล็อต multiple-cardinality สำาหรับคลาสการผลิตไวน์ บางระบบสามารถมี
minimum และ maximum cardinality ได้ เพื่ออธิบายจำานวนของ value อย่าง
แม่นยำา Minimum cardinality ของ N
หมายความว่า สล็อตต้องมีอย่างน้อย N value ตัวอย่างเช่น สล็อตองุ่นของ
ไวน์มี minimum cardinality ของไวน์แต่ละอย่าง ซึ่ งทำามาจากองุ่นหนึ่งหรื อหลาย
ชนิดเป็ นอย่างน้อย Maximum cardinality ของ M หมายความว่า สล็อตสามารถมี
ได้ M value ตัวอย่างเช่น สล็อตขององุ่นสำาหรับไวน์ที่มีหลากหลาย 1 คือ ไวน์
เหล่านี้ผลิตมาจากองุ่นหลากหลายชนิด บางครั้งมันอาจจะมีประโยชน์ในการที่
กำาหนด maximum cardinality เป็ น 0 การตั้งค่าบอกว่า สล็อตไม่สามารถมีได้
หลายค่าสำาหรับคลาสย่อยแบบเฉพาะ
ประเภทของสล็อต value
หน้าตาของประเภท value มีประเภท value อะไรที่สามารถเติมลงในสล็อต
ได้ สิ่ งต่อไปนี้ เป็ นรายการของประเภท value
1. String คือ ประเภทของ value ที่ง่ายที่สุดที่ถกู ใช้ในสล็อต เช่น ชื่อ เป็ นต้น
value คือ ข้อความง่าย ๆ
2. Number (บางครั้งเป็ นประเภทของ value ของทศนิยมและจำานวนเต็มจะ
ถูกใช้) อธิบายสล็อตด้วยตัวเลข ตัวอย่างเช่น ราคาของไวน์สามารถเป็ น
ประเภททศนิยมได้
3. Boolean เป็ นการใช้ Flag ใช่หรื อไม่ใช่ ถ้าเราเลือกที่จะไม่แสดงไวน์ที่เป็ นฟอง
หรื อไม่ไวน์น้ นั เป็ นไวน์ที่เป็ นฟองสามารถแทนด้วย value ของ Boolean ถ้ามันเป็ น
จริ ง จะให้เป็ น (“yes”) เมื่อไวน์เป็ นฟอง แต่ถา้ ไม่เป็ นฟองก็จะให้เป็ น (“no”)
4. Enumerated เป็ น value เฉพาะของสล็อต ตัวอย่าง เราสามารถระบุรสชาติลงใน
สล็อต ซึ่งสามารถมีทางที่เป็ นไปได้ 1 ใน 3 value คือ strong, moderate, and delicate
ในโปรแกรม Protégé-2000 สล็อต enumerate เป็ นประเภทสัญลักษณ์
5. Instance เป็ นประเภทของสล็อตที่ให้นิยามความสัมพันธ์ระหว่างสิ่ งหนึ่งกับอีก
สิ่ งหนึ่งได้ สล็อตกับประเภทของ value Instance ต้องกำาหนดรายการของคลาสจาก
Instance ที่สามารถมีได้ดว้ ย ตัวอย่าง สล็อตการผลิตสำาหรับคลาส Winery อาจจะมี
instances ของคลาสไวน์
รู ปที่ 4 แสดงการนิยามของสล็อตการผลิตทีค่ ลาส Winery
รู ปที่ 4 การนิยามสล็อตการผลิตเพื่ออธิบายการผลิตไวน์โดยผูผ้ ลิต สล็อตมี
cardinality multiple value type Instance, และ class Wine
โดเมนและเรนจ์ ของสล็อต
คลาสสำาหรับสล็อตประเภท Instance มักเรี ยกว่า เรนจ์ ของสล็อต ในตัวอย่าง
ในรู ปที่ 4 คลาสไวน์คือเรนจ์ของสล็อตการผลิต บางระบบให้มีการจำากัดเรนจ์ของ
สล็อตเมื่อสล็อตถูก แนบท้ายไปกับคลาสเฉพาะ คลาสที่มีสล็อตแนบท้ายไปหรื อ
คลาสที่มีคาำ อธิบายของสล็อต จะเรี ยกว่า โดเมน ของสล็อต คลาสของ Winery คือ
โดเมนของสล็อตการผลิต ในระบบที่มีสล็อตติดไปกับคลาสด้วย จะประกอบขึ้น
เป็ นโดเมนของสล็อต ไม่มีความจำาเป็ นใดที่ตอ้ งกำาหนดโดเมนแยกจากกัน
กฎพื้นฐานของการหาโดเมนและเรนจ์ของสล็อต คือ
เมื่อการกำาหนดโดเมนหรื อเรนจ์สาำ หรับสล็อต หาคจากคลาสทัว่ ไปหรื อคลาส
ที่สนใจโดเมนหรื อเรนจ์สาำ หรับสล็อต ดังนั้น อย่ากำาหนดโดเมนและเรนจ์ที่เหนือ
กว่าทัว่ ไป ทุก ๆ คลาสในโดเมนของสล็อตควรจะอธิบายโดยสล็อตและ instances
ของทุกคลาสในเรนจ์ของสล็อตควรจะเป็ นไปได้หมดของสล็อต ห้ามเลือกคลาส
ทัว่ ไปที่เหนือกว่าสำาหรับเรนจ์ ตัวอย่าง สิ่ งหนึ่งที่ไม่ตอ้ งทำาเรนจ์คือ THING แต่สิ่ง
หนึ่งที่ตอ้ งเลือกคือ คลาสที่ตอ้ งครอบคลุมทั้งหมด
การทำารายการที่เป็ นไปได้ของคลาสย่อยของคลาสไวน์สาำ หรับเรนจ์ของสล็อต
การผลิตรายการของไวน์ ในขณะเดียวกัน เราไม่ตอ้ งระบุเรนจ์เฉพาะของสล็อตที่
เป็ นเหมือน THING ซึ่งก็คือ คลาสทัว่ ไปใน ontology
ในเทอมเฉพาะ ถ้ารายการของคลาสมีการกำาหนดเรนจ์หรื อโดเมนของสล็อตจะมี
คลาสและคลาสย่อย ให้เอาคลาสย่อยออก
ถ้าเรนจ์ของสล็อตบรรจุคลาสไวน์และคลาสไวน์แดง เราสามารถเอาคลาสไวน์แดง
ออกจากเรนจ์ได้ เพราะว่ามันไม่ตอ้ งเติมข้อมูลใหม่ ๆ ลงไป ไวน์แดงเป็ นคลาสย่อยของ
คลาสไวน์และดังนั้นเรนจ์ของสล็อตเรามีแล้ว นัน่ คือ ทุก ๆ คลาสย่อยเป็ นของคลาส
ไวน์ ถ้ารายการของคลาส มีการกำาหนดเรนจ์หรื อโดเมนของสล็อตจะมีคลาสย่อย
ทั้งหมดเป็ นของคลาส A แต่คลาส A ไม่ได้เป็ นคลาสย่อยของตัวมันเอง เรนจ์ควรจะมี
ในคลาส A เพียงอย่างเดียว ไม่ตอ้ งมีในคลาสย่อย การกำาหนดเรนจ์ของสล๊อตที่มีไวน์
แดง,ไวน์ขาว, ไวน์กหุ ลาบ ทั้งหมดนี้เป็ นคลาสย่อยของคลาสไวน์ เราสามารถจำากัด
เรนจ์ของคลาสไวน์
ถ้ารายการของคลาสที่มีการกำาหนดเรนจ์หรื อโดเมนของสล็อตมีคลาสย่อยของ
คลาส A ไม่กี่คลาส การพิจารณา ถ้าคลาส A จะทำาให้การกำาหนดเรนจ์เป็ นไปอย่าง
เหมาะสมในหลายระบบมีการแนบสล็อตไว้ที่คลาส ซึ่งเหมือนกันกับการเพิ่มคลาสไป
ยังโดเมนของสล็อต
กฎเดียวกันนี้จะใช้การแนบท้ายไปกับสล็อต อย่างไรก็ตามเราควรที่จะพยายาม
ทำาให้มนั เป็ นไปได้มากที่สุด และเราต้องแน่ใจว่าแต่ละคลาสต้องมีสล็อตที่มีคุณสมบัติ
จริ ง เราสามารถแนบสล็อตของระดับกรดจากไม้โอ๊คแต่ละคลาสได้ เช่น คลาสไวน์แดง
ตัวอย่าง Bordeaux, Merlot,Beaujolais และอื่น ๆ แต่อย่างไรก็ตามไวน์แดงทุกชนิดจะมี
ระดับกรดจากไม้โอ๊ค เราควรจะแนบท้ายสล็อตไปยังคลาสทัว่ ไปของคลาสไวน์แดง
การ Generalizing โดเมนของสล๊อตของระดับกรดจากไม้โอ๊ค โดยการแนบท้ายที่คลาส
ไวน์ จะไม่ถูกต้อง เพราะว่า เราจะไม่ใช้ระดับจากกรดไม้โอ๊คในการอธิบายไวน์ขาว
ขั้นตอนที่ 7 สร้ าง instances
ขั้นตอนสุ ดท้าย คือ การสร้าง instances ของคลาสในลำาดับชั้น การกำาหนด
instances ของคลาส ต้องมีดงั นี้
1. การเลือกคลาส
2. การสร้าง instances ของคลาส
3. การเติม values ในสล็อต
ตัวอย่าง เช่น เราสร้าง instances คือ Chateau-Morgon-Beaujolais เพื่อแทน
ประเภทของไวน์ Beaujolais Chateau-Morgon-Beaujolais คือ instances ของ
คลาส Beaujolais ซึ่งแสดงในรู ปของ Beaujolais wines
Instance ดังต่ อไปนีม้ ีสล็อต values ทีก่ าำ หนดไว้ แล้ วในรู ปที่ 5
1. ความเข้มข้น
: อ่อน
2. สี
: แดง
3. รสชาติ
: ละเอียดอ่อน
4. กรดจากไม้โอ๊ค
: ต่าำ
5. องุ่น
: Gamay (เป็ น instance ของคลาสไวน์)
6. ผูผ้ ลิต
: Chateau-Morgon (เป็ น instance ของคลาส Winery)
7. สถานที่
: Beaujolais (เป็ น instance ของคลาส Wine-Region)
8. ความหวาน
: น้อย
รู ปที่ 5 การนิยามของ instance ของคลาส Beaujolais , instance คือ Chateaux
Morgon Beaujolais จากที่ Beaujolais ผลิตจากองุ่น Gamay ผลิต โดยChateauMorgon มีความเข้มข้นน้อย รสชาติละเอียดอ่อน สี แดง มีกรดจากไม้โอ๊คน้อยเป็ น
ไวน์ที่หวานน้อย
4. กำาหนดคลาสและลำาดับชั้นของคลาส
ในส่ วนนี้เป็ นการอภิปรายสิ่ งที่มองถึงความผิดพลาดและมันเป็ นเรื่ องที่ง่ายมากเมื่อ
ทำาการกำาหนดและลำาดับชั้นของคลาส (ขั้นตอนที่ 4 จากส่ วนที่ 3) เรามีส่วนที่จะใช้ใน
การอ้างอิงไว้ก่อน ความถูกต้องของลำาดับชั้นของคลาสจะไม่มีเพียงอย่างเดียวสำาหรับ
การกำาหนดให้ในแต่ละขอบเขต ลำาดับชั้นนั้นจะขึ้นอยูก่ บั ความเป็ นไปได้ของการใช้
Ontology ระดับสำาหรับรายละเอียดนั้นมีความลำาเป็ นสำาหรับแอฟพลิเคชัน ความชื่น
ชอบส่ วนบุคคล และบางครั้งความต้องการส่ วนบุคคลที่สอดคล้องกับโมเดลอื่นๆ ที่
เกี่ยวข้องกัน
อย่างไรก็ตาม เราจะอภิปรายคำาแนะนำาแยกจากกัน เพื่อเก็บไว้เป็ นแนวความคิดเมื่อ
เราต้องการพัฒนาลำาดับชั้นของคลาส จากนั้นเรากำาหนดจำานวนสำาหรับคลาสใหม่น้ นั มี
จำานวนไม่นอ้ ย เพื่อเป็ นการช่วยในการคงระดับไว้ และเช็คเมื่อมีการปรากฏของลำาดับ
การยืนยันความถูกต้องแน่นอนไปถึงคำาแนะนำา
4.1 การตรวจสอบให้ แน่ ใจว่ าลำาดับชั้นของคลาสนั้นถูกต้ อง
ลำาดับชั้นของคลาสนั้น จะนำาเสนอโดยความสัมพันธ์ของ “is - a” ในคลาส A
และคลาสย่อย B ถ้าทุก ๆ ตัวอย่างสำาหรับ A จะไปปรากฏอยูใ่ นตัวอย่างสำาหรับ B
ดังตัวอย่างของ Chardonnay จะเป็ นคลาสย่อยสำาหรับไวน์ขาว อีกทางคิดหนึ่งคือ
ความสัมพันธ์ของอภิธานศัพท์ หรื อกล่าวคือ “ kind - of” ความสัมพันธ์
เช่นChardonnay จัดอยูใ่ นประเภทของไวน์ขาว, Jetliner คือ ประเภทของเครื่ องบิน
แบบหนึ่ง, เนื้อวัวจัดอยูใ่ นประเภทของอาหาร
คลาสย่อย (Subclass) สำาหรับคลาส (Class) จะมีการนำาเสนออยูใ่ นรู ปของ
แนวคิดที่เรี ยกว่า “kind of” ซึ่งแนวคิดนี้ จะนำาเสนออยูใ่ นรู ปแบบของคลาสแม่
(Super class) ไวน์ที่เพียงแค่ชนิดเดียว ไม่จดั เป็ นคลาสย่อย (Subclass) สำาหรับ
ไวน์ท้ งั หมด
โดยปกติแล้วการออกแบบจะมีความเข้าใจผิดกัน คือ จะเป็ นการรวมกันของทั้งสอง
สิ่ งที่มีความคล้ายคลึงกัน และมีรูปแบบที่ไม่มีความแตกต่างกันมากสำาหรับในแนวคิด
เดียวกัน ในลำาดับการสร้างของผูส้ ร้างคลาสย่อยสำาหรับส่ วนที่สอง สำาหรับในตัวอย่างนี้
มันคือผิดพลาดของการกำาหนดคลาสของไวน์และคลาสไวน์ที่เป็ นคลาสย่อย แต่ก่อนที่
จะคิดถึงลำาดับการนำาเสนอในรู ปแบบของความสัมพันธ์ “kind of” การออกแบบให้ขอ้
ผิดพลาดต่าง ๆ หมดไป ให้คิดว่า ไวน์ที่เป็ นชนิดเดียวนั้น ไม่สามารถที่จะระบุชนิดของ
ไวน์ท้งั หมดได้ ทางที่ดีที่สุดก็คือ หลีก เลี่ยงการที่จะทำาให้มนั เกิดข้อผิดพลาดที่อาจเกิด
ขึ้นได้ตลอดเวลา คือ ใช้แต่ละสิ่ งให้อยูใ่ นรู ปของสิ่ ง ๆ เดียว หรื อ หรื อให้มีการใช้ชื่อ
คลาสให้มากกว่าหนึ่งชื่อขึ้นไป (ดูได้จากส่ วนที่ 6 สำาหรับการกล่าวถึงการแนวคิดใน
การตั้งชื่อ)
Transitivity ของความสั มพันธ์ แบบลำาดับชั้น
ความสัมพันธ์ของซับคลาสเป็ น transitive
ถ้า B เป็ นซับเซตของ A และ C เป็ นซับเซตของ B แล้ว C จะเป็ นซับเซตของ A
ด้วย ตัวอย่างเช่น เราสามารถกำาหนดคลาสของไวน์ จากนั้นกำาหนดให้คลาสของไวน์
ขาวเป็ นซับเซตของไวน์ แล้วกำาหนดให้คลาส Chardonnay เป็ นซับคลาสของไวน์ขาว
transitive ของความสัมพันธ์ของซับคลาส หมายถึง คลาส Chardonnay เป็ นซับคลาส
ของไวน์ดว้ ย
วิวฒ
ั นาการแบบลำาดับชั้นของคลาส
การดำาเนินไปของลำาดับชั้นของคลาสที่สอดคล้องกัน อาจกระตุน้ ให้โดเมน
พัฒนาขึ้น ตัวอย่างเช่น เมื่อก่อน ไวน์ Zinfandel เป็ นสี แดง เราจึงกำาหนดคลาสของ
ไวน์ Zinfandel ให้เป็ นซับคลาสของคลาสไวน์แดง แต่บางครั้งเราได้ไวน์ Zinfandel
เป็ นสี ขาว ซึ่งเป็ นสี ของกุหลาบ เราจึงแยกคลาส Zinfandel ออกเป็ นสองคลาส คือ
Zinfandel สี ขาว และ Zinfandel สี แดง และจัดให้เป็ นซับคลาสของไวน์กหุ ลาบ และ
ไวน์แดงตามลำาดับ
คลาสและชื่อของคลาส
มันเป็ นความสำาคัญที่จะต้องจำาแนกคลาสและชื่อของคลาส :
คลาสแสดงให้เห็นถึงแนวความคิดในโดเมน ชื่อของคลาสอาจเปลี่ยนไป ถ้าเรา
เลือกคำาศัพท์ที่แตกต่างกัน แต่คาำ ศัพท์กแ็ สดงให้เห็นถึงความจริ งในโลก คำาเหมือน
จากแนวความคิดเดียวกันจะไม่แสดงถึงความแตกต่างกันของคลาส ระบบทั้งหลายจะ
เชื่อมโยงรายการของคำาเหมือน แปลความหมาย หรื อแสดงชื่อกับคลาส ถ้าระบบไม่
สามารถเชื่อมโยงได้ คำาเหมือนทั้งหลายจะอยูใ่ นรายการของคลาสเอกสาร
การหลีกเลีย่ งวงจรของคลาส
เราจะหลีกเลี่ยงวงจรในลำาดับชั้นของคลาส เราพูดถึงวงจรในลำาดับชั้น เมื่อบาง
ครั้ง คลาส A เป็ นซับคลาสของ B และในเวลาเดียวกัน B ก็เป็ นซูเปอร์คลาสของ A
การสร้างวงจรในลำาดับชั้นรวมถึงการกำาหนดคลาส A และ B ให้เท่ากันด้วย สมาชิก
ทุกตัวของ A จะเป็ นสมาชิกของ B และสมาชิกทุกตัวของ B จะเป็ นสมาชิกของ A
ด้วย
4.2 การวิเคราะห์ Siblings ในลำาดับชั้นของคลาส
Siblings ในลำาดับชั้นของคลาส
Siblings ในลำาดับชั้นของคลาส คือ คลาสนั้นเป็ นซับคลาสโดยตรงของกันและ
กัน Siblings ทั้งหมดในลำาดับชั้น (ยกเว้นส่ วนที่เป็ นราก) จะอยูท่ ี่ระดับเดียวกันตาม
หลักการทัว่ ไป
จำานวนเท่ าไหร่ ถงึ จะมาก และจำานวนเท่ าไหร่ ถงึ จะน้ อย
ไม่มีกฎเกณฑ์ที่เคร่ งครัดสำาหรับจำานวนของซับคลาสโดยตรงที่คลาสจะมีได้ แต่
โครงสร้างที่ดีของ ontology ควรอยูร่ ะหว่าง 2-12 ของซับคลาสโดยตรง เนื่องจากเรา
มีตวั ชี้นาำ 2 ตัวที่สนับสนุน ได้แก่
1. ถ้าคลาสมีซบั คลาสโดยตรงเพียงตัวเดียว อาจทำาให้โครงสร้างเกิดปั ญหา หรื อ
ontology ไม่สมบูรณ์
2. ถ้ามีจาำ นวนซับคลาสมากกว่า 12 เมื่อมีการเพิ่มคลาส อาจจะต้องมีปัจจัยอื่นใน
การจัดหมวดหมู่
4.3 การสื บทอดอย่ างหลากหลาย
คลาสหนึ่งๆ สามารถเป็ นซับคลาสของหลายคลาสได้ สมมติวา่ ไวน์ Port เป็ นทั้ง
ไวน์แดง และไวน์หวาน ดังนั้น เราจึงกำาหนดให้คลาส Port มีสองซูเปอร์คลาส :
คลาสไวน์แดง และคลาสไวน์หวาน คลาส Port จะสื บทอดคุณสมบัติจากบรรพบุรุษ
ำ
นัน่ คือ มันจะสื บทอดความหวานในส่ วนที่เป็ นน้าตาลจากคลาสไวน์
หวาน และจะ
สื บทอดส่ วนที่เป็ นสี จากคลาสไวน์แดง
4.4 เมื่อใดทีค่ วรเพิม่ คลาสใหม่ (หรือไม่ ควรเพิม่ )
ในการตัดสิ นใจว่าเมื่อใดที่ควรจะเพิ่มคลาสใหม่ หรื อไม่ควรเพิ่มนั้นเป็ นสิ่ งที่ยาก
และเพื่อให้ง่ายขึ้น เราจึงใช้กฎต่างๆ ของ thump มาช่วยในการตัดสิ นใจ ได้แก่
1. มีการเพิม่ คุณสมบัติที่ซูเปอร์คลาสไม่มี
2. กำาหนดข้อแตกต่างจากซูเปอร์คลาส
3. รวมความสัมพันธ์ที่แตกต่างจากซูเปอร์คลาส
4.5 คลาสใหม่ หรือ คุณสมบัติ ?
เมื่อมีการสร้างแบบจำาลองของโดเมน เราจำาเป็ นต้องตัดสิ นใจเสมอว่า แบบจำาลอง
นั้นมีความพิเศษอย่างไร (เช่น ขาว, แดง, หรื อไวน์กหุ ลาบ) ที่คุณสมบัติ หรื อเซตของ
คลาส นอกจากนี้ ข้ ึนอยูก่ บั ขอบเขตของโดเมนด้วย
ถ้าแนวคิดเกี่ยวกับคุณค่าของสล็อตที่แตกต่างกันกลายเป็ นการกำาจัดสล็อตที่แตก
ต่างในคลาสอื่นๆ หลังจากนั้นเราต้องสร้างคลาสใหม่ให้แก่ความแตกต่างนี้ ไม่เช่น
นั้น เราจะต้องแสดงให้เห็นความแตกต่างในคุณค่าของสล็อต
4.6 ตัวอย่ างหรือคลาส ?
การตัดสิ นใจว่าแนวคิดใดเป็ นคลาสใน ontology หรื อเป็ นตัวอย่าง ขึ้นอยูก่ บั
โปรแกรมที่มีศกั ยภาพของ ontology และบางกรณี เริ่ มต้นด้วยการตัดสิ นใจจากส่ วนที่
เล็กที่สุด
คลาสที่สามารถจัดเป็ นตัวแทนความรู้ในระบบความรู ้ ต้องไม่เกิดกรณี ตวั อย่าง
ขึ้น ดังนั้นถ้ามีการจัดคลาสทัว่ ไปในระหว่างขอบเขต เราควรจะกำาหนดขอบเขตของ
มันแม้วา่ ไม่มีกรณี ตวั อย่างเกิดขึ้นก็ตาม
4.7 การจำากัดขอบเขต
การจำากัดโดเมนเป็ นสิ่ งสุ ดท้ายในการกำาหนดลำาดับชั้น ตามด้วยชุดของกฎทัว่ ไป
ที่เป็ นประโยชน์ในการตัดสิ นใจ เมื่อคำาจำากัดความของ ontology ครบสมบูรณ์
Ontology ไม่ควรประกอบด้วยข้อมูลที่เป็ นไปได้ท้ งั หมดเกี่ยวกับโดเมนของ
ความรู้ : คุณไม่จาำ เป็ นต้องมีความเชี่ยวชาญมากกว่าที่คุณต้องการสำาหรับการประยุกต์
ใช้ของคุณ จากตัวอย่างของไวน์และอาหาร เราไม่จาำ เป็ นต้องรู ้จกั กระดาษที่ใช้สาำ หรับ
ติดชื่อไวน์
ในทำานองเดียวกัน ontology ทั้งหมดไม่ควรประกอบด้วยคุณสมบัติที่เป็ นไปได้
ทั้งหมด และความแตกต่างระหว่างลำาดับชั้นของคลาส
4.8 การแยกออกจากกันของซับคลาส
ระบบจำานวนมากช่วยให้เราสามารถระบุได้อย่างชัดเจนว่า คลาสมีการแยกออก
จากกัน คลาสที่แยกออกจากกันจะไม่สามารถยกตัวอย่างที่ร่วมกันได้ ตัวอย่างเช่น
คลาสไวน์หวาน และไวน์ขาวใน ontology ของเราจะไม่มีส่วนร่ วมกัน
การกำาหนดคลาสที่แยกออกจากกันทำาให้สามารถตรวจสอบระบบ ontology ได้ดี
ยิง่ ขึ้น และทำาให้ระบบสามารถระบุแบบจำาลองความผิดพลาดได้
5. อธิบายคุณสมบัติ - รายละเอียดเพิม่ ขึน้
5.1 ช่ องทีผ่ กผันกัน
ค่าของช่องอาจขึ้นอยูก่ บั ค่าของช่องอื่น ตัวอย่างเช่น ถ้าไวน์ผลิตโดยโรงกลัน่
เหล้าองุ่น จากนั้น โรงกลัน่ เหล้าองุ่นที่ผลิตไวน์ ความสัมพันธ์ท้ งั สอง ได้แก่ การทำา
และการผลิต เรี ยกว่า ความสัมพันธ์ที่ผกผันกัน จะจัดเก็บข้อมูลในทิศทางที่ซาซ้
้ ำ อน
โปรแกรมจะใช้ฐานความรู้สามารถสรุ ปค่าความสัมพันธ์แบบผกผันกัน ระบบความรู ้
ที่รวบรวมได้แล้วโดยอัตโนมัติจะกรอกค่าความสัมพันธ์ผกผันที่รับประกันความ
สอดคล้องของฐานความรู้
5.2 ค่าเริ่มต้ น
ระบบจะวางโครงสร้างให้ตามจำานวนคุณสมบัติของค่าเริ่ มต้นสำาหรับช่อง หาก
ช่องใดมีค่าเหมือนกัน เราสามารถกำาหนดค่านี้เป็ นค่าเริ่ มต้นสำาหรับช่อง จากนั้น
แต่ละกรณี ตวั อย่างใหม่ของคลาส จะสร้างช่องเติมค่าเริ่ มต้นให้โดยอัตโนมัติ เรา
สามารถเปลี่ยนค่าอื่นๆ ค่าที่ดา้ นหน้าจะช่วยให้ค่าเริ่ มต้นมีความสะดวก : จะไม่บงั คับ
ใช้ขอ้ จำากัดใหม่ๆ ในรุ่ นหรื อเปลี่ยนรู ปแบบใดๆ
6. มีอะไรในชื่อ ?
มีการกำาหนดข้อตกลงเรื่ องชื่อสำาหรับแนวคิดใน ontology แล้วอย่างเคร่ งครัด
คุณลักษณะต่อไปของระบบการแทนความรู้จะมีผลต่อข้อตกลงเลือกการตั้งชื่อ :
- มีระบบที่มีระยะห่างระหว่างชื่อเหมือนกันสำาหรับคลาส , ช่อง และกรณี
ตัวอย่างหรื อไม่ ? ซึ่งระบบจะยอมให้คลาส และช่องมีชื่อเดียวกัน (เช่น คลาส winery
และช่อง winery)?
- จะอยูใ่ นระบบเป็ นกรณี ๆ หรื อไม่ ? ระบบจะจัดการชื่อที่แตกต่างกันเท่านั้น
ในกรณี ที่เป็ นชื่ออื่น (เช่น Winery และ winery) หรื อไม่? จะกำาหนดขอบเขตของชื่อ
ได้อย่างไร ที่ชื่ออาจมีช่องว่าง, จุลภาค, เครื่ องหมายดอกจัน และอื่นๆ
6.1 ตัวพิมพ์ ใหญ่ และตัวคัน่
ำ
เราสามารถปรับการอ่านของ ontology ถ้าเราใช้ตวั พิมพ์ใหญ่อย่างสม่าเสมอ
สำาหรับชื่อแนวคิด เมื่อชื่อของแนวคิดมีมากกว่าหนึ่งคำา เราต้องกำาหนดขอบเขต
และนี่คือทางเลือกที่เป็ นไปได้
- การใช้ช่องว่าง : Meal course
- รันคำารวมกัน และใช้ตวั พิมพ์ใหญ่จากแต่ละคำาใหม่ : MealCourse
- ใช้ขีดล่างหรื อขีดหรื อตัวคัน่ อื่นๆ ในชื่อ : Meal_Course, Meal-Course
6.2 เอกพจน์ หรือ พหูพจน์
ชื่อคลาสเป็ นชุดของวัตถุ ตัวอย่างเช่น คลาสของไวน์ความจริ งคือไวน์ท้ งั หมด ซึ่ง
ธรรมชาติของนักออกแบบบางคนเรี ยก คลาสไวน์มากกว่าไวน์ ไม่มีทางเลือกที่ดีหรื อ
เลวร้ายยิง่ กว่าอื่นๆ (แม้วา่ เอกพจน์สาำ หรับชื่อคลาสจะใช้บ่อยในทางปฏิบตั ิ) ระบบ
ของบางคนต้องใช้ประกาศล่วงหน้า หรื อจะใช้เป็ นเอกพจน์ หรื อพหูพจน์สาำ หรับชื่อ
ของแนวความคิด และไม่อนุญาตให้เบี่ยงเบนจากตัวเลือก โดยจะใช้รูปแบบเดียวกัน
ตลอดเวลา เพื่อช่วยป้ องกันการออกแบบจากการทำาแบบจำาลองดังกล่าวผิดพลาดจาก
การสร้างคลาสไวน์ และสร้างคลาสไวน์เป็ นซับคลาส
6.3 ข้ อตกลงของคำานำาหน้ า และคำาต่ อท้ าย
บางฐานความรู ้แนะนำาให้ใช้ขอ้ ตกลงของคำานำาหน้า และคำาต่อท้ายในชื่อ
เพื่อแยกระหว่างคลาส และช่อง ทั้งสองจะเพิ่ม has- หรื อต่อท้าย –of ของช่องชื่อ
จึงกลายเป็ น has-maker และ has-winery ถ้าเลือก has- เป็ นข้อตกลง ช่องกลายเป็ น
maker-of และ winery-of ถ้าเลือก of- เป็ นข้อตกลง วิธีน้ ีจะช่วยให้ทุกคนมองระยะ
เวลาเพื่อตรวจสอบทันที ถ้าใช้ระยะเวลาเป็ นคลาส หรื อช่อง แต่จะทำาให้ชื่อยาวขึ้น
เล็กน้อย
6.4 พิจารณาการตั้งชื่อแบบอืน่ ๆ
ข้อตกลงในการตั้งชื่อแบบอื่นๆ ได้แก่
- จะไม่เพิ่มสตริ ง เช่น คลาส, คุณสมบัติ, ช่อง และอื่นๆ ที่ชื่อแนวคิด
- ใช้ชื่อที่แตกต่างกันของคลาส และช่อง (เช่น ตัวใหญ่ และไม่ใหญ่ ตามลำาดับ)
- ควรหลีกเลี่ยงการใช้คาำ ย่อในชื่อแนวคิด (เช่นใช้ Cabernet Sauvignon ดีกว่า
Cap)
- การตั้งชื่อซับคลาส ควรจะตั้งให้เป็ นไปในทิศทางเดียวกันทั้งหมด
7. แหล่ งข้ อมูลอืน่ ๆ
เราใช้ Protégé-2000 ในการพัฒนา ontology เราได้พยายามจัดการและพัฒนากับ
ส่ วนที่สาำ คัญที่สุดของ ontology และยังไม่ได้พดู คุยเกี่ยวกับหลายๆ หัวข้อที่เป็ นขั้นสู ง
หรื อวิธีการอื่นในการพัฒนา ontology
ปัจจุบนั นักวิจยั ไม่เพียงแต่จะเน้นการพัฒนา ontology แต่ยงั มีการวิเคราะห์
ontology อีกด้วย Ontology ถูกสร้างขึ้นและนำากลับไปใช้กบั เครื่ องมือซึ่ งสามารถ
วิเคราะห์ ontology ได้
8. สรุป
ในคู่มือนี้ เราได้อธิบายถึงวิธีการพัฒนา ontology สำาหรับอธิบายโครงสร้างระบบ
พื้นฐาน มีการแสดงขั้นตอนกระบวนการพัฒนา ontology และบอกถึงปั ญหาที่ซบั
ซ้อนของการกำาหนดคลาส และคุณสมบัติของคลาส ไม่มี ontology เดียวที่ถกู ต้องใน
โดเมนใดๆ ontology จะถูกออกแบบเป็ นกระบวนการที่สร้างสรรค์ ประโยชน์ที่ได้นาำ
มาประยุกต์ใช้กบั งาน ontology และความเข้าใจของนักออกแบบ และมุมมองของ
โดเมนที่สงสัยจะมีผลต่อการเลือกออกแบบ ontology ของเราเท่านั้น โดยใช้
โปรแกรมที่เราเป็ นผูส้ ร้าง