Els algorismes de traducció automàtica

GuillemValentina.jpg Entenem els altres, quan parlen? La veritat és que no sempre els entenem, ni tampoc comprenem els seus escrits, perquè molts parlen altres idiomes. Al món parlem moltes llengües diferents, i no podem pas saber-les totes.

Sabem que els ordinadors són màquines versàtils, potencialment capaços de resoldre problemes en camps totalment diversos. Sembla senzill: només cal pensar i escriure el corresponent algorisme, i l’ordinador ens portarà a la solució. L’algorisme és la recepta que explica pas a pas com arribar a bon port. En alguns cassos, això no és difícil. L’algorisme per a fer divisions que ens ensenyen a l’escola és curt i fàcil de recordar (però no oblidem que va caldre esperar segles fins poder dissenyar-lo sobre una base sòlida com és la de la notació aritmètica actual, posicional i en base 10). Hi ha altres problemes (com el de la motxilla) que requereixen algorismes exponencials, massa lents i impracticables, si volem trobar una solució òptima. De fet, l’objectiu sempre és trobar algorismes eficients (que no triguin massa en trobar la solució) i fiables, algorismes que ens portin a una solució acceptable i raonable. Però per alguns problemes com el de la traducció automàtica, la tasca de trobar un algorisme que els resolgui de manera raonablement eficient i fiable ha resultat ser extremadament feixuga.

La història de la traducció automàtica és paral·lela a la de la informàtica. L’any 1954 es va fer el primer intent, conegut com experiment de Georgetown. Tot era optimisme: els autors van poder traduir unes seixanta frases del rus a l’anglès. El camp de la traducció automàtica va atreure molts diners públics, i es va arribar a pensar que que “l’algorisme” es trobaria en un termini de no més de cinc anys. No va pas ser així, i a pesar de molta feina i de molts treballs al llarg dels següents 50 anys, no es va trobar cap algorisme de traducció automàtica que donés resultats acceptables. Els investigadors aplicaven tècniques basades en sintaxi i semàntica, de manera semblant al que fèiem a l’escola. Analitzaven sintàcticament la frase a traduir, intentaven recuperar-ne les idees (semàntica) i finalment tractaven d’expressar aquestes idees en l’idioma objectiu, tot sintetitzant les noves frases. Tot plegat, massa difícil. Les nostres llengües tenen matisos, frases fetes, girs i altres construccions que no són fàcils d’entendre amb regles sintàctiques i semàntiques. La gent del carrer no consulta els llibres de gramàtica, per parlar.

Els algorismes de traducció probabilística o estadística són molt recents. Franz Josef Och va guanyar el concurs DARPA de traducció automàtica l’any 2003 amb un d’aquests algorismes i va decantar els mètodes de traducció cap a aquests nous esquemes probabilístics. Aquests algorismes surten de  tres idees bàsiques: un model probabilístic, un sistema d’aprenentatge i un mètode d’optimització en temps real. Els models probabilístics substitueixen els models gramaticals i sintàctics i es basen en el teorema de Bayes. El teorema de Bayes és fonamental, perquè vincula la probabilitat d’un succés A donat B amb la probabilitat de B donat A. En d’altres paraules, si sabem la probabilitat de tenir mal de coll quan tenim la grip, podem calcular la probabilitat de tenir la grip quan tenim mal de coll (vegeu nota al final). De fet, els models probabilístics dels sistemes actuals de traducció automàtica són més complexes, però inclouen el teorema de Bayes i les idees d’aprenentatge i optimització.

De fet, hi ha a més una quarta idea essencial, que és la que ha donat l’impuls definitiu als algorismes de traducció automàtica eficients i raonablement fiables. És la d’emprar un diccionari de frases enlloc d’un diccionari de paraules. Val a dir que, en el camp de la traducció probabilística, el concepte de frase és un concepte molt més general que el que usem habitualment. Una frase és qualsevol conjunt de paraules que apareix reiteradament. Però no cal que tingui cap significat. Les frases, als algorismes de traducció, no tenen semàntica. Les dues paraules “vaig anar” formen una frase, perquè les trobem tot sovint. Les frases capturen els desordres locals i permeten modelar la traducció de girs i frases fetes. Veiem alguns exemples, amb la nova eina Google Translate. Google Translate utilitza el model probabilístic que hem explicat, amb diccionari de frases. Si demaneu la traducció de la frase “the blue teapot is really cool” al català, us dóna com a resultat “la tetera blau és genial”. L’algorisme ha modelat bé la inversió entre el substantiu i el seu atribut de color, i ha traduit la frase anglesa “really cool” per “genial”. Força bé, no? Com a segon exemple, proveu de traduir la frase “esto es pan comido”, del castellà al català. El resultat us dirà que és “això és bufar i fer ampolles”. Aquí és on es veu clar que l’algorisme de traducció utilitza un diccionari de frases, que incorpora girs, dites i frases fetes. Val a dir que si aneu provant trobareu resultats no tan afortunats, però és clar que l’estat actual dels algorismes probabilístics ja comença a permetre la seva utilització (amb cura i repassant sempre el resultat) i ens fa ser optimistes cara a les seves possibilitats en un futur proper.

Com ja hem comentat, els algorismes probabilístics de traducció necessiten un diccionari de frases, per a poder traduir entre dos idiomes. Els diccionaris de frases estan ordenats alfabèticament i són semblants als nostres diccionaris habituals, però contenen frases enlloc de paraules. I a més, per a cada possible traducció (paraula o frase) guarden el valor de la seva probabilitat. A l’exemple d’abans, al diccionari anglès-català podríem trobar, al costat de la paraula “really”, la frase “really cool” per exemple amb dues possibles traduccions: “genial” i “fantàstic”, amb probabilitats de 0.7 i de 0.3 respectivament. En canvi, al diccionari castellà-català, trobaríem la frase “esto es pan comido” amb una única traducció amb probabilitat 1: “això és bufar i fer ampolles”. Recordeu que les probabilitats es donen en tant per 1 (cal dividir el tant per cent per 100) i que la suma de les probabilitats de totes les possibles traduccions d’una paraula o frase ha de ser la unitat. S’ha comprovat que, per a poder desenvolupar un algorisme estadístic de traducció que sigui fiable i per poder calcular bé les probabilitats de traducció entre frases que es corresponen, cal analitzar moltes parelles de texts (original i la seva traducció). En concret, cal disposar d’una col·lecció paral·lela de més d’un milió de paraules en cada un dels dos idiomes. I a més, cal disposar de dos conjunts de texts monolingües, cada un d’ells amb un mínim de mil milions de paraules, per a poder comprovar si la frase final un cop traduïda és d’ús comú en l’idioma de destí. Els algorismes de Google utilitzen texts de documents oficials de la ONU, perquè es publiquen en totes les sis llengües oficials de les Nacions Unides i són fiables. Però també utilitzen documents oficials de la Unió Europea. El procés d’aprenentatge és lent i feixuc, però es va fent sense presses, en paral·lel a les peticions de traducció que anem fent. Els algorismes d’aprenentatge van actualitzant els diccionaris de frases i les seves probabilitats, tot incorporant i analitzant noves col·leccions paral·leles de parelles de texts. Ho deixen tot preparat per a quan necessitem traduir alguna cosa.

Però el sorprenent, en tot això, és que aquests algorismes de traducció treballen sense tenir en compte ni una sola regla, ni sintàctica ni semàntica. Es basen només en l’anàlisi estadística de parelles de texts o corpus. De fet, s’ha demostrat que els seus resultats són millors que els donats pels actuals models sintàctics i semàntics.

Si aneu a la pàgina del traductor de Google veureu que permet traduir entre moltíssims idiomes. Però de fet, habitualment Google no fa traduccions directes. La traducció de la llengua L1 a L2, normalment requereix dos passos de traducció, el primer de L1 a anglès i el segon d’anglès a L2. Pels texts en català, Google fa tres passos: de català a castellà, de castellà a anglès i d’anglès a l’idioma destí. Això és degut a que existeixen més parelles de documents patró català-castellà que català-anglès. En tot cas, i com ja dèiem, els resultats actuals són molt prometedors.

Serà molt més fàcil de preservar la diversitat de llengües quan sapiguem trencar les barreres de comunicació. No crec pas que tots ho veiem, però penso que al llarg del segle XXI, l’evolució dels actuals algorismes de traducció automàtica permetrà la comunicació en temps real entre persones que parlin llengües diferents. No és ciència ficció, és quelcom que ara es comença a veure factible. Podeu pensar en amplificadors intel·ligents (o telèfons traductors) que faran que puguem escoltar en anglès, pels altaveus, el que una persona va explicant en català davant del micròfon. Seran algorismes i màquines de traducció simultània. Noves eines per a poder entendre els demés, que tant de bo puguin ajudar els nostres néts a comprendre “els altres” i a dialogar enlloc de barallar-se.

Nota: En el cas de la traducció, si volem traduir un tros de text “f”, el que fan els models probabilístics és cercar la frase traduïda “e” tal que la probabilitat p(e/f) sigui màxima. Aquesta probabilitat p(e/f) és la probabilitat de trobar-nos “e” com a resultat de la traducció de “f”. És el que fem nosaltres de manera intuïtiva. Si un text “e” té una probabilitat condicionada (així és com s’anomena) p(e/f) elevada, és que és una traducció “que ens sona bé”. I perquè ens sona bé? Perquè el nostre cervell ens diu que la traducció de “f” a “e” ja l’hem vist altres cops i té sentit. Ens basem en l’experiència. Justament això és el que fan els actuals algorismes. En la fase d’aprenentatge, analitzen molts texts (l’original i la traducció) i n’extreuen les probabilitats, les mesures de si “sonarà bé” o no. El teorema de Bayes ens diu que el producte de p(e/f) per p(f) és igual al producte de p(f/e) per p(e). Com que p(f) no depen del resultat de la traducció, maximitzar p(e/f) és el mateix que maximitzar el producte de p(f/e) per p(e). Si tenim pre-calculades les probabilitats p(f/e) i p(e), el que hem de fer durant la traducció és només una optimització en temps real. Tot plegat és més complex, però podeu pensar que el que fem en temps real és generar una primera llista de texts pre-candidats “e1″, “e2″, … “en”, calcular el valor p(f/e)*p(e) per a cada un d’ells, i quedar-nos amb la frase resultat que maximitzi aquest valor. Aquesta és la traducció. De fet, els models probabilístics dels sistemes actuals de traducció automàtica són més complexes i incorporen tan la probabilitat p(f/e) com la p(e/f) i la p(e). En tot cas, el sistema d’aprenentatge és qui calcula i manté actualitzades aquestes tres probabilitats.

4 comentaris

  • Joan

    27/10/2012 19:47

    M’ha interessat molt l’article perquè jo professionalment he estat sempre interessat en certs problemes fàcils de resoldre per a un investigador i gairebé impossibles per a un ordinador. Jo sóc metge però treballava amb un company que tenia un PhD en enginyeria elèctrica amb interès demostrat en algorismes, matemàtiques i programaris molt difícils. Les estadístiques, en canvi,no li feien el pes. Jo no podia contribuir molt però li identificava les aplicacions i oferia un nivell de criticisme i sentit comú (o així m’ho pensava???) Una de les nostres feines principals era trobar les línies frontera (pe membranes cel.lulars) d’estructures biològiques. Les companyies comercials deien sempre que ja estava resolt però no hi havia cap test de qualitat o comparació i els investigadors s’ho creien sense proves. Vam arribar a comparar amb traçats manuals. Quin malson. Quan vam plegar, el meu amic va anar a treballar en identificacions de cares humanes desconegudes, que no són tan fàcils i dignes de confiança com es veu a la TV en films de terroristes. Li agrada fer coses difícils.

  • pbrunet

    25/10/2012 19:19

    Bé, tal vegada la meva frase és una mica massa categòrica. La veritat és que, com tots sabem, Google guarda molt bé els seus secrets. Jo m’he basat en el que diu en Franz Josef Och

  • BVidal

    25/10/2012 13:24

    Pere, realment és veritat que
    “Però el sorprenent, en tot això, és que aquests algorismes de traducció treballen sense tenir en compte ni una sola regla, ni sintàctica ni semàntica. Es basen només en l’anàlisi estadística de parelles de texts o corpus. De fet, s’ha demostrat que els seus resultats són millors que els donats pels actuals models sintàctics i semàntics.”?

    Parlant amb persones d’empreses importants que desenvolupen algun sistema de TA probabilístics, tots diuen que hi han anat incorporant regles lingüístiques. No tinc dades de Google, però diria que també. Tens alguna dada d’això?

  • APujol

    25/10/2012 9:35

    Reviseu l’ortografia sisplau….

Comenta

*

(*) Camps obligatoris

L'enviament de comentaris implica l'acceptació de les normes d'ús