ontology development 101 a guide to creating your first ontology

68
Ontology Development 101 A Guide to Creating Your First Ontology Natalya F. Noy and Deborah L. McGuinness Stanford University, Stanford, CA, 94305 [email protected] and [email protected]

Upload: talen

Post on 15-Feb-2016

86 views

Category:

Documents


0 download

DESCRIPTION

Ontology Development 101 A Guide to Creating Your First Ontology. Natalya F. Noy and Deborah L. McGuinness Stanford University, Stanford, CA, 94305 [email protected] and [email protected]. Why develop an ontology?. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Ontology Development 101  A Guide to Creating Your  First Ontology

Ontology Development 101 A Guide to Creating Your

First Ontology

Natalya F. Noy and Deborah L. McGuinness Stanford University, Stanford, CA, 94305 [email protected] and [email protected]

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

Why develop an ontology?• ในปทผานมาการพฒนา ontology ไดมการกำาหนดขอตกลงท

ชดเจน ในสวนของโดเมนและความสมพนธในกลมของผพฒนา (Gruber 1993) การพฒนา ontology ไดถกยายจากขอบเขตของ Artificial-Intelligence ไปสขอบเขตของผพฒนา ontology

• มขอบเขตตงแตการจดหมวดหมของ web ทมขนาดใหญ ตวอยางเชน Yahoo ไปจนถงการจดหมวดหมของสนคาทตองการขาย และคณสมบตของสนคา ตวอยางเชน Amazon.com

• WWW Consortium (W3C) เปนผพฒนา Resource Description Framework (Brickley และ Guha 1999) ซงเปนภาษาสำาหรบการเขารหสความรทอยบนหนา Web เพอทำาใหผคนหาขอมลในทาง electronic สามารถเขาใจ

Page 3: Ontology Development 101  A Guide to Creating Your  First Ontology

Why develop an ontology?• The Defense advanced Research Projects Agency (DARPA) ไดรวมกบ

W3C ในการทจะพฒนา DARPA Agent Markup Language (DAML) โดยการเพม RDF กบ การแสดงออกทางโครงสรางของวตถประสงคทมากขน เพออำานวยความสะดวกในการตดตอตวแทนใน Web (Hendler และ McGuinness 200)

• ในหลายสาขาวชาในขณะน ไดพฒนามาตรฐานของ ontology ทผเชยวชาญสามารถใชรวมกน และใชเพออธบายขอมลในสวนของตวเอง ตวอยางเชน Medicine (ยา) ทมการผลตออกมามาก ,มาตรฐาน , โครงสรางคำาศพท เชน SNOMED (Price และ Spackman 200) และความหมาย network ของ Unified Medical Language System(Humphreys and Lindberg 1993)

• วตถประสงคของ ontology อยางกวาง ๆ ทเกดขนใหม เชน , The United Nations Development Program and Dun & Bradstreet รวมกบความพยายามทจะพฒนา ontology UNSPSC ซงมคำาศพทสำาหรบผลตภณฑ และบรการ (www.unspsc.org)

Page 4: Ontology Development 101  A Guide to Creating Your  First Ontology

Why develop an ontology?• ทำาไมจงมคนทตองการจะพฒนา ontology ? บางเหตผล

คอ :เพอทจะแบงปนความเขาใจของโครงสรางของขอมลในกลม

ประชากรหรอ software agent (ตวแทน software)-เพอนำาความรในโดเมนกลบมาใชใหม-เพอทำาสมมตฐานในโดเมนใหชดเจนขน-เพอแยกความรจากโดเมน ออกจากความรจากการปฏบต-เพอวเคราะหโดเมนความร

Page 5: Ontology Development 101  A Guide to Creating Your  First Ontology

About this guide• พวกเขาเขยนจากประสบการณของพวกเขาโดยใช Protégé

2000(protege 2000) , Ontolingua (Ontolingua 1997) และ Chimaera (Chimaera 2000) เปนตวแกไข ontolgy ในบทแนะนำานพวกเขาใช Protégé 2000 ในการยกตวอยาง ตวอยางของไวนและอาหารทเราใชมาตลอดนเปนตวอยางเพยงคราว ๆ ของตวอยางฐานความรในการนำาเสนอรายละเอยดของ CLASSIC ในบทความน ระบบการแทนความรใน – description-logics approach(Brachman et al 1991)

• บางครง การออกแบบ ontology กไดแนวคดมาจาก วรรณกรรมการออกแบบของ object-oriented (Rumbaugh et al. 1991; Booch et al. 1997) อยางไรกตาม การออกแบบ ontology กแตกตางจากการออกแบบ class และความสมพนธในการเขยนโปรแกรมแบบ object-oriented (การเขยนโปรแกรมเชงวตถ) การเขยนโปรแกรมเชงวตถมหลกการใกลเคยงกบวธการของ class

Page 6: Ontology Development 101  A Guide to Creating Your  First Ontology

About this guide• นกเขยนโปรแกรมออกแบบพนฐานการตดสนใจบนคณสมบตทใช

งานไดของ class. ในทางตรงขามผออกแบบ ontology สรางพนฐานการตดสนใจบนโครงสรางคณสมบตของ class เปนผลใหโครงสรางของ class และความสมพนธของ class ใน ontology แตกตางจากโครงสรางสำาหรบโดเมนเดยวกนในการเขยนโปรแกรมเชงวตถ

• มนเปนไปไมไดทจะครอบคลมประเดนทงหมดในการพฒนา ontology บางทอาจจะตองหาเพมเตมเอาเอง ซงเราจะไมกลาวในบทแนะนำาน พวกเราพยายามทจะหาจดเรมตน คำาแนะนำาเรมตนทจะชวยออกแบบ ontology เพอทจะพฒนา ontology ในตอนทายเราแนะนำาสถานททจะหาคำาอธบายโครงสรางทซบซอนมากขน และออกแบบกลไกหากโดเมนมความตองการ

• สดทายน มนไมไดมวธการออกแบบ ontology ทถกตองเพยงวธการเดยว และพวกเราไมไดตงสมมตฐานเพอกำาหนดเพยงอนใดอนหนง วธการทนำาเสนอนเปนเพยงวธการเดยวทพวกเราพบวาเปนประโยชนจากประสบการณการพฒนา ontology ของพวกเรา ในตอนทายของคำาแนะนำาน พวกเราขอแนะนำารายการอางอง สำาหรบหลกการทางเลอก

Page 7: Ontology Development 101  A Guide to Creating Your  First Ontology

What is in an ontology?

• ในหมวดของ Artificial-Intelligence ใหคำาจำากดความสำาหรบ ontology ไวหลายคำา ในความหมายเหลาน มอยหลายคำาทขดแยงกบคำาอน ๆ สำาหรบจดประสงคในการแนะนำา ontology น คอการอธบายอยางเปนทางการถงแนวความคดของโดเมนของวาทกรรม(classes (บางครงเรยกวา แนวคด) เปนคณสมบตของแตละแนวคด อธบายหนาตา(feature)ทแตกตางกนและคณสมบตทแตกตางกน(attribute)ของแตละแนวคด(slot บางครงเรยกวา บทบาท (role) หรอคณสมบต(property)) และขอจำากดในแตละบทบาทหรอคณสมบต (facet บางครงเรยกวา ขอจำากดบทบาท) Ontology รวมกบเซตของ instance เฉพาะของแตละ class ถอวาเปน ฐานความร

Page 8: Ontology Development 101  A Guide to Creating Your  First Ontology

What is in an ontology?• Classes เปนจดสำาคญใน ontology สวนใหญ Classes ใชเพออธบาย

แนวคดในโดเมน ตวอยางเชน class ของไวนซงใชแทนไวนทงหมด ไวนชนดหนงจะเปนตวอยางของ class น ไวน Bordeaux ในแกวทวางอยเบองหนาคณในขณะทคณอานเอกสาร เปนตวอยางของการจด class ของ Bordeaux. Class แตละตวสามารถม subclass ทแทนแนวความคดทมรายละเอยดมากกวา superclass ตวอยางเชน พวกเราสามารถแบง class ของไวนเปน ไวนแดง ไวนขาว และไวนชมพ(rose) หรอเราสามารถแบง class ของไวนทงหมดเปน sparkling wine และ non-sparkling wine

• Slot อธบายคณสมบตของ Class และในกรณ: Château Lafite Rothschild , Pauillac wine เปนตวเตม มนเปนผลตภณฑของโรงกลนเหลาองนชอ Château Lafite Rothschild พวกเราม 2 slot ทใชเพออธบายไวนในตวอยางน : body slot ทมคาเปน full กบ slot ของผผลตทมคาเปนโรงกลน Château Lafite Rothschild ทระดบของ class พวกราสามารถกลาวถง class ของไวน เราสามารถแบง slot ไดเปน flavor,body,sugar level,maker และอน ๆ

Page 9: Ontology Development 101  A Guide to Creating Your  First Ontology

What is in an ontology?

• จากตวอยางทงหมดของไวนทกลาวมา Classของไวน และ subclass Pauillac มคาของ slot maker เปนตวอยางของ class ของโรงกลน ในทกกรณของ Class ของโรงกลนจะม slot ทเปน Produce (ผลตภณฑ) เปนตวทใชอางถงไวนแตละตว (ในตวอยางนมไวนเปน subclass) ทเปนผลตภณฑของโรงกลน ในดานการปฏบต การพฒนา ontology ประกอบไปดวย :

1.กำาหนด class ใน ontology 2.จดเรยง class ในลำาดบอนกรมวธาน (แบง subclass –

superclass)3.กำาหนด slot และแบงรายละเอยดของคาตาง ๆ ของ slot4.กรองคาใน slot ในแตละกรณ

Page 10: Ontology Development 101  A Guide to Creating Your  First Ontology

What is in an ontology?• เราสามารถสรางฐานความรไดโดการกำาหนดกรณเฉพาะ

ของ classes filling ในคาเฉพาะของ slotและเพมขอจำากดของ slot

รปท 1. ความสมพนธทงหมดของ ไวนโดเมน เราใชสดำาสำาหรบ class และสแดงสำาหรบกรณ (instance)

การเชอมโยงโดยตรงใชแทน slot และ การเชอมโยงภายในเปน instance-of และ subclass-of

Page 11: Ontology Development 101  A Guide to Creating Your  First Ontology

A Simple Knowledge-Engineering Methodology

อยางแรก เราตองการยำาถงกฎพนฐานของการออกแบบ ontology บางขอ ซงเราจะอางถงในหลาย ๆ ครง กฎเหลานอาจดคอนขางจะไมมเหตผล หรอไรขอพสจน พวกมนชวยได อยางไรกตาม ในการทจะออกแบบการตดสนใจในหลาย ๆ กรณ1.ไมไดมเพยงวธการเดยวทถกตองในการทจะออกแบบโดเมน มนมกจะมทางเลอกอนเสมอ วธการแกปญหาทดทสดมกจะขนอยกบ applicationทคณรและสวนขยายทคณตองการ2.การพฒนา ontology คอการทตองทำากระบวนการเดมซำา ๆ หลาย ๆรอบ3.แนวคดของ ontology ควรจะทำาใหใกลกบวตถ (ทางกายภาพหรอทางตรรกะ) และมความสมพนธในโดเมนทคณสนใจ สวนใหญมกจะเปนคำานาม (วตถ) หรอกรยา (ความสมพนธ) ในประโยคทอธบายถงโดเมนของคณ

Page 12: Ontology Development 101  A Guide to Creating Your  First Ontology

Step 1. การหาโดเมนและขอบเขตของ ontology

เราจะเรมแนะนำา ontology โดยการนยามโดเมนและขอบเขต ซงนนคอ คำาตอบของคำาถามพนฐาน ดงน• อะไรคอโดเมนทครอบคลม ontology • เราใช ontology ไปเพออะไร• อะไรคอประเภทคำาถามของขอมลใน ontology และเรา

ควรจะไดรบคำาตอบอยางไร• ใครเปนผใชและดแล ontologyคำาตอบของคำาถามเหลานอาจจะมการเปลยนแปลงไดใน

กระบวนการออกแบบ ontology แตอาจจะตองใชเวลาในการจำากดขอบเขตของโมเดล

Page 13: Ontology Development 101  A Guide to Creating Your  First Ontology

• พจารณา ontology ของไวนและอาหาร อาหารและไวน คอ โดเมนของ ontology เราวางแผนวาจะใช ontology สำาหรบApplicationน ทใชในการแนะนำาอาหารและไวนทด

• แนวความคดทจะอธบายประเภทไวนและอาหารทเกยวกบการจดชดไวนและอาหารทด และไมด จะชวยใหเราเหนภาพภายใน ontology ของเรา ในขณะเดยวกน ontology จะประกอบขนจากหลายความคดทจะสรางขนมาจากนกดมไวนหรอพนกงานในภตตาคาร ความคดตาง ๆ จากสงเหลานมความสมพนธเกยวของกบของไวนและอาหาร

Page 14: Ontology Development 101  A Guide to Creating Your  First Ontology

ในการหาขอบเขตของ Ontology คอ การรางรายการของคำาถามตางๆ โดยคำาถามของฐานความรบน Ontology อาจจะมไดหลายคำาตอบ

คำาถาม • 1. ontology สามารถทจะมขอมลทเพยงพอ

สำาหรบการตอบคำาถามตาง ๆ เหลานหรอไม • 2. คำาตอบตาง ๆ ตองการรายละเอยดหรอการ

แสดงทพเศษหรอไมคำาถามทมความสมบรณเหลานเปนการรางขนมาไมจำาเปนตองละเอยดในโดเมนของไวนและอาหาร

Page 15: Ontology Development 101  A Guide to Creating Your  First Ontology

• เปนไวนแดงหรอไวนขาวทมาจากเมอง Bordeaux (บอรโดซ) หรอไม

• เปนไวนทเหมาะกบอาหารทะเลหรอไม• ไวนอะไรทเหมาะกบการกนเนอววยางทสด• ลกษณะของไวนใดทเหมาะกบอาหารใด• รสชาตหอมหรอลกษณะเฉพาะของไวน• ฤดไหนบางทดหรอเหมาะตอการทำาไวน

การพจารณาจากรายการของคำาถาม ontology จะรวมขอมลตาง ๆ เกยวกบลกษณะและประเภทของไวน เชน ปทมไวนด หรอไมด , อาหารตาง ๆ ทเหมาะกบไวน เปนการแนะนำาอาหารและไวน

ลกษณะใดของไวนทเราควรจะเลอกหรอพจารณา

Page 16: Ontology Development 101  A Guide to Creating Your  First Ontology

Step 2. พจารณาการนำา ontology กลบมาใชใหม

เปนการพจารณาทมคณคา ถามอะไรบางอยางทใชงานไดอยแลว และเราสามารแกไขใหดขนและขยายขอมลทมอยในสวนของโดเมนและงานการใช ontology ได ถาระบบของเราตองโตตอบกบแอฟพลเคชนอน หลาย ontology อยในรปของอเลกทรอนกสและสามารถนำาเขามาในสภาพแวดลอมการพฒนา ontology ได หลกการของ ontology จะถกแสดงออกชดเจน เพราะระบบแทนความร สามารถนำาเขาและสงออก ontology ได

Page 17: Ontology Development 101  A Guide to Creating Your  First Ontology

• อยางเชน พนฐานความรของไวนฝรงเศสอาจจะมอยแลว ถาเรานำาฐานความรนมาใชจะทำาใหเปนความรพนฐานทเรามอยได เราไมไดทำาการแบงแตประเภทของไวน แตเราจะแยกประเภทของไวนจากลกษณะของมน โดยใชสงทแตกตางกนในการแยกและอธบายรายละเอยดของไวน รายการคณสมบตของไวนอาจจะมอยแลวในเวบไซต เชนwww.wines.com ซงลกคาสามารถเลอกไวนทตนเองตองการได จากคำาแนะนำาน เราจะสมมตวาความสมพนธกบ ontology ทมอยแลวนนไมม และเรมพฒนา ontology จากการเขยน

Page 18: Ontology Development 101  A Guide to Creating Your  First Ontology

Step 3. ความสำาคญการระบเทอม ontology

• ประโยชนททำาการบนทกรายการในบรรดาเทอม คอ เราใช ในการทำาประโยค (Statement) หรอ อธบายผใชใหเขาใจได และ อะไรคอเทอมทเราจะพดถง อะไรคอคณสมบตทเทอมนนม อะไรคอเรองทเราจะพดถงเกยวกบเทอมตาง ๆ ตวอยาง คอ ความสำาคญความสมพนธของไวน ประกอบดวย ไวน , องน , สถานทผลต , สของไวน , ความเขม,รสชาต และความหวาน , อาหารทแตกตาง เชน ปลา , เนอทมสแดง ชนดของไวน เชน ไวนขาว , ไวนแดง และอน ๆ

Page 19: Ontology Development 101  A Guide to Creating Your  First Ontology

• ในตอนเรมตน ความสำาคญในการทจะทำาการรวมรายการของเทอมทงหมด ความสมพนธในเทอมตาง ๆหรอแนวคดพนฐานตาง ๆ ทมได หรอมแนวคดทเปนคลาสหรอสลอต 2 ขนตอนตอไป คอ การพฒนาลำาดบขนของคลาส (class hierarchy) และการนยามคณสมบตของสลอต มนเปนเรองยากในชวงแรก และตอมากทำาไดตามปกต เราสามารถสรางนยาม 2 - 3 นยามของแนวคดในลำาดบชน และอธบายคณสมบตของแนวคดเหลาน 2 ขนตอนนเปนขนตอนทมความสำาคญในการกระบวนการออกแบบ ontology

Page 20: Ontology Development 101  A Guide to Creating Your  First Ontology

Step 4. กำาหนดคลาสและลำาดบชนของคลาส

วธการแบบ top-down• เปนกระบวนการทเรมตนดวยการกำาหนด

แนวคดทวไปของโดเมน ตอมากกำาหนดแนวคดแบบเฉพาะ เชน เราสามารถเรมตนสรางคลาสสำาหรบแนวคดของไวนและอาหารทเฉพาะเจาะจงเปนคลาสยอย (Subclass) เชน ไวนขาว , ไวนแดง, ไวนกหลาบ เปนตน

Page 21: Ontology Development 101  A Guide to Creating Your  First Ontology

วธการแบบ bottom-up• เปนกระบวนการทเรมตนดวยการกำาหนดสงทเฉพาะเจาะจงในคลาส

ตอมากทำาการรวมคลาสเหลานใหเปนกลมลงในแนวคด เชน เราเรมตนดวยการกำาหนดคลาสของไวน Pauillac(โปยยก) , Margaux (มารโกซ) แลวเรากสรางคลาสแม (super class) เปน 2 คลาส Medoc (เมดอก) จะเปนคลาสยอย (subclass) ของ Bordeaux (บอรโดซ)

วธการแบบ combination• เปนกระบวนการทรวมวธการของทงสองแบบ คอ top-down และ

bottom-up เรากำาหนดจดเดนของแนวคดตาง ๆ ในตอนแรกและกทำาการ generalize และ specialize ใหเหมาะสม โดยเรมตนจากแนวคดแบบ top-level และใหมความสมพนธกนแบบ middle-level

Page 22: Ontology Development 101  A Guide to Creating Your  First Ontology

รปท 2 แสดงการแยกสวนยอยๆ ในระดบตางๆ ของคณลกษณะทวๆไป

รปท 2. ระดบความแตกตางของอนกรมวธานของ wine : ไวนเปนแนวคดโดยทวไปมากทสด ไวนแดง, ไวนขาว และ ไวนสกหลาบ เปนระดบความคดทวไป Pauillac (โปยยก) และ Margaux (มารโกซ) เปนคลาสทถกระบมากทสดในลำาดบชน (หรอแนวความคดระดบลาง)

Page 23: Ontology Development 101  A Guide to Creating Your  First Ontology

• ทงสามวธไมมอะไรดทสด วธการขนอยกบโดเมนแตละบคคล หากนกพฒนามระบบ top - downของโดเมนด กอาจจะงายตอการใชวธการจากบนลงลาง วธการผสมมกจะเปนวธทงายทสดสำาหรบนกพฒนาหลาย ontology ตงแตแนวคดระดบกลางมกจะเปนแนวคดแบบขน

Page 24: Ontology Development 101  A Guide to Creating Your  First Ontology

ถา 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)

Page 25: Ontology Development 101  A Guide to Creating Your  First Ontology

Step 5. นยามคณลกษณะของ Class slot• ชนทอยเพยงชนเดยวจะมขอมลไมเพยงพอทจะสามารถตอบคำาถาม• จากขนตอนท 1 เมอเราไดกำาหนดบางชนแลว เราตองอธบายโครงสราง

ภายในของแนวคดเราไดเลอกชนจากรายการของ items ทเราสรางในขนตอนท 3 ทสดแลวจำานวนทเหลอมแนวโนมทจะเปนคณสมบตของชนเหลานน

• สำาหรบคณสมบตในแตละรายการ เราจะตองอธบายและตรวจสอบไดวา คณสมบตเหลานเปน slots ของชน ดงนนชนของไวนจะม slots ดงตอไปน คอ ส รปราง รสและนำาตาล และจะมตำาแหนงชนของ โรงงานผลตดวย

• Subclass ทงหมดของคลาสสบทอด slot ของคลาส เชนทกๆ slots ของชนไวนจะสบทอดให subclass ของไวน รวมทงไวนแดงและไวนขาว เราจะเพมอก slotsในระดบของ tannin (ตำา,ปานกลาง,สง) เพอชนไวนแดง slotระดบ tannin จะถกสบทอดโดยทกชนทแสดงไวนแดง

Page 26: Ontology Development 101  A Guide to Creating Your  First Ontology

ขนท6 : มมมองของการกำาหนดชองตาราง

• ในการกำาหนดตารางสามารถอธบายไดอยางหลากหลาย มทงประเภทของคาตวแปร ตวแปรสำารองใหจำานวนคา และตวแปรอนๆของคาสลอตทสามารถกำาหนดตารางได ตวอยางเชน ตวแปรทเปนชอของชองตารางในหนงสตรง โดยระบชอตวแปรสตรง แลวสรางหลายๆตวแปร ยกตวอยางตวแปรของคลาสไวน

Page 27: Ontology Development 101  A Guide to Creating Your  First Ontology

กำาหนดของคารดเนลต

• กำาหนดจำานวนคาสลอต ระบบบางระบบจะจำาแนกความแตกตางเทานน ระหวางคารดเนลตแบบเดยว (สำารองไดมากสดหนงคา) และแบบหลายคารดเนลต(สำารองตวเลขใดๆของตวแปรอยางไมจำากด) ในสวนของบอดคลาสไวนจะใชคารดเนลตแบบเดยวในชองตาราง(ไวนสามารถมไดเพยงหนงตว) ไวนสรางไวนรแตงตงในแบบหลายๆคารดเนลตของชองตารางสำาหรบคลาสของไวนร

• ระบบบางระบบจะยอมรบขอจำากดคารดเนลตอยางตำาสดและสงสด ในการอธบายตวเลขของตวแปรในตาราง คาคารดเนลตตองมความแมนยำา จะตองมคา N จะมความหมายวาสลอตมกจะมตวแปรN

Page 28: Ontology Development 101  A Guide to Creating Your  First Ontology

กำาหนดของคารดเนลต

• ยกตวอยาง : สลอตองนของไวนทมคณสมบตขนตำา 1: ไวนทำามาจากองน

คารดเนลตสงสดของความหมายM คอ สลอตสามารถมไดสงสด คารดเนลตทมจำานวนมากสำาหรบสลอตองน สำาหรบไวนชนดเดยว คอ 1: ไวนทำามาจากองนชนดเดยวเทานน บางครงอาจจะเปนประโยชนในการตงคาคารดเนลตทสงสดเปนศนย การตงคาน แสดงวาสลอตชวงนไมสามารถมคาใดๆของซบคลาสเฉพาะ

Page 29: Ontology Development 101  A Guide to Creating Your  First Ontology

รปแบบของสลอตตวแปร

• รปแบบตวแปรทสามารถเตมในสลอต นคอรายการรปแบบตวแปรทเกดขน :

• สตรง คอรปแบบตวแปรพนฐานFloatและจำานวนเตม• ตวเลข (บางครงรปแบบเฉพาะของตวแปรfloatและจำานวนเตม)

อธบายสลอตดวยคาตวเลข ยกตวอยางเชน ราคาของไวน นบเปนตวแปรปแบบFloat

• ชองบลน สลอตในตวอยาง yes-no ยกตวอยางเชน ถาเราเลอกทไมแสดงไวนใหเหนวา การแยกไวนจะแสดงคาบลน หรอทงสองอยาง

• สามารถแสดงใหตวแปรของสลอตบลน: ถาในตวแปรtrue (yes) ไวนจะเปนประกาย และถาตวแปรfalse (no) ไวนจะไมเปนประกาย

Page 30: Ontology Development 101  A Guide to Creating Your  First Ontology

รปแบบของสลอตตวแปร

• การแจกแจง สลอตกำาหนดรายการในการสำารองตวแปรสำาหรบสลอต ยกตวอยาง เชน เราสามารถกำาหนดทชองรสชาต สามารถใชเวลาหนงในสามคาทเปนไปได : แขงแรง ปานกลาง ละเอยดออน ผดแลในการแจกแจงสลอต คอ ซมโบล

• ยกตวอยาง รปแบบสลอตไดกำาหนดคำานยาม ความสมพนธ–ระหวางแตละบคคล สลอตทเกยวกบรปแบบตวแปรตวอยางอาจจะกำาหนดของการแสดงรายการออกเปนคลาสจาก กรณ ยกตวอยาง สลอตในการสรางคลาสของผทำาไวน อาจจะดำาเนนการของคลาสไวนในตวแปร

Page 31: Ontology Development 101  A Guide to Creating Your  First Ontology

รปแบบของสลอตตวแปร

• โดเมนและชวงของสลอต• กำาหนดคลาสของสลอตในกรณตวแปรโดยเรยกใช

เรนจของสลอตเสมอ ในตวอยางรปท4 คลาสไวน เรนจจะสรางสลอต บางระบบจะกำาหนดการยบยงของเรนจ เมอใดทสลอตมความสมพนธเกยวกบคลาสโดยเฉพาะ

Page 32: Ontology Development 101  A Guide to Creating Your  First Ontology

รปแบบของสลอตตวแปร

•กฎพนฐานของการทำาโดเมนและเรนจของสลอตทเหมอนกน

• เมอไหรทโดเมนหรอเรนจ สำาหรบสลอต จะพบคลาสไดทวไปมากหรอคลาสทสามารถทำาอยางเปนลำาดบในโดเมน ถาทำาอยางอน จะไมพบโดเมนและเรนจทมากเกน ในทกๆคลาส โดเมนของสลอตจะบรรยายสลอตและในกรณคลาสในเรนจทงหมด หากไมมการเลอกทวๆไปของคลาสเรนจ แตจะมความตองการเลอกคลาสรวมไปถงผทบรรจดวย แทนการฟงปญหาซบคลาสทงหมดของคลาสไวน สำาหรบเรนจในการสรางสลอต ในเวลาใกลเคยงกน เราไมตองการกำาหนดเรนจของสลอตTHING ของคลาสออทโลย

Page 33: Ontology Development 101  A Guide to Creating Your  First Ontology

รปแบบของสลอตตวแปร• การกำาหนดเวลาอนๆ• ถารายการของคลาส หรอการกำาหนดชวงโดเมนของสลอตจะมคลาสและ

ซบคลาส ถาสลอตชวงการมทงชนไวนและไวนชนสแดง เราสามารถเอาไวนแดงจากชวงนน เนองจากไมไดเพมขอมลใหม ไวนสแดงเปนซบคลาสของไวน ดงนนชวงสลอตโดยปรยาย รวมไปถงเปนทงหมดของซบคลาสอนๆของคลาสไวน

• ถารายการของคลาสหรอการกำาหนดชวงโดเมนของสลอต มซบคลาสทกชน แทนการกำาหนดชวงของการรวมไวนแดง ไวนขาว และไวนกหลาบ(แจกแจงทกซบคลาสโดยตรง) เราสารถจำากดตวมนเองในชวงของไวน

• ถารายการของคลาสหรอการกำาหนดชวงโดเมนของสลอตมทงหมด แตซบคลาสพจารณาถาชนททำามากขนเปนชวงทเหมาะสม

• ในระบบใหชนเปนเหมอนการเพมระดบทสลอตของโดเมน กฎการแนบชอต ในแงหนงเราควรพยายามทำาไดทวไปทสด ในทางตรงกนขามเราตองแนใจวาแตละชนทเราแนบสลอต สามารถมคณสมบตเปนสลอตทแนบชองเสยบแทนแตละระดบชนเรยนทแสดงไวนแดง

Page 34: Ontology Development 101  A Guide to Creating Your  First Ontology

ชวงท7 การสรางอนสแตนท

•ขนตอนสดทายคอการสรางตวอยางแตละคลาสในลำาดบชน กำาหนดตวอยางแตละคลาสตองประกอบไปดวย 1. การเลอกและตดสนใจ

• 2. สรางตวอยางในแตละคลาส • 3. กรอกคาสลอต ตวอยางเชน เราสามารถสรางบคคล

เชน chateau – morgon – Beaujolais แทนประเภทเฉพาะของไวน

Page 35: Ontology Development 101  A Guide to Creating Your  First Ontology

4. คลาสและการกำาหนดลำาดบชน

•สวนนจะกลาวถงสงทระวงและขอผดพลาดทงายตอการทำา เมอเรยนกำาหนดและลำาดบชน กลาวถงการไมมชนลำาดบชนเดยวทถกตองสำาหรบโดเมนใดกตาม ลำาดบชนขนอยกบการใชเปนไปไดของออนทโลจ ระดบของการตงคารายละเอยดทจำาเปนสำาหรบการใชสวนบคคล และความตองการบางครงกเขากนไดกบรนอนๆ แตเราจะหาแนวทางตางๆเพอทราบการพฒนาลำาดบชน หลงจากทกำาหนดเปนจำานวนมากการเรยนใหมจะเปนประโยชนทตรวจสอบวาลำาดบชนทเกดขนนนสอดคลองกบหลกเกณฑเหลาน

Page 36: Ontology Development 101  A Guide to Creating Your  First Ontology

4.1 แนใจวาลำาดบชนมความถกตอง

• - ไวนเดยวไมซบคลาสของไวนทงหมด แบบจำาลองขอผดพลาดทรวมทงเอกพจนและพหพจนในความคดเดยวกนของลำาดบชน ทำาใหอดตของซบคลาส ตวอยางเชนการกำาหนดไวน และชนไวนซบคลาสของลำาดบชนแทนชนดและความสมพนธของความผดพลาดแบบจำาลองชดเจน วธทดทสดเพอหลกเลยงขอผดพลาดดงกลาวเสมอคอ ใชทงเอกพจนหรอพหพจนในการตงชอคลาส

Page 37: Ontology Development 101  A Guide to Creating Your  First Ontology

4.2 Analyzing siblings in a class hierarchy

• โครงสรางของ Siblings ในลำาดบชนคลาส• Siblings ในลำาดบชนมคลาสทคลาสยอยหลายๆคลาสโดยตรง

และอยใน class เดยวกน (ยกเวนราก) จะตองมคณลกษณะเหมอนกนกนและในระดบเดยวกน เชน White wine กบ Chardonnay ตองไมเปนคลาสยอยชนเดยวกน กลาวคอ White wine เปนแนวคดทวไปมากกวา Chardonnay Siblings ควรทำาหนาทแทน “along the same line” ในลกษณะเดยวกบทสวนระดบเดยวกน ในหนงสออยในระดบเดยวกนทวๆ ในความหมายทตองการสำาหรบลำาดบชน คลายกบขอกำาหนดในการรางหนงสอ แนวคดทรากของลำาดบชน อยางไรกตาม (ซงมกจะเปนผแทนโดยตรง subclasses ชนทวไปบางอยางเชน Thing) หมายถงหนวยงานทสำาคญของโดเมนและไมตองมแนวคดทคลายกน

Page 38: Ontology Development 101  A Guide to Creating Your  First Ontology

มจำานวนมากไปหรอวานอยไปหรอเปลา ?

ไมมกฎเหลกสำาหรบจดการจำานวนในคลาสยอยทคลาสทกคลาสตองม อยางไรกตาม โครงสรางของ ontology ทดตองมคลาสยอยอยางนอยระหวาง 2 ถง 12 คลาส

ดงนนจงมแนวทางสองแนวทางดงน• ถาคลาสมเพยงหนงคลาสยอย อาจเกดปญหาในการ

สรางแบบจำาลองหรอ ontology ไมสมบรณ•หากมคลาสยอยมากกวา 12 คลาสทกำาหนดเพมเตมแลว

อาจจำาเปนตองหาจดตรงกลาง

Page 39: Ontology Development 101  A Guide to Creating Your  First Ontology

มจำานวนมากไปหรอวานอยไปหรอเปลา ?

รปท 6 คลาสยอย (Subclasses) ของคลาส Red Burgundy จะมคลาสยอยเดยว คลาสปกตชไปทปญหาในการสรางแบบจำาลอง

• สมมตวาเราแสดงประเภทของไวนแบบคลาสยอยโดยตรงของคลาสไวน รายการนนนควรจะเพมประเภทของไวนเขาไปเชน Beaujolais , Bordeaux หรอทคลายกบ Paulliac , Margaux เพราะวาคลาสนมตำานวนคลาสยอยโดยตรงทแทจรงสำาหรบ Ontology เพอสะทอนใหเหนถงความแตกตางของประเภทของไวนมากกวาน เชน Medoc ควรจะเปนคลาสยอยของคลาส Bordeaux และ Cotes d’Or ควรเปนคลาสยอยของ Burgundy และยงมประเภทของไวนขาวและไวนแดงอกหลายๆ ประเภททแสดงใหเหนถงแนวคดตางๆในโดเมนของไวนทผคนมอย อยางไรกตาม ถาไมมคลาสธรรมดาทมแนวคดเดยวกบความคลายคลงกนเรากไมควรสรางคลาสเทยม กจะแสดงใหเหนถงความเปนโลกแหงความจรงมากขน

Page 40: Ontology Development 101  A Guide to Creating Your  First Ontology

มจำานวนมากไปหรอวานอยไปหรอเปลา ?

รปท 7 จดประเภทของไวน มไวนทกชนดและประเภทของไวนทมหลายระดบ

Page 41: Ontology Development 101  A Guide to Creating Your  First Ontology

4.3 Multiple inheritance การสบทอดหลายๆ ครง

•ความรหลายๆ ความรนนทแสดงในระบบยอมรบการสบทอดแบบหลายๆครง ในคลาสแบบมลำาดบชน คอ คลาสสามารถมคลาสยอยในคลาสเดยวกน เชนถาเราตองการสรางคลาสทแยกไวนทานเลน ดงนนเรานยามคลาส Port จะตองม 2 Superclass คอไวนแดงและไวนทานเลน ทกๆกรณของ Port คลาสจะตองเปนทกๆ กรณของไวนแดงและไวนทานเลนดวย ซงจะสบทอดขอเทจจรงมาจากคลาสทงสอง

Page 42: Ontology Development 101  A Guide to Creating Your  First Ontology

4.4 When to introduce a new class (or not) จะสรางคลาสใหมหรอไม

•หนงในการตดสนใจทยากทสดในระหวางการสราง Model กคอเมอมการสรางคลาสใหมหรอแทนขอมลทมความแตกตางกนของคาใน Properties การยากทจะนำาคลาสทงสองมาซอนกนในลำาดบชนจงจะทำาใหขอมลมมากกมาย การหาทางทเหมาะสมนนเปนการยาก คอเรามกฏมาหมายทจะชวยตดสนเมอเราจะสรางคลาสใหมในคลาสแบบมลำาดบชน คลาสยอยของคลาสนนโดยทวไป

Page 43: Ontology Development 101  A Guide to Creating Your  First Ontology

4.4 When to introduce a new class (or not) จะสรางคลาสใหมหรอไม

มหลกเกณฑอยหลายอยางทชวยในการแบง class ใหมใหเปนลำาดบชน

•ประเภทยอยของ class ทวๆไป• มคณสมบตเพมท class ใหญไมม•มขอจำากดตางจาก class ใหญ•มสวนในความสมพนธทแตกตางจาก class ใหญ

Page 44: Ontology Development 101  A Guide to Creating Your  First Ontology

4.4 When to introduce a new class (or not) จะสรางคลาสใหมหรอไม

• ไวนแดงสามารถมระดบความแตกตางกนขณะทคณสมบตนไมเคยไดถกอธบายมากอนสำาหรบไวนทวๆไป ระดบนำาตาลของ Dessert Wine คอ SWEET ขณะทไมเปนจรงใน Superclass Dessert Wine และไวน Pinot Noir กอาจจะเขาไดกบอาหารทะเล ในขณะทไวนแดงชนดอนๆ นนไมเปน เราจะแนะนำาใหสรางคลาสใหมในคลาสแบบมลำาดบชนเมอเรามคาบางอยางทบอกในคลาสไดแตไมสามารถระบใน Superclass ได

Page 45: Ontology Development 101  A Guide to Creating Your  First Ontology

4.4 When to introduce a new class (or not) จะสรางคลาสใหมหรอไม

• ในทางปฏบตนนคลาสยอยดงกลาวนนควรมชองทางใหเลอกสำาหรบทจะเพม หรอมการนยามใหม หรอสบทอดความจรง อยางไรกตามบางครงนนควรทจะสรางคลาสใหมเมอเราจะตองสรางคณสมบตนน ตวอยางเชน ในบาง Ontology นนมเพมลำากบชนมากมายในโดเมนซงตวอยางนนนเปนตนแบบของอปกรณอเลคทรอนกสซงจะรวบรวมการจำาแนกอาการตางๆมากมาย การจำาแนกอาการนเปนการสรางลำาดบชนโดบปราศจากคณสมบต ในกรณนนนมนยงคงเตมไปดวยโครงสรางลำาดบชนทแทนทจะแสดงรายการออกมาเนองจากงายตอการสำารวจ และทำาใหแพทยสามารถเลอกไดงายในระดบทวๆไปของสถานการณทเหมาะสม เหตผลอนๆ ทจะสรางคลาสใหมโดยปราศจากคณสมบตนนคอโมเดลทมแนวคดแบบผเชยวชาญใหมความแตกตางถงแมวาจะมการตดสนใจทไมแตกตางกนในตวของมนเอง เนองจากเราใช Ontology เพออำานวยความสะดวกในการสอสารระหวางผเชยวชาญ หรอ ระหวางผเชยวชาญกบระบบฐานความรเราจงตองสะทอนใหเหนถงมมมองของผเชยวชาญใน Ontology

Page 46: Ontology Development 101  A Guide to Creating Your  First Ontology

4.4 When to introduce a new class (or not) จะสรางคลาสใหมหรอไม

สดทายนเราไมควรสราง Superclass สำาหรบการเพมเตมขอจำากด ตวอยางเชน เราสรางคลาสไวนแกง ไวนขาว และ ไวนกหลาย เพราะวา นคอความแตกตางโดยธรรมชาตในตวอยแลว เราจงไมตองสรางคลาสทมความละเอยดออนเราเลอกทจะทแนเพยง Red Port Ontology } White Port Ontology เมอกำาหนดลำาดบชนคอการสรางความสมดลระหวางคลาสใหมทมประโยชนสำาหรบโครงสรางของคลาส

Page 47: Ontology Development 101  A Guide to Creating Your  First Ontology

4.5 A new class or a property value?เมอจำาลองโดเมนแลวตองตดสนใจวาจะเปนตวอยางเฉพาะดานทตางกน(อยางเชน ไวนแดง ไวนขาว หรอไวนกหลาบ) เชนปรมาณสวนประกอบ หรอประเภทชดเดม ขนอยกบขอบเขตทเราสนใจและความสามารถสรางประเภทไวนขาวไหมหรอวาเราจะทำาเปนประเภทไวนทวไปและคอยเพมคาความตางเชนส คำาตอบมกจะอยในขอบเขตทเรากำาหนดใน Ontology ขอบเขตของไวนขาวทเราสนใจมจดเดนอยางไร ถาเปนไวนทไมมจดเดน หรอไวนขาวทไมไดมจดเดนเฉพาะเจาะจง เรากไมควรทจะแบงมนออกเปนประเภทไวนขาวสำาหรบไวนทผลตในโรงงานนน ไวนจะมสทเหมอนกนและไมมจดเดนอะไรเลยวธการสำาหรบการดำาเนนการกบไวน วตถดบ เพอนำาผสมกบไวนแดงนนตางจากไวนขาวโดยสนเชง มนใชวตถดบไมเหมอนกน และมสวนประกอบทตางกน ดงนนสของไวนเปนจดเดนสำาหรบแทนหนวยความรพนฐาน knowledge base ของไวน เราจงอาจจะกำาหนดรสชาตของไวน ดงนนเราจงตองสราง class แยกไวสำาหรบไวนขาวถาขอบเขตทเราสนใจกลายเปนตวกำาหนดของความแตกตางของ class เราควรจะสราง class ใหมเพอใหแตกตางกน ไมอยางนนแลวเราจะไมสามารถแสดงใหเหนถงความตางกนได

Page 48: Ontology Development 101  A Guide to Creating Your  First Ontology

ในทำานองเดยวกน ontology ไวนทเราศกษามการแบงเปนประเภทเชน RedMerlot และ White Merlot มนนาจะมมากกวาประเภทเดยวสำาหรบไวน Merlot ทงหมด red Merlots และ white Merlots จรงๆแลวเปนไวนทตางกน ( แตทำาจากองนเหมอนกน ) ถาเราพฒนา ontology รายละเอยดทมจดเดนตางกน ของไวนนถาความแตกตางกนเปนจดสำาคญ และคำานงถงเปาหมายสำาคญทตางกน เชนประเภทของเปาหมายทตางกนถาเปนแบบนนเราควรจะแบง class ใหมเพอกำาหนดความแตกตางในบางครงการแบงประเภทประโยชนชวยในการตดสนใจ Class นนไมควรจะมการเปลยนแปลงบอยๆโดยปกตเมอเราใชสวนประกอบภายนอกมากกวาสวนประกอบหลก ในกรณนประเภทมการโยกยายบอยจากประเภทหนงไปประเภทอนๆ ตวอยางเชน ไวน Chilled ในรานอาหารจะไมแบงเปนประเภทตางหาก ลกษณะของ chilled อาจจะมสวนประกอบเหมอนไวนทวๆไปโดยปกต หมายเลข ส สถานทตง ไมใชสาเหตททำาใหเกดประเภทใหมขน

Page 49: Ontology Development 101  A Guide to Creating Your  First Ontology

ตวอยางอนทพจารณา ontology มนษยกายวภาคศาสตร เมอเราแสดงซโครงเราจะสราง class สำาหรบแตละ" ซโครงซาย 1"2 ซโครงซาย"และอน ๆ ? เราหรอมชน Rib มชองสำาหรบการสงซอและตำาแหนงดานขาง (ขวาซาย) ? 5 หากขอมลเกยวกบแตละซโครงทเราแสดงใน ontology จะแตกตางกนแลวเราแนนอนควรสรางชนสำาหรบแตละซโครง คอถาเราตองการแสดงรายละเอยดถอยคำาและขอมลสถานทตง (ซงแตกตางกนสำาหรบแตละซโครง) เปนหนาทเฉพาะทแตละPlaya ซโครงและอวยวะทปกปองเราตองการเรยน ถาเราจำาลองกายวภาคทเลกนอยระดบนอย ๆ ทวๆไปและกระดกทงหมดจะคลายกนมากเทาทโปรแกรมศกยภาพของเราเกยวของ (เรากพดคยเกยวกบทซโครงเสยใน X - Ray ไมมความหมายสำาหรบสวนอน ๆ ของรางกาย) เราอาจตองการความสะดวกและลำาดบชนของเรามเพยงชน Rib, มสองชอง : ตำาแหนงดานขางคำาสง

Page 50: Ontology Development 101  A Guide to Creating Your  First Ontology

4.6 An instance or a class?การตดสนใจวาแนวคดทเฉพาะเจาะจงเปนคลาสใน

ontology หรอเปน แคinstance เฉพาะนนขนอยกบ application ของ ontologyวามศกยภาพอะไรอย การตดสนใจวาทใดท class จะสนสดและ instance เฉพาะจะเรมนน เรมดวยการเลอกวาอะไรคอระดบตำาสดของของระบบทมลกษณะแยกกนคลายเมลด ระดบของระบบดงกลาวจะถกกำาหนดโดย application ทศกยภาพของ ontology กลาวคอ สวนทเฉพาะเจาะจงทสด ทถกจะแสดงในฐานความรคออะไร จากคำาถามทเราไดระบไวในขนตอนท 1 สวนท 3 แนวคดเฉพาะเจาะจงทสดนนจะเปนคำาตอบไปสคำาถามทดมากๆ ในฐานความร

Page 51: Ontology Development 101  A Guide to Creating Your  First Ontology

ตวอยางเชน ถาเรากำาลงจะพดถงการจบค wine กบ food เราจะไมสนใจลกษณะทางกายภาพของขวดไวน ดงนน Sterling Vineyards Merlot อาจจะเปนเงอนไขเฉพาะสวนใหญทเราใช กลาวคอ คลาส wine ไมใชการรวบรวมของแตละขวดของ wine แตจะเกบเฉพาะ wine ทผลตโดยเจาะจงไปทโรงกลนไวนมากกวา ดงนน Sterling Vineyards Merlot จะเปน instance ในฐานความรในทางกลบกน ถาเราอยากจะรกษาสนคาคงคลงของไวนในรานอาหาร นอกจากฐานความรของการจบคไวนและอาหาร ในแตละขวดของ wine แตละชนดอาจจะกลายเปนแตละ instance ในฐานความรไดเสมอนวา ถาเราอยากบนทกความแตกตางของคณสมบตสำาหรบเหลาองนแตละละชนดของ Sterling Vineyards Merlot แลวเหลาองนของ wine เปน instance ในฐานความร และ Sterling Vineyards Merlot เปนคลาสทม instance สำาหรบเหลาองนทงหมด

Page 52: Ontology Development 101  A Guide to Creating Your  First Ontology

อกหนงกฎสามารถ ยาย “ ” instance แตละตวเขาไปในชดของคลาสได

ถารปแบบแนวคดของลำาดบชนเปนปกต ดงนนเราควรแสดงสงนเปนคลาส

พจารณา wine region แรกเรม เราอาจกำาหนด win region หลกๆ เชน France, United States, Germany และอนๆ เปนคลาสตางๆ และ wine region ทเจาะจงภายใน region ขนาดใหญใหเปน instance อยางไรกตาม เราจะกลาวไดวา Cotes d’Or region เปน Bourgogne region ดงนน Bourgogne region ตองเปนคลาส (เพอใหมคลาสยอยหรอ instance) อยางไรกตาม การทำาคลาส Bourgogne region และ Cotes d’Or region ทเปน instance ของ Bourgogne region ดเหมอนวาจะไมมเหตผล มนยากมากทจะเขาใจความแตกตางของ region ทเปนคลาสและ instance ตางๆ ดงนน เราจะกำาหนด wine region ทงหมดใหเปนคลาส Protégé-2000 อนญาตใหผใชสามารถระบคลาสบางคลาสใหเปนนามธรรม บงชวาคลาสไมสามารถม instance ไดโดยตรง

Page 53: Ontology Development 101  A Guide to Creating Your  First Ontology

4.7 Limiting the scopeเปนขอความสดทายในการกำาหนดลำาดบชนของ

class เซตถดมาของกฏทคอยชวยเหลอในการตดสนใจเรอยๆ เมอนยาม Ontology เสรจสมบรณ :

Ontology ไมควรมขอมลทงหมดทเปนไปไดเกยวกบโดเมน: คณไมจำาเปนตองรมากกวาความตองการของคณ

สำาหรบตวอยางไวนและอาหาร เราไมตองรวาเกยวฉลากหรอวธการปรงเชน อาหารประเภท กง ในทำานองเดยวกน

Ontology ทงหมดไมควรมคณสมบตทเปนไปไดของความแตกตางระหวาง class ในระดบชน เราไมไดรวมคณสมบตทงหมดทไวนหรออาหารม เราแสดงคณสมบตทโดดเดนทสดของ class ของรายการใน Ontology ของเรา แมวาหนงสอไวนจะบอกขนาดขององนแกเรา แตเราไมไดรวมความรนไว ในทำานองเดยวกน เราไมมการเพมความสมพนธทงหมดทสามารถจนตนาการตามขอกำาหนดทงหมดในระบบของเรา

Page 54: Ontology Development 101  A Guide to Creating Your  First Ontology

ตวอยาง เราไมไดรวมความสมพนธอยางไวนทชนชอบและอาหารทชนชอบใน Ontology เพยงเพอใหการบรรยายเสรจสมบรณทงหมดของการตดตอกนระหวางคำาทเราไดกำาหนดไวกฎขอสดทายยงใชกบการสรางความสมพนธระหวางแนวคดทเรามอยแลวรวมอยใน Ontology พจารณา Ontology อธบายการทดลองชววทยา Ontology อาจจะมแนวคดของสงมชวตทางชวภาพ นอกจากนยงจะมแนวคดของการทดสอบประสทธภาพ Experimenter มนเปนความจรงท experimenter เปนบคคลยงเกดขนเปนสงมชวตทางชววทยา แตเราอาจไมควรรวมความแตกตางนใน Ontology เพอวตถประสงคในการแสดงน experimenter ไมใช Biological Organism และเราจะไมอาจดำาเนนการทดลอง experimenters เอง ถาเราแทนทกสงทเราสามารถพดเกยวกบคลาสใน Ontology และ Experimenter จะกลายเปน subclass ของ Biological Organismในความเปนจรงรวมทงจำาแนกประเภทเพมเตมสำาหรบคลาสทมอย ในเอกสารเพอประโยชนของผใชทจะมอง Ontology นและผทไมอาจจะทราบโปรแกรมทเรามในใจ มฉะนนคนทประสงคจะนำามาใชใหม Ontology สำาหรบโปรแกรมอนๆ อาจลองใช experimenter เปน subclass ของบคคลทไมทราบวาแบบจำาลองเดมไมไดรวมถงขอเทจจรง

Page 55: Ontology Development 101  A Guide to Creating Your  First Ontology

4.8 Disjoint subclassesหลายระบบยอมใหเราสามารถระบไดวาหลายๆ class

นนไมปะตดปะตอกน class ไมปะตดปะตอกนถาพวกเขาไมมกรณใดทเหมอนกน ตวอยาง class ไวนหวานและไวนขาว ใน Ontology ของเรานนแยกจากกน มไวนจำานวนมากทกรณทงค The Rothermel Trochenbierenauslese Riesling เปนกรณหนงของ class Sweet Riesling เปนตวอยางหนง ในเวลาเดยวกน class ไวนแดงและไวนขาว นนแยกออกจากกน ไมมไวนทสามารถเปนสแดงและสขาวในเวลาเดยวกน กำาหนดให class นนแยกจากกน ชวยใหระบบการตรวจสอบ Ontology ดขน ถาเรากำาหนด class ไวนแดงและไวนขาวนนแยกจากกน และตอมาสราง class ทเปน subclass ของเหลาองนขาว (subclass ของไวนขาว) และเหลาองนแดง(subclass ของไวนแดง) ระบบสามารถบอกไดวาแบบจำาลองมความผดพลาด

Page 56: Ontology Development 101  A Guide to Creating Your  First Ontology

5. Defining properties—more details

•5 การกำาหนดรายละเอยดของคณสมบตในสวนนเราจะมาพดคยในเรองของรายละเอยดตางๆเพอใหทราบวธการในการกำาหนดลงในชองของ ontology (ขนตอนท 5 และ 6 ในตอนท 3) สวนใหญแลวเราจะพดคยในเรองของ คา slots ทผกผน คาเรมตนของ slot นน

Page 57: Ontology Development 101  A Guide to Creating Your  First Ontology

5.1 Inverse slots• คาของ slot นอาจขนอยกบคาของชองอนๆ ตวอยางเชน ถาไวนผลตมาจาก โรงกลนไวน

และโรงกลนไวนกเปนผผลตไวนน สงนจะมอยสองความสมพนธ คอ ผสรางและผผลต เรยกวาเปนความสมพนธแบบผกผน การจดเกบขอมล จะเปนไปใน ทศทางเดยวกน คอ “ ”เปนในลกษณะซำาซอน เมอเรารวาไวนทผลตโดยโรงกลนไวน และโปรแกรมทเกยวของกบฐานความรนนกสามารถสรปคาความสมพนธแบบผกผนจากผลตผลทไดจากโรงกลนไวนขาวนนได แตอยางไรกตาม จากมมมองของระบบการจดหาความร จะมมมมองความสะดวกสบายทงสองดานของขอมลทชดเจน วธนจะชวยใหผใชสามารถกรอกในกรณของไวนและโรงกลนไวนไดในอกแบบหนง ระบบการจดหาความรสามารถควบคมไดในการกรอกคาความสมพนธผกผนทสอดคลองกบฐานความรไดอยางอตโนมต

• ตวอยางของราจะมชองผกผนเปนค : คอ slot คลาสของไวนและslot ผลตผลทไดจากคลาสของโรงกลนไวน เมอผใชสราง ตวอยางของคลาสไวนและใสคาของชองผผลต ระบบจะทำาการเพมใหอตโนมตและจะสรางตวอยางใหมเขาไปทชองของผลตผลใหถกตองกบชองของ โรงกลนไวน ยกตวอยางเชน เมอเราพดเกยวกบ ไวนชนดหนงทชอวา “Sterling Merlot” คอผลตผลทไดจาก Sterling Vineyard (แหลงผลต) ระบบจะทำาการเพม Sterling Merlot ลงไป

Page 58: Ontology Development 101  A Guide to Creating Your  First Ontology

ตอจาก 5.1

Page 59: Ontology Development 101  A Guide to Creating Your  First Ontology

5.2 Default values• 5.2 คาเรมตน• หลายๆ ระบบ frame-base ยอมรบในขอจำากดของคาเรมตนแก slot ถาคาชวงหนง

เหมอนกนในกรณทเปนสวนใหญของคลาส เราสามารถทจะกำาหนดคานเปนคาเรมตนใหกบ slot นนได จากนน เมอแตละตวอยางใหมของชวงทมการสราง slot นเกดขน ระบบจะเตมคาเรมตนใหโดยอตโนมต เราสามรถทจะเปลยนคาใดกไดทจะทำาใหคาเรมตนนนมความสะดวกสบายมากยงขน โดยจะไมบงคบใชขอจำากดใหมๆ ในโครงสรางหรอการปรบเปลยนเปนรปแบบอนๆ

• ตวอยางเชน ถาหากสวนใหญของไวนทเราจะหารอนน เปน full-bodied wines (ไวนทมแอลกฮอลสง) เราสามารถมคำาวา “full” ลงไปเปนคาเรมตนใหกบไวนได และถาหากวาเราพดเปนแบบอน ไวนทงหมดกจะกำาหนดใหมนเปน full-bodied โปรดทราบวาสงนจะแตกตางจากคาของ slot ซงคาของ sot นนจะไมสามารถเปลยนแปลงได ตวอยางเชน เราสามารถพดไดวา slot (ชอง)ของนำาตาล มคาเปน SWEET สำาหรบคาของคลาสไวนในสวนของขนม แลวทงหมดของ subclass และในกรณของคลาสไวนทเปนขนมหวาน จะมคาเปน SWEET สำาหรบชองของนำาตาล โดยคานจะไมสามารถเปลยนเปนคาใดๆของ subclass หรอ ในกรณของ class ได

Page 60: Ontology Development 101  A Guide to Creating Your  First Ontology

6. What’s in a name?• ขอตกลงในการกำาหนดชอสำาหรบแนวความคดของ ontology และการยดมนใน

อนสญญาตางๆเหลานอยางเครงครดไมเพยงทำาให ontology นนเขาใจงาย เทานน แตยงชวยหลกเลยงขอผดพลาดตางๆทคนพบในแบบจำาลอง มหลายแนวทางการตงชอแนวความคด แตบางทกมกจะไมมเหตผลใดๆมารองรบวาเราควรจะเลอกทางเลอกน หรอ ทางเลอกอกอยางหนง แตเราจำาเปนจะตองกำาหนดการประชมเพอการตงชอสำาหรบคลาสและ slot และยดมนในตวมนเอง

• คณลกษณะตอไปนของระบบการแทนความรนนจะมผลตอการประชมเพอการตงชอดงน:• ระบบจะมชอ name space ในคลาสทเหมอนกน รวมถงslot ดวย และกรณอนๆ ละ?

สงนคอระบบจะอนญาตใหมคลาสและ slot ใหแกชอทเปนชอเดยวกน (เชน คลาสของ โรงกลนไวน และslot ของ โรงกลนไวน)ดวยใชหรอไม

• - จะเปนระบบ case-sensitive ไดอยางไร? สงนจะเปนไดคอระบบจะรกษาชอทแตกตางกนเทานนในกรณของชอทมความแตกตางกน (เชน Winery และ winery)

• - มอะไรทคนชอในระบบหรอไม ? ทชออาจจะมชองวาง , เครองหมายคอมมา(,) เครองหมายดอกจน(*) และ เครองหมายอนๆ

Page 61: Ontology Development 101  A Guide to Creating Your  First Ontology

• ใน Protégé-2000, ยกตวอยางเชน การรกษาชอเพยงชอเดยวของ frames ทงหมด มนจะเปนกรรพเศษ ดงนนเราจงไมสามารถมคลาส winery (โรงกลนไวน)และ slot ของ winery (โรงกลนไวน)ได แตอยางไรกตาม เราสามารถทจะมคลาส Winery (กรณตวอกษรใหญ) และ slot ของ winery (โรงกลนไวน)ได CLASSIC(สมยกอน) ในทางกลบกน มนจะไมอยในกรณพเศษและการรกษา name spaceทแตกตางสำาหรบคลาส ,slot และ บคคลทวๆไป ดงนนจากมมมองของระบบ จะไมมปญหาในชอทเหมอนกนระหวางคลาสและ slot ของ Winery

Page 62: Ontology Development 101  A Guide to Creating Your  First Ontology

6.1 Capitalization and delimiters• เรมแรก เราสามารำาปรบปรงการอานของ ontology ไดถาเราประโยชนของความ

สอดคลองกน สำาหรบแนวความคดของชอ ยกตวอยางเชน เราจะใชประโยชนรวมกนของ ชอ คลาส และ ใชชอ slot เปนกรณตวพมพเลก (สมมตวาระบบเปนระบบในกรณพเศษ)

• เมอชอแนวความคดมมากวาหนงคำา (เชน หลกสตรของการทำาอาหาร) เราตองการเพอทจะคนคำา นคอ ทางเลอกทเปนไปได

• การใชระยะหาง : หลกสตรอาหาร (หลายๆระบบ,รวมไปดวย Protégé ,มการอนญาตใหมชองวางในชอของแนวความคด)

• - ใชคำาและตวคนไปพรอมๆกน ในแตละคำาใหมๆ : MealCourse• ใช underscore (_) หรอ dash (-) หรอตวคนชนดอนๆ ในชอ :

Meal_Course,Meal_course, Meal-Course, Meal-course (ถาคณใชตวคน แลวคนจะตองตดสนใจไมวาจะเกดอะไรขนกตามหรอไมตองการใหคำาใหมเปนตวพมพใหญ)

Page 63: Ontology Development 101  A Guide to Creating Your  First Ontology

•หากระบบแสดงความร (knowledge-representation) เปนระบบทอนยาตใหมการใชชองวางในชอ มนอาจจะเปนทางออกทงายทสดสำาหรบนกพฒนา ontology หลายๆคน แตอยางไรกตามสงสำาคญทตองพจารณาในระบบอนๆ ของคณจะตองมการตอบโต หากระบบเปนระบบทไมมการใชชองวางหรอถาสอการนำาเสนอของคณไมไดจดการกบชองวางด มนกสามารถใชวธการอนๆได

Page 64: Ontology Development 101  A Guide to Creating Your  First Ontology

6.2 Singular or plural• เมอชอคลาสเปนชอชนดของวตถ ยกตวอยางเชน ในคลาสของไวนเปน

ไวนทงหมด ดงนนเราจงสามารถเพมเตมความเปนธรรมชาตสำาสำาหรบการออกแบบในการเรยกคลาสไวนมากกวาไวนธรรมดา ไมมทางเลอกใดทดหรอรายไปกวาน (แมวาชอทเปนเอกพจนนนจะใชไมบอยในทางปฏบต) แตสงทเลอกนนกควรทจะสอดคลองกบ ontology อยตลอด บางระบบไดกำาหนดใหผใชไวเพอแจงใหทราบลวงหนาวาพวกเขาควรจะใชหรอไมใชชอแนวคดทเปนเอกพจนหรอพหพจนและไมอนญาตใหพวกเขาหนเหไปหาตวเลอกอนๆ นอกจากนการใชรปแบบเดยวกนตลอดเวลายงจะชวยปองกนการผดพลาดในการออกแบบจำาลองตางๆ ในการสราง class ไวนและในขณะทกำาลงจะสรางคลาสไวน ทเปนในลกษณะของ subclass (ดไดในสวนของหวขอ 4.1)

Page 65: Ontology Development 101  A Guide to Creating Your  First Ontology

6.3 Prefix and suffix conventions•บางวธการของฐานความรแนะนำาใหใชขอตกลงของคำานำา

หนาและคำาตอทายในชอทแยกระหวางคลาสและ slot (ชอง) มการใชงานอยสองแบบคอ แบบเพม has- หรอตอทายดวย –of ของชอ slot ดงนน slot ของเราจะม –maker(ผผลต) และ ม –winery (โรงกลนไวน) ถาหากเราเลอกม –convention slot จะเปลยนเปน maker-of และ winery-of และถาเราเลอก convention วธนจะชวยใหทกคนตดสนใจไดอยางอยางทนททนใด ถาอยในเทอมของคลาสหรอ slot ชอเทอม(term) กจะกลายเปนชอทยาวเพมขนอกเลกนอย

Page 66: Ontology Development 101  A Guide to Creating Your  First Ontology

6.4 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

Page 67: Ontology Development 101  A Guide to Creating Your  First Ontology

7. Other Resourcesเราใชเปน Protégé-2000 - Ontology ในการ

พฒนาสงแวดลอม อธบายและเปรยบเทยบจำานวนของ Ontology ทพฒนาสภาพแวดลอมอนๆ 

วธการพฒนา ontology ทางเลอกOntolingua tutorial (Farquhar 1997) กลาวถงลกษณะทเปนทางการของความรแบบจำาลองในปจจบน นกวจยใหความสำาคญไมเพยงแคการพฒนา Ontology เทานน แตไดทำาการวเคราะOntology ดวย มากไปกวานน Ontology คอการพฒนาการททำาใหเกดขนและการนำามาใช มากกวาทเครองมอจะสามารถวเคราะห Ontology ได

Page 68: Ontology Development 101  A Guide to Creating Your  First Ontology

8. Conclusions ในคมอนเราไดอธบายวธการพฒนา Ontology เพอเปดเผยระบบ

frame-based เราไดทำารายชอขนตอนในกระบวนการการพฒนา Ontology และการจดการกบปญหาทซบซอนของการกำาหนดโครงสรางลำาดบชนและคณสมบตของคลาสและยกตวอยาง อยางไรกตามหลงจากนกฎและคำาแนะนำาซงเปนหนงในสงทสำาคญทสดในการจำาสงตอไปนคอ : ไมม Ontology เดยวถกตอง สำาหรบโดเมนใดๆ การออกแบบ Ontology เปนการสรางกระบวนการและไมม Ontology สอง Ontology ทถกออกแบบโดยบคคลตางกนแลวจะมโอกาสเหมอนกน ความสมพนธทเปนไปไดของ Ontology และความเขาใจของนกออกแบบและมมมองของโดเมนจะสงผลตอตวเลอกการออกแบบอยางไมนาสงสย หลกฐานอยในขนมพดดง “ ”