# Capire perché un intent viene sbagliato

Il bot ha risposto a una domanda con l'intent sbagliato (o con il fallback). Ecco come ragionare, dal più probabile al meno.

1. Guarda intent e confidenza

La risposta dell'API include intent e confidence. In locale, python -m agent.agent ti permette di provare le frasi una dopo l'altra.

  • Confidenza bassa (sotto MIN_INTENT_CONFIDENCE, 0.20 in config.py): il bot ricade sul fallback. Mancano esempi simili alla frase.
  • Confidenza alta ma intent sbagliato: due intent hanno esempi troppo vicini.

2. Cerca la frase nel dataset

Cerca nei file YAML degli intent parole chiave della frase: spesso trovi l'intent "concorrente" con una frase quasi uguale. Il validatore blocca i duplicati esatti, ma non le frasi molto simili.

3. Cosa fare

SintomoRimedio
Intent giusto con pochi esempiaggiungi 5-10 frasi diverse
Due intent che si confondonorendi gli esempi più distinti o unisci gli intent
Entità non riconosciutaannota più esempi con `[valore](TIPO)`
Frasi con punti o simboli (es. nomi di dominio)verifica che il valore dell'entità sia ricostruito dal testo originale

Dopo ogni modifica: [riaddestra](/guides/training-e-validazione).

4. Regressioni inspiegabili

Se frasi che non hai toccato cambiano comportamento dopo un training:

  • confronta con il training precedente: l'inizializzazione dei pesi è fissata (seed 42), quindi la differenza viene dal dataset;
  • controlla se hai aggiunto frasi che "rubano" esempi a un intent esistente;
  • ricorda che cambiare embedding (USE_FASTTEXT) cambia tutto il modello.

5. Intent che non devono mai fallire

Per le frasi critiche (per esempio richieste di aiuto urgenti) non basta il classifier: un filtro deterministico a parole chiave, controllato prima del modello, garantisce che un training sfortunato non le perda.

Torna all'[elenco delle guide](/guides).