Ingegneria della Conoscenza e Sistemi Esperti: Introduzione Sara Manzoni 08/10/2003.

Slides:



Advertisements
Presentazioni simili
Intelligenza artificiale
Advertisements

Intelligenza Artificiale 1
Analisi e progettazione
Sistemi informativi e Sistemi informatici
Due esempi di valutazione per competenze nella matematica.
Sommario Il termine ingegneria della conoscenza
Problem solving Metodologia di lavoro.
Linguaggi di programmazione
A CHE COSA SERVE LA MATEMATICA?
L’Informatica dal Problema alla Soluzione
La Rappresentazione della Conoscenza
Informatica giuridica Le applicazioni dell’informatica giuridica
Quadro di riferimento INValSI Scienze I livelli di competenza
I Sistemi di Supporto alle Decisioni Chiara Mocenni
A COSA SERVONO LE TEORIE DELLO SVILUPPO
Gestione dei dati e della conoscenza (agenti intelligenti) M.T. PAZIENZA a.a
Intelligenza Artificiale 1 Gestione della conoscenza lezione 7 Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza (agenti intelligenti) Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale 1 Gestione della conoscenza lezione 8
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
A cura di Eleonora Bilotta
TECNOLOGIE DEI SISTEMI DI CONTROLLO
L’indagine OCSE-PISA: il framework e i risultati per la matematica
Modelli simulativi per le Scienze Cognitive
Quadri di Riferimento per la Matematica
Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Conoscenza e ragionamento.
Intelligenza Artificiale
Modello E-R Generalizzazioni
Progettazione di una base di dati
Modello E-R Generalizzazioni
Obiettivi Conoscere strumento Analisi di un progetto
Informatica giuridica Le applicazioni dellinformatica giuridica Nicola Palazzolo Anno Accademico 2006/2007 Prima parte.
A.Natali DL Maggio1999 Oggetti Concetti fondamentali.
Introduzione alla modellazione di sistemi interattivi
Rappresentazione della Conoscenza
Sistemi a Regole Ettore Colombo 13 Dicembre 2006 Ingegneria della Conoscenza e Sistemi Esperti.
Introduzione all’ICSE
Case Based Reasoning
INGEGNERIA DELLA CONOSCENZA E SISTEMI ESPERTI Prof
Metodologia sviluppo KBS Fabio Sartori 12 ottobre 2005.
INGEGNERIA DELLA CONOSCENZA E SISTEMI ESPERTI Stefania Bandini Dipartimento di Informatica, Sistemistica e Comunicazione Università di Milano-Bicocca.
KAPPAELLE 2008 Roberto Pirrone Università degli Studi Palermo
INFORMATICA MATTEO CRISTANI.
Microrete QuiPrato Scuola Polo I. C. Convenevole di Prato Liceo Scientifico "C. Livi di Prato IPSCTPSS "F. Datini di Prato VIVES 2001/2002 CURRICOLO DI.
Sistemi basati su conoscenza Gestione della conoscenza Prof. M.T. PAZIENZA a.a
Robotica Lezione 4. 2 Attributi dell’Intelligenza Pensiero Capacita’ a risolvere problemi Apprendimento e Memoria Linguaggio Intuizione e Creativita’
Come impostare il curricolo
1 Tipi di Dato §descrittori, tipi, controllo e inferenza dei tipi §specifica (semantica) e implementazione di tipi di dato l implementazioni “sequenziali”
Caso studio Tipologia 1 Piano di lavoro. Materia : Matematica Tipo di scuola :Liceo Scientifico Classe :2° Periodo:2° Quadrimestre Modulo:Disequazioni.
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Rappresentazione della Conoscenza e Ragionamento.
SISTEMI DIDATTICI PER L’ E- LEARNING
Rappresentazione di conoscenza Esperienziale
Progetto P-Truck 03 luglio Progetto P-Truck Scopo Realizzazione di uno strumento integrato per il supporto alla progettazione di pneumatici per.
AOT Lab Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Rappresentazione della Conoscenza e Ragionamento.
Sistemi basati su conoscenza Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
1 Linguaggi: guardando la semantica §esistono un insieme di concetti semantici e di strutture di implementazione in termini dei quali si descrivono in.
Sistemi basati su conoscenza Prof. M.T. PAZIENZA a.a
1 Metodologie di Programmazione = decomposizione basata su astrazioni.
INTELLIGENZA ARTIFICIALE
LICEO SCIENTIFICO STATALE “J. DA Ponte”
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
Le basi di dati.
Unità di apprendimento 6
ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Transcript della presentazione:

Ingegneria della Conoscenza e Sistemi Esperti: Introduzione Sara Manzoni 08/10/2003

Ingegneria della Conoscenza (Knowledge Engineering) Attività di Acquisizione Acquisizione Formalizzazione e Rappresentazione Formalizzazione e Rappresentazione Codifica Codifica della conoscenza per la costruzione di sistemi basati sulla conoscenza (Knowledge Based Systems)

Knowledge-Based System (KBS) Applicazioni dell’Intelligenza Artificiale (forse quella che più di altre ha avuto successo commerciale) Applicazioni dell’Intelligenza Artificiale (forse quella che più di altre ha avuto successo commerciale) Sistema informatico atto a rappresentare conoscenze specifiche di un dato dominio e ad applicarle alla risoluzione di problemi di interesse Sistema informatico atto a rappresentare conoscenze specifiche di un dato dominio e ad applicarle alla risoluzione di problemi di interesse Costruiti per risolvere o supportare la risoluzione di problemi complessi di interesse pratico (progettazione, diagnosi, pianificazione, previsione…) mediante processi di inferenza sulla conoscenza Costruiti per risolvere o supportare la risoluzione di problemi complessi di interesse pratico (progettazione, diagnosi, pianificazione, previsione…) mediante processi di inferenza sulla conoscenza

Sistema Esperto (SE) Particolare KBS con finalità specificatamente pratiche Particolare KBS con finalità specificatamente pratiche SE: programma che rappresenta e ragiona con la conoscenza di qualche ambito specialistico allo scopo di risolvere problemi (o dare suggerimenti) SE: programma che rappresenta e ragiona con la conoscenza di qualche ambito specialistico allo scopo di risolvere problemi (o dare suggerimenti) Esperienza : un insieme di capacità altamente specializzate affinate in una situazione particolare per un fine specifico Esperienza : un insieme di capacità altamente specializzate affinate in una situazione particolare per un fine specifico Un programma è esperto se manipola conoscenza (non semplicemente algoritmi) Un programma è esperto se manipola conoscenza (non semplicemente algoritmi) focalizzata su un dominio specifico focalizzata su un dominio specifico “in grado” di risolvere problemi “in grado” di risolvere problemi KBS SE

Programmi convenzionali vs KBS Algoritmo Problem Solving Method Dati Programma Convenzionale Knowledge Based System Dati Struttura dati Knowledge Base

Architettura di un KBS Knowledge Base – KB: uno o più componenti del KBS per la rappresentazione della conoscenza Knowledge Base – KB: uno o più componenti del KBS per la rappresentazione della conoscenza Motore inferenziale – componente del KBS che interpreta e utilizza il contenuto della KB Motore inferenziale – componente del KBS che interpreta e utilizza il contenuto della KB Knowledge Base Shell Motore Inferenziale

Caratteristiche di un KBS Differenze con i programmi classici: i KBS Differenze con i programmi classici: i KBS rappresentano forme elementari del ragionamento umano, piuttosto che il dominio stesso rappresentano forme elementari del ragionamento umano, piuttosto che il dominio stesso operano su una rappresentazione della conoscenza (la base della conoscenza), oltre che fare calcoli e reperire dati operano su una rappresentazione della conoscenza (la base della conoscenza), oltre che fare calcoli e reperire dati risolvono problemi sulla base di metodi euristici o approssimati che, a differenza delle soluzioni algoritmiche, non è certo che terminino con successo risolvono problemi sulla base di metodi euristici o approssimati che, a differenza delle soluzioni algoritmiche, non è certo che terminino con successo Differenze con altri tipi di applicazioni di IA Differenze con altri tipi di applicazioni di IA riguardano ambiti applicativi, di interesse scientifico o commerciale riguardano ambiti applicativi, di interesse scientifico o commerciale devono essere altamente efficienti in termini di velocità e affidabilità devono essere altamente efficienti in termini di velocità e affidabilità devono spiegare e giustificare le soluzioni proposte, per convincere l’utente che il ragionamento seguito è corretto devono spiegare e giustificare le soluzioni proposte, per convincere l’utente che il ragionamento seguito è corretto

Entità coinvolte nella realizzazione di un KBS Esperto Utente KBMotoreinferenziale KnowledgeEngineer Sviluppatore

Esperto È possibile realizzare un KBS (e in particolare un SE) solo se esiste qualcuno (l’esperto) che: È possibile realizzare un KBS (e in particolare un SE) solo se esiste qualcuno (l’esperto) che: Sia in grado di risolvere il problema Sia in grado di risolvere il problema Sa perché il problema si risolve in quel modo Sa perché il problema si risolve in quel modo È in grado di fornire delle spiegazioni su come risolvere il problema È in grado di fornire delle spiegazioni su come risolvere il problema È motivato a cooperare nell’iniziativa È motivato a cooperare nell’iniziativa

Knowledge Engineer Si occupa del processo di costruzione di KBS Si occupa del processo di costruzione di KBS Acquisizione della conoscenza : trasferimento e trasformazione da un fonte di conoscenza ad un programma in grado di risolvere problemi Acquisizione della conoscenza : trasferimento e trasformazione da un fonte di conoscenza ad un programma in grado di risolvere problemi Rappresentazione della conoscenza : trovare il modo con cui informazioni utili possono essere descritte formalmente ai fini della computazione simbolica Rappresentazione della conoscenza : trovare il modo con cui informazioni utili possono essere descritte formalmente ai fini della computazione simbolica Controllo del ragionamento : utilizzo della conoscenza nel modo e al momento giusto, determinando il modo in cui un programma (KBS) ricerca una soluzione Controllo del ragionamento : utilizzo della conoscenza nel modo e al momento giusto, determinando il modo in cui un programma (KBS) ricerca una soluzione

Fonti di Conoscenza e Knowledge Acquisition Ingegneria della conoscenza Ingegneria della conoscenza Persone esperte del problema (esperti del dominio) Persone esperte del problema (esperti del dominio) Data mining e analisi dei dati Data mining e analisi dei dati Libri, manuali o altri documenti Libri, manuali o altri documenti Archivi di dati (registrazioni audio, filmati, database...) Archivi di dati (registrazioni audio, filmati, database...)

KBS: Aree di interesse e ricerca KR: Rappresentazione della conoscenza KR: Rappresentazione della conoscenza KA: Acquisizione della conoscenza KA: Acquisizione della conoscenza SD: Software Development SD: Software Development M: Maintenance M: Maintenance V&V: Validation and Verification V&V: Validation and Verification UI: User Interaction UI: User Interaction

Knowldege Representation Attività svolta per descrivere grandi quantità di informazioni utili ai fini della computazione simbolica Attività svolta per descrivere grandi quantità di informazioni utili ai fini della computazione simbolica Una rappresentazione della conoscenza deve possedere Una rappresentazione della conoscenza deve possedere adeguatezza e correttezza logica adeguatezza e correttezza logica capacità euristica: utilizzabile ai fini di risolvere un problema capacità euristica: utilizzabile ai fini di risolvere un problema convenienza computazionale: semplice ‘scrivere’ e poi comprendere la conoscenza rappresentata convenienza computazionale: semplice ‘scrivere’ e poi comprendere la conoscenza rappresentata Tipi di rappresentazione Tipi di rappresentazione Descrizione formale  sintassi e semantica ben definite Descrizione formale  sintassi e semantica ben definite Computazione simbolica  i simboli e le strutture possono essere realizzate per rappresentare vari concetti e le loro reciproche relazioni Computazione simbolica  i simboli e le strutture possono essere realizzate per rappresentare vari concetti e le loro reciproche relazioni

KR: Rappresentazione della Conoscenza Serve un linguaggio di rappresentazione Serve un linguaggio di rappresentazione Esistono diversi linguaggi: Esistono diversi linguaggi: Linguaggi formali Logici Linguaggi formali Logici Linguaggi formali Algebrici (reti Petri) Linguaggi formali Algebrici (reti Petri) Reti semantiche Reti semantiche Grafi concettuali Grafi concettuali Frame Frame Oggetti Oggetti Regole (costrutti IF... THEN...) Regole (costrutti IF... THEN...)

KR: Rappresentazione dell’Incertezza Teoria dei fuzzy set (Zadeh, 1965) Teoria dei fuzzy set (Zadeh, 1965) Logiche a più valore Logiche a più valore Logica multivalore (Lukasiewicz, 1930) Logica multivalore (Lukasiewicz, 1930) Fuzzy Logic Fuzzy Logic

KA: Acquisizione della Conoscenza Attività svolta dal knowledge engineer per il trasferimento e la trasformazione di abilità potenzialmente in grado di risolvere problemi da un fonte di conoscenza (es. esperto) a un programma Attività svolta dal knowledge engineer per il trasferimento e la trasformazione di abilità potenzialmente in grado di risolvere problemi da un fonte di conoscenza (es. esperto) a un programma Risultati della ricerca nella KA Risultati della ricerca nella KA Metodologie e tecniche di intervista Metodologie e tecniche di intervista Sviluppo di strumenti CAKE (Computer Aided Knowledge Engineering) Sviluppo di strumenti CAKE (Computer Aided Knowledge Engineering)

Knowldge Acquisition Bottleneck nella realizzazione dei sistemi esperti, in quanto: Bottleneck nella realizzazione dei sistemi esperti, in quanto: ogni ambito specialistico ha il suo gergo e spesso è difficile per gli esperti comunicare la loro conoscenza mediante il linguaggio comune ogni ambito specialistico ha il suo gergo e spesso è difficile per gli esperti comunicare la loro conoscenza mediante il linguaggio comune spesso la conoscenza esperta si basa su fatti e principi che non possono essere formalizzati in un modello deterministico ben strutturato spesso la conoscenza esperta si basa su fatti e principi che non possono essere formalizzati in un modello deterministico ben strutturato le abilità umane spesso coinvolgono un certo grado del buon senso della vita quotidiana difficile da delineare le abilità umane spesso coinvolgono un certo grado del buon senso della vita quotidiana difficile da delineare

SD: Sviluppo (1) Linguaggi Linguaggi logici: es. PROLOG logici: es. PROLOG funzionali: es. LISP funzionali: es. LISP basati su logiche descrittive: es. CML, Loom, KIF/Ontolingua basati su logiche descrittive: es. CML, Loom, KIF/Ontolingua basati a Frame: es. FRL, KRL, OWL, KL-ONE basati a Frame: es. FRL, KRL, OWL, KL-ONE procedurali procedurali basati sulle reti semantiche: es. CYC basati sulle reti semantiche: es. CYC basati su grafi concettuali: es. Conceptual Graph basati su grafi concettuali: es. Conceptual Graph

SD: Sviluppo (2) Strumenti Strumenti per sistemi a regole di produzione per sistemi a regole di produzione JESS (Java Expert System Shell) JESS (Java Expert System Shell) herzberg1.ca.sandia.gov/jess herzberg1.ca.sandia.gov/jess CLIPS (C Language Integrated Production System) CLIPS (C Language Integrated Production System) OPSJ (Object Production System written in Java) OPSJ (Object Production System written in Java) JEOPS (Java Embedded Object Production System) JEOPS (Java Embedded Object Production System) per sistemi basati su CBR per sistemi basati su CBR

M: Maintenance La maintenace della conoscenza è un insieme di attività volte a contrastare l’“invecchiamento” che cui sono soggetti i KBS per loro natura La maintenace della conoscenza è un insieme di attività volte a contrastare l’“invecchiamento” che cui sono soggetti i KBS per loro natura 1° Approccio: maintenace come fase di un ciclo di vito del software/KBS  strumenti CAKE (es. CommonKADS, MIKE) 1° Approccio: maintenace come fase di un ciclo di vito del software/KBS  strumenti CAKE (es. CommonKADS, MIKE) 2° Approccio: Modifica del contenuto del sistema 2° Approccio: Modifica del contenuto del sistema KBS realizzati per supportare la maintenance KBS realizzati per supportare la maintenance (es. CBR o Ripple Down Rules di Compton) KBS che consentano la maintenance da parte dell’utente KBS che consentano la maintenance da parte dell’utente (es. ISB di VanHarmelen – aggiornamento regole P-Truck – KEPT Knowledge Elicitacion module of P-Truck) MetaKBS  problema della maintenance ricorsiva MetaKBS  problema della maintenance ricorsiva

V&V: Validation & Verification Area di ricerca: Validazione e Verifica della Conoscenza contenuta in un KBS Area di ricerca: Validazione e Verifica della Conoscenza contenuta in un KBS L’obiettivo è trovare delle risposte alle domande: L’obiettivo è trovare delle risposte alle domande: Validazione: la “Knowledge Base” è costruita correttamente? Validazione: la “Knowledge Base” è costruita correttamente? Verifica: la “Knowledge Base” ha un contenuto corretto? Verifica: la “Knowledge Base” ha un contenuto corretto?

Esperto Utente KBS Knowledge Engineer Sviluppatore M KA KR SD UI KA: Knowledge Acquisition KR: Knowledge Representation SD: Software Developing M: Maintenance V&V: Validation and Verification UI: User Interface V&V Aree di interesse e ricerca sui KBS

Tipi di KBS: classificazione in base all’applicazione in base all’applicazione Knowledge Capture and Storing: knowledge acquisition e knowledge maintenance Knowledge Capture and Storing: knowledge acquisition e knowledge maintenance Knowledge Deployment and Sharing Knowledge Deployment and Sharing Knowledge Processing: supporto, sostituzione e addestramento in attività decisionali e per la risoluzione di problemi Knowledge Processing: supporto, sostituzione e addestramento in attività decisionali e per la risoluzione di problemi in base al metodo di KR e Problem Solving Method in base al metodo di KR e Problem Solving Method Rule-Based System Rule-Based System Case-Based System Case-Based System Model-Based System Model-Based System Sistemi ibridi Sistemi ibridi

Sistemi a Regole Knowledge Base Knowledge Base Base dei fatti: insieme di ‘fatti’ verificati (in un determinato momento) riguardo al dominio in questione Base dei fatti: insieme di ‘fatti’ verificati (in un determinato momento) riguardo al dominio in questione Base delle regole: insieme di costrutti del tipo IF insieme di condizioni (Left-Hand Side) THEN insieme di azioni (Right-Hand Side) Base delle regole: insieme di costrutti del tipo IF insieme di condizioni (Left-Hand Side) THEN insieme di azioni (Right-Hand Side) che esprimono una serie di inferenze che modificano la Base dei fatti che esprimono una serie di inferenze che modificano la Base dei fatti che rappresentano la conoscenza dell’esperto esplicitata e formalizzata che rappresentano la conoscenza dell’esperto esplicitata e formalizzata Motore inferenziale: componente del SE per la gestione della Motore inferenziale: componente del SE per la gestione della base dei fatti (Inserimento, Cancellazione, Modifica) base dei fatti (Inserimento, Cancellazione, Modifica) base di regole (Attivazione delle regole, Conflict resolution, Esecuzione regole) base di regole (Attivazione delle regole, Conflict resolution, Esecuzione regole) Ricerca della soluzione analoga alla dimostrazione automatica di teoremi, con inferenze successive, partendo da assiomi Ricerca della soluzione analoga alla dimostrazione automatica di teoremi, con inferenze successive, partendo da assiomi Vengono evidenziati tutti i passaggi logici che permettono di arrivare ad una soluzione parziale o finale ( Trace del sistema ) Vengono evidenziati tutti i passaggi logici che permettono di arrivare ad una soluzione parziale o finale ( Trace del sistema ) Apprendimento: aggiungere/rimuovere/modificare delle regole (compito problematico e molto complesso) Apprendimento: aggiungere/rimuovere/modificare delle regole (compito problematico e molto complesso)

Sistemi basati sui Casi Case Based Reasoning (CBR) [J. Kolodner, 1993] Case Based Reasoning (CBR) [J. Kolodner, 1993] Ragionamento per analogia Ragionamento per analogia Sistema legale USA Sistema legale USA Generalmente usato quando non esiste un modello della conoscenza Generalmente usato quando non esiste un modello della conoscenza KB: base dei casi (Case Base) KB: base dei casi (Case Base) Insieme di casi già risolti e memorizzati secondo una determinata struttura (Indexing) Insieme di casi già risolti e memorizzati secondo una determinata struttura (Indexing) Motore inferenziale: case-based reasoner Motore inferenziale: case-based reasoner Ricerca di un problema analogo nella Base dei Casi (Retrieve) Ricerca di un problema analogo nella Base dei Casi (Retrieve) Applicazione della soluzione di un caso passato ad un problema attuale (Reuse) Applicazione della soluzione di un caso passato ad un problema attuale (Reuse) adattamento della soluzione recuperata, per tenere conto delle peculiarità del problema attuale (Revise) adattamento della soluzione recuperata, per tenere conto delle peculiarità del problema attuale (Revise) apprendimento incrementale: la conoscenza del sistema aumenta con l’aumento del numero dei casi (Retain) apprendimento incrementale: la conoscenza del sistema aumenta con l’aumento del numero dei casi (Retain)

Sistemi basati su Modello KB e Motore inferenziale: rappresentazione della conoscenza del dominio in un modello causale del dominio KB e Motore inferenziale: rappresentazione della conoscenza del dominio in un modello causale del dominio Applicabilità: solo quando si possiede una ben nota e completa rappresentazione del dominio Applicabilità: solo quando si possiede una ben nota e completa rappresentazione del dominio

Sistemi ibridi: una possibile architettura Rule-Based Reasoning Model-Based Reasoning Case-Based Reasoning Soluzione del problema Descrizione problema Regola applicata Caso applicato Modello applicato se nessuna regola applicabile se nessun caso applicabile