Un “chatbot” in lingua portoghese è un programma in grado di comprendere e analizzare una conversazione in portoghese. Oggi questi chatbot possono sostenere un dialogo molto fluido tra umani e computer.

Creare un chatbot in portoghese con IA

Il portoghese è la sesta lingua più parlata al mondo, metà dei parlanti si trova in Brasile, e nonostante la sua vicinanza a tutte le lingue latine, presenta due particolarità notevoli:

  • Esistono numerosi falsi amici, ovvero parole che sembrano simili ma hanno significati diversi. In pt_PT, propina significa pagamento mensile, mentre in pt_BR è una tangente. Anche all'interno del Brasile il significato delle parole può cambiare: nel nordest, "cabra" indica un uomo, mentre nel resto del paese si usa solo per l'animale.
  • L’uso intensivo dei contesti rende molto complesso il lavoro di interpretazione di un chatbot in portoghese. La parola "chega" può essere un verbo ("lei arriva domani") o una richiesta di interruzione ("basta con questa conversazione").

Inoltre, ci sono espressioni idiomatiche completamente diverse tra i parlanti dei vari paesi, il che rende a volte difficile capire anche intere frasi.

Queste particolarità rendono difficile il lavoro di una chat in portoghese? Non sorprende, la risposta è sì.

Chatbot in portoghese: sfide del PLN

Quanto sopra pone delle sfide per l’NLP nei chatbot in portoghese. Il primo passo per qualsiasi algoritmo di elaborazione del linguaggio naturale è comprendere la lingua, cioè analizzare le frasi in piccole unità di significato, o "token". Questa attività si chiama "tokenizzazione" (tra l’altro, una caratteristica del portoghese brasiliano è l’uso di parole straniere adattate). Quindi, più la lingua è sistematica e ordinata, più facile sarà la tokenizzazione.

Prima di poter capire cosa significano i recenti progressi dell’NLP, dobbiamo comprendere come sono stati creati i modelli di comprensione NLP.

In passato

In un certo senso, capire come viene creato un chatbot in portoghese (o in qualsiasi lingua) significa fare un viaggio nel tempo.

Le prime ricerche per affrontare l’imprevedibilità del linguaggio risalgono agli anni ’40, con gli articoli del neuroanatomista e psichiatra Warren McCulloch del MIT e del matematico Walter Pitts dell’Università dell’Illinois. Essi gettarono le basi teoriche che permisero a John von Neumann di scrivere “The General and Logical Theory of Automata”, alla fine degli anni ’40.

I progressi che hanno consentito ai computer di avere sempre maggiore potenza di calcolo hanno costituito l’altro pilastro che ha portato la ricerca NLP dai laboratori scientifici a quelli aziendali e agli enti pubblici impegnati nell’applicazione quotidiana delle nuove tecnologie.

La storia dell’NLP, nello specifico, inizia davvero negli anni ’50, quando Alan Turing pubblicò l’articolo “Computing Machinery and Intelligence”, proponendo quello che ora è noto come Test di Turing come criterio di intelligenza.

A partire dalla fine degli anni ’80, tuttavia, c’è stata una rivoluzione nell’NLP con l’introduzione di algoritmi di apprendimento automatico per l’elaborazione del linguaggio. Questo grazie sia all’aumento costante della potenza di calcolo sia al graduale declino delle teorie linguistiche “chomskiane”, i cui fondamenti teorici scoraggiavano il tipo di corpus linguistico alla base dell’approccio di apprendimento automatico al trattamento del linguaggio. Questa automazione veniva raggiunta suddividendo le frasi in blocchi più piccoli e applicando regole statistiche per catalogare e identificare le relazioni tra questi blocchi. Questo processo si chiama “tokenizzazione”, già descritto sopra.

Tuttavia, il lavoro di tokenizzazione di una lingua richiedeva molta attività manuale da parte del ricercatore NLP. Ogni lingua doveva essere tokenizzata in modo indipendente e sostanzialmente manuale.

Questo lavoro era particolarmente difficile per i bot che gestiscono lingue altamente contestuali, come si può immaginare.

Una volta tokenizzata la lingua, si potevano applicare algoritmi di IA per comprenderla, cioè costruire una mappa di significato su come le parole si relazionano tra loro.

Questa fase di comprensione poteva essere automatizzata se la tokenizzazione era affidabile. Il problema, però, era che la tokenizzazione era complessa e quindi anche gli algoritmi di comprensione dovevano essere configurati manualmente insieme alla tokenizzazione.

E il risultato finale non era soddisfacente. Ad esempio, il livello di comprensione del portoghese rispetto all’inglese era mediocre. Ovviamente c’è sempre stato molto più interesse nella ricerca sull’inglese che sul portoghese, ma la difficoltà di gestire la contestualizzazione del portoghese rendeva difficile ottenere buoni risultati.

Come fanno naturalmente i ricercatori di IA, si sono chiesti se la tokenizzazione stessa potesse essere affidata al machine learning. Questo avrebbe permesso agli algoritmi di tokenizzazione e comprensione di diventare indipendenti dalla lingua di partenza (detto agnostico rispetto alla lingua) e quindi avrebbe reso l’addestramento dell’IA in una lingua molto più rapido ed efficace.

Progressi recenti nell’Intelligenza Artificiale

Ed è stato a questo punto che l’innovazione è arrivata alla fine del 2018: l’IA poteva essere addestrata in portoghese senza alcun intervento manuale e, di conseguenza, le prestazioni del PLN sono migliorate molto.

Le piattaforme IA per chatbot in portoghese sono così diventate immediatamente molto migliori e la comprensione risultante in portoghese è stata simile al livello raggiunto con altre lingue.

Il fatto che questo progresso sia avvenuto non significa che la qualità generale dei chatbot in portoghese sia migliorata istantaneamente. Perché questi benefici fossero percepiti dai clienti, il primo passo per le piattaforme di chatbot IA è stato aggiornare i loro algoritmi alle tecnologie più recenti.

Dato l’investimento nella tecnologia precedente, non è qualcosa che queste piattaforme hanno fatto rapidamente.

Piattaforma multilingue

Lavorare con più lingue sulle varie piattaforme di mercato può essere complicato. Alcune piattaforme richiedono che i chatbot in lingue diverse siano creati come bot separati, il che ovviamente non è efficiente in termini di scalabilità e manutenzione.

Perciò, una buona piattaforma deve essere davvero multilingue e permettere più traduzioni dello stesso contenuto nell'interfaccia utente.

Inoltre, la lingua deve essere impostata come variabile della conversazione, così che l'AI possa rilevarla con precisione e i designer possano costruire la logica attorno a questa variabile.

Oltre alle funzionalità specifiche per la lingua, per creare un ottimo chatbot in qualsiasi lingua, anche le funzionalità generali della piattaforma devono essere eccellenti. Ci sono due categorie di funzionalità importanti.

  • La prima è la tecnologia generale di comprensione del linguaggio naturale (o, come detto sopra, l’algoritmo NLP). Una piattaforma performante non sarà solo indipendente dalla lingua, ma l’algoritmo NLP sottostante utilizzerà la tecnologia più recente e funzionerà bene in generale. È importante che la piattaforma abbia funzionalità NLP come il riempimento degli “slot” (informazioni da estrarre da un contesto per comporre un set di dati in formato chiave/valore) e il matching delle intenzioni guidato dal contesto della conversazione.
  • La seconda categoria è la funzionalità generale della piattaforma. Deve permettere ai designer di creare facilmente esperienze chatbot estremamente soddisfacenti per gli utenti finali, inclusa l’integrazione semplice con sistemi legacy e di terze parti. Se non offre questa funzionalità o non è facile da usare, non importa se è in portoghese o meno.

Infine, la qualità dell’esperienza chatbot offerta all’utente finale è direttamente legata alla potenza dello strumento utilizzato per crearla, dalla comprensione linguistica all’approccio all’interfaccia grafica/testuale.

Costruire il miglior chatbot in portoghese

Anche con una buona piattaforma, ci sono ancora sfide nella creazione di un chatbot in portoghese. Esistono pochi studi in portoghese nel campo dell’IA e quindi trovare le risorse giuste per lavorare su un progetto può essere piuttosto impegnativo.

Anche se non è necessario trovare risorse per scrivere gli algoritmi di base del NLP, poiché sono già disponibili, può essere difficile trovare designer competenti che comprendano le differenze idiomatiche tra i vari gruppi che il chatbot in portoghese dovrà servire. Questo è particolarmente vero per la lingua portoghese, dato l’ampio uso di espressioni idiomatiche contestuali.

Per questo è importante che la piattaforma chatbot consenta di aggiornare e mantenere facilmente contenuti e traduzioni anche da parte di non tecnici, poiché è probabile che designer e sviluppatori non padroneggino gli aspetti culturali delle varie manifestazioni della lingua portoghese.

Ovviamente, il fatto che i chatbot di alta qualità in portoghese stiano diventando più precisi significa che l’adozione di questa tecnologia aumenterà nei prossimi anni. Questa crescita risolverà i problemi di risorse e permetterà ai potenziali acquirenti di avere un’idea chiara delle best practice per ottenere i migliori risultati.

Sommario

Le innovazioni nella tecnologia NLP non si applicano solo ai chatbot in portoghese, ma anche ad altre applicazioni di IA. Ora vediamo sistemi multifunzionali che utilizzano l’IA in lingua portoghese in modi diversi, dall’analisi del sentiment su notizie e commenti, al riassunto o alla generazione di testi che prima potevano essere fatti solo da esseri umani. In genere, un chatbot in portoghese viene usato come interfaccia utente non solo per diverse tecnologie di IA, ma anche per aiutare gli utenti finali a utilizzare altri sistemi, come siti web o applicazioni web, oppure come consulente per acquisti e decisioni.

Naturalmente, anche se c’è stato un grande salto nella potenza dell’NLP in portoghese, i risultati possono sempre migliorare. La ricerca continua a perfezionare i motori NLP e senza dubbio ci saranno nuovi progressi. Finché l’NLP non raggiungerà livelli umani, ci sarà sempre lavoro da fare.

Il prossimo passo per tutti i motori NLP, indipendentemente dalla lingua, è migliorare la gestione dei dialoghi multi-turno. Questo significa permettere a una persona di avere una conversazione articolata in più passaggi con il bot su un argomento specifico, invece di limitarsi a dare comandi o fare domande. E il prossimo passo per le piattaforme chatbot è semplificare la creazione di dialoghi multi-turno.

Il dialogo multi-turno è particolarmente importante per le interfacce vocali come Alexa o dispositivi come Google Home.

Pur avendo discusso dei progressi nella tokenizzazione guidata dal machine learning e delle implicazioni per l’NLP in portoghese, un tema correlato è la trascrizione da voce a testo in portoghese. La trascrizione vocale in portoghese è ancora in evoluzione rispetto ad altre lingue, anche se le differenze di prestazione stanno diminuendo rapidamente. Ci auguriamo che i progressi dell’NLP descritti qui e in corso nel mondo aiutino a ridurre ulteriormente questo divario nel prossimo futuro.