Linguistica Computazionale Codifica del testo digitale 30 settembre 2014 Strumenti e risorse per la linguistica computazionale Tre requisiti per la linguistica computazionale e NLP l dati linguistici corpora di testi digitali l metodi e strumenti formali logica , matematica, statistica, algoritmica l software linguaggi di programmazione, strumenti e ambienti di sviluppo l Il recupero di quantità significative di dati linguistici è la precondizione di ogni indagine linguistico-computazionale l uso di corpora generali esistenti l l l l Brown Corpus, Wall Street Journal, ecc. BNC PAROLE, ecc. costruzione di un corpus specializzato per il task in oggetto 2 La codifica digitale del testo Rappresentazione del testo su supporto digitale in un formato “leggibile” da un computer Machine Readable Form (MRF) l l I computer memorizzano ed elaborano dati sotto forma di sequenze di due soli simboli 0 e 1 (cifre binarie) Ogni tipo di informazione deve essere codificata in cifre binarie l l codificare informazione = associare a ciascuna unità di informazione un codice (sequenza di cifre binarie) che la identifica in maniera univoca I testi per essere elaborati o trasmessi da un programma devono avere una rappresentazione (codifica) binaria 3 La codifica digitale del testo l Due livelli di codifica del testo digitale l l codifica di basso livello (codifica di livello 0) l riguarda la rappresentazione binaria della sequenza ordinata dei caratteri codifica di alto livello l arricchisce il testo codificato al livello zero con informazione relativa a dimensioni linguistiche e strutturali § § organizzazione del testo in strutture macrotestuali articolazione del testo in strutture linguistiche La codifica di alto livello permette di rendere esplicita qualsiasi interpretazione, anche di tipo linguistico, si voglia associare al testo 4 Codifica di livello 0 - Plain text Il testo digitale per le analisi computazionali l Plain text (o txt) l l un file solo testo è costituito da una sequenza di bytes dove ciascun byte rappresenta un carattere secondo un particolare codice gli editori di testo sono programmi in grado di creare e leggere files di tipo solo testo l Emacs, Blocco Note, Word Pad, ecc. § l Vantaggi l l l quando un editore di testo legge un file cerca di associare ogni sequenza di bits a un carattere secondo un particolare codice formato “aperto”, indipendente dal sistema operativo e dal programma che lo ha creato massima portabilità e interscambiabilità dei testi Svantaggi l non può rappresentare aspetti relativi alla codifica di alto livello (es. formattazione del testo, informazione llinguistica, ecc.) § minima espressività 5 Codifica di livello 0 - Plain text Il testo come sequenza di caratteri Ciascun carattere alfanumerico, di punteggiatura o di controllo che compone il testo deve essere rappresentato nei termini di un codice binario Le avventure di Pinocchio Capitolo I Come andò che Maestro Ciliegia, falegname, trovò un pezzo di legno, che piangeva e rideva come un bambino. C'era una volta... - Un re! - diranno subito i miei piccoli lettori. - No, ragazzi, avete sbagliato. C'era una volta un pezzo di legno. Non era un legno di lusso, ma un semplice pezzo da catasta, di quelli che d'inverno si mettono nelle stufe e nei caminetti per accendere il fuoco e per riscaldare le stanze. Non so come andasse, ma il fatto gli è che un bel giorno questo pezzo di legno capitò nella bottega di un vecchio falegname, il quale aveva nome mastr'Antonio, se non che tutti lo chiamavano maestro Ciliegia, per via della punta del suo naso, che era sempre lustra e paonazza, come una ciliegia matura. 6 Codifica di alto livello Interpretazione e codifica l Interpretazione del testo l l informazioni che caratterizzano la struttura, contenuto, presentazione, natura linguistica, ecc. di un testo e del suo contenuto informativo esistono vari livelli e gradi di interpretazione l l metadati l l tipografica, extratestuale, linguistica, ecc. “informazione sull’informazione” Codifica di alto livello l l processo attraverso cui viene resa esplicita un’interpretazione del testo la codifica permette di rendere machine readable informazioni sul testo e tratti del testo che altrimenti non sarebbero elaborabili dal computer 7 La codifica digitale del testo Il testo e la sua organizzazione intestazione capitolo titolo testo 8 La codifica digitale del testo Il testo e la sua struttura linguistica sintagma nominale V andare pass. rem. 3 sing. frase relativa articolo indefinito femminile singolare stanza come luogo tutti = soggetto 9 Perché codificare? La gerarchia dell’informazione linguistica modelli della lingua conoscenza linguistica la conoscenza della lingua informazione linguistica l’organizzazione strutturale e linguistica di un testo dati linguistici le parole di un testo La codifica di alto livello permette di rendere espliciti e accessibili al computer i livelli di organizzazione strutturale di un testo e lo trasforma in una fonte di informazione linguistica 10 Come codificare? i linguaggi di marcatura l Codifica di alto livello con linguaggi di mark-up (linguaggi di marcatura) come XML l l dal punto di vista del formato digitale un testo codificato in XML è in formato solo testo l’informazione strutturale è rappresentata attraverso l’aggiunta al testo di etichette (o tag) di marcatura l l l codici in formato testo vengono usati per specificare informazioni sul testo l l sequenze di caratteri visibili secondo una convenzione standard, intercalati nel testo seguendo precise regole di combinazione “marcano” blocchi di testo a cui viene assegnata una determinata interpretazione il testo e i suoi metadati sono entrambi in formato “plain text” Vantaggi l l portabilità e interscambiabilità dei testi codificati massimo grado di espressività § è possibile esprimere tutti gli aspetti della codifica di alto livello, compresa l’informazione 11 linguistica Come codificare? i linguaggi di marcatura mark-up per la codifica di informazione strutturale <libro> <titolo>Le avventure di Pinocchio <sottotitolo>Storia di un burattino</sottotitolo> </titolo> <autore>Carlo Collodi</autore> <parte p_id=”1”> <titolo>Parte prima</titolo> <capitolo c_id=”I”> <titolo> Come andò che maestro Ciliegia, falegname, trovò un pezzo di legno, che piangeva e rideva come un bambino.</titolo> <capoverso num=”p1c1c1”>C'era una volta...</capoverso> <capoverso num=”p1c1c2”>- Un re! - diranno subito i miei piccoli lettori.</capoverso> <capoverso num=”p1c1c3”>No, ragazzi, avete sbagliato. C'era una volta un pezzo di legno.</capoverso> <capoverso num=”p1c1c4”>Non era un legno di lusso, ma un semplice pezzo da catasta, di quelli che d'inverno si mettono nelle stufe e nei caminetti per accendere il fuoco e per riscaldare le stanze.</ capoverso> </capitolo></parte> </libro> 12 Come codificare? I linguaggi di marcatura mark-up per la codifica di informazione strutturale + mark-up per la codifica di informazione linguistica <libro> … <parte> <capitolo c_id=”I”> <titolo>Come <parola cat=“V” tempo=“passRem”>andò</parola> che <parola cat=“N” genere=“m” num=“s”>maestro</parola> Ciliegia, falegname, trovò <sintagma tipo=”nominale”><parola cat=“artInd” genere=m” num=“s”>un</parola> pezzo di legno</sintagma>, che piangeva e rideva come un bambino.</titolo> </capitolo></parte> </libro> 13