Transcript Document
Fakultet elektrotehnike i računarstva, Zagreb Zavod za elektroniku, mikroelektroniku, računalne i inteligentne sustave Deskriptivna logika (engl. Description Logic) Poslijediplomski kolegij: Predstavljanje znanja u informacijskim sustavima Nositelj kolegija: prof.dr.sc. Nikola Bogunović Prezentaciju sastavio: Alan Jović, mag.ing.rač. Predstavljanje znanja Cilj: „Razviti formalizam za opis visoke razine nekog svijeta, koji se može učinkovito iskoristiti za izgradnju inteligentnih programa“. Formalizam - sastoji se od sintakse, dobro definirane semantike te usluga za zaključivanje (engl. reasoning). Opis visoke razine - neki aspekti svijeta su predstavljeni, a drugi ili izostavljeni ili sakriveni Inteligentni programi - programi koji mogu zaključiti novo znanje na temelju poznatog znanja koristeći formalizam Formalizam mora biti učinkovit, da bi implementacija bila iskoristiva Sadržaj Formalizmi prikaza znanja povezani s deskriptivnom logikom Primjena deskriptivne logike Sintaksa Semantika Zaključivanje (engl. reasoning) Protégé alat + Pellet reasoner Formalizmi prikaza znanja povezani s deskriptivnom logikom Predikatna logika prvog reda (FOPL) Semantička mreža Okviri Ontologija Rani pokušaji: semantičke mreže Razvijene 60-tih i 70-tih godina 20.st. (poboljšana Quillianova semantička memorija) Koncepti i uloge – povezuju koncepte strelicama Nedostatci: nedostaje formalna sintaksa i semantika, a time je i onemogućeno zaključivanje slike postaju kompleksne Okviri (engl. Frames) M. Minsky, 1974. godine razvio Okvire u svojem radu: “A Framework for Representing Knowledge” Svojstva: Postoji sintaksa prikaza Nedostaje i dalje semantičke pozadine Uključuje hijerarhiju koncepata nazvanih “objekti” (engl. objects) i svojstva objekata nazvanih utori (engl. slots) Modelirani svijet je zatvoren Zaključivanje nad Okvirima bilo je moguće jedino posredno, koristeći sustav osnovan na pravilima (npr. JESS pravila) Deskriptivna logika Pojavljuje se 1985. kao nastavak Minskyeve ideje KL–ONE jezik Otada se razvija sve do današnjih dana Deskriptivna logika (DL) namijenjena je terminološkom semantičkom opisu neke domene i zaključivanju Danas čini okosnicu ideje semantičkog weba i koristi se u izradi računalnih ontologija Deskriptivna logika je skupina jezika, a ne jedan jezik. Većinu deskriptivne logike čine jednostavni formalizmi koji su podskup logike prvog reda, ali postoje i formalizmi izražajniji od logike prvog reda Deskriptivna logika Deskriptivna logika se fokusira na predstavljanje onoga što nazivamo terminološko znanje ili konceptualno znanje, ona opisuje dio našeg svijeta ne podrazumijevajući da zna sve o njemu. Koraci u primjeni su: 1. Formalizirati osnovnu terminologiju domene koja se želi modelirati, što uključuje dobavljanje znanja 2. Pohraniti znanje u obliku ontologije/terminologije 3. Omogućiti zaključivanje nad tim znanjem Ontologija U vrlo uskoj vezi s DL-om Ontologija je konceptualni model neke domene našeg svijeta Građa ontologije: Razredi (engl. class) Relacije (engl. relations) Pojedinci (engl. individual, instance) Relacije se definiraju nad razredima, a vrijede između pojedinaca dotičnih razreda Podrazumijeva mogućnost zaključivanja, jer ima logičku pozadinu -> Protégé Primjena deskriptivne logike U medicinskoj informatici U bioinformatici GeneOntology (GO): Zaključivanje u konkretnim sustavima -> rijetkost Semantički web SNOMED, openGALEN project Cilj: Dati semantički opis sadržaja web stranica Realizacija: Pokazati na koncepte definirane u nekoj ontologiji –> još uvijek samo vizija Glavni problemi: sporost zaključivanja tromost i nezainteresiranost tržišta Razlike u nazivlju Ontologije Razred = Relacija ili svojstvo = (engl. property) Pojedinac = Ontološki jezik = (engl. ontology language) Deskriptivna logika Koncept (engl. concept) Uloga (engl. role) Koncept ili pojedinac Konstruktori i aksiomi Sintaksa DL ALC Semantika DL ALC Semantika deskriptivne logike je bazirana na interpretaciji Intuitivno, interpretacija je opis svijeta Tehnički, interpretacija DL ALC je logika prvog reda koja ima samo unarne (koncepte) i binarne (uloge) predikate Formalno, semantika je osnovana na uređenom paru : (ΔI , ∙I ), ΔI : domena interpretacije I ∙I : interpretacijska funkcija koja preslikava svako ime koncepta A u podskup AI od ΔI i svako ime uloge R u binarnu relaciju RI nad ΔI Semantika DL ALC Semantika složenih koncepata Semantika DL ALC Primjer interpretacije Zaključivanje Primjena zaključivanja Osnovni zadaci reasonera TBox i ABox logike DL ALC Tableau algoritam Intuitivni opis Formalni opis Zaključivanje Ideja, primjer i ponašanje Složenost i podjezici deskriptivne logike Ostali formalizmi zaključivanja Primjena zaključivanja Razumijevanje semantičkog weba je u uskoj vezi s zaključivanjem Zaključivanje je važno u svim “fazama života” neke ontologije: Pri stvaranju ontologije i održavanju Pri integraciji ontologija provjeriti konzistenciju i neočekivane implicitne relacije, što je posebno važno kod velikih ontologija Provjeriti povezanosti među ontologijama Reasoner računa integriranu hijerarhiju razreda i provjerava njezinu konzistentnost Pri korištenju ontologija Odrediti jesu li pojedinci instance ontoloških razreda Zaključiti pojedince ontoloških razreda Osnovni zadaci reasonera Provjera zadovoljivosti (engl. Satisfiability cheking) Postoji li barem jedan model M koji zadovoljava neku interpretaciju I Provjera podrazumijevanja (engl. Subsumption) Ustrojstvo znanja – određivanje hijerahije odnosa Ekvivalencija Provjeriti ako dva razreda imaju isti skup pojedinaca i definiranih svojstava Instanciranje Provjeriti da li je pojedinac a instanca razreda C Dohvat Dohvatiti skup pojedinaca koji su instance razreda C TBox i ABox TBox - izrazi opisuju koncepte i relacije među njima, tj. njihovu hijerarhiju ABox - opisuje povezanost između pojedinaca i koncepata, odnosno gdje u hijerarhiji pripadaju pojedinci “Intel® Core™2 Extreme QX9560 je procesor.” “Intel je proizvođač procesora Intel® Core™2 Extreme QX9560.” U kontekstu FOPL-a nema razlike između TBoxa i ABoxa: “Procesor je dio računalnog sustava” “Svaki procesor ima svojeg proizvođača” TBox sadrži izraze s uvjetnim ograničenjima na unarni predikat (koncept) i binarne predikate (uloge) ABox unificira varijable konstantom Zašto onda podijela Boxova? - veća učinkovitost, autonomija rada TBox – formalni opis Zaključivanje na TBoxu podrazumijevanje Zaključivanje na TBoxu – stvaranje hijerarhije koncepata i uloga Zaključivanje na TBoxu - zadovoljivost Zadovoljivost i podrazumijevanje ABox – formalni opis Zaključivanje na TBoxu i ABoxu Za dani ABox A i TBox T, postoji li zajednički model? ABox TBox ABox je nekonzistentan u odnosu na TBox. (zbog boje s23) dumbo je instanca od Slona: TBox, ABox daju za logičku posljedicu: dumbo : Slon Zaključak da je dumbo Slon nije bio moguć koristeći običnu bazu podataka Tableau algoritam Zadatak: Naći ispravne i potpune postupke odlučivanja za zadovoljivost (i podrazumijevanje) u DL koji su prilagođeni uspješnoj implementaciji Cilj: oblikovati algoritam koji uzima DL ALC koncept i 1. vrati „zadovoljiv“ ako i samo ako je zadovoljiv 2. za svaki ulaz završi postupak odlučivanja. Treba se podsjetiti da takav algoritam zadovoljivosti ne postoji za FOPL, a problem ispitivanja ispravnosti formule je poluodlučljiv Tableau algoritam - ideja Ideja algoritma: pokušati izgraditi model od C0 razbijajući ga sintaksno i tako zaključujući nova ograničenja na takvom modelu Potrebno je transformirati svaki koncept C0 u ekvivalentni C1 u negacijskoj normalnoj formi (NNF). Pritom vrijede transformi: Tableau algoritam - primjer Tableau algoritam - primjer Reasoner gradi stablo dovršenja (engl. completion tree). Čvorovi stabla dovršenja su koncepti, a grane su uloge. Stablo se širi korištenjem pravila dovršenja. U principu, dodaje se novi čvor u stablo, ukoliko imamo kvantifikatore uloga. Nadalje, pravilo unije je nedeterminističko, pa je potrebno ispitati svaku granu. Ako dođe u jednoj od grana do sudara (engl. clash), ispituje se dalje druga grana. Sudar je definiran kao čvor u kojem vrijedi A i ¬A, za neki koncept A (ili ako vrijedi ) Kaže se da je stablo dovršenja potpuno (engl. complete) ako nije dalje moguće primijeniti niti jedno pravilo dovršenja. Ponašanje Tableau algoritma Ako algoritam počne s C0, koji je NNF-u, tableau algoritam ponavlja primjenu pravila dovršenja u kojem god redoslijedu želi. Odgovara: C0 je zadovoljiv ako i samo ako se pravila dovršenja mogu primjeniti na takav način da rezultiraju u potpunom stablu bez sudara. Složenost i podjezici deskriptivne logike Prema lemi koju je moguće dokazati, DL ALC ima tableau algoritam koji uvijek završava kad se primijeni na koncept C0. pravila se mogu primijeniti tako da generiraju potpuno stablo bez sudara ako i samo ako je C0 zadovoljiv može dokazati podrazumijevanje, jer je to ekvivalentno dokazivanju zadovoljivosti je odlučljiv u PSpace složenosti Složenost i podjezici deskriptivne logike Tableau algoritam se može proširiti na opći TBox Opći TBox sadrži pravila oblika C R .C koja ne terminiraju U tom slučaju primjenjuje se tehnika blokiranja i ALC deskriptivna logika ostaje i dalje odlučljiva Jednako tako, inverseRole ne povećavaju složenost logike, tako da je ALCI logika u PSpaceu i odlučljiva. ALCI logika s ograničenjima na kardinalnost (ALCQI), tranzitivnim ulogama i hijerarhijom uloga (SHIQ), imaju gornju vremensku složenost u ExpTime Ako se uzmu u obzir i nominali, što znači ograničenja na vrijednosti pojedinaca (SHOIQ), tada je gornja vremenska složenost NExpTime. SHOIQ se danas najviše koristi (to je OWL–DL) Sve ove logike su odlučljive, ali je dokaz toga za SHIQ i SHOIQ netrivijalan Kratice DL jezika i njihovo značenje Danas najpoznatiji jezici OWL-light, zasnovan na SHIN OWL-DL, zasnovan na SHOIQ OWL Full, zasnovan na RDF-u (Resource Description Framework), izvan okvira efektnog zaključivanja, budući da je dozvoljeno da koncept bude istovremeno i razred i pojedinac i uloga OWL 1.1, zasnovan na SROIQ Računska složenost reasonera CEL i QuOnto se koriste za semantički web, jer su ogromni ABoxovi danas činjenica Kris je ALC reasoner KL-One je dizajniran da bude odlučljiv, ali nije Ostali formalizmi odlučivanja Postupci odlučljivanja osnovani na automatima + elegantni i jednostavni + lako koriste dinamičke operatore (npr. tranzitivne uloge) + dobri su za dokazivanje ExpTime gornjih granica + ne zahtjevaju dokaz o završavanju - u najboljem slučaju su eksponencijalne složenosti - nema trenutno još uvijek konkretne implementacije Hyper-tableau algoritmi (Hermit) zasnovani na rezolucijskom pravilu (MSPASS, KAON) drugi, visoko učinkoviti “home-made” (CEL, QuOnto) Dodatak – konstruktori i aksiomi DL-a Primjer zaključivanja Pellet reasoner Protégé If Lecturer or Dilligent then Schooltrip If Lecturer or (attends >= 1) then Schooltrip Literatura Sattler, U., “Description Logics”, Advanced Course on Artificial Intelligence (ACAI), Katholieke Universiteit Leuven, Belgium, August 2007 Staab, S., “Intelligent Systems on the World Wide Web: Ontologies”, Institute for Applied Computer Science and Formal Description Methods (AIFB), Karlsruhe University, 2004, http://www.aifb.unikarlsruhe.de/Lehre/Sommer2004/ISWWW/Vorlesung/2c-eontology_4_on_1.pdf McGuinness, D.L., van Harmelen, F., “OWL Web Ontology Language Overview”, W3C Recommendation, February 2004, http://www.w3.org/TR/owl-features/ Zolin, E. “Description logic complexity navigator”, School of Computer Science, University of Manchester, web application, http://www.cs.man.ac.uk/~ezolin/dl/ Wilensky, R., “CS 288: An AI Approach to NLP – Introduction to Representation” http://www.cs.berkeley.edu/~wilensky/cs288/lectures/Introduction to Representation.pdf