Blog.

Cos’è NER: Named Entity Recognition


Autore
Andrea Provino
Data
Tempo di lettura
3 minuti
Categoria
AI

named-entity-recognition-ner-spiegazione-italiano-esempi-ner-applicazioni-natural-language-processing

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

TaggedAInatural language processing


Ultimi post

Patricia Merkle Trie

Il Practical Algorithm To Retrieve Information Coded In Alphanumeric Merkle Trie, o Patricia Merkle Trie è una struttura dati chiave-valore usatada Ethereum e particolarmente efficiente per il salvataggio e la verifica dell’integrità dell’informazione. In questo post ne studieremo le caratteristiche. Prima di procedere, ci conviene ripassare l’introduzione al Merkle Tree nella quale abbiamo chiarito il […]

Andrea Provino
ethereum-patricia-merkle-tree
Tree Data Structure: cos’è un Merkle Tree

Un Merkle Tree è una struttura dati efficiente per verificare che un dato appartenga a un insieme esteso di elementi. È comunemente impiegato nelle Peer to Peer network in cui la generazione efficiente di prove (proof) contribuisce alla scalabilità della rete. Capire i vantaggi di questa struttura ci tornerà utile nel nostro percorso di esplorazione […]

Andrea Provino
merkle-tree-cover
UTXO: come funziona il modello Unspent Transaction Outputs

Per tenere traccia dei bilanci utente, la blockchain di Bitcoin sfrutta un modello di contabilità definito UTXO o Unspent Transaction Outputs. In questo articolo ne esaminiamo le caratteristiche. Ogni blockchain è dotata di un sistema di contabilità, un meccanismo attraverso cui tenere traccia dei bilanci di ciascun utente. I due grandi modelli di riferimento nel […]

Andrea Provino
bitcoin-utxo
Cos’è Ethereum

Possiamo definire Ethereum come una macchina a stati distribuita che traccia le transizioni di un archivio dati general-purpose (i.e. una memoria in grado di registrare qualsiasi dato esprimibile come coppia di chiave e valore o key-value) all’interno della Ethereum Blockchain. È arrivato il momento di esplorare uno dei progetti tecnologici più innovativi e interessanti degli […]

Andrea Provino
ethereum