N-grammi di ordine superiore per l'analisi del sentiment
Come in un esercizio precedente, costruiremo un classificatore che riconosce se la recensione di un film è positiva o negativa. Questa volta, però, useremo n-grammi fino a n=2 per il compito.
Le recensioni di training con n-grammi sono disponibili come X_train_ng. Le corrispondenti recensioni di test sono disponibili come X_test_ng. Infine, usa y_train e y_test per accedere rispettivamente alle classi di sentiment di training e di test.
Questo esercizio fa parte del corso
Feature Engineering per NLP in Python
Istruzioni dell'esercizio
- Definisci un'istanza di MultinomialNB. Chiamala
clf_ng - Addestra il classificatore su
X_train_ngey_train. - Misura l'
accuracysuX_test_ngey_testusando il metodoscore().
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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))