Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
RAPPRESENTAZIONE DELLA CONOSCENZA Prof.ssa Stefania Bandini Dott. Matteo Palmonari Modulo del Corso Rappresentazione dell’Informazione e della Conoscenza Dipartimento di Informatica, Sistemistica e Comunicazione Università di Milano-Bicocca www.lintar.disco.unimib.it [email protected] [email protected] tel. 02 6448 7835 Tempi e luoghi Mercoledì 08:30 10:30 Aula. U6 - 26 Giovedì 10:30 12:30 Aula. U6 - 26 Materiale del Corso • http://informatica.moodle.didattica.unimib.it/ • Accesso con mail e password standard • www.lintar.disco.unimib.it formazione/etc. • Link utili... • www.csai.disco.unimib.it/CSAI/space/start/ Finalità del corso Il corso si propone di introdurre le caratteristiche principali della disciplina che va sotto il nome di Rappresentazione della Conoscenza (in breve KR – dall’inglese “Knowledge Representation”). Verrà fornita agli studenti la capacità di modellare e rappresentare conoscenza di dominio, di utilizzare strumenti formali e computazionali che permettano di ragionare sulla conoscenza rappresentata, e di utilizzare strumenti di rappresentazione semantica che permettano di condividere le conoscenze attraverso il Web. Nel corso verrà dato un significato preciso a termini quali... inferenza Inferenza non monotona ontologia semantica Knowledge Base Semantic Web Ragionamento Automatico Calcolo logico rdf Materiale didattico Una parte del materiale verrà segnalato e distribuito di volta in volta a lezione. I testi di riferimento sono: BRACHMAN, R. e LEVESQUE, H. Knowledge Representation and Reasoning. The Morgan Kaufman Series in Artificial Intelligence, Los Altos, CA. (2004) CHITTA BARAL. Knowledge Representation, Reasoning and Declarative Problem Solving. Cambridge University Press. (2003) STEFFEN STABB, RUDI STUDER (Eds.) Handbook on Ontologies International Handbooks on Information Systems Springer, 2004 Approfondimenti: J. Sowa. Knowledge Representation: Logical, Philosophical and Computational Foundations. Pacific Grove, CA 2000 Ed. by F. Baader, D. Calvanese, D. McGuinness, D. Nardi, P. Patel-Schneider. The Description Logic Handbook. Theory, Implementation and Applications. Cambridge University Press 2003 “Rappresentazione della Conoscenza” A.K.A. Knowledge Representation & Reasoning KR&R Once upon a time... Artificial Intelligence “...” “...” “...” • One aspect of intelligence is related to human capability of representing states of affairs and reasoning about them • Robots • Machines requiring automation • Expert systems Deep space I (1998) Intelligence, computation and representation • If intelligence is about symbol manipulation, can a machine think? • An intelligent agent has a symbolic description of the world (part of it) and is able to reason about it according to general principles Knowledge Representation Discipline studying models, languages and tools to represent knowledge and to support reasoning about it Why do we care about KR? “Knowledge Representation and Reasoning (KR&R) is a vibrant and exciting field of human endeavour. KR&R techniques are key drivers of innovation in computer science, and they have led to significant advances in practical applications in a wide range of areas from Artificial Intelligence to Software Engineering. Explicit representations of knowledge manipulated by reasoning engines are an integral and crucial component of intelligent systems. Semantic Web technologies, the design of software agents and Bio-Informatics technologies, in particular, provide significant challenges for KR&R” [from call for paper of KR&R 2008] KR today... • Many application fields: – – – – – – – Bioinformatics Information Integration Knowledge Management E-health Monitoring and Control Systems Multimedia ... • Spread into many different macro areas in Computer Science... – Database – Semantic Web – Distributed Systems (Web Services & Multi Agent Systems) – Intelligent & Expert Systems – ... Why do we care about KR? • We focus on two main aspects: – Declarative approach to problem solving – Semantic of data and information Why do we care about KR? • Declarative approach to problem solving – Problem solving based on the definition of the problem (“what”) and on the application of general strategies rather than on a set of instruction (“how”) PROBLEM REPRESENTATION IN KR SYSTEM 1 PROBLEM 2 GENERAL INFERENCE PROCEDURES OF THE KR SYSTEM PROBLEM SOLUTION IN KR SYSTEM 1 SOLUTION Why do we care about KR? • Declarative approach to problem solving STRATIGRAPHY: Define spatial relationships between strata Define “what” is a correct temporal succession of strataa STRATIGRAPHY: Define the general correlations between spatial relationships holding among strata and their possible succession with respect to time The temporal succession of the strata of the excavation Give inputs: specific spatial relationships of an excavation PROBLEM REPRESENTATION IN KR SYSTEM 1 PROBLEM 2 GENERAL INFERENCE PROCEDURES OF THE KR SYSTEM PROBLEM SOLUTION IN KR SYSTEM 1 STRATIGRAPHY: From the spatial relationship between the strata of an excavation find the temporal succession of such strata STRATIGRAPHY: A succession of the strata SOLUTION Why do we care about KR? 1 PROBLEM 1 STRATIGRAPHY: From the spatial relationship between the strata of an excavation find the temporal succession of such strata STRATIGRAPHY: A succession of the strata SOLUTION Why do we care about KR? • Declarative approach to problem solving STRATIGRAPHY: Define spatial relationships between strata Define “what” is a correct temporal succession of strataa STRATIGRAPHY: Define the general correlations between spatial relationships holding among strata and their possible succession with respect to time The temporal succession of the strata of the excavation Give inputs: specific spatial relationships of an excavation PROBLEM REPRESENTATION IN KR SYSTEM 1 PROBLEM 2 GENERAL INFERENCE PROCEDURES OF THE KR SYSTEM PROBLEM SOLUTION IN KR SYSTEM 1 STRATIGRAPHY: From the spatial relationship between the strata of an excavation find the temporal succession of such strata STRATIGRAPHY: A succession of the strata SOLUTION Why do we care about KR? BACKGROUND KNOWLEDGE ABOUT STRATIGRAPHY STRATIGRAPHY: PROBLEM INPUTS Define spatial relationships between strata Define “what” is a correct temporal succession of strataa STRATIGRAPHY: Define the general correlations between spatial relationships holding among strata and their possible succession with respect to time The temporal succession of the strata of the excavation PROBLEM OUTPUT Give inputs: specific spatial relationships of an excavation PROBLEM REPRESENTATION IN KR SYSTEM 1 PROBLEM 2 GENERAL INFERENCE PROCEDURES OF THE KR SYSTEM PROBLEM SOLUTION IN KR SYSTEM 1 STRATIGRAPHY: From the spatial relationship between the strata of an excavation find the temporal succession of such strata STRATIGRAPHY: A succession of the strata SOLUTION Why do we care about KR? TAKE CARE OF DIFFERENT PROBLEMS... Incomplete Knowledge STRATIGRAPHY: Define spatial relationships between strata Define “what” is a correct temporal succession of strataa STRATIGRAPHY: Define the general correlations between spatial relationships holding among strata and their possible succession with respect to time The temporal succession of the strata of the excavation Give inputs: specific spatial relationships of an excavation PROBLEM REPRESENTATION IN KR SYSTEM 1 PROBLEM 2 GENERAL INFERENCE PROCEDURES OF THE KR SYSTEM PROBLEM SOLUTION IN KR SYSTEM 1 STRATIGRAPHY: From the spatial relationship between the strata of an excavation find the temporal succession of such strata STRATIGRAPHY: The possible successions of the strata SOLUTION Primitive spatial relationships -cover(Y,X) :- cover(X,Y). coveredBy(X,Y) :- cover(Y,X). cover(X,Y) :- coveredBy(Y,X). -cut(Y,X) :- cut(X,Y). cuttedBy(X,Y) :- cut(Y,X). cut(X,Y) :- cuttedBy(Y,X). Primitive temporal relationships :- dirPostTo(X,X). -dirPostTo(X,Y) :- dirPostTo(Y,X). :- dirAntTo(X,X). -dirAntTo(X,Y) :- dirAntTo(Y,X). Mixed axioms & multiple model generation dirAntTo(Y,X) :- dirPostTo(X,Y). posteriorTo(Y,W) leanOn(X,Y),leanOn(X,Z),cover(Y,Z),cover(X,W),leanOn(W,Z). -fill(Y,X) :- :fill(X,Y). filledBy(X,Y) :- fill(Y,X). posteriorTo(X,Y) :- dirPostTo(X,Y). posteriorTo(X,W) :- leanOn(X,Y),leanOn(Z,W),cover(X,Z),cover(Y,W). fill(X,Y) :- filledBy(Y,X). posteriorTo(X,Y) :- posteriorTo(X,Z),dirPostTo(Z,Y). posteriorTo(Y,Z) :- leanOn(X,Y),leanOn(Z,W),cover(X,Z),cover(Y,W). :- fill(X,Y),not slash(Y). -posteriorTo(X,Y) :- posteriorTo(Y,X). posteriorTo(Z,Y) :- leanOn(X,Y). contemporary(X,Y),posteriorTo(Z,X). -leanOn(Y,X) :anteriorTo(Y,X) :- posteriorTo(X,Y). posteriorTo(Z,X) hasLeaned(Y,X):-:-contemporary(X,Y),posteriorTo(Z,Y). leanOn(X,Y). leanOn(Y,X) :- hasLeaned(X,Y). contemporary(X,Y) :- contemporary(Y,X). dirPostTo(Z,Y) :- equalTo(X,Y),cover(Z,X). contemporary(X,Z) :- contemporary(X,Y),contemporary(Y,Z). dirPostTo(Z,X) :- equalTo(X,Y),cover(Z,Y). :- attachTo(X,X). attachTo(Y,X) :- attachTo(X,Y). -contemporary(Z,Y) :- equalTo(X,Y),posteriorTo(X,Z). -contemporary(Z,X) equalTo(X,Y),posteriorTo(Y,Z). equalTo(Y,X) :- :equalTo(X,Y). equalTo(X,Z) :- equalTo(X,Y),equalTo(Y,Z). contemporary(X,Y) v posteriorTo(X,Y) v posteriorTo(Y,X) :- us(X),us(Y),not posteriorTo(X,Y),not -posterior(X,Y). dirPostTo(X,Y) :- cover(X,Y). Spatial -> Temporal mapping dirPostTo(X,Y) :- cut(X,Y). dirPostTo(X,Y) :- fill(X,Y). dirPostTo(X,Y) :- leanOn(X,Y). contemporary(X,Y) :- attachTo(X,Y). contemporary(X,Y) :- equalTo(X,Y). -contemporary(X,Y) :- -equalTo(X,Y). txt ... ODBC JDBC cover(u622,u613). facts MS access cover(u622,u618). db cover(u802,u613). ... ... cover(u803,u613). posteriorTo(u414,u415), posteriorTo(u414,u419), -cover(Y,X)coveredBy(u414,u433). :- cover(X,Y). posteriorTo(u414,u450), posteriorTo(u414,u612), coveredBy(X,Y) :- cover(Y,X). coveredBy(u414,u46). posteriorTo(u414,u427), posteriorTo(u414,u428), cover(X,Y) coveredBy(u415,u414). :- coveredBy(Y,X). posteriorTo(u414,u439), posteriorTo(u414,u452), ... coveredBy(u419,u414). posteriorTo(u414,u453), posteriorTo(u414,u605), equalTo(Y,X) :- equalTo(X,Y). coveredBy(u419,u415). posteriorTo(u414,u609) equalTo(X,Z) :- equalTo(X,Y),equalTo(Y,Z). coveredBy(u419,u450). ... ... coveredBy(u425,u428). txt coveredBy(u427,u419). axioms ... inferenced chronological models & rules DLV txt Lack of knowledge generates multiple models DLV [build BEN/Oct 11 2007 gcc 3.4.5 (mingw special)] {posteriorTo(us1,us2), posteriorTo(us1,us3), posteriorTo(us2,us5), posteriorTo(us3,us5), posteriorTo(us3,us4), posteriorTo(us4,us5), posteriorTo(us2,us3), posteriorTo(us2,us4}} {posteriorTo(us1,us2), posteriorTo(us1,us3), posteriorTo(us2,us5), posteriorTo(us3,us5), posteriorTo(us3,us4), posteriorTo(us4,us5), posteriorTo(us3,us2), posteriorTo(us4,us2)} {posteriorTo(us1,us2), posteriorTo(us1,us3), posteriorTo(us2,us5), posteriorTo(us3,us5), posteriorTo(us3,us4), posteriorTo(us4,us5), posteriorTo(us3,us2), posteriorTo(us2,us4)} {posteriorTo(us1,us2), posteriorTo(us1,us3), posteriorTo(us2,us5), posteriorTo(us3,us5), posteriorTo(us3,us4), posteriorTo(us4,us5), posteriorTo(us3,us2), contemporary(us4,us2), contemporary(us2,us4)} {posteriorTo(us1,us2), posteriorTo(us1,us3), posteriorTo(us2,us5), posteriorTo(us3,us5), posteriorTo(us3,us4), posteriorTo(us4,us5), contemporary(us3,us2), posteriorTo(us2,us4), contemporary(us2,us3)} Why do we care about KR? Semantic of data and information • Information is represented into data format... what about the content in the infromation when the information need to be exchanged? • Taking care of the content requires considering the meanings of a piece of information • E.g. Jaguars are fast... Talking about the car or the animal? • E.g. What’s the meaning of “horse” in a DB of racing horses? Why do we care about semantics? Integrazione e Interoperabilità • Data integration (integrazione di basi di dati differenti) – Query su sorgenti di informazioni eterogenee e distribuite – Integrazione * e.g.1 – Trova tutti i cavalli e.g.2 - Trova tutti i cavalli che corrono in Italia “horses” (con attributo: racing country) “cavalli che corrono in italia” • Integrazione di applicazioni (interoperabilità, scambio di informazioni e condivisione della conoscenza) *Estratta da M. Lenzerini, Information Integration, invited tutorial to Eighteenth International Joint Conference on Artificial Intelligence, IJCAI 2003 Why do we care about semantics? Gli schemi sono non integrati ed eterogenei Persona Codice fiscale Anagrafe residenti Numero Codice tessera fiscale sanitaria Anagrafe assistiti Anagrafe soggetti fiscali Codice progressivo Archivio dipendenti Codice interno Archivio cacciatori Why do we care about semantics? Diverse rappresentazioni R(FirstName, LastName, Region, State) Patrick Metzisi MM Kenia Patrick Metzisi (a) Two tuples R1(FirstName, LastName, Region) Patrick Patrick Metzisi Mezisi MM Masai Mara R2(Region, State) MM Masai Mara Kenia KE Masai Mara KE R3(State, Continent) Kenia KE Africa Africa (b) Two hierarchical groups of tuples <country> <name> Kenia </name> <cities> Nairobi, Mombasa, Malindi </cities> <lakes> <name> Lake Victoria </name> </lakes> </country> <country> Kenia <city> Nairobi </city> <city> Mombasa </city> <lakes> <lake> Lake Victoria </lake> </lakes> </country> (c) Two XML records Why do we care about semantics? Diverse rappresentazioni • Sorgenti eterogenee in diversi formati – (e.g. RDB, ODB, XML, Unstructured Data, Multimedia) • Rappresentazioni differenti <country> Kenia <city> Nairobi </city> <city> Mombasa </city> <lakes> <lake> Lake Victoria </lake> </lakes> </country> R1(FirstName, LastName, Region) Patrick Metzisi MM R2(Region, State) MM Kenia R3(State, Continent) Kenia Africa Why do we care about semantics? Tra informazioni e conoscenza • Il Web rappresenta uno dei mezzi principali attraverso cui si accederà, si pubblicherà e si scambieranno informazioni [vedi trasparenze Brodie] • User Generated Content (UGC) • Nuove frontiere per data integration • Necessità di supportare l’accesso, la ricerca, lo scambio e il riuso di tali informazioni • Tim Berners-Lee: Semantic Web • Necessario di esplicitare il contenuto di documenti e informazioni con linguaggi in grado di essere manipolati da una macchina 1998 2006 Why do we care about semantics? • Search: looking for pictures of “jaguar”... Why do we care about semantics? • Search: looking for “jaguar animal” Why do we care about semantics? • Search: looking for “jaguars born this year in berlin zoo” Some results by combining words, but how can a machine query, and process query results? Why do we care about semantics? Tra informazioni e conoscenza • Il Web rappresenta uno dei mezzi principali attraverso cui si accederà, si pubblicherà e si scambieranno informazioni • Il Web di oggi/domani costituito da... – – – – eventi descrizioni di documenti servizi asserzioni • Informazioni riguardanti risorse sul Web rappresentate con linguaggi semantici basati su XML (RDF, web 2.0) + What about semantics? persona • Informazioni come... – eventi (concerto di Paolo Conte a Milano il 30/11/2008) – descrizioni di documenti (il documento www.disco.unimib.it/palmonari/01.jpg riguarda Matteo Palmonari) – asserzioni (M. Palmonari è postdoc presso Unimib) – ... luogo • Specificare questo tipo di ulteriori informazioni contribuisce a specificare il significato... • Ad esempio possiamo derivare nuova conoscenza: – – – – – Paolo Conte e Matteo Palmonari hanno una data di nascita www.disco.unimib.it/palmonari/01.jpg riguarda M. Palmonari www.disco.unimib.it/palmonari/01.jpg riguarda un postdoc di Unimib Unimib ha un estensione ... data stesso individuo What about semantics and KR? • Meaning and inference are related • Meaning is related to the capability of manipulating symbols, exploiting new inferred information to achieve more intelligent behavior • Knowledge... knowing how to use general and abstract information • Computer science applications taking into account “meaning” need formal, machine-readable and computational languages supporting automated inference • Knowledge Representation (in this course) focuses on this kind of languages, and the related automated reasoning procedures Cos’è l’ inferenza: esempi 1. Mario è un architetto oppure è un geometra. Se Mario fosse architetto, allora Mario sarebbe laureato. Mario non è laureato. Quindi: Mario è un geometra . 2. Giovanni Paolo II è siciliano. Tutti i siciliani sono giardinieri. Quindi: Giovanni Paolo II è giardiniere. 3. Tutti i cigni osservati sinora in Europa sono bianchi. Tutti i cigni osservati sinora in Nord America sono bianchi. Tutti i cigni osservati sinora in Sud America sono bianchi […] Non sono mai stati osservati cigni che non fossero bianchi. Quindi: Tutti i cigni sono bianchi. 4. L’assassino ha sporcato di fango il tappeto. Chiunque fosse entrato dal giradino avrebbe sporcato di fango il tappeto. Quindi: L’assassino è entrato dal giardino. 5. Gli uccelli, salvo eccezioni, sono in grado di volare. Titti è un uccello. Quindi: Titti è in grado di volare. Questo corso di KR • Avrà come oggetto: – alcuni importanti linguaggi formali, “machinereadable” e computazionali per la rappresentazione della conoscenza, il ragionamento automatico e la condivisione della conoscenza attraverso il Web – alcuni strumenti software e alcuni modelli architetturali per lo sviluppo di applicazioni basate su tali linguaggi – esercitazioni relative all’uso dei linguaggi e degli strumenti presentati – la discussione di casi di studio relativi ad applicazioni basate sui modelli, le tecniche e le tecnologie presentate Questo corso di KR • Si focalizzerà su: – Declarative problem solving e ragionamento automatico • Linguaggio di programmazione logica ASP (Answer Set Programming) • Sistema DLV – Modelli, linguaggi e tecnologie per l’esplicitazione della semantica attraverso il Web • • • • Ontologie come modelli concettuali Linguaggi per il semantic Web come RDF, SPARQL, OWL Logiche descrittive e ragionamento automatico per il Web Architetture di integrazione delle tecnologie semantiche – Applicazioni delle tecnologie introdotte a problematiche di information integration Capacità fornite dal corso (obiettivi finali) • Si forniranno le competenze tecniche e logico formali relative a strumenti fondamentali e/o standard per – applicazioni basate su programmazione logica – applicazioni Web basate sull’utilizzo della semantica • N.b. RDF, OWL; SPARQL sono raccomandazioni del W3C – applicazioni di information integration Capacità fornite dal corso (obiettivi indotti) • Fornirà un background teorico e pratico in grado di – favorire l’accesso a un insieme di tecniche e tecnologie non direttamente approfondite durante il corso – E.g. Sistemi a regole, risorse lessicali (e.g. Wordnet) – garantire una prospettiva almeno parzialmente integrata su diversi linguaggi formali, di programmazione e di modellazione concettuale di uso corrente – E.g. Modello relazionale, UML, ER, programmazione a oggetti tagli Intensione/Estensione Linguaggi formali per rappresentare la conoscenza: Cosa rappresentare? Linguaggio (L) Concetti Predicati unari P(x) Relazioni Predicati binari, ternari ... R(x,y), R(x,y,z) inferenza Semantica (M) Semantica standard su base insiemistica: Concetti Insiemi Relazioni Insiemi di n-uple Rappresentazione ESTENSIONALE! Statica... Conoscenza sulla realtà Intensione/Estensione Linguaggi formali per rappresentare la conoscenza: Cosa rappresentare? Linguaggio (L) Concetti Predicati unari P(x) Relazioni Predicati binari, terziari ... R(x,y), R(x,y,z) Semantica (M) Semantica standard su base insiemistica: Concetti Insiemi Relazioni Insiemi di n-uple Rappresentazione ESTENSIONALE! Statica... Conoscenza Intensione/Estensione Quello che interessa dal punto di vista della possibilità di fare inferenza è una caratterizzazione della rappresentazione che tratti concetti e relazioni indipendentemente dagli oggetti che nella circostanza specifica entrano a darne la definizione estensionale. INTENSIONE di concetti e relazioni: Linguaggio (L) Proprietà formali di alto livello Necessità di un linguaggio per definirle E.g. IN è transitiva E.g. Inferire IN(x,z) Da: IN(x,y) + IN(y,z) inferenza Semantica (M) Conoscenza Intensione e inferenza Proprietà di alto livello (aspetti intensionali di una base di conoscenza) 1. Coinvolgono una sola relazione: e.g. simmetria: R( x, y) → R( y, x) 2. Coinvolgono più concetti/relazioni: a - Interdipendenze e interdefinizioni tra relazioni N ( x, y)∧E ( x, y) ↔ NE( x, y) N ( x, y)∧IN ( z, y) → N ( x, z ) e.g. Nord Est = Nord ∩ Est e.g. ? b - Relazioni tra concetti e.g. FiguraGeometrica e Triangolo... Triangolo( x) → FigGeometrica( x) 1- Inferenza: proprietà delle relazioni 1 – Proprietà delle relazioni e.g. IN: Transitività... IN(a,b); IN(b,d); IN(d,e); IN(e,c) a a b c 1 f f IN ( x, y) ∧ IN ( y, z ) → IN ( x, z ) Assioma di L 1 c e e 1 b d d 1 1- Inferenza: proprietà delle relazioni IN: Transitività... IN(a,b); IN(b,d); IN(d,e); IN(e,c) a b c d e a 1 1 1 1 b 1 1 1 c d e f f Altre proprietà? e.g. antisimmetria? Più proprietà? (coerenza?) e.g. antisim + rifl + trans? 1 1 1 antisim + irrifl + trans ⇝⊥ Relazioni tra concetti Figura geometrica e.g. FiguraGeometrica e Triangolo... Triangolo Sfera Triangolo IS-A FigGeometrica Triangolo( x) → FigGeometrica( x) Triangolo è sussunto da FigGeometrica ? Triangolo eredita le proprietà di FigGeometrica ? haPerimetro(x) ∃(y ).FigGeometrica( y) ∧Perimetro( y) ∧PartOf ( y, x) ... Da 1.a: N ( x, y)∧E ( x, y) ← NE( x, y) NordEst IS-A Nord ??? ...