Adattamento vocale

Durante l'esecuzione di una richiesta di rilevamento dell'intent, puoi facoltativamente fornire phrase_hints per fornire suggerimenti al riconoscimento vocale. Questi suggerimenti possono essere utili per il riconoscimento in uno stato di conversazione specifico.

Adattamento vocale automatico

La funzionalità di adattamento vocale automatico migliora l'accuratezza del riconoscimento vocale dell'agente utilizzando automaticamente lo stato della conversazione per passare entità pertinenti e frasi di addestramento come suggerimenti di contesto vocale per tutte le richieste di rilevamento di intent. Questa funzionalità è disabilitata per impostazione predefinita.

Attiva o disattiva l'adattamento vocale automatico

Per attivare o disattivare l'adattamento vocale automatico:

Console

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

API

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

Seleziona un protocollo e la versione come riferimento dell'agente:

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

Progettazione dell'agente per i miglioramenti del riconoscimento vocale

Con l'adattamento vocale automatico abilitato, puoi creare il tuo agente in modo da sfruttarlo. Le seguenti sezioni spiegano come il riconoscimento vocale può essere migliorato con determinate modifiche alle frasi e alle entità di addestramento dell'agente.

Frasi di addestramento

  • Se definisci frasi di addestramento con una frase come "naso chiuso", un'espressione simile dell'utente finale viene riconosciuta in modo affidabile come "naso chiuso" e non "cose che conosce".
  • Se hai un parametro obbligatorio che forza Dialogflow nelle richieste di compilazione dei moduli, l'adattamento vocale automatico sarà fortemente orientato all'entità del riempimento.

In tutti i casi, l'adattamento vocale automatico influenza solo il riconoscimento vocale, non lo limita. Ad esempio, anche se Dialogflow richiede un parametro richiesto, gli utenti potranno comunque attivare altri intent, come un intent di primo livello "Parla con un agente".

Entità di sistema

Se definisci una frase di addestramento che utilizza @sys.number entità di sistema e l'utente finale dice "Voglio due", potrebbe essere riconosciuta come "a", "troppo", "2" o "due".

Con l'adattamento vocale automatico attivato, Dialogflow utilizza l'entità @sys.number come suggerimento durante il riconoscimento vocale ed è più probabile che il parametro venga 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 con un'espressione, è più probabile che vengano riconosciuti. Una frase di addestramento "Adoro Dialogflow", in cui "Dialogflow" è annotata come entità @product, indicherà l'adattamento vocale automatico al bias per "Adoro Dialogflow", "Adoro Cloud Speech" e tutte le altre voci nell'entità @product.

  • È particolarmente importante definire sinonimi di entità pulita quando utilizzi Dialogflow per rilevare la voce. Immagina di avere due voci dell'entità @product: "Dialogflow" e "Dataflow". I sinonimi di "Dialogflow" potrebbero essere "Dialogflow", "dialogue flow", "dialogue builder", "Speaktoit", "speak to it", "API.ai", "API dot AI". Questi sono buoni sinonimi perché riguardano le varianti più comuni. Non è necessario aggiungere lo strumento per la creazione di flussi di dialogo, perché questo è già disponibile.

  • Le espressioni degli utenti con entità numeriche consecutive ma distinte possono essere ambigue. Ad esempio, "Voglio due confezioni da sedici" potrebbe significare 2 quantità da 16 confezioni o 216 quantità di confezioni. L'adattamento vocale può aiutarti a distinguere questi casi se configuri entità con valori digitati:
    • 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
    • Nell'adattamento vocale vengono utilizzati solo i sinonimi di entità, quindi puoi definire un'entità con valore di riferimento 1 e un singolo sinonimo one per semplificare la logica di fulfillment.

Entità Regexp

Se configurate e testate correttamente, le entità Regexp possono attivare l'adattamento vocale automatico per sequenze alfanumeriche e di cifre come "ABC123" o "12345".

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

1. Requisito per l'inserimento di espressione regolare

Sebbene qualsiasi espressione regolare possa essere utilizzata per estrarre entità dagli input di testo, solo alcune espressioni indicano all'adattamento vocale automatico di polarizzare le sequenze alfanumeriche o di cifre con errori di ortografia quando riconoscono la voce.

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 spazi vuoti   o \s, anche se \s* e \s? sono consentiti
  • Non deve contenere gruppi di acquisizione o non acquisizione ()
  • Non deve cercare di trovare corrispondenze con caratteri speciali o punteggiatura, ad esempio: ` ~ ! @ # $ % ^ & * ( ) - _ = + , . < > / ? ; ' : " [ ] { } \ |

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 parametro modulo obbligatorio, in modo che possa essere raccolta durante la compilazione del modulo. In questo modo, l'adattamento vocale automatico può influenzare fortemente il riconoscimento della sequenza invece di provare a riconoscere un'intent e una sequenza contemporaneamente. In caso contrario, "Dov'è il mio pacco per ABC123" potrebbe essere erroneamente riconosciuto come "Dov'è il mio pacco 4ABC123".

3. Requisito per l'annotazione delle frasi di addestramento

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

4. Requisito per i test

Consulta la sezione 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 potrai usufruire del riconoscimento della sequenza quando corrispondi a "ABC123", ma l'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}
Soluzione con espressione regolare

Il supporto integrato dell'adattamento vocale per le entità regexp varia in base alla lingua. Controlla i token di classe Speech per le lingue supportate da $OOV_CLASS_ALPHANUMERIC_SEQUENCE e $OOV_CLASS_DIGIT_SEQUENCE.

Se la tua lingua non è elencata, puoi ovviare a questo limite. Ad esempio, se vuoi che un ID dipendente composto da tre lettere seguite da tre cifre venga riconosciuto in modo preciso, puoi creare l'agente con le entità e i parametri seguenti:

  • Definisci un'entità digit che contenga 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 contenga una singola voce di entità (senza sinonimi):
    @letter @letter @letter @digit @digit @digit
  • Utilizza @employee-id come parametro in una frase di addestramento.

Adattamento vocale manuale

L'adattamento vocale manuale ti consente di configurare manualmente le frasi di adattamento vocale per un flusso o una pagina. Sostituisce inoltre i contesti vocali impliciti generati dall'adattamento vocale automatico quando quest'ultimo è abilitato.

Le impostazioni a livello di flusso e di adattamento vocale a livello di pagina hanno una relazione gerarchica, ovvero una pagina eredita le impostazioni di adattamento vocale dal livello di flusso per impostazione predefinita e il livello di pagina più granulare sostituisce sempre il livello di flusso se la pagina ha un'impostazione personalizzata.

Per l'impostazione di adattamento vocale, l'impostazione del livello del flusso e dell'impostazione del livello di pagina possono essere attivate in modo indipendente. Se l'impostazione di adattamento del livello di flusso non è attivata, puoi comunque scegliere Personalizza a livello di pagina per attivare l'adattamento vocale manuale per quella pagina specifica. Analogamente, se disattivi l'adattamento vocale manuale nell'impostazione a livello di flusso, le pagine nel flusso con l'opzione Personalizza selezionata non saranno interessate.

Tuttavia, l'impostazione a livello di flusso e di pagina non può essere disattivata in modo indipendente. Se l'adattamento vocale manuale di un flusso è attivato, non puoi disabilitarlo per una pagina nel flusso tramite l'opzione Personalizza. Pertanto, se vuoi un utilizzo misto di adattamento vocale manuale e adattamento vocale automatico per le pagine di un flusso, non devi attivare l'adattamento vocale manuale a livello di flusso e devi utilizzare solo le impostazioni di adattamento a livello di pagina. Consulta la tabella di seguito per capire quale combinazione di flusso e impostazione di pagina dovresti utilizzare per il tuo caso di adattamento.

Effetto target Utilizzo consigliato delle impostazioni di adattamento
Disattiva l'adattamento automatico per un flusso Flusso attivato senza set di frasi (le pagine all'interno del flusso per impostazione predefinita utilizzano l'impostazione del flusso).
Disattivare l'adattamento automatico per una pagina Flusso disattivato e pagina attivata (opzione Personalizza selezionata) senza set di frasi.
Utilizza l'adattamento vocale manuale solo per tutte le pagine di un flusso Flusso attivato. Personalizza le pagine che richiedono set di frasi diversi dal flusso.
Combina l'utilizzo di adattamento automatico e manuale all'interno di un flusso Flusso disattivato. Personalizza le pagine a cui vuoi applicare l'adattamento manuale.
Utilizza l'adattamento vocale automatico solo per tutte le pagine di un flusso Flusso disattivato.

Attiva o disattiva l'adattamento vocale manuale

Per attivare o disattivare l'adattamento vocale manuale a livello di flusso o di pagina:

Impostazioni del flusso

  1. Apri la console CX di Dialogflow.
  2. Scegli il progetto Google Cloud.
  3. Passa il mouse sopra il flusso nella sezione Flussi.
  4. Fai clic sul pulsante delle opzioni .
  5. Seleziona Impostazioni di flusso nel menu a discesa.
  6. Seleziona la casella di controllo Attiva adattamento vocale manuale o deselezionala.
  7. Modificare, aggiungere o eliminare le serie di frasi nella tabella degli insiemi di frasi
  8. Fai clic su Salva.

Impostazioni pagina

  1. Apri la console CX di Dialogflow.
  2. Scegli il progetto Google Cloud.
  3. Passa il mouse sopra la pagina nella sezione Pagine.
  4. Fai clic sul pulsante delle opzioni .
  5. Seleziona Impostazioni pagina nel menu a discesa.
  6. L'opzione Usa livello di flusso è selezionata per impostazione predefinita e, se questa opzione è selezionata, le frasi di adattamento a livello di flusso verranno riutilizzate per questa pagina. Puoi scegliere Personalizza per configurare frasi di adattamento diverse dalle impostazioni a livello di flusso. Anche se l'adattamento vocale manuale è disattivato a livello di flusso, puoi comunque attivare e configurare l'adattamento vocale manuale per una pagina nel flusso tramite l'opzione Personalizza.
  7. Modificare, aggiungere o eliminare il set di frasi nella tabella degli insiemi di frasi di adattamento
  8. Fai clic su Salva.

Configurazione manuale del set di frasi per miglioramenti al riconoscimento vocale

1. Parole e frasi

In un set di frasi di adattamento, puoi definire frasi di una o più parole con riferimenti facoltativi ai token delle classi di riconoscimento vocale. Ad esempio, puoi aggiungere frasi come "ottima percentuale", "il numero di riferimento è $OOV_CLASS_ALPHANUMERIC_SEQUENCE" o "$FULLPHONENUM". Queste frasi fornite aumentano la probabilità che vengano trascritte rispetto ad altre frasi foneticamente simili. Quando aggiungi una frase di più parole senza alcun incremento, il bias viene applicato sia all'intera frase sia alle parti continue all'interno della frase. In generale, il numero di frasi dovrebbe essere ridotto e dovresti aggiungere solo le frasi che il riconoscimento vocale fatica a comprendere senza adattamento vocale. Se Speech-to-Text è già in grado di riconoscere correttamente una frase, non è necessario aggiungerla nelle impostazioni di adattamento vocale. Se noti alcune frasi che Speech-to-Text spesso non riconosce in una pagina o in un flusso, puoi aggiungere le frasi corrette alle relative impostazioni di adattamento corrispondenti.

Esempio di correzione dell'errore di riconoscimento

Ecco un esempio di come puoi utilizzare l'adattamento vocale per correggere problemi di riconoscimento. Supponiamo che tu stia progettando un agente commerciale per telefoni e che l'utente possa dire qualcosa come "vendere telefoni" o "telefono cellulare" dopo che l'agente ha posto la prima domanda "per cosa ti serve aiuto?". In che modo possiamo utilizzare l'adattamento vocale per migliorare l'accuratezza del riconoscimento per entrambe le frasi?

Se includi entrambe le frasi nelle impostazioni di adattamento, la funzionalità Speech-to-Text potrebbe essere ancora confusa, poiché dal suono simile. Se fornisci una sola frase delle due, Speech-to-Text potrebbe riconoscere una frase come l'altra. Per migliorare l'accuratezza del riconoscimento vocale per entrambe le frasi, devi fornire a Speech-to-Text più indizi di contesto per distinguere quando dovrebbe sentire "vendere telefoni" da quando dovrebbe sentire "telefono cellulare". Ad esempio, potresti notare che le persone spesso usano "vendi telefoni" in espressioni quali "come vendere telefoni", "vuoi vendere telefoni" o "vendi telefoni", mentre "telefono cellulare" come parte di frasi come "acquista cellulare", "bolla cellulare" e "servizio di telefonia mobile". Se fornisci queste frasi più precise al modello, anziché le brevi frasi originali "telefono cellulare" e "vendere telefoni", Speech-to-Text apprende che "vendi telefono" come frase verbale è più probabile che seguano parole come "come fare", "vuoi" e "cosa fare", mentre "telefono cellulare" come frase sostantivo è più probabile che seguano parole come "acquistare" o essere seguite da parole come "fattura". Pertanto, come regola generale per la configurazione delle frasi di adattamento, in genere è meglio fornire frasi più precise come "come vendere telefoni" o "vendi telefoni" anziché includere solo "vendi telefoni".

2. Token della classe vocale

Oltre alle parole nel linguaggio naturale, puoi anche incorporare riferimenti ai token delle classi del parlato in una frase. I token di classe di voce rappresentano concetti comuni che in genere seguono un determinato formato per iscritto. Ad esempio, per il numero di indirizzo in un indirizzo come "Via Roma 123", le persone in genere si aspettano di vedere in un indirizzo il formato numerico "123" anziché la versione scritta per intero, "centinaio ventitré". Se prevedi una determinata formattazione nei risultati della trascrizione, in particolare per le sequenze alfanumeriche, consulta l'elenco dei token di classe supportati per vedere quali sono disponibili per la tua lingua e il tuo caso d'uso.

Se la pagina contiene già route o parametri di intent con riferimenti ad entità di sistema, ecco una tabella di riferimento per le mappature tra entità di sistema comuni e token delle classi vocali:

Entità di sistema Token della classe vocale
@sys.date $MONTH $DAY $YEAR
@sys.date-time $MONTH $DAY $YEAR
@sys.date-period $MONTH $DAY $YEAR
@sys.time $TIME
@sys.time-period $TIME
@sys.age $OPERAND
@sys.number $OPERAND
@sys.number-integer $OPERAND
@sys.cardinal $OPERAND
@sys.ordinal $OPERAND
@sys.percentage $OPERAND
@sys.duration $OPERAND
@sys.currency-name $MONEY
@sys.unit-currency $MONEY
@sys.phone-number $FULLPHONENUM
@sys.zip-code $POSTALCODE o $OOV_CLASS_POSTALCODE
@sys.address $ADDRESSNUM $STREET $POSTALCODE
@sys.street-address $ADDRESSNUM $STREET $POSTALCODE
@sys.temperature $OOV_CLASS_TEMPERATURE
@sys.number-sequence $OOV_CLASS_DIGIT_SEQUENCE
@sys.flight-number $OOV_CLASS_ALPHANUMERIC_SEQUENCE

3. Valore di boosting

Se l'aggiunta di frasi senza il valore di amplificazione non produce un effetto di differenziazione abbastanza forte, puoi utilizzare il valore di boosting per rafforzare ulteriormente l'effetto di differenziazione di adattamento vocale.

Il boosting applica un bias aggiuntivo se impostato su valori maggiori di 0 e non superiori a 20. Quando il boosting è vuoto o pari a 0, l'effetto di differenziazione predefinito consente di riconoscere la frase intera e le parti continue all'interno della frase. Ad esempio, la frase senza spinta "sei aperto per vendere telefoni" aiuta a riconoscerla e anche frasi simili come "vendo telefoni" e "Ciao hai aperto".

Quando viene applicato il boosting positivo, l'effetto di differenziazione è più forte, ma si applica solo alla frase esatta. Ad esempio, la frase potenziato "vendi telefoni" aiuta a riconoscere "potresti vendere telefoni" ma non "vendi telefoni?".

Per questi motivi, otterrai risultati ottimali se fornisci frasi con e senza boosting.

Valori di boosting più elevati possono comportare meno falsi negativi, ovvero nei casi in cui la parola o la frase si verificava nell'audio ma non è stata riconosciuta correttamente da Speech-to-Text (sottobiasaggio). Tuttavia, il boosting può anche aumentare la probabilità di falsi positivi, ovvero i casi in cui la parola o la frase compare nella trascrizione anche se non è presente nell'audio (overbiasing). Generalmente è necessario perfezionare le frasi di differenziazione per trovare un buon punto di compromesso tra i due problemi di differenziazione.

Puoi scoprire di più su come ottimizzare il valore di boosting per le frasi nel documento di Cloud Speech sul boosting.

Quando utilizzare l'adattamento vocale automatico o manuale

In generale, se non hai la certezza che l'adattamento vocale migliorerà la qualità del riconoscimento vocale per il tuo agente (non sono presenti schemi di errori di trascrizione chiari in mente), ti consigliamo di provare l'adattamento vocale automatico prima di ricorrere all'adattamento vocale manuale. Per decisioni più specifiche, considera i seguenti fattori per decidere tra adattamento vocale automatico o adattamento vocale manuale:

1. Compilazione di moduli

L'adattamento vocale automatico funziona molto bene con la compilazione di moduli poiché utilizza il contesto grammaticale ABNF per i parametri del modulo e applica le regole grammaticali in base ai tipi di entità. Poiché l'adattamento vocale manuale non supporta ancora le grammatiche ABNF, l'adattamento vocale automatico è generalmente preferito rispetto all'adattamento vocale manuale per una pagina che compila un modulo. Sempre per le pagine con solo parametri di entità di sistema e semplici entità regexp supportate dai token di classe vocale, puoi anche utilizzare l'adattamento vocale manuale per ottenere un effetto di differenziazione simile all'adattamento vocale automatico senza la necessità di regolare le entità regexp.

2. Complessità della transizione di pagina o flusso

Per una pagina o un flusso semplice con poche route intent, l'adattamento vocale automatico genererà probabilmente frasi di differenziazione rappresentative e avrà prestazioni ragionevoli.

Tuttavia, se una pagina o un flusso ha un numero elevato di route intent (per una pagina, considera anche il numero di route a livello di flusso) o se uno degli intent ha frasi di addestramento troppo lunghe o brevi non importanti (ad esempio, un'intera frase o una singola parola con solo una o due sillabe), è molto probabile che il modello di adattamento vocale non funzioni bene con queste frasi. Innanzitutto, devi provare a disattivare l'adattamento vocale per le pagine aperte ad alta complessità attivando l'adattamento vocale manuale con set di frasi vuote (override di adattamento vuoto). Successivamente, valuta se sono ancora presenti frasi speciali non ambigue che devono essere ancora fornite a Speech-to-Text per migliorare la qualità del riconoscimento.

Un altro sintomo di questo problema di complessità è la presenza di un'ampia gamma di problemi di underbias o overbiasing quando è attivato l'adattamento vocale automatico. Come per il caso precedente, devi prima eseguire il test con l'adattamento vocale disattivato per la pagina specifica. Se dopo la disattivazione dell'adattamento vocale persistono comportamenti errati, puoi aggiungere le frasi da correggere nelle impostazioni di adattamento vocale e persino aggiungere valori di amplificazione per rafforzare ulteriormente gli effetti di differenziazione, se necessario.

Test dell'adattamento vocale

Quando testi le capacità di adattamento vocale dell'agente per una determinata corrispondenza di frase o entità di addestramento, non devi passare direttamente al test della corrispondenza con la prima espressione vocale di una conversazione. Utilizza solo input vocali o eventi per l'intera conversazione prima della corrispondenza da testare. Il comportamento dell'agente quando testato in questo modo sarà simile a quello nelle conversazioni di produzione vere e proprie.

Limitazioni

Si applicano le seguenti limitazioni:

  • L'adattamento vocale non è disponibile per tutti i modelli vocali e le combinazioni di lingue. Consulta la pagina di assistenza per le lingue di Cloud Speech per verificare se è disponibile l'"adattamento del modello" per la tua combinazione di lingua e modello vocale.
  • Attualmente l'adattamento vocale manuale non supporta ancora classi personalizzate o grammatica ABNF. Puoi attivare l'adattamento vocale automatico o utilizzare le richieste di intent di rilevamento di runtime per usare queste funzionalità di adattamento.

  • Lo stesso valore di boosting potrebbe funzionare in modo diverso a seconda dei modelli vocali e delle lingue, quindi fai attenzione quando configuri manualmente i comandi per gli agenti che utilizzano più lingue o modelli vocali. Attualmente, l'adattamento manuale del parlato si applica a tutte le lingue di un agente, pertanto gli agenti multilingue devono utilizzare solo frasi indipendenti dalla lingua o suddividere ogni lingua in un agente separato. Poiché il comportamento di differenziazione predefinito (senza il boosting o il boosting 0) funziona di solito in modo ragionevole per tutti i linguaggi e tutti i modelli, non è necessario configurare valori di boosting specifici per la lingua a meno che non sia richiesta una differenziazione più forte per il caso d'uso del riconoscimento. Puoi scoprire di più su come ottimizzare il valore di boosting in questa guida di Cloud Speech-to-Text.

  • Riconoscere lunghe sequenze di personaggi è difficile. Il numero di caratteri acquisiti in una singola svolta è direttamente correlato alla qualità dell'audio di input. Se hai seguito tutte le linee guida sulle entità regexp e hai provato a utilizzare i token della classe vocale pertinenti nelle impostazioni di adattamento vocale manuali e stai ancora facendo fatica ad acquisire l'intera sequenza in un singolo turno, potresti prendere in considerazione alcune alternative più conversazionali:
    • Al momento di convalidare la sequenza rispetto a un database, valuta la possibilità di eseguire controlli incrociati ad altri parametri raccolti come date, nomi o numeri di telefono per consentire corrispondenze incomplete. Ad esempio, anziché limitarti a chiedere all'utente il numero d'ordine, chiedi anche il numero di telefono. Ora, quando il webhook esegue query sul database per conoscere lo stato dell'ordine, può affidarsi prima al numero di telefono e poi restituire l'ordine più simile per quell'account. Ciò potrebbe consentire a Dialogflow di interpretare "ABC" come "AVC", ma di restituire comunque lo stato dell'ordine corretto per l'utente.
    • Per sequenze molto lunghe, valuta la possibilità di progettare un flusso che incoraggi gli utenti finali a fare una pausa nella fase intermedia, in modo che il bot possa confermare la scelta man mano che procedi.