Natural Language Processing

NLP: il ponte tra computer ed essere umano

La volta precedente abbiamo parlato di tool di Sentiment Analysis e abbiamo accennato brevemente all’NLP, il Natural Language Processing (o elaborazione del linguaggio naturale). Con l’articolo di oggi vorremmo spiegarti cos’è, a cosa serve, come funziona e in quali ambiti viene utilizzato.

Cos’è il Natural Language Processing?

L’NLP non è altro che un insieme di algoritmi di intelligenza artificiale che analizza e comprende il linguaggio naturale, cioè quello umano; è il ponte che permette l’interazione tra computer ed esseri umani. L’NLP interagisce con due branche dell’IA, suoi due sottoinsiemi: il Natural Language Understanding (NLU) e il Natural Language Generation (NLG). L’NLU comprende, analizza e traduce alle macchine gli input di linguaggio naturale, che siano questi comandi vocali o testi. L’NLG, invece, produce un output di linguaggio naturale: un articolo di giornale, delle risposte di una chatbot come ChatGPT, ecc.

Quali sono le funzionalità?

Il Natural Language Processing può essere usato per analizzare un testo ed estrapolarne elementi chiave, come per esempio gli argomenti trattati; per classificare un testo in una categoria specifica, vedi lo spam nella posta elettronica; tradurre da una lingua ad un’altra; correggere errori ortografici e/o grammaticali; rilevare l’umore degli utenti (sentiment analysis); comprendere un testo e prevederne comportamenti futuri, per esempio l’intenzione d’acquisto di un potenziale cliente; nella produzione di testi in modo autonomo a partire da una mole di dati, documenti forniti precedentemente, per esempio la famosa ChatGPT; nella produzione di riassunti di uno o più testi.

Come funziona l’NLP?

Vi sono diversi passaggi concatenati che permettono di abbattere l’ostacolo dell’ambiguità che caratterizza il linguaggio umano e comprendere il senso di un testo. Per ridurre il rischio di errore viene effettuata un’analisi meticolosa suddivisa in tante fasi:

  • Tokenization
  • Analisi morfologica e lessicale
  • Analisi sintattica e generazione di parse tree
  • Named Entity Recognition
  • Analisi semantica
  • Analisi del discorso

Vediamo insieme ciascuna di queste fasi per capire meglio di cosa si tratta.

Tokenization

Questa prima fase consiste nella scomposizione del testo in token ossia spazi, parole, punteggiatura e frasi.

Analisi morfologica e lessicale

In questa fase, nota come part of speech, viene identificato il corretto ruolo della parola all’interno della frase. L’analisi morfologica e lessicale consiste nella consultazione di liste di locuzioni (unità linguistiche formate da più parole grafiche), delle loro derivazioni, della risoluzione delle forme flesse (coniugazione dei verbi e declinazione dei nomi) e della classificazione delle parole basata su categorie. In questa fase si verificano le prime difficoltà rispetto all’ambiguità linguistica, poiché c’è il rischio che l’analisi non attribuisca la giusta categoria morfologica. Le successive fasi possono risolvere questo problema.

Analisi sintattica e generazione di parse tree (alberi sintattici)

In questa fase vengono individuate le parole che compongono e danno senso alla frase e, nel caso in cui non seguano il giusto ordine all’interno della costruzione frasale, vengono ordinate in modo corretto. Dopo aver analizzato il contesto l’analisi sintattica posiziona correttamente le parole. Questa fase non sempre si conclude con successo. Quando le frasi sono molto complesse non è semplice districarsi tra i vari alberi sintattici che si creano.

Named Entity Recognition

È un sottoattività di Information Extraction (estrazione dell’informazione) che ricerca e classifica Named Entity, cioè parole che rappresentano entità come nomi propri di persone, luoghi, date e compagnie. Le classificazioni possono essere standard nel caso di organizzazioni, luoghi e date, oppure specifiche, come il nome di un farmaco, quindi meno individuabili. Per ovviare a questa difficoltà vengono utilizzati dei modelli di apprendimento automatico che permettono di tenere conto di caratteristiche linguistiche, semantiche e del contesto.

Analisi semantica

Arriva il momento di cogliere il significato dell’intera frase. Si parte dalle singole parole e poi si analizzano le relazioni già esistenti tra loro, anche rispetto all’ordine delle parole stesse o dei legami con i termini presenti e assenti nella frase. Questo tipo di analisi permette ulteriormente di superare le ambiguità rispetto al senso generale della frase.

Analisi del discorso

L’ultima fase del processo di NLP analizza il discorso nella sua totalità.

Utilizza un task denominata coreference che individua tutte le espressioni che fanno riferimento a una determinata entità identificata dalla Named Entity Recognition, oppure tutti quegli elementi ripetuti più volte nel discorso. Una volta individuati questi elementi viene effettuato un controllo nel quale vengono determinati tutti i possibili collegamenti con essi. Un’altra task che interviene successivamente rimuove le ellissi, ossia frasi che omettono un elemento sintattico che deve essere dedotto dal contesto.

Esempio: «Sono uscito con lei perché (io) la trovo una ragazza simpatica.» mi ha detto Giulio ieri.

In che ambiti viene utilizzata?

Il Natural Language Processing viene impiegato nei seguenti ambiti:

– Cognitive Search che trova il documento corretto tra numerosi risultati;

– Robotic Process Automation (RPA), l’automazione di vari processi aziendali;

– Chatbot e Virtual Assistant, strumenti conversazionali che fungono da supporto per il personale e migliorano la customer experience;

– Document AI che estrae informazioni da documenti, video, immagini e audio.

In conclusione

Oggi, la sfida di chi lavora con l’NLP è il riconoscimento dell’ironia, del sarcasmo e del buon senso. Non sappiamo quanto tempo ancora dovremo attendere perché l’AI faccia analisi così profonde, come se le facesse un essere umano, ma sappiamo che se e quando avverrà ciò saremmo costretti a mettere in discussione il nostro punto di vista e approccio su tantissimi aspetti della vita. L’essere umano potrebbe per la prima volta considerare qualcosa, che non sia lui stesso, a essere quasi dotato di coscienza.

Nel prossimo articolo affronteremo l’NLU, ciò che permette all’NLP di comprendere linguaggio naturale parlato o scritto.