Post on 03-May-2015
transcript
Sistemi basati su conoscenza
Prof. M.T. PAZIENZA
a.a. 2007-2008
Premessa
• Una collezione di dati non è informazione
• Una collezione di informazioni non è conoscenza
• Una collezione di conoscenza non è saggezza
• Una collezione di saggezza non è la verità
Informazione, conoscenza, saggezza sono qualcosa di più che semplice “collezione di”: l’intero rappresenta più che la somma delle parti
Premessa
Premessa
I dati sono un punto, senza significato, nello spazio e nel tempo, ma senza riferimento a spazio e tempo; come:
• un evento fuori dal contesto• una parola fuori dal contesto
non sono in relazione significativa con alcunché
Tentativo di associare significato ad un dato:
il numero 5 --- numero cardinale --- >4 e <5 ---operazioni
la parola tempo --- non essere in tempo ---fuori tempo --- il tempo non si ferma mai ---
Premessa
Una collezione di dati per cui non esiste una relazione tra dati, non è informazione
La comprensione, relativamente ad una collezione di dati, è dipendente dalle associazioni che si è in grado di riconoscere tra i dati
L’informazione è una relazione tra dati con una forte dipendenza dal contesto per quel che concerne il significato
La generalizzazione delle relazioni (e delle relazioni delle relazioni) porta a definire pattern completi e consistenti, “archetipi” che sono alla base della conoscenza.
Per arrivare alla conoscenza bisogna essere in grado di capire archetipi e le loro implicazioni
Premessa
Gli “archetipi” non hanno bisogno di un contesto per esprimere significato, sono affidabili e completi e supportano la predittività.
Ragionare sugli archetipi porta ad acquisire conoscenza
Si impara quando si aggiunge nuova informazione a ciò che già si conosce (gli archetipi), e ciò produce un cambiamento negli archetipi stessi.
Struttura del corso
Lezioni
Esercitazioni
Test di autovalutazione
Esame finale (2 appelli a fine corso)
Syllabus (1)
• Sistemi basati su conoscenza: rappresentazione e ragionamento
• Agenti intelligenti: autonomia, struttura, interazione con l’ambiente (problemi di ricerca)
• Agenti che ragionano: ragionamento, rappresentazione e logica
• Programmazione logica: Prolog• Basi di conoscenza: rappresentazione
formale, relazioni di dominio, ontologie, inferenze
Syllabus (2)
• Semantic Web, Ontologie, RDF, OWL
• Sistemi di ragionamento logico
• Linguaggio naturale ed ontologie
************************************************
Prova finale e Prova di appello
metodi di ricercaesercizi di progr. Prologproget. basi di conoscenza, ontologie
Syllabus (3)
• Libro di testo “Intelligenza Artificiale: un approccio moderno”, Russel e Norvig; Prentice Hall , vol. 1 Cap. 1,2,3,4,7,8,10 (solo capitoli selezionati)
• Presentazioni ppt del docente• Dispense• Documentazione su rete
Risoluzione 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
Conoscenza 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
Sistemi basati su conoscenza
• Rappresentazione della conoscenza
• Ragionamento
Logica come linguaggio formale di supporto sia per la rappresentazione che per il ragionamento
Architettura di un sbc
DomainExpert
KnowledgeEngineer Knowledge
Base
InferenceEngine
UserInterface
User
Architettura di un sbc
Componenti principali / ruoli:
1. Meccanismo di controllo (motore d’inferenza) / software engineers
2. Base di conoscenza / knowledge engineers+”domain” experts
3. Interfaccia utente / users
Architettura di un sbc
Componenti principali :
1. Meccanismo di controllo (motore d’inferenza): algoritmi domain-independent
2. Base di conoscenza: contenuto domain-dependent (insieme di frasi in un linguaggio formale)
Rappresentazione
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
Rappresentazione
Ogni rappresentazione rappresenta solo “qualche” aspetto del mondo,
ovvero ciò che si vuole sottolineare.
RappresentazioneVersus
Conoscenza del mondo (come riferimento)
Rappresentazione
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, …)
Un 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
Marco118
Giovanni 119
Sara 120
Vittoria121
Massimo125
Alberto124
Ingrid123
122
Un altro esempio
Immagine Testo
Il libro è sul tavoloon(book,desk)
Rappresentaz. analogica Rappresentaz. proposizionale
- Info implicita - Simboli discreti
- Niente simboli - Simboli per relazioni- Nessuna regola compos. simboli - Regole grammaticali compos.- Concretezza - Astrazione rappresentazione
Sistemi 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,…)
Sistemi 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.
Logica 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)
Logica come linguaggio formale
Procedura d’inferenzaBisogna 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.L’induzione e l’abduzione sono altri due tipi di inferenza
Logica come linguaggio formale
Tipologie di inferenzaDeduzione: dati degli assiomi veri, le inferenze che si
possono effettuare sono sempre vere.Abduzione: si possono inferire ipotesi eventualmente vere
(diagnosi) da fatti veriInduzione: inferire relazioni generali (imparare) da alcuni
esempi veri
In logica la procedura di inferenza è di tipo deduttivo (inferenza sempre vera).
L’induzione e l’abduzione sono due tipi di inferenza che non assicurano la verità dell’inferenza
Conceptual Knowledge Process
UN
DER
STA
ND
UN
DER
STA
ND
REU
SREU
SEE
CREATE
CREATE
DISTRIBUT
DISTRIBUTEE
Gestione 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 (nell’azienda) in modo comprensibile all’organizzazione tutta
Gestione della conoscenza (fasi - 2)
Distribuzione- la conoscenza (aziendale) deve essere accessibile agli individui ed all’organizzazione nel suo insieme
Riuso- applicare la conoscenza ad un processo (aziendale); si può creare nuova conoscenza
Gestione 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
Sistemi 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)
Sistemi esperti - regole
Una regola consiste di due parti: un antecedente ed un conseguente
L’antecedente consiste di una o più condizioni che specificano quando e dove applicare la regola
Se le condizioni sono soddisfatteIl conseguente specifica le azioni che devono
essere intraprese
Sistemi esperti – motore inferenziale
Le regole che codificano l’esperienza dell’esperto 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
Expert System CycleKnowledge Capture
Apply Knowledge
Sele
ct K
nowle
dge
Modify Problem State
New
Prob
lem
s
Kno
wle
dge
Reu
se
Rules (Knowledg
e Base)
Inference Engine
(Pattern Matching)
Current Problem
State (Short-term
Memory)
Sistemi 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.
Case-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 sull’assunzione che problemi simili abbiano soluzioni simili.
Case-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.
L’adattamento può avvenire attraverso nuove regole.
I sistemi basati su casi ben si adattano a problemi per i I sistemi basati su casi ben si adattano a problemi per i quali non si abbia una conoscenza completamente quali non si abbia una conoscenza completamente definita.definita.
CBR Cycle
Suggested Solution
New Case
Retrieved Case
Case Solved
Tested, Repaired Case
New Case
Learned Case
Problem
Confirmed Solution
Previous Case
General Knowledge
RETRIEVE
REU
SE
REVISE
RETA
IN
REVIEW
Ontologie
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.
Rappresentazione 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)
Rappresentazione 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)
Rappresentazione 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
Costruzione di una base di conoscenza
Ingegneria della conoscenza:
• Analisi del dominio peculiare
• Individuazione concetti importanti
• Rappresentazione formale di oggetti e relazioni nel dominio
Argomenti trattati in questa lezione
• Ruolo diverso assunto da: dati, informazione, conoscenza a fronte della loro definizione
• Ruolo della conoscenza nella definizione dei problemi e dei relativi metodi risolutivi
• Componenti architetturali di un sistema basato su conoscenza
• Logica come linguaggio formale di supporto per la rappresentazione della conoscenza ed il ragionamento
• Ruolo del motore inferenziale in un sbc