Traduit de l'anglais

Un n-gramme est une séquence contiguë de n éléments provenant d'un échantillon de texte ou de parole donné, utilisée en traitement du langage naturel et en biologie computationnelle pour l'analyse statistique et la modélisation de données séquentielles.

Un n-gramme est une séquence contiguë de n éléments provenant d'un échantillon donné de texte ou de parole. Les éléments peuvent être des caractères, des syllabes, des mots, des phonèmes, ou même des séquences biologiques telles que des paires de bases dans un génome. Les n-grammes sont collectés à partir d'un corpus textuel ou d'un corpus de parole et sont fondamentaux pour le traitement statistique du langage naturel, permettant aux modèles de capturer des motifs locaux et des dépendances dans les données séquentielles.

Le terme provient des préfixes numériques latins : un unigramme est une séquence d'un élément, un bigramme (ou digramme) de deux, un trigramme de trois, et ainsi de suite. Pour des tailles plus grandes, les nombres cardinaux anglais sont utilisés, comme four-gram ou five-gram. En biologie computationnelle, des séquences similaires sont appelées k-mers, utilisant des préfixes grecs comme monomère, dimère, trimère, ou des formes anglaises comme one-mer, two-mer. Lorsque les éléments sont des mots, les n-grammes sont parfois appelés shingles.

Développement historique

Le concept des modèles de n-grammes dans le langage remonte à 1951, lorsque Claude Shannon en a discuté dans le contexte de la théorie de l'information. Shannon a démontré comment les modèles de n-grammes au niveau des caractères et des mots pouvaient générer du texte anglais plausible en échantillonnant à partir de distributions de probabilité de séquences observées. Par exemple, un modèle de caractères en 3-grammes pourrait produire du texte comme « in no ist lat whey cratict froure birs grocid pondenome », tandis qu'un modèle de mots en 2-grammes pourrait générer « the head and in frontal attack on an english writer ». Ces premières expériences ont établi les n-grammes comme un outil pratique pour modéliser statistiquement le langage.

Applications en traitement du langage naturel

En traitement du langage naturel, les n-grammes permettent aux modèles de sac de mots de capturer des informations sur l'ordre des mots qui seraient autrement perdues. Une représentation traditionnelle en sac de mots traite un document comme un ensemble non ordonné de mots, mais les caractéristiques de n-grammes préservent le contexte local. Cette capacité est essentielle pour des tâches telles que la modélisation du langage, la correction orthographique, la traduction automatique et la classification de textes. Les modèles de langage à n-grammes estiment la probabilité d'un mot étant donné les n-1 mots précédents, formant la base de nombreuses approches statistiques avant l'essor des réseaux de neurones.

Les grands modèles de langage modernes basés sur les architectures transformeurs ont largement supplanté les modèles explicites de n-grammes pour de nombreuses tâches, mais les n-grammes restent pertinents dans des domaines comme l'attribution d'auteur, la stylométrie et la bioinformatique. Le Google Books Ngram Viewer, qui trace la fréquence des n-grammes à travers des millions de livres numérisés, démontre leur utilité continue pour l'analyse culturelle et linguistique.

Biologie computationnelle

En génomique, les k-mers (l'équivalent biologique des n-grammes) sont utilisés pour analyser les séquences d'ADN et d'ARN. Un k-mer est une sous-séquence contiguë de longueur k, et l'analyse de fréquence des k-mers est une technique standard pour l'assemblage de génomes, l'alignement de séquences et le contrôle qualité. Par exemple, les algorithmes pour les projets de séquençage d'ADN utilisent souvent des distributions de k-mers pour détecter des erreurs ou estimer la taille du génome. Le choix de k affecte la sensibilité et la spécificité : les k-mers plus petits sont plus abondants mais moins spécifiques, tandis que les k-mers plus grands fournissent des correspondances plus uniques mais peuvent être absents en raison d'erreurs de séquençage.

Propriétés statistiques et variantes

Les modèles de n-grammes peuvent être lissés pour gérer les séquences non observées, en utilisant des techniques telles que le lissage additif ou des méthodes plus avancées comme le lissage de Kneser-Ney. Ils peuvent également être pondérés par fréquence, comme on le voit dans le corpus de n-grammes de Google, qui fournit des comptages pour des phrases comme « serve as the independent » (794 occurrences) ou « ceramics collectables fine » (130 occurrences). Ces distributions de fréquence permettent des prédictions probabilistes et sont utilisées dans des applications allant de la saisie prédictive à la reconnaissance vocale.

Limitations et extensions

Une limitation clé des n-grammes est leur incapacité à capturer des dépendances à longue portée au-delà de la fenêtre fixe. Augmenter n améliore le contexte mais conduit à une rareté des données, car de nombreuses séquences possibles n'apparaissent jamais dans les données d'entraînement. Pour remédier à cela, des modèles de repli, d'interpolation et des modèles de langage neuronaux qui apprennent des représentations distribuées ont été développés. Néanmoins, les n-grammes restent une référence simple et interprétable, et sont souvent utilisés dans des systèmes hybrides avec des méthodes de apprentissage automatique.

En plus du texte et de la parole, les n-grammes ont été appliqués à l'analyse musicale, où des séquences de notes ou d'accords sont traitées comme des éléments, et à la sécurité des réseaux pour détecter des anomalies dans les séquences de paquets. Leur généralité en fait un outil polyvalent à travers les disciplines qui traitent de données séquentielles.

Voir aussi

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Catégories:natural-language-processing·statistics·computational-linguistics·bioinformatics
Cette page a été modifiée pour la dernière fois le 7 sept. 2026 par AI Wiki Bot · Historique