Web semantico e logiche descrittive M. Simi, 2011-2012 Cap 2 del "Description Logic Handbook" Lezioni di U.Straccia
Categorie e oggetti Molti dei ragionamenti che si fanno sono sulle categorie piuttosto che sugli individui Se organizziamo la conoscenza in categorie (e sottocategorie) è sufficiente classificare un oggetto, tramite le proprietà percepite, per inferire le proprietà della categoria|e a cui appartiene (ereditarietà)
Ontologie di dominio Molte delle idee delle reti semantiche e dei frame sono state raccolte in logiche specializzate Queste logiche sono alla base delle proposte per il Web semantico Ontologia: modello formale di un dominio di interesse (una concettualizzazione) Le relazioni di sottoclasse organizzano la conoscenza in tassonomie (come in botanica, biologia, nelle scienze librarie …) Nel Semantic Web si ipotizza di costruire basi di conoscenze in cui gli oggetti di interesse per il Web sono descritti in un linguaggio di rappresentazione ricco e condiviso. Per lo scambio di oggetti strutturati si prevede l'uso di XML, una famiglia di linguaggi di annotazione standard e di ontologie.
Il Web semantico La visione di Tim Berners-Lee (1998): da un Web “sintattico” per la comunicazione tra persone al Web "semantico”, una grossa rete di informazioni collegate su scala globale comprensibili ai programmi (un database globale – linked data) Il veicolo è XML, un linguaggio di annotazione generico. Semantic Web al W3C (http://www.w3.org/2001/sw/) Semantic Web Road map (http://www.w3.org/DesignIssues/Semantic) XML: machine readable RDF: machine understandable
Le motivazioni del web semantico Il web di oggi, fatto di documenti, è adatto alla fruizione da parte delle persone i motori di ricerca sono sintattici e i risultati non sono utilizzabili dai programmi Impossibile|difficile costruire dei programmi che fanno uso efficace dei contenuti web Il web semantico si propone di aiutare nella gestione della conoscenza presente nel web Un web di dati da condividere e riutilizzare tra applicazioni, aziende e comunità
Web semantico e gestione della conoscenza Ricerca dell’informazione Ricerche meno sintattiche Estrazione dell’informazione Adesso sono le persone che ricercano, interpretano e combinano i contenuti delle pagine web Manutenzione dell’informazione Terminologie inconsistenti, informazioni obsolete Presentazione dell’informazione Impossibile definere “viste” sui contenuti web
Il livelli del Web semantico
I livelli del web semantico Unicode e URI XML interoperabilità sintattica RDF (Resource Description Framework): per descrivere relazioni semantiche tra risorse (soggetto, predicato, oggetto) RDF schema (RDFS): per vincolare domini e codomini delle relazioni, definire classi di oggetti, relazioni tra classi; RDFS linguaggio per ontologie, poco espressivo
Web semantico e linguaggi per ontologie Linguaggi per l’aggiunta di un servizio inferenziale a RDF: OIL gruppo europeo DAML-ONT gruppo americano DAML+OIL proposto come standard OWL: Web Ontology Language, standard W3C. OWL evolve dalle logiche descrittive
Logiche descrittive Possono essere viste come: Evoluzioni “logiche” di linguaggi di KR “a rete”, come i frame e le reti semantiche Contrazioni della logica del prim’ordine (FOL) per ottenere migliori proprietà computazionali da questo punto di vista, sono interessanti perché offrono una risposta logica a necessità applicative ormai assodate: la necessità di ragionare in maniera efficace con categorie strutturate gerarchicamente; 2. sono interessanti dal punto di vista computazionale, suggerendo sistemi a inferenza limitata, diversi dal calcolo proposizionale e quindi costituiscono una alternativa al ragionamento basato sui fatti veri e falsi, con un diverso potere espressivo. Essendo ben studiate dal punto di vista computazionale, sono servite ad esplorare lo spettro di possibilità disponibili (rif. compromesso tra espressività e complessità)
KL-One KL-One [Brachman-Schmolze 1985] introduce le idee importanti delle DL: concetti e ruoli, restrizioni sui valori, restrizioni numeriche (1, NIL), semantica formale. restrizione del valore ruolo restrizione numerica The example represents knowledge concerning persons, parents, children, etc. The structure in the figure is also referred to as a terminology, and it is indeed meant to represent the generality/specificity of the concepts involved. For example the link between Mother and Parent says that “mothers are parents”; this is sometime called an “IS-A” relationship. The IS-A relationship defines a hierarchy over the concepts and provides the basis for the “inheritance of properties”: when a concept is more specific than some other concept, it inherits the properties of the more general one. For example, if a person has an age, then a mother has an age, too. This is the typical setting of the so-called (monotonic) inheritance networks (see [Brachman, 1979]). A characteristic feature of Description Logics is their ability to represent other kinds of relationships that can hold between concepts, beyond IS-A relationships. by a link from the concept to a node for the role labeled hasChild. The role has what is called a “value restriction,” denoted by the label v/r, which expresses a limitation on the range of types of objects that can fill that role. In addition, the node has a number restriction expressed as (1,NIL), where the first number is a lower bound on the number of children and the second element is the upper bound, and NIL denotes infinity. Overall, the representation of the concept of Parent here can be read as “A parent is a person having at least one child, and all of his/her children are persons.” Relationships of this kind are inherited from concepts to their subconcepts. For example, the concept Mother, i.e., a female parent, is a more specific descendant of both the concepts Female and Parent, and as a result inherits from Parent the link to Person through the role hasChild; in other words, Mother inherits the restriction on its hasChild role from Parent. concetto IS-A
DL come formalizzazione di reti semantiche Verso gli anni 80 si ha una sterzata verso la logica delle reti semantiche Il processo consiste nel riformulare i costrutti secondo i canoni della logica eliminare i costrutti che non si prestano a tale riformulazione (default ed eccezioni) All’inizio degli anni ’80 si ha una sterzata verso la logica ([Hewitt et al. 80]): le questioni di strutturazione di memoria hanno carattere implementativo; le vere questioni concettuali riguardano la semantica e l'inferenza.
Da KL-One alle logiche descrittive Logiche terminologiche FL- (Frame Language) [Brachman and Levesque,1984] tradeoff tra espressività di un linguaggio di rappresentazione e la complessità del ragionamento CLASSIC [Brachman 1991], limitato e completo Logiche descrittive LOOM [MacGregor-Bates 1987], BACK [Nebel-vonLuck, 1988], espressivi e incompleti KRIS [Baader, Hollunder, 1991], espressivi e completi FaCT, DLP, Racer, sistemi ottimizzati per logiche espressive
Esempio (and Paper (atmost 2 hasAuthor) La seguente è una formula di una delle DL: (and Paper (atmost 2 hasAuthor) (atleast 2 hasAuthor)) [paper3] paper3: Paper ⨅ (≤ 2 hasAuthor) ⨅ (≥ 2 hasAuthor) (sintassi alternativa) equivalente a: Paper(paper3) x hasAuthor(paper3, x) y hasAuthor(paper3, y) x y hasAuthor(paper3, z) (z x) (z y) Rispetto al linguaggio del FOL, le DL non hanno le variabili i quantificatori i connettivi i simboli di predicato n-ari, per n 3 il predicato di uguaglianza. … ma hanno altri operatori che possono essere visti come “combinazioni fisse” (macro) di essi.
Concetti, ruoli, individui Ogni DL è caratterizzata da operatori per la costruzione di termini di due tipi: Concetti, corrispondenti a relazioni unarie con operatori per la costruzione di concetti complessi: and, or , not, all, some, atleast, atmost, … Ruoli, corrispondenti a relazioni binarie ed eventualmente operatori Individui: usati solo nelle asserzioni
Una KB basata su logica descrittiva Top creatore libro autore giornalista (and libro (all autore giornalista)) bottom KB T-BOX Top scrittore libro giornalista (and libro (all autore giornalista)) bottom a2 giornalista autore articolo (and (a-not libro) (all autore giornalista)) autore creatore A-BOX autore[Eco, l1] autore[Biagi, l2] giornalista[Biagi] (and libro (all autore giornalista))[a2] La T-BOX definisce la terminologia di un dominio, la definizione di concetti e ruoli complessi a partire da concetti e ruoli primitivi. La T-BOX rappresenta la conoscenza intensionale. La T-BOX definisce relazioni di sussunzione tra concetti e consente di classificarli in una gerarchia di erditarietà, in realtà un reticolo con un TOP e un BOTTOM. La A-BOX definisce la conoscenza estensionale, una serie di fatti specifici e contingenti che riguardano individui,
La logica AL : la sintassi dei termini <concetto> A | ⟙ (top, concetto universale) | ⟘ (bottom) | A (negazione atomica) | C ⨅ D (intersezione) | R.C (restrizione di valore) | R. ⟙ (esistenziale debole) <ruolo> R A, B concetti primitivi R ruolo primitivo C, D concetti AL { top, bottom, a-not} è la logica FL di [Brachman 84] FL- la stessa senza la negazione Nota che il NOT è solo davanti a concetti primitivi. AL sta per Attribute Language
Esempi Person ⨅ Female Person ⨅ Female Person ⨅ hasChild.T Person ⨅ hasChild.Female Person ⨅ hasChild.
Semantica di AL I = (A)I = I \ AI il complemento I dominio di interpretazione, un insieme di individui I funzione di interpretazione che assegna a: concetti atomici A: AI I ruoli atomici R: RI I I nomi di individuo a: aI I TI = I I = (A)I = I \ AI il complemento (C ⨅ D)I = CI DI ( R.C)I = {a I | b.(a, b) RI b CI } ( R.T)I = {a I | b.(a, b) RI }
Definizioni haFiglio. Femmina ⨅ Studente Un’interpretazione I è un modello di un concetto C sse CI (insieme vuoto). Lo stesso per i ruoli. C D (equivalenti) sse CI = DI per ogni I Esempio: haFiglio.Femmina ⨅ haFiglio.Studente haFiglio. Femmina ⨅ Studente
Esempio 1 Articolo ⨅ haAutore.T ⨅ haAutore.Giornalista “l’insieme degli articoli che hanno almeno un autore, e i cui autori sono tutti giornalisti”
Esempio 2 Persona ⨅ haFiglio.T { a I | b (a, b) haFiglioI} <p1, p2> <p1, p3> <p2, p4> … ( haFiglio.T) p1 p2
Esempio 3 Persona ⨅ haFiglio.Femmina {a I | b (a, b) haFiglio) b FemminaI } haFiglio Persona p5 <p1, p2> <p1, p3> <p2, p4> <p2, p5> … Femmina p2 p3 p4 (haFiglio.Femmina) p1
Logiche più espressive U : unione, (C ⨆ D)I = (CI DI ) E : esistenziale pieno (R.C)I = {a I b.(a, b) RI b CI } N : restrizioni numeriche ( n R)I = {a I |{ b(a, b) RI}| n} (atleast) ( n R)I = {a I |{ b(a, b) RI}| n} (atmost) n, numero intero | . | cardinalità dell'insieme C : complemento pieno, (C)I = I \ CI
La famiglia AL Le diverse DL sono ottenute aggiungendo altri costruttori di termini ad AL AL[U][E][N][C] Non tutte distinte ALUE = ALC dato che (C ⨆ D) (C ⨅D) e R.C R.C ALCN = ALUEN
Il reticolo della famiglia AL © Paolo Buongarzoni & Rossella
Il linguaggio della T-BOX Assiomi terminologici T C ⊑ D inclusione di concetti, CI DI R ⊑ S inclusione di ruoli, RI SI C D uguaglianza di concetti, CI DI R S uguaglianza di ruoli, RI SI I soddisfa T sse soddisfa ogni elemento in T
Terminologia (T-BOX) Definizioni: uguaglianze che introducono un simbolo sulla sinistra Mother Woman ⨅ hasChild.Person Terminologia: i simboli compaiono sulla sinistra non più di una volta. Simboli primitivi: compaiono solo a destra Simboli definiti: compaiono anche sulla sinistra Assumiamo T acicliche.
Una terminologia aciclica Man Father Mother Woman Parent
Espansione di T Se una terminologia è aciclica può essere espansa sostituendo ai simboli definiti le loro definizioni. Il processo converge e l'espansione, Te, è unica. Proprietà di Te: in Te ogni uguaglianza ha la forma C De dove De contiene solo simboli primitivi Te contiene gli stessi simboli primitivi e definiti di T Te è equivalente a T
Esempio: espansione
Assiomi di inclusione Specializzazione: un assioma di inclusione la cui parte sinistra è atomica. Woman ⊑ Person Normalizzazione: Una terminologia generalizzata [con assiomi di inclusione], se aciclica, può essere trasformata in una terminologia equivalente con solo definizioni: A ⊑ C A A’ ⨅ C con A' nuovo simbolo primitivo
Proprietà della normalizzazione Sia T una terminologia generalizzata e T’ una sua normalizzazione. Ogni modello di T’ è un modello di T. Per ogni modello I di T c’è un modello I ’ di T’ che ha lo stesso dominio di I e coincide con I sui concetti e ruoli atomici in T Le inclusioni non aggiungono potere espressivo nel caso di terminologie acicliche
Il linguaggio delle asserzioni: A-BOX Una A-BOX è un insieme di asserzioni di due tipi: a:C, asserzioni su concetti, aI CI (b, c):R, asserzioni su ruoli, (bI , cI ) RI a, b, c, d … sono meta-simboli per individui I fornisce anche una interpretazione per i simboli di individuo
Esempio di A-BOX Assunzione di mondo aperto (OWA): Mary: Mother Peter: Father (Mary, Peter): hasChild (Peter, Harry): hasChild (Mary, Paul): hasChild Assunzione di mondo aperto (OWA): non si assume di specificare tutto Assunzione di nome unico (UNA): simboli diversi, individui diversi
DL come frammenti del FOL È possibile convertire asserzioni delle logiche descrittive in formule FOL La traduzione avviene attraverso la definizione di una funzione di traduzione t (C, x) che restituisce una formula del FOL con x libera t (C, x) ↦ C(x)
Traduzione da DL a FOL t (C ⊑ D) ↦ ∀x . t (C, x) ⇒t (D, x) t (a:C) ↦ t (C, a) t ((a, b):R) ↦ R(a, b) t (⟙, x) ↦ true t (⟘, x) ↦ false t (A, x) ↦ A(x) t (C ⨅ D, x) ↦ t (C, x) ⋀ t (D, x) t (C ⨆ D, x) ↦ t (C, x) ⋁ t (D, x)
Traduzione da DL a FOL (cont.) t (¬C, x) ↦ ¬t (C, x) t (∃R.C, x) ↦ ∃y . R(x, y) ⋀ t (C, y) t (∀R.C, x) ↦ ∀y . R(x, y) ⇒ t (C, y)
Esempi di traduzione t (HappyFather ⊑ Man ⨅ ∃hasChild . Female) = ∀x . t (HappyFather, x) ⇒ t (Man ⨅ ∃hasChild . Female, x) = ∀x . HappyFather(x) ⇒ t (Man, x) ⋀ t (∃hasChild . Female, x) = ∀x . HappyFather(x) ⇒ Man(x) ⋀ t (∃hasChild . Female, x) = ∀x . HappyFather(x) ⇒ Man(x) ⋀∃y . hasChild(x, y) ⋀ Female(y) t (a:Man ⨅ ∃hasChild . Female) = Man(a) ⋀ (∃y . hasChild(a, y) ⋀ Female(y))
Sintassi alternativa Lisp-like