Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Each section below has the same structure: a short description, a task overview, and a link to more detailed instructions. The tasks for each capability come in three, differently color-coded parts:

Panel
Panel
panelIconId1f4ac
panelIcon:speech_balloon:
panelIconText💬
bgColor#FFEBE6

Tasks related to creating and extending your Dialogflow agent.

panelIconId1f4a1
panelIcon:bulb:
panelIconText💡
bgColor#E6FCFF

Tasks related to implementing Prolog code for conversational patterns, responses, and agent logic.

...

When you have implemented the first 10 capabilities of your conversational agent, it is up to you to add one or more additional capabilities (see Agent Capability 11+: Extend Your Agent below) that you decide your conversational agent should have. We provide some general suggestions to help you get started to think about some useful capabilities that you can add.

...

Panel
panelIconId1f440
panelIcon:eyes:
panelIconText👀
bgColor#E3FCEF

Make a Start webpage.

Instructions

Getting Your Conversational Agent Up and Running

Building Your Intent and Slot Classifier

MARBEL Agent in Eclipse

...

https://socialrobotics.atlassian.net/wiki/pages/createpage.action?spaceKey=PM2&title=2025%20Getting%20Your%20Conversational%20Agent%20Up%20and%20Running

Building Your Intent and Slot Classifier

  •  TODO

MARBEL Agent in Eclipse

Agent Capability 1: Greet, and Self-Identify

Summary Description

...

Implementation Tasks Overview

Implement two greeting
Panel
Panel
panelIconId1f4a1
panelIcon:bulb:
panelIconText💡
bgColor#E6FCFF
panelIconId1f4ac1f4a1
panelIcon:speech_balloonbulb:
panelIconText💬💡
bgColor#FFEBE6

Add an intent for performing a greeting in Dialogflow.

#E6FCFF

Implement two greeting patterns, and a Prolog rule for generating a self-identification.

Panel
panelIconId1f440
panelIcon:eyes:
panelIconText👀
bgColor#E3FCEF

Make a welcoming page.

Instructions

Capability 1: Greet, and Self-Identify

...

https://socialrobotics.atlassian.net/wiki/pages/createpage.action?spaceKey=PM2&title=2025%20Capability%201%3A%20Greet%2C%20and%20Self-Identify

Agent Capability 2: Request a Random Recipe Recommendation

...

Implementation Tasks Overview

Panel
Panel
panelIconId1f4acpanelIcon:speech_balloon:
panelIconText💬
bgColor#FFEBE6

Add an intent for requesting a random recipe recommendation.

panelIconId1f4a1
panelIcon:bulb:
panelIconText💡
bgColor#E6FCFF

Implement a first recipe recommendation pattern and related text responses.

Panel
panelIconId1f440
panelIcon:eyes:
panelIconText👀
bgColor#E3FCEF

Make a page that is displayed while recipe recommendation is ongoing and a page that is shown when the user needs to confirm it likes a recipe that is recommended by the agent.

Instructions

Capability 2: Request a Recommendation https://socialrobotics.atlassian.net/wiki/pages/createpage.action?spaceKey=PM2&title=2025%20Capability%202%3A%20Request%20a%20Recommendation

Agent Capability 3: Select Recipes by Their Name

...

Implementation Tasks Overview

Panel
Panel
1f4ac
panelIconId
panelIcon:speech_balloon:
panelIconText💬
bgColor#FFEBE6

Add an intent for a specific recipe request and a recipe entity.

panelIconId1f4a1
panelIcon:bulb:
panelIconText💡
bgColor#E6FCFF

Implement a second recipe recommendation pattern.

...

Implementation Tasks Overview

Panel
panelIconId1f4ac1f4a1
panelIcon:speech_balloon:
panelIconText💬
bgColor#FFEBE6

Add intents for expressing appreciation and for asking how the agent can assist (check capability).

Panel
panelIconId1f4a1
panelIcon:bulb:
panelIconText💡
bgColor#E6FCFF

Implement patterns for handling “unexpected” intents and repair mechanisms for misunderstandings.

Panel
panelIconId1f440
panelIcon:eyes:
panelIconText👀
bgColor#E3FCEF

-

Instructions

Capability 4: Handling Unexpected Intents

...

https://socialrobotics.atlassian.net/wiki/pages/createpage.action?spaceKey=PM2&title=2025%20Capability%204%3A%20Handling%20Unexpected%20Intents

Agent Capability 5: Filter Recipes by Ingredients and Cuisine

...

* insert name of an ingredient (type) or cuisine here

Implementation Tasks Overview

Panel
panelIconId1f4ac
panelIcon:speech_balloon:
panelIconText💬
bgColor#FFEBE6

Add ingredient (type) and cuisine entities and an intent for filtering recipes.

Panel
panelIconId1f4a1
panelIcon:bulb:
panelIconText💡
bgColor#E6FCFF

Implement feature request patterns and responses, and Prolog rules for filtering recipes.

Panel
panelIconId1f440
panelIcon:eyes:
panelIconText👀
bgColor#E3FCEF

Update the recipe recommendation page and create a second recipe recommendation page.

Instructions

Capability 5: Filter Recipes by Ingredients and Cuisine

Agent Capability 6: Filter Recipes on Number of Ingredients

Summary Description

This capability will extend the capabilities of the agent to handle feature requests from users for limiting the number of ingredients used in a recipe, the number of recipe instruction steps, and the duration, and meeting a specific number of servings that can be cooked with a recipe. The recipe confirmation page should also be extended to show some of these details, including the ingredients, recipe instructions, servings and duration.

A: What recipe would you like to cook?

U: I'd like to make a recipe with ____ * ingredients.

A: Here is a list of recipes that fit your preferences.

* insert a number here

Implementation Tasks Overview

...

panelIconId1f4ac
panelIcon:speech_balloon:
panelIconText💬
bgColor#FFEBE6

...

Implementation Tasks Overview

Panel
panelIconId1f4a1
panelIcon:bulb:
panelIconText💡
bgColor#E6FCFF

Implement additional feature request patterns and responses, and Prolog rules for filtering recipes and associated helper predicates.

Panel
panelIconId1f440
panelIcon:eyes:
panelIconText👀
bgColor#E3FCEF

Make a confirm recipe details Update the recipe recommendation page and create a second recipe recommendation page.

Instructions

Capability 6: Filter by Number of Ingredients & Recipe Steps https://socialrobotics.atlassian.net/wiki/pages/createpage.action?spaceKey=PM2&title=2025%20Capability%205%3A%20Filter%20Recipes%20by%20Ingredients%20and%20Cuisine

Agent Capability 7: Filter Recipes by Dietary Restrictions

Summary Description

We continue to extend the capabilities of the agent to handle user requests. The focus will be to enable a user to ask for recipes that meet dietary restrictions. This will also involve extending the logic of reasoning about ingredients. The main challenge will be to come up with an efficient approach to define this logic.

...

* insert a recipe feature such as vegan, for example, here

Implementation Tasks Overview

Panel
panelIconId1f4ac
panelIcon:speech_balloon:
panelIconText💬
bgColor#FFEBE6

Extend the intent for filtering recipes with additional recipe features.

Panel
panelIconId1f4a1
panelIcon:bulb:
panelIconText💡
bgColor#E6FCFF

Implement additional helper predicates and ingredient hierarchy rules.

Panel
panelIconId1f440
panelIcon:eyes:
panelIconText👀
bgColor#E3FCEF

-

Instructions

Capability 7: Filter on Dietary Restrictions

-

Instructions

https://socialrobotics.atlassian.net/wiki/pages/createpage.action?spaceKey=PM2&title=2025%20Capability%207%3A%20Filter%20on%20Dietary%20Restrictions

Agent Capability 8: Filter Recipes by Excluding Features

Summary Description

The last extension to increase the capabilities of our agent will look into feature requests that exclude aspects of a recipe. There are many examples of this, but we will focus on user requests that ask for excluding an ingredient (type), for recipes that are not from a particular cuisine (e.g., not from Asia), or do not have a specific dietary restriction (e.g., are not vegan). You are, of course, invited to extend the agent with other similar capabilities to exclude aspects of a recipe.

...

* insert an ingredient such as salt here

Implementation Tasks

...

panelIconId1f4ac
panelIcon:speech_balloon:
panelIconText💬
bgColor#FFEBE6

...

Overview

Panel
panelIconId1f4a1
panelIcon:bulb:
panelIconText💡
bgColor#E6FCFF

Implement additional helper predicates for filtering recipes.

Panel
panelIconId1f440
panelIcon:eyes:
panelIconText👀
bgColor#E3FCEF

-

Instructions

Capability 8: Filter by Excluding Features https://socialrobotics.atlassian.net/wiki/pages/createpage.action?spaceKey=PM2&title=2025%20Capability%208%3A%20Filter%20by%20Excluding%20Features

Agent Capability 9: Confirm the Chosen Recipe

Summary Description

When users have finished their search for a nice recipe to cook, their choice should be displayed (which we already implemented for Capability 5: Filter Recipes by Ingredients and Cuisine https://socialrobotics.atlassian.net/wiki/pages/createpage.action?spaceKey=PM2&title=2025%20Capability%205%3A%20Filter%20Recipes%20by%20Ingredients%20and%20Cuisine) and they should be asked to check the details to confirm the recipe is indeed what they would like to cook. Of course, we need to take at least two scenarios into account: (1) a user confirms they are happy with the recipe, or (2) they indicate it is after all not quite what they were looking for. If all is fine and well, the agent should close the conversation by saying farewell. Otherwise, the conversation should move back to the recipe selection stage. The following conversational pattern needs to be implemented:

...

* insert name of recipe here

Implementation Tasks Overview

Panel
#FFEBE6
panelIconId1f4ac
panelIcon:speech_balloon:
panelIconText💬
bgColor

Add confirmation, disconfirmation, and farewell intents.

Panel
panelIconId1f4a1
panelIcon:bulb:
panelIconText💡
bgColor#E6FCFF

Implement confirmation and farewell patterns.

Panel
panelIconId1f440
panelIcon:eyes:
panelIconText👀
bgColor#E3FCEF

Make a closing page.

Instructions

Capability 9: Confirm or Disconfirm Recipe and Closing https://socialrobotics.atlassian.net/wiki/pages/createpage.action?spaceKey=PM2&title=2025%20Capability%209%3A%20Confirm%20or%20Disconfirm%20Recipe%20and%20Closing

Agent Capability 10: Removing Filters and Showing Recipes on Demand

Summary Description

The last capability on our list before we ask you to extend the capabilities of the conversational agent using your own insights and ideas is about allowing users to remove requests they made before and to allow them to indicate that they are done providing their preferences. You should implement the following patterns:

...

A: OK. Here is a list of recipes that you can choose from. [Alternative: Sorry, there are still too many recipes left to show them all. Please add more preferences.]

Implementation Tasks Overview

...

panelIconId1f4ac
panelIcon:speech_balloon:
panelIconText💬
bgColor#FFEBE6

...

Panel
panelIconId1f4a1
panelIcon:bulb:
panelIconText💡
bgColor#E6FCFF

Implement patterns enabling users to remove a recipe feature request and to express they are done.

Panel
panelIconId1f440
panelIcon:eyes:
panelIconText👀
bgColor#E3FCEF

-

Instructions

Capability 10: Remove a Filter and See Recipes on Demand https://socialrobotics.atlassian.net/wiki/pages/createpage.action?spaceKey=PM2&title=2025%20Capability%2010%3A%20Remove%20a%20Filter%20and%20See%20Recipes%20on%20Demand

Agent Capability 11+: Extend Your Agent (Make it Nicer)

Summary Description

Extend your agent even further; look at the Extensions the https://socialrobotics.atlassian.net/wiki/pages/createpage.action?spaceKey=PM2&title=2025%20Extensions page or talk to your TA for inspiration!

Implementation Tasks Overview

Panel
#FFEBE6
panelIconId1f4ac
panelIcon:speech_balloon:
panelIconText💬
bgColor

Be creative, blow your minds.

Panel
panelIconId1f4a1
panelIcon:bulb:
panelIconText💡
bgColor#E6FCFF

Be creative, blow your minds.

Panel
panelIconId1f440
panelIcon:eyes:
panelIconText👀
bgColor#E3FCEF

Be creative, blow your minds.

Instructions

Extensions https://socialrobotics.atlassian.net/wiki/pages/createpage.action?spaceKey=PM2&title=2025%20Extensions