Ingegneria della Conoscenza Alessandro Mazzetti
Definizioni Informazione Dato Conoscenza Esperienza dal latino in-forma = dare forma modellare Dato participio passato del verbo dare: stabilito Conoscenza dal latino cum-gnoscere = prendere possesso intellettualmente Esperienza dal greco peira = prova non teoria
Acquisizione della conoscenza: Elicitazione della Conoscenza dal latino elicere = tirare fuori, far uscire, cavare, estorcere, riuscire ad ottenere Interviste / dialoghi /questionari / osservazioni Modellazione / formalizzazione Verifica di consistenza e significatività Rappresentazione /implementazione prototipo Completamento / manutenzione Ingegnere della Conoscenza (simile all’analista)
Tipologie di conoscenza: Teorica / empirica Certa / incerta Pubblica / privata Statica /dinamica Profonda /superficiale
Tipologie di conoscenza Implicita / esplicita Procedurale / dichiarativa Globale / locale Ingegnerizzata / prototipizzata
Sistema basato sulla Conoscenza netta separazione fra conoscenza ed algoritmi conoscenza esplicita possibilità di utilizzare gli stessi algoritmi di ragionamento su diverse basi di conoscenza prevale il punto di vista strutturale (achitettura software)
Sistema Esperto risolve un problema che non tutti sanno risolvere adotta strategie tipiche degli esperti umani (euristica) emula il ragionamento umano prevale il punto di vista funzionale
Quando adottare Sistemi Basati sulla Conoscenza ? Problema non computazionale Algoritmo non noto Problema non del tutto definito e chiaro Esistono esperti umani L’utenza richiede interfaccia flessibile Problema sufficientemente ampio
Domini applicativi Diagnostica Configurazione Pianificazione Interfaccia a database Supporto alle decisioni Supporto alle vendite Valutazione di rischio Intrattenimento
Demo Agenzia di viaggi Guidare la scelta di un pacchetto-vacanze Accesso intelligente a DB
Architettura di un Sistema Basato sulla Conoscenza Base di Conoscenza Motore Inferenziale Interfaccia Utente Ambito operativo (main)
Architettura Base di Conoscenza Motore Inferenziale Interfaccia Utente SE dove VALE mare E come VALE sport E sportMare VALE vela E haiBambini E etaBimbi < 8 anni ALLORA proposta=SailFamily E etaBimbi > 8 anni proposta=LunaRosa Motore Inferenziale Considera solo le regole che contengono “proposta” nella parte “ALLORA”. Considera le relative condizioni (parte “SE”). Se sono tutte verificate, termina ragionamento. Alla prima non verificata, tronca e passa alla prossima regola. ... Interfaccia Utente Domanda Si No Risultato disegno
Tecniche di inferenza Concatenamento in avanti (forward chaining) se A allora H Concatenamento all’indietro (backward chaining) se A allora H Concatenamento misto se A allora H1 se A allora H2
Tipi di legame se A allora H1 se A allora H1 se B allora H1 se H1 allora H2 se A allora A
Quantificatori Esistenziale se esiste A allora H Universale per ogni A il corrispondente H H
Strutture in classi CLASSE(potenza, consumo, azione){ autoradio ,ventola ,CLASSE(luci){ CLASSE(anteriori){ abbaglianti ,anabbaglianti ,frecce } ,CLASSE(posteriori){ posizione ,freni ,interne SE potenza.luci.posteriori.freni > 25 ALLORA azione.ventola VALE spegnere
Interfaccia utente Console
Interfaccia utente Applet/Servlet
Interfaccia utente Grafica
Interfaccia utente Midlet
Sistema privo di interfaccia utente
Esercitazione pratica Costruire un piccolo Sistema Esperto Utilizzare il prodotto Plexpert Formare gruppi con un esperto di un dominio un ingegnere della conoscenza Installare il sistema su un sito Internet su un telefonino
Idee per l’esercitazione Consigliare un ristorante Consigliare un vino/piatto Prescrivere una medicina Aggiustare la lavatrice/bicicletta/… Indirizzare un corso di vela/snowboard/… Decidere il trucco per una festa Consigliare un’amica/o in crisi sentimentale … (qualsiasi dominio in cui siete esperti)