La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "1 Protégé-2000 Un tool per la creazione e sviluppo di Ontologie e Basi di Conoscenza protege.stanford.edu."— Transcript della presentazione:

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

2 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 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 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 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 6 Protégé: una visione d’insieme Class Tab

7 7 Editing di Attributi e Concetti

8 8 Popolamento della base di conoscenza

9 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 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 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 12 Un esempio guidato per lo sviluppo di una: Ontologia di Vini Francesi

13 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 14 Sviluppo dell’Ontologia: Processing Steps  Step 2: considerare l’ipotesi di riusare ontologie (o semplici classificazioni) già esistenti  (www.wines.com,  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 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 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 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 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 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 20 Sviluppo dell’Ontologia: Processing Steps  Step 7: Creazione delle Istanze  Problema Amletico: Istanza o Classe?

21 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 22 Crossmarc: Ontology Editor Tab

23 23 Crossmarc: Template Editor Tab

24 24 Crossmarc: Lexicon Editor Tab

25 25 Crossmarc: Import/Export Tab

26 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 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 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 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 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 31 Esercizio (XML+XSL) Trasformare il testo ottenuto in precedenza in un testo XHTML tale che le parole etichettate semanticamente siano evidenziate in bold


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

Presentazioni simili


Annunci Google