Zacznij terazZacznij za darmo

N-gramy wyższego rzędu w analizie sentymentu

Podobnie jak w poprzednim ćwiczeniu, zbudujesz klasyfikator wykrywający, czy recenzja danego filmu jest pozytywna, czy negatywna. Tym razem jednak do zadania użyjesz n-gramów do n=2.

Recenzje treningowe w postaci n-gramów są dostępne jako X_train_ng. Odpowiadające im recenzje testowe znajdziesz w X_test_ng. Do klas sentymentu dla zbiorów treningowego i testowego służą odpowiednio y_train i y_test.

To ćwiczenie jest częścią kursu

Inżynieria cech dla NLP w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz instancję MultinomialNB i nazwij ją clf_ng.
  • Dopasuj klasyfikator do danych X_train_ng i y_train.
  • Zmierz accuracy na danych X_test_ng i y_test, korzystając z metody score().

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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))
Edytuj i uruchom kod