informatica di base per le discipline umanistiche vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università di Pavia lezione 6 (continua…) sesta lezione: la codifica del testo vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università di Pavia lezione 6 (continua…) La codifica digitale del testo che tipo di rappresentazione digitale del testo? lezione 6 (continua…) Il testo e la sua organizzazione intestazione capitolo titolo testo lezione 6 (continua…) Il testo e la sua struttura linguistica sintagma nominale V andare pass. rem. 3 sing. frase relativa articolo indefinito femminile singolare stanze = oggetto di riscaldare stanza come luogo tutti = soggetto lezione 6 (continua…) il testo come sequenza di caratteri 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. lezione 6 (continua…) Il testo come sequenza di caratteri “surrogato” parziale del testo originario completa equivalenza solo dal punto di vista dei caratteri che lo compongono perdita di informazione l’informazione implicitamente veicolata dalla formattazione del testo relativa a: • le coordinate meta-testuali – il nome dell’autore, il titolo, ecc. • la struttura e organizzazione testuale – la suddivisione logica in sezioni, capitoli, paragrafi, ecc. nessun guadagno di informazione l’informazione sulla struttura linguistica rimane implicita e nascosta (come nel testo originale) lezione 6 (continua…) livelli di codifica del testo codifica di basso livello (codifica di livello 0) riguarda la rappresentazione binaria della sequenza ordinata dei caratteri codifica di alto livello arricchisce il testo codificato al livello zero con informazione relativa a dimensioni 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 lezione 6 (continua…) il primo passo: il livello 0 Il testo come sequenza di caratteri dietro le quinte… lezione 6 (continua…) la codifica di alto livello Il testo codificato al livello zero si presenta come un manoscritto in scriptio continua lezione 6 (continua…) dietro all’analogia … Trascrizione di un testo a partire da un manoscritto in scriptio continua Codifica digitale di alto livello del testo entrambe rendono esplicito ciò che è congetturale e implicito con lo scopo di guidare il lettore (umano vs computer) nell’interpretazione del testo lezione 6 (continua…) La codifica di alto livello compito della codifica di alto livello: “dare forma” alla sequenza dei caratteri del testo rendendo esplicita l’informazione che è veicolata attraverso convenzioni tipografiche, testuali e linguistiche: informazioni sull’organizzazione del testo (parti, titoli, paragrafi) la conoscenza linguistica necessaria per la comprensione del testo (per es. la categoria grammaticale di ciascuna parola, o i costituenti sintattici in cui si articolano le frasi del testo) più in generale ogni interpretazione che si voglia affiancare al dato testuale tracciare “sentieri” di lettura all’interno del testo rendere machine readable informazioni sul testo e tratti del testo che altrimenti non sarebbero elaborabili dal computer lezione 6 (continua…) i caratteri nel computer MAESTRO CILIEGIA A carattere 65 codice (decimale) del carattere 0 1 0 0 0 0 0 1 codifica binaria del codice del carattere I computer elaborano internamente solo sequenze di bits (0,1) lezione 6 (continua…) i caratteri nel computer Repertorio di caratteri un insieme di caratteri (es. “A”, “a”, “!”, “à”, “P”, ecc.) i caratteri sono entità astratte, da non confondersi con il modo in cui sono realizzati graficamente (gliphs) “a”, “a”, “a”, “a” sono tutti lo stesso carattere “a” Set di caratteri (codice) una tabella che definisce una corrispondenza biunivoca (1-a-1) tra un repertorio di caratteri e un insieme di numeri interi non negativi la stessa realizzazione grafica può corrispondere a caratteri diversi (es. “A” latino e “A” cirillico e “A” greco) a ogni carattere è assegnato un codice numerico (punto di codice o code position) Codifica di caratteri algoritmo che determina come i codici dei caratteri sono rappresentati in sequenze di bits (bytes) lezione 6 (continua…) (torna alla lezione 3) Il codice ASCII Primo standard per l’assegnazione di codici a caratteri (dal 1963) set di caratteri riconosciuto da tutti i computer conosciuto come “ASCII Standard” o ISO-646 Codifica 7 bits ciascun punto di codice è rappresentato con il numero binario corrispondente di 7 bits in realtà 1 byte = 8 bits di cui un bit non è usato per la codifica (bit di parità) 7 bits = 27 punti di codice = 128 caratteri rappresentati Sufficiente per rappresentare l’inglese mancano i caratteri accentati, umlaut, ecc. per rappresentare altri alfabeti occidentali lezione 6 (continua…) ASCII standard lezione 6 (continua…) Il set di caratteri ISO-Latin-1 ISO-Latin-1 (ISO-8859-1 o ASCII esteso) unica estensione standard di ASCII 1 byte = 8 bits = 28 punti di codice = 256 caratteri rappresentati sufficiente per lingue europee occidentali (italiano, francese, ecc.) ASCII Standard Caratteri di controllo 0-32 128-159 lezione 6 (continua…) La famiglia di caratteri ISO-8859 14 set di caratteri standardizzati da ISO (International Standard Organization) Codifica Soprainsiemi dei caratteri ASCII Standard 1 byte = 256 caratteri rappresentati da ciascun set punti di codice 0 - 127 (parte comune) ASCII punti di codice 128 - 159 codici di controllo (non corrispondono a caratteri grafici) punti di codice 160 - 255 (parte variabile) caratteri aggiuntivi per greco, cirillico, lingue slave, arabo, ebraico, ecc. I set di ISO-8859 sono tutti reciprocamente incompatibili Punto di codice 232 ISO-8859-1 (Latin-1) = “è” ISO-8859-7 (greco moderno) = “θ” ISO-8859 non copre lingue come giapponese, cinese, ecc. lezione 6 (continua…) The Universal Character Set UNICODE (ISO-10646) Standard internazionale che permette di rappresentare qualsiasi tipo di carattere appartenente ai sistemi grafici esistenti lingue europee, asiatiche, arabo, ebraico, cirillico, ugaritico, ecc. basato su principi di composizione dinamica dei caratteri ç=c+¸ Assegna un numero di codice univoco ad ogni carattere “è” = 232 “θ” = 952 Risolve i problemi di incompatibilità dei sistemi ISO-8859 estende l’insieme dei caratteri supportati permette la realizzazione di documenti multilingui Unicode è un soprainsieme di ASCII http://www.unicode.org lezione 6 (continua…) UNICODE Circa 96.000 caratteri grafici rappresentati (Unicode v. 4.0) … ma i punti di codice disponibili sono più di 1 milione !! Molteplici tipi di codifica: UCS-2, UCS-4, UTF-8, UTF-16, ecc. Codifica comune UTF-8 codifica di Unicode a lunghezza variabile che usa da 1 a 4 bytes per ogni carattere UTF-8 usa 1 byte per la codifica dei caratteri corrispondenti al set ASCII totale compatibilità con la codifica ASCII (…ma non con ISO-latin –1!!!) lezione 6 (continua…) (torna alla lezione 3) UNICODE lezione 6 (continua…) la struttura di una parola a d r i a t 97 100 114 105 97 i c 116 105 99 o 111 codice ASCII lezione 6 (continua…) ordinamento alfabetico ionio adriatico adriatico ionio tirreno mediterraneo mediterraneo tirreno lezione 6 (continua…) ordinamento alfabetico (II) a <? i a d <? o d r <? n r i i a o min i a t t i i c c o o la stringa che “precede” alfabeticamente è il risultato di una “funzione lezione 6 di minino” (continua…) diagramma di ordinamento inizializzazione lista non ordinata di N stringhe i = 0; NO test i = N-1? SI’ lista ordinata metti all’i-esimo posto la stringa più piccola tra le ultime N-i stringhe istruzione i = i+1; lezione 6 (fai click per continuare) passo di ordinamento k = i; incremento k = k+1; NO test 1 inizializzazione k = N? stringa i-esima < stringa kesima? SI’ SI’ NO istruzioni lista nuova test 2 stringa “temp” = stringa i-esima; stringa i-esima = stringa k-esima; stringa k-esima = stringa temp; lezione 6 (fai click per continuare) esempio ionio i = adriatico adriatico k = adriatico adriatico ionio tirreno tirreno tirreno mediterraneo mediterraneo mediterraneo 0 1 stringa i-esima < stringa kesima? NO stringa “temp” = stringa i-esima; stringa i-esima = stringa k-esima; stringa k-esima = stringa temp; temp = ionio stringa i-esima = stringa k-esima stringa k-esima = temp lezione 6 (fai click per continuare) esempio ionio i = adriatico adriatico adriatico adriatico ionio tirreno tirreno k = tirreno mediterraneo mediterraneo mediterraneo 0 stringa i-esima < stringa kesima? SI’ NO 2 stringa “temp” = stringa i-esima; stringa i-esima = stringa k-esima; stringa k-esima = stringa i-esima; NO temp = ionio k = k+1 k = N? lezione 6 (fai click per continuare) esempio ionio i = adriatico adriatico adriatico adriatico ionio tirreno tirreno tirreno mediterraneo mediterraneo mediterraneo (continua…) stringa i-esima < stringa kesima? 0 SI’ NO esci stringa “temp” = stringa i-esima; stringa i-esima = stringa k-esima; stringa k-esima = stringa i-esima; k = 3 NO temp = ionio k = k+1 k = N? SI’ lezione 6 (fai click per continuare) corpus, testo e unità testuali lezione 6 (continua…) definizioni corpus: collezione di testi tra loro collegati da alcune caratteristiche rilevanti rispetto a un obiettivo di studio o ricerca testo: elemento di base, tra le tanti possibili ripartizioni di un corpus, dotato di una sua omogeneità interna di contenuto o di stile unità testuale: frammento di testo individuato sulla base di unità macro-strutturali e linguistiche quali, ad esempio, il capitolo, il paragrafo o la frase lezione 6 (continua…) dati linguistici “controllati” fonte di dati primaria per la linguistica formale “razionalista” di derivazione chomskiana obiettivo dell’indagine linguistica è ricostruire le conoscenze che i parlanti hanno della lingua indipendentemente dal modo in cui la usano i fenomeni tipici dell’uso linguistico sono considerati rumore da cui è necessario fare astrazione limiti e problemi dei dati controllati le intuizioni dei parlanti non sono sempre “chiare e distinte” “la ragazza che ci sono uscito ieri” (???) “la maggior parte di noi non leggono abbastanza” (???) esperimenti “in vitro” eccessivo grado di idealizzazione e astrazione rispetto all’uso effettivo del linguaggio lezione 6 (continua…) dati linguistici “ecologici” I corpora rappresentano fonti di dati linguistici “ecologici”, ovvero raccolti nei loro “habitat naturali” lingua scritta libri (saggistica, narrativa, poesia, ecc.), giornali, riviste, pagine Web, produzioni “effimere” (e-mail, pubblicità, chat, volantini, ecc. lingua parlata (trascritta) notiziari radio-televisivi, conversazioni telefoniche, conversazioni facciaa-faccia, ecc. lezione 6 (continua…) tipologia ed uso principali usi dei corpora applicativo tipico dell’ingegneria del linguaggio, per progettare strumenti: • • dotati di conoscenze linguistiche direttamente ricavate da dati rappresentativi di un certo dominio o varietà di linguaggio “robusti” e ben adattati al linguaggio reale analitico per fondare analisi e descrizioni linguistiche sull’effettiva distribuzione delle costruzioni e fenomeni all’interno di un linguaggio, al fine di valutare ipotesi teoriche sulla sua forma ed organizzazione lezione 6 (continua…) tipi di corpora corpus specialistico orientato alla descrizione di una particolare varietà del linguaggio (sublanguage) o ad un ristretto dominio applicativo analisi della terminologia biomedica, ecc. linguaggio infantile linguaggio sportivo, economico, ecc. linguaggio patologico corpus generale o di riferimento (reference corpus) trasversale rispetto alle diverse varietà di un linguaggio L plurifunzionale orientato a rappresentare tutti gli aspetti caratteristici di L, proponendosi come risorsa di riferimento per la descrizione di L può essere organizzato in vari sottocorpora specializzati per varietà di L lezione 6 (continua…) tipi di corpora corpus sincronico corpus diacronico descrive il mutamento linguistico (i testi appartengono a diverse finestre temporali) corpus monolingue descrive un particolare stadio del linguaggio (i testi appartengono tutti ad una stessa finestra temporale) contiene testi di una sola lingua corpus bi/plurilingue corpus parallelo – lo stesso testo è rappresentato (in traduzione) in più di una lingua corpus allineato – ciascuna frase (parola) della lingua L1 è esplicitamente collegata col suo traducente nella lingua L2 corpus comparabile – testi in più lingue (non in traduzione) appartenenti alle stesse tipologie (ciascuna lingua è rappresentata da testi diversi) lezione 6 (continua…) tipi di corpora corpus di scritto corpus di parlato testi scritti e trascrizioni di parlato (in proporzioni variabili) speech database solo trascrizioni di linguaggio parlato corpus misto solo testi di linguaggio scritto campioni di linguaggio parlato in forma di segnale acustico (più eventualmente la trascrizione ortografica) corpus multimediale testi scritti, video, parlato in forma di segnato acustico, ecc. lezione 6 (continua…) dimensione del corpus corpus chiuso corpus standard tradizionale la quantità di testi e di parole è prefissata all’inizio del progetto corpus statico : “fotografa” un particolare stadio linguistico corpus aperto (monitor corpus, Sinclair 1991) nuovi testi sono continuamente aggiunti alla collezione, secondo le proporzioni decise in fase progettuale corpus dinamico, ideale per studiare l’evoluzione del linguaggio lezione 6 (continua…) british national corpus (BNC) Corpus del British English (1991-1994) Dimensione: 100 milioni di parole Tratti caratteristici creato da un consorzio accademico (Oxford, Lancaster, ecc.) ed editoriale (Oxford University Press, Longman, ecc.) generale monolingue sincronico misto 90% testi scritti di vari generi 10% testi di parlato trascritto (conversazioni spontanee) http://www.hcu.ox.ac.uk/BNC/index.html lezione 6 (continua…) parole corpora multilingue comparabili per 14 lingue europee catalano, danese, finlandese, francese, francese belga, greco, inglese, irlandese, italiano, norvegese olandese, portoghese, svedese, tedesco tutti i corpora sono stati costruiti secondo criteri e specifiche uniformi PAROLE-Italiano (1996-1998) realizzato presso l’ILC-CNR (Pisa) Dimensione: tratti caratteristici 21 milioni di parole tratte da testi scritti di vari generi (libri, giornali periodici, miscellanee) attualmente portate a oltre 70 milioni generale sincronico (internamente) monolingue http://www.ilc.cnr.it/pisystem/demo/demo_dbt/demo_corpus/in dex.htm lezione 6 (continua…) parole lezione 6 (continua…) corpora paralleli Canadian Hansard Corpus (2001) 1,3 milioni di frasi francesi-inglesi allineate a livello di frase, tratte dagli atti del Parlamento Canadese lezione 6 (continua…) corpora paralleli MULTEXT (1996) 5 milioni di parole dal Journal of European Community (francese, italiano, spagnolo, tedesco, inglese) 800.000 parole allineate a livello di frase (inglese come lingua “pivot”) lezione 6 (continua…) sesta lezione la codifica del testo fine sesta lezione (lezione 7) lezione 6