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- 2^ parte, Appunti di Linguistica

appunti seconda parte corso di linguistica computazionale di informatica umanistica

Tipologia: Appunti

2018/2019

Caricato il 23/01/2019

psychod
psychod 🇮🇹

4.4

(12)

22 documenti

1 / 8

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
ENTROPIA
Un sistema è aleatorio se rappresentabile da un numero di stati che può assumere e le
loro relative probabilità, come nel caso del lancio del dado. Una variabile casuale può
essere un testo, una lingua. L’entropia è una approssimazione del testo rigorosa, data
dalla nozione di Claude Shannon ed è una misura dell’incertezza di un fenomeno e
quanto è dicile predire quel dato esito (grado di incertezza). "
L’entropia nasce come misura del valore informativo di una classe di eventi esclusivi. Gli
eventi rari contengono maggior informazione degli eventi più probabili. Periodicità,
ripetizioni e correlazioni di varia natura rendono gli eventi più prevedibili e quindi meno
informativi. Quanto più piccola è la probabilità, tanto più grande è l’informazione. È quindi
un indice inverso della quantità di struttura presente in un testo. Il valore di massima
entropia si raggiunge quando le parole formano un flusso caotico, in cui ogni nuova
parola ha probabilità costante, indipendente dal contesto che la precede. Aumentando
l’ordine del modello Markoviano, siamo in grado di catturare condizionamenti di ampiezza
crescente tra parole. Può essere solo un numero positivo o uguale a 0."
h(v)= E log2(f(v)h(v)/|T|)="
E p(v)h(v)="
E p(v)log2p(v)"
L’entropia ci consente di descrivere in modo sintetico il comportamento di una intera
distribuzione, è quindi quanto più grande quanto meno sono numerosi i vincoli che
condizionano la distribuzione delle parole."
L’entropia di eventi congiunti è invece data dalla somma degli eventi:"
H=h(v)+h(i)+h(s)…"
L’entropia di eventi non dipendenti tende a essere più piccola dell’entropia della
distribuzione di coppie di parole perché il numero di bigrammi tipo di un testo è
generalmente maggiore del numero di parole tipo dello stesso testo. maggiore sarà il
numero di bigrammi, maggiore è l’entropia della loro distribuzione, in quanto si abbassa la
probabilità associata a ciascun bigramma."
L’entropia puntuale si misura in bits (cifre binarie) da 0 a 1, ed è associata a un
particolare stato del sistema. Di ogni parola quindi è calcolabile il suo grado di
informazione. Il valore calcolato rileva il numero di bit necessari per estrarre quella data
parola. Se tutti gli stati sono equiprobabili si può ricavare dalla formula:"
h(v)=-log2p(v)"
Più piccola è la probabilità, maggiore sarà l’entropia perché porta più informazione. Il
valore massimo rappresenta il caso della parola che ricorre in tutti i testi, e il minimo dove
la parola ricorre in un solo testo. L’entropia viene quindi usata per pesare le parole con cui
indicizzare i testi."
L’entropia di un linguaggio è infinito ma stimabile. Quella incrociata invece consente di
valutare quanto bene un modello probabilistico approssima un certo processo stocastico:"
H=-E P(x)log2N"
Dove P(x) è la probabilità vera e N la distribuzione del modello"
Pagina di 1 8
pf3
pf4
pf5
pf8

Anteprima parziale del testo

Scarica Linguistica Computazionale- 2^ parte e più Appunti in PDF di Linguistica solo su Docsity!

ENTROPIA Un sistema è aleatorio se rappresentabile da un numero di stati che può assumere e le loro relative probabilità, come nel caso del lancio del dado. Una variabile casuale può essere un testo, una lingua. L’entropia è una approssimazione del testo rigorosa, data dalla nozione di Claude Shannon ed è una misura dell’incertezza di un fenomeno e quanto è difficile predire quel dato esito (grado di incertezza). L’entropia nasce come misura del valore informativo di una classe di eventi esclusivi. Gli eventi rari contengono maggior informazione degli eventi più probabili. Periodicità, ripetizioni e correlazioni di varia natura rendono gli eventi più prevedibili e quindi meno informativi. Quanto più piccola è la probabilità, tanto più grande è l’informazione. È quindi un indice inverso della quantità di struttura presente in un testo. Il valore di massima entropia si raggiunge quando le parole formano un flusso caotico, in cui ogni nuova parola ha probabilità costante, indipendente dal contesto che la precede. Aumentando l’ordine del modello Markoviano, siamo in grado di catturare condizionamenti di ampiezza crescente tra parole. Può essere solo un numero positivo o uguale a 0. h(v)= E log2(f(v)h(v)/|T|)= E p(v)h(v)= E p(v)log2p(v) L’entropia ci consente di descrivere in modo sintetico il comportamento di una intera distribuzione, è quindi quanto più grande quanto meno sono numerosi i vincoli che condizionano la distribuzione delle parole. L’entropia di eventi congiunti è invece data dalla somma degli eventi: H=h(v)+h(i)+h(s)… L’entropia di eventi non dipendenti tende a essere più piccola dell’entropia della distribuzione di coppie di parole perché il numero di bigrammi tipo di un testo è generalmente maggiore del numero di parole tipo dello stesso testo. maggiore sarà il numero di bigrammi, maggiore è l’entropia della loro distribuzione, in quanto si abbassa la probabilità associata a ciascun bigramma. L’entropia puntuale si misura in bits (cifre binarie) da 0 a 1, ed è associata a un particolare stato del sistema. Di ogni parola quindi è calcolabile il suo grado di informazione. Il valore calcolato rileva il numero di bit necessari per estrarre quella data parola. Se tutti gli stati sono equiprobabili si può ricavare dalla formula: h(v)=-log2p(v) Più piccola è la probabilità, maggiore sarà l’entropia perché porta più informazione. Il valore massimo rappresenta il caso della parola che ricorre in tutti i testi, e il minimo dove la parola ricorre in un solo testo. L’entropia viene quindi usata per pesare le parole con cui indicizzare i testi. L’entropia di un linguaggio è infinito ma stimabile. Quella incrociata invece consente di valutare quanto bene un modello probabilistico approssima un certo processo stocastico: H=-E P(x)log2N Dove P(x) è la probabilità vera e N la distribuzione del modello

TRATTAMENTO AUTOMATICO LINGUAGGIO(NLP)

Il trattamento automatico del linguaggio comprende una grammatica di regole scritte a mano dove si fonda il modello del linguaggio, e l’algoritmo di apprendimento automatico (Machine Learning). L’algoritmo permette al computer di riconoscere il linguaggio. Nonostante abbia una forte dipendenza con i dati e problemi di data-sparsing, l’algoritmo è adattabile, robusto, rapido nello sviluppo e estendibile. Esistono due grandi categorie di algoritmi basati sui metodi di ML:

  • Non Supervisionati , che non necessitano di corpus annotati a mano per creare il modello
  • Supervisionati , che usa un insieme di dati di training pre-etichettati con la risposta corretta per i nuovi dati. Utilizzano per l’addestramento corpora annotati a mano per la creazione dei modelli e sono adatti a riscrivere problemi di classificazione: dato un insieme di classi predefinite, determinare altre classi da definire. Gli algoritmi di apprendimento automatico sono di largo uso, ma non tutto viene realizzato con essi. Ad esempio la segmentazione in frase si può vedere come una operazione di classificazione: due classi dove i caratteri o sono alla fine della parola o dentro la parola. Gli algoritmi estraggono, dopo una fase di addestramento e una fase di analisi , delle regole che determinano quale POS assegnare alle parole. Le ambiguità esistono a tutti i livelli di analisi e riguardano le varie interpretazioni delle espressioni linguistiche. Sono pragmatiche se possono assumere significati o funzioni diverse. Dopodiché seguono il modello di disambiguazione , il tagger morfo - sintattico e la relativa annotazione in un nuovo testo. Si inizia come sempre dalla tokenizzazione del testo… TOKENIZZAZIONE In LC le unità base del testo digitale sono i token. In un processo di segmentazione del testo, cioè in una qualsiasi sequenza di caratteri, in molti casi delimitata da spazi, vengono distinte le parole (e parole atomiche), i numeri, le sigle, la punteggiatura e i nomi propri. Non esiste un rapporto biunivoco tra le sequenze di token e ogni parola ha la sua variante ortografica e va saputa segmentare in base ai criteri previsti:
  1. Stabilire con precisione quali siano le unità linguistiche atomiche di interesse, per definire i tipi di token in cui il testo deve essere segmentato
  2. Individuare la metodologia e i criteri più opportuni per l’identificazione dei token e le necessarie operazioni di elaborazione del testo
  3. Esprimere i criteri e le trasformazioni necessarie in un linguaggio formale che sia traducibile in un programma eseguibile dal computer Ogni testo ha la sua soluzione specifica, e ciò dipende dalla lingua che è stata usata e dalla sua struttura. I segni di punteggiatura devono considerarsi token indipendenti, quindi vanno separati dalla parola che accompagnano, disambiguandone i loro molteplici usi semantici (date, sigle, url, ecc.). La distinzione tra maiuscole e minuscole ci permette di identificare i nomi propri e di evitare il proliferare di omografie. Il suo trattamento è legato dal tipo di testo perché l’uso delle maiuscole è governato non solo da convenzioni ortografiche e stilistiche, ma anche da competenze e fattori estremamente linguistici.
  • Accuracy=output corretti/|test corpus|; funziona solo se ogni elemento ha un solo tag
  • Precision=TP/TP+FP; misura la correttezza delle risposte del sistema
  • Recall=TP/TP+FN; misura la copertura del sistema
  • F-measure=2PR/P+R; misura la media armonica Dal punto di vista formale, l’analisi morfologica si può considerare come un insieme di simboli (livello superficiale) e un insieme di simboli metalinguistica che servono a rendere espliciti gli attributi e i valori dei morfemi (livello lessicale). In quest’ultimo, per rendere tutto più esplicito, si usano caratteri distinti che contengono separatori, simboli grammaticali etc. Gli ASF nella loro versione autentica composti da:
  • Sigma, un alfabeto
  • Q numero di stati
  • q° uno stato iniziale
  • Funzione di transizioni un insieme di produzioni
  • F insieme di stati finali, Sono modelli computazionali per il riconoscimento dei linguaggi formali: insieme di sequenze (stringhe) di simboli. I simboli sono le lettere e le parole. Usati nella analisi sintattica e morfologica definiscono e generano un linguaggio. Non ha altra memoria che i suoi stati e ha un nastro di input dove sono determinate le stringhe da riconoscere. I TSF sono un modello classico dell’analisi morfologica. Hanno la stessa misura e potenza degli automi, ma non sono solo riconoscitivi di stringhe, ma anche associatori e traduttori di stringhe. Sono caratterizzati da operazioni di sostituzione e la struttura è identica a quella degli automi. Rispetto agli ASF hanno più di un nastro di output, due alfabeti e le transizioni che sono etichettate con una coppia di simboli. Permettono di rappresentare gli aspetti della morfo-sintassi degli ASF, informazioni di tipo lessicale e le regole allomorfiche del linguaggio. Avviene quindi una trasformazione della stringa composta in un lemma e la sua pluralizzazione ove necessario. Inoltre per essere risolto, deve trovare lo stato finale. Di ogni TSF ne esiste il suo inverso perché i nastri di input e output si possono invertire. Una proprietà importante che ci permette di creare un generatore morfologico. Una alternativa all’analisi morfologica, è lo stemming : si riconducono le parole alla loro forma base. È una normalizzazione lessicale che avviene attraverso l’eliminazione e rimozione degli affissi. È un metodo molto semplice che non ha bisogno di sapere le classi di flessione e le varie categorie come ad esempio le radici. Vengono quindi impiegate delle espressioni regolari che rimuovono gli affissi. L’algoritmo più famoso a riguardo, è quello di Porter , insieme di trasduttori che rimuovo pezzi di stringhe e contenente una lista di potenziali affissi. Il parsing è un altro livello di analisi linguistica. Fare parsing significa prendere una frase in input e farne una analisi sintattica. È uno dei task fondamentali della LC. Il tasso di errori è molto elevato. Implica generare una grammatica computazionale dove ci sono delle regole sintattiche. Il parsing vale anche nell’ambito psicolinguistico e soltanto i parser più sofisticati implementano alcune informazioni semantiche. Un analizzatore morfologico ( parser ) analizza il contenuto dei morfemi. Non fa in automatico la loro scomposizione ma inizia da uno schema superficiale dove poter estrarre il contenuto dei morfemi e la loro struttura. Le parole vengono analizzate fuori dal loro contesto da dove ricorrono e di conseguenza l’output è potenzialmente ambiguo.

SCHEMI DI ANNOTAZIONE Uno schema di annotazione definisce il contenuto linguistico dell’annotazione, non il modo in cui l’annotazione è proiettata sul testo. Il tipo di rappresentazione dei parser è a costituenti ( labelled bracketing ) e a dipendenti ( dipendency structure ). Tra l’uno e l’altro ci sono algoritmi di facile applicazione per la conversione. Rappresentano le stesse informazioni ma in modo diverso. Si preferisce usare il dipendency per avere informazione immediata, anche sulla semantica, perché più flessibile. Lo schema di annotazione a dipendenze è più semplice da applicare. si parte da una ricostruzione delle analisi di dipendenze in un grafo ad albero , composto da etichette e relazioni, o in un formato tabellare , in cui le relazioni di dipendenza sono rappresentate chiaramente e identificano l’id delle teste e degli elementi dipendenti. Un albero a dipendenze ha nodi che rappresentano elementi lessicali. Gli arti rappresentano dipendenze lessicali o relazioni grammaticali. La root (radice) ci deve sempre essere ed è il verbo principale della frase. Ad ogni passo dell’analisi, il parser usa un classificatore addestrato su una treebank allo scopo di predire quale azione deve compiere dato l’insieme delle feature locali e contestuali estratte in quel determinato parser. Analizza le frasi da sinistra verso destra compiendo tre azioni:

  • shift , si muove verso destra se non esistono relazioni tra le parole target analizzate
  • right , se viene riconosciuta una relazione, il nodo sinistro è considerata dipendente dal nodo testa a destra.
  • Left , se esiste una relazione tra le due parole, il nodo sinistro è considerato testo del nodo dipendente a destra L’algoritmo prosegue fino a quando non è stato completato l’albero. Per marcare l’albero si può fare una analisi nella quale si classifica ogni arco con la classe sintattica più probabile, o aumentare il numero delle azioni del parser. Lo schema di annotazione a costituenti è stata la prima forma, e la più tipica. La ragione storica è stata l’assunzione della struttura sintagmatica come base della grammatica generativa. È difficile da costruire, soprattutto in lingue dove l’ordine delle parole è libero e si possono trovare in diverse posizioni, e implica costruire un albero sintagmatico dove i nodi non sono parole, ma categorie grammaticali, sintagmi e i termini lessicali. La radice dell’albero è un simbolo metalinguistico che identifica il contesto. La struttura sintattica dei costituenti è ricorsiva , è infatti possibile avere strutture che contengono se stesse negli elementi, e determinano molte relazioni sintattiche che sono di tipo non locale: non è possibile fissare a priori un numero lineare di elementi perché la loro distanza può essere potenzialmente infinita. Anche nei parser più sofisticati si riesce a gestire tali strutture con estrema difficoltà. La struttura ricorsiva sintattica ci può far rendere conto di strutture molto complesse indipendentemente dall’ordine degli elementi. Gli ASF non sono in grado di gestire strutture ricorsive perché per realizzare una struttura di questo tipo si dovrebbe avere un automa che sappia gestire un numero infinito di stati. Ma si possono comunque creare versioni più sofisticate degli ASF. Per ovviare il problema si semplificano le strutture sintattiche che vanno riconosciute, come nello shallow parser, dove si assegna alla frase una struttura di elementi piatti che scompongono la frase in una sorta di segmentazione: il chunking. Gli elementi che compongono la frase segmentata sono i chunk, mancanti delle informazioni di dipendenza che li legano. Questo tipo di rappresentazione infatti rinuncia a rappresentare le strutture più complesse della frase, soprattutto i legami delle parole perché non esiste alcun incassamento gerarchico.

Serve per le ricerche ed elaborazioni più avanzate dei dati linguistici. Gli stessi codici possono essere direttamente recuperate attraverso delle espressioni regolari. Quindi lo scopo è di dotare il computer di una serie di conoscenze sulla struttura e sulle convenzioni di una lingua, eliminando le differenze tra l’organizzazione fisica e logica del testo, attraverso degli algoritmi di apprendimento automatico. L’annotazione linguistica consiste in una codifica di informazioni linguistiche associate al dato testuale. Possiamo anche annotare informazioni relazionali. In LC l’annotazione rende esplicita, interpretabile ed esplorabile dal computer, la struttura linguistica implicita del testo. I dati linguistici si organizzano in più livelli caratterizzati da gerarchie multiple di tratti linguistici, talvolta non perfettamente allineati, e in alcuni casi solo parzialmente definiti. L’annotazione è quindi un processo delicato, aperto e incrementale, e agisce su quattro livelli fondamentali:

  • Il grado di copertura dello schema di annotazione (corrispondenza)
  • La riproducibilità in tutti i fenomeni di interesse
  • L ’interesse con altri livelli
  • Il grado di espressività in un linguaggio di marcatura I dati annotati a mano devono essere valutati per il loro grado di affidabilità e ciò dipende dal grado di accordo tra due o più annotatori indipendenti. L’affidabilità è fondamentale per valutarne la validità del suo schema di annotazione. L’annotazione deve anche essere replicabile in maniera coerente dallo stesso annotatore in tempi diversi a da differenti annotatori, come nel caso del valutatore accordo, dove si calcola un campione del corpus che bisogna annotare da almeno due annotatori indipendenti l’uno dall’altro. Successivamente si misura una statistica per il tasso di accordo: K=P(a)-P(e)/1-P(e) Dove P(a) è la proporzione del numero delle stesse scelte fatte dagli annotatori, P(e) la proprio del numero delle stesse scelte per casualità e K misura l’accordo al netto delle probabilità per accordo casuale. La soglia di validità di K è maggiore di 0.8. Una bassa affidabilità richiede una revisione dello schema di annotazione perché lo schema può essere inadatto per l’annotazione e non abbastanza compreso dagli annotatori L’ annotazione sintattica ha uno schema di annotazioni a costituenti, che rappresentano i sintagmi e il loro incassamento, e a dipendenze: relazioni binarie delle frasi dove vengono indicati i gradi di dipendenza delle parole. I corpora non annotati sono anche detti raw corpora. MODELLI COMPUTAZIONALI I modelli computazionali rappresentano il significato lessicale. Il significato è rappresentato da una rete semantica di relazioni. Le relazioni semantiche sono definite come relazioni tra i concetti espressi delle parole (relazioni tra synset), infatti un concetto viene rappresentato dall’insieme delle parole sinonimi che lo esprimono: i synset. Una parola con n significati appartiene di fatto a n synset diversi. Ogni synset ha un identificatore univoco e possono contenere anche una sola parola. I modelli possono essere Relazionali, come nel caso di Wordnet , o a frame , come nel caso di Framenet.

Wordnet rappresenta il lessico computazionale esistente di maggior successo ed è sia un dizionario che un thesaurus. Ha validazione su ampia scala. Dato un lemma, descrive i suoi possibili sensi. La rete di synsets definisce una rete concettuale e navigandola possiamo trovare tutti i lemmi che appartengono allo stesso dominio/categoria concettuale. Ogni tipo di relazione semantica è associata a uno schema di frase per verificarne la plausibilità. La similarità semantica è data dalla vicinanza tra i loro concetti nella rete: numero di archi/nodi corrispondenti alle relazioni semantiche che separano i synset corrispondenti. La similarità dipende dalla tipologia della rete che è determinata dal lessicografo. Con wordnet si possono esprimere anche preferenze di selezione (tipi semantici) degli argomenti. Framenet come in tutti i casi di modelli a frame, agisce tra predicati e argomenti. Il significato di un termine lessicale predicativo è rappresentato come un frame di ruoli semantici e tematico. Quest’ultimo esprime il ruolo ricoperto da un certo argomento nell’evento espresso dal predicato. Il significato di una entrata lessicale è descritto tramite un semantic frame , una rappresentazione schematica di una situazione o evento in termini dei suoi vari possibili partecipanti (frame elements). Ogni frame Element è associato alle sue possibili realizzazioni sintattiche e per ogni realizzazione sintattica è riportata una frase del corpus annotata in maniera corrispondente. I lemmi ambigui sono associati a più di un frame. Wordnet e Framenet forniscono una rappresentazione “machine understandable” del significato delle parole, e ciò permette di specificare le restrizioni di selezione dei termini lessicali ed eliminare ambiguità sintattiche.