Upload
emanuele-romagnoli
View
222
Download
0
Embed Size (px)
Citation preview
Sistemi basati su conoscenzaBasi 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 problemaDefinisce i limiti della conoscenza da
rappresentareDefinisce le metodologie di
rappresentazione di fatti, grandezze, eventi e relazioni
Realizza la base di conoscenza
Base di conoscenzaUna 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 dominioComposizionalità delle parti di un oggettoComposizionalità degli oggetti tra loroOntologia di dominio (ereditarietà)Identificazione delle modalità di misura di grandezze
usabili nel dominioDefinizione rapporti (relazioni) tra valori diversiValidità 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 conoscenzaIn sintesi:Stabilire proprietà fondamentali (=riutilizzabili)
degli oggetti da rappresentare Stabilire una gerarchia tra gli oggettiStabilire 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à.
CategorieInferenzaSi 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)
CategorieInferenza 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
CategorieEreditarietà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