Questo sito web utilizza cookie tecnici e, previo Suo consenso, cookie di profilazione, nostri e di terze parti. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsente all'uso dei cookie. Leggi la nostra Cookie Policy per esteso.OK

Semantica distribuzionale

Intelligenza artificiale e comprensione del linguaggio: a che punto siamo

La padronanza e la comprensione del linguaggio non sono ancora roba da macchine, nonostante i progressi e i buoni risultati ottenuti con la semantica distribuzionale. Ecco cosa manca ancora

29 Mar 2019
Guido Vetere

Università degli Studi Guglielmo Marconi


Tra le facoltà cognitive umane che l’Intelligenza Artificiale (IA) cerca di riprodurre in silicio, quelle legate al linguaggio sono le più interessanti e le più sfidanti: la padronanza del linguaggio (cioè la sua piena comprensione) appare infatti, a tutt’oggi, al di fuori della portata delle macchine, nonostante alcune applicazioni di successo, ad esempio nel campo della traduzione automatica e degli assistenti virtuali.

Questa tensione tra interesse e sfida rende il trattamento automatico del linguaggio (chiamato in genere con l’acronimo inglese NLP, Natural Language Processing) una delle discipline più affascinanti dell’IA, sia per le implicazioni filosofiche (fu Wittgenstein a dire che i problemi filosofici sono in fondo problemi linguistici), sia per le applicazioni pratiche, visto che la vita sociale, compresa quella economica (nonché, secondo alcuni, la vita psichica), è fatta di linguaggio.

Oggi, negli ambienti informatici si fa strada la semantica distribuzionale che sembra funzionare bene in molte applicazioni. Le macchine, tuttavia, sono ancora ben lontane dal riuscire a comprendere il significato di una frase.

NLP, empirismo e razionalismo

Come tutta l’IA, anche il NLP è attraversato da una inestinguibile contesa tra metodi empiristici e razionalistici, anzi si può ben dire che nell’approccio al linguaggio tale dialettica si dispiega in modo esemplare, riflettendo puntualmente le eterne dispute sulla facoltà più caratteristica della specie umana. Tutti sono d’accordo sul fatto che gli atomi del linguaggio, le parole, siano suoni o grafie che stanno per qualcos’altro (aliquid stat pro aliquo, si diceva nel Medioevo) e che la loro comprensione (interpretazione) consista nel giungere da un versante manifesto (il significante) ad uno recondito (il significato) attraversando un ponte chiamato semantica. Tuttavia, sulla natura di questo ponte, di cosa sia fatto, come si costruisca e si manutenga, in qual modo si attraversi, il pensiero umano ha formulato e continua a formulare le più varie ipotesi.

Gli informatici chiamati ad affrontare i compiti pratici delle loro applicazioni (task), il ponte della semantica devono comunque attraversarlo, sia pure a tentoni nella nebbia più fitta. I recenti progressi del Machine Learning (apprendimento automatico) ottenuti con le Deep Neural Network (reti neuronali profonde) inducono oggi molti di loro a credere che il problema si possa risolvere fornendo alle macchine sufficienti volumi di dati. Tale speranza non appare, come vedremo, del tutto infondata, ma è comunque relativa al task specifico che l’informatico deve affrontare, e di sicuro non tiene tutto il campo delle possibili applicazioni. Saper valutare l’adeguatezza di un metodo NLP relativamente al task è la chiave del successo dei progetti di IA che hanno a che fare col linguaggio.

Machine learning e semantica distribuzionale

L’idea di fondo del NLP “neuronale” è quella di sbarazzarsi in qualche modo della semantica. C’è da dire che mettere la semantica da parte non è una stravaganza degli informatici: molti linguisti dei secoli scorsi l’hanno fatto più o meno apertamente, fra tutti basti il nome di Chomsky. Ed in effetti, le tecniche oggi in voga nel NLP si fondano su una delle più classiche strategie di evitamento del problema del significato: l’ipotesi distribuzionale.

Questa afferma che vi sia una relazione tra il significato delle parole e il modo in cui esse si distribuiscono (cioè occorrono e si si combinano) nei testi. Detta così, l’ipotesi distribuzionale sembra un’ovvietà: la formulazione secondo cui le “le parole simili nel significato appaiono negli stessi contesti”, è in effetti nient’altro che la constatazione che possiamo usare i sinonimi in modo interscambiabile, il che è vero per la definizione stessa di “sinonimo”. II fatto però è che sussiste anche una definizione che inverte i termini della questione: “le parole che occorrono negli stessi contesti hanno lo stesso significato”[1].

WHITEPAPER
Trend AIOPs: come automatizzare l’intera catena del valore digitale? Scarica il white paper!
Intelligenza Artificiale

Si noti che la seconda definizione non deriva affatto dalla prima, anzi rispetto a quella è un errore che i logici segnerebbero con la matita blu: se dico che “tutti gli uomini sono mortali”, non sto affatto dicendo che “tutti i mortali sono uomini”. Eppure, la formulazione “inversa” del principio distribuzionale è quella che maggiormente pervade gli ambienti informatici, dove oggi si assume normalmente la semantica distribuzionale come base per applicare tecniche di Machine Learning. Il motivo è presto detto: poiché la rete ci fornisce terabytes di testi, e computare la loro distribuzione è relativamente facile, risulta matematicamente conveniente approssimare il significato di una parola alla sua distribuzione.

Cosa vuol dire comprendere una frase

Mentre Saussure, padre della linguistica moderna europea, definisce il segno linguistico come l’unità di un significante e un significato, il distribuzionalista pensa che le combinatorie del significante siano sufficienti a creare mappe del significato, e dunque una delle due componenti fondamentali del segno linguistico si possa tralasciare. Un’ipotesi filosoficamente temeraria, ma molto seducente per chiunque abbia un computer sottomano.

Eppure, la semantica distribuzionale funziona bene in molte applicazioni. Dati alla mano, si rileva come essa permetta in effetti di valutare la similarità di significato tra parole e frasi con maggiore accuratezza, robustezza e flessibilità di quanto si potrebbe fare usando vocabolari di sinonimi o altre risorse lessicografiche.

Questa capacità è cruciale per molte applicazioni di Machine Learning, come ad esempio classificatori di testi (come i filtri antispam) o traduttori automatici. Per questo tipo di applicazioni, in effetti, non serve sapere cosa significhino le parole, ad esempio cane e gatto, ma è sufficiente avere una misura della loro similarità dovuta al fatto che occorrono nelle stesse frasi (es. fare le carezze al cane/gatto). Ovviamente non è difficile trovare controesempi: quel tenore è un cane non è affatto simile a quel tenore è un gatto, e in genere si può dire che l’uso metaforico delle parole complichi non poco la vita al distribuzionalista. Tuttavia, con tanti e buoni dati e con i dovuti accorgimenti, oggi le matrici di distribuzione funzionano meglio di qualsiasi dizionario in molti casi pratici.

Comprendere una frase, tuttavia, non ha nulla a che fare col calcolare le sue coordinate in uno spazio combinatorio, bensì consiste nel fornirne una interpretazione sul piano del significato. In molti casi (si pensi ai sistemi conversazionali), questo passaggio si rende necessario, e la semantica distribuzionale da sola non può garantirlo. Bisogna allora far ricorso a modelli di rappresentazione del significato (Abstract Meaning Representation) di cui si parlerà in un prossimo contributo.

____________________________________________________________

  1. Magnus Sahlgren, The distributional hypothesis, Rivista italiana di Linguistica, 2008 (http://www.italian-journal-linguistics.com/wp-content/uploads/Sahlgren.pdf)

@RIPRODUZIONE RISERVATA

Articoli correlati