File size: 6,475 Bytes
ae04c41
 
03a98ed
919218a
 
 
ae04c41
919218a
 
ae04c41
2ff9250
4bdde62
2ff9250
4bdde62
2ff9250
4bdde62
2ff9250
4bdde62
2ff9250
03a98ed
2ff9250
4bdde62
2ff9250
4bdde62
 
 
 
 
 
 
 
 
 
 
 
 
 
2c267ea
 
 
 
 
2ff9250
4bdde62
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
03a98ed
2ff9250
03a98ed
2ff9250
4bdde62
2ff9250
03a98ed
2ff9250
03a98ed
 
2ff9250
 
03a98ed
2ff9250
03a98ed
 
 
2ff9250
 
03a98ed
 
 
2ff9250
 
03a98ed
2ff9250
03a98ed
2ff9250
03a98ed
2ff9250
03a98ed
2ff9250
4bdde62
03a98ed
4bdde62
 
 
 
 
 
 
 
03a98ed
4bdde62
 
 
 
 
2ff9250
03a98ed
2ff9250
03a98ed
2ff9250
03a98ed
 
2ff9250
03a98ed
2ff9250
03a98ed
2ff9250
03a98ed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
---
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.