Title: Sistemi basati su conoscenza
1Sistemi basati su conoscenza
- Prof. M.T. PAZIENZA
- a.a. 2005-2006
2Struttura del corso
- Lezioni
- Esercitazioni
- Approfondimenti tematici
- Test di autovalutazione
- Esame finale (2 appelli a fine corso)
3Syllabus (argomenti e struttura delcorso)
- Sistemi basati su conoscenza rappresentazione e
ragionamento - Agenti intelligenti autonomia, struttura,
interazione con lambiente - Agenti che ragionano ragionamento,
rappresentazione e logica - Programmazione logica Prolog
- Basi di conoscenza rappresentazione formale,
relazioni di dominio, ontologie, inferenze
4Syllabus (2)
- Semantic Web, Ontologie, RDF, OWL
- Sistemi di ragionamento logico
- Linguaggio naturale
- I test di autovalutazione metodi di ricerca
- II test di autovalutazione esercizi di progr.
Prolog - III test di autovalutazione proget. basi di
conoscenza, ontologie - Prova finale e Prova di appello
5Syllabus (3)
- Libro di testo Intelligenza Artificiale un
approccio moderno, Russel e Norvig Prentice
Hall (capitoli selezionati) - Presentazioni ppt del docente
- Dispense
- Documentazione su rete
6Risoluzione di problemi
- Definizione di appropriate strategie di ricerca
- Individuazione di passi di ragionamento
elementari, la cui giustapposizione porta alla
identificazione di soluzioni ai problemi - Non viene utilizzata conoscenza di dominio
- In domini complessi le prestazioni sono limitate
7Conoscenza a priori del dominio
- La conoscenza del dominio permette di utilizzare,
nella risoluzione dei problemi, passi meno
elementari con un processo di ragionamento più
ampio e complesso - Quindi si possono risolvere problemi più
complessi laddove si abbia una qualche conoscenza
del dominio
8Sistemi basati su conoscenza
- Rappresentazione della conoscenza
- Ragionamento
- Logica come linguaggio formale di supporto sia
per la rappresentazione che per il ragionamento
9Architettura di un sbc
10Architettura di un sbc
- Componenti principali / ruoli
- Meccanismo di controllo (motore dinferenza) /
software engineers - Base di conoscenza / knowledge engineersdomain
experts - Interfaccia utente / users
11Architettura di un sbc
- Componenti principali
- Meccanismo di controllo (motore dinferenza)
algoritmi domain-independent - Base di conoscenza contenuto domain-dependent
(insieme di frasi in un linguaggio formale)
12Rappresentazione
- Una rappresentazione è qualunque notazione o
insieme di simboli che rap-presenta (re-present)
qualcosa a qualcun altro. - Una rappresentazione di qualcosa sta al posto di
quel qualcosa
13Rappresentazione
- Ogni rappresentazione rappresenta solo qualche
aspetto del mondo, - ovvero ciò che si vuole sottolineare.
- Rappresentazione
- Versus
- Conoscenza del mondo
- (come riferimento)
14Rappresentazione
- Diversi modi in cui la conoscenza sembra essere
organizzata (es. oggetti, relazioni, schemi) - Versus
- Diversi modi in cui la conoscenza può essere
rappresentata (immagini, proposizioni, )
15Un esempio
- Marco occupa la stanza 118
- Giovanni occupa la stanza 119
-
- Ingrid occupa la stanza 123
- Rappresentaz. analogica Rappresentaz.
proposizionale - Ulteriori informaz. spaziali e temporali
Informazioni esplicite -
-
-
16Un altro esempio
- Immagine Testo
-
- Il libro è sul tavolo
- on(book,desk)
- Rappresentaz. analogica Rappresentaz.
proposizionale - - Info implicita - Simboli discreti
- - Niente simboli - Simboli per relazioni
- - Nessuna regola compos. simboli - Regole
grammaticali compos. - - Concretezza - Astrazione rappres.
17Sistemi basati su conoscenza
- Rappresentazione della conoscenza
- Assumiamo di poter descrivere il mondo in
termini di frasi nel nostro linguaggio. - Una base di conoscenza è un insieme di frasi,
ovvero una descrizione parziale del mondo. Ci
riferiremo ad esso come ad un universo del
discorso (o dominio del discorso) - Tutte le frasi sono descrizioni (nel ling. nat.
si può fare molto di più porre domande, ordini,
esprimere dubbi,)
18Sistemi basati su conoscenza
- Logica come linguaggio formale di supporto per la
rappresentazione della conoscenza ed il
ragionamento - La logica consiste di un linguaggio e di una
procedura di inferenza. -
19Logica come linguaggio formale
- In un linguaggio logico (come per un qualsiasi
altro linguaggio) bisogna definire formalmente la
sintassi, un vocabolario, gli operatori ed i
connettivi logici, oltre alle regole per
combinarli tra loro. - Bisogna poter assegnare significato alle frasi
del linguaggio (model theory)
20Logica come linguaggio formale
- Procedura dinferenza
- Bisogna poter attuare inferenze valide da un
insieme di frasi del linguaggio indipendentemente
dal loro significato - (proof theory)
- In logica la procedura di inferenza è di tipo
deduttivo.Linduzione e labduzione sono altri
due tipi di inferenza
21Logica come linguaggio formale
- Tipologie di inferenza
- Deduzione dati degli assiomi veri, le inferenze
che si possono effettuare sono sempre vere. - Abduzione si possono inferire ipotesi
eventualmente vere (diagnosi) da fatti veri - Induzione inferire relazioni generali (imparare)
da alcuni esempi veri - In logica la procedura di inferenza è di tipo
deduttivo (inferenza sempre vera). - Linduzione e labduzione sono due tipi di
inferenza che non assicurano la verità
dellinferenza
22- Conceptual Knowledge Process
UNDERSTAND
CREATE
REUSE
DISTRIBUTE
23Gestione della conoscenza (fasi - 1)
- Creazione- analizzare come in un processo
(aziendale) si forma conoscenza a livello
individuale e di organizzazione - Comprensione- verificare, rappresentare,
sintetizzare, adattare, collegare la nuova
conoscenza alla preesistente (nellazienda) in
modo comprensibile allorganizzazione tutta
24Gestione della conoscenza (fasi - 2)
- Distribuzione- la conoscenza (aziendale) deve
essere accessibile agli individui ed
allorganizzazione nel suo insieme - Riuso- applicare la conoscenza ad un processo
(aziendale) si può creare nuova conoscenza
25Gestione della conoscenza
- I sistemi basati su conoscenza gestiscono la
conoscenza (aziendale) attraverso processi che
collezionano, memorizzano e riusano conoscenza
passando da un livello individuale a quello
aziendale (conoscenza condivisa). - Sistemi esperti, sistemi di ragionamento basati
su casi, ontologie, sono esempi di metodologie
per la gestione della conoscenza
26Sistemi esperti
- I sistemi esperti sono dei sistemi che
realizzano un task come lo farebbe un esperto
umano, e che possono spiegare il meccanismo di
ragionamento impiegato. - I sistemi esperti sono sistemi basati su
conoscenza in cui - la base di conoscenza è costituita da una
- rappresentazione della conoscenza di dominio
prodotta da un esperto (rappresentazione della
conoscenza esperta e dei meccanismi di
ragionamento - regole)
27Sistemi esperti - regole
- Una regola consiste di due parti un antecedente
ed un conseguente - Lantecedente consiste di una o più condizioni
che specificano quando e dove applicare la regola - Se le condizioni sono soddisfatte
- Il conseguente specifica le azioni che devono
essere intraprese
28Sistemi esperti motore inferenziale
- Le regole che codificano lesperienza
dellesperto nel sistema esperto sono contenute
nella base di conoscenza - Il meccanismo che sceglie le regole per
verificare se possono essere usate in un problema
si chiama motore inferenziale - Il motore inferenziale verifica gli antecedenti
delle regole, quindi, a seconda del loro valore,
realizza le azioni specificate nei conseguenti
delle regole. - Una volta identificate le regole, si attivano le
azioni correlate che possono cambiare lo stato
del problema
29Knowledge Capture
Rules (Knowledge Base)
Apply Knowledge
Select Knowledge
Knowledge Reuse
Current Problem State (Short-term Memory)
Inference Engine (Pattern Matching)
Modify Problem State
New Problems
30Sistemi esperti motore inferenziale
- Il vantaggio offerto dalla tecnologia dei sistemi
esperti è collegato alla possibilità di spiegare
sia il metodo seguito per prendere delle
decisioni che il processo risolutivo del problema.
31Case-based systems
- La metodologia di ragionamento dei sistemi
basati sui casi si basa sul riuso della
conoscenza acquisita in situazioni precedenti per
risolvere nuovi casi. - Quando si incontra un nuovo caso bisogna
ritrovarne uno simile per riapplicarne la
strategia. - La scelta di quale situazione precedente può
essere riusata si basa sulla valutazione di
similarità tra il vecchio e nuovo caso (euristica
di similarità) e si basa sullassunzione che
problemi simili abbiano soluzioni simili.
32Case-based systems
- Per risolvere il nuovo problema è necessario
adattare i metodi risolutivi, precedentemente
usati, al nuovo caso creando così una nuova
soluzione che viene aggiunta alle precedenti. - Ladattamento può avvenire attraverso nuove
regole. - I sistemi basati su casi ben si adattano a
problemi per i quali non si abbia una conoscenza
completamente definita.
33New Case
Problem
RETRIEVE
Learned Case
Retrieved Case
New Case
Previous Case
REUSE
RETAIN
General Knowledge
REVIEW
Case Solved
Tested, Repaired Case
REVISE
Suggested Solution
Confirmed Solution
34Ontologie
- Scopo principale delle ontologie è quello di
fornire un linguaggio comune per supportare la
condivisione della conoscenza concettuale. - Le ontologie sono stata comunemente adottate come
formalismo di rappresentazione della conoscenza
per fornire un metodo di ragionamento secondo il
senso comune a supporto di vari processi basati
sulla conoscenza. - Ontologie top level versus ontologie di dominio.
35Rappresentazione della conoscenza
- In ambienti dichiarativi, i sistemi sono come un
microcosmo cognitivo in cui è necessario
stabilire quali siano le proprietà che il sistema
di rappresentazione della conoscenza deve avere. - Requisito minimo
- Ci deve essere una qualche corrispondenza tra il
sistema di rappresentazione della conoscenza e la
conoscenza che si sta rappresentando devono
essere definiti simboli specifici per ogni
oggetto che deve essere modellato nel sistema
(adeguatezza metafisica)
36Rappresentazione della conoscenza
- Proprietà
- Il sistema di rappresentazione della conoscenza
deve essere in grado di rappresentare almeno
tutta la conoscenza che può essere necessaria per - distinguere due qualunque stati del microcosmo
(adeguatezza epistemica) - esprimere il ragionamento necessario alla
risoluzione di un problema (adeguatezza
euristica) - Una qualunque rappresentazione deve poter essere
manipolata dal sistema (trattabilità
computazionale) (il ling. nat. non è trattabile,
è computazionalmente-ambiguo)
37Rappresentazione della conoscenza
- Un qualunque sistema di rappresentazione della
conoscenza è formalmente equivalente al
microcosmo che sta modellando. - Due sistemi sono formalmente equivalenti se
- Per ciascuno stato distinto del primo esiste uno
stato distinto del secondo - Per ciascun possibile cambiamento di stato del
primo esiste un analogo cambiamento di stato del
secondo
38Costruzione di una base di conoscenza
- Ingegneria della conoscenza
- Analisi del dominio peculiare
- Individuazione concetti importanti
- Rappresentazione formale di oggetti e relazioni
nel dominio