Laboratorio di Sistemi Ibridi Sistemi Basati su Conoscenza Dott. Darya Majidi Dipartimento di Informatica Università degli studi di Pisa
Laboratorio di Sistemi Ibridi Sistemi Basati su Conoscenza Lezione Numero 1
Sistemi connessionisti Sistemi Ibridi Sistemi simbolici Sistemi connessionisti
Sistemi Ibridi Un Sistema Esperto ha l’esperienza tipica di un esperto di un dominio Una Rete Neurale è un programma che generalizza la propria conoscenza La fusione di questi due paradigmi della Intelligenza Artificiale prende il nome di Sistema Ibrido
Sistemi Basati su Conoscenza Ripetibile Conoscenza a basso costo Tutoriale o Di Supporto Trasportabile Amichevole e facile da interagire Insegnamento di un protocollo Integrato con gli strumenti
Dominio di Applicazione Scopo (purpose) Target Esigenze utente Necessità utente Linguaggio Tipo Conoscenza 18
Sistemi Esperti (ES) versus Sistemi di Supporto alla Decisione (DDS)
ES design Base di conoscenza Motore Inferenziale Memoria di lavoro Utente
Interfaccia Modulo Linguistico Interazione tra utenti e sistema attraverso un linguaggio vicino linguaggio del dominio di applicazione uso interattivo del sistema Il modulo linguistico deve spiegare il ragionamento sottostante Explaining HOW Explaining WHY
Inferenza Motore Inferenziale Il processo usato per ricavare nuova conoscenza da informazioni acquisite Motore Inferenziale Un modulo di un sistema espero che trova il matching tra i fatti nella memori a di lavoro ed i fatti contenuto nella base di conoscenza per trovare la soluzione ottimale ad un problema
Schema Funzionale Base di Database Conoscenza Relazionale Motore Inferenziale Modulo Linguistico Interfaccia Utente
Esempio di architettura di un ES
Laboratorio di Sistemi Ibridi Sistemi Basati su Conoscenza Lezione Numero 2
La Conoscenza Esistono diversi tipi di conoscenza: conoscenza pubblica conoscenza dichiarativa conoscenza privata conoscenza procedurale
Types of Knowledge
Selezione della Conoscenza Conoscenza assestata: Pubblica Dichiarativa e Procedurale Normative Privata Conoscenza sperimentale: Estratta da dati (algoritmi induttivi) Estratta da test strumentali (sono da validare)
Wielinga et al, 1986 Knowledge acquisition consists of elecitation and interpretation of data on the functioning of expertise in some domain , in order to design, build, extend, adapt or modify a knowledge based (expert) system. In this view, knowledge acquisition is a permanent and crucial activity throughout all stages of designing, implementing and maintaining an expert system. 21
Estrazione della Conoscenza Elicitazione (bottleneck) Interpretazione Formalizzazione Generalizzazione Acquisizione
Acquisizione della Conoscenza Thinking aloud: l’esperto parla ad alta voce spiegando in dettaglio il suo ragionamento circa un caso Interview: l’ingegnere della conoscenza chiede domande circa un caso specifico Cross-examination: l’ingenere e l’esperto parlano insieme di un caso
Laboratorio di Sistemi Ibridi Sistemi Basati su Conoscenza Lezione Numero 3
Linguaggi di formalizzazione Rappresentazione della conoscenza: Regole Reti semantiche Frames Grafi concettuali (Sowa) Blackboard ….
Regole Una struttura di conoscenza che lega una informazione acquisita ad altre informazioni che possono essere ritenute acquisite. Relationship Recommandation Directive Strategy Heuristic
Reti Semantiche Un metodo per rappresentare la conoscenza, usando grafi costituiti da nodi ed archi, dove i nodi rappresentano gli oggetti e gli archi le relazioni tra essi.
Frames Una struttura dati per rappresentare attraverso uno stereotipo concetti ed oggetti. Frame Name: Class Frame: Properties:
Blackboards Un approccio dove più fonti di conoscenza condividono informazioni contenute in una risorsa condivisa. Community of knowledge sources Blackboard Scheduler
Grafi concettuali di Sowa Se assumiamo che la conoscenza di un qualcosa consista nell'abilità di costruire modelli mentali che rappresentino accuratamente sia quel qualcosa, sia le azioni effettuabili tramite e/o su quel qualcosa, i grafi concettuali sono il metodo di rappresentazione della conoscenza più idoneo.
Grafi concettuali di Sowa I grafi concettuali (GGC) infatti costituiscono un metodo di rappresentazione dei modelli mentali, ossia una rappresentazione della conoscenza capace di rilevare sistematicamente e formalmente come ciò che pensiamo riguardo ad un concetto possa essere descritto in termini delle sue relazioni con concetti di altri tipi.
Grafi concettuali di Sowa Due tipi di nodi: Concetti (concreti ed astratti) Relazioni (partof, object of, characteristic of...) Concept 1 Concept 2 Relationship Il nodo relazione spiega la dipendenza tra Concep1 e Concept2
Grafi concettuali di Sowa Un GC è in grado di formalizzare sia concetti concreti sia concetti astratti. La potenza dei GGC risiede nel fatto che essi sono in grado di formalizzare una gerarchia di concetti: nella base della gerarchia vengono definiti i concetti concreti sui quali poggiano gli oggetti via via più astratti.
Gerarchia tra grafi Ogni oggetto concreto (muscolo, nervo) viene formalizzato grazie ad un grafo. Anche gli oggetti intermedi ed astratti (ipotesi di sede di lesione, attività elettrica muscolare) vengono rappresentati mediante grafi. Un dominio viene cosi sviluppato mediante una gerarchia di GGC.
Gerarchia tra grafi un concetto concreto come ad esempio un muscolo viene rappresentato come un nodo concetto in un grafo di un livello intermedio (ad esempio attività elettrica muscolare). I GGC cosi costituiti sono collegati tra loro; nel grafo concettuale del concetto nervo si fa riferimento al nodo concetto muscolo che a sua volta viene formalizzato come grafo e viceversa.
Laboratorio di Sistemi Ibridi Sistemi Basati su Conoscenza Lezione Numero 4
Plesso Sacrale: nervi & radici
Esempio: Nervo Nervo Nome, Sensitivo-Motorio, Radici da cui trae origine, Tronchi originati, Segmento Padre, Range di normalita' Risposta F (significativo solo se il n. e' motorio), Range di normalita' Velocita' di Conduzione Sensitiva (significativo solo se il n. e' sensitivo), Range di normalita' Velocita' di Conduzione Motoria Indagabile-Non Indagabile all' ElettroNeurografia
Istanza di un Nervo Nervo "SCIATICO", "SM", ["L4","L5","S1","S2"], ["PERONEO COMUNE","TIBIALE"], "", [MinF,MaxF],[MinM,MaxM],[MinS,MaxS], "I"
Radice & Istanza di radice Nome Sensitiva-Motoria Nervi originati "L4” "SM” ["SCIATICO","FEMORALE","OTTURATORIO"]
Esempio di un concetto concreto Nervo
Esempio di un concetto astratto Ipotesi di sede di lesione
Laboratorio di Sistemi Ibridi Sistemi Basati su Conoscenza Lezione Numero 5
Approccio strutturato KADS
Stages in evolution of an expert system Formalization Designing structures to organize knowledge Conceptualization Implementation Finding concepts to represent knowledge Formulating rules that embody knowledge Identification Testing Determining problem characteristics Validating rules that embody knowledge 26
KADS modelling approach Livello Concettuale Livello Inferenziale Livello Task Livello Strategie 27
Approcci nella craezione di un SE Strutturato Prototipizzazione Rapida
KADS modelling approach L'approccio strutturato perseguito nella fase di formalizzazione del dominio permette di separare completamente questa fase dalla fase dell'implementazione vera e propria del SE, rendendo il sistema: modulare espandibile modificabile trasportabile. 27
KADS modelling approach Livello Concettuale: i concetti individuati sono integrati tra loro per mezzo di primitive concettuali. Livello dell'Inferenza: descrive soltanto le inferenze possibili senza alcun riferimento al loro eventuale utilizzo. La struttura inferenziale è definita in termini di meta-classi, ognuna delle quali descrive il ruolo dei concetti del dominio (ipotesi, dato, ...) e delle sorgenti di conoscenza (quali sono ad esempio gli elementi di conoscenza necessari ad una certa inferenza tra concetti di due meta-classi distinte). 27
KADS modelling approach Livello del task: viene specificato come le possibili inferenze possono essere utilizzate per svolgere un determinato compito. Naturalmente è possibile definire più tasks su di una stessa struttura inferenziale, in modo da specificare metodi diversi per ottenere uno stesso obiettivo, o possibilmente obiettivi diversi. Livello delle Strategie: specifica il piano di controllo per il livello dei tasks. 27
KADS
Esempio centrale 118 Conoscenza (pubblica, dichiarativa, procedurale, pivata) Formalizzazione conoscenza (KADS: concetti, inferenze, task, strategie) Implementazione conoscenza (Prolog)
Laboratorio di Sistemi Ibridi Sistemi Basati su Conoscenza Lezione Numero 6
Prolog Pattern matching tree-based data structuring automatic backtracking
Prolog Fatti Regole Goals sono sempre veri. Nervo (Sciatico) A:-B,C. A è vero se sono veri B & C A è head, B & C sono una lista di goals e formano il body Goals
Data Objects Atomi -> genitore (mamma, figlio). Numeri -> maggiore (4,3). Stringhe -> dentro (i, Ciao) Variabili -> genitore (X,Y). Strutture ->(liste [ Head| Tail])
Esempi Regole: possiede (X,Y):- padrone (X,Y), cane (Y,Z). possiede_nero (X,Y):- cane (Y, nero). Goals: cane (X,Y). cane (X,marrone). cane (bubu, marrone). possiede (X, bubu). Esempi Fatti: cane (bubu, nero). cane ( zorro, marrone). cane ( bobo, marrone). padrone (gigi, bubu). padrone (maria, bobo).
LPA Prolog Prolog per ambiente Windows Console Ambiente grafico Debugger Progetti Modulari