...
There are a lot of suggestions we provide below that you may consider extending your agent. Again, we provide some examples below, but you should feel free to explore other options we do not mention below. The list has been ordered from the relatively easier extensions to more elaborate extensions. Of course, this also depends on the effort that you put into it!
Here is the a list of suggestions that you can use for inspiration:
Add a Filter: Make more types of recipe requests: Add a new filter by adding a rule logic to the
recipe_selection.pl
file and entity to filter recipes in a new way. An easy one is adding a filter for meal types, another one could be to filter on the tags associated with a recipe, or, on, for example 'easy' recipes. More challenging ones that we mentioned already on the Capability 7: Filter on Dietary Restrictions page are filtering on low-carb or cheap recipes. And there are many more you can come up with yourselves.Add a Capability: The basic agent is quite limited in what it can do, so you could add, for example:
Check if the user has all the ingredients: before confirming the recipe, your agent could ask the user if they have the ingredients the recipe requires, so they can check before starting. This would require a new page, pattern, and response.
Ask to restart or quit at any point in time: you would need to add a pattern, intent, entity, etc.
Repair: Add more advanced handling for repair of a conversational breakdown. There is a lot you can work on:
Agents should have helpful recovery prompts for each step of the dialog. Check out this and other Best practices for repair suggested by Google.
More specific feedback: rather than stating misunderstanding, the agent could provide more information on what aspect of the user utterance it did not understand, or provide pointers to what the user can say at that point in the conversation.
Suggest alternatives: A breakdown may be due to the fact that a user does not know how to continue the conversation. In that case, the agent could suggest one or more ways to continue.
User-initiated repair: It may also happen that a user initiates repair (e.g, “I don’t understand that”, “what do you mean by ‘X’?”). Add a capability that enables the agent to know how to respond to such a user move. That is, make the agent understand such user-initiated repair, and respond with an appropriate explanation to address the user’s move.
Small talk capabilities related to the recipe domain: small talk can make the agent more engaging for a user. It would require you to think of small talk patterns, either initiated by the user or by the agent, that can be naturally integrated at some point in the recipe recommendation conversation. You would need one or more new intents, patterns, and responses.
Extend Visuals: In the visuals section, we already talk about ways to extend it. We mostly mentioned some aesthetic changes that you can add. Now, we are specifically referring to extending the functionality of the visuals, i.e. adding something that makes the visuals more supportive. An example would be to show the filtering history at any point. Another example would be to add a rating system for the agent to get feedback. However, keep in mind that the interaction should primarily be conversational in nature!
Agent personality, style, and characteristics: You can work on designing and shaping the responses from your agent to suggest a particular personality, to provide it with a specific conversational style, or with social characteristics that may increase the user experience. See e.g. this paper for more ideas.
...