ngt-ai-platform / README.md
GaetanoParente's picture
aggiornato file readme
919218a
---
title: ngt-ai-platform
emoji: 🚀
colorFrom: indigo
colorTo: pink
sdk: docker
pinned: false
license: apache-2.0
short_description: Modular AI Orchestrator for NLP, Predictive Analytics & CV.
---
# 🚀 NGT AI Platform (v2.0)
**NextGenTech AI Platform** è un orchestratore modulare di Intelligenza Artificiale progettato per ambienti Enterprise. Dimostra capacità avanzate in **NLP** (Natural Language Processing), **Predictive Analytics** e **Computer Vision**, integrate in una dashboard professionale.
La piattaforma adotta un'architettura ibrida (**TensorFlow/Keras** + **PyTorch** + **Scikit-Learn**) ed è stata aggiornata con una **UI/UX avanzata** basata su **Gradio 5**, caratterizzata da visualizzazioni interattive, gestione dello stato e navigazione contestuale.
![Platform UI](https://img.shields.io/badge/UI-Gradio%205.x-orange) ![Python](https://img.shields.io/badge/Python-3.10-blue) ![Architecture](https://img.shields.io/badge/Hybrid-Multi%20Model-purple) ![License](https://img.shields.io/badge/License-Apache%202.0-green)
---
## ✨ Key Features
Oltre ai modelli AI, la piattaforma implementa pattern di sviluppo Full Stack moderni:
* **📊 Interactive Dashboards:** Grafici dinamici (Plotly) con zoom, tooltip e selezione temporale per l'analisi dei dati.
* **🗂️ Context-Aware Sidebar:** La barra laterale cambia dinamicamente contenuto (cartelle e file) in base al Tab selezionato.
* **🔄 Dynamic Backtesting:** Il modulo di forecasting si adatta automaticamente alla quantità di dati storici forniti, separando training e test set al volo.
* **🖱️ Click-to-Load System:** Caricamento istantaneo dei file di test cliccando direttamente nella sidebar.
---
## 🧩 Moduli AI Disponibili
### 1. 🎧 BPO Intelligent Dispatcher (NextGen)
Il cuore della piattaforma per l'automazione dell'Assistenza Clienti.
* **Tecnologia:** DistilBERT (Fine-tuned) + spaCy (NER) + Custom Logic.
* **Workflow:**
1. **Intent Classification:** Riconosce l'intento (es. *Amministrazione*, *Supporto Tecnico*, *Churn*).
2. **Smart Urgency:** Calcola la priorità incrociando gravità del problema, intento e Sentiment Score.
3. **Action Recommendation:** Suggerisce l'azione di business concreta (es. *"Apertura Ticket JIRA L1"*, *"Alert Retention"*).
4. **Hybrid NER:** Estrae ed evidenzia graficamente dati sensibili (Codici Cliente, Fatture, Email).
### 2. 🔮 AI Workforce Forecaster
Modulo di pianificazione predittiva.
* **Obiettivo:** Superare i limiti dei modelli statistici classici (Erlang-C) utilizzando il Machine Learning per prevedere i volumi di traffico.
* **Tecnologia:** Random Forest Regressor + Plotly (Visualizzazione).
* **Funzionalità Chiave:**
* **Dynamic Backtesting:** Il sistema apprende dalle prime *n-1* settimane caricate e verifica la precisione sull'ultima settimana (Ground Truth).
* **Seasonality Awareness:** Il modello cattura automaticamente pattern orari (picchi 10:00/16:00), giornalieri (Lunedì vs Weekend) e trend settimanali.
* **Interactive Dashboard:** Grafico interattivo che permette di zoomare su specifici intervalli orari e confrontare visivamente la curva *Reale* con quella *Pianificata* (AI).
### 3. 📢 Sentiment Analysis (BPO Edition)
* **Specializzazione:** Modello di rete neurale addestrato su dataset "Small Data" (1.2k esempi reali Helpdesk).
* **Caratteristiche:** Calibrato specificamente per evitare falsi positivi su termini tecnici (es. "guasto", "disdetta") che i modelli generici fraintendono.
* **Integrazione:** Fornisce il punteggio emotivo utilizzato dal *BPO Dispatcher* per il calcolo dell'urgenza.
### 4. 📰 Smart Content Tagger (News)
* **Obiettivo:** Assistente editoriale per la categorizzazione automatica di flussi di notizie.
* **Classi:** *Economia, Politica, Scienza, Sport, Storia*.
* **Architettura:** Deep Learning su sequenze di testo (Embedding layer + Global Average Pooling).
### 5. 🩻 Chest X-Ray Analyzer (Computer Vision)
Supporto decisionale per il triage radiologico.
* **Obiettivo:** Screening rapido di patologie polmonari.
* **Classi:** *Rischio Polmonite*, *Rischio Tubercolosi*, *Negativo Polmonite*, *Negativo Tubercolosi*.
* **Architettura:** CNN custom addestrata su dataset radiografici pubblici (resize 224x224).
### 6. 👁️ Diabetic Retinopathy Screening
* **Obiettivo:** Analisi automatizzata del fondo oculare (Fundus Image) per screening preventivo.
* **Output Avanzato:** Restituisce una **Diagnosi Clinica** (Presenza/Assenza) separata dal **Livello di Confidenza** (%).
---
## 🛠️ Installazione
Il progetto richiede **Python 3.10**.
### 1. Clona il repository
```bash
git clone git@github.com:gaeparente/ngt-ai-platform.git
cd ngt-ai-platform
```
### 2. Setup dell'ambiente virtuale
```bash
python -m venv .venv
source .venv/bin/activate # Su Linux/Mac
# .venv\Scripts\activate # Su Windows
```
### 3. Installazione Dipendenze
Il file requirements.txt è ottimizzato per installare le versioni CPU di PyTorch per risparmiare spazio.
```bash
pip install -r requirements.txt
```
Nota: Il sistema scaricherà automaticamente anche il modello linguistico italiano per spaCy (it_core_news_lg).
### 📂 Struttura Cartelle e Modelli
Affinché la piattaforma funzioni, è necessario posizionare i modelli addestrati nella cartella corretta. Assicurati che la struttura sia la seguente:
```bash
ngt-ai-platform/
├── app.py # Entry point (Gradio UI & Event Logic)
├── style.css # Foglio di stile CSS (Layout & Design)
├── requirements.txt # Dipendenze Python
├── modules/
│ ├── utilities/ # Utils (Loader, Sidebar Logic, HTML Render)
│ ├── forecasting.py # Logica ML per il forecasting
│ ├── bpo_dispatcher.py # Business Logic BPO
│ └── ... # Altri moduli di classificazione
└── data/
├── model/ # Modelli .h5 e .bin (Non versionati)
├── export/ # CSV generati per il modulo Forecaster
├── gallery/ # Dataset Demo (xray, retinopaty, ecc.)
└── tokenizer/ # Tokenizer JSON per i modelli Keras
```
### 🚀 Avvio Piattaforma
Una volta installato tutto, avvia l'interfaccia web con:
```bash
python app.py
```
L'applicazione sarà accessibile localmente all'indirizzo: 👉 http://127.0.0.1:7860
### 📄 License
Distributed under the Apache 2.0 License.