Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Panel
panelIconId1f525
panelIcon:fire:
panelIconText🔥
bgColor#FFF0B3

You sYou are on fire!

If you are here, you should have been successful in completing a basic version of your recipe recommendation agent.

...

Extensions for Visual Support

ADD INTRO SENTENCE

  • Extend Visuals: In the visuals section, we already suggested some ways to extend it. We mostly mentioned some aesthetic changes that you can add. But you can also think about making the visuals more useful by adding something that makes the visuals more supportive. An example would be to visualize the progress made thus far, or make the complete filtering history available at any point. Another example could 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.

Extensions for Recipe Filtering

...

  • Add more types of recipe requests: Add a new filter by adding 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 recipeother recipe attributes present in recipe_database.pl, or, on, for example, 'easy' recipes. More challenging ones that we mentioned already on the https://socialrobotics.atlassian.net/wiki/pages/createpage.action?spaceKey=PM2&title=2025%20Capability%207%3A%20Filter%20on%20Dietary%20Restrictions page are filtering on low-carb or cheap recipes. And there are many more you can come up with yourselves.

  • Refine the responses of your agent: An easy way to make your agent’s responses more interesting is to make sure you add a lot of variety and choice in your agent’s responses. In the assignment instructions, we already suggested that you can use any tool that you can think of to generate more example phrases for your agent that you can add to the responses.pl file. A more challenging thing to do is to contextualize your agent’s responses (they may still sound quite generic or repetitive, making your agent sound even more robotic than it already does). Perhaps you already contextualized the responses your agent provides for out of context intents (see the discussion related to the contextMismatch intent on the https://socialrobotics.atlassian.net/wiki/pages/createpage.action?spaceKey=PM2&title=2025%20Capability%204%3A%20Handling%20Unexpected%20Intents page). But if not, or you did so only for some contexts, you might want to think about how you can further contextualize and refine your agent responses at various places during a conversation. In principle, agents should, for example, have helpful recovery prompts for each step of the dialog. Here are some useful pointers/ideas:

    • 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.

  • Add a capability: The basic agent that you were asked to develop is still limited in what it can do. So there is plenty of room for you to extend it. We provide a few examples, ranging from the easy ones to more challenging ones. And there are still many more that you can think of yourselves.

    • Ask to restart at any point in time: you would need to add a pattern and intents.

    • Check if the user has all the ingredients: before confirming the recipe, your agent could ask a user if they can check they have all ingredients that the recipe requires. This would require a new pattern, and intents, and perhaps new visuals.

    • Repair: Allow for user-initiated repair: It can 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 suggested some ways to extend it. We mostly mentioned some aesthetic changes that you can add. But you can also think about making the visuals more useful by adding something that makes the visuals more supportive. An example would be to visualize the progress made thus far, or make the complete filtering history available at any point. Another example could 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
    • .