sistemi basati su conoscenza basi di conoscenza: rappresentazione e ragionamento (2 - reti...
Post on 01-May-2015
222 Views
Preview:
TRANSCRIPT
Sistemi basati su conoscenzaBasi di conoscenza: rappresentazione e
ragionamento
(2 - Reti semantiche, Frames)
Prof. M.T. PAZIENZA
a.a. 2004-2005
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 semantichetutti i pettirossi sono degli uccelli
robinclyde bird
wings
is-a is-a
has-part
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 (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.
Necessità di etichettare e direzionare gli archi per identificare univocamente la relazione
Mario compra una barcaversus
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: dareAtto 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
Dare 1
Mario Maria Libro 1
Libro
DonatoreRicevente
Dono
is-a
is-a
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 esisti 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 particolare 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
B C
A
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 semanticaOvvero l’intero insieme di azioni coincide con la
descrizione di cammini stereotipaliGli 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
top related