About The Author

This is a sample info about the author. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quisque sed felis.

Get The Latest News

Sign up to receive latest news

September 21, 2009

Ontology

Ontology

- Ontology เป็นสิ่งที่สามารถจับเอาสารสนเทศและความรู้ (Information and Knowledge) มาสร้างเป็นฐานความรู้ (Knowledge-based) (Fishwick, P.A., Miller, J.A. , 2004). โดยมีภาษา XML เป็นพื้นฐานสำคัญ โดยเฉพาะที่เกี่ยวกับการจัดการสนามรบได้มีการพัฒนาภาษา BML ขึ้นมา (J. Mark Pullen, Krishna Makineni, Priscilla McAndrews., 2007) โปรแกรมประยุกต์ทางทหารพยายามทำให้คอมพิวเตอร์สามารถเข้าใจความหมาย (Semantic) และยังสร้างปัญญาประดิษฐ์ (Artificial Intelligence) ซึ่งสามารถนำไปใช้ในการประยุกต์ใช้งานของทหารเพื่อการตัดสินใจในระดับสูง (High level military application)ได้ (Bowman, M., Lopez, A., and Tecuci, G., 2001)

- ความหมายของ Ontology Martin Hepp, Pieter De Leenheer, Aldo de Moor and York Sure. (2008) ได้รวบรวมไว้ ดังนี้
  1. Ontology เป็นปรัชญาว่าด้วยกฎระเบียบข้อบังคับ (Philosophical discipline)
  2. Ontology เป็นระบบกรอบความคิดซึ่งไม่เป็นทางการ (Informal conceptual system)
  3. Ontology เป็นการบรรยายความหมายอย่างเป็นทางการ (formal semantic account)
  4. Ontology เป็นคุณลักษณะเฉพาะของการสร้างกรอบความคิด (specification of a conceptualization)
  5. Ontology เป็นตัวแทนของระบบกรอบความคิดด้วยโดยทางทฤษฎีทางตรรกะ (representation of a conceptual system via a logical theory) มี 2 ลักษณะพิเศษ (1. ลักษณะตามคุณลักษณะที่เป็นทางการเฉพาะ (Specific formal properties), 2. ลักษณะตามวัตถุประสงค์เฉพาะ (Specific purposes))
  6. Ontology เป็นคำศัพท์ที่ถูกใช้โดยทฤษฎีทางตรรกะ (Vocabulary used by a logical theory)
  7. Ontology เป็นคุณลักษณะเฉพาะ (meta-level) ของทฤษฎีทางตรรกะ (Specification of a logical theory) (Guarino and Giaretta, 1995)
- จากการศึกษาของ Grigoris Antoniou and Frank van Harmelen. (2004) ได้สรุปว่า Ontology หมายถึงวิธีการบรรยายแนวความคิดตามขอบเขตที่สนใจ หรือข้อกำหนดที่เกี่ยวกับแนวคิด (The Specification of a Conceptualization) โดยที่ Ontologyเป็นการสร้างโครงสร้างฐานความรู้ทางด้านใดด้านหนึ่ง หรือขอบเขต (Domain) ใดขอบเขตหนึ่ง ซึ่งมีแนวคิดและความเข้าใจตรงกัน Ontology ใช้ในการอธิบายความหมายของสิ่งต่าง ๆ และสามารถจัดหมวดหมู่เอกสารของข้อมูลได้ในขอบเขตความสนใจหนึ่ง ๆ ซึ่งในปัจจุบัน Ontology ได้ถูกนำมาประยุกต์ใช้งานมากยิ่งขึ้น สามารถประยุกต์กับงานหลาย ๆ ด้าน เช่น เว็บ เชิงความหมาย (Semantic Web) การจัดการองค์ความรู้ (Knowledge Management) ธุรกิจอิเล็กทรอนิกส์ (e-Business) พาณิชย์อิเล็กทรอนิกส์ (e-Commerce) และการค้นคืนสารสนเทศ และได้แบ่งประเภทของ Ontology เป็น 4 ประเภท คือ Top-Level Ontology, Domain Ontology, Task Ontology และ Application Ontology




- Ontology ถูกสร้างขึ้นมาเพื่อจำกัดองค์ความรู้ (Knowledge) ของขอบเขตข้อมูลนั้น ๆ โดยมีความสามารถในการใช้ข้อมูลร่วมกัน (Share) สามารถนำข้อมูลกลับมาใช้ได้ (Reuse) และมีความสามารถในการถ่ายทอดคุณสมบัติ (Inheritance) การนำ Ontology มาใช้งานจึงเป็นทางเลือกหนึ่งในการแชร์ข้อมูล และแยกองค์ความรู้ออกจากฐานข้อมูล


- Ontology เป็นลักษณะภาษาที่นำมาใช้บรรยายโครงสร้างและความสัมพันธ์ของระบบผ่านโหนด (Node) แบบลำดับชั้น (Hierarchies) ภาษาดังกล่าวถูกนำมาใช้ในงานหลายด้าน โดยเฉพาะด้านปัญญาประดิษฐ์ (AI) ในปัจจุบันได้กำหนดภาษามาตรฐานที่ใช้จำลองและออกแบบโครงสร้างของเอกสาร (eXtensible Markup Language: XML) โดยใช้นิยามแนวคิดให้อยู่ในรูปของกฎ (Role) คลาส (Class) ความสัมพันธ์ระหว่างคลาส (Relation) และคุณสมบัติของคลาส (Properties) แล้วนำเสนอออกมาในรูปของโหนด และความสัมพันธ์แบบลำดับชั้น


** เนื่องจากว่าหลายคนคิดว่า ontology คือทั้งหมดของ semantic web ซึ่งส่วนของ ontology นั้นจะใช้สำหรับผูกความสัมพันธ์ของ thing (data) หรืออีกนัยหนึ่งมันก็คล้ายๆกับ database ซึ่งก็ไม่แปลกที่หลายคนจะเข้าใจแค่นั้น แต่เนื่องจาก ontology นั้นมีสิ่งที่แตกต่างจาก database ทั่วไปอย่างน้อยๆก็เรื่องรูปแบบของข้อมูลซึ่งเป็นแบบ Hierarchy form และนอกจากนั้นยังมีข้อมูลความสัมพันธ์ของ Thing ติดอยู่ด้วย ทีนี้หลายๆคน ยังเข้าใจว่าเวลาใช้ ontology ก็จะใช้แบบ database เลยต้องหาอะไรมา query มัน แล้วนั่นเราจะได้ประโยชน์เพิ่มขึ้นตรงไหน? ทำไมไม่ใช้เทคโนโลยีเก่าล่ะ? สิ่งที่เราจะได้ประโยชน์จากเทคโนโลยีนี้คือ การเพิ่มความฉลาดให้มัน(หมายถึงระบบคอมพิวเตอร์) ใส่สมองให้มัน (Logic) ซึ่งแน่นอน Logic นี้ยังสามารถ query ข้อมูลใน ontology ได้อีกด้วย ผมกำลังพูดถึง SWRL: Semantic Web Rule Language ซึ่งเราต้องพัฒนาหลังจากที่เราสร้าง ontology แล้ว แต่ก่อนนั้นเราจะให้โปรแกรมเราฉลาดขึ้นได้นั้นเราก็จะเขียน Logic ฝังไว้ในตัวโปรแกรม พอมีความต้องการพัฒนาเพิ่มเติมก็ต้องเอาโปรแกรมทั้งหมดหรือบางส่วนมาแก้ แต่ถ้าเราใช้ SWRL แทน โปรแกรมก็จะทำหน้าที่เพียง Interface Logic Programming แล้วให้ SWRL ทำหน้าที่ Logic ของระบบทั้งหมด เราสามารถพัฒนาแก้ไขได้ตลอดทั้งส่วน Ontology และ SWRL โดยแทบไม่ต้องไปแตะส่วนของโปรแกรมเลย พูดมาซะยืดยาว ผมจะขอยกตัวอย่างล่ะกัน สมมุติว่าใน ontology เรามีข้อมูลที่ผูกความสัมพันธ์ว่า A เป็นพี่ชายกับ B, B1 เป็นลูกของ B, (ฉะนั้น B1 เป็นหลานของ A และ A เป็นลุงของ B1) ส่วนในวงเล็บนั้นข้อมูลจะไม่มีปรากฎใน ontology แต่เราจะเขียนไว้ใน SWRL แทน เพียงแค่นี้ระบบของเราก็จะฉลาดขึ้น ไม่ใช่แค่ query ธรรมดา..

0 comments: