Abyssinian is a web-based platform designed to create a public repository of sentences with their corresponding emotive meanings. This project leverages machine learning to predict emotions in text and provide sentence transformations. Built using the FARMstack tech stack, Abyssinian offers a seamless experience for users to explore and analyze emotive text data.
- Sentence Emotive Analysis: Uses
j-hartmann/emotion-english-distilroberta-basemodel to predict the emotional meaning of sentences. - WebSocket Integration: Enables real-time chat functionality.
- Structured File System:
frontend/- Handles the web interface and user interactions.backend/- Manages API requests, model integration, and WebSocket connections.dataset_handle/- Processes and stores sentence datasets on dedicated github repo for emotive analysis.
- Multi-Page Web Interface:
- Home Page: Introduction and overview of the platform.
- Chat Page: Supports real-time messaging, featuring:
- DM: Private messages.
- Group: Group chat functionality.
- About Page: Information about the project and its purpose.
- Frontend: React.js
- Backend: FastAPI
- Database: MongoDB
- Machine Learning Model:
j-hartmann/emotion-english-distilroberta-base - Real-time Communication: WebSockets
Ensure you have the following installed:
- Python (>=3.8)
- Node.js & npm
- MongoDB
-
Clone the repository
git clone https://github.com/Pequanta/Abyssinian.git cd Abyssinian -
Set up the backend
cd backend pip install -r requirements.txt python3 main.py -
Set up the frontend
cd ../frontend npm install npm run dev -
Configure the database
- Ensure MongoDB is running
- Set up the required collections and indexes
- Navigate to
http://localhost:5173to access the web platform. - Use the Chat Page for real-time messaging.
- Explore sentence emotions and contribute new data.
Any contributions are welcomed! Please fork the repository and create a pull request.
This project is licensed under the MIT License.
For any inquiries, reach out via GitHub Issues or email.
Abyssinian - Understanding Emotions in Text