Title: Rappresentazione della conoscenza
1Rappresentazione della conoscenza
2Applicazioni Knowledge Intensive
- Applicazione che gestiscono conoscenza
- Esempi
- Sistemi di supporto alle decisioni
- Configurazione di prodotti per clienti
- Commercio elettronico
3Obiettivo Prefissato
- Ottenere sistemi basati sulla conoscenza
- Sistemi che sappiano
- gestire
- usare
- la conoscenza
4Metodi per immagazzinare la conoscenza 1/3
- 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
5Metodi per immagazzinare la conoscenza 2/3
- Basi di dati
- Sono disponibili modelli e sistemi sofisticati
per la costruzione di basi di dati - Problemi
- La conoscenza è nelle tuple, ma anche nelle query
e nei vincoli di integrità - Le basi di dati esigono formati standardizzati
che non essere previsti nelle informazioni
potrebbero che si vuole rappresentare
6Esempio 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
7Metodi per immagazzinare la conoscenza 3/3
- Rappresentazione della conoscenza
- Caratteristiche del sistema
- 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
8Metodi per immagazzinare la conoscenza 3/3
- Tesi di H.Levesque Approccio funzionale alla
rappresentazione della conoscenza
Risposte
Controlli di consistenza (Tell)
TELL
Modulo di rappresentazione della conoscenza
Recupero di Informazioni Individui, Classi (Ask)
ASK
9TELL 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
10Intelligenza 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é.
11Strumenti necessari
- Inserire nel sistema la conoscenza necessaria
- un programma che dica cosa fare in ogni
situazione
12Reti Semantiche
- Soluzione che risale agli anni 70
- Consiste nellutilizzare grafi etichettati
13Esempio
parte
Sistema di Accensione di unautomobile
Spinterogeno
parte
Batteria
parte
Avvolgimento
Connesso a
14Caratteristiche 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)
15Inconvenienti delle reti semantiche
- Problema di natura concettuale sollevato da W.
Woods cosa cè in un arco?
colore
Telefono
Nero
- 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?
16Soluzione necessaria
- Necessità di ragionare in maniera astratta,
attraverso simboli che consentano di prescindere
dai nomi assegnati
B
A
C
17Frames
- 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
18FRAME PERSON NAME . OWN PET ANIMAL
FRAME ANIMAL
FRAME DOG OWNER SPECIALIZATION OF PERSON . OWN
PET DOG
FRAME DOG SPECIALIZATION OF ANIMAL
FRAME PETER MEMBER OF PERSON . OWN PET FLUFFY
FRAME FLUFFY MEMBER OF DOG
Relation
19Descrizione 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
20Realization
- 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.
21Sistemi 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
22Esempio
FRAME SENIOR_CITIZEN SPECIALIZATION
OF CITIZEN AGE VALUE CLASS INTEGER RANGE
60-200
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.)
23Svantaggi dei sistemi basati su Frames
- La conoscenza è sparsa tra frames e regole
- Non tutte le deduzioni possono essere effettuate
24Semantica di un sistema di rappresentazione della
conoscenza
- Formalismo utilizzato
- Logica del primo ordine
- Logica Proposizionale
- Sintassi
- Simboli di costante (a,b,c)
- Simboli di variabile (x,y,z)
- Simboli di predicati (P,Q)
25Logica 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
- F1 ? F2
- F1 ? F2
F1 , F2 , F formule
26Logica del Primo ordine
- E ottenuta dalla logica proposizionale con
lintroduzione dei quantificatori sulle formule - ? x F(x)
- ? x F(x)
- Nata per scrivere in modo non ambiguo qualunque
frase del linguaggio naturale - Everybody needs somebody
- ? x ? y Needs (x,y)
- È diverso da
- ? x ? y Needs (x,y)
- Somebody needs everybody
F formula in cui appare x
27Interpretazione 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
28Definizioni
- Una formula si dice soddisfacibile se esiste
almeno uninterpretazione che la soddisfa - Una formula si dice valida se tutte le
interpretazioni la soddisfano
29Obiettivi
- 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à ( 60gt18,61gt18, 62gt18,..) - 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
30Sistemi di rappresentazione della conoscenza
- E un sistema
- 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 - Deve derivare TUTTE ( COMPLETO) E SOLE (CORRETTO)
le conoscenza implicite IN TEMPO FINITO
31Modello
- La logica del primo ordine consente di definire
un modello di un insieme di formule, ossia una
interpretazione che soddisfi ogni formula
32IndecidibilitÃ
- Un problema è indecidibile se un qualunque
algoritmo che tenti di risolverlo è - incompleto (non considera tutti i casi)
- oppure
- scorretto (sbaglia qualcosa)
- oppure
- non termina
33Esempio
- ? 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
34Osservazioni
- 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))
35Inconsistenza
- 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
36Problema
- 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
37Indecidibilità 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
38Linguaggi di programmazione
Rappresentazione della conoscenza
Basi di Dati
Semantica operazionale, denotazionale, ecc.
Logica del Primo Ordine
Semantica
Logica del primo ordine
Sistemi di rappresentazione della conoscenza e
loro linguaggi
Modello Concettuale
Diagramma Entità /Relazioni
Unified Modeling Language
- Reticolare
- Gerarchico
- Relazionale
- A Oggetti
Modello Logico
39Sistemi di rappresentazione della conoscenza
- (Knowledge Language) KL ONE (1980)
- LOOM (1985)
- Classic ( primi anni 90)
40Classic
- 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
41Soluzione adottata da Classic
- Costanti
- Concetti (Predicati unari)
- Ruoli (Predicati binari)
- Sintassi
- Formule
- Asserzioni su individui (concetti, ruoli)
42Esempio
- Asserzione su individui
- Primitivo di Manduria ? Vino Rosso
- in una base di dati sarebbe laggiunta di una
tupla alla relazione Vino Rosso - Asserzione binaria
- Primitivo di Manduria Produttore Cantina Sociale
Pliniana
Individuo
Concetto
Ruolo
43Definizione 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
ruolo
individuo