Evaluar modelos

Después de entrenar un modelo, AutoML Translation usa tu conjunto TEST para evaluar la calidad y exactitud del modelo nuevo. AutoML Translation expresa la calidad del modelo mediante su puntuación BLEU (Bilingual Evaluation Understudy), que indica el grado de similitud entre el texto candidato y el texto de referencia. Un valor de puntuación BLEU que está más cerca de uno indica que una traducción está más cerca del texto de referencia.

Use estos datos para evaluar la preparación de su modelo. Para mejorar la calidad de tu modelo, considera agregar más pares de segmentos de entrenamiento (y más diversos). Después de ajustar tu conjunto de datos, entrena un modelo nuevo mediante el conjunto de datos mejorado.

Obtén la evaluación del modelo

  1. Ve a la consola de AutoML Translation.

    Ir a la página Translation

  2. En el menú de navegación, haz clic en Modelos para ver una lista de tus modelos.

  3. Haz clic en el modelo que deseas evaluar.

  4. Haz clic en la pestaña Entrenar para ver las métricas de evaluación del modelo, como su puntuación BLEU.

Predicciones de modelos de prueba

Mediante la consola de Google Cloud, comparas los resultados de la traducción de tu modelo personalizado con el modelo de NMT predeterminado.

  1. Ve a la consola de AutoML Translation.

    Ir a la página Translation

  2. En el menú de navegación, haz clic en Modelos para ver una lista de tus modelos.

  3. Haz clic en el modelo para probar.

  4. Haz clic en la pestaña Predecir.

  5. Agrega texto de entrada en el cuadro de texto del idioma de origen.

  6. Haz clic en Traducir.

    AutoML Translation muestra los resultados de traducción del modelo personalizado y del modelo de NMT.

Evalúa y compara modelos mediante el uso de un conjunto de prueba nuevo

En la consola de Google Cloud, puedes volver a evaluar los modelos existentes mediante un nuevo conjunto de datos de prueba. En una sola evaluación, puedes incluir hasta 5 modelos diferentes y, luego, comparar sus resultados.

Sube tus datos de prueba a Cloud Storage como un archivo de valores delimitado por tabulaciones (TSV) o como un archivo de Intercambio de memorias de traducción (TMX).

AutoML Translation evalúa tus modelos con el conjunto de prueba y, luego, produce puntuaciones de evaluación. De forma opcional, puedes guardar los resultados para cada modelo como un archivo TSV en un bucket de Cloud Storage, en el que cada fila tiene el siguiente formato:

Source segment tab Model candidate translation tab Reference translation
  1. Ve a la consola de AutoML Translation.

    Ir a la página Translation

  2. En el menú de navegación, haz clic en Modelos para ver una lista de tus modelos.

  3. Haz clic en el modelo que deseas evaluar.

  4. Haz clic en la pestaña Evaluar.

  5. En la pestaña Evaluar, haz clic en Nueva evaluación.

  6. Selecciona los modelos que deseas evaluar y comparar y, a continuación, haz clic en Siguiente.

    Se debe seleccionar el modelo actual y Google NMT se selecciona de forma predeterminada; puedes anular esta selección.

  7. Especifica un nombre para el Nombre del conjunto de prueba a fin de distinguirlo de otras evaluaciones y, luego, selecciona el conjunto de prueba nuevo de Cloud Storage.

  8. Haz clic en Siguiente.

  9. Para exportar predicciones, especifica una carpeta de destino de Cloud Storage.

  10. Haz clic en Iniciar evaluación.

    AutoML Translation presenta las puntuaciones de evaluación en un formato de tabla en la consola después de realizar la evaluación. Solo puede ejecutar una evaluación a la vez. Si especificaste una carpeta para almacenar resultados de predicciones, AutoML Translation escribe archivos TSV en esa ubicación que tienen el nombre del ID del modelo asociado, con el nombre del conjunto de prueba agregado.

Comprende la puntuación BLEU

BLEU (BiLingual Evaluation Understudy) es una métrica para evaluar de forma automática el texto traducido automáticamente. La puntuación BLEU es un número entre cero y uno que mide la similitud del texto traducido de manera automática con un conjunto de traducciones de referencia de alta calidad. Un valor de 0 significa que la traducción automática de salida no se superpone con la traducción de referencia (lo que indica una calidad menor), mientras que un valor de 1 significa que se superpone perfectamente con las traducciones de referencia (lo que indica una calidad mayor).

Se ha demostrado que las puntuaciones BLEU se correlacionan adecuadamente con el criterio humano de la calidad de la traducción. Ten en cuenta que incluso los traductores humanos no logran la puntuación perfecta de 1.0.

AutoML Translation expresa las puntuaciones BLEU como un porcentaje en vez de como un decimal entre 0 y 1.

Interpretación

No se recomienda intentar comparar las puntuaciones BLEU en diferentes idiomas y contenidos. Incluso la comparación de puntuaciones BLEU para el mismo contenido, pero con diferentes números de traducciones de referencia puede ser altamente engañosa.

Sin embargo, como una mera indicación, la siguiente interpretación de puntuaciones BLEU (expresadas como porcentajes antes de que como decimales) podría ser útil.

Puntuación BLEU Interpretación
< 10 Casi inútil
10 - 19 Difícil de capar la esencia
20 - 29 La esencia es clara, pero tiene errores gramaticales significativos
30 - 40 Comprensible por buenas traducciones
40 - 50 Traducciones de alta calidad
50 - 60 Traducciones de calidad muy alta, adecuadas y fluidas
> 60 Calidad generalmente mejor que la humana

El gradiente de color a continuación se puede usar como una interpretación de la puntuación BLEU de escala general:

Interpretabilidad general de la escala

Los detalles matemáticos

Matemáticamente, la puntuación BLEU se define como:

$$ \text{BLEU} = \underbrace{\vphantom{\prod_i^4}\min\Big(1, \exp\big(1-\frac{\text{reference-length}} {\text{output-length}}\big)\Big)}_{\text{brevity penalty}} \underbrace{\Big(\prod_{i=1}^{4} precision_i\Big)^{1/4}}_{\text{n-gram overlap}}$$

con

\[ precision_i = \dfrac{\sum_{\text{snt}\in\text{Cand-Corpus}}\sum_{i\in\text{snt}}\min(m^i_{cand}, m^i_{ref})} {w_t^i = \sum_{\text{snt'}\in\text{Cand-Corpus}}\sum_{i'\in\text{snt'}} m^{i'}_{cand}} \]

donde:

  • \(m_{cand}^i\hphantom{xi}\) es el recuento de i-grama en el candidato que coincide con la traducción de referencia
  • \(m_{ref}^i\hphantom{xxx}\) es el recuento de i-grama en la traducción de referencia
  • \(w_t^i\hphantom{m_{max}}\) es el número total de i-gramas en la traducción candidata

La fórmula consta dos partes: la penalización por brevedad y la superposición de n-grama.

  • Penalización por brevedad
    La penalización por brevedad penaliza las traducciones generadas que son demasiado cortas en comparación con la longitud de referencia más cercana con una disminución exponencial. La penalización por brevedad compensa el hecho de que la puntuación BLEU no tiene un término de recuperación.

  • Superposición de n-grama
    La superposición de n-grama cuenta cuántos unigramas, bigramas, trigramas y cuatro-gramas (i=1,…, 4 ) coinciden con su contraparte de n-grama en las traducciones de referencia. Este término actúa como una métrica de precisión. Los unigramas explican la adecuación, mientras que los n-gramas más largos explican la fluidez de la traducción. Para evitar el recuento excesivo, los recuentos del n-grama se acortan al recuento máximo del n-grama que aparece en la referencia (\(m_{ref}^n\)).

Ejemplos

Calcular \(precision_1\)

Considera esta oración de referencia y traducción candidata:

Referencia: the cat is on the mat
Candidato: the the the cat mat

El primer paso es contar las ocurrencias de cada unigrama en la referencia y en el candidato. Ten en cuenta que la métrica BLEU distingue mayúsculas de minúsculas.

Unigrama \(m_{cand}^i\hphantom{xi}\) \(m_{ref}^i\hphantom{xxx}\) \(\min(m^i_{cand}, m^i_{ref})\)
the 3 2 2
cat 1 1 1
is 0 1 0
on 0 1 0
mat 1 1 1

El número total de unigramas en el candidato (\(w_t^1\)) es 5, por lo tanto \(precision_1\) = (2 + 1 + 1)/5 = 0.8.

Calcula la puntuación BLEU

Referencia: The NASA Opportunity rover is battling a massive dust storm on Mars .
Candidato 1: The Opportunity rover is combating a big sandstorm on Mars .
Candidato 2: A NASA rover is fighting a massive storm on Mars .

El ejemplo anterior consta de una sola referencia y de dos traducciones candidatas. A las oraciones se le asignan tokens antes de calcular la puntuación BLEU como se muestra arriba; por ejemplo, el punto final se cuenta como un token separado.

Para calcular la puntuación BLEU de cada traducción, calculamos las estadísticas a continuación.

  • Precisiones de N-grama
    En la siguiente tabla, se muestran las precisiones de n-grama para ambos candidatos.
  • Penalización por brevedad
    La penalización por brevedad es la misma para el candidato 1 y el candidato 2, ya que ambas oraciones constan de 11 tokens.
  • Puntuación BLEU
    Ten en cuenta que se requiere al menos un 4-grama que coincida para obtener una puntuación BLEU > 0. Dado que la traducción candidata 1 no tiene un 4-grama equivalente, tiene una puntuación BLEU de 0.
Métrica Candidato 1 Candidato 2
\(precision_1\) (1grama) 8/11 9/11
\(precision_2\) (2grama) 4/10 5/10
\(precision_3\) (3grama) 2/9 2/9
\(precision_4\) (4grama) 0/8 1/8
Penalización por brevedad 0.83 0.83
Puntuación BLEU 0.0 0.27

Propiedades

  • BLEU es una métrica basada en corpus
    La métrica BLEU tiene un mal rendimiento cuando se usa para evaluar oraciones individuales. Por ejemplo, ambas oraciones de ejemplo obtienen puntuaciones BLEU muy bajas a pesar de que capturan la mayor parte del significado. Debido a que las estadísticas del n-grama para oraciones individuales son menos significativas, BLEU es por diseño una métrica basada en el contenido, es decir, las estadísticas se acumulan sobre todo el contenido cuando se calcula la puntuación. Ten en cuenta que la métrica BLEU que se definió antes no se puede factorizar para oraciones individuales.

  • No hay distinción entre palabras de contenido y de función
    La métrica BLEU no distingue entre palabras de contenido y función, es decir, una palabra de función omitida como “un” obtiene la misma penalización que si el nombre “NASA” se reemplazara de forma errónea por “ESA”.

  • No es buena para captar el significado y la gramaticalidad de una oración
    La eliminación de una sola palabra como “no” puede cambiar la polaridad de una oración. Además, si solo se tienen en cuenta los n-gramas con n≤4, se ignoran las dependencias de largo alcance y, por lo tanto, BLEU suele imponer solo una pequeña penalización para las oraciones no gramaticales.

  • Normalización y asignación de token
    Antes de calcular la puntuación BLEU, tanto la traducción candidata como la referencia se normalizan y se les asigna un token. La elección de los pasos de normalización y asignación de token afectan de manera significativa la puntuación BLEU final.