Parte 4 - IL TESTO ELETTRONICO
La rappresentazione del testo
L'avvento di sistemi automatizzati, nell'ambito del trattamento dei dati umanistici, ha condotto ad una generale riflessione attorno al significato dell'utilizzo dell'informatica, intesa come scienza per la trasmissione delle informazioni e non come semplice strumento. L'apporto di pratiche elettroniche nella gestione di dati testuali ha condotto ad una nuova modalità di indagine e ricerca delle informazioni trasmesse dalle fonti, a tutt'oggi essenzialmente disponibili su supporto cartaceo.
Prima di iniziare ogni processo di creazione di un testo elettronico è necessario sottoporre la fonte ad un'accurata analisi, cioè ad un'indagine precisa dell'oggetto fisico, necessaria per capire quale è lo scopo della resa elettronica. Non solo la prima fase di memorizzazione del testo richiede accuratezza nella scelta del documento e nella sua conversione in oggetto digitale, ma la stessa codifica necessita della definizione degli obiettivi del procedimento automatico e dell'individuazione degli scopi successivi alla resa elettronica del testo [1].
E' quindi necessario SCEGLIERE IL TESTO, procedere alla sua MEMORIZZAZIONE, CODIFICARLO sulla base dell'individuazione degli elementi pertinenti, cioè degli scopi della codifica e creare quindi un MODELLO della fonte di partenza.
4.1 La memorizzazione del testo
La prima attività, che sovrintende a qualsiasi forma di trattamento elettronico, è quella della memorizzazione automatica dei dati. La trasposizione dei dati informazionali in Machine Readable Form (MRF) e cioè in forma leggibile dalla macchina [2], è un procedimento complesso che coinvolge l'attività di un emittente, quale trasmettitore di informazioni, e quella di un destinatario, ricevente del contenuto inviato. Trasmissione complessa in quanto è necessario che emittente e destinatario condividano un codice comunicativo senza il quale ogni forma di comprensione sarebbe impossibile. Questo perché in un processo comunicativo come quello uomo-macchina non è immediatamente fattibile dal momento che le modalità di espressione delle due entità sono differenti: linguaggio naturale e linguaggio binario [3]. Sarà dunque necessario individuare un codice comune che consenta di condividere informazioni senza perdita.
È evidente che per rendere possibile a un programma
di compiere delle operazioni sul testo è necessario che questo
testo venga memorizzato.
L'acquisizione del file che contiene il testo può essere ottenuta
in vari modi. La più immediata e "antica" è la
battitura da tastiera, ma è possibile effettuare
anche una cattura effettuata tramite un lettore ottico (scanner
[4]) o pensare di acquisire
il testo acquistando, o ottenendo per altra via, un nastro o un floppy
memorizzato altrove.
La condizione che comunque è generalmente necessaria perché
il testo sia utilizzabile è che il file di testo sia un file ASCII
(American Standard Code for Information Interchange) o che comunque
detto file sia trasformabile in formato ASCII [5].
A questo proposito, nel caso di battitura da terminale, si deve fare molta
attenzione a non utilizzare per la memorizzazione un Word Processor
(un programma cioé che tratta il testo in vista di un'impaginazione),
ma un semplice Editor [6].
Il Word Processor, infatti, molto spesso per ottenere l'impaginazione
manipola il testo: inserisce spazi bianchi supplementari e utilizza caratteri
di controllo che sono invisibili all'utente. In una parola il Word Processor
tratta il testo in un modo tale da renderlo spesso inutilizzabile per
qualsiasi utilizzazione successiva.
Nel caso di memorizzazione da scanner bisognerà stare molto attenti
a non fidarsi del lavoro compiuto automaticamente, ma sarà necessario
compiere un'accurata opera di revisione del testo.
Come TUTTA l'informazione veicolata da un calcolatore, anche i caratteri, vengono codificati mediante serie di bit. Infatti le tavole dei codici sono tavole di corrispondenza che associano a sequenze di bit un valore corrispondente ad un carattere (lettere, numeri, segni speciali della tastiera). Il primo codice con cui naturalmente e quasi senza accorgercene ci confrontiamo, è infatti quello con il quale immettiamo i dati nella macchina, quello che ci consente cioè di scrivere utilizzando il computer; è questo il primo strumento di cui facciamo uso al fine di rappresentare i dati testuali all'elaboratore.
Fino alla fine degli anni cinquanta la comunicazione tra
operatore umano ed elaboratore richiedeva l'immissione dei dati e delle
istruzioni direttamente in codice binario; è sorta dunque l'esigenza
di rappresentare in maniera più agevole ed amichevole, nella memoria
dell'elaboratore, i dati testuali, sotto forma di segni come quelli delle
notazioni alfabetiche.
Ciò è stato evidentemente possibile grazie
alla capacità delle macchine di ripetere i due numeri della notazione
binaria in un numero indefinito di volte; il codice binario è cioè
in grado di codificare un numero infinito di fenomeni, a patto che i suoi
due simboli siano riuniti in un gruppo e a patto di rendere significativa
la posizione che il segno occupa in una sequenza.
Per rappresentare caratteri tramite ricorso ai due soli numeri 1 e 0 è
sufficiente definire quindi una corrispondenza biunivoca che associ il
repertorio dei simboli notazionali, caratterizzante un determinato sistema
di scrittura, ad una sequenza di codici numerici elaborati ricorrendo
alla sola notazione binaria. La tavola di corrispondenza derivante viene
denominata Coded Character Set, insieme ordinato di caratteri codificati
(tramite ricorso alla notazione numerica). Sono state elaborate, nel corso
degli anni, molteplici tavole di caratteri basate su sequenze binarie
di differenti grandezze. La più nota e diffusa fra di esse è
certamente l'American Standard Code for Information
Interchange (ASCII).
Trattasi del codice standard attualmente più diffuso per i personal
computer; esso consente la rappresentazione di 128 simboli (lettere dell'alfabeto,
numeri e segni diacritici) essendo formato da sequenze binarie di 7 bit
(binary digit cioè cifre binarie).
Questo codice è basato sull'alfabeto delle lingue anglosassoni
e dunque non contiene moltissimi caratteri usati dagli alfabeti latini
e nordici, e, naturalmente, quasi nessun carattere di quelli non latini
[7]. Gli attuali computer tuttavia
consentono di impiegare sequenze superiori alle sette cifre binarie, per
la rappresentazione elettronica dell'informazione testuale, e dunque la
sequenza base è stata incrementata di un elemento (8 bit invece
di 7), permettendo la definizione di 256 possibili rappresentazioni (Extended
ASCII). Le nuove posizioni sono state però contraddistinte
in maniera differente dai vari produttori e ciò ha condotto alla
proliferazione di molteplici derivazioni dall'originale ASCII a 7 bit,
ciascuna caratterizzante un diverso alfabeto nazionale.
Naturalmente questa proliferazione ha comportato una riduzione della portabilità
dei dati memorizzati su supporto elettronico tra ambienti software e hardware
differenti, poiché ogni derivazione dall'ASCII originale associa
le medesime sequenze binarie a caratteri o simboli differenti.
Questo metodo venne codificato nello standard ISO 8859-n, dove
n è un numero che indica quale particolare tabella di caratteri
sia utilizzata. Ad esempio, la tabella di caratteri adatta per l'italiano
è la ISO 8859-1, comunemente detta anche Latin-1.
Naturalmente, per poter leggere correttamente un testo scritto
usando una certa tabella è necessario disporre di un font che contenga
anche i caratteri di quella tabella; se esso viene letto usandone una
diversa, tutti i caratteri alti vengono sostituiti dai corrispondenti
nella nuova tabella, così che il testo non risulta più correttamente
leggibile; da questo deriva la necessità di 'dichiarare' in qualche
modo quale sia il set di caratteri utilizzato.
Per superare questo inconveniente, nel 1991 è stato proposto un
sistema di caratteri, chiamato Unicode, che, essendo codificato
con 16 bit, ne comprende ben 65536 [8],
permettendo così di contenere in una singola tabella tutti i caratteri
necessari per la maggior parte delle lingue del mondo; questo sistema
non ha però ancora trovato universale approvazione, prima di tutto
perché molti programmi non sono in grado di utilizzarlo, e poi
perché l'invio di un testo in Unicode richiede la trasmissione
di una quantità di dati doppia dei normali set di caratteri ad
8 bit.
La sola modalità rappresentativa delle informazioni
tramite le tavole dei codici non consente però un'esaustiva trasmissione
dei dati traditi. Questo perché le fonti testuali sono portatrici
di contenuti che esulano dal solo set di caratteri visibili. Le informazioni
relative alla struttura del documento non sono rappresentabili e limitare
la codifica al solo character set condurrebbe ad un inevitabile
perdita. E' allora necessario approdare ad un secondo più analitico
livello di codifica che consenta un'esaustiva rappresentazione della fonte.
L'attività di codifica testuale non è un'operazione così
semplice come può apparire: essa conduce di necessità a
non ignorare il problema della scelta degli elementi da codificare
[9]; tale scelta deve essere
condizionata dalle caratteristiche del trattamento per cui si intende
optare e, allo stesso modo, la scelta del tipo di rappresentazione dei
dati influenza l'intero processo di elaborazione dell'informazione testuale.
Questo in quanto non è possibile codificare tutta l'informazione
trasmessa perché è l'esigenza della resa automatica che
individua il grado di analiticità della codifica.
Codificare significa dunque effettuare un'analisi del testo, individuarne
le caratteristiche e formulare quindi un'interpretazione della fonte,
sulla base delle features individuali o della classe di riferimento.
E' possibile comunque individuare quali sono le caratteristiche del testo che vengono di base codificate, cioè interpretate. Esistono 3 categorie: struttura, "formato", contenuto.
STRUTTURA: per codifica della struttura si intende l'individuazione delle partizioni principali e secondarie del testo (ad esempio capitoli, sezioni, paragrafi per un testo in prosa; canti, stanze, versi per un componimento poetico; atti e scene per un testo teatrale, ecc.).
"FORMATO": si sintende l'aspetto fisico del documento, quindi la riproduzione in formato digitale delle caratteristiche della versione cartacea. In questo caso si intende quindi dalla codifica di grassetti, corsivi e sottolineati; ma anche di alcuni caratteri speciali che richiedono una particolare resa per essere rappresentati (tutto ciò che esula quindi dal set ASCII); o ancora posizionamento di note e annotazioni, organizzazione di eventuali glosse marginali, indentazioni.
CONTENUTO: in questo caso si esula sia dall'aspetto strutturale che da quello realtivo al formato; è in questa fase che la codifica richiederà una scelta degli elementi da codificare; in questo caso tale scelta è determinata dalle esigenze specifiche del lavoro di resa elettronica [10].
4.3 La modellizzazione della fonte
In relazione alla precedente tripartizione è possibile identificare 2 principali caratteristiche identificative di una fonte testuale. Le chiameremo testo e documento, dove la rappresentazione dell'aspetto materiale della fonte sarà il documento mentre la rappresentazione astratta o logica del contenuto sarà il testo.
Ne consegue che chiameremo testo un'entità non indagata nelle sue istanze semantiche o sintattiche, ma un'invariante di segni grafici. Sono da ascrivere al testo così inteso le segmentazioni logiche e le partizioni interne di interi blocchi di scrittura, che sono caratterizzate dal possedere una peculiare distribuzione gerarchica e funzionale (indipendentemente dalla loro resa tipografica). Sono poi passibili di entrare a far parte del testo anche altri elementi identificativi, più precisamente tutto ciò che è riconducibile all'istanza di responsabilità dell'autore: il titolo ed il nome dell'autore, astraendo dalla loro collocazione spaziale, che appartiene al documento, gli intertitoli, le note, cioè tutte quelle pratiche che accompagnano il testo, pur non essendo testo in senso stretto, al momento del contatto con l'utente. La resa del TESTO è quindi indipendente dallo specifico esemplare cartaceo di riferimento, è un'astrazione dall'oggetto materico specifico; è ciò che riguarda l'istanza di responsabilità dell'autore.
Chiameremo invece documento l'organizzazione spaziale del supporto originale del testo e la disposizione delle tracce fisiche dei segni grafici. Più precisamente diremo che gli aspetti caratteristici del documento riguardano la distribuzione dei vari elementi all'interno della pagina e l'indagine del supporto materiale (tipi di caratteri, collocazione delle immagini, elementi introdotti non dall'autore del testo). Il DOCUMENTO si rifà quindi allo specifico esemplare di riferimento che abbiamo sotto mano, cioè a quella precisa versione del cartaceo che vogliamo codificare [11].
E' quindi essenziale elaborare un modello della fonte oggetto di attività di codifica. Modello che non sarà mai univoco, in quanto molteplici sono i punti di vista rapportabili all'oggetto da sottoporre a trattamento automatico.
[1] Si deve aver cioè chiaro:
[2] Un testo in MRF è dunque un testo memorizzato, caricato su di un supporto materiale, cioè elettronico (disco magnetico, memoria RAM, CD-ROM) e in una forma tale da rendere possibile la sua gestione automatica.
[3] CFR. sezione 1, parte sull'informazione digitale.
[4] Cfr. sezione 1, parte sugli strumenti di Input e parte 5 sulla digitalizzazione delle immagini.
[5] Ovviamente pensando alla scansione come sistema di riproduzione di un documento in formato testo. Diversa la digitalizzazione che ha come obiettivo la realizzazione di un'immagine digitale della fonte (per cui cfr. sezione 5, anche per la conversione digitale in formato testo tramite scanner).
[6] Cfr. sezione 6 sui linguaggi dichiarativi e procedurali.
[7] L'alfabeto latino, usato nella scrittura di molte lingue nel mondo, presenta una grande quantità di varianti grafiche: si va dalle semplici vocali accentate (accento grave à, acuto á, circonflesso â, dieresi ä, tilde ã) a lettere modificate (lettere con barrette, cediglie, segni), lettere speciali usate solo in una lingua, segni di punteggiatura particolari (il punto interrogativo ed il punto esclamativo capovolti usati nello spagnolo), simboli di valuta, e così via, senza considerare poi che gran parte di questi segni presentano le due forme maiuscola e minuscola.
[8] Con 2 byte il numero di combinazioni possibili diventa 256x256 = 65.536, perciò Unicode supporta 65.536 diversi segni, al posto dei 256 del set ASCII. Si riescono così a rappresentare non solo tutte le varianti dell'alfabeto latino, ma anche tutti gli altri alfabeti (greco, cirillico, arabo, ebraico...) oltre all'insieme degli ideogrammi cinesi e giapponesi (che sono in tutto circa 30.000, anche se poi ne vengono effettivamente utilizzati solo poche migliaia).
[9] Devono essere chiari quindi gli obiettivi della resa elettronica (solo per citarne alcuni):
Cfr. sezione 6 sui linguaggi di codifica.
[10] Potrebbe interessarmi individuare tutti i nomi di persona che compaiono nel testo, oppure tutti i riferimenti temporali o le citazioni di luogo; o ancora potrei voler individuare tutte le figure retoriche che ricorrono nel testo; o ancora selezionare tutti i riferimenti in lingua diversa da quella corrente; ecc. L'elenco sarebbe infinito.
[11] Un discorso è quindi lavorare sul testo della Divina Commedia di Dante, altro è codificarne una specifica edizione di riferimento; il documento riguarda la precisa resa formale di un testo che possiede determinate caratteristiche logiche indipendentemente dall'organizzazione e dalla distribuzione dei suoi elementi su uno specifico supporto (e dalla presenza di elementi non d'autore).