Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
INFORMATICA UMANISTICA
Conferenza di Tito Orlandi, l’inventore dell’informatica umanistica Commentato [CG1]: http://www.cmcl.it/~orlandi/pubbli/
saggiomio.pdf
[ … ] It seems evident that when the computer is applied in the humanities only so far as it simulates (does the work of)
a “traditional” machine, then no new methodological problems arise, because there is no substantial difference from the
traditional procedures, if not of speed and convenience. On the contrary, when the computer is applied in its full
capacity of running algorithms, humanities are confronted with a radically new situation, for which there is no
commonly recognized methodology”.
[ … ] Sembra evidente che quando il computer viene applicato solo alle discipline umanistiche nella misura in cui
simula (fa il lavoro di) una macchina “tradizionale”, allora non sorgono nuovi problemi metodologici, perché non vi è
alcuna differenza sostanziale dalle procedure tradizionali, se non di rapidità e convenienza. Al contrario, quando il
computer viene applicato nella sua piena capacità di eseguire algoritmi, le discipline umanistiche si trovano ad
affrontare una situazione radicalmente nuova, per la quale non esiste metodologia comunemente riconosciuta”.
Questo passo è tratto da una conferenza di Tito Orlandi tenuta qualche anno fa a Londra, ma che non
è mai stata pubblicata. Egli esprime concetti per nulla ovvi e questo costituisce un po’ il manifesto
della disciplina dell’informatica umanistica. Per comprendere a fondo le parole dello studioso, è
importante prima sapere che cos’è un algoritmo. “Algoritmo” è una parola tecnica che prevede una
descrizione esatta e dettagliata dei dati di uno strumento (ex. Quando si cucina e si segue una ricetta
è necessario che essa abbia tutte le informazioni necessarie per poter creare un buon prodotto; servono
quantità, tempistiche e strumenti adatti. Se anche solo uno di questi elementi manca, la ricetta non
riesce). I fattori che caratterizzano un algoritmo, dunque, sono 3: 1. la descrizione esatta dei dati che
devono entrare, 2. la descrizione esatta del procedimento che deve essere messo in atto e 3. infine la
descrizione esatta del prodotto che si vuole ottenere. Sapere tutto questo è fondamentale perché
corrisponde esattamente a ciò che si mette in atto quando si fa uso di un computer. Orlandi, nella
citazione sopra riportata insiste moltissimo sul concetto di algoritmo. Egli dice anche che non ci sono
grandi differenze tra l’utilizzo dei computer e le procedure classiche, se non per quanto riguarda
velocità e praticità. Il computer, dunque, non fa altro che simulare un sistema tradizionale. È molto
importante però tenere a mente che non si tratta di fare le stesse cose un po’ più velocemente, ma di
cambiare l’approccio. Sono 2, infatti, i punti fondamentali nell’ambito dell’informatica umanistica
(anche definita “humanities computing”): il punto 1 è nella formalizzazione dei dati e delle procedure,
mentre il punto 2 prevede la rappresentazione dei dati in input e in output.
Dominare i dati: il mondo antico
Dominare i dati significa tenerli sotto controllo. Facendo un passo indietro nella storia, si può
ricordare che in un certo momento dell’età ellenistica sono nate le prime grandi raccolte di libri. Gli
scritti, dunque, iniziano ad essere tanti e diventa necessario raccoglierli in modo da renderli
disponibili. Proprio per questo motivo vengono create le prime grandi biblioteche. Il continuo e
sempre più consistente aumentare del numero dei libri ha portato i primi bibliotecari a domandarsi
come fare a individuare un determinato scritto in mezzo a quell’enorme qualità di elementi (ex. sapere
se fosse in uno scaffale piuttosto che in un altro). Da qui nasce il primo momento di descrizione del
dato e iniziano a svilupparsi i concetti per come si intendono oggi. La nascita del computer non è
stata semplicemente una concettualizzazione nata nel secolo scorso, ma è qualcosa di molto più antico
e radicato nel tempo. Si è partiti infatti dalle prime formalizzazioni e organizzazioni di dati per poi
arrivare alla creazione di strumenti in grado di svolgere questi procedimenti al meglio. Inizialmente,
ad esempio, le informazioni relative ad uno scritto venivano segnate su dei bigliettini, che venivano
poi organizzati e catalogati in cassetti pieni di cartelle.
Schedature lessicali e la nascita dei dizionari
Quello presente nella foto qui sotto riportata è un dizionario del 4 secolo a.C. L’autore è Nonio
Marcello. Nel secolo 4 studia latino antico e per fare ciò analizza un lemma e riporta per iscritto i suoi
significati. Per aiutarsi nella spiegazione poi aggiunge alla definizione anche una citazione. Nonio
Marcello trascrive tutto su fogli di papiro e li inserisce in uno schedario dando loro un ordine. La sua
opera costituisce di fatto uno dei primissimi dizionari monolingui nella storia. Se si osserva ora un
dizionario attuale, come ad esempio The Oxford English Dictionary si può notare come quest’ultimo
sia strutturato esattamente allo stesso modo di quello di Nonio Marcello. È evidente quindi una certa
formalizzazione. È possibile trovare formalizzazione anche in alcune traduzioni della Bibbia. Studiare
la Bibbia è sempre stato molto difficile, poiché era complicato comprendere i significati delle parole.
Alcuni studiosi medievali, dunque, hanno deciso di risolvere il problema creando una sorta di
glossario di tutti i vocaboli utilizzati per aiutare la comprensione del testo a chi desiderava studiarlo.
Nella foto qui riportata si possono vedere numerose “A” scritte in maiuscolo ed in colore rosso; questo
perché la pagina raffigurata contiene le parole che iniziano con questa lettera. La nascita del computer
ha permesso di portare alla massima forza tutti questi procedimenti presenti già da tempo. Con il
computer la formalizzazione del dato diventa fondamentale per garantire un uso intelligente dello
strumento. È possibile riassumere tutto con questo schema: formalizzazione dato => trasformazione
con algoritmo => prodotto (INPUT, trasformazione, OUTPUT).
La critica testuale
Il primo campo in cui la necessità del computer è emersa è quello della critica testuale. Ma cosa vuol
dire l’espressione “critica testuale” (anche detta “filologia”)? La critica testuale si occupa di ricercare
il testo originale o almeno la versione più antica di un determinato testo. Il computer, dunque, viene
utilizzato in questo ambito per fare dei confronti automatici tra testi. Nel mondo umanistico c’è ancora
un atteggiamento di sospetto verso la tecnologia. Ci sono alcuni tipi di testi che devono essere ad
unico testimone. Un esempio comune sono i documenti notarili. Ci sono poi opere “aperte” cioè che
non hanno un’unica versione, ad esempio l’epica antica, i canti popolari o il canto liturgico
tradizionale. Altre opere nascono per avere un testo stabile, come ad esempio nel caso della letteratura
occidentale. Stabilire il testo di queste opere risulta sempre molto difficile perché esistono svariate
versioni ma il testo originale è unico. Questo accade ad esempio a causa degli errori durante la
copiatura di un testo, che a lungo andare (se vengono costantemente ripetuti) possono anche
comportare modifiche al significato originale del testo. Prima della nascita della stampa ogni copia
era un unicum. Il testo stabile si trova dunque a fare i conti con il fatto che nell’operazione di copiatura
ci sono stati molteplici interventi e conseguenti alterazioni (sicuramente non volute) dovute a
frequenti errori di copiatura.
Trasmissione dei testi
Secondo Giorgio Petrocchi, uno studioso e critico letterario di origine italiana, quella nello schema è
la trasmissione del testo della Divina Commedia. È risaputo che in nessuna delle opere di Dante
Alighieri ci sia la sua firma e proprio a causa di questo aspetto, molto spesso nella storia è risultato
difficile attribuirgli determinati scritti. Osservando questo schema dall’alto verso il basso è possibile
notare come a partire da un’unica opera si sviluppino molte ramificazioni che stanno ad indicare le
volte in cui quel testo è stato copiato e confrontato con altre copie. Il testo più difficile da seguire sarà
chiaramente quello più lungo e quello costituito da molteplici manoscritti. Questo secondo schema
più piccolo e breve invece riguarda e rappresenta l’ipotetica trasmissione di un testo. Si parte sempre
da un archetipo, che è la copia più antica esistente di un determinato testo (non è detto che sia la
versione scritta dall’autore). Di questo archetipo spesso si hanno diverse copie, che vengono
confrontate attentatemente nel tentativo di correggere eventuali errori di copiatura (quelli di cui si è
certi) e ricostruire il testo originale nella maniera più fedele e realistica possibile. L’algoritmo
standard della critica testuale, dunque, prevede il confronto dei testimoni, l’ identificazione degli
errori sicuri, la ricostruzione delle famiglie e dello stadio più antico del testo e l’ipotesi di un testo
“originale”.
Con la sigla “PRA” si indica una preposizione articolata; con “SOS” un sostantivo e cosi via.
Prendendo in considerazione, ad esempio, la preposizione “nel” bisogna aprire l’indicazione con una
parentesi angolata (<), inserire il termine considerato e chiudere l’indicazione inserendo prima uno
slash (/) e poi un’altra parentesi angolata (>). Una determinata indicazione può essere più o meno
specifica; ciò significa che può essere inserita all’inizio e alla fine di una parola, oppure di un verso
(<verso> … <verso/>), oppure di una strofa (<strofa> … <strofa/>). Questa è una forma efficiente di
codifica. La funzione è abilitata (on, aperta) prima dell’oggetto con una notazione convenzionale. La
funzione è disabilitata (off, chiusa) dopo l’oggetto con una notazione convenzionale. Questa forma
di codifica si chiama XML (significa eXtensible Markup Language). Con XML si possono descrivere
non solo oggetti, ma potenzialmente si può descrivere qualunque oggetto. Si va avanti a codificare
un determinato elemento finché non si arriva alle unità subatomiche e non è più possibile suddividere
l’oggetto. Il sistema XML è stato inventato da un americano di nome Jon Bosak alla fine degli anni
90. Egli nel 1998 ha esposto, come primissimo grande esempio, l’opera teatrale The tempest di
William Shakespeare.
Ci sono delle situazioni in cui un codice XML non è “ben formato”. Un esempio è riportato in questa
foto:
Nella trascrizione di questo titolo è stato commesso un piccolo errore. Oggigiorno qualunque browser
è estremamente intelligente ed è quindi in grado di segnalare quando viene commesso uno sbaglio.
In questo caso l’errore è la lettera maiuscola in “cognome” alla chiusura dell’indicazione. XML vuole
che l’indicazione sia esattamente la medesima, sia all’inizio che alla fine. Proprio per questo motivo
sono in tanti a criticare questo sistema e a considerarlo esageratamente rigido. Il concetto di “well
formed” è stato preso dalla linguistica dello studioso statunitense Noam Chomsky. Adesso bisogna
vedere 2 casi molto particolari:
Entrambi gli esempi riportati sono codici validi, formati e costruiti molto bene. Nonostante questo
però il secondo ha delle imprecisioni. Le indicazioni in verde, infatti, sono scritte a caso (ex. colore
e camera). Il computer non riconosce un’informazione “stupida”. Un codice, dunque, può essere ben
formato, ossia essere corretto dal punto di vista di apertura e chiusura, ma essere non valido. Un
codice XML, infatti, è valido solo se corrisponde ad uno schema, ovvero alla descrizione di una
struttura che viene dichiarata precedentemente. Anche noi, in quanto uomini, seguiamo degli schemi,
e questo lo aveva capito Hyman Minsky ai suoi tempi (ex. quando vediamo un semaforo sappiamo
che cosa indica il colore verde, non dobbiamo domandarcelo ogni volta). L’XML permette di imitare
a computer i nostri frame/schemi. Per fare uno schema al computer con delle informazioni che vanno
bene, è necessario utilizzare il document type definition (DTD), uno strumento che permette di avere
una definizione di ogni tipologia di documento. Ma come si fa uno schema sul document type
definition? Bisogna iniziare osservando la seguente foto:
Supponendo di star descrivendo un libro bisogna innanzitutto avere un autore (può essere uno o più
di uno, per questo c’è il segno ‘+’), un titolo, a volte un sottotitolo (per questo c’è il ‘?’), almeno un
editore e un luogo, un anno e facoltativo un anno di riedizione. Una volta stabilito ciò, è possibile o
continuare ad analizzare elemento per elemento mettendo tra parentesi tutti gli aspetti in esso
contenuti (come nel caso di libro appunto), oppure fermare l’analisi al singolo nome mettendo la sigla
PCDATA (ossia parced character data) (ex. non voglio sapere nient’altro sull’autore, quindi non
proseguo nell’analisi). Tutto può essere codificato con l’XML e questo viene dimostrato da un
progetto all’università di Oxford chiamato TEI (text encoding initiative). Questo progetto esiste da
diversi anni ed è importantissimo in quanto ha portato alla codifica precisa e condivisa dei testi
letterari. Si tratta di un sistema di analisi dei testi molto funzionale con un successo scientifico
veramente notevole. Attraverso questo progetto si possono codificare le diverse parti di qualsiasi
genere di testo (poetico, letterario, giornalistico, …). Questo progetto è stato messo in atto affinché
tutto il mondo codifichi allo stesso modo per potresti scambiare i risultati e poterli confrontare grazie
alla globalizzazione della ricerca scientifica. Anche alla TEI, così come a XML, viene spesso
contestato il fatto di essere estremamente rigida. In realtà questo non è un male, in quanto la sua
rigidità le impedisce di essere ambigua. Questo metodo di codifica è molto simile a XML e infatti
hanno entrambi lo stesso problema. Prendendo ad esempio in esame un testo di Dante, non è possibile
decidere di analizzare le frasi (grammaticalmente parlando) al posto dei versi e delle strofe. Un’analisi
di questo tipo sarebbe infatti troppo complessa ed impossibile da fare in un programma del genere.
Questo accade perché esistono le cosiddette “codifiche parallele” (parallel encoding). Uno stesso testo
può essere codificato focalizzando l’attenzione su aspetti differenti (sono cose parallele e riuscire a
farle combaciare tra di loro è difficile) .
Come il computer “vede” un file
Quando si osserva un file sul computer, c’è sempre l’illusione che noi e il dispositivo vediamo quanto
è presente sulla schermata allo stesso identico modo. Non è così. L’illusione dell’oggettività è pensare
che il testo a computer sia fatto esattamente così come il fruitore lo vede ma in realtà tutto è codificato
con caratteri ben precisi. Per il computer tutto è un’entità numerica e di conseguenza quello che il
lettore interpreta come un carattere, non è altro che un numero/codice che il computer deve
interpretare e decodificare. Ogni lettera che viene utilizzata per scrivere un testo a computer
corrisponde in realtà ad un simbolo all’interno di una tabella. Nel momento in cui si digita una
determinata lettera, il computer riceve un input e va a cercare all’interno di questa tabella la lettera
che corrisponde al simbolo da lui ricevuto. Nel 1963 nasce in USA la tabella “American Standard
Code for Information Interchange” che è stata più volte modificata nel corso del tempo per renderla
accessibile a tutte le lingue esistenti e a tutti i caratteri possibili e immaginabili necessari per poter
scrivere qualsiasi tipo di testo. Quando si utilizza una determinata tabella, bisogna controllare che il
computer utilizzato la supporti, altrimenti non tutti i caratteri che si vogliono usare potranno essere
letti e quindi compariranno segni errati.
Unicode codifica, non rappresenta
Alla base della scrittura a computer, dunque, c’è un sistema standard chiamato UNICODE, che
possiede il compito di assegnare un preciso identificatore ad ogni carattere delle varie lingue del
mondo. Per rappresentare questi caratteri ci sono varie tipologie di codifica, che associano un
grafema, ossia un’unità grafica, ad una posizione nella codifica UNICODE. Si tratta di fatto di una
tabella avente migliaia di spazi (oltre 150.000 per l’esattezza) che possono e devono essere riempiti
con dei caratteri precisi. L’utilizzatore del computer poi, nel momento in cui usa la tastiera, dà una
serie di comandi al sistema, che riesce ad individuare in questa tabella i caratteri necessari per poter
rispondere alla lunga serie di comandi ricevuti in input. Questo è ciò che permette di eseguire
determinate azioni sul dispositivo. Con “UNICODE codifica, non rappresenta” si vuole indicare che
quando qualcuno scrive al computer e ha necessità, ad esempio, di utilizzare la “A”, nel momento in
cui preme il pulsante corrispondente sulla tastiera, il dispositivo non assocerà direttamente la lettera
“A” al comando ricevuto in input, ma invierà un ulteriore segnale che porterà alla conseguente
selezione di un carattere all’interno della tabella. Qui verrà poi selezionato un numero, associato ad
una casella, che porterà poi alla scrittura sullo schermo della lettera (in questo caso) “A”. È tutta una
serie di comandi in input e output. Tutto questo va tenuto in considerazione anche quando si decide
di utilizzare dei font per scrivere al computer. Non tutti i font, infatti, possiedono gli stessi caratteri,
e non è detto che ciò che è possibile visualizzare con un font sia visualizzabile allo stesso modo con
un altro. Alcuni font infatti hanno pochissimi caratteri, mentre altri ne hanno tantissimi.
Nell’immagine qui sotto riportata ad esempio si può notare come le vocali siano state scritte con e
senza accento, e siano state digitate con diversi font. Nel primo caso il font utilizzato permette di
avere la scritta normale, in corsivo e anche in grassetto. Nei 7 casi successivi invece il corsivo e il
grassetto non sono previsti, e quindi non è possibile utilizzare quelle funzioni con i font in questione.
Negli ultimi 3 esempi invece i font piuttosto particolari che vengono utilizzati non solo non
permettono di avere il corsivo e il grassetto, ma non possiedono nemmeno la possibilità di usufruire
delle lettere accentate (questo è il motivo per cui ci sono i punti interrogativi). Dunque è davvero
molto importante distinguere il grafema (o unità grafica) che si vuole rappresentare e la
rappresentazione grafica effettiva che dipende dai singoli font. Se un font non possiede le lettere
accentate ad esempio non sarà in grado di scriverle in nessun modo. I font, dunque, sono modalità di
rappresentare le unità grafiche attraverso l’utilizzo di grafi che rendono riconoscibili i grafemi. Il fatto
che alcuni font non possiedano tutti i caratteri comporta anche il fatto che con alcuni di essi sia
impossibile scrivere in lingue aventi un alfabeto differente da quello standard (ex. russo, giapponese,
cinese, arabo, …).
La produzione di un testo
Saper produrre un testo (a computer oppure anche a mano) è fondamentale. Per comporre qualcosa
in modo chiaro e preciso è necessario sapere come combinare tra loro tutti gli elementi per evitare di
avere un’accozzaglia di informazioni poco comprensibili. È necessario dunque imparare ad avere una
struttura consapevole di tipo scientifico. Ideale per la produzione del testo è LibreOffice, che ha pochi
bug e funziona in modo abbastanza efficiente. È un operatore che si mantiene solamente tramite
sostegno professionale. Quando si scrive al computer è possibile utilizzare il markdown, ossia
applicare una riproduzione al PC della modalità “normale" di scrivere. È possibile, ad esempio,
evidenziare i concetti utilizzando una serie di trattini (- - - - ) oppure usare le virgolette e/o gli
asterischi per creare il corsivo o il grassetto (come su WhatsApp) o ancora è possibile creare elenchi
puntati con asterischi o hashtags. Da questi programmi è poi possibile esportare un file in HTML.
Dunque si scrive utilizzando questi codici e simboli per riprodurre il modo di scrivere “normale” e
poi si esporta il file in HTML. Il risultato è molto simile ad un documento scritto di word o su altri
programmi simili. Nelle 2 immagini sotto riportate è possibile vedere la messa in pratica di quanto
appena spiegato.
Il markdown
Il markdown, dunque, è un sistema che consiste nello scrivere a computer con l’utilizzo di una sintassi
molto semplice che riproduce parzialmente la scrittura a mano. Questo metodo permette di ottenere
dei risultati bellissimi perché non si affida al gusto di chi scrive, ma si affida a fogli di stile e/o modi
di impaginare che sono preparati da tipografi professionisti. Ad esempio è possibile lasciare degli
spazi, ma la dimensione di questi è già predefinita dal programma. Inoltre, la possibilità di poter
convertire ed esportare il file finale in HTML permette di ottenere come risultato un file di alto livello
tecnico senza doversi preoccupare di dover imparare la scrittura di una codifica tecnica molto
complicata. Questo sistema permette anche di avere tutto già pronto per creare un indice automatico.
L’idea di fondo, dunque, è quella di scrivere come se si scrivesse su un foglietto a mano senza
preoccuparsi di nulla. Markdown ha delle possibilità di uso estremamente notevoli, è pienissimo di
strumenti ed è anche possibile trovare tantissime pagine al suo interno con già diversi template
prestabiliti per poter scrivere (ex. una tesi, un curriculum, un elenco, un semplice documento, …).
Donald Ervin Knuth
Donald Ervin Knuth è un matematico ed informatico che circa negli anni 80 ebbe la necessità di
pubblicare dei libri di informatica e matematica. I computer dell’epoca, non essendo evoluti, facevano
dei volumi orribili e quindi non era contento di stampare in quel modo i suoi volumi. Knuth decise
quindi di prendersi del tempo e inventò un sistema, chiamato TeX che potesse soddisfare le sue
esigenze. Egli era convinto che tecnica e arte si sovrapponessero, tanto che il nome del suo sistema
deriva da una parola greca che significa sia “tecnica” che “arte”. Successivamente un altro studioso
inventò un altro sistema matematico chiamato Latex. Su Latex è sufficiente scrivere ciò di cui si ha
bisogno dal punto di vista semantico e il sistema lo converte automaticamente. Il problema è che
imparare a scrivere in Latex non è assolutamente ovvio, ma anzi è abbastanza complicato. Si possono
dunque ottenere risultati notevoli, ma la curva di apprendimento è alta. Dall’unione di questi 2 sistemi
venne ideato LYX, un sistema che combina potere e flessibilità di TeX e Latex con la facilità di uso
di un'interfaccia grafica.
Le biografie e BIBTEX
Quando si ha necessità di consultare una bibliografia, ci si rende conto spesso che essa può essere
davvero consistente. Nel campo letterario, ad esempio, la ricerca invecchia solo per via di qualità,
non di anni. Un articolo o un libro, ad esempio, di “soltanto” 10 anni fa è già quasi sicuramente
inutilizzabile, in quanto già troppo vecchio. Qualunque ricerca si faccia, dalla semplice tesi di laurea
triennale sino al libro dello studioso maturo, la bibliografia è sempre tanta. Esiste quindi un formato
internazionale chiamato Bibtex che permette di evitare di sprecare grandi quantità di tempo a scrivere
codici di libri e permette anche di archiviare tutti i libri e gli articoli che si desidera attraverso l’utilizzo
di una codifica molto semplice. Questi codici permettono di preparare un intero archivio fatto di
queste schede. Ci sono poi anche diversi programmi che permettono di archiviare tutto ciò che si
vuole senza dover prestare alcuna attenzione e preoccupazione nel vedere i codici. Un esempio di ciò
è Jabref.
Archiviare con JABREF
Quando si archivia con questo programma è sufficiente importare le informazioni (ex. da un catalogo)
oppure scrivere le informazioni chiave personalmente (ex. date, titolo, …). Questo significa che non
è necessario preoccuparsi di inserire i codici in quanto il programma li immette automaticamente. Il
grandissimo vantaggio di lavorare con LYX e con JABREF è che basta inserire con un semplice colpo
di mouse solo l'etichetta o la targa, ecc. e poi basta lasciar fare tutto il resto al programma. La stessa
cosa accade con markdown o con tutti i sistemi più tecnici di word (con word è necessario fare tutto
“a mano” personalmente). Esistono davvero moltissimi programmi che permettono di
creare/realizzare e poi organizzare adeguatamente una bibliografia, senza avere alla fine un ammasso
di dati casuale e molto poco comprensibile. La realizzazione volta per volta di una bibliografia ben
fatta permette poi di realizzare anche un suo archivio. Alcuni di questi programmi sono free, altri
sono di proprietà e anche a pagamento, altri invece sono di proprietà ma comunque fruibili e
condivisibili da tutti.