Este projeto utiliza redes neurais recorrentes (RNN) para realizar a análise de sentimento em textos. A implementação é feita utilizando PyTorch e outras bibliotecas de análise de dados.
Este projeto busca analisar sentimentos em textos utilizando uma rede neural recorrente (RNN). A base de dados contém várias emoções, excluindo a emoção 'neutral', e o modelo é treinado para classificar textos em 12 categorias emocionais diferentes.
- Disponivel AQUI!
A base de dados é carregada e as emoções são mapeadas para valores numéricos para facilitar o treinamento do modelo. A distribuição das emoções é visualizada utilizando gráficos.
O conjunto de dados havia uma série de mais de cinco mil dados. Com classes e comentarios que expressavam os sentimentos de 'ódio', 'raiva', 'amor', 'preocupação', 'alívio', 'felicidade', 'diversão', 'vazio', 'entusiasmo', 'tristeza', 'surpresa' e 'tédio'.
Uma RNN simples é implementada utilizando PyTorch. O modelo é composto por uma camada de embedding, uma camada RNN e uma camada totalmente conectada.
import torch
import torch.nn as nn
class SimpleRNN(nn.Module):
def __init__(self, input_size, embedding_size, hidden_size, output_size):
super(SimpleRNN, self).__init__()
self.embedding = nn.Embedding(input_size, embedding_size)
self.rnn = nn.RNN(embedding_size, hidden_size, batch_first=True)
self.fc = nn.Linear(hidden_size, output_size)
def forward(self, x):
embedded = self.embedding(x)
output, _ = self.rnn(embedded)
output = self.fc(output[:, -1, :])
return output
A precisão do modelo é avaliada utilizando a métrica de acurácia e a matriz de confusão. A rede neural alcançou um porcentual de acerto de 73%.
Email: vivico2005@gmail.com
Link do Codigo: https://github.com/ViniciusSilveiraCampos/Analise-e-Classifica-o-de-Sentimentos/blob/main/Analise_Sentimento.ipynb