Linguistica Computazionale 23 novembre 2016 TAL: algoritmi di ML • Esistono due grandi categorie di algoritmi basati su metodi di ML: • algoritmi non supervisionati (unsupervised): • non necessitano di un corpus annotato a mano per creare il modello • adatti a compiti di organizzazione dei dati, quali ad esempio: • il ranking dei dati testuali rispetto ad una qualche funzione • e il clustering (raggruppamento dei testi o di elementi estratti dal testo per una qualche relazione di similitudine tra i dati) 2 TAL: algoritmi di ML • algoritmi supervisionati (supervised): • utilizzano corpora annotati a mano per la creazione dei modelli (corpus di addestramento o training set) • adatti a risolvere problemi di classificazione: dato un insieme di classi predefinite determinare a quale classe appartiene una certa entità • Problema: Per utilizzare algoritmi supervisionati bisogna trasformare i compiti di TAL in compiti di classificazione 3 ML non supervisionato: Clustering l L’algoritmo raggruppa l’input sulla base di una qualche relazione di similitudine: Possibile output 1: Input: Raggruppati rispetto al colore ML non supervisionato: Clustering l L’algoritmo raggruppa l’input sulla base di una qualche relazione di similitudine: Possibile output 2: Input: Raggruppati rispetto alla forma ML non supervisionato: Clustering l L’algoritmo raggruppa l’input sulla base di una qualche relazione di similitudine: Possibile output 3: Input: Raggruppati rispetto alla dimensione ML supervisionato: Classificazione l l Dato un training set: A B Classifica i dati in input: Input: Output: A B A B A B B B Trattamento Automatico della Lingua testo TestoAnalizzato Sentencespli8er Tokenizzatore Analizzatore Morfologico POS Tagger Analisisinta6ca segmenta il testo in frasi Task di solito modellati con algoritmi ML segmenta ogni frase in unità ortografiche produce le interpretazioni morfologiche di ciascuna unità ortografica seleziona l’interpretazione morfologica corretta (Part of Speech Tagging) analizza la struttura sintattica della frase 8 Analisiseman:ca identificazione della classe semantica delle parole, relazioni semantiche, ecc. Corpora annotati l Annotare un corpus l l aggiungere ad un corpus codici (markup) che rendono esplicita e machine readable l’informazione relativa alla struttura linguistica del testo Vari livelli di annotazione linguistica: l l l l l l l l l morfosintattica lemmatizzazione sintattica semantica fonetica prosodica pragmatica … (corpora di parlato) (corpora di parlato) (corpora di parlato) I corpora non annotati vengono anche detti “raw corpora” 9 Perché annotare un corpus? l I corpora annotati permettono di usare il computer per ricerche ed elaborazioni più avanzate dei dati linguistici l i “codici” linguistici possono essere immediatamente recuperati (es. con espressioni regolari) o usati per popolare un database Oggi a <word sem=“location”> Bruxelles </word>vertice della <word sem=“institution”> Ue </word> sull‘ <word sem=“location>IRAQ</word>. <word sem=“person”>Blair</word> <word lemma=“scrivere” pos=“V”>scrive</word> agli altri per chiedere una posizione <word lemma=“comune” pos=“A”>comune</ word> La <word sem=“institution”>NATO</word> in <word lemma=“difesa” pos=“S”>difesa</word> della <word sem=“location”>Turchia</word> <word lemma=“accordo” pos=“S”> Accordo</word> in extremis sull'aiuto all' alleato in prima linea DAL NOSTRO <word lemma=“corrispondente” pos=“S”> CORRISPONDENTE</word> <word lemma=“Franco” pos=“SP” sem=“person”> FRANCO</word> PAPITTO Ricerche per: • lemma • categoria morfosintattica • categoria semantica 10 Perché annotare un corpus? l I corpora annotati sono usati per addestrare modelli computazionali basati su algoritmi di apprendimento automatico supervisionato l l training corpora annotati I corpora annotati sono usati per valutare i sistemi di NLP l test corpora annotati come gold standard training corpus annotato sviluppo Strumenti e applicazioni di NLP valutazione test corpus annotato 11 Metodi di annotazione linguistica l Annotazione manuale l l necessaria per alcuni tipi di annotazione (es. pragmatica, prosodica) altamente costosa e lenta l l inconsistenza nell’applicazione l l necessità di “addestrare” gli annotatori incoerenza tra annotatori (che usano criteri diversi per annotare) e di ciascun annotatore (che può usare di volta in volta criteri diversi) Annotazione (semi)-automatica l l rapidità di sviluppo errori consistenti l l taggers à 98% precisione parsers à ca. 85% precisione 12 Corpora e strumenti di annotazione tool NLP di annotazione raw corpus algoritmi di machine learning revisione manuale corpus annotato 13 Annotazione e sviluppo di strumenti di NLP l Ciclo virtuoso tra annotazione di corpora e sviluppo di strumenti di NLP attraverso l’uso di metodi di machine learning sviluppo e valutazione sviluppo corpora annotati Strumenti e applicazioni di NLP valutazione annotazione (semi)automatica 14 The MATTER Annotation Development Process Pustejovsky & Stubbs (2013), Natural Language Annotation for Machine Learning, O’Reilly 15 The MATTER Annotation Development Process Pustejovsky & Stubbs (2013), Natural Language Annotation for Machine Learning, O’Reilly l Model l l Annotate l l test del sistema addestrato su un nuovo campione di dati annotati Evaluate l l addestramento di un algoritmo di ML sul corpus annotato Test l l annotazione del corpus con uno schema di annotazione basato sulle feature identificate Train l l descrizione teorica di un fenomeno linguistico con l’identificazione degli attributi (feature) da annotare valutazione delle performance del sistema Revise l revisione del modello linguistico e dello schema di annotazione per renderlo più robusto e affidabile per l’uso con l’algoritmo di ML 16 Cosa annotare? I contenuti dell’annotazione linguistica l Schema di annotazione l l l un repertorio di categorie linguistiche per l’annotazione, corrispondenti alla tipologia dei tratti da rappresentare nel testo l generalmente espresso nella forma di attributi e dei loro possibili valori la definizione delle regole di compatibilità tra categorie l es. l’aggettivo non possiede un attributo di persona, o un nome quello di tempo la specifica accurata dei criteri di applicazione al testo delle categorie selezionate Uno schema di annotazione definisce il contenuto linguistico dell’annotazione, non il modo in cui l’annotazione è proiettata sul testo 17 PoS Tagged Corpora l Corpora annotati morfosintatticamente l l categoria della parola (part of speech) tratti morfologici l l l l l l genere numero persona tempo … Corpora lemmatizzati l indicazione del lemma della forma l ha → AVERE 18 TANL/ISST-CONLL tagset Attardi, Lenci, Montemagni, Simi l Tagset morfosintattico per l’italiano sviluppato nel progetto SemaWiki (http://medialab.di.unipi.it/wiki/SemaWiki) Coarse-grained PoS tags 19 TANL/ISST-CONLL tagset Attardi, Lenci, Montemagni, Simi Fine-grained PoS tags 20 TANL/ISST-CONLL tagset Attardi, Lenci, Montemagni, Simi morphological features morphological features values 21 TANL/ISST-CONLL tagset Attardi, Lenci, Montemagni, Simi Il tagset applicato al testo 22 Corpora annotati sintatticamente l Treebanks (database sintattici) l l l corpora annotati con l’analisi sintattica (parse) delle frasi tipi di informazione: l struttura a costituenti (bracketing) l relazioni (funzioni) grammaticali (es. soggetto, oggetto, ecc.) l struttura predicativa (es. predicato, argomenti, aggiunti, ecc.) Schemi di annotazione sintattica l l labelled bracketing (tree structure) dependency structure 23