Modelli e piattaforme di IA

Cos’è NLP (Natural Language Processing)?

mm
Aggiungi Unite.AI alle tue fonti preferite su Google

Natural Language Processing (NLP) è lo studio e l’applicazione di tecniche e strumenti che consentono ai computer di elaborare, analizzare, interpretare e ragionare sul linguaggio umano. L’NLP è un campo interdisciplinare che combina tecniche stabilite in campi come la linguistica e l’informatica. Queste tecniche vengono utilizzate in combinazione con l’intelligenza artificiale per creare chatbot e assistenti digitali come Google Assistant e Amazon (AMZN ) Alexa.

Prendiamo un po’ di tempo per esplorare le ragioni dietro l’elaborazione del linguaggio naturale, alcune delle tecniche utilizzate nell’NLP e alcuni casi d’uso comuni per l’NLP.

Perché l’elaborazione del linguaggio naturale (NLP) è importante

Affinché i computer possano interpretare il linguaggio umano, devono essere convertiti in una forma che un computer possa manipolare. Tuttavia, non è così semplice come convertire i dati di testo in numeri. Per derivare il significato dal linguaggio umano, i modelli devono essere estratti dalle centinaia o dalle migliaia di parole che compongono un documento di testo. Non è un compito facile. Ci sono poche regole fisse che possono essere applicate all’interpretazione del linguaggio umano. Ad esempio, lo stesso insieme di parole può significare cose diverse a seconda del contesto. Il linguaggio umano è una cosa complessa e spesso ambigua, e una dichiarazione può essere pronunciata con sincerità o sarcasmo.

Nonostante ciò, ci sono alcune linee guida generali che possono essere utilizzate quando si interpretano parole e caratteri, come il carattere “s” utilizzato per indicare che un articolo è plurale. Queste linee guida generali devono essere utilizzate in combinazione tra loro per estrarre il significato dal testo, per creare funzionalità che un algoritmo di apprendimento automatico possa interpretare.

L’elaborazione del linguaggio naturale comporta l’applicazione di vari algoritmi in grado di prendere dati non strutturati e convertirli in dati strutturati. Se questi algoritmi vengono applicati in modo errato, il computer spesso non riesce a derivare il significato corretto dal testo. Ciò può essere spesso visto nella traduzione del testo tra le lingue, dove il significato preciso della frase è spesso perso. Mentre la traduzione automatica è migliorata notevolmente negli ultimi anni, gli errori di traduzione automatica si verificano ancora frequentemente.

Tecniche di elaborazione del linguaggio naturale (NLP)

Foto: Tamur via WikiMedia Commons, Public Domain (https://commons.wikimedia.org/wiki/File:ParseTree.svg)

Molte delle tecniche utilizzate nell’elaborazione del linguaggio naturale possono essere classificate in due categorie: sintassi o semantica. Le tecniche di sintassi sono quelle che si occupano dell’ordinamento delle parole, mentre le tecniche semantiche sono quelle che coinvolgono il significato delle parole.

Tecniche di sintassi NLP

Esempi di sintassi includono:

  • Lemmatizzazione
  • Segmentazione morfologica
  • Etichettatura delle parti del discorso
  • Parsing
  • Divisione delle frasi
  • Stemming
  • Segmentazione delle parole

La lemmatizzazione consiste nel ridurre le diverse inflessioni di una parola a una sola forma. La lemmatizzazione prende cose come tempi verbali e plurali e li semplifica, ad esempio “piedi” potrebbe diventare “piede” e “strisce” potrebbe diventare “striscia”. Questa forma di parola semplificata rende più facile per un algoritmo interpretare le parole in un documento.

La segmentazione morfologica è il processo di divisione delle parole in morfemi o unità di base di una parola. Queste unità sono cose come morfemi liberi (che possono stare da sole come parole) e prefissi o suffissi.

L’etichettatura delle parti del discorso è semplicemente il processo di identificazione della parte del discorso di ogni parola in un documento di input.

Il parsing si riferisce all’analisi di tutte le parole in una frase e alla loro correlazione con le etichette grammaticali formali o all’analisi grammaticale di tutte le parole.

La divisione delle frasi, o segmentazione dei confini delle frasi, si riferisce alla decisione di dove inizia e finisce una frase.

Lo stemming è il processo di riduzione delle parole alla forma radice della parola. Ad esempio, “connesso”, “connessione” e “connessioni” sarebbero tutti ridotti a “connettere”.

La segmentazione delle parole è il processo di divisione di grandi pezzi di testo in unità più piccole, che possono essere parole o unità ridotte/lemmatizzate.

Tecniche semantiche NLP

Le tecniche semantiche NLP includono tecniche come:

  • Riconoscimento di entità nominate
  • Generazione di linguaggio naturale
  • Disambiguazione del senso delle parole

Il riconoscimento di entità nominate consiste nell’etichettare porzioni di testo che possono essere inserite in una delle categorie predefinite. Le categorie predefinite includono cose come date, città, luoghi, aziende e individui.

La generazione di linguaggio naturale è il processo di utilizzo di database per trasformare dati strutturati in linguaggio naturale. Ad esempio, statistiche sul meteo, come temperatura e velocità del vento, potrebbero essere riassunte con linguaggio naturale.

La disambiguazione del senso delle parole è il processo di assegnazione di significato alle parole all’interno di un testo in base al contesto in cui appaiono.

Modelli di apprendimento profondo per NLP

I percettroni multi-strato regolari non sono in grado di gestire l’interpretazione dei dati sequenziali, dove l’ordine delle informazioni è importante. Per gestire l’importanza dell’ordine nei dati sequenziali, viene utilizzato un tipo di rete neurale che conserva le informazioni dai tempi precedenti nell’addestramento.

Le reti neurali ricorrenti sono tipi di reti neurali che si ripetono sui dati dei tempi precedenti, prendendoli in considerazione durante il calcolo dei pesi del tempo corrente. In sostanza, le RNN hanno tre parametri che vengono utilizzati durante il passo di addestramento in avanti: una matrice basata sullo stato nascosto precedente, una matrice basata sull’input corrente e una matrice che è tra lo stato nascosto e l’output. Poiché le RNN possono prendere in considerazione le informazioni dei tempi precedenti, possono estrarre modelli rilevanti dai dati di testo prendendo in considerazione le parole precedenti nella frase quando si interpreta il significato di una parola.

Un altro tipo di architettura di apprendimento profondo utilizzato per elaborare i dati di testo è una rete neurale LSTM (Long Short-Term Memory). Le reti neurali LSTM sono simili alle RNN nella struttura, ma a causa di alcune differenze nella loro architettura, tendono a funzionare meglio delle RNN. Evitano un problema specifico che spesso si verifica quando si utilizzano le RNN, chiamato problema del gradiente esplosivo.

Queste reti neurali profonde possono essere unidirezionali o bidirezionali. Le reti bidirezionali sono in grado di prendere in considerazione non solo le parole che precedono la parola corrente, ma anche le parole che seguono. Sebbene ciò porti a una maggiore accuratezza, è più costoso in termini computazionali.

Casi d’uso per l’elaborazione del linguaggio naturale (NLP)

Foto: mohammed_hassan via Pixabay, Pixabay License (https://pixabay.com/illustrations/chatbot-chat-application-artificial-3589528/)

Poiché l’elaborazione del linguaggio naturale comporta l’analisi e la manipolazione del linguaggio umano, ha un’incredibile gamma di applicazioni. Possibili applicazioni per l’NLP includono chatbot, assistenti digitali, analisi del sentimento, organizzazione dei documenti, reclutamento del personale e assistenza sanitaria.

I chatbot e gli assistenti digitali come Amazon Alexa e Google Assistant sono esempi di piattaforme di riconoscimento e sintesi vocale che utilizzano l’NLP per interpretare e rispondere ai comandi vocali. Questi assistenti digitali aiutano le persone con una vasta gamma di attività, consentendo loro di scaricare alcune delle loro attività cognitive su un altro dispositivo e liberare parte della loro capacità cerebrale per altre attività più importanti. Invece di cercare la migliore rotta per la banca in una mattinata affollata, possiamo semplicemente chiedere al nostro assistente di farlo.

L’analisi del sentimento è l’utilizzo di tecniche di NLP per studiare le reazioni e i sentimenti delle persone nei confronti di un fenomeno, come comunicato dal loro uso del linguaggio. Catturare il sentimento di una dichiarazione, come interpretare se una recensione di un prodotto è buona o cattiva, può fornire alle aziende informazioni sostanziali su come il loro prodotto viene percepito.

L’organizzazione automatica dei documenti di testo è un’altra applicazione dell’NLP. Aziende come Google e Yahoo utilizzano algoritmi di NLP per classificare i documenti di posta elettronica, mettendoli nelle categorie appropriate come “sociale” o “promozioni”. Utilizzano anche queste tecniche per identificare lo spam e impedirgli di raggiungere la tua casella di posta.

I gruppi hanno anche sviluppato tecniche di NLP per identificare potenziali assunzioni, trovandoli in base alle competenze rilevanti. I responsabili delle assunzioni utilizzano anche tecniche di NLP per aiutarli a setacciare le liste dei candidati.

Le tecniche di NLP vengono utilizzate anche per migliorare l’assistenza sanitaria. L’NLP può essere utilizzato per migliorare la rilevazione delle malattie. I record sanitari possono essere analizzati e i sintomi estratti dagli algoritmi di NLP, che possono quindi essere utilizzati per suggerire possibili diagnosi. Un esempio di ciò è la piattaforma Amazon Comprehend Medical, che analizza i record sanitari ed estrae malattie e trattamenti. Le applicazioni sanitarie dell’NLP si estendono anche alla salute mentale. Ci sono app come WoeBot, che accompagna gli utenti attraverso una varietà di tecniche di gestione dell’ansia basate sulla terapia cognitivo-comportamentale.

Blogger e programmatore con specializzazioni in Machine Learning e Deep Learning argomenti. Daniel spera di aiutare gli altri a utilizzare il potere dell'AI per il bene sociale.