Digi Tales

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.

La fine della formazione

La formazione professionale ha senso se esiste una professione d’arrivo, cioè se esiste il contesto in cui una certa competenza può essere esercitata, riconosciuta, richiesta, pagata. Quando il contesto scompare, scompare la professione, e scompare anche la formazione. E’ questo lo scenario che ci aspetta grazie alla creazione di modelli di Machine Learning addestrati a partire dai dati d’uso dei professionisti come traduttori, programmatori, giornalisti. Sembra curioso che il mondo della formazione non se ne renda pienamente conto.


1 “The grand object therefore of the modern manufacturer is, through the union of capital and science, to reduce the task of his work-people to the exercise of vigilance and dexterity” (Andrew Ure – The Philosophy of the Manufacturers (1835)

La fabbrica ottocentesca ha cancellato una serie di mestieri artigianali e la formazione relativa che avveniva nella bottega. Lo stesso è successo con l’agricoltura motorizzata che ha rimpiazzato i contadini e il passaggio delle competenza all’interno della famiglia. Si trattava di mestieri manuali che però richiedevano una competenza alta: zappare la terra, checché se ne dica, è operazione complessa oltre che faticosa. C’è stata una doppia sostituzione: la forza biologica è stata sostituita da forza inanimata (acqua, vento, vapore), mentre la mano è stata sostituita da un dispositivo meccanico. L’uomo serve ancora, ma solo come controllore di processo.

Questo processo è stato letto come un effetto della specifica maniera di produzione capitalista che ha condotto alla soppressione di milioni di posti di lavoro e alla miseria di milioni di famiglie; oppure come una generale promozione umana dal mondo del lavoro fisico a quello del lavoro intellettuale. Marx nel Capitale cita Aristotele: “se ogni strumento potesse compiere su comando o anche per previsione l’opera ad esso spettante, allo stesso modo che gli artifici di Dedalo si muovevano da sè o i tripodi di Efesto di proprio impulso intraprendevano il loro sacro lavoro, se in questo stesso modo le spole dei tessitori tessessero da sè, il maestro d’arte non avrebbe bisogno dei suoi aiutanti e il padrone non avrebbe bisogno dei suoi schiavi”. Non è la macchina in astratto a creare la disoccupazione e le condizioni di lavoro alienato, ma la maniera specifica in cui viene inserita nel processo produttivo.

Il fatto che il lavoro di aratura una volta fosse eseguito a mano, poi da una macchina semplice che usa un’energia non umana (un aratro mosso da un cavallo) e infine da un trattore, non ha cancellato il sapere sull’aratura: era comunque necessario che qualcuno sapesse come si deve arare, a che profondità, quando. La conoscenza teorica doveva esistere ed essere trasmessa e integrata nella macchina, mentre la competenza pratica poteva scomparire senza danni. Al posto dell’esperienza, trasmessa nella famiglia o nel laboratorio artigianale, arrivava la scienza, sulla base della quale si poteva progettare un algoritmo e costruire una macchina. Ma restava importante nella società il ruolo della formazione (dell’università, della scuola) come luogo di elaborazione e trasmissione di quella scienza.

2 Quello che sta succedendo oggi è qualcosa di diverso. Non è la mano con la pinza ad essere sostituita, ma la mano con la penna. Non sono i compiti di trasformazione della materia ad essere oggetto di ripensamento, ma quelli di trasformazione delle parole. Questo è reso possibile dall’inserimento di una macchina speciale (il computer) nel mercato del lavoro intellettuale. Anche la maniera in cui vengono inseriti è nuova.

I computer sono nati per fare calcoli complessi, calcoli che gli umani svolgevano in un tempo maggiore e con una possibilità di errore variabile. Tutti ormai conoscono la storia delle calcolatrici umane della NASA (“computer”). Il passo successivo è stato quello di collegare al computer un ricettore e un effettore fisico. In questo modo, oltre a fare i calcoli, il computer è diventato soprattutto un dispositivo che trasforma un algoritmo astratto in un gruppo di azioni fisiche, le quali vengono svolte non solo in una sequenza prefissata, come nel caso dei telai Jacquard, ma in base al presentarsi o meno di certe situazioni. Le lavabiancheria programmabili sono un buon esempio di questo livello di integrazione: un programma è costituito da una serie di controlli (livello dell’acqua, tempo trascorso, temperatura) e di azioni corrispondenti.

Ancora più avanti, i computer sono stati miniaturizzati e usati non direttamente per controllare macchine complesse, ma per supportare gli umani nel loro uso. Una autovettura moderna sarebbe difficile da guidare, ma anche da gestire, se non ci fosse un computer di bordo che raccoglie i dati, li elabora secondo modelli, e avverte il conduttore al superamento di condizioni di rischio (carburante in esaurimento entro X chilometri, pneumatici sgonfi, eccetera). In alcuni casi le autovetture sono in grado di effettuare da soli queste correzioni, come nel caso dell’intervento dell’ABS.

Tecnicamente cambia poco quando l’utente non è il consumatore ma il professionista, cioè quando è la sfera del lavoro ad essere investita dalla trasformazione. Anche i software di supporto alle professioni esistono da tempo: i meccanici usano software come supporto alla diagnosi delle autovetture, i giornalisti e i traduttori usano software che li aiutano nella scrittura, i docenti usano piattaforme che li aiutano a intercettare rapidamente un problema di apprendimento degli studenti. Anche in questo caso, si tratta di software che controllano i valori di alcuni parametri e sulla base di un modello di riferimento avvertono l’utente o gli forniscono suggerimenti di correzione. La differenza è che il computer è un ausilio del professionista nel suo operare verso terzi, quindi interviene mettendosi al suo stesso livello. E’ ancora un alleato, invisibile per il cliente.

3 Il passo successivo cambia completamente il quadro: il software si propone direttamente al cliente nella forma di servizio. Software che non si limitano a raccogliere dati, confrontarli con un riferimento atteso e suggerire eventuali correzioni, ma che sulla base di un modello addestrato a partire da un’enorme quantità di dati raccolti dalle performance di milioni di professionisti, e sulla base di tecnologie di machine learning, sono in grado di svolgere gli stessi compiti di questi professionisti e di offrirsi sul mercato in concorrenza.

Attualmente si vedono i primi esempi nei settori che sono circoscritti alla produzione di testi scritti: la creazione di riassunti o di brevi testi, la traduzione, la scrittura di programmi.

La traduzione automatica, il sogno fondante delle ricerche sull’Intelligenza Artificiale negli anni ’60, è ormai sufficientemente precisa da poter essere usata a livello semi-professionale. Non si possono ancora tradurre automaticamente romanzi in cui lo stile vada preservato, ma si possono tradurre brevi testi in cui il contenuto è quello che conta . Oltre ai più noti Bing Translator e Google Translate, ci sono software come DeepL, sviluppati da piccole aziende che restituiscono testi ben scritti, coerenti, fluidi. Ma mentre lo scopo principale di queste ultime è quello di vendere il proprio servizio come tale, lo scopo dei corrispondenti sevizi di Microsoft e Google è più ampio, e permette ai soggetti in questione di offrire gratuitamente, al momento, questo servizio; magari per inserirlo prossimamente come funzionalità aggiuntiva nelle suite di strumenti per l’ufficio che entrambi forniscono. Questo fa sì che studenti, professionisti, aziende che hanno bisogno di produrre un testo tradotto già oggi non fanno più ricorso ad un traduttore umano, che ha un costo che varia in base alla lingua (cioè alla disponibilità sul mercato di traduttori competenti nella coppia di lingue), ma si contentano della traduzione automatica. Così facendo, aumentano la base di dati su cui i modelli si addestrano, e migliorano la qualità del servizio.

I traduttori cominciano a soffrire per questa riduzione di lavoro e reagiscono difendendo “il plus umano”, specializzandosi in domini sempre più piccoli, volgendosi ai campi in cui lo stile è decisivo. Ma si tratta di strategie destinate a fallire: più aumenta il loro livello qualitativo e la loro specializzazione, più dati forniscono ai software di supporto alla traduzione, più diventano efficaci i software di traduzione automatica. Questa differenza è enorme, e rende la situazione molto diversa da quelle precedenti. Si crea un circolo vizioso da cui il professionista non può uscire. Attenzione: il circolo non dipende genericamente dall’uso di una macchina al posto di un uomo, o dall’uso della macchina computer in particolare, ma da questa particolare maniera di costruire competenza artificiale a partire dalla competenza umana.

L’aspetto che non è abbastanza sottolineato, a mio parere, è l’influsso che questa sostituzione ha sulla formazione professionale (nella quale è inclusa anche la formazione universitaria).

Man mano che si incrina il mestiere del traduttore, diventa inutile la formazione relativa, se non quella di altissimo livello (la traduzione letteraria, quella specialistica) che però farà fatica a trovare studenti che abbiano il livello necessario. Scompariranno i corsi base per interpreti e traduttori; ci si domanda se scompariranno anche i corsi di lingua, visto che per le necessità comuni tutto sommato un software è in grado anche da fungere da interprete. In ogni caso, già ora gli studenti di lingue sanno bene che il lavoro di traduttore è destinato a scomparire. I sottotitoli delle serie televisive vengono generati automaticamente (con qualità ancora scarsa); ma questo significa che non vale la pena per un ragazzo investire nell’apprendimento delle lingue pensando ad un futuro professionale in questo settore.

D’altra parte, i software di traduzione automatica non sono il frutto di un lavoro misto di linguisti e ingegneri, ma sono sempre di più basati su modelli costruiti sulla base di larghissimi esempi (machine learning). Questo renderà inutile la trasmissione alle generazioni future della conoscenza linguistica che sta alla base di un processo di traduzione umano. Dopo i corsi di traduzione e i corsi di lingua, scompariranno anche i corsi di linguistica e resteranno solo i corsi di machine learning.

4 Va beh, ma tradurre in fondo è semplice. La competenza della scrittura originale, quella, resterà sempre in mano agli umani. La creatività, ah la creatività.

Insomma. A prescindere dai software “tradizionali”, che sono in grado di creare plot narrativi a partire da personaggi e target (alcuni esempi sono raccolti qui), è il mondo del giornalismo che sta per essere investito dallo tsunami del machine learning. Non domani, adesso. Basta leggere quello che fa Asimov, un sistema della startup romana ASC27. Non sostituisce il giornalista (per ora), ma si presenta come il suo AI Collegue. Fa un sacco di lavoro sporco per i social network:: traduce il testo in audio, crea podcast oppure storie per Instagram; ma individua i trend di un settore, li traduce in strutture dati ed è in grado di scrivere dei drafts di articoli.

Se non ci credete, potete sempre provare con uno dei tanti colleghji di Asimov: per esempio, Sassbook Ai Writer.

5 La stessa cosa sta succedendo per la programmazione, come dimostra il caso di Microsoft AI Copilot. Nel primo periodo di test i programmatori saranno solo aiutati dal “copilota”, che si limiterà a suggerire il codice sorgente adatto al compito descritto dal programmatore. Ma una volta diffuso largamente, come plugin di Visual Studio, e una volta raccolti ancora più dati, AI Copilot si trasformerà in un servizio in grado di produrre autonomamente il codice sorgente.

A quel punto, non sarà più necessario per un’azienda assumere un programmatore senior o particolarmente creativo: qualunque junior potrà realizzare qualsiasi compito gli venga assegnato, esattamente come agli operai adulti e competenti si poteva sostituire un bambino nella fabbrica ottocentesca. E’ il sogno democratico americano: tutti possono diventare programmatori, con un po’ d’aiuto da parte di un guru, o di un modello di machine learning. L’arrivo sul mercato di un’ondata di programmatori junior, sempre più giovani, sempre meno formati ufficialmente, avrà l’effetto di cacciare fuori i programmatori senior, di abbassare il costo del lavoro del programmatore, di rendere inutili i corsi di formazione avanzati e i diplomi universitari. Si può anche discutere sul fatto che la qualità media del codice prodotto si abbassi: potrebbe anche darsi che il livello medio resti costante o addirittura salga. Viceversa, si potrebbe ipotizzare una standardizzazione che non presenterà picchi né in alto, né in basso. Codice corretto, funzionante, ma non innovativo, perché discendente da codice sorgente scritto in precedenza (per il momento, quello pubblicato in GitHub). Se a regime tutte le aziende usassero Ai Copilot, o un suo equivalente targato Google, anche la base di partenza su cui viene costruito il modello si uniformerebbe, con conseguente appiattimento del codice prodotto.

6 Ma senza proseguire in questa direzione, che è specifica del mondo della creazione del software in cui il prodotto di un software è esso stesso un software, in tutti gli altri casi possiamo fermarci alla fase 1: quella per cui ogni lavoro di produzione intellettuale che possa essere sostituito del tutto o in parte da un software andrà a scendere di posizione sociale, e quindi di valore economico, rendendo di conseguenza poco attraente la formazione relativa, che finirà per scomparire.

Una versione fantascientifica di questo processo prevede che ci sia una fase 2, in cui non sarà più necessario che ci siano programmatori umani a scrivere codice sorgente sulla base delle specifiche fornite dall’analista sulla base dei bisogni raccolti, ma sarà sufficiente che l’esperto del dominio applicativo di quel software descriva suoi bisogni perché l’AI Coder produca il software finale. Verrà quindi eliminata anche la figura dell’analista, e l’autore del software sarà un esperto che non ha le competenze per scriverlo o leggerlo. Ma poiché questa attività (scrivere il codice sorgente necessario per un certo compito) fa parte delle cose che sanno fare i software, il passo successivo sarà quello per cui l’idea stessa di scrittura del codice come atto separato sarà sostituita da una funzionalità aggiuntiva di ogni software, attivabile in continuo e non solo in certi momenti particolari. Tutti i software saranno dotati della capacità di crescere, di ripararsi, ed eventualmente generare cloni. E’ curioso, se ci si pensa, che lo scenario apocalittico di tanti film sul AI che prende il sopravvento della macchina sull’umano abbia come protagonisti i robot, e non i software, che sono molto più diffusi e molto più vicini all’autonomia.

Questo processo è diverso dal corrispondente processo di sostituzione dell’operaio competente con una macchina, perché in questo caso – grazie al Machine Learning che impara dati dati, non applica una teoria – anche la conoscenza teorica che permetteva di disegnare l’automazione verrà resa inutile. Non soltanto non sarà più necessario che sia un essere umano a scrivere un programma (o a effettuare una traduzione o scrivere un articolo); ma ad un livello superiore, non ci sarà nessuno in grado di verificare un testo, di correggerlo, di deciderne l’applicabilità ad un contesto.

Si può immaginare che per un certo periodo resti attiva una formazione ultra-specifica, riservata a pochissimi eletti, che sfoci in una nuova professione: il controllore umano. Si tratterebbe peraltro di un periodo di transizione, in attesa che anche questa competenza possa essere imitata ad un software.

Sul piano sociale, un effetto prevedibile potrebbe essere la nascita di un movimento neoluddista (sulla scorta del movimento che ha accompagnato la diffusione delle fabbriche), a cui parteciperebbero tutti i professionisti formati tradizionalmente, i quali si rifiuterebbero di fornire i propri prodotti come sorgente di apprendimento per i modelli di ML. Qui non siamo nella fantascienza ma nella storia: è quello che hanno cominciato a dire alcuni programmatori a proposito dell’uso del codice sorgente di Github da parte di Microsoft per nutrire il modello di AI Copilot: o GitHub cambia licenza, oppure togliamo il nostro codice da lì.

7 Se si trattasse di un processo naturale, di un movimento universale e necessario, potremmo pensare che l’umanità – o almeno la sua parte più ricca – dopo aver smesso di compiere lavori fisici smetterà anche di compiere lavori intellettuali, e si trasformerà in una specie dedita al godimento estetica, cancellando finalmente l’etica del lavoro e del merito.

Più realisticamente, potremmo immaginare che in aree geografiche del mondo in cui le persone che hanno delle competenze di valore sono rare – perché manca la formazione, perché non c’è un mercato, perché sono aree a rischio, perché i numeri sono troppo grandi – il software potrebbe sostituirle. In Paesi in stato perenne di guerra o di carestia è difficile trovare traduttori, giornalisti, programmatori (ma soprattutto docenti, medici, avvocati).

Allora ecco che il surplus tecnologico andrebbe a colmare quei vuoti.

Certo, ci sarebbe sempre una distanza: i Paesi ricchi si potrebbero permettere dei professionisti “veri”, supportati dai vari Collegues, Companions, Copilots, mentre i Paesi poveri avrebbero a disposizione solo quelli “artificiali”. Ma la crescita culturale che ne seguirebbe potrebbe anche modificare gli equilibri e creare più cultura a livello mondiale.

Il problema è proprio che questo non è un fenomeno naturale. C’è di mezzo la volontà precisa di alcune imprese di indirizzare in quella direzione l’uso dell’informatica, di fare profitto in questo specifico modo. Queste imprese intendono sostituirsi su scala planetaria al “motore della storia della tecnica” facendo delle scelte che tendono all’eliminazione delle professioni nelle aree ricche del mondo, e alla loro sostituzione da parte di “servizi”.

Inoltre, non cercano semplicemente il guadagno, come fa ogni impresa for profit, ma cercano di semplificare e controllare tutti gli aspetti della vita umana, per il bene dell’umanità. Già oggi non serve saper leggere una mappa, non serve sapere le lingue; e presto non servirà rivolgersi ad un programmatore. Basta affidarsi all’assistente privato, che si chiami Alexa, Siri, Cortana.

E’ importante vedere la non naturalità di questo processo, perché solo così si può pensare di invertirlo o almeno creare delle alternative (come, ad esempio Mycroft che si presenta come alternativa opensource agli assistenti vocali). Non è l’unica maniera in cui il digitale può evolversi, anche se è al momento quella più probabile. Bisogna riuscire a pensare una differenza.

E’ la differenza che è presente nell’analisi contenuta nel Capitale delle macchine ottocentesche tra strumenti usati nella manifattura e macchinario nella fabbrica:

“Nella manifattura e nell’artigianato l’operaio si serve dello strumento, nella fabbrica è l’operaio che serve la macchina. Là dall’operaio parte il movimento del mezzo di lavoro, il cui movimento qui egli deve seguire. Nella manifattura gli operai costituiscono le articolazioni di un meccanismo vivente. Nella fabbrica esiste un meccanismo morto indipendente da essi, e gli operai gli sono incorporati come appendici umane” (Libro I, Sez. IV, Cap 13).

E’ la differenza tra software come strumento (pannello di controllo, verifica, etc ) che aiuta e il software come macchinario che sostituisce.

Non è necessario che il software debba trasformarsi in macchina di cui le persone sono appendici. Si può ancora puntare a realizzare software che seguano il movimento delle persone, e non che lo impongano. Si può ancora immaginare una produzione di software che è volta al profitto – cioè al sostentamento di chi ci lavora – ma non al dominio totale di ogni aspetto della società.

E’ questa mancanza di pensiero alternativo che ci sta consegnando con le mani legate ad un futuro agghiacciante.

Intelligenza artificiale: media

Il tema dell’IA sta facendo capolino sempre più spesso sui media digitali.
Mi hanno colpito alcuni articoli.

1. Il docente robot
I fatti: al prestigioso Georgia Institute of Technology gli studenti del MOOC su IA hanno difficoltà a trovare le pagine  con i voti o i compiti e scrivono ai tutor chiedendo lumi.
I tutor a loro volta hanno difficoltà  a rispondere a tutte le email.
C’erano varie possibilità:
– migliorare l’interfaccia del MOOC mettendo in evidenza i link a alle pagina utili
– creare delle FAQ con le domande più frequenti e le risposte sensate.

Invece i gestori del corso hanno deciso di creare un BOT, cioè un utente automatico del forum che si basava sulle parole chiave e sulla somiglianza delle domande per fornire delle risposte. Dopo qualche esitazione, il software ha cominciato a funzionare bene e gli studenti non si sono accorti della differenza. Bravi, bell’esercizio.
Il primo commento che mi viene in mente (ma penso sia ovvio per tutti): beh, quel MOOC era proprio progettato malino. Se l’interazione studenti-tutor è talmente limitata che gli studenti non trovano nessuna differenza tra le consuete risposte umane e quelle di Jill Watson (il bot), significa che il corso non è era un granché interattivo. Vuol dire che va migliorato il modello didattico del corso, no?

Il titolo dell’artico però è: “L’insegnante è un robot. Ma non se ne accorge nessuno
Sottotitolo: “Si chiama Jill Watson, e fa l’assistente in un corso di programmazione. Nessuno degli studenti, però, si è accorto che è un computer.
Nel testo: “La piaga più grande dei corsi online”, ha spiegato Goel [Ashok Goel, il docente], “è l’alto tasso di abbandono da parte degli studenti. La causa principale è che gli studenti stessi lamentano di non avere abbastanza interazioni con gli insegnanti. Abbiamo creato Jill per fornire risposte e feedback più veloci. […] ”
Commento dell’articolista: “Chi meglio di un software per insegnare a programmare algoritmi di intelligenza artificiale?” Davvero. Ma qui non c’è nessun docente software…
Battuta finale: “E nessuno degli studenti si è accorto di avere a che fare con un computer. Qualcuno ha chiesto addirittura a Jill un appuntamento dal vivo. Impossibile, peccato.”

Insomma, il MOOC non brilla per la modernità del modello didattico – e gli studenti se ne accorgono –  ma il modo per riparare è fornire risposte più veloci? Si prende un compito ripetitivo di supporto, lo si automatizza: e questa sarebbe la formazione gestita da un’Intelligenza Artificiale? Una confusione tra docente, tutor, FAQ, supporto, insegnamento che non aiuta a promuovere una cultura dell’apprendimento digitale, ma la allontana sempre di più.

http://www.repubblica.it/tecnologia/2016/05/20/news/insegnante_robot-140220189/

2. Machine learning for all

Titolo dell’articolo: “Soon We Won’t Program Computers. We’ll Train Them Like Dogs
Sotto (anzi, sopra)titolo: “The rise of Artificial Intelligence and the End of Code
Si parla delle reti neurali (che in realtà sono in giro da un bel po’) e di big data: tantissimi dati vengono proposti ad un algoritmo che cerca di riconoscere strutture invarianti. Dall’accento sul codice si passa all’accento sui dati. Questo modello di software viene presentato come il futuro: presto tutti i programmi saranno di questo tipo, e non ci sarà più bisogno di programmatori che scrivono codice.
Con le parole di Monaghan: “Our machines are starting to speak a different language now, one that even the best coders can’t fully understand. If you want to teach a neural network to recognize a cat, for instance, you don’t tell it to look for whiskers, ears, fur, and eyes. You simply show it thousands and thousands of photos of cats, and eventually it works things out. […] Programming won’t be the sole domain of trained coders who have learned a series of arcane languages. It’ll be accessible to anyone who has ever taught a dog to roll over. “For me, it’s the coolest thing ever in programming,” Thrun says, “because now anyone can program.”

Ora, a parte il fatto che di programmi che scrivono programmi ce ne sono sempre stati (i compilatori fanno appunto questo, con grande modestia), il machine learning si applica solo ai casi in cui esistono milioni di istanze che si possono confrontare – e non tutti i problemi cui si applica il software sono di questo tipo. A me pare che l’articolista si sia divertito a fare l’apocalittico (perderemo il controllo dei nostri software, tutti i programmatori a casa…) ma faccia finta di non sapere che i programmi si progettano, si producono, si valutano, si modificano, si biforcano. Prospettare un futuro di sole reti neurali significa ridurre tutte le attività dei programmatori alla sola scrittura di codice che implementa algoritmi.
Ancora, un riduzionismo mascherato da visione futuribile. Certo non aiuta a formare una generazione di coders creativi.

http://www.wired.com/2016/05/the-end-of-code/