miércoles, 10 de junio de 2015

Extracción de Información: cómo evaluar el reconocimiento de nombres de entidades (NER)

Cuando aplicamos un algoritmo de reconocimiento de entidades, lo más probable es que parta el texto de entrada en tokens, es decir en palabras (ver post de tokenización). Con lo cual, siguiendo con el ejemplo anterior, obtendremos una primera salida como la siguiente:

Ready  =>libro
Player  =>libro
One     => Libro
Ernest  =>Persona
Cline.   => Persona
España   => Lugar, país
2011       => Fecha, año

Si queremos medir la precisión o incluso el recall (exactitud) de nuestro indicador, hay que hacerlo evaluando las entidades identificadas correctamente y NO los tokens. Es decir que sobre la salida anterior hay que realizar una tarea adicional, la cual consiste en identificar los limites de la entidad (el conjunto de tokens que la identifican):

Ready   =>libro 
Player   =>libro  
One      => Libro
Ernest   =>Persona
Cline.    => Persona
España  => Lugar, país
2011     => Fecha, año

En el ejemplo anterior identifiqué con colores el grupo de tokens que representan a la entidad. Si tuviésemos que medir la precisión para el ejemplo diríamos que hay 4 entidades clasificadas y que todas han sido identificadas correctamente.



Pero que pasa en el siguiente ejemplo (en inglés):

"First Bank of Chicago announced earnings..." (Primer Banco de Chicago anunció ganancias...)

En este ejemplo, "First Bank of Chicago" es el nombre de la entidad. Pero dada la estructura de la oración y teniendo en cuenta que la palabra "first" (primero en inglés) es bastante común, es muy probable que un algoritmo la ignore y solo reconozca: "Bank of Chicago" como nombre de entidad. De hecho la estructura: "First <entidad> announced" sería una estructura probable para un conjunto de entrenamiento, ejemplo: "First Google announced..." (Primero Google anunció que...)

¿Qué sucede en este caso?

1. Tenemos un error de precisión ya que la entidad extraída no coincide
2. Tenemos un error de recall (exactitud) ya que la entidad: "First Bank of Chicago" fue ignorada del corpus.

Es decir que el costo de una mala extracción es doble, en este caso hubiese sido mejor no extraer nada en absoluto. Por ejemplo para una medida F1 donde se combinan la precisión y la exactitud es mejor que la identificación no se haga a que se haga de forma parcial.

Hay que saber que a pesar de eso, se utilizan estas medidas pero también existen otras métricas que dan un crédito parcial a las entidades reconocidas "parcialmente". Por ejemplo: MUC scorer


No hay comentarios:

Publicar un comentario