Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Linguistica Computazionale, Appunti di Linguistica

Schemi riassuntivi ma completi di Linguistica Computazionale.

Tipologia: Appunti

2023/2024

Caricato il 29/07/2025

aurora-bettinelli
aurora-bettinelli 🇮🇹

4.7

(7)

28 documenti

1 / 15

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
LA LINGUISTICA COMPUTAZIONALE
è una branca della linguistica
QUINDI l’idea è che esiste una regolarità nella lingua QUINDI non parliamo a caso
lavora con la lingua utilizzando le capacità computazionali di un computer
progetta un’interazione tra macchine - computer - linguaggio umano
obiettivo: sviluppare modelli computazionali della lingua
capire i significati
creare linguaggio naturale (Siri)
tradurre automaticamente
analizzare / generare testi
“computare” = calcolare
→ secondo Leibniz durante una controversia non si deve discutere MA sedersi e dirsi "calculemus"
QUINDI ottenere una sola risposta attraverso una serie di passaggi
QUINDI possiamo creare modelli formali computabili del linguaggio
“computazionale” richiama le discipline che usano
la capacità di calcolo dei computer
gli strumenti e metodologie dell’informatica
Chat GPT: esempio di applicazione della linguistica computazionale
grande modello linguistico sviluppato da Open AI
è un chatbot che permette di conversare con un programma
QUINDI è addestrata con uno scopo preciso
migliore in inglese MA ANCHE altre lingue
dibattito etico
innumerevoli vantaggi (es. text summarization)
svantaggi (usi sbagliati nelle scuole / pericolosi / errori possibili / pregiudizi)
Il modello linguistico computazionale
modello di AI capace di rappresentare la conoscenza il funzionamento del linguaggio
schematizza e replica le interazioni* basate sul linguaggio naturale umano
si basa su regole linguistiche / statistiche / machine learning
è una lista di istruzioni per il computer
PER renderlo capace di interagire con / attraverso il linguaggio naturale
“modello” = rappresentazione concettuale astratta e semplificata di un fenomeno PER
spiegare un fenomeno
fare previsioni su un fenomeno
generare nuovi dati “ben formati”
MA per essere utilizzabile deve saper generalizzare
QUINDI a partire da casi particolari deve saper estrarre tendenze
→ ogni modello comporta una riduzione dell’informazione
2 tipi di modelli
FORMALI (es. modello matematico
epidemiologico)
INFORMALI (es. modello di Jakobson)
= insieme finito di simboli e regole di combinazione
che definiscono la sintassi del modello stesso
interpretabili indipendentemente dal
contesto
utilizzabili dalle macchine
sono descrizioni rigorose / matematiche /
precise di un fenomeno
utilizza calcoli, logica, algebra, statistica
espressi in linguaggio naturale / attraverso
segni interpretabili
dipendono dal contesto per essere
interpretati da un lettore umano
lavorano in modo più qualitativo / descrittivo
/ teorico
N.B. anche la grammatica può essere pensata come modello
= insieme di regole che semplificano il dato linguistico
può essere un modello
informale (es. un libro di grammatica)
formale = che descrive la sintassi di una lingua con regole precise
* diversi livelli di interazione tra uomo e macchina
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Anteprima parziale del testo

Scarica Linguistica Computazionale e più Appunti in PDF di Linguistica solo su Docsity!

LA LINGUISTICA COMPUTAZIONALE

● è una branca della linguistica QUINDI l’idea è che esiste una regolarità nella lingua QUINDI non parliamo a caso ○ lavora con la lingua utilizzando le capacità computazionali di un computer ○ progetta un’interazione tra macchine - computer - linguaggio umano ○ obiettivo: sviluppare modelli computazionali della lingua ■ capire i significati ■ creare linguaggio naturale (Siri) ■ tradurre automaticamente ■ analizzare / generare testi ● “computare” = calcolare → secondo Leibniz durante una controversia non si deve discutere MA sedersi e dirsi "calculemus" QUINDI ottenere una sola risposta attraverso una serie di passaggi QUINDI possiamo creare modelli formali computabili del linguaggio ● “computazionale” richiama le discipline che usano ○ la capacità di calcolo dei computer ○ gli strumenti e metodologie dell’informatica ● Chat GPT: esempio di applicazione della linguistica computazionale ○ grande modello linguistico sviluppato da Open AI ○ è un chatbot che permette di conversare con un programma QUINDI è addestrata con uno scopo preciso ○ migliore in inglese MA ANCHE altre lingue ○ dibattito etico ■ innumerevoli vantaggi (es. text summarization) ■ svantaggi (usi sbagliati nelle scuole / pericolosi / errori possibili / pregiudizi)

Il modello linguistico computazionale

modello di AI capace di rappresentare la conoscenza il funzionamento del linguaggio schematizza e replica le interazioni* basate sul linguaggio naturale umano ○ si basa su regole linguistiche / statistiche / machine learning ○ è una lista di istruzioni per il computer PER renderlo capace di interagire con / attraverso il linguaggio naturale ● “modello” = rappresentazione concettuale astratta e semplificata di un fenomeno PER ○ spiegare un fenomeno ○ fare previsioni su un fenomeno ○ generare nuovi dati “ben formati” MA per essere utilizzabile deve saper generalizzare QUINDI a partire da casi particolari deve saper estrarre tendenze → ogni modello comporta una riduzione dell’informazione ● 2 tipi di modelli

FORMALI (es. modello matematico epidemiologico)

INFORMALI (es. modello di Jakobson)

= insieme finito di simboli e regole di combinazione che definiscono la sintassi del modello stesso ● interpretabili indipendentemente dal contesto ● utilizzabili dalle macchine ● sono descrizioni rigorose / matematiche / precise di un fenomeno ● utilizza calcoli, logica, algebra, statistica

● espressi in linguaggio naturale / attraverso segni interpretabili ● dipendono dal contesto per essere interpretati da un lettore umano ● lavorano in modo più qualitativo / descrittivo / teorico

N.B. anche la grammatica può essere pensata come modello ○ = insieme di regole che semplificano il dato linguistico ○ può essere un modello ■ informale (es. un libro di grammatica) ■ formale = che descrive la sintassi di una lingua con regole precise ● * diversi livelli di interazione tra uomo e macchina

  1. dà voce a testo: computer decodifica le onde sonore dell’input
  2. dà significato QUINDI deve capire quello che sto dicendo / come pongo la domanda / estrarre i dati e poi tradurli in info che trova nel database
  3. reperimento info QUINDI il computer capisce la risposta da dare
  4. dà risposta : tradotta in output vocale

NLP (Natural Language Processing)

● = campo di ricerca della AI che si occupa di sviluppare modelli computazionali che usino e comprendano il linguaggio umano per risolvere task linguistici ● in it. TAL = Trattamento Automatico del Linguaggio ● è interdisciplinare INFATTI coinvolge ○ linguistica teorica (quali sono le parti del disc / senso di una parola) ○ linguistica formale / matematica (come formalizzare modelli capaci di risolvere i problemi del NLP) ○ ingegneria dei software (come creare programmi efficienti) ● tasks dell’NLP → si possono dividere in 3 categorie principali

  1. pre-processing ■ = preparare il testo per analisi successive ■ es. separare il testo in parole, tokenizzazione, sentence splitting
  2. classificazione ■ = assegnazione di etichette a parti del testo per creare relazioni tra parole ■ es. post-tagging, lemmatizzazione, analisi sintattica, NER, WSD
  3. generazione ■ far sì che il computer produca un testo in modo autonomo ■ es. traduzione automatica, generazione di risposte e domande o di riassunti → tasks dell’NLP più specifici
  4. part-of-speech tagging ■ anche tokenizzazione; NER; SA, Q&A ■ classificazione automatica in parti del discorso QUINDI a ogni parola assegna la sua categoria (nome, verbo, agg)
  5. lemmatizzazione = riduzione della parola alla forma base / di citazione canonica
  6. analisi sintattica (parsing) = analisi delle relazioni sintattiche tra parole in una frase
  7. word-sense disambiguation = distinzione dei diversi significati di 1 parola in un contesto
  8. machine translation = traduzione automatica di un testo input da una lingua a un’altra ● queste task possono essere combinate in una pipeline ○ utile per sottoporre un testo non analizzato a una serie di elaborazioni ○ esempio della pipeline della libreria Python ■ si parte dal testo grezzo / vergine ■ tokenizzazione ■ POS Tagging PER riconoscere le parti del discorso ■ analisi delle relazioni sintattiche (parsing) ■ named entity recognition (riconoscimento entità nominate) ■ analisi del sentiment ■ classificazione ■ question answering

L’intelligenza artificiale (AI)

● forma di intelligenza tipica delle macchine e la sua relazione con l’intelligenza umana ● si occupa di creare macchine intelligenti che sappiano replicare le capacità umane ● la linguistica computazionale è parte della AI INFATTI questa disciplina viene applicata in diversi modi ○ in ambiti di ricerca sul linguaggio ○ applicazioni concrete fatte attraverso la tecnologia e l’industria

COS’È UN CORPUS E COME SI CLASSIFICA

● “corpus” → 2 definizioni

  1. raccolta di testi ■ usati per lo studio di una variante linguistica ■ obiettivo: analizzare il linguaggio in modo sistematico ■ selezionati per fini di ricerca teorica o applicata sulla lingua e per soddisfare i criteri che li rendono funzionali per le analisi linguistiche
  2. Sincler: collezione di testi in formato elettronico ■ selezionati sulla base di criteri esterni ■ obiettivo: rappresentare un linguaggio come fonte di dati per la ricerca linguistica MA bisogna rispettare dei criteri esterni sulle forme comunicative principali di una comunità di parlanti ● esempi di corpus ○ British National Corpus ○ Corpus of Contemporary American English (COCA) ○ Helsinki Corpus of English Texts ○ CORIS (corpus della lingua italiana contemporanea) ○ DiaCORIS ○ Corpus Repubblica ● Brown Corpus ○ è il capostipite dei corpus creato nel 1964 ○ = collezione di dati codificati per lo studio di una variante linguistica → es. per studiare delle parole / strutture grammaticali ○ contiene 1 mln di parole tratte da 500 testi scritti di diversi generi (15 generi) ● classificazione dei corpus in base a ○ generalità (ambito di utilizzo) ■ corpora specialistici = testi di settore specifico (es. testi giovanili / medicina) ■ corpora generali = rappresentano la lingua in modo ampio e vario ○ modalità (tipologie di testi) ■ corpora scritti = includono testi di lingua scritta (es. Brown Corpus) ■ corpora del parlato = trascrizione di discorsi, conversazioni ■ corpora misti = combinano testi scritti e orali (es. British National Corpus) ○ cronologia (periodo coperto) ■ corpora sincronici
  • es. Brown Corpus
  • raccolgono testi di un periodo storico MA senza considerare l’evoluzione storica della lingua ■ corpora diacronici
  • es. Helsinki Corpus of English
  • studiano il mutamento di una lingua nel tempo QUINDI strutturati in sezioni di testi che rappresentano le diverse epoche QUINDI suddivisi in gruppi cronologici ○ estensione (dimensione del corpus) ■ dimensioni standard (limitate e ben definite) ■ grandi dimensioni (mln o mlr di parole) ○ lingua ■ monolingue (rappresenta una sola lingua) ■ multilingue (contiene testi in più lingue)
  • parallelo = traduzioni di testi DA L1 A L → sono corpus allineati PERCHÉ le frasi corrispondono
  • comparabile = no traduzioni MA testi che si basano sugli stessi criteri ○ annotazione (livello di elaborazione dei testi) ■ raw corpora (contengono solo testi originali; no info aggiuntive) ■ corpora annotati (includono info extra relative ad aspetti linguistici) ● caratteristiche dei corposa ○ rappresentatività INFATTI il corpus è un modello in scala della lingua QUINDI testi selezionati devono essere più simili possibili alla varietà linguistica reale

○ bilanciamento → corpus per essere rappresentativo deve includere testi diversi MA in modo equilibrato ● discipline che lavorano con i corpora ○ linguistica computazionale ■ i corpora sono fonte di dati per modelli di elaborazione del linguaggio naturale e NLP PER creare modelli probabilistici / statistici che affrontano i task dell’NLP MA caratterizzato da distribuzione diseguale di fenomeni QUINDI spesso si preferisce usare una grande quantità di dati rispetto al bilanciamento / rappresentatività ○ literary computing: studio dello stile o del contenuto di testi letterari ○ corpus linguistic: studio empirico della lingua sulla base di dati concreti

TESTO E COMPUTER

● per i computer il testo è una sequenza di caratteri ● il computer lavora solo con numeri binari: 0 e 1 → un testo è leggibile da un PC SE il carattere è scritto in una sequenza di bit (di 0 e 1) MA per fare ciò si usa un sistema di codifica standard PERCHÉ tutti i computer devono saper interpretare i caratteri allo stesso modo ● “carattere” = unità di base di un sistema di scrittura ○ è un concetto astratto PERCHÉ ■ confini tra cos’è un carattere e cosa non è può variare → es. “q” e “A” sono lo stesso carattere o due diversi? ■ per il computer non è importante la sua forma grafica (font, dimensione, colore) PERCHÉ vede solo il codice associato → il carattere è associato a determinati glifi ● come vengono codificati i caratteri? per trasformare caratteri in numeri servono: ○ repertorio di caratteri (lista di caratteri necessari per scrivere in una lingua) ○ set di caratteri (tabella che associa un numero a ogni carattere) ○ punto di codice (numero associato a un carattere in uno spazio di codifica) ○ codifica (metodo con cui un numero viene tradotto in una sequenza di bit – 0 e 1 – e memorizzato nel computer) ● quanti caratteri possiamo esprimere? ○ se usiamo 8 bit (8 cifre binarie): 256 caratteri (2^8 = 256) ○ se usiamo 7 bit e ne teniamo 1 come codice di controllo: 128 caratteri (2^7 = 128)

Quali sono gli standard?

● ASCII (American Standard Code for Information Interchange) ○ 1° standard di codifica (nato nel 1963) ○ usa 7 bit per rappresentare i caratteri QUINDI solo 128 simboli CONSEGUENZA: basta per inglese MA non per le altre lingue CONSEGUENZA: create delle estensioni per supportare altre lingue: ISO- ■ usa 8 bit → 256 caratteri ■ esistono diverse versioni

  • Latin 1: per le lingue dell’Europa Occidentale (256 caratteri)
  • ISO-859-5: per alfabeti come il cirillico MA problema: i vari ISO sono incompatibili tra di loro QUINDI viene creato Unicode ● Unicode ○ = standard che può codificare tutte le lingue del mondo (161 alfabeti) ○ il codice di ogni carattere è chiamato “code point” ○ il suo spazio di codice va da 0 a più di un milione (comprese le emoji) ○ gestito dall’Unicode Consortium ○ non è una codifica MA un sistema di riferimento QUINDI per usarlo nei computer servono diversi sistemi di codifica come ■ UTF-8 = converte i code point in byte di lunghezze variabili ■ UTF-16 = usa 2 byte per ogni carattere ● cosa succede se un computer conosce un carattere ma non può mostrarlo?

Per cosa si usano le regex?

  1. trovare parole con forme diverse → es. per trovare sia “woman” sia “women”: wom[ae]n
  2. sostituire testo in modo automatico → es. aggiungere un punto ogni 3 cifre in un numero lungo: 10.000: (\d) (?=(\d{3})+$)
  3. supporto nei linguaggi di programmazione ○ software che permettono di fare ricerca usando un “trova e sostituisci” (es. openoffice) ○ permettono di estrarre / modificare dati o stringhe velocemente ○ fanno da text editor PER fare editing di un testo semplice che ha l’estensione txt

Esercizio pratico: trovare i participi passati nella Divina Commedia È necessario trovare tutte le parole che terminano in -ato, -eto, ito, -oto, -uto. Prima scriviamo regex per trovare tutte le parole che finiscono in -to: [aeiou]to → MA problema: così trova anche le forme all’interno delle parole QUINDI specificare che -to deve essere alla fine delle parole: [aeiou]to\b

● si individuano 2 tipi di errori per migliorare le regex

  1. falsi positivi = vengono catturate stringhe che non dovevano essere match
  2. falsi negativi = stringhe non catturate che sarebbero dovute comparire tra i match

Esempio pratico: trovare parole che finiscono per vocale nella Divina Commedia Non vengono trovate tutte perché alcune può essere che siano seguite da segni di punteggiatura. Soluzione: [aeiou]\W+$

● “ground truth” ○ = analisi già fatta da qlc e presa per buona ○ su di essa misuriamo le competenze del sistema computazionale

LA TOKENIZZAZIONE: ● token ○ = unità fondamentale nel quale si segmenta il testo per l’analisi ○ in italiano normalmente è ogni forma di parola separata con uno spazio MA ci sono eccezioni e zone grigie ■ “c’era” → 2 token ■ “New York” → dipende ● tokenizzazione = processo attraverso cui segmentiamo il testo in parole e simboli (token) ○ modo per le aziende di proteggere dati sensibili ATTRAVERSO la trasformazione di dati sensibili in dati non sensibili (token) ○ tokenizzatore = programma che esegue la tokenizzazione ○ ≠ sentence splitting = processo di segmentazione del testo in frasi (gruppo di token) ○ caratteristiche della tokenizzazione

  1. convenzionale PERCHÉ funzionale al tipo di analisi desiderata ■ quasi sempre segue pratiche standardizzate MA non esiste un unico modo correcto per tokenizzare ■ es. se siamo interessati all’analisi morfosintattica possiamo voler distinguere tra - preposizione + articolo (in del ) - ausiliare e negativo (in inglese don’t )
  2. essenziale PERCHÉ è la base di qualsiasi analisi del testo INFATTI ogni analisi futura partirà dal testo tokenizzato come input ○ 3 modi per tokenizzare
  3. NLTK (Libreria Python per l’NLP)
  • usa regex e regole fisse (rule based)
  • è specifico in base alla lingua PERCHÉ ogni lingua è diversa
  • può distinguere tra punteggiatura e numeri
  1. Spacy (libreria Python per l’NLP)
  • ha modelli per lavorare su lingue diverse
  • prende in input un testo semplice e restituisce un testo con annotazioni
  • funzione di explain PERCHÉ spiega cosa fa il tokenizzatore e sa fare sentence splitting
  • approccio rule based
  1. UD Pipe ( serie di modelli per l’NLP)
  • fa tokenizzazione e sentence splitting
  • approccio data driven = modello probabilistico QUINDI impara dai dati

ESPLORARE I CORPORA

● con un corpus (insieme di testi) tokenizzato possiamo ○ usare la statistica per esplorarlo ○ studiare quanto è ricco un testo o un corpus dal pdv lessicale ○ capire quali sono le parole più frequenti ○ capire se ci sono regolarità statistiche (es. se esiste un certo stile) ● cosa osserviamo quando studiamo un testo? → le parole che si possono studiare guardando il comportamento dei token ● possiamo prendere in considerazione diverse nozioni di “parola” ○ token = parola-unità QUINDI ogni parola nel testo (ripetizioni incluse) ○ type = parola-tipo ripetute ■ = ogni parola unica nel testo, ogni forma specifica ■ es. il gatto dorme e i gatti giocano → sia “gatto” sia “gatti” sono types ○ lemma = parola-lemma ■ la forma base di una parola → contata una volta ■ es. andai, andremo, andando appartengono al medesimo lemma: andare

type vs lemma nella frase: il gatto dorme e i gatti giocano

  1. identifichiamo il numero di types: il - gatto - dorme - e - i - gatti - giocano (7 types)
  2. identifichiamo il numero di lemmi: il - gatto - dormire - e - giocare (5 lemmi)

○ parole grammaticali = aiutano a strutturare il discorso MA non danno il contenuto comunicativo al testo ○ parole piene / lessicali = forniscono il senso ● definizioni da sapere ○ vocabolario (V) ■ = lista di parole-tipo (type) presenti in un corpus / testo ■ la formula |V 1 | indica il numero di parole-tipo nella lista ○ corpus (T) = lista dei token (parole-unità) attestati ○ hapax (VT^1 ) = lista di parole-tipo attestate una volta sola

● per catturare la ricchezza lessicale si usa la token type ratio (TTR) ○ rapporto tra numero delle parole tipo di un corpus e il numero totale dei token ○ se TTR è alto (vicino a 1) → testo ha vocabolario molto vario ○ se TTR è basso (vicino a 0) → testo ha molte parole ripetute

LA LEGGE DI ZIPF

● creta nel 1939 da George K. Zipf ○ descrive come vengono distribuite le parole in un testo o in un corpus linguistico ○ ipotizza che le grandezze variano secondo una proporzionalità fissa → “la frequenza di una parola qualunque è più o meno uguale alla frequenza della parola più frequente, diviso il rango della parola che stiamo considerando” QUINDI la frequenza di una parola è inversamente proporzionale alla sua posizione nel rango

● se trasformiamo questi valori in logaritmi diventa:

log f (z) = log C - a log z

● perché la legge Zipf è importante ○ è una caratteristica di tutte le lingue naturali ○ la distribuzione zipfiana si osserva anche in altri fenomeni sociali ○ dice che la frequenza delle parole non dipende direttamente dal contenuto da comunicare ○ ha conseguenze per lo studio e il trattamento delle lingue

dove:

  • “z” è il rank di una parola
  • “C” è una costante di proporzionalità
  • “a” è un esponente molto vicino a 1

● esempio in cui l’identificazione automatica delle parole chiave può tornare utile → Corpus dell’Old Bailey ○ collezione di atti processuali di una delle principali corti penali di Londra INFATTI raccoglie i verbali di oltre 200 000 processi dal 1674 fino al 1913 ○ case: ragazzo vuole capire quali sono gli aggettivi che più frequentemente sono associati ad alcune parole chiave

3. identificazione automatica della terminologia tecnica

● concordanze ● espressioni regolari (Regex)

ANNOTAZIONE LINGUISTICA

● serve per sapere quante parole lessicali ci sono in un corpus QUINDI per aggiungere info linguistiche ad un testo ATTRAVERSO etichette ○ tagset = insieme delle etichette usate per annotare → nessun’altra etichetta al di fuori di quelle del tagset è ammessa ○ vengono aggiunte a un testo rispettando un formato QUINDI si seguono delle linee guida (grammatica, manuale su come annotare) ● ogni aspetto linguistico di un testo può essere annotato → ci sono diversi livelli linguistici di annotazione ○ lessicale (token, lemmi) ○ morfologico (separare suffissi e prefissi dalle parole) ○ sintattico (classificare per parti del discorso le parole / marcare le relazioni sintattiche) ○ semantico (distinguere i sensi delle parole / classi semantiche / ruoli semantici) ○ pragmatico (marcare gli atti linguistici / atti dialogici) ○ testuale (si possono annotare pronomi / anafore / connettivi) ● possiamo etichettare ○ gruppi di token già etichettati ○ token etichettati ○ relazioni etichettate tra gruppi di token

Questa slide rappresenta il tipico workflow, cioè la sequenza di operazioni nel lavoro di annotazione raccomandato per creare annotazioni e utilizzarle per addestrare dei modelli

Non si tratta di un ciclo semplice perché comprende un sottociclo nelle fasi 1-

  1. model: un modello informale del dominio che vogliamo annotare (es. i lemmi) QUINDI è la nostra modellizzazione del fenomeno che vogliamo annotare MA prima di annotare dobbiamo definire ○ che cosa vogliamo annotare nel testo ○ quali siano gli attori del nostro mondo → a questo punto possiamo definire i due oggetti fondamentali che definiscono le nostre regole ○ i tagset ○ le linee guida per l’annotazione morfosintattica*
  2. annotate: ○ dividiamo i testi che vogliamo annotare

MA facendo in modo di dare a annotatori diversi uno stesso testo PER comparare il loro lavoro nella fase 2.1 di evaluate ○ vediamo se i diversi annotatori hanno lavorato coerentemente (evaluate) → fase in cui si calcola l’ Inter-annotator Agreement ■ si quantifica il grado di accordo degli annotatori ■ si lavora sulla riconciliazione delle divergenze POI si arriva alla “Gold standard” ■ annotazione manuale finale ■ è quello che viene prodotto alla fine della seconda fase → questa annotazione viene usata per le fasi di addestramento dei modelli automatici e per testare le loro performance ○ 2.2 revise: se il grado di accordo è basso abbiamo un problema con le linee guida QUINDI occorre chiarire i concetti e lavorare a produrre istruzioni migliori ■ si torna alla fase di model e annotate ■ si prosegue solo quando si ha raggiunto un grado di accordo accettabile

  1. train: ○ usiamo i dati per fare addestramento supervisionato di modelli ○ si usa 80% del gold standard
  2. test ○ si testa la capacità del modello di annotare correttamente ■ si usa la parte rimasta del gold standard (20%) ■ si nascondono le annotazioni manuali ■ si generano nuove annotazioni con il modello ○ si confronta il lavoro del gold standard con quelle automaticamente prodotte dal modello

*L’annotazione morfosintattica

● serve ad aggiungere info grammaticali alle parole di un testo ● ci aiuta a capire meglio come funzionano le parole nella frase ● può essere ○ manuale QUINDI annotatori esperti etichettano testi seguendo linee guida ○ automatica QUINDI fatta da software e algoritmi ● elementi fondamentali nell’annotazione morfosintattica

  1. lemma ○ = forma base della parola che descrive la sua radice semantica ○ “lemmatizzazione” = annotazione che associa una forma di citazione a tutti i token
  2. POS tag = etichetta che indica la categoria grammaticale di una parola
  3. sintassi ○ riguarda la struttura della frase e le relazioni grammaticali tra le parole QUINDI collega le parole tra di loro ○ studia ruoli sintattici e relazioni dipendenziali QUINDI annota le relazioni sintattiche ● oggi esistono 2 modelli per annotare
  4. albero a costituenti (a costituenti) ■ parole raggruppate in gruppi legati da relazioni sintattiche ■ es. John loves Mary → 3 parti del discorso che dipendono l’una dall’altra
  5. nessun sintagma necessario (a dipendenze) QUINDI relazioni dirette l’una con l’altra

Universal dependencies

● è un framework → modello per annotazione linguistica con regole specifiche ○ prodotto da una comunità che produce un treebank PER elaborare linee guida per l’annotazione ● è un corpus di treebank (corpus delle regole) INFATTI offre 183 treebank per 104 lingue ● costituito su 3 principi ○ formalismo a dipendenza (relazioni sintattiche tra le parole) ○ lessicalismo (annotazione delle parole) ○ recuperabilità (è sempre possibile ricostruire il testo originale)

Feature engineering

● = processo di creazione / trasf / selez delle caratteristiche / features PER migliorare le prestazioni di un modello machine learning ○ procedimento in cui trasformiamo il testo in numeri ○ aiutata da tecniche come lemmatizzazione / uso di specifici dizionari ○ migliora la qualità dati, può ridurre complessità, aiuta a trovare pattern nascosti ● questi numeri li useremo in una funzione di classificazione → identifichiamo un peso (w) per ogni feature (x) COSICCHÉ ogni x 1 abbia il suo w 1 , ogni x 2 il suo w 2 ecc…

MA vogliamo che “z” sia compreso tra 0 e 1 PER farlo leggere al modello per la classificazione CONSEGUENZA: entra in gioco la funzione logistica sigmoide

○ per minimizzare al minimo l’errore / differenza tra y 1 e y ■ loss function (funzione di perdita) ■ algoritmo di ottimizzazione (gradiente decrescente che aggiorna i valori di w) ○ durante la regressione logistica ■ 80% dati → per addestramento (training) ■ 10% dati → prestazioni (development) ■ 10% dati → per il test PER evitare l’overfitting

Training del modello

● viene confrontato il modello con uno stato dell’arte (SOTA) PER valutare la sua performance di classificazione QUINDI per vedere se il nuovo modello è più accurato e innovativo di quelli esistenti

VALUTARE UN MODELLO ● = verificare le prestazioni di un modello su dati mai visti ● 2 tipi di valutazione ○ qualitativa (esperti valutano azioni modello) ○ quantitativa (con metrica / misure ben definite e oggettive) ● suddivisione dati ○ dati di addestramento (per insegnare al modello) ○ dati di validazione (per evitare che il modello impari a memoria) ○ dati di test (per vedere quanto il modello funzioni bene sui nuovi dati) ● una forma di valutazione è con la creazione di una matrice di confusione* (confusion matrix) ○ tabella che serve a visualizzare il confronto tra ■ le predizioni fatte dal modello (orizzontale) ■ le classificazioni reali degli esperti (verticale) ○ ha 4 valori ■ VP = vero positivo → modello ha predetto giusto ■ VN = vero negativo → modello ha predetto qlc che non c’è e aveva ragione ■ FP = falso positivo → modello ha sbagliato PERCHÉ trovato qlc che non c’era ■ FN = falso negativo → modello ha sbagliato PERCHÉ non ha trovato qlc che c’era

● metriche principali per valutare:

○ accuratezza:

○ precisione:

○ recall:

○ F1:

Il POS tagging (task dell’NLP)

● utile per analisi successive INFATTI elimina molta ambiguità ● consiste nell’assegnare a ogni toke una parte del discorso (nome, verbo…) ● i sistemi più avanzati usano reti neurali ○ modelli matematici ispirati al funzionamento del cervello umano ○ sono composte da nodi (neuroni) organizzati in strati ■ strato di input (riceve i dati iniziali) ■ strato nascosto (elabora info combinando dati) ■ strato di output (produce il risultato finale) → ogni nodo riceve i valori di ingresso > esegue calcoli > passa risultato a strato success ○ primi modelli neurali: anni 50 POI esplosione nel 2010 GRAZIE A capacità di calcolo più elevate dei computer

IDENTIFICAZIONE DELLE ENTITÀ NOMINATE - Named Entity Recognition (NER)

● compito del NLP che consiste nel tradurre e classificare parole o frasi che indicano oggetti specifici del mondo reale (nomi persona, città, aziende…) ● “entità nominata” (NE) ○ = parola o espressione che si riferisce in modo preciso a qlc di specifico e importante ○ spesso si tratta di nomi propri MA può includere anche espressioni nominate ○ possono estendersi su più token o essere annidate una dentro l’altra ● fondamentali per l’estrazione di info e supporto per compiti avanzati ● es. Leonardo Da Vinci ha dipinto la Gioconda a Parigi ○ Leonardo Da Vinci → persona ○ Gioconda → opera d’arte ○ Parigi → città ● caratteristiche NER ○ segmentazione del testo QUINDI trovare dove inizia / finisce entità nel testo ○ definizione delle etichette alle entità ● formato IOB ○ metodo comune utile per segmentare il testo MA non permette di registrare le entità annidate ○ es. Leonardo (B), Da (I), Vinci (O), dipinse la Gioconda (B) a Parigi (B)

● Named Entity Linking (disambiguation)

○ una volta riconosciute le entità si deve capire a quale sign / oggetto specifico si riferiscono QUINDI collega il nome al giusto riferimento (spesso usando il database) → spesso usando fonti come WIkipedia e database online ○ es. “Alessandria” → D’Egitto o quella a Torino? ○ le entità possono essere classificate in

  1. categorie generiche
    • persone (PER)
    • luoghi (LOC)
    • organizzazioni (ORG)
  2. testi di dominio (relative a un determinato dominio)