EmoDetectNLP is a project aimed at emotion detection in text using Long Short-Term Memory (LSTM) neural networks. It includes both a desktop application built with Tkinter and a web application built with Flask.
The development of EmoDetectNLP involved several key steps:
- Data Preprocessing: The textual data was preprocessed, including tokenization, padding, and embedding.
- Model Architecture: An LSTM neural network architecture was chosen for its ability to capture long-range dependencies in text data. This was implemented using TensorFlow.
- Training: The model was trained using a dataset containing labeled examples of text and associated emotions (100% accuracy).
- Evaluation: The trained model was evaluated on a separate validation dataset to assess its performance.
- Integration: The trained model was integrated into both a desktop application using Tkinter and a web application using Flask for real-time emotion prediction.
To install and run the Tkinter and Flask applications, follow these steps:
# Clone the repository
git clone https://github.com/mirsaidl/EmoDetectNLP.git
cd EmoDetectNLP
# Install dependencies
pip install -r requirements.txt
# Run the Tkinter app
python tkinter-app.py
# Run Flask app
python flask-app.py # follow local-host link
The dataset used for training EmoDetectNLP contains labeled examples of text data along with their associated emotions. The emotions are classified into several classes which are: Anger, Happiness, Sadness, Neutral, Surprise, Boredom, Fun, Enthusiasm, Relief, Love, Worry, Hate, Empty
The emotion dataset is crucial for training the model to accurately predict emotions in text data. It provides the necessary labeled examples for the model to learn the relationship between text inputs and their corresponding emotions.
video link: LINK