Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel2
outlinefalse
typelist
printablefalse

We have taken you by the hand thus far and walked you through the code you were asked to produce step-by-step. We will still be providing useful information for you to learn more about developing conversational agents, but now we will change gears a bit and leave more for you to figure out yourself, too. Remember that you can find useful information and links on the Project Background Knowledge page.

Dialogflow

Conversational patterns set expectations about what actors participating in a conversation will do, but users often will not quite meet these expectations and make moves that do not fit into the active pattern. The conversational agent will need to be able to handle such “unexpected” moves from users. “Unexpected” here means that these moves do not fit into the currently active conversational pattern, not that such moves should not be expected from users. Two intents that we should actually expect to match with what a user could say are an appreciation intent and an intent for checking what the agent is capable of. You should add the following intents to your Dialogflow agent, making sure that you use the intent labels specified below:

...

Throughout the project, you should keep checking the validation page for issues and update the fallback intent by adding negative examples when they come to mind (e.g., when you add more training phrases for other intents).

Prolog and Patterns

B Patterns for Repair and Conversation Enrichment

A good handling of repair is vital to making your agent robust to misunderstanding. There are a few common ways in which misunderstanding occurs, that need to be addressed by proper repair patterns.

...

Make a contextMismatch response in response.pl.

...

Appreciation 

ExampleA simple example of a pattern where a user first expresses its appreciation and the agent receives this well is the following:

U: Thanks

A: You're welcome.

Your user says thank you and shows some ‘appreciation’ and your agent should respond appropriately with an ‘appreciationReceipt’.

In patterns.pl specify the B42 pattern. Furthermore, go into responses.pl and create a corresponding text fact.

C pattern for Checking Capabilities

c30 General Capability Check

Your In Moore and Arar’s taxonomy, this classifies as a b42 sequence closer appreciation pattern. Implement this pattern in patterns.pl. You should use the intent labels appreciation and appreciationReceipt. Add phrases the agent can use for expressing the receipt of the user’s appreciation in the responses.pl file.

Checking capabilities

When a user wants to know what your agent does. Create a pattern for this. agent can do for it, i.e., check what capabilities it has, the agent should be able to provide an appropriate reply. The key challenge here is to fill in the ___ in the example below. What would be a good response to such a general request for information of a user? The capability check should give a user enough guidance to understand how to talk to the agent or, even better, ideally also to ask more specific questions about its capabilities, for example, “tell me more about the recipe features you know about” (cf. Moore and Arar, 2019).

Example:

U: what What can you do?

A: At the moment I can ____. 

In Moore and Arar’s taxonomy, this classifies as a c30 pattern for a general capability check. Implement this pattern in the patterns.pl file. You should use the intents/predicates 'checkCapability' (for the user) and 'describeCapability' (for the agent).In responses.pl find text(describeCapability, ""). and fill in the atom with an appropriate responseintent labels checkCapability and describeCapability. Define the agent’s response in the responses.pl file.

Visuals

Nothing we ask you to do here for this capability. It’s up to you.

...