แนะนำการพัฒนาโปรแกรมประยุกต์ออนโทโลยี Introduction to Ontology Application Development ดร.มารุต บูรณรัช ห้องปฏิบัติการวิจัยเทคโนโลยีภาษาและความหมาย ศูนย์เทคโนโลยีอิเล็คทรอนิกส์และคอมพิวเตอร์แห่งชาติ
หัวข้อบรรยาย แนะนำมาตรฐานข้อมูลเว็บเชิงความหมาย (Introduction to Semantic Web Standards) การพัฒนาโปรแกรมประยุกต์ออนโทโลยีโดยใช้ ซอฟแวร์ OAM (Ontology Application Management) 2
แนะนำมาตรฐานข้อมูลเว็บเชิงความหมาย (Introduction to Semantic Web Standards) Peter Haase and Denny Vrandečić, AIFB, Universität Karlsruhe (TH) Asian School for the Semantic Web ASSW2008, Bangkok, Thailand – December 2008
Slide 4 Universal Access to All Knowledge
5
6
7
8
9 Angola Africa located in Zambia located in borders Country Continent
10 Angola Africa located in Zambia located in borders Country Continent type Country Continent
11 Angola Africa located in Zambia located in borders Country Continent
12 Angola Africa located in Zambia located in borders Country Continent type
Slide 13RDF A set of triples Triples are Subject, Predicate, Object
14
URIs / IRIs URIs are “Uniform Resource Identifiers” –IRI: Unicode-based “Internationalized Resource Identifiers” Every URI identifies one entity Semantic Web URIs usually use HTTP –HyperText Transfer Protocol –Can be resolved to get more data (ideally) –Linked data QName as abbreviation (Qualified Name) Protocol Domain Local name thing:Denny_Vrandecic Prefix Namespace
16 Angola Africa located in Zambia located in borders Country Continent type
Angola Africa Located in Zambia Country Borders Continent
ประเทศแองโกลา ทวีปแอฟริกา แห่ง ประเทศแซมเบีย ประเทศ ชายแดน ทวีป
19 ประเทศแองโกลา ทวีปแอฟริกา แห่ง ประเทศแซมเบีย แห่ง ชายแดน ประเทศ ทวีป
20 Angola Africa located in Zambia located in borders Country Continent
Slide 21RDF A set of triples Triples are Subject, Predicate, Object Subjects and Predicates are URIs Objects are URIs or Literals –Literals are concrete data values –e.g. the integer 27 or the date Dec 1, 2008
Angola Africa Located in Zambia Country Borders Continent
Slide 23
Slide 24RDF A set of triples Triples are Subject, Predicate, Object Subjects and Predicates are URIs Objects are URIs or Literals –Literals are concrete data values –e.g. the integer 27 or the date Dec 1, 2008 Several serialization formats like RDF/XML, N3, etc.
25
Slide 26 SPARQL : RDF Query Language PREFIX rdfs: PREFIX thing: PREFIX relation: SELECT ?label WHERE { thing:Angola relation:Located_in ?c. ?c rdfs:label ?label }
Angola Africa Located in Zambia Country Borders Continent
28
RDF Schema Define relations between terms to give formal semantics In RDF(S): –subClassOf –subPropertyOf –And others (domain, range, list, collection, etc.) Example: –Country subClassOf Location –Continent subClassOf Location Allows inferences –Angola type Country –Country subClassOf Location –-> Angola type Location
30 Angola Africa located in Zambia located in borders Country Continent Location
Angola Africa Located in Zambia Country Borders Continent Location
Slide 32 RDF Schema Define relations between terms to give formal semantics In RDF(S): –subClassOf –subPropertyOf –And others (domain, range, list, collection, etc.) Example: –Country subClassOf Location –Continent subClassOf Location Allows inferences –Angola type Country –Country subClassOf Location –-> Angola type Location
Angola Africa Located in Zambia Country Borders Continent Location
34 Angola Africa located in Zambia located in borders Country Continent Location
Slide 35 Semantic Web Angola Zambia Africa Continent African Elephant Indian Elephant Mammal Animal Gorilla Egypt Pig Alexandria Memphis Alexander the Great China Ceylon India Airline Asia Hotel Restaurant Enterprise Airport Vacation Plant Vegeterian restaurant Europe Earth Inchineon Mumbay Airport Mumbay Cell DNA Genom Lao Tse Aristotle Philosophy
36
37
38 Universal Access to All Knowledge
แนะนำเครื่องมือสนับสนุนการพัฒนาโปรแกรม ประยุกต์ออนโทโลยี Ontology Application Management (OAM) Framework 39 Language and Semantic Technology Laboratory (LST), NECTEC
ปัญหาของการพัฒนาซอฟแวร์ในปัจจุบัน ทรัพยากรของบริษัทพัฒนาซอฟแวร์มีจำกัด – เวลา - งานต้องส่งมอบเร็ว – โปรแกรมเมอร์ – มีงานเยอะโปรแกรมเมอร์น้อย ซอฟแวร์ดูแลรักษายาก – มีการเปลี่ยนโปรแกรมเมอร์ การแก้ไขโปรแกรม อาจต้องเขียนใหม่ Business logic ฝังอยู่ในโปรแกรม – มีช่องว่างในการสื่อสารระหว่างนักวิเคราะห์กับ โปรแกรมเมอร์ ต้องมีการแปลง Business logic ให้เป็นโปรแกรม 40
แอพพลิเคชันเฟรมเวิร์ค (Application Framework) ลดงานของโปรแกรมเมอร์ – ส่วนฟังก์ชันที่ใช้งานบ่อยๆ ทำให้เรียกใช้ง่าย ขึ้น – การแก้ไขโปรแกรมแบ่งเป็นส่วนๆ ที่ไม่มี ผลกระทบต่อกัน เช่น MVC การดูแลรักษาโปรแกรมได้ง่ายขึ้น – แยกส่วนข้อมูลที่ปรับเปลี่ยนได้ (customize) ออกจากโปรแกรม เช่น มีส่วนการตั้งค่า (config file) อยู่นอกโปรแกรม 41
OAM Framework ช่วยการพัฒนาโปรแกรมประยุกต์ที่ใช้ความรู้ใน การตัดสินใจ (Knowledge-based Application) ได้ง่ายยิ่งขึ้น ลดเวลาพัฒนา โดยมิจำเป็นต้องเขียนโปรแกรมในการพัฒนา โปรแกรมต้นแบบ ผู้พัฒนาเพียงเชื่อมโยงข้อมูลที่มีอยู่เข้ากับ โครงสร้างข้อมูลแบบ ออนโทโลยี (ontology) เน้นที่โปรแกรมประยุกต์ในแบบของ – ระบบสืบค้นข้อมูลเชิงความหมาย (Search system) – ระบบแนะนำข้อมูล (Recommender system) 42
จุดเด่นของ OAM Framework 43 OAM ลดเวลา พัฒนา โปรแกร ม มาตรฐา นเว็บเชิง ความหม าย ทำงาน โดยอิง กับ ฐานควา มรู้ ลดภาระ ดูแล รักษา โปรแกร ม สร้าง Web API สร้าง ระบบ สืบค้น ข้อมูล สร้าง ระบบ แนะนำ ข้อมูล
โปรแกรม OAM – เครื่องมือสนับสนุนการพัฒนา โปรแกรมประยุกต์ออนโทโลยี สนับสนุนทั้งการสร้างข้อมูล RDF/ OWL Data จาก ฐานข้อมูลที่มีอยู่ (publishing) และการใช้ประโยชน์จาก ข้อมูลที่สร้างขึ้น (consumption) ในแบบระบบสืบค้น เชิงความหมาย และระบบแนะนำข้อมูล ช่วยลดความซับซ้อนในการพัฒนาโปรแกรมประยุกต์ ของออนโทโลยี –ผู้ใช้ไม่จำเป็นต้องมีพื้นฐานการเขียนโปรแกรมในการพัฒนาต้นแบบ โปรแกรมประยุกต์ออนโทโลยี –มีต้นแบบโปรแกรม (application template) ที่สามารถประมวลผล ข้อมูลนำเข้าในแบบ RDF ได้ 44
การสร้าง Tool ร่วมไปกับการสร้างชุมชนวิจัย 45
กิจกรรมอบรม Semantic-based Knowledge Management Tools 46
กิจกรรม Semantic-based Knowledge Management Tools Workshops for Developers 47 Coding marathon activity, December 2010
โปรแกรมช่วยสนับสนุนการสร้างองค์ความรู้เฉพาะ ทาง (Ontology Development Tool) โปรแกรมจัดการการเชื่อมโยงข้อมูลที่มีอยู่เข้ากับองค์ ความรู้เฉพาะทาง (Database-Ontology Mapping Tool) โปรแกรมประยุกต์ที่นำองค์ความรู้เฉพาะทางมาใช้ ประโยชน์ (Ontology Applications) เช่น การสืบค้นข้อมูลเชิงความหมาย (Semantic Search) ระบบแนะนำข้อมูล (Recommender System) เครื่องมือสนับสนุนการจัดการความรู้เชิง ความหมาย (Semantic-based Knowledge Management Tools) 48
Ontology-based Applications
OAM Framework INPUT: –ฐานข้อมูล (MySQL) –ออนโทโลยี (.owl) –Business Logic (.xls)* OUTPUT : –เว็บเซอร์วิสชนิด RESTFul (Web API) –โปรแกรมต้นแบบสำเร็จรูป (Application Template) * เฉพาะการประยุกต์ใช้แบบ Recommender System 50
Ontology-based application development 51
Ontology-based Application Development Tools Apache Jena –A Java framework for building Semantic Web Application – D2RQ –D2RQ is a declarative language to describe mappings between relational database schemata and OWL/RDFS ontologies –Developed by the University of Berlin – Reasoner –Jena’s Inference Engine
Architecture of Ontology Application Management (OAM) Framework
Database-Ontology Data Mapping Tool
Database Schema and Vocabulary to Ontology Mapping 55 1 X 10,000 2 … … … … b) Database
Example Ontology 56
Example database and mapping config persons pidnamepos_id 1A1 ……… 57 professions prof_idname 1neurosurgeon 2plastic surgeon 3orthodontist 4attorney 5solicitor positions position_idnamesalaryprofession_id 1X10,0002 …………
Example RDF Data Output 1 A … 58
Example RDF Data Output (2) … 2 Plastic Surgeon … 59
Relational Database to RDF Mapping Languages D2RQ Mapping Language o o Used in D2RQ System o Developed by University of Berlin R2RML: RDB to RDF Mapping Language o o W3C Recommendation (September 2012) 60
Semantic Search Application Template
Application Templates With application template, the user only needs to define application configuration and does not need programming skill in building an application. –Suitable for researchers who want to experiment on research ideas that can be realized by means of the semantic web technology. –Typically ideal for rapid prototyping and hypotheses testing. 62
Application Templates (2) Currently, two application templates are provided: –semantic search application –recommender system application The semantic search application template provides a faceted search interface. –The user’s search condition is automatically transformed to a SPARQL query for retrieving the instance data from an RDF database. 63
Example SPARQL Query PREFIX xsd: SELECT ?x ?id WHERE{ ?x ?a0. ?a0. ?x ?a1. ?a1. ?x ?id. ?x. }ORDER BY ASC(xsd:integer(?id)) 64
Example SPARQL Query (2) PREFIX xsd: SELECT ?x ?has_name ?has_age ?has_goals … WHERE { ?x ?pkey. FILTER( ?pkey = '1' || ?pkey = '2‘ ). ?x. OPTIONAL { ?x ?has_name } OPTIONAL { ?x ?has_age } OPTIONAL { ?x ?has_goals }... }ORDER BY ASC(xsd:integer(?pkey)) 65
Recommendation Rule Management
67 IS-A CarModel brand IS-A JapaneseBrand price < “600000” IS-A Customer nation IS-A Asian and age IS-A YoungAdult Jena’s Rule Syntax “Honda Jazz” “Honda City” “Toyota Vios” “Nissan March” “Suzuki Swift” “Nobita” “Kim” “Somchai” Recommendation Results
กรณีศึกษาการประยุกต์ใช้งานระบบ OAM 68 ระบบสืบค้นข้อมูล (Search system) 1.ระบบสืบค้นฐานข้อมูลกฎหมายของประเทศในกลุ่ม อาเซียน 2.ระบบสืบค้นฐานข้อมูลมาตรฐานคุณวุฒิวิชาชีพ 3.ระบบจัดการชุดข้อมูลแบบเปิดสำหรับ Data.go.th
ระบบสืบค้นฐานข้อมูลกฎหมายของประเทศในกลุ่ม อาเซียน 69
ระบบสืบค้นฐานข้อมูลกฎหมายของประเทศในกลุ่ม อาเซียน 70
ระบบสืบค้นฐานข้อมูลมาตรฐานคุณวุฒิวิชาชีพ 71
ระบบจัดการชุดข้อมูลแบบ RDF สำหรับ Data.go.th Search Application Template Search Web API 72
กรณีศึกษาการประยุกต์ใช้งานระบบ OAM ระบบแนะนำข้อมูล (Recommender system) 1.ระบบสนับสนุนการตัดสินใจทางคลินิกสำหรับ โรคธาลัสซีเมีย 2.ระบบช่วยประเมินพิกัดภาษีสินค้า กรมสรรพสามิต 3.ระบบรู้จำกิจกรรมของบุคคลในบ้านอัจฉริยะ (Activity Recognition in Smart Home) 73
ระบบสนับสนุนการตัดสินใจทางคลินิกเพื่อช่วยการ ควบคุมและป้องกันการแพร่กระจายของโรคธาลัสซีเมีย 74
ระบบช่วยประเมินพิกัดภาษีสินค้ากรมสรรพสามิต 75
ระบบช่วยประเมินพิกัดภาษีสินค้ากรมสรรพสามิต (2) ส่วนจัดการ Business Logic เว็บเซอร์วิส (RESTFul Web API) 76
77 Recommendation Rule Management Semantic Search Application Template Ontology-Database Mapping ระบบรู้จำกิจกรรมของบุคคลในบ้านอัจฉริยะ
เอกสารอ้างอิง ( บางส่วน ) Buranarach, M., Supnithi, T., Thein, Y.M., Rattanasawad, T., Wongpatikaseree, K., Lim, A. O., Tan Y., Ruangrajitpakorn, T., and Assawamakin, A., OAM: An Ontology Application Management Framework for Simplifying Ontology-based Semantic Web Application Development, To appear in International Journal of Software Engineering and Knowledge Engineering (IJSEKE), Buranarach, M., Ruangrajitpakorn, T., Anutariya, C., and Wuwongse, V., Ontology Design Approaches for Development of an Excise Duty Recommender System, To appear in Proc. of ISIP2013, CCIS, Springer, Buranarach, M., Thein, Y. M., and Supnithi, T., A Community-driven Approach to Development of an Ontology-based Application Management Framework, Proc. of the 2nd Joint International Semantic Technology Conference (JIST2012), LNCS, Springer, December Wongpatikaseree, K., Ikeda, M., Buranarach, M., Supnithi, T., Lim, A. O., and Tan Y., Location- based Concept in Activity Log Ontology for Activity Recognition in Smart Home Domain, Proc. of the 2nd Joint International Semantic Technology Conference (JIST2012), LNCS, Springer, December Wongpatikaseree, K., Ikeda, M., Buranarach, M., Supnithi, T., Lim, A. O., and Tan Y., Activity Recognition using Context-Aware Infrastructure Ontology in Smart Home Domain, Proc. of the 7th International Conference on Knowledge, Information and Creativity Support Systems (KICSS2012), November