In questo articolo cercherò di fare un breve excursus sulla storia del Natural Language Processing (Elaborazione del Linguaggio Naturale), ovvero quella branca della scienza informatica che si occupa dell’elaborazione delle lingue umane mediante i calcolatori elettronici.
Per quanto l’argomento possa sembrare sterile e noioso, senza il NLP buona parte di quello che è oggi il web e l’informatica in generale non esisterebbe.
Pensate all’ultima volta che avete usato Google per fare una ricerca, o che avete usato il servizio Translate per tradurre una frase straniera.
Ciò che diamo per scontato oggi ha richiesto anni di ricerche e di lotte contro l’ostruzionismo delle istituzioni. Ma andiamo con ordine.
Le lingue naturali hanno interessato gli studiosi per secoli.
Già nel 1629 il filosofo francese René Descartes suggeriva una serie di simboli universali in cui fosse possibile convertire qualsiasi lingua.
Un’iniziativa che fu in un certo senso ripresa nel 1872 da Ludwik Lejzer Zamenhof, “inventore” della lingua esperanto, la quale doveva appunto essere una lingua comune a tutti i popoli, che avrebbero così potuto capirsi e dialogare partendo da un idioma comune.
E ci sarebbe anche la biblica Torre di Babele, insomma, i problemi legati alla comprensione e alla traduzione delle lingue naturali sono vecchi quanto il mondo.
Ma è solo con la Guerra Fredda tra Stati Uniti ed Unione Sovietica che si comincia ad affacciare un prototipo di quello che sarà il Natural Language Processing.
Come al solito, le vere scoperte scientifiche si fanno solo quando possono avere applicazioni belliche. E in effetti, ad essere precisi, possiamo trovarne tracce già durante la Seconda Guerra Mondiale.
Nel 1944 fece la sua comparsa sul quadro bellico il primo computer elettronico programmabile del mondo, anche se fu tenuto segreto per tutta la durata del conflitto.
Il suo nome era Colossus (potete vederlo nella foto in alto). Costruito dal britannico Max Newman, si rivelò vitale per la vittoria Alleata.
Il suo scopo era decifrare i codici della macchina cifratrice Enigma dei tedeschi, e comprendere così i messaggi cifrati delle forze dell’Asse.
Prima della fine della guerra, furono costruite 10 versioni migliorate di Colossus, ma al termine delle ostilità la macchina fu distrutta e i progetti bruciati per ordine del servizio segreto inglese.
Da Colossus alla Guerra Fredda
Negli anni ’50, con la tensione sempre più alta tra USA e URSS e i missili pronti a partire, il bisogno di comprensione si fece di nuovo pressante, e così il NLP potè prendere il via.
Capire gli scritti dei russi era vitale per gli americani, non solo per operazioni di spionaggio, ma anche per restare al passo con la corsa all’innovazione e al progresso.
Il problema era che non si poteva affidare agli esseri umani la ciclopica mole di lavoro di tradurre qualsiasi pubblicazione scientifica dal russo.
Per cominciare, era una questione economica. Una traduzione costava 6$ all’epoca (circa 50$ oggi), e tradurre una ricerca in una precisa branca richiedeva dei traduttori altamente specializzati nell’argomento, in grado di riuscire a trasporre tutti i termini specifici legati a quella materia e a dargli un senso.
L’enorme quantità di dati e la scarsa disponibilità di traduttori esperti rappresentava un problema per gli americani, ossessionati dall’idea di battere i russi.
Fu così che molte risorse vennero investite nella traduzione tramite i calcolatori, in modo da ottenere gli stessi risultati in una frazione del tempo impiegato da un essere umano.
Una definizione di traduzione tramite calcolatore è, infatti: “passaggio tramite algoritmo da un testo iniziale leggibile dalla macchina, a un testo finale utilizzabile dall’uomo, senza fare ricorso a traduzione umana”.
Le ricerche sul NLP iniziarono nei primi anni ’50. I primi esempi di una rudimentale traduzione automatica dal russo all’inglese si ebbero alla conferenza IBM di Georgetown, nel 1954.
Durante la dimostrazione furono convertite più di 60 frasi dal russo all’inglese grazie all’IBM 701 (nella foto in basso), e nonostante avesse in memoria solo 250 parole e 6 regole grammaticali di base, fu più che sufficiente per impressionare la stampa di allora .
Un articolo dell’epoca descrive le meraviglie del computer:
Prima, tutte le parole di un vocabolario inglese vengono indicizzate su nastro e vengono assegnati dei codici numerici. Agli equivalenti di quelle parole in russo, francese o tedesco, vengono assegnati gli stessi codici.
Quindi, per tradurre dal russo all’inglese, un nastro coi codici relativi al russo viene dato in pasto al computer che fa coincidere i numeri e stampa il risultato in inglese.
Chiaramente era ancora lontano dal fornire una traduzione decente di una qualsiasi frase.
Non c’è una corrispondenza da A a B nelle lingue naturali, e il più delle volte si basano anche sul contesto oltre che sulle esperienze dei parlanti.
Insomma, finché si tratta di tradurre “La palla è rossa” non c’è alcun problema, ma che risultato otterremo cercando di tradurre “Ci vedo rosso dalla rabbia” in una lingua che non ha questo modo di dire?
Bisognava quindi “insegnare” ai computer a riflettere come essere umani, per cogliere le innumerevoli sfumature di una lingua naturale.
[more]La frase “out of sight, out of mind” viene spesso portata a esempio dei maldestri risultati ottenuti dalle prime macchine traduttrici. La frase, il cui senso è “ci dimentichiamo facilmente delle cose che non vediamo”, una volta tradotta dalla macchina sarebbe diventata “invisible idiot”, o anche “blind and insane”. Classico esempio di traduzione alla lettera, che ogni tanto abbiamo ancora oggi.[/more]
Gli anni dal 1954 al 1966 si dimostrarono essenziali per lo sviluppo delle Intelligenze Artificiali e della linguistica computazionale in generale.
Nel 1958, John McCarthy inventò il linguaggio di programmazione LISP, ancora largamente usato oggi nella programmazione delle IA. Erano insomma anni di grandi scoperte e speranze, ma i progressi erano lenti, visto che i computer muovevano ancora i loro primi passi.
La fine del NLP
Proprio in virtù di questo, negli anni ’60, fu istituito il Comitato sull’Elaborazione Automatica del Linguaggio, o ALPAC, che letteralmente segò le gambe al NLP e a tutti i progressi fatti fino ad allora.
L’enorme quantità di fondi investiti nella ricerca, e gli scarsi seppur significativi risultati ottenuti, spinsero l’ALPAC nel 1966 a bocciare definitivamente la traduzione automatica, gettando un velo di sfiducia e disinteresse su tutta la materia.
Con i fondi tagliati e i ricercatori licenziati, il NLP finì nel dimenticatoio, e solo 14 anni dopo gli fu permesso di tornare al centro della scena, quando la realizzazione di calcolatori sempre più potenti cominciò ad essere a buon mercato.
All’inizio degli anni ’90, con la vasta quantità di testo che letteralmente cominciava ad inondare il World Wide Web, si sentì il bisogno di arginare questo flusso, in particolare tramite l’estrazione di informazioni e la catalogazione automatica (che per forza di cose non poteva essere manuale). E il NLP tornò in auge.
Al giorno d’oggi, l’elaborazione dei linguaggi naturali è al suo massimo splendore. Basti pensare, per l’appunto, a Google Translate, che per quanto sia ancora impreciso è in grado di fornire traduzioni sempre più accurate, potendo scegliere tra ben 72 lingue diverse.
Oppure al sistema di riconoscimento vocale della Apple, Siri, che non sarebbe possibile senza l’interazione uomo-macchina veicolata dal NLP.
Arrivati alla fine, non possiamo fare altro che chiederci: “A che punto saremmo oggi se non ci fosse stato l’ALPAC?”