My IBM Accedi Iscriviti

Cos'è la named entity recognition?

26 agosto 2023

Cos'è la named entity recognition?

La named entity recognition (NER), anche chiamata entity chunking o entity extraction, è una componente dell'elaborazione del linguaggio naturale (NLP) che identifica categorie predefinite di oggetti in un corpo di testo.

Queste categorie possono includere, tra le altre, nomi di individui, organizzazioni, luoghi, espressioni di orari, quantità, codici medici, valori monetari e percentuali, tra gli altri. Essenzialmente, la NER è il processo che consiste nel prendere una stringa di testo (cioè una frase, un paragrafo o un intero documento) e identificare e classificare le entità che si riferiscono a ciascuna categoria.

Quando è stato coniato il termine "NER" alla Sixth Message Understanding Conference (MUC-6), l'obiettivo era semplificare le attività di estrazione delle informazioni, che prevedevano l'elaborazione di grandi quantità di testo non strutturato e l'identificazione di informazioni chiave. Da allora, la NER si è espansa e si è evoluta, in gran parte grazie ai progressi nelle tecniche di machine learning e deep learning.

Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI 


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

Tecniche di NER

Secondo un sondaggio del 2019, circa il 64% delle aziende si affida a dati strutturati provenienti da risorse interne, ma meno del 18% sfrutta i dati non strutturati e i commenti sui social media per informare le decisioni aziendali1.

Le organizzazioni che utilizzano la NER per l'estrazione di dati non strutturati si basano su una serie di approcci, ma la maggior parte rientra in tre grandi categorie: approcci basati su regole, approcci di machine learning e approcci ibridi.

  • Gli approcci basati su regole implicano la creazione di un insieme di regole per la grammatica di una lingua. Le regole vengono poi utilizzate per identificare le entità nel testo in base alle loro caratteristiche strutturali e grammaticali. Questi metodi possono richiedere molto tempo e potrebbero non essere applicabili a dati non visibili.
  • Gli approcci di machine learning prevedono l'addestramento di un modello di machine learning basato sull'AI su un set di dati etichettati, utilizzando algoritmi come i campi casuali condizionali e l'entropia massima (due tipi di modelli linguistici statistici complessi).Le tecniche possono variare dai tradizionali metodi di machine learning (ad esempio decision trees e macchine a vettori di supporto) ad approcci di deep learning più complessi, come le reti neurali e i trasformatori.Questi metodi si generalizzano meglio ai dati non visibili, ma richiedono una grande quantità di dati di addestramento etichettati e possono essere costosi dal punto di vista computazionale.
  • Gli approcci ibridi combinano i metodi basati su regole e i metodi di machine learning per sfruttare i punti di forza di entrambi. Possono utilizzare un sistema basato su regole per identificare rapidamente entità facili da riconoscere e un sistema di machine learning per identificare entità più complesse.
Mixture of Experts | Podcast

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Metodologie NER

Dall'inizio della NER, sono stati compiuti alcuni significativi progressi metodologici, in particolare quelli che si basano su tecniche di deep learning. Le iterazioni più recenti includono:

  • Reti neurali ricorrenti (RNN) e long short-term memory (LSTM). Le RNN sono un tipo di rete neurale progettata per problemi di previsione delle sequenze. Le LSTM, un tipo speciale di RNN, possono imparare a riconoscere i pattern nel tempo e a mantenere le informazioni nella "memoria" per lunghe sequenze, il che le rende particolarmente utili per comprendere il contesto e identificare le entità.
  • Campi casuali condizionati (CRF).I CRF sono spesso utilizzati in combinazione con le LSTM per le attività NER. Possono modellare la probabilità condizionale di un'intera sequenza di etichette, anziché solo di singole etichette, il che li rende utili per attività in cui l'etichetta di una parola dipende dalle etichette delle parole circostanti.
  • Trasformatori e BERT.Le reti di trasformatori, in particolare il modello BERT (Bidirectional Encoder Representations from Transformers), hanno avuto un impatto significativo sulla NER. Utilizzando un meccanismo di auto-attenzione che soppesa l'importanza delle diverse parole, il BERT tiene conto dell'intero contesto di una parola osservando le parole che la precedono e la seguono.

Il processo NER

Fase 1. Raccolta dei dati

Il primo passo della NER consiste nell'aggregare un set di dati di testo annotato. Il set di dati deve contenere esempi di testo in cui le entità denominate sono etichettate o contrassegnate, indicandone i tipi. Le annotazioni possono essere eseguite manualmente o utilizzando metodi automatizzati.

Fase 2. Pre-elaborazione dei dati

Una volta raccolto il set di dati, il testo deve essere pulito e formattato. Potrebbe essere necessario rimuovere i caratteri non necessari, normalizzare il testo e/o suddividere il testo in frasi o token.

Fase 3. Estrazione delle caratteristiche

Durante questa fase, le caratteristiche rilevanti vengono estratte dal testo pre-elaborato. Queste caratteristiche possono includere etichettatura part-of-speech (POS tagging), incorporamenti di parole e informazioni contestuali, tra le altre. La scelta delle caratteristiche dipenderà dal modello NER specifico utilizzato dall'organizzazione.

Fase 4. Addestramento del modello

Il passaggio successivo consiste nell'addestrare un modello di machine learning o deep learning utilizzando il set di dati annotati e le caratteristiche estratte. Il modello impara a identificare i pattern e le relazioni tra le parole nel testo, così come le relative etichette delle entità denominate.

Fase 5. Valutazione del modello

Dopo aver eseguito l'addestramento del modello NER, è necessario valutarlo per valutarne le prestazioni. È possibile misurare metriche come la precisione, il richiamo e il punteggio F1, che indicano quanto bene il modello identifica e classifica correttamente le entità denominate.

Passaggio 6. Messa a punto del modello

Sulla base dei risultati della valutazione, si potrà perfezionare il modello per migliorarne le prestazioni. Ciò può includere la regolazione degli iperparametri, la modifica dei dati di addestramento e/o l'utilizzo di tecniche più avanzate (ad esempio, l'ensembling o l'adattamento del dominio).

Fase 7. Inferenza

A questo punto, è possibile iniziare a utilizzare il modello per fare inferenze su testo nuovo e non visibile. Il modello prenderà il testo di input, applicherà i passaggi di pre-elaborazione, estrarrà le caratteristiche pertinenti e infine prevederà le etichette delle entità denominate per ogni token o intervallo di testo.

Fase 8. Post-elaborazione

Potrebbe essere necessario che l'output del modello NER debba essere sottoposto a fasi di post-elaborazione per perfezionare i risultati e/o aggiungere informazioni contestuali. Inoltre, potrebbe essere necessario completare attività come il collegamento delle entità, in cui le entità denominate sono collegate a basi di conoscenza o database per un ulteriore arricchimento.

Implementazione del processo NER

Il modo più semplice per implementare un sistema di named entity recognition è fare affidamento su un'application programming interface (API). Le API NER sono interfacce locali o basate sul web che forniscono l'accesso alle funzionalità NER.Alcuni esempi popolari di API NER sono:

Natural Language Toolkit (NLTK)

NLTK è una piattaforma open source leader per la creazione di programmi Python che funzionano con i dati del linguaggio umano. Fornisce interfacce di facile utilizzo per oltre 100 modelli di estrazione addestrati2. Include inoltre librerie di elaborazione del testo per la classificazione, la tokenizzazione, lo stemming, il tagging, il parsing e il ragionamento semantico. NLKT ha un proprio classificatore per riconoscere le entità denominate, chiamato ne_chunk, ma fornisce anche un wrapper per utilizzare il tagger NER di Stanford in Python.

Stanford Named Entity Recognizer

Sviluppato dalla Stanford University, la Stanford NER è un'implementazione Java ampiamente considerata la libreria standard per l'estrazione di entità. Si basa su CRF e fornisce modelli pre-addestrati per l'estrazione di entità denominate.

SpaCy

Scritta in Python e nota per la sua velocità e facilità d'uso, spaCy è una libreria software open source per l'NLP avanzato. È basato sulle ricerche più recenti ed è stato progettato per essere utilizzato con prodotti reali. Dispone inoltre di un sistema statistico avanzato che consente agli utenti di costruire estrattori NER personalizzati.

Applicazioni della NER

Con la continua evoluzione delle tecnologie, i sistemi NER diventeranno sempre più onnipresenti, aiutando le organizzazioni a dare un senso ai dati in cui si imbattono ogni giorno. Finora, si sono dimostrati determinanti in molteplici settori, dalla sanità alla finanza, dal servizio clienti alla cybersecurity.

Alcuni dei casi d'uso di maggior impatto sono:

Estrazione delle informazioni

La NER è un primo passo cruciale per l'estrazione di informazioni utili e strutturate da database di grandi dimensioni e non strutturati.I motori di ricerca utilizzano la NER per migliorare la pertinenza e la precisione dei risultati di ricerca.

Aggregazione automatizzata delle notizie

Gli aggregatori di notizie utilizzano la NER per classificare articoli e storie in base alle entità denominate che contengono, consentendo un modo più organizzato ed efficiente di presentare le notizie al pubblico. Ad esempio, la NER per le app di notizie automatizza il processo di classificazione, raggruppando notizie simili e fornendo una visione più completa di determinati fatti di cronaca.

Monitoraggio dei social media

Con la proliferazione delle piattaforme di social media, la quantità di dati testuali disponibili per l'analisi è diventata enorme. Il NER svolge un ruolo significativo nell'analisi dei social media, identificando le entità chiave nei post e nei commenti per comprendere le tendenze e le opinioni pubbliche su diversi argomenti (in particolare le opinioni su marchi e prodotti). Queste informazioni possono aiutare le aziende a condurre analisi del sentiment, sviluppare strategie di marketing, creare risposte al servizio clienti e accelerare gli sforzi di sviluppo del prodotto.

Chatbot e assistenti virtuali

Assistenti virtuali e chatbot di AI generativa utilizzano la NER per comprendere con precisione le richieste degli utenti e le domande dell'assistenza clienti. Identificando le entità critiche nelle query degli utenti, questi strumenti basati sull'AI possono fornire risposte precise e specifiche per il contesto. Ad esempio, nella query "Trova ristoranti di soul food vicino a Piedmont Park", la NER aiuta l'assistente a identificare "soul food" come un tipo di cucina, "ristoranti" come un tipo di locale e "Piedmont Park" come una località.

Cybersecurity

Nella cybersecurity, la NER aiuta le aziende a identificare potenziali minacce e anomalie nei log di rete e in altri dati relativi alla sicurezza. Ad esempio, può identificare indirizzi IP, URL, nomi utente e nomi di file sospetti nei log di sicurezza della rete. In quanto tale, la NER può facilitare analisi più approfondite sugli incidenti di sicurezza e migliorare la sicurezza generale della rete.

Le sfide dell'utilizzo della NER

La NER ha fatto molta strada sin dal suo inizio, integrando tecnologie innovative e ampliando in modo prolifico la sua utilità nel corso del tempo. Tuttavia, ci sono alcune sfide degne di nota da considerare nella valutazione delle tecnologie NER.

Sebbene la NER abbia fatto molti progressi per lingue come l'inglese, non ha lo stesso livello di precisione per molte altre lingue. Ciò è spesso dovuto alla mancanza di dati etichettati in queste lingue. La NER interlinguistica, che prevede il trasferimento di conoscenze da una lingua all'altra, è un'area di ricerca attiva che può aiutare a colmare questo divario linguistico.

A volte le entità possono essere annidate all'interno di altre entità, e riconoscere queste entità annidate può essere una sfida. Ad esempio, nella frase "La Pennsylvania State University, University Park è stata fondata nel 1855", sia "Pennsylvania State University" che "La Pennsylvania State University, University Park" sono entità valide.

Inoltre, mentre i modelli NER generali possono identificare entità comuni come nomi e posizioni, possono avere difficoltà con entità specifiche di un determinato dominio. Ad esempio, nel settore medico, l'identificazione di termini complessi come i nomi di malattie o di farmaci può essere impegnativa. I modelli NER per domini specifici possono essere addestrati su dati specializzati specifici del settore, ma procurarsi queste informazioni può rivelarsi una sfida.

I modelli NER possono anche riscontrare problemi più ampi di ambiguità (ad esempio, "Apple" potrebbe riferirsi a un frutto o all'azienda tecnologica), di variazione dei nomi delle entità (ad esempio, "USA", "U.S.A.", "Stati Uniti" e "Stati Uniti d'America" si riferiscono tutti allo stesso paese) e informazioni contestuali limitate (in cui testi e/o frasi non contengono abbastanza contesto per identificare e classificare accuratamente le entità).

Sebbene la NER presenti diverse sfide, i continui progressi ne migliorano costantemente l'accuratezza e l'applicabilità, contribuendo quindi a ridurre al minimo l'impatto delle lacune tecnologiche esistenti.

Il futuro della NER

Sebbene la NER sia un campo ben consolidato, c'è ancora molto lavoro da fare. 

Guardando al futuro, un'area promettente è quella delle tecniche di apprendimento non supervisionato per la NER. Sebbene le tecniche di apprendimento supervisionato abbiano dato buoni risultati, richiedono molti dati etichettati, che possono essere difficili da ottenere. Le tecniche di apprendimento non supervisionato non richiedono dati etichettati e possono aiutare le organizzazioni a superare le sfide relative alla disponibilità dei dati.

Un'altra prospettiva interessante è l'integrazione della NER con altre attività di NLP. Ad esempio, i modelli congiunti per la NER e il collegamento di entità (che comporta il collegamento delle entità alle voci corrispondenti in una base di conoscenza) o la NER e la risoluzione delle coreferenze (che implica determinare quando due o più espressioni in un testo si riferiscono alla stessa entità) potrebbero consentire sistemi in grado di comprendere ed elaborare meglio il testo.

Anche il few-shot learning e la NER multimodale espandono le funzionalità delle tecnologie NER. Con il few-shot learning, i modelli vengono addestrati a svolgere attività con solo pochi esempi, il che può essere particolarmente utile quando i dati etichettati sono scarsi. La NER multimodale, invece, implica l'integrazione del testo con altri tipi di entità. Un'immagine o un brano audio, ad esempio, potrebbe fornire un contesto aggiuntivo che aiuta a riconoscere le entità.

Soluzioni correlate

Soluzioni correlate

IBM watsonx Orchestrate

Progetta facilmente assistenti e agenti di AI scalabili, automatizza le attività ripetitive e semplifica i processi complessi con IBM watsonx Orchestrate.

Scopri watsonx Orchestrate
Strumenti di elaborazione del linguaggio naturale e API

Accelera il valore aziendale dell'intelligenza artificiale con un portfolio potente e flessibile di librerie, servizi e applicazioni.

Esplora le soluzioni NLP
Consulenza e servizi sull'AI

Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

Esplora i servizi AI
Fai il passo successivo

Progetta facilmente assistenti e agenti di AI scalabili, automatizza le attività ripetitive e semplifica i processi complessi con IBM watsonx Orchestrate.

Scopri watsonx Orchestrate Esplora le soluzioni NLP
Note a piè di pagina