Résolution de coréférence pour la traduction automatique – CREMA
Résolution de coréférence dans la traduction automatique neuronale
Analyses d'explicabilité avec des méthodes issues de la plausibilité
Enjeux et objectifs
À partir de 2018 la traduction automatique neuronale en contexte a suscité beaucoup d'intérêt dans la communauté scientifique de Traitement Automatique des Langues (TAL). Un intérêt particulier a été porté sur la traduction de phénomènes ambiguës tels que les phénomènes discursifs comme la coréférence et les anaphores, phénomènes pour lesquels les modèles ont particulièrement besoin de l'utilisation du contexte de traduction. Ces phénomènes sont relativement rares dans le texte, mais il a été montré que leur correcte traduction est cruciale pour compréhension correcte du texte. Beaucoup de travaux de la littérature, à la fois précédents et contemporains des travaux de ce projet, se sont concentrés cependant sur des analyses partielles des processus mis en places par les modèles pour traduire les phénomènes discursifs, souvent se limitant à la traduction des pronoms anaphoriques. Une autre direction de recherche qui a eu beaucoup de succès pendant les années du projet a été l'évaluation des modèles de traduction en contexte (CA-NMT par la suite, pour "Context-Aware Neural Machine Translation"). En effet les métriques d'évaluation classiques, fournissant une évaluation quantitative de la qualité moyenne de la traduction de l'ensemble du texte traduit, sont très peu sensibles aux variations dans la traduction engendrées par la bonne ou mauvaise traduction des phénomènes discursifs. Dans ce cadre, beaucoup de travaux se sont concentrés sur la proposition de test suites contrastives et de modèles capables, de façon plus ou moins efficace, de prendre en compte un contexte pour améliorer les scores fournis dans l'évaluation avec les test suites contrastives. Ces test suites sont constituées de bloques de phrases avec leur contexte. La phrase de référence à traduire est toujours la même en anglais, mais elle peut être traduite de plusieurs façons en langue cible, typiquement une langue fléchie comme le français ou l'allemand. Les phrases prises individuellement sont toutes des traductions correctes, cependant leur exactitude dépend du contexte fourni avec la phrase. Un exemple typique est, pour le contexte "I hate flies, oh look, there is one over there.", avec comme phrase de référence "Don't worry I'll kill it for you". Le pronom "it" peut être correctement traduit comme "le" ou "la" si on ne dispose pas du contexte. "Flies" peut être traduit à la fois comme "mouche" ou "moucheron", le premier mot étant féminin, le second masculin. Les deux possibilités sont fournies en français pour chaque traduction possible du pronom "it". La traduction vers "le" est correcte quand le contexte contient "moucheron", et elle est erronée quand le contexte contient "mouche", et de façon analogue pour la traduction vers "la". Le modèle est évalué sur sa capacité à donner un score plus élevé à la paire correcte de phrases, par rapport à la paire erronée. Cette évaluation est uniquement implicite puisque le modèle ne traduit pas les phrases, il fournit seulement un score.
La démocratisation des grands modèles de langues (LLMs) dès les premières années du projet nous ont fait réfléchir et douter de la pertinence de la solution envisagée initialement pour les objectifs du projet. Le développement au sein du LIG d'un axe de recherche sur l'explicabilité des modèles neuronaux nous a motivé à explorer plutôt des approches d'analyse des modèles pour la CA-NMT issues de ce domaine afin de comprendre comment ces modèles traitent les phénomènes discursifs pendant le processus de traduction. Il y a plusieurs axes de recherche dans le domaine de l'explicabilité des modèles. La plausibilité (plausibility) vise à analyser le comportement du modèle tel qu'il est et sous le prisme des poids des mécanismes d'attention pour vérifier s'il est plausible par rapport à une tâche visée ; l'analyse de circuits est un axe de recherche orthogonale et qui fournit un cadre théorique plus solide.
Afin de comprendre commun les modèles de traduction traitent les phénomènes discursifs pendant le processus de traduction nous nous sommes d'abord intéressé à l'axe de la plausibilité.
D'un point de vue purement de la plausibilité, nous visons à répondre à la question suivante : en analysant les poids d'attention du modèle d'une phrase à traduire donnée vers son contexte, peut-on dire que le modèle résout la coréférence ?
Pour répondre à cette question nous avons employé des données parallèles annotées en coréférence issues du corpus ParCorFul2. Nous avons utilisé la paire de langue anglais-allemand uniquement (nous avons rencontré des problèmes dans l'utilisation de la paire anglais-français). Nous avons traduit l'anglais vers l'allemand à la fois avec le modèle par concaténation et le modèle multi-encodeur décrits précédemment et que nous allons par simplicité appeler respectivement concat et multienc par la suite.
Ensuite, en utilisant des outils d'alignement à base de modèles neuronaux, nous avons aligné l'anglais du corpus à l'anglais donné en entrée aux modèles (ceci étant nécessaire puisque les modèles appliquent une tokenisation qui rend le texte différent du texte du corpus) et l'allemand du corpus à l'allemand généré par les modèles. L'alignement a permis de repérer dans les textes des modèles les mots instanciant les mentions coréférentes annotées dans le corpus. Des modifications apportées aux modèles ont permis d'extraire les poids d'attention de la phrase à traduire vers son contexte.
Une fois cette procédure terminée, nous avons pu procéder aux analyses. Nous avons effectué à la fois des analyses quantitatives automatiques et des analyses qualitatives manuelles qui ont impliqué la participation de 6 personnes, dont 4 externes et impliquées dans le projet MAKE-NMTViz en forte synergie avec ce projet.
Les analyses quantitatives automatiques mentionnées ci-dessus, et utilisées pour évaluer les modèles de traduction d'un point de vue de la plausibilité vis-à-vis de la résolution de la coréférence pendant le processus de traduction, sont basées sur trois métriques d'évaluation que nous avons définit pour refléter notre idée de quel devrait être le comportement du modèle vis-à-vis de ce phénomène. Une première métrique, appelé Max-weight, mesure combien de fois le modèle, lorsque il rencontre un phénomène de coréférence, met le poids d'attention maximal sur l'antécédent correcte situé dans le contexte par rapport à tous les autres mots du contexte. Cette métrique reflète la situation idéale mentionnée plus haut : le modèle n'a besoin du contexte que pour désambiguïser les phénomènes discursifs, pour les autres mots il peut se passer du contexte. Suivant cette idée, le modèle devrait donc mettre un poids d'attention maximale sur la coréférence et un poids (très) faible ailleurs. En pratique, pour plusieurs raisons, dont certaines liées à des détails techniques d’implémentation des mécanismes d'attention que nous n'allons pas détailler ici, cette situation idéale n'est souvent pas réalisée, raison pour laquelle nous avons conçu une métrique plus permissive : la Non-zero-weight. Cette métrique mesure le nombre de fois où un lien de coréférence vers l'antécédent correct situé dans le contexte reçoit un poids d'attention non nul. Bien que cette métrique puisse sembler trop permissive, puisque nous filtrons les valeurs en dessous ou égales à la valeur seuil représentant une distribution parfaitement uniforme de l'attention sur tous les mots du contexte, le fait qu'un lien de coréférence reçoit un poids non nul est déjà significatif. La troisième métrique, appelé Average-weight, mesure simplement le poids moyen donné par le modèle à un lien de coréférence. De leur définition, les premières deux métriques sont des pourcentages, alors que la dernière est un poids moyen.
Les deux modèles concat et multienc ont des comportements très différents vis-à-vis de la résolution de coréférence.
Pour le modèle multienc, avec les 3 métriques nous avons respectivement : 45,91 ; 88,83 ; et 0,82.
Pour le modèle concat, côté langue source, nous avons : 10,45 ; 50,98 ; et 0,30 ; côté langue cible nous avons : 13,25 ; 33,22 ; 0,21.
Notamment le modèle multienc semble résoudre la coréférence beaucoup mieux que le modèle concat. Cette conclusion est confirmée par les analyses qualitatives manuelles que nous avons effectué sur les mêmes données . Nous nous attendions à ce que le modèle concat ait une "préférence" à mettre plus de poids d'attention sur la langue côté cible, l'allemand étant une langue fléchie plus d'informations sont disponibles dans le contexte côté allemand.
Compte tenu des travaux menés pendant le projet et des considérations faites plus haut, nous avons détecté deux perspectives principales pour continuer potentiellement les recherches visé par ce projet.
Dans la première nous visons à compléter les analyses sur le comportement des modèles de traduction en contexte avec des analyses plus détaillées, notamment en comparant les deux modèles concat et multienc sur plusieurs paires de langues et dans toutes et les mêmes conditions d'utilisation de contexte, côté langue source uniquement, langue cible uniquement, et les deux. Ceci permettrait de tirer des conclusions plus solides sur le comportement des modèles face aux phénomènes de coréférence pendant le processus de traduction. De plus, nous visons des analyses plus fine en considérant toutes les couches et toutes les têtes d'attention des modèles séparément. Une partie de ces travaux a déjà été effectuée ou est en cours et, comme nous l'avons mentionné précédemment, elle a permis de détecter une tête d'attention focalisée plus que les autres sur la résolution de coréférence. Nous pourrions ainsi atteindre l'objectif d'intégrer un module de résolution de coréférence dans un modèle de traduction en exploitant cette tête d'attention. Une possible façon de procéder assez directe serait avec une stratégie d'apprentissage en deux étapes. Dans une première étape nous apprenons le modèle pour la CA-NMT tel que nous l'avons déjà fait auparavant. Dans la seconde étape nous utilisons la tête dédiée à la résolution de coréférence pour permettre au modèle d'apprendre à choisir si le contexte est nécessaire et quelle portions (phrases) sont réellement nécessaires.
Dans la seconde perspective nous visons à développer une approche d'explicabilité issue de l'analyse de circuits et inspirée du travail de (Wang et al., 2022). L'idée est d'utiliser le même type d'approche pour repérer les circuits du modèle qui implémentent la résolution de coréférence. De plus, un grand enjeu actuellement dans le domaine de l'explicabilité est le repérage d'invariants pour les algorithmes implémentés par les circuits du modèle. En effet, la démocratisation des grands modèles de langues (LLMs) et de l'IA générative pose de plus en plus de question quand à l'interprétation et possiblement le contrôle qu'on peut avoir sur le comportement de ces modèles.
Utiliser alors plusieurs sous-ensembles de données contenant des patrons différents de coréférence pourrait nous permettre de repérer des invariants pour les algorithmes qui effectuent la résolution de coréférence dans les modèles de traduction. Ceci serait un résultat important dans le domaine de l'explicabilité et les manipulations nécessaires sur les modèles de traduction ne sont pas spécifiques pour ces modèles, mais elles pourraient être appliquées aussi aux LLMs.
Dans ce projet nous voudrions faire un pas en avant dans le domaine de la traduction automatique neuronale au niveau du document en choisissant dynamiquement l'information contextuelle que le modèle va utiliser pour générer ses traductions. Ceci est en opposition avec les travaux actuels dans lequel l'information contextuelle est fixée à priori. Cette dernière solution ne se montre pas très efficace même avec des contextes relativement courts. Ceci est dû au fait que dans la plupart des cas le modèle peut traduire efficacement une phrase sans aucun contexte. Les mots nécessitant un contexte étant relativement rares, apprendre des paramètres d'un modèle pour leur prise en compte est donc difficile, puisque le signal d'apprentissage est creux.
Dans notre projet nous souhaitons étudier des modèles avec un contexte plus compacte. Le choix du contexte est basé cependant sur un module capable de détecter les informations plus ambiguës qu'un modèle de traduction puisse rencontrer : les phénomènes discoursifs, et en particulier les anaphores et les coréférences.
Un autre aspect que nous souhaitons étudier dans le projet est la spécificité de l'évaluation des modèles de traduction neuronale au niveau du document. En effet pour ces modèles la métriques BLEU n'est pas adaptée. Les mots nécessitant un contexte pour une correcte traduction étant relativement rares, leur correcte traduction a peu d'effet sur la métrique BLEU, leur correcte traduction, et plus en général des traductions contextualisées ont cependant beaucoup d'impact sur leur qualité telle que ressentie par un lecteur. Pour mieux évaluer les modèles contextuels, des "test suites contrastives" ont été conçues.
Nous trouvons que ce type d'évaluation peut être amélioré en utilisant des phrases plus réalistes, les test suites actuelles étant constituées principalement de phrases artificielles choisies ad hoc.
Les objectifs principaux du projet CREMA (Coreference REsolution into Machine trAnslation) sont 1) concevoir des nouveaux modèles neuronaux pour la detection de coréférences ; 2) intégrer un module de coréférences dans les modèles NMT au niveau du document pour une prise en compte dynamique du contexte ; 3) concevoir une nouvelle "test suite" adaptée à l'évaluation de modèles NMT intégrant les phénomènes discoursifs.
Coordination du projet
Marco Dinarelli (Laboratoire d'Informatique de Grenoble)
L'auteur de ce résumé est le coordinateur du projet, qui est responsable du contenu de ce résumé. L'ANR décline par conséquent toute responsabilité quant à son contenu.
Partenariat
LIG Laboratoire d'Informatique de Grenoble
Aide de l'ANR 253 055 euros
Début et durée du projet scientifique :
décembre 2021
- 48 Mois