• Aucun résultat trouvé

Solution : programmation dynamique

Partie II Contributions à la Traduction Automatique Statistique

3.3 Le corpus de sous-titres

3.3.2 Solution : programmation dynamique

Plusieurs solutions ont déjà été envisagées pour résoudre le problème d’alignement de corpus

parallèles [Moore 02, Brown 91, Melamed 96, Vandeghinste 04, Gale 91b] (nous invitons le

lec-teur à se référer à l’article [Singh 05] pour une étude comparative de ces méthodes). La plupart

des travaux sont basés sur la programmation dynamique. Ils utilisent pour cela une fonction

objectif qui permet de déterminer la distance existante entre les différents segments des corpus

parallèles, un segment pouvant être un paragraphe, une phrase ou une suite de mots.

3.3.2.1 Optimisation de l’alignement

Le problème consistant à aligner deux fichiers de sous-titrage d’un même film est un problème

classique de programmation dynamique. Etant donné tous les sous-titres anglais et français d’un

film, l’objectif est de trouver le meilleur alignement possible entre eux.

Nous allons pour cela considérer tous les alignements possibles et trouver quel est le meilleur

selon un critère d’optimisation qui sera dans notre cas la Fmesure. Nous allons utiliser cette

mesure pour trouver le meilleur chemin allant du premier sous-titre de chacune des deux version

de sous-titrage jusqu’au dernier.

La figure 3.6 modélise le problème. Chaque nœud (e

i

, f

j

)représente un alignement potentiel

entre le sous-titre anglais e

i

et le sous-titre français f

j

. Un chemin valide commence au nœud

(e

0

, f

0

) et se termine au nœud (e

E

, f

F

), E et F étant le nombre respectif de sous-titres dans

la version anglaise et française du film considéré. Les arcs représentent les transitions entre

alignements. A partir d’un nœud, trois transitions sont possibles :

64 Chapitre 3. Les corpus

Fig.3.6 – Alignement dynamique entre les sous-titres anglaise

i

et les sous-titres françaisf

j

d’un

même film

– transition verticale de(e

i

, f

j

) à (e

i

, f

j+1

). Le sous-titree

i

est aligné avec deux sous-titres

consécutifs f

j

etf

j+1

. La progression se fait seulement dans le fichier français. (cf. figure

3.3 où le sous-titre anglais 9est aligné avec les sous-titres français 11 et12)

– transition diagonale de (e

i

, f

j

) à (e

i+1

, f

j+1

). La progression se fait dans les deux fichiers.

(cf. figure 3.2 où les sous-titres anglais 16 et17 sont respectivement alignés avec les

sous-titres français13 et14))

– transition horizontale de (e

i

, f

j

) à (e

i+1

, f

j

). Les sous-titres consécutifs e

i

et e

i+1

sont

alignés avec le même sous-titref

j

. La progression se fait uniquement dans le fichier anglais.

Les transitions verticale et horizontale nous permettent de gérer les concaténations de sous-titres

et les suppressions de sous-titres. Une transition verticale signifie soit qu’un même sous-titre

anglais est aligné avec deux sous-titres français, soit qu’il y a un sous-titre français de plus qui

n’est pas rapporté en anglais. De la même façon, une transition horizontale indique soit que deux

sous-titres anglais sont alignés avec le même sous-titre français, soit qu’un des deux sous-titres

anglais n’est pas présent dans la version française du film. Nous verrons comment décider si de

telles transitions sont le cas de concaténation de sous-titres ou au contraire le cas d’insertion ou

d’omission.

Pour chaque nœud (e

i

, f

j

), nous définissons un score S(e

i

, f

j

) de correspondance basé sur la

Fmesure (F

M

) et sur le score du nœud précédent et calculé comme suit :

S(e

i

, f

j

) =max

S(e

i

, f

j1

) +β

Fm

(F

M

(e

i

, f

j

) +ǫ) (↑)

S(e

i1

, f

j1

) +α

Fm

(F

M

(e

i

, f

j

) +ǫ) (ր)

S(e

i1

, f

j

) +λ

Fm

(F

M

(e

i

, f

j

) +ǫ) (→)

α

Fm

Fm

etλ

Fm

sont des paramètres optimisés dans le but d’obtenir les meilleures performances

d’alignement sur un corpus de test. Ils accordent un poids différent à chacune des transitions

3.3. Le corpus de sous-titres 65

possibles. La valeur de ces coefficients dépend de la valeur de la FmesureF

M

. Notons également

que pour prévenir des problèmes liés à des scores nuls, nous utilisons une constante de lissage

ǫ. La Fmesure est donc utilisée comme mesure de distance entre deux sous-titres. Il s’agit d’une

moyenne harmonique entre la précision (P) et le rappel (R) :

F

M

(e

i

, f

j

) = 2×R(e

i

, f

j

)×P(e

i

, f

j

)

R(e

i

, f

j

) +P(e

i

, f

j

) (3.1)

Si la Fmesure entre deux sous-titres est supérieure ou égale à0,5 alors nous pouvons considérer

que plus de la moitié du sous-titre anglais est couvert par le sous-titre français et que par

conséquent l’un a de fortes chances de correspondre à l’autre.

Le rappel et la précision sont calculés en comparant les mots du sous-titre anglais aux traductions

des mots du sous-titre français.

R(e

i

, f

j

) = match(e

i

, tr(f

j

))

N(e

i

) P(e

i

, f

j

) =

match(e

i

, tr(f

j

))

N(f

j

) (3.2)

match(e

i

, tr(f

j

)) =

N(ei)

X

k=1

δ(e

ki

, tr(f

jl

))∀l∈[1−N(f

j

)] (3.3)

tr(f

j

) est la traduction mot-à-mot en anglais du sous-titre français f

j

. Cette traduction est

obtenue à l’aide d’un dictionnaire Français-Anglais. N(x) est le nombre de mots contenus dans

le sous-titre x. match(e

i

, tr(f

j

)) est le nombre de mots identiques entre le sous-titre e

i

et la

traduction mot-à-mot du sous-titre f

j

. Enfin δ(x, y) est la fonction de Kronecker valant 1 si x

ety sont identiques et 0 sinon. Un exemple de calcul de la fonction match()est donné dans la

figure 3.7. Pour chaque mot du sous-titre français, un dictionnaire bilingue fournit les traductions

were you ruin in inside per within

traduction mot−à−mot

f :

e :

dans

vous l’ avion vous mort

you the plane are dead

you crashed on the you are dead

étiez

plane

etes

^

Fig. 3.7 – Exemple de calcul de la fonction match()

possibles. Si une des traductions est présente dans le sous-titre anglais, la fonction match() est

incrémentée. Dans notre exemple, la fonction renvoie la valeur 6 puisque 6 mots du sous-titre

anglais se retrouvent dans les traductions possibles des mots du sous-titre français. Afin que

la mise en correspondance des sous-titres soit plus précise, la fonction match() est également

66 Chapitre 3. Les corpus

incrémentée lorsqu’une même forme orthographique apparaît dans les deux sous-titres français

et anglais. Cela permet ainsi de faire correspondre les noms propres sans qu’ils ne soient présents

dans le dictionnaire bilingue utilisé.

Les scoresS(e

i

, f

j

)sont calculés ainsi de la gauche vers la droite. Une fois tous les nœuds évalués,

et partant du meilleur score associé au dernier sous-titre anglais, le meilleur alignement est

obtenu par retour arrière jusqu’au premier sous-titre. Nous présentons, dans la section suivante,

les expériences menées avec cette méthode d’alignement automatique.