2024 Agent Code
The minimal requirements for your agent code are that:
You have implemented the first 10 capabilities on the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2216001572 page, meeting the requirements listed on the related pages, with detailed instructions for these capabilities.
Your conversational agent compiles and we can run it.
We can successfully test and conduct a conversation with your conversational agent that concludes with a single recommended recipe of our choice. In principle, we should be able to select any of the recipes available in the agent’s recipe database provided to you at the start of the project.
For your convenience, we list here some more specific requirements that your code should minimally meet:
Dialogflow agent: Your Dialogflow agent does not have any issues (check the Validation feature) and has the following intents and entities for:
greeting intent; See for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2216558595 page.
a request for a (random) recipe recommendation requestRecommendation intent; See for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2221768717 page.
a request for a specific recipe by mentioning its name (or synonym) recipeRequest intent; See for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2216525879 page.
appreciation intent; See for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229731363 page.
asking about how the agent can assist checkCapability intent; See for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229731363 page.
feature request intent addFilter intent; See for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229305362, https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229600267 pages.
confirmation intent; see for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229600314 page.
disconfirmation intent; see for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229600314 page.
farewell intent; see for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229600314 page.
deleteFilterValue intent; see for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229501974 page.
deleteParameter intent; see for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229501974 page.
recipe entity; see for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2216525879 page.
ingredient entity; see for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229305362 page.
ingredientType entity; see for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229305362 page.
cuisine entity; see for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229305362 page.
nrOfIngredients parameter (using the @sys.number entity); see for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229600267 page.
nrOfSteps parameter; (using the @sys.number entity); see for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229600267 page.
servings parameter; (using the @sys.number entity); see for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229600267 page.
duration parameter; (using the @sys.duration entity); see for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229600267 page.
dietaryRestriction entity; see for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229469201 page.
excludecuisine parameter (using the cuisine entity); see for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229305386 page.
excludedietaryrestriction parameter (using the dietaryRestriction entity); see for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229305386 page.
excludeingredient parameter (using the ingredient entity); see for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229305386 page.
excludeingredienttype parameter; (using the ingredientType entity); see for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229305386 page.
filterType entity; see for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229501974 page.
a set of <entityname>Del parameters; see for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229501974 page.
Prolog and Patterns: You have created the following conversational patterns in the
patterns.pl
file and implemented the associated agent responses in theresponses.pl
file:a greeting pattern (
c10
); See for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2216558595 page.a recipe recommendation pattern (
a50recipeSelect
):a variant for a random recipe recommendation; See for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2221768717 page.
a variant for asking for a recipe by mentioning its name; See for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2216525879 page.
a repair pattern for fallback intents (
b12
); See for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229731363 page.a repair pattern for out of context intents (
b13
); See for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229731363 page.appreciation pattern (
b42
); See for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229731363 page.a pattern for checking capabilities (
c30
); See for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229731363 page.a pattern enabling a user to confirm the recipe choice (
a50recipeConfirm
); see for more details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229600314 page.a closing pattern for saying farewell (
c43
); see for more details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229600314 page.a pattern enabling a user to indicate they do not want to provide more information (
a21noMoreFilters
); See for details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229501974 page.
Prolog and Patterns:
You have added the Prolog rules needed for accessing the recipe database, retrieving recipes and their features, and implementing the recipe recommendation logic (filtering). See for more details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2221768717, https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229305362, and https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229600267 pages.
You extended the logic for, e.g. the ingredient hierarchy. See for more details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229305362 and https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229469201 pages.
Visuals: You have created the following six webpages:
A Start page: The main requirement for the start page is that it has a button the user can click when they are ready to start a conversation. See for more details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2216624130 page.
A Welcoming page, associated with the pattern
c10
: The main requirement for the welcoming page is that it shows a microphone icon that the user can use to start talking to the agent. A second requirement is that you should not introduce a button for moving on to a next page on the welcoming (nor on any of the other pages below)! See for more details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2216558595 page.A first Recipe recommendation page, associated with pattern
a50recipeSelect
: The main requirement for this recipe recommendation page is that it shows a microphone icon that the user can use to start talking to the agent. See for more details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2221768717 page. A second requirement is that the page shows all the user’s feature requests or filters. See for more details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229305362 page.A second Recipe recommendation page, associated with pattern
a50recipeSelect
: The main requirement for this recipe recommendation page is that it shows a microphone icon that the user can use to start talking to the agent. See for more details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229305362 page.A Recipe confirmation page, associated with pattern
a50recipeConfirm
: the main requirement for this page is that it shows the recipe’s name, and what the end result of cooking the recipe will look like (a picture of the recipe). A second requirement is that the page shows a microphone button to enable the user to inform the agent about whether it wants to (dis)confirm the recipe. See for more details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2221768717 page. A third requirement is that the page shows the recipe instructions, the ingredient list with quantities, the duration, and number of servings. See for more details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229600267 page.A Closing page, associated with pattern
c43
. 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. See for more details the https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2229600314 page.