Skip to content

Latest commit

 

History

History
116 lines (79 loc) · 2.63 KB

File metadata and controls

116 lines (79 loc) · 2.63 KB

🧠 Classificador de Emoções em Texto

Este projeto é um classificador de emoções desenvolvido em Python, capaz de identificar a emoção predominante em uma frase escrita.
Ele utiliza Machine Learning tradicional (TF-IDF + Logistic Regression) para analisar textos e classificá-los em uma das seguintes emoções:

  • alegria
  • ansiedade
  • calma
  • raiva
  • tristeza

O objetivo é aprender, na prática, como funciona um pipeline completo de Machine Learning aplicado a linguagem natural.


🚀 Tecnologias utilizadas

  • Python 3.10+
  • Pandas
  • Scikit-Learn
  • NumPy
  • Joblib

📂 Estrutura do projeto

classificador_emocoes_texto/
├── emotions_training.py # Treinamento do modelo
├── emotions_test.py # Testar o modelo manualmente
├── dataset_emocoes.csv # Dataset com frases e emoções
├── modelo_emocoes.pkl # Modelo treinado
├── requirements.txt # Dependências
└── README.md # Este arquivo

🏋️‍♂️ Como funciona o treinamento

O arquivo emotions_training.py:

  1. Lê o dataset CSV contendo frases e suas emoções.
  2. Converte as frases em vetores usando TF-IDF.
  3. Treina um modelo de Logistic Regression para classificação multiclasse.
  4. Avalia a acurácia no conjunto de teste.
  5. Salva o modelo treinado em modelo_emocoes.pkl.

Execute o treinamento com:

python3 emotions_training.py

🧪 Como testar o modelo

O arquivo emotions_test.py permite digitar frases no terminal e ver a predição da IA:

Execute o test do treinamento:

python3 emotions_test.py
Exemplo:
Digite uma frase: Estou muito feliz hoje
Predição: alegria (confiança 0.87)

📊 Dataset

O dataset contém frases curtas representando diferentes emoções.
Você pode expandi-lo para melhorar o desempenho do modelo.

Formato:

texto,emocao
"Estou muito feliz hoje",alegria
"Sinto uma calma profunda",calma
"Estou nervoso com isso",ansiedade

🎯 Objetivo do projeto

Este projeto foi criado com foco educacional, para:

  • Aprender os fundamentos de NLP com ML clássico
  • Entender como montar um pipeline completo de classificação
  • Experimentar com datasets próprios
  • Servir como base para versões futuras usando modelos mais avançados (como Transformers / BERT)

📌 Próximos passos (futuros)

  • Melhorar o dataset com frases mais variadas
  • Testar outros modelos (Naive Bayes, SVM)
  • Criar API com FastAPI
  • Criar interface web simples (React ou HTML)
  • Migrar para modelos Transformers (DistilBERT)

📜 Licença

Livre para estudo e uso pessoal.