Skip to content

Uma rede neural recorrente treinada com processamento de linguagem natural, para a classificação de sentimentos. 💬

Notifications You must be signed in to change notification settings

ViniciusSilveiraCampos/Analise-e-Classifica-o-de-Sentimentos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation

Análise de Sentimento 😊😠



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.

Índice 📚

Descrição 📝

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.

Base de dados 💾


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'.


Modelo de Rede Neural 🧠

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 

Resultados 📈

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%.

Contato

Email: vivico2005@gmail.com

Link do Codigo: https://github.com/ViniciusSilveiraCampos/Analise-e-Classifica-o-de-Sentimentos/blob/main/Analise_Sentimento.ipynb