Rappresentazione della conoscenza
Applicazioni Knowledge Intensive Applicazione che gestiscono conoscenza Esempi: –Sistemi di supporto alle decisioni –Configurazione di prodotti per clienti –Commercio elettronico
Obiettivo Prefissato Ottenere sistemi basati sulla conoscenza: –Sistemi che sappiano gestire usare la conoscenza
Metodi per immagazzinare la conoscenza 1/3 1.Direttamente negli algoritmi/programmi –Conoscenza cablata (hardwired knowledge) –Esempio: Costruire lalbero delle decisioni Problema: Dover ricodificare il programma ogni volta che la conoscenza viene è modificata
2.Basi di dati –Sono disponibili modelli e sistemi sofisticati per la costruzione di basi di dati Problemi 1.La conoscenza è nelle tuple, ma anche nelle query e nei vincoli di integrità 2.Le basi di dati esigono formati standardizzati che non essere previsti nelle informazioni potrebbero che si vuole rappresentare Metodi per immagazzinare la conoscenza 2/3
Esempio di problema che si può verificare usando una base dati Informazioni sulle tendenze dacquisto di –minorenni ( non conosco letà) –adulti (conosco letà) –pensionati( so solo che sono over 65) Problemi Se nella base di dati si inserisce letà, –è necessario inserire valori null per i minorenni e pensionati Se non si inserisce letà –si perdono le informazioni riguardanti letà degli adulti –si perde la suddivisione in segmenti di mercato
3.Rappresentazione della conoscenza –Caratteristiche del sistema 1.Tesi di B. Smith: Sistema in grado di cambiare il suo comportamento in funzione del cambiamento della conoscenza. Il sistema deve avere: –Una parte che contiene tutta la conoscenza (suddivisa in tuple, query, vincoli di integrità) –Ruolo causale nel comportamento del sistema Metodi per immagazzinare la conoscenza 3/3
2.Tesi di H.Levesque: Approccio funzionale alla rappresentazione della conoscenza Modulo di rappresentazione della conoscenza RisposteControlli di consistenza (Tell) Recupero di Informazioni Individui, Classi (Ask) TELL ASK
TELL e ASK Funzioni TELL: –Aggiungono, tolgono, cambiano la conoscenza modificandone lo stato –Come risposta da parte del sistema ci si aspetta che controlli che sia verificata la consistenza Funzioni ASK: –Richiedono lo stato senza modificarlo, come risposta da parte del sistema ci si aspetta tuple (record), query o classi: –il sistema deve essere in grado di ragionare sulle informazioni estraendo autonomamente delle conoscenze che sono erano state individuate in precedenza
Intelligenza Artificiale Obiettivi Problema: –Fare in modo che una macchina sia in grado di decidere autonomamente Esempio: Non soltanto far muovere un robot, ma anche fare in modo che sia in grado di decidere autonomamente dove andare, quando e perché.
Strumenti necessari Inserire nel sistema la conoscenza necessaria un programma che dica cosa fare in ogni situazione
Reti Semantiche Soluzione che risale agli anni 70 Consiste nellutilizzare grafi etichettati
Esempio Sistema di Accensione di unautomobile Spinterogeno Avvolgimento Batteria Connesso a parte
Caratteristiche delle reti semantiche Un sistema automatico deve avere la conoscenza necessaria per poter riparare automaticamente eventuali guasti Un approccio semantico consente di fare una ricognizione diagnostica sui vari nodi attraverso gli archi di connessione Se si individua il nodo da cui proviene il problema basta oltrepassarlo e far funzionare la riserva Se vi è un cambiamento basta sostituire il nodo interessato al cambiamento, anziché lintero programma (grafo)
Inconvenienti delle reti semantiche Problema di natura concettuale sollevato da W. Woods: cosa cè in un arco? Telefono Nero colore Domande: –Letichette porta con sé informazione aggiuntiva? –Il significato del grafo è: tutti i telefoni sono neri? Oppure il grafo rappresenta soltanto la classe dei telefoni neri?
Soluzione necessaria Necessità di ragionare in maniera astratta, attraverso simboli che consentano di prescindere dai nomi assegnati A C B
Frames In questottica, per formalizzare la conoscenza sono stati introdotti i Frames –Minsky 1975 –Nati da spunti derivati da studi sul linguaggio naturale attraverso luso di regole semantiche Consistono nellintrodurre informazioni e conoscenze distinte e nel fornire collegamenti espliciti tra di esse Il sistema deve essere in grado di usare le informazioni fornite per estrarre altra conoscenza
FRAME PERSON NAME: …. OWN PET: ANIMAL FRAME ANIMAL …… FRAME DOG OWNER SPECIALIZATION OF: PERSON …. OWN PET: DOG FRAME PETER MEMBER OF: PERSON …. OWN PET: FLUFFY FRAME DOG SPECIALIZATION OF: ANIMAL FRAME FLUFFY MEMBER OF: DOG Relation
Descrizione dei frames precedenti Ogni attributo è detto SLOT Di ogni attributo va eventualmente specificata la classe di appartenenza Il frame Person contiene una serie di informazioni sulla classe persona Il dog owner è un particolare tipo di persona (specification) Il suo animale domestico è il cane Il cane fa parte della classe animal
Realization Il sistema deve essere in grado di comprendere, poiché Peter ha un own pet chiamato Fluffy che è un cane, che Peter fa automaticamente parte del frame dog owner Il sistema, a partire da una certa conoscenza, è in grado di estrapolare conoscenza implicita.
Sistemi esperti basati su Frames Knowledge Engineered Environment KEE Nati negli anni 80 Inizialmente hanno avuto sviluppo commerciale Sistemi basati sulluso di frames –Basati su regole del tipo: Antecedente Conseguente –Antecedente e conseguente sono basati su frames
Esempio FRAME SENIOR_CITIZEN SPECIALIZATION OF: CITIZEN AGE: VALUE CLASS INTEGER; RANGE ; FRAME FRED MEMBER OF: SENIOR_CITIZEN Regola: IF AGE(x) 18 THEN ELIGIBLE TO VOTE Al sistema è stata fornita linformazione che Fred è un SENIOR_CITIZEN, ma non è in grado di dedurre che Fred è un votante, poiché non conosce letà precisa Non èuò pertanto confrontare letà di Fred con 18 ( dovrebbe confrontare uno per uno 60, 61, ecc.)
Svantaggi dei sistemi basati su Frames La conoscenza è sparsa tra frames e regole Non tutte le deduzioni possono essere effettuate
Semantica di un sistema di rappresentazione della conoscenza Formalismo utilizzato 1.Logica del primo ordine –Logica Proposizionale Sintassi: –Simboli di costante (a,b,c) –Simboli di variabile (x,y,z) –Simboli di predicati (P,Q)
Logica Proposizionale –Termine una costante oppure una variabile –Atomo un simbolo di predicato a n posti seguito da n termini –Esempio P(a,b,x) è un predicato a 3 posti –Formula un atomo oppure – F –F 1 F 2 F 1, F 2, F formule
Logica del Primo ordine E ottenuta dalla logica proposizionale con lintroduzione dei quantificatori sulle formule – x F(x) Nata per scrivere in modo non ambiguo qualunque frase del linguaggio naturale 1.Everybody needs somebody 2. x y Needs (x,y) È diverso da: 1. x y Needs (x,y) 2.Somebody needs everybody F formula in cui appare x
Interpretazione di formule del primo ordine (Tarsky) Dominio di interpretazione –insieme di elementi {a,b,c,…} –costanti elementi dellinsieme –Una formula del tipo x F(x) è soddisfatta nellinterpretazione se esiste un elemento a tale che F(a) è soddisfatta. – x F(x) è soddisfatta nellinterpretazione se per tutti gli elementi {a,b,c..}, F(a), F(b), F(c),.. sono soddisfatte – negazione, congiunzione disgiunzione
Definizioni Una formula si dice soddisfacibile se esiste almeno uninterpretazione che la soddisfa Una formula si dice valida se tutte le interpretazioni la soddisfano
Obiettivi Costruire sistemi in cui tutte le regole (formule) siano valide Esempio: –Il sistema è in grado di dedurre che Fred è un votante se può eseguire il confronto tra 18 e tutti gli elementi del range di variazione della sua età ( 60>18,61>18, 62>18,..) –E possibile scrivere formule del tipo: x y Person (x) Own Pet (x,y) Animal(y) Se una persona (x) ha un own pet (y) allora è della classe animal
Sistemi di rappresentazione della conoscenza E un sistema : 1.In cui è possibile usare una qualunque rappresentazione delle conoscenza: –Reti semantiche –Frames, ecc. Purchè siano ridotta o riducibile a elementi della logica del primo ordine in modo che tutte le formule siano valide 2.Deve derivare TUTTE ( COMPLETO) E SOLE (CORRETTO) le conoscenza implicite IN TEMPO FINITO
Modello La logica del primo ordine consente di definire un modello di un insieme di formule, ossia una interpretazione che soddisfi ogni formula
Indecidibilità Un problema è indecidibile se un qualunque algoritmo che tenti di risolverlo è –incompleto (non considera tutti i casi) oppure –scorretto (sbaglia qualcosa) oppure –non termina
Esempio x DogOwner (x) ( y OwnerPet (x,y)) Dog(y) –Dog Owner (Fred) È soddisfatta dalla costante Fred –Own Pet (Fluffy) È soddisfatta dalla costante Fluffy Ogni modello che soddisfi le 3 formule deve dedurre che Fluffy è un cane, altrimenti non è un modello
Osservazioni Fred è un DogOwner, ma se ha anche un gatto cosa succede? Si ha una contraddizione poiché non è stato definito nulla riguardo il gatto ed il suo possesso. DogOwner(Fred) OwnPet(Fred,Tom) Cat(Tom) Una volta detto che Tom è un gatto è necessario indicare al sistema che Cat e Dog sono due cosa differenti z Cat (z) ( Dog(z))
Inconsistenza La base di conoscenza è ancora inconsistente infatti da x DogOwner (x) ( y OwnerPet (x,y)) Dog(y) si deduce che, in quanto posseduto da Fred, Tom è Dog Da z Cat (z) ( Dog(z)) si deduce che essendo Cat, Tom non è Dog
Problema –Una base di conoscenza deve essere in grado di dedurre la conoscenza implicita e di individuare eventuali errori logici connessi –La logica del primo ordine è uno strumento semanticamente accettabile –Tradurre la logica del primo ordine in un programma eseguibile da una macchina Il problema diventa
Indecidibilità nei KBMS Per un Knowledge Based Management System (KBMS) calcolare tutte le formule valide di un insieme di formule è un problema indecidibile Non esiste un algoritmo in grado di risolvere il problema Nessun linguaggio di programmazione esistente è in grado di risolvere il problema
Basi di Dati Linguaggi di programmazione Rappresentazione della conoscenza Semantica Modello Concettuale Modello Logico Logica del primo ordine Diagramma Entità/Relazioni Reticolare Gerarchico Relazionale A Oggetti Semantica operazionale, denotazionale, ecc. Logica del Primo Ordine Unified Modeling Language Record Grafi Sistemi di rappresentazione della conoscenza e loro linguaggi Frames Reti semantiche
Sistemi di rappresentazione della conoscenza (Knowledge Language) KL – ONE (1980) LOOM (1985) Classic ( primi anni 90)
Classic Poiché rappresentare tutta la conoscenza è un problema indecidibile si è pensato di adottare una –Espressività limitata Pertanto Classic comprende –costanti –predicati unari (classi) –predicati binari (legami tra classi) Il problema resta comunque indecidibile
Soluzione adottata da Classic –Costanti –Concetti (Predicati unari) –Ruoli (Predicati binari) Sintassi –Formule Asserzioni su individui (concetti, ruoli)
Esempio 1.Asserzione su individui: Primitivo di Manduria Vino Rosso in una base di dati sarebbe laggiunta di una tupla alla relazione Vino Rosso 2.Asserzione binaria: Primitivo di Manduria Produttore Cantina Sociale Pliniana Individuo Concetto Ruolo
Definizione di Concetti Vino Rosso = Vino And (Fills Colore Rosso) In una base di dati sarebbe una query Chianti = Vino And (Fills Colore Rosso) And (Fills Provenienza Toscana) La base di conoscenza è in grado di fare deduzioni: Esempio Primitivo Vino Rosso ruoloindividuo