Abordagem dos principais classificadores para solucionar o problema de análise de sentimentos utilizando python com pandas, numpy, scikit-learn, nltk, e spaCy.

Para este artigo será utilizada a base de reviews (análises) de filmes do IMDb.

IMDb, também conhecido como Internet Movie Database, é uma base de dados online de informação sobre música, cinema, filmes, programas e comerciais para televisão e jogos de computador, hoje pertencente à Amazon. [Wikipedia]

🔎 Técnicas de pré processamento utilizadas:

  • Tratamento de valores nulos
  • Upcase/Downcase (str.lower)
  • Sinais de pontuação (unidecode)
  • Lematização*

* Processo de deflexionar (provocar mudança ou alteração no posicionamento normal uma palavra) para determinar o seu lema. (Exemplo: palavras = tiver, tenho, tinha, tem; lema = ter)

🚀 Técnicas de classificação utilizadas:

  • Decision Tree
  • Random Forest
  • Multinomial Naive Bayes
  • Gradient Boosting
  • Support Vector Machine (SVM)
  • Multinomial Logistic Regression

Considerações finais

A classificação utilizando regressão logística teve a melhor acurácia, chegando à 0.89506. Além da acurácia, destaca-se também o fato deste método possuir um tempo de processamento (minutos) muito menor do que outros utilizados nesta comparação, como o SVM (dias).

Para obter as melhores configurações ao LogisticRegression nós utilizamos o GridSearchCV. Essa função consiste em testar variadas combinações de parâmetros ao modelo, encontrando assim o melhor resultado.

É possível que este arquivo evolua em técnicas de pré processamento e modelos de classificação.

👊 Agradecimentos