IBM Cloud Docs
Creazione di un dialogo complesso

Creazione di un dialogo complesso

In questa esercitazione, crei una finestra di dialogo per un assistente che aiuta gli utenti con richieste su un ristorante fittizio chiamato Truck Stop Gourmand.

Obiettivi di apprendimento

Al termine dell'esercitazione, si apprenderà come:

  • Pianificare una finestra di dialogo.
  • Definisci intenti personalizzati.
  • Aggiungi nodi di dialogo che possono gestire i tuoi intenti.
  • Aggiungere entità per rendere le risposte più specifiche.
  • Aggiungere un'entità modello e utilizzarla nella finestra di dialogo per individuare i modelli nell'immissione utente.
  • Impostare e fare riferimento alle variabili di contesto.

Durata

Il completamento di questa esercitazione richiede circa 2 o 3 ore.

Prerequisito

Prima di iniziare, completa l'Esercitazione introduttiva con il dialogo.

Utilizzi il dialogo che hai creato e aggiungi nodi al dialogo semplice che hai creato come parte dell'esercitazione introduttiva.

Pianifica il dialogo

Stai creando un assistente per un ristorante chiamato Truck Stop Gourmand che ha una posizione e una fiorente attività di pasticceria. Desideri che il semplice assistente risponda a domande degli utenti sul ristorante, sul suo menu e annulli gli ordini di torte dei clienti. Pertanto, devi creare degli intenti che gestiscono le domande relative ai seguenti argomenti:

  • Informazioni sul ristorante
  • Dettagli sul menu
  • Annullamenti degli ordini

Inizi creando degli intenti che rappresentano questi oggetti e quindi crei un dialogo che risponda alle domande dell'utente su di essi.

Rispondi alle domande sul ristorante

Aggiungi un intento che riconosce quando i clienti pongono domande per avere dettagli sul ristorante stesso. Un intento è lo scopo o l'obiettivo espresso nell'input utente. L'intento #General_About_You fornito con il catalogo di contenuto General fornisce una funzione simile, ma i suoi esempi utente sono progettati per focalizzarsi su domande riguardo l'assistente invece che sul business che sta utilizzando l'assistente per aiutare i propri clienti. Quindi, aggiungi il tuo intento.

Aggiungi l'intento #about_restaurant

  1. Nella pagina Intenti, fai clic su Crea intento.

  2. Aggiungi il seguente nome intento e poi fai clic su Crea intento:

    about_restaurant
    

    L'intento #about_restaurant viene aggiunto. Un prefisso di segno numerico (#) viene aggiunto al nome dell'intento per etichettarlo come intento. Questa convenzione di denominazione consente a te e agli altri utenti di riconoscere l'intento come un intento. Non ha ancora espressioni utente di esempio associate ad esso.

  3. Nel campo Aggiungi esempi utente, immetti le seguenti espressioni:

    Tell me about the restaurant
    i want to know about you
    who are the restaurant owners and what is their philosophy?
    What's your story?
    Where do you source your produce from?
    Who is your head chef and what is the chef's background?
    How many locations do you have?
    do you cater or host functions on site?
    Do you deliver?
    Are you open for breakfast?
    
  4. Fai clic sulla freccia Chiudi Chiudi freccia per completare l'aggiunta dell'intento #reservation e delle sue espressioni di esempio.

Hai aggiunto un intento e fornito degli esempi di espressioni che degli utenti reali potrebbero immettere per attivare questo intento.

Aggiungi un nodo di dialogo che viene attivato dall'intento #about_restaurant

Aggiungi un nodo di dialogo che riconosce quando l'input utente associa l'intento che hai creato nel passo precedente, il che significa che la sua condizione controlla se il tuo assistente ha riconosciuto l'intento #about_restaurant dall'input utente.

  1. Fare clic su Finestra di dialogo per aprire la finestra di dialogo.

  2. Trova il nodo #General_Greetings nell'albero di dialogo.

    Aggiungerai un nodo che controlla le domande relative al ristorante dopo questo nodo greeting iniziale per rispecchiare il flusso che puoi aspettarti di incontrare in una conversazione normale. Ad esempio, Hello. then Tell me about yourself.

  3. Fare clic sull'icona opzioni Node Node nel nodo Clienti di riferimento, quindi selezionare Aggiungi nodo in basso.

  4. Inizia a immettere #about_restaurant nel campo Se l'assistente riconosce e selezionalo dall'elenco.

    Questo nodo viene utilizzato se l'input utente corrisponde all'intento #about_restaurant.

  5. In Assistant risponde, immettere la risposta di testo:

    Truck Stop Gourmand is the brainchild of Gloria and Fred Smith. What started out as a food truck in 2004 has expanded into a thriving restaurant. We now have one brick-and-mortar restaurant in downtown Portland. The bigger kitchen brought with it new chefs, but each one is faithful to the philosophy that made the Smith food truck so popular to begin with: deliver fresh, local produce in inventive and delicious ways. Join us for lunch or dinner seven days a week. Or order a cake from our bakery.
    

Aggiungi anche un'immagine alla risposta.

  1. Fai clic su Add response type.

  2. Seleziona Image dall'elenco a discesa. Nel campo Image source, aggiungi https://www.ibmlearningcenter.com/wp-content/uploads/2018/02/IBM-Learning-Center-Food4.jpg.

  3. Sposta in alto il tipo di risposta dell'immagine, in modo che venga visualizzato nella risposta prima che venga visualizzato il testo. Fare clic sulla freccia Sposta su Sposta su per riordinare i due tipi di risposta.

    Mostra il tipo di risposta dell'immagine elencato prima del tipo di risposta del testo.
    Immagine prima della risposta e della risposta del testo

  4. Fare clic sull'icona di chiusura Chiudi per chiudere la vista di modifica del nodo.

Verifica il nodo di dialogo #about_restaurant

Verifica l'intento controllando se le espressioni utente che sono simili, ma non uguali, agli esempi che hai aggiunto hanno addestrato il tuo assistente a riconoscere l'input con un intento #about_restaurant.

  1. Fai clic su Try it.

  2. Immettere I want to learn more about your restaurant.

    Il tuo assistente indica che l'intento #about_restaurant è stato riconosciuto e restituisce una risposta con l'immagine e il testo che hai specificato per il nodo di dialogo.

    Mostra il riquadro Provalo riconoscendo l'intento #about_restaurant e mostrando l'immagine e la risposta del testo.
    Provalo

Hai aggiunto un intento personalizzato e un nodo di dialogo che sa come gestirlo.

L'intento #about_restaurant è progettato per riconoscere varie domande generali sul ristorante. Hai aggiunto un singolo nodo per acquisire tali domande. La risposta è lunga, ma è una singola affermazione che può potenzialmente rispondere alle domande su tutti i seguenti argomenti:

  • Proprietari di ristoranti
  • Storia del ristorante
  • philosophy
  • Numero di siti
  • Giorni di funzionamento
  • Pasti serviti
  • Il ristorante fa le torte su ordinazione

Per domande generali, è adatta una singola risposta generale.

Rispondi alle domande sul menù

Una domanda chiave dai potenziali clienti del ristorante è riguardo il menu. Il ristorante Truck Stop Gourmand cambia il menu ogni giorno. Oltre al suo menu standard, ha un menu vegetariano e uno per la pasticceria. Quando un utente chiede informazioni sul menù, la finestra di dialogo deve scoprire quale menù condividere, e quindi fornire un link al menù sul sito web del ristorante. Non vuoi mai codificare le informazioni in un nodo di dialogo se tali informazioni cambiano regolarmente.

Aggiungi un intento #menu

  1. Nella pagina Intenti, fai clic su Crea intento.

  2. Aggiungi il seguente nome intento e poi fai clic su Crea intento:

    menu
    
  3. Nel campo Aggiungi esempi utente, immetti le seguenti espressioni:

    I want to see a menu
    What do you have for food?
    Are there any specials today?
    where can i find out about your cuisine?
    What dishes do you have?
    What are the choices for appetizers?
    do you serve desserts?
    What is the price range of your meals?
    How much does a typical dish cost?
    tell me the entree choices
    Do you offer a prix fixe option?
    
  4. Fai clic sull'icona Chiudi freccia della freccia Chiudi per completare l'aggiunta dell'intento #menu e delle sue espressioni di esempio.

Aggiungi un nodo di dialogo che viene attivato dall'intento #menu

Aggiungi un nodo di dialogo che riconosce quando l'input utente associa l'intento che hai creato nel passo precedente, il che significa che la sua condizione controlla se il tuo assistente ha riconosciuto l'intento #menu dall'input utente.

  1. Fare clic su Finestra di dialogo per aprire la finestra di dialogo.

  2. Trova il nodo #about_restaurant nell'albero di dialogo.

    Aggiungerai un nodo che controlla le domande relative al menu dopo questo nodo.

  3. Fare clic sull'icona Node Node sul nodo #about_restaurant, quindi selezionare Aggiungi nodo in basso.

  4. Inizia a immettere #menu nel campo Se l'assistente riconosce e selezionalo dall'elenco.

    Questo nodo viene utilizzato se l'input utente corrisponde all'intento #menu.

  5. In Assistant risponde, immettere la risposta di testo:

    In keeping with our commitment to giving you only fresh local ingredients, our menu changes daily to accommodate the produce we pick up in the morning. You can find today's menu on our website.
    
  6. Aggiungi un tipo di risposta option che fornisce un elenco di opzioni tra cui l'utente può scegliere. In questo caso, l'elenco di opzioni include le diverse versioni del menu disponibili. Fai clic su Add response type.

  7. Seleziona Option dall'elenco a discesa.

  8. Nel campo Titolo, aggiungere Which menu do you want to see?.

  9. Fai clic su Add option.

  10. Nel campo List label, aggiungi Standard. Il testo che si aggiunge come etichetta viene visualizzato nella risposta all'utente come opzione selezionabile.

  11. Nel campo Value, aggiungi standard menu. Il testo che specifichi come valore è ciò che viene inviato al tuo assistente come nuovo input utente quando un utente sceglie questa opzione dall'elenco e fa clic su di essa.

  12. Ripeti i precedenti due passi per aggiungere le informazioni su value e label per i rimanenti tipi di menu:

    Opzioni di menu
    List label Valore
    Vegetarian vegetarian menu
    Cake shop cake shop menu

    Mostra l'elenco delle opzioni compilato con i tipi di menu.
    Risposta opzioni

  13. Fare clic sull'icona Chiudi Chiudi per chiudere la vista di modifica del nodo.

Aggiungi un'entità @menu

Per riconoscere i diversi tipi di menu che i clienti indicano che desiderano visualizzare, aggiungere un'entità @menu. Le entità rappresentano una classe di oggetto o di un tipo di dati rilevante per uno scopo dell'utente. Controllando la presenza di entità specifiche nell'input utente, puoi aggiungere più risposte, ognuna delle quali personalizzata per rispondere a una richiesta utente distinta. In questo caso, aggiungi un'entità @menu che può distinguere tra diversi tipi di menu.

  1. Fare clic su Entità personali per aprire la pagina Entità.

  2. Fai clic su Create entity.

  3. Immetti menu nel campo del nome dell'entità.

  4. Fai clic su Create entity.

  5. Aggiungi standard al campo Value name, standard menu al campo Synonyms e premi Invio.

  6. Aggiungi i seguenti sinonimi aggiuntivi:

    • bill of fare
    • cuisine
    • carte du jour

    Mostra il valore standard aggiunto all'entità @menu .
    @menu entità

  7. Fai clic su Add value per aggiungere il valore @menu:standard.

  8. Aggiungi vegetarian al campo Value name, vegetarian menu al campo Synonyms e premi Invio.

  9. Aggiungi i seguenti sinonimi aggiuntivi:

    • vegan diet
    • vegan
    • plants-only
  10. Fai clic su Add value per aggiungere il valore @menu:vegetarian.

  11. Aggiungi cake al campo Value name, cake menu al campo Synonyms e premi Invio.

  12. Aggiungi i seguenti sinonimi aggiuntivi:

    • cake shop menu
    • dessert menu
    • bakery offerings
  13. Fai clic su Add value per aggiungere il valore @menu:cake.

  14. Fare clic sulla freccia Chiudi Chiudi freccia per completare l'aggiunta dell'entità @menu.

Aggiungi dei nodi figlio che vengono attivati dai tipi di entità @menu

In questo passo, aggiungi nodi child al nodo di dialogo che controlla l'intento #menu. Ogni nodo child mostra una risposta diversa a seconda del tipo di entità @menu scelto dall'utente dall'elenco di opzioni.

  1. Fare clic su Finestra di dialogo per aprire la finestra di dialogo.

  2. Trova il nodo #menu nell'albero di dialogo.

    Aggiungere un nodo secondario per gestire ciascuna opzione del tipo di menu aggiunta al nodo #menu.

  3. Fare clic su Node icona opzioni Node opzioni sul nodo #menu, quindi selezionare Aggiungi nodo figlio.

  4. Inizia a immettere @menu:standard nel campo Se l'assistente riconosce e selezionalo dall'elenco.

    Questo nodo viene utilizzato se l'input utente corrisponde all'entità @menu:standard.

  5. In Assistant risponde, immettere la risposta di testo:

    To see our menu, go to the <a href="https://www.example.com/menu.html" target="blank">menu</a> page on our website.
    
  6. Fare clic sull'icona Chiudi Chiudi per chiudere la vista di modifica del nodo.

  7. Fare clic sull'icona opzioni Node Node nodo sul nodo @menu:standard, quindi selezionare Aggiungi nodo in basso.

  8. Iniziare a immettere @menu:vegetarian nel campo Se l'assistente riconosce di questo nodo e selezionarlo dall'elenco.

  9. In Assistant risponde, immettere la risposta di testo:

    To see our vegetarian menu, go to the <a href="https://www.example.com/vegetarian-menu.html" target="blank">vegetarian menu</a> page on our website.
    
  10. Fare clic sull'icona Chiudi Chiudi per chiudere la vista di modifica del nodo.

  11. Fare clic sull'icona Node Node sul nodo @menu:vegetarian, quindi selezionare Aggiungi nodo sotto.

  12. Iniziare a immettere @menu:cake nel campo Se l'assistente riconosce di questo nodo e selezionarlo dall'elenco.

  13. In Assistant risponde, immettere la risposta di testo:

    To see our cake shop menu, go to the <a href="https://www.example.com/menu.html" target="blank">cake shop menu</a> page on our website.
    
  14. Fare clic sull'icona Chiudi Chiudi per chiudere la vista di modifica del nodo.

Mostra i nodi child dopo i #menu nodi
@menu nodi

Sono stati aggiunti nodi che riconoscono le richieste utente per i dettagli del menu. La risposta informa l'utente che sono disponibili tre tipi di menu e gli chiede di sceglierne uno. Quando l'utente sceglie un tipo di menu, viene visualizzata una risposta che fornisce un link ipertestuale a una pagina web con i dettagli del menu richiesto.

Verifica i nodi di dialogo delle opzioni del menu

Verifica i nodi di dialogo che hai aggiunto per riconoscere le domande sui menu.

  1. Fai clic su Try it.

  2. Immettere What type of food do you serve?

    Il tuo assistente indica che l'intento #menu è stato riconosciuto e visualizza l'elenco di opzioni del menu tra cui l'utente può scegliere.

    Mostra il riquadro Provalo quando l'input utente attiva l'intento #menu e la risposta delle opzioni.
    Provalo

  3. Fai clic sull'opzione Cake shop.

    Il tuo assistente riconosce l'intento #menu e il riferimento dell'entità @menu:cake e visualizza la risposta To see our cake shop menu, go to the cake shop page on our website..

    Viene aperta una nuova pagina del browser web e viene visualizzato il sito web example.com.

  4. Chiudi la pagina web example.com.

Hai aggiunto un intento e un'entità che possono riconoscere le richieste utente per i dettagli del menu e possono indirizzare gli utenti al menu appropriato.

L'intento #menu rappresenta una necessità fondamentale e comune dei clienti del ristorante potenziali. A causa della sua importanza e popolarità, hai aggiunto una sezione più complessa al dialogo per affrontarla nel miglior modo possibile.

Gestisci ordini torta

I clienti possono effettuare ordini di persona, telefonicamente o utilizzando il modulo d'ordine sul sito web. Dopo aver effettuato l'ordine, l'utente lo può annullare tramite l'assistente virtuale. Per prima cosa, definisci un'entità che può riconoscere i numeri di ordine. Successivamente, aggiungi un intento che riconosce quando gli utenti vogliono annullare un ordine di torte.

Aggiunta di un'entità modello del numero di ordine

Vuoi che l'assistente riconosca i numeri di ordine, in modo da creare un'entità modello per riconoscere il formato univoco utilizzato dal ristorante per identificare i suoi ordini. La sintassi dei numeri di ordine utilizzati dal panificio del ristorante è di due lettere maiuscole seguite da 5 numeri. Ad esempio, YR34663. Aggiungi un'entità che può riconoscere questo modello di caratteri.

  1. Fare clic su Entità personali per aprire la pagina Entità.

  2. Fai clic su Create entity.

  3. Immetti order_number nel campo del nome dell'entità.

  4. Fai clic su Create entity.

  5. Aggiungere order_syntax al campo Nome valore.

  6. Fare clic sulla freccia rivolta verso il basso accanto a Sinonimi per modificare il tipo in Modelli.

    Mostra l'utente che ha scelto di aggiungere un modello per l'entità.
    Modello

  7. Aggiungere la seguente espressione regolare al campo Modello:

    [A-Z]{2}\d{5}
    
  8. Fai clic su Add value.

  9. Fare clic sulla freccia Chiudi Chiudi freccia per completare l'aggiunta dell'entità @order_number.

Aggiungi un intento di annullamento degli ordini

  1. Nella pagina Intenti, fai clic su Crea intento.

  2. Aggiungi il seguente nome intento e poi fai clic su Crea intento:

    cancel_order
    
  3. Nel campo Aggiungi esempi utente, immetti le seguenti espressioni:

    I want to cancel my cake order
    I need to cancel an order I just placed
    Can I cancel my cake order?
    I'd like to cancel my order
    There's been a change. I need to cancel my bakery order.
    please cancel the birthday cake order I placed last week
    The party theme changed; we don't need a cake anymore
    that order i placed, i need to cancel it.
    
  4. Fare clic sulla freccia Chiudi Chiudi freccia per completare l'aggiunta dell'entità #cancel_order.

Aggiungi un intento yes.

Prima di completare un'attività per conto dell'utente, è necessario ottenere la conferma che si sta effettuando l'azione appropriata. Aggiungi un intento #yes al dialogo che può riconoscere quando un utente è d'accordo con quello che sta proponendo il tuo assistente.

  1. Nella pagina Intenti, fai clic su Crea intento.

  2. Aggiungi il seguente nome intento e poi fai clic su Crea intento:

    yes
    
  3. Nel campo Aggiungi esempi utente, immetti le seguenti espressioni:

    Yes
    Correct
    Please do.
    You've got it right.
    Please do that.
    that is correct.
    That's right
    yeah
    Yup
    Yes, I'd like to go ahead with that.
    
  4. Fai clic sulla freccia Chiudi Freccia di chiusura per completare l'aggiunta dell'intento #yes.

Aggiungi dei nodi di dialogo che possono gestire le richieste di annullamento di un ordine.

Ora, aggiungi un nodo di dialogo che può gestire le richieste per annullare un ordine di torte.

  1. Fare clic su Finestra di dialogo per aprire la finestra di dialogo.

  2. Trova il nodo #menu nell'albero di dialogo.

  3. Fare clic sull'icona Node Node sul nodo #menu, quindi selezionare Aggiungi nodo in basso.

  4. Iniziare a immettere #cancel_order nel campo Se l'assistente riconosce di questo nodo, quindi selezionarlo dall'elenco.

  5. In Assistant risponde, immettere la risposta di testo:

    If the pickup time is more than 48 hours from now, you can cancel your order.
    

Prima di poter annullare l'ordine, è necessario conoscere il numero d'ordine. L'utente potrebbe specificare il numero di ordine nella richiesta originale. Pertanto, per evitare di chiedere nuovamente il numero di ordine, controlla se è presente un numero con il modello del numero di ordine nell'input originale. A tale scopo, definisci una variabile di contesto che salverebbe il numero di ordine se viene specificato.

  1. In Assistente risponde, fare clic sull'icona Opzioni Altre opzioni e selezionare Apri editor di contesto.

  2. Impostare il contesto utilizzando questi valori:

    Order number context variable details
    Variabile Valore
    $ordernumber <? @order_number.literal ?>

    Il valore della variabile di contesto (<? @order_number.literal ?>) è un'espressione SpEL che acquisisce il numero che l'utente specifica che corrisponde al pattern definito dall'entità del pattern @order_number . Lo salva nella variabile $ordernumber.

  3. Fare clic sull'icona Chiudi Chiudi per chiudere la vista di modifica del nodo.

Ora, aggiungere i nodi child che richiedono il numero di ordine o che ricevono la conferma dall'utente che desiderano annullare un ordine con il numero di ordine rilevato.

  1. Fare clic su Node icona opzioni Node opzioni sul nodo #cancel_order, quindi selezionare Aggiungi nodo figlio.

  2. Aggiungere un'etichetta al nodo per distinguerlo dagli altri nodi child che si stanno aggiungendo. Nel campo Immetti nome nodo, aggiungere Ask for order number.

  3. In Se l'assistente riconosce, immetti true come condizione.

  4. In Assistant risponde, immettere la risposta di testo:

    What is the order number?
    
  5. Fare clic sull'icona Chiudi Chiudi per chiudere la vista di modifica del nodo.

Ora, aggiungi un altro nodo figlio che informa l'utente che stai annullando l'ordine.

  1. Fare clic sull'icona opzioni Node Node sul nodo Richiedi numero ordine, quindi selezionare Aggiungi nodo figlio.

  2. In Se l'assistente riconosce, immetti @order_number come condizione.

  3. In Assistente risponde, fare clic sull'icona Opzioni Altre opzioni e selezionare Apri editor di contesto.

  4. Impostare il contesto utilizzando questi valori:

    Order number context variable details
    Variabile Valore
    $ordernumber <? @order_number.literal ?>
  5. In Assistant risponde, immettere la risposta di testo:

    OK. The order $ordernumber is canceled. We hope we get the opportunity to bake a cake for you sometime soon.
    
  6. Fare clic sull'icona Chiudi Chiudi per chiudere la vista di modifica del nodo.

Aggiungi un altro nodo per acquisire il caso in cui un utente fornisce un numero, ma non è un numero di ordine valido.

  1. Fare clic sull'icona Node Node sul nodo @order_number, quindi selezionare Aggiungi nodo in basso.

  2. In Se l'assistente riconosce, immetti true come condizione.

  3. In Assistant risponde, immettere la risposta di testo:

    I need the order number to cancel the order for you. If you don't know the order number, please call us to cancel over the phone.
    
  4. Fare clic sull'icona Chiudi Chiudi per chiudere la vista di modifica del nodo.

Aggiungi un nodo dopo il nodo della richiesta di annullamento degli ordini iniziale che risponde nel caso in cui l'utente fornisca il numero di ordine nella richiesta iniziale, in questo modo non dovrai chiederlo nuovamente.

  1. Fare clic su Node icona opzioni Node opzioni sul nodo #cancel_order, quindi selezionare Aggiungi nodo figlio.

  2. Aggiungi un'etichetta al nodo per distinguerlo dagli altri nodi figlio. Nel campo Immetti nome nodo, aggiungere Number provided.

  3. In Se l'assistente riconosce, immetti @order_number come condizione.

  4. In Assistant risponde, immettere la risposta di testo:

    Just to confirm, you want to cancel order $ordernumber?
    
  5. Fare clic sull'icona Chiudi Chiudi per chiudere la vista di modifica del nodo.

Devi aggiungere dei nodi figlio che controllano la risposta di un utente alla tua domanda di conferma.

  1. Fare clic su Node icona opzioni Node opzioni sul nodo Numero fornito, quindi selezionare Aggiungi nodo figlio.

  2. In Se l'assistente riconosce, immetti #yes come condizione.

  3. In Assistant risponde, immettere la risposta di testo:

    OK. The order $ordernumber is canceled. We hope we get the opportunity to bake a cake for you sometime soon.
    
  4. Fare clic sull'icona Chiudi Chiudi per chiudere la vista di modifica del nodo.

  5. Fare clic sull'icona Node Node sul nodo #yes, quindi selezionare Aggiungi nodo in basso.

  6. In Se l'assistente riconosce, immetti true come condizione.

Non aggiungere una risposta alle risposte dell'assistente. Invece, gli utenti vengono reindirizzati al ramo che richiede i dettagli del numero d'ordine creati in precedenza.

  1. In Then assistant deve scegliere Passa a.

  2. Selezionare il nodo Richiedi numero ordine.

  3. Scegli Se l'assistente riconosce (condizione).

    Mostra la scelta della condizione del nodo Richiedi numero ordine come passaggio alla destinazione.
    Salta a

  4. Fare clic sull'icona Chiudi Chiudi per chiudere la vista di modifica del nodo.

Forzare la conversazione per valutare i nodi child nel nodo #cancel_order al runtime.

  1. Fare clic per aprire il nodo #cancel_order nella vista di modifica.

  2. In Then assistant deve selezionare Skip user input.

  3. Fare clic sull'icona Chiudi Chiudi per chiudere la vista di modifica del nodo.

Verifica gli annullamenti degli ordini

Verifica se il tuo assistente può riconoscere i modelli di caratteri che corrispondono al modello utilizzato per i numeri di ordine del prodotto nell'input utente.

  1. Fai clic su Try it.

  2. Immettere i want to cancel my order number TW12345.

    Il tuo assistente riconosce sia l'intento #cancel_order che l'entità @order_number. Risponde con, If the pickup time is more than 48 hours from now, you can cancel your order. Just to confirm, you want to cancel order TW12345?.

  3. Immetti Yes.

    Il tuo assistente riconosce l'intento #yes e risponde con OK. The order TW12345 is canceled. We hope we get the opportunity to bake a cake for you sometime soon..

    Mostra il test del riquadro Provalo del nodo Annulla numero ordine quando l'utente fornisce il numero ordine nell'input iniziale.
    Provalo

    Ora, provaci quando non conosci il numero di ordine.

  4. Fai clic su Clear nel riquadro "Try it out" per ricominciare.

  5. Immettere I want to cancel my order.

    Il tuo assistente riconosce l'intento #cancel_order e risponde con If the pickup time is more than 48 hours from now, you can cancel your order. What is the order number?.

  6. Immetti, I don't know.

    Il tuo assistente risponde con I need the order number to cancel the order for you. If you don't know the order number, please call us to cancel over the phone..

Aggiungere nodi per chiarire il formato del numero d'ordine

Se fai più test, potresti scoprire che la finestra di dialogo non è utile negli scenari in cui l'utente non ricorda il formato del numero d'ordine. L'utente potrebbe includere solo i numeri o le lettere, ma dimenticare che devono essere maiuscole. Pertanto, sarebbe il caso di fornirgli degli indizi in questi casi, giusto? Se vuoi essere gentile, aggiungi un altro nodo alla struttura ad albero di dialogo che controlla i numeri nell'input utente.

  1. Fare clic sull'icona Node Node sul nodo @order_number, quindi selezionare Aggiungi nodo in basso.

  2. In Se l'assistente riconosce, immetti input.text.find('\d') come condizione.

  3. Nel campo della condizione, aggiungi input.text.find('\d'), che rappresenta un'espressione SpEL che indica che se trovi uno o più numeri nell'input utente, viene attivata questa risposta.

  4. In Assistant risponde, immettere la risposta di testo:

    The correct format for our order numbers is AAnnnnn. The A's represents 2 uppercase letters, and the n's represent 5 numbers. Do you have an order number in that format?
    
  5. Fare clic sull'icona Chiudi Chiudi per chiudere la vista di modifica del nodo.

  6. Fare clic sull'icona opzioni Node Node sul nodo input.text.find('\d'), quindi selezionare Aggiungi nodo figlio.

  7. In Se l'assistente riconosce, immetti true come condizione.

  8. Fare clic su Personalizza, impostare l'opzione Più risposte condizionate su Attivo, quindi fare clic su Applica.

  9. In ** Assistant risponde, aggiungere le risposte con le seguenti condizioni:

    Dettagli condizione
    Se l'assistente riconosce L'assistente risponde Quindi l'assistente dovrebbe
    @order_number OK. The order $ordernumber is canceled. We hope we get the opportunity to bake a cake for you sometime soon. Impostazioni nodo predefinite
    true I need the order number to cancel the order for you. If you don't know the order number, please call us to cancel over the phone.

    Mostra l'aggiunta di un nodo che controlla i numeri nell'input utente e risponde con un suggerimento sul formato del numero d'ordine.
    Dettagli condizione

  10. Fare clic sull'icona Chiudi Chiudi per chiudere la vista di modifica del nodo.

Ora, quando si esegue il test, è possibile fornire una serie di numeri o una combinazione di numeri e testo come input, e la finestra di dialogo ricorda il formato numero di ordine corretto. Hai testato il tuo dialogo, trovato una debolezza in esso, e lo hai corretto.

Un altro modo per affrontare questo tipo di scenario è aggiungere un nodo con slot. Vedi l'esercitazione Aggiunta di un nodo con slot ad un dialogo per ulteriori informazioni sull'utilizzo degli slot.

Aggiungi il tocco personale

Se l'utente mostra interesse nel bot stesso, desideri che l'assistente virtuale riconosca tale curiosità e interagisca con l'utente in un modo più personale. Potresti ricordare l'intento #General_About_You, che viene fornito con il catalogo di contenuto Generale, che abbiamo considerato di utilizzare in precedenza prima di aggiungere il tuo intento #about_restaurant personalizzato. È costruito per riconoscere tali domande dall'utente. Aggiungi un nodo che genera condizioni su questo intento. Nella tua risposta, puoi chiedere il nome dell'utente e salvarlo in una variabile $username che puoi utilizzare altrove nel dialogo, se disponibile.

Aggiungi un nodo che gestisce le domande sul bot

Aggiungi un nodo di dialogo che può riconoscere l'interesse dell'utente sul bot e che risponde.

  1. Fare clic su Finestra di dialogo per aprire la finestra di dialogo.

  2. Fare clic sull'icona opzioni Node Node opzioni sul nodo Benvenuti, quindi selezionare Aggiungi nodo sotto.

  3. Inizia a immettere #General_About_You nel campo Se l'assistente riconosce e selezionalo dall'elenco.

  4. In Assistant risponde, immettere la risposta di testo:

    I am a virtual assistant that is designed to answer your questions about the Truck Stop Gourmand restaurant. What should I call you?
    
  5. Fare clic sull'icona Chiudi Chiudi per chiudere la vista di modifica del nodo.

  6. Fare clic su Node icona opzioni Node opzioni sul nodo #General_About_You, quindi selezionare Aggiungi nodo figlio.

  7. In Se l'assistente riconosce, immetti true come condizione.

  8. In Assistant risponde, immettere la risposta di testo:

    Hello, <? input.text ?>! It's lovely to meet you. How can I help you today?
    

Per acquisire il nome fornito dall'utente, aggiungi una variabile di contesto al nodo.

  1. In Assistant responds, fare clic sul menu delle opzioni Options e selezionare Open context editor.

  2. Impostare il contesto utilizzando questi valori:

    Imposta contesto
    Variabile Valore
    $username "<? input.text ?>"

    Il valore della variabile di contesto (<? input.text ?>) è un'espressione SpEL che acquisisce il nome utente come specificato dall'utente e lo salva nella variabile di contesto $username.

  3. Fare clic sull'icona Chiudi Chiudi per chiudere la vista di modifica del nodo.

Se in fase di runtime, l'utente attiva questo nodo e fornisce un nome, registrare il nome dell'utente. Se lo conosci, dovresti utilizzarlo. Aggiungi risposte condizionali al nodo di dialogo del messaggio di saluto che hai aggiunto precedentemente per includere una risposta condizionale che utilizza il nome utente, se è noto.

Aggiungere il nome utente al messaggio di saluto

Se conosci il nome dell'utente, dovresti includerlo nel tuo messaggio di benvenuto. A tal scopo, aggiungi delle risposte condizionali e includi una variante del messaggio di benvenuto che include il nome dell'utente.

  1. Trova il nodo Greet customers nella struttura ad albero di dialogo e fai clic per aprirlo nella vista di modifica.

  2. Fare clic su Personalizza, impostare l'opzione Più risposte condizionate su Attivo, quindi fare clic su Applica.

  3. Fai clic su Add response.

  4. In Se l'assistente riconosce, immettere $username.

  5. In Rispondi con, immetti una risposta di testo:

    Good day to you, $username!
    
  6. Fare clic sulla freccia Sposta su Sposta su per riordinare i due tipi di risposta.

    Mostra che la risposta esistente ora fa parte di una tabella di risposte.
    Sposta risposta in alto

  7. Fare clic sull'icona Chiudi Chiudi per chiudere la vista di modifica del nodo.

Verifica la personalizzazione

Verifica se il tuo assistente può riconoscere e salvare il nome dell'utente e poi fare riferimento all'utente in un secondo momento.

  1. Fai clic su Try it.

  2. Fai clic su Clear per riavviare la sessione di conversazione.

  3. Immettere Who are you?

    Il tuo assistente riconosce l'intento #General_About_You. La sua risposta termina con la domanda, What should I call you?.

  4. Immettere Jane.

    Il tuo assistente salva Jane nella variabile $username e risponde Hello, Jane! It's lovely to meet you. How can I help you today?.

  5. Per verificare il nodo Greet customers, immettere Hello..

    Il tuo assistente riconosce l'intento Greet customers e dice, Good day to you, Jane!. Utilizza la risposta condizionale che include il nome dell'utente perché la variabile di contesto $username contiene un valore nel momento in cui viene attivato il nodo del messaggio di benvenuto.

Puoi aggiungere una risposta condizionale che generi condizioni su e includa il nome dell'utente per tutte le altre risposte in cui la personalizzazione potrebbe aggiungere del valore alla conversazione.

Riepilogo

È stato creato un dialogo più complesso che reagisce alle domande e alle richieste del cliente.