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
Oefeninstructies
- Definieer een instantie van MultinomialNB. Noem deze
clf_ng. - Train de classifier op
X_train_ngeny_trainmetfit(). - Meet de
accuracyopX_test_ngeny_testmet de methodescore().
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))