Linguistica dei corpora Flashcards
Linguistica computazionale e dei corpora
Qual è lo scopo della linguistica computazionale?
L’obiettivo principale della linguistica computazionale è sviluppare dei modelli della lingua che insegnino alla macchina come funziona il linguaggio e permetterle di comunicare con l’utente.
Questa ricerca attualmente sta virando verso una prospettiva ribaltata, ovvero verso il modo con cui è possibile che la macchina sia utile per l’indagine linguistica
Quali sono le principali tappe della LC?
- Padre Roberto Busa e la creazione di un sistema di schede forate che permettesse alla macchina di restituire indici e occorrenze dei termini all’interno dell’Opera Omnia di San Tommaso
-
Chomsky, autore di Syntactic structures, che aveva alla base il tentativo di spiegare le strutture del linguaggio, cioè quelle regolarità che si ripresentano nelle varie lingue allo stesso modo. Questa ricerca delle regolarità va incontro al tentativo di insegnare il linguaggio alla macchina. Questo si ottiene cercando di risalire alla competenza astratta della lingua che ha un parlante, al di là della variazione, che da Chomsky veniva considerata come un fenomeno secondario.
Questo è vero solo a seconda dell’ambito di ricerca in cui si opera. Il tipo di ricerca chomskiana non è dunque interessata alla frequenza, ma solo al fatto che una data cosa faccia o no parte della competenza dei parlanti. - Parallelamente a questo approccio, soprattutto in ambito anglosassone, si sviluppano linee di ricerca empirista, che considera anche un’analisi quantitativa. La creazione infatti di una risorsa che permetta al ricercatore di accedere a molte ore di parlato permette un’analisi anche quantitativa. Rispetto al paradigma generativista, questo approccio non ha interesse nella competenza astratta del parlante. I corpora inoltre permettono di studiare i naturally occurring data, e non solo forme scritte e fissate, che per forza di cose non rispecchiano la versione più recente della lingua parlata e la sua varietà.
- Nel 1964 viene costruito il Brown Corpus, primo corpus elettronico realizzato dalla Brown University e che contava 1 milione di parole in inglese americano parlato in quel periodo
Cosa si intende per dato linguistico?
Quali sono i due tipi di dati utilizzabili?
Per dato linguistico intendiamo i prodotti del linguaggio frutto di un processo di analisi, quindi la base o l’evidenza empirica su cui sviluppiamo i modelli.
Ci sono diversi tipi di dato linguistico, e diversi tipi di motivazioni che portano a propendere per un tipo di dato piuttosto che per un altro:
- Dati ecologici, cioè le produzioni spontanee dei parlanti. Tuttavia nel tempo di osservazione dei parlanti non è detto che riusciamo ad osservare il fenomeno linguistico su cui ci interessa fare ricerca; inoltre l’osservazione in contesti naturali implica una serie di variabili che caratterizzano il contesto e delle quali è difficile capire l’incidenza sul comportamento del parlante. Allo stesso modo è difficile stabilire quanto ampio è necessario che sia il corpus
- Dati controllati, basati non sulla produzione del parlante ma sul parlante stesso e sulla percezione che egli ha delle proprie abitudini linguistiche, estraibili da questionari. L’osservazione di questo tipo permette di controllare gli elementi che caratterizzano l’ambiente
Nessuno dei due metodi è superiore all’altro, si differenziano semplicemente per il tipo di ricerca a cui si può applicare.
Cosa sono i corpora?
Che vantaggi offrono gli odierni corpora digitali?
I corpora sono le raccolte di dati preferite dalla linguistica computazionale, e possono essere definiti come una raccolta di testi selezionati e organizzati in modo da soddisfare specifici criteri che li rendono funzionali alle analisi linguistiche.
Prima degli odierni corpora digitali esistevano corpora cartacei. I moderni corpora digitali tuttavia permettono una raccolta di dati maggiore, offrono strumenti di esplorazione della lingua migliori, inoltre permettono di sviluppare modelli computazionali della lingua.
Quali sono le caratteristiche classificatorie dei corpora?
I corpora possono essere distinti per:
1. GRADO DI GENERALITÀ: possono essere verticali (o specialistici), quindi focalizzati su una specifica varietà linguistica, e sono tipicamente sono legati a uno specifico progetto di ricerca; corpora orizzonatali ( o generali), che presentano il massimo grado di generalità, perché mirano a rappresentare una lingua nel suo complesso. Sono spesso utilizzati come strumenti di riferimento per lo studio di una lingua.
2. MODALITÀ: si dividono in corpora di lingua scritta e corpora di lingua parlata, questi con testi originariamente di forma parlata, che hanno successivamente subito una trascrizione. Possono anche essere misti, unendo quindi le due modalità; presenti anche i corpora multimodali, costituiti da registrazioni audio e video, successivamente trascritte.
3. CRONOLOGIA: i corpora possono essere composti da testi raccolti in un unico momento, e che quindi documentano una fase della lingua, oppure diacronici, che contengono testi di periodi differenti, per esempio con lo scopo di monitorare il cambiamento linguistico.
4. LINGUA: I corpora monolingui sono quelli contenenti testi in un’unica lingua.
I corpora bilingui o multilingui hanno più lingue. A loro volta questo tipo di corpora si dividono in:
- Paralleli, che contengono testi della lingua originaria e nella traduzione in un’altra lingua. I corpora sono allineati se le unità linguistiche in L1 sono esplicitamente collegate a quelle in L2. Questo tipo di corpora è fondamentale per lo sviluppo della traduzione automatica
- Comparabili, che contengono testi originali redatti in lingue diverse, comparabili quanto più i parametri di selezione dei testi sono omogenei
4. INTEGRITÀ DEI TESTI: un corpus può contenere testi interi oppure porzioni di testi
5. CODIFICA DEL TESTO: Il testo può essere non annotato oppure annotato. Possiamo per esempio avere informazioni riguardo i lemmi (lemmatizzazione), oppure pos tagging, ovvero l’etichettatura per parti del discorso.
6. ESTENSIONE: il volume del corpus è dato dal numero di token presenti.
Quali sono in linea di massima le caratteristiche dei moderni corpora?
Attualmente i corpora tendono a contenere un po’ di parlato; inoltre sono in aumento i corpora multilingui; i sistemi di tagging sono semiautomatici, anche se questi hanno una maggiore effettività con lo scritto che col parlato.
Tendenzialmente i corpora di parlato non sono annotati, ma le trascrizioni sono corredate dal loro audio.
Infine i corpora attuali sono dotati di diversi strumenti di ricerca che possano agevolare il ricercatore nella propria ricerca e analisi.
Perché è importante prestare attenzione non solo ai dati di natura quantitativa ma anche qualitativa nella costruzione e nella consultazione di un corpus?
Un corpus dovrebbe contenere al proprio interno testi significativi per esplorare una certa varietà di lingua, per questo è necessario costruire un campione di testi bilanciato, che sia rappresentativo della popolazione totale e che permetta dunque di generalizzare i fenomeni osservati al proprio interno.
La costruzione di un campione bilanciato prevede di definire:
- Quali sono i parametri che permettono di classificare la popolazione
- Da quali elementi è costituita la popolazione
- Come è costituito il campione, considerando un numero preciso di esaminati da prendere in considerazione
Bisogna tenere presente che più il corpus è verticale più facilmente è rappresentativo della varietà di lingua che mira a rappresentare
Come e perché la linguistica computazionale si serve dei corpora?
Le informazioni linguistiche contenute nei corpora vengono utilizzate per considerare quali strutture devono entrare a far parte della competenza rappresentata dal modello che la macchina usa come riferimento per il linguaggio.
Anche se i corpora mirano a rappresentare il reale in maniera particolare, bisogna tenere presente che si tratta pur sempre di una serie finita di dati che mira a rappresentare una quantità di prodotti linguistici potenzialmente infiniti.
Quindi il corpus inevitabilmente ha in sé caratteristiche di parzialità e arbitrarietà, frutto di ragioni pratiche e teoriche dei ricercatori. Per questo motivo è importante che chi crea il corpus espliciti le scelte metodologiche fatte, e dall’altra parte che chi ne fa uso si interroghi sui criteri usati da chi ha costituito il corpus.
Qual è lo scopo dei corpora di addestramento?
Qual è il principale limite legato a questi corpora?
Sono utilizzati per l’addestramento dei modelli linguistici: l’obiettivo è costruire modelli di un fenomeno linguistico a partire dagli eventi osservati in un corpus di addestramento, indagando per esempio il significato di una parola, la strutturazione di sintagmi etc.
Si osservano quindi le regolarità nei dati per elaborare modelli con cui fare previsioni; il modello è poi usato per l’analisi computazionale del linguaggio .
Il contro di questo è che gli eventi più rari, essendo meno frequenti, portano più facilmente a errori.
Questi modelli sono semi-automatizzati, perché soprattutto all’inizio del lavoro il modello ha bisogno di essere corretto manualmente.
Cosa si intende con la frase “There is no data like more data”?
Nell’ottica dell’addestramento di un modello linguistico, per il buon addestramento dello stesso è tendenzialmente preferibile una più ampia quantità di dati non bilanciati, piuttosto che una minore quantità di dati bilanciati.
Quali sono i vantaggi e i limiti del web usato come corpus?
Nell’ottica del There is no data like more data, il web si presta ad essere usato come corpus di addestramento, essendo un vastissimo contenitore di parole (se ne contavano 2k miliardi solo nel 2003). Utilizzando il web inoltre molte più lingue possono essere prese in considerazione. Il web può rivelarsi utile però per lo studio di fenomeni quali i neologismi.
Il web però, per quanto possa essere grande, non considera numerose varietà, e non è rappresentativo di nulla in relazione ad una data lingua. Può essere utile per verificare quanti risultati web sono legati ad una data parola, cosa che ci dà un’idea dei volumi di uso del termine cercato.
Cosa si intende per codifica di livello zero?
La codifica di livello zero fa in modo che la macchina sia in grado di leggere il testo, trasformandolo in una sequenza di caratteri. I caratteri vanno associati a codici binari univoci, che disambiguino le caratteristiche del carattere (quindi il corsivo, il maiuscolo, il grassetto etc.).
Il set di caratteri che per molto tempo è stato il più diffuso è stato l’ASCII (American Standard Code for Information Interchange), nel quale ad ogni carattere è associato un byte.
Il sistema ASCII tuttavia non garantiva la biunivocità fra carattere e codice; per questo venne sviluppato Unicode, considerato come un set di caratteri universale, riuscendo a codificare tutti i caratteri delle lingue antiche e moderne.
Cosa si intende per codifica di alto livello? Perché è importante che venga attuata?
La codifica di alto livello è la codifica delle informazioni di struttura testuale, che sono fondamentali per comprendere la struttura del testo; inoltre questa codifica permette di annettere altre informazioni, relative per esempio alle categorie grammaticali delle parole, i costituenti sintattici etc.
È un tipo di codifica necessaria perché i dati puri senza contesto (quindi il testo inteso come stringhe di caratteri senza alcuna struttura o ulteriore indicazione) non hanno di per sè alcun significato, e la struttura testuale e le informazioni di tipo grammaticale sono parte integrante nel significato del testo.
Come si può codificare?
Dopo aver individuato cosa si vuole codificare (per esempio dati di tipo morfosintattico), è importante elaborare uno schema di annotazione linguistica, in cui si hanno una serie di categorie con attributi e valori, regole di compatibilità tra categorie.
Nel concreto si codifica tramite testi in formato solo testo (.txt), che la macchina sarà in grado di vedere come una semplice sequenza di caratteri, leggibile da molti programmi diversi (ha dunque alta portabilità).
Qual è il linguaggio standard per la codifica dei testi? Quale tipo di marcatura offre?
Lo standard per la marcatura di elementi di alto livello è XML, che ha queste caratteristiche:
- È una marcatura dichiarativa: usa etichette che indicano la funzione astratta della porzione di testo a cui si riferiscono (es. titolo, paragrafo), senza dare indicazioni su come la porzione di testo dovrà apparire nel video
- È una marcatura strutturata: XML permette di raggruppare porzioni di testo e definirle come unità strutturali che riflettono l’organizzazione interna del testo (numero di paragrafo, sottoparagrafo, …);
- È una marcatura gerarchica: in XML un’unità strutturale può contenere strutture incassate, dunque otteniamo una gerarchia di strutture.
- Non fornisce indicazioni riguardo alla semantica dei marcatori (che vengono stabiliti da chi codifica), si occupa solo di dare regole combinatorie per definire un insieme di marcatori;
- I documenti XML sono in formato solo testo e usano il sistema di codifica UTF-8 (elementi importanti per la portabilità).
Quali sono le componenti presenti in XML?
- Elemento, che designa un’entità del testo come componente della struttura linguistico-testuale. Ogni elemento è identificato da un tag.
Gli elementi subordinati sono chiamati figli, quello sovraordinato elemento padre. In un documento XML deve esserci un unico elemento radice, ovvero un unico elemento più ampio che contenga tutti gli altri.
-
Attributi, ovvero informazioni aggiuntive su un certo elemento. Per esempio possiamo voler numerare i capoversi di un testo. Il valore dell’attributo deve essere racchiuso sempre tra virgolette, e può essere espresso solo nel delimitatore di apertura e non in quello di chiusura.
I riferimenti a carattere sono usati per inserire nel testo caratteri non accessibili direttamente dai dispositivi di input. Si inserisce dunque il codice decimale - Commenti: si tratta di brevi note che l’autore inserisce ma che la macchina deve ignorare.
Cos’è una DTD e cosa deve contenere al proprio interno?
Con DTD si intende quel documento che contenga la lista di marcatori XML usati per la codifica e le regole della loro combinazione.
La DTD contiene quindi dichiarazioni di tre tipi:
1) Gli elementi (ELEMENT) in cui si articola il testo ;
2) Gli attributi (ATTLIST) associati a ciascun elemento;
3) Le entità (ENTITY) richiamabili attraverso riferimenti all’interno del testo
Come si struttura la dichiarazione di un elemento?
La dichiarazione di un elemento si struttura in due parti:
* Etichetta (tag)
* Descrizione del contenuto in termini strutturali (modello di contenuto)
Il più semplice modello di contenuto è l’elemento che contiene solo dati di tipo carattere, non ha articolazioni interne. #PCDATA → Parsed Character DATA.
Se l’elemento è costituito solo da sottoelementi (elementi figli), si specifica la modalità di occorrenza dei suddetti sottoelementi.
Se i sottoelementi sono più di uno, la loro co-occorrenza e il loro ordinamento sono specificati con connettori.
* Virgola: gli elementi devono occorrere nell’ordine specificato (quindi S1 prima di S2);
* Barra verticale: i sottoelementi sono scelte alternative (quindi S1 oppure S2).
Vi sono poi indicatori di occorrenza che stabiliscono restrizioni sul numero di volte in cui ciascun sottoelemento può occorrere:
- ? vuol dire occorrenza opzionale
- + vuol dire occorrenza obbligatoria e ripetibile (maggiore o uguale a 1)
- * vuol dire occorrenza opzionale e ripetibile (maggiore o uguale a 0)
Possono esistere anche:
- elementi a contenuto misto: dati di tipo carattere e sottoelementi di tipo S1 …, Sn
- Elemento vuoto (EMPTY): l’elemento non può contenere niente
- Elemento jolly (ANY): non vi sono vincoli sul contenuto dell’elemento
Come si struttura la dichiarazione di un attributo?
REQUIRED → attributo per cui è obbligatorio specificare un valore
Definisce l’insieme degli attributi pertinenti alla descrizione di un elemento e, per ciascun attributo, stabilisce i valori che può assumere e dà informazioni circa la sua obbligatorietà ed eventualmente sul suo valore di default.
#IMPLIED → attributo la cui specificazione è opzionale
#FIXED → permette di fissare nella dichiarazione dell’attributo il valore dell’attributo che rimane costante
Literal → valore predefinito (o di default) per un attributo. La sintassi è semplicemente il valore dell’attributo tra virgolette.
Come si struttura la dichiarazione di un’entità?
È possibile anche trovare una dichiarazione di un’entità interna al testo, e tipicamente si usano per associare nomi mnemonici ai riferimenti a carattere; esiste anche un tipo di entità chiamato entità parametrica, che permette di assegnare a numerosi elementi lo stesso set di attributi, che andranno dichiarati una sola volta e poi sarà possibile richiamare senza ripetere esplicitamente tutti gli attributi
Come si struttura e si valida un testo xml?
Il documento XML si costituisce di due parti: il prologo, cioè le informazioni che permettono di interpretare il documento come un XML, ricollegandolo alla DTD; l’istanza del documento, quindi il dato testuale vero e proprio.
Il prologo si articola a sua volta in due parti:
1. La dichiarazione XML, che rappresenta l’istruzione di elaborazione con nome xml, fornisce informazioni sulla versione di xml utilizzata, specifica il set di caratteri usato per la codifica e indica se è associata o meno una DTD esterna
2. La dichiarazione del tipo di documento, che permette di associare al documento xml la sua DTD (permette al programma di sapere quali tag sono impiegati). La DTD può essere interna (tra parentesi quadre) oppure esterna (ad es. un file esterno o una pagina web)
Quando un testo xml si considera ben formato e validato?
Un documento XML è ben formato quando obbedisce alle regole sintattiche di XML (convenzioni di sintassi, …). Un documento XML è validato quando rispetta la tipologia di marcatori e le gerarchie di incassamento dichiarate nella DTD del documento.
Per verificare questi due aspetti, ci sono software dedicati (parser XML) che possono essere validanti o non validanti (in questo caso, verificano solo che il documento sia ben formato).
Quali sono i limiti alla portabilità dei testi XML? Quali soluzioni si cercano di adottare?
XML fornisce le regole della sintassi del linguaggio, quindi come i diversi elementi si devono coordinare, ma la semantica, cioè il valore del tag, è stabilito da chi usa il linguaggio.
Nel corso del tempo sono state elaborate delle DTD standard, che normalmente si adottano per favorire lo scambio e la condivisione, oltre che il lavoro stesso, dal momento che il ricercatore può seguire un modello già esistente.
Per ovviare a questo limite sono nati progetti quali il Text Encoding Initiative, che comprende un vasto numero di marcatori, che lo rende flessibile ma talvolta troppo ampio.
Sono nati così DTD standard a partire dallo schema TEI, ma che fossero applicate a specifici campi di studio, quindi più precise e meno dispersive.
Nasce così il CES/XCES (Corpus Encoding Standard), finalizzato a essere applicato nello specifico all’analisi linguistica.
Che caratteristiche ha lo schema di codifica XCES?
Lo schema XCES prevede tre categorie di informazione:
* Documentazione, cioè info globali sul testo e sulla codifica (es. descrizione bibliografica, set di caratteri, convenzione di codifica)
* Dato linguistico primario, che comprende sia la macrostruttura del testo (es. Elementi testuali come capoverso) che le microstruttura, come elementi che appaiono sotto al livello del capoverso e sono segnalati mediante convenzioni tipografiche, come ad es. citazioni, abbreviazioni
* Annotazione linguistica, tipicamente avviene in relazione alla microstruttura, riguarda ad es. annotazione morfologica, semantica
Cosa si intende per token e tokenizzazione? A cosa serve questa pratica?
Con token si intende la più piccola unità linguistica che è possibile indicare alla macchina, oltre che i numeri e i segni di interpunzione. Ogni token è tendenzialmente un elemento delimitato da spazi, compresi però anche gli a capo etc.
La tokenizzazione è necessaria per compiere analisi quantitative del testo. La macchina non è in grado di dividere autonomamente le unità; quindi, bisogna fornire alla macchina la capacità di comprendere la struttura logica del testo.
Quali sono le criticità che derivano dal considerare semplicemente il token come porzione di testo contenuta fra due spazi?
Sebbene la definizione copra un certo numero di casi, non può essere applicata a fenomeni diversi, come:
- parole distinte ma che non sono divise da uno spazio (es. c’era)
- parole formate da due segmenti distinti, ma che consideriamo unitarie a livello semantico (es. La Spezia)
- varianti ortografiche, come quelle nella scrittura dei numeri con le migliaia
Come viene trattata la punteggiatura nel processo di tokenizzazione?
La puntegiatura rappresenta un tipo di token molto ambiguo.
Per esempio, il punto è fondamentale per individuare le unità linguistiche, anche se non è l’unico segno di interpunzione che ha il significato di fine di frase.
Il punto inoltre può apparire in contesti in cui non abbiamo fine di frase, ovvero nelle sigle, nelle cifre decimali, nelle abbreviazioni.
Per disambiguare il punto possiamo fornire alla macchina l’informazione che un punto di fine frase si presenta in caso della sequenza punto-spazio-lettera maiuscola. Questo purtroppo non riesce a disambiguare casi come Sig. Rossi. In questo caso la scelta migliore è fornire al computer una lista di parole frequentemente abbreviate, di cui tener conto nella ricerca dei punti di fine frase.
Simile ambiguità caratterizza casi come quello dell’apice (‘), utilizzato come apostrofo, virgoletta e accento.
Come vengono trattate minuscole e maiuscole nel processo di tokenizzazione?
Il computer percepisce una stessa parola scritta in modo diverso come tre token differenti (si dice dunque case sentitive), perché associate a combinazioni Unicode differenti.
Le maiuscole sono utilizzate all’inizio di una frase, per dare enfasi e per i titoli, e hanno una precisa funzione all’interno del testo, per cui non ha senso a monte normalizzare tutto.
Si parla quindi di normalizzazione intelligente, quindi risolviamo a minuscole solo quelle parole in cui la presenza della maiuscola non cambia il significato della parola stessa (diversamente quindi dal caso di Chiara e chiara).
Come vengono trattati acronimi e abbreviazioni nel processo di tokenizzazione?
Gli acronimi vanno inquadrati opportunamente perché all’interno del testo funzionano come parole a tutti gli effetti.
È molto complesso trattarli perché presentano alta variabilità (per per esempio possono essere scritti con tutte le lettere maiuscole affiancate, oppure divise da punti, o ancora con solo la prima lettera maiuscola).
Normalmente per trattare questi elementi si forniscono al computer elenchi precompilati, poi si fa in modo che si considerino come abbreviazioni le sequenze formate da una o più lettere maiuscole.
Cosa si intende per token graficamente complessi? Quali sono?
Si intendono sequenze di caratteri che, sebbene contengano spazi, sono entità unitarie dal punto di vista linguistico, e che quindi vanno considerate come un singolo token.
È il caso di:
- nomi propri, come La Spezia, Los Angeles etc.
- multiword expressions es. Carta di credito, ad hoc, di rado
- Strutture alfanumeriche (unità di misura, date, …)
Cosa sono e a cosa servono le espressioni regolari?
Le espressioni regolari permettono di definire in maniera formale pattern di stringhe (di caratteri).
Un pattern è un modello di stringa che specifica i criteri che devono soddisfare le stringhe da individuare nel testo (ad es. ‘tutte le parole che iniziano con la b e terminano per a’).
Molti programmi supportano le ER e il loro impiego permette di potenziare la ricerca nei documenti.
Con pattern matching si intende il verificare se una certa stringa soddisfa un pattern
Come vengono trattati i caratteri nella ricerca per ER?
Come si esegue una ricerca di questo tipo?
La ER più elementare è costituita da un solo carattere (attenzione, la ER. è case sensitive)
Vi possono poi essere classi di caratteri, costituite da un insieme di caratteri racchiusi tra parentesi quadre. La ER viene soddisfatta da uno qualsiasi dei caratteri indicati all’interno delle parentesi.
Alcune classi di caratteri possono essere abbreviate con il trattino, che specifica un intervallo di caratteri tra una scala (si può avere ad es. anche [a-d] oppure [0-3]).
Una classe di caratteri in cui la parentesi di apertura è seguita da ^ è soddisfatta da qualsiasi carattere diverso da quelli specificati nella classe
Il backslash \ serve per indicare che il carattere seguente ha un’interpretazione speciale. Ad es. (\t) indica la tabulazione.
Il punto (.) è un carattere jolly, corrisponde a qualsiasi carattere.
Come vengono trattate le sequenze di caratteri e le disgiunzioni di sequenze nella ricerca per ER?
Come si esegue una ricerca di questo tipo?
Quando abbiamo a che fare con sequenze di caratteri, bisogna considerare l’intera stringa di caratteri. Vale a dire che la sequenza di caratteri /il/ è soddisfatta da il e non da un solo carattere (i oppure l). Come interpretiamo le stringhe?
Si tenga prsente che \s → spazio e \d → cifra numerica.
La disgiunzione tra stringe di caratteri viene espressa da (|) (operatore di alternativa)
La sequenza di caratteri si scrive fra slash.
Cosa sono e quali sono i moltiplicatori di caratteri?
Sono operatori che permettono di specificare quante volte il carattere che li precede deve comparire:
* ? Zero o una occorrenza del carattere precedente
* * Zero o più occorrenze del carattere precedente
* + Una o più occorrenze del carattere precedente
Esistono anche moltiplicatori avanzati come:
- {n} esattamente n occorrenze del carattere prcedente
- {n,m} almeno n e massimo m occorrenze del carattere precedente
- {n,} almeno n occorrenze del carattere precedente
Cosa sono e quali sono le ancore?
Si tratta di caratteri che indicano la posizione in cui deve comparire la stringa:
^ inizio della riga di testo
$ fine della riga di testo
\b confine di token
\B qualsiasi punto che non sia la fine di un token
Come avvengono raggruppamenti e precedenze?
Raggruppamenti e precedenze sono utilizzati per meglio far funzionare i moltiplicatori.
Per esempio, perché il moltiplicatore allarghi la propria portata, è necessario raggruppare i caratteri tra parentesi tonde.
L’ordine di precedenza con cui vengono applicati gli operatori è il seguente:
- parentesi
- moltiplicatori
- sequenza e ancore
- alternativa
Cosa sono le sostituzioni?
Con le ER è possibile anche effettuare trasformazioni, come ad es. sostituzioni.
Queste sono possibili componendo la seguente stringa: s/espressione_regolare/nuova_stringa/
Le sostituzioni possono anche avvenire a condizione che si verifichi una determinata situazione da noi espressa.
Per far in modo per esempio che quando t o d sono seguite da o, quest’ultima sia trasformata in i, scriveremo:s/ ([td])o / \1i /
Dove \1 si riferisce alla sequenza precedentemente memorizzata all’interno delle parentesi
Cosa si intende per popolazione?
In statistica, una popolazione è l’insieme di unità statistiche di cui vogliamo studiare le caratteristiche. Queste unità possono essere connotate da variabili numeriche o non numeriche.
Nel caso dello studio della lingua, serve individuare un campione che sia quanto più possibile rappresentativo della popolazione, deve cioè presentare le medesime caratteristiche in scala. Altrimenti, è possibile concentrarsi su aspetti di statistica descrittiva.
Cosa è necessario fare prima di procedere con l’analisi statistica?
È necessario tokenizzare il testo e classificare i token in tipi di token.
Vengono poi definite le dimensioni rilevanti per la classificazione, come la lunghezza o il lemma, o ancora la forma normalizzata e la categoria grammaticale.
Cosa si intende per distribuzione?
Il comportamento di un insieme di unità può essere analizzato guardando come si distribuiscono in base ad un attributo. Si ottiene il grafico (di una curva) di distribuzione che fotografa il comportamento dell’unità in base a un attributo.
Cosa sono frequenza assoluta e frequenza relativa? Come si calcola quest’ultima?
la frequenza assoluta è il valore numerico di quante volte compare un certo elemento compare in un contesto; tuttavia le frequenze assolute di due distribuzioni non possono essere confrontate.
Usando le frequenze relative si ‘normalizza’ la distribuzione, quindi si ovvia a questa distorsione.
Quindi si calcola il rapporto tra la frequenza assoluta ni (rispetto al valore i di un attributo) e il numero totale |T| di unità (cioè parole) osservate nel testo T.
Cos’è la media aritmetica?
La media aritmetica viene usata per calcolare il valore medio associato agli elementi del testo per un dato attributo.
Si calcola sommando tutti i valori e dividendoli per il numero di elementi presenti nel testo.
Cos’è la deviazione standard?
La deviazione standard (o scarto quadratico medio) è l’indice utilizzato per misurare la dispersione intorno ad un certo valore. La semplice media aritmentica infatti non ci dice come i caratteri si distribuiscono complessivamente.
Si calcola facendo la radice quadrata della media dei quadrati degli scarti (ovvero la differenza tra un valore l1 e la sua media).
Cosa si intende per vocabolario di un testo?
Il vocabolario di un testo (VT) è dato dall’insieme delle parole tipo che occorrono in un testo. È da intendersi come un sottoinsieme del lessico (L) di una lingua che è potenziale (dunque infinito). VT, invece, è ovviamente sempre un numero finito.
Come si calcola l’indice di ricchezza lessicale di un testo?
Chiamato anche type/token ratio, indica il rapporto tra types e tokens, quindi fra numero di parole singole e diverse che appaiono e numero di quante ne appaiono in generale.
Il valore è compreso tra 0 e 1: se è vicino a 0, allora il vocabolario è meno vario, se è vicino a 1, allora il vocabolario è più vario. Se si ha un type per ogni token, sono tutti hapax.
Che cos’è lo spettro di frequenza?
Lo spettro di frequenza indica quante parole diverse sono usate nel testo quante volte. Nello spettro tendenzialmente la larghissima maggioranza delle parole ricorre poco frequentemente nel testo e si concentra verso l’origine dell’asse x; gli hapax e le parole con bassisisma occorrenza costituiscono la classe più numerosa.
Cosa afferma la legge di Zipf?
Ordinando le parole di un testo per valore decrescente di frequenza, Zipf osservò una relazione matematica costante tra la posizione che una parola occupa all’interno della lista (ovvero il suo rango) e la sua frequenza.
f(z) = C/z^a
cioè: la frequenza f di una parola di rango z è uguale alla frequenza della parola di rango 1 (C) divisa per il rango della parola.
Parole che appaiono molto in basso nella lista di Zipf tendono ad avere frequenze simili.
La coda della curva conterrà tante parole con frequenza 1 (ovvero gli hapax).
Bisogna tenere però conto del fatto che la legge di Zipf non prevede parole aventi la stessa frequenza, caratteristica invece molto diffusa in un testo.
Cosa si può osservare in merito alla crescita del vocabolario?
Intuitivamente, possiamo dire che all’inizio di un testo il vocabolario |VT| cresce rapidamente: nella prima frase (quasi) tutte le parole sono nuove e via via ci saranno sempre meno parole nuove: le parole ripetute sono già presenti nel vocabolario e pertanto non vanno aggiunte.
Notiamo come VT(i) (cioè il vocabolario di delle prime i parole) aumenta (con la punteggiatura, più lentamente) al crescere di i senza mai annullarsi completamente. L’andamento a curva è dato principalmente dalla presenza di parole grammaticali (che si ripetono) e dalla coerenza lessicale.
Cos’è la frequenza media?
Che comportamento ci si aspetta?
**La frequenza media è data dal rapporto tra |T| (numero di tokens) e |VT| (numero di types). Il risultato è un indice inverso di ricchezza lessicale: a parità di |T|, quanto più piccolo sarà il numero di parole diverse (ovvero |VT|), tanto maggiore sarà la loro frequenza media.
All’aumentare di T ci aspettiamo che:
nelle prime i parole di T, la probabile mancanza di parole ripetute porta a i = |VT (i)|. Dunque, essendo la frequenza media |T|/ VT , avremo un valore uguale a 1.
Quando il testo cresce (e dunque presenta parole nuove), avremo invece un valore > 1 (la lunghezza del testo cresce e VT (i) rimane costante).
La crescita non è mai lineare: il vocabolario continua ad espandersi lentamente e ci sono dei ‘gradini’ che coincidono con i capitoli in cui si ha qualche discontinuità tematica rispetto al passato (più alta densità di parole nuove).
Cosa afferma il teorema del limite centrale?
L’attendibilità della l media di un campione dipende dall’ampiezza della campana, cioè da quanto le medie si disperdono intorno all’asse (maggiore la dispersione, minore l’attendibilità). Il TLC ci dice a che condizioni è legittimo fare inferenze statistiche sufficientemente corrette a partire da un campione.
Cosa si intende con probabilità e per cosa viene usata in relazione all’analisi di un testo?
Un evento che accade in maniera imprevedibile (o prevedibile con un margine di incertezza) è detto aleatorio. La probabilità di un evento aleatorio è la misura del grado di incertezza del verificarsi dell’evento, assegnandogli un numero reale compreso tra 0 e 1. Possiamo definire la probabilità descrivendo un esperimento (ovvero un processo aleatorio) e dell’insieme di tutti i suoi esiti semplici mutuamente esclusivi.
Questi si definiscono come spazio campionario (Ω) di un evento aleatorio.
La probabilità consente di prevedere il comportamento della lingua del testo a partire dai dati di frequenza, ricavando quindi un modello della stessa lingua del testo.
Quali sono i due tipi di eventi aleatori?
1) Eventi aleatori semplici: Sono definiti da un insieme che contiene un solo esito semplice dell’esperimento → Ottenere un 3 {3} al lancio del dado. Gli eventi semplici coincidono con gli esiti che definiscono lo spazio campionario, ovvero ci sono tanti eventi semplici quanti sono gli esiti che compongono Ω.
2) Eventi aleatori complessi: Sono definiti da un insieme che contiene più di un esito semplice dell’esperimento → Ottenere un numero dispari {1, 3, 5} oppure Ottenere un numero minore di 5 {1, 2, 3, 4} al lancio del dado.
Cos’è la distribuzione di probabilità?
L’insieme delle probabilità di tutti gli eventi di Ω definisce una distribuzione di probabilità sullo spazio di eventi di Ω.
Cosa si intende per probabilità uniforme?
La probabilità uniforme è l’uguale probabilità che gli esiti di Ω si verifichino, allora la probabilità p(A) che si verifichi un evento A è espressa dalla formula:
p(A) = A/Ω, dove A è il numero di esiti che definiscono l’evento A e Ω rappresenta il numero totale degli eventi esclusivi
Cos’è e come si calcola la probabilità di un evento complesso?
La probabilità di un evento complesso è ottenuta come somma di probabilità di eventi semplici, e non è altro che la probabilità che si verifichi un insieme di risultati (es. ottenere un numero pari al lancio di un dado)
Cosa sono gli eventi congiunti e come si calcola la loro probabilità?
La probabilità di un evento congiunto fa riferimento a uno spazio campionario Ω definito dall’insieme di tutte le coppie di esiti possibili. La probabilità sarà data dal prodotto delle due probabilità dei due eventi.
Questo è vero solo nel caso in cui i due eventi combinati siano statisticamente indipendenti.
Come è possibile quantificare la probabilità di un evento nel caso in cui non si possa stabilire a priori che la distribuzione di probabilità sia uniforme?
Usando la frequenza relativa, ovvero l’approssimazione della probailità di un evento con la frequenza relativa del suo verificarsi in un certo numero di esperimenti.
Si esprime con la formula:
p(A) = fA/n (dove pA è la probabilità che si verifichi A e fA è la frequenza con cui si è presentato A durante gli esperimenti).
Approcciandosi a un’analisi statistica della lingua, i suoi fenomeni avranno proprio la tendenza a non essere equiprobabili, e quindi diventa necessario usare i dati raccolti per sviluppare un modello probabilistico.
Cos’è un modello stocastico e come si applica all’analisi del testo?
Un modello stocastico (o probabilistico) è un modello idealmente in grado di descrivere il comportamento del sistema a cui è applicato e di predirne certe manifestazioni. È dunque un modello che
assegna una certa probabilità agli eventi prodotti da un sistema probabilistico.
Nel caso dell’analisi della lingua, un testo può essere concepito come una sequenza di eventi aleatori semplici (e1 , e2 , …), ciascuno dei quali rappresenta l’occorrenza di una parola specifica. Esiste una relazione tra il grado di ‘correttezza grammaticale’ di una frase e la probabilità che quella stessa frase sia effettivamente realizzata. Un buon modello deve permettere generalizzazioni, quindi, se è stato formato su un determinato testo, deve poter essere applicato anche ad altri mantenendo una certa correttezza.
Cosa sono i modelli markoviani?
I modelli markoviani stimano la probabilità di una parola di comparire nel testo a partire da un certo numero di parole che la precedono direttamente nel testo.
Si ha un ordine che specifica il numero di parole che si prendono in considerazione: primo ordine (una parola), secondo ordine (due parole), … → l’ordine definisce anche il grado di complessità del modello.
Cosa afferma il modello di base markoviano (o urna lessicale)?
Il modello più semplice si basa sull’ipotesi che la probabilità di una frase sia uguale al prodotto della probabilità di generare ciascuna delle sue parole in modo indipendente.
In questo caso, un testo è una sequenza di singole parole statisticamente indipendenti l’una dall’altra.
Questo modello tuttavia non è ottimale, perché le parole presenti in una lingua non si combinano casualmente.
Cosa afferma il modello markoviano di primo ordine?
Questo modello prevede che la scelta di una parola modifichi lo spazio di probabilità della scelta lessicale successiva (cosa che riflette il meccanismo linguistico).
Si tratta di probabilità condizionate, ovvero la probabilità che si verifichi un evento B dato il verificarsi di un evento A. Permette dunque di calcolare l’occorrenza di coppie tipo o bigrammi tipo.
Questo modello non è tuttavia sufficiente per l’applicazione alle varie lingue: quanto più lunghe sono le sequenze di parole, tanto più piccola è la probabilità di trovarle, perché i loro tipi tendono a moltiplicarsi. Il rischio è quello di sviluppare un modello ad hoc, che riflette solo le caratteristiche del corpus su cui è addestrato.
Quali sono le due tendenze per l’esplorazione di un testo?
L’esplorazione può essere fatta in prospettiva:
- Qualitativa: Ci interessa trovare un certo fenomeno nella lingua, non importa quante volte occorra. Ci avvaliamo quindi di concordanze ed espressioni regolari
- Quantitativa: Ci interessa vedere quanto un certo fenomeno si trova nella lingua, quanto è frequente. Ci serviremo dunque di indici di associazioni
N.B. si tratta di una bipartizione operativa, che non è da intendersi in maniera netta.
Cosa sono le concordanze? Come sono implementate nei corpora online?
Le concordanze sono una lista delle occorrenze di una parola nel testo, ciascuna presentata nel proprio contesto linguistico. Tipicamente, si ha il formato KWIC (key word in context).
I corpora accessibili on-line mettono a disposizione piattaforme per esplorare il testo, dove solitamente è possibile: definire la lunghezza del contesto; modificare l’ordine di presentazione delle occorrenze (ad es. randomico, alfabetico, …).
Funzioni di ricerca avanzate sono poi permesse dall’utilizzo delle ER, soprattutto nei corpora non pos taggati e non lemmatizzati (es. cercare le forme flesse di un verbo o di un sostantivo).
Cosa sono le collocazioni? Che caratteristiche presentano tendenzialmente?
Le collocazioni sono sequenze di due o più parole caratterizzate da un forte legame di associazione reciproca. Un esempio possono essere i termini tecnici formati da un’espressione di due o più parole (es. corte d’appello), nomi composti, costruzioni idiomatiche, complementi tipici associati a un verbo etc.
Le collocazioni presentano delle proprietà (condivise ma in misura diversa):
(1) Elevata convenzionalità: usi convenzionali, tipici di alcune varietà linguistiche
(2) Ridotta composizionalità semantica (cioè per capire cosa significhino non basta fare la somma dei significati delle singole parole che compongono l’espressione)
(3) Forte rigidità strutturale
Cosa si intende per mutua informazione?
La Mutua Informazione (MI) è il metodo statistico per misurare la mutua associazione tra due parole, ovvero la probabilità che ricorrano assieme rispetto all’occorrenza di una indipendentemente dall’altra. Date due parole v1 e v2 la MI confronta la probabilità di osservare bigrammi del tipo v1, v2 con la probabilità di osservare v1 e v2 l’una indipendentemente dall’altra.
La MI è estremamente sensibile a eventi rari, come bigrammi hapax formati da parole hapax. Per attenuare questo aspetto, si può stabilire una soglia di frequenza k, in modo da escludere i bigrammi con frequenza inferiore a k.
Cosa sono i bigrammi astratti?
Con bigrammi astratti si intende quelle coppie di parole che ricorrono spesso in associazione l’una con l’altra, ma che non si trovano strettamente adiacenti l’una all’altra, e che quindi necessitano di una finestra di contesto più ampia di due sole parole (es. ferro da stiro).
Cos’è l’annotazione linguistica del testo?
L’annotazione consiste nella codifica di informazione linguistica associata al dato testuale e può concentrarsi su diversi livelli. Si tratta di un processo aperto e incrementale che coinvolge il linguista in maniera attiva.
L’annotazione è dunque in grado di rendere esplicita, interpretabile ed esplorabile la struttura linguistica implicita del testo.
Cosa sono e che caratteristiche hanno annotazione morfosintattica e annotazione sintattica?
Annotazione morfosintattica. Prevede l’assegnazione a ogni token di una informazione relativa alla categoria grammaticale (PoS) che ha la parola nel contesto specifico. Permette di risolvere i casi di omografie e si combina spesso con la lemmatizzazione. Sono due livelli distinti ma correlati poiché la lemmatizzazione presuppone la classificazione grammaticale della parola nel contesto. Si tratta di un livello indispensabile per altri livelli di annotazione.
Annotazione sintattica. Prevede due approcci principali:
- Rappresentazione a costituenti, che prevede che si identifichino costituenti sintattici (SN, SPrep, …) e si codificano le loro relazioni gerarchiche
- Rappresentazione a dipendenze, che prevede di rappresentare le relazioni tra parole in termini di dipendenze (soggetto, oggetto diretto, modificatore, …)
Cosa sono e che caratteristiche hanno annotazione semantica e annotazione pragmatica?
Annotazione semantica. Vi sono due tipi principale di annotazione semantica:
- Le parole lessicalmente piene vengono annotate rispetto a categorie semantico-concettuali predefinite (ad es. LUOGO, ASTRATTO, ANIMATO, EVENTO, …).
- Vengono annotati i ruoli semantici (ad es. paziente, agente, esperiente, …)
Annotazione pragmatica. Solitamente, viene annotata la funzione illocutoria di un certo segmento testuale.
Possono essere anche codificate le relazioni anaforiche che, ad esempio, un pronome può avere col proprio antecedente.
Qual è il quadro odierno relativo ai tipi di annotazione presenti nei corpora digitali?
La larga maggioranza dei corpora presenti on-line presenta livelli di annotazione linguistica.
L’annotazione morfosintattica (PoS e lemmatizzazione) è quasi sempre presente. Esistono PoS-tagger automatici che hanno affidabilità molto alta. L’annotazione sintattica, invece, è più rara anche se ci sono le così dette tree-banks, ovvero banche di alberi sintattici.
Ancora più rara, poi, è l’annotazione semantica e pragmatica.
Cos’è e che caratteristiche deve avere uno schema di annotazione?
Uno schema di annotazione prevede l’inserimento di diverse informazioni:
1. Gli scopi della ricerca;
2. La teoria linguistica di riferimento;
3. La modalità (manuale, semi-automatica, …) in cui viene svolta l’annotazione;
4. La granularità dell’informazione che vogliamo codificare;
5. Le caratteristiche della lingua che vogliamo annotare.
In generale veicola tre tipi di informazione:
1. Informazione categoriale: assegnazione di categorie alle unità identificate in un testo (ad es. verbo, SN, soggetto, …);
2. Informazione strutturale: identificazione di strutture che possono essere interne a un particolare token (ad es. la divisione in morfemi) o in più token (ad es. i costituenti dell’annotazione sintattica);
3. Informazione relazionale: definizione di relazioni tra le unità linguistiche (ad es. S e OD, anafore, ruoli semantici).
Cosa si intende per informazione categoriale?
Questa è espressa attraverso etichette che associano categorie o tratti linguistici alle unità identificate nel testo. L’annotazione morfosintattica si basa primariamente su informazione categoriale.
Il repertorio (e la granularità) delle categorie può variare tra i diversi schemi di annotazione. Possiamo aggiungere ad es. specifiche morfologiche (genere, numero, tempo, aspetto, …), possiamo aggiungere sottocategorie (pronomi personali, tonici, clitici, dimostrativi, …).
Cosa si intende per informazione strutturale?
L’informazione strutturale identifica delle unità strutturali nel testo e la loro organizzazione in strutture gerarchiche.
Le strutture identificate possono essere interne a un particolare token (ad es. la divisione in morfemi) o in più token (ad es. i costituenti dell’annotazione sintattica);
Cosa si intende per informazione relazionale?
L’informazione relazionale collega fra loro unità linguistiche previamente identificate. Un esempio possono essere le relazioni di dipendenza e i ruoli semantici.
Perché è fondamentale lo studio del parlato?
L’analisi del parlato permette di studiare come la grammatica emerga dal discorso. Lo studio del parlato gioca un ruolo cruciale per osservare le prime fasi del mutamento linguistico e l’identificazione di modelli d’uso (più astratti) che possiamo trovare in più lingue. È dunque presente una relazione tra parlato, studio del mutamento e della variazione interlinguistica (tipologica).
Cosa si intende con variazione diatopica?
Con italiano regionale si intende una varietà di italiano usata in una determinata area geografica, che denota sistematicamente, ai diversi livelli di analisi linguistica, caratteristiche in grado di differenziarla sia dalle varietà usate in altre zone, sia anche dall’italiano standard.
All’interno di un italiano regionale vi sono:
a) Tratti che variano in relazione alla diafasia ma non in relazione alla diastratia. Ad esempio, la variabile indossare può essere realizzata da parlanti con diversa estrazione sociale come mettere addosso/su.
b) Tratti che hanno realizzazione in una sola varietà sociale, ovvero compaiono in qualunque contesto ma solo presso parlanti con comune caratterizzazione sociale. Ad esempio, il doppio complementatore dove che in luogo di dove.
Questo dunque si distingue in:
- Varietà ‘alte’ → standard regionale
- Varietà ’basse’ → italiano regionale popolare, italiano regionale colloquiale
Cosa si intende con variazione diafasica?
La lingua cambia in base alla situazione comunicativa. È possibile ‘parametrizzare’ la situazione comunicativa tramite questi criteri:
- Tenore: rapporto presente tra le persone coinvolte nell’interazione;
- Campo: natura dell’attività svolta e argomento di cui si discute;
- Modo: canale fisico selezionato per la comunicazione.
Cosa si intende con variazione diastratica?
Normalmente, sono presi in considerazione parametri che riguardano la caratterizzazione socioeconomica del parlante (come, ad es., il titolo di studio, la professione, etc.) e aspetti demografici (l’età, il genere).
Se la diastratia ha a che fare con lo strato sociale del parlante, è necessario chiarire cosa intendiamo con strato sociale.
Quali sono i tre principali corpora di parlato per l’italiano?
a) LIP - De Mauro et al. (1993), più di 60 ore di registrazioni raccolte in 4 città (Milano, Firenze, Roma e Napoli) in diversi contesti comunicativi (scambio comunicativo bidirezionale libero con presa di parola libera faccia a faccia, scambio comunicativo bidirezionale libero con presa di parola libera non faccia a faccia, etc.). → Lavoro pioneristico!
b) LABLITA - Dati bilanciati in base al contesto comunicativo (broadcasting, conversazione telefonica, etc.). Il corpus attualmente non è accessibile
c) CLIPS - Oltre 100 ore di registrazione in 15 città italiane (parlato radiotelevisivo, parlato dialogico, parlato letto, parlato telefonico) → map task