Il y a un dicton qui dit que si vous donnez le même texte à 10 traducteurs différents, ils rendront 10 traductions différentes mais également valables. Après tout, la langue est extrêmement subjective, donc quand il s’agit de traduction, il n’y a pas une seule réponse universellement acceptée. Et donc, naturellement, les linguistes ont chacun des opinions très ancrées pour dire quelle traduction exprime le mieux la signification originale du texte.

Étant donné que nous recherchons la meilleure qualité de traduction, cela représente pour nous un défi de taille. Il en va de même pour l’annotation des erreurs de traduction. Les annotateurs ne sont pas toujours d’accord, non pas parce qu’une erreur de traduction a été mal classifiée, mais plutôt parce que la même erreur peut être classifiée différemment, selon le point de vue de la personne. Alors, comment espérer former nos modèles pour qu’ils soient précis alors que même nous n’arrivons pas à nous entendre sur ce qui est incorrect ? Cette diversité d’opinions pourrait-elle être une bonne chose ?

L’apprentissage supervisé a besoin d’exemples

Tout d’abord, nous devons prendre du recul : pourquoi sommes-nous intéressés par ce que les annotateurs ont à dire ?

La raison est simple : actuellement, presque toutes les méthodes d’IA efficaces sont des méthodes supervisées. Cela signifie qu’elles apprennent à partir d’exemples. Pour la reconnaissance d’image, les exemples sont des images annotées grâce à des boîtes englobantes avec des étiquettes (cette partie de l’image est un chat, cette partie de l’image est un chien, etc.) ; pour la reconnaissance vocale, les exemples sont des enregistrements vocaux avec leurs transcriptions textuelles, et pour la traduction automatique, ce sont des phrases avec des exemples de traductions.

Certaines tâches nécessitent la classification de mots ou de phrases entières en catégories préétablies ; le défi avec la reconnaissance d’entités nommées (NER) est de reconnaître des parties de la phrase qui indiquent certaines classes d’intérêt comme le lieu, le nom, la date.

Exemple du type de données utilisées dans la reconnaissance d’entités nommées (NER): LOC est le lieu, ORG est l’entreprise et GPE est l’entité géopolitique. Notez qu’une entité peut être composée de plusieurs mots. (Image de Huggingface, extraite de https://twitter.com/huggingface/status/1230870653194121216)

Ces données étiquetées sont le fondement de toute application d’apprentissage automatique performante dans le monde réel, car ces exemples ne forment pas seulement des modèles, ils évaluent également si les modèles ont réellement appris la tâche en cours. Après tout, nous ne voulons pas qu’ils se contentent de copier les exemples qui leur ont été montrés, nous voulons qu’ils se généralisent aux cas invisibles. C’est la raison pour laquelle nous gardons toujours un certain nombre d’exemples de côté, que nous utilisons plus tard pour tester les modèles.

Il est important de ne pas oublier que c’est nous, les humains, qui fournissons ces exemples ! Nous créons méticuleusement les exemples de traductions, nous décidons des catégories pour les images, nous choisissons la taxonomie des catégories qui entrent dans le système NER. Nous pouvons appeler cet effort le processus de création d’exemples avec des étiquettes et des annotations, et la personne qui l’effectue, un annotateur.

Chez Unbabel, nous utilisons la méthode MQM ( Multidimensional Quality Metrics ) (méthode de mesure multidimensionnelle) pour évaluer la qualité de nos traductions. Les annotateurs sont une partie importante du processus : ils annotent les erreurs, un processus qui implique, pour chaque erreur rencontrée, de mettre d’abord en évidence la portée de l’erreur, puis de la classifier en se basant sur la liste des erreurs, et enfin, de lui attribuer un degré de gravité (mineure, majeure et critique). Il s’agit d’un effort bilingue : l’annotateur doit parler couramment les deux langues.

Son travail consiste en plusieurs tâches : une partie est dédiée à une annotation précise et détaillée, comme lorsqu’il évalue si les mots sont mal traduits ou trop littéraux. Mais parfois, l’annotation d’erreur se fait à un niveau supérieur, par exemple, quand il juge qu’une phrase constitue une meilleure traduction qu’une autre (classification) ou qu’une phrase mérite 9/10 mais une autre un 3/10 (évaluation directe). Dans certains cas, en particulier lorsqu’il s’agit de cas qu’il a évalué directement, il peut être difficile de comprendre ce qui a motivé le jugement de l’annotateur.

Car c’est là où le bât blesse : les annotateurs ne sont pas toujours d’accord. Lorsque nous embauchons de nouveaux annotateurs, il n’est pas rare d’assister à des désaccords quand dans certains cas, un annotateur soutient qu’une erreur est mineure, alors qu’un autre dit qu’elle est majeure et qu’un autre encore affirme qu’elle est critique ! Ces annotateurs sont pourtant hautement qualifiés, c’est juste que la tâche est ardue.

Le désaccord se produit pour plusieurs raisons. Tout d’abord, la tâche d’annotation est intrinsèquement subjective. Les annotateurs peuvent simplement avoir différentes préférences : certains préfèrent les traductions qui montrent une plus grande maîtrise grammaticale, tandis que d’autres accordent plus d’importance à la conservation de la signification dans la traduction.

Mais il y a d’autres raisons. Malgré tous les efforts et des ajustements constants, les instructions ne sont pas toujours claires : nous ne pouvons pas prédire tous les cas pour lesquels une balise particulière devrait être utilisée, et encore une fois, le langage est ambigu et soulève des difficultés lorsqu’on essaie de le classifier.

De plus, les humains font des erreurs. Beaucoup. Ils sont également pleins de préjugés, à la fois au niveau individuel (par exemple, ils préfèrent systématiquement une lecture/interprétation à une autre) et au niveau du groupe, au sens plus socioculturel du terme.

Enfin, même la qualité d’un annotateur compétent peut varier ; essayez donc de passer un test de langue dans votre propre langue maternelle lorsque vous êtes fatigué ou distrait.

Mais si les désaccords sont assez normaux en soi, ils peuvent certainement devenir un problème. Si les annotateurs ne s’entendent pas sur la gravité d’une erreur, comment savoir son degré de gravité ?

Mesurer les (dés)accords

Pour commencer, nous pourrions utiliser les caractéristiques du processus d’annotation pour mesurer la qualité. Mais cela peut être problématique. Prenons comme exemple le temps que met l’annotateur pour effectuer le travail, une valeur très simple à mesurer. Nous supposons qu’un annotateur rapide est probablement de nature pressée et donc sujet à des erreurs, tandis qu’un annotateur qui prend un peu plus de temps est juste minutieux. Mais il se pourrait tout aussi bien que l’annotateur rapide soit simplement expérimenté et efficace, tandis que l’annotateur lent ne fait que traînailler.

Il est très difficile de distinguer les annotateurs uniquement par de simples caractéristiques. Mais lorsque les métadonnées en révèlent plus sur le travail en cours, comme à quel rythme un éditeur tape sur son clavier, cela peut donner une très bonne prédiction de la qualité, comme le montre Translator2Vec, un modèle développé chez Unbabel.

Au lieu d’examiner les données comportementales, nous pouvons examiner les prédictions elles-mêmes. Si nous rassemblons plusieurs jugements sur le même élément, nous pouvons faire plus que caractériser, nous pouvons comparer ! C’est là qu’intervient l’accord inter-annotateurs. L’accord inter-annotateurs est généralement mesuré grâce à des statistiques qui résument, en un seul chiffre, la fréquence à laquelle différents annotateurs sont d’accord. Prenez un pourcentage brut d’accord, qui est le nombre de fois où les annotateurs s’accordent sur leurs jugements. Cela pose un problème : si les gens choisissent assez souvent des étiquettes aléatoires, ils seront forcément d’accord à un moment donné. Nous ne voulons certainement pas prendre cela en compte. C’est précisément pourquoi l’indice kappa de Cohen est beaucoup plus populaire : il corrige dans le cas d’une concordance due au hasard.

Cette idée peut être étendue davantage pour mesurer la cohérence d’un annotateur, ou en d’autres termes, l’accordintra-annotateur. Si la même personne porte plusieurs jugements sur le même élément (de préférence avec un certain laps de temps entre chacun), alors les mêmes mesures que ci-dessus peuvent être utilisées pour évaluer l’annotateur par rapport à lui-même.

À la fin, ces mesures peuvent vous aider à maîtriser la qualité de vos données. Elles vous fournissent une mesure qui peut guider la prise de décision : avez-vous besoin de rétrograder certains annotateurs ? Devez-vous éliminer certains exemples ? Mais ne vous y trompez pas : toutes les mesures ont des défauts, et le kappa de Cohen ne fait pas exception.

Accepter d’être en désaccord ?

Faut-il toujours sanctionner la différence de jugement ? Certaines tâches d’étiquetage de données sont ambiguës par nature, et dans ces cas, le désaccord pourrait nous révéler quelque chose. Considérez cet exemple :

Exemple Unbabel d’annotations MQM dans une traduction anglais-allemand par deux annotateurs différents. L’annotation jaune est une erreur mineure , la rouge une erreur critique . L’exemple provient d’un lot d’essais utilisé en interne pour former et évaluer les annotateurs. (La visualisation a été créée en utilisant une adaptation de DisplaCy.)

La phrase source est «Pourriez-vous également me fournir la nouvelle adresse e-mail que vous souhaitez me voir joindre à votre compte.» Le MQM de la première annotation est de 40, tandis que le MQM de la deuxième phrase est de 70. Il est clair que les annotateurs ont des approches différentes, avec un point d’accord très clair (le mot « neuen ») et un désaccord important : la dernière partie de la phrase.

Dans cet exemple, nous préférons la deuxième annotation. Le premier annotateur affirme que la dernière partie de la phrase est incompréhensible, ce qui, selon les directives du MQM, signifie que la nature exacte de l’erreur ne peut pas être déterminée, mais qu’elle provoque une erreur majeure de maîtrise de la langue. Il s’agit d’une erreur que l’on attribuerait à une séquence de caractères et de chiffres tronquée, comme dans « The brake from whe this કુતારો િસ S149235 part numbr,,. »,ce qui n’est pas forcément le cas dans la phrase ci-dessus.

Mais nous pourrions soutenir que cela pose une question intéressante. Si la dernière partie de la traduction contient tant d’erreurs qu’il devient presque impossible de la comprendre, cela ne constitue-t-il pas une « erreur majeure de la maîtrise de la langue » ?

Cet exemple est tiré d’une expérience dans laquelle nous comparons les annotateurs et faisons en sorte qu’ils s’alignent les uns sur les autres. Parce que les deux annotateurs sont compétents et que l’on peut comprendre la source du désaccord, l’étape qui suit l’observation ci-dessus est une étape de calibrage : pour s’assurer que tous les annotateurs sont sur la même longueur d’onde, avec nous et les uns avec les autres.

Faire avec le chaos

Face à ce genre de désaccord, il y a toujours certaines choses que nous pouvons faire pour l’atténuer. Parfois, vous pouvez réduire les désaccords en fournissant simplement plus de conseils. Il s’agit d’investir plus d’efforts humains, de comprendre quelles étiquettes et quelles tâches sont à l’origine du désaccord, et la solution peut inclure de repenser les étiquettes, les outils, les incitations et les interfaces. Chez Unbabel, cette approche est éprouvée et fiable.

Ou bien vous demandez à d’autres experts de réparer vos données. Lorsque cela a été fait récemment pour un ensemble de données NER classique et toujours utilisé, les chercheurs ont trouvé des erreurs d’étiquetage dans plus de 5 % de la phrase test. Cela peut sembler insignifiant, mais c’est un pourcentage assez élevé pour un ensemble de données où la performance des méthodes automatiques atteint plus de 93 % !

Une approche intéressante consiste à fusionner les jugements. Si vous pouvez obtenir plusieurs annotations sur le même élément de données, pourquoi ne pas essayer de les combiner en une seule ?

Nous avons tendance à nous fier aux experts, car nous pensons qu’ils sont plus précis, rigoureux et, en fin de compte, fiables. Étant donné que les annotations que nous utilisons portent sur une taxonomie d’erreurs spécialisée et qu’elles nécessitent un niveau élevé de compréhension de la langue pour être utilisées correctement, nous faisons confiance à des annotateurs hautement qualifiés.

Mais ce qui est fascinant, c’est que pour certaines tâches qui n’utilisent pas une typologie très spécialisée ou qui supposent un type de connaissances spécialisé, les jugements fusionnés de plusieurs non-experts sont tout aussi fiables que le jugement unique d’un expert. En d’autres termes : un certain nombre de non-experts égale un seul expert. Et le nombre de non-experts requis pour cela peut être étonnamment faible. C’est ce type de connaissances collectives qui a créé Wikipédia, par exemple.

Prenez la tâche de reconnaissance de l’implication textuelle . L’implication textuelle est une relation logique entre deux fragments de texte. La relation est valable chaque fois que l’exactitude d’une phrase découle d’une autre. Par exemple : « Lesprix du pétrole brut chutent » signifieque « lesprix du pétrole baissent» ; cela n’implique pas que« le gouvernement augmentera les prix du pétrole» (adapté de Snow et al., 2018)

Fusionner les jugements de plusieurs non-experts pour donner la qualité du jugement d’un seul expert (adapté de Snow et al., 2008)

Ici, nous voyons comment réunir les jugements de ces non-experts peut améliorer la précision des annotations (ligne noire). Nous pouvons la booster encore plus en évaluant chaque jugement non-expert avec un score déterminé automatiquement qui peut être calculé à partir de leur accord avec un expert, corrigeant efficacement leurs préjugés, comme le montre la ligne bleue.

Au lieu d’évaluer vos annotateurs selon la confiance, vous pouvez également essayer d’évaluer vos exemples selon leur difficulté. Par exemple en accordant moins d’importance aux exemples simples , ou de façon encore plus rigoureuse : en les supprimant purement et simplement. Ce qu’il y a de bien dans les deux approches ci-dessus, c’est que les modèles eux-mêmes peuvent être utilisés pour identifier ces candidats.

Dans l’ensemble, il est difficile de supprimer toute ambiguïté. Prenez la traduction : pour une seule phrase, il existe plusieurs traductions valables (probablement de grandes quantités), chacune privilégiant peut-être un aspect différent de la qualité de la traduction ; il suffit de penser aux multiples traductions d’un roman par plusieurs traducteurs, ou même au fil des décennies. Cela est explicitement pris en compte dans l’évaluation des systèmes de traduction, où la meilleure pratique consiste à toujours considérer plusieurs traductions de référence valables lors de l’utilisation d’une mesure automatique. En revanche, dans la formation des modèles de traduction automatique, la question de savoir comment promouvoir la diversité, ou plus largement, comment gérer l’incertitude fondamentale dans la tâche de traduction, reste ouverte.

Il s’avère que si les annotateurs sont trop d’accord, ce n’est pas bon non plus pour vos modèles. Lorsque cela se produit, les annotateurs peuvent commencer à abandonner des modèles faciles, appelés « artefacts d’annotateur », qui sont facilement repris par les modèles. Le problème est dû aux caractéristiques de l’exemple d’entrée qui correspondent fortement avec l’étiquette de sortie mais ne révèlent rien d’important concernant la tâche. Par exemple, si toutes les photos de loups utilisées pour l’entraînement comportent de la neige et que l’ensemble des photos de huskies n’en a pas, c’est très facile à reprendre et peut tout aussi facilement induire en erreur. Les modèles échouent car ils supposent que l’absence de neige est ce qui caractérise un husky. En pratique, apprendre ce type de relation empêche la généralisation à des exemples qui ne montrent pas cette correspondance. Et cette généralisation est précisément ce que nous recherchons.

À un moment donné, vous devrez faire avec le chaos. La diversité des données est une bonne chose que nous devons savoir apprécier. De ce point de vue, le désaccord entre annotateurs est un signal mais pas un bruit. Nous pourrions même faire de l’ambiguïté une caractéristique précise de nos modèles ; une approche qui a été appliquée avec succès dans l’estimation de la qualité des systèmes de traduction automatique.

En allant encore plus loin, on peut décider de créer un ensemble de données qui contient des ambiguïtés à dessein. Au lieu de fournir une seule étiquette pour des points de données, les annotateurs sont autorisés à fournir plusieurs étiquettes, et au lieu d’un seul annotateur par élément, on demande les jugements de plusieurs annotateurs. Cette multitude de jugements permet de créer un ensemble de données avec plusieurs réponses correctes, chacune évaluée par un score de désaccord qui indique la confiance dans cette étiquette.

Prenez l’exemple ci-dessus, montrant les résultats de cet effort. La tâche consiste à reconnaître les multiples sens plausibles des mots (« cadres »), et vous aurez une idée de l’incertitude entourant chaque élément. Cette incertitude s’exprime par la pondération attribuée aux classifications et aux phrases (Dumitrache et al., 2019). Le score de l’étiquette est le degré auquel les annotateurs sont d’accord sur cette étiquette unique pondérée par la qualité de l’annotateur, et le score de la phrase est le degré auquel tous les annotateurs sont d’accord sur toutes les étiquettes de la phrase.

Dans leurs recherches, Anca Dumitrache et ses collègues « ont trouvé de nombreux exemples où la sémantique de cadres individuels se recoupe suffisamment pour donner des alternatives acceptables pour interpréter une phrase. » Elle soutient que le fait d’ignorer cette ambiguïté crée une cible trop arbitraire pour la formation et l’évaluation des systèmes de traitement du langage naturel : « si les humains n’arrivent pas à se mettre d’accord, pourquoi nous attendrions-nous à ce que la réponse d’une machine soit différente ? »

Et en effet, nos recherches évoluent constamment dans ce sens. Cette diversité d’annotations nous aide en fait à créer de meilleures étiquettes, de meilleurs outils et en définitive, de meilleurs modèles d’apprentissage automatique. Même si une personne assez organisée ne l’admettrait pas normalement, il suffit parfois de cesser de s’inquiéter et d’apprendre à faire avec le chaos.

Sources

  • Lora Aroyo, Chris Welty, 2015, « Truth Is a Lie: Crowd Truth and the Seven Myths of Human Annotation », Association for the Advancement of Artificial Intelligence, https://www.aaai.org/ojs/index.php/aimagazine/article/view/2564
  • Trevor Cohn, Lucia Specia, 2013, « Modelling Annotator Bias with Multi-task Gaussian Processes: An Application to Machine Translation Quality Estimation », Compte-rendus de la 51e Conférence annuelle de l’Association for Computational Linguistics (Volume 1 : Long Papers), https://www.aclweb.org/anthology/P13-1004
  • Anca Dumitrache, Lora Aroyo, Chris Welty, 2019, « A Crowdsourced Frame Disambiguation Corpus with Ambiguity », https://arxiv.org/pdf/1904.06101.pdf
  • Mor Geva, Yoav Goldberg, Jonathan Berant, 2019, « Are We Modeling the Task or the Annotator? An Investigation of Annotator Bias in Natural Language Understanding Datasets », compte-rendus de la Conférence 2019 sur les méthodes empiriques de traitement du langage naturel et de la 9e Conférence internationale conjointe sur le traitement du langage naturel, https://www.aclweb.org/anthology/D19-1107.pdf
  • Suchin Gururangan, Swabha Swayamdipta, Omer Levy, Roy Schwartz, Samuel R. Bowman, Noah A. Smith, 2018, « Annotation Artifacts in Natural Language Inference Data », compte-rendus de la NAACL-HLT 2018, https://www.aclweb.org/anthology/N18-2017.pdf
  • Emily K. Jamison et Iryna Gurevych, 2015, « Noise or additional information? Leveraging crowdsource annotation item agreement for natural language tasks. », compte-rendus de la Conférence 2015 sur les méthodes empiriques de traitement du langage naturel, https://www.aclweb.org/anthology/D15-1035.pdf
  • Rabeeh Karimi Mahabadi, James Henderson, 2019, « Simple but Effective Techniques to Reduce Dataset Biases », https://arxiv.org/pdf/1909.06321.pdf
  • Ronan Le Bras, Swabha Swayamdipta, Chandra Bhagavatula, Rowan Zellers, Matthew E. Peters, Ashish Sabharwal, Yejin Choi, 2020, « Adversarial Filters of Dataset Biases », https://arxiv.org/pdf/2002.04108.pdf
  • Rion Snow, Brendan O’Connor, Daniel Jurafsky, Andrew Ng, 2008, « Cheap and Fast – But is it Good? Evaluating Non-Expert Annotations for Natural Language Tasks », compte-rendus de la conférence 2008 sur les méthodes empiriques de traitement du langage naturel, https://www.aclweb.org/anthology/D08-1027.pdf
  • Zihan Wang, Jingbo Shang, Liyuan Liu, Lihao Lu, Jiacheng Liu, Jiawei Han, 2019, « CrossWeigh: Training Named Entity Tagger from Imperfect Annotations », compte-rendus de la Conférence 2019 sur les méthodes empiriques de traitement du langage naturel et de la 9e Conférence internationale conjointe sur le traitement du langage naturel, https://www.aclweb.org/anthology/D19-1519.pdf