Over 10 years we help companies reach their financial and branding goals. Engitech is a values-driven technology agency dedicated.

Gallery

Contacts

411 University St, Seattle, USA

engitech@oceanthemes.net

+1 -800-456-478-23

Artificial Intelligence

Natural Language Processing, cos’è e come funziona

Il Natural Language Processing – in italiano, Elaborazione del linguaggio naturale, riducibile nell’acronimo NLP – è quel ramo dell’intelligenza artificiale riguardante l’interazione fra computer e linguaggio umano. Lo scopo del Natural Language Processing quello di leggere e comprendere i linguaggi umani.
L’NLP permette ai computer di comunicare con gli esseri umani nella loro lingua al fine di leggere un testo, ascoltare una voce, interpretarla e misurare il sentimento (attraverso la “sentiment analysis”).

Questi algoritmi sono nati con lo scopo di analizzare la grammatica e identificare le regole del linguaggio naturale ma, a causa proprio dell’ambiguità e delle caratteristiche peculiari di quest’ultimo, tale processo risulta articolato e complesso.

Funzionamento dell’NLP

Innanzitutto è necessario fare una precisazione per comprendere il campo di applicazione dell’NLP. L’elaborazione del linguaggio naturale si occupa principalmente di testi, intesi come sequenze di parole, poiché il riconoscimento vocale è considerato un ambito a parte.

Il dialogo tra uomo e macchina coinvolge diversi aspetti, quali fonetica, fonologia, morfologia, sintassi, semantica, pragmatica e il discorso nel suo complesso. Di conseguenza, sono numerosi i task di NLP che automatizzano queste aree, ad esempio compiti semplici come: il riconoscimento della lingua; la scomposizione della frase in unità elementari; l’analisi semantica e l’analisi del sentimento.

Per svolgere questi compiti, le imprese adottano numerosi task di NLP:

  • Text Analysis: analisi di un testo e individuazione di elementi chiave (es. argomenti, persone, date);
  • Text Classification: interpretazione di un testo al fine della classificazione (es. spam);
  • Sentiment Analysis: rilevamento dell’umore all’interno di un testo (es. recensione positiva/negativa);
  • Intent Monitoring: comprensione del testo per prevedere comportamenti futuri (es. la volontà di acquisto da parte di un cliente);
  • Smart Search: ricerca, all’interno di archivi, dei documenti che meglio corrispondono ad un’interrogazione posta in linguaggio naturale;
  • Text Generation: generazione automatica di un testo;
  • Automatic Summarization: produzione di una versione sintetica di uno o più documenti testuali;
  • Language Translation: traduzione dei testi.

Fasi dell’elaborazione del linguaggio naturale

Combinando l’intelligenza artificiale, la linguistica computazionale e l’informatica, l’elaborazione del linguaggio naturare risolve il problema comunicativo aiutando le macchine a comprendere il linguaggio naturale.

Quindi, quando si parla di NLP, ci si riferisce alla capacità di un computer di comprendere il linguaggio umano nel momento in cui viene pronunciato. Negli ultimi anni si sono fatti numerosi progressi nel mondo della traduzione automatica. I sistemi Google e i software di riconoscimento vocale e testuale agli assistenti virtuali come Siri o Alexa ne sono dei chiari esempi, ma anche i correttori ortografici e i sistemi di traduzione automatici.

Parlando dell’elaborazione del linguaggio naturale bisogna però tener conto delle sue due componenti principali: la comprensione della lingua naturale e la generazione del linguaggio naturale.

Comprensione della lingua naturale

La prima fase dell’NLP è quella relativa alla comprensione del linguaggio naturale (o NLU, Natural Language Understanding), è quella in cui il linguaggio naturale è convertito in artificiale mediante il riconoscimento vocale.
Il sistema quindi trasforma il discorso orale in testo scritto attraverso l’impiego di calcoli matematici.

Ma come fa il computer a comprendere realmente ciò che pronuncia l’essere umano e a comprenderne il significato? Utilizza un processo chiamato Part-of-Speech (POS), ovvero cataloga ogni parola in base alla sua categoria lessicale (nome, verbo, ecc). Gli algoritmi NLP moderni utilizzano l’apprendimento automatico per applicare queste regole al linguaggio naturale e determinare il significato più attinente.

Generazione del linguaggio naturale

A differenza della comprensione, la generazione rappresenta per i computer un processo estremamente più immediato e semplice da realizzare. La Natural Language Generation, o NLG, rappresenta esattamente il processo inverso rispetto all’NLU. Infatti, traduce il linguaggio artificiale di un computer in testo, inoltre, può tradurre il testo in un discorso udibile con sintesi vocale.

Chi utilizza NLP e chi se ne occupa?

Grazie soprattutto al contributo di tecniche di Intelligenza Artificiale sempre più avanzate, come Machine Learning e Deep Learning, l’NLP trova numerosi ambiti applicativi. Non si può però pensare che la soluzione sia di immediata messa in opera. Sebbene ogni lingua sia differente, non va dimenticata la complessità delle singole poiché caratterizzate da modi di dire, espressioni gergali e dialetti. Ma se guardiamo al futuro, scopriamo che queste soluzioni possiedono un elevato potenziale.

Chiunque, abilità permettendo, può utilizzare l’NLP, scegliendo in base a lingue e metodo di utilizzo. Nello specifico, per la lingua italiana i principali strumenti open source sono:

Natural Language Toolkit

É una raccolta di strumenti per l’elaborazione del linguaggio naturale, sviluppati con il linguaggio di programmazione Python. Inoltre, può condurre diversi tipi di elaborazioni testuali come Part of Speech tagging, Parsing, Tokenization (ossia la classificazione delle radici delle parole) e la possibilità di riassumere i testi, cioè wrapping.
É un programma adatto alle esigenze di studenti, docenti e ricercatori.

Visualtext

Visualtext è un set di strumenti scritto in un linguaggio di programmazione puro, pensato per l’elaborazione del linguaggio naturale, cioè NLP++. Il suo impiego principale è relativo all’estrazione di informazioni da testi molto lunghi. É un linguaggio di programmazione pensato per i Deep Text Analyzers, ma anche per le analisi relative all’intelligenza artificiale applicata ad ambiente e società.

CSLU Toolikt

Si occupa di riconoscimento vocale, riproduzione di voci sintetiche e generazione del volto mediante animazione digitale. É utile anche per l’apprendimento dei nuovi vocaboli e per l’esercitazione nella lingua parlata da parte delle persone sorde. Grazie alle sue funzionalità basate su una facile intuitività ed un agile utilizzo, è adatto praticamente a tutti, da scuole, università, ricercatori, semplici curiosi.

Stanford NLP Group Software

Lo Stanford NLP Group è uno dei gruppi di ricerca più rilevanti nel settore dell’elaborazione del linguaggio naturale. Permette di distinguere e classificare le derivazioni delle parole (Tokenization), la loro funzione (Parts of Speech tagging), e la struttura delle proposizioni (Parsing). In aggiunta vi sono dei tool per processi più complicati come il Deep Learning. Tutti i programmi dello Stanford NLP Group sono scritti in Java e disponibili in diverse lingue.

PARLI

Infine parliamo di un progetto italiano, finanziato pubblicamente, che si propone come punto di riferimento per la lingua italiana delle tecnologie del linguaggio. Da questo progetto è nato un portale web che raccoglie numerose risorse e strumenti. Il portale è dedicato soprattutto all’ambito della ricerca e a quello dell’industria.

Author

Lara Mastrofini