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.
Background Knowledge Preparation
Before beginning your project, we would like you all to familiarize yourself with some background knowledge about Git and Dialogflow, which are needed to successfully complete your project.
Everything we think you need to know can be found here: Getting Started: What to Know About Git and DialogFlow
To test your knowledge of these subjects there are two Canvas quizzes on the subjects that must be completed.
Additionally, on the page Getting Started: The Tools Used we explain and help you set up the infrastructure needed to complete this project.
Please complete the instructions on both of these pages before beginning your project.
Team Forming and Initial Set Up
At the start of the course, you are expected to have formed teams of 6, which is divided into three roles: Dialogflow and Filters (2 team members); Visual Support (2 team members); and Patterns and Responses (2 team members). The two team members with a similar role will work together, but the three teams of two need to communicate well to make sure those three aspects of the agent are integrated.
Instructions for the tools and setup can be found here:
Getting Started: The Tools UsedTeam Roles
At the end of this project, you and your team should have a fully functioning conversational agent!
The agent is composed of modules in Eclipse and Dialogflow which you need to help finish. The goal of this project is to use Dialogflow, MARBEL, and Prolog to develop a conversational agent with the knowledge to assist us in a given task. In this case, we have a large recipe database (recipe_database.pl) that the agent draws upon to help the user choose what to eat. The user should be able to tell the agent certain criteria and the agent should present a fitting recipe (if available in the database).
To help you decide which team member fits best to which role, the three roles are described briefly below. Make sure you also read the System testing page as you should be continuously testing your bot once it is minimally functioning.
Dialogflow and Filters (D&F)
Do you want to get to know a very cool Google Cloud tool, and like to optimize the agent’s understanding of what the user says? In the introductory part of the course, you should have learned a bit about Dialogflow. If that sounded super cool to you then this could be the section for you! You will create Intents, Entities, and Prolog Filter Rules in order to provide the agent with the vocabulary comprehension and filtering abilities it needs to converse about recipes.
For more information go to the Dialogflow and Filters Section:
Dialogflow and Filter Functions Section
Visual Support (VS)
Do you want to get creative? Your agent will not only have a conversational component but a visual one. The program uses dynamic webpages to provide the user with visual support in their conversation. This not only includes subtitles to the conversation, but also information in support of what is talked about at any moment - such as the recipes that fit the preferences voiced by the user. If you are ready to break out a bit of HTML and Prolog, you can create cool pages through rules. The Visual Support team will incorporate visuals to enrich the conversation.
For more information go to the Visual Support Section:
Visual Support Section
Patterns and Responses (P&R)
Do you like to think in more detail about the anatomy of a conversation? Then this role could be of interest to you. The patterns and responses section focuses on the conversation part of the conversational agent. Your bot will not be the most robust it can only handle some specific tasks. Thus, we create patterns of what we think conversations in the agent’s intended domain will look like so it knows what to expect and how to respond. You will encode these patterns in Prolog and add responses for every situation.
For more information go to the Pattern and Responses Section:
Patterns and Responses Section
Add Comment