Analisi testuale ed elaborazione informatica Un esempio di applicazione: la Batracomiomachia di Giacomo Leopardi
STATISTICHE DEL TESTO: T.A.C.T.
T.A.C.T. deve il suo nome al fatto di essere
non un programma, bensì un sistema di sedici programmi riuniti in un unico
pacchetto ed accessibili dallo stesso menu[1].
Progettato per operare sotto il sistema operativo MS-DOS[2],
questo software è in grado di effettuare ricerche e analisi sulla base di testi
letterari opportunamente codificati; in genere i ricercatori lo usano per
elencare le occorrenze di una parola, combinazioni di parole o gruppi. Quello
che il programma è in grado di generare sono liste, tabelle, grafici,
concordanze, passando dalla semplice elencazione della frequenza di parole,
lettere o frasi fino ad arrivare alle statistiche del rapporto type-token,
creare anagrammi, dizionari lemmatizzati, collocazione delle parole in base ai
loro rapporti con il resto del testo, ecc.
La prima operazione da compiere per
eseguire ricerche con questi strumenti su di un testo è codificare il testo
stesso: “codificare” significa che il testo deve acquisire le informazioni
aggiuntive di cui abbiamo parlato da fornire alla macchina e quindi assumere un
aspetto che al lettore umano non solo non dice nulla ma provoca anche un senso
di inquietudine. Si tratta come prima cosa di riscrivere l’oggetto della nostra
analisi in formato di testo ASCII[3]. Dopo
aver fatto questo si passa ad inserire i tag, cioè le indicazioni che
dicono alla macchina cosa una parola rappresenta, come deve apparire
graficamente, che funzione logica ha all’interno del periodo, e così via. Questa
fase si dice di “istruzione”. Dobbiamo quindi utilizzare un linguaggio di
marcatura appropriato che abbia particolari codici identificativi per ogni
categoria morfo-sintattica precedentemente definita[4] e che
sono racchiusi tra parentesi acute ‘< >’, posti all’inizio e alla fine
della parte testuale da segnalare, o meglio da “marcare”[5]. Per
fare degli esempi possiamo dire che in una sceneggiatura cose ovvie da marcare
sono atti, scene e dialoghi, in un romanzo i capitoli, in un poema libri e
stanze e così via fino a livelli sempre più specifici a seconda del tipo di
analisi testuale che si intende compiere.
TACT è un sistema multilingue, il che
significa che per supportare lingue straniere si serve della tabella Ascii
estesa ed è in grado, con l’uso di opportuni editor di font, di
coprire tutti i linguaggi europei moderni (francese, tedesco, greco, etc.).
Una volta che il testo è stato
“marcato” l’utility “Makebase” lo converte in un database in modo
da velocizzare e facilitare le operazioni di ricerca. In questa fase bisogna
istruire il programma sull’alfabeto usato, sui caratteri speciali, i tag di
riferimento e così via. Tutte queste specifiche vengo memorizzate in un file
con estensione .MKS, che può anche essere riutilizzato per altri database
testuali.
Le utilità “Mergebas” e “Buildbat”
servono invece a gestire la fusione di più testi per creare dei file grandi
partendo da parti di essi; la divisione in parti infatti è consigliata nel caso
di testi lunghi per facilitare il debugging[6].
Dopo che il database testuale è stato
creato (si tratta di un file con estensione TDB, Textual DataBase) il
ricercatore è in grado di utilizzare sei programmi per operare ricerche
all’interno di esso:
·
Usebase,
generalmente è il primo ad essere utilizzato, esso permette di selezionare una
parola o un gruppo di parole (o anche una famiglia) e di visualizzarle in
cinque forme: concordanza parola-contesto (KWIC), concordanza
variante-contesto, l’intero testo, il grafico della distribuzione delle
occorrenze, ed infine una tavola della distribuzione della parola all’interno
del testo. Questi cinque output sono tra loro collegati in modo da poter
accelerare i confronti e passare dall’uno all’altro immediatamente.
·
Collgen,
genera liste di gruppi di parole (due o più) che si ripetono più di una volta
vicine tra loro nel testo in esame;
·
TactStat,
produce statistiche type-token per lunghezza-parola e frequenza-parola;
·
TactFreq,
produce liste di parole ordinabili alfabeticamente o in ordine inverso a
seconda del numero di occorrenze che le caratterizzano;
·
Anagrams,
elabora tutti i possibili anagrammi di una parola di interesse.
1.2
UNA
PROPOSTA DI LAVORO: LE TRADUZIONI DELLA BATRACOMIOMACHIA
Affascinato dalla materia e stimolato dall’alone di
mistero che gravava attorno al suo autore, il poeta decide per una traduzione
di propria mano: la Batracomiomachia era stata già più volte tradotta in
Italia ma nessuna di queste traduzioni soddisfa Leopardi, che le giudica fredde
e letterali e decide quindi che “una nuova traduzione della Batracomiomachia
potesse non essere inutile all’Italia”[7].
La prima versione risale al 1815 ma la storia di
questa traduzione inizia a farsi interessante nel 1821, quando il Poeta inizia
un processo di revisione che durerà praticamente per tutta la sua vita fino ad
approdare all’ultima revisione del 1826, ed è lecito chiedersi quindi perché e
come; a queste domande tenteremo di dare una risposta servendoci appunto delle
metodologie informatiche.
Leopardi apporterà significativi cambiamenti nel
passare da una redazione all’altra delle sue traduzioni e possiamo evidenziare
subito le varianti con l’aiuto di T.A.C.T. Solo a titolo di esempio
riportiamo la parte iniziale della codifica della edizione del 1815 (si noti in
particolare la struttura del Tact header):
La codifica è abbastanza semplice,
facciamo solamente notare che il segno % alla fine di ogni verso è un
“contatore” e serve appunto a contare detti versi, mentre l’uso delle doppie
parentesi acute “<< >>” indica righe di commento da ignorare
nell’elaborazione; in grassetto sono stati invece evidenziati le variabili
usate nei tag e seguite dai loro valori. In sostanza un tag di quelli
usati nelle codifche per T.A.C.T. si chiama “reference tag” ed è
costituito da due parti: una variabile (la prima parola contenuta nel tag)
ed un valore (le rimanenti parole, tutte saparate da uno spazio). Quello
che segue è il file .MKS che fornisce al programma le specifiche di
codifica e di interpretazione:
[Alpha]
a b c d e f g h i j k
l m n o p q r s t u v w x y z
0 1 2 3 4 5 6 7
8 9
[DiacRet]
- \Acute\ \Grave\ \Circumflex\ \Cedilla\ \Umlaut\ \Tilde\ "'"
[Title]
La guerra dei topi e
delle rane [1815]
[RefTemplate]
canto/stanza $CS, v.
$verso
[ReferenceBracket]
<
> SupText NoWordSep
[IgnoreBracket]
<<
>> SupText NoWordSep
[WordCounter]
WORD
0
[LineCounter]
LINE
0
[Reference]
Autore
Autore NonNumeric 9999
[Reference]
Titolo
Titolo NonNumeric 9999
[Reference]
Note
Note NonNumeric 9999
[Reference]
CS
Batra15 NonNumeric 9999
[Counter]
verso
1 SupText %
[Counter]
conta
1 NoSupText @CS
verso
tabella 2. File *.MKS
Una volta ottenuto il database
testuale possiamo operare le ricerche di cui T.A.C.T. è capace ed
ottenere le informazioni ritenute più utili al fine di notare le eventuali
differenze tra le tre versioni della Batracomiomachia leopardiana e
trarne opportune conclusioni.
Sempre a titolo di esempio
aggiungiamo una seconda codifica che è stata effettuata; detta codifica nasce
dall’esigenza di analizzare in maniera più specifica le varianti, pertanto i
tre testi (come si nota dall’esempio che segue) sono stati “fusi” in uno solo e
ogni terna di versi è stata etichettata con la sigla dell’anno di edizione
compresa tra asterischi, inoltre sono stati utilizzati dei marcatori speciali
per effettuare ricerche sulle varianti. Nella tabella che segue viene data
spiegazione di tali marcatori speciali:
Sono state inserite le seguenti prolettere
nel testo elettronico come codici di identificazione di tutte le diverse
versioni:
1815: _
1821: #
1826: ^
1815/21: °
1821/26: +
1815/26 =
tabella 3. Caratteri speciali utilizzati nella codifica
“Varianti”
Inoltre si è reso necessario
modificare di conseguenza il file .MKS aggiungendo questi caratteri in
fondo all’alfabeto ed eliminando l’accento circonflesso dai diacritici (in
quanto non è presente come carattere alfanumerico nel testo in esame). Quello
che segue è il file risultante:
[Alpha]
a b c d e f g h i j k
l m n o p q r s t u v w x y z _ # ^ ø + =
0 1 2 3 4 5 6 7 8 9
[DiacRet]
- \Acute\ \Grave\
\Cedilla\ \Umlaut\ \Tilde\ "'"
[RefTemplate]
$Versione,
canto/stanza $CS, v. $verso
[ReferenceBracket]
<
> SupText NoWordSep
[IgnoreBracket]
<<
>> SupText NoWordSep
[WordCounter]
WORD
0
[LineCounter]
LINE
0
[Reference]
Autore
Autore NonNumeric 9999
[Reference]
Titolo
Titolo NonNumeric 9999
[Reference]
Note
Note NonNumeric 9999
[Reference]
CS
15-21-26 NonNumeric 9999
[Counter]
verso
1 SupText %
[Counter]
conta
1 NoSupText @CS
verso
[Label]
Versione
* *
NoSupText NoWordSep NonNumeric 9999
![]()
tabella 4. File .MKS utilizzato per la codifica
“Varianti”
Una volta superata questa fase di “istruzione” del
programma possiamo accedere alle interrogazioni, che svolgiamo mediante query,
una funzione specifica del programma che permette di ricercare singole parole,
porzioni di testo, segni diacritici e via discorrendo. Concentriamoci ora sulla
codifica “Varianti” ed utilizziamo il file “3Vers.txt” che genera un
omonimo database. Per mezzo del Query Dialog Box otteniamo quindi
una distribution list per ciascun codice, impostando come unità di
segmentazione la stanza e come sequenza di output la successione nel
testo.
Vediamo come prima interrogazione le varianti nella
versione del 1821, tenendo presente che per l’analisi ci si è riferiti al solo
primo canto (per un totale di 25 stanze). Nella prima colonna viene indicato il
canto in numeri romani, nella seconda la stanza in cifre arabe, nella terza il
numero delle occorrenze dei sintagmi o delle categorie ricercate (in questo
caso le “varianti”) e nella quarta una rappresentazione grafica (modificabile)
di queste occorrenze.
─────────────────────────────────────────────────────────────────
I 1 | 4|****
I 2 | 4|****
I 3 | 2|**
I 4 | 5|*****
I 5 | 6|******
I 6 | 2|**
I 7 | 5|*****
I 8 | 5|*****
I 9 | 2|**
I 10 | 1|*
I 11 | 2|**
I 12 | 3|***
I 13 | 3|***
I 14 | 3|***
I 15 | 5|*****
I 16 | 4|****
I 17 | 3|***
I 18 | 5|*****
I 19 | 4|****
I 20 | 3|***
I 21 | 3|***
I 22 | 4|****
I 23 | 5|*****
I 24 | 6|******
I 25 | 3|***
Total: 92.
![]()
tabella 5. Varianti 1821
Operiamo la stessa interrogazione sulla versione del 1826;
si noti come, anche in questo caso, gli asterischi indichino il numero delle
varianti presenti in ciascuna stanza di 6 versi (indicata ad inizio riga,
assieme al canto che in questo caso è sempre – ovviamente – I). Questo sistema
permette di avere subito un impatto visivo esauriente della distribuzione delle
varianti:
─────────────────────────────────────────────────────────────────
I 1 | 6|******
I 2 | 6|******
I 3 | 6|******
I 4 | 6|******
I 5 | 6|******
I 6 | 4|****
I 7 | 5|*****
I 8 | 6|******
I 9 | 3|***
I 10 | 4|****
I 11 | 6|******
I 12 | 5|*****
I 13 | 3|***
I 14 | 3|***
I 15 | 5|*****
I 16 | 4|****
I 17 | 4|****
I 18 | 6|******
I 19 | 5|*****
I 20 | 3|***
I 21 | 5|*****
I 22 | 6|******
I 23 | 5|*****
I 24 | 6|******
I 25 | 5|*****
Total: 123.
tabella 6. Varianti 1826
Si vede subito che il maggior numero di varianti si
trova appunto nella versione del 1826, dal che si può già ipotizzare come i
cambiamenti siano divenuti più sostanziali nell’ultima revisione leopardiana. A
riprova di questo possiamo generare grafici che ci indichino quante e quali
cose siano invece rimaste invariate nel passare da una redazione all’altra;
vediamo (sempre solo in forma numerica) per prima la tabella di distribuzione
relativa ai cambiamenti avvenuti nel passare dalla versione 1821 a quella 1826:
─────────────────────────────────────────────────────────────────
I 6 | 2|**
I 7 | 1|*
I 9 | 1|*
I 10 | 2|**
I 13 | 3|***
I 14 | 3|***
I 16 | 1|*
I 17 | 2|**
I 20 | 2|**
I 21 | 1|*
I 25 | 1|*
Total: 19.
tabella 7. Sintagmi e diacritici invariati 1821/1826
La distribuzione evidenziata dalla
tabella mostra le parti di testo che non sono state modificate nel passare
dalla redazione del 1821 a quella del 1826.
Un’altra interrogazione molto utile è
quella di evidenziare tutti i versi varianti per gruppi, mantenendo ad inizio
riga l’indicazione della versione e segnalando per ciascun gruppo il canto e la
stanza di provenienza. Quello che segue è, come sempre, solo un esempio:
─────────────────────────────────────────────────────────────────
15, canto/stanza I 1,
v. 1
*15*_ Grande impresa disegno, arduo lavoro:
*21*# Mentre a novo m' accingo arduo lavoro,
*26*^ Sul cominciar del mio novello canto,
────────────────────────────────────────────────────────────────────────
15, canto/stanza I 1,
v. 2
*15*_ O Muse, voi dall' Eliconie cime
*21*# O Muse, voi da l' Eliconie cime
*26*^ Voi che tenete l' eliconie cime

Audio: La voce di Roberto Herlitzka legge A proposito della storia di Alberto Gianquinto