Linguistica dei corpora Flashcards
Linguistica computazionale e dei corpora (79 cards)
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