1 / 31

Protégé-2000

Protégé-2000. Un tool per la creazione e sviluppo di Ontologie e Basi di Conoscenza protege.stanford.edu. Il modello di Protege. Knowledge model Frame-based OKBC compatible Caratteristiche principali Un editor per creare, visualizzare, gestire, e mantenere basi di conoscenza (KBs)

mervin
Download Presentation

Protégé-2000

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 Knowledge model Storage model User interface

  4. Gli elementi di Protégé-2000 User interface OKBC-compliant knowledge model Form personalizzabili Slots Facets standard e user-defined Rappresentazione di grandi data set Easy browsing Instanze Classi e gerarchie di classi Adaptability Domain- specific tabs Componenti per lo sviluppo di Applicazioni basate su conoscenza Custom widgets

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

  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 • (www.wines.com, www.daml.org/ontologies) • 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_SEM) 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: <TEXT> … <element class=“classe_xi”> wi </element> … wj … </TEXT>

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

More Related