N-граммы высокого порядка для анализа тональности
Как и в предыдущем упражнении, мы построим классификатор, который определяет, является ли рецензия на фильм положительной или отрицательной. На этот раз для решения задачи мы будем использовать n-граммы вплоть до n=2.
Обучающие рецензии в виде n-грамм доступны в переменной X_train_ng. Соответствующие тестовые рецензии — в переменной X_test_ng. Для доступа к классам тональности обучающей и тестовой выборок используйте y_train и y_test соответственно.
Это упражнение является частью курса
Конструирование признаков для NLP на Python
Инструкции к упражнению
- Создайте экземпляр MultinomialNB и назовите его
clf_ng. - Обучите классификатор на данных
X_train_ngиy_train. - Измерьте
accuracyна данныхX_test_ngиy_testс помощью методаscore().
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Define an instance of MultinomialNB
clf_ng = ____
# Fit the classifier
clf_ng.____(____, ____)
# Measure the accuracy
accuracy = ____
print("The accuracy of the classifier on the test set is %.3f" % accuracy)
# Predict the sentiment of a negative review
review = "The movie was not good. The plot had several holes and the acting lacked panache."
prediction = clf_ng.predict(ng_vectorizer.transform([review]))[0]
print("The sentiment predicted by the classifier is %i" % (prediction))