Tutorial: Traducción de conjuntos de evaluación con MTUOC‐Translator‐lite - mtuoc/mtuoc.github.io GitHub Wiki

Introducción

Una operación muy habitual en el entrenamiento de motores de traducción automática es la evaluación de sistemas. Para ello se acostumbran a utilizar conjuntos de oraciones de evaluación, que pueden provenir del propio corpus de entrenamiento (previa separación de estos segmentos antes del entrenamineto del sistema, para evitar que las oraciones de evaluación se hayan utilizado para el entrenamiento) o bien de algunas colecciones como por ejemplo Flores+.

Por ejemplo, si queremos evaluar un sistema catalán inglés dispondremos de un corpus de evaluación eval.ca con sus correspondientes oraciones traducidas de referencia eval.en. Traduciremos con nuestro sistema de traducción automática el eval.ca para obtener un eval.ca-TA.en, que serán las hipótesis que utilizaremos en la evaluación.

MTUOC-Translator-lite es una versión simplificada de MTUOC-Translator que nos permite traducir fácilmente conjuntos de evaluación con motores puestos en marcha con MTUOC-server o con algún otro servidor que utilice algunos de los protocolos compatibles: MTUOC, Moses, OpenNMT, NMTWizard o ModernMT.

Obtención de MTUOC-Translator-lite

MTUOC-Translator-lite.py se puede obtener del siguiente repositorio: https://github.com/mtuoc/MTUOC-Translator. El programa está escrito en Python v. 3 y antes de utilizarlo es necesario instalar los prerequisitos. En el repositorio se encuentra el archivo requirements.txt que indica los requisitos necesarios. Para instalarlo se puede escribir (la instrucción puede variar ligeramente según tu instalación de Python y dependiendo de si utilizas entornos virtuales o no):

pip3 install -r requirements.txt

Uso de MTUOC-Translator-lite

La opción -h del programa muestra la ayuda:

python3 MTUOC-Translator-lite.py -h
usage: MTUOC-Translator-lite.py [-h] --ip IP --port PORT --type TYPE -i INPUT -o OUTPUT [-e ENCODING]

MTUOC-Translator-lite: command line MTUOC translator. Translates segmented text files (one segment per line).

options:
  -h, --help            show this help message and exit
  --ip IP               The ip of the server or localhost
  --port PORT           The port used by the server
  --type TYPE           The type of server. One of: MTUOC, Moses, OpenNMT, NMTWizard, ModernMT
  -i INPUT, --input INPUT
                        The input file
  -o OUTPUT, --output OUTPUT
                        The output file
  -e ENCODING, --encoding ENCODING
                        The character encoding for input and output

Imaginemos que queremos evaluar un sistema catalán - inglés y que este sistema está en un servidor MTUOC que funciona con el protocolo MTUOC en la IP 192.168.1.51 y puerto 8000. Queremos traducir el conjunto devtest.cat_Latn al inglés y llamar el conjunto traducido automáticamente devtest.cat_Latn.TA.eng. Podemos escribir la siguiente instrucción:

python3 MTUOC-Translator-lite.py --ip 192.168.1.51 --port 8000 --type MTUOC -i devtest.cat_Latn -o devtest.cat_Latn.TA.eng