Fino a qualche anno fa, l’idea di dialogare con i dispositivi elettronici sembrava pura fantascienza. Oggi, è una realtà: parliamo con smartphone, smartwatch, computer, tablet, smart speaker, automobili e loro ci rispondono. Può sembrare magia, può sembrare che questi strumenti siano dotati di un proprio intelletto, e questo può generare stupore, diffidenza e perfino timore.
Nel libro Intelligenza Artificiale Conversazionale (FrancoAngeli) intendo provare a sbirciare dietro le quinte di questo spettacolo di magia e scopriremo come fa l’intelligenza artificiale a capirci, a risponderci e a eseguire le nostre richieste, e soprattutto quanto lavoro umano è ancora necessario per progettare e implementare questi prodotti. Il settore che si occupa di creare queste tecnologie si chiama Conversational AI, che sta per Conversational Artificial Intelligence, in italiano ‘IA conversazionale’ o ‘intelligenza artificiale conversazionale’. La Conversational AI offre opportunità lavorative variegate e in continua evoluzione, che non riguardano solo chi ha una formazione STEM, ma anche chi ha una formazione umanistica, per almeno due ottime ragioni: per prima cosa, realizzare un oggetto che sia in grado di dialogare in modo naturale e che non risulti artificioso implica una profonda conoscenza delle dinamiche linguistiche che regolano il linguaggio e la conversazione tra persone; inoltre, per creare soluzioni conversazionali non è necessario saper programmare, perché si possono usare software che consentono di configurare tutte le regole tramite interfaccia grafica e quindi senza che sia necessario scrivere codice.
Cos’è la Conversational AI
La Conversational AI è la branca dell’intelligenza artificiale che si concentra sulla progettazione e sullo sviluppo di soluzioni che consentono a persone e oggetti di conversare. Questo settore è relativamente recente, poiché solo negli ultimi anni ci sono stati avanzamenti tecnologici tali da portare gli assistenti conversazionali nelle tasche di (quasi) tutti e tutte, eppure sono già decenni che i ricercatori studiano come dialogare con i computer. L’idea stessa di conversazione tra umano e macchina è nata negli anni ’50 con Alan Turing. Il matematico britannico ideò un test che metteva alla prova la capacità di una macchina di comportarsi in modo tanto intelligente, da essere indistinguibile da un essere umano. Il test di Turing, che ancora oggi è utilizzato per valutare i sistemi conversazionali, consiste nel far interagire una persona con una macchina e con un essere umano, senza dirle quale delle due entità è la macchina: se la macchina riesce a convincere la persona di essere l’umano, allora il test si considera superato.
Storia della Conversational AI
La prima vera interfaccia conversazionale della storia, però, risale al 1966: si chiamava ELIZA e simulava uno psicoterapeuta. Per rispondere usava template predefiniti e spesso si limitava a riformulare le frasi scritte dai suoi interlocutori, ad esempio chiedendo loro di approfondire la risposta fornita. Nei decenni successivi, le tecnologie conversazionali si sono evolute notevolmente, portando alla creazione di soluzioni molto più avanzate, capaci anche di ascoltare, parlare e perfino di partecipare come concorrenti a giochi televisivi, come ha fatto Watson di IBM, che nel 2011 ha vinto una puntata di Jeopardy, un gioco televisivo popolare negli Stati Uniti. L’ultima vera rivoluzione, più recente, è stata ChatGPT, rilasciato a novembre 2022 da OpenAI. Per le sue ottime performance, ChatGPT ha rappresentato un enorme passo avanti nella capacità di simulare le competenze umane necessarie per intrattenere una conversazione e ha trasformato il modo in cui guardiamo ai prodotti conversazionali: risponde a praticamente qualsiasi domanda, formulando in automatico risposte linguisticamente coerenti. Ma cosa accomuna tutti questi prodotti? Cosa li rende interfacce conversazionali, o Conversational AI?
Interfaccia conversazionale è il termine più generico per indicare un qualsiasi oggetto al quale parliamo o scriviamo e dal quale riceviamo una risposta orale o scritta. Sono interfacce conversazionali i chatbot sui siti web, gli assistenti virtuali come Siri, Alexa, Google Assistant, Cortana, Bixby, i sistemi multimediali delle automobili e, potenzialmente, qualunque dispositivo digitale in grado di sostenere un dialogo con le persone. In informatica, un’interfaccia è un sistema che permette di interagire con un’applicazione e di controllarne il comportamento. I primi computer consentivano l’interazione solo tramite interfaccia a linea di comando (Command Line Interface, CLI): le istruzioni venivano fornite in formato testuale e dovevano essere scritte con una sintassi precisa, conosciuta e utilizzata da pochi esperti. I computer moderni consentono l’interazione tramite interfaccia grafica (Graphical User Interface, GUI): le istruzioni vengono fornite per mezzo di elementi visivi come icone, pulsanti, menu e finestre, e per questo possono essere utilizzati da un pubblico molto più ampio. Le interfacce conversazionali (Conversational User Interface, CUI) sono un’ulteriore evoluzione e sono pensate per abilitare l’interazione tramite il mezzo di comunicazione più naturale per l’essere umano: il dialogo. Si distinguono dalle interfacce grafiche perché usano pochissimi elementi visivi: un riquadro in cui digitare l’input, l’icona di un microfono per attivare il riconoscimento vocale, un’icona per chiudere la finestra, dei led luminosi e pochi altri simboli.
Inoltre, si distinguono dalle interfacce a linea di comando perché, oltre a usare le parole sia come input che come output, usano il linguaggio naturale, cioè il sistema di comunicazione che gli esseri umani adoperano per interagire tra di loro e che si declina nelle varie lingue parlate sulla Terra. Questo sistema di comunicazione è complesso e versatile e consente di esprimere in modo efficace anche concetti astratti come idee ed emozioni. Si chiama naturale perché si è sviluppato spontaneamente nel corso dell’evoluzione umana e non è stato creato artificialmente, come invece è accaduto per le lingue artificiali come l’Esperanto, create a tavolino con l’obiettivo di facilitare la comunicazione interculturale, e come è avvenuto per i linguaggi formali, cioè i linguaggi di programmazione e di markup o altri sistemi di codifica, che hanno una struttura molto più rigida, basata su una serie di regole convenzionali che stabiliscono come devono essere combinati i simboli per creare espressioni valide. Infine, le interfacce conversazionali si distinguono dalle altre modalità di interazione che usano il linguaggio naturale perché consentono l’alternanza dei cosiddetti turni di parola.
Quando si digita una richiesta in un motore di ricerca tradizionale, si fornisce un input nella propria lingua e anche le proposte di contenuti che si ricevono come output della ricerca sono scritti nella stessa lingua. Questa interazione, però, non è uno scambio conversazionale, bensì una semplice ricerca web1: la richiesta dell’utente è spesso telegrafica e lontana da una formulazione spontanea e la risposta del motore di ricerca è costituita da un elenco di siti web accompagnati da un titolo e da una breve descrizione. Inoltre, se subito dopo si digita un’altra richiesta, il processo ricomincerà da capo, e le due ricerche non saranno collegate tra loro. Al contrario, se si chiede a un’interfaccia conversazionale la stessa informazione, questa reagirà elaborando il contenuto in forma di risposta e, nella maggior parte dei casi, si potrà proseguire il dialogo per più turni, chiedendo ulteriori approfondimenti collegati alla prima richiesta. A questo punto, torniamo al concetto di IA conversazionale e scomponiamolo per approfondire ciascuno dei suoi componenti: perché si parla di intelligenza artificiale? E quali dinamiche rendono una conversazione tale?
Viaggio nell’Intelligenza artificiale
L’Intelligenza artificiale è la disciplina che si occupa di creare sistemi che svolgono in autonomia compiti che tipicamente richiedono l’intelligenza umana, come il vedere, il parlare, il prendere decisioni. L’espressione è stata coniata dal ricercatore americano John McCarthy nel lontano 1956, tuttavia, questo settore ha visto a lungo l’alternarsi di periodi di entusiasmo e di stasi e solo negli ultimi decenni ha raggiunto risultati davvero soddisfacenti, grazie al potenziamento della capacità computazionale dei computer odierni e alla disponibilità di quantità esorbitanti di dati con cui addestrare i sistemi. Per emulare l’intelligenza umana, l’intelligenza artificiale può utilizzare una varietà di metodi. Le prime soluzioni di AI, e quindi anche le prime interfacce conversazionali, utilizzavano i cosiddetti sistemi esperti (expert systems) basati su regole (rule-based) esplicitamente definite, che tentavano di codificare la conoscenza di esperti umani. L’insieme di regole costituiva la base di conoscenza a cui il motore di inferenza (inference engine) attingeva per eseguire i ragionamenti logici, cioè per eseguire le regole stesse, finché non trovava la soluzione al compito da svolgere.
Oggi, questo approccio è stato in gran parte sostituito o arricchito da quello basato sul machine learning (ML), in italiano ‘apprendimento automatico’. L’obiettivo del machine learning è sviluppare algoritmi che imparino in autonomia dai dati d’esempio, senza che sia necessario definire esplicitamente tutte le regole per far ragionare il sistema. Il cuore di un sistema di ML è il suo modello, cioè la logica di come quel software ragiona e crea output. Il modello viene istruito a identificare le relazioni tra i dati di addestramento, al fi ne di utilizzare le informazioni apprese per fare previsioni statistiche su nuovi dati, che non sono stati utilizzati nel processo di addestramento. I dati usati come esempi nella fase di addestramento costituiscono un training data set, o semplicemente training set, e la loro qualità influenza direttamente le performance del sistema. Il modello diventa tanto più preciso quanto più i dati utilizzati per l’addestramento sono rappresentativi della realtà che si vuole analizzare.
Se, per esempio, i dati non sono abbastanza diversificati, potrebbero portare il sistema a produrre dei bias, cioè dei pregiudizi che fanno sì che il sistema privilegi un punto di vista e ne escluda altri. Un tipo particolare efficace di machine learning è il deep learning, che utilizza reti neurali artificiali, ispirate al funzionamento delle reti neurali biologiche del cervello umano, composte da diversi strati di neuroni artificiali disposti in modo gerarchico, in cui ogni strato riceve input dai livelli precedenti e fornisce output ai livelli successivi. Un tipo di architettura di rete neurale che ha rivoluzionato il campo dell’elaborazione del linguaggio naturale negli ultimi anni è quella basata su transformers, che, a differenza delle architetture precedenti, come i modelli di linguaggio basati su reti neurali ricorrenti (RNN), utilizza un meccanismo chiamato self-attention. Questo meccanismo consente ai transformers di considerare l’importanza relativa di ciascuna parola rispetto alle altre nella frase o nel contesto più ampio. I transformers sono in grado di apprendere rappresentazioni complesse del linguaggio, catturando le relazioni semantiche e sintattiche in un modo che le RNN faticavano a fare. Esistono diversi tipi di modelli di apprendimento automatico.
Due tipi di modelli che utilizzano il deep learning per svolgere compiti diversi sono quelli discriminativi e quelli generativi. I modelli discriminativi vengono usati per classificare, e quindi assegnano un’etichetta ai dati che ricevono come input; un sistema discriminativo, per esempio, può essere addestrato a distinguere le recensioni positive da quelle negative. I modelli generativi vengono usati per creare nuovi dati, simili a quelli di addestramento; un sistema generativo, per esempio, può essere addestrato a scrivere ex novo delle recensioni positive. Come approfondiremo nel libro sulla Conversational AI per realizzare interfacce conversazionali si possono usare sia modelli discriminativi che generativi. E ora che il tragitto è delineato e le basi chiarite, non mi resta che augurarvi un buon viaggio nel mondo dell’intelligenza artificiale conversazionale (o Conversational AI)!
***
Quali sfide attendono la società di domani? Quali sono i rischi e quali le possibilità offerte dallo sviluppo tecnologico? Per la rubrica “Futuro da sfogliare” un estratto del libro Intelligenza Artificiale Conversazionale (FrancoAngeli) di Chiara Martino, esperta al lavoro nel settore dell’Intelligenza Artificiale Conversazionale dal 2017 nonché una delle prime Conversation Designer in Italia. Oggi è co-fondatrice della community Women in Voice Italy e lavora come AI Conversation Designer e Knowledge Engineer, progettando e implementando assistenti virtuali per grandi aziende.