En cualquier documento de texto, hay términos particulares que representan entidades específicas que son más informativas y tienen un contexto único. Estas entidades se conocen como entidades con nombre, que se refieren más específicamente a términos que representan objetos del mundo real como personas, lugares, organizaciones, etc., que a menudo se denotan con nombres propios.
Un enfoque ingenuo podría ser encontrarlos al observar los sintagmas nominales en los documentos de texto. El reconocimiento de entidad con nombre (NER), también conocido como fragmentación / extracción de entidades. Es una técnica popular utilizada en la extracción de información para identificar y segmentar las entidades nombradas y clasificarlas o categorizarlas bajo varias clases predefinidas.
SpaCy tiene algunas capacidades excelentes para nombres reconocimiento de entidad. Probemos y usemos en uno de nuestros artículos de muestra de noticias.
[(US, 'GPE'), (China, 'GPE'), (US, 'GPE'), (China, 'GPE'), (Sunway, 'ORG'), (TaihuLight, 'ORG'), (200,000, 'CARDINAL'), (second, 'ORDINAL'), (Sunway, 'ORG'), (TaihuLight, 'ORG'), (93,000, 'CARDINAL'), (4,608, 'CARDINAL'), (two, 'CARDINAL')]
Visualizando entidades nombradas en un artículo de noticias con spaCy
spacy
. Para comprender más en detalle acerca de lo que significa cada entidad con nombre, puede consultar la documentación o consultar la siguiente tabla para mayor comodidad.
Tipos de entidades con nombre
Ahora podemos transformar y agregar este marco de datos para encontrar las entidades y tipos más importantes.
Principales entidades nombradas y escribe en nuestro corpus de noticias
También podemos agrupar por tipos de entidad para tener una idea de qué tipos de entidades ocurren más en nuestro corpus de noticias.
Arriba tipos de entidades nombradas en nuestro corpus de noticias
Otro buen NER tagger es StanfordNERTagger
disponible desde la interfaz nltk
. Para esto, necesita tener Java instalado y luego descargar los recursos Stanford NER . Descomprímelos en la ubicación que prefiera (utilicé E: / stanford
en mi sistema).
El Reconocimiento de Entidades Nombradas de Stanford se basa en una implementación de modelos de secuencia de campo aleatorio condicional (CRF) de cadena lineal. Desafortunadamente, este modelo solo se entrena en instancias de PERSON ORGANIZATION y LOCATION types.
El siguiente código puede usarse como un flujo de trabajo estándar que nos ayuda a extraer las entidades nombradas utilizando este etiquetador y mostrar las principales entidades nombradas y sus tipos (la extracción difiere ligeramente de spacy
).
Principales entidades y tipos nombrados de Stanford NER en nuestro corpus de noticias