https://github.com/mariocosenza/astromark-ai
Machine learning application designed for advanced text classification
https://github.com/mariocosenza/astromark-ai
classification flask nlp-machine-learning npl python3
Last synced: 6 months ago
JSON representation
Machine learning application designed for advanced text classification
- Host: GitHub
- URL: https://github.com/mariocosenza/astromark-ai
- Owner: mariocosenza
- License: gpl-2.0
- Created: 2024-12-01T16:24:13.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-02-10T20:37:33.000Z (8 months ago)
- Last Synced: 2025-03-27T12:14:26.277Z (7 months ago)
- Topics: classification, flask, nlp-machine-learning, npl, python3
- Language: Jupyter Notebook
- Homepage: https://astromark.it
- Size: 13.8 MB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AstroMark AI
[](https://www.python.org/downloads/release/python-3120/)
[](https://spacy.io/)
[](https://scikit-learn.org/)
[](https://github.com/mariocosenza/astromark-ai/blob/main/LICENSE)![]()
**AstroMark AI** is an advanced machine learning project specifically designed to classify tickets destined for the school secretary. Leveraging Python 3.12, SpaCy, and sophisticated machine learning classifiers, the application provides intelligent and accurate ticket categorization.
## Key Features
- **Specialized Ticket Classification**: Developed to categorize school secretary tickets with high precision
- **Multiple Machine Learning Classifiers**:
- Naive Bayes Classifier
- Support Vector Machine (SVM)
- **SpaCy-Powered Natural Language Processing**: Advanced text analysis and feature extraction
- **Flask RESTful API**: Easy retrieval of ticket categories via POST request
- **Python 3.12 Compatibility**: Utilizing the latest Python features and performance improvements
- **Gemini Integration**: Advanced text generation capabilities using Google's Gemini API## Technology Stack
- **Language**: Python 3.12
- **NLP Library**: SpaCy
- **Classifiers**:
- Naive Bayes
- Support Vector Machine (SVM)
- **Web Framework**: Flask
- **AI Model**: Google Gemini 1.5 Flash
- **Deployment**: Easily deployable RESTful service## Environment Setup
### Requirements
All dependencies are listed in `requirements.txt`. Install them using:
```bash
pip install -r requirements.txt
```### Environment Variables
The following environment variable is required for Gemini API integration:
```bash
GEMINI_API_KEY=your_gemini_api_key_here
```To set up the environment variable:
1. Create a `.env` file in the project root
2. Add the above line with your actual Gemini API key
3. Load the environment variable before running the application## API Endpoint
### Ticket Category Retrieval
To retrieve the category for a given ticket, send a POST request to the Flask endpoint:
```json
{
"title": "Your ticket title",
"message": "First ticket message"
}
```**Response**:
```json
{
"prediction": "specific_ticket_category"
}
```## Getting Started
1. Clone the repository
2. Install dependencies:
```bash
pip install -r requirements.txt
```
3. Set up your environment variables as described above
4. Run the application:
```bash
python app.py
```
5. Send ticket classification requests to the Flask endpoint## Contributing
Contributions are welcome! Please read the contributing guidelines before getting started.## Authors
- [@mariocosenza](https://github.com/mariocosenza)
- [@mariofasolino](https://github.com/MarioFas)
- [@gsacrestano](https://github.com/gsacrestano)