Modulo3 Modulo3 Ontology engeenering: metodologieOntology engeenering: metodologie
UNIVERSITA’ DI CAMERINOCorso di laurea in Informatica (classe 23/S)
Barbara [email protected]
Anno Accademico 2007-08
2
Agenda
Ontology engeenering: metodologie (panoramica)
METHONTOLOGY
NEON Methodology
Tool di supporto: NEON Toolkit
3
Ontology engeenering: metodologie (panoramica)
4
Ontology engeenering
Fa riferimento all’insieme di attività che riguardano il processo di costruzione dell’ontologia, il ciclo di vita
dell’ontologia, il metodo e la metodologia per la costruzione dell’ontologia ed i tool ed i linguaggi
che lo supportano
5
Problematiche
Quali sono le attività coinvolte nel processo di sviluppo dell’ontologia?
Quali sono gli obiettivi di ciascuna attività? Quando vanno eseguite le varie attività? Dove sono le relazioni tra le varie attività? Dove è possibile trovare le ontologie al fine di riutilizzarle? Come posso utilizzare l’ontologia nella mia applicazione?
6
Overview
Solitamente - lo sviluppo dell’ontologia parte dell’acquisizione di conoscenza fino all’implementazione senza seguire una serie di passi definiti a priori
ProblemiIl modello concettuale dell’ontologia è implicito nel codiceIl commitment ontologico ed i criteri di design sono impliciti ed espliciti nel codiceEsperti di dominio ed utenti finali non sono in grado di comprendere l’ontologia formale codificata attraverso il linguaggioIl risultato della codifica è solitamente affrettatoLa preferenza di codificare l’ontologia in uno specifico linguaggio con propria espressività influenza lo sviluppo dell’ontologia stessaNello sviluppo dell’ontologia può risultare difficile capire il punto iniziale focalizzando sul riuso di altre ontologieI tool di supporto si focalizzano sull’implementazione piuttosto che su questioni di design
7
Attività nello sviluppo di ontologie
Project management activitiesAssicura uno sviluppo corretto dell’ontologia includendo attività di planning, controllo e garanzia sulla qualità del prodotto finale
Development oriented activitiesSviluppo corretto dell’ontologia attraverso la specifica, la concettualizzazione, la formalizzazione, l’implementazione ed il mantenimento di task
Integral activitiesSupporta lo sviluppo di attività orientate allo sviluppoAcquisizione di conoscenza, integrazione, valutazione, documentazione e gestione della configurazione
8
Metodologie
Cyc method Uschold and King’s method Grüninger and Fox’s methodology KACTUS approach METHONTOLOGY SENSUS method On-To-Knowledge DILIGENT
Nessuna prende in considerazione le tre dimensioni simultaneamente
Dynamic
Collaboration
Contextualized
9
Uschold and King’s method
Lo scopo è quello di definire una metodologia di scheletro per la costruzione di ontologie
Fasi -1. Identificare lo scopo e l’estensione dell’ontologia2. Costruire l’ontologia
(la conoscenza può partire da ontologie preesistenti)catturarecodificare integrare
3. Valutare l’ontologia4. Documentare l’ontologia
Vanno fornite linee guida per ciascuna di queste fasi
10
Fase 1 – Identificare lo scopo e l’estensione dell’ontologia
Perché è stata costruita l’ontologia? Per quale fine si intende utilizzare?
Ontologia per la strutturazione della base di conoscenzaOntologia come parte della base di conoscenza…
Identificare e caratterizzare gli utenti – sviluppatori, mantenitori ed utilizzatori
Valutare se è possibile disegnare uno scenario dettagliato
Definire le question che l’ontologia deve essere in grado di rispondereIntrodurre termini e concetti fondamentali su cui accordarsi
11
Fase 1
Individuare il linguaggio Potenza espressivaTrasportabilitàFlessibilità…
Individuare approcci alla catturaCompletezza – CoperturaLivello di dettaglio Curva di apprendimento
Un’attività centrale in questa fase è l’identificazione degli aspetti del mondo reale di interesse per definire e creare termini e riferirsi ad essi
Si lavora per definire una categorizzazione di oggetti fondati sull’universo d’interesse
12
Fase 2 - cattura
La cattura è indipendente dal linguaggio che utilizzo e permette di creare un modello di dominio
Per cattura si intendono le seguenti attivitàIdentificare i concetti chiave e le relazioni nel dominio di interesseProdurre precisi e non ambigui definizioni per concetti e relazioniIdentificare termini da riferire a tali concetti e relazioniIndividuare un certo livello di accordo per gli elementi sopra menzionati
13
Fase 2 – codifica & integrazione
Si intende una esplicita rappresentazione di una concettualizzazione attraverso uno specifico linguaggio
Attraverso brainstorming e lavori di gruppo
La codifica dipende dall’espressività del linguaggio e può essere vista come
Cattura and codingCattura after coding
L’integrazione permette di chiedersi se e come utilizzare ontologie che già esistano
codifica
integrazione
14
Lettura
Uschold M. "Towards a Methodology for Building Ontologies" Workshop on Basic Ontological Issues in Knowledge Sharing, held in conduction with IJCAI-95, 1995.
http://citeseer.ist.psu.edu/uschold95toward.html
15
Grüninger and Fox’s methodology
Basata sull’esperienza di costruire un’ontologia per la modellazione di una impresa, la quale include una serie di ontologie per la modellazione di componenti di impresa
Basata sull’esperienze di costruire un’ontologia che modella l’impresa all’interno del framework contestualizzato nel progetto TOVE
Costruisce un modello logico per la conoscenza da introdurre nell’ontologia (questo modello non è costruito direttamente)
Le specifiche dell’ontologie sono costruite informalmente specificando un insieme di competence question
Specifica delle competence question in predicati del primo ordine
Le competence question sono alla base di una caratterizzazione rigorosa della conoscenza che l’ontologia deve coprire oltre alla specifica del problema oltre a definirne una buona soluzione
Attraverso un meccanismo di composizione e decomposizione le competence question e le sue risposte possono essere utilizzate per rispondere a competence question di altre ontologie garantendo un certo livello di integrazione
16
Fasi
1. Stabilire dei scenari motivati sull'ontologia2. Definire domande di competenza informali3. Specifica in un linguaggio formale e della relativa
terminologia4. Definire domande di competenza formali5. Specifica degli assiomi6. Definizione di completezza dei teoremi
17
Alcuni stralci…
Activity OntologyTemporal projection
Dato un insieme di azioni che occorrono a differenti momenti quali sono le proprietà delle risorse e delle attività necessarie in un istante temporale preciso?
Planning and SchedulingQuale sequenza di attività deve essere completata per raggiungere uno specifico obiettivo? A quale istante deve iniziare e terminare?
Execution monitoring and external eventsQuali sono gli effetti dell’occorenza di un evento esterno ed inaspettato?
Time based competitionCosa fare e come per massimizzare e minimizzare i vincoli
Organization OntologyQuali attività devono essere svolte
da un particolare agente in una data situazionePer raggiungere un obiettivo…
18
Lettura
Michael Grninger, Mark S. Fox, "Methodology for the Design and Evaluation of Ontologies",P roceedings of IJCAI'95, Workshop on Basic Ontological Issues in Knowledge Sharing, April 13, 1995
http://citeseer.ist.psu.edu/grninger95methodology.html
19
METHONTOLOGY
Development Process: Which activities
Life Cycle: Order of activities
1. Intra-ontology dependencies
2. Inter-ontology dependencies
Methodologies: How to carry out the activities
1. Input and outputs
2. Methods, tasks, techniques, tools
3. Who, When, What, How, Where, Which
20
METHONTOLOGY
La fase principale nel processo di sviluppo dell’ontologia per quel che riguarda METHONTOLOGY è la fase di concettualizzazione
Durante la specifica e la concettualizzaione un processo di integrazione è completato usando ontologie interne o esterne
Il framework è parzialmente supportato da un ambiente software – Ontology Design Environment
Molti sono i casi di studio che utilizzano tale metodologiaCHEMICAL - un ontologia per il dominio chimicoEnvironment pollutants components – rappresenta il metodo di determinare vari elementi d iinquinamente di varie fonti: acqua aria petrolioThe Reference Ontology – un’ontologia che gioca il ruolo di pagine bianche per l’ontologia
21
Metodologie a confronto
Tutte le metodologie presentate iniziano dall’identifazione dello scopo dell’ontologia e necessitano di acquisizione della conoscenza
Una volta acquisita la conoscenzaUscholds propone la codifica in un linguaggio formaleMETHONTOLOGY propone l’espressione della conoscenza attraverso rappresentazioni intermedie
Le ontologie sono codificate attraverso traduttoriGarantiscono di superare il gap tra come le persone vedono il dominio ed i linguaggi con cui le ontologie sono formalizzateSi fornisce una approccio users-friendly sia per l’acquisizione di conoscenza che la valutazione di informatici ed esperti del dominio che non sono ingegneri della conoscenza
22
Metodologie a confronto – fase di valutazione
Uscholds propone questa fase ma non introduce come dovrebbe essere sviluppata
Gruninger and Fox propone di identificare un insieme di competence question
una volta che l’ontologia è stata specificata formalmente essa viene confrontata con le competence question individuate
METHONTOLOGY propone la fase di valutazione in tutta la linea di vita del processo di sviluppo dell’ontologia
La maggior parte del processo di valutazione è fatto nella fase di concettualizzazione
23
NEON MethodologyNEON Methodology
Dynamic
Collaboration
Contextualized
http://www.neon-project.org/web-content/
24
Overview
Analisi del dominio
Costruzione dell’ontologia
Introduce terminologia e dipendenze complesse tra differenti parti
Serve come mediatore tra dati di differenti sorgenti
Integrazione di elementi esistenti
La modellazione di conoscenza come regole
25
Life Cycle Models and Life Cycles in Ontological Engineering
An ontology life cycle model is the framework (waterfall, evolving prototyping, spiral, etc.), selected by each using organization, on which to map the activities identified in the ontology development process.
The ontology life cycle is the specific sequence of activities that the ontology practitioners carry out for developing an ontology.
Example: three ontology life cycles based on the waterfall model
26
Several Ontology Life Cycle Models are possible
Assumption: Ontology requirements are known at the begining of the ontology development project.
Assumption: Ontology requirements can be not known at the begining of the ontology development project and can change during the project.
Evolutionary Prototyping Rapid Throwaway Prototyping
Assumption: Uncertainties in the
ontology requirements can derive into
risks in the project.
Waterfall ‘V’ Model
Spiral
27
Pure waterfall life cycle model
The waterfall life cycle model has a lineal order in the transitions between phases, with a review for each phase. It is not possible to pass to the following phase until the current one has been not completed. This model permits to backtrack to previous phases if errors or mistakes are detected
The use of such a model encourages the developer to specify what the system is supposed to do before building the system and to plan how components are going to interact before building the components
28
V life cycle model
Sequential path of execution of processes, where each phase must be completed before the next phase begins
This model explicitly includes the observation that the result of each development task must be verified in a corresponding test task
This life cycle model gives emphasis to the validation of the products in each phase
29
Incremental Model
The system, specified in the requirement documents, is divided into functional subsystems, which are completely developed in different cycles
Each cycle follows the waterfall model The system development starts with a small functional
subsystem which is fully developed Following this model, the software development process begins
with the most essential functionalities and continues and ends with the less important ones
The two main advantages of this approach are: accelerated delivery of customer services and user engagement with the system
30
Iterative model
This life cycle model has as purpose to reduce the risk between the user needs and the final product; it consists in the iteration of several waterfall life cycles
At the end of each iteration, an improved or refined version of the software product is delivered to the user
31
Spiral Life Cycle Model
The evolutionary prototyping model is based on the assumption that it is often difficult to know all the system requirements at the beginning of a project and that the requirements can change during the project life.
32
Proposed steps:
1. Identify the user needs.
2. Select the ontology life cycle model to be used.
3. Select activities from the “recommended and if-applicable” activity table.
4. Map the selected activities into the selected ontology life cycle model: the result is the ontology life cycle for the user needs.
How software developers and ontology practitioners select the ontology life cycle model and the particular ontology life cycle for developing his/her ontology?
33
Decission Tree for Selecting yourOntology Life Cycle Model
Do you think that ontology requirements will change during the ontology project?
No Yes
Do you want to include risk control in your project?
Do you want to produce intermediate results?
No YesNo Yes
Waterfall
V-Model
Incremental Model
Iterative ModelSpiralEvolutionary Prototyping
Rapid Throwaway Prototyping
34
Decission Tree for Selecting your Ontology Life Cycle Model
Do you think that ontology requirements will change during the ontology project?
No Yes
Do you want to include risk control in your project?
Do you want to produce intermediate results?
No YesNo Yes
Waterfall
V-Model
Incremental Model
Iterative ModelSpiralEvolutionary Prototyping
Rapid Throwaway Prototyping
35
Decission Tree for Selecting Activities to be mapped in the Ontology Life Cycle Model
Have you built at least 5 ontologies?
No Yes
Set of questions for identifying the ‘if-applicable’ activities needed.
Do you need the ontology in different idioms? O. Localization.
Do you plan to use lexicons and thesauries as a resource for building your ontology? Resource reengineering.
The developer selects the activities needed from the ‘recommended and if-applicable activity table’
Selected Activities
O. ReuseO. Searching If Applicable
O. Assessment If Applicable
O. Selection If Applicable
O. Conceptualization
Recommended X
O. Evaluation O. Verification Recommended X
O. Validation Recommended X
O. Localization If Applicable X
Automatically
36
RDF(S)
OWL
Ontology Development
O. Specification O. Conceptualization O. ImplementationO. Formalization
1
Thesauries
DB DB
Lexicons
Resources
Knowledge ResourceReuse Study
Knowledge ResourceReengineering
2
3
Ontology Reuse Study:(Searching, Evaluation/Assesment, Selection)
O. Repositories
Flogic RDF(S) OWL
Ontology Reestruturation(Pruning, Extension,
Specialization, Modularization)
8
O. Localization
9
Maintain Use
O. Assessment
10
Ontology Support Activities:Elicitation; Documentation; Configuration Management; Evaluation (V&V)
1,2,3,4,5,6,7,8,9
O. Alignment
O. Merge
Ontology Reengineering:( Reverse Engineering, Reestructuration
Forward Engineering)
4
6
7
Scenarios in the ontology life cycle
5
Flogic
37
Waterfall
Development activities
Support activities
Management activities
Scheduling Control
Quality assurance
Ontology Support Activities:Elicitation; Documentation; Configuration Management; Evaluation (V&V)
38
Incremental Model
Development activities
Support activities
Management activities
Scheduling Control
Quality assurance
Ontology Support Activities:Elicitation; Documentation; Configuration Management; Evaluation (V&V)
39
Iterative Ontology Network Life Cycle
O. Specification
O. Needs
++KA +Doc
O. Reuse(Searching,
Assesment/Evaluation, Selection)
+KA +Doc
O. Conceptualization
++KA ++Eval +DocO. Implementation
+Eval +Doc
O. Assesment
+Doc
40
Tool di supporto: NEON Toolkit
http://www.neon-toolkit.org/
41
Main part
Neon Toolkit supporta tutte le fasi di creazione dell’ontologia
•Ontology navigator•Entity Property view•Instance view•Properties view
42
NeOn Reading
NeOn Toolkit Developer's Guideneon_developers_guide.pdf, 365 Kb
http://www.neon-toolkit.org/index.php?option=com_docman&task=doc_download&gid=6
43
Riuso – es: time
44
Riuso es: location
45
Riuso es: unit
46
Ci sono domande?