Table of Contents | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Dialogflow
When a user has added their preferences and chosen a recipe, they land on the recipe confirmation page. On that page, a user can check the recipe details (see Capability 6: Filter by Number of Ingredients & Recipe Steps) and decide whether they would like to cook that recipe or not. You should now enable the user to also indicate their decision to the conversational agent. To make that happen, your Dialogflow agent should be able to recognize whether the user confirms, or disconfirms the choice of recipe. For this, add the following intents, using the intent names as specified below:
confirmation: should be matched when a user expresses agreement, or says “yes” one way or another.
disconfirmation: should be matched when a user expresses disagreement, or simply says “no” in one form or another.
Finally, the agent will close the conversation when a user confirms their choice by saying goodbye. The agent should also allow a user to say farewell. For that, add the following intent:
farewell: should be matched when a user says goodbye in one form or another.
For all of these intents, make sure you try to cover as many ways a user can express confirmation, disconfirmation, or saying goodbye.
Prolog and Patterns
Confirming choice of recipe
...
Finally, add a last topic check to your farewell pattern to see if the user wants anything else or wishes to find another recipe. If they indicate they want that, restart the entire conversation. You can do this by using the special action restart
. Check out how this action is processed in the dialog_update.mod2g
file to better understand what it does. Add [agent, restart]
to the pattern when a user confirms they want to restart; this resets the agent's agenda to the initial agenda it started with at the start of conversation.
Visuals
You should create one more page to match the top level intent c43
. Add a closing page at the end of the program to bid farewell and thank the user in the html.pl
file.
Code Block |
---|
%%% Thank you page at the end. page(c43, _, Html) :- |
The main requirement for this page is that it should make clear to the user that they can continue finding recipes they like, if they want.
Test it Out
Before you start testing, add the c43
to the agent’s agenda in the dialog_init,mod2g
file. Why do we not need to add the a50recipeConfirm
pattern to the agenda?
...