Simple Science

La science de pointe expliquée simplement

# Informatique# Calcul et langage# Recherche d'informations# Apprentissage automatique

Un nouveau correcteur orthographique pour les recherches multilingues

Présentation d'un vérificateur d'orthographe rapide conçu pour les requêtes utilisateurs multilingues.

― 8 min lire


Développement d'unDéveloppement d'uncorrecteur orthographiquemultilingue rapidelangues variées.corrections orthographiques pour desUn outil révolutionnaire améliore les
Table des matières

La vérification orthographique est un truc super important dans les moteurs de recherche. Quand les utilisateurs tapent des mots mal orthographiés, c’est essentiel de corriger ces erreurs pour qu'ils trouvent ce qu'ils cherchent. Avoir l’orthographe correcte aide non seulement les utilisateurs, mais ça répond aussi à leurs attentes. Les vérificateurs d'orthographe traditionnels galèrent souvent à donner des Corrections rapides et précises, surtout pour les Requêtes courtes qui consistent souvent en un ou deux mots. La plupart des solutions sur le marché sont surtout conçues pour l'anglais et ne s'adaptent pas bien à plusieurs langues. De plus, beaucoup d'entreprises utilisent des mots spécifiques qui sont uniques à leurs produits ou services, et les vérificateurs standard peuvent ne pas reconnaître ces termes.

Le Besoin d’un Vérificateur Multilingue

Le problème avec les vérificateurs existants, c'est qu'ils ont tendance à se concentrer sur des textes plus longs, comme des phrases ou des paragraphes. Dans ces cas-là, les modèles modernes peuvent bien fonctionner car ils prennent en compte plus de contexte. Mais quand il s'agit de requêtes courtes, le contexte manque souvent. Beaucoup de modèles peuvent prendre plus de temps pour traiter à cause de leur conception complexe, ce qui n'est pas pratique pour des recherches rapides.

Beaucoup de systèmes récents sont faits pour l'anglais et ne se traduisent pas bien dans d'autres langues. Du coup, les entreprises avec des noms de produits uniques et des vocabulaires spécifiques ont besoin de quelque chose qui correspond à leur manière de parler. Donc, on a vraiment besoin d'un vérificateur d'orthographe rapide et multilingue qui puisse s'adapter à différents termes et phrases, surtout pour les requêtes spécifiques aux produits.

Notre Solution : Un Vérificateur Multilingue Rapide

On a développé un vérificateur d'orthographe multilingue qui est rapide et peut adapter son vocabulaire selon les besoins spécifiques des produits. Cet outil surpasse largement les vérificateurs d'orthographe généralistes lorsqu'il travaille avec des jeux de données spécifiques à nos produits. Son usage principal est dans les produits Adobe où il aide avec les fonctions de recherche et les fonctionnalités de saisie automatique.

Comment Fonctionnent les Vérificateurs d’Orthographe

La plupart des vérificateurs d'orthographe suivent un processus en deux étapes. Ils créent d'abord une liste de corrections possibles pour les mots mal orthographiés, puis ils classent ces Suggestions pour trouver la meilleure. La stratégie courante consiste à prendre en compte le comportement et le contexte pour faire des suggestions, utilisant souvent des données supplémentaires, comme les résultats de recherche.

Bien que beaucoup de vérificateurs se concentrent sur l'anglais, certains ont été développés pour d'autres langues, mais ces derniers sont généralement limités. Les systèmes traditionnels ne sont pas facilement ajustables pour différentes langues ou contextes spécifiques, ce qui les rend moins utiles pour les entreprises qui nécessitent de la flexibilité.

Notre Approche de la Vérification Orthographique

On a utilisé une approche équilibrée pour tirer parti des signaux contextuels et d'un petit modèle neuronal pour classer les corrections. Cela nous a permis de prendre en compte les résultats de recherche, le comportement des utilisateurs et les schémas linguistiques pour fournir des suggestions plus précises.

Le vérificateur est divisé en quatre parties principales :

  1. Analyse des Données : Ce composant affîne les autres parties selon le comportement des utilisateurs.
  2. Moteur de Règles : Cela corrige les erreurs communes et permet des corrections spécifiques.
  3. Suggérateur : Ça prend les requêtes des utilisateurs et propose des corrections possibles pour les mots mal orthographiés.
  4. Classement : Ça calcule la probabilité que chaque suggestion soit correcte.

On a testé notre vérificateur sur des ensembles de données généraux et spécifiques aux produits pour s'assurer qu'il surpasse significativement les méthodes existantes.

Création des Ensembles de Données d'Apprentissage

Trouver des ensembles de données publics pour la vérification orthographique est étonnamment difficile, donc on a créé les nôtres. On a rassemblé des requêtes d'utilisateurs à partir d'images Adobe Stock dans différentes langues et on a enlevé celles qui étaient déjà correctes. Ensuite, on a revu manuellement les requêtes restantes pour établir une base de référence d'orthographe correcte.

Pour générer des mots souvent mal orthographiés, on a injecté des erreurs basées sur des fautes typiques, comme des lettres manquantes ou ajoutées. Nos méthodes visaient à imiter les fautes d'orthographe réelles, assurant que notre modèle apprenne à reconnaître à la fois les bonnes et les mauvaises orthographes.

On a utilisé un éventail de ressources qui incluaient des fautes courantes, ce qui a aidé à façonner nos ensembles de données d'apprentissage. Cette diversité de données était cruciale pour créer un vérificateur d'orthographe efficace.

L'Architecture de Notre Vérificateur

Pour la partie suggestion, on a utilisé l'algorithme de suppression symétrique. Ce système génère des suggestions d'orthographe uniquement en fonction de la suppression de caractères, rendant le processus extrêmement rapide. Il fonctionne bien, surtout pour les requêtes courtes.

Quand un utilisateur soumet une requête, on vérifie rapidement l’orthographe. Si un mot est mal orthographié, on cherche des corrections possibles dans une distance d’édition. Si trop peu d'options apparaissent, on cherche des alternatives qui pourraient être à deux éditions, équilibrant rapidité et précision.

Le classement des suggestions se fait par un réseau neuronal. On a choisi un perceptron multicouche simple, qui est rapide et efficace pour nos besoins. Le réseau prend en compte divers critères pour l'orthographe correcte, tels que :

  • La fréquence du mot basée sur des requêtes précédentes.
  • La fréquence à laquelle le mot récupère des résultats de recherche.
  • Le nombre de downloads des items liés au mot en question.
  • La fréquence de chaque mot basée sur l'entrée des utilisateurs.

En normalisant ces critères avant de les entrer dans le réseau, on a amélioré la fiabilité du modèle.

Architecture du Service

Pour s'assurer que notre vérificateur fonctionne bien en tout temps, on a mis en place une architecture de service simple. Comprenant que certaines requêtes peuvent impliquer des phrases spécifiques, on a développé un module pour corriger les erreurs courantes à plusieurs mots. Cela aide à rationaliser le processus avant que les suggestions et les classements se produisent.

On a aussi créé un pipeline comportemental qui met à jour automatiquement les caractéristiques en fonction de l'utilisation, ce qui signifie que notre système peut s'adapter au fil du temps sans intervention manuelle.

Évaluation de Notre Vérificateur

On a effectué plusieurs tests en utilisant des requêtes de deux différents produits Adobe pour voir à quel point notre vérificateur fonctionne bien. En analysant les entrées des utilisateurs, on a pu identifier l’efficacité de notre outil dans des scénarios réels.

Dans Adobe Express, on a étudié un ensemble de données de requêtes mal orthographiées. Notre vérificateur a surperformé les autres systèmes, montrant sa rapidité et sa précision dans la correction des erreurs. De même, dans Adobe Creative Cloud Home, on a vérifié des milliers de requêtes uniques et on a trouvé qu'environ la moitié contenait des erreurs d'orthographe.

Étant donné la nature de ces requêtes, on a remarqué que beaucoup d'erreurs étaient liées à des noms de produits, prouvant la nécessité d'une approche spécialisée pour la vérification orthographique.

Conclusion et Prochaines Étapes

Pour résumer, on a créé un vérificateur d'orthographe rapide qui supporte plusieurs langues et est fait sur mesure pour les requêtes des utilisateurs. Cet outil démontre déjà une efficacité supérieure par rapport aux solutions existantes. À l'avenir, nos prochaines étapes incluent l’intégration de ce vérificateur dans les systèmes actuels d’Adobe, ce qui permettrait de remplacer les anciens modèles. De plus, on vise à élargir le support à plus de langues, ce qui améliorerait encore son utilité pour les clients à travers le monde.

En se concentrant sur différentes langues, on espère s'assurer que notre vérificateur reste efficace et pertinent pour les utilisateurs, peu importe où ils se trouvent ou quelle langue ils utilisent. Notre objectif est de continuer à améliorer l'expérience des utilisateurs qui recherchent des informations dans l'écosystème d'Adobe.

Source originale

Titre: Contextual Multilingual Spellchecker for User Queries

Résumé: Spellchecking is one of the most fundamental and widely used search features. Correcting incorrectly spelled user queries not only enhances the user experience but is expected by the user. However, most widely available spellchecking solutions are either lower accuracy than state-of-the-art solutions or too slow to be used for search use cases where latency is a key requirement. Furthermore, most innovative recent architectures focus on English and are not trained in a multilingual fashion and are trained for spell correction in longer text, which is a different paradigm from spell correction for user queries, where context is sparse (most queries are 1-2 words long). Finally, since most enterprises have unique vocabularies such as product names, off-the-shelf spelling solutions fall short of users' needs. In this work, we build a multilingual spellchecker that is extremely fast and scalable and that adapts its vocabulary and hence speller output based on a specific product's needs. Furthermore, our speller out-performs general purpose spellers by a wide margin on in-domain datasets. Our multilingual speller is used in search in Adobe products, powering autocomplete in various applications.

Auteurs: Sanat Sharma, Josep Valls-Vargas, Tracy Holloway King, Francois Guerin, Chirag Arora

Dernière mise à jour: 2023-06-14 00:00:00

Langue: English

Source URL: https://arxiv.org/abs/2305.01082

Source PDF: https://arxiv.org/pdf/2305.01082

Licence: https://creativecommons.org/licenses/by-nc-sa/4.0/

Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.

Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.

Plus d'auteurs

Articles similaires