Признаки N-грамм в scikit-learn
Добавьте фразы в свой векторизатор
«Признаки N-грамм в scikit-learn» — бесплатный урок NLP Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения NLP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс NLP Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Let the Library Do It
You could hand-roll n-grams, but scikit-learn builds them for you. The trick is one small argument on your vectorizer.
The ngram_range Knob
Every text vectorizer accepts ngram_range, a tuple of min and max sizes. It tells the vectorizer which n-grams to count.
from sklearn.feature_extraction.text import CountVectorizer
vec = CountVectorizer(ngram_range=(1, 2))Unigrams Are the Default
Leave it alone and ngram_range is (1, 1), pure single words. That is the plain bag-of-words you already know.
Adding Bigrams
Set ngram_range to (1, 2) and the vectorizer keeps single words and every adjacent pair, all in one feature space.
vec = CountVectorizer(ngram_range=(1, 2))
X = vec.fit_transform(["this is not good"])Bigrams Only
Want pairs alone? Use (2, 2). Now single words vanish and only bigrams survive as features.
vec = CountVectorizer(ngram_range=(2, 2))Inspect the Vocabulary
After fitting, peek at the learned features with get_feature_names_out. You will see both words and joined phrases listed.
print(vec.get_feature_names_out())
# ['is not', 'not good', 'this is']Phrases Joined by Space
scikit-learn names each bigram by joining its words with a single space, like not good. That string becomes one column.
Same Knob, TF-IDF
The same ngram_range works on TfidfVectorizer too. You get n-gram phrases that are also weighted by how distinctive they are.
from sklearn.feature_extraction.text import TfidfVectorizer
vec = TfidfVectorizer(ngram_range=(1, 2))Now Negation Survives
With bigrams on, not good lands in its own column. Your classifier can finally learn that this pair signals a negative review.
Watch the Feature Count
Adding bigrams can multiply your columns dramatically. The matrix stays sparse, but the vocabulary grows fast.
print(X.shape) # many more columns than unigrams alonePair It With min_df
To tame the blow-up, combine ngram_range with min_df. Dropping rare phrases keeps only the n-grams that repeat usefully.
vec = CountVectorizer(ngram_range=(1, 2), min_df=2)Quick Check
Which ngram_range gives you single words plus adjacent pairs in one vectorizer?
Recap: N-Grams in scikit-learn
One ngram_range tuple turns any vectorizer into an n-gram machine. Inspect features, then trim with min_df. Next you will choose the right range. 🎯
Часто задаваемые вопросы
Урок «Признаки N-грамм в scikit-learn» бесплатный?
Да — полный текст урока «Признаки N-грамм в scikit-learn» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс NLP Academy, подпишись на CoddyKit PRO. Курс NLP Academy содержит 4 уроков всего.
Чему я научусь в уроке «Признаки N-грамм в scikit-learn»?
Добавьте фразы в свой векторизатор Ты практикуешь NLP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать NLP Academy?
Предыдущий опыт не требуется. NLP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Признаки N-грамм в scikit-learn»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке NLP Academy?
Да. Каждый урок NLP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Почему отдельные слова теряют смысл
- Биграммы и триграммы
- Признаки N-грамм в scikit-learn
- Выбор подходящего диапазона N-грамм