El Reconocimiento de entidades nombradas (NER por sus siglas en inglés) (también conocido como extracción de entidades) es una tarea de extracción de información que busca localizar y clasificar en categorías predefinidas, como personas, organizaciones, lugares, expresiones de tiempo y cantidades, las entidades nombradas encontradas en un texto.
La mayor parte de la investigación en NER han sido realizadas sobre bloques de texto no anotado, como el siguiente:
Y produce un bloque de texto anotado que destaca los nombres de entidades:
En este ejemplo, han sido detectados y clasificados el nombre de una persona que consta de un token o componente léxico, un nombre de compañía de dos tokens y una expresión temporal.
Los sistemas de reconocimiento de entidades para el inglés tienen un rendimiento cercano al humano. Por ejemplo, el mejor sistema presentado en el MUC-7 obtuvo una puntuación de 93.39% de valor-F mientras que anotadores humanos puntuaron 97.60% y 96.95%.[1][2]
En la expresión entidad nombrada, la palabra nombrada restringe la tarea a aquellas entidades para las cuales existe uno o más de un designador_rígido, definidos por Kripke. Por ejemplo, la compañía automotriz creada por Henry Ford en 1903 está relacionada con los designadores Ford o Ford Motor Company. Los designadores rígidos incluyen tanto nombres propios como términos para ciertas especies biológicas y sustancias.[3]
El Reconocimiento de entidades nombradas a menudo se divide, conceptualmente y posiblemente también en su implementación, en dos problemas distintos: detección de nombres, y clasificación de los nombres según el tipo de entidad al que hacen referencia a (persona, organización, ubicación y otro).[4][5] La primera fase generalmente se reduce a un problema de segmentación: los nombres son una secuencia contigua de tokens, sin solapamiento ni anidamiento, de modo que "Bank of America" es un nombre único, a pesar del hecho de que dentro de este nombre aparezca, la subcadena América que es a su vez un nombre.
Las expresiones temporales y algunas expresiones numéricas (dinero, porcentajes, etc.) también pueden ser considerados entidades en el contexto del NER. Mientras algunos casos de estos tipos son ejemplos buenos de designadores rígidos (p. ej., el año 2001), hay también muchos inválidos (p. ej., tomo mis vacaciones en “junio”). En el primer caso, el año 2001 refiere al 2001.º año del calendario gregoriano. En el segundo caso, el mes de junio puede referir al mes de cualquier año (junio pasado, el próximo junio, junio 2020, etc.). La definición de entidad nombrada no es estricta y a menudo tiene que ser explicada en el contexto en qué se está utilizado.[6]
En la literatura se han propuesto diversas jerarquías de tipos de entidades nombradas. BBN categories, propuesta en 2002, se utiliza para Búsqueda de respuestas y consta de 29 tipos y 64 subtipos.[7] La jerarquía de Sekine, propuesta en 2002, está compuesta de 200 subtipos.[8] Más recientemente, en 2011, Alan Ritter utilizó una jerarquía basada en los tipos de entidades de Freebase en experimentos de vanguardia de reconocimiento de entidades en textos de medios de comunicación sociales.[9]
Para evaluar la calidad de un sistema de NER se han definido varias medidas. La exactitud a nivel de token es una posibilidad, pero tiene dos problemas: la mayoría de los tokens en textos de la vida real no son parte de entidades nombradas, así que la exactitud de un sistema que pronostica siempre "no una entidad" es muy alto, generalmente mayor que el 90%; y un error en la delimitación de una entidad nombrada no es debidamente penalizado. Por ejemplo, detectar solo el primer nombre de la persona cuando le sigue su apellido se puntúa con ½ exactitud).
En conferencias académicas como CoNLL, se ha definido una variante del valor-F de la siguiente manera:
Se han propuesto modelos de evaluación basados en un emparejamiento token-por-token.[10] Tales modelos permiten una evaluación más detallada y hacer una comparación de los sistemas de extracción existentes, teniendo en cuenta también el grado de disparidad en predicciones no exactas.
Se han creado sistemas NER empleando técnicas basadas en gramáticas lingüísticas y modelos estadísticos, i.e. aprendizaje de máquina. Los sistema basados en gramáticas y elaborados a manos obtienen generalmente una mejor precisión, pero a expensas de un menor recobrado y meses de trabajo de lingüistas computacionales experimentados. El NER estadístico comúnmente requieren un conjunto entrenante grande de datos anotados manualmente. Se han propuesto métodos semisupervisedos para evitar parte del esfuerzo de anotación.[11][12]
Muchos clasificadores diferentes han sido utilizados para NER usando aprendizaje de máquina. Los campos aleatorios condicionales son una elección común.[13]
Las investigaciones realizadas indican que incluso los sistemas NER más avanzadas son frágiles, dado que los sistemas NER desarrollados para un dominio no suelen comportarse bien en otros dominios.[14] La puesta a punto de un sistema NER para un nuevo dominio conlleva un esfuerzo considerable. Esto es cierto para modelos basados en reglas y para sistemas estadísticos.
Los primeros sistemas NER desarrollados en los 90 estuvieron encaminados a la extracción de entidades en artículos periodísticos. Más adelante la atención se centró en el procesamiento de informes y despachos militares. Tras esto la extracción de contenido automática se extendió a varios tipos de textos de estilo informal, como weblogs y transcripciones de conversaciones telefónicas. Desde 1998 aproximadamente, ha habido un gran interés en la identificación de entidades en la biología molecular, bioinformática, y el procesamiento de lenguaje natural. Las entidades de mayor interés han sido nombres de genes y productos génicos. Ha habido también un interés considerable en el reconocimiento de fármacos y entidades químicas en el contexto de la competición CHEMDNER, que cuenta con la participación de 27 equipos.[15]
A pesar de los altos valores F obtenidos en el conjunto de dato MUC-7, el problema de Reconocimiento de Entidades Nombradas está lejos de estar solucionado. Los mayores esfuerzos están dirigidos a reducir el trabajo de anotación empleando aprendizaje semisupervisado, rendimiento robusto en varios dominios y lograr los mismos resultados con tipos de entidades más específicos.[11][16][17][18][8][19] En años recientes, muchos proyectos han empleado crowdsourcing. Esta es una solución prometedora para obtener conjuntos entrenantes de alta calidad y anotados por humanos para ser usados en sistemas NER estadísticos.[20] Otra tarea desafiante es encontrar modelos para lidiar con contextos lingüísticamente complejos como Twitter y consultas de búsqueda.[21]
Una tarea incipiente es la de identificar "expresiones importantes" en un texto y enlazarlas a páginas de Wikipedia. Esto puede ser visto como un caso particular del reconocimiento de entidades nombradas, donde los tipos son las páginas de Wikipedia que describen conceptos (potencialmente ambiguos).[22][23][24] El siguiente es un ejemplo de la salida de un sistema que enlaza entidades a páginas de Wikipedia:
<ENTITY url="http://en.wikipedia.org/wiki/Michael_I._Jordan"> Michael Jordan </ENTITY> is a professor at <ENTITY url="http://en.wikipedia.org/wiki/University_of_California,_Berkeley"> Berkeley </ENTITY>