Un'entity (entità) nel chatbot è un valore specifico estratto da una frase dell'utente, come una data, un'ora, un nome, un prodotto o un tipo di servizio. Le entity forniscono i dati concreti necessari per eseguire un'azione identificata dall'intent.
Cos'è un'Entity nel Chatbot?
Mentre l'intent indica cosa vuole fare l'utente, le entity specificano con quali dati. Senza entity, il chatbot sa che l'utente vuole prenotare ma non sa quando, per quante persone, quale servizio. Le entity trasformano un'intenzione generica in un'azione specifica e completa.
Il processo di estrazione delle entity avviene automaticamente tramite Named Entity Recognition (NER), una tecnica di NLP che identifica e classifica elementi specifici nel testo. I moderni sistemi NER sono in grado di riconoscere decine di tipi di entity diverse, dalla data al numero di telefono, dal nome di persona al codice prodotto.
Le entity possono essere estratte da qualsiasi punto della conversazione: il chatbot mantiene un "registro" delle entity già raccolte durante il dialogo e le riutilizza nei turni successivi, evitando di chiedere all'utente informazioni già fornite.
Tipi di Entity: Pre-Built vs Custom
Entity Pre-Built
Entity standard già incluse nei modelli NLP, addestrate su enormi dataset. Non richiedono configurazione aggiuntiva e funzionano subito.
- Date e orari: "domani", "venerdì prossimo", "tra 3 giorni", "alle 15:30"
- Numeri e quantità: "2 persone", "tre", "una decina"
- Temperature: "20 gradi", "caldo"
- Durata: "un'ora", "30 minuti", "due giorni"
- Valuta: "50 euro", "cento dollari"
- Percentuale: "20%", "un quarto"
- Email e telefoni: riconoscimento automatico formato
- Nomi propri: persone, luoghi, organizzazioni
Entity Custom
Entity specifiche del settore o dell'azienda, definite e addestrate con esempi personalizzati. Richiedono esempi di training ma permettono alta precisione nel dominio.
- Tipo di servizio: "massaggio", "taglio capelli", "revisione auto"
- Categoria prodotto: "scarpe da running", "laptop business"
- Nome operatore: "con la dottoressa Rossi", "con Marco"
- Riferimento ordine: pattern tipo "ORD-12345", "#00234"
- Tipo di camera: "matrimoniale", "suite", "vista mare"
- Preferenze dieta: "vegetariano", "senza glutine"
- Livello urgenza: "urgente", "quando possibile"
- Canale preferito: "per email", "telefonicamente"
Come Funziona l'Estrazione delle Entity
1Analisi del Testo
Il modello NLP scansiona l'intera frase dell'utente token per token (parola per parola), cercando pattern che corrispondano a entity conosciute. Usa tecniche come BIO tagging (Beginning, Inside, Outside) per identificare i confini di ogni entity.
2Normalizzazione dei Valori
I valori estratti vengono normalizzati in un formato standardizzato. "Domani", "il giorno dopo", "tomorrow" vengono tutti convertiti nella data ISO corrispondente. Questo permette al sistema di elaborare i dati indipendentemente dal modo in cui sono stati espressi.
3Validazione e Uso
Le entity vengono validate (una data nel passato non è valida per una prenotazione futura) e poi utilizzate per eseguire l'azione o per richiedere le informazioni ancora mancanti tramite il meccanismo di slot filling.
Entity Obbligatorie vs Opzionali
Entity Obbligatorie (Required Slots)
Informazioni indispensabili: senza di esse l'azione non può essere completata. Il chatbot le chiede attivamente una per una se l'utente non le ha fornite spontaneamente.
Esempio prenotazione: data, ora e numero di persone sono obbligatorie. Senza una di esse il chatbot non può procedere con la prenotazione.
Entity Opzionali (Optional Slots)
Informazioni che arricchiscono la richiesta ma non la bloccano. Se non fornite, il chatbot usa valori predefiniti o semplicemente le ignora nel completare l'azione.
Esempio prenotazione: preferenza di tavolo (finestra, terrazza), richieste speciali (allergie, occasione speciale) sono opzionali ma migliorano il servizio.
Gestione delle Entity Ambigue
Ambiguità di Date e Orari
"Lunedì" può riferirsi al lunedì passato o al prossimo. "Alle 3" può essere mattina o pomeriggio. Il chatbot deve chiedere chiarimenti o usare il contesto per risolvere l'ambiguità.
Strategia: assumere sempre la data futura più vicina e confermare con l'utente prima di procedere.
Valori Non Riconosciuti
Se l'utente inserisce un valore che il sistema non riconosce (un servizio non offerto, una data impossibile), il chatbot deve comunicarlo chiaramente e proporre alternative valide.
Strategia: mostrare le opzioni disponibili in un formato selezionabile (quick reply, bottoni).
Correzioni Mid-Conversazione
L'utente potrebbe voler correggere una entity già fornita: "Aspetta, cambia l'ora alle 16 non alle 15". Il chatbot deve aggiornare solo l'entity specificata mantenendo tutto il resto.
Strategia: sistema di context management che permette aggiornamenti selettivi degli slot.
Domande Frequenti
Cos'è un'entity nel chatbot?
Un'entity è un valore specifico estratto automaticamente dalla frase dell'utente. È la risposta alla domanda "con quali dati?" associata all'intent (che risponde a "cosa?"). Esempi: date, orari, nomi, quantità, tipi di servizio, codici di riferimento. Senza entity, il chatbot conosce l'intenzione ma non ha le informazioni per agire.
Come il chatbot estrae le entity?
Tramite Named Entity Recognition (NER), un algoritmo che scansiona il testo e identifica elementi classificabili. Le entity pre-built (date, numeri, luoghi) funzionano out-of-the-box. Le entity custom richiedono esempi di training con le frasi tipiche del settore. Il valore estratto viene poi normalizzato in un formato standard per essere elaborato.
Entity obbligatorie vs opzionali?
Le entity obbligatorie sono indispensabili per completare l'azione: senza data e ora non si può prenotare. Il chatbot le chiede attivamente se mancanti. Le entity opzionali aggiungono valore ma non bloccano il flusso: preferenze, note speciali, richieste aggiuntive. La distinzione è fondamentale per progettare conversazioni fluide e non frustranti per l'utente.
Termini Correlati
Implementa Entity nella Tua Azienda
Scopri come V Support può aiutarti a sfruttare l'AI per il tuo customer service. Demo gratuita di 30 minuti.