Aan de slagGa gratis aan de slag

Hogere-orde n-grams voor sentimentanalyse

Net als in een eerdere oefening bouwen we een classifier die kan bepalen of de recensie van een bepaalde film positief of negatief is. Deze keer gebruiken we echter n-grams tot en met n=2 voor de taak.

De n-gram-trainingsrecensies zijn beschikbaar als X_train_ng. De bijbehorende testrecensies zijn beschikbaar als X_test_ng. Gebruik ten slotte y_train en y_test om respectievelijk de trainings- en test-sentimentklassen te benaderen.

Deze oefening maakt deel uit van de cursus

Feature Engineering voor NLP in Python

Cursus bekijken

Oefeninstructies

  • Definieer een instantie van MultinomialNB. Noem deze clf_ng.
  • Train de classifier op X_train_ng en y_train met fit().
  • Meet de accuracy op X_test_ng en y_test met de methode score().

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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))
Code bewerken en uitvoeren