Apertium has moved from SourceForge to GitHub.
If you have any questions, please come and talk to us on #apertium on irc.freenode.net or contact the GitHub migration team.

Hectoralos/GSOC 2019 final report

From Apertium
Revision as of 15:48, 25 August 2019 by Hectoralos (Talk | contribs)

Jump to: navigation, search

Contents

Introducció

Aquest document descriu el treball realitzar per Hèctor Alòs en el marc del Google Summer of Code 2019. Han supervisat el projecte Marc Riera i Xavi Ivars.

Pujades (commits)

Objectius i pla de treball

Els objectius i el pla de treball estan descrits en la proposta que vaig fer

S’ha tractat de millorar dos traductors existents: el català-italià (primera meitat del projecte) i el català-portuguès. En tots dos casos, es tracta dels dos sentits de la traducció. Això fa que en el primer parell s’hagi desenvolupat el traductor de català a italià, ja que fins ara només existia el d'italià a català. En el cas del portuguès, es va demanar de generar tant portuguès europeu (que és bàsicament el que s'utilitza també a les excolònies portugueses d'Àfrica i Àsia), com brasiler, quan fins ara només es generava el primer. A més, hi ha la complicació afegida del canvi ortogràfic de 1990 que afecta sobretot, però no només, al portuguès europeu. Els sistemes actuals a Apertium contemplaven només les formes antigues. El problema, però, és que el canvi, avui dia, s’aplica només parcialment a Portugal, i gens a Angola. En conseqüència, es va decidir de generar tres variants del portuguès: l'europea posterior al canvi ortogràfic (que és la varietat «per defecte»), l'europea anterior al canvi i la brasilera posterior al canvi ortogràfic.

Desenvolupament del projecte

Les tretze setmanes del projecte s’ha dividit en set per al parell italià-català i sis per al portuguès-català. La raó de posar una setmana mes al primer parell ha estat la necessitat de crear una direcció, com qui diu, des de zero (tot i que, evidentment, s’han reutilitzat moltes coses de traductors anteriors). Donat que el meu coneixement del català és molt millor que el de les altres dues llengües, en cada meitat del projecte primer he treballat sobretot en la direcció al català i, en la segona meitat de cada part, en la direcció des del català. De tota manera, totes dues direccions estan molt interrelacionades.

En les setmanes prèvies al GSoC pròpiament dit, he baixat les traduccions a l’italià i al portuguès del Viccionari català. També, Jaume Ortolà ha tingut l’amabilitat, com en altres ocasions, d’extreure de LanguageTool els noms, adjectius i adverbis italians i portuguesos en format ltoolbox, a més d’una llista de verbs. Això ha facilitat, i molt, la inclusió de paraules en els diccionaris, especialment en el cas portuguès, en què el nombre de paraules extretes de LanguageTool ha estat enorme. Cal dir, però, que he trobat força errors, sobretot ortogràfics i de picatge, en les traduccions del català a l’italià, però justament la llista de paraules de LanguageTool n’ha facilitat la supervisió.

A continuació explico el desenvolupament de les dues parts del projecte. Una visió numèrica de l’evolució del desenvolupament setmana a setmana pot veure’s aquí

Català-italià

Els problemes d’aquest parell ha vingut sobretot del costat italià, en què, fins ara, només s’havien publicat els parells italià-català i italià-sard. Tots dos han estat desenvolupats molt ràpidament, cosa que s’ha notat molt per un diccionari monolingüe italià relativament reduït i, sobretot, molts problemes en la desambiguació morfològica de l’italià. La millora d’aquesta desambiguació mitjançant Constraint Grammar ha estat una part important del treball. A més, en ser el primer parell que genera italià desenvolupat fins al nivell de poder ser estable, s’han inclòs algunes regles al post-generador italià, que no és trivial (encara en falten algunes, en particular per a les sigles). En essència, però, ja estava fet. La feina principal, que ha ocupat la meitat o més del temps, ha estat l’extensió del diccionari bilingüe.

A més d’això, en la direcció italià-català, s’han incrementat molt les regles de transferència i s’han afegit centenars de regles de selecció lèxica.

Per a la nova direcció català-italià s’han reutilitzat a bastament recursos dels parells sard-italià i occità-francès, tant en les regles de transferència com en les de selecció lèxica. És per això que hi ha sensiblement més regles de selecció lèxica del català a l’italià que en sentit invers.

apertium-anàfora

En les dues últimes setmanes del GSoC he tingut l'oportunitat de testejar el nou mòdul apertium-anaphora, el qual ha estat desenvolupat alhora en el marc del GSoC. Ha estat del tot experimental, intentant utilitzar el nou mòdul per a trobar el referent del determinant possessiu català el seu. Si el mòdul indicava que el referent era singular, es triava el determinant il suo (amb la concordança de gènere que s'escaigui); en canvi, si el referent era plural, es triava il loro.

Els resultats, però, no han estat satisfactoris. És probable que, amb l'experiència que n'hem tret d'aquest primer intent, una nova configuració en millori els resultats. En particular,

  • la configuració triada donava poca prioritat com a possible antecedent als noms precedits per preposició, però hem trobat que en força casos de manca d'encert justament l'antecedent anava precedit de preposició;
  • l'antecedent a vegades era el subjecte elidit de la frase actual o l'anterior, la qual cosa fa que trobar el nom o el pronom antecedent sigui pràcticament inabordable; potser es pot provar quins resultats s'obtenen si se li diu al mòdul que l'antecedent pot ser un verb.

Per altra banda, una millora d'aquest tipus posa en evidència algunes mancances que tenim fins ara:

  • L'ús d'una eina com aquesta fa més important incorporar més i més antropònims als diccionaris, ja que són possibles antecedents. Seguint l'esperit de la distribució de tasques al llarg de la cadena de processos d'Apertium, l'eina no té en compte les paraules desconegudes com a potencials antecedents.
  • Possiblement convindrà "encapsular" les seqüències de nom i cognom. En una frase (no gaire catalana) com
 Joana Pujol mira el seu rellotge

"Joana" i "Pujol" competeixen en igualtat de condicions com a possibles antecedents. La tria de l'un o l'altre resulta atzarosa. Però només si es tria "Joana" es farà la tria de her en anglès en comptes de his.

  • Considerem la frase següent:
 Os cavalos usam uma elaborada linguagem corporal para comunicar uns com os outros, a qual os humanos podem aprender a compreender

En la traducció al català la paraula femenina linguagem esdevé el nom masculí llenguatge. Això fa que el pronom relatiu a qual hagi de canviar a el qual. Però, com veiem, refiar-nos massa del mòdul és perillós. Un problema semblant el tenim, en el català-italià (i en l'occità-francès, del qual ha heretat les regles en t2x) quan es tracta de mantenir l'acord entre subjecte i atribut. Les regles de t2x només canvien el gènere del suposat atribut si el suposat subjecte ha canviat de gènere de la llengua font a la llengua destí. En la versió actual d'apertium-anaphora no tenim accés a la morfologia de l'antecedent putatiu en la llengua font, per la qual cosa no podríem fer la comprovació que ara mateix fem en les regles de transferència estructural.

(Totes aquestes qüestions han estat, lògicament, discutides amb el desenvolupador del mòdul, Tanmai Khanna, al llarg d'un extens intercanvi de missatges electrònics.)

Dit tot això, en cas de funcionar, apertium-anaphora seria un mòdul molt interessant per millorar la tria de, per exemple, possessius i alguns relatius (per exemple de el qual/la qual/els quals/les quals en traduir el cuyo castellà o el cujo portuguès). Tanmateix, el mòdul no està pensat per a abordar el problema de tria del pronom subjecte a l'hora de traduir, per exemple, del català al francès o l'anglès.

Català-portuguès

La situació inicial d’aquest parell era molt diferent de l’anterior. Primerament, sobre el portuguès s’ha fet molta feina a Apertium, amb parells estables portuguès-castellà, portuguès-gallec i portuguès-català. Contràriament a l’italià, la desambiguació del portuguès funcionava molt bé i estaven definides unes 150 regles de transferència en una direcció i més de 300 en l'altra, cosa que ha fet que n’hagi hagut d’afegir ben poques. En conseqüència, el parell català-portuguès continua tenint la transferència estructural en un sol pas. L’ús pràctic del traductor no ha mostrat que sigui prioritari passar-lo al model de tres passos (o més) que utilitza el català-italià.

La feina en aquest parell, doncs, s’ha concentrat en els diccionaris i les regles de selecció lèxica. Del costat portuguès-català s’han reutilitzat algunes regles de selecció lèxica del parell castellà-català. En tot cas, el nombre d’aquestes regles és sensiblement inferior a l’italià, en part perquè la proximitat lingüística entre català i portuguès és més gran i, en part, perquè inicialment el parell català-portuguès tenia un diccionari bilingüe més extens, amb selecció lèxica resolta, sobretot, amb etiquetes r dins del diccionari bilingüe, així com algunes regles de transferència.

Quant al diccionari monolingüe portuguès, d’una banda s’han afegit desenes de milers de nous lemes i, d’una altra, s’han introduït distincions per a cadascuna de les tres variants. Hi ha més de 3500 lemes etiquetats com a específics d’una o dues variants.

El mateix s’ha fet amb el diccionari bilingüe, en què les entrades han passat de 9000 (sense comptar noms propis) a gairebé 26.000 (també, sense comptar noms propis). Unes 2300 entrades estan etiquetades com a específiques o preferibles d’una o dues de les variants.

Les noves regles de l’Acordo Ortográfico de 1990 permeten, a vegades, dobles ortografies, especialment en la variant europea. Per exemple, mentre que «sector» és l’única forma acceptada per a la variant europea anterior a l’Acordo i «setor» ho és per a la variant brasilera, totes dues formes s’accepten ara per a la variant europea. Això fa que en el diccionari monolingüe tinguem:

   <e lm="sector" v="pt pt_pre1990">                 <i>sector</i><par n="amor__n"/></e>
   <e lm="setor" v="pt br">                          <i>setor</i><par n="amor__n"/></e>

(on pt és la variant europea segons l’Acordo de 1990, pt_pre1990 la variant europea anterior i br la variant brasilera posterior a l’Acordo)

Les variants brasileres que han quedat obsoletes amb el canvi ortogràfic estan indicades com a no generables:

 <e r="LR" lm="qüestão">                           <i>qüest</i><par n="aceitaç/ão__n"/></e>

Per als canvis ortogràfics ha resultat bàsic el Portal da Língua Portuguesa de l'Instituto de Linguística Teórica e Computacional, mentre que el Vocabulário Ortográfico Comum da Língua Portuguesa ha servit de suport.

Portuguès brasiler

El treball de generació del portuguès brasiler s’ha fet, sobretot, en els plans ortogràfic i lèxic.

Entenc que l’ús principal dels traductors d’Apertium és el de traduir articles de la Viquipèdia i notícies. Per això en tots aquests traductors el tipus de textos que he treballat són justament aquests. En el cas del portuguès, he intentat cobrir les diferències més importants de la terminologia sociopolítica que apareix en les notícies d’actualitat de Portugal i el Brasil (amb diferents termes per a «alcalde», «ajuntament» i «eleccions municipals», per exemple). En canvi, he deixat de costat la introducció de la gran quantitat de canvis que implica el canvi de segona persona a tercera en traduir al portuguès brasiler. Això implica desenes de canvis en les regles de transferència, tal com es veu en el parell castellà-portuguès. Bàsicament, es tractaria de copiar aquestes diferències i anar-les provant, tenint en compte que les regles no són idèntiques en català-portuguès i castellà-portuguès a causa, sobretot, del pretèrit perfet perifràstic del català. Simplement, no apareixen pràcticament mai verbs en segona persona en textos enciclopèdics o periodístics. He preferit dedicar el poc temps del projecte en qüestions que he considerat més productives, com l’ampliació dels diccionaris i la comprovació empírica de la qualitat del diccionari traduint nombroses notícies d’actualitat (sobretot del portuguès al català, tant de diaris brasilers com portuguesos).

Cal esmentar que hi ha casos en què una mateixa paraula s’ha d’interpretar de maneres diferents en un context de portuguès europeu i brasiler. Per exemple «estrelar» és «fregir (un ou)» en el primer cas i «protagonitzar (un paper)» en el segon. És possible que afegir un pas inicial en el pipeline que determinés de quina variant del portuguès estem traduint ajudi a desambiguar millor, però no m’ha semblat necessari fins ara (ni s’ha considerat necessari res de semblant per a traduir des del català).

Algunes xifres

Parell català-italià

Diccionari bilingüe

Entrades totals: 45.165

Noms propis: 21.946

Resta d’entrades: 23.219

Direcció italià>català

Regles de selecció lèxica: 510 + 77 crides a macros

Regles de transferència estructural: 113 (t1x) + 3 (t2x) + 1 (t3x)

Cobertura «ingènua»: 91,2%

WER: 15,7%

Direcció català>italià

Regles de selecció lèxica: 813 + 79 crides a macros

Regles de transferència estructural: 107 (t1x) + 3 (t2x) + 1 (t3x)

Cobertura «ingènua»: 94,7%

WER: 14,2%

Parell català-portuguès

Diccionari bilingüe

Entrades totals: 47.754

Noms propis: 21.925

Resta d’entrades: 25.829

Direcció portuguès>català

Regles de selecció lèxica: 283 + 65 crides a macros

Regles de transferència estructural: 177

WER: 14,0%

Cobertura «ingènua»: 91,4%

Direcció català>portuguès

Regles de selecció lèxica: 315 + 60 crides a macros

Regles de transferència estructural: 372

Cobertura «ingènua»: 94,4%

Futures direccions

  • Topònims: també per a prep a/en
Personal tools