IN EVIDENZA

L’Edipo di silicio

Ovvero, tutte le difficoltà da affrontare per costruire macchine in grado di comprendere il linguaggio umano

3149911976_e67311c1b3_z
APPROFONDIMENTO – Immaginate una macchina in grado di riconoscere il vostro volto e la vostra mimica facciale, riuscendo a “capire” quali emozioni state provando. O capace di tradurre simultaneamente frasi nella vostra lingua dal russo o dal cinese.
Se queste vi sembrano (giustamente) sfidanti frontiere nel campo dell’intelligenza artificiale, probabilmente vi state perdendo il meglio.

Come riportato da wired.com, un team di ricercatori di Facebook ha infatti sviluppato di recente un sistema prototipale in grado di leggere un riassunto de “Il Signore degli Anelli” di J.R.R. Tolkien, e rispondere a domande sulla trama del libro.
Per avere un’idea della complessità del problema dell’analisi di un testo, provate a rispondere alla seguente domanda:

“Sam e Frodo, il portatore dell’Anello, giungono a Mordor e, sfuggendo all’Occhio di Sauron, riescono a distruggerlo. Chi o che cosa viene distrutto?”. Per chi conosce la trama del libro, o ha visto la trasposizione cinematografica di Peter Jackson, sarà facilissimo rispondere: l’Anello viene gettato nelle viscere del Monte Fato e distrutto. Riflettendoci per un attimo, però, anche una domanda semplice come questa cela insidie legate alla complessità e, per certi versi, alla ambiguità del linguaggio naturale.

In effetti se alla domanda precedente rispondeste “l’Anello”, probabilmente nessuno avrebbe da eccepire. Che dire però delle risposte “Sauron” o, anche, “l’Occhio di Sauron”, o, infine, “Anello e Sauron, Occhio compreso”? Ancora, per chi conosce un po’ la storia, l’Anello del potere è indissolubilmente legato al suo creatore, Sauron. Il quale, una volta distrutto l’Anello, perirebbe all’istante. E il suo Occhio con lui. Quindi, tutte le risposte sopra riportate sono valide.

Questo rapido esempio è esplicativo di come la capacità umana di estrarre un significato da un insieme di parole o simboli in un certo linguaggio sia tutt’altro che semplice da replicare tramite un agente artificiale. Un altro esempio di come frasi, anche molto semplici, possano risultare ambigue è stato formulato da Terry Winograd, professore di informatica presso l’ Università di Stanford:

I consiglieri cittadini rifiutarono di rilasciare l’autorizzazione ai dimostranti perché essi [temevano/giustificavano] la violenza

L’esempio suddetto è noto come “Schema di Winograd“: com’è quasi immediatamente chiaro a un qualsiasi lettore umano, la scelta di uno dei due verbi tra parentesi quadre cambia l’attribuzione del pronome “essi” ai consiglieri o ai dimostranti. Quindi, sciogliere l’ambiguità di uno schema del genere è impresa semplice per un essere umano, ma può rivelarsi difficile o, in alcuni casi, addirittura impossibile per una macchina.

A meno che la macchina non sia munita di tutte le “conoscenze” che sono di comune dominio per un essere umano sui possibili esiti di un corteo di dimostranti o sulla proverbiale prudenza degli amministratori cittadini. In quel caso, anche una macchina sarebbe in grado di associare correttamente i verbi e risolvere qualunque ambiguità insita nello schema.

Per dare un’idea di quanto gli schemi di Winograd possano richiedere capacità di analisi assai “profonda”, basti pensare che un ricercatore dell’Università di Toronto, Hector Levesque, ha proposto una riformulazione del test di Turing (il cui scopo è verificare la presenza di intelligenza in una macchina) basato appunto sugli schemi di Winograd. In altri termini, per Levesque una macchina può essere considerata intelligente se riesce a risolvere schemi di Winograd con complessità progressivamente crescente.

Altro esempio:”Frank era perplesso quando Bill disse che lui era risultato vincitore della gara. Chi aveva vinto la gara?”. Ovviamente qui anche un essere umano potrebbe essere tratto in inganno, visto che la stessa semantica, ovvero il “senso”, di quest’ultima frase è ambigua. In effetti Frank può essere perplesso perché crede di aver vinto la gara, e Bill gli sta comunicando invece che lui (Bill) ha trionfato. O viceversa. Quindi quale risposta a questa domanda denoterebbe un comportamento “intelligente”? Esistono quindi schemi sfidanti persino per gli esseri umani.

Un altro caso interessante  è la frase “Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo” proposta dal professor William Rapaport, docente (guarda un po’!) dell’Università di Buffalo, che gioca sui diversi significati nella lingua inglese della parola «buffalo»:

– Buffalo come città statunitense dello stato di New York;
– Buffalo come animale, il bisonte americano (Bison bison). Tale parola al plurale può rimanere invariata, quindi può significare sia «bisonte» che «bisonti»;
– Buffalo come verbo, to buffalo, che significa «sconcertare» e «intimidire».

Quindi una traduzione in italiano potrebbe essere:

Bufali di Buffalo che intimidiscono bufali di Buffalo possono sconcertare [altri] bufali di Buffalo

Ovviamente, per un non anglofono, la frase originale in inglese non può che essere una ripetizione senza alcun senso della parola “Buffalo”. Questo ulteriore esempio dimostra quanto, nella comprensione del linguaggio, siano fondamentali le conoscenze (letterarie, scientifiche, linguistiche etc.) di chi legge o ascolta, l’esperienza sui luoghi comuni, o “modi di dire”, di un linguaggio, l’utilizzo di termini in senso figurato, o simbolico, o ironico, o sarcastico, le caratteristiche peculiari della lingua e dell’alfabeto di simboli utilizzati per formulare le frasi e molto altro che non entrerebbe nel margine esiguo di questa pagina, come direbbe Pierre De Fermat.

Come far fronte, allora, a un problema così complesso e realizzare macchine in grado di sbrogliare qualunque ambiguità linguistica e cogliere il senso di ogni espressione? A tal fine, negli ultimi anni si sta affermando una branca del cosiddetto machine learning (o apprendimento automatico) noto come deep learning, ossia apprendimento approfondito. Si tratta di una disciplina basata su algoritmi in grado di modellare i concetti astratti di alto livello utilizzati nel linguaggio naturale basandosi su delle “architetture” di riferimento.

Tornando al nostro esempio su Il Signore degli Anelli, per utilizzare tecniche di deep learning, la prima cosa da fare sarebbe creare delle strutture, o architetture, che esprimano le relazioni tra i personaggi, i concetti, i luoghi, gli eventi etc., in modo da agevolare il processo di analisi delle espressioni da parte della macchina.
Una di queste strutture-tipo potrebbe essere :

1. Sauron (soggetto) è (verbo) il Signore di Mordor/il creatore dell’Anello/il nemico di Frodo (proprietà/attributi/caratteristiche del soggetto)
2. Sauron (soggetto) ha forgiato (verbo) l’Anello del potere (complemento oggetto)
3. Sauron viene distrutto se l’Anello del potere viene distrutto (espressione condizionale)

e così via.

In questo modo la macchina, “navigando” attraverso queste strutture, sarebbe in grado di sciogliere possibili ambiguità insite nelle domande che le vengono poste e interpretarne correttamente il senso.

Un’obiezione di principio all’affermazione che tali tecniche di deep learning rendano le macchine capaci di interpretare il linguaggio, è che, in realtà, la capacità di analisi che le macchine riescono a raggiungere non dipende che dalla bravura di coloro che hanno modellato le loro strutture “conoscitive”, ossia dai programmatori umani. O dalla gran mole di dati sullo scibile umano che gli stessi algoritmi raccattano in giro per la rete, sempre grazie alle brillanti intuizioni di chi ne ha concepito le modalità di ricerca.

Appare a questo punto evidente quanto sia arduo scindere l’analisi del linguaggio, la capacità di comprensione del parlato o dello scritto, dalla necessità di modellare la conoscenza e la coscienza umana. A questo proposito, il filosofo e matematico David Chalmers dell’Australian National University ha formulato l’esistenza di due principali problemi, o ostacoli, nel campo della modellazione della coscienza. Il primo è noto come “Problema facile” e consiste nel trovare una correlazione tra la nostra coscienza e la “materia” che costituisce la nostra mente, ossia neuroni, impulsi elettrici, cellule connettivali e così via.

Secondo Chalmers, il progresso scientifico e tecnologico renderà possibile descrivere in dettaglio questa correlazione senza grossi ostacoli. Per esempio, in corrispondenza di ogni specifica attività di un essere umano, come dipingere, risolvere problemi aritmetici, leggere un libro etc., secondo Chalmers dovrebbe essere possibile senza difficoltà insormontabili “mappare” l’attività stessa in termini di “operazioni” svolte dalle cellule che costituiscono il nostro sistema nervoso.

Ben altra portata ha, invece, il cosiddetto “Problema difficile”, ossia: come fanno gli esseri umani ad avere consapevolezza di loro stessi e di quello che fanno? Ovvero, come si spiega il loro esser capaci di avere esperienza, di “sentire” o “percepire” loro stessi mentre pensano o fanno altro? In sostanza, per Chalmers, prima di affrontare qualunque problema connesso con la coscienza, compreso quello del linguaggio, è fondamentale arrivare alla risoluzione del più difficile dei problemi, ovvero trovare una giustificazione della capacità dell’uomo di avere consapevolezza di sè e di ciò che lo circonda.

In effetti, rispetto alle macchine ci troviamo al momento a recitare il ruolo della Sfinge, che sottopone Edipo a enigmi intricatissimi a cui egli deve rispondere per non essere divorato. Quando interroghiamo il nostro Edipo di silicio, tuttavia, dovremmo provare anche a sottoporre noi stessi a una nuova versione dell’antico enigma della Sfinge:

Qual è l’essere che cammina ora a quattro gambe, ora a due, ora a tre che, contrariamente alla legge generale, più gambe ha più mostra la propria debolezza?

che potrebbe suonare più o meno così:

Qual è l’essere che fa, riflette su ciò che fa, ma non sa perchè è in grado di riflettere su ciò che fa?

Forse non sarete sorpresi nel verificare che le due versioni dell’enigma hanno la stessa soluzione. Provate adesso a spiegare il difficilissimo perché contenuto in questa nuova formulazione. E fate attenzione, perché mentre giocate a fare la Sfinge, un’altra Sfinge potrebbe aver già messo il suo Occhio su di voi.

Leggi anche: Tutti i modi per interagire con le macchine

Pubblicato con licenza Creative Commons Attribuzione-Non opere derivate 2.5 Italia.   
Crediti immagine: Stallio, Flickr

Gianpiero Negri
Laureato in Ingegneria Elettronica, un master CNR in meccatronica e robotica e uno in sicurezza funzionale di macchine industriali. Si occupa di ricerca, sviluppo e innovazione di funzioni meccatroniche di sicurezza presso una grande multinazionale del settore automotive. Membro di comitati scientifici (SPS Italia) e di commissioni tecniche ISO, è esperto scientifico del MIUR e della European Commission e revisore di riviste scientifiche internazionali (IEEE Computer society). Sta seguendo attualmente un corso dottorato in matematica e fisica applicata. Appassionato di scienza, tecnologia, in particolare meccatronica, robotica, intelligenza artificiale e matematica applicata, letteratura, cinema e divulgazione scientifica, scrive per Oggiscienza dal 2015.

7 Commenti

  1. Purtroppo anche in questo articolo con informazioni tradotte si fa confusione tra lingua e linguaggio, entrambi language in inglese.
    Il linguaggio è la facoltà, tipica degli esseri umani, di apprendere un sistema di segni vocali con il quale produrre atti linguistici per esprimersi e comunicare. La lingua invece è un sistema di segni vocali, un insieme di convenzioni fonetiche, morfologiche, sintattiche e lessicali che regolano gli atti linguistici all’interno di una comunità etnica, politica o culturale.
    Gli esempi di frase nel testo sono specifici di una lingua (nel testo originale la lingua inglese), non di un linguaggio.

    1. Salve Licia,

      la ringrazio per la sua segnalazione.
      Vorrei solo chiarire che, pur trovando interessante e opportuno il suo chiarimento sull’uso dei termini, nella comunità scientifico-accademica si utilizza comunemente il termine “linguaggio” per identificare l’oggetto della elaborazione del calcolatore descritta nell’articolo.
      In effetti, come riportato ad esempio qui:

      https://it.m.wikipedia.org/wiki/Elaborazione_del_linguaggio_naturale

      “L’Elaborazione del linguaggio naturale, detta anche NLP (dall’inglese Natural Language Processing, elaborazione lingua naturale), è il processo di trattamento automatico mediante un calcolatore elettronico delle informazioni scritte o parlate in una lingua naturale.

      Questo processo è reso particolarmente difficile e complesso a causa delle caratteristiche intrinseche di ambiguità del linguaggio umano. Per questo motivo il processo di elaborazione viene suddiviso in fasi diverse, tuttavia simili a quelle che si possono incontrare nel processo di elaborazione di un linguaggio di programmazione:

      analisi lessicale: scomposizione di un’espressione linguistica in token (in questo caso le parole)
      analisi grammaticale: associazione delle parti del discorso a ciascuna parola nel testo
      analisi sintattica: arrangiamento dei token in una struttura sintattica (ad albero: parse tree)
      analisi semantica: assegnazione di un significato (semantica) alla struttura sintattica e, di conseguenza, all’espressione linguistica

      Nell’analisi semantica la procedura automatica che attribuisce all’espressione linguistica un significato tra i diversi possibili è detta disambiguazione”

      Quindi, nell’ambito in questione, è comunemente in uso il termine “linguaggio” come oggetto dell’ analisi lessicale, semantica, sintattica o grammaticale da parte di un elaboratore elettronico.

      Di seguito un link alla pagina dell’ Università di Pisa relativa alla tematica:

      http://www.di.unipi.it/~cappelli/processi.html

      Si possono consultare i due riferimenti:

      – Analisi semantica nel trattamento automatico del linguaggio naturale, Luisa Colucci (pdf)
      – Rappresentazione del significato nel trattamento automatico del linguaggio naturale, Stefano Cataudella (pdf)

      per convincersi di come tale espressione sia comunemente in uso nella stragrande maggioranza della comunità scientifica e accademica.

      Altro link:

      http://www.deib.polimi.it/ita/personale/details/359120

      alla pagina di una docente che si occupa della tematica e, appunto, il suo corso è denominato:

      “Elaborazione del Linguaggio Naturale”

      E ancora:

      http://data.cnr.it/data/cnr/individuo/prodotto/ID64503

      Posso concordare con lei sulla necessità di disambiguazione tra due termini descrittivi di concetti differenti, ma come può constatare, la sua obiezione dovrebbe essere rivolta non solo a questo articolo, ma alla quasi totalità della comunità scientifica italiana che si occupa delle tematiche descritte.
      Cordialità.

Rispondi

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

%d blogger hanno fatto clic su Mi Piace per questo: