Ludovica Pannitto e Malvina Nissim
Università di Trento, CIMeC e Università di Groningen, CLCG
“Alexa, ho fame. C’è un indiano nelle vicinanze?” (ops, avrà capito che intendo un ristorante e non proprio un indiano?) “Ecco alcuni dei ristoranti più vicini. [...] Puoi chiedermi informazioni su ciascuno di questi, come il numero di telefono, gli orari di apertura o l’indirizzo” (Ha capito! Ma come ha fatto?)
Alexa (e come lei Siri, Cortana e gli altri assistenti vocali) ha risolto un problema linguistico: è riuscita a capire che la parola indiano, che è ambigua, si riferisce a un tipo di ristorante e non a una persona. Un tipo di ‘problema’ che noi parlanti siamo in grado di affrontare e risolvere inconsapevolmente ogni volta che utilizziamo le lingue.
La conoscenza linguistica è insomma un aspetto fondamentale della nostra quotidianità e comprende non solo il significato delle parole, ma anche le strutture grammaticali di una lingua, i contesti in cui è adeguato utilizzare alcune espressioni piuttosto che altre, ed ha a che fare persino con l’identità di ognuna e ognuno di noi.
È per questo che tantissime delle nuove tecnologie si basano proprio sulla rappresentazione e l’uso di questo tipo di conoscenza, e che c’è bisogno di linguiste e linguisti per progettarle. Non si tratta soltanto di assistenti vocali, ovviamente: per restare in ambito quotidiano, pensate a traduttori automatici come Google Translate, ai modelli che ci suggeriscono la parola successiva da inserire nei messaggi che scriviamo, e ai motori di ricerca, che non si limitano più a fornire solo una serie di link utili ma estraggono e rielaborano anche le informazioni in loro possesso per proporre direttamente una risposta al nostro quesito. A questi si aggiungono anche i recommender system (sistemi di raccomandazione), che imparano a consigliarci nuovi contenuti o nuove opportunità di acquisto non solo sulla base delle nostre attività precedenti, ma anche sulla base di quello che scriviamo e di come lo scriviamo.
La scienza alla base degli sviluppi tecnologici legati alla lingua è la linguistica computazionale, il cui obiettivo è quello di sviluppare modelli di conoscenza linguistica, sufficientemente precisi per poter essere elaborati da un computer.
Alexa, quindi, per interpretare correttamente la frase iniziale, ha usato un ‘modello’: dobbiamo immaginarlo come una rappresentazione astratta o simbolica della conoscenza linguistica, sulla base di cui si possono fare predizioni.
I modelli non sono usati solo in ambito linguistico, ma ci aiutano a predire fenomeni di ogni tipo: le previsioni meteorologiche hanno alla base la rappresentazione dello stato atmosferico attuale come una combinazione di parametri quali la temperatura, la velocità e direzione del vento ecc., grazie ai quali, attraverso simulazioni, provano a stabilire quale sia lo scenario più plausibile per i giorni successivi. Sono modelli anche quelli che ci permettono di predire l’evoluzione di un’epidemia, costruiti utilizzando parametri come il numero di infetti, la densità di popolazione, e i test effettuati. I parametri alla base del modello a disposizione di Alexa sono vari: tra i più intuitivi pensiamo al contesto d’uso della parola indiano (in associazione a parole come fame, per esempio).
La creazione del modello è compito della o del linguista computazionale, che può agire in due modi diversi.
Può darsi infatti che si conosca la regola che sottende a un particolare fenomeno linguistico. Ad esempio possiamo insegnare ad Alexa quali sono le parole che indicano popoli o nazionalità (indiano, cinese, italiano e così via), e fornirle una rappresentazione di contesti in cui interpretarli: possiamo allora scrivere esplicitamente una regola e, se nella frase compaiono parole come fame, mangiare, ristorante, cibo, cucina ecc., verranno interpretate come aggettivi associati a un tipo di cucina.
Quest’approccio però, se da un lato ci restituisce con estrema trasparenza il processo decisionale di Alexa, dall’altro risulta poco flessibile, per motivi sia pratici che teorici.
Dal punto di vista pratico, codificare manualmente tutti i casi d’uso di tutte le parole di una lingua è un lavoro lungo e dispendioso, e non necessariamente semplice da eseguire, anche perché non sempre i parlanti sono d’accordo sui giudizi che forniscono: per esempio, in uno studio in cui è stato chiesto a 13 parlanti di dire se due termini fossero sinonimi, strano e bizzarro sono stati ritenuti tali da 8 di loro ma non dagli altri 5.
Il problema maggiore resta però quello teorico: la lingua non è sempre descrivibile come un insieme di regole da seguire. Noi parlanti siamo creativi, innoviamo continuamente, e spesso in maniera inconsapevole. Comprendiamo facilmente frasi come Stasera ho voglia di mangiare indiano, o Quest’estate ho letto Shakespeare, ricostruendo senza grossi problemi che ci stiamo riferendo a i libri di Shakespeare e al cibo indiano. Ma, senza fare salti mortali, capiamo anche Ho divorato i russi, quest’estate.
Quante regole dovremmo scrivere per insegnare ad Alexa ad interpretare russi come i libri scritti da autori di nazionalità russa?
E quante ne dovremmo scrivere per coprire tutti i possibili esempi, anche quelli che nascono giorno dopo giorno (Certo che il giapponese è super instagrammabile)? E le conosciamo veramente tutte?
Le regolarità della lingua non sono sempre visibili o comprensibili.
Quello che però abbiamo a disposizione è una grande quantità di dati che descrivono il comportamento linguistico delle e dei parlanti quando si trovano a dover interpretare frasi di questo genere.
Ciò che forniamo ad Alexa in questo caso è, quindi, una grandissima collezione di esempi, e un metodo, cioè un algoritmo e dei parametri, per estrarre dagli esempi pattern significativi, senza formalizzare istruzioni esplicite.
Viene così prodotto un modello, che è ciò che Alexa può usare per interpretare la nostra richiesta. A seconda del problema da risolvere e degli esempi che forniamo, vengono creati modelli diversi (nel caso di Alexa, ci sarà un modello che le permette di interpretare le richieste, un altro che le permette di tradurre eccetera).
In questo modo possiamo costruire applicazioni sempre più accessibili, con cui sia facile interagire perché sono in grado di comprendere i nostri comandi e ci forniscono risposte usando la nostra stessa lingua.
Ma non solo: avere un modello della conoscenza linguistica permette anche alle ricercatrici e ai ricercatori di studiare fenomeni legati alla lingua partendo dal fatto che l’uso (anche inconsapevole) che ne fanno le parlanti e i parlanti possa far emergere aspetti interessanti. Per esempio: è vero che le persone scrivono in modo diverso a seconda del loro genere? Se un sistema automatico è in grado di distinguere questo tratto con una precisione dell’80%, forse sì. E allora possiamo chiederci cosa vuol dire che scrivono diversamente, se ad esempio usano parole diverse o forse strutture diverse, o se fanno un diverso uso dei contesti comunicativi.
L’analisi computazionale della lingua è diventata un metodo consolidato anche in ambiti meno applicativi, prettamente legati alla ricerca linguistica. Rispetto al metodo sperimentale tradizionale (in cui la formalizzazione delle regole che una lingua rispetta, cioè la grammatica, si basa su teorie linguistiche e intuizioni delle e dei parlanti), i modelli computazionali aprono infatti a nuove possibilità.
Da un lato perché permettono di replicare il processo appena descritto su più larga scala, analizzando e producendo enormi quantità di dati non gestibili manualmente o non collezionabili ricorrendo solamente alle intuizioni dei singoli. Dall’altro, perché i modelli predittivi appresi automaticamente permettono al o alla linguista di avere una rappresentazione dell’uso effettivo che si fa della lingua, e che non necessariamente rispetta le regole che tutti conosciamo, offrendo quindi una prospettiva diversa perché meno legata a formalizzazioni teoriche elaborate a priori.
La combinazione di approcci tradizionali e computazionali alla ricerca linguistica può dunque fornire una visione più completa del sistema di una lingua.
Le metodologie linguistico-computazionali sono inoltre impiegate in altri campi di ricerca che prevedono analisi su grande scala di come le persone usano la lingua, quali la sociologia, la psicologia, gli studi giuridici, l’analisi letteraria o la filologia. Anche qui la linguistica computazionale può offrire sia nuovi punti di vista che strumenti di analisi aggiuntivi. Per esempio, può aiutare nell’attribuzione (ovvero, nell’identificazione dell’autrice o dell’autore) di testi o di frammenti anonimi: un caso di recente interesse pubblico è quello di Elena Ferrante, sulla cui identità sono state formulate innumerevoli ipotesi, anche grazie ad analisi quantitative dei suoi scritti e di quelli dei principali ‘indiziati’.
Resta da chiedersi se questi modelli appresi automaticamente funzionino, e valutarli. È brava Alexa? Google Translate funziona bene?
Se tradizionalmente la valutazione soggettiva del o della linguista e il confronto con la lingua prodotta dai parlanti sono i metodi consolidati per la valutazione della bontà di una grammatica, nel caso dei modelli statistici la questione è più complessa.
Anche nella linguistica computazionale si usa certamente il confronto con le scelte delle e dei parlanti, ma si adottano anche metriche specifiche per monitorare la performance e il miglioramento dei modelli nel tempo e a seconda delle scelte fatte in fase di creazione.
È importante sottolineare che il confronto con le performance umane non è sempre possibile né equo: nel caso del modello in grado di predire il genere di chi scrive, l’algoritmo potrebbe scovare pattern a cui noi umani non facciamo caso, e desideriamo anzi che la performance sia migliore di quella di un parlante. Una persona infatti potrebbe non essere in grado di risolvere questo task perché, per esempio, quando leggiamo noi umani non cerchiamo di cogliere le caratteristiche di chi scrive.
Nel caso di un traduttore automatico il confronto con gli umani non è necessariamente equo: quando chiediamo a un traduttore o una traduttrice professionista di eseguire una traduzione, non sono solo competenze linguistiche quelle che vengono utilizzate, ma entrano in gioco questioni stilistiche o la conoscenza del mondo culturale o concettuale di chi scrive, tutti aspetti che è al momento impossibile mettere a disposizione di una macchina. Inoltre, ci sono elementi di soggettività che possono rendere le valutazioni umane molto diverse tra di loro (traduzioni diverse possono essere ugualmente accettabili in contesti o per scopi diversi), e quindi non utilizzabili come riferimento per giudicare la bontà di un sistema.
Più in generale, comunque, bisogna essere cauti nell’aspettarsi magie dalle tecnologie linguistiche, nonostante gli enormi progressi degli ultimi anni. Non soltanto perché la linguistica computazionale è una scienza relativamente giovane, nata dopo il secondo dopoguerra e quindi ancora in pieno sviluppo, ma soprattutto perché molti aspetti della comunicazione linguistica umana si basano sulla conoscenza del mondo, sul non detto, e sull’interazione di diversi piani comunicativi (la combinazione per esempio di lingua e gesti), e non sono riproducibili automaticamente. Non adesso, e sicuramente non nel prossimo futuro. Per esempio, cogliere e tradurre espressioni idiomatiche per un computer è difficile, come è molto difficile capire che un commento è ironico, o che un termine è usato metaforicamente.
Come in tanti altri campi, dunque, la tecnologia linguistica può e deve essere vista come un sostegno e non un sostituto alle nostre attività quotidiane, e anche come strumento nella ricerca in campo linguistico e in tutti i campi che si occupano di analizzare su larga scala la comunicazione linguistica.
0 Commenti
Lascia un commento