Sistemi basati su conoscenza Basi di conoscenza: rappresentazione e ragionamento Prof. M.T. PAZIENZA a.a
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 dallobiettivo finale) Codifica la conoscenza generale di dominio (assiomi) Codifica una descrizione dellistanza specifica del problema Fornisce interrogazioni alla procedura dinferenza
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 allagente di scegliere unazione 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 Lontologia di una applicazione può limitarsi a considerare i legami tra oggetti/eventi necessari a ragionare allinterno dellapplicazione 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 dellapplicazione, in unontologia è 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 unaltra 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 lappartenenza 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 linfluenza)
Categorie Inferenza Strutturazione delle categorie in sottoclassi (tassonomia) Le sottoclassi ereditano le proprietà delle superclassi. La tassonomia semplifica lontologia 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 unaltra 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 lereditarietà permette una forma particolare di inferenza 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 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 dellistanza che può assumere valori diversi per altre istanze
Frames
Frames ed Ereditarietà 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 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 In caso di contraddittorietà, è necessario modificare gli algoritmi di ricerca
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 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