The information provided here should be sufficient for you to complete the project. For those of you who are interested and want to learn more about conversational patterns and the related coding scheme that we use here (e.g. C4, etc.), see: Moore, R. J., Arar, R. (2019), Conversational UX Design: A Practitioner's Guide to the Natural Conversation Framework. ACM.

Team Contribution

During this week, as a complete team you will select three recipes for the conversational agent from recipes.pl, to work out further in pairs for recipe selection, visual support and recipe instruction. In addition, you will set up the initial version of the cooking assistant, by creating a Dialogflow agent (See here).

You should organize your team and decide who will work on the separate subtasks of Recipe Selection, Visual Support, and Recipe Instruction. In this week, the Recipe Selection team will focus on the start of the conversation, enabling the assistant to greet and to have the user select one of the three recipes, while the Recipe Instruction team will focus on the subsequent instruction of the three recipes. The Visual Support team will incorporate visuals to enrich the conversation. More details about the separate tasks of the three pairs are given below.

Recipe Selection

This section entails the tasks to be completed by the Recipe Selection team. It will mainly involve the steps to have the user select a certain recipe from the knowledge base provided as recipes.pl. For the recipes, multiple websites are available. For this course, we aim more or less straightforward one-pot recipes that can be made in a linear, step-by-step fashion. Therefore, simpler recipes were extracted from this website and made available in the file recipes.pl. For inspiration, check the Cooking Assistant space for a further discussion on the recipe selection conversation.

Opening the conversation by greeting

Enabling recipe selection

Choose Recipe Features

Recipe Instruction

This section enlists the tasks to be completed by the Recipe Instruction team. The main focus is to work with instructions related to a selected recipe.

Enable Instructions of Recipes

As can be seen in the a30recipeStep pattern in patterns.pl, the agent is triggered by the user intent recipeContinuer. You need to implement such an intent in your Dialogflow agent to make this work. See this page for more information.

Enable End of Recipe

The initial version of the cooking assistant does not indicate that the final step of a recipe has been reached. It does already have a finalStep/3 predicate that is used as a marker for the final step. Modify the text generated for the finalStep intent in the text.pl file using the built-in string_concat/3 predicate to indicate to the user that this is the last step of the recipe.

Enable Closing of Conversation

The agent should close the conversation with a farewell or a last topic check. To this end, add corresponding C4 patterns in the patterns.pl file. A closing pattern should be selected when all patterns in the agenda have been performed. Make sure that the farewell pattern only is performed when the lastTopicCheck/0 behavioral parameter is not set.

Visual Support

The assignment related to visual support is about how visuals can provide support for choosing a recipe or improving understanding of recipe instruction.

Visuals to display chosen recipe

You should design the visuals with respect to the recipe name and the instructions. This should enrich the information communicated to the user through text and images displayed on the screen.

A first implementation is to display the name and an image related to the chosen three recipes, using HTML. In the initial GOAL code, the pasta recipe is displayed as an image in the initialization of the agent (see dialog_init.mod2g), whenever the agent says something (see dialog_generation.mod2g) and whenever the agent is waiting for the user to say something (see dialog_update.mod2g). This is obviously not a very useful way to do this. Make the PastaAglioPage rule in html.pl more generic by displaying the recipe of choice:

Week - 1 Deliverable

For your Week-1 submission, you need to submit a weekly progress report in .doc format (See Guidelines).