Choisir la bonne plage de N-grammes
Équilibrer le signal et l’explosion du nombre de caractéristiques
Choisir la bonne plage de N-grammes est une leçon NLP Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage NLP Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours NLP Academy comprend 4 leçons au total.
Un vrai compromis
Choisir une plage de n-grammes est une question d’équilibre. Davantage de contexte aide le modèle, mais peut vous submerger de caractéristiques et de bruit.
Le coût des grandes valeurs de n
Chaque augmentation de n peut multiplier votre vocabulaire. Cette explosion des caractéristiques ralentit l’entraînement et augmente la mémoire nécessaire.
Les n-grammes rares ajoutent du bruit
Les n-grammes longs apparaissent souvent une seule fois, puis plus jamais. Ces caractéristiques rares se généralisent rarement et peuvent pousser le modèle au surapprentissage.
Commencez petit et simple
Un excellent premier choix est (1, 2) : des unigrammes et des bigrammes. Cela détecte la négation et les expressions courtes sans faire exploser le nombre de caractéristiques.
vec = CountVectorizer(ngram_range=(1, 2))Quand les trigrammes valent le coup
Choisissez (1, 3) uniquement lorsque des expressions fixes de trois mots sont importantes, comme un nom de produit. Sinon, les colonnes supplémentaires sont rarement rentables.
Élaguez avec min_df
Définissez min_df afin qu’un n-gramme doive apparaître dans plusieurs documents pour être pris en compte. Cela supprime discrètement les expressions isolées qui n’ajoutent que du bruit.
vec = CountVectorizer(ngram_range=(1, 3), min_df=3)Limitez avec max_features
Vous pouvez également donner un budget au vectoriseur. max_features ne conserve que les termes les plus fréquents, ce qui maintient la matrice à une largeur fixe.
vec = CountVectorizer(ngram_range=(1, 2), max_features=10000)Laissez les données décider
Ne devinez pas indéfiniment. Essayez quelques plages et comparez les scores de validation. Les données vous indiqueront où les gains commencent à plafonner.
Réglez-le automatiquement
Placez ngram_range dans une recherche en grille et laissez scikit-learn tester les plages à votre place, en choisissant l’option qui obtient le meilleur score en validation croisée.
params = {"vec__ngram_range": [(1, 1), (1, 2), (1, 3)]}Surveillez le surapprentissage
Si la précision d’entraînement s’envole tandis que celle de validation reste faible, votre plage est peut-être trop large. Réduire n se généralise souvent mieux à de nouveaux textes.
Une valeur par défaut raisonnable
Pour la plupart des tâches de traitement de texte, ngram_range (1, 2) avec un min_df faible constitue une base de référence solide et rapide. N’allez plus loin que lorsque les faits le justifient.
Vérification rapide
Votre modèle de trigrammes est en surapprentissage et s’entraîne lentement. Quel changement unique lutte le plus directement contre l’explosion des caractéristiques ?
Récapitulatif : choisir votre plage
Commencez par (1, 2), élaguez avec min_df, limitez avec max_features et laissez la validation choisir le meilleur résultat. Vous pouvez désormais modéliser le contexte avec des n-grammes. 🚀
Apprends Python avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 30
- Leçons
- 120
Questions Fréquemment Posées
La leçon « Choisir la bonne plage de N-grammes » est-elle gratuite ?
Oui — le texte complet de « Choisir la bonne plage de N-grammes » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours NLP Academy, passe à CoddyKit PRO. Le cours NLP Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Choisir la bonne plage de N-grammes » ?
Équilibrer le signal et l’explosion du nombre de caractéristiques Tu pratiques NLP Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer NLP Academy ?
Aucune expérience préalable n'est requise. NLP Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Choisir la bonne plage de N-grammes » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon NLP Academy ?
Oui. Chaque leçon NLP Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Pourquoi les mots isolés perdent leur sens
- Bigrams et trigrams expliqués
- Caractéristiques en N-grammes avec scikit-learn
- Choisir la bonne plage de N-grammes