This project implements a sentiment analysis system using machine learning techniques. It's designed as a practical application to demonstrate core concepts in AI development, combining data handling, machine learning, and API development.
- Python: Primary programming language
- Pandas: Data manipulation and analysis
- Scikit-learn: Machine learning implementation
- FastAPI: API framework
- Uvicorn: ASGI server implementation
- Podman: Container engine
- Data processing from CSV files
- Sentiment analysis using machine learning models
- RESTful API endpoints for real-time analysis
- Scalable architecture for handling multiple requests
- Containerized deployment
sentiment_analysis_api/
├── data/ # CSV and data files
├── main.py # Main application
|-- model.py # Contains actual model functions
├── requirements.txt # for all the required packages
|-- Containerfile # Contains required podman configurations to create and run this app in a container
└── README.md
- Clone the repository
- Install dependencies:
pip install -r requirements.txt- Run the application:
uvicorn main:app --reload- Build the container:
podman build -t sentiment-analysis .- Run the container:
podman run -p 8000:8000 sentiment-analysisThe API will provide endpoints for:
- Sentiment analysis of text input
- Model training status
- Analysis results retrieval
- Implement robust data preprocessing
- Build and train ML models
- Create RESTful API endpoints