Adattamento vocale automatico

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Quando esegui una richiesta di rilevamento del intent, puoi eventualmente fornire phrase_hints per fornire suggerimenti al riconoscimento vocale. Questi suggerimenti possono essere utili per il riconoscimento in uno stato di conversazione specifico.

La funzionalità di adattamento vocale automatico migliora la precisione del riconoscimento vocale dell'agente utilizzando automaticamente lo stato della conversazione per trasmettere entità pertinenti e frasi di addestramento come suggerimenti relativi al contesto vocale per tutte le richieste di intent di rilevamento. Questa funzionalità è disattivata per impostazione predefinita.

Attivare o disattivare l'adattamento vocale automatico

Per attivare o disattivare l'adattamento vocale automatico:

Console

  1. Apri la console di Dialogflow CX.
  2. Scegli il tuo progetto GCP.
  3. Seleziona l'agente.
  4. Fai clic su Impostazioni agente.
  5. Fai clic sulla scheda Voce e IVR.
  6. Attiva o disattiva l'opzione Attiva adattamento vocale.
  7. Fai clic su Salva.

API

Visualizza i metodi get e patch/update per il tipo Agent.

Seleziona un protocollo e una versione per il riferimento dell'agente:

Protocollo V3 Versione V3beta1
REST Risorsa agente Risorsa agente
RPC Interfaccia agente Interfaccia agente
C++ AgenteClient Non disponibile
C# AgenteClient Non disponibile
Go AgenteClient Non disponibile
Java AgenteClient AgenteClient
Node.js AgenteClient AgenteClient
PHP Non disponibile Non disponibile
Python AgenteClient AgenteClient
Ruby Non disponibile Non disponibile

Progettazione agenti per miglioramenti del riconoscimento vocale

Con l'adattamento vocale automatico abilitato, puoi creare il tuo agente in modo da sfruttarlo. Le seguenti sezioni spiegano come migliorare il riconoscimento vocale con alcune modifiche alle frasi di addestramento e alle entità del tuo agente.

Frasi di addestramento

  • Se definisci frasi di addestramento con una frase come "naso chiuso", un'espressione simile che risulta simile all'utente finale viene riconosciuta in modo affidabile come "naso chiuso".
  • Quando hai un parametro obbligatorio che impone a Dialogflow di compilare i moduli di compilazione, l'adattamento vocale automatico risentirà fortemente della compilazione dell'entità.

In tutti i casi, l'adattamento vocale automatico pregiudica solo il riconoscimento vocale, non limitandolo. Ad esempio, anche se Dialogflow richiede all'utente un parametro richiesto, gli utenti potranno comunque attivare altri intent come un intent di livello superiore per parlare con un agente.

Entità di sistema

Se definisci una frase di addestramento che utilizza l'@sys.number entità del sistema e l'utente finale dice "Voglio due" che,

Se l'adattamento vocale è attivato, Dialogflow utilizza l'entità @sys.number come suggerimento durante il riconoscimento vocale e il parametro ha più probabilità di essere estratto come "2".

Entità personalizzate

  • Se definisci un'entità personalizzata per i nomi di prodotti o servizi offerti dalla tua azienda e l'utente finale menziona questi termini in un'abbreviazione, hanno maggiori probabilità di essere riconosciuti. Una frase di addestramento "Adoro Dialogflow", dove "Dialogflow" è annotata come entità @product, comunicherà l'adattamento vocale automatico alle bias per "I love Dialogflow", "I love Cloud Speech" e tutte le altre voci nell'entità @product.

  • È particolarmente importante definire sinonimi di entità pulite quando si utilizza Dialogflow per rilevare la voce. Immagina di avere due voci di entità @product, "Dialogflow" e "Dataflow". I sinonimi per "Dialogflow" potrebbero essere "Dialogflow", "dialogue flow", "dialogue builder", "Speaktoit", "parlare", "API.ai", "API punto AI& Questi sono sinonimi validi perché coprono le varianti più comuni. Non hai bisogno di aggiungere "il flusso di dialogo del flusso di dialogo"; perché il "flusso di dialogo" copre già questo argomento.

  • Le frasi degli utenti con entità numeri consecutive ma distinte possono essere ambigue. Ad esempio, "Voglio due sedici pacchetti" che potrebbero significare 2 quantità da 16 pacchetti o 216 quantità. L'adattamento vocale può aiutare a distinguere questi casi se configuri entità con valori ortografici:
    • Definisci un'entità quantity con le voci:
      zero
      one
      ...
      twenty
    • Definisci un'entità product o size con le voci:
      sixteen pack
      two ounce
      ...
      five liter
    • Solo i sinonimi delle entità vengono utilizzati nell'adattamento vocale, quindi puoi definire un'entità con valore di riferimento 1 e un singolo sinonimo one per semplificare la logica di fulfillment.

Entità Regexp

Le entità regex possono attivare l'adattamento automatico del parlato per sequenze alfanumeriche e numeriche come "ABC123", o "12345", quando configurati e testati correttamente.

Per riconoscere queste sequenze vocali, implementa tutti e quattro i requisiti di seguito:

1. Requisito per l'accesso con espressione regolare

Sebbene sia possibile utilizzare qualsiasi espressione regolare per estrarre entità dagli input di testo, solo determinate espressioni indicheranno l'adattamento automatico del parlato al bias per le sequenze alfanumeriche o numeriche eliminate.

Nell'entità regexp, almeno una voce deve seguire tutte le seguenti regole:

  • Deve corrispondere ad alcuni caratteri alfanumerici, ad esempio: \d, \w, [a-zA-Z0-9]
  • Non deve contenere spazi vuoti   o \s, ma sono consentiti \s* e \s?.
  • Non deve contenere gruppi di acquisizione o non Capture ()
  • Non cerca di trovare corrispondenze di caratteri speciali o punteggiatura, ad esempio: ` ~ ! @ # $ % ^ & * ( ) - _ = + , . < > / ? ; ' : " [ ] { } \ |

Questa voce può avere set di caratteri [] e quantificatori di ripetizioni come *, ?, +, {3,5}.

Vedi Esempi.

2. Requisito per la definizione del parametro

Contrassegna l'entità regexp come parametro del modulo obbligatorio, in modo che possa essere raccolto durante la compilazione del modulo. In questo modo l'adattamento vocale automatico è soggetto a un forte bias per il riconoscimento della sequenza anziché tentare di riconoscere un intent e una sequenza contemporaneamente. Altrimenti, "Dov'è il mio pacchetto per ABC123", potrebbe essere erroneamente riconosciuto come "Dove si trova il mio pacchetto 4ABC123".

3. Requisito per l'annotazione delle frasi di addestramento

Non utilizzare l'entità regexp per un'annotazione frase di addestramento per intenzione. Ciò garantisce che il parametro venga risolto durante la compilazione del modulo.

4. Requisito di test

Consulta Test di adattamento vocale.

Esempi

Ad esempio, un'entità regexp con una singola voce ([a-zA-Z0-9]\s?){5,9} non attiverà il riconoscimento della sequenza vocale perché contiene un gruppo Capture. Per risolvere il problema, aggiungi un'altra voce per [a-zA-Z0-9]{5,9}. Ora sarà possibile utilizzare il riconoscimento sequenza per la corrispondenza con "ABC123", tuttavia NLU corrisponderà comunque a input come "ABC 123", grazie alla regola originale che consente gli 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}

Testare l'adattamento vocale

Quando verifichi le capacità di adattamento vocale dell'agente per una particolare corrispondenza di frase di addestramento o entità, non devi passare direttamente a testare la corrispondenza con il primo comando vocale di una conversazione. Devi utilizzare solo input vocali o di evento per l'intera conversazione prima della corrispondenza che vuoi testare. Il comportamento dell'agente durante il test in questo modo sarà simile a quello nelle conversazioni di produzione effettive.

Limitazioni

Si applicano le seguenti limitazioni:

  • Riconoscere sequenze di caratteri lunghe è complesso. Il numero di caratteri che puoi acquisire con precisione in un unico turno è direttamente correlato alla qualità dell'audio di input. Se hai seguito tutte le linee guida sulle entità regexp e stai ancora lottando per acquisire l'intera sequenza in un unico turno, puoi prendere in considerazione alcune alternative più alternative:

    • Quando convalidi la sequenza rispetto a un database, valuta la possibilità di eseguire riferimenti incrociati di altri parametri raccolti come date, nomi o numeri di telefono per consentire corrispondenze incomplete. Ad esempio, chiedi al numero di ordine di un utente solo il numero di ordine di un utente. Quando il webhook esegue una query sul tuo database per lo stato dell'ordine, può innanzitutto basarsi sul numero di telefono, quindi restituire l'ordine corrispondente più simile per l'account. Questo potrebbe consentire a Dialogflow di riconoscere "ABC" come "AVC"; tuttavia, restituisce comunque lo stato dell'ordine corretto per l'utente.
    • Per sequenze lunghe extra, valuta la possibilità di progettare un flusso che incoraggi gli utenti finali a mettere in pausa nel mezzo in modo che il bot possa confermare man mano che procedi.
  • Il supporto integrato di adattamento vocale automatico per le entità di sistema e regexp varia in base alla lingua. Controlla i token della classe Speech per le lingue supportate da $OOV_CLASS_ALPHANUMERIC_SEQUENCE e $OOV_CLASS_DIGIT_SEQUENCE. Se la tua lingua non è elencata, puoi aggirare questa limitazione. Ad esempio, se vuoi che l'ID dipendente composto da tre lettere seguito da tre cifre venga riconosciuto in modo accurato, puoi creare l'agente con le seguenti entità e parametri:

    • Definisci un'entità digit che contiene 10 voci di entità (con sinonimi):
      0, 0
      1, 1
      ...
      9, 9
    • Definisci un'entità letter che contiene 26 voci di entità (con sinonimi):
      A, A
      B, B
      ...
      Z, Z
    • Definisci un'entità employee-id che contiene una singola voce di entità (senza sinonimi):
      @letter @letter @letter @digit @digit @digit
    • Utilizza @employee-id come parametro in una frase di addestramento.