TechTarget Tech InDepth

Metriche NLP a supporto del business: che cosa sono e come vanno gestite

Le metriche NLP applicate in modalità standard stanno diventando sempre più diffuse. Per il successo dei progetti aziendali, gli esperti suggeriscono agli utenti di concentrarsi sull’impostazione di parametri personalizzati

Aggiornato il 14 Feb 2023

intelligenza artificiale 1

Metriche NLP (Natural Language Processing) per la modellizzazione linguistica che aiutano sempre meglio i processi di business. Ennesima applicazione dell’Intelligenza Artificiale, questi indicatori supportano l’apprendimento non supervisionato (unsupervised learning). Sempre più informazioni vengono create online ogni giorno e molte di esse provengono dal linguaggio umano naturale. Fino a poco tempo fa, le aziende non erano in grado di analizzare questo tipo di dati. I progressi nel campo dell’NPL consentono ai sistemi di analizzare e apprendere da una più ampia gamma di fonti di informazioni per rilasciare una grande quantità di servizi: dalle soluzioni per la domotica (come Alexa, Siri o Cortana) ai vari chatbot.

Procediamo con ordine facendo, prima di tutto, riferimento a cosa è NLP e su quali tecnologie si basa.

Cos’è NLP, qual è il significato dell’elaborazione del linguaggio naturale

Un ambito di ricerca interdisciplinare che spazia dall’informatica alla linguistica passando, naturalmente per l’intelligenza artificiale: questo è l’NLP.

Il significato del natural language processing si esprime pienamente nella capacità di comprendere il linguaggio naturale sia esso scritto sia parlato, intendendo tutte le parole anche in base ai contesti in cui sono usate.

Più precisamente, l’NLP permette di analizzare la struttura di un testo, associa le categorie morfologiche a ciascuna parola per poterla classificare, estrae le relazioni sintattiche e semantiche. Così facendo individua i significati ed è in grado di sintetizzare i contenuti.

A cosa serve il Natural language processing

Perché NLP è importante? Obiettivo del Natural Language Processing (NLP) è quello di dotare i sistemi informatici di conoscenze linguistiche per 3 scopi principali.

  • Assistere l’uomo in attività connesse con il linguaggio: traduzione, gestione di documenti ecc.
  • Interagire con gli esseri umani in modo naturale.
  • Estrarre automaticamente informazioni da testi o da altri media. È così possibile gestire grandi quantità di dati anche non strutturati.

L’enorme difficoltà al trattamento automatico di informazioni scritte o parlate in una lingua naturale è dovuta alla ambiguità e complessità del linguaggio umano. Anche se inseriamo in un computer tutte le regole grammaticali, sintattiche e lessicali di una specifica lingua e tutti i vocaboli esistenti, il risultato non sarà un linguaggio naturale.

Manca l’assegnazione del significato alle parole e il significato varia in base al contesto, all’esperienza, alla storia stessa della lingua.

Natural language processing: le sfide e le difficoltà

Lo sviluppo di applicazioni NLP è impegnativo perché i computer tradizionalmente richiedono agli umani di comunicare con loro:

  • attraverso un linguaggio di programmazione preciso, inequivocabile e altamente strutturato;
  • attraverso un numero limitato di comandi vocali chiaramente enunciati.

Il discorso umano, tuttavia, è spesso ambiguo e impreciso. La struttura linguistica può dipendere da molte variabili complesse, tra cui il gergo, i dialetti regionali o il contesto sociale.

Altre difficoltà includono il fatto che le forme più astratte del linguaggio sono generalmente difficili da comprendere per i computer. Per esempio, l’NPL non rileva facilmente il sarcasmo.

Questi argomenti di solito richiedono più matrici di comprensione sovrapposti: l’uso delle parole utilizzate, il contesto in cui vengono utilizzate, il tono di voce con cui vengono pronunciate.

Un altro problema è legato all’evoluzione della lingua e del modo in cui le persone ne fanno uso.

Come funziona l’NLP

La sintassi e l’analisi semantica sono due tecniche principali utilizzate per l’elaborazione del linguaggio naturale. La sintassi è la disposizione delle parole in una frase secondo un criterio grammaticale. L’NLP applica le tecniche di sintassi per valutare il senso di una lingua, includendo:

  • l’analisi grammaticale della frase;
  • la segmentazione delle parole, che divide un grande blocco di testo in sotto-unità di testo;
  • la scansione della frase, che pone i confini di un periodo nel caso di testi molto ampi;
  • la segmentazione morfologica, che divide le parole in gruppi interpretando le inflessioni.

Tecniche di pre-elaborazione dei dati

La tecnologia NLP esegue prima di tutto una pre-elaborazione dei dati, siano essi testuali o vocali, in modo che i sistemi possano poi fare le analisi. Le principali tecniche di pre-elaborazione sono le seguenti.

  • Tokenizzazione: per spezzare il testo in piccole unità semantiche (token, appunto).
  • Segmentazione del parlato: suddivisione del flusso vocale in piccole parti.
  • Part-of-speech tagging (POS): identificazione, mediante un tag, del ruolo di ciascuna parola (verbo, nome, aggettivo eccetera).
  • Stemming: riduzione di ogni parola alla sua radice, per ottenere una specie di normalizzazione di ogni termine.
  • Lemmatizzazione: è un’ulteriore tecnica di normalizzazione usata per ricondurre le parole a come sono presenti in un dizionario.
  • Rimozione delle stop word: elimina parole ricorrenti, ininfluenti per ottenere le sole informazioni utili.

La semantica

La semantica tiene conto dell’uso e del significato che stanno dietro le parole. Per comprendere il significato e la struttura delle frasi i programmi NLP utilizzano varie tecniche tra cui:

  • la disambiguazione del senso delle parole, che ricostruisce il significato di una parola in base al contesto;
  • il riconoscimento dell’entità denominata, che determina le parole che possono essere classificate in gruppi;
  • la generazione del linguaggio naturale, che utilizzerà un database per determinare la semantica dietro le parole.

METRICHE NLP

Le principali tipologie di algoritmi usate

Per l’interpretazione dei dati si usano principalmente algoritmi NLP rule-based e si fa sempre più ricorso al machine learning.

Algoritmi NLP rule-based

I sistemi che vantano un approccio rule-based sono basati su regole linguistiche appositamente create manualmente. In tale contesto servono gli skill di un esperto linguista che permette la codifica delle varie regole.

Il ruolo di deep e machine learning nell’elaborazione del linguaggio naturale

L’utilità del deep learning, in particolare in riferimento all’elaborazione del linguaggio naturale, riguarda la capacità di apprendimento e di rappresentazione delle più profonde caratteristiche descrittive dei dati e, d’altra parte, l’abilità di combinare nel migliore dei modi le informazioni al fine di risolvere un compito.

Gli algoritmi di machine learning, contrariamente a quanto accade per i sistemi rule-based, non necessitano di stabilire manualmente regole. Essi sono, infatti, improntati su metodi statistici e apprendono automaticamente da dataset di training che consentono la creazione in autonomia di meccanismi e regole di classificazione.

Gli ambiti applicativi dell’NLP

Alcuni tipici ambiti applicativi del NLP sono i seguenti.

  • Sentiment Analysis. Soluzioni per il riconoscimento del sentiment all’interno di un testo (positivo/negativo, triste/felice…);
  • Information Extraction. Motori che interpretano una richiesta formulata in linguaggio naturale. Essi ricercano all’interno di documenti le informazioni che rispondono a tale richiesta, fornendole come output.
  • Text Classification. Sistemi per l’interpretazione di un testo e la sua classificazione in una serie di classi.
  • Smart Search. Motori che interpretano una richiesta formulata in linguaggio naturale. Ricercano all’interno di archivi quei documenti che meglio rispondono all’interrogazione, fornendoli come output.
  • Text generation. Sistemi per la produzione automatica di un testo.
  • Automatic Summarization. Soluzioni per produrre una sintesi di uno o più documenti testuali.
  • Language Translator. Sistemi intelligenti di traduzione, in grado di scegliere per ogni termine il significato migliore a seconda del contesto.

NLP, esempi d’uso

Attualmente l’adozione dell’NLP è diffusa principalmente nel mondo dell’assistenza sanitaria (dove l’NLP è un valido supporto per i medici che possono dettare appunti che poi possono essere convertiti in testo e quindi dati utili per analisi, per dataset training eccetera) e nei contact center e presso i dipartimenti aziendali attivi nel customer care, ambienti in cui i chatbot sempre più evoluti hanno e avranno un ruolo fondamentale. A questi ambiti se ne stanno aggiungendo altri vediamo i principali.

Sicurezza informatica

L’NLP in ambito cybersecurity serve per individuare lo spam così come tentativi di attacchi basati su tecniche di ingegneria sociale.

Market intelligence

Le tecniche di elaborazione del linguaggio possono servire anche per analizzare il sentiment in un certo settore, per esempio, estrapolando informazioni da post, recensioni, commenti veicolati tramite i vari canali di comunicazione digitali.

Metriche NLP: che cosa sono e quali sono le tecnologie

Le metriche NLP fanno riferimento a processori metrici di comparazione per l’elaborazione del linguaggio naturale come, per esempio, il General Language Understand Evaluation (GLUE) o lo Stanford Question Answering Dataset (SQuAD).

Pur fornendo un ottimo scenario per migliorare i modelli NLP, il successo di questi benchmark non è direttamente applicabile alle applicazioni aziendali. Quali sono, dunque, le metriche NLP che aiutano a migliorare le prestazioni dei modelli di elaborazione del linguaggio naturale su applicazioni legate al mondo reale?

Applicazioni NLP enterprise: ecco come funzionano

Per confrontare le prestazioni tra diversi framework o algoritmi rispetto a qualcosa che è stato appositamente progettato per misurare le prestazioni di un particolare modello o caso d’uso, esistono diversi tipi di benchmark. Gli specialisti suggeriscono di diffidare di quelli generalisti.

Le applicazioni Enterprise NLP richiedono:

  • la personalizzazione delle metriche per un determinato caso d’uso;
  • la misurazione del successo di diversi modelli;
  • il computo delle variazioni.

Personalizzare le metriche NLP: attenzione alla rilevanza

Per una singola app, il modo migliore per riuscire a personalizzare le metriche NLP è di concentrarsi sugli aspetti più rilevanti di un caso d’uso specifico. Per questo è meglio evitare le metriche di riferimento standard, scegliendo quelle che si riferiscono ad ambiti applicativi circoscritti come, per esempio, la NLP a supporto della gestione dei contratti. Le migliori metriche NLP, infatti, sono quelle realizzate per supportare un determinato compito da svolgere.

2 esempi

Si prendano, a titolo esemplificativo, due sistemi:

  • il primo può rispondere correttamente a una varietà di domande in base al testo dell’accordo, ma si comporta male sugli aspetti finanziari dello stesso.
  • Il secondo sa estrarre solo le informazioni finanziarie e lavorare minuziosamente su di esse, ma non sa fare altro

Il primo sistema sarebbe inutile per una varietà di applicazioni aziendali che includono la finanza, ma avrebbe punteggi di riferimento più elevati rispetto al secondo sistema.

What is Machine Learning (ML)? A Basic Introduction

What is Machine Learning (ML)? A Basic Introduction

Guarda questo video su YouTube

La premessa è che ci sono molti processi e molte applicazioni aziendali che sono grandi clienti dell’NLP. Ma è fondamentale stabilire una serie di requisiti estremamente rigorosi, tenendo anche conto del fatto che ogni organizzazione ha esigenze diverse. Ecco perché servono metriche NLP personalizzate.

Impostazione delle metriche: gli errori da evitare

I fattori del mondo reale svolgono un ruolo importante nel determinare l’eventuale successo di un progetto di Natural Language Processing. Alcune delle metriche NLP comuni e previste possono includere elementi come:

  • precisione,
  • impegno,
  • costi,
  • dati di formazione.

L’importante è assicurarsi che il proprio team non confonda il punteggio elevato con il sistema di comparazione (il che induce ad assegnare un valore sbagliato all’utente). Il pericolo di focalizzarsi su un singolo numero, infatti, tende a far fissare gli sviluppatori e i data scientist il numero più alto possibile. Questo fa perdere di vista ciò che è realmente più importante per gli utenti e i clienti.

Un modello di NLP può funzionare abbastanza bene nel caso i committenti preferiscano investire risorse per migliorare altre parti dell’app o del servizio. Nel frattempo, il team di professionisti dell’NLP sta regolarmente ottenendo guadagni incrementali rispetto a un punteggio di riferimento predeterminato (che gli utenti potrebbero anche non notare).

In ultima istanza, la metrica più utile è determinare la UX desiderata e il valore utente dell’app calcolando come l’NLP può migliorare l’esperienza.

Attenzione alla fase di modellizzazione

Comprendere quali aspetti della lingua necessitano di una modellizzazione a supporto di attività particolari richiede una profonda conoscenza sia della lingua che del dominio del problema.

Sviluppare modelli di intelligenza artificiale per aiutare a comprendere vari documenti legali, per esempio, grazie all’applicazione delle metriche NLP aiuta più velocemente i responsabili nei loro processi di ricerca. A livello di sviluppo è importante disporre di una pipeline di analisi degli errori e di tutte le annotazioni fatte dalle persone in merito alla gestione dei dati e dei modelli.

Le migliori misurazioni, infatti, si raggiungono quando si ha vera comprensione del problema che si sta affrontando.

Utilizzare le metriche di SQuAD perché rispondono a diverse domande, ad esempio, non si applica ai contratti legali, che hanno una struttura molto diversa rispetto alle dinamiche di interrogazione che si applicano a Wikipedia (su cui è basato SQuAD).

L’apporto del professionista umano all’NLP

La costruzione di modelli può essere automatizzata facilmente, ma l’analisi del comportamento e della durata del modello è uno sforzo che comporta il lavoro del professionista umano. La creatività e il pensiero critico, con particolare attenzione alle proprie esigenze particolari, è fondamentale per definire le migliori metriche NLP.

La valutazione iterativa della forza dei diversi modelli di machine learning include:

  • l’esplorazione dei dati;
  • la pianificazione e la scrittura di ipotesi e misurazioni;
  • l’analisi degli errori e di altri comportamenti inattesi del modello;
  • il perfezionamento del modello.

La costruzione della giusta interfaccia per gli sviluppatori dei programmi di Intelligenza Artificiale e dei data scientist è fondamentale per aiutare i team ad acquisire le conoscenze ottenute il più rapidamente possibile. A volte questo si basa sulla costruzione di buoni strumenti software e altre volte richiede uno strumento matematico che rende molto semplice scoprire le metriche NLP.

Standardizzazione, commercializzazione e condivisione

Gli esperti ritengono che tra qualche tempo questo processo sarà sempre più standardizzato e commercializzato, analogamente a quanto è avvenuto con la distribuzione di software tradizionale.

Nel frattempo, servizi completamente gestiti come Amazon SageMaker, Azure Machine Learning Studio e Paperspace Gradient stanno aiutando ad analizzare, creare e sviluppare soluzioni sulla base di metriche NLP specifiche.

Il futuro per l’NLP

Il deep learning ha consentito di compiere passi da gigante in ambito NLP.

Naturalmente la ricerca però prosegue e l’obiettivo ultimo per le macchine è quello di comprendere, ma anche generare, testi e conversazioni in modo simile agli essere umani.

Le sfide principali son inerenti alla possibilità di far fronte alle necessità di dataset di addestramento in quanto per le lingue meno diffuse non vi è ampia disponibilità di dataset annotati.

Inoltre, un’importante sfida riguarda la capacità di risolvere ambiguità che l’uomo facilmente interpreta sulla base delle proprie esperienze. Ugualmente svolgere ragionamenti di senso comune spesso si basa su conoscenze implicite delle persone, dati non specificati.

Articolo originariamente pubblicato il 19 Mag 2022

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 3