ComeçarComece de graça

Comparando o desempenho de modelos n-gram

Agora você sabe como fazer análise de sentimento convertendo texto em diferentes representações de n-grams e alimentando-as a um classificador. Neste exercício, vamos realizar a análise de sentimento para as mesmas avaliações de filmes de antes usando dois modelos de n-gram: unigramas e n-grams até n igual a 3.

Em seguida, vamos comparar o desempenho usando três critérios: acurácia do modelo no conjunto de teste, tempo de execução do programa e número de features criadas ao gerar a representação de n-grams.

Este exercício faz parte do curso

Feature Engineering para NLP em Python

Ver curso

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

start_time = time.time()
# Splitting the data into training and test sets
train_X, test_X, train_y, test_y = train_test_split(df['review'], df['sentiment'], test_size=0.5, random_state=42, stratify=df['sentiment'])

# Generating ngrams
vectorizer = ___
train_X = vectorizer.fit_transform(train_X)
test_X = vectorizer.transform(test_X)

# Fit classifier
clf = MultinomialNB()
clf.fit(train_X, train_y)

# Print accuracy, time and number of dimensions
print("The program took %.3f seconds to complete. The accuracy on the test set is %.2f. The ngram representation had %i features." % (time.time() - start_time, clf.score(test_X, test_y), train_X.shape[1]))
Editar e executar o código