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.
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.
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:
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.
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.
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.
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.
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.
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).
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.
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.
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:
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.
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.
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.
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:
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.
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.
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.
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à.
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.
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.
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à.
Progetta facilmente assistenti e agenti di AI scalabili, automatizza le attività ripetitive e semplifica i processi complessi con IBM watsonx Orchestrate.
Accelera il valore aziendale dell'intelligenza artificiale con un portfolio potente e flessibile di librerie, servizi e applicazioni.
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.
1 Analytics and AI-driven enterprises thrive in the Age of With, Deloitte Insights, 25 luglio 2019
2 3 strumenti NLP open source per l'estrazione dei dati, InfoWorld, 10 luglio 2023
IBM web domains
ibm.com, ibm.org, ibm-zcouncil.com, insights-on-business.com, jazz.net, mobilebusinessinsights.com, promontory.com, proveit.com, ptech.org, s81c.com, securityintelligence.com, skillsbuild.org, softlayer.com, storagecommunity.org, think-exchange.com, thoughtsoncloud.com, alphaevents.webcasts.com, ibm-cloud.github.io, ibmbigdatahub.com, bluemix.net, mybluemix.net, ibm.net, ibmcloud.com, galasa.dev, blueworkslive.com, swiss-quantum.ch, blueworkslive.com, cloudant.com, ibm.ie, ibm.fr, ibm.com.br, ibm.co, ibm.ca, community.watsonanalytics.com, datapower.com, skills.yourlearning.ibm.com, bluewolf.com, carbondesignsystem.com, openliberty.io