Alcune entità devono corrispondere a pattern anziché a termini specifici. Ad esempio, numeri di documenti d'identità, carte di identità, targhe e così via. Con le entità regexp, puoi fornire espressioni regolari per la corrispondenza.
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 l'addestramento dell'agente, 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. Ciascuna delle espressioni regolari nell'espressione regolare composta viene elaborata in ordine. La ricerca si interrompe non appena viene trovata una corrispondenza valida. Ad esempio, per un'espressione di utente finale di "Seattle":
Sea|Seattle
corrisponde a "Celeste"Seattle|Sea
corrisponde a "Seattle"
Gestione speciale per il riconoscimento vocale
Se l'agente utilizza il riconoscimento vocale (noto anche come input audio, conversione della voce in testo o STT), le tue espressioni regolari richiedono una gestione speciale per la corrispondenza di lettere e numeri. Un'espressione vocale dell'utente finale viene elaborata prima dal riconoscimento vocale prima che le entità corrispondano. Quando un'espressione contiene una serie di lettere o numeri, il riconoscimento può riempire ogni carattere con degli spazi. Inoltre, il riconoscimento può interpretare le cifre sotto forma di parole. Ad esempio, l'espressione dell'utente finale "Il mio ID è 123" può essere riconosciuta come uno dei seguenti:
- "Il mio ID è 123"
- "Il mio ID è 1 2 3"
- "Il mio ID è uno due tre"
Per inserire 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)
Crea un'entità regexp
Console
- Apri la console Dialogflow CX.
- Scegli il progetto Google Cloud.
- Seleziona l'agente.
- Seleziona la scheda Gestisci.
- Fai clic su Tipi di entità.
- Fai clic su Crea.
- Seleziona Entità Regexp.
- Completa i campi rimanenti.
- Fai clic su Salva.
API
Imposta il campo EntityType.kind
su KIND_REGEXP
.
Seleziona un protocollo e la versione per il riferimento EntityType:
Protocollo | V3 | Versione 3 beta 1 |
---|---|---|
REST | Risorsa EntityType | Risorsa EntityType |
RPC | Interfaccia EntityType | Interfaccia EntityType |
C++ | EntityTypesClient | Non disponibile |
C# | EntityTypesClient | Non disponibile |
Go | EntityTypesClient | Non disponibile |
Java | EntityTypesClient | EntityTypesClient |
Node.js | EntityTypesClient | EntityTypesClient |
PHP | Non disponibile | Non disponibile |
Python | EntityTypesClient | EntityTypesClient |
Ruby | Non disponibile | Non disponibile |
Limitazioni
Si applicano le seguenti limitazioni:
- La corrispondenza parziale non può essere abilitata per le entità regexp. Queste funzionalità si escludono a vicenda.
- Ogni agente può avere un massimo di 50 entità regexp.
- L'espressione regolare composta per un'entità ha una lunghezza massima di 1024 caratteri.