Vai al Contenuto
Versione Stampabile Icon  Feed Rss Icon  Mappa del Sito
ISSN: 2036-2293

Analisi testuale ed elaborazione informatica Un esempio di applicazione: la Batracomiomachia di Giacomo Leopardi

write by di Daniele Silvi

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

  Come dimostrazione delle potenzialità di T.A.C.T. abbiamo codificato ed analizzato le tre traduzioni del poemetto pseudo-omerico Batracomiomachia redatte da Giacomo Leopardi: il motivo della nostra scelta sta nel fatto che si tratta di un testo con varianti.

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