Natural Language Generation

Oggi parliamo di Natural Language Generation, la generazione di linguaggio naturale.

Ti sei mai chiesto come fa ChatGTP a risponderti? Il responsabile delle sue risposte è proprio l’NLG! Si tratta dell’estensione dell’AI che le permette di rispondere in modo esaustivo alle domande degli utenti.

La scorsa volta abbiamo accennato l’argomento mettendo in luce la sua funzione connessa alla comprensione del linguaggio naturale (NLU). Però, come possiamo definire l’NLG in modo più approfondito? A che cosa serve e quali sono i suoi impieghi? Di seguito, rispondiamo a queste domande.

Che cos’è l’NLG?

Il Natural Language Generation è un sottoinsieme dell’NLP. Mentre l’NLP ha il focus sulla comprensione del linguaggio, l’NLG si concentra nella produzione di testo basandosi su alcuni input di dati. Il testo può essere successivamente convertito in un formato vocale attraverso servizi di sintesi vocale. Per esempio, possiamo pensare a un software che ha la capacità di scrivere un articolo, comporre una canzone o di accogliere un utente in un sito tramite chatbot.

Un po’ di storia

Nella seconda metà degli anni ‘60, precisamente nel 1966, Joseph Weizenbaum, scienziato informatico che lavorava per il MIT (Massachusetts Institute of Technology) ha sviluppato ELIZA, un software che faceva la parodia di uno psicoterapeuta rogersiano e, pertanto, capace di comunicare con un essere umano.

Eliza è uno dei primi esemplari di chatbot, anche se senza la parte di intelligenza artificiale. Per rispondere alle domande si basava su pattern e regole prestabilite, senza però comprendere il testo. Eliza, infatti, sostituiva parole chiave in frasi già preparate, oppure modificava la frase di input in output sostituendo solo alcune parole e ripetendo il concetto.

Oggigiorno, invece, le nuove tecnologie, l’AI e le estensioni dell’NLP (NLU e NLG) in particolare, permettono di creare un software sofisticato che risponda in maniera pertinente ed esauriente alle richieste da parte dell’utente. In effetti, negli anni i progetti che utilizzano reti neurali profonde (deep learning) e in special modo le reti neurali ricorrenti (RNN) utilizzate nelle sequenze stanno aumentando esponenzialmente.

Come funziona l’NLG?

L’NLG rispetta delle regole linguistiche inerenti a morfologia, lessico, sintassi e semantica per fornire una risposta appropriata. Potremmo riassumere il suo processo in tre fasi: pianificazione del testo; pianificazione della frase e realizzazione.

Nella prima fase viene creato uno schema e stabilito l’ordine delle informazioni del contenuto da formulare. Nella fase di pianificazione della frase vengono inseriti la punteggiatura, i pronomi e le congiunzioni appropriate. Il testo viene quindi suddiviso in paragrafi e frasi. Nella fase di realizzazione viene effettuato un controllo di accuratezza rispetto alle regole che riguardano la grammatica, la punteggiatura e le coniugazioni dei verbi.

In quali ambiti viene impiegato?

Per lo più l’applicazione dell’NLG riguarda la generazione di testi. Sempre più testate giornalistiche (anche in Italia) stanno iniziando a utilizzare software di AI per creare articoli.

Un’altra applicazione in forte espansione è l’AI for social good cioè la creazione di strumenti che hanno un risvolto sociale, come la generazione di descrizioni di immagini per ipovedenti.

Un’altra applicazione molto comune e di cui abbiamo parlato è la chatbot, l’assistente virtuale che usa l’NLG per rispondere all’utente. La chatbot è usata nella traduzione simultanea di un discorso, il cui processo passa dall’ascolto del messaggio, alla trasformazione in strutture dati, fino alla comprensione semantica e alla traduzione in un’altra lingua per, finire con, la generazione del testo tradotto e la trasformazione da testo in lingua parlata.

L’NLG può essere di supporto nella stesura di testi, come nella posta elettronica, perché propone frasi in base allo stile di scrittura appreso precedentemente, poiché apprende le caratteristiche del linguaggio della persona a ogni messaggio.

L’NLG viene utilizzato nell’analisi e nella descrizione di codice sorgente che consiste nel “tradurre” il linguaggio di programmazione in linguaggio naturale quindi renderlo comprensibile.

Esiste anche il Natural Language Generation persuasivo, ovvero NLG che genera testi da contenuti ottimizzati con l’obiettivo di persuadere l’utente su un determinato argomento. Per esempio, ChatGTP scrive in modo accattivante e convincente proprio come se lo facesse un essere umano.

Conclusione

Con questo articolo chiudiamo l’argomento NLP e le sue estensioni, NLU e NLG. 

Tu cosa ne pensi? Speriamo di aver soddisfatto la tua curiosità dandoti informazioni base sull’argomento. Nei seguenti articoli tratteremo la parte della customer care specializzata che dipende da queste branche dell’AI. Al prossimo articolo!