Versions Compared

Key

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

Dialogflow

confirmation and denying

closing

Visuals

closing page at the end of program

Code Block
%%% Thank you page at the end.
page(c43, _, Html) :-
	% Condition for when to show this page: there is no agenda or session anymore.
	currentTopLevel(c43),
	% Create the HTML page
	html("<center><h1>Thank you for the interaction!</center>", Html).

Prolog and Patterns

a50 recipe confirmation patterns in patterns.pl

Code Block
% Pattern a50recipeCheck: present recipe ingredients and instructions for final check before committing to recipe choice.
pattern([a50recipeConfirm, [agent, recipeCheck], [user, confirmation]]).
pattern([a50recipeConfirm, [agent, recipeCheck], [user, appreciation]]).
% % If user does not like recipe, we go back to the recipe selection stage (a50recipeSelect).
pattern([a50recipeConfirm, [agent, recipeCheck], [user, no],
	[agent, insert(a50recipeSelect)]]).

c43 the farewell pattern

% Pattern C4.3: Closing Farewell (Agent)
% Example:
% A: goodbye
% U: bye
% Instruction:
% 1. Introduce an intent 'farewell' for saying goodbye by adding this intent to your Dialogflow
% agent (for user recognition) and the text.pl file (for agent text generation).
% 2. Add a pattern here where the agent initiates (i.e. starts) saying goodbye and then the user is
% allowed to say goodbye.
% 3. Add a rule in the dialog generation module in the right place to update the session by adding
% the c43 pattern you introduced in step 2.
pattern([c43, [agent, farewell], [user, farewell]]).

responses.pl add

% Intent: recipeCheck
text(recipeCheck, "Can you check the recipe and let me know if you want to cook this?").

% Intent: farewell
text(farewell, "bye").

Extend

last topic check, restart

%%% C4 Patterns: Closing
% Pattern C4.0: Last Topic Check (Agent)
% Example 1:
% A: is there anything else I can help you with?
% U: bye
% A: goodbye
% Example 2:
% A: is there anything else I can help you with?
% U: yes
% A: okay!
% Example 3:
% A: is there anything else I can help you with?
% U: i don't think so
% A: have a good day!
% U: goodbye
% A: bye
% Instruction:
% 1. Introduce intents for 'lastTopicCheck', 'acknowledgement', and a 'wellWish' for the agent (i.e.
% add these to the text.pl file) and the intents 'confirmation' and 'disconfirmation' for the
% user (i.e. add these to your Dialogflow agent). Re-use the 'farewell' intent.
% 2. Add three variants of the last topic check pattern, each with the same c40 pattern id, that
% match the three examples above. For the second variant, use the special agent management
% instruction 'restart' as an intent the agent should perform at the end of the pattern
% variant. You do not need to do anything else than use this intent as it has already been
% implemented for you (see the dialog generation module).
% 3. Add a rule in the dialog generation module in the right place to update the session by adding
% the c40 pattern you introduced in step 2.
% pattern variant 1 (farewell):
pattern([c40, [agent, sessionCloser], [agent, farewell]]).
% pattern variant 2 (confirmation):
% use of special instruction 'restart' to reset agenda to initial agenda at start of session.
%pattern([c40, [agent, lastTopicCheck], [user, confirmation], [agent, acknowledgement],
% [agent, restart]]).
% pattern variant 3 (disconfirmation):
%pattern([c40, [agent, lastTopicCheck], [user, disconfirmation], [agent, wellWish],
% [user, farewell], [agent, farewell]]).

Test it Out

add c43 to agent agenda in dialog_init file

run agent all the way thru from greeting to closing

Return to https://socialrobotics.atlassian.net/wiki/spaces/PM2/pages/2216001572/Building+Your+Agent#Agent-Capability-9%3A-Allow-for-Filter-Removal