Améliorer la traduction au niveau du document grâce au sur-echantillage négatif et au masquage ciblé (2024)

Abstract: Ces travaux visent à améliorer les capacités des systèmes de traduction automatique à tenir compte du contexte dans lequel se trouve la phrase source, et donc, ultimement, à améliorer les performances globales des systèmes de traduction automatique. L’approche que nous proposons repose uniquement sur les données et la manière dont elles sont fournies au modèle durant l’entraînement et est complètement agnostique de l’architecture du modèle. Nous montrons que les performances des modèles de traduction, sur la paire en-fr, peuvent être améliorées simplement en fournissant des données plus pertinentes vis-à-vis de la tâche cible, et ce sans modifier ni complexifier les architectures existantes, en particulier l’architecture Transformer couramment utilisée par les systèmes de TAL modernes. Pour ce faire, nous présentons deux stratégies d’augmentation de données (sur-échantillonnage négatif et masquage ciblé) conçues pour inciter le modèle à s’appuyer sur le contexte. Nous montrons, au travers de métriques appropriées, que ces méthodes permettent d’améliorer les performances des systèmes de traduction sans pour autant modifier ni l’architecture du modèle, ni le processus d’entraînement.

## introduction les moteurs de traduction traditionnels traduisent les phrases d'un même document indépendamment les unes des autres. il est de notoriété publique que les prédictions effectuées par systèmes modernes actes de jep-taln-recital 2024 toulouse, france, 8 au 12 juillet 2024 31ème conférence sur le traitement automatique des langues naturelles, volume 1 : articles longs et prises de position, pages 295-306. cette oeuvre est mise à disposition sous licence attribution 4.0 international. nous cherchons à faire évoluer les systèmes de traduction centrés sur des phrases individuelles vers des systèmes en mesure de considérer un contexte plus large. en effet, la plupart des travaux autour de la traduction automatique se concentrent généralement sur le problème de la traduction de phrases individuelles @xcite . toutefois, il semble communément admis que les informations contextuelles, souvent présentes dans les phrases précédentes, peuvent s'avérer décisives pour comprendre pleinement le sens d'une phrase, en particulier lorsqu'elle contient des références implicites comme des ellipses ou des deixis @xcite . plus généralement, il est courant qu'une phrase référence une précédente, notamment via l'usage de pronoms qui devront être traduits en genre et en nombre. considérons un document contenant les deux phrases suivantes en anglais : « the girls are getting ready for their exam. they are a bit anxious. ». si l'on traduit ces deux phrases vers le français de manière classique, c'est à dire indépendamment les unes des autres, on obtiendrait la traduction suivante : « les filles se préparent pour leur examen. ils sont un peu anxieux. ». en revanche, la prise en compte de la première phrase lors de la traduction de la deuxième, permettrait de lever toutes ambiguïtés et d'obtenir une traduction correcte : « les filles se préparent pour leur examen. elles sont un peu anxieuses. ». bien que simple, cet exemple montre qu'il est véritablement crucial de tenir compte du contexte si l'on veut être en mesure de traduire un texte convenablement. par ailleurs, tenir compte du contexte ne vise pas uniquement à améliorer la qualité des traductions générées par le modèle, mais peut aussi permettre de réduire certains biais, tels que les biais de genre @xcite , puisque le modèle pourra s'appuyer sur le contexte afin de désambiguïser correctement les éléments critiques. plusieurs approches permettant d'incorporer ces informations contextuelles au sein de la représentation de la phrase source ont déjà été proposées. toutefois, plusieurs travaux ont montré que, curieusement, cela n'améliore pas les systèmes de traduction automatique. pire encore, ces informations contextuelles semblent être considérées comme du bruit (kim et al., 2019), ce qui, certes, semble améliorer la robustesse des modèles lorsqu'il s'agit de traduire des phrases individuelles, mais n'améliore pas nécessairement la qualité de la traduction lorsqu'il s'agit de traduire un paragraphe complet. ces approches consistent généralement en une extension de l'architecture transformer @xcite avec un encodeur dédié aux phrases contextuelles @xcite . les travaux présentés ici s'inspirent de ceux @xcite , mais nous avons choisi d'explorer une piste différente. les auteurs introduisent une évolution de l'architecture transformer, censée être plus à même de tenir compte des informations contextuelles. nous pensons que l'architecture originale est tout à fait capable de prendre le contexte en considération, et que le problème provient principalement de la manière dont les données sont fournies au modèle durant l'entraînement. ainsi, nous proposons dans ces travaux de repenser le jeu de données et l'objectif ciblé durant la phase d'entraînement afin de pousser le modèle à utiliser de manière appropriée la phrase à traduire et (surtout) son contexte. à cet effet, nous proposons les deux stratégies sur-échantillonnage négatif (negative sampling) et masquage ciblé (focused masking). la première consiste à fournir au modèle des traductions erronées et à l'entraîner à ne pas les produire. la seconde consiste, durant l'entraînement, à masquer certains mots fortement dépendants du contexte afin de forcer le modèle à extraire cette information du contexte. nous évaluons nos stratégies à l'aide du traditionnel score bleu, mais aussi à l'aide de contrapro @xcite et genpro @xcite , deux méthodes centrées sur l'évaluation de la traduction des pronoms, et donc plus adaptées à notre objectif. nous montrons que nos stratégies permettent d'améliorer la qualité des traductions lorsque le contexte est présent, tout en ne la dégradant pas lorsque celui-ci est absent. ## travaux connexes la prise en compte du contexte est crucial afin de construire un système de traduction automatique fiable et robuste. pourtant, il est encore difficile d'entraîner efficacement un modèle sur ce problème particulier. l'une des raison étant la faible disponibilité des ressources contextuelles : la plupart des jeux de données pour la traduction no sont disponibles que sous la forme de phrases parallèles, dépourvues de leurs contextes d'origine @xcite . de plus, les systèmes actuels sont limités par la taille des phrases qu'ils sont capable de traiter, bien que ce problème est en passe d'être en partie résolu avec le développement des llm de dernières génération, permettant de traiter plusieurs milliers de mots @xcite . toutefois, les statistiques de la compétition wmt23 @xcite montrent que l'adoption des llm par la communauté de la traduction automatique est encore très faible. de nombreux travaux dans ce domaine se concentrent sur le problème de la traduction des pronoms @xcite , ces derniers étant très dépendants du contexte par nature. de plus, certaines phrases peuvent être intraduisibles lorsqu'un pronom se s'accorde pas en genre et/ou en nombre dans la langue source, mais s'accorde dans la langue cible. c'est typiquement le cas avec le pronom anglais « they », pouvant se traduire par « ils » ou « elles » en français. ainsi, @xcite montrent que les modèles reposant sur l'architecture transformer ont tendance à traduire correctement les pronoms non-anaphoriques et ceux coréférents avec un élément de la même phrase. en revanche, ces modèles ne parviennent pas à traduire convenablement les pronoms faisant références à des éléments présents dans les phrases précédentes. lupo et al. (2022) estiment qu'il est difficile, en traduction automatique, de prendre en compte le contexte, car les informations pertinentes sont très éparses : généralement, seuls un nombre limité de tokens ont un impact sur la phrase courante. par conséquent, les modèles ont tendance à ignorer le contexte, puisqu'il ne contient finalement que peu de signaux utiles à la traduction. pourtant, ces signaux sont d'une importance capitale afin de résoudre certaines ambiguïtés linguistiques, comme les ellipses ou les deixis @xcite . ils proposent de réduire ce problème à l'aide d'un entraînement en trois étapes. la première étape consiste à entraîner un modèle de traduction standard, sans données contextuelles. la seconde étape, appelée d&r (divide and rule), consiste à réitérer l'entraînement, mais en scindant les phrases en k morceaux. les k -1 premiers morceaux sont alors utilisés en tant que contexte et le modèle est entraîné à traduire le dernier morceau. de cette manière, le modèle est incité à porter plus d'attention sur le contexte, puisque la dernière portion de phrase a de fortes chances d'être difficile à traduire sans avoir connaissance du début de la phrase. une dernière étape d'entraînement est requise afin de recadrer le modèle, puisqu'on attend de celui-ci qu'il traduise des phrases complètes, et non pas des fragments de phrases. les récentes avancées en traitement automatique de la langue (tal) ont montré que les grands modèles de langage (llm) avec architecture décodeur sont en mesure de répondre efficacement à ce problème, puisqu'ils sont capables de traiter de très longues séquences (plusieurs milliers de tokens). ces grands modèles se sont également montrés surprenant performants sur des tâches de traduction, sans pour autant avoir été entraînés spécifiquement pour @xcite @xcite . toutefois, la flexibilité offerte par ces modèles requiert d'énormes capacités de calculs, qui ne sont pas nécessairement justifiées si le but visé ne concerne que la traduction. en outre, @xcite ont montré que l'architecture décodeur semble moins adaptée à la traduction automatique que l'architecture encodeur-décodeur. c'est pourquoi nous nous concentrerons sur des modèles encodeur-décodeur de tailles raisonnables dans la suite de ce document. les améliorations apportées par la bonne prise en compte du contexte par les systèmes de traduction automatique se révèlent assez difficile à observer à l'aide des métriques traditionnelles, typiquement bleu @xcite , car les quelques tokens dépendant du contexte sont noyés par la masse de tokens n'en dépendant pas. c'est pourquoi lopes et al. (2020) introduisent contrapro, un jeu de données dédié à l'évaluation de modèles contextuels. ce jeu de données est constitué de phrases provenant de opensubtitles2018 (lison et al., 2018) dans lesquelles le genre de certains pronoms ont été remplacés par le genre opposé. par exemple, certains « il » sont changés en « elle ». les phrases présentes dans le jeu de données sont sélectionnées afin que le contexte puisse permettre de sélectionner le bon pronom. les modèles sont alors évalués selon les probabilités qu'ils attribuent aux phrases originales et à leurs versions altérées : la phrase originale doit être considérée comme plus probable que l'autre. post & junczys-dowmunt (2023) pensent que les modèles doivent être évalués en fonction des phrases qu'ils génèrent réellement, pas seulement selon les probabilités qu'ils donnent à des phrases prédéfinies. en effet, si l'on considère une traduction a et sa version altérée b, contrapro considère le modèle comme étant juste si et seulement si la probabilité p (a) est supérieure à p (b). or, p (a) peut tout à fait être tellement faible qu'en pratique cette phrase ne puisse pas être générée par le modèle. dans ce cas, doit-on considérer le modèle comme juste ? post & junczys-dowmunt (2023) cherchent à limiter ce biais en proposant genpro, une méthode d'évaluation basée sur contrapro valorisant un modèle quand il génère effectivement le pronom attendu. 3 méthode les approches existantes cherchent généralement à introduire l'information contextuelle ajoutant un module dédié à l'architecture transformer, couramment utilisée de nos jours pour répondre aux problématiques de tal. or, li et al. (2020) ont montré que ces modifications n'aident pas réellement le modèle à mieux prendre en compte le contexte. comme montré par kim et al. (2019), les modèles tendent à considérer le contexte comme du bruit, et apprennent à ne pas en tenir compte. ce comportement n'est pas déraisonnable, puisque l'immense majorité des informations nécessaires se trouvent effectivement dans la phrase à traduire, et non dans le contexte passé. par conséquent, le modèle est naturellement incité, lors du processus d'entraînement, à se concentrer sur la phrase en cours de traduction uniquement, et à ignorer le reste. cela permet au modèle de converger rapidement vers une solution acceptable. toutefois, nous supposons qu'une fois ce niveau atteint, il est difficile, pour le modèle, de faire marche arrière afin de sortir de cet état où le contexte est ignoré. nous pensons que l'architecture transformer originale est naturellement capable de sélectionner et d'utiliser les bonnes informations contextuelles. le mécanisme d'attention est suffisamment puissant pour extraire les signaux pertinents pour chaque token. selon nous, si le modèle traite les phrases contextuelles comme du bruit, c'est parce qu'il a été entraîné de façon sous-optimale, et que le modèle doit être davantage incité à regarder du côté du contexte, au lieu d'apprendre à l'ignorer. lupo et al. (2022) proposent une méthode dont afin de forcer le modèle à extraire de l'information du côté du contexte. toutefois, leur approche en trois étapes nous semble contraignante et perfectible. en effet, le principe de leur méthode est de fournir au modèle des phrases dont la structure est cassée de manière à ce qu'elles ne puissent pas être traduites sans leur contexte. le modèle est par la suite ré-entraîné sur des phrases non altérées, tout en figeant les paramètres du modèle chargés d'extraire l'information contextuelle. le modèle résultant de ce processus est donc censé extraire de l'information contextuelle, mais il est nécessairement sous-optimal puisqu'il n'a été entraîné que sur des contextes synthétiques et incomplets. nous nous inspirons de ces travaux et proposons une approche en deux étapes consistant à entraîner le modèle sur un large jeu de données de phrases parallèles, puis à adapter ce modèle sur un jeu de données de taille réduite que l'on augmente avec des données synthétiques. nous considérons le même jeu de données utilisé par lupo et al. (2022) , c'est-à-dire wmt14 1 pour entraîner le modèle de base et iwslt17 2 pour affiner le modèle sur des données contextuelles. dans ces travaux, nous n'étudions que le cas de la traduction de l'anglais au français (en-fr). le contexte et la phrase à traduire sont encodés de la manière suivante : <@xmath0. nous pensons que le comportement du modèle vis-à-vis du contexte doit être guidé par les données vues durant la phase d'entraînement, c'est pourquoi nous explorons différentes manières de pousser le modèle à extraire de l'information du contexte, lorsque cela s'avère nécessaire. 3.1 sur-échantillonnage négatif she bought her first car she his remplacement aléatoire figure 1 -augmentation du jeu de données avec des échantillons négatifs. la phrase source est scannée pour détecter des mots genrés, qui sont remplacé selon une certaine probabilité. l'objectif du sur-échantillonnage négatif (negative sampling) est de fournir au modèle davantage d'exemples négatifs afin de l'entraîner à ne pas les reproduire. pour chaque phrase cible, nous générons une version altérée dans laquelle les mots critiques (pronoms et déterminants) sont remplacés par leurs homologues du genre opposé, comme illustré en figure 1. nous avons sélectionné les mots à remplacer en effectuant une simple recherche basée sur les caractères au lieu de reposer sur des méthodes plus raffinées, par exemple en s'appuyant sur l'analyse morphosyntaxique des mots. ensuite, seul un sous-ensemble aléatoire des mots ainsi sélectionnés sont remplacés. la liste des déterminants et pronoms que nous considérons est la suivante : il/elle, ils/elles, le/la, un/une, mon/ma, ton/ta, son/sa, ce/cette, tous/toutes, quel/quelle et lequel/laquelle. le modèle est entraîné de façon à minimiser la fonction de perte associée au sur-échantillonnage (negative sampling loss) l ns , correspondant à la moyenne des probabilités des tokens remplacés, telles que prédites par le modèle (les logits). puisque les tokens remplacés sont incorrects, leurs probabilités doivent être faibles, nous cherchons donc à minimiser l ns . la fonction objectif finale est donnée par @xmath1, couramment utilisée pour entraîner les modèles de traduction. 3.2 masquage @xmath2. les éléments de la chaine de coréférence [she, sister] présents dans la source sont masqués selon une certaine probabilité. l'idée du masquage ciblé est relativement similaire à celle du sur-échantillonnage négatif, mais au lieu d'altérer la cible, nous modifions la phrase de façon à masquer certains mots, censés être très dépendants du contexte. puisque l'objectif est d'inciter le modèle à extraire de l'information du contexte, les tokens du contexte ne sont jamais masqués, seuls les tokens de la phrase à traduire le sont. nous avons exploré deux stratégies, l'une consiste à masquer les mots coréférents comme montré en figure 2, l'autre à masquer les mots apparaissant à la fois dans le contexte et la source. nous avons utilisé coreferee foot_2 et spacy foot_3 pour extraire les chaînes de coréférence. par exemple, dans la phrase « j'ai vu ta soeur. elle allait bien. », les mots « soeur » et « elle » sont coréférents. nous supposons que masquer le pronom « elle » forcera le modèle à analyser le contexte pour en déduire le bon pronom. de même que pour la stratégie précédente, seulement une portion aléatoire d'éléments des chaînes de coréférence sont masqués, et seulement s'ils apparaissent dans la source afin de ne pas décourager le modèle à puiser de l'information dans le contexte. ## conclusion nous proposons, des méthodes permettant d'introduire des éléments d'information contextuelles au sein du processus de traduction. cette étude se concentre sur la prise en compte des informations présentes dans la phrase précédente, mais nous envisageons d'étendre le contexte à davantage de phrases. nous proposons et évaluons différentes stratégies d'entraînement et d'augmentation de données destinées à améliorer la prise en compte du contexte par modèles de traduction automatique. en effet, comme le montrent nos expériences, inclure le contexte, même s'il ne s'agit que de la phrase précédente, permet d'augmenter les performances du système de traduction. l'une de nos stratégies consiste à augmenter le jeu de données initiales afin d'ajouter des exemples négatifs. les résultats montrent que cette stratégie permet effectivement d'améliorer la prise en charge du contexte par le modèle, ce qui se matérialise par des scores contrapro et genpro plus élevés, deux métriques conçues pour évaluer les modèles contextuels. toutefois, cette stratégie semble dégrader la qualité générale de la traduction, telle que reportée par le score bleu. nous montrons qu'il est possible d'éviter ce phénomène en appliquant le sur-échantillonnage négatif lors du pré-entraînement uniquement. notre approche se limite à introduire un signal négatif sur le genre et le nombre de certains pronoms et déterminants. l'une des pistes à explorer serait d'envisager d'autres méthodes de corruptions, par exemple remplacer un mot par son antonyme, ou encore modifier le temps de certains verbes. la seconde stratégie que nous proposons consister à sélectionner des termes dépendants du contexte et d'en masquer une proportion aléatoire. nous avons exploré deux pistes : masquer les mots apparaissant à la fois dans le contexte et la source et masquer certains éléments des chaînes de coréférences. nos expériences montrent que cette approche n'apporte aucune plus-value. cependant, cela ne suffit pas pour rejeter complètement cette stratégie, puisqu'il est possible qu'elle porte ses fruits avec des choix plus avisés de mots à masquer.