Persone differenti, stili di scrittura differenti.

Una delle tecniche che mi affascina di più riguardo la scrittura è l’analisi testuale, che comprende la semantica (il significato delle parole) e sintattica (l’utilizzo dei segni e delle lettere per costruire frasi).

Durante la storia, sia classica che moderna, sono numerosi gli autori che hanno voluto tenere nascosto la propria identità. A prima vista, potrebbe sembrare un’azione molto semplice essere anonimi: si scrive il testo e si inventa un nome per un autore. Il problema sembra essere quindi solo trovare un nome abbastanza interessante per il lettore e non già preso da qualcun altro. Tuttavia, bisogna pensare anche ad un altro piccolo particolare: i testi celano molti dettagli. La costruzione delle frasi, lo stile linguistico e l’utilizzo delle parole svelano molto riguardo l’autore e il suo background culturale linguista. Per essere anonimi e restare celati nel mistero, non è necessario quindi solo uno pseudonimo ma anche uno stile unico di scrittura che possa rivelare al minimo informazioni sulla propria cultura, età e bias.

Citiamo alcuni casi in cui l’analisi statistica applicata allo stile di scrittura ha rivelato famori misteri “letterali”. Ad esempio, alcuni ricercatori di un università svizzera hanno identificato l’autore dietro i romanzi di Elena Ferrante, una popolare scrittrice di romanzi come l’Amica Geniale tradotta in più di 30 lingue. Comparando diversi termini dei suoi lavori con alcune parole di altri autori e i nomi di personaggi utilizzati da Elena Ferrante, hanno rivelato Domenico Starnone come possibile autore. Tramite il confronto di più testi di autori conosciuti, è stato possibile stimare se dietro un romanzo anonimo sia la stessa persona oppure no.

L’analisi statistica effettuata su qualsiasi tipo di testo prende il nome di stilometria. Può essere applicato anche al codice informatico e al rilevamento del plagio intrinseco, che consiste nel rilevare il plagio in base ai cambiamenti nello stile di scrittura all’interno del documento. La stilometria può essere utilizzata anche per prevedere se qualcuno è madrelingua o non madrelingua, analizzando struttura della frase e grammatica del testo.

Come analisi, la stilometria può essere anche applicata (ed è stata anche applicata, storicamente) nella crittoanalisi “classica” per trovare le chiavi dei cifrari e decodificare il messaggio. Caso eclatante è stata la decodifica del Telegramma Zimmer durante la prima guerra mondiale: gli inglesi tramite primitive tecniche di stilometria erano riusciti a decifrare parte del messaggio. Il telegramma proponeva al Messico una stretta alleanza con la Germania nel caso in cui gli Stati Uniti fossero entrati nella prima guerra mondiale contro la Germania. L’analisi stilometrica sulla frequenza dei caratteri permise agli inglesi di prevenire l’alleanza e di anticipare le mosse dei propri nemici, anche se il Messico aveva già rifiutato.

Un’altra applicazione spesso citata della stilometria sta determinando la paternità dei Federalist Papers, una serie di articoli pubblicati nel 1787-88 con lo scopo di promuovere la ratifica della nuova Costituzione degli Stati Uniti. Sono stati scritti da tre autori, Jay, Hamilton e Madison, sotto lo pseudonimo di “Publius”. L’autore principale di alcuni articoli era già conosciuto, ma la paternità di altri era ancora in discussione. All’inizio degli anni ‘60, alcuni ricercatori (Mosteller e Wallace) usarono metodi stilometrici nel tentativo di risolvere questa incertezza e ulteriori ricerche sono in corso per determinare in modo quasi assoluto l’autore originale.

È chiaro quindi come la stilometria possa essere un grande strumento di analisi per esaminare lo stile di scrittura di diversi autori. Se storicamente si faceva più fatica nella comparazione dei testi (sia per il confronto “manuale” eseguita da umani che per il numero esiguo di campioni), l’informatica e Internet hanno aperto le porte a nuove tecniche di analisi testuale più veloci e più precise. Oggi, è possibile comparare più testi allo stesso momento senza alcun errore (in antichità l’analisi era manuale). Inoltre, è possibile accedere a un’infinità di testi senza dover sprecare tempo nel recuperare libri da bibloteche e studi.

Ma sono ancora molti i misteri non risolti in letteratura e non. Come non citare il caso di Satoshi Nakamoto? Al momento, infatti, non si conosce l’identità di tale individuo (o gruppo di individui), artefice del whitepaper di Bitcoin. Diverse persone hanno provato ad analizzare i testi di Satoshi (tra cui il whitepaper di Bitcoin) per cercare di dimostrare chi realmente c’è dietro la sua identità, ma ancora nessuno è riuscito effettivamente a collegare Satoshi ad una persona fisica. Questo articolo vuole essere un ulteriore incoraggiamento nel scoprire e svelare tale mistero, cercando di utilizzare anche tecniche stilometriche per collegare i messaggi lasciati sul forum Bitcointalk.

Come funziona questa scienza e su che concetti si basa? Nei prossimi paragrafi proveremo a rispondere a queste domande, approfondendo alcune tecniche semplici per analizzare testi e dando una panoramica dei possibili indici per confrontare diversi testi.

Stilometria: tecniche basilari

L’idea dietro l’analisi stilometrica è molto semplice. Dato un testo di input, si inizia con il ricavare alcune caratteristiche statistiche riguardo l’utilizzo di parole, segni di punteggiatura, errori di trascrittura e comparare questi punteggi con altri testi. Quando il testo di input si rivela simile ad un altro testo che abbiamo già analizzato, proseguiamo con l’analisi di altre statistiche per entrambi i testi.

Common aspects of a text

Intuitivamente quando le caratteristiche dei due testi sono molte, c’è una probabilità discreta che i due testi abbiano l’autore in comune o che lo stile di uno abbia influenzato l’altro (oppure la rivelazione di un caso di plagarismo nascosto). La scelta delle caratteristiche stilometriche del testo è la fase di studio più importante. I ricercatori individuano un migliaio di caratteristiche a diversi livelli di analisi: lessicale (compresi i livelli di caratteri e lettere), sintattico, semantico, strutturale e specifico del soggetto.

La libertà della stilometria però ha un grande svantaggio. Se è vero che due autori che hanno la stessa tecnica di scrittura è probabile che siano la stessa persona, d’altra parte non possiamo esserne certi. All’origine c’è infatti l’idea che ogni testo abbia uno stile caratteristico e che diconseguenza testi che hanno caratteristiche stilistiche molto simili siano del medesimo autore. Inoltre si assume che le caratteristiche di stile che derivano da scelte inconsce non possano essere consapevolmente modificate: un autore anonimo non si rende spesso conto di lasciare traccie nascoste del suo stile di scrittura.

Come ogni scienza, la stilometria richiede grande pazienza nel trovare le caratteristiche uniche di ogni testo e confrontarle. Inoltre i campioni di testi con cui confrontiamo gli autori potrebbero essere unici e non avere alcuna caratteristica in comune con il testo in studio. Tra le metriche che vengono tracciate, per esempio, vi sono: l’utilizzo della punteggiatura, frequenza degli errori, parole arcane o anche caratteristiche inedite (mai prese in considerazione) tra due o più autori. Nelle sezione successive, andremo a trattare in modo più specifico di tre metriche: n-gram, hapax legomenon e gli indici di leggibilità.

Modello N-Gram

Un n-gram è una sequenza continua di n oggetti da un determinato campione testuale. Possono essere una sequenza fissa di caratteri, come per esempio la parola “amico” (n-gram di 5 elementi di dimensione 1 ciascuna: ‘a’ ’m’ ‘i’ ‘c’ ‘o’), sillabe (‘a’ ‘mi’ ‘co’), intere parole oppure una lista di parole.

La dimensione del n-gram e quali dettagli prendere in riferimento dipendono da ricerca a ricerca. Quando si è in presenza di parole o formule lessicali particolari, si identificano n-grams più grandi che includano quelle parole.

Mentre per la frequenza di errori, typo tipografici è importante concentrare la propria ricerca su n-grams più piccoli (digrammi o trigrammi). Siccome le sillabe più comuni sono abbastanza conosciute, è possibile individuare quasi subito eventuali errori di sintassi senza confrontare parola per parola con un dizionario (più costoso in termini computazionali).

Un approccio comune che si basa sull’utilizzo di n-gram è stato quello adottato per attribuire la paternità della lettera di Bixby a John Hay, segretario di Lincoln. L’analisi effettuata da diversi ricercatori includeva: dividere i testi in n-grams di diversa dimensione e confrontare gli n-grams tra i testi. Misurare la percentuale di tipi di n-grammi trovati nel documento interrogato che ricorrono almeno una volta in ogni possibile campione di scrittura dell’autore. Infine, attribuire il documento interrogato al possibile autore che usa la più alta percentuale di questi n-grammi.

Hapax Legomenon

Un’analisi più semplice e che permette di verificare subito la paternità di due diversi testi ad uno stesso autore è basarsi sugli hapax legomenon. Un hapax legomenon è una parola o un insieme di parole che non si ripetono in un testo. Tradotto letteralmente dal greco significa “qualcosa detto solo una volta”.

L’utilizzo dell’analisi della frequenza delle parole si concentra sul dizionario dell’autore che è variabile nel tempo ed è fortemente basato su bias culturali, economici e sociali.

Ci sono molti fattori che possono spiegare il numero di hapax legomena in un’opera:

  • lunghezza del testo: influenza direttamente il numero e la percentuale previsti di hapax legomena
  • argomento del testo: se l’autore scrive su argomenti diversi, ovviamente molte parole specifiche per argomento ricorrono solo in contesti limitati.
  • pubblico testuale: se l’autore sta scrivendo a un coetaneo anziché a uno studente, o al coniuge anziché al datore di lavoro, apparirà di nuovo un vocabolario completamente diverso.
  • tempo: nel corso degli anni, cambieranno sia la lingua che la conoscenza e l’uso del linguaggio da parte di un autore.

Per esaminare la ricchezza lessicale del testo si sfrutta la Token Type Ratio (TTR). Il rapporto Token Type è il numero totale di parole uniche (chiamati tipi) diviso per il numero totale di parole (token) in un dato segmento di linguaggio. Il TTR può dare una stima della complessità di lettura di un testo che è fortemente legato alla presenza di molte o poche parole uniche.

Un testo è denso se ricco di parole che compaiono solo una volta e spesso un testo più denso è di più difficile comprensione, per quanto ne riguarda la complessità, specialmente se si tratta di un testo specialistico. Per fare un esempio numerico, la densità lessicale del parlare quotidiano si aggira intorno al valore di 0,3 o 0,4 mentre testi più tecnici (paper accademici e non) hanno una invece densità lessicale di 0,7.

Readability index

Un punteggio di leggibilità è un numero che ti dice quanto sia facile o difficile leggere il tuo testo. L’idea alla base è che le persone leggono a diversi livelli e qualcosa di assolutamente leggibile per un dottorato di ricerca può far girare la testa agli studenti.

Studi professionali di scrittura/editing, che adoperano ghostwriter e editori, abitualmente utilizzano i readability index per uniformare la leggibilità di ogni paragrafo. Calcolare l’indice di leggibilità di ogni frase/paragrafo permette di stabilire se per esempio il testo è stato effettivamente studiato per essere leggibile facilmente e se esistono diversi stili di scrittura.

Anche in questo caso troviamo alcune sottometriche: Flesch Reading Ease, Flesh-Kincaid Grade Level e Gunning Fog Index.

Flesch Reading Ease

Il Flesh Reading Ease, creato nel 1948, ci dirà approssimativamente di quale livello di istruzione qualcuno avrà bisogno per essere in grado di leggere facilmente un pezzo di testo.

La formula di Reading Ease genera un punteggio tra 1 e 100. (anche se è possibile generare punteggi sotto e sopra questa fascia). Una tabella di conversione viene poi utilizzata per interpretare questo punteggio. Per esempio, un punteggio di 70-80 è equivalente al livello scolastico americano 7 oppure prima media italiana, quindi dovrebbe essere abbastanza facile da leggere per un adulto medio.

La formula è la seguente:

FR Score = 206.835 - 1.015 * (Parole totali/numero di frasi) - 84.6 * (Sillabe totali / Parole totali)
PunteggioNote
90-100Molto facile da leggere, facilmente comprensibile da uno studente medio di 11 anni
80-90Facile da leggere
70-80Abbastanza facile da leggere
60-70Facilmente comprensibile da studenti di 13-15 anni
50-60Abbastanza difficile da leggere
30-50Difficile da leggere, meglio compreso da studenti delle superiori
0-30Molto difficile da leggere, meglio compreso da laureati

Flesh-Kincaid Grade Level

A metà degli anni ‘70, la US Navy stava cercando un modo per misurare la difficoltà dei manuali tecnici usati nell’addestramento. Il test Flesch Reading Ease fu rivisitato e, insieme ad altri test di leggibilità, la formula fu modificata per essere più adatta all’uso nella marina. Il nuovo calcolo fu chiamato Flesch-Kincaid Grade Level. I livelli di grado si basano sui punteggi dei partecipanti a un gruppo di prova.

FKG Level = 0.39 * (Total Words / Total Sentences) + 11.8 (Total Syllables / Total Words) - 15.59
Punteggio FKGLivello scolareComprensione
5.0-5.9Quarta elementareMolto facile da leggere
6.0-6.9Quinta elementareFacile da leggere
7.0-7.9Prima mediaAbbastanza semplice
8.0-9.9Seconda e terza mediaInglese colloquiale
10.0-12.9Biennio delle superioridifficoltà media
13.0-15.9SuperioriDifficile da leggere
16.0-17.9UniversitàMolto difficile da leggere, richiede competenze di medio livello.
18.0+Professionale (accademico)Lettura complessa, richiede competenze specifiche.

Per chi come me non riesce a ragionare in termini di età scolastiche statunitense, basta aggiungere 5 al punteggio per trovare l’età del lettore.

Gunning Fog Index

Il Gunning Fog Index è un altro indice di leggibilità per la scrittura inglese. L’indice stima gli anni di istruzione formale di cui una persona ha bisogno per comprendere il testo in prima lettura. Ad esempio, un indice Gunning Fog 12 richiede il livello di lettura di un liceo statunitense (circa 18 anni). Il test è stato sviluppato nel 1952 da Robert Gunning, un uomo d’affari americano che era stato coinvolto nell’editoria di giornali e libri di testo.

I testi per un vasto pubblico generalmente richiedono un indice Gunning Fog inferiore a 12. I testi che richiedono una comprensione quasi universale generalmente richiedono un indice inferiore a 8.

G = 0.4 * [(Numero di Parole / Numero di frasi) + 100 (Parole complesse / Parole)]

Nella formula, “Parole complesse” sono le parole con tre o più sillabe esclusi prefissi e suffissi mentre il numero di frasi è riferito al numero di frasi, ovvero di liste di parole che terminano con un punto.

Conclusione: stilometria come scienza probabilistica

In questo articolo, abbiamo esaminato le diverse metriche basilari utilizzate dalla stilometria, citando diversi esempi tratti dalla letteratura. Tra i numerosi parametri (di leggibilità e scrittura), abbiamo determinato come nella fase di analisi è importante scegliere le giuste metriche per individuare l’autore anonimo. Seppur la stilometria sia una scienza affascinante e può aiutare nella ricerca della paternità dei testi, dobbiamo ricordare che queste tecniche sono tutte probabilistiche e pertanto potrebbero svelare anche falsi positivi.

Nel prossimo articolo, andremo a focalizzare il nostro studio sulla scrittura di un semplice programma che possa analizzare una moltetudine di testi utilizzando due linguaggi di programmazione imperativi: C e Go.