Métricas de Evaluación en el Procesamiento del Lenguaje Natural — BLEU

En esta serie de publicaciones, analizaremos las métricas de evaluación que son específicas de los casos de uso en el área de procesamiento del lenguaje natural. Las tareas más comunes en NLP son el resumen automático, la respuesta a preguntas y la traducción automática. El objetivo de estas métricas es identificar la calidad del texto predicho dado el texto de entrada. El texto predicho se denomina Candidato y los posibles textos correctos o de destino se denominan Referencias.
Estas métricas se basan en algunas de las métricas básicas como Recall, Precision y F1-Score. Si no conoce estas métricas, consulte este artículo que las cubre: Recall, Precision, F1-Score . El concepto de n-gramas también es esencial para el cálculo y la comprensión de estas métricas.
Las métricas a continuación se usan generalmente para la traducción automática o el resumen automático, pero se pueden aplicar a cualquier otra tarea que involucre pares de texto de entrada y de destino. Junto con la evaluación de los modelos, estas métricas también se pueden usar para el ajuste de hiperparámetros de los modelos de Machine Learning. En la primera publicación, analizaremos la métrica BLEU que se usa a menudo para evaluar la traducción automática.
Suplente de evaluación bilingüe (BLEU)
La puntuación BLEU mide la calidad del texto predicho, denominado candidato, en comparación con un conjunto de referencias. Puede haber más de una referencia correcta para un candidato en las tareas de Secuencia a Secuencia. Por lo tanto, es importante que las referencias se elijan con cuidado y que se incluyan todas las referencias posibles. La puntuación BLEU es una medida basada en la precisión y varía de 0 a 1. Cuanto más cerca esté el valor de 1, mejor será la predicción. No es posible alcanzar un valor de 1 y normalmente un valor superior a 0,3 se considera una buena puntuación.
En la siguiente sección, vemos el cálculo de BLEU en una sola oración predicha a modo de ilustración, seguido del cálculo de un corpus.
Precisión
Si recordamos (juego de palabras no intencionado) la definición de precisión de nuestra publicación anterior, es Verdaderos positivos/(Verdaderos positivos + Falsos positivos). En este contexto, los Verdaderos Positivos son todos los n-gramas coincidentes entre el candidato y la referencia. Los falsos positivos aquí pueden verse como los n-gramas que aparecen en el candidato pero no están presentes en la referencia. Esto significa que la precisión se puede obtener dividiendo el número de n-gramas coincidentes por el número total de n-gramas en el candidato.
Reference: "Transformers make everything quick and efficient"
Candidate: "Transformers Transformers Transformers Transformers"
Precisión modificada (MP)
Para calcular la precisión modificada, el recuento de un n-grama se recorta en función del número máximo de veces que aparece en las referencias. Se denota por Max_Ref_Count en la fórmula que se muestra a continuación.

En nuestro ejemplo de la sección anterior, Transformers aparece solo una vez en las referencias y 4 veces en el candidato. min (4, 1) se considera y la precisión modificada ahora es 1/4 = 0,25. Este valor es más bajo y por lo tanto nos da una mejor estimación de la calidad de la predicción.
Para generalizar, la fórmula para MP se da a continuación. Para todos los candidatos del corpus, se cuenta y suma el número de n-gramas coincidentes con las referencias. Esto se divide por la suma de los recuentos de todos los n-gramas en las referencias.

Penalización por brevedad (BP)
A veces, para oraciones más largas, los candidatos pueden ser muy pequeños y perder información importante relacionada con la referencia. Considere el siguiente ejemplo:
Reference: "Transformers make everything quick and efficient through
parallel computation of self-attention heads"
Candidate: "Transformers make everything quick and efficient"
Introduzca, Penalización por Brevedad (BP). Este término se utiliza para penalizar las predicciones demasiado cortas en comparación con las referencias. Es 1 si la longitud candidata es mayor que la longitud de referencia. Si la longitud candidata es menor que la de referencia implica que r/c > 1, (1 — (r/c)) es menor y hay un decaimiento exponencial.
La media geométrica de todas las precisiones modificadas hasta N se calcula y se multiplica por BP para obtener la puntuación BLEU final. Aquí N es el orden de n-gramas que se utilizará para el cálculo. En general, es de 4, es decir, se consideran uni, bi, tri y tetragramos para el cálculo. Están ponderados por los pesos denotados por w_1, w_2,… que suman 1 basado en N. Para N = 4, son w_1 = w_2 = w_3 = w_4 = 1/4.

Para la oración de ejemplo anterior, podemos ver que el BP se calcula como exp(1 — (reference_length/translation_length)) = exp(1 — (6/12)) = 0.37. Este valor multiplicado por el MP (1, ya que estamos usando solo unigramas) da una puntuación BLEU mucho más baja de 0,37 en lugar de 1, que explica los n-gramas que faltan.
En esta publicación, hemos utilizado unigramas para facilitar el cálculo. Sin embargo, a menudo no son suficientes para evaluar a los candidatos, ya que aquí se ignora el orden de las palabras. Por ejemplo, el candidato "Transformadores eficientes hacen predicciones rápidas" cambia el significado de la oración pero otorga una puntuación MP alta (0,6) ya que hay palabras coincidentes en la referencia. Para evitar esto, es mejor evaluar las puntuaciones con 2-4 gramos.
Cuerpo BLEU
Para facilitar la comprensión, hemos utilizado un solo par de textos hasta ahora, pero la puntuación BLEU generalmente se calcula para todo el corpus con una o más referencias para cada candidato.
Calculemos ahora el puntaje BLEU para el corpus a continuación. Suponga que los candidatos son el resultado de un sistema de traducción.
import evaluate
bleu = evaluate.load('bleu')
predictions = ["Transformers Transformers are fast plus efficient",
"Good Morning", "I am waiting for new Transformers"]
references = [
["HuggingFace Transformers are quick, efficient and awesome",
"Transformers are awesome because they are fast to execute"],
["Good Morning Transformers", "Morning Transformers"],
["People are eagerly waiting for new Transformer models",
"People are very excited about new Transformers"]
]
results = bleu.compute(predictions=predictions, references=references,
max_order = 2)
print(results)
{'bleu': 0.5037930378757725,
'precisions': [0.7142857142857143, 0.5454545454545454],
'brevity_penalty': 0.8071177470053892, 'length_ratio': 0.8235294117647058,
'translation_length': 14, 'reference_length': 17}
De manera similar, calcule la precisión modificada con bigramas, que es el segundo valor en la matriz de precisiones en la salida.
Los pesos aquí son w_1, w_2 son 1/2 ya que el orden máximo es solo 2. La media geométrica de los valores de precisión luego se multiplica por el BP para obtener el puntaje final. Para calcular BP, la longitud candidata total es 14(c) y la longitud de referencia efectiva es 17(r). La longitud de referencia efectiva se calcula sumando los n-gramas de las referencias que están más cerca del candidato. Aquí, para Referencia: 1 primera oración se selecciona con 8 tokens, Reference-2 y 3 tienen 2 y 7 tokens en sus segundas oraciones.
Cálculo final de BLEU,
Total MP = (0.7142857142857143)^0.5 * (0.5454545454545454)^0.5
Total MP = 0.6241878
Since c < r,
BP = exp(1 - (17/14)) = 0.8071177
BLEU = BP * Total MP = 0.8071177 * 0.6241878 = 0.503793
Rounded BLEU score = 0.5
- La puntuación BLEU es fácil de calcular y se usa ampliamente.
- Se ha visto que la puntuación BLEU tiene una alta correlación con el juicio humano de la calidad de la predicción.
- Los sinónimos de los n-gramas no se consideran hasta ya menos que estén presentes como una de las referencias. Esto se debe a que no se tiene en cuenta el significado de los n-gramas. Por ejemplo, "los transformadores son rápidos y eficientes" y "los transformadores tienen un tiempo de ejecución rápido" tienen un significado similar, pero la puntuación BLEU-1 es solo 0,2.
- El problema del orden de las palabras no se puede resolver utilizando únicamente n-gramas de orden superior. Por ejemplo, el candidato “Los transformadores rápidos y eficientes son” con la referencia “Los transformadores son rápidos y eficientes” otorga una puntuación BLEU-2 alta (0,87), pero la traducción no se puede considerar correcta.
- La puntuación de BLEU varía mucho en función de factores como el número de referencias, las técnicas de normalización y tokenización, etc. Por este motivo, es difícil usarlos para comparar conjuntos de datos que utilizan diferentes técnicas.
Referencias
Soy estudiante de Maestría en Ciencia de Datos @ TU Dortmund. No dude en conectarse conmigo en LinkedIn para cualquier comentario sobre mis publicaciones o cualquier comunicación profesional.