Alcune entità devono corrispondere a pattern anziché a termini specifici. Ad esempio, numeri di documenti di identità nazionali, documenti di identità, targhe e così via. Con le entità regexp, puoi fornire espressioni regolari per la corrispondenza.
Dove trovare questi dati
Quando crei un agente, è più comune utilizzare la console Dialogflow ES (visita la documentazione, apri la console). Le istruzioni riportate di seguito riguardano l'utilizzo della console. Per accedere ai dati delle entità:
- Vai alla console Dialogflow ES.
- Seleziona un agente.
- Seleziona Entità nel menu della barra laterale a sinistra.
Se stai creando un agente utilizzando l'API anziché la console, consulta il riferimento EntityTypes. I nomi dei campi dell'API sono simili a quelli della console. Le istruzioni riportate di seguito mettono in evidenza eventuali differenze importanti tra la console e l'API.
Espressioni regolari composte
Ogni entità regexp corrisponde a un singolo pattern, ma puoi fornire più espressioni regolari se rappresentano tutte varianti di un singolo pattern.
Durante la formazione degli agenti, tutte le espressioni regolari di una singola entità vengono combinate con l'operatore di alternanza (|
) per formare un'espressione regolare composta.
Ad esempio, se fornisci le seguenti espressioni regolari per un numero di telefono:
^[2-9]\d{2}-\d{3}-\d{4}$
^(1?(-?\d{3})-?)?(\d{3})(-?\d{4})$
L'espressione regolare composta diventa:
^[2-9]\d{2}-\d{3}-\d{4}$|^(1?(-?\d{3})-?)?(\d{3})(-?\d{4})$
L'ordine delle espressioni regolari è importante. Ognuna delle espressioni regolari nell'espressione regolare composta viene elaborata in ordine. La ricerca si interrompe quando viene trovata una corrispondenza valida. Ad esempio, per un'espressione utente finale di "Seattle":
Sea|Seattle
corrisponde a "Mare"Seattle|Sea
corrisponde a "Seattle"
Trattamento speciale per il riconoscimento vocale
Se il tuo agente utilizza il riconoscimento vocale (noto anche come input audio, conversione della voce in testo o STT), le tue espressioni regolari richiederanno un'elaborazione speciale per l'associazione di lettere e numeri. Un'espressione pronunciata dall'utente finale viene prima elaborata dal riconoscimento vocale prima che le entità vengano associate. Quando un'espressione contiene una serie di lettere o numeri, il sistema di riconoscimento potrebbe aggiungere spazi a ogni carattere. Inoltre, il riconoscitore potrebbe interpretare le cifre in forma di parola. Ad esempio, l'espressione di un utente finale "Il mio ID è 123" potrebbe essere riconosciuta come una delle seguenti:
- "Il mio ID è 123"
- "Il mio ID è 1 2 3"
- "Il mio ID è 123"
Per supportare numeri di tre cifre, puoi utilizzare le seguenti espressioni regolari:
\d{3}
\d \d \d
(zero|one|two|three|four|five|six|seven|eight|nine) (zero|one|two|three|four|five|six|seven|eight|nine) (zero|one|two|three|four|five|six|seven|eight|nine)
Creare un'entità regexp
Per creare un'entità regexp:
- Apri un'entità esistente o creane una nuova.
- Seleziona Entità Regexp.
- Inserisci una o più espressioni regolari nella tabella delle voci.
- Fai clic su Salva.
Se utilizzi l'API per creare o aggiornare entità,
utilizza KIND_REGEXP
per il campo del tipo di entità.
Limitazioni
Si applicano le seguenti limitazioni:
- La corrispondenza approssimativa non può essere attivata per le entità regexp. Queste funzionalità sono mutuamente esclusive.
- Ogni agente può avere un massimo di 50 entità regexp.
- L'espressione regolare composta per un'entità ha una lunghezza massima di 2000 caratteri.