Litterae.eu
Humanities & IT


Reti neurali per la traduzione automatica

Nel 2011 mi candidai per una borsa di studio presso il dipartimento di linguistica computazionale di un'importante e generosa università del Nord Europa con un progetto di dottorato focalizzato sull'elaborazione di un modello di apprendimento linguistico automatico pressoché non supervisionato, per il quale avevo ipotizzato due esempi pratici di impiego: il primo, più redditizio e quindi appetibile per l'università, in ambito turistico; il secondo, più speculativo, nello studio dei reperti linguistici antichi.
Benché il progetto fosse piaciuto sul piano teorico, fu giudicato un po' troppo avveniristico su quello pratico; la borsa di studio non mi fu assegnata e, essendo le tasche del poeta sempre vuote, riposi la mia idea nel cassetto in attesa di tempi migliori.

Nel frattempo gli studi e le applicazioni dell'intelligenza artificiale hanno fatto passi enormi, e molti di più e maggiori ne faranno nei prossimi anni. Molti strumenti, quali librerie e modelli di apprendimento automatico, sono a disposizione di chiunque abbia voglia e tempo da dedicarci; si pensi su tutte solo alla libreria TensorFlow [1] rilasciata da Google in open source e facilmente installabile su qualunque sistema operativo. Ma molte altre sono disponibili. In questo stesso sito se ne sono dati alcuni esempi.
Bene, fra questi nuovi strumenti che contribuiscono a rendere più democratico l'accesso all'IA recentemente ne è comparso uno che mi ha portato a riaprire quel cassetto per rinverdire il secondo proposito d'impiego di cui sopra. Si tratta di Marian [2], una rete neurale artificiale per l'apprendimento e la traduzione automatici delle lingue; non è l'unica nel suo genere, ma a differenza di altre NMT, ovvero reti neurali per la traduzione automatica, è una scatola stand alone che non richiede di fare i salti mortali per giorni o settimane per riuscire a installarla e a farla funzionare sul proprio computer.

Certo il proprio computer dovrebbe avere requisiti hardware di massimo rispetto per gestire la mole di lavoro generata da un oggetto come Marian; se invece, come per il mio, l'hardware è quello che è, meglio armarsi di tanta tanta pazienza... e ottimismo. Secondo gli sviluppatori, per generare un modello linguistico per le traduzioni da un corpus di poche migliaia di frasi, Marian fa sudare un pc Schwarzenegger per almeno 24 ore ininterrotte, mentre un pc lillipuziano come il mio lo fa cuocere per una decina di giorni circa... sempre che nel frattempo non lo fonda o non gli faccia prendere fuoco.
In attesa di un pc più vitaminizzato, ho dovuto quindi accantonare subito l'idea di dare in pasto alla rete neurale il corpus di circa 40 mila frasi, latino e corrispondente traduzione italiana, che avevo preparato apposta nei giorni precedenti. Pensando di ridurre drasticamente i tempi di elaborazione di Marian, sono riparato su una striminzita decina di epigrafi etrusche di poche parole ciascuna con relative traduzioni; ben consapevole che con così pochi dati non ci si può attendere alcun risultato accettabile. Ma mi interessava vedere, in tempi ragionevolmente compatibili con il mio pc, se in effetti la rete avrebbe prodotto qualcosa di interessante.
Dopo 22 ore di addestramento, o per dirla più terra terra elaborazione, ecco finalmente materializzarsi nella cartella di Marian il suo primo uovo: un modello linguistico e di traduzione etrusco italiano etrusco del peso di 680 megabyte... a partire da meno di 600 byte di corpus. Tanto per dire l'enormità di calcoli che elabora una rete neurale.

Ripeto che naturalmente non mi aspettavo nessuna possibile traduzione decente con sì e no 50 parole per lingua da usare per l'addestramento; volevo semplicemente capire se una rete neurale si sarebbe abbassata a lavorare anche per una persona comune che non vive e non lavora in una gigafactory.
Ebbene sì, Marian si è degnata: dopo l'addestramento, a richiesta di tradurre due brevissimi testi non presenti nel corpus di partenza, dall'etrusco all'italiano prima e viceversa poi, ha generato due traduzioni altrettanto brevi. Decisamente imprecise, per quanto già detto, ma in entrambi i casi testi nuovi, non esistenti nel corpus di partenza e nemmeno traduzioni a corrispondenza parola per parola come i poveri primi software di inizio anni '90. Confermandomi che, avendo a disposizione l'hardware adatto e potendo quindi condurre gli addestramenti su corpora di consistenza adeguata, oggi non vi è più alcuna giustificazione per continuare a escludere le lingue antiche da strumenti di traduzione automatica alla Google Translator o alla Deepl.


1. Cfr. https://www.tensorflow.org/?hl=it
2. Crf. https://marian-nmt.github.io/


Site designed by litterae.eu. © 2004-2024. All rights reserved.
Info GDPR EU 2016/679: no cookies used, no personal data collected.