Blog del grup de recerca Tradumàtica

Blog del grup de recerca Tradumàtica sobre tecnologies de la traducció

Tag Archive 'marc riera'

Feb 06 2019

Apertium: traducció automàtica de tothom i per a tothom

Marc Riera Irigoyen – Estudiant del màster Tradumàtica

Quan als traductors professionals o als estudiants de traducció se’ls parla de la traducció automàtica, generalment hi ha dues reaccions: hi ha els qui pensen que la traducció automàtica és un niu d’errors de traducció i per tant resulta poc fiable, i els qui amb por preveuen que les màquines es rebel·laran contra el traductor humà per prendre-li el lloc de treball.

Deixant de banda els arguments de cada postura, el contrast d’opinions revela que molt sovint es desconeix el funcionament dels traductors automàtics. Resulta paradoxal que, sent una eina indispensable en el dia a dia per a molts traductors, se segueixi veient la traducció automàtica com una cosa gairebé màgica, amb un funcionament d’allò més complex i impossible d’entendre, o bé se’n té una visió simplificada i es considera que són sistemes que «tradueixen paraula per paraula». El caràcter comercial de molts d’aquests motors de traducció ho complica tot encara més, perquè l’usuari no pot descobrir fàcilment les limitacions del traductor automàtic ni pot saber si l’empresa responsable no està emmagatzemant els textos i dinamitant la confidencialitat.

Per sort, també existeixen alternatives lliures i de codi obert, i Apertium n’és un exemple. Apertium va néixer fa una mica més d’una dècada com una plataforma de traducció automàtica lliure per a qualsevol combinació de llengües. Aprofitant el treball invertit en InterNOSTRUM, el seu predecessor, va començar enfocat als parells de llengües properes, però ha evolucionat i ara és possible traduir textos entre llengües més distants. En aquest darrer cas l’ús és més reduït quan l’objectiu és la disseminació, és a dir, la creació de nous textos que no només reflecteixin el sentit de l’original, sinó que tinguin una qualitat acceptable i sense grans edicions per part d’un traductor humà (el que s’anomena postedició) es puguin publicar.

Gràcies al programa Google Summer of Code, que atorga beques a estudiants universitaris interessats en el desenvolupament de programari lliure, l’estiu de 2017 —mentre acabava els meus estudis en el Grau de traducció i d’interpretació de la UAB— vaig tenir l’oportunitat de treballar a temps complet durant tres mesos en el parell anglès–català d’Apertium. Tot i que aquest parell ja existia i es podia fer servir públicament des del lloc web d’Apertium, no s’havia actualitzat des de feia pràcticament deu anys. Aquesta desactualització i l’evolució natural de la plataforma (des dels inicis d’Apertium s’han anat creant nous components per facilitar les tasques més complexes) havien fet que fos un parell molt difícil de seguir desenvolupant i expandint de manera còmoda. Per tal de facilitar-ne el desenvolupament, es va crear un parell nou en proves reaprofitant part de les dades de l’anterior. El projecte realitzat durant l’estiu va consistir a eliminar errors, documentar i expandir precisament aquesta nova versió del parell, que havia quedat a mitges, per tal de reemplaçar l’antic.

El flux de treball d’Apertium, basat en regles, és complex i simple alhora: el text en la llengua de sortida entra al traductor i passa per una sèrie de petits programes o mòduls que l’alteren fins a obtenir el text traduït a la llengua d’arribada. Apertium en si és el conjunt de mòduls; cada parell de llengües està format per diferents fitxers de diccionaris i regles on s’estableix quins mòduls es faran servir i com s’hauran de comportar, però no s’altera el mòdul pròpiament dit. Aquesta separació entre la plataforma de traducció i les dades lingüístiques facilita molt el manteniment general, permet que el procés de traducció es pugui ampliar de forma molt senzilla i incentiva la creació de nous parells de llengües.

Flux de treball d’Apertium: text d’entrada, desformatador, etiquetador morfològic (analitzador i desambiguador), processador de multiparaules discontínues, transferència lèxica, selecció lèxica, transferència estructural (segmentació), generador morfològic, postgenerador, reformatador, text de sortida.

Al cor d’un parell de llengües trobem tres components indispensables: dos diccionaris monolingües (un per a cada llengua del parell) i un diccionari bilingüe, que defineix les equivalències entre unitats lèxiques i la relació que tenen (si una equivalència només és vàlida en una direcció, per exemple). Aquests diccionaris contenen la informació necessària perquè els mòduls d’anàlisi, traducció i generació d’Apertium sàpiguen identificar correctament cada paraula del text original i puguin generar un equivalent en la llengua d’arribada.

Evidentment, no hi ha dues llengües que siguin iguals gramaticalment, la qual cosa fa necessari l’ús del mòdul de transferència estructural. Aquest mòdul utilitza regles que agrupen unitats lèxiques i hi realitzen canvis estructurals, com ara canvis d’ordre. Per exemple, en anglès els adjectius sempre van davant del substantiu (blue house), però en català normalment van darrere (casa blava). A més, l’adjectiu ha de concordar en gènere i nombre (no pot ser cases blau). Gràcies a les regles de transferència estructural es poden establir patrons com aquest i indicar a la màquina quines transformacions s’hi han de fer.

A partir d’aquí, també hi ha altres mòduls complementaris per a operacions més específiques, com la selecció lèxica quan una sola paraula pot tenir més d’una traducció. Tornant a l’anglès, la paraula bat es pot traduir al català com a bat (de beisbol) o com a ratpenat. El mòdul de selecció lèxica permet definir regles de context (paraules anteriors i posteriors); si davant de bat trobem baseball o wooden, per exemple, es tractarà de l’objecte i no de l’animal, i podrem descartar ratpenat com a opció a l’hora de traduir.

Regla d’exemple (selecciona bat si davant hi ha baseball o wooden):

<rule>

   <or>

     <match lemma=”baseball” tags=”n.*”/>

     <match lemma=”wooden” tags=”adj”/>

   </or>

   <match lemma=”bat” tags=”n.*”>

     <select lemma=”bat” tags=”n.*”/>

   </match>

</rule>

Un altre mòdul molt interessant, creat precisament enguany també com a projecte de Google Summer of Code, és apertium-separable (processador de multiparaules discontínues), que facilita la traducció dels verbs separables. Apertium analitza per defecte el text original a partir del «patró més llarg», és a dir, que si es trobés en anglès el verb take off, mai no analitzaria take i off per separat si al diccionari existís take off com a conjunt. En una frase com she took her shoes off, però, Apertium no podria saber sense una regla de transferència excessivament complicada que el verb té dos elements perquè her shoes parteix el verb, i ho traduiria com va agafar les seves sabates fora. Aquest mòdul detecta que her shoes és una construcció que pot partir un verb i avisa a Apertium que off acompanya el verb i en forma part. D’aquesta manera, la traducció resultant (va treure les seves sabates), tot i que segueix sense ser correcta, és molt més adequada, tal com es pot comprovar en la versió d’Apertium instal·lada a Softcatala.org/traductor. En definitiva, les possibilitats són moltes i cada parell de llengües pot aprofitar tot allò que li resulti més útil.

Regla d’exemple (uneix take i off si estan separats per un sintagma nominal):

<e lm=”take off” c=”quitarse”>

<p><l>take<s n=”vblex”/></l><r>take<g><b/>off</g><s n=”vblex”/><s n=”sep”/></r></p><i><t/><j/></i>

<par n=”SN”/><p><l>off<t/><j/></l><r></r></p>

</e>

Les millores i correccions aplicades durant l’estiu al parell anglès–català van ser molt diverses; en línies generals, els diccionaris van créixer considerablement (de 35.000 a 66.000 entrades) i la cobertura lèxica sobre textos generals va passar del 86% al 92% (el traductor reconeix deu de cada dotze paraules del text original). Centrant-nos en canvis més concrets, es va millorar el funcionament del desambiguador morfològic, un mòdul estadístic que es fa servir al principi del procés de traducció i que tria la millor opció quan Apertium troba més d’una entrada al diccionari per a una mateixa paraula (per exemple, en català, porta pot ser un substantiu femení o la tercera persona singular del present d’indicatiu del verb portar). Tot i ser un mòdul principalment estadístic que s’ha d’entrenar amb un corpus lingüístic, se’n pot millorar el funcionament amb regles (en el cas anterior, si davant de porta hi ha l’article la, augmenten les possibilitats que sigui un substantiu i no un verb). Gràcies a aquesta millora, les regles de transferència estructural s’apliquen millor i hi ha menys errors greus de traducció.

Regla d’exemple (descarta el verb en cas d’ambigüitat si just davant té un determinant):

REMOVE V IF (-1 Det) (0 Nom) (0 Verb)

Altres canvis importants van ser la regulació del genitiu saxó (-’s), que no es podia afegir correctament a les paraules acabades en «s» quan es traduïa des del català perquè Apertium no coneixia la norma (cal dir politics’ i no politics’s), i la classificació dels noms propis en català (antropònims, topònims, noms d’empreses, etc.) en funció del seu gènere i nombre. Aquest darrer canvi soluciona errors de traducció com Barcelona és bonic (de l’original Barcelona is beautiful) que tenien l’origen en la manca de gènere d’aquests noms propis (en català, els topònims acabats en -a àtona se solen considerar femenins i en la majoria de casos els complements hi concorden).

Tot i no ser una tasca fàcil, vaig comptar amb l’incansable suport de tres mentors: Mikel L. Forcada (fundador d’Apertium i catedràtic a la Universitat d’Alacant), Xavi Ivars (col·laborador d’Apertium i membre de Softcatalà) i Adrià Martín (coordinador del Màster de Tradumàtica i mentor l’any 2016 d’un projecte de traductor automàtic amb Apertium entre el sard i l’italià). Sense ells hauria estat impossible aprendre en tan poc temps tot el funcionament intern d’un traductor automàtic i passar a formar part de la gran comunitat de col·laboradors que hi donen suport.

Apertium és, en definitiva, molt més que un traductor automàtic; és una comunitat de desenvolupadors apassionats amb un objectiu comú: fer accessible la traducció automàtica a tothom. És un punt de trobada entre programadors, lingüistes i gent d’arreu del món que estimen les llengües i entre tots s’ajuden i busquen fer realitat els seus somnis. Gràcies a la seva feina, Apertium creix en nombre de llengües (és el primer traductor automàtic per al sard, per exemple) i en funcionalitats (des de fa poc es poden traduir llocs web fàcilment). Per part meva, vaig considerar tan útil la meva experiència, que Softcatalà em va proposar que m’encarregués del manteniment del parell de llengües anglès-català i l’any següent (2018), acabat de graduar, em vaig encarregar de la creació del parell romanès-català. Apertium és una eina molt poderosa i mai no és massa tard per començar a fer-la servir com a traductor però, sobretot, mai no és massa tard per començar a formar-ne part.

Apertium: http://www.apertium.org


No hi ha comentaris