N-gram av högre ordning för sentimentanalys
Precis som i en tidigare övning ska du bygga en klassificerare som avgör om en filmrecension är positiv eller negativ. Den här gången använder vi dock n-gram upp till n=2 för uppgiften.
N-gram-träningsrecensionerna finns tillgängliga som X_train_ng. Motsvarande testrecensioner finns som X_test_ng. Använd y_train och y_test för att komma åt tränings- respektive testklasserna för sentiment.
Den här övningen är en del av kursen
Funktionsutveckling för NLP i Python
Övningsinstruktioner
- Skapa en instans av MultinomialNB och döp den till
clf_ng. - Träna klassificeraren på
X_train_ngochy_train. - Mät
accuracypåX_test_ngochy_testmed metodenscore().
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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))