USO DE EXPRESIONES REGULARES PARA LA POSTEDICIÓN DE LA TRADUCCIÓN AUTOMÁTICA
←
→
Transcripción del contenido de la página
Si su navegador no muestra la página correctamente, lea el contenido de la página a continuación
USO DE EXPRESIONES REGULARES PARA LA POSTEDICIÓN DE LA TRADUCCIÓN AUTOMÁTICA Nombre del alumno: Fuensanta Martínez-Quereda Pérez Nombre del grado: Traducción e Interpretación Línea de Investigación: Tecnologías de la Traducción Tutor: Felipe Sánchez Martínez Fecha: 28/07/2021 1
Índice de contenidos Resumen ........................................................................................................................................ 3 Abstract ......................................................................................................................................... 3 Zusammenfassung ......................................................................................................................... 4 1. Introducción .......................................................................................................................... 4 2. Estado de la cuestión ............................................................................................................. 5 2.1. La postedición ............................................................................................................... 5 2.2. Proceso de postedición .................................................................................................. 8 3. Herramientas usadas en la postedición................................................................................ 11 3.1. Entornos de traducción ..................................................................................................... 12 3.2. Herramientas complementarias ........................................................................................ 13 4. Expresiones regulares .......................................................................................................... 14 4.1. Definición y usos.............................................................................................................. 14 4.2. Lenguajes de las expresiones regulares ............................................................................ 15 4.3. Sintaxis de las expresiones regulares ............................................................................... 15 5. Uso de expresiones regulares para la postedición ............................................................... 19 6. Desarrollo de expresiones regulares para la postedición alemán-español........................... 22 7. Conclusiones ....................................................................................................................... 25 8. Anexos................................................................................................................................. 26 8.1. Anexo 1 ....................................................................................................................... 26 8.2. Anexo 2 ....................................................................................................................... 31 9. Referencias bibliográficas ................................................................................................... 33 2
USO DE EXPRESIONES REGULARES PARA LA POSTEDICIÓN DE LA TRADUCCIÓN AUTOMÁTICA Fuensanta Martínez-Quereda Pérez Fmp30@alu.ua.es Resumen Este trabajo tiene como objetivo estudiar las expresiones regulares y su uso en tareas de postedición de la traducción automática. Las expresiones regulares consisten en una secuencia de caracteres que conforman un patrón de búsqueda y pueden usarse para llevar a cabo sustituciones de forma eficiente. Como parte del trabajo se ha llevado a cabo una revisión del estado de la cuestión sobre técnicas y estrategias para la postedición de la traducción automática y sobre el uso de expresiones regulares en otras tareas relacionadas con la traducción. Por último, se ilustra el uso de expresiones regulares para la postedición mediante el desarrollo de expresiones regulares para la corrección de un texto traducido automáticamente. Palabras clave: expresiones regulares, postedición, traducción automática Abstract The aim of this paper is to study regular expressions and their use in machine translation post-editing tasks. Regular expressions consist of a sequence of characters that form a search pattern and can be used to carry out substitutions efficiently. As part of the paper, a review of techniques and strategies for machine translation post-editing and the use of regular expressions in other translation-related tasks has been carried out. Finally, the use of regular expressions for post-editing is illustrated by developing regular expressions for the correction of a machine-translated text. 3
Keywords: regular expressions, post-editing, machine translation Zusammenfassung Das Ziel dieser Arbeit ist es, reguläre Ausdrücke und ihre Verwendung in der maschinellen Nachbearbeitung von Übersetzungen zu untersuchen. Reguläre Ausdrücke bestehen aus einer Folge von Zeichen, die ein Suchmuster bilden und zur effizienten Durchführung von Ersetzungen verwendet werden können. Im Rahmen der Arbeit wurde ein Überblick über den aktuellen Stand der Technik und Strategien für die Nachbearbeitung von maschinellen Übersetzungen und die Verwendung von regulären Ausdrücken in anderen übersetzungsbezogenen Aufgaben durchgeführt. Abschließend wird die Verwendung von regulären Ausdrücken für die Nachbearbeitung anhand der Entwicklung von regulären Ausdrücken für die Korrektur eines maschinell übersetzten Textes veranschaulicht. Schüsselwörter: reguläre Ausdrïke, Nachbearbeitung, maschinelle Übersetzung 1. Introducción La traducción se encuentra en evolución constante y, en los últimos años, el desarrollo de las tecnologías, la globalización y la necesidad de traducir una mayor cantidad de contenido destinado a su publicación, ha impulsado el desarrollo de las tecnologías de la traducción y en especial de la traducción automática, es decir, aquella que lleva a cabo un ordenador sin la intervención humana (Trados, 2021), dado que la traducción tradicional ya no era capaz satisfacer la demanda (Casacuberta, 2009). Gracias a este impresionante avance que ha experimentado la informática, la evolución de la traducción automática ha ido de la mano con las metodologías de análisis de grandes volúmenes de información, lo que ha permitido el desarrollo de enfoques basados en análisis estadísticos y de redes neuronales (Tejeda Achondo, 2020). Esta combinación ha dado como resultado que las traducciones resultantes de los sistemas que siguen este tipo de metodologías hayan mejorado 4
sensiblemente y por consiguiente la postedición haya cobrado a su vez una importancia mucho mayor. Para asegurar la calidad de las traducciones que resultan de dichos sistemas es necesaria la intervención humana mediante la postedición (PE) de los textos, donde los posteditores identifican y corrigen los errores de distinta naturaleza que han sido cometidos por el sistema de traducción automática. Este proceso también puede ser llevado a cabo de forma semiautomática, ya que existe la posibilidad de entrenar sistemas de traducción automática a partir de textos traducidos automáticamente posteditados por profesionales (ISO, 2017). Una de las herramientas más útiles que se pueden emplear durante el proceso de postedición son las expresiones regulares, ya que, como veremos más adelante, son secuencias de caracteres que nos permiten realizar búsquedas y reemplazos en un texto, tanto dentro de los entornos de traducción, como en algunos editores de texto. Al comienzo de este trabajo se llevará a cabo una revisión general de los trabajos previos, técnicas y herramientas empleadas en la PE. A continuación, veremos más en detalle qué son las expresiones regulares, cómo pueden emplearse estas en la postedición de la traducción automática y en otras tareas distintas de la postedición y, por último, desarrollaremos expresiones regulares para la postedición de un texto traducido del alemán al español mediante un sistema de TA. 2. Estado de la cuestión 2.1. La postedición Tomando como ejemplo la definición de la Organización Internacional de Normalización 18587 (ISO, Translations services - post-editing of machine translation output, 2017): ‘La postedición se lleva a cabo sobre el resultado de la traducción automática con el propósito de comprobar su exactitud y comprensión, mejorando el texto, haciendo que este sea más legible y corrigiendo 5
los errores’1. Si bien esta definición nos ofrece una idea de qué es la postedición, resulta conveniente añadir otros aspectos como el “preservar la mayor cantidad posible del resultado de la traducción automática”2 (Vasconcellos & Bostad, 1992) y el hecho de realizar esas correcciones “atendiendo a unas guías específicas y criterios de calidad”3 (O'Brian, 2011). A todo lo anterior, debemos incorporar otro aspecto a tener en cuenta, que es el propósito de las traducciones, ya que según el objetivo que se persiga con estas, se llevará a cabo un proceso de postedición distinto. Por tanto, teniendo en cuenta las distintas definiciones de postedición (PE) a las que acabamos de hacer referencia, podríamos decir que la postedición es una actividad que se lleva a cabo sobre el resultado de una traducción automática para comprobar su exactitud y comprensión, mejorando el texto, haciendo que este sea más legible y corrigiendo los errores intentando realizar el menor número de cambios posible, atendiendo a una serie de guías de postedición, criterios de calidad y al propósito de la traducción. Ya en la década de los 80 podemos encontrar algunas referencias a la actividad de postedición (PE), como la publicada por Wagner en 1985, en la revista Terminologie et Traduction, donde define la postedición como la actividad que abarca tanto la corrección de textos pretraducidos, como la traducción humana. Sin embargo, a pesar de ser una actividad reconocida desde esa década, no comenzó a ser realmente consideraba como una nueva especialidad dentro del mundo de la traducción hasta el año 2014, momento en el que la PE hizo su irrupción en los foros profesionales con debates en Internet, cursos de formación y artículos en revistas del sector (Sáchez Ramos & Rico Pérez, 2020). Este hecho se debió a la mejora de los sistemas de TA y la calidad de sus traducciones, una mayor disponibilidad de recursos relacionados con la TA, la expansión generalizada de esta y la incorporación de los sistemas de TA en los procesos 1 “Post-editing is performed on MT output for the purpose of checking its accuracy and comprehensibility, improving the text, making the text more readable and correcting errors.” 2 “To preserve as much of the machine's output as possible.” 3 “The correction of row machine translated output by a human translator according to specific guidelines and quality criteria.” 6
de traducción. De este modo, observamos que la postedición está íntimamente ligada al desarrollo de la TA, ya que, al ser esta una actividad que se realiza sobre las traducciones resultantes de dichos sistemas, su evolución se produce en consonancia con los cambios que experimentan estos y la calidad de las traducciones que resultan de los mismos. Hoy en día, muchas empresas y profesionales afirman que la TA es una herramienta del futuro debido a la necesidad de una comunicación internacional y al hecho de que en los próximos años aumentará la demanda de traductores que sean capaces de manejarla adecuadamente. Sin embargo, a pesar de que la PE es muy necesaria hoy en día porque permite hacer frente a la creciente demanda del mercado globalizado actual, surgen con ella también algunos inconvenientes. Según investigaciones llevadas a cabo por Sergi Alvarez Vidal, Antoni Oliver y Toni Badia y reflejadas en el artículo Post-editing for Professional Translators: Cheer or Fear?, publicado en la revista Tradumática (Álvarez Vidal, Oliver, & Badla, 2020), existe una gran escasez de formación específica para los futuros posteditores. Además, según encuestas realizadas, los traductores manifiestan que “aunque admiten que la PE les ayuda a aumentar la productividad y reducir el trabajo repetitivo, su mayor preocupación era que esta suponía una barrera para la creatividad y hace a los traductores progresivamente más pasivos y perezosos”4 (LeBlanc, 2013). Los traductores opinan que las herramientas de PE no están optimizadas y que la cantidad de ingresos recibida con la actividad de traducción y la de PE no difieren de forma significativa y que, en algunos casos, afirman incluso que sus ingresos eran mayores con la traducción que con la PE, sin embargo, mediante el uso de esta, les es posible abarcar un mayor volumen de trabajo. Esta situación ha provocado que esta actividad no siempre tenga una aceptación positiva entre los traductores y muchos se muestren reacios a usar estas herramientas, lo cual también ralentiza el desarrollo de esta disciplina. 4 “Although translators admitted it helped increase productivity and reduced repetitive work, their main concern was that it was a barrier for creativity and made translators increasingly passive and lazy.” 7
2.2. Proceso de postedición Dado que, como se ha indicado, la postedición se considera una nueva especialización dentro del mundo de la traducción, es importante señalar las características que la diferencian de la actividad de revisión y de la propia traducción. En primer lugar, la tarea de traducción difiere de la de postedición en que, mientras que los traductores trabajan solo con un texto original y la traducción que realizan de este, el posteditor trabaja con el TO, el resultado de la TA y el texto resultante tras la postedición y solo realiza la edición y corrección del texto resultante de la TA. La tarea de revisión se realiza sobre un texto traducido por otro traductor humano, mientras que en la postedición se edita y corrige un texto resultante de un sistema de TA. Por consiguiente, el revisor y el posteditor se enfrentan a errores de distinta naturaleza. El primero deberá tratar cuestiones tales como errores de omisión, tratamiento de las cifras, números y fechas, nombres y apellidos, formato, consistencia terminológica, cohesión del texto, uso de sinónimos, erratas y estilo. Es decir, errores que pueden cometerse de manera puntual. El posteditor, sin embargo, podrá encontrar un mismo error de forma recurrente a lo largo del texto porque trabaja sobre el resultado de un sistema de TA. La tarea de este estará determinada, además de por las exigencias del cliente en cuanto al nivel de calidad que debe presentar el texto resultante, por lo que, dependiendo del objetivo de la traducción y el encargo, aplicará un tipo de PE u otra, cuya diferencia veremos a continuación. Dentro de la PE, el estándar ISO distingue dos tipos diferentes que se emplean dependiendo del propósito de la traducción y el encargo realizado por el cliente: PE completa y PE rápida o ligera. En primer lugar, la PE completa (full post-editing) que, según esta misma fuente, se define como un nivel de postedición en el que el resultado debe ser preciso, comprensible y estilísticamente adecuado, con una sintaxis, gramática y puntuación correctas, cuyo objetivo es producir un resultado que no se distinga de la traducción humana, aunque se recomienda al 8
poseditor utilizar la mayor parte posible del resultado de la TA5. Este tipo de PE está relacionada con la traducción para la diseminación, es decir, aquella en la que se hace uso de sistemas de traducción automática para producir traducciones de suficiente calidad para ser publicadas y en la mayoría de los casos, el resultado de la TA debe ser posteditado (Oliver, 2016). Por otro, la PE rápida (light post-editing) está relacionada con la traducción de uso interno y de carácter perecedero. El objetivo que se persigue con esta es que el lector se haga una idea del contenido del texto, por lo que se realizan cambios mínimos y no se atiende a cuestiones estilísticas. Es decir, que “la PE rápida convierte el resultado bruto de la TA en un texto comprensible y utilizable, pero no adecuado desde el punto de vista lingüístico o estilístico”6 (DePalma, 2019) . Este tipo de postedición está relacionada con la traducción automática con fines de asimilación, es decir, una traducción en la que no se requiere que el texto meta sea completamente correcto a efectos de sintaxis, semántica y gramática, sino que más bien urge la inmediatez por obtener la traducción. “Se trata de traducciones efímeras, esto es que no se requiere que perduren en el tiempo, ya que se utilizan únicamente para el momento de ser leídas” (Francés Oltra, 2018). Por este motivo, cuando hablamos de traducción para la asimilación, no compensa contratar los servicios de un traductor profesional. Así pues, mientras la PE rápida suele aplicarse en aquellos casos en los que los textos están destinados al uso interno, es decir, que no están pensados para ser publicados, la PE completa suele emplearse para textos divulgativos, en cuyo caso es imprescindible valorar si es rentable emplear TA y PE o contratar a un traductor profesional que realice la traducción desde cero, ya que en esta modalidad solo se deben realizar los cambios que sean absolutamente necesarios y 5 “On this level of post-editing, the output shall be accurate, comprehensible and stylistically adequate, with correct syntax, grammar and punctuation. The aim of this leve lof post-editing is to produce an output wich is indistinguishable from human translation output. Nevertheless, it is reommended that post- editor use as much of the MT output as possible.” 6 “Light post-editing converts raw MT output into understandable and usable, but not linguistically or stylistically perfect.” 9
no se atiende a cuestiones de estilo, siempre y cuando estas no afecten al propósito de las traducciones. Cuando la PE se lleva a cabo en el ámbito profesional, son necesarias una serie de pautas a seguir para que todos los posteditores lleven a cabo los cambios de forma coordinada. Estas pautas se denominan guías de postedición. Generalmente, las empresas que ofrecen servicios de PE desarrollan sus propias guías, pero todas deben reflejar qué segmentos deben ser posteditados, qué tiempo se va a dedicar a la PE, qué tipo de correcciones se deben realizar y qué nivel de calidad se espera de la PE. Dado que en cada guía de PE se reflejan formas distintas de proceder, vamos a tomar como referencia el volumen 4 de la obra A Comparative Study of Post-editing Guidelines (Hu & Cadwell, 2016) en el que se realizó un análisis comparativo de algunas de las guías de PE rápida y completa más destacadas: TAUS (2016), Fianagan & Christensen (2014), O’brien (2010), Mesa-Lao (2013) y Densmer (2014). Mediante la comparación de estas guías se observó que en la postedición rápida todas las propuestas valoran la exactitud del mensaje y la corrección de la semántica mediante una ligera postedición, mientras que, a la gramática, sintaxis y estilo no se les da demasiada importancia. O'Brien y Mesa-Lao creen que no es necesario invertir demasiado tiempo en investigar la terminología incorrecta, mientras que Densmer opina que esta debe ser coherente. TAUS, Flanagan y Christensen y O'Brien sostienen que las correcciones ortográficas deben aplicarse con reglas básicas y el texto debe adaptarse a la cultura de destino. Si la frase es comprensible o correcta, la mayoría de las propuestas indican que no se debe llevar a cabo una reestructuración. Como observaciones adicionales, O'Brien añade que se espera poca calidad de la postedición rápida y, por otro lado, Densmer hace hincapié en los errores inducidos por la máquina y en las alternativas de traducción. Con respecto a la postedición completa, TAUS y Densmer esperan que la calidad no difiera con respecto a la traducción humana y destacan la importancia del buen estilo. Al contrario que 10
O'Brien y Mesa-Lao, que no están de acuerdo con la necesidad de prestar mucha atención al mismo, ya que esperan que la calidad tras la postedición completa sea media y no igual a la traducción humana. Dicho aspecto sigue siendo muy discutido hoy en día debido a su influencia directa sobre el coste y productividad de la postedición. Las guías de PE completa atienden a los aspectos de precisión, semántica y cultura en mayor medida que las guías de PE rápida. A diferencia de estas últimas, la mayoría de las guías de PE completa exigen que la terminología, la gramática, la puntuación, la sintaxis y especialmente la adaptación del texto a la cultura de destino sean correctas, así como la puntuación, la sintaxis y el formato. Así pues, mediante la realización de este estudio comparativo, se concluyó que las guías de PE presentan numerosas coincidencias, especialmente las de PE rápida, mientras que entre las guías de PE completa se aprecian diferencias en lo que se refiere a requisitos de estilo y a la calidad esperada del texto. 3. Herramientas usadas en la postedición Actualmente, apenas hay programas y/o herramientas en el mercado destinadas únicamente a la postedición. Esta se lleva a cabo directamente mediante el uso de las herramientas de traducción asistida por ordenador (TAO), las cuales no han experimentado cambios esenciales en sus presentaciones en los últimos 25 años, o, en todo caso, las innovaciones han tenido un escaso impacto en el proceso traductor (Sánchez-Gijón, 2016). Entre las características que se consideran más útiles para la PE podemos destacar la posibilidad de que puedan verse de forma simultánea el texto original y su traducción y el hecho de poder personalizar la visualización de los distintos paneles. Otro aspecto importante es la preservación del formato de los archivos originales (Nunes Vieira & Specia, 2011) . La posibilidad de consultar glosarios especializados y los controles de calidad integrados, así como el acceso a recursos léxicos externos y la disponibilidad de correctores ortográficos y gramaticales o de 11
estilo, son características también importantes para facilitar las tareas de postedición y bastante comunes en los entornos de traducción actuales (Eisele et al., 2009; Nunes Vieira y Specia, 2011; Vié et al., 2011; Zetzsche, 2012). Tomando como referencia el artículo Catálogo de Herramientas para la posedición (Flórez, Catálogo de herramientas para la posedición, 2012) vamos a exponer algunas de las herramientas de las que se dispone en la actualidad para llevar a cabo la tarea de postedición. En primer lugar, cabe señalar varios entornos de traducción, entre los que se encuentran Déjà Vu, MemoQ Translator Pro y SDL Trados Studio como opciones de pago y Virtaal, MateCAT y Omega T de código fuente abierto. 3.1. Entornos de traducción Los entornos de traducción con licencia de pago nombrados incluyen funcionalidades comunes como la integración de Google Translate, la posibilidad de realizar búsquedas y reemplazos globales, corrector ortográfico, opción de autocompletar y llevar a cabo controles de calidad. Déjà Vu permite, además, la posibilidad de reparar las coincidencias parciales mediante TA y el procesamiento por lotes (programas cuya ejecución no precisa de la interacción con el usuario y que se emplean usualmente para agilizar tareas repetitivas), al igual que MemoQ. Este a su vez incluye la posibilidad de llevar a cabo controles de calidad, los cuales también pueden realizarse con SDL Trados, que además de las funciones ya nombradas, integra Systran, SDL BeGlobal, SDL Enterprise Translation Server y la posibilidad de acceder a recursos léxicos externos. Por su parte, los entornos de traducción de código fuente abierto ofrecen funcionalidades muy diversas. Por su parte, Vitaal incluye varias funciones presentes en los entornos de traducción de pago como la posibilidad de usar Google Translate, acceder a recursos lingüísticos externos, realizar búsquedas y reemplazos globales, autocompletar, corrector ortográfico y llevar a cabo controles de calidad. Además, permite editar archivos TMX y TBX y el uso de otros traductores automáticos como Microsoft Translate, Apertium y Moses (traducción automática estadística). MateCAT, sin embargo, solo integra los traductores Moses y MyMemory, pero ofrece 12
autocorrección a partir de la retroalimentación proporcionada por los usuarios y re- entrenamiento dinámico a partir de las correcciones. En OmegaT existe la posibilidad de usar también los traductores Apertium y Google Translate, además de Belazar y cuenta con corrector ortográfico y lingüístico basado en reglas. En este entorno de traducción también es posible gestionar el procesamiento por lotes y, como funcionalidad a destacar, encontramos su interfaz para crear e integrar scripts, que en algunos casos pueden usarse para llevar a cabo controles de calidad. Por otro lado, cabe señalar la existencia Apertium Advanced Web Interface, un sistema de traducción que posee interfaz para pre y postedición, además de permitir el uso de una memoria TMX (local o en la web) durante la traducción, llevar un registro de los cambios realizados y exportar los resultados en el formato original y como memoria TMX, entre otras. 3.2. Herramientas complementarias Además de las herramientas a las que acabamos de hacer referencia, también existen algunas complementarias que integran interfaz para la postedición. Entre ellas encontramos Language Studio Pro, que ofrece la posibilidad de configurar intraducibles y PET, que permite comparar traducciones de diferentes sistemas, definir restricciones, como el tiempo de postedición, e indicadores de esfuerzo personalizables. Por último, merecen especial mención Kodos y RegexBuddy, las cuales presentan como función especial una interfaz para poder crear y probar expresiones regulares, siendo la primera de ellas de código fuente abierto y la segunda, de pago. En última instancia, merecen mención algunas herramientas generalmente usadas para llevar a cabo la localización de software (como CATALYST y Pasolo), así como también varios editores de texto (como EditPad Pro, Notepad++ y UltraEdit) que tiene integrada la herramienta de búsqueda y reemplazo y permiten el uso de expresiones regulares. 13
4. Expresiones regulares 4.1. Definición y usos En la actualidad hay que lidiar con el procesamiento de una gran cantidad de textos y la acción de filtrar determinados datos que buscamos en ellos puede llegar a suponer un problema y es ahí donde entran en juego las expresiones regulares, ya que, mediante su uso, resulta más sencillo encontrar lo que buscamos. Las expresiones regulares o regex, llamadas así por la contracción de su denominación inglesa regular expressions, son patrones de caracteres utilizados para la búsqueda y la coincidencia automátizadas7 (Windham, 2014). Dichos patrones se emplean para procesar texto de manera potente, flexible y eficiente. Las expresiones regulares pueden añadir, eliminar, aislar y, generalmente, multiplicar, ensamblar y desmembrar todo tipo de texto y datos con el apoyo de la herramienta concreta que se utilice. Con ellas es posible comprobar si una secuencia coindice con una expresión de búsqueda, encontrar caracteres en una secuencia, reemplazar subsecuencias en una secuencia que coincida con una expresión regular y extraer los archivos de textos, entre otras. Como acabamos de ver, las expresiones regulares son una herramienta muy versátil que puede usarse para realizar diversas tareas en distintas áreas y, en lo que respecta a la traducción, estos patrones de caracteres no solamente pueden ser de utilidad durante la tarea de postedición, como veremos más adelante, sino que también pueden emplearse para preeditar textos, modificar glosarios u otros materiales para la traducción y durante el proceso de corrección y optimización de las traducciones, más concretamente para llevar a cabo los controles de calidad y el tratamiento de etiquetas. 7 “Character patterns used for automated searching and matching.” 14
4.2. Lenguajes de las expresiones regulares Las expresiones regulares son un lenguaje que puede estar escrito en diferentes dialectos y, si bien los principios básicos de todos ellos suelen ser siempre los mismos, cada uno de esos dialectos aporta algo distinto y siguen evolucionando. Tomando como referencia el primer capítulo de la obra Understanding and Using Regular expressions (Nagy, 2018) se pueden destacar los siguientes tipos de dialectos para las expresiones regulares: BRE, ERE, EMACS, VIM y PCRE • BRE (Basic Regular Expressions) fue el dialecto con el que comenzaron a estandarizarse las expresiones regulares dentro del estándar POSIX 1003.2, el cual se utiliza en los editores Ed y Sed, así como en el comando Grep. • ERE (Extended Regular Expressions) fue la sintaxis con la que se produjo la primera gran evolución de las expresiones regulares. Se emplea en Egrep y Notepad++, entre otros. • SRE (Simple Regular Expressions), el cual fue desaprobado en favor de BRE. • EMACS y VIM son editores que han desarrollado sus propios dialectos sobre la base de ERE. • PCRE (Perl Compatible Regular Expressions): es algo más complejo porque funciona con unas normas completamente diferentes al resto de dialectos, sin embargo, resulta más sencillo de leer. En él se basan la mayoría de los lenguajes de programación, cada uno con sus propias abreviaturas y diferencias. Entre dichos lenguajes se incluyen PHP, JavaScript, Java, C #, C ++, Python, R, Perl hasta la versión 5 y más. 4.3. Sintaxis de las expresiones regulares Ahora que ya sabemos qué son las expresiones regulares y los distintos dialectos en los que se pueden escribir en función de la herramienta que utilicemos, vamos a ver cómo formularlas, qué 15
caracteres las componen y las funciones que cumple cada uno con sus respectivos ejemplos. Para ello, tomaremos como referencia el segundo capítulo de Understanding and Using Regular expressions, centrado en la sintaxis de las expresiones regulares. Para empezar, una expresión regular puede ser simplemente una letra o palabra o estar escrita dentro de unos caracteres de barra inicial y barra final /regex/. En algunos lenguajes como JavaScript, en lugar de las barras de inicio y final, se deben emplear las comillas simples ‘regex’ y, en el caso de PHP y Python, se emplearían las comillas “regex”. Dentro de la expresión regular encontramos caracteres literales (letras mayúsculas y minúsculas, números y algunos símbolos) y metacaracteres. Los caracteres literales insertados dentro de la expresión regular coinciden consigo mismos, es decir, si escribimos /r/, nos señalará todas las r que se encuentren en el texto o, en aquellos casos en los que existan simplificaciones en la ejecución, solo se mostraría la primera r que la expresión encuentre dentro de cada serie o palabra, entendiendo de esta forma que, al encontrar una coincidencia, ya no es necesario señalar las demás. Algunos símbolos también se consideran caracteres literales en la mayoría de dialectos, por ejemplo: ! , % , = y _. Por el contrario, existen otros símbolos que no son considerados como caracteres literales en casi ningún dialecto, sino como metacaracteres. Este es el caso de: ., *, ^, $ y []. La función que cumplen estos metacaracteres es la de indicar una operación de forma similar a como lo hace una palabra clave en un lenguaje de programación. A continuación, con el objetivo de simplificar la explicación sobre los metacaracteres y las funciones que cumple cada uno, se expone una tabla (Institute, 2020) donde se reflejan los comunes a la mayoría de los dialectos empleados para las expresiones regulares acompañados de ejemplos. Metacaracter Descripción Ejemplo . Concuerda con caracteres individuales. x.y.z concuerda con una cadena de 16
caracteres como x1y0z o xaybz. [] Contiene caracteres individuales y [xyz] concuerda con cadenas de rangos de valor que deben concordar caracteres que contienen x, y o z. ^ Concuerda con información inicial [^abc] concuerda cadenas de cuando está al inicio de la expresión. caracteres que no incluyen ninguna Cuando está dentro de corchetes y combinación de a, b y c. Las seguida de caracteres, niega los cadenas de caracteres que caracteres que siguen. coincidirían incluyen bat y bar, pero no cab. ^[xyz] concuerda con cadenas de caracteres que inician con x, y o z. - Indica un rango de valores a [1–5] concuerda con cadenas de concordar. caracteres como 12345 o 26589, Nota: el rango debe estar entre pero no 6789. corchetes ? Los caracteres anteriores o rangos de Sept? concuerda con Sept y valores son una parte opcional de la septiembre, pero no diciembre. expresión que se debe concordar. También actúa como cuantificador que indica 0 o 1 veces. + Los caracteres anteriores o los rangos [0–9]+ concuerda con 1, 11, 456 y de valores pueden concordar una o así sucesivamente. más veces. * Los caracteres anteriores o los rangos 12*3 concuerda con 1223 y 123, de valores pueden concordar cero o pero no con 223 ni 23. más veces. () Contiene un grupo de expresiones y (cat) concuerda con cadenas de 17
valores. caracteres como categoría y concatenar, pero no cart (carretilla). \ Permite que se utilice un metacaracter \+ permite que se reconozca el como carácter literal. signo de suma como tal. $ Hace que concuerde la información [123]$ concuerda cadenas de con base en el último carácter. caracteres que terminan con 1, 2 o Representa el final de la cadena de 3. caracteres o el final de la línea, si se utiliza el modo multi-línea. No representa un carácter en especial sino una posición. | Concuerda una frase u ortografía I|internacional concuerda con alternativa. Internacional e internacional. ! Indica qué caracteres no se incluyen en c(a!b) concuerda con cat (gato) o la coincidencia. can (lata) pero no cab (taxi). {n} Indica un número determinado de abc{2} coincide con una cadena coincidencias. que tiene ab seguido de 2 c. También existen abreviaturas generales que proporcionan accesos directos para rangos de valores: Abreviatura Descripción \a Cualquier carácter alfanumérico (a–zA–Z0–9) \b Espacio en blanco \c Cualquier carácter alfabético (a–zA–Z) \d Cualquier dígito decimal (0-9) 18
\h Cualquier dígito hexadecimal \n Nueva línea \q Una cadena de caracteres entre comillas \w Una palabra simple ([a–zA–Z]+) \z Un número entero ([0–9]+) 5. Uso de expresiones regulares para la postedición Como hemos visto anteriormente, las expresiones regulares se emplean con diversos fines dentro tanto en otras áreas como en distintas actividades relacionadas con la traducción, pero veamos ahora cómo pueden ayudarnos concretamente durante la tarea de postedición. Las expresiones regulares se emplean en la mayoría de las herramientas CAT para mejorar las prestaciones de las funciones de los controles de calidad, aunque, como se ha comentado en el apartado de herramientas para la postedición, también encontramos las opciones de búsqueda y reemplazo con posibilidad de uso de regex en la mayoría de las herramientas usadas para la localización de software y varios editores de texto. Mediante el uso de expresiones regulares se pueden identificar los errores lingüísticos más complejos y repetitivos y sustituirlos por el texto correcto en el resultado de la TA. Con ellas podemos realizar búsquedas y reemplazos terminológicos, buscar y reemplazar patrones de texto indeseados o filtrar los segmentos que contengan determinados patrones de texto, entre otras posibilidades. De esta forma podemos automatizar y acelerar considerablemente el proceso de postedición. Entre los errores más repetitivos de la TA que pueden automatizarse mediante el uso de expresiones regulares se encuentran el uso incorrecto de mayúsculas y minúsculas, errores de puntuación (como guiones o signos diacríticos), errores a nivel terminológico, adición u omisión de palabras o errores de formato, como los espacios en blanco (KantanMT, 2013). 19
Veamos a continuación qué expresiones regulares podríamos usar para corregir algunos de estos errores de forma eficiente. Para ello, tomaremos como referencia algunos ejemplos de los artículos Regular Expressions: An Introduction for Translators (Schiaffino, 2021) y Automating MT post-editing using regular expressions (Guzmán, 2017). Si estuviésemos empleando una herramienta como MemoQ y quisiésemos buscar durante un control de calidad las letras mayúsculas y minúsculas que difieren en el texto de origen y el texto meta, podríamos usar el siguiente par de expresiones regulares: ^[A-Z] (que introduciríamos en source) y ^[a-z] (que pondríamos en target). El símbolo (^) al principio de la expresión regular señala el comienzo de una cadena o segmento. A continuación, aparecen dos conjuntos de letras entre paréntesis separadas por un guion que define exactamente el conjunto de caracteres dentro del rango. El primer conjunto es el rango de todas las letras mayúsculas y el segundo conjunto marca el rango de todas las letras minúsculas. Para encontrar todos los segmentos en los que la puntuación en el texto meta no coincide con la del texto original, podríamos usar las expresiones \.$ en source y [^.]$ en target. Estas expresiones encuentran todos los pares de segmentos que terminan con un punto en el texto de origen, pero no en el de destino. En la primera expresión, el "$" señala el final de una cadena o segmento y la barra invertida (\) seguida de "." indica que lo que se busca son los puntos. En la segunda expresión, (^) indica negación, por lo que [^.] indica "cualquier carácter que no sea un punto". Por lo tanto, [^.]$ encontrará todos los segmentos que no terminen en un punto. También podemos usar esta expresión para buscar otros signos de puntuación. Uno de los problemas de puntuación más frecuentes a los que deben enfrentarse los posteditores cuando se revisa una TA del alemán o inglés al español es la coma que precede a und y and. En ambas lenguas anglosajonas la preposición debe ir precedida de dicha coma, mientras que en español no debe aparecer coma antes de esta preposición en la mayoría de los casos. Para solventar este problema, podríamos emplear, por ejemplo, un editor de texto como Notepad++ y poner la siguiente expresión regular en search: ,( y\b). Con ella, el editor buscará todas las 20
comas que precedan a un espacio en blanco seguido de “y” y esta a su vez preceda a un espacio en blanco, ya que, como hemos visto en la sección anterior “\b” es una abreviatura que indica “espacio en blanco”. Una vez realizado este paso, colocamos la expresión $1 en replace para eliminar la coma que precede al grupo indicado porque en este caso el símbolo del dólar representa posición y con el 1 indicamos el grupo entre paréntesis. De este modo, la coma desaparece porque indicamos que en su lugar se sitúe una “y” respetando los espacios en blanco. Las expresiones regulares también nos permiten buscar términos u aproximaciones de estos, así como realizar búsquedas en las que se puedan incluir dos o más términos. Por ejemplo, si tuviésemos que realizar la postedición de un texto en el cual se han utilizado varios sinónimos para traducir una misma palabra del texto original, podríamos utilizar una expresión regular sencilla para detectar esos casos al mismo tiempo, sin tener que buscarlos uno a uno. Para ello, solo tendríamos que escribir los sinónimos en la opción de búsqueda que nos proporciona nuestra herramienta de traducción y separarlos entre sí mediante el signo “|”, que es el metacaracter que representa concordancias con frases o grafías alternativas. Ejemplo: “móvil|celular”. Del mismo modo, también podríamos buscar de esta forma un término que pueda encontrarse con mayúscula o minúscula inicial. En este caso, pondríamos “T|término” y la expresión regular buscaría las coincidencias tanto como con “Término”, como “término”. También podemos buscar otras grafías alternativas de un mismo término, como podría ser el caso de “va(ll|y)a”. Mediante esta expresión, indicamos a la expresión regular que busque las coincidencias con las grafías valla y vaya al mismo tiempo. O, en el caso de que tuviésemos, por ejemplo, el caso de post-edición y postedición, podríamos usar la expresión regular “post[ - ]?edición” para encontrar las coincidencias con estas dos grafías. El conjunto entre corchetes representa que estamos buscando un espacio o un guion y el signo de interrogación posterior es un cuantificador que indica a la expresión regular cuántas veces debe coincidir el elemento o carácter precedente, que en el caso del signo de interrogación significa "0 o 1" veces. Por tanto, 21
la expresión buscará post seguido de un espacio, un guion o nada (debido al efecto del cuantificador). Mediante el uso de expresiones regulares, también es posible llegar a solventar problemas a nivel sintáctico o incluso gramatical, aunque este tipo de regex necesita de un examen más minucioso de los textos y suelen tener una mayor complejidad. 6. Desarrollo de expresiones regulares para la postedición alemán-español A continuación, vamos a desarrollar algunas expresiones regulares para el par de lenguas alemán-español. Para ello, pondremos como ejemplo algunos textos de temática actual en alemán y usaremos los traductores automáticos en línea DeepL y Google Translate para traducirlos al español y proponer regex que corrijan los errores que presentan los resultados de la TA. La herramienta escogida para llevar a cabo la tarea de postedición del texto resultante de la TA al español será Notepad++ por ser un editor de texto de código fuente abierto y su facilidad de uso con respecto a otras herramientas. Pongamos por caso que queremos traducir la siguiente noticia publicada en el noticiero alemán Tagesschau sobre las inundaciones que están teniendo lugar recientemente en Alemania: https://www.tagesschau.de/newsticker/liveblog-hochwasser-105.html#Pegel-in-Passau-steigen-- -Polizei-schleppt-vorsorglich-Autos-ab (Anexo 1). Para ello usaremos el traductor automático DeepL y realizaremos la postedición sobre el resultado de la TA, eliminando los errores que presente. Al analizar el resultado de la TA (anexo 1) para detectar errores, encontramos que DeepL traduce las fechas dejándolas separadas por puntos como en la lengua original cuando en español deben emplearse las barras. Este error es muy común en la traducción del alemán al español y realizar el trabajo de postedición a mano en este caso sería muy tedioso, puesto que se 22
trata de un error muy repetitivo. Por este motivo, vamos a desarrollar una expresión regular que nos agilice la tarea. En alemán, al igual que en español, las fechas se escriben poniendo primero el día, seguido del mes y por último el año. Teniendo en cuenta este hecho, tenemos que buscar un número entero compuesto por cuatro o dos dígitos (año) después de un punto. Este punto tendrá que ir a su vez precedido por un número entero de uno dos dígitos (mes), que deberá estar situado detrás de otro punto al que precede otro número entero de uno o dos dígitos (día). Para ejecutar la regex copiamos el resultado de la TA y lo copiamos en Notepad++ y presionamos las teclas Ctrl + F para abrir la opción de búsqueda y pondríamos en search: (^\d{1,2}(?=\.))\.(\d{1,2}(?=\.))\.(\d{2,4}) En el primer grupo entre paréntesis (^\d{1,2}(?=\.)), usamos ^ para indicar la posición al principio de la cadena, \d para indicar que debe coincidir con un dígito entre 0 y 9, {1,2} indica el número de veces que deben aparecer los dígitos (en este caso una o dos veces porque los días vas de 1 a 31). Añadimos (?=\.), que significa que ese dígito además debe ir seguido del carácter literal del punto. Luego colocamos la barra y el punto para indicar que después de ese número hay un punto. En el segundo grupo (\d{1,2}(?=\.)) volvemos a hacer exactamente lo mismo de antes y en el último grupo indicamos que después del segundo carácter literal del punto haya un dígito entre el 0 y el 9 que pueda aparecer 2 o 4 veces, puesto que los años pueden aparecer en las fechas solo con los dos últimos dígitos o con el año entero, que serían 4 cifras. Ahora que ya tenemos localizadas las fechas, pondremos en replace la siguiente expresión para sustituir los puntos por las barras: $1/$2/$3. Aquí el símbolo del dólar indica posición. De esta forma estamos diciendo que lo que queremos es que entre los grupos arriba indicado, se escriba una barra en lugar de un punto. 23
En este mismo texto también podemos observar otro error recurrente en el resultado de la TA: Uhr se ha traducido como hrs. Lo correcto en español es poner h, ya que se trata de un símbolo y los símbolos carecen de plural. Si bien es cierto que la secuencia hrs no coincide con ninguna otra que pueda contener una palabra en español y podría reemplazarse fácilmente en cualquier editor de texto con una herramienta de búsqueda y reemplazo simple sin necesidad de crear una expresión regular, veamos cómo podría corregirse este error con una regex que también pudiese servirnos para corregir otros términos erróneos que pudiesen colocarse tras el formato de la hora para traducir Uhr. Teniendo en cuenta que la cadena hrs estará situada después de un número entero de dos dígitos, seguido de dos puntos, otro número de dos dígitos y un espacio en blanco, colocamos en search la siguiente expresión: (\d{2}(?=\:))\:(\d{2}(?=\b))\b (hrs). El primer grupo entre paréntesis, \d indica que se busque una cifra y el 2 entre llaves indica que dicha cifra debe estar compuesta dos dígitos (horas), después especificamos con (?=\:) que el la cifra de dos dígitos anterior debe ir seguida de dos puntos, en el segundo grupo volvemos a especificar lo mismo, pero el número de dos cifras, que aquí representará a los minutos, debe ir seguido de un espacio en blanco en lugar de dos puntos. Finalmente, dejamos un espacio y colocamos la cadena hrs entre paréntesis para poder sustituirla, ya que lo que hacen los paréntesis es marcar un grupo específico. A continuación ponemos en replace: $1\:$2 h para indicar que el grupo 1 ($1) siga estando separado del grupo 2 ($2) por dos puntos, que después de estos siga habiendo un espacio, pero después de este haya una h, en lugar de hrs. Supongamos ahora que queremos traducir del alemán al español una carta como la del anexo 2, un correo electrónico o incluso una obra en la que se presenta un recopilatorio de textos pertenecientes al género epistolar. En alemán, el saludo se coloca en la primera línea, se acaba con una coma y se comienza a escribir el contenido de la carta en la siguiente línea y con 24
minúscula inicial. En español, por el contrario, el saludo se acaba con dos puntos al final de la línea y se comienza a escribir en la siguiente línea con mayúscula inicial. Empleamos el traductor automático de Google para traducir la carta del anexo 2 y observamos que transfiere a la lengua meta las normas ortográficas de la lengua de origen, es decir, deja la coma y la minúscula inicial. Vamos a ver cómo podríamos agilizar el proceso de postedición de este error mediante una expresión regular en caso de que tuviésemos que modificarlo en un extenso número de cartas traducidas. Para ello, podríamos emplear la siguiente expresión regular: (^.*)\,(\r\n)(\w). En primer grupo, con el símbolo ^ indicamos posición al comienzo de una línea. El punto busca coincidencia con cualquier carácter y * que indica buscar coincidencia con el carácter anterior entre cero y un número ilimitado de veces, tantas como sea posible. Con \, especificamos que se busque el carácter literal de la coma. A continuación, creamos otro grupo dentro del que estén \r para indicar que busque el retorno de carro y \n para el salto de línea. Después indicamos que se busque cualquier carácter literal dentro de paréntesis para poder crear un grupo para el reemplazo. Para sustituir ahora la coma por los dos puntos y cambiar la letra inicial a mayúscula en Notepad++ usaríamos la siguiente expresión en el apartado replace: $1\:$2\u$3. Con $1 indicamos el primer grupo sin cambios tras el que deberá a parecer el carácter literal de los dos puntos \:. Después el grupo dos, que permanece sin cambios como el primero y posteriormente \u$3. Con \u indicamos que el carácter literal que aparezca en el grupo 3 sea escrito en mayúscula. 7. Conclusiones A pesar de que la postedición es una actividad que se realiza desde hace décadas y que cada vez es más demandada debido a la mejora de los sistemas de traducción automática y la globalización, en el mercado apenas hay aún herramientas exclusivamente destinadas a este fin, 25
como hemos podido observar en el apartado de herramientas para la postedición. A este hecho se suma la falta de formación específica para posteditores, lo cual da lugar a que estos deban aprender por sus propios medios cómo sacar partido a las herramientas TAO para emplearlas durante la postedición, teniendo que acudir en ocasiones a herramientas externas para implementar sus funciones o, dependiendo del caso, usarlas directamente como primera herramienta en lugar de acudir a los entornos de traducción. Entre estas herramientas complementarias encontramos las expresiones regulares que, como hemos visto, pueden servir de gran ayuda para llevar a cabo la postedición e incluso otras tareas relacionadas con la traducción de forma mucho más rápida, sobre todo cuando hablamos de grandes cantidades de texto que presentan errores sistemáticos y repetitivos. Por tanto, si bien las expresiones regulares pueden llegar a ser de gran utilidad, también son una herramienta que requiere de estudio y práctica al principio, ya que el lenguaje que se emplea para su desarrollo es algo complejo y deben ser precisas. De lo contrario, pueden llegar a ralentizar el proceso o dar incluso más trabajo, puesto que resulta fácil cometer errores y hacer modificaciones indeseadas que sea necesario corregir posteriormente. 8. Anexos 8.1. Anexo 1 Texto de original del noticiario alemán Tagesschau: Hochwasser in Deutschland++ Mindestens 110 Tote im Raum Ahrweiler ++ Stand: 18.07.2021 07:36 Uhr Die Koblenzer Polizei rechnet damit, dass allein in Ahrweiler und Umgebung mindestens 110 Menschen ums Leben gekommen sind. Die niederländischen Behörden wollen die Schleusen der Rur in Roermond nicht öffnen. Die Ereignisse im Liveblog. 26
También puede leer