Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 25 Next »

Assigning Roles Within Your Team

At the start of the course, you are expected to have formed a team of 6. One of the first things to think about as a team is how to divide the three main tasks or roles amongst your team members:

  1. Dialogflow and Filters (2 team members);

  2. Visual Support (2 team members); and

  3. Patterns and Responses (2 team members).

The two team members with a similar role should work together in pairs. You can successfully do pair programming in person or remotely. As you will all need to work on one and the same agent, however, it will also be essential for the three pair programming subteams to communicate well with each other to make sure the three programming tasks are adequately integrated and work well together. Another task that you will have as a team that will be essential to develop an effective and robust agent is to continuously evaluate and test your bot once it is up and running (even if it is still only minimally functioning!). For this, make sure you also read the Agent testing page.

At the end of this project, you and your team should have a fully functioning conversational agent that is able to assist users with selecting a recipe they would like to cook!

This agent will be composed of MARBEL modules and Prolog files which you can develop and edit in Eclipse and which will interact with a Dialogflow agent that you need to create and further develop. As a start, we will use a large recipe database that the agent can use to suggest recipes to users. The user should be able to tell the agent what they would like, and the agent should try to find a matching recipe (of course, assuming that one is available in the database).

To help you decide which team member fits best to which role, the three roles are described briefly below.

Role 1: 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

Role 2: 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

Role 3: 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

Setting up the Tools You Need

Before you actually install the tools that you need for this project, first have a brief look at this page to get a quick overview of what you will use for developing your agent:

Getting Started: The Tools Used

Now you have some idea of what software tools you will be using, get started by following the instructions on this page for setting up the tools you will need:

To get started with this project, you (and your group members) need to set up the software tools needed.

1: Create and Prepare Your Dialogflow Agent (One Per Team)

Only one team member needs to do this.

You need a Google account for this.

You do not need to change any settings (you will use the default English language).

2: Join Discord and GitHub Classroom and Clone the Student Project

  • https://discord.gg/26wfcZzDyf

  • Join the Github classroom via this link: https://classroom.github.com/a/s0CtjRHu

  • The first person to join Github Classroom from your team must create an Assignment Team using your CANVAS group number (group-GROUP NUMBER)

  • Other team members choose to join an existing team and select your team number.

  • Add JSON key file of your Dialogflow agent that you downloaded and saved above to the agent folder in the folder where your team repository is and the cloned the project.

3: Install MARBEL

  • We assume that you have already installed Eclipse and the MARBEL plug-in. If not, pleasehttps://goalapl.atlassian.net/wiki/spaces/GOAL/pages/2143977473/Download+and+Install+the+MARBEL+Plugin. Please check whether you are using the latest version of the plug-in by using the Eclipse menu (Help → Check for Updates).

  • Launch Eclipse (You can choose to create a new workspace if you like).

  • Go to Window → Preferences → MARBEL → Logging and check the box for the ‘Write logs to files’ option; then go to MARBEL Runtime and uncheck the box for ‘Include initial KR updates’.

Make sure to set the preferences. Without unchecking the runtime option, it will be hard if not impossible to run your agent in Debug Mode. Checking the logging option will enable saving log files to a folder automatically, which will be useful for analyzing your agent’s behavior (conversations).

  • Import the MARBEL dialog manager project in Eclipse by selecting File → Import → MARBEL Agent Programming → Existing MARBEL Project, clicking Next, browsing to the agent folder in which you cloned the project, selecting the dialogmngr.mas2g file, clicking Open, and finally, clicking Finish.

Do not check the option Copy into workspace! If you import the project into Eclipse, you should be able to see on what branch you are working in your git repository and be able to make use of git functionality available in Eclipse.

  • Open the .mas2g file, specify as flowkey the name of the JSON key file, and as flow agent the Project ID (you can find this by checking the settings of your Dialogflow agent https://dialogflow.cloud.google.com/).

5: Launch the conversational agent system

  • Open a command terminal and navigate to the folder (called docker by default) where you cloned the SICproject.

  • Enter docker-compose up dialogflow webserver and hit enter.

  • Open a second terminal and navigate to the subfolder sic-local in the docker folder.

  • Enter java -jar computer-browser.jar and hit enter. This will lead to a new browser window. Press ‘Ok’ without filling in a password.

  • Run the .mas2g file.

  • Check the boxes ending with ‘browser' in the subsequently appearing window, and press 'Ok'.

After running java -jar computer-browser.jar a pop-up should appear like the one in the left-hand corner of the picture below. Click okay without filling in a username and password.

Then a google chrome window should open. It should say it is being controlled by automated test software and display long string of random characters. In your terminal it should say ‘ChromeDriver was started successfully’ in one of the lines.

When you run the .mas2g file in your agent, another popup should appear like the one in the left-hand corner of the picture below. The empty box should be ticked next to the browser code that matches your google chrome window code, and then you hit OK

You should now see a window rendering the browser plug-in and hear the agent start talking. The rest now is up to you!

Getting up to Speed: the Background Knowledge You Need

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: Background Knowledge

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.

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.

  • No labels