เมื่อวันเสาร์ที่ผ่านมาครับ 3 ก.ย. 59 ผมได้ไปงานอบรมเกี่ยวกับ Ontology ครับ จัดที่คณะเทคโนโลยีสารสนเทศ มหาวิทยาลัยเทคโนโลยีพระจอมเกล้าพระนครเหนือครับ (เพิ่งรู้ว่าถ้านั่ง Taxi มาห่างจากบ้านไม่ถึง 10 km นั่งรถเมล์นี่อ้อมโลก) สอนโดย ดร. มารุต บูรณรัช ครับ
Ontology คือ อะไร ?
- แผนผังความรู้ (Mind Mapping) ที่มีการกฏเกณฑ์เข้ามาครับ ถ้าเข้าใจว่า OOP มาระดับนึง ผมว่าไปได้เร็วครับ Concept มีความคล้ายคลึงกันในระดับนึงนะ ที่เน้นการจัดหมวดหมู่
- ใช้งานการในทุกสายงานเลยนะ ไม่ใช่เฉพาะ IT ทางฟากสังคม หรือแพทย์ก็มีใช้นะ (Ontology มันเริ่มมาจากวิชาปรัชญา โดย อริสโตเติล นะ)
- Ontology ถ้าให้คอมพิวเตอร์รู้จักต้องทำในมาตรฐาน OWL ซึ่งมันมีพื้นฐานมาจาก XML >> RDF >> RDFS >> OWL
- Ontology เป็นแผนภาพ ถ้ามองในด้าน DB มัน คือ Schema ครับ โดยการตีความ Ontology นั้น ต้องมี Data(Record ใน DB) หรือ Instance มาให้มันทำงานครับ
- Ontology มองข้อมูลอย่างไร
- มองเป็น Concept ตีว่าเป็นหมวดหมู่ครับ - กลุ่มที่เราสนใจ
- ใน Concept มีคุณสมบัติ (Property) หรือ part-of
- Intrinsic - มีมาตั้งแต่เกิด เช่น ส้ม มีเปลือก รสชาติเปรี้ยวหวาน
- extrinsic - ได้มาที่หลัง เช่น ราคา
- Concept แต่ละตัวมีความสัมพันธ์กันครับ
- IS-A ใน OOP เป็น Sub Class เช่น ส้มเขียวหวาน จัดเป็น ส้ม , ส้ม จัดเป็น ผลไม้
- มีการสืบทอดคุณสมบัติด้วย (Inheritance) ส้มเขียวหวาน มีคุณสมบัติ ของส้ม เช่น มีเปลือก รสชาติเปรี้ยวหวาน
- มี Constraints ข้อกำหนดของข้อมูล
- Ontology ผมเข้าใจว่า มัน คือ Graph มองให้มุมย่อย เป็น Tree ถ้าอยากให้มันเก่ง ก็ต้องเพิ่มความลึก (แบ่งหมวดหมู่ให้เยอะขึ้น)
สร้าง Ontology ได้อย่างไร
- กำหนด Domain และ Scope - (ทำไมไปนึกถึงพวก Software Requirement ก็ไม่รู้) โดยใช้ Domian Export กับแหล่งอ้างอิง (Reference) เช่น หนังสือ
- เอาไปทำ เพื่ออะไร
- กำหนด Concept สร้างหมวดหมู่
- กำหนด Property และ Constraints ของ Concept แต่ละอัน
- วางความสัมพันธ์(IS-A) ของ Concept แต่ละอัน อันไหนเป็น Super Class หรือ Sub Class ตาม Property และ Constraints
นำ Ontology ไปใช้ทำอะไรได้บ้าง
- Recommendation Systems
- Intelligence Search
- Expert System
- Information Extraction
- Semantic Annotation
- etc.
Semantic Search
- การค้นหาข้อมูล ส่วนใหญ่ยังเป็นหลักการของ Keyword Search, Tagging อยู่ แต่จำนวนข้อมูลมันเพิ่มขึ้นเรื่อย เมื่อข้อมูลเพิ่มขึ้นทำให้ผลลัพธ์จากการค้นหาข้อมูลจากเดิมที่ความแม่นยำเป็น 100% มีประสิทธิภาพลดลง หากเราทำให้ตัวเว็บมันมีความหมายในตัว (Semantic Web) ก็จะช่วยให้การค้นหามีประสิทธิภาพมากขึ้นครับ
HOZO Ontology Editor
- GUI Tools ที่ช่วยให้การสร้าง Ontology เป็นเรื่องง่าย ลากวางได้เลย เห็นภาพ และความสัมพันธ์ชัดเจน
- เมื่อมีจุดเด่น มีจุดด้อ คือ
- ยังไม่รองรับ Multi-Language
- ถ้า Ontology มันใหญ่มาก เราไม่สามารถแยกย่อยหลายๆ Ontology ได้ครับ
คั่นด้วยอาหารกลางวันครับ อร่อย แต่จากที่คุยกับคนที่มาอบรมส่วนใหญ่เป็นอาจารย์ กับนิสิตปริญญาโท-เอก ทั้งนั้นเลย มีมุนษย์เงินเดือนงงๆ อย่างผมคนเดียวเข้าไปเรียนครับ
OAM - No Coding, More Mapping
- Framework ที่ Nectec ทำขึ้น เพื่อช่วยนักวิจัยที่ไม่ใช่สาย IT ครับ Ontology มันใช้กับทุกๆสายงานนะครับ
- มี Open Source ที่ยัดมาข้างใน ตามนี้ครับ
- ตัว Framework นี้ไปเอาข้อมูลที่ Mapping ไปแปลงเป็น SPARQL
- OAM สามารถสร้าง Semantic Search และ Recommendation Systems
- มี Web Service ด้วยนะ
ถ้าสังเกตุกันเนี่ย Application ที่นำ Ontology ไปใช้กับ Recommendation Systems แต่ Data Mining มีใช้เหมือนกันนะ ? เท่าที่ผมเข้าใจนะ
- Data Mining - ตัวกฏเกิดจากข้อมูลดิบ ที่ส่งเข้าไปขุดเหมืองข้อมูล เพื่อหาความสัมพันธ์ แล้วสร้างมาเป็นกฏ ออกมาเป็น Model ที่นำไปใช้งานครับ
- Ontology - ลองดูความหมายที่อธิบายไปก่อนหน้า พบว่ามันนำข้อมูลที่มีการจัดหมวดหมู่แล้ว เช่น พวกหนังสือ หรือจาก Domain Expert มาทำ Ontology ครับ
ท้ายที่สุดครับ งานนี้ดีทุกอย่างครับ ได้ความรู้ และมุมมองใหม่ของตัว Ontology ครับ แต่เนื้อหาควรมีการแจ้งให้ทราบให้ละเอียดนิดนึงครับ ตอนแรกผมเข้าใจว่า จะได้ทำเขียน Code อ่านตัว Ontology มาใช้ครับ เข้าใจถ้าไปลองใช้ Open Source ที่ OAM ใช้ น่าจะได้ลองเขียนแน่ๆครับ และก็ที่ Nectec ผมว่ามีของดีซ่อนเยอะนะครับ น่าจะออกสื่อผ่านพวก Social Network เยอะๆครับ ส่งเสริมการศึกษาของเด็กไทยครับ
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.