La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Sviluppo di un validatore visuale di annotazioni semantiche automatiche Roberto Navigli.

Presentazioni simili


Presentazione sul tema: "Sviluppo di un validatore visuale di annotazioni semantiche automatiche Roberto Navigli."— Transcript della presentazione:

1 Sviluppo di un validatore visuale di annotazioni semantiche automatiche
Roberto Navigli

2 Annotazioni semantiche
It was a wrong number that started it, the telephone ringing three times in the dead of night, and the voice on the other end asking for someone he was not. City of Glass – Paul Auster algoritmo di WSD annotatore umano It was a wrong number that started it, the telephone ringing three times in the dead of night, and the voice on the other end asking for someone he was not.

3 Word Sense Disambiguation
Risoluzione dell’ambiguità di una parola w contenuta in un contesto T rispetto a un dizionario di riferimento It was a wrong number that started it, the telephone ringing three times… C = { wrong, number, start, telephone, ring, time } w = number = selezione del senso più appropriato per w rispetto al contesto T, tra i sensi disponibili nel dizionario di riferimento

4 Analizzare i sensi del dizionario di riferimento

5 Algoritmi di WSD Basati su apprendimento automatico e “addestrati” su ampi corpora di documenti annotati a mano Richiedono un forte addestramento sul dominio di interesse Basati sulla conoscenza (knowledge-based) Richiedono un’ampia quantità di risorse lessicali (ad es. WordNet, CyC, ecc.)

6 Structural Semantic Interconnections (SSI)
Un algoritmo knowledge-based ideato e sviluppato nel Dipartimento di Informatica de “La Sapienza” Basato sul concetto di “interconnessione semantica”: due concetti sono semanticamente interconnessi se esistono uno o più cammini “significativi” che li collegano

7 SSI (2) Dato un contesto di parole T = [w1, w2, …, wn]
SSI sceglie per ciascuna parola wi il senso nel dizionario che massimizza le interconnessioni semantiche con gli altri sensi scelti He drank a coffee with milk at the bar T=[drink, coffee, milk, bar]

8 Il progetto Uno strumento visuale di ausilio all’utente per validare i risultati della disambiguazione automatica: Visualizza i grafi di interconnessione tra i sensi scelti da SSI Permette l’analisi dei cammini che collegano tali sensi cliccando sui singoli nodi Consente la validazione di ciascun senso e, in caso di responso negativo, permette all’utente di selezionare un senso differente

9 I grafi in input Memorizzati sotto forma di file xml. Esempio:
<?xml version=“1.0” ?> <wordnet version=“2.0”> <context> <term name=“drink” pos=“v”> </term> <term name=“coffee” pos=“n”> </term> <term name=“milk” pos=“n”> </term> <term name=“bar” pos=“n”> </term> <path> r> r </path> </context> </wordnet> Offset del senso di WordNet scelto Cammini tra S e S’, rispettivamente sensi di due parole, w e w’, tali che w ≠ w’

10 Formato dei cammini I cammini collegano due sensi arbitrari di due parole w e w’ specificate con il tag <term> Nota bene: sono presenti tutti i cammini, non solo quelli tra i sensi scelti da SSI Ad esempio: <path> r # ~ ~ </path> codifica (i nodi “interni” hanno un colore differente): simboli del tipo di arco

11 Legenda delle relazioni
All’inizio del file del grafo troviamo la legenda dei tipi di relazioni: <wordnet version=“2.0”> <legenda> <relation <relation symbol=“r”>related-to</relation> <relation symbol=“#”>has-part</relation> </legenda> <context> </context> </wordnet>

12 Strumenti di base Xerces XML Jgraph JWNL
Libreria per il parsing e la gestione di file XML Disponibile all’indirizzo: Documentazione di base (DOM): Jgraph Libreria per la visualizzazione, la gestione e la memorizzazione di grafi Documentazione di base: JWNL Libreria Java per l’accesso a WordNet bla bla bla bla bla Documentazione di base: bla bla bla bla

13 Partire da un esempio Un buon esempio su cui costruire il tool è GraphEd.java che si trova nella cartella: examples\org\jgraph\example

14 Interfaccia utente Eliminate:
L’opzione per l’inserimento di un nuovo nodo L’opzione per l’abilitazione/disabilitazione della modalità di disegno degli archi Fissate la modalità di spostamento dei nodi (eliminando la possibilità di aggiungere archi) senza possibilità di ingrandire i nodi del grafo Eliminate le opzioni di undo e redo, taglia/copia/incolla Mantenete le opzioni di ingrandimento/riduzione, ma aggiungete una barra di scorrimento nel caso in cui il grafo non entri per intero nella finestra e gestite lo scorrimento

15 Le prime modifiche Forma e colore dei nodi e degli archi
Estendendo BasicGraphUI: class MyGraphUI extends BasicGraphUI { Scrivendo il metodo paintCell e lavorando sui tipi di cella DefaultGraphCell, DefaultEdge, DefaultPort: Una porta è un’area interna al nodo a partire da cui è possibile disegnare un arco che collega il nodo a un altro nodo. DefaultGraphCell DefaultEdge DefaultPort

16 Le prime modifiche (segue)
public void paintCell(java.awt.Graphics g, CellView view, java.awt.geom.Rectangle2D bounds, boolean preview) { if (!(view.getCell() instanceof DefaultEdge)) g.setColor(Color.GREEN); g.fillOval((int)bounds.getX(), (int)bounds.getY(), (int)bounds.getWidth(), (int)bounds.getHeight()); g.setColor(Color.BLACK); g.drawOval((int)bounds.getX(), (int)bounds.getY(), (int)bounds.getWidth(), (int)bounds.getHeight()); } else super.paintCell(g, view, bounds, preview); Impostando dentro il costruttore della classe MyGraph: setUI(new MyGraphUI());

17 Salvataggio del grafo visualizzato in formato SVG
Formato SVG (Scalable Vector Graphics) W3C: Adobe SVG viewer: Potete basarvi su JGraphPad, che carica e salva SVG <svg> <circle x=“10” y=“1”></circle> <circle x=“25” y=“24”></circle> <circle x=“30” y=“33”></circle> </svg>

18 Contesti con layout dei nodi modificato
E’ possibile salvare la disposizione dei nodi del grafo all’interno del file xml dei contesti. Tale disposizione può quindi essere ricaricata dal medesimo file in seguito. E’ sufficiente memorizzare nel file xml le informazioni di posizione di ciascun termine: <term name=“coffee” pos=“n” x=“10” y=“20”> </term> Se al caricamento di un contesto nessuna posizione è specificata per i vari termini (di norma o tutti hanno una posizione o nessuno la possiede) viene applicato il layout automatico (vedi diapositiva seguente): <term name=“coffee” pos=“n”> </term>

19 Disposizione automatica dei nodi
Al caricamento di un grafo, se non è presente alcuna informazione di layout nel file xml, deve essere applicata una disposizione automatica dei nodi sul piano in modo da minimizzare il numero di archi incrociati (possibilmente = 0)

20 Evidenziazione di cammini
Cliccando su un nodo, il nodo deve essere evidenziato e i pattern (specificati in input) che collegano quel nodo ad altri nodi del grafo devono essere anch’essi messi in evidenza (ad es., più spessi o di un altro colore)

21 Evidenziazione di cammini
Cliccando su un nodo, il nodo deve essere evidenziato e i pattern (specificati in input) che collegano quel nodo ad altri nodi del grafo devono essere anch’essi messi in evidenza (ad es., più spessi o di un altro colore)

22 Validazione Possibilità di modificare il senso di un concetto (tasto destro sul nodo  elenco dei sensi possibili in WordNet per la parola selezionata)  il grafo viene modificato sulla base della nuova selezione Quando l’utente modifica il senso di una parola, appare una x accanto al concetto: coffee#1 x coffee#4 coffee#1 – “a beverage consisting of an infusion of ground coffee beans” coffee#2 – “any of several small trees and shrubs native to the tropical...” coffee#3 – “a seed of the coffee tree; ground to make coffee” coffee#4 – “a medium to dark brown color”

23 Salvataggio della validazione
Il file salvato è ancora un file di contesti e può essere aperto successivamente per un’ulteriore validazione Esempio: <?xml version=“1.0” ?> <wordnet version=“2.0”> <context> <term name=“drink” pos=“v”> </term> <term name=“coffee” pos=“n” correct=“ ” > </term> <term name=“milk” pos=“n”> </term> <term name=“bar” pos=“n”> </term> </context> </wordnet> Indica la correzione apportata dal validatore con il tasto destro del mouse

24 Struttura del progetto
Caricamento, memorizzazione e salvataggio dei contesti validati Interfaccia grafica (menu, toolbar, menu contestuale) Salvataggio del grafo in SVG Disposizione automatica dei nodi Evidenziazione dei cammini


Scaricare ppt "Sviluppo di un validatore visuale di annotazioni semantiche automatiche Roberto Navigli."

Presentazioni simili


Annunci Google