Combien de fois avez-vous déjà utilisé la fonction de remplissage automatique d’une application de clavier mobile qui sauve (ou parfois ruine, selon ce que vous essayez de taper) une conversation ? Ce nombre est stupéfiant si l’on considère le nombre de SMS et d’e-mails envoyés chaque jour, et vous ne vous en souciez probablement pas car nous nous sommes habitués à cette technologie souvent négligée et sous-estimée.

Fonction de remplissage automatique

On pourrait simplement dire que c’est un programme qui prédit le mot suivant après qu’on ait tapé un certain mot.

En réalité, un travail considérable est effectué en coulisses pour que cette chose apparemment simple se produise et permettra d’économiser quelques frappes de clavier lorsque ce grand débat a lieu en ligne. Résolvons le mystère de cette chose apparemment simple, mais pas compliquée.

C’est juste une prédiction

La prévision est un mot délicat. Parce qu’il a beaucoup de bagages. Quel genre de prédiction est-ce ? Sur quelle base pouvez-vous faire une prédiction ? Et comment faire une prévision ?

Lorsque vous tapez un mot dans votre téléphone, remarquez-vous que des mots liés à ce mot apparaissent immédiatement ? C’est parce que le logiciel sous-jacent essaie de prédire les mots que vous allez taper ensuite. Ce n’est pas toujours exact, mais il essaie de générer une liste de mots qui correspondent le mieux aux mots que vous avez tapés auparavant.

La fonction de remplissage automatique prédit ce que vous allez écrire ensuite.

Qu’est-ce qu’un modèle de langage?

Un modèle linguistique statistique est une distribution de probabilité d’un ensemble de mots. Le modèle  de langage fonctionne en attribuant un score de probabilité aux mots ou aux caractères d’un texte (qui peut être une ligne, un paragraphe ou une longueur arbitraire). Mais comment ces scores sont-ils déterminés ? La réponse est qu’ils peuvent être basés sur n’importe quel critère, mais le modèle de langue le plus probabiliste est utilisé pour vérifier la probabilité qu’un mot apparaisse après un autre mot dans la langue.

Prenons l’exemple qui suit.

Manger ______

Inventez autant de mots que vous pouvez mettre à la suite du mot “Manger” en vous basant sur vos connaissances. Posez-vous la question : pourquoi ne trouvez-vous que des noms de  nourriture ou des provisions après “Manger” ? Parce que d’après vous, une voiture ne vaut pas la peine d’être mangée. Votre cerveau pense que la possibilité de manger une voiture est très faible.

Revenons au modèle de langage. Il attribue des probabilités à certains textes. Les modèles linguistiques peuvent être utilisés pour la traduction (oui Google Translate utilise des modèles linguistiques avancés), pour répondre à des questions et pour l’autocomplétion – chaque fois que vous devez générer ou prédire des mots ou du texte.

Dans l’autocomplétion, on regarde un mot et on essaie d’en prédire un autre.

Le but de l’autocomplétion n’est pas seulement d’aider les utilisateurs à réduire la quantité de données à saisir. C’est une manière de conduire le chercheur vers une recherche réussie. Il n’est pas difficile de créer un système de saisie semi-automatique simple, mais on  constate que le calcul de la probabilité des recherches et le test de leur efficacité posent de nombreux problèmes.

Pour aller plus loin..