Alcune entità devono corrispondere a pattern anziché a termini specifici. Ad esempio numeri di documenti d'identità, documenti 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 tutte rappresentano 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 dell'espressione regolare composta viene elaborata in ordine. La ricerca si interrompe non appena viene trovata una corrispondenza valida. Ad esempio, per un'espressione utente finale "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 espressioni regolari richiedono una gestione speciale per la corrispondenza di lettere e numeri. Un enunciato pronunciato dall'utente finale viene elaborato dal riconoscimento vocale prima che le entità vengano abbinate. Quando un'espressione contiene una serie di lettere o numeri, il riconoscimento può aggiungere spazi a ogni carattere. Inoltre, il riconoscitore potrebbe interpretare le cifre in forma di parola. Ad esempio, l'espressione utente finale "My ID is 123" (Il mio ID è 123) può essere riconosciuto come:
- "Il mio documento di identità è 123"
- "Il mio documento di identità è l'1 2 3"
- "Il mio documento di identità è uno due tre"
Per inserire numeri a 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 tuo progetto Google Cloud.
- Seleziona l'agente.
- Seleziona la scheda Gestisci.
- Fai clic su Tipi di entità.
- Fai clic su Crea.
- Seleziona Entità Regexp.
- Compila i campi rimanenti.
- Fai clic su Salva.
API
Imposta il campo EntityType.kind
su KIND_REGEXP
.
Seleziona un protocollo e una versione per il riferimento a EntityType:
Protocollo | V3 | V3beta1 |
---|---|---|
REST | Risorsa EntityType | Risorsa EntityType |
RPC | Interfaccia EntityType | Interfaccia EntityType |
C++ | EntityTypesClient | Non disponibile |
C# | EntityTypesClient | Non disponibile |
Vai | 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:
- Corrispondenza parziale non possono essere abilitate per 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 2000 caratteri.