Bing vient de mettre en place un nouvel algorithme nommé Speller100 qui corrige les fautes d'orthographes dans plus de 100 langues désormais, contre une vingtaine auparavant...

Bing a dernièrement publié un post sur son blog R&D, expliquant comment le moteur traite la correction autographique, désormais dans une centaine de langues grâce à un modèle nommé Speller100 (le système fonctionnait jusqu'à maintenant pour une vingtaine de langues). En effet, pour une langue peu présente sur le Web et pour laquelle le retour d'information des utilisateurs est très faible, il était jusqu'à maintenant difficile de recueillir une quantité suffisante de données pour former les modèles d'intelligence artificielle utilisés.

Le fondement de ce nouveau système baptisé Speller100 est basé sur le concept de familles de langues : pour ses besoins, des groupes de langues plus importants basés sur des similarités que partagent plusieurs langues. Un autre concept, l'apprentissage "zéro-shot", permet à un modèle d'apprendre et de corriger l'orthographe sans aucune donnée entrante supplémentaire spécifique à une langue.

Bing a constaté des progrès significatifs dans le traitement du langage naturel (NLP) au cours de l'année dernière grâce aux grands réseaux de transformateurs comme BERT, UniLM et DeBERTa. Ces modèles sont formés à des tâches telles que le Masked Language Model (MLM), la prédiction de la prochaine phrase et la traduction. Même si les algorithmes de segmentation WordPiece ou SentencePiece couramment utilisés décomposent les mots en plus petits éléments, les tâches de préformation existantes fonctionnent toutes au niveau du mot, de la phrase ou même de la phrase pour la compréhension sémantique. L'orthographe, cependant, est une tâche souvent différente.

D'une manière générale, il existe deux types de fautes d'orthographe : erreur non verbale et erreur verbale réelle. L'erreur non verbale survient lorsqu'un mot ne fait pas partie du vocabulaire d'une langue donnée ; l'erreur réelle survient lorsque le mot lui-même est valide mais ne s'inscrit pas dans le contexte plus large. Ces deux types d'erreurs sont des mutations au niveau du caractère, à une distance raisonnable des mots souhaités. Les algorithmes utilisés ont conçu des fonctions de bruit pour générer des erreurs courantes de rotation, d'insertion, de suppression et de remplacement. Voir la figure ci-dessous pour des exemples de ces erreurs courantes.

Exemple de "bruits" rajoutés à une requête pour identifier une mauvaise orthographe. Source de l'image : Bing

  

Grâce à ces "fonctions de bruit", l'algorithme n'a plus besoin d'un grand corpus de requêtes mal orthographiées au départ et peut se contenter d'un texte régulier extrait de pages web. Ce texte peut facilement être extrait par le biais du crawl, et il existe une quantité suffisante de texte sur le Web pour l'apprentissage de centaines de langues. Il devient alors possible de construire une orthographe en utilisant un modèle basé sur la profondeur pour ces langues.

De plus, l'algorithme prend en compte les proximités d'orthographe entre certaines langues, comme par exemple ici avec les langues dites germaniques :

Exemples de proximité orthographiques entre différentes "langues germaniques". Source de l'image : Bing

  

Résultat de ces nouveautés mises en place récemment : une amélioration à deux chiffres de la précision de la correction orthographique :

  • Le nombre de pages sans résultat a diminué de 30 %.
  • Le nombre de fois où les utilisateurs ont dû reformuler manuellement leur requête a diminué de 5 %.
  • Le nombre de fois où les utilisateurs ont cliqué sur la suggestion orthographique est passé à 67 %.
  • Le nombre de fois où les utilisateurs ont cliqué sur un élément de la page est passé à 70 %.

Si le sujet vous intéresse, n'hésitez pas à lire l'article de Bing qui donne plus de précisions sur les algorithmes utilisés dans Speller100.