L’elaborazione del linguaggio naturale (NLP) è la branca dell’intelligenza artificiale che si occupa di addestrare un computer a comprendere, elaborare e generare linguaggio. I motori di ricerca, i servizi di traduzione automatica e gli assistenti vocali sono tutti alimentati da questa tecnologia.

Sebbene il termine originariamente si riferisse alla capacità di lettura di un sistema, da allora è diventato un linguaggio colloquiale per tutta la linguistica computazionale. Le sottocategorie includono la generazione del linguaggio naturale (NLG), la capacità di un computer di creare la propria comunicazione e la comprensione del linguaggio naturale (NLU), la capacità di comprendere gergo, errori di pronuncia, errori di ortografia e altre varianti del linguaggio.

Come funziona l’elaborazione del linguaggio naturale

La NLP funziona tramite machine learning (ML). I sistemi ML memorizzano le parole e il modo in cui si uniscono come qualsiasi altra forma di dati. Frasi e talvolta interi libri vengono inseriti nei motori ML dove vengono elaborati utilizzando regole grammaticali, abitudini linguistiche della vita reale delle persone o entrambi. Il computer utilizza quindi questi dati per trovare schemi ed estrapolare ciò che viene dopo. Prendiamo ad esempio il software di traduzione: in francese, Vado al parco si dice Je vais au parc; a questo punto il machine learning prevede che anche la frase Vado al negozio inizierà con Je vais au. Tutto ciò di cui il computer ha bisogno è la parola negozio.

Applicazioni NLP

La traduzione automatica è un’applicazione NLP molto nota, ma la ricerca è l’applicazione di gran lunga più utilizzata. Ogni volta che cercate qualcosa in Google o Bing, state inserendo dati nel sistema. Quando si fa clic su un risultato di ricerca, il sistema lo interpreta come una conferma che i risultati trovati sono corretti e utilizza queste informazioni per una migliore ricerca in futuro.

I chatbot funzionano allo stesso modo: si integrano con Slack, Microsoft Messenger e altri programmi di chat in cui leggono la lingua che usate, quindi si attivano quando digitate una frase di attivazione. Anche gli assistenti vocali come Siri e Alexa si attivano quando sentono frasi come Ehi, Siri. Ecco perché i critici dicono che questi programmi sono sempre in ascolto: se non lo fossero, non saprebbero mai quando ne avete bisogno. A meno che non si attivi manualmente un’app, i programmi NLP devono funzionare in background, in attesa di percepire quella frase.

Esempi di elaborazione del linguaggio naturale

I dati sono disponibili in molte forme, ma il più grande pool di dati non sfruttato è costituito dal testo. Brevetti, specifiche di prodotto, pubblicazioni accademiche, ricerche di mercato, notizie, per non parlare dei feed dei social media, hanno tutti il testo come componente principale e il volume del testo è in costante crescita. Applicate la tecnologia alla voce e il pool diventa ancora più grande. Ecco tre esempi di come le organizzazioni stanno utilizzando la tecnologia NLP:

  • Accenture la utilizza per analizzare i contratti: lo strumento Accenture Legal Intelligent Contract Exploration (ALICE) aiuta l’organizzazione legale della società di servizi globale di 2.800 professionisti a eseguire ricerche di testo su oltre milioni di contratti, comprese le ricerche di clausole contrattuali. ALICE utilizza l'”incorporamento di parole” per esaminare i documenti del contratto paragrafo per paragrafo, cercando parole chiave per determinare se il paragrafo si riferisce a un particolare tipo di clausola contrattuale.
  • Verizon elabora le richieste dei clienti: il gruppo Business Service Assurance di Verizon utilizza la NLP e il deep learning per automatizzare l’elaborazione dei commenti sulle richieste dei clienti. Il gruppo riceve più di 100.000 richieste in entrata al mese. Il suo Digital Worker for Service Assurance abilitato all’intelligenza artificiale legge i ticket di riparazione e risponde automaticamente alle richieste più comuni, come i rapporti sullo stato corrente dei ticket o gli aggiornamenti sull’avanzamento della riparazione. Problemi più complessi vengono indirizzati agli ingegneri umani.
  • Il servizio pubblico per l’energia e il gas (PSE & G) aiuta i clienti con l’assistente virtuale: l’utility pubblica del New Jersey utilizza la tecnologia dell’assistente virtuale e altri servizi digitali per consentire ai propri clienti di gestire i propri conti di elettricità o gas tramite comandi vocali. Questo sistema è stato realizzato utilizzando l’Alexa Skills Kit fornito da Amazon.

aixa

Software di elaborazione del linguaggio naturale

Sia che stiate creando un chatbot, un assistente vocale, un’applicazione di testo predittivo o un’altra applicazione con la NLP al centro, avrete bisogno di strumenti specifici. Secondo i centri di valutazione tecnologica, i software più popolari sono:

  • Natural Language Toolkit (NLTK). NLTK è un framework open source per la creazione di programmi Python per lavorare con dati in linguaggio umano. È stato sviluppato dal Dipartimento di Informatica e Scienza dell’Informazione presso l’Università della Pennsylvania e fornisce interfacce a più di 50 risorse lessicali, una suite di librerie di elaborazione del testo, wrapper per librerie di elaborazione del linguaggio naturale e un forum di discussione. NLTK è offerto con la licenza Apache 2.0.
  • SpaCy. SpaCy è una libreria open source per l’elaborazione avanzata del linguaggio naturale progettata esplicitamente per l’uso in produzione piuttosto che per la ricerca. SpaCy è stato creato pensando alla scienza dei dati di alto livello e consente il data mining profondo. È concesso in licenza dal MIT.
  • Gensim. Gensim è una libreria Python open source che supporta la semantica statistica scalabile, l’analisi di documenti di testo semplice per la struttura semantica e la capacità di recuperare documenti semanticamente simili. È concepito per gestire grandi quantità di testo senza la supervisione umana.
  • Amazon Comprehend. Questo servizio Amazon non richiede esperienza di machine learning. Ha lo scopo di aiutare le organizzazioni a trovare insight da e-mail, recensioni dei clienti, social media, ticket di supporto e altro testo. Utilizza l’analisi del sentiment, l’estrazione di parti del discorso e la tokenizzazione per analizzare l’intenzione dietro le parole.
  • IBM Watson Tone Analyzer. Questa soluzione basata su cloud è pensata per l’ascolto sociale, l’integrazione di chatbot e il monitoraggio del servizio clienti. Può analizzare le emozioni e il tono nei post dei clienti e monitorare le chiamate del servizio clienti e le conversazioni in chat.
  • Google Cloud Translation. Questa API utilizza NLP per esaminare un testo di origine per determinare la lingua e quindi utilizzare la traduzione automatica neurale per tradurre dinamicamente il testo in un’altra lingua. L’API consente agli utenti di integrare la funzionalità nei propri programmi.

Corsi di elaborazione del linguaggio naturale

Ci sono molte risorse disponibili per imparare a creare e mantenere applicazioni NLP e alcune di esse sono gratuite.

  • Introduction to Natural Language Processing in Python di DataCamp. Questo corso gratuito, offerto in 15 video e 51 esercizi, copre le basi della NLP usando Python, incluso come identificare e separare le parole, come estrarre argomenti in un testo e come costruire il vostro classificatore di fake news.
  • Introduction to Natural Language Processing (NLP) di Udemy. Questo corso introduttivo fornisce un’esperienza pratica di lavoro e analisi di testo utilizzando Python e Natural Language Toolkit. Consiste in tre ore di video su richiesta, tre articoli e 16 risorse scaricabili. Il corso costa 19,99 dollari e include un certificato di completamento.
  • Hands On Natural Language Processing (NLP) using Python di Udemy. Questo corso è rivolto a persone con esperienza di programmazione di base in qualsiasi linguaggio, comprensione dei concetti di programmazione orientata agli oggetti, conoscenza della matematica da base a intermedia e conoscenza delle operazioni con le matrici. È completamente basato su progetti e prevede la creazione di un classificatore di testo per prevedere il sentiment dei tweet in tempo reale e un riepilogo di articoli in grado di recuperare gli articoli. Il corso consiste in 10,5 ore di video on demand e otto articoli e costa 19,99 dollari.
  • Natural Language Processing (NLP) di edX. Questo corso di sei settimane, offerto da Microsoft tramite edX, fornisce una panoramica dell’elaborazione del linguaggio naturale e dell’uso dei metodi classici di machine learning. Copre la traduzione automatica statistica, i modelli di similarità semantica profonda (DSSM) e le loro applicazioni. È un corso di livello avanzato e coloro che lo completano possono ottenere un certificato per 99 dollari.
  • Natural Language Processing di Coursera. Parte della specializzazione avanzata in Machine Learning di Coursera, questo corso copre attività di elaborazione del linguaggio naturale tra cui analisi del sentiment, riepilogo, monitoraggio dello stato del dialogo e altro ancora. Si tratta di un corso di livello avanzato e occorrono circa cinque settimane di studio da quattro a cinque ore settimanali per completarlo.
  • Natural Language Processing in TensorFlow di Coursera. Questo corso fa parte della specializzazione TensorFlow in Practice di Coursera e copre l’utilizzo di TensorFlow per creare sistemi di elaborazione del linguaggio naturale in grado di elaborare testo e frasi di input in una rete neurale. Coursera specifica che si tratta di un corso di livello intermedio e stima che ci vorranno quattro settimane di studio da quattro a cinque ore a settimana per completarlo.