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.
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 è uno due tre"
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)
Crea un'entità regexp
Console
- Apri la console Dialogflow CX.
- Scegli il tuo progetto Google Cloud.
- Seleziona il tuo agente.
- Seleziona la scheda Gestisci.
- Fai clic su Tipi di entità.
- Fai clic su Crea.
- Controlla le entità Regexp.
- Completa 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 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:
- 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.