1 Protégé-2000 Un tool per la creazione e sviluppo di Ontologie e Basi di Conoscenza protege.stanford.edu.

Slides:



Advertisements
Presentazioni simili
Informatica II – Basi di Dati (08/09) – Parte 1
Advertisements

/ fax
Introduzione ad XML Mario Arrigoni Neri.
Il linguaggio della Matematica: Insiemi e operazioni
IL MODELLO ENTITA’ - RELAZIONE I costruttori di base
Informatica Recupero debito quarto anno Terzo incontro.
Corsi per il personale Bicocca-Insubria
File System Cos’è un File System File e Directory
Massa Laura Mela Enrica
Le gerarchie di tipi.
1 Il punto di vista Un sistema è una parte del mondo che una persona o un gruppo di persone, durante un certo intervallo di tempo, sceglie di considerare.
Lez. 31 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Programmazione.
Lez. 91 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Alberi di ricerca.
Training On Line - Report. 2 Report storico Da menu: Reportistica -> Report storico Si accede alla pagina di selezione del report storico.
Programmazione Procedurale in Linguaggio C++
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
1 9: Progettazione Architetturale Obiettivo: stabilire la struttura globale di un sistema software Descriveremo diversi tipi di modello di architettura,
1 HTML - I Frame Laboratorio di Applicazioni Informatiche II mod. A.
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Basi di conoscenza: rappresentazione e ragionamento Prof. M.T. PAZIENZA a.a
Anna Ortigari 28,30 marzo , 10, 12 aprile 2006
R. Torlone, A. Calì, G. Lorenzo, G. Solazzo Profilo utente Milano – 17 Novembre 04.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 21 Marzo 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
1 Il servizio di prestito e fornitura documenti ILL-SBN una visione di insieme caratteristiche della procedura illustrazione delle funzionalità
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
Ufficio Studi UNIONCAMERE TOSCANA 1 Presentazione di Riccardo Perugi Ufficio Studi UNIONCAMERE TOSCANA Firenze, 19 dicembre 2000.
eliana minicozzi linguaggi1a.a lezione2
1 Anatomia di una pagina Un insieme di pagine web hanno generalmente una parte invariante (o poco): header, navigazione, footer una parte variabile: contenuti.
Seminari di ingegneria del software
Progettazione dei sistemi interattivi (A.A. 2004/05) - Lezione 3 1 La relazione di ereditarietà Punto di vista insiemistico: la relazione di ereditarietà
La rappresentazione dellinformazione. 7-2 Digitalizzare linformazione Digitalizzare: rappresentare linformazione per mezzo di cifre (ad es: da 0 a 9)
Unità Didattica 2 I Linguaggi di Programmazione
Strutture di controllo in C -- Flow Chart --
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
Espressioni condizionali
Portale Capacità STOGIT
C APITOLO 6 © 2012 Giorgio Porcu – Aggiornamennto 22/02/2012 G ESTIRE D ATI E C ARTELLE DI LAVORO Excel Avanzato.
Manuale Utente Assoviaggi ver Contenuti Prontovisto: cosa è ed a chi è rivolto Le procedure per la vendita del servizio Prontovisto 2.
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
1 Questionario di soddisfazione ATA - a. sc. 2008/09 Il questionario è stato somministrato nel mese di aprile Sono stati restituiti 29 questionari.
Configurazione in ambiente Windows Ing. A. Stile – Ing. L. Marchesano – 1/23.
1101 = x 10 x 10 x x 10 x = CORRISPONDENZE
1 Gea Bilancio Soluzione per Commercialisti e Aziende.
1 Ly-LAB Sistema di gestione dei dati analitici di laboratorio.
Bando di Residenza Cap Scheda ENTE 3ROL - Richieste On Line.
Mele Francesco Corso Informatica per il Design Generativo Facoltà di Architettura SUN AA Ontologie basate su frame.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
XLS ESERCIZIO BASE EXCEL – ESERCIZIO BASE
USO DEL COMPUTER E GESTIONE DEI FILE
FMZ 1 Sistemi basati su conoscenza Costruzione automatica di ontologie di dominio Dott. Fabio Massimo Zanzotto a.a
Progettare corsi con Moodle
Modulo 6 Test di verifica
1 Ontology languages. Strato dei modelli LA SCELTA DEL LINGUAGGIO Una volta selezionati i componenti dell’ontologia occorre esprimerli in maniera esplicita,
Corso Web CSV – Andiamo on-line 1 Andiamo on-line Corso di formazione Elementi base per la costruzione di un sito web.
lun mar mer gio ven SAB DOM FEBBRAIO.
Il linguaggio Fortran 90: 3. Procedure e Funzioni
1 PerfectFit06 Sistema di personalizzazione dei contenuti per gli scavi archeologici di Ercolano Candidato: Vincenzo Scognamiglio Relatore: Prof. Ernesto.
DAL WEB AL SEMANTIC WEB Aspetti teorici e tecnologici Carmagnola Francesca Dipartimento Informatica C.so Svizzera 185, Torino
Programmazione ad oggetti
Microsoft Word Interfaccia grafica
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come affrontare un problema… Marco D. Santambrogio – Ver. aggiornata al 21 Agosto.
Informatica Introduzione alle basi di dati Lezione 2 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Programmazione ad oggetti
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Intelligenza Artificiale Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Access Breve introduzione. Componenti E’ possibile utilizzare Access per gestire tutte le informazioni in un unico file. In un file di database di Access.
Transcript della presentazione:

1 Protégé-2000 Un tool per la creazione e sviluppo di Ontologie e Basi di Conoscenza protege.stanford.edu

2 Il modello di Protege  Knowledge model  Frame-based  OKBC compatible  Caratteristiche principali  Un editor per creare, visualizzare, gestire, e mantenere basi di conoscenza (KBs)  API per un accesso universale a KB  Una interfaccia utente (GUI) estensibile  Diversi formalismi di rappresentazione della conoscenza

3 Protégé: Componenti Principali Ognuna delle componenti principali di Protégé ha una interfaccia ben definita con il resto del sistema ed è perfettamente sostituibile da componenti analoghe Storage model User interface Knowledge model

4 Gli elementi di Protégé-2000 Slots Classi e gerarchie di classi Classi e gerarchie di classi Facets standard e user-defined Facets standard e user-defined Instanze Form personalizzabili Form personalizzabili Easy browsing Easy browsing Rappresen tazione di grandi data set Rappresen tazione di grandi data set Custom widgets Custom widgets Domain- specific tabs Domain- specific tabs Componenti per lo sviluppo di Applicazioni basate su conoscenza Componenti per lo sviluppo di Applicazioni basate su conoscenza

5 Protégé Ontologia di dominio Strumento di Acquisizione della Conoscenza Sviluppo di una base di conoscenza: l’approccio Protégé R C1 C2 C3C4 C5

6 Protégé: una visione d’insieme Class Tab

7 Editing di Attributi e Concetti

8 Popolamento della base di conoscenza

9 Sviluppo di una Ontologia  Approccio pratico:  Definire le classi della ontologia  Disporre le classi secondo una gerarchia tassonomica  Definire gli attributi e i valori ammissibili per ognuno di essi  Specificare quali classi hanno quali attributi e definire delle restrizioni specifiche sui valori ammessi da tali attributi

10 Sviluppo di una Ontologia (2)  Approccio ingegneristico:  Analisi del dominio da rappresentare, mediante consultazione di esperti del settore  Non esiste un modo unico e corretto per modellare un dominio: criteri di scelta del dominio  Approccio iterativo allo sviluppo della ontologia

11 Sviluppo di una Ontologia (3)  Tra le possibili alternative, occorre quindi favorire, quelle che:  Si adattano meglio all’obiettivo (task) che la nostra applicazione deve perseguire.  Siano maggiormente:  Intuitive  Estensibili  Di facile Manutenzione

12 Un esempio guidato per lo sviluppo di una: Ontologia di Vini Francesi

13 Sviluppo dell’Ontologia: Processing Steps  Step 1. Determinare il dominio di applicazione dell’ontologia  Quale sarà la copertura del dominio che l’ontologia dovrà offrire?  Per quale motivo vogliamo usare l’ontologia?  Per quale tipo di interrogazioni l’ontologia dovrebbe fornire delle risposte?  Chi userà e manterrà l’ontologia?

14 Sviluppo dell’Ontologia: Processing Steps  Step 2: considerare l’ipotesi di riusare ontologie (o semplici classificazioni) già esistenti  (  Step 3: Enucleare i termini più importanti nel dominio che dovrebbero comparire nell’ontologia  vino, uva, produttore, locazione, colore del vino, corposità, sapore, contenuto di zuccheri etc..  Tipi differenti di cibo, come “pesce” o “carne rossa”;  Sottotipologie di vini: come vino bianco, rosso etc..

15 Sviluppo dell’Ontologia: Processing Steps  Step 4: Definire le classi e la gerarchia delle classi  Approccio:  Top-Down  Bottom-Up  Ibrido  Regola d’oro:  Se una classe A è una superclasse di una classe B, allora ogni istanza di B è anche istanza di A

16 Sviluppo dell’Ontologia: Processing Steps  Step 5: Definire le proprietà delle classi-slot  Proprietà intrinseche: come il sapore del vino  Proprietà estrinseche: come il nome del vino o la zona da cui proviene  Parti: se l’oggetto è strutturato; queste possono essere sia concrete che astratte  Relazioni che coinvolgono istanze della classe e altri oggetti dell’ontologia:  “produttore” lega una cantina ad un determinato vino  “Uva” lega un determinato tipo di vino con l’uva da cui esso è prodotto

17 Sviluppo dell’Ontologia: Processing Steps  Step 5 (bis):  Ogni Template-slot di una classe viene ereditato dalle sue sottoclassi (overriding degli slot)  Scelta di quale classe detiene originariamente lo slot

18 Sviluppo dell’Ontologia: Processing Steps  Step 6: Definire le “facets” di uno slot  Tipi di facets di uno slot:  Value Type –String –Integer –Float –Boolean –Symbol (Enumerated) –Instance –Class  Allowed values  Cardinality  Inverse Slot?  Altre (possibili) caratteristiche dello slot

19 Sviluppo dell’Ontologia: Processing Steps  Step 6 (bis): Facets: Dominio e Range di uno slot  Rappresentano rispettivamente l’insieme di classi cui uno slot è attaccato, e l’insieme di classi cui uno slot può far riferimento; è importante:  Trovare le classi più generiche che possano rappresentare dominio e range di uno slot, d’altro canto, non definire mai domini/range eccessivamente generici  Se una lista di classi che definisce un range/dominio di uno slot include una classe e una sua sottoclasse, rimuovere la sottoclasse (ridondanza di informazione)  Se una lista di domain/range classes di uno slot contiene tutte le sottoclassi si una classe A ma non la classe stessa, eliminare tutte le classi e inserire la classe stessa A.  Se una lista di domain/range classes di uno slot contiene quasi tutte le sottoclassi di una classe, domandarsi se non sia più appropriato inserire la loro superclasse.

20 Sviluppo dell’Ontologia: Processing Steps  Step 7: Creazione delle Istanze  Problema Amletico: Istanza o Classe?

21 Customizzazione di Protégé: l’esperienza CROSSMARC  Il progetto CROSSMARC – Obiettivi:  sviluppare un motore di ricerca intelligente che permetta confronti di prezzo e qualità tra prodotti di vario genere venduti nella rete  Capacità di gestire pagine HTML provenienti da differenti paesi e scritte in diversi linguaggi  Customizzazione di Protégé in ambito Crossmarc  Creazione di diversi Tab adatti agli scopi di Crossmarc  Gestione di Lessici in vari linguaggi  Import/Export delle ontologie nel formalismo XML adottato in CROSSMARC  Utilizzo di UTF-8 come sistema di codifica dei caratteri

22 Crossmarc: Ontology Editor Tab

23 Crossmarc: Template Editor Tab

24 Crossmarc: Lexicon Editor Tab

25 Crossmarc: Import/Export Tab

26 XI_to_Protégé: un tool di esportazione  “Fileografia”:  Cartella XI –disint_utils.pl –mario.txt –sicstus_utils.pl –xi.pl –xi_compile.pl –xi_io.pl –xi_loader.pl  File xi_to_protege.pl  File piccola_ontologia.pl  Uso:  Eseguire consult di: –xi_loader.pl (che provvederà a caricare il resto dello xi_model) –piccola_ontologia.pl –xi_to_protege  Chiamare il predicato start  Attendere che i tre file di Protégé con estensioni.pprj.pins.pont siano creati.

27 Esercizio  Problema (generico):  riconoscere alcuni elementi “interessanti” all’interno di un testo scritto in linguaggio naturale  Soluzione:  Costruzione di una ontologia, a partire da una semplice lista di elementi “interessanti”  Individuazione dei referenti lessicali agli oggetti definiti nell’ontologia, all’interno del testo fornito.

28 Esercizio  Elementi a disposizione (nel nostro caso):  Foglio Excel con elenco degli elementi da individuare  Testo tokenizzato da cui estrarre informazione  Modello di rappresentazione ontologica XI  Passi da seguire:  Creare una ontologia - secondo il formalismo di XI - che rappresenti tutte le entità individuate  Esportare l’ontologia in Protégé al fine di verificarne visivamente la consistenza  Creare una lista degli elementi estratti dal testo.

29 Esercizio (Prolog) Definire un predicato: testo_etichettato_semanticamente(TEXT,TEXT_S EM) che sia vero se: TEXT è una Lista [w1,w2,…,wn] TEXT_SEM è una Lista [s1,s2,…,sn] dove: a) si = sem_class(wi) se wi generalizza nella gerarchia nella classe sem_class (una classe delle classi ritenute importanti) b) si = wi altrimenti

30 Esercizio (Prolog)  Definire un predicato: testo_stampato_in_XML(TEXT_SEM) Che sia vero se TEXT_SEM è stato stampato su stdout nel seguente formato: … wi … wj …

31 Esercizio (XML+XSL) Trasformare il testo ottenuto in precedenza in un testo XHTML tale che le parole etichettate semanticamente siano evidenziate in bold