НачатьНачать бесплатно

Использование длинных n-грамм

До сих пор вы создавали признаки на основе отдельных слов в каждом тексте. Такой подход может быть весьма эффективным в моделях машинного обучения, однако при анализе слов по отдельности значительная часть контекста теряется. Чтобы решить эту проблему, при построении моделей можно использовать n-граммы — последовательности из n слов, объединённых вместе. Например:

  • биграммы: последовательности из двух соседних слов
  • триграммы: последовательности из трёх соседних слов

Они могут автоматически создаваться в вашем наборе данных с помощью аргумента ngram_range, которому передаётся кортеж (n1, n2), где включаются все n-граммы в диапазоне от n1 до n2.

Это упражнение является частью курса

Конструирование признаков для машинного обучения в Python

Посмотреть курс

Инструкции к упражнению

  • Импортируйте CountVectorizer из sklearn.feature_extraction.text.
  • Создайте экземпляр CountVectorizer, учитывая только триграммы.
  • Обучите векторизатор и примените его к столбцу text_clean за один шаг.
  • Выведите названия признаков, сгенерированных векторизатором.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Import CountVectorizer
from sklearn.feature_extraction.text import ____

# Instantiate a trigram vectorizer
cv_trigram_vec = CountVectorizer(max_features=100, 
                                 stop_words='english', 
                                 ____)

# Fit and apply trigram vectorizer
cv_trigram = ____(speech_df['text_clean'])

# Print the trigram features
print(cv_trigram_vec.____)
Редактировать и запускать код