BLEU ( Bilingual Evaluation Understudy ) es un algoritmo para evaluar la calidad de un texto que ha sido traducido automáticamente de un idioma natural a otro. Se considera que la calidad es la correspondencia entre el resultado de una máquina y el de un ser humano: "cuanto más se acerque una traducción automática a una traducción humana profesional, mejor será"; esta es la idea central detrás de BLEU. [1] Inventado en IBM en 2001, BLEU fue una de las primeras métricas en afirmar una alta correlación con los juicios humanos de calidad, [2] [3] y sigue siendo una de las métricas automatizadas y económicas más populares.
Las puntuaciones se calculan para segmentos traducidos individuales (generalmente oraciones) comparándolos con un conjunto de traducciones de referencia de buena calidad. Luego, esas puntuaciones se promedian sobre todo el corpus para llegar a una estimación de la calidad general de la traducción. No se tienen en cuenta la inteligibilidad ni la corrección gramatical. [4]
El resultado de BLEU es siempre un número entre 0 y 1. Este valor indica la similitud entre el texto candidato y los textos de referencia; los valores más cercanos a 1 representan textos más similares. Pocas traducciones humanas alcanzarán una puntuación de 1, ya que esto indicaría que el candidato es idéntico a una de las traducciones de referencia. Por este motivo, no es necesario alcanzar una puntuación de 1. Dado que hay más oportunidades de coincidencia, agregar traducciones de referencia adicionales aumentará la puntuación de BLEU. [5]
Un primer intento básico de definir la puntuación BLEU tomaría dos argumentos: una cadena candidata y una lista de cadenas de referencia . La idea es que debería ser cercano a 1 cuando es similar a , y cercano a 0 si no lo es.
Como analogía, la puntuación BLEU es como un profesor de idiomas que intenta calificar la calidad de la traducción de un estudiante comprobando en qué medida se ajusta a las respuestas de referencia .
Dado que en el procesamiento del lenguaje natural se debe evaluar un conjunto grande de cadenas candidatas, se debe generalizar el puntaje BLEU al caso en el que se tiene una lista de M cadenas candidatas (llamada un " corpus ") , y para cada cadena candidata , una lista de cadenas candidatas de referencia .
Dada cualquier cadena y cualquier entero , definimos el conjunto de sus n-gramas como Nótese que es un conjunto de elementos únicos, no un multiconjunto que permite elementos redundantes, de modo que, por ejemplo, .
Dadas dos cadenas cualesquiera , defina el recuento de subcadenas como el número de apariciones de como subcadena de . Por ejemplo, .
Ahora, arregle un corpus candidato y haga referencia al corpus candidato , donde cada .
Defina la función de precisión del n-grama modificado como El n-grama modificado, que parece complicado, es simplemente una generalización directa del caso prototípico: una oración candidata y una oración de referencia. En este caso, es Para llegar a esta expresión, comenzamos con la sumatoria de conteo de n-gramas más obvia: Esta cantidad mide cuántos n-gramas en la oración de referencia son reproducidos por la oración candidata. Tenga en cuenta que contamos las n-subcadenas , no los n-gramas . Por ejemplo, cuando , todas las 2-subcadenas en (ab y ba) aparecen 3 veces cada una, por lo que el conteo es 6, no 2.
En la situación anterior, sin embargo, la cadena candidata es demasiado corta. En lugar de 3 apariciones de contiene solo una, por lo que agregamos una función mínima para corregir eso: Esta suma de conteo no se puede usar para comparar entre oraciones, ya que no está normalizada. Si tanto la referencia como las oraciones candidatas son largas, el conteo podría ser grande, incluso si el candidato es de muy mala calidad. Entonces lo normalizamos La normalización es tal que siempre es un número en , lo que permite comparaciones significativas entre corpus. Es cero si ninguna de las n-subcadenas en candidato está en referencia. Es uno si cada n-grama en el candidato aparece en referencia, al menos tantas veces como en candidato. En particular, si el candidato es una subcadena de la referencia, entonces es uno.
La precisión de n-gramas modificada otorga indebidamente una puntuación alta a las cadenas candidatas que son " telegráficas ", es decir, que contienen todos los n-gramas de las cadenas de referencia, pero la menor cantidad de veces posible.
Para castigar las cadenas candidatas que sean demasiado cortas, defina la penalización por brevedad como donde es la parte positiva de .
es la longitud del corpus candidato, es decir, donde es la longitud de .
es la longitud efectiva del corpus de referencia , es decir, donde , es decir, la oración cuya longitud es lo más cercana posible.
No existe una única definición de BLEU, sino toda una familia de ellas, parametrizadas por el vector de ponderación . Se trata de una distribución de probabilidad en , es decir, , y .
Con una opción de , la puntuación BLEU es En palabras, es una media geométrica ponderada de todas las precisiones de n-gramas modificadas, multiplicada por la penalización por brevedad. Usamos la media geométrica ponderada, en lugar de la media aritmética ponderada, para favorecer fuertemente a los corpus candidatos que son simultáneamente buenos según múltiples precisiones de n-gramas.
La opción más típica, la recomendada en el artículo original, es . [1]
Esto queda ilustrado en el siguiente ejemplo de Papineni et al. (2002):
De las siete palabras de la traducción candidata, todas aparecen en las traducciones de referencia. Por lo tanto, al texto candidato se le asigna una precisión de unigramos de:
donde es el número de palabras del candidato que se encuentran en la referencia y es el número total de palabras del candidato. Esta es una puntuación perfecta, a pesar del hecho de que la traducción del candidato anterior conserva poco del contenido de cualquiera de las referencias.
La modificación que realiza BLEU es bastante sencilla. Para cada palabra de la traducción candidata, el algoritmo toma su recuento total máximo, , en cualquiera de las traducciones de referencia. En el ejemplo anterior, la palabra "the" aparece dos veces en la referencia 1 y una vez en la referencia 2. Por lo tanto , .
Para la traducción candidata, el recuento de cada palabra se recorta a un máximo de para esa palabra. En este caso, "the" tiene y , por lo tanto, se recorta a 2. Estos recuentos recortados se suman luego para todas las palabras distintas en la traducción candidata. Esta suma luego se divide por el número total de unigramas en la traducción candidata. En el ejemplo anterior, la puntuación de precisión de unigrama modificada sería:
En la práctica, sin embargo, el uso de palabras individuales como unidad de comparación no es óptimo. En su lugar, BLEU calcula la misma métrica de precisión modificada utilizando n-gramas . Se encontró que la longitud que tiene la "mayor correlación con los juicios humanos monolingües" [6] es cuatro. Se encontró que las puntuaciones de unigramas dan cuenta de la adecuación de la traducción, cuánta información se retiene. Las puntuaciones de n -gramas más largas dan cuenta de la fluidez de la traducción, o en qué medida se lee como "buen inglés".
Un ejemplo de traducción candidata para las mismas referencias mencionadas anteriormente podría ser:
En este ejemplo, la precisión unigramo modificada sería:
como la palabra "the" y la palabra "cat" aparecen una vez cada una en el candidato, y el número total de palabras es dos. La precisión del bigrama modificado sería como el bigrama, "the cat" aparece una vez en el candidato. Se ha señalado que la precisión suele combinarse con la recuperación para superar este problema [7] , ya que la recuperación del unigrama de este ejemplo sería o . El problema es que, como hay múltiples traducciones de referencia, una mala traducción podría fácilmente tener una recuperación inflada, como una traducción que constara de todas las palabras en cada una de las referencias. [8]
Para generar una puntuación para todo el corpus, las puntuaciones de precisión modificadas para los segmentos se combinan utilizando la media geométrica multiplicada por una penalización por brevedad para evitar que los candidatos muy cortos reciban una puntuación demasiado alta. Sea r la longitud total del corpus de referencia y c la longitud total del corpus de traducción. Si , se aplica la penalización por brevedad, definida como . (En el caso de múltiples oraciones de referencia, se toma r como la suma de las longitudes de las oraciones cuyas longitudes son más cercanas a las longitudes de las oraciones candidatas. Sin embargo, en la versión de la métrica utilizada por las evaluaciones del NIST antes de 2009, se había utilizado en su lugar la oración de referencia más corta).
iBLEU es una versión interactiva de BLEU que permite al usuario examinar visualmente las puntuaciones BLEU obtenidas por las traducciones candidatas. También permite comparar dos sistemas diferentes de forma visual e interactiva, lo que resulta útil para el desarrollo de sistemas. [9]
Se ha informado con frecuencia que BLEU se correlaciona bien con el juicio humano, [10] [11] [12] y sigue siendo un punto de referencia para la evaluación de cualquier nueva métrica de evaluación. Sin embargo, se han expresado varias críticas. Se ha observado que, aunque en principio es capaz de evaluar traducciones de cualquier idioma, BLEU no puede, en su forma actual, tratar con idiomas que carecen de límites de palabras. [13] Diseñado para usarse con varias traducciones de referencia, en la práctica se usa solo con una. [2] BLEU depende infamemente de la técnica de tokenización , y las puntuaciones obtenidas con diferentes son incomparables (lo que a menudo se pasa por alto); para mejorar la reproducibilidad y comparabilidad, se diseñó la variante SacreBLEU. [2]
Se ha argumentado que si bien BLEU tiene ventajas significativas, no hay garantía de que un aumento en la puntuación BLEU sea un indicador de una mejor calidad de la traducción. [14]