La Babele delle API

No, non faccio il filosofo di mestiere. Però ho studiato filosofia a tre riprese.
La prima a scuola, per tre anni, in maniera sistematica e lineare. Purtroppo di quello studio non mi è rimasto molto, forse perché l’unico tentativo del professore (avvocato di mestiere) di coinvolgere la nostra classe è stato il primo giorno del primo anno ed è fallito miseramente (“Un uomo vale per me diecimila se è il migliore”: noi, classe autarchica e extraparlamentare, immediatamente bocciammo Eraclito).
Da quel momento si limitò a fare lezione in maniera tradizionale, ovvero recitando un discorso che sembrava lui stesso aver imparato a memoria e chiedendoci di fare lo stesso alle interrogazioni, senza leggere altro che i suoi appunti, senza approfondire, senza discutere.

La seconda all’università, per quattro anni, in maniera randomica. Ma non era colpa mia: non mi orientavo facilmente tra le “storie della filosofia X” e le “filosofia Y”. Anche perché mentre X era tutto sommato una categoria omogenea, temporale, Y invece poteva essere un settore, un ambito culturale, una facoltà cognitiva. Dopo un po’ ho capito che mi interessava di più una terza categoria: la “filosofia di Z”, cioè le filosofie applicate, per così dire: la filosofia del linguaggio (ho studiato alla Sapienza di Roma in un periodo dove “filosofia del linguaggio” significava De Mauro) e soprattutto la filosofia della scienza. C’era una scienza, con un suo percorso storico, e si poteva analizzare in termini di concetti impliciti, di pretese, di fallacie nascoste.
Il periodo più fruttuoso è però il terzo, che è durato trent’anni, ed è quello in cui ho cercato di applicare quello che avevo studiato al mio campo professionale, cioè l’informatica. Ho cercato di ripensare concetti come interfaccia, oggetto, dialogo, apprendimento sulla base delle esperienze che man mano facevo. Ho preso appunti, ho scritto qualcosa qua e là, senza pretese e più per me che per gli altri.


Mi pare che oggi – con una maggiore attenzione mediatica, positiva e negativa, sulla filosofia, e una sempre maggior inconsapevolezza nell’uso degli strumenti informatici – sarebbe utile provare a raccogliere questi tentativi in una forma più strutturata. Non per chiudere il discorso, ma per iniziare una conversazione a più voci con chi ne avrà voglia.

La forma che dovrebbero avere questi saggi di filosofia del digitale non può essere, per quanto mi riguarda, quella apodittica: il digitale è qui, il digitale è là. Non solo perché “digitale” non è un concetto monolitico, e anzi parlarne in termini di oggetto unico è parte del problema. Non è un soggetto metafisico dotato di identità e di volontà proprie, come sembra a volte di capire. Non più di quanto non siano soggetti metafisici gli “algoritmi“: i quali, incolpevoli capri espiatori, sono pensati da persone e realizzati in programmi scritti per uno scopo preciso.
Il digitale non è e non fa: ci sono strumenti e oggetti digitali, progettati e realizzati da persone, che però condividono alcune caratteristiche fondamentali, talmente fondamentali che se non si parte da lì non si capisce come funzionano. Solo che il discorso su questi oggetti non può essere esclusivamente tecnico, perché va a toccare la maniera con cui pensiamo le cose con cui abbiamo a che fare tutti i giorni.
Ma nemmeno, credo io, si può parlare del digitale solo in una prospettiva di “teoria dei media digitali”, partendo solo dagli usi che se ne fanno, come se fossimo etnologi alle prese con popolazioni selvagge (i “nativi” digitali) o esobiologi davanti alla fauna di un pianeta lontano (la “rete”). Non che non sia importante studiare anche questi aspetti, che ci riguardano da vicino, ma non si può partire da lì e ignorare quello che c’è sotto, le caratteristiche intrinseche che facilitano certe relazioni e ne impediscono altre. Queste caratteristiche non determinano le relazioni più di quanto la macchina a vapore abbia determinato la relazione tra operaio e proprietario della fabbrica; ma ignorarle significa fare un atto di fede sulla naturalità delle “digisfera” (non esiste? beh, l’ho inventata proprio ora).

Perché fare questi ragionamenti ad alta voce, insomma pubblicarli? E’ una forma di terapia. Certe difficoltà che incontriamo, certe ansie, certe paure dipendono in fondo dal fatto che di questi oggetti digitali sappiamo poco, capiamo poco, e anche se siamo costretti ad usarli lo facciamo come se fossero i vecchi, rassicuranti oggetti analogici. Ma non lo sono. Per rassicurarci, tendiamo a immaginare il futuro davanti a noi estendendo il presente, stirandolo, prolungandolo, con un’operazione analogica, appunto. Invece ci sono già delle cesure enormi tra come era e come è e sarà. Ci sono dei salti nei modelli economici, delle trasformazioni radicali nelle relazioni tra persone.
Una analisi filosofica degli artefatti digitali ci potrebbe aiutare a capire queste trasformazioni, potrebbe insegnarci a trattare con quelle paure, se non proprio a superarle.

E’ anche possibile che questi ragionamenti possano portare qualche novità proprio nel cuore della filosofia. In fondo la filosofia ha costruito i suoi concetti a partire dagli oggetti analogici, costruiti attraverso i nostri cinque sensi, e utilizzando il linguaggio naturale come unico collante. Il fatto che esista una nuova “specie” di oggetti che sono costituiti solo da informazione e che esistano linguaggi artificiali con cui questi oggetti possono essere creati e manipolati potrebbe insegnare qualcosa anche ai filosofi.

Filosofico non deve significare difficile, contorto, pieno di rimandi ad autori classici e meno classici in nota. Non deve nemmeno significare astratto, generale, che si arresta alle grandi domande: è un modo dell’indagine e del discorso, quello che sale e riscende, come indicano i pupazzetti di Platone e Aristotele nella Scuola di Atene di Raffaello.
E’ anche il modo che mi si addice di più: quella artigianale. Una filosofia che nasce dalla prassi, diventa teoria e poi cerca una validazione di nuovo nell’esperienza.

La forma potrebbe essere quella di una serie di racconti che partono ogni volta da un’esperienza pratica e su questa provano a esercitare un’analisi, a estrarre dei concetti generali, fino a vederne altri effetti, anche e soprattutto attraversando i confini disciplinari.
Quello che segue è un esempio.


In questi ultimi sei mesi sto lavorando nel tempo libero (rileggete: sto lavorando nel tempo libero) ad un’applicazione web che permette di consultare dei contenuti strutturati in capitoli e pagine (per la precisione: stanze e pannelli, visto che si tratta di una Mostra online). Ho scritto i codici sorgenti dell’applicazione web, ma anche i testi, per via del fatto che per dimostrare la validità di un’idea ho capito che occorre mostrarne almeno una prima realizzazione. Siccome penso che le cose che ho scritto potrebbero interessare anche persone che non parlano italiano, ho pensato di tradurre 135 pagine HTML dall’italiano al francese, all’inglese e allo spagnolo. Le pagine HTML non hanno una grande formattazione (grassetti, corsivi, dimensioni dei titolo) ma hanno delle tag interne (come <wikipedia> o <data-time>) che servono a fare in modo che l’applicazione possa estrarre informazioni per indicizzare le pagine, oppure a permettere l’espansione automatica di una parola in un link ad una pagina di Wikipedia o ad un video su Yotube.

Le pagine in media sono piccole, tra le 500 e le 1000 parole. Non possedendo io le competenze linguistiche necessarie, né potendo sfruttare quelle familiari, mi sono rivolto alle agenzie di traduttori. Un costo standard per una traduzione non tecnica di una pagina di queste dimensioni dall’italiano alle principali lingue europee mi pare essere tra 10 € e i 40 €. Sale anche a 150-200 € se si richiede una revisione di qualità. Non è tanto, anzi a me pare molto poco. Significa che il traduttore è pagato una miseria, e avendo assistito mia moglie nella traduzione di uno scenario di film posso dire che è un lavoro bellissimo ma ingrato e infinito.

135 pagine x 20 € x 3 lingue però fa oltre 8000 €, che sono molto, molto al di là di quello che mi posso permettere, perché il progetto non è finanziato da nessuno. Rinuncio? Faccio tradurre solo un piccolo sottoinsieme delle pagine? Chiedo aiuto a volontari con un crowdtranslating? .

C’è una alternativa che senz’altro conoscete tutti: i traduttori automatici su web. Ho una precedente esperienza sia con Bing che con Google, che ho provato per tradurre delle etichette e dei messaggi di un’altra applicazione web. Siccome in quel caso evidentemente il contesto linguistico di ogni elemento era limitato (un grosso file in cui ogni riga si poteva riferire ad argomenti diversi), il sistema di traduzione di entrambi prendeva cantonate notevoli. Qui forse le cose andrebbero meglio perché ogni pagina parla di un determinato argomento, e poi è passato del tempo.

Mi consiglia un amico di lasciar perdere Google e Bing provare DeepL, che è un servizio di una società tedesca. DeepL è basato su reti neurali convolutive, che naturalmente tutti noi conosciamo e mangiamo a colazione. Il nome fa riferimento al deep learning, che è un tipo di machine learning, quella parte dell’intelligenza artificiale in cui si cerca di riconoscere strutture non sulla base di definizioni formali, ma sulla base di somiglianze. In sostanza, grandi moli di testi vengono raccolte e utilizzate per costruire e addestrare modelli di traduzione. La storia di DeepL è abbastanza tipica per il settore: inizia nel 2007 come Linguee, una società tedesca fondata da un ex-dipendente di Google che raccoglie milioni di testi in giro per il web (anche quelli del Parlamento Europeo, che sono multilingue e ben tradotti) e offre un servizio di concordanze online. Dieci anni dopo, sulla base dell’enorme materiale raccolto e di una rete neurale, la società cambia nome e lancia il primo servizio free di traduzione con sette lingue, per un totale di 42 coppie.

Esporto quindi tutte le mie pagine in un unico file PDF e lo carico. E’ troppo grosso, la traduzione automatica non arriva in porto. Ma anche se avesse funzionato, avrei avuto due problemi : dividere di nuovo il file in 135 file HTML e salvarli nel posto giusto col nome giusto; soprattutto avrei dovuto ripristinare a mano tutte le tag eliminate nella conversione in PDF. Non praticabile.

A questo punto mi viene in mente – perché sono un po’ tardo e lento come i passi di Petrarca – che sto trattando il problema in maniera “analogica”. Sto pensando il testo in termini di libro. Per tradurre un libro si prende il testo, lo si manda ad un traduttore; poi comincia un ciclo di revisioni; poi si prende la traduzione finale e la si impagina. Alla fine si distribuisce il libro tradotto nei mercati esteri. E’ un processo sequenziale con un “loop”, un ciclo di ripetizioni interno, per la parte di revisione. Ma è lineare e ogni parte presuppone quella precedente: non si può distribuire il libro se non è stato tradotto, e non si può tradurre se non è stato scritto.

Ma la mia è un’applicazione web, che non ha un momento finale: sarà sempre in pubblicazione. Non deve essere fissata in un certo momento per poi essere inviata ai distributori e poi alle librerie. Non serve a niente tradurre tutto: basta tradurre quello che le persone vogliono visualizzare. E non serve a niente tradurlo prima: basta tradurlo un attimo prima di quando qualcuno vuole visualizzare una pagina. E infine: potrebbe essere necessario tradurre nuove pagine man mano che si aggiungono, o ritradurre alcune pagine che sono state modificate.

Quindi cerco meglio e scopro che DeepL (come probabilmente ogni altro servizio del genere) offre delle API, cioè degli indirizzi HTTP a cui si possono inviare testi da tradurre e che restituiscono la traduzione immediatamente, senza bisogno di intervento umano. Inoltre si può specificare che non si desidera tradurre un romanzo, ma una pagina HTML, escludendo dalla traduzione certe particolari tag (che è proprio quello che mi serve).

Inserisco perciò nel codice sorgente dell’applicazione un test: se l’utente ha scelto l’inglese (o il francese, o lo spagnolo), e il file HTML corrispondente non esiste, viene inviata la pagina italiana e ne viene chiesta la traduzione alle API di DeepL. Tempo due secondi, arriva la pagina tradotta, viene mostrata al visitatore e salvata. L’utente non si accorge quasi di nulla. Al prossimo accesso, quella pagina esiste e il risultato è immediato. Insomma, non sono io che mi occupo della traduzione, ma l’applicazione stessa che risponde alle esigenze dell’utente in maniera automatica, esattamente come gli restituisce i risultati di una ricerca. Contemporaneamente, l’applicazione confronta la data della versione originale (in italiano) e quella della versione tradotta: se la prima è più recente della seconda, richiede una nuova traduzione.

Adesso provo a dire in termini più generali perché un documento digitale non è un libro.

L’uso del servizio online ha trasformato un processo sequenziale in un processo “just in time”, spezzandolo non in funzione della struttura o dell’organizzazione della produzione, ma in funzione del suo utilizzo. Non mi devo procurare una bicicletta in previsione di quando smetterà di piovere e avrò voglia di fare una passeggiata, ma mi trovo una sella sotto il sedere quel giorno lì, appena uscito di casa, e mentre comincio a pedalare appaiono le ruote. Magie digitali? No, è solo che i servizi che chiamiamo “immateriali” (ma che non lo sono, visto che richiedono sempre hardware per essere fruiti) non hanno bisogno di mimare completamente quelli analogici. Se lo fanno, è solo in un momento iniziale, per non confonderci le idee. Bolter e Grusin parlavano di “remediation” per indicare questa capacità di un medium di citare e riassorbirne un altro: beh, di sicuro i servizi digitali rimediano quelli analogici e inizialmente passano inosservati, come ho scritto anche qui. Ma sotto sotto funzionano diversamente.

Il motivo generale per cui è possibile questo andamento dinamico è la caratteristica fluidità degli oggetti digitali. Mentre le pagine di un libro (meglio, di una certa edizione di un libro) sono fisse, hanno una dimensione, un numero di righe, di parole e di lettere, un colore, un carattere e una dimensione, le pagine di un e-book no. La pagina dell’ebook si crea quando viene visualizzata, in funzione di tre livelli di impostazioni: quella iniziale, voluta dall’editore (un certo carattere, per esempio Arial, una certa dimensione delle lettere); quella del dispositivo (una certa dimensione dello schermo, una certa risoluzione in termini di punti per centimetro quadrato); quella decisa dal lettore umano (un carattere diverso, una dimensioni più grande, un’interlinea maggiore). L’ultima vince sulla seconda che vince sulla prima. Da questa trattativa risulta una disposizione del flusso di lettere particolare, probabilmente unica, modificabile in ogni momento. E’ per questo che dire “pagina 3” di un ebook non significa niente, perché cosa viene mostrato dipende dalle impostazioni, dalle scelte, dalle possibilità previste. Uno dei miei primi tentativi di creare un software “educativo” è stato Scribo. Era un software per la videoscrittura semplificato che avevo scritto col linguaggio Pascal. La cosa su cui ho perso più tempo è stata proprio la continua ritrasformazione del flusso lineare del testo in una matrice righe x colonne. Lì ho capito che “pagina numero 3” non significa nulla, mentre “lettera numero 240” invece sì. Ho capito anche quanto la pagina (e lo schermo, che la mima) fosse un’unità completamente arbitraria. La stessa cosa vale ovviamente per le immagini e i suoni, ma per adesso lasciamo questo discorso.

C’è un altro senso per cui un testo digitale non è un libro: perché in fondo non ha un’esistenza propria, se non nel momento in cui qualcuno la vuole ritrovare, consultare, stampare. Non ha senso dire che un testo digitale “sta” da qualche parte, come un libro in una biblioteca o in un archivio che c’è anche quando la biblioteca è chiusa, quando nessuno lo cerca. Un testo digitale è “file” cioè una sequenza di bytes immersa in una sequenza più grande (una tamburo magnetico, un nastro, un disco: non è importante). Quel file però non esiste se non perché è indicizzato, inizia qui e finisce lì; altrimenti è solo una massa informe di bytes indistinguibili da quello che c’è prima e quello che c’è dopo. Questa è una delle caratteristiche primarie degli oggetti digitali: non sono oggetti, ma sono finestre, viste, inquadrature applicate su una sequenza di simboli. L’accesso ai file di un disco è realizzato tramite un indice, che in certi vecchi sistemi operativi si chiamava FAT (File Allocation Table: tabella di posizionamento dei file). Se la FAT si rovinava, era impossibile recuperare i file e il disco era praticamente inutile (per questo ce n’erano due). Certo le sequenze sono diverse, e hanno delle caratteristiche intrinseche che le individuano, cioè l’ordine in cui sono disposti i bytes. Questo ordine è ciò che permette ad un programma antivirus di andare a caccia della “firma” caratteristica di un virus anche senza sapere dov’è.

Una seconda caratteristica importante di un documento digitale, che lo differenzia da un libro, è che la forma con cui lo vediamo o lo pensiamo dipende sempre da qualche operazione che ci facciamo sopra: lo vogliamo tradurre in punti neri su uno schermo bianco o sulla carta, o lo vogliamo tradurre, o analizzare per contare le occorrenze di certe parole. Il documento non esiste in sé e per sé, ma in funzione di quello che ci si fa. Volendo si potrebbe forzare il discorso fino a dire che ogni documento digitale è un programma, nel senso che è una descrizione di azioni possibili, più che di proprietà. Come se ogni documento fosse una ricetta o uno spartito. Ma in realtà di solito ci limitiamo a pensare a certi file come composti da dati, inerti, passivi, e certi altri come programmi, solerti, attivi. E’ una scelta nostra, di convenienza, che però non ha un vero fondamento. Anche i programmi sono dati, e si possono leggere, scrivere, trasformare, tradurre, disegnare, suonare, oltre che eseguire.

E’ per questo che per il servizio di DeepL tradurre un testo in HTML non è un problema: quello che traduce non è il testo che leggiamo noi umani che traduce – un testo che ha un significato per noi perché fatto di parole e segni di interpunzione – ma il documento digitale corrispondente, che strutturato come un albero di tag. Su quest’albero vengono effettuate delle operazioni di ricerca, estrazione, messa fra parentesi. Lo fa DeepL per tradurlo, ma lo fa un browser qualsiasi come Firefox o Edge per mostrarmelo, lo fa un motore di ricerca per indicizzarlo. Per essere ancora più precisi, noi non vediamo mai la cosa digitale, nemmeno quando spiamo il codice sorgente di una pagina web, ma vediamo il risultato di qualche operazione su di essa.

Se ogni volta che abbiamo a che fare con un documento digitale in realtà interagiamo con un programma che lo trasforma, allora dovrebbe essere chiaro è sempre con agenti digitali che abbiamo a che fare. Quando parliamo del web come di una “Internet dei Documenti” tra cui saltabecchiamo in funzioni dei nostri interessi del momento, seguendo link o risultati di ricerca, dovremmo piuttosto parlare di una “Internet degli Agenti”: programmi che parlano tra loro, quando e se lo ritengono opportuno. Un dialogo invisibile agli umani, che continuano ad essere convinti di “navigare la rete”, come se fosse la superficie di un mare, magari sconosciuto, ma naturale. Non è un mare, è una conversazione, un bisbiglio continuo di cui non capiamo nulla ma ogni tanto percepiamo delle increspature e riconosciamo parole. Sono agenti che non hanno bisogno di essere tutti intelligenti, ma solo di essere stati programmati con un compito, lanciati e messi in comunicazione tramite qualche protocollo. Di protocolli ce ne sono tanti, antichi, nuovi, superati, contraddittori: eccola, la vera Babele.

Più ottimisticamente, quando Pierre Lévy (studioso della metafisica araba medievale) parlava di intelligenza connettiva utilizzava un concetto filosofico (l’intelletto agente di Averroè, che non è personale) per descrivere con una metafora questo dialogo che non è fra intelligenze, ma è una forma di intelligenza. Non: l’intelligenza artificiale è all’origine del dialogo, ma: l’intelligenza artificiale è la forma che assume per noi questo dialogo. Quando si parla di aspetti etici dell’intelligenza artificiale occorrerebbe pensare in questi termini: non entità superiori, ma agenti computazionali limitati. Come fa da tempo Salvatore Iaconesi.

Questo dialogo ci è utile, anzi non sapremmo più farne a meno (pur non accorgendocene). Ma ha anche degli effetti più sgradevoli per alcuni di noi: il servizio di traduzione just in time rende il traduttore umano un po’ meno utile se non addirittura inutile. Certo è ancora utile per chi ha bisogno di una vera traduzione letteraria, artistica, legale. Ma per le piccole aziende che vogliono provare a esplorare i mercati mondiali, per le associazioni no profit che si occupano di intercultura e migranti, per gli studenti di ogni disciplina, per chi come me ha bisogno di comunicare al di fuori del suo piccolo angolo di mondo: per tutti noi i traduttori umani diventano un’opzione perfettamente rinunciabile. Per noi la qualità della traduzione di DeepL è più che accettabile. Ma non lo dico io: qui potete leggere uno studio che confronta i risultati della traduzione dall’italiano al tedesco in ambito giuridico, tecnico e promozionale di DeepL con altri sistemi. E non può che migliorare: DeepL, come molti altri, mette i suoi servizi a disposizione non solo del pubblico generico, ma anche dei traduttori umani. Perché? perché più viene usato, più aumentano le dimensioni dei dati su cui viene fatto il training dei modelli di machine learning, più migliora la qualità. Non è lontano il giorno in cui la qualità di una traduzione automatica sarà indistinguibile da quella umana; o meglio, il giorno in cui la qualità sarà variabile a piacere, in funzione del prezzo che si è disposti a pagare. A quel punto, i traduttori umani potranno cambiare mestiere. Già prima, scompariranno gli istituti di formazione linguistica che già ora cominciano ad avere difficoltà a trovare studenti: a che serve studiare da traduttore se poi questo lavoro sta per scomparire? Ne parlo un po’ più a lungo qui.

Insomma la IoA (la Internet of Agents) non è un fatto naturale o un sottoprodotto che il meraviglioso progresso della scienza ci regala: è il risultato preciso di un modello di società fortemente voluto non solo dai Grandi Cattivi, ma un po’ da tutti: le competenze professionali tradizionali vengono acquisite da sistemi digitali e le persone vengono sostituite da servizi sempre più piccoli, specializzati, mirati al bisogno nel momento in cui viene espresso (o anche prima: dove vuoi andare oggi?).

Ecco che mi trovo in una bella contraddizione: rinuncio alle mie bellissime traduzioni, e mi chiudo in un eremitaggio a-tecnologico, da dove naturalmente la mia voce non esce, oppure chiudo gli occhi e partecipo alla fine di una professione su scala planetaria? E se non faccio nulla, ho qualche garanzia che le cose andranno diversamente?

Ecco anche perché capire come funziona il “digitale” è fondamentale per ri/progettare il futuro. Perché viviamo dentro una contraddizione e dobbiamo imparare ad farci i conti.


Pubblicato

in

, ,

da

Commenti

Lascia un commento