2009-11-23 7 views
20

Ahora estoy a punto de informar los resultados del Reconocimiento de entidad con nombre. Una cosa que encuentro un poco confusa es que mi comprensión de la precisión y el recuerdo es que uno simplemente resume verdaderos positivos, verdaderos negativos, falsos positivos y falsos negativos en todas las clases.Precisión de cálculo y recuperación en Reconocimiento de entidad con nombre

Pero esto parece inverosímil ahora que lo pienso ya que cada clasificación errónea daría lugar simultáneamente a un falso positivo y un falso negativo (por ejemplo, un token que debería haber sido etiquetado como "A" pero fue etiquetado como "B" un falso negativo para "A" y falso positivo para "B"). Por lo tanto, el número de falsos positivos y falsos negativos en todas las clases sería el mismo, lo que significa que la precisión es (¡siempre!) Igual a recordar. Esto simplemente no puede ser cierto, así que hay un error en mi razonamiento y me pregunto dónde está. Sin duda, es algo bastante obvio y directo, pero me escapa en este momento.

Respuesta

32

La forma en que se calcula la precisión y la recuperación (esto es lo que uso en mis documentos) es medir entidades entre sí. Suponiendo que la realidad del terreno tiene la siguiente (sin ninguna differentiaton en cuanto a qué tipo de entidades son)

[Microsoft Corp.] CEO [Steve Ballmer] announced the release of [Windows 7] today

Esto tiene 3 entidades.

Suponiendo que su extracción real tiene las siguientes

[Microsoft Corp.] [CEO] [Steve] Ballmer announced the release of Windows 7 [today]

Usted tiene una coincidencia exacta para Microsoft Corp, los falsos positivos para CEO y today, un falso negativo para Windows 7 y un partido de subcadena para Steve

Calculamos la precisión y el recuerdo definiendo primero los criterios de coincidencia. Por ejemplo, ¿tienen que ser una coincidencia exacta? ¿Es un partido si se superponen en absoluto? ¿Importan los tipos de entidad? Por lo general, queremos proporcionar precisión y recuperación para varios de estos criterios.

Concordancia exacta: verdaderos positivos = 1 (Microsoft Corp., la única coincidencia exacta), Falsos Positivos = 3 (CEO, today, y Steve, que no es una coincidencia exacta), falsos negativos = 2 (Steve Ballmer y Windows 7)

Precision = True Positives/(True Positives + False Positives) = 1/(1+3) = 0.25 
Recall = True Positives/(True Positives + False Negatives) = 1/(1+2) = 0.33 

cualquier superposición OK: verdaderos positivos = 2 (Microsoft Corp., y Steve que se solapa Steve Ballmer), falsos positivos = 2 (CEO, y today), falsos negativos = 1 (Windows 7)

Precision = True Positives/(True Positives + False Positives) = 2/(2+2) = 0.55 
Recall = True Positives/(True Positives + False Negatives) = 2/(2+1) = 0.66 

El lector se deja inferir que el "rendimiento real" (la precisión y recordar que un humano de damas imparcial daría cuando se les permite utilizar humana el juicio para decidir qué discrepancias superpuestas son significativas, y cuáles no) se encuentra en algún lugar entre los dos.

También suele ser útil informar la medida F1, que es la media armónica de precisión y recuperación, y que da una idea de "rendimiento" cuando tiene que sacrificar la precisión contra la recuperación.

+0

+1 por ser exhaustivo! – KillBill

+0

Gran respuesta. Pregunta: ¿Qué significa "Verdadero Negativo" en este contexto? Es necesario para calcular la precisión, creo. –

+0

Supongamos que evalúo según la segunda estrategia (la superposición es correcta). ¿Cómo lidiar con situaciones como [Steve] [Ballmer]? ¿Cómo se calculan los verdaderos positivos ya que ambas coincidencias (parciales) son correctas? –

2

No hay una respuesta correcta simple a esta pregunta. Hay una variedad de formas diferentes de contar los errores. Las competencias de MUC usaron una, otras personas han usado otras.

Sin embargo, para ayudarle con su confusión inmediata:

Usted tiene un conjunto de etiquetas, no? Algo como NONE, PERSON, ANIMAL, VEGETABLE?

Si un token debe ser una persona, y lo etiqueta NINGUNO, entonces eso es un falso positivo para NINGUNO y un falso negativo para PERSONA. Si un token debe ser NONE y lo etiqueta PERSON, es al revés.

Para obtener un puntaje para cada tipo de entidad.

También puede agregar esos puntajes.

2

Para que quede claro, estas son las definiciones:

de precisión = TP/(TP + FP) = ¿Qué parte de lo que se encontró fue molido verdad?

Recall = TP/(TP + FN) = ¿Qué parte de la verdad del suelo recuperó?

No necesariamente será siempre igual, ya que el número de falsos negativos no será necesariamente igual al número de falsos positivos.

Si entiendo bien su problema, está asignando cada token a una de más de dos etiquetas posibles. Para que la precisión y el recuerdo tengan sentido, debe tener un binary classifier. De modo que podría usar la precisión y recordar si formuló una frase del clasificador como si un token está en el Grupo "A" o no, y luego lo repite para cada grupo. En este caso, una clasificación perdida contaría dos veces como un falso negativo para un grupo y un falso positivo para otro.

Si está haciendo una clasificación como esta en la que no es binaria (asignando cada token a un grupo) podría ser útil observar pares de tokens. Exprese su problema como "¿Son tokens X e Y en el mismo grupo de clasificación?". Esto le permite calcular la precisión y recuperar todos los pares de nodos. Esto no es tan apropiado si sus grupos de clasificación están etiquetados o tienen significados asociados. Por ejemplo, si sus grupos de clasificación son "Frutas" y "Verduras", y clasifica "Manzanas" y "Naranjas" como "Verduras", entonces este algoritmo lo calificaría como un verdadero positivo aunque se le asignó el grupo equivocado. Pero si sus grupos no están disponibles, por ejemplo "A" y "B", entonces si las manzanas y las naranjas se clasificaron como "A", después podría decir que "A" corresponde a "Frutas".

6

En el CoNLL-2003 NER task, la evaluación se basó en entidades marcadas correctamente, no en tokens, como se describe en el documento 'Introduction to the CoNLL-2003 Shared Task: Language-Independent Named Entity Recognition'. Una entidad está marcada correctamente si el sistema identifica una entidad del tipo correcto con el punto inicial y final correctos en el documento. Prefiero este enfoque en la evaluación porque está más cerca de una medida del rendimiento en la tarea real; un usuario del sistema NER se preocupa por las entidades, no por los tokens individuales.

Sin embargo, el problema que describió todavía existe. Si marca una entidad de tipo ORG con el tipo LOC, incurrirá en un falso positivo para LOC y un falso negativo para ORG. Hay una discusión interesante sobre el problema en este blog post.

+0

Sus enlaces ya no funcionan. Aquí están trabajando. NER tarea CoNLL-2003: https://www.clips.uantwerpen.be/conll2003/ner/ papel: https://www.clips.uantwerpen.be/conll2003/pdf/14247tjo.pdf – Martin

+0

@ Martin Repare los enlaces, gracias por los comentarios. – Stompchicken

2

Como se mencionó anteriormente, existen diferentes formas de medir el rendimiento de NER.Es posible evaluar por separado cómo se detectan las entidades con precisión en términos de posición en el texto y en términos de su clase (persona, ubicación, organización, etc.). O para combinar ambos aspectos en una sola medida.

Encontrará una buena reseña en la siguiente tesis: D. Nadeau, Semi-Supervised Named Entity Recognition: Learning to Recognize 100 Entity Types with Little Supervision (2007). Eche un vistazo a la sección 2.6. Evaluación de NER.

Cuestiones relacionadas