Alcune entità devono corrispondere a pattern anziché a termini specifici. Ad esempio, numeri di identificazione nazionali, ID, 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 variazioni 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'unica 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. Ogni espressione regolare nell'espressione regolare composta viene elaborata in ordine. La ricerca si interrompe quando viene trovata una corrispondenza valida. Ad esempio, per un'espressione dell'utente finale "Seattle":
Sea|Seattlecorrisponde a "Sea"Seattle|Seacorrisponde 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 dovranno essere gestite in modo speciale quando corrispondono a lettere e numeri. Un'espressione vocale dell'utente finale viene prima elaborata dal riconoscitore vocale prima che le entità corrispondano. Quando un'espressione contiene una serie di lettere o numeri, il riconoscitore può aggiungere spazi a ogni carattere. Inoltre, il riconoscitore può interpretare le cifre in forma di parole. Ad esempio, un'espressione dell'utente finale "My ID is 123" può essere riconosciuta come una delle seguenti:
- "My ID is 123"
- "My ID is 1 2 3"
- "My ID is one two three"
Per adattare i 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)
Creare 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 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à 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.