Sistemi basati su conoscenza Basi di conoscenza: rappresentazione e ragionamento (2 - Reti semantiche, Frames) Prof. M.T. PAZIENZA a.a
Conoscenza e Reti semantiche Assunzione di base: rappresentare la conoscenza comune (essenziale) in un grafo con i nodi ad indicare oggetti, e gli archi che esprimono le relazioni tra questi oggetti
Reti semantiche Le reti semantiche costituiscono un formalismo per la rappresentazione della conoscenza Gli oggetti, i concetti, le situazioni sono nodi di un grafo Gli archi tra i nodi rappresentano relazioni binarie di diversa tipologia I nodi sono organizzati in una struttura tassonomica
Reti semantiche robinclydebird wings 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 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 Lereditarietà si applica anche ai link di tipo a-kind-of Una sottoclasse eredita (per ciascun suo elemento) tutte le proprietà della superclasse
Reti semantiche Luso 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 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 unazione 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 latto 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 dellatto Sintassi dei casi
Rete semantica – es. dare Dare Dare 1 MarioMaria Libro 1 Libro Donatore Ricevente Dono is-a
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)
Reti semantiche Fare inferenza da una rete semantica prevede la ricerca di cammini particolari (ogni arco attiva cammini soddisfacenti domande diverse). E la natura delle procedure che manipolano la struttura di rete che assegna significato alla rete.
Reti semantiche Il meccanismo di reasoning più comunemente utilizzato si basa sul matching di strutture di rete. Un frammento di rete viene costruito in quanto rappresenta un aspetto di un oggetto, oppure una query; quindi si verifica che esisti nel database.
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? Esiste un unico modo per rappresentare un concetto, fatto, evento,…? Come si può rappresentare il tempo e linfluenza delle relazioni temporali sugli eventi? Come si possono rappresentare credenze sul mondo, piuttosto che fatti? Esistono regole complete per la property inheritance nelle reti?
Frames Nella vita quotidiana, per interpretare nuove situazioni, lapproccio 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 Dallinglese (frame= cornice, quadro) deriva il modo duso: 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 lattività 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 dellistanza 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 è unistanza di una classe se è membro di una classe che è sottoclasse della prima classe Una classe è sottoclasse di unaltra classe se è un tipo di quella classe o se è un tipo di unaltra classe che è sottoclasse della prima Un oggetto ha un attributo particolare se ha quellattributo di per sé o se è unistanza di una classe che ha quellattributo
Frames e Deafault reasoning Lattributo 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 Lereditarietà 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 BC A D E p v
Frames ed ereditarietà multipla Supponiamo che p sia una proprietà solo della classe E. Lalgoritmo di ricerca (della proprietà p per la classe D) più appropriato sarà quello in ampiezza invece di quello in profondità.
Script Gli script implementano lidea di: rappresentare azioni ed eventi usando una rete semantica Ovvero lintero 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 dellidea di default dove alla classe sono associate le regole di una qualche azione ed allistanza di una classe corrispondono le istanze delle azioni
Script / storie Analogo alla descrizione di storie Lidea è che linformazione è 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 linserimento (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