Documentos de Académico
Documentos de Profesional
Documentos de Cultura
5.1. Introducció
El proyecto MTUOC proporciona muchas más herramientas que permiten tanto la preparación y
preprocesamiento de corpus paralelos, como el entrenamiento de sistemas estadísticos (con Moses) y neuronales
(con Marian y OpenNMT), y la evaluación automática de los sistemas entrenados.
En esta unidad aprenderemos a evaluar los sistemas de traducción automática MTUOC y a compararlos con
Google Translate.
Para evaluar los sitemas entrenados necesitamos tener una parte del corpus de entrenamiento para evaluar.
Estos segmentos reservados para la evaluación no pueden haber sido utilizados para entrenar el sistema. Para
evaluar el sistema MTUOC-00-generic-MTSPGA-eng-spa puedes utilizar los siguientes archivos que contienen
1000 segmentos en inglés y español:
• eval.en
• eval.es
Si quieres realizar las actividades de una manera un poco más rápida, puedes utilizar el siguiente subconjunto,
que contiene únicamente 100 segmentos:
• eval100.en
• eval100.es
El proceso de evaluación se divide en los siguientes pasos. Si evaluamos un sistema eng-spa, haremos:
• Traducción del conjunto eval.en con el sistema que queremos evaluar (si el sistema se llama A, podemos
utilizar la nomenclatura sigueinte) y obtenemos eval.en-A.es
• Traducción del mismo conjunto de evaluacón eval.en con el sistema con el que queremos comparar, por
ejemplo Google Translate, obteniendo eval.en-GoogleT.es
• Utilizar MTUOC-eval para comparar eval.en-A.es y eval.en-GoogleT.es con la parte spa del conjunto de
evaluación: eval.es
python3 MTUOC-Translator-lite.py --ip 192.168.1.51 --port 8000 --type MTUOC -i eval.en -o eval.en-Marian.es
Después de un rato (hay un total de 1000 segmentos, recuerda que puedes utilizar si lo prefieres, el
subconjunto de 100 segmentos), en eval.en-Marian.es tendrás el conjunto de evaluación traducido al español (lo
hemos llamaddo así porque el motor utiliza Marian, pero lo puedes llamar como prefieras).
Este proceso, si lo prefieres, se puede realizar con la interfaz gráfica de MTUOC-Translator, y se obtendrá el
mismo resultado.
Ahora podemos abrir el archivo eval.en en cualquier editor de textos, seleccionarlo todo y hacer Ctrl+C e ir
a Google Drive, abrir una hoja de Google Sheets nueva y engachar el texto. Una vez hecho esto tenemos que
verificar que el número de filas sea el correspondiente al número de segmentos (1000 o 100, según el fichero
que utilicéis). A veces ocurre que hay un número diferente de filas. Si ocurre esto, la solución es seleccionar todo
el texto en el editor de textos, hacer Ctrl+C y primero copiarlo a un archivo nuevo de Google Docs. En Google
Docs seleccionar de nuevo todo el texto con Ctrl+A, copiarlo con Ctrl+C y engancharlo (Ctrl+V) al Google Sheets.
Ahora sí que tendrá el número de líneas correctos. Entonces podéis seguir las indicaciones del enlace anterior
para traducir el texto. Una vez traducido copias toda la columna correspondiente a la traducción y la enganchas
en un editor de textos con un archivo en blanco. Conviene volver a revisar que el número de líneas es el correcto.
• BLEU
• NIST
• WER
• Distancia de edición
• TER
Si queréis tener más detalles sobre estas medidas podéis consultar las páginas 28 y 29 de la tesis doctoral de
Jesús Giménez Empirical Machine Translation and its Evauation.
MTUOC-eval
Para utilizar MTUOC-eval sin inrefaz gráfica podemos consultar la ayuda mediante la opción -h:
python3 MTUOC-eval.py -h
usage: MTUOC-eval.py [-h] --tokenizer TOKENIZER --refs REFS --hyp HYP [--BLEU]
[--NIST] [--WER] [--ED] [--TER]
optional arguments:
-h, --help show this help message and exit
--tokenizer TOKENIZER
The tokenizer to be used.
(si utilizas la versión ejecutable para Windows cambia python3 MTUOC-eval.py por MTUOC-eval.exe)
Ahora podemos hacer (los resultados pueden ser diferentes a los que obtendrás):
Y para Google Translate (los resultados pueden ser diferentes a los que obtendrás):
En este ejemplo los valores obtenidos con Marian son mejores que los de Google Translate.
MTUOC-eval-GUI
Esta versión facilita el uso mediante una interfaz gráfica sencilla. La versión ejecutable para Windows se puede
poner en marcha haciendo doble clic en el navegador de archivos. La de Python desde terminal escribiendo
python3 MTUOC-eval-GUI.py
donde podemos seleccionar los archivos de referencias (el eval100.es) y el de hipótesis (el eval.en-Marian.es o
el eval.en-GoogleT.es). También seleccionaremos el tokenizador adecuado de la lista desplegable. Haciendo clic
en el botón Calculate se inicia el proceso de cálculo. Cuando éste finaliza, el botón se libera y podemos observar
los resultados en la pestaña Results.
• eval.en
• eval.es
Si quieres realizar las actividades de una manera un poco más rápida, puedes utilizar el siguiente subconjunto,
que contiene únicamente 100 segmentos:
• eval100.en
• eval100.es
Si tienes dificultades para traducir los archivos puedes utilizar los siguientes ya traducidos:
• eval.en-Marian.es
• eval.en-GoogleT.es
• eval100.en-Marian.es
• eval100.en-GoogleT.es