Sistemi basati su conoscenza
Basi di conoscenza: rappresentazione e
ragionamento
(2 - Reti semantiche, Frames)
Prof. M.T. PAZIENZA
a.a. 2006-2007
Reti semantiche
“Scoprire le relazioni di un concetto equivale a scoprire la
natura di quel concetto…
I concetti sono come dei punti, assumono una identità
quando li si posiziona nello spazio definendo la loro
posizione relativa rispetto ad altri …
Un concetto è ciò che è logicamente collegato ad altri
concetti, così come un punto è ciò che è quando viene
spazialmente collegato ad altri punti” (White, 1975)
Per rappresentare il significato di concetti (anche non
collegabili ad entità reali) basta identificare le tipologie
di collegamenti con altri concetti
Conoscenza e Reti semantiche
Assunzione di base:
rappresentare la conoscenza comune in un
grafo con i nodi ad indicare concetti/oggetti, e
gli archi che esprimono le relazioni tra questi
concetti/oggetti
Reti semantiche
Le reti semantiche costituiscono un formalismo
per la rappresentazione della conoscenza
Gli oggetti, i concetti possono essere nodi di un
grafo
Gli archi tra i nodi rappresentano relazioni binarie
di diversa tipologia
Nodi ed archi possono avere delle etichette
Reti semantiche
tutti i pettirossi sono degli uccelli
is-a
is-a
clyde
robin
bird
has-part
wings
Reti semantiche
La facilità con cui è possibile fare inferenza gerarchica
nelle reti semantiche è una ragione del loro successo.
Inoltre è possibile rappresentare anche conoscenza
sulle proprietà degli oggetti.
In domini in cui la maggior parte del ragionamento è
basato su una tassonomia (anche complessa), le reti
semantiche costituiscono uno schema di
rappresentazione naturale.
Reti semantiche
Si può facilmente disegnare una procedura per fare
deduzioni;
basta definire una gerarchia is-a assumendo che ogni
asserzione fatta per un nodo più alto può essere
considerata valida per nodi più bassi, senza dover
essere costretti a rappresentare esplicitamente tali
asserzioni lungo tutta la rete.
Questo tipo di ragionamento si chiama property
inheritance
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 ed Ereditarietà
Nelle reti semantiche è possibile effettuare una forma
particolare di inferenza, detta “ereditarietà”
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 permette di costruire grafi
complessi per rappresentare scenari completi
Rappresentazione di frasi complesse ed articolate.
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 e sintassi
Tutte le frasi possono essere analizzate come se
fossero un’azione con un certo numero di oggetti
che assumono ruoli specifici (archi) a seconda
della posizione nella frase.
Una volta definiti, i grafi di una frase assumono,
però, valore generale e quindi indipendentemente
dalla lingua a partire dalla quale sono stati
generati.
Reti semantiche e sintassi dei casi
Esempio: dare
Atto del dare qualcosa a qualcuno: prevede
• un nodo che esprime l’atto del dare,
• un nodo che esprime la specifica azione del dare ,
• un nodo che esprime lo specifico donatore,
• un nodo che esprime lo specifico ricevente,
• un nodo che esprime lo specifico oggetto dato.
Ogni arco esprime una relazione specifica dell’atto
Sintassi dei casi
Rete semantica – es. dare
Dare
is-a
Libro
Dare 1
Donatore
Mario
Ricevente
Maria
Dono
is-a
Libro 1
Ragionamento con le reti semantiche
Nelle rappresentazioni basate su reti semantiche non c’è
alcuna semantica formale, nessuna accordo a priori su
ciò che una data struttura rappresentazionale significhi
(come invece è per la logica); è la natura delle
procedure che manipolano la struttura di rete che
assegna significato alla rete stessa.
Fare inferenza da una rete semantica prevede la ricerca di
cammini particolari (ogni arco attiva cammini
soddisfacenti domande diverse).
Ragionamento con le reti semantiche
Il meccanismo di reasoning più comunemente
utilizzato si basa sul matching di strutture di rete.
Si costruisce un frammento di rete (rappresentante un
aspetto di un oggetto, oppure una query); quindi si
verifica che esista nel database (matching con le
strutture preesistenti).
I nodi variabile del frammento vengono legati-bound,
nel matching, ai valori che devono assumere per
rendere il match perfetto.
Reti semantiche
Problemi ancora aperti:
• Problemi computazionali nel gestire grandi database di reti per
rappresentare la conoscenza
• Ambiguità nella semantica delle strutture di rete
• Quale significato in realtà assume un nodo? Non esiste alcuna
distinzione formale tra un individuo ed una classe di individui.
• Esiste un unico modo per rappresentare un concetto, fatto,
evento,…?
• Come si può rappresentare il tempo e l’influenza delle relazioni
temporali sugli eventi?
• Come si possono rappresentare credenze sul mondo, piuttosto che
fatti?
• Esistono regole complete per la property inheritance nelle reti?
Reti semantiche e Tempo
Talvolta le relazioni binarie non sono sufficienti a
rappresentare situazioni; si considerano più archi
uscenti da un nodo situazione (o azione) che
specificano i vari argomenti del predicato situazione.
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)
Frames
Descrizioni di situazioni
Nella vita quotidiana, per interpretare nuove situazioni,
l’approccio più comune è quello di rifarsi/attingere ad
esperienze precedenti la cui rappresentazione in
memoria è stata già strutturata ed organizzata
collegandola con il resto della propria conoscenza.
Ci si comporta in base ad aspettative di un certo tipo,
basate su conoscenza pregressa (es. entrando in un
nuovo ristorante, ci si aspettano tavoli imbanditi,
camerieri, menù, altri commensali, ma anche una
particolare sequenza di eventi, etc.)
Frames
Dall’inglese (frame= cornice, quadro) deriva il modo
d’uso: nei frame si rappresenta la conoscenza relativa ad
oggetti ed eventi tipici di una specifica situazione.
I frame, quindi, forniscono la struttura al cui interno è
possibile interpretare nuovi dati in funzione dei concetti
precedentemente acquisiti. Viene facilitata l’attività di
elaborazione guidata dalle aspettative.
Mettendo insieme fatti riguardo a particolari tipi di oggetti
ed eventi, quindi ordinandoli in una grande gerarchia
tassonomica, si ottiene un approccio molto più
strutturato delle reti semantiche
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à
Definendo un “luogo” (frame) per rappresentare
la conoscenza in cui, eventualmente, ci può
essere conoscenza parzialmente specificata od
omessa, il meccanismo degli slot permette di
attivare un ragionamento che si aspetti la
conferma alle aspettative (filling in slots).
Frames ed Ereditarietà
Regole:
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 e Deafault reasoning
L’attributo di una classe viene ereditato solo
se esso non è cancellato o superato
(overriden) dallo stesso slot attributo che
occorre in una sottoclasse, oppure in una
istanza individuale, con un valore diverso
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 (anche in contraddizione tra loro)
In caso di contraddittorietà, è necessario modificare
gli algoritmi di ricerca
Frames ed ereditarietà multipla
Large tree
A
B
C
D
E p
v
Frames ed ereditarietà multipla
Supponiamo che p sia una proprietà solo della
classe E.
L’algoritmo di ricerca (della proprietà p per la
classe D) più appropriato sarà quello in
ampiezza invece di quello in profondità.
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 sono strutture del tipo frame che permettono di
rappresentare sequenze di eventi considerate standard
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

9Rappres-e-Ragionamento2