Sistemi basati su conoscenza Basi di conoscenza: rappresentazione e ragionamento Prof. M. T. Pazienza



Scaricare 234 Kb.
02.12.2017
Dimensione del file234 Kb.


Sistemi basati su conoscenza Basi di conoscenza: rappresentazione e ragionamento

  • Prof. M.T. PAZIENZA

  • a.a. 2005-2006


Ingegneria della conoscenza

  • La conoscenza di un agente/sistema intelligente si riferisce a ciò che conosce relativamente agli :

  • oggetti presenti nel dominio

  • eventi che devono accadere

  • come portare a termine un compito specifico



Ingegneria della conoscenza

  • Una rappresentazione della conoscenza in un sistema intelligente è una combinazione di strutture dati e procedure interpretative in modo che, qualora usate in maniera appropriata, portino il sistema a perseguire un comportamento consapevole del mondo in cui si trova ad agire.

  • La rappresentazione della conoscenza, dunque, è relativa non solo alla definizione di appropriate strutture dati per rappresentare l’informazione, ma anche allo sviluppo di procedure su di esse applicabili per fare inferenza.



Ingegneria della conoscenza

  • Cosa rappresentare (e come) per ottenere un comportamento consapevole.

  • Analisi del problema

  • Individuazione dei fatti (e loro classificazioni ) e degli eventi rilevanti del dominio applicativo (insieme alle relazioni di causa-effetto esistenti tra loro),

  • Definizione del modello di rappresentazione degli oggetti e delle relazioni esistenti (tra loro e su di loro)

  • Scienza empirica



Ingegneria della conoscenza

  • (Cosa rappresentare e) come per ottenere un comportamento consapevole.

  • L’uso della conoscenza da parte di un agente intelligente si articola in tre fasi distinte:

  • Acquisire più conoscenza

  • Ritrovare fatti dalla base di conoscenza del problema

  • Ragionare sui fatti in cerca di una soluzione.

  • Quando si acquisisce conoscenza, bisogna sapere anche come quella stessa conoscenza può essere ritrovata e su di essa si possa ragionare.



Ingegneria della conoscenza

  • Acquisire

  • Il processo di acquisizione di conoscenza consiste non solo

  • nell’aggiungere nuovi fatti alla base di conoscenza, ma anche

  • nel correlare qualcosa di nuovo con ciò che già conosciamo



Ingegneria della conoscenza

  • Ritrovare

  • Il processo di ricerca consiste nel determinare quale è la conoscenza rilevante per un particolare problema, all’interno di una conoscenza più vasta.

  • Per supportare la ricerca:

  • Riconoscere strutture dati collegabili in un processo inferenziale e collegarle fisicamente

  • Se più strutture dati sono sempre usate congiuntamente, conviene raggrupparle in strutture più grandi.



Ingegneria della conoscenza

  • Ragionare

  • Il ragionamento consiste nel determinare cosa è necessario sapere da ciò che già si conosce

  • Il sistema che ragiona deve essere in grado di dedurre e verificare una molteplicità di nuovi fatti al di là di ciò che gli è stato comunicato esplicitamente (di cui ha una conoscenza esplicita).

  • Forme di ragionamento: formale, procedurale, per analogia, per generalizzazione ed astrazione, di metalivello.



Ingegnere della conoscenza

  • Non è un esperto di dominio

    • Acquisisce conoscenza sul problema in esame
    • Definisce i limiti della conoscenza da rappresentare (quali concetti?)
    • Definisce le metodologie di rappresentazione di fatti, grandezze, eventi e relazioni (e le loro interrelazioni), oltre ai valori di prestazione che si vuole raggiungere
    • Realizza la base di conoscenza specifica


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 .



Basi di conoscenza e ragionamento

  • Costruire Agenti intelligenti - sistemi che rappresentano e ragionano esplicitamente con la conoscenza

  • Ogni parte della conoscenza può essere indipendente dalle altre (modularità)

  • La struttura di controllo può essere isolata dalla conoscenza (possibilmente articolata)



Forme di ragionamento

  • Ragionamento formale consiste nel manipolare strutture dati per dedurne di nuove, a fronte di specifiche regole di inferenza.

  • Ragionamento procedurale usa la simulazione per rispondere a domande e risolvere problemi.

  • Ragionamento per analogia consiste nell’applicare la sua conoscenza in casi simili al caso in esame.



Forme di ragionamento

  • Generalizzazione ed astrazione consiste nel generalizzare a regola un fatto/evento che si ripete sempre con le stesse modalità anche se in diverse contestualizzazioni.

  • Ragionamento di meta-livello consiste nell’usare la conoscenza sia di ciò che il sistema sa, che dell’importanza di certi fatti.



Procedure di inferenza

  • permettono di ragionare a partire dalla conoscenza codificata

  • devono essere efficienti (ed efficaci) indipendentemente dalla tipologia di rappresentazione della conoscenza

  • 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



Regole su una base di conoscenza

  • Regole generali (da istanza/fatto a classe) che esprimano l’ontologia di un dominio (applicabili a classi di livello di generalità appropriato)

  • Orso (Pooh)

  • b Orso (b)  Animale(b)

  • a Animale (a)  CosaFisica (a)



Regole su una base di conoscenza

  • Regole che definiscono le grandezze in gioco nel dominio (dimensioni esplicitate in funzione di altre note)

  • DimensioneRelativa(Cervello(Pooh),Cervello(OrsoTipico))

  • = Molto(Piccolo)



Regole su una base di conoscenza

  • Regole per esprimere relazioni (es. part-of) su uno stesso oggetto

  • a Animale(a)  Cervello(CervelloDi(a))

  • a ParteDi(CervelloDi(a),a)



Regole su una base di conoscenza

  • Regole per il meta-ragionamento (valide in più contesti e domini e per le misure)

  • x,y ParteDi(x,y)  CosaFisica(y)  CosaFisica(x)



Regole su una base di conoscenza

  • Regole che esprimono un ragionamento complesso ma valido solo in un dominio

  • a DimensioneRelativa(CervelloDi(a), CervelloDi(EsemplareTipico(SpecieDi(a))))  Piccolo  Stupidino(a)

  • b Orso(b)  SpecieDi(b) = Ursidae

  • OrsoTipico = EsemplareTipico(Ursidae)



Regole su una base di conoscenza

  • Regole per la definizione di rapporti (relazioni) tra misure

  • Medio = 1

  • x x  Medio  Molto(x)  x

  • x x  Medio  Molto(x)  x

  • Esprimere proprietà fondamentali delle cose, delle entità ed azioni valide in ogni contesto



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 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 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 all’agente di scegliere un’azione migliore di quella che avrebbe scelto altrimenti



Ingegneria ontologica

  • Rappresentazione di concetti generali (trasversali a qualunque dominio applicativo)

  • tempo, evento, azioni, entità, soldi, misure, sostanza, mutamenti…

  • che possono essere rappresentati e riutilizzati in una qualunque applicazione (non dipende da essa la loro rappresentazione ed uso)



Cosa è una ontologia

  • Una ontologia è una descrizione formale esplicita dei concetti di un dominio:

  • esprime i legami tra oggetti/eventi del mondo, legati al loro essere

  • incorpora le decisioni sul modo in cui rappresentare insieme di oggetti e relazioni

  • supporta il ragionamento su quegli oggetti/eventi.



Cosa è una ontologia?

  • Per Aristotele la derivazione è una forma di specificazione: un umano è un animale razionale, un animale è una sostanza vivente, etc.

  • Se pensiamo di avere una ontologia rappresentata da in albero, allora bisogna pensare ad una sola categoria di più alto livello (entità???) di cui tutte le categorie di livello più basso possano essere considerate delle specificazioni.

  • Quale potrebbe essere tale categoria per comprendere contemporaneamente come specificazione sia animale che azione, per esempio?

  • Foreste di alberi come alternativa (considerando anche altre relazioni (part-of?) oltre la tassonomica



Ontologia (ed Intelligenza Artificiale)

  • La definizione più conosciuta nell’ambito dell’Intelligenza Artificiale e della rappresentazione della conoscenza è quella fornita da Tom Gruber (1995):

  • “An ontology is an explicit specification of a conceptualisation. The term is borrowed from philosophy, where an Ontology is a systematic account of Existence”.



Cosa è una ontologia

  • Recentemente J. Sowa ha dato due diverse definizioni del termine “ontologia”: la prima da un punto di vista più filosofico:

  • “The subject of ontology is the study of the categories of things that exist or may exist in some domain.”

  • la seconda legata molto di più ai suoi collegamenti con il linguaggio naturale :

  • “[an ontology] is a catalogue of the types of things that are assumed to exist in a domain of interest D from the perspective of a person who uses a language L for the purpose of talking about D.”



Cosa è una ontologia

  • Per un sistema intelligente:

  • what "exists" is that which can be represented

  • Quando la conoscenza di un dominio è rappresentata in un formalismo dichiarativo, allora l’insieme di oggetti che può essere rappresentato si chiama “universo del discorso”.

  • Tale insieme di oggetti, unitamente a tutto l’insieme delle relazioni tra di loro, si riflette nel vocabolario di simboli con cui un sistema basato su conoscenza rappresenta per l’appunto la sua conoscenza.



Cosa è una ontologia

  • Una ontologia rappresenta il modello concettuale di un mondo.

  • Il modello concettuale è la struttura formale di (un pezzo di) realtà percepita ed organizzata da chi modella.

  • Una ontologia popolata di istanze e completata con le regole di inferenza è una base di conoscenza.



Cosa è una ontologia

  • Il termine ‘ontologia’ viene usato per descrivere la costruzione di una tassonomia di riferimento.

  • An ontology is in this context a dictionary of terms formulated in a canonical syntax and with commonly accepted definitions designed to yield a lexical or taxonomical framework for knowledge-representation which can be shared by different information systems communities.



Ontologia di dominio

  • Una ontologia di dominio esprime i legami tra oggetti/eventi specifici di quel dominio (senza contraddire quanto abbia validità generale); è una descrizione esplicita del dominio attraverso:

  • Concetti (in classi organizzate gerarchicamente)

  • Proprietà ed attributi dei concetti

  • Vincoli sulle proprietà ed attributi

  • Istanze (possono anche non esserci)

  • Una ontologia di dominio definisce:

  • un vocabolario comune (terminologia)

  • un modo di ragionare condiviso



Ontologia di dominio

  • E’ necessario identificare sin dall’inizio dello sviluppo di un’ontologia di dominio:

  • l’estensione/copertura del dominio

  • i suoi scopi

  • i tipi di domanda a cui trovare risposte nell’ontologia

  • la possibilità di riuso (per limitare l’effort futuro così come usare ontologie già testate positivamente in altre applicazioni)



Ontologia di dominio



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.



Definizione di classi

  • Una classe è:

  • un concetto in un dominio

  • una collezione di elementi con proprietà

  • insieme di istanze

  • Le classi costituiscono in genere una gerarchia tassonomica (gerarchia con superclassi e sottoclassi)



Tipologie di conoscenza

  • Ragionare su:

  • Categorie, misure, oggetti fisici, oggetti composti, tempo, spazio, cambiamento, eventi, processi, sostanze, oggetti mentali, credenze

  • Es: sostanze (succo di pomodoro è un’unica sostanza? È un liquido? E succo in scatola?)



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 proprietà che si vogliono descrivere (es. succo di pomodoro).

  • Le categorie sono utili per effettuare predizioni e per applicare il principio di ereditarietà.



CategorieInferenza

  • 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.



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 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)



CategorieInferenza

  • -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 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



Ontologie

  • Interesse nel settore dell’Intelligenza Artificiale e dell’ingegneria della conoscenza

  •  nell’IT (Information Technology) la maggior parte dei problemi è inerentemente semantica: le ontologie assumono un ruolo fondamentale nel rimuovere le ambiguità terminologiche e nella disambiguazione delle interpretazioni



Nicola Guarino (1998)

  • Per costruire ontologie, Guarino ed altri ricercatori considerano sia di partire da schemi di basi di dati, tassonomie, dizionari, e strutture gerarchiche, ma soprattutto considerano le collezioni di documenti (corpora) come utili suggerimenti per la derivazione per l’appunto di ontologie dopo particolari elaborazioni.

  • Utilizzare strutture preesistenti tipo WordNet rientra anche nelle modalità previste da loro.



WordNet

  • WordNet definisce concetti come cluster di termini, cosiddeti synsets. Oltre 100.000 synsets sono stati definiti e collegati gerarchicamente con una relazione di sussunzione (detta iponimia) e definita come segue :

  • A concept represented by the synset {x, x, …} is said to be a hyponym of the concept represented by the synset {y, y,…} if native speakers of English accept sentences constructed from such frames as ‘An x is a kind of y”.

  • WN non è una ontologia, ma da molti è usata come tale



Ontologie

  • Le relazioni fondamentali (ontologiche) sono:

  • Hyponimia o inclusione (is-a, isa, IS-A, ISA,..) tra nomi di entità

  • Troponimia tra verbi e processi

  • Meronimia tra entità (nel senso di intero e sue parti)



Hyponimia

  • La relazione di inclusione è molto potente ed usata ampiamente nella definizione delle strutture concettuali di ogni tipo cercando di catturare l’intuizione dell’umano che suggerisce l’esistenza di categorie “naturali” di hyponimi.

  • Una speciale tipologia di hyponimia è la relazione tassonomica (is-a-kind-of) che struttura verticalmente le gerarchie tassonomiche.

  • Le relazioni: tassonomica e di hyponimia condividono la stessa impostazione prospettica



Troponimia

  • Piuttosto che specificare per tipo, la relazione troponomica correla coppie di verbi considerando la maniera in cui esprimere membri superordinati e membri subordinati. In tal modo troponimia è la relazione fondamentale per l’organizzazione del significato dei verbi.

  • Differenti classi semantiche verbali si distinguono per il loro comportamento sintattico e per le caratteristiche che esprimono ai differenti livelli; in alcuni casi si evidenziano specificità sintattiche a livello di coppie di verbi superordinati (più elaborati) rispetto a coppie di verbi subordinati (non elaborati).



Meronimia

  • Le due relazioni di tassonomia (is-a-kind-of) e meronimia (part-of) hanno punti di similarità.

  • Le differenze tra di loro hanno importanti riflessi nella organizzazione e rappresentazione della conoscenza



Meronimia

  • La relazione part-of è transitiva e riflessiva

  • part-of(Bucarest, Romania)

  • part-of(Romania, EuropaOrientale)

  • part-of(EuropaOrientale, Europa)

  • part-of(Europa, Terra)

  • part-of(x,x)



Misure

  • Si può misurare un’entità concreta o astratta: è necessaria una unità di misura condivisibile

  • Le misure possono essere ordinate

  • Si possono definire operazioni diverse su misure diverse

  • Si possono definire relazioni su misure (valide in particolari situazioni – spazio/tempo)



Suggerimenti per lo sviluppo di ont.

  • Non esiste un’unica metodologia corretta per costruire una ontologia; la soluzione migliore dipende sempre dall’uso che si farà dell’ontologia.

  • La costruzione dell’ontologia è un processo iterativo. Una prima versione dell’ontologia viene solitamente valutata, discutendone il contenuto con esperti di dominio o utilizzandola in una applicazione reale. Successivamente l’ontologia viene raffinata e migliorata.

  • I concetti dell’ontologia sono generalmente oggetti (nomi) e relazioni (verbi) del mondo di interesse.



Suggerimenti per lo sviluppo di ont.

  • Scrivere nelle ontologie concetti di validità generale, aggiungere regole specifiche dell’applicazione

  • Limitare l’ambito di “copertura” dell’ontologia

  • Identificare in maniera univoca la tipologia di relazione rappresentata (valida per tutti i livelli)

  • Rendere omogenee le entità rappresentate per poter applicare su esse analoghe proprietà o proprietà comparabili

  • Definire più ontologie separate e, eventualmente, ragionare su di esse separatamente

  • Riconoscere (gestire o bloccare) nel tempo e nello spazio i nessi tra gli eventi



Determinare il dominio e lo scopo dell’ontologia

  • Qual è il dominio che deve essere coperto dall’ontologia?

  • Qual è il motivo (task) per cui deve essere usata l’ontologia?

  • Per rispondere a quale tipo di problematiche/domande (competency questions) sarà necessario accedere alle informazioni dell’ontologia e fornire risposte?

  • La risposta a questi quesiti può variare nel corso di vita del sistema





Condividi con i tuoi amici:


©astratto.info 2019
invia messaggio

    Pagina principale