La comprensione del linguaggio naturale (Natural Language Understanding, o NLU) è senza dubbio la più grande aspirazione dell’Intelligenza Artificiale.
Il test di Turing, che consiste nel verificare la capacità di un automa di fingersi umano nel corso di una conversazione, considerato come criterio di successo dell’intera IA, gira tutto attorno a questo tema. Turing, negli anni ’50, prevedeva che il test sarebbe stato superato attorno all’anno 2000, ma il Loebner Prize, un concorso lanciato nel 1990 proprio per premiare con 100.000 dollari il primo chatbot in grado di farsi scambiare per un essere umano, non è ad oggi ancora stato assegnato, e i premi conferiti ai migliori tentativi non hanno finora superato la soglia dei 3000 dollari.
Questo dà la misura di quanto siamo ancora distanti dall’obiettivo della comprensione automatica del linguaggio e dunque della piena IA: se prendiamo per buoni i criteri di valutazione delle giurie del Loebner Prize, ci troviamo circa al 3% del percorso.
Intelligenza artificiale, la sfida test di Turing
Ma cosa significa, per un automa, “comprendere” il linguaggio naturale? Abbiamo visto in un precedente articolo come l’IA attuale, caratterizzata dall’empirismo dei dati e dalla statistica distribuzionale, si ferma sulla soglia del valutare se due frasi sono semanticamente affini, schivando dunque lo scabroso problema del rapporto tra quelle frasi e il mondo. Ma una cosa come il test di Turing non si può superare con metodi sintattici o statistici: bisogna davvero capire cosa l’interlocutore sta dicendo, e questo, piaccia o no, significa avere un modello di ciò che intende significare. Insomma, bisogna spiegare perché una frase denota un certo stato di cose, e questo (lo spiega bene Judea Pearl) vuol dire parlare di cause, non di correlazioni.
Modellare l’universo mondo dei significati linguistici, tuttavia, è cosa tutt’altro che agevole. Non si tratta tanto di un problema di estensione: in fondo un vocabolario, per quanto voluminoso, ha senz’altro meno voci di un’enciclopedia come Wikipedia, cioè di un’opera che siamo perfettamente in grado di produrre e di gestire. Si tratta piuttosto di capire come il significato possa essere rappresentato dal punto di vista formale, e questo impone, purtroppo, il confronto con temi filosoficamente molto aperti che riguardano la teoria del significato.
Nella quasi secolare storia dell’IA, malgrado il mistero che circonda i significati delle parole, la loro rappresentazione ad uso degli automi ragionanti si è comunque realizzata, anche se per lo più in modo artigianale e sottacendo molti problemi fondamentali. In genere, gli informatici si sono attenuti, e ancora si attengono, alla semantica della logica formale, canonizzata da Alfred Tarski, la quale tuttavia, concepita per linguaggi artificiali come la matematica, frana miseramente a confronto con la semantica linguistica, come Tarski stesso, peraltro, avvertiva. Il problema della semantica logica è che essa risiede in un modulo stabilito a priori per convenzione, nel merito del quale i meccanismi di inferenza non entrano affatto. Viceversa, la semantica linguistica è sempre in gioco nell’uso concreto delle parole, ed è dunque sensibile a situazioni e a soggettività che nessuno sa bene come trasferire negli automi. In ogni modo, con maggiore o minore approssimazione, la rappresentazione astratta del significato (Abstract Meaning Representation), in quanto esigenza insopprimibile, è pratica comune nell’IA, anche in quella attuale che finge talvolta di sbarazzarsi delle rappresentazioni.
Robot e linguaggio naturale, i ruoli semantici
La risorsa semantica più elementare oggi in uso è un tipo di database lessicale chiamato (per antonomasia) wordnet. Una wordnet rappresenta i rapporti di sinonimia (sostituibilità a parità di significato), di iponimia\iperonimia (generalità\specificità tra sensi), ed altre relazioni più “materiali”, come ad esempio quella di “parte”.
Si tratta insomma di un vocabolario dei sinonimi arricchito e pronto all’uso delle macchine, in genere sviluppato, come un dizionario tradizionale, da una redazione lessicografica. Esistono wordnet multilinguistiche comprendenti anche l’italiano, come MultiWordNet o, più recente e innovativa, BabelNet. Sulla base di una wordnet è possibile inoltre modellare le strutture predicative dei verbi, indicandone, per ogni accezione, i tipici ruoli tematici (ad es. agente, paziente, causa, strumento, ecc); si parla in tal caso di una verbnet. L’individuazione dei ruoli semantici all’interno di una frase (Semantic Role Labeling), che consente di distinguere il caso del “cane che morde un uomo” dal caso dell’”uomo che morde un cane” (casi sui quali una rete neurale potrebbe facilmente confondersi) si basa essenzialmente sulla disponibilità di questo genere di risorse lessicali.
Salendo sulla scala della complessità, troviamo le framenet, strutture di rappresentazione ideate da Charles Fillmore per rendere conto del fatto che la produzione e comprensione delle espressioni linguistiche avvengono sempre in riferimento a situazioni specifiche: una partenza, un arrivo, una cena al ristorante. I frame ci dicono che la comprensione di una frase avviene sempre in un contesto e in relazione a come è fatto il mondo, il che però complica alquanto le cose sul piano della rappresentazione.
Linguistica e AI, le applicazioni: gli assistenti virtuali
Più si sale nella scala che va dalla parola, al sintagma, alla frase, al testo, più le cose di cui tener conto nelle rappresentazioni linguistiche si moltiplicano in una combinatoria di cui non sono chiari i contorni, e il divario tra ciò che è disponibile e ciò che sarebbe indispensabile diventa difficile da colmare. Mentre la wordnet inglese ha la copertura di un buon dizionario, verbnet, con i suoi 5000 sensi, arranca dietro alla numerosità dei verbi nel vocabolario di base, e i poco più di 1000 frame di framenet non sappiamo neanche bene a cosa commisurarli, ma sembrano un punto microscopico nel campo sconfinato del dicibile.
La comprensione generalizzata del linguaggio attraverso modelli espliciti sembra dunque ancora un miraggio. Ciò non impedisce tuttavia il conseguimento risultati parziali, per esempio nel settore degli assistenti virtuali o dei sistemi di interrogazione settoriali, dove la codifica delle intenzioni comunicative (intent) degli utenti è onerosa ma fattibile. Il progresso dell’IA è qui legato al miglioramento delle rappresentazioni e delle modalità per l’acquisizione di conoscenza linguistica, ed è dunque cruciale per qualsiasi entità geopolitica dotata di una lingua nazionale dotarsi di risorse linguistiche digitalizzate di buona qualità, disponibili alla ricerca, alle amministrazioni, all’industria e alla società civile. L’Italia non dovrebbe fare eccezione.