• Aucun résultat trouvé

5.5 Ressources linguistiques

6.1.1 D ´ecomposition

6.1.3 Recomposition . . . 133 6.1.4 S ´election . . . 134

6.2 Evaluation du d ´ecoupage morphologique . . . 135´ 6.3 Evaluation des traductions g ´en ´er ´ees . . . 136´

6.3.1 R ´ef ´erences et mesures d’ ´evaluation . . . 136 6.3.2 Apport de la g ´en ´ericit ´e du mod `ele . . . 140 6.3.3 Apport des ressources linguistiques . . . 143 6.3.4 Apport de la strat ´egie de repli . . . 144 6.3.5 Apport des traductions fertiles . . . 146 6.3.6 Apport du corpus vulgaris ´e . . . 151 6.3.7 Analyse qualitative . . . 155

6.4 Discussion . . . 158

6.4.1 Bilan . . . 158 6.4.2 Perspectives . . . 159

Introduction

Dans ce chapitre, nous pr ´esentons la mise en œuvre de la m ´ethode de g ´en ´eration traduction d ´ecrite dans le chapitre 4 ( ´etapes 1 `a 4). L’objectif de cette m ´ethode est de pouvoir traduire

diverses sortes de mots morphologiquement complexes et de pouvoir g ´en ´erer des traductions fertiles.

Nous commenc¸ons par d ´etailler l’algorithme de g ´en ´eration de traduction (section 6.1). Puis, nous pr ´esentons les r ´esultats de l’ ´evaluation du module de d ´ecoupage morphologique dans la section 6.2. La section 6.3 ´evalue la qualit ´e des traductions g ´en ´er ´ees. Nous y d ´ecrivons diverses exp ´eriences dont le but est de mettre au jour l’apport des donn ´ees et des strat ´egies de g ´en ´eration. Les limites de notre travail ainsi que les perspectives de recherche sont discut ´ees dans la section 6.4.

6.1

Algorithme de g ´en ´eration de traductions

La m ´ethode de traduction pr ´esent ´ee au chapitre pr ´ec ´edent est implant ´ee gr ˆace `a l’algorithme 4. Cet algorithme prend en entr ´ee un terme source monolexical (source term) et produit en sortie z ´ero, une ou plusieurs unit ´es mono- ou poly-lexicales en langue cible (translations).

L’algorithme s’appuie sur les ressources d ´ecrites au chapitre pr ´ec ´edent, que nous notons ainsi :

– T rans est une ressource de traduction liant composants en langue source et composants en langue cible : table de traduction des morph `emes, dictionnaire bilingue g ´en ´eraliste et dictionnaire de cognats.

– V arsrc, resp.V artgt, est une ressource qui permet de g ´erer la variation en langue source

(src), resp. cible (tgt) : familles morphologiques, dictionnaire de synonymes. – Corpussrcun corpus segment ´e en mots, lemmatis ´e et ´etiquet ´e en langue source.

– Compsrc

type, resp.Comp tgt

type, est une liste de composants en langue source, resp. cible, o `u

type ´egale pref pour les pr ´efixes, conf pour les confixes, suf f pour les suffixes et word pour les mots (ces listes correspondent aux entr ´ees des ressources T rans et V arsrc et

aux mots extraits du corpus en langue source). – Stoptgtest une liste de mots outils en langue cible.

Pour plus de clart ´e, nous accompagnons la description de l’algorithme avec l’exemple de la traduction du terme anglaiscytotoxic vers le franc¸ais `a partir des donn ´ees suivantes (src = en ettgt = f r) :

En tant que m ´ethode de traduction compositionnelle, la fonction de g ´en ´eration de traductions se d ´ecompose en quatre sous-fonctions qui s’appliquent s ´equentiellement :

– D ´ecompositionD (section 6.1.1) – TraductionT (section 6.1.2) – RecompositionR (section 6.1.3) – S ´electionS (section 6.1.4)

La traduction de cytotoxic est donc donn ´ee par une composition de fonctions, chacune s’appliquant sur le r ´esultat fourni par la pr ´ec ´edente :

T ranslation(“cytotoxic”) = S(R(T (D(“cytotoxic”’))))

Algorithme 4 G ´en ´eration de traductions Require: source term, target corpus

translations ← ∅

for all {c1, ...ci} in D(source term) do ⊲ 1. D ´ecomposition

for all{t1, ...tj} in T (c1)× ... T (ci)do ⊲ 2. Traduction

if i 6= j then

continue

end if

for all {w1, ...wk} in R ({t1, ...tj}) do ⊲ 3. Recomposition

for all match in S({w1, ...wk}, target corpus) do ⊲ 4. S ´election

addmatch to translations

end for end for end for end for

return translations functionD(source term)

decompositions ← ∅

for all {m1, ...mi} in SPLIT(source term) do ⊲ 1.1 D ´ecoupage morphologique

for all {c1, ...cj} in CONCATENATE({m1, ...mi}) do ⊲ 1.2 Concat ´enation

add{c1, ...cj} to decompositions end for end for return decompositions end function functionR({t1, ...ti}) recompositions ← ∅

for all{t1, ...ti} in PERMUTATE({t1, ...ti}) do ⊲ 3.1 Permutation

for all {w1, ...wj} in CONCATENATE({t1, ...ti}) do ⊲ 3.2 Concat ´enation

if FILTER({w1, ...wj}) then ⊲ 3.3 Filtrage

add{w1, ...wj} to recompositions end if end for end for return recompositions end function 129

Compen

conf = {-cyto-}

Compen

word= {cytotoxic, cytotoxicity, toxic}

Compf rconf = {-cyto-}

Compf rword= {cellule, toxique} T rans = {

{-cyto- → -cyto-, cellule}, {toxic → toxique},

{cytotoxicity → cytotoxicit ´e} }

V aren= {cytoxic → cytoxicity}

Stopf r= {pour, le}

Corpusf r= “le/DETcytotoxicit ´e/N ˆetre/AUXle/DET

propri ´et ´e/Nde/PREPce/DETqui/PRO ˆetre/AUX

toxique/Apour/PREPle/DETcellule/N./PUN”

TABLE6.1 – Exemple de donn ´ees pour la traduction decytotoxic vers toxique pour les cellules etcytotoxicit´e

6.1.1

D ´ecomposition

La fonction de d ´ecompositionD comprend elle-m ˆeme en deux fonctions nomm ´ees SPLIT

(d ´ecoupage morphologique) et CONCATENATE(concat ´enation des morph `emes) :

D(“cytotoxic”’)

= CONCATENATE(SPLIT(“cytotoxic”’))

6.1.1.1 D ´ecoupage morphologique (SPLIT)

Cet ´etape d ´ecompose le terme source en morph `emes en suivant l’algorithme 5. Le d ´ecoupage se fait par simple projection des entr ´ees des ressources Compsrc, Compsrc

conf,

Compsrc

suf f, Compsrcword sur la chaˆıne de caract `eres repr ´esentant le terme source. On prend

´egalement en compte des contraintes de longueur sur les sous-chaˆınes appari ´ees avec les entr ´ees des ressources (L0, L1, L2). Par exemple, la chaine string[1 : n], compos ´ee de n caract `eres, peut ˆetre d ´ecoup ´ee en une base lexicalestring[1 : i] et un suffixe string[i + 1 : n] sistring[i + 1 : n] ∈ Compsrc

suf f etstring[1 : i] ≥ L2. Les contraintes de longueur utilis ´ees par

l’algorithme 5 ont ´et ´e param ´etr ´ees empiriquement (L0 = 5, L1 = 4, L2 = 4).

Un terme source est d’abord d ´ecompos ´e en un pr ´efixe optionnel + une base1, laquelle est

d ´ecompos ´ee en une base2 + un suffixe optionnel. Pour finir, la base2 est d ´ecompos ´ee en un

ou plusieurs confixes ou mots. Lorsque plusieurs d ´ecoupages sont possibles, seulement ceux ayant donn ´e le plus grand nombre de composants sont retenus.

CONCATENATE(SPLIT(“cytotoxic”’))

= CONCATENATE({cyto, toxic})

Algorithme 5 SPLIT: D ´ecoupage morphologique

Require: source term, Comppref,Compconf,Compsuf f,Compword

L0 = 5 ; L1 = 4 ; L2 = 4 ;

lemmas splits ← [ ] ⊲ D ´ecoupage sur les tirets puis d ´ecoupage de chaque sous- ´el ´ement

for all lemma inSPLIT ON HYPHENS(source term) do

pref ix =GET PREFIX(lemma) ⊲ Extraction du pr ´efixe optionnel

base =REMOVE PREFIX(pref ix, lemma)

suf f ix =GET SUFFIX(base) ⊲ Extraction du suffixe optionnel

base =REMOVE SUFFIX(lemma, suf f ix)

splits ← ∅ ⊲ Plusieurs d ´ecompositions possibles pour la base

for all (c1, ...cn) inGET COMPONENTS(base) do ⊲ (c1, ...cn) est la liste des composants

de la base

add(pref ix, c1, ..., cn, suf f ix) to splits

end for

addsplits to lemmas splits

end for

⊲ Combinaison de tous les d ´ecoupages de chaque sous- ´el ´ement splits = {(s1, ..., sn)|s1∈ lemmas splits[1], ..., sn∈ lemmas splits[n]}

⊲ Retourne les combinaisons avec le plus grand nombre de morph `emes

return{split|split ∈ splits, length(split) = max ({length(split)|split ∈ splits}) }

functionGET PREFIX(lemma)

for all pref in sorted by descending length (Comppref)do

base =REMOVE PREFIX(pref ix, lemma)

if lemma = pref or (lemma starts with pref and length(base)≥ L0 and (base ∈

Compwordsorbase can be decomposed into words or confixes)) then

return pref end if

end for end function

functionGET COMPONENTS(base)

C = {w|w ∈ Compwordsand length(w) ≥ L2} ∪ Compconf

return splits = {(c1, ..., cn)|ci ∈ C for all 1 ≤ i ≤ n, and c1+ ... + cn = base}

end function

functionGET SUFFIX(lemma)

for all suf f in sorted by descending length (Compsuf f)do

base =REMOVE SUFFIX(lemma, suf f ix)

if lemma ends with suf f and length(base) > length(suf f ) and length(base) ≥ L1 then return suf f

end if end for end function

6.1.1.2 Concat ´enation des morph `emes (CONCATENATE)

La fonction CONCATENATE g ´en `ere toutes les concat ´enations possibles des morph `emes

issus du d ´ecoupage morphologique. Par exemple, si le terme source abc a ´et ´e d ´ecoup ´e en trois morph `emes{a,b,c}, alors il existe quatre fac¸ons de concat ´ener ces morph `emes : {abc}, {a,bc}, {ab,c}, {a,b,c}. Pour un terme source ayant ´et ´e d ´ecoup ´e en n morph `emes, il existe 2n−1concat ´enations possibles.

CONCATENATE({cyto, toxic})

= {cyto, toxic}, {cytotoxic}

Cette ´etape de concat ´enation des morph `emes permet d’augmenter les possibilit ´es de trouver des traductions. Prenons l’exemple o `u nous souhaitons traduire le termenon-cytotoxic et o `u nos ressources contiennent des traductions pour non, cyto et cytotoxic mais pas pour toxic. Si nous nous basons uniquement sur la sortie du d ´ecoupage morphologique, c’est- `a- dire{non-,-cyto-,toxic}, la traduction de non-cytotoxic ´echoue car il n’y a pas de traduction pour toxic. Par contre, si nous passons par une ´etape de concat ´enation interm ´ediaire, nous obtenons aussi la d ´ecomposition {non-,cytotoxic}. Comme nos ressources contiennent des traductions pournon et cytotoxic, nous pouvons traduire le terme source.

Dans le cas o `u nous aurions quand m ˆeme eu la traductiontoxic → toxique, la concat ´enation permet de g ´en ´erer plusieurs traductions possibles et donc des variantes potentiellement int ´eressantes pour le traducteur. Par exemple, si le dictionnaire poss `ede les traductionsnon- →non, -cyto-→ cellule, toxic→ toxique, et cytotoxic→ cytotoxique, alors, nous pouvons g ´en ´erer

`a la fois la traduction non toxique pour les cellules et noncytotoxique.

Notons enfin que la concat ´enation reg ´en `ere la forme enti `ere du terme source (i.e. non d ´ecoup ´ee). Une fois de plus, ceci permet d’augmenter les possibilit ´es de traduire le terme, par exemple, en passant par un cognat et/ou une variante morphologique. Si nous savons quenoncytotoxic appartient `a la m ˆeme famille morphologique que noncytotoxicity et que nous savons quenoncytotoxicity se traduit par noncytotoxicit´e, alors nous pouvons ´etablir un lien de traduction direct entrenoncytotoxic en noncytotoxicit´e ce qui reste une traduction acceptable. Cette strat ´egie est une solution de repli int ´eressante lorsque le terme n’a pas pu ˆetre d ´ecoup ´e en morph `emes ou que la traduction de l’un des morph `emes a ´echou ´e.