Sistemi basati su conoscenza
Basi di conoscenza: rappresentazione e
ragionamento
Prof. M.T. PAZIENZA
a.a. 2001-2002
Ingegneria della conoscenza
Cosa rappresentare e come.
• Analisi del problema
• Individuazione dei fatti e degli eventi
rilevanti del dominio applicativo
• Definizione del modello di rappresentazione
degli oggetti e delle relazioni esistenti
Scienza empirica
Ingegnere della conoscenza
Non è un esperto di dominio
Acquisisce conoscenza sul problema
Definisce i limiti della conoscenza da
rappresentare
Definisce le metodologie di
rappresentazione di fatti, grandezze,
eventi e relazioni
Realizza la base di conoscenza
Base di conoscenza
Una base di conoscenza deve essere chiara e
concisa e rappresentare con completezza il
contenuto della conoscenza stessa (sia per un
utente umano che per un processo).
La metodologia di rappresentazione della
conoscenza deve essere:
espressiva, concisa, non ambigua, insensibile
al contesto, efficace, riutilizzabile (un fatto è
vero o falso di per sé).
Ragionamento
• Le procedure di inferenza permettono
di ragionare a partire dalla conoscenza
codificata
• Le procedura di inferenza devono
essere efficienti (oltre ad efficaci)
indipendentemente dalla tipologia di
rappresentazione della conoscenza
• Le procedure di inferenza trovano le
soluzioni al problema
Approccio dichiarativo
Fatti e predicati
I fatti devono rappresentare situazioni stabili
nel tempo ed al variare delle situazioni,
anche se esprimono istanze in un contesto
specifico
I predicati, al livello più generale possibile
di codificazione ( in modo da esprimere
un ragionamento valido in generale),
devono esprimere relazioni tra oggetti
della base di conoscenza
Predicati
Come si identifica il livello generale
Concetti (classi) più che istanze
Validità per le classi di più alto livello nella
ontologia di dominio
Composizionalità delle parti di un oggetto
Composizionalità degli oggetti tra loro
Ontologia di dominio (ereditarietà)
Identificazione delle modalità di misura di grandezze
usabili nel dominio
Definizione rapporti (relazioni) tra valori diversi
Validità al di fuori del dominio specifico
(metaregole)
Ingegnere della conoscenza (attività)
Decide di cosa parlare (tutte le informazioni necessarie
alla risoluzione del problema)
Decide il vocabolario di predicati, funzioni e costanti
(ontologia di dominio cosa esiste senza
identificare proprietà specifiche ed interrelazioni;
indipendente dall’obiettivo finale)
Codifica la conoscenza generale di dominio (assiomi)
Codifica una descrizione dell’istanza specifica del
problema
Fornisce interrogazioni alla procedura d’inferenza
Ingegneria della conoscenza
In sintesi:
Stabilire proprietà fondamentali (=riutilizzabili)
degli oggetti da rappresentare
Stabilire una gerarchia tra gli oggetti
Stabilire una scelta di valori su scale opportune
Stabilire un vocabolario
La conoscenza può essere di aiuto solo se
permette all’agente di scegliere un’azione
migliore di quella che avrebbe scelto altrimenti
Ontologia
Una ontologia esprime i legami tra oggetti/eventi
del mondo, legati al loro essere
Una ontologia di dominio esprime i legami tra
oggetti/eventi specifici di quel dominio senza
contraddire quanto abbia validità generale
L’ontologia di una applicazione può limitarsi a
considerare i legami tra oggetti/eventi necessari a
ragionare all’interno dell’applicazione stessa.
Ontologia
Dovrebbe essere possibile unificare più
ontologie di dominio nella ontologia
generale che rappresenta la conoscenza del
mondo.
Viceversa, partendo da essa, si potrebbero
ricavare ontologie più specifiche.
Composizione versus potatura
Ontologia
Tipologie di conoscenza
Al di là del dominio e dell’applicazione, in
un’ontologia è necessario rappresentare
conoscenza di natura generale
(universalmente valida)
che esprima peculiarità proprie sulle quali attivare
differenti modalità di ragionamento.
Tipologie di conoscenza
Ragionare su:
• Categorie, misure, oggetti fisici, oggetti
composti, tempo, spazio, cambiamento,
eventi, processi, sostanze, oggetti mentali,
credenze
Tipologie di conoscenza
Nella realtà tutte le generalizzazioni presentano
eccezioni; in alcuni casi è necessario definire
valori di default.
Non sempre sono totalmente condivisibili (validità
limitata)
Bisogna essere in grado di gestire tali anomalie per
ottenere soluzioni corrette a problemi reali.
Categorie/Classi/Insiemi/Concetti
Esprimono le regolarità di un insieme di oggetti
• Un ragionamento generale si basa su categorie
• Un oggetto appartiene ad una categoria o ad
un’altra a seconda delle sue proprietà.
• Le categorie sono utili per effettuare predizioni
e per applicare il principio di ereditarietà.
CategorieInferenza
Si riconosce un oggetto tramite le percezioni fisiche
ad esso collegate (oggetto ovale, dim.7*3.5 cm,
buccia sottile marrone scuro, su banco fruttivend.)
Si inferisce l’appartenenza dello specifico oggetto ad
una categoria dalle sue proprietà così come
percepite (frutta di tipo kiwi)
Si usa la conoscenza sulla categoria per predire
ulteriori proprietà dello specifico oggetto (ricco di
vitamina C, aiuta a prevenire l’influenza)
CategorieInferenza
Strutturazione delle categorie in sottoclassi
(tassonomia)
Le sottoclassi ereditano le proprietà delle
superclassi.
La tassonomia semplifica l’ontologia e facilita
alcune modalità di ragionamento oltre che
supportare un ragionamento di tipo generale.
-Kiwi isa Frutta isa Cibo
-Cibo è commestibile
 Kiwi è commestibile
CategorieEreditarietà
Un oggetto appartiene ad una categoria (kiwi isa
Kiwi)
Una categoria può essere sottoclasse di un’altra
categoria (Kiwi isa Frutta)
Ogni categoria ha proprietà distintive (Kiwi ha
molti semi piccoli, Avocado ha 1 seme grande)
Sottoclassi di una stessa categoria identificano
insiemi disgiunti di elementi (Kiwi # Avocado)
Gli elementi di una categoria condividono le sue
proprietà e quelle degli antenati
Reti semantiche
• Gli oggetti del mondo sono nodi di un grafo
• I nodi sono organizzati in una struttura
tassonomica
• Gli archi tra i nodi rappresentano relazioni
binarie di diversa tipologia
Forma di rappresentazione prossima alla
modalità umana.
Reti semantiche
Imprecisa natura delle reti semantiche legata al fatto
che non si distingue tra nodi che rappresentano
classi e nodi che rappresentano oggetti individuali
Distinguere le relazioni di appartenenza:
• Is-a (elemento / istanza di una classe
kiwi isa Kiwi)
• a-kind-of (sottoclasse Kiwi a-kind-of Frutta)
Reti semantiche e Prolog
is-a di un elemento m con la classe c è
rappresentato dal fatto c(m)
a-kind-of di una sottoclasse c con una
superclasse s è rappresentato da s(X):-c(X)
Reti semantiche
Necessità di etichettare e direzionare gli archi
per identificare univocamente la relazione
• Mario compra una barca
versus
• Una barca è comprata da Mario
Reti semantiche
Permettono di gestire la semantica di una
frase del linguaggio naturale distinguendo
nel discorso
Struttura superficiale
da
Struttura profonda
Reti semantiche ed Ereditarietà
Nelle reti semantiche l’ereditarietà permette una
forma particolare di inferenza
Se un oggetto appartiene ad una classe, esso eredita
tutte le proprietà di quella classe
L’ereditarietà si applica anche ai link di tipo a-kind-of
Una sottoclasse eredita (per ciascun suo elemento)
tutte le proprietà della superclasse
Reti semantiche
L’uso delle reti semantiche in cui i nodi
rappresentino azioni individuali e gli archi
rappresentino oggetti aventi ruoli diversi in tali
azioni permette di costruire grafi complessi per
rappresentare scenari completi
Rappresentazione di frasi complesse ed articolate
Reti semantiche
• Si possono avere anche archi che rappresentano
relazioni temporali
• Se due azioni diverse puntano allo stesso nodo
tempo, il tempo delle due azioni può essere
considerato contemporaneo (si ipotizza che le
azioni accadono istantaneamente)
Reti semantiche
Fare inferenza da una rete semantica prevede
la ricerca di cammini particolari (ogni arco
attiva cammini soddisfacenti domande
diverse)
Frames
Si definisce un numero prefissato di slot per
rappresentare gli attributi di un oggetto
(invece di avere un numero imprecisato di
archi uscenti da un nodo)
Ogni oggetto è un membro / istanza di una
classe cui è collegato da un link is-a
La classe indica il numero di slot validi a livello
di classe ed il nome di ciascuno slot
Frames ed Ereditarietà
Quando uno slot assume un valore a livello di
classe, esso rappresenta un attributo comune a
tutti i membri di quella classe
Quando uno slot assume un valore a livello di
istanza, esso rappresenta un valore proprio
dell’istanza che può assumere valori diversi
per altre istanze
Frames
Frames ed Ereditarietà
Un oggetto è un’istanza di una classe se è membro
di una classe che è sottoclasse della prima classe
Una classe è sottoclasse di un’altra classe se è un
tipo di quella classe o se è un tipo di un’altra
classe che è sottoclasse della prima
Un oggetto ha un attributo particolare se ha
quell’attributo di per sé o se è un’istanza di una
classe che ha quell’attributo
Frames ed Ereditarietà multipla
Un oggetto può essere istanza di più di una classe,
così come una classe può essere sottoclasse di più
di una superclasse
L’ereditarietà multipla permette di ereditare le
caratteristiche di tutte le superclassi di
appartenenza
In caso di contraddittorietà, è necessario modificare
gli algoritmi di ricerca
Script
Gli script implementano l’idea di rappresentare
azioni ed eventi usando una rete semantica
Ovvero l’intero insieme di azioni coincide con la
descrizione di cammini stereotipali
Gli script fanno uso dell’idea di default dove alla
classe sono associate le regole di una qualche
azione ed all’istanza di una classe corrispondono
le istanze delle azioni
Script / storie
Analogo alla descrizione di storie
L’idea è che l’informazione è fornita per punti
generali ed associata alla classe
Sarà possibile rispondere ad una molteplicità di
domande correlando i punti generali ad un
unico tema condiviso per quella specifica
domanda
Interazioni con una base di
conoscenza
Aggiunta di un fatto nuovo alla base di conoscenza
Derivare le implicazioni conseguenti l’inserimento
(aggiunta) di un fatto nuovo in una base di
conoscenza
Verifica che una interrogazione sia implicata da
una base di conoscenza
Decidere se una interrogazione è contenuta
esplicitamente nella base di conoscenza
Rimozione di un fatto da una base di conoscenza
Scarica

Rappres-e-Ragionamento