NER, acronimo di Named Entity Recognition, si colloca all’interno di un campo di studi denominato information extraction (o estrazione dell’informazione).
Anche conosciuto come Entity Identification e Entity Extraction, si occupa d’identificare e classificare correttamente le Named Entity presenti in un testo in categorie predefinite come persone, luoghi, oggetti, numeri, espressioni temporali e via dicendo.
Combinando le informazioni estratte, un computer è in grado di definire l’argomento di un testo e comprenderlo propriamente.
Appartiene quindi al campo della Natural Language Processing.
Il fulcro del funzionamento di un sistema NER è la cosiddetta knowledge base, abbreviata in KB, contenente una lista di concetti noti, le Named Entities che possono essere estratte da un blocco di testo.
NER: Applicazioni pratiche
Ora che disponiamo di una conoscenza globale del significato del sistema NER, vediamone insieme alcune applicazioni pratiche!
Classificazione notizie e blog post
La Named Entity Recognition applicata a un sito di notizie sarebbe in grado di esplorare ogni articolo redatto e individuare i tag corretti in relazione al contenuto, e quindi all’argomento trattato.
Sarebbe in questo modo migliorata la ricerca dei contenuti e l’organizzazione degli stessi.
Efficienza di ricerca
Un sistema di ricerca convenzionale analizza il contenuto di un testo identificando le parole che corrispondono alla query scelta.
Cosa accadrebbe se dovessimo ricercare una parola in un blog di 10.000 articoli? Il sistema dovrebbe cercare all’interno di ciascuno di essi, e poiché privo di memoria, ripetere questa operazione a ogni nuova query.
Un sistema del genere, oltre a essere poco scalabile, si rivela inefficiente.
La NER risolve questo problema analizzando una sola volta ciascun articolo, estraendone le key words e popolando un elenco di named entities utilizzabili dalle query di ricerca.
In questo modo l’efficienza migliora, e gli utenti sono più felici!
Customer Care
Il customer care delle aziende deve navigare tra centinaia, o migliaia, di messaggi ogni giorno.
Alcuni sono semplici ringraziamenti e prontamente scartati, altri devono essere inviati a reparti specializzati nel prendere in carico una specifica tipologia di problema.
Possiamo automatizzare questo task?
Applichiamo la NER ai testi così da smistare propriamente il messaggio al dipartimento più attinente.
NER: ecco gli algoritmi
Possiamo completare dei task di Named Entity Recognition direttamente sul nostro Jupyter Notebook. Esistono infatti molteplici algoritmi open soruce e facilmente integrabili, tra cui:
Spacy
spaCy, è una libreria python tanto sofisticata e attendibile da essere usata come soluzione aziendale da AirB&B, Quora e Uber.
Fornisce standard elevati di natural language processing, consentendo di processare il testo prima d’integrarlo in processi di deep learning
NLTK
Natural Language ToolKit è una libreria che include differenti tool per effettuare Natural Language Procesing in Python. Per effettuare un’analisi NER, è necessario seguire tre step:
- tokenizzare il testo
- esegurie POS (Part Of Speech) tagging
- effettuare NER
Un caldo abbraccio, Andrea
No Comment