El reconocimiento de entidades nombradas ( NER ) (también conocido como identificación de entidades (nombradas) , fragmentación de entidades y extracción de entidades ) es una subtarea de extracción de información que busca localizar y clasificar entidades nombradas mencionadas en texto no estructurado en categorías predefinidas, como nombres de personas, organizaciones, ubicaciones, códigos médicos , expresiones de tiempo, cantidades, valores monetarios, porcentajes, etc.
La mayor parte de las investigaciones sobre los sistemas NER/NEE se han estructurado tomando un bloque de texto sin anotaciones, como éste:
Jim compró 300 acciones de Acme Corp. en 2006.
Y producir un bloque de texto anotado que resalta los nombres de las entidades:
[Jim] Person compró 300 acciones de la Organización [Acme Corp.] en [2006] Time .
En este ejemplo, se ha detectado y clasificado un nombre de persona compuesto de un token, un nombre de empresa de dos tokens y una expresión temporal.
Los sistemas NER de última generación para inglés producen un rendimiento casi humano. Por ejemplo, el mejor sistema que entró en el MUC-7 obtuvo una puntuación del 93,39 % de la medida F , mientras que los anotadores humanos obtuvieron una puntuación del 97,60 % y del 96,95 % respectivamente. [1] [2]
Las plataformas NER notables incluyen:
En la expresión entidad nombrada , la palabra nombrada restringe la tarea a aquellas entidades para las cuales una o muchas cadenas, como palabras o frases, representan (bastante) consistentemente algún referente. Esto está estrechamente relacionado con los designadores rígidos , como los define Kripke , [5] [6] aunque en la práctica NER trata con muchos nombres y referentes que no son filosóficamente "rígidos". Por ejemplo, la compañía automotriz creada por Henry Ford en 1903 puede ser referida como Ford o Ford Motor Company , aunque "Ford" también puede referirse a muchas otras entidades (ver Ford ). Los designadores rígidos incluyen nombres propios así como términos para ciertas especies y sustancias biológicas, [7] pero excluyen pronombres (como "it"; ver resolución de correferencia ), descripciones que seleccionan un referente por sus propiedades (ver también De dicto y de re ), y nombres para tipos de cosas en oposición a individuos (por ejemplo "Bank").
El reconocimiento completo de entidades nombradas se suele dividir, conceptualmente y posiblemente también en las implementaciones, [8] en dos problemas distintos: detección de nombres y clasificación de los nombres por el tipo de entidad al que hacen referencia (por ejemplo, persona, organización o ubicación). [9] La primera fase se suele simplificar a un problema de segmentación: los nombres se definen como tramos contiguos de tokens, sin anidación, de modo que "Bank of America" es un solo nombre, sin tener en cuenta el hecho de que dentro de este nombre, la subcadena "America" es en sí misma un nombre. Este problema de segmentación es formalmente similar al chunking . La segunda fase requiere elegir una ontología mediante la cual organizar categorías de cosas.
Las expresiones temporales y algunas expresiones numéricas (p. ej., dinero, porcentajes, etc.) también pueden considerarse entidades con nombre en el contexto de la tarea NER. Si bien algunas instancias de estos tipos son buenos ejemplos de designadores rígidos (p. ej., el año 2001), también hay muchos que no son válidos (p. ej., tomo mis vacaciones en “junio”). En el primer caso, el año 2001 se refiere al año 2001 del calendario gregoriano . En el segundo caso, el mes junio puede referirse al mes de un año indefinido ( junio pasado , junio próximo , cada junio , etc.). Se puede argumentar que la definición de entidad con nombre se flexibiliza en tales casos por razones prácticas. Por lo tanto, la definición del término entidad con nombre no es estricta y a menudo debe explicarse en el contexto en el que se utiliza. [10]
En la literatura se han propuesto ciertas jerarquías de tipos de entidades con nombre. Las categorías BBN , propuestas en 2002, se utilizan para responder preguntas y constan de 29 tipos y 64 subtipos. [11] La jerarquía extendida de Sekine, propuesta en 2002, está compuesta por 200 subtipos. [12] Más recientemente, en 2011, Ritter utilizó una jerarquía basada en tipos de entidades comunes de Freebase en experimentos innovadores sobre NER sobre texto de redes sociales . [13]
Para evaluar la calidad de la salida de un sistema NER, se han definido varias medidas. Las medidas habituales se denominan precisión, recuperación y puntuación F1 . Sin embargo, quedan varios problemas por resolver en cuanto a cómo calcular esos valores.
Estas medidas estadísticas funcionan razonablemente bien para los casos obvios de encontrar o no una entidad real con exactitud; y para encontrar una entidad no real. Sin embargo, la NER puede fallar de muchas otras maneras, muchas de las cuales podrían decirse que son "parcialmente correctas", y no deberían considerarse como éxitos o fracasos completos. Por ejemplo, identificar una entidad real, pero:
Un método demasiado simple para medir la precisión consiste simplemente en contar qué fracción de todos los tokens del texto se identificaron correcta o incorrectamente como parte de referencias de entidades (o como entidades del tipo correcto). Esto presenta al menos dos problemas: primero, la gran mayoría de tokens en el texto del mundo real no son parte de nombres de entidades, por lo que la precisión de referencia (predecir siempre "no es una entidad") es extravagantemente alta, típicamente >90%; y segundo, predecir incorrectamente el rango completo de un nombre de entidad no se penaliza adecuadamente (encontrar solo el nombre de pila de una persona cuando aparece su apellido puede calificarse como una precisión de ½).
En conferencias académicas como CoNLL, se ha definido una variante de la puntuación F1 de la siguiente manera: [9]
De la definición anterior se desprende que cualquier predicción que no incluya un solo token, incluya un token espurio o tenga la clase incorrecta es un error grave y no contribuye positivamente ni a la precisión ni a la recuperación. Por lo tanto, se puede decir que esta medida es pesimista: puede darse el caso de que muchos "errores" estén cerca de ser correctos y podrían ser adecuados para un propósito determinado. Por ejemplo, un sistema podría omitir siempre títulos como "Ms." o "Ph.D.", pero compararse con un sistema o datos de verdad fundamental que espera que se incluyan títulos. En ese caso, cada uno de esos nombres se trata como un error. Debido a estos problemas, es importante examinar realmente los tipos de errores y decidir qué importancia tienen en función de los objetivos y requisitos de cada uno.
Se han propuesto modelos de evaluación basados en un emparejamiento token por token. [14] A estos modelos se les puede dar crédito parcial por emparejamientos superpuestos (como el uso del criterio de intersección sobre unión ). Permiten una evaluación y comparación más detallada de los sistemas de extracción.
Se han creado sistemas NER que utilizan técnicas basadas en gramática lingüística , así como modelos estadísticos como el aprendizaje automático . Los sistemas basados en gramática elaborados a mano suelen obtener una mayor precisión, pero a costa de una menor capacidad de recuperación y meses de trabajo por parte de lingüistas computacionales experimentados . [15] Los sistemas NER estadísticos suelen requerir una gran cantidad de datos de entrenamiento anotados manualmente. Se han sugerido enfoques semisupervisados para evitar parte del esfuerzo de anotación. [16] [17]
Se han utilizado muchos tipos diferentes de clasificadores para realizar NER aprendido por máquina, siendo los campos aleatorios condicionales una opción típica. [18]
En 2001, una investigación indicó que incluso los sistemas NER de última generación eran frágiles, lo que significa que los sistemas NER desarrollados para un dominio no solían tener un buen desempeño en otros dominios. [19] Se requiere un esfuerzo considerable para ajustar los sistemas NER para que funcionen bien en un nuevo dominio; esto es cierto tanto para los sistemas estadísticos entrenables como para los basados en reglas.
Los primeros trabajos en sistemas NER en la década de 1990 se dirigieron principalmente a la extracción de artículos periodísticos. Luego, la atención se centró en el procesamiento de despachos e informes militares. Las etapas posteriores de la evaluación de la extracción automática de contenido (ACE) también incluyeron varios tipos de estilos de texto informales, como blogs y transcripciones de texto de conversaciones telefónicas. Desde aproximadamente 1998, ha habido un gran interés en la identificación de entidades en las comunidades de biología molecular , bioinformática y procesamiento del lenguaje natural médico . La entidad de interés más común en ese dominio ha sido los nombres de genes y productos genéticos. También ha habido un interés considerable en el reconocimiento de entidades químicas y medicamentos en el contexto de la competencia CHEMDNER, con 27 equipos participando en esta tarea. [20]
A pesar de los altos números de F1 reportados en el conjunto de datos MUC-7, el problema del reconocimiento de entidades nombradas está lejos de ser resuelto. Los principales esfuerzos están dirigidos a reducir el trabajo de anotaciones mediante el empleo de aprendizaje semi-supervisado , [16] [21] rendimiento robusto en todos los dominios [22] [23] y escalamiento a tipos de entidad de grano fino. [12] [24] En los últimos años, muchos proyectos han recurrido al crowdsourcing , que es una solución prometedora para obtener juicios humanos agregados de alta calidad para enfoques de aprendizaje automático supervisados y semi-supervisados para NER. [25] Otra tarea desafiante es diseñar modelos para lidiar con contextos lingüísticamente complejos como Twitter y consultas de búsqueda. [26]
Hay algunos investigadores que hicieron algunas comparaciones sobre el rendimiento de NER de diferentes modelos estadísticos como HMM ( modelo oculto de Markov ), ME ( entropía máxima ) y CRF ( campos aleatorios condicionales ) y conjuntos de características. [27] Y algunos investigadores propusieron recientemente un modelo de aprendizaje semisupervisado basado en gráficos para tareas NER específicas del lenguaje. [28]
Una tarea que ha surgido recientemente para identificar "expresiones importantes" en el texto y vincularlas con Wikipedia [29] [30] [31] puede verse como un ejemplo de reconocimiento de entidades nombradas de grano extremadamente fino, donde los tipos son las páginas reales de Wikipedia que describen los conceptos (potencialmente ambiguos). A continuación se muestra un ejemplo de salida de un sistema de wikificación:
<ENTITY url = "https://en.wikipedia.org/wiki/Named_Entity_Recognition/Michael_I._Jordan" > Michael Jordan </ENTITY> es profesor en <ENTITY url= "https://en.wikipedia.org/wiki/Named_Entity_Recognition/University_of_California,_Berkeley" > Berkeley </ENTITY>
Otro campo que ha experimentado avances pero sigue siendo desafiante es la aplicación de NER a Twitter y otros microblogs, considerados "ruidosos" debido a la ortografía no estándar, la brevedad y la informalidad de los textos. [32] [33] Las comunidades de investigación han organizado desafíos de NER en tweets en inglés para comparar el rendimiento de varios enfoques, como LSTM bidireccionales , aprendizaje para buscar o CRF. [34] [35] [36]