Come abbiamo visto nell’articolo relativo al Web Semantico, una Ontologia non è altro che il risultato finale di un processo di ingegnerizzazione della conoscenza.
Ma esattamente di cosa si tratta?
Per capire bene di cosa si tratta vediamo come viene comunemente definita:
Un’ontologia è una esplicita e formale specificazione dei concetti appartenenti ad un dominio e delle relazioni tra essi (Gruber, ’93)
Un’ontologia è un catalogo strutturato e limitato di concetti non ambiguamente definiti (Uitermark, ’01)
Quindi possiamo dedurre che un’ontologia altro non è che uno strumento per rappresentare la conoscenza, uno schema rigoroso e ben definito che ci permette di esprimere senza ambiguità i concetti e le relazioni che li legano relativamente ad uno specifico dominio di conoscenza.
È importante porre l’accento sul fatto che l’obiettivo è quello di rappresentare la conoscenza in maniera chiara, non ambigua. Se ci fossero delle ambiguità, i dati prodotti col ragionamento sarebbero inconsistenti, quindi inutili.
Un altro grande vantaggio di una ontologia è che, essendo una descrizione esplicita qualitativamente avanzata dei concetti di un dominio, può essere pubblicata e utilizzata per scopi differenti da quelli per i quali era stata prodotta. Esistono in rete svariati esempi di ontologie che sono condivise e accessibili a tutti, come per esempio la Dublin Core, OpenCyc oppure WordNet. Sulla base di tali ontologie ben standardizzate diventa più semplice sviluppare le proprie per fini più specifici.
Abbiamo detto che per realizzare un’ontologia bisogna passare per un processo di ingegnerizzazione della conoscenza.
Ma in cosa consiste questo processo?
Sappiamo dove vogliamo giungere con questo processo: alla definizione di una ontologia. Ma da dove partiamo?
FASE 1: Definizione del dominio e degli scopi dell’ontologia
Il punto di partenza si trova nel dominio di conoscenza che vogliamo modellare. Quindi bisognerà:
- Definire specificamente il dominio dell’ontologia
- Definire l’uso che si intende fare dell’ontologia
- Capire quali conoscenze rappresentate dall’ontologia saranno usate per dedurre nuova conoscenza
- Capire chi sarà l’utilizzatore finale dell’ontologia
Uno dei modi per capire specificatamente quale sia il dominio dell’ontologia è quello di stendere una lista di domande alle quali la base di conoscenza basata sulla nostra ontologia dovrebbe essere in grado di rispondere, domande di competenza – competency questions – (Gruninger and Fox 95).
Queste domande saranno inoltre utili in seguito per capire se l’ontologia contiene sufficienti informazioni e se il livello di dettaglio dei concetti è sufficiente o va ulteriormente dettagliato. Questa lista è solo una bozza e non deve necessariamente essere esaustiva.
FASE 2: Cercare e valutare la possibilità di usare una ontologia esistente.
È sicuramente una delle fasi più importanti e non va assolutamente sottovalutata. Infatti qualcun altro potrebbe aver già realizzato una ontologia sullo stesso argomento, risparmiandoci un sacco di fatiche e scervellamenti. Oppure può capitare che la nostra applicazione debba estendere una ontologia già esistente perchè ha la necessità di operare con applicazioni che già interagiscono con tale ontologia.
Per cui valutiamo sempre la possibilità di utilizzare e magari estendere una ontologia già esistente.
FASE 3: Definizione dei concetti
Si estraggono e si elencano tutti i termini relativi al dominio in esame, senza effettuare distinzioni a priori.
Da questo elenco si vanno ad individuare i termini che possono rappresentare i concetti e i termini che possono rappresentare le relazioni. Per quanto riguarda i concetti si preferisce utilizzare i sostantivi.
Una volta individuati i concetti, si passa alla definizione delle relazioni gerarchiche che sono presenti tra di loro. Ci sono tre approcci all’individuazione delle gerarchie:
- Top-down: si parte dai concetti più generali per giunger a quelli più specifici, fino al livello di dettaglio desiderato;
- Bottom-up: si parte dai concetti più specifici e si risale la gerarchia fino ai concetti più generali;
- Ibrido: si parte dai concetti di più immediata individuazione, per specificarli o astrarli dove necessario.
I concetti sono anche definiti classi.
FASE 4: Definizione delle proprietà
Partendo sempre dall’elenco dei termini, si individuano quelli che possono rappresentare delle proprietà dei concetti individuati nella fase precedente.
Avremo due categorie di proprietà:
- Intrinseche: relative al contenuto del concetto;
- Estrinseche: evidenziano le relazioni tra due o più concetti.
Grande importanza rivestono inoltre i vincoli di un concetto, che ne rendono valida la struttura. Ad esempio, ogni tesista deve avere un docente referente, che è un vincolo di tipo string, oppure il voto di un esame universitario non può superare 30, ed è un vincolo numerico.
Tra i vincoli più utilizzati troviamo i vincoli di:
- dominio: indica che l’utilizzo di una certa proprietà può soddisfare esclusivamente le classi facenti parte del dominio;
- range: indica che il contenuto di una proprietà deve appartenere all’insieme delle classi specificato nel range (o codominio).
L’ontologia è stata costruita!
Ovviamente tale processo può essere iterato all’infinito, al fine di ottenere una granularità dei concetti sempre più fina. Ricordiamo tuttavia che un’ontologia dovrebbe limitarsi a rappresentare i concetti e le relazioni necessari al suo compito, senza esagerare.
Gli strumenti utilizzati in questa fase sono i linguaggi ontologici.
Per quanto riguarda il Web semantico, i linguaggi di riferimento sono RDF (Resource Description Framework) e OWL (Web Ontology Language), entrambi basati su XML.
Antonio Cicirelli
Se il post ti è piaciuto, ti ha incuriosito o se non ha soddisfatto appieno la tua voglia di conoscenza lasciaci un commento, ci sarà d'aiuto per andare avanti e migliorare oppure sottoscrivi i feed e ricevi i prossimi articoli nel tuo RSS reader.
Comments
Non c'è ancora nessun commento.
Lascia un commento