methodology ontology building - walailak universitymit.wu.ac.th/mit/images/editor/images/ontology...
TRANSCRIPT
วธการสราง Ontology
Methodology Ontology building
อจฉรยา เพชรรตน
สาขาวชาการจดการเทคโนโลยสารสนเทศ
ส านกวชาสารสนเทศศาสตร มหาวทยาลยวลยลกษณ
บทคดยอ
บทความนเสนอวธการทำระบบ Ontology เพอประยกตใชกบฐานขอมลตางๆสาหรบศนยวจย
นกศกษา หรอผสนใจ โดยมวตถประสงคเพอนาเสนอวธการสาหรบพฒนา ระบบ Ontology
คาสาคญ: ออนโทโลจ, วธการสราง
Keyword: Ontology, step, OWL
1.บทนำ
ปจจบนตองการเครองมอทชวยสนบสนนการเกบขอมล ทสามารถ
เสรมประสทธภาพของขอมลได เชนการท สามารถวเคราหสงตางๆไดดวยขอมล สามารถชวยให
องคความรเฉพาะดานมคณคา เเละใชประโยชนไดมากขน
2. ความหมายของออนโทโลจ (Ontology)
เครอขายคา หรอออนโทโลจ (Ontology) คอฐานความรทแสดงความหมาย
ความสมพนธและรายละเอยดตางๆของขอมลในรปแบบทเปนโครงสรางลาดบชน
ในขอบเขตเนอหาทเราสนใจ ถอไดวา ontology เปนหวใจสาคญของตวแทนความร (Knowledge
Representation) เนองจาก ontology เปนสวนทสามารถกาหนดคา ทใช เปนตวแทนความรได นอกจากน
ontology ยงสามารถนาไปประยกตใชในการทางานของระบบตางๆ ทตองเกยวของกบความหมาย
ของคาในเชงความคด (Conceptualization) เพอใหการทางานมประสทธภาพมากยงขน เชน
ระบบการทางานของ Search Engine ในการคนหาและเขาถงขอมลทผใชงานตองการจรงๆ
จากขอมลปรมาณมหาศาลเรา สามารถ คนหาโดยองฐานความร Ontology
เพอใหระบบสบคนสามารถคนหาคาท เกยวของ กบคาคนได ทงคาทม ความหมาย เหมอนกน
คาทเกยวของกน เปนตน
3. ประโยชนของออนโทโลจ
หลกการของ Ontology จะมลกษณะทคลายกบหลกการของ Object Oriented
3.1. ทาใหเขาใจความหมายทตรงกนระหวาง มนษย คอมพวเตอร และ ซอฟตแวร0
3.2. สามารถนากลบมาใชงานซาได
3.3. สามารถนาไปประยกตใชงานในดานตาง ๆ ได เชน การสบคนขอมล การแปลภาษาเปนตน
3.4. เพอวเคราะหขอบเขตของความร
4.ประเภทของออนโทโลจ
Fensel ไดมการแบงประเภทของ Ontology ออกเปน 2 ประเภทใหญๆคอ
1. ออนโทโลจทวไป (Real World Semantic OntologyX คอ ออนโทโลจ (Ontology)
2. ทใชในการแทนความรทวไปทมอยในโลก และเปนจรงเสมอในทกๆ สถานการณ ตวอยาง Ontology
ชนดน เชน WordNet, CYC, SENSUS เปนตน รปท1 แสดงตวอยาง CYC Ontology และ
WordNet Ontology ในระดบ High level
รปท 1 ลกษณะของ CYC Ontoligy เเละ WordNet Ontology
2. ออนโทโลจเฉพาะดาน (Task-Oriented Ontology) คอ ออนโทโลจ (Ontology)
ทใชในการแทนความรเฉพาะดาน เฉพาะงานซงจะเปนจรงเสมอสาหรบงานทนาไปใช
เพราะในระบบงานอนๆ อาจมองในมมมองอนได และความสมพนธทมจะขนอยกบแตละระบบงาน
เชน ออนโทโลจขาว, ออนโทโลจมนสาปะหลง
รปท 2 ตวอยางขอมล ออนโทโลจเฉพาะเกยวกบพชไร
Relation Examples
Synonym RRIT 250 : สถาบนวจยยาง 250
Antonym เเหง , เปยก
Hyponym (IS-A) โรคยางพารา , โรคราเเปง
ตารางท 1 เเสดง Relation พนฐานของออนโทโลจ (Ontology)
ในอดตการสรางออนโทโลจ (Ontology) จาเปนตองอาศยผเชยวชาญ ซงทาใหการสรางออนโทโลจ
เปนงานทตองใชเวลาและแรงงานจานวนมาก อกทงยงมการเกดของคาใหมเพมขนอยตลอดเวลา
ทาใหเกดปญหา ในการบารงรกษาหรอ เพมเตมขอมลอยเสมอ ดงนนจงม งานวจย จานวนมาก
ใหความสนใจในการพฒนา
ออนโทโลจอตโนมต ซงมความยากในแตละขนตอนการทางาน
โดยขนตอนทสาคญในการพฒนาออนโทโลจ ไดแก การกาหนดคาทเปน Concept การ
กาหนดความสมพนธระหวาง Concept และการปรบโครงสรางของ ออนโทโลจ
ใหถกตองเมอมขอมลใหม หรอมความรใหมเพมเขามา
5. วธการสราง Owl Ontology โดยใช Protégé
5.1 วธหลกในการสรางเเบบจาลอง ontologies มดงน
• Frame-based
• OWL
เเตละวธมสวนตดตอผใชของตวเอง
• Protégé frames: ชวยใหผใชสามารถสรางเเละเตม ontologies ตามกรอบ
OKBC (Open Knowledge Base Connectivity Protocol)
• Classes
• Slots for properties and relationships
• Instances for class
Protégé OWL editor: เพอชวยใหผใชสราง ontology สาหรบเวบโดยเฉพาะอยาง OWL
• Classes
• Properties
• Instances
• Reasoning
6. การสราง OWL ontologies
E2: สราง new project
• Start protégé
• File – New Project – OWL/RDF files – Ontology URI
(http://www.pizza.com/ontologies/pizza.owl) - OWL DL – Properties View
• A new empty Protégé-OWL project has been created.
• บนทกเปนสกล .owl เชน pizza.owl
7.การตงชอคลาส
7.1 ไปทเเทป OWL Classes
7.2 ม class วางหนง class เรยกวา owl ซงเปน superclass ของทงหมด
7.3 E3: สราง subclasses Pizza, PizzaTopping and PizzaBase. ทงหมดจะเปน subclasses ของ
owl
7.4 การตงชอไมพเศษ (no special naming convention)
• ความตรงกน (consistency)
8. วธการทจะบอกวา Pizza, PizzaTopping and PizzaBase เปน classes ทไมเกยวของกน(disjoint)
8.1 เลอกทคลาส Pizza
8.2 เลอกทปม “add siblings”
8.3 บนแถบของ Disjoints
8.4 เพม PizzaBase และ PizzaTopping
8.5 เลอก PizzaTopping
8.6 เพมPizza และPizzaBase�ไปท Disjoints 0
9. การสรางกลมของคลาส
• สราง ThinAndCrisyBase and DeepPanBase เน subclasses ของ PizzaBase และแตละ
subclasses จะ ไมเกยวของกน
• เลอก PizzaBase คลกขวาเลอก “create subclasses”
• ตวชวยในการสราง 2 classes ทไมเกยวของกน
• ประหยดเวลามากเมอมความจาเปนตองสราง classes จานวนมากทไมเกยวของกน 0
10. สรางคลาสยอยในสวนของ PizzaTopping
• เลอก PizzaTopping 0
• สราง subclaesses เปน MeatTopping, VegetableTopping, CheeseTopping
และ SeafoodTopping. ตรวจสอบใหเเนใจวา classes เหลานไมมสมาชกรวมกน
• เลอก class MeatTopping
• เพม disjoint subclasses: SpicyBeefTopping, PepperoniTopping, SalamiTopping and
HamTopping
• เลอก VegetableTopping: 0
• เพม disjoint subclasses: TomatoTopping, OliveTopping,
MushroomTopping,PepperTopping, OnionTopping, CaperTopping
11.การสรางคลาสทไมเกยวของกน(disjoint)
เลอก PepperTopping 0เพม disjoint subclasses:
RedPepperTopping,GreenPepperTopping,JalapenoPepperTopping เลอก CheeseTopping
เพม disjoint subclasses: MozzarellaTopping, ParmezanTopping เลอก eafoodTopping
เพม disjoint subclasses: TunaTopping, AnchovyTopping and PrawnTopping
12. คณสมบตของ OWL
OWL เปนคณสมบตต ตวแทนความสมพนธร ะหวางสองวตถ
มคณสมบตหลกคอ :
• Object properties: link object to object
• datatype properties: link object to XML Schema datatype or rdf:literal มคณสมบตอน
OWL มคณสมบตอน:
หมายเหต คณสมบตทจะใชเพอเพมขอมลประกอบการเรยนรบคคลและคณสมบตอน
An object property linking the individual
Matthew to the individual Gemma
A datatype property linking the individual
Matthew to the data literal ’25; which has a type
of an xml:integer.
An annotation property, linking the class ‘JetEngine’ to the data literral(string) “Matthew
Horridge”.
13.การสรางคณสมบตของวตถ
1. สลบไปท Properties tab
2. ใชปม “Create Object Property” เพอสราง new object property.
3. เปลยนชอไปเปน hasIngredient
14.การสรางคณสมบตยอย
เลอก hasIngredient property
• 0เพม hasTopping และ hasBase as the subproperties
15. คณสมบตผกผน
• คณสมบตของแตละวตถอาจจะคณสมบตทผกผนกน
• ถาบางสถานทใหบรการการเชอมโยง A ถง B เปนรายบคคคลแลว
การผกผนของการใหบรการ จะเชอมโยง B ไป A
สรางคณสมบตทผกผน
สราง new object property ชอวา isIngredientOf
• กดปม “Set inverse property”
• เลอก “hasIngredient”
• ตงคาความสมพนธผกผนทไดรบ 0
เลอก hasBase
• สราง isBaseOf as the inverse property of hasBase
• sBaseOf is the subproperty of isIngredientOf, why?
0เลอก hasTopping
• สราง isToppingOf as the inverse property.
• isToppingOf is the subproperty 0of isIngredientOf, why?
คณสมบตการทางาน
• ถาคณสมบตทจะทางานสาหรบบคคลทไดรบมากทสดบคคลหนงทจะเกยวของผานทางค
ณสมบตน
• สาหรบ domain ทไดรบ range ตองไมซากน
• เปนคาเพยงครงเดยว
คณสมบตการทางานผกผน
• ถาคณสมบตเปนผกผนการทางานยงคงสามารถทางานได
• สาหรบ range ทกาหนด domain ตองไมซากน
16. การทาให hasIngredient มคณสมบตการถายทอด
• เลอก hasIngredient property
• คลกเลอกท transitive ทกลอง
• เลอก isIngredientOf property ทาใหเเนในเลอก transitive ทกลองตวเลอก
17.การทาคณสมบต hasBase ฟงชนก
• เลอก has Base property 0
• คลกเลอกท “functional”
• OWL-DL ไมอนญาตให datatype มคณสมบตของการถายทอด การสมมาตร หรอ
คณสมบตการผกผน
18. คณสมบตของ domains และ ranges
• คณสมบตของการเชอมโยงจากโดเมนไปยงชวง
• 0OWL ใช domains และ ranges เปนหลกการในการใหเหตผล
19. การระบชวงของ hasTopping
• เลอก hasTopping 0
o กดทปม range
o เลอก PizzaTopping 0
o กดทปม OK 0
o PizzaTopping จะแสดงรายการชวง
• เมอหลายคลาสมการเพม range จะมการ union คลาสทงหมด
20. การระบ Pizza เปนโดเมนของ hasTopping property
• เลอก hasTopping property
• กดปม add domain
• เลอก Pizza 0
• Press OK 0
• กดOK
• 0Pizza จะแสดงรายการของโดเมน
• เมอหลายคลาสมการเพมโดเมนจะอธบายโดยการ union คลาสของทงหมด
21. ระบโดเมนและชวงสาหรบ isToppingOf property
• เลอก isToppingOf property 0
• การตงคาโดเมนของคณสมบต isToppingOf เพอ PizzaTopping
• ตงคาสมบต isToppingOf เพอ Pizza.
22. ระบโดเมนและชวง hasBase และคณสมบตการผกผนของ isBaseOf
• Select the hasBase property
• เลอก hasBase property
• ระบโดเมน เปน Pizza
• ระบชวงเปน Pizza Base
• เลอก isBaseOf property
• ระบโดเมนเปน PizzaBase
• ระบชวงเปน Pizza
23. ขอจากดของProperty
• OWL ใชคณสมบตในการสรางขอจากด 0
• ขอจากดจะถกใชเพอจากดสทธทมอยในคลาส
• สามขอจากด:
• ขอจากดของ ตวบงปรมาณ0
§ ตวบงปรมาณสำหรบตวมจรง
§ ตวบงปรมาณตองเปนสากล
• ขอจากดจานวนสมาชกในเซต
• ขอจากด hasValue
•
24. เพมขอจากดให Pizza
• เพมขอจากดใหกบ Pizza ทระบวาจะตองม PizzaBase
• เลอก Pizza
• เลอก header เพอสรางเงอนไขทจาเปน
• เลอกสรางตวชวยสรางขอจากด 0
• เลอก hasBase เปนคณสมบตทถกจากด
§ เลอก someValueFrom เปนขอจากด
§ ใสลงใน PizzaBase
25. เพมขอจากดให Pizza
26. สรางสงทเเตกตางกนของ PIZZA
• สราง subclass ของ Pizza เรยกวา NamedPizza และ subclass ของ NamedPizza เรยกวา
MargheritaPizza
• เพม comment ไปยง MargheritaPizza: A pizza that only has Mozarella and Tomato
toppings
27. ขอจากดในการเพม MargheritaPizza
• ในการระบวา MargheritaPizza มอยอยางนอยหนง
MozzarellaTopping
• เลอก MargheritaPizza
• สรางขอจากดใหม “Asserted Conditions”
• เลอก someValueFrom
• เลอก hasTopping เปนคณสมบตทจะถกจากด
• ใสในฟลล MozzarellaTopping
• กดปม OK
28. การสราง AmericanPizza
• 0สราง AmericanPizza with toppings of pepperoni, mozzarella and tomato.
• การปรบเปลนรายละเอยดของ MargheritaPizza 0
• เลอกก MargheritaPizza
• 0เลอกสราง clone 0
• เพมขอจากด เพมเตมเพอ AmericanaPizza
o เพม PepperoniTopping
• กด OK. 0
29. การสราง sohoPizza และ AmericanHotPizza 0
• AmericanHotPizza จะเหมอนกบAmericanaPizza เเตจะม JalapenoPepperTopping 0
• SohoPizza จะเหมอ นกบ MargheritaPizza แตจะเพมOliveTopping และParmezanTopping
30. ทำใหsubclassesของNamedPizza เคลอนออกจากกนเเละกน
• เลอก MargheritaPizza 0
• กดปม “addallsiblings”บน“Disjointswidget” เพอสราง pizzas ทไมเหมอนอนอน
31. การใช Reasoner
• Ontology อธบายไวใน OWL-DL สามารถประมวลผลโดย Reasoner
o ไปท, owl—ตงคา, เพอใหเเนใจวา OWL-DL ถกเลอก
• บรการหลกทนาเสนอโดย Reasoner คอการทดสอบหรอไมเปน class เดยวเปนsubclass
ของคลาสอน
• โดยดาเนนการทดสอบดงกลาวในทก classes นนมนเปนไปไดสาหรบ Reasoner
เพอคานวณ ontology �ลาดบชนของคลาสอางถง
• การบรการ เหตผลอกประการหนงคอตรวจสอบความสอดคลอง
เพอตรวจสอบความเปนไปได
• A class is deemed to be inconsistent if it cannot possibly have any instances.
32. การอางถง reasoner
• ตองเรมตนท Racer ท ontology สามารถสงไปยง Reasoner โดยอตโนมต
คำการจำเเนกลาดบชน และยงตรวจสอบความสอดคลองเชงตรรกะของ ontology
• ใน Protege, ลาดบชนทสรางดวยตนเองจะเรยกลาดบชนของการยนยน(asserted hierarchy)
ท คานวณโดยอตโนมตโดย Reasoner จะเรยกลาดบชนของอนมาน(inferred hierarchy)
• ไปท, OWL – classify taxonomy – การเรยก reasoner
o ถาชนไดรบการจดประเภทรายการใหมเเลวชอชนจะปรากฎในสฟา
ในลาดบชนอางถง
• ไปท OWL – Check consistency – เพอเรยก Reasoner 0
o ถาชนไดรบการพบจะเปนเกลยวม ไอคอนมนจะเปนวงกลมสเเดง
การคานวณลาดบชนเรยนอางถงเปนทรจกกนจาเเนก Ontology
33.เอกสารอางอง
[OWL Guide]
OWL Web Ontology Language Guide, Michael K. Smith, Chris Welty, and Deborah L.
McGuinness, Editors, W3C Recommendation, 10 February 2004,
http://www.w3.org/TR/2004/REC-owl-guide-20040210/ . Latest version available at
http://www.w3.org/TR/owl-guide/ .
[OWL Reference]
OWL Web Ontology Language Reference, Mike Dean and Guus Schreiber, Editors, W3C
Recommendation, 10 February 2004, http://www.w3.org/TR/2004/REC-owl-ref-20040210/
. Latest version available at http://www.w3.org/TR/owl-ref/ .
[OWL Abstract Syntax and Semantics]
OWL Web Ontology Language Semantics and Abstract Syntax, Peter F. Patel-Schneider, Pat
Hayes, and Ian Horrocks, Editors, W3C Recommendation, 10 February 2004,
http://www.w3.org/TR/2004/REC-owl-semantics-20040210/ . Latest version available at
http://www.w3.org/TR/owl-semantics/ .
[OWL Test]
OWL Web Ontology Language Test Cases, Jeremy J. Carroll and Jos De Roo, Editors, W3C
Recommendation, 10 February 2004, http://www.w3.org/TR/2004/REC-owl-test-20040210/
. Latest version available at http://www.w3.org/TR/owl-test/ .
[OWL Requirements]
OWL Web Ontology Language Use Cases and Requirements, Jeff Heflin, Editor, W3C
Recommendation, 10 February 2004, http://www.w3.org/TR/2004/REC-webont-req-20040210/
. Latest version available at http://www.w3.org/TR/webont-req/ .
[OWL Issues]
Web Ontology Issue Status. Michael K. Smith, ed. 1 November 2003.
[DAML+OIL Reference]
DAML+OIL Reference Description . Dan Connolly, Frank van Harmelen, Ian Horrocks, Deborah
L. McGuinness, Peter F. Patel-Schneider, and Lynn Andrea Stein. W3C Note 18 December 2001.
[XML]
Extensible Markup Language (XML).
[XML Schema]
XML Schema .
[XML-SCHEMA2]
XML Schema Part 2: Datatypes - W3C Recommendation, World Wide Web Consortium, 2 May
2001.
[RDF/XML Syntax]
RDF/XML Syntax Specification (Revised), Dave Beckett, Editor, W3C Recommendation, 10
February 2004, http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/ .Latest
version available at http://www.w3.org/TR/rdf-syntax-grammar/ .
[RDF Concepts]
Resource Description Framework (RDF): Concepts and Abstract Syntax, Graham Klyne and
Jeremy J. Carroll, Editors, W3C Recommendation, 10 February 2004,
http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/ . Latest version available at
http://www.w3.org/TR/rdf-concepts/ .
[RDF Schema]
RDF Vocabulary Description Language 1.0: RDF Schema, Dan Brickley and R. V. Guha,
Editors, W3C Recommendation, 10 February 2004, http://www.w3.org/TR/2004/REC-rdf-
schema-20040210/ . Latest version available at http://www.w3.org/TR/rdf-schema/ .
[RDF Semantics]
RDF Semantics, Patrick Hayes, Editor, W3C Recommendation, 10 February 2004,
http://www.w3.org/TR/2004/REC-rdf-mt-20040210/ . Latest version available at
http://www.w3.org/TR/rdf-mt/ .
[Description Logics]
The Description Logic Handbook. Franz Baader, Diego Calvanese, Deborah McGuinness,
Daniele Nardi, Peter Patel-Schneider, editors. Cambridge University Press, 2003; and Description
Logics Home Page.