Un Tool-box per Lessicografi
Claudio GiulianoITC-irst
http://tcc.itc.it/people/giuliano/research.html
Sommario
Progetto TALES
Lessicografia basata su corpora
Demo Tool-box per Lessicografi
Un caso d’uso: Valutazione del Question
Answering
Trattamento Automatico delle lingue
Ladina e Sarda
2000-2003
Progetto congiunto tra ITC-irst, Istituto
Culturale Ladino e Papiros Editziones
Finanziato dalla UE e da enti locali del
Trentino Alto Adige
Progetto TALES
Obiettivi del progetto
Dati– Uniformare il formato dei dati lessicali disponibili– Ricercare/utilizzare standard– Codifica unica
Strumenti– Accesso a corpora– Dizionari elettronici– Analisi morfologica– Correttori ortografici– PoS tagger
Uniformare i Dati
File di Testo
File MS Word
CorporaCorpora
HyperCard
Banche Dati/ DizionariBanche Dati/ Dizionari
File XML
XML è usato come linguaggio di rappresentazione dei contenuti
FileMaker
<voce> <lemma>briciola </lemma> <cat_lessicale> <gram>sf. </gram> <accezione> <trad>frégola, -es</trad> <trad>mizàcola, -es<trad> </accezione> </cat_lessicale></voce>
briciola sf. Frégola, -es; mizàcola, -es.
Convertire i dizionari in XML
Sono state definite DTD specifiche per rappresentare le banche dati e i dizionari
REGULAMËNT DE POLIZAI DE CHEMUN
Capitul 1 Normes genereles
Art. 1 Cuntenut dl regulamënt1. La desposizions de chësc regulamënt aldò dla L.P. 10 nuvëmber 1993, nr.21, assegurea n servisc de polizai locala bon y efiziënt, regulan l numer di posc’ tl plann dla stieres, l’echipamënt, la cualificazion funzionela, l prufil prufesciunel, l stat iuridich, la funzions y l’ativiteies dla polizai chemunela.
<cesDoc><cesHeader>
…
</cesHeader>
<text>
<body>
<div type='doc'>
<head> REGULAMËNT DE POLIZAI DE CHEMUN </head>
<div type='cap' id='1'>
<head> Capitul 1 Normes genereles </head>
<div type='div1' id=''>
<head> Art. 1 Cuntenut dl regulamënt </head>
<p id='1.1.1'> 1. La desposizions de chësc...</p>
…
</div>
</div>
</body>
</text>
</cesDoc>
Convertire i corpora in XML
È stata adottata la DTD definita in CES
<CARD n='60' name='card id 718778'> <FIELD n='1' name='lemma'>acadèmich</FIELD> <FIELD n='4' name='voce'>acadęmich, -cs, -ca, -ches <agg. e smf.> ...</FIELD> <FIELD n='5' name='fonte'>● C97 acadęmich, -cs,...</FIELD></CARD>
acadęmich, -cs, -ca, -ches accademico; studente universitario.
● C97 acadęmich, -cs, -ca, -ches accademico; studente universitario.● M69 academich (neol.) accademico; studente universitario. (cazét)
Normalizzare la codifica
È stata adottata la codifica UNICODE
Tool-box
Banche dati/Dizionari– Ricerca– Inserimento/modifica (non realizzato)
Corpora– Ricerca di Concordanze– Liste di Frequenze– Ricerca di Collocazioni– Allineamento di testi bi/trilingui
Tool-box (2)
Linguaggi di sviluppo– HTML, JavaScript (client)
– Java (server)
Rappresentazione dei dati– XML
– Database relazionale
Architettura del tool-box
WebWebBrowserBrowser
DatabaseDatabase IndexIndex CorporaCorpora
Method Method invocationinvocation
HTMLHTML
BinaryBinaryDataData
DictionaryDictionaryProcessorProcessor
CorporaCorporaProcessorProcessor
Data AccessData AccessData AccessData Access
Data Management SystemData Management System
XSLTXSLTProcessorProcessor
QueryQueryInterpreterInterpreter
Server ExtensionServer Extension
XMLXML
Query formQuery form
Presentazione dei dati
Un processore interpreta le regole di
trasformazione da XML a HTML
La formattazione può essere delegata al
client
Possono esistere più stili associati agli
stessi dati
Presentazione dei dati (2)
Processore XSLT
XSL
XML
HTML
<?xml version="1.0"?> <xsl:stylesheet version="1.0"><xsl:template match="/"> <html> <head> <title>ID</title> </head> <body bgcolor="#ffffcc"> <xsl:apply-templates select="dizionario"/> </body> </html></xsl:template>
<xsl:template match="voce"> <h3> <xsl:apply-templates select="lemma_sec/lemma"/> </h3> <strike><xsl:apply-templates select="USO"/> <xsl:apply-templates select="GLOSSA"/></strike> <br/> <xsl:apply-templates select="LISTA_CAT_LEX"/></xsl:template> ...
<voce> <lemma>briciola </lemma> <cat_lessicale> <gram>sf. </gram> <accezione> <trad>frégola, -es</trad> <trad>mizàcola, -es<trad> </accezione> </cat_lessicale></voce>
briciola sf. Frégola, -es; mizàcola, -es.
L’interfaccia utente
WEB browser che supporti HTML dinamico
– Firefox
– Safari
– Internet Explorer
– ...
Accesso alle banche dati
Accesso ai dizionari
Ricerca di concordanze
Ricerca di concordanze (2)
Frequenze delle parole
Sommario
Progetto TALES Lessicografia basata su corpora
– Token, types, frequenze
– Legge di Zipf
– Concordanze
– Ricerca di Collocazioni
Demo Tool-box per Lessicografo Un caso d’uso: Valutazione del Question
Answering
Tokens, types, frequenze
Token– corpus LA Times 62,790,468
Type– corpus LA Times 215,738
Frequenza– numero assoluto di occorrenze– frequenze relativa o normalizzata
frequenza media (fm=token/type)– corpus Repubblica fm=85– corpus LA Times fm=291
Frequenza di frequenze (spettro delle frequenze)
Tokens, types, frequenze (2)
circa il 50% dei token di un testo sono le parole piu’ comuni
Tokens, types, frequenze (2)
Tokens, types, frequenze (2)
circa il 50% delle parole sono hapax
circa il 90% delle parole hanno frequenza ≤ 10
Distribuzione di frequenza delle parole nel linguaggio
f · r = k
al rango 10 la frequenza e’ 2653
al rango 100 la frequenza e’ 265
al rango 1000 la frequenza e’ 26
al rango 10000 la frequenza e’ 26
Esempio fatto da Zipf tratto dallo studio lessicale dell’Ulysses di Joyce:
Legge di Zipf
Legge di Zipf (2)
Corpus La Repubblica
Legge di Zipf (3)
Corpus LA Times
Concordanze
KWIC = Keyword in context
Espressioni regolari
Utilizzate per effettuare ricerche complesse Una RE descrive un insieme di stringhe caratteri speciali
– ^ $ + ? . * ( ) [ ] { } | \
Esempi– ^hopef = {hopeful, hopefully, hopefulness, hopefuls}
– ing$ = {being, having, solving, …}
– hope(full|less) = {hopeful, hopeless}
– cars? = {car, cars}
– be(ing)? = {be, being}
– .* = tutto il vocabolario
Concordanze (2)
query = ^comun[ei]$
Ricerca di Collocazioni
Metodi statistici– frequenza
– Media e Varianza
– Test di ipotesi
Corpus– New York Times
– Agosto/Novembre 1990
– 115 MB
– 14·106 parole
Capitolo 5, Chris Manning and Hinrich Schütze, Foundations of Statistical Natural Language Processing, MIT Press. Cambridge, MA: May 1999.
Frequenza
sentece: a lecturer at the computer science facultya lecturer at the computer science faculty
bigrammi:
a lecturera lecturer
lecturer atlecturer at
at theat the
the computerthe computer
computer sciencecomputer science
science facultyscience faculty
Frequenza (2)
Media e Varianza
a. she knocked on his door
b. they knocked at the door
c. 100 women knocked on Donaldson’s door
d. a man knocked on the metal front door
Frequenza + PoS funziona bene per frasi rigide
Media e Varianza (2)4 tokens
sentece: a lecturer at the computer science facultya lecturer at the computer science faculty
bigrammi:
a lecturera lecturer a ata at a thea the
lecturer at lecturer at lecturer the lecturer the lecturer computer lecturer computer
at theat the at computerat computer at scienceat science at facultyat faculty
the computerthe computer the science the science the facultythe faculty
computer sciencecomputer science computer faculty computer faculty
science facultyscience faculty
Media e Varianza (2)4 tokens
sentece: a lecturer at the computer science facultya lecturer at the computer science faculty
bigrammi:
a lecturera lecturer a ata at a thea the
lecturer at lecturer at lecturer the lecturer the lecturer computer lecturer computer
at theat the at computerat computer at scienceat science at facultyat faculty
the computerthe computer the science the science the facultythe faculty
computer sciencecomputer science computer faculty computer faculty
science facultyscience faculty
Media e Varianza (3)
a. she knocked on his door
b. they knocked at the door
c. 100 women knocked on Donaldson’s door
d. a man knocked on the metal front door
OFFSET=3OFFSET=3
Media e Varianza (2)
Media e Varianza (3)
Test di ipotesi
Alta frequenza e bassa possono essere casuali
Quando due due parole occorrono insieme più
spesso del caso?
Test di ipotesi
– lpotesi nulla H0: non c’e’ associazione
– Calcoliamo la p che l’evento occorra se H0 fosse vera
– rifiutiamo H0 se p e’ troppo bassa
– livello di significatività (p<0.05, p<0.01, …)
Test di ipotesi (2)
t-test
Pearson’s chi-squared test
Likelihood ratio
E’ possibile usare Google?
Il Tool-Box cerca al livello di parole
Sono on-line i corpora che ci interessano?
I copora possono essere bilanciati
Le statistiche di google sono affidabili?
Sommario
Progetto TALES Lessicografia basata su corpora Demo Tool-box per Lessicografo Un caso d’uso: Valutazione del Question
Answering
Demo
http://localhost:8080/tb2/jsp/concordance.html
http://localhost:8080/tb2/jsp/freq.html
http://localhost:8080/tb2/jsp/collocation.html
Sommario
Progetto TALES Lessicografia basata su corpora Demo Tool-box per Lessicografo Un caso d’uso: Valutazione del Question
Answering
QA@CLEF
Multilingual Question Answering (QA)– http://clef-qa.itc.it/
QA combina IR e NLP– Domanda in linguaggio naturale– Risposta precisa (non un documento)
Nell’ambito di Cross Language Evaluation Forum (CLEF)
NIST TREC QA ITC-irst & Celct
Tool-Box e CLEF
Corpora in 8 lingue Creare il set di domande per testare i sistemi di
QA Valutare le risposte date dai sistemi Domande su 300 topics
– “Energia alternativa”
– “bancarotta Schneider”
– …
Tool-Box e CLEF (2)
Si parte da un topic Si cercano keywords o keyphrases
associate Utilizzando le concordanze si cercano
risposte a possibili domande In valutazione si usa il tool-box per
verificare le risposte
Esempio: “bancarotta Schneider”
Esempio: “bancarotta Schneider” (2)
Esempio: “bancarotta Schneider” (3)