Quando esegui una richiesta di rilevamento di intent, puoi anche fornire contesto vocale per fornire suggerimenti al riconoscimento vocale. Questi suggerimenti possono essere utili per il riconoscimento in uno stato specifico di conversazione.
Adattamento vocale automatico
La funzionalità di adattamento vocale automatico migliora la precisione del riconoscimento vocale di l'agente utilizzando automaticamente lo stato della conversazione per trasmettere le entità pertinenti e frasi di addestramento come suggerimenti contestuali vocali per tutte le richieste di intento di rilevamento. Questa funzionalità è attivata per impostazione predefinita.
Attiva o disattiva l'adattamento vocale automatico
Per attivare o disattivare l'adattamento vocale automatico:
- Vai alla console Dialogflow ES.
- Seleziona l'agente nella parte superiore del menu della barra laterale sinistra
- Fai clic sul pulsante delle impostazioni settings accanto al nome dell'agente.
- Seleziona la scheda Voce.
- Scorri fino alla sezione Migliorare la qualità del riconoscimento vocale.
- Attiva o disattiva Abilita Adattamento vocale automatico
Progettazione degli agenti per miglioramenti al riconoscimento vocale
Con l'adattamento vocale automatico abilitato, puoi creare il tuo agente in modi sfruttarlo. Le seguenti sezioni spiegano come potrebbe essere eseguito il riconoscimento vocale è stato migliorato con alcune modifiche alle frasi di addestramento dell'agente contesti ed entità.
Frasi e contesti di addestramento
- Se definisci frasi di addestramento con una frase come "naso ostruito", un esempio frasi probabili dall'utente finale vengono riconosciute in modo affidabile come "naso ostruito" e non "cose che conosce".
Quando una sessione è attiva contesti, l'adattamento vocale automatico verso le frasi di addestramento per gli intent in cui tutti i contesti di input sono attivi. Ad esempio, con due contesti attivi "pagamento fattura" e "conferma", tutte i seguenti intent influenzeranno l'adattamento automatico del parlato: gli intent con un contesto di input singolo "pay-bill", intent con un singolo contesto di input "conferma" e intent con due contesti di input: "pay-bill" e "conferma".
Quando una sessione non ha contesti attivi, l'adattamento automatico del parlato sarà maggiormente orientato verso le frasi di addestramento degli intent senza contesti di input.
- Se disponi di un parametro obbligatorio che obbliga Dialogflow riempimento degli slot prompt, adattamento vocale automatico predilige fortemente l'entità da riempire.
In tutti i casi, l'adattamento vocale automatico influenza solo il riconoscimento vocale, non limitarlo. Ad esempio, anche se Dialogflow richiede a un utente un'istruzione gli utenti potranno comunque attivare altri intent come "parlare con un agente" di primo livello l'intento.
Entità di sistema
Se definisci una frase di addestramento che utilizza @sys.number
entità di sistema
,
e l'utente finale dice "Ne voglio due",
potrebbe essere riconosciuto come "a", "troppo", "2" o "due".
Con l'adattamento automatico del parlato abilitato, Dialogflow utilizza l'entità @sys.number
come indicazione durante il riconoscimento vocale e il parametro ha maggiori probabilità di essere estratto come "2".
Entità personalizzate
Se definisci un entità personalizzata per i nomi dei prodotti o servizi offerti dalla tua azienda, e l'utente finale menziona questi termini in un'espressione, è più probabile per essere riconosciuti. Una frase di addestramento "I love Dialogflow", in cui "Dialogflow" è annotata come entità @product, indicherà l'adattamento vocale automatico bias per "I love Dialogflow", "I love Cloud Speech" e tutte le altre voci nell'entità @product.
È particolarmente importante definire sinonimi di entità puliti quando utilizzi Dialogflow per rilevare il parlato. Supponi di avere due voci @product entity, "Dialogflow" e "Dataflow". I tuoi sinonimi per "Dialogflow" potrebbe essere "Dialogflow", "Flusso di dialogo", "Strumento per la creazione di dialoghi", "Speaktoit", "parla", "API.ai", "API dot AI". Si tratta di buoni sinonimi perché coprono le varianti più comuni. Tu non è necessario aggiungere "il generatore del flusso di dialogo" perché "flusso del dialogo" ne parla già.
- Le espressioni enunciate dagli utenti con entità numeri consecutive ma distinte possono essere ambigue.
Ad esempio, "Voglio due pacchetti da sedici" può significare 2 quantità da 16 confezioni,
o 216 confezioni. L'adattamento vocale può contribuire a distinguerle
casi se imposti entità con valori ortografici:
- Definisci un'entità
quantity
con voci:zero
one
...
twenty
- Definisci un'entità
product
osize
con voci:sixteen pack
two ounce
...
five liter
- Nell'adattamento vocale vengono utilizzati solo i sinonimi delle entità, quindi è possibile definire un
entità con valore di riferimento
1
e singolo sinonimoone
per semplificare della logica di fulfillment.
- Definisci un'entità
Entità Regexp
Entità Regexp può attivare la sintesi vocale automatica adattamento per sequenze alfanumeriche e numeriche come "ABC123" o "12345" quando configurate e testate correttamente.Per riconoscere queste sequenze tramite la voce, implementare tutti e quattro i requisiti indicati di seguito:
1. Requisito per l'inserimento con espressione regolare
Sebbene qualsiasi espressione regolare possa essere utilizzata per estrarre entità dagli input di testo, solo alcune espressioni diranno all'adattamento automatico vocale di differenziare sequenze alfanumeriche o scritte in forma estesa al riconoscimento vocale.
Nell'entità regexp, almeno una voce deve seguire tutte queste regole:
- Deve corrispondere ad alcuni caratteri alfanumerici, ad esempio:
\d
,\w
,[a-zA-Z0-9]
- Non deve contenere lo spazio vuoto
\s
, sebbene\s*
e\s?
siano consentiti - Non deve contenere gruppi di acquisizione o non di acquisizione
()
- Non cercare di trovare corrispondenze con caratteri speciali o punteggiatura come:
` ~ ! @ # $ % ^ & * ( ) - _ = + , . < > / ? ; ' : " [ ] { } \ |
Questa voce può avere set di caratteri []
e quantificatori di ripetizione come *
, ?
, +
, {3,5}
.
Consulta gli esempi.
2. Requisito per la definizione dei parametri
Contrassegna l'entità regexp come obbligatoria parametro intent, in modo da poter essere raccolti durante di riempimento degli slot. Ciò consente l'adattamento vocale automatico un forte bias per il riconoscimento di una sequenza invece di tentare di riconoscere un l'intento e la sequenza. Altrimenti, "Per dove si trova il mio pacco ABC123" potrebbe essere erroneamente riconosciuto come "Dov'è il mio pacchetto 4ABC123".
3. Requisito per l'annotazione delle frasi di addestramento
Non utilizzare l'entità regexp per un annotazione della frase di addestramento per intent. In questo modo, il parametro viene risolto nell'ambito del completamento degli slot.
4. Requisito di test
Consulta Eseguire test di adattamento vocale.
Esempi
Ad esempio, un'entità regexp con una singola voce ([a-zA-Z0-9]\s?){5,9}
non attiva il riconoscimento della sequenza vocale perché contiene un gruppo di acquisizione.
Per risolvere il problema, aggiungi un'altra voce per [a-zA-Z0-9]{5,9}
. Ora potrai
beneficia del riconoscimento della sequenza quando trova corrispondenze con "ABC123",
ma la NLU continuerà a trovare una corrispondenza con input come "ABC 123" grazie all'originale
che consenta l'uso di spazi.
I seguenti esempi di espressioni regolari si adattano alle sequenze alfanumeriche:
^[A-Za-z0-9]{1,10}$ WAC\d+ 215[2-8]{3}[A-Z]+ [a-zA-Z]\s?[a-zA-Z]\s?[0-9]\s?[0-9]\s?[0-9]\s?[a-zA-Z]\s?[a-zA-Z]
I seguenti esempi di espressioni regolari si adattano alle sequenze di cifre:
\d{2,8} ^[0-9]+$ 2[0-9]{7} [2-9]\d{2}[0-8]{3}\d{4}
Soluzione alternativa con espressione regolare
Il supporto integrato dell'adattamento vocale automatico per le entità regexp varia in base alla lingua.
Seleziona Token classe vocale
per $OOV_CLASS_ALPHANUMERIC_SEQUENCE
e $OOV_CLASS_DIGIT_SEQUENCE
lingue supportate.
Se la tua lingua non è elencata, puoi aggirare questa limitazione. Ad esempio, se vuoi un ID dipendente che tre lettere seguite da tre cifre per essere riconosciuto in modo preciso, crea il tuo agente con le seguenti entità e parametri:
- Definisci un'entità
digit
contenente 10 voci di entità (con sinonimi):0, 0
1, 1
...
9, 9
- Definisci un'entità
letter
contenente 26 voci di entità (con sinonimi):A, A
B, B
...
Z, Z
- Definisci un'entità
employee-id
contenente una singola voce di entità (senza sinonimi):@letter @letter @letter @digit @digit @digit
- Utilizza
@employee-id
come parametro in una frase di addestramento.
Testare l'adattamento vocale
Durante il test delle funzionalità di adattamento vocale dell'agente per una particolare corrispondenza di addestramento o entità, non devi passare direttamente al test della corrispondenza al primo comando vocale di una conversazione. Devi utilizzare solo input vocali o di evento per l'intera conversazione precedente alla corrispondenza che vuoi testare. Il comportamento dell'agente quando viene testato in questo modo sarà simile a quello delle effettive conversazioni di produzione.
Limitazioni
Si applicano le seguenti limitazioni:
- L'adattamento vocale non è disponibile per tutti i modelli vocali e tutte le combinazioni di lingue. Fai riferimento alla pagina di supporto delle lingue di Cloud Speech per verificare se "adattamento del modello" è disponibile per la tua combinazione di modello vocale e lingua.
- L'adattamento vocale automatico non funziona per Actions on Google (Assistente Google), perché il riconoscimento vocale viene eseguito da Actions on Google prima di inviare i dati a Dialogflow.
- Riconoscere sequenze di caratteri lunghe è difficile. Il numero di
i caratteri acquisiti in un singolo turno sono direttamente correlati
alla qualità dell'audio in ingresso.
Ad esempio, se l'integrazione opera sull'audio delle chiamate, devi attivare i modelli vocali avanzati per riconoscere in modo affidabile sequenze alfanumeriche più lunghe di quattro o cinque caratteri o sequenze di cifre più lunghe di 10 caratteri.
Se hai seguito tutte le linee guida sulle entità regexp
e fanno ancora fatica ad acquisire l'intera sequenza in un solo turno,
Puoi prendere in considerazione altre alternative conversazionali:
- Durante la convalida della sequenza rispetto a un database, considera la possibilità eseguire un controllo incrociato di altri parametri raccolti, come date, nomi o numero numeri per consentire corrispondenze incomplete. Ad esempio, invece di chiedendo il numero dell'ordine a un utente, chiedi anche il numero di telefono. Ora, quando il webhook esegue una query sul database per lo stato dell'ordine, affidati al numero di telefono, poi restituisci l'ordine corrispondente più simile per quell'account. Questo potrebbe consentire a Dialogflow di rilevare erroneamente "ABC" come "AVC", restituisce comunque lo stato dell'ordine corretto per l'utente.
- Per sequenze molto lunghe, valuta la possibilità di progettare un flusso che incoraggi per consentire agli utenti finali di fare una pausa nella fase intermedia in modo che il bot possa confermare mentre procedi. Leggi questo tutorial per ulteriori informazioni.