1. นายทศพร สร้างนานอก รหัสนิสิต 50031004 2. นางสาวจรัสพร บัวเรือง

Download Report

Transcript 1. นายทศพร สร้างนานอก รหัสนิสิต 50031004 2. นางสาวจรัสพร บัวเรือง

สมาชิกในกลมุ่
1. นายทศพร สร้างนานอก
2. นางสาวจรัสพร บัวเรือง
3. นางสาวธัญชนก ศ ุภสวัสดิ์
4. นายพิขย ุตม์ สมุทรเขต
5. นายสรรเสริญ มากเจริญ
รหัสนิสิต 50031004
รหัสนิสิต 50031592
รหัสนิสิต 50033855
รหัสนิสิต 50036344
รหัสนิสิต 50036481
Ontology Development 101
A Guide to Creating Your First
Ontology
1. ทำำไมต้ องพัฒนำ ontology ?
ปัจจุบนั ontology ได้กลายมาเป็ นพื้นฐานของ world-wide
web ซึ่ ง W3C ได้พฒั นาตัว RDF ซึ่งเป็ นภาษาที่ใช้ในการเข้า
รหัสความรู ้บนเว็บเพจเพื่อที่เวลาค้นหาข้อมูลตัว agent จะได้
เข้าใจเนื้อหาภายในเว็บเพจได้ หรื อคือการที่ให้คอมพิวเตอร์
สามารถสื่ อสารกันได้เอง
1. ทำำไมต้ องพัฒนำ ontology ? (2)
เหตุผลที่ตอ้ งพัฒนา ontology คือ
เข้าใจในโครงสร้างของข้อมูลระหว่างคน หรื อagent
นำาความรู ้กลับมาใช้ใหม่
สร้างสมมุติฐานที่เข้าใจได้
แบ่งขอบข่ายความรู ้ ออกจากความรู ้ที่ใช้งานได้
วิเคราะห์ขอบข่ายความรู ้ข่ายความรู ้
2. มีอะไรอยู่ใน ontology ?
ในปัญญาประดิษฐ์ ได้มีการนำาเอา ontology ไปบรรจุไว้
ได้อธิบายถึงลักษณะเด่นในหลายๆด้าน และลักษณะทางความ
คิด และการถูกกำาหนดภายในกรอบแคบๆ ontology รวมกับ
กลุ่มของตัวอย่างของคลาส นำามาสร้างเป็ นฐานความรู ้ในความ
เป็ นจริ ง มีการหาเส้นทางที่จะไปถึง จุดสิ้ นสุ ดของ ontology
และการเริ่ มต้นจากความรู ้พ้ืนฐาน
2. มีอะไรอยู่ใน ontology ? (ต่ อ)
การพัฒนา ontology จะต้องมี :
- กำาหนดคลาสใน ontology
- จัดเตรี ยมคลาสต่างๆ เป็ นกลุ่มตามลำาดับ (คลาสแม่-คลาสลูก)
- กำาหนดช่อง และคำาอธิบาย ที่จะใส่ ลงในช่องนั้น
- ใส่ ค่าในแต่ละช่องของอินสแตน
2. มีอะไรอยู่ใน ontology ? (ต่ อ)
รู ปที่ 1 คลาสต่างๆ, อินสแตนต่างๆ และความสัมพันธ์ระหว่าง ขอบข่ายของ
ไวน์ เราใช้เส้นสี ดาำ สำาหรับคลาสต่างๆ และเส้นสี แดงสำาหรับอินสแตน เราใช้เส้น
ในการแสดงช่อง และการเชื่อมต่อภายใน เช่น อินสแตน-ของ และ คลาสย่อย-ของ
3. วิศวกรรมควำมรู้ อย่ ำงง่ ำย
จากที่กล่าวมา ไม่มีวธิ ีการสร้าง ontology ที่สมบูรณ์ จาก
นี้เราจะพูดถึงประโยชน์โดยทัว่ ไป และเสนอถึงกระบวนการที่
เป็ นไปได้ในการพัฒนา ontology
3. วิศวกรรมควำมรู้ อย่ ำงง่ ำย (ต่ อ)
กฏเกณฑ์พ้ืนฐาน ในการออกแบบ :
1) ไม่มีขอบข่ายที่แน่นอน-ทางแก้ปัญหาที่ดีที่สุดขึ้นอยู่
กับการประยุกต์ของตัวเรา และขยายขอบเขตออกไป
ำ
2) การพัฒนา ontology ต้องมีการพัฒนากระบวนการซ้าๆ
3) แนวความคิดของ ontology จะต้องเข้าใจแนวความคิด
ของ ออบเจกต์
3. วิศวกรรมควำมรู้ อย่ ำงง่ ำย (ต่ อ)
การตัดสิ นใจว่าจะใช้ ontology เพื่ออะไร, และรายละเอียด
เป็ นอย่างไร ซึ่งเรามีทางเลือกหลายทาง ซึ่งเราต้องการทางเลือก
ที่ดีกว่าในการออกแบบงานของเรา ซึ่งอาจจะเป็ นการคาดเดา
ซึ่งเราจะต้องจำาไว้เสมอว่า ontology คือแบบจำาลองจากโลกของ
ความเป็ นจริ ง และแนวคิดของ ontology จะสะท้อนให้เห็น
ความจริ ง
ขั้นตอนที่ 1. ตรวจสอบโดเมนและของเขตของ Ontology
เราขอแนะนำาให้เริ่ มต้นการพัฒนาของ ontology ด้วยการกำาหนดโดเมนและ
ขอบเขต สิ่ งนี้คือหลาย ๆ คำาตอบที่เป็ นพื้นฐานของคำาถาม มีดงั นี้ :
- โดเมนที่ ontology ครอบคลุมอยูค่ ืออะไร?
- สำาหรับสิ่ งที่เราจะใช้ ontology อะไร?
- สำาหรับประเภทของคำาถามที่มีขอ้ มูลใน ontology ควรให้คาำ ตอบอย่างไร?
- ใครที่จะใช้และดูแลรักษา ontology?
คำาตอบสำาหรับคำาถามเหล่านี้อาจมีการเปลี่ยนแปลงระหว่างกระบวนการการ
ออกแบบ ontology แต่ในหลายครั้งจะช่วยจำากัดขอบเขตของตัวต้นแบบ
ขั้นตอนที่ 1. ตรวจสอบโดเมนและของเขตของ Ontology (ต่ อ)
พิจารณา ontology ของ wine และอาหารที่เราได้แนะนำาก่อนหน้านี้ การ
แสดงอาหารและไวน์ที่เป็ นโดเมนของ ontology เราได้ทาำ การวางแผนที่จะใช้
ontology สำาหรับการใช้งานที่ได้แนะนำาชุดที่ดีสาำ หรับไวน์และอาหาร
ตามธรรมดาแนวคิดอธิบายความแตกต่างประเภทของไวน์, ประเภทของ
อาหารหลัก, แนวคิดที่ดีของการรวมกันของไวน์และอาหาร และการผสมที่ไม่
ดีจะคิดเป็ น ontology ของเรา ในบางครั้งก็ไม่น่าที่จะเป็ นไปได้ของ ontology
ที่จะรวมแนวคิดจากการจัดการสิ นค้าคลังในโรงกลัน่ หรื อพนักงานในร้าน
อาหาร แม้วา่ แนวคิดนี้ ค่อนข้างมีความสัมพันธ์กบั แนวคิดของไวน์และอาหาร
ขั้นตอนที่ 1. ตรวจสอบโดเมนและของเขตของ Ontology (ต่ อ)
ถ้า ontology ที่เราออกแบบจะใช้เพื่อช่วยในการประมวลผลภาษา
ธรรมชาติของบทความในนิตยสารไวน์ มันอาจจะเป็ นสิ่ งที่สาำ คัญที่จะ
รวมคำาเหมือนและส่ วนคำาพูดของข้อมูลสำาหรับแนวคิดใน ontology
ถ้า ontology ที่จะใช้เพื่อช่วยเหลือลูกค้าร้านอาหารที่ช่วยตัดสิ นใจใน
การสัง่ ซื้อไวน์ เราต้องการรวมราคาของข้อมูลขายปลีก ถ้ามีการใช้ไวน์
ผูซ้ ้ื อในคลังสิ นค้าไวน์ ให้กาำ หนดราคาขายส่ งและความจำาเป็ น ถ้าคนที่
จะเก็บรักษา ontology อธิบายโดเมนในภาษาที่แตกต่างกันจากภาษา
ของผูท้ ี่ใช้ ontology อาจจะต้องให้ทาำ แผนที่ระหว่างภาษานั้นด้วย
ควำมสำมำรถของภำษำ
วิธีหนึ่งในการกำาหนดขอบเขตของ ontology คือ การร่ างรายการ
คำาถามว่าฐานความรู ้ตาม ontology ควรจะสามารถตอบคำาถามตาม
สมรรถภาพ (Gruninger และ Fox 1995) คำาถามเหล่านี้จะเป็ นการใช้
กระดาษลิตมัสในการทดสอบหลังจากนี้ : ไม่วา่ ontology มีขอ้ มูลเพียง
พอที่จะตอบคำาถามเหล่านี้หรื อไม่? คำาตอบที่ตอ้ งมีระดับของราย
ละเอียดหรื อตัวแทนของพื้นที่? ความสามารถของคำาถามเหล่านี้เป็ น
เพียงการร่ างและไม่ตอ้ งละเอียดนัก
ควำมสำมำรถของภำษำ (ต่ อ)
ในไวน์และโดเมนอาหารต่อไปนี้เป็ นคำาถามที่มีความเป็ นไปได้:
- ลักษณะใดควรพิจารณาเมื่อทำาการเลือกไวน์?
- ที่ Bordeaux เป็ นไวน์แดงหรื อไวน์ขาว?
- Cabernet Sauvignon ไปได้ดีกบั อาหารทะเลหรื อไม่?
- อะไรเป็ นตัวเลือกที่ดีที่สุดของไวน์สาำ หรับเนื้ อย่าง?
- ลักษณะอันไหนขอไวน์ที่มีผลกระทบกับความเหมาะสมของอาหาร ?
- อะไรที่เป็ นเป็ นกลิ่นหอมหรื อรู ปร่ างของการระบุความเปลี่ยนแปลง
ของไวน์ดว้ ยปี ของฤดูการเก็บองุ่น?
- อะไรคือ เหล้าองุ่นที่ดีสาำ หรับ Napa Zinfandel?
ควำมสำมำรถของภำษำ (ต่ อ)
การตัดสิ นจากรายการของคำาถามนี้ ontology จะรวบรวม
ข้อมูลเกี่ยวกับไวน์ชนิดต่าง ๆ ลักษณะและชนิดของไวน์ ปี ที่ดี
ของฤดูเก็บเกี่ยวองุ่นมีท้ งั ดี และไม่ดี ซึ่งคนจำาแนกประเภทของ
อาหารเรื่ องที่มีการเลือกไวน์ที่เหมาะสม โดยมีการแนะนำาให้
ผสมไวน์กบั อาหาร
ขั้นตอนที่ 2. พิจำรณำกำรนำำกลับมำใช้ ใหม่ ของ ontology ทีม่ ีอยู่
เกือบตลอดเวลาที่มีการพิจารณาสิ่ งที่คนอื่นได้ทาำ และถ้าเราสามารถตรวจสอบ
ปรับปรุ ง และขยายแหล่งที่มีอยูส่ าำ หรับโดเมนโดยเฉพาะงานของเราที่มีการนำากลับ
มาใช้ใหม่ของ ontology ที่มีอยูอ่ าจจะต้องการ หากระบบของเราต้องทำางานกับโปร
แกรมอื่นๆ ที่มีความมุ่งมัน่ อยูแ่ ล้ว ontology โดยเฉพาะหรื อคำาศัพท์เกี่ยวกับการ
ควบคุม หลายๆ ontology มีอยูแ่ ล้วในรู ปแบบอิเล็กทรอนิกส์และสามารถนำาเข้าไป
ใน การพัฒนา ontology ตามสภาพแวดล้ อมที่คณ
ุ ใช้ อยูไ่ ด้ โดยทัว่ ไป ontology
เป็ นการแสดงออกถึงสิ่ งที่ตอ้ งทำา เนื่องจากระบบฐานความรู ้ของการแสดงระบบที่
สามารถนำาเข้าและส่ งออก ontology แม้มีระบบการแสดงฐานความรู ้ ไม่สามารถ
ทำางานได้โดยตรงกับการกระทำาตามแบบเฉพาะของงานแปล ontology จากการกระ
ทำาตามที่อื่นมักจะไม่ยงุ่ ยากนัก
ขั้นตอนที่ 2. พิจำรณำกำรนำำกลับมำใช้ ใหม่ ของ ontology ทีม่ ีอยู่ (ต่ อ)
ตัวอย่างเช่น ฐานความรู้ของไวน์ฝรั่งเศสอาจจะมีอยู่ ถ้าเราสามารถนำา
เข้าฐานความรู ้และ ontology ที่จะตามเราจะได้ไม่เพียงแต่การจำาแนกไวน์
ฝรั่งเศส แต่เช่นเดียวกับการผ่านครั้งแรกด้วยการจำาแนกอาจจะเริ่ มใช้
ประโยชน์จากเว็บไซต์เชิงพานิชย์ เช่น www.wines.com ลูกค้าใช้พิจารณา
ในการซื้ อไวน์
สำาหรับคู่มือนี้ เราจะคิดว่าไม่ตรงประเด็นกับ ontology ที่เกี่ยวข้องอยู่
แล้วเริ่ มต้นพัฒนา ontology จากการเริ่ มต้นจากความยุง่ ยากก่อน
ขั้นตอนที่ 3 ข้ อตกลงทีส่ ำ ำคัญใน ontology
เป็ นประโยชน์ในการเขียนรายการของข้อตกลงทั้งหมดที่เราต้องการทั้งการทำางบ
ประมาณหรื อการอธิ บายให้ผใู ้ ช้ คือข้อตกลงที่เราต้องการจะพูดคุยเกี่ยวกับอะไร
คุณสมบัติอะไรที่ขอ้ ตกลงมี? เราต้องการอะไรกับข้อตกลงเหล่านั้น? เช่น คำาที่เกี่ยวข้อง
ำ ชนิด
กับไวน์จะรวมถึงไวน์องุ่น โรงกลัน่ ที่ต้ งั สี ของไวน์ได้ รู ปร่ าง รสชาด และ น้าตาล
ของอาหารต่างๆ เช่น ปลา และ สี แดง เนื้อสัตว์ ชนิดย่อยของไวน์ เช่นไวน์ขาวและอื่นๆ
เริ่ มแรกเป็ นสิ่ งสำาคัญเพือ่ ให้ได้ รายการครอบคลุมเงื่อนไขโดยไม่ตอ้ งกังวลเกี่ยวกับการ
ทับซ้อนระหว่างแนวความคิด แสดงความสัมพันธ์ระหว่างคำาหรื อคุณสมบัติใด ๆ ที่อาจ
มีแนวคิดหรื อ แนวคิดของคลาสและสลอท ถัดไปสองขั้นตอน – พัฒนาลำาดับชั้นและ
กำาหนดคุณสมบัติของแนวคิด สล็อต (slots) เป็ นการผสานแบบใกล้ชิด มันยากที่จะทำา
อย่างใดอย่างหนึ่งก่อนแล้วจึงทำาอย่างอื่น
ขั้นตอนที่ 3 ข้ อตกลงทีส่ ำ ำคัญใน ontology (ต่ อ)
โดยปกติเราจะสร้างคำาจำากัดความไม่กี่แนวคิดในลำาดับชั้นจากนั้น
ต่อด้วย การอธิบายคุณสมบัติของแนวคิดเหล่านี้ เป็ นต้น ทั้งสองขั้น
ตอนนี้ต่อไปเป็ นขั้นตอนสำาคัญในกระบวนการออกแบบ ontology เรา
จะอธิบายสั้นๆให้ที่นี่แล้ว ใช้อีกสองขั้นตอนในการอภิปรายปั ญหาที่
ซับซ้อนมากขึ้นที่จะต้องพิจารณาข้อผิดพลาดทัว่ ไปเพื่อตัดสิ นใจให้
และวิธีอื่นๆ
ขั้นตอนที่ 4. กำรกำำหนดคลำสและลำำดับของคลำส
มีหลายวิธีที่เป็ นไปได้ในการพัฒนาลำาดับของคลาส (Uschold และ Gruninger
1996) :
กระบวนกำรพัฒนำจำกบนลงล่ ำง(A top-down development) เริ่ มต้นด้วยคำา
นิยามโดยทัว่ ไปที่พบมากที่สุดตามแนวคิดในโดเมนและเอาความเชี่ยวชาญนัน่ ไปคิด
เป็ นแนวทาง ตัวอย่างเช่น เราสามารถเริ่ มต้นด้วยการสร้างระดับสำาหรับแนวคิดโดย
ทัว่ ไปของไวน์และอาหาร แล้วเมื่อเรามีความเชี่ยวชาญในระดับของ Wine แล้วเราก็
จะสร้างรายระเอียดย่อย ๆ(subclasses)ในระดับนัน่ : ไวน์ขาว ไวน์แดง โรสไวน์ เรา
ยังสามารถจัดระดับชั้นไวน์แดงเช่น เป็ น Syrah, Red Burgundy, Cabernet Sauvignon
และอื่นๆ
ขั้นตอนที่ 4. กำรกำำหนดคลำสและลำำดับของคลำส (ต่ อ)
กำรพัฒนำจำกล่ ำงขึน้ บน(A bottom-up development) เริ่ มต้น
ด้วยคำานิยามของความจำาเพาะมากที่สุดในใบของชั้นโดยมีการจัดกลุ่ม
ตามลักษณะสิ่ งเหล่านี้เป็ นแนวคิดที่กว้างมากขึ้น ตัวอย่างเช่นเราเริ่ ม
ต้นด้วยการกำาหนดลักษณะของชั้น สำาหรับไวน์ Pauillac และ
Margaux จากนั้นเราจะสร้าง superclass ทัว่ ไปสำาหรับทั้งสองประเภท Medoc ซึ่งจะเป็ น subclass ของ Bordeaux
ขั้นตอนที่ 4. กำรกำำหนดคลำสและลำำดับของคลำส (ต่ อ)
การพัฒนาโดยการนำามาผสมกัน(A combination development) คือการรวม
กันของการพัฒนาแบบบนลงล่างและล่างขึ้นบน เรากำาหนดให้นาำ แนวคิดที่มี
ความสำาคัญมากนำามาพูดคุยกันก่อนและเลือกแนวความคิดจากความชำานาญ
เฉพาะเป็ นพิเศษของพวกเขาอย่างเหมาะสม เราอาจเริ่ มต้นด้วยแนวคิดระดับ
บนสุ ดในส่ วนเล็ก ๆเช่นไวน์และแนวคิดเฉพาะบางอย่างเช่น Margaux เรา
สามารถนำาเอามาเชื่อมโยงกันเป็ นแนวคิดระดับกลางเช่น Medoc แล้วถ้าเรา
ต้องการสร้างทั้งหมดเราอาจต้องไปศึกษาจากชั้นเรี ยนไวน์ในท้องถิ่นประเทศ
ฝรั่งเศสเลยก็ได้ ดังนั้นจึงเกิดการสร้างแนวความคิดในระดับกลางขึ้นมากมาย
ขั้นตอนที่ 4. กำรกำำหนดคลำสและลำำดับของคลำส (ต่ อ)
รู ปที่ 2 แสดงการแยกส่ วนย่อยๆ ในระดับต่างๆ ของคุณลักษณะทัว่ ๆไป
รู ปที่ 2. ระดับความแตกต่างของอนุกรมวิธานของ wine : ไวน์เป็ นแนวคิดโดยทัว่ ไปมากที่สุด ไวน์แดง,
ไวน์ขาว และ ไวน์สีกหุ ลาบ เป็ นระดับความคิดทัว่ ไป Pauillac และ Margaux เป็ นคลาสที่ถูกระบุมากที่สุด
ในลำาดับชั้น (หรื อแนวความคิดระดับล่าง)
ขั้นตอนที่ 4. กำรกำำหนดคลำสและลำำดับของคลำส (ต่ อ)
เป็ นสิ่ งที่ไม่มีอยูใ่ นทั้งสามวิธีโดยเนื้ อแท้แล้วสิ่ งที่ดีกว่าในแนวความคิดของ
ผูอ้ ื่น วิธีการที่จะมีผลอย่างมากในมุมมองส่ วนตัวของโดเมน หากนักพัฒนามีมุม
มองจากบนลงล่างในระบบของโดเมนแล้วมันอาจจะง่ายต่อการใช้วิธีการจาก
บนลงล่าง วิธีการนำามารวมกันมักจะเป็ นสิ่ งที่ง่ายสำาหรับนักพัฒนา ontology
มากจากแนวคิด "ในระดับกลาง" มักจะเกิดเป็ นแนวคิดขึ้นในโดเมน (Rosch
1978) หากคุณจะคิดว่าไวน์น้ นั มักจะแยกจากลักษณะที่แตกต่างโดยทัว่ ไปของ
ไวน์มากที่สุดก่อนแล้ววิธีการจากบนลงล่างอาจทำางานที่ดีกว่าสำาหรับคุณ
ขั้นตอนที่ 4. กำรกำำหนดคลำสและลำำดับของคลำส (ต่ อ)
หากคุณต้องการเริ่ มต้นโดยการตรวจสอบกับตัวอย่างที่มีความเฉพาะ
เจาะจงเป็ นพิเศษ วิธีการด้านล่างขึ้นบน อาจจะเหมาะสมกว่า วิธีที่เรา
เลือกเรามักจะเริ่ มต้นด้วยการกำาหนดประเภท จากรายการที่สร้างใน 3 วิธี
ที่เราเลือกคำาที่ใช้อธิบายวัตถุที่มีอยูอ่ ย่างอิสระนัน่ มีมากกว่าคำาที่อธิบาย
วัตถุเหล่านี้ ข้อตกลงเหล่านี้จะมีในการเรี ยน ontology และจะกลายเป็ น
แองในลำาดับชั้นที่เรี ยน เราจัดประเภทเป็ นอนุกรมวิธานลำาดับชั้นโดยให้
คำาถามที่เป็ นตัวอย่างในหนึ่งระดับเป็ นสิ่ งที่ตอ้ งมีเช่น (โดยนิยาม) เป็ น
ตัวอย่างในชั้นนัน่
ขั้นตอนที่ 4. กำรกำำหนดคลำสและลำำดับของคลำส (ต่ อ)
ถ้ า class A เป็ น superclass ของ class B จากนั้นทุก ตัวอย่ างของ B เป็ นตัวอย่ างของ A
ในคำาอื่น ๆ class B เป็ นการแสดงแนวคิดที่เป็ น "ลักษณะของ" A
ตัวอย่างเช่นทุกอย่างที่เป็ นส่ วนประกอบของ ไวน์ Pinot Noir จำาเป็ นต้องเป็ นไวน์แดง ดังนั้น Pinot
Noir class เป็ น subclass ของคลาสไวน์แดง
รู ปที่ 2 แสดงส่วนหนึ่งของลำาดับชั้นเรี ยนสำาหรับ ontology ไวน์ มาตรา 4 มีการสนทนารายละเอียดของสิ่ งที่มองหาเมื่อมีการ
กำาหนดลำาดับชั้น
รู ปที่ 3 ช่ องสำ ำหรับชั้นไวน์ และ facets สำ ำหรับช่ องนี้ "I" เป็ นไอคอนถัดจำก maker เป็ นช่ องที่ระบุว่ำช่ วงที่มีควำมผกผัน
(Section 5.1)
ขั้นตอนที่ 5. กำำหนดคุณสมบัตขิ องคลำส – สล็อต
คลาสเดี่ยวจะไม่ให้ขอ้ มูลเพียงพอที่จะตอบคำาถามตามความสามารถ จาก
ขั้นตอนที่ 1. เมื่อเราได้กาำ หนดบางคลาสแล้ว เราต้องอธิบายถึงโครงสร้างของ
แนวคิดด้วย
เราได้เลือกคลาสจากรายการตามขอบเขตที่เราสร้างในขั้นตอนที่ 3. ในที่สุด
ของขอบเขตที่เหลือจะมีแนวโน้มที่จะเป็ นคุณสมบัติของคลาสเหล่านี้ดว้ ย ใน
ขอบเขตเหล่านี้รวมถึงการยกตัวอย่าง เช่น สี ของไวน์ ,รู ปร่ าง, รสชาติ และ
ำ และสถานที่ของโรงกลัน่ ด้วย
น้าตาล
ขั้นตอนที่ 5. กำำหนดคุณสมบัตขิ องคลำส – สล็อต (ต่ อ)
สำาหรับแต่ละคุณสมบัติในรายการนั้น เรามักจะต้องกำาหนดคลาสด้วยคำาอธิบาย
ซึ่งคุณสมบัติเหล่านี้เป็ นสล็อตที่ติดกันกับคลาส ดังนั้น คลาสของไวน์จะมีสล็อตดังต่อ
ำ และคลาสของโรงกลัน่ จะมีสถานที่ของสล็อต
ไปนี้ : สี , รู ปร่ าง, รสชาติ และ น้าตาล
ด้วย
โดยทัว่ ไปแล้วจะมีคุณสมบัติวตั ถุอยูห่ ลาย ๆ ประเภทที่สามารถจะเป็ นสล็อตใน
ontology :
“ภายใน” คุณสมบัติภายในเช่น รสชาติของไวน์
“ภายนอก” คุณสมบัติภายนอกเช่น ชื่อ และพื้นที่ที่มาจาก :
ส่ วน ถ้า วัตถุคือโครงสร้าง ; จะสามารถเป็ นได้ท้ งั สองอย่างคือ ทางกายภาพและ
นามธรรม “ส่ วน” (ยกตัวอย่างเช่น หลักสูตรของอาหาร)
ขั้นตอนที่ 5. กำำหนดคุณสมบัตขิ องคลำส – สล็อต (ต่ อ)
ความสัมพันธ์กบั บุคคลอื่น ๆ ; ซึ่งสิ่ งเหล่านี้มีความสัมพันธ์ระหว่าง
บุคคล สมาชิกของคลาสและสิ่ งของอื่น ๆ ด้วย (ยกตัวอย่างเช่น การผลิต
ไวน์ที่แสดงถึงความสัมพันธ์ระหว่างไวน์และโรงกลัน่ และองุ่นที่นาำ มาทำา
เป็ นไวน์)
ดังนั้น นอกเหนือจากคุณสมบัติที่เราได้ทาำ การระบุไว้ก่อนหน้าที่เรา
เราต้องเพิ่มสล็อตต่อไปนี้ในคลาสของไวน์ดว้ ย : ชื่อ , พื้นที่ , การผลิต,
องุ่น ดังรู ปที่ 3
จะแสดงถึงสล็อตสำาหรับคลาสของไวน์
ขั้นตอนที่ 5. กำำหนดคุณสมบัตขิ องคลำส – สล็อต (ต่ อ)
ในส่ วนย่อยทั้งหมดของคลาสที่เกิดจากการสื บทอด สล็อตของคลาส ยกตัวอย่าง
เช่น สล็อตทั้งหมดของคลาสไวน์ จะมีการสื บทอดถึงคลาสย่อยทั้งหมดของหวาน
รวมทั้ง ไวน์แดง และ ไวน์ขาว เราจะทำาการเพิม่ อีกสล็อตคือ ระดับของ แทนนิน
(ต่า,ำ ปานกลาง , หรื อสูง) เพื่อแสดงคลาสของไวน์แดง ระดับของแทนนิน จะมีการ
สื บทอดโดยคลาสทั้งหมดจะแสดงถึงไวน์แดง (เช่น Bordeaux และ Beaujolais) (เป็ น
ชื่อยีห่ อ้ ของไวน์ หรื ออาจจะเป็ นเมืองของประเทศฝรั่งเศส)
สล็อตควรจะติดกับคลาสทัว่ ไปมากที่สุดถึงจะมีคุณสมบัติของคลาส ตัวอย่าง
เช่น รู ปร่ างและสี ของไวน์ควรจะติดกับคลาสของไวน์ เนื่องจากเป็ นที่ยอมรับของ
คลาสทัว่ ไปมากที่สุด ในกรณี ที่จะมีรูปร่ างและสี
ขั้นตอนที่ 6. กำำหนดใบหน้ ำของสล็อต
สล็อตสามารถมีใบหน้าที่แตกต่างกันเพื่ออธิบายค่าของประเภทได้
ค่าที่ยอมรับ จำานวนของค่า (จำานวนนับ) และคุณสมบัติอื่น ๆของค่า
สล็อตสามารถทำาได้ ตัวอย่างเช่น ค่าประเภทของสตริ ง สล็อตจะผลิต
(ยกตัวอย่างเช่น “โรงกลัน่ ผลิตไวน์” ) สามารถมีหลาย ๆ ค่าและ ค่าที่
เป็ นตัวอย่างของคลาสไวน์ ซึ่งก็คือ การผลิตสล็อตด้วยค่าประเภทของ
ตัวอย่างด้วย ไวน์ ที่เป็ นคลาสที่ยอมรับ
ขั้นตอนที่ 6. กำำหนดใบหน้ ำของสล็อต (ต่ อ)
ตอนนี้เราจะอธิบายถึงใบหน้าพื้นฐานในหลาย ๆ ประการ
ควำมสำ ำคัญของสล็อต
ความสำาคัญของสล็อตถูกกำาหนดด้วยจำานวนค่าสล็อตที่สามารถมีได้ บางระบบ
จะถูกแยกออกซึ่งเป็ นบางระบบเท่านั้น ซึ่งจะแยกระหว่าง ความสำาคัญเดียว (ยอมรับ
ให้มากที่สุดในค่า ๆ หนึ่ง) และความสำาคัญหลาย ๆค่า (ยอมรับหลายจำานวนของค่า)
รู ปร่ างของไวน์จะเป็ นจำานวนสล็อตเดี่ยว (ไวน์สามารถมีรูปร่ างได้เพียงแบบเดียว)
ไวน์ที่ผลิตจากโรงกลัน่ โดยเฉพาะจะเติมใน หลาย ๆ ส่ วนที่สาำ คัญของผลิตภัณฑ์
สล็อตสำาหรับคลาสของไวน์
ขั้นตอนที่ 6. กำำหนดใบหน้ ำของสล็อต (ต่ อ)
ำ ดและสูงสุ ด
บางระบบที่ยอมให้คุณสมบัติของความสำาคัญที่ต่าสุ
ำ ด
เพื่อที่จะอธิบายถึงจำานวนของค่าสล็อตที่แม่นยำา ความสำาคัญที่ต่าสุ
ของ N หมายถึงสล็อตมักจะมีค่าอย่างน้อง N ค่า ยกตัวอย่างเช่น สล็อต
ำ ด ของ 1 : แต่ละไวน์คือผลิตมาอย่าง
องุ่นของไวน์มีความสำาคัญต่าสุ
น้อยจากหนึ่งความหลากหลายขององุ่น บางครั้งอาจะเป็ นประโยชน์
เพื่อที่จะกำาหนดความสำาคัญสูงสุ ด ถึง 0 การตั้งค่านี้จะแสดงให้เห็นว่า
สล็อตไม่สามารถมีได้หลาย ๆ ค่า โดยเฉพาะสำาหรับคลาสย่อย
ขั้นตอนที่ 6. กำำหนดใบหน้ ำของสล็อต (ต่ อ)
ประเภทของค่ ำสล็อต
ค่าของประเภทของใบหน้าได้อธิบายประเภทของค่าซึ่งสามารถเติมได้ในสล็อต
นี่คือรายการของประเภทค่าทัว่ ไป :
สตริง เป็ นประเภทของค่าที่ง่ายที่สุด คือจะใช้สาำ หรับสล็อต เช่น ชื่อ ที่เป็ นค่าสตริ งที่
ง่ายที่สุด
จำำนวน (บางครั้งเฉพาะเจาะจงที่ค่าประเภทของค่า ทศนิยม และตัวแปล จะถูกใช้)
อธิ บายถึงสล็อตด้วยค่าตัวเลข ยกตัวอย่างเช่น ราคาของไวน์สามารถมีค่าทศนิยมได้ดว้ ย
บูลนี เป็ นสล็อตที่ง่ายคือจะมีธง ใช่ – ไม่ใช่ ยกตัวอย่างเช่น ถ้าเราเลือกที่จะไม่แสดงถึง
ประกายของไวน์เป็ นคลาสที่ถกู แยกออก ไม่วา่ จะหรื อไม่ ไวน์เป็ นประกายและถ้าค่าเป็ น
“เท็จ” (“ไม่”) ไวน์จะไม่มีประกายเลย
ขั้นตอนที่ 6. กำำหนดใบหน้ ำของสล็อต (ต่ อ)
ประเภทของค่ำสล็อต (ต่ อ)
กำรแจกแจง สล็อตที่ระบุในรายการของค่าที่ยอมรับสำาหรับสล็อต ยกตัวอย่าง เรา
สามารถระบุ รสชาติ สามารถใช้เวลาหนึ่งในสามของค่าที่เป็ นไปได้ : แบบหยาบ , ปานกลาง
และ ละเอียดละอ่อน ในใบคุม้ ครอง – 2000 การแจกแจงสล็อตเป็ นประเภทของสัญลักษณ์
กำรดำำเนินกำร ประเภทของสล็อตได้ให้คาำ นิยามของความสัมพันธ์ระหว่างบุคคล
สล็อตด้วยค่าประเภทที่ได้ดาำ เนินการมักจะต้องกำาหนดรายการของคลาสที่ยอมรับจากสิ่ งที่
ดำาเนินการมาแล้ว ยกตัวอย่างเช่น สล็อตของผลิตภัณฑ์สาำ หรับคลาสของโรงกลัน่ มักจะมีการ
ดำาเนินการของคลาสไวน์ดว้ ยค่าของมันเอง
ขั้นตอนที่ 6. กำำหนดใบหน้ ำของสล็อต (ต่ อ)
รู ปที่ 4 แสดงถึงคำานิยามของสล็อตผลิตภัณฑ์ที่คลาสของโรงกลัน่
รู ปที่ 4. นิยามของสล็อตผลิตภัณฑ์ที่อธิบายถึงการผลิตไวน์ดว้ ยโรงกลัน่ สล็อตมีความสำาคัญ
หลายอย่าง , ประเภทของค่า และคลาสของไวน์ดว้ ยการยอมรับคลาสสำาหรับค่าของมันเอง
โดเมนและช่ วงของสลอท
allowed classes สำาหรับสลอทของรู ปแบบ instance มักจะ
เรี ยกว่า ช่วงของสลอท ในตัวอย่างจากรู ปที่ 4 เป็ นคลาส ไวน์
(Wine) จะเป็ น range ของสลอทผลิตภัณฑ์ ซึง่ บางระบบยอมให้
มีการกำาหนด range ของสลอทเมื่อสลอทมีการเชื่อมต่อกับ
คลาสพิเศษ
โดเมนและช่ วงของสลอท (ต่ อ)
คลาสที่สลอทเชื่อมติดหรื อคลาสส่ วนที่เป็ นสิ ทธิ์ ของสลอท
เรี ยกว่า โดเมน domain (ขอบเขต) ของสลอท เช่น Winery
(แหล่งผลิตไวน์) จะเป็ นโดเมนของสลอท produces (การผลิต)
ในระบบที่มีการเชื่อมสลอทกับคลาส คลาสที่มีการเชื่อมสลอ
ทนันมั
้ กจะเป็ นโดเมนของสลอท และไม่จำาเป็ นต้ องระบุโดเมน
ให้ เป็ นทำานองเดียวกัน
โดเมนและช่ วงของสลอท (ต่ อ)
กฎพืน้ ฐำนในกำรกำำหนดโดเมนและช่ วงของสลอท
เมื่อกำาหนดโดเมนหรื อช่วงสำาหรับสลอท พบคลาสทัว่ ไปมากที่สุด
หรื อคลาสที่สามารถตามลำาดับโดเมนหรื อช่วงสำาหรับสลอท ในทางกลับ
กัน ไม่กาำ หนดโดเมนและช่วงที่มีมากเกินไป คลาสทั้งหมดในโดเมนของ
สลอทควรจะอธิบายโดยสลอทและกรณี ของทุกคลาสในช่วงของสลอท
ควรจะเกิดขึ้นได้ อย่าเลือกมากเกินไปสำาหรับช่วงของคลาสทัว่ ไป (เช่น
หนึ่งไม่ตอ้ งการสร้างช่วงของ THING) แต่กค็ วรเลือกคลาสที่จะครอบคลุม
ทั้งหมด
โดเมนและช่ วงของสลอท (ต่ อ)
ในระบบที่มีการเชื่อมสลอทในคลาส เป็ นเหมือนการเพิ่มคลาสในโดเมนของสลอท
เหมือนกับกฎของการเชื่อมต่อสลอท ในอีกแง่หนึ่งเราควรพยายามทำาให้เป็ นแบบทัว่ ไป
มากที่สุด ในทางตรงกันข้ามเราจะต้องแน่ใจว่าแต่ละคลาสที่เราเชื่อมติดสลอทสามารถ
ทำาหน้าที่แทนสลอทได้ เราสามารถติดแทนแต่ละระดับชั้นของคลาส red wines (เช่น
Bordeaux, Merlot, Beaujolais ฯลฯ) แต่เนื่องจาก red wines ทั้งหมดมีคุณสมบัติ tanninlevel เราควรจะแทนสลอทที่ติดกันนี้ดว้ ยคลาสทัว่ ไปมากกว่าไวน์แดง (red wines)
Generalizing โดเมนของ tannin level สลอทต่อไป (โดยติดไปยังคลาสไวน์แทน) จะไม่
ถูกต้องเพราะเราไม่ได้ใช้ tannin level เพื่ออธิบายไวน์ขาว (white wines)
ขั้นตอนที่ 7 สร้ ำง Instances
ขั้นตอนสุ ดท้าย คือ การสร้าง instance แต่ละคลาสในลำาดับชั้น
การกำาหนด instance แต่ละชั้นที่ตอ้ งการ
(1) เลือกคลาส
(2) สร้าง instance แต่ละคลาส
(3) กรอกค่าสลอท
ตัวอย่าง เช่น เราสามารถสร้าง instance Chateau - Morgon – Beaujolais แสดง
ลักษณะเฉพาะของไวน์ Beaujolais
ขั้นตอนที่ 7 สร้ ำง Instances (ต่ อ)
Beaujolais Chateau - Morgon - Beaujolais เป็ น instances ของคลาส
Beaujolais ที่แสดงถึงไวน์ Beaujolais ทั้งหมด ส่ วน instance เหล่านี้ดูได้จากค่าที่
ถูกกำาหนดไว้ (รู ปที่ 5)
Body: Light
Color: Red
Flavor: Delicate
Tannin level: Low
Grape: Gamay (instance ของคลำส Wine grape)
Maker: Chateau-Morgon (instance ของคลำส Winery)
Region: Beaujolais (instance ของคลำส Wine-Region)
Sugar: Dry
ขั้นตอนที่ 7 สร้ ำง Instances (ต่ อ)
รู ปที่ 5 นิยามของ instance ของคลาส Beaujolais instance คือ Chateau-Morgan
Beaujolais ที่มาจากพื้นที่ Beaujolais ที่ผลิตจากองุ่น Gamay โดยแหล่งผลิต ChateauMorgan เป็ นไวน์ที่มีรสชาติละเอียดอ่อน สี แดง และระดับแทนนินต่าำ เป็ นไวน์แห้ง
กำำหนดคลำสและลำำดับชั้นของคลำส
ส่ วนนี้ จะอธิบายสิ่ งที่ควรระวังและข้อผิดพลาดที่ง่ายต่อการกำาหนด คลาสและ
ลำาดับชั้น (ขั้นตอนที่ 4 จากข้อ 3) ที่เราได้กล่าวก่อนหน้านี้ ที่ไม่มีลาำ ดับชั้นของ
คลาสเพียงชั้นเดียวที่ถกู ต้องตามโดเมนที่กาำ หนดให้ ลำาดับชั้นขึ้นอยูก่ บั ความเป็ น
ไปได้ของ ontology รายละเอียดของระดับที่จาำ เป็ นสำาหรับการประยุกต์ใช้ การตั้ง
ค่าส่ วนตัวและบางครั้งต้องเข้ากันได้กบั รุ่ นอื่นๆ แต่เราหาแนวทางต่างๆเพื่อพัฒนา
ลำาดับชั้นของคลาส หลังจากที่กาำ หนดคลาสใหม่เป็ นจำานวนมากจะเป็ นประโยชน์
ที่จะกลับมาดูและตรวจสอบลำาดับชั้นใหม่ ๆ ที่ สอดคล้องกับหลักเกณฑ์เหล่านี้
ตรวจสอบควำมถูกต้ องของลำำดับชั้นของคลำส
ความสัมพันธ์ “is-a”
ลำาดับชั้นของคลาสเป็ น "is - a" ความสัมพันธ์ คลาส A เป็ นคลาสย่อยของ
คลาส B ถ้าทุกๆ instance ของคลาส A เป็ น instance คลาส B ตัวอย่างเช่น ทุก
Chardonnay เป็ นคลาสย่อยของไวน์ขาว (White wine)
วิธีคิดอนุกรมวิธานของความสัมพันธ์ก็คือ “kind-of”
ความสัมพันธ์ : Chardonnay เป็ นประเภทของไวน์ขาว jetliner เป็ นชนิดของ
อากาศยาน เนื้อ (Meat) เป็ นชนิดของอาหาร
คลาสย่อยของคลาสเป็ นแนวคิดที่เป็ น “kind of” ซึ่ งเป็ นทีแ่ สดงถึง
superclass (คลาสแม่ ) ไวน์ (Single wine) ไม่ใช่คลาสย่อยของไวน์ทงั้ หมด
ตรวจสอบควำมถูกต้ องของลำำดับชั้นของคลำส (ต่ อ)
ความผิดพลาดของแบบจำาลองทัว่ ไป ประกอบไปด้วยทั้งเอกพจน์และ
พหูพจน์ของรุ่ นเดียวกัน แนวคิดเกี่ยวกับลำาดับชั้นก่อนหน้านี้ทาำ ให้คลาสย่อยมี
ความผิดพลาด เมื่อกำาหนดคลาสไวน์และคลาสไวน์เป็ นคลาสย่อย แต่เมื่อคิด
เป็ นลำาดับชันของความสั
้
มพันธ์ “kind-of” แทน จะเห็นข้อผิดพลาดของแบบ
จำาลองชัดเจนขึ้น:
ไวน์ (Wine) เดียวไม่ได้ชนิดของไวน์ (Wine) ทั้งหมด วิธีที่ดีที่สุดเพื่อหลีก
เลี่ยงข้อผิดพลาดดังกล่าว คือ ใช้ท้ งั เอกพจน์หรื อพหูพจน์ในการตั้งชื่อคลาส (ดู
ส่ วนที่ 6 สำาหรับการตั้งชื่อคลาส)
Transitivity ของควำมสั มพันธ์ แบบลำำดับชั้น
ความสัมพันธ์ของคลาสย่อย (subclass) เป็ นสกรรมกริ ยา (transitive) :
ถ้า B เป็ นคลาสย่อย (subclass) ของ A และ C เป็ นคลาสย่อย (subclass)
ของ B แล้ว C เป็ นคลาสย่อย (subclass) ของ A ตัวอย่างเช่น เราสามารถ
กำาหนดระดับไวน์ (Wine) แล้วกำาหนดระดับไวน์ขาวเป็ น คลาสย่อย (subclass)
ของไวน์ แล้วเรากำาหนดคลาส Chardonnay เป็ นคลาสย่อย (subclass) ของไวน์
ขาว วิธีการ Transitivity ความสัมพันธ์ของคลาสย่อยหมายความว่า คลาส
Chardonnay เป็ นคลาสย่อย (subclass) ของไวน์
Transitivity ของควำมสั มพันธ์ แบบลำำดับชั้น (ต่ อ)
บางครัง้ เราจะแบ่งคลาสย่อยออกเป็ น 2 แบบ คือ คลาสย่อยแบบ
direct (direct subclass) และคลาสย่อยแบบ indirect (indirect subclass)
คลาสย่อยแบบ direct เป็ นคลาสย่อยแบบ closest ของคลาส: กล่าวคือ
ไม่มีคลาสใดๆ ในลำาดับชันระหว่
้
างคลาสและ superclass (คลาสแม่)
แบบ direct
ดังตัวอย่าง Chardonnay เป็ น direct subclass ของไวน์ขาว (White
wine) และไม่ใช่ direct subclass ของไวน์ (Wine)
วิวฒ
ั นำกำรของลำำดับชั้น
ลำาดับชั้นที่สอดคล้องกัน อาจกลายเป็ นความท้าทายความสามารถ ขณะที่โด
เมนค่อยๆ พัฒนา
เช่น เป็ นเวลาหลายปี ไวน์ Zinfandel ทั้งหมดมีสีแดง ดังนั้นเราจึงกำาหนดระดับ
ของไวน์ Zinfandel เป็ น subclass ของคลาสไวน์แดง บางครั้งผูผ้ ลิตไวน์ เริ่ มคั้น
ำ ่น และเอาไปด้านการผลิตสี ขององุ่นทันที จึงปรับเปลี่ยนผลลัพธ์ของสี
น้าองุ
ไวน์ เราจึงได้ " zinfandel สี ขาว " ซึ่งเป็ นสี ดอกกุหลาบ ตอนนี้เราต้องแบ่งชั้น
ของ Zinfandel เป็ นสองชั้น คือ zinfandel- ขาว และ zinfandel - แดง และจัดให้
เป็ นคลาสย่อย (subclass) ของ Rose -ไวน์ และไวน์แดงตามลำาดับ
คลำสและชื่อของคลำส
เป็ นสิ่ งสำาคัญที่แยกได้ระหว่างคลาสและชื่อ:
คลาสแสดงแนวคิดในโดเมนและไม่คาำ ที่ใช้แสดงแนวคิดเหล่านี้
ชื่อของคลาสอาจเปลี่ยนแปลง ถ้าเราเลือกคำาศัพท์ที่แตกต่างกัน แต่
ในตัวของคำาเอง หมายถึง ความจริ งวัตถุประสงค์ในโลก ตัวอย่างเช่น
เราอาจสร้างคลาสของกุง้ แล้วเปลี่ยนชื่อให้เป็ นคลาสของกุง้ นาง ใน
อีกกฏข้อปฏิบตั ิต่อไปนี้ควรได้ตาม :
คำาพ้องสำาหรับแนวคิดเดียวกันไม่แสดงคลาสที่แตกต่างกัน
คลำสและชื่อของคลำส (ต่ อ)
เป็ นชื่อพ้องที่แตกต่างกันเพียงแนวคิดหรื อคำา ดังนั้นเราจึง
ไม่ควรมี คลาส เรี ยกว่ากุง้ และคลาสเรี ยกว่ากุง้ นาง อาจจะเรี ยก
ว่า Crevette แต่มีหนึ่งคลาสที่มีกุง้ หรื อกุง้ นาง หลายระบบให้
เชื่อมโยง รายการของคำาพ้อง หรื อชื่องานนำาเสนอด้วย
คลาส หากระบบไม่ได้ให้กลุ่มสามารถแสดงอยูใ่ นรายการ
เอกสารของคลาส คำาพ้ องจะยังคงอยูใ่ นเอกสารของคลาสนัน้
หลีกเลีย่ ง คลำส cycles
เราควรหลีกเลี่ยง cycles ในลำาดับชั้นของคลาส เราบอกว่ามี cycle ใน
ลำาดับชั้น เมื่อบางคลาสของ A มีคลาสย่อย (subclass) B และในเวลาเดียวกัน
B เป็ นคลาสแม่ของ A เช่น การสร้าง cycle ในลำาดับชั้น จำานวนที่ประกาศว่า
คลาส A และ B จะเท่ากันทั้งหมด กรณีทงหมดของ
ั้
A คือกรณีของ B และ
กรณีทงหมดของ
ั้
B ก็เป็ นกรณีของ A ด้ วย โดยแท้ จริงแล้ ว หาก B เป็ นคลาส
ย่อยของ A ทุกกรณีของ B ทังหมดต้
้
องเป็ นกรณีของคลาส A ด้ วย ในทาง
กลับกันถ้ า A เป็ นคลาสย่อยของ B ทุกกรณีของ A ต้ องเป็ นกรณีของคลาส B
ด้ วย
วิเครำะห์ เกีย่ วกับ sibling ของลำำดับชั้นของคลำส
Siblings ในลำำดับชั้นของคลำส
Siblings ในลำาดับชั้นของการแบ่งแยก คือคลาสย่อยที่อยูใ่ นคลาสเดียวกัน (อยูใ่ นส่วนที่ 4.1)
Siblings ทั้งหมดในลำาดับชั้น (ยกเว้นหนึ่งค่าที่เป็ น root) จะต้องมีคุณลักษณะในระดับ
เดียวกัน
ตัวอย่างเช่น ไวน์ขาว และ Chardonnay ไม่ควรเป็ นคลาสย่อยชั้นเดียวกัน (กล่าวส่ วนของ
Wine) ไวน์ขาวเป็ นแนวคิดทัว่ ไปมากกว่า Chardonnay Siblings ควรแสดงรู ปแบบที่อยูใ่ นบรรทัด
เดียวกัน ในหนังสื อทัว่ ๆไปอยูใ่ นระดับเดียวกัน ในความหมายที่ตอ้ งการสำาหรับลำาดับชั้น คล้าย
กับข้อกำาหนดในการร่ างหนังสื อ
แนวคิดที่รากของลำาดับชั้น อย่างไรก็ตาม (แสดงถึงคลาสย่อยแบบ direct ของคลาสทัว่ ๆ ไป
เช่น สิ่ งของ) หมายถึง หน่วยงานที่สาำ คัญของโดเมนและไม่ตอ้ งมีแนวคิดที่คล้ายกัน
จะทำำอย่ำงไรกับจำำนวนทีม่ ำกเกินไปและวิธีกำรทีม่ นี ้ อยเกินไป ?
ไม่มีกฎเกณฑ์ใดที่ยากสำาหรับจำานวนคลาสย่อยแบบ direct ที่
คลาสนันควรจะมี
้
อย่างไรก็ตาม ontology ที่ดีมีโครงสร้างอยูร่ ะหว่าง
สองแนวทางดังต่อไปนี้ :
ถ้าคลาสมีเพียงหนึ่งคลาสย่อยอาจเกิดปั ญหาการสร้างแบบจำาลอง
หรื อ ontology ไม่สมบูรณ์
หากมีมากกว่า คลาสย่อยที่กาำ หนดเพิ่มเติมแล้ว อาจจำาเป็ นต้องหา
จุดตรงกลาง
จะทำำอย่ำงไรกับจำำนวนทีม่ ำกเกินไปและวิธีกำรทีม่ นี ้ อยเกินไป ?
ครั้งแรกของทั้งสองกฎคล้ายกับกฎ typesetting ตัวอย่างเช่น ที่สุดของ ไวน์
Burgundy แดง หรื อ Côtes d’Or wines สมมติวา่ เราต้องการแสดงเพียงรู ปแบบนี้
ส่ วนใหญ่ไวน์ Burgundy เราสามารถสร้างคลาส Burgundy สี แดง และ Côtes d’Or
wines (รู ป 6a) แต่ถา้ ในการแสดงของ Burgundy แดง และ Côtes d' หรื อไวน์จะ
เป็ นหลักเทียบเท่า (Burgundy แดงทั้งหมดเป็ น Côtes d' ไวน์ หรื อ ไวน์และ Côtes
d' ทั้งหมดเป็ นไวน์ Burgundy แดง) สร้าง Cotes d' หรื อคลาสที่ไม่จาำ เป็ นและไม่
เพิ่มข้อมูลใหม่ ถ้าเรารวมไวน์ Chalonnaise Côtes ซึ่ งมีราคาถูก ไวน์ Burgundy
จากในพื้นที่ทางใต้ของ Côtes d' หรื อเราจะสร้างสองคลาสย่อย ของคลาส
Burgundy คือ Cotes d' และ Cotes Chalonnaise (รู ป 6B)
จะทำำอย่ำงไรกับจำำนวนทีม่ ำกเกินไปและวิธีกำรทีม่ นี ้ อยเกินไป ?
รู ปที่ 6 คลาสย่อย (Subclasses) ของคลาส Red Burgundy มี คลาสย่อย
(Subclasses) เดี่ยว คลาสปกติช้ ี ไปที่ปัญหาในการสร้างแบบจำาลอง
จะทำำอย่ ำงไรกับจำำนวนทีม่ ำกเกินไปและวิธีกำรทีม่ นี ้ อยเกินไป ?
คลาสไวน์มีคลาสย่อย (Subclasses) โดยตรงมากเกินไป และแท้จริ งสำาหรับ
ontology เพื่อสะท้อนประเภทของไวน์ วิธีการจัด Medoc ควรจะใช้ คลาสย่อยของ
Bordeaux และ Cotes d' หรื อควรเป็ นคลาสย่อยของ Burgundy เช่นไวน์แดงและสี
ขาว ไวน์กจ็ ะแสดงรู ปแบบความคิดของโดเมนของไวน์ที่หลายคนมี (รู ป 6b)
อย่างไรก็ตาม ถ้าไม่มีคลาสปกติอยูก่ บั กลุ่มของแนวคิดในรายการของ
siblings ไม่ตอ้ งสร้างคลาสเทียม หลังจากที่ ontology คือ ผลสะท้อนของโลกแห่ง
ความเป็ นจริ งและหากไม่มีในโลกแห่งความเป็ นจริ งได้ แล้ว ontology สามรถ
แสดงได้
รู ปที่ 7 จัดประเภทของไวน์
มีไวน์ทุกชนิดและประเภทของไวน์
ที่มีหลายระดับ
4.3 กำรสื บทอดแบบหลำกหลำย Multiple inheritance
ระบบแสดงความรู ้ส่วนใหญ่ยอมรับการถ่ายทอดที่หลากหลายในลำาดับ
class : ซึง่ แต่ละ class สามารถเป็ น subclass ของหลายๆ class ได้ เช่น สมมติวา่
เราต้องการที่จะสร้าง class แยกไวน์หวาน , Port ไวน์ท้ งั หมดจะเป็ นไวน์แดง
และไวน์หวาน ดังนั้นเราจึงกำาหนด class ของ Port ที่มี 2 superclasses คือ ไวน์
แดงและไวน์หวาน ทุก instanceของ class Port จะเป็ นทุก instance ของทั้ง class
ไวน์แดงและ class ไวน์หวาน ซึ่ ง class Port จะสื บทอดสล็อตและ facets ดังนั้น
มันจะสื บทอด SWEET สำาหรับสล็อตของ Sugar จากคลาสไวน์หวาน และ
สล็อตของระดับ tannin และสล็อตของสี จากคลาสไวน์แดง
4.4 เมื่อจะต้ องมีกำรแนะนำำคลำสใหม่
ในการตัดสิ นใจนั้นมันยากที่จะทำาในระหว่างการสร้างแบบจำาลอง คือ เมื่อ
มีการแนะนำาclassใหม่หรื อ เมื่อมีการถึงแสดงความแตกต่างของคุณสมบัติ ก็
ยากที่จะจัดลำาดับclassที่ทบั ซ้อนกัน และการลำาดับclassที่ไม่ซอ้ นกันที่มีการ
แบ่งประเภทข้อมูลน้อยเกินไป การหาที่ที่เหมาะสมคงไม่ใช่เรื่ องง่าย มีหลายกฎ
ที่สามารถนำามาช่วย เมื่อมีการตัดสิ นใจ เพื่อที่จะได้มีการแนะนำาclass ใหม่ คือ
(1) มีคุณสมบัติเพิ่มเติมโดยที่ Subclasses ไม่มี
(2) มี ข้อ จำากัด ความแตกต่างกันจาก superclass
(3) มีความสัมพันธ์ที่แตกต่างกันของ superclasses
ไวน์แดงจะมีระดับของ tannin ที่ต่างกัน ขณะที่คุณสมบัติน้ ี ไม่ได้ใช้เพื่อ
ำ
อธิบาย ไวน์โดยทัว่ ไป ค่าสล็อตน้าตาลของไวน์
หวานนั้นคือ “ความหวาน” ใน
ขณะที่ยงั ไม่ได้ทดสอบใน superclass ของไวน์หวาน ไวน์ Pinot Noir อาจจะเข้า
กันได้ดีกบั อาหารทะเล ขณะที่ไวน์แดงอื่นๆไม่เข้ากันเลย เราอาจจะ
แนะนำาclassใหม่ในลำาดับชั้นก็ต่อเมื่อ มีบางอย่างสามารถพูดเกี่ยวกับในclassได้
แต่ไม่สามารถพูดได้ใน superclass ในแง่ของการปฏิบตั ิก็เช่นกัน แต่ละ subclass
ก็ควรจะมีคุณสมบัติใหม่ที่สามารถเพิ่มลงไปหรื อสามารถกำาหนดค่าหรื อแทนที่ได้
แต่บางครั้งclassใหม่กอ็ าจเป็ นประโยชน์ได้ แม้วา่ จะไม่มีการแนะนำาคุณสมบัติ
ใหม่ๆก็ตาม
classในลำาดับชั้นไม่จาำ เป็ นต้องมีคุณสมบัติใหม่
ตัวอย่างเช่นontologies บางตัวที่อยูใ่ น class ใหญ่ที่อา้ งอิงไปใช้ในโดเมน เช่น
ontology ต้นแบบระบบการแพทย์ – บันทึกอิเล็กทรอนิกส์อาจ อาจรวมถึงการ
จำาแนกประเภทของโรคต่างๆ ประเภททั้งหมดนี้อาจเป็ นลำาดับ class ที่ไม่มี
คุณสมบัติ (หรื ออาจเหมือนกับคุณสมบัติ) ในกรณี น้ ี กย็ งั มีประโยชน์ที่จะใช้ในการ
การจัดระเบียบข้อกำาหนดให้กบั ลำาดับคลาสมากกว่าการสร้างรายการตรงๆ
เพราะว่า
(1) จะทำาให้ง่ายขึ้นต่อการสำารวจและการไล่ลาำ ดับ
(2) ให้แพทย์สามารถเลือกระดับของคำาที่เหมาะสมกับสถานการณ์ ได้ง่าย
เหตุผลที่แนะนำา class ใหม่โดยที่ไม่ตอ้ งมีคุณสมบัติใหม่ ก็คือแนวคิดแบบ
ระหว่างผูเ้ ชี่ยวชาญมักจะแตกต่างถึงแม้วา่ เรามีการคิดที่จะไม่แตกต่าง แต่
เนื่องจากเราใช้ontologiesเพื่ออำานวยความสะดวกในการสื่ อสารระหว่างผู ้
เชี่ยวชาญโดเมนและระบบฐานความรู้ เราจึงต้องการสะท้อนมุมมองของผู ้
เชี่ยวชาญโดเมนในออกมาในเรื่ องของ ontology จึงทำาให้ไม่ควรสร้าง
subclasses ของคลาสที่มีขอ้ จำากัด เช่นเราแนะนำาclassไวน์แดง, ไวน์ขาวและ
ไวน์ Rose เพราะความแตกต่างนี้เป็ นหนึ่งในธรรมชาติของไวน์ เราไม่ควร
แนะนำาไวน์ช้ นั ละเอียดอ่อน ไวน์ปานกลาง เมื่อกำาหนดลำาดับclassของเป้ าหมาย
แล้ว ความสมดุลของการสร้างclassใหม่ มันจะมีประโยชน์สาำ หรับการจัด
ระเบียบclassและการสร้างclassต่างๆ
4.5 กำรคลำสใหม่ หรือค่ ำของคุณสมบัติ
เมื่อจำาลองโดเมน เรามักจะต้องตัดสิ นใจถึงความแตกต่างเฉพาะด้าน (เช่นไวน์
ขาว ไวน์แดงหรื อไวน์กหุ ลาบ) ให้มีค่าคุณสมบัติหรื อเป็ นเซตของ class นั้น ขึ้น
อยูก่ บั ขอบเขตของโดเมนและงาน
เราควรที่จะสร้าง class ไวน์ขาวหรื อไม่เราก็สร้าง class ไวน์แล้วเพิ่มค่า
ความแตกต่างของค่าของสี ลงไป คำาตอบนั้นมักจะอยูใ่ นขอบเขตที่เรากำาหนดไว้
ใน ontology ความสำาคัญของแนวคิดของไวน์ขาวที่อยูใ่ นโดเมนของเราคือ ถ้าไวน์
มีความสำาคัญเพียงในขอบของโดเมนหรื อไม่ไวน์ขาวไม่ได้มีความหมายโดย
เฉพาะสำาหรับความสัมพันธ์ไปยังวัตถุอื่นแล้ว เราไม่ควรที่จะแยก class ต่างหาก
สำาหรับ
ไวน์ขาว รุ่ นโดเมนที่ใช้ในโรงงานผลิตฉลากไวน์,กฎสำาหรับสี ของฉลากไวน์ที่
เหมือนกันและแตกต่างกันนั้นไม่สาำ คัญอาหารและส่ วนผสมที่เหมาะสมของไวน์
แดงนั้นจะแตกต่างจากไวน์ขาวเป็ นอย่างมาก : การจับคู่กบั อาหารต่างๆ ที่มี
คุณสมบัติที่แตกต่างกัน เช่นเดียวกับสี ของไวน์ซ่ ึงเป็ นสิ่ งสำาคัญสำาหรับฐานความ
รู ้ในเรื่ องไวน์ ที่เราอาจจะใช้เพื่อการตรวจสอบ การทดสอบ ดังนั้น เราจึงสร้าง
class เพื่อแยกไวน์ขาว
หากแนวความคิดเกี่ยวกับค่ าของคุณสมบัติที่มีความแตกต่ างกันนั้นกลายเป็ นข้ อ
จำากัดแล้ ว เราควรสร้ าง class ใหม่ สาำ หรั บความแตกต่ าง มิฉะนั้น เราจะต้ องแสดง
ความแตกต่ างในรู ปแบบของค่ าสล็อต
ในทำานองเดียวกัน ontology ไวน์ของเรานั้นมี class เช่น red Merlots และ
white Merlots มันน่าจะมีมากกว่า class เดียวสำาหรับไวน์Merlot ทั้งหมด: red
Merlots และ white Merlots เป็ นไวน์ที่แตกต่างกัน (ทำาจากองุ่นชนิดเดียวกัน) และ
ถ้าเราพัฒนารายละเอียดontology ของไวน์แล้ว ความแตกต่างนี้จะเป็ นสิ่ งสำาคัญ
หากความแตกต่ างเป็ นสิ่งสำาคัญในโดเมนและค่ าทีแ่ ตกต่ างเพือ่ แบ่ งแยก
ประเภท ของวัตถุนั้น เราจึงควรทีจ่ ะแบ่ งเป็ นประเภทใหม่ เพือ่ กำาหนดความ
แตกต่ าง
ในบางครั้งการแบ่งประเภทประโยชน์ช่วยใการตัดสิ นใจ
class ทีเ่ ป็ นส่ วนตัวนั้นไม่ ควรมีการเปลีย่ นบ่ อย
โดยปกติเมื่อเราใช้คุณสมบัติภายนอกมากกว่า คุณสมบัติหลัก ของแนวคิด เพื่อที่จะแยกแตก
ต่างใน class กรณี ของ class ที่จะต้องย้ายบ่อยๆจาก class หนึ่งไป class หนึ่ง ตัวอย่างเช่น
ไวน์เย็นไม่ควรอยูใ่ น class ของ ontology คุณสมบัติของความเย็นก็ควรจะรักษาคุณลักษณะ
ของไวน์ในขวดตั้งแต่ไวน์เย็นเย็นแล้ว ซึ่ งลักษณะเหล่านี้เป็ นตัวอย่างของ class นี้ จำานวน สี
ค่าสล็อตเป็ นคุณสมบัติที่ไม่ก่อให้เกิดการสร้างใหม่ของ class ไวน์ แต่ขอ้ ยกเว้นที่สาำ คัญสุ ดคือ
สี ของไวน์จนถึงรายละเอียดของไวน์
4.6 ตัวอย่างหรื อ class? An instance or class?
การตัดสิ นใจว่าแนวคิดนี้ เป็ น class ใน ontology หรื อเป็ นตัวอย่าง
ขึ้นอยูก่ บั โปรแกรม ที่มีศกั ยภาพแบบไหน บางตัวอย่างเลือกการ
ำ ่สุดของ granularity ในrepresentation ระดับของ
ตัดสิ นใจที่ระดับต่าที
granularity อยูใ่ นการกำาหนดโดยโปรแกรมที่มีศกั ยภาพของ
ontology กล่าวคือ สิ่ งที่สาำ คัญมากที่สุดจะถูกอธิบายในฐานความรู ้
จากคำาถามที่เราระบุไว้ในขั้นที่ 1 ในส่ วนที่3 แนวคิดที่สาำ คัญที่ดีที่สุด
จะเป็ นคำาตอบสำาหรับคำาถามที่ดี สำาหรับแต่ละฐานความรู ้
กรณี ที่แนวคิดที่สาำ คัญมีการอธิบายอยูใ่ นฐานความรู ้
ตัวอย่างเช่น หากเราไปจับคู่ไวน์กบั อาหาร เราจะไม่สนใจกายภาพเฉพาะของขวด
ไวน์ แต่เป็ นแหล่งที่ผลิตไวน์ ดังนั้น Sterling Vineyards Merlot จะเป็ นตัวอย่างใน
ระบบความรู ้
อีกหนึง่ กฎสามารถเคลือ่ น instance ใน เซตของclassได้
โดยพิจารณาชนิดและถิ่นกำาเนิดของไวน์ เริ่ มแรกเราอาจจะกำาหนดชนิดและ
ถิ่นฐานของไวน์เช่นฝรั่งเศส, สหรัฐอเมริ กา, เยอรมัน, และอื่น ๆเป็ น class ไว้แล้ว
แต่กรณี
เช่นบริ เวณ Bourgogne เป็ นตัวอย่างของ class ภูมิภาคฝรั่งเศส อย่างไรก็ตาม เรา
สามารถพูดได้วา่ Cotes d’Or อยูใ่ น Bourgogne ดังนั้น Bourgogne ต้อง เป็ น class
(กรณี มี subclasses)แต่ class Bourgogne และ Cotes d’Or หรื อพื้นที่ตวั อย่างของ
Bourgogne ดูเหมือน arbitrary : มันยากที่จะแยก class ภูมิภาคได้ชดั เจน ดังนั้นเราจึง
กำาหนดทั้งหมดเป็ น class ของไวน์ Protégé-2000 มันจะช่วยทำาให้ระบุ class ได้ง่าย
ขึ้น ดังรู ปที่ 8
รู ปที่ 8 ลำาดับชั้นของไวน์ ให้ A เป็ น ไอคอน ถัดจากชื่อ คลาสบ่งบอกว่าไม่
สามารถมี instance ได้ โดยตรง
ลำาดับคลาสเดียวกัน เราไม่สามารถบอกได้วา่ class Alsace เป็ น
subclass ของคลาสฝรั่งเศส : Alsace ไม่ใช่ของฝรั่งเศสแต่ภูมิภาค
ของ Alsace เป็ นของพื้นที่ฝรั่งเศส classเฉพาะสามารถจัดลำาดับ
คลาสในระบบความรู้ – ไม่มีแนวความคิดย่อย ดังนั้นหากมีลาำ ดับ
คลาสตามธรรมชาติ เช่น จากลำาดับclassข้อ 4.2 เราควรกำาหนด
เงื่อนไขในclassไม่วา่ กรณี ใดๆ
4.7 การจำากัด ขอบเขต ( Limiting the scope )
เป็ นสิ่ งสุ ดท้ายในการกำาหนดลำาดับ class เซตของกฏจะเป็ นประโยชน์สาำ หรับ
ตัดสิ นใจเมื่อ ontology definition เสร็ จสมบูรณ์ : ไม่ควรมีขอ้ มูลที่เป็ นไปได้
ทั้งหมดเกี่ยวกับโดเมน : คุณไม่จาำ เป็ นต้องเชี่ยวชาญ (หรื อลงความคิดเห็น)
มากกว่าที่คุณต้องการ สำาหรับโปรแกรม(ที่ระดับพิเศษ) ตัวอย่างเช่น ไวน์และ
อาหารของเรา ไม่จาำ เป็ นต้องรู้วา่ ใช้กระดาษอะไรสำาหรับทำาฉลากหรื อ วิธีการปรุ ง
อาหารประเภทกุง้ ในทำานองเดียวกัน ไม่ควรมีคุณสมบัติที่เป็ นไปได้และ มีความ
แตกต่างในลำาดับของคลาส ใน ontology ของเราไม่ได้รวมคุณสมบัติท้ งั หมดที่
ไวน์หรื ออาหาร มันอาจจะแสดงคุณสมบัติที่เด่นที่สุดของคลาสไว้ใน ontology
ของเรา
ontology นั้นมีแนวคิดของสิ่ งมีชีวติ ทางชีวภาพ นอกจากนี้ ยังจะมีแนวคิด
ของการทดสอบประสิ ทธิภาพของ Experimenter (ชื่อ,ความร่ วมมือและ
อื่น ๆ ) มันเป็ นเรื่ องจริ งที่คนเป็ นสิ่ งมีชีวติ ทางชีววิทยา แต่เราไม่ควรรวม
เอาความแตกต่างนี้ไว้ใน ontology : เพือ่ วัตถุประสงค์ในการแสดง
experimenter ที่ไม่เป็ นสิ่ งมีชีวติ ทางชีววิทยาและอาจไม่มีการทดสอบใน
experimenters ถ้าเราสามารถแสดงทุกอย่างเกี่ยวกับคลาสใน ontology,
Experimenter จะกลายมาเป็ น subclass ของสิ่ งมีชีวติ ทางชีววิทยาทันที
อย่างไร
4.8 Subclass ที่ไม่ต่อเนื่อง
Class ที่ไม่ตอ่ เนือ่ ง คือ จะไม่มตี วั อย่างไหนร่วมกัน
ตัวอย่าง
class ของไวน์แดงจากผลไม้และไวน์ขาวจากองุน่
มีไวน์มากมายหลายแบบที่เป็ นตัวอย่างของทัง้ สองชนิด
แต่ในขณะเดียวกันก็ไม่สามารถมีไวน์ชนิดไหนที่จะมีสีขาว
และสีแดงได้ในเวลาเดียวกัน ดังนัน้ class ของไวน์ขาวและ
ไวน์แดงจึงไม่ตอ่ เนือ่ งกัน
5. กำาหนดรายละเอียดค ุณสมบัติ - รายละเอียดเพิ่ม
เติม
5.1 slots ที่ตรงกันข้าม
ค่าของ slots อาจขึน้ อยูก่ บั ค่าของ slots อื่นๆ
ตัวอย่าง
ถ้าไวน์เป็ นผลผลิตของโรงกลัน่ เหล้าองุน่
เมือ่ ผลผลิตของโรงกลัน่ เหล้าองุน่ คือไวน์
นีเ่ ป็ นสองความสัมพันธ์ คือ “การสร้างและผลผลิต” เมือ่ เรารู้
ว่าไวน์เป็ นผลผลิตมาจากโรงกลัน่ เหล้าองุน่ ประโยชน์ของการ
ใช้ knowledge base จะสามารถสรุปค่าของความสัมพันธ์ที่ตรง
กันข้ามได้ คือ ผลผลิตจากโรงกลัน่ เหล้าองุน่ คือไวน์
สำาหรับ knowledge-acquisition perspective มันเป็ นสิ่งที่
สะดวกสะบายสำาหรับทัง้ สองความรูท้ ี่มอี ยู่ วิธีนจี้ ะยอมให้ใส่
ไวน์ในหนึง่ ตัวอย่างและโรงกลัน่ เหล้าองุน่ ในอีกหนึง่ ตัวอย่าง
ระบบ knowledge-acquisition จะสามารถเพิ่มค่าได้อย่าง
อัตโนมัตสิ าำ หรับความสัมพันธ์ตรงกันข้ามที่สอดคล้องกันใน
knowledgebase คือ เมือ่ ใส่ตวั อย่างของ class ไวน์ และเพิ่มค่า
สำาหรับตำาแหน่งการสร้าง ระบบจะเพิ่มตัวอย่างใหม่ส่ ู slots
ผลผลิตโดยอัตโนมัติ
ตัวอย่าง
เมือ่ เราเรียก Sterling Merlot ให้เป็ นรายการของ
ไวน์ที่เป็ นผลผลิตของโรงกลัน่ เหล้าองุน่ ชือ่ Sterling
Vineyard ระบบจะเพิ่ม Sterling Merlot สูร่ ายการของ
ไวน์ที่มาจากการสร้างโดยโรงกลัน่ เหล้าองุน่ ชือ่
Sterling Vineyard โดยอัตโนมัติ
5.2 ค่าเริม่ ต้น
ถ้าค่าของ slots มีคา่ เหมือนกับตัวอย่างของ
class หลายค่า เราสามารถกำาหนดค่านัน้ ให้เป็ นค่า
เริ่มต้นของ slots ได้ คือ เมือ่ แต่ละตัวอย่างใหม่ของ
class มีการสร้าง slots ขึน้ ระบบจะกำาหนดค่าของ slots
นัน้ ให้โดยอัตโนมัติ แต่เราสามารถเปลี่ยนค่าไปเป็ นค่า
อื่นได้หากต้องการ มันจะช่วยในการกำาหนดค่าเริ่มต้น
ทำาให้มคี วามสะดวกมากขึน้
ตัวอย่าง
ส่วนใหญ่ถา้ เรานึกถึงไวน์จะพูดว่าไวน์เป็ นสิ่งที่มี
แอลกอฮอร์มาก เราสามารถกำาหนด “full” เป็ นค่าเริ่มต้น
สำาหรับไวน์
ซึ่งจะแตกต่างจากค่าของ slots ที่ไม่สามารถ
เปลี่ยนแปลงได้ เช่น เราสามารถเรียก slots ของน้าำ ตาลว่ามี
ค่าเป็ นหวานสำาหรับ class ไวน์แดงจากผลไม้ เมือ่ ทุก subclass
และกรณีของ class ไวน์แดงจากผลไม้ มีคา่ เป็ นหวาน
สำาหรับตำาแหน่งของน้าำ ตาล ค่านีไ้ ม่สามารถเปลี่ยนแปลงได้
ในทุกๆ subclass หรือทุกกรณีของ class
6. อะไรอยูใ่ นชื่อ?
ข้อตกลงในการตัง้ ชือ่ สำาหรับแนวคิดใน ontology
หากเราทำาอย่างเคร่งครัดแล้วไม่เพียงจะทำาให้เข้าใจ
ontology ได้งา่ ยขึน้ เท่านัน้ แต่ยงั ช่วยหลีกเลี่ยงบางข้อ
ผิดพลาดที่อาจเกิดขึน้ ด้วย ซึ่งมีหลายทางเลือกในการ
ใช้เป็ นแนวคิดในการตัง้ ชือ่
6.1 ตัวพิมพ์ใหญ่และตัวคัน่
เราสามารถตีความหมายของ ontology ได้ดีขนึ้ ถ้าเรา
ตัง้ ชือ่ ให้สอดคล้อง เมือ่ ชือ่ มีมากกว่าหนึง่ คำาอย่างเช่น Meal
course เราจำาเป็ นต้องหาสิง่ ที่จะมาคัน่ ระหว่างคำา ซึ่งทางเลือกที่
เป็ นไปได้ คือ
- ใช้เว้นวรรค(Space) เช่น
Meal course (ซึ่งระบบส่วนมากจะใช้กนั )
- เขียนคำาต่อกันและใช้ตวั พิมพ์ใหญ่ในการเริ่มต้นแต่ละคำา
ใหม่ เช่น
MealCourse
- ใช้ขดี ล่าง(underscore) หรือขีดกลาง(dash) หรือตัว
คัน่ อื่นๆ ในชือ่ เช่น
Meal_Course, Meal_course
Meal-Course, Meal-course
(ถ้าใช้ตวั คัน่ อื่นๆ จะต้องตัดสินใจเองแต่ถึงอย่างนัน้
แต่ละคำาใหม่จะใช้ตวั พิมพ์ใหญ่)
6.2 เอกพจน์หรือพห ูพจน์
ชือ่ ของ class จะแสดงให้เห็นถึงกลุม่ ของวัตถุ เช่น
class Wine ตามความเป็ นจริงก็จะแสดงถึงไวน์ทกุ ชนิด
เพราะฉะนัน้ มันอาจเป็ นธรรมชาติมากกว่าถ้าหากจะเรียก
class Wines มากกว่า class Wine ถึงแม้ว่าการใช้เอกพจน์
เป็ นชือ่ ของ class นัน้ จะถูกใช้บ่อยๆ ดังนัน้ การใช้รปู แบบที่
เหมือนกันตลอดเวลาอาจช่วยป้องกันการผิดพลาดได้
6.3 คำานำาหน้าและคำาต่อท้าย
บาง knowledge-base แนะนำาวิธีใช้คาำ นำาหน้าและคำาต่อท้ายไว้
ในชือ่ ซึ่งจะแยกระหว่าง class และ slots โดยทัว่ ไปจะมี 2 วิธีที่ปฎิบตั ิ
กัน คือ
เพิ่ม has- หรือ
ลงท้ายด้วย -of ใน slots ของชือ่
ดังนัน้ slots ของเราจะกลายเป็ น has-maker และ has-winery ถ้าเรา
เลือก has- หรือ slots ของเราจะกลายเป็ น maker-of และ winery-of ถ้า
เราเลือก -of ซึ่งวิธีนจี้ ะช่วยให้ทกุ คนสังเกตเห็นทันทีถา้ มีชอื่ ของ class
หรือ slots
6.4 การพิจารณาตัง้ ชื่ออื่น
เราควรหลีกเลี่ยงการใช้ตวั ย่อในการตัง้ ชือ่ นัน่ คือ ควร
จะใช้ Cabernet Sauvignon มากกว่า Cab
ชือ่ ของ subclass ทัง้ หมดของ class ควรจะประกอบด้วย
ชือ่ ของ superclass ตัวอย่างเช่น ถ้าเราสร้าง subclass 2 subclass
ของ class ไวน์ ในการแสดงไวน์แดงและไวน์ขาว ชือ่ ของทัง้ สอง
subclass อาจจะเป็ น “ไวน์แดง”และ”ไวน์ขาว” หรืออาจเป็ น
“แดง”และ”ขาว” แต่ตอ้ งไม่เป็ น “ไวน์แดง”และ”ขาว”
จบการนำาเสนอ