Outline. Learning social and communication skills ... Chatbot as a possible solution? ... end greetings present. Get patient data. Determine symptoms. Determine.
Social Agents for Learning in Virtual Environments Agnese Augello1, Manuel Gentile2 , Frank Dignum3 1ICAR 2ITD
- National Research Council of Italy, - National Research Council of Italy
3Utrecht
University, The Netherlands
Outline Learning social and communication skills Social skills training and SGs The proposed solution: SALVE Architecture Some examples
Why social skills? social, psychological and occupational well-being are ensured by
academic or professional success are predicted by
interpersonal, social and communicative competences
Social skills training theories Skinner Wolpe
••Behavioral shaping ••Psychotherapy by Reciprocal Inhibition
Wolpe & Lazarus
••Assertion or assertiveness training
Bandura
••Social learning theory
A classical social skills training procedure Assessment Direct Instruction and Coaching Modeling
Role Playing Homework assignment & Follow-up
Role Playing to practice the desired behaviours in a controlled setting problems ••difficult ••expensive
Serious games
Social and communication skills training & SG Skinner
Wolpe
Behavioural oriented Serious Games
Behavioural oriented Serious Games Design
Wolpe & Lazarus
Bandura
e.g. Scripted based design
Behavioural oriented Serious Games Design Pros
Cons
The organization of the interaction facilitates the designof the scenario
hides the knowledge at its base
Interaction with the virtual agent
There is a fine control of the scenario (e.g. the conversation)
The agent behaviour are predetermined and the interaction becomes repetitive after few uses.
Player Experience
Specific user's behaviours can be trained
Players have no freedom. The game experience is quite different from a real one
Knowledge design and reuse
Role of social context in conversation in communication The dialogue is a joint activity that must consider both individual and social processes Different communication strategies can be used according to the specific social context The same sentence can be used with a different meaning in different context and can raise different social effects
“You should take a cat”
A different approach to implement the conversational agent: SALVE Social Agents for Learning in Virtual Environments
Putting social practices at the heart of the deliberation allows for more efficient planning (Dignum and Dignum, 2014)
The social practice model
Chatbot as a possible solution? 1966 – Eliza 1988 – Jabberwacky 1992 - Dr. Sbaitso 1995 - A.L.I.C.E. 2001 - Activebuddy’s Smarterchild 2011 - Watson, Siri 2012 - Google Now 2015 - Amazon Alexa , Microsoft Cortana 2016 – More than 18.000 Bots on Im, Messanger and Facebook
Chatbot as a possible solution? Strength • It is possible to quickly create a conversational agent, avoiding natural language processing issues • It is easy to define the chatbot behaviour through the design of proper question answers modules (Alice -> AIML categories)
Weaknesses • Chatbots lacks the ability to keep an overview and a structure of the entire conversation. • In AIML the dialogue is managed keeping track of the last conversation exchange and setting conversation topics. • It is difficult to design chatbots able to correctly manage social conversational practices.
MY NAME IS * HELLO THERE WHAT IS YOUR NAME Nice to meet you
Architecture of the SALVE system
Architecture of the SALVE system Using chatbot just as an interaction interface Extend the AIML language that describes the chatbot rules with ”social” tags such that it keeps track where it is in the social practice (towards state based dialogue)
Architecture of the SALVE system
Integrate chatbot with a rule based engine (DROOLS) to keep track of the agent states and guide it the social practice
How “social practice” guides SG design
How “social practice” guides SG design
How “social practice” guides SG design Communicate!
greetings Get patient data
start present
Determine symptoms
Determine treatment
end
How “social practice” guides SG design
greetings Get patient data
start present
Determine symptoms
Determine treatment
end
Examples of S-AIML
Example rules: Timely greetings lead to positive emotions rule "GreetingsReceivedInTime" when $startScene:EnterScene(scene.name=="greetings") $g:GreetingsReceived(this after[0ms,20000ms] $startScene ) then controller.print($startScene.getScene().getName()); controller.print("greeting received in the first 20 seconds after the start of the scene"); OOCHappenedEvent he=new OOCHappenedEvent(); don(he,DesirableEvent.class); don(he,ProspectedRelevantEvent.class); insert(he); controller.print("greeting marked as happened desirable prospected event"); insert(new ChangeOfSceneFromGoal()); end
Example rules: Timely greetings lead to positive emotions rule "GreetingsReceivedInTime" when $startScene:EnterScene(scene.name=="greetings") $g:GreetingsReceived(this after[0ms,20000ms] $startScene ) then controller.print($startScene.getScene().getName()); controller.print("greeting received in the first 20 seconds after the start of the scene");
end
rule "DesirableEventHappened" when OOCHappenedEvent he=new OOCHappenedEvent(); OOCHappenedEvent(this isA don(he,DesirableEvent.class);ProspectedIrrelevantEvent,this isA DesirableEvent) don(he,ProspectedRelevantEvent.class); $agent:Emotion(this isA Agent) then insert(he); controller.print("captured desirable event"); controller.print("greeting marked as happened desirable prospected event"); $agent.setJoy($agent.getJoy()+1); insert(new ChangeOfSceneFromGoal()); controller.print("increase joy"); controller.setJoy($agent.getJoy()); end
Example rules: Greetings not received in time lead to negative emotions rule "GreetingsNotReceivedInTime" when $startScene:EnterScene(scene.name=="greetings") (not(GreetingsReceived(this after[0ms,20000ms] $startScene )) then scene");
controller.print("greeting not received in the first 20 seconds after the start of the OOCNotHappenedEvent nhe=new OOCNotHappenedEvent(); don(nhe,DesirableEvent.class); don(nhe,ProspectedRelevantEvent.class); insert(nhe); controller.print("dummy event marked as not happened desirable prospected event"); controller.respond("why you did not say hello!");
end
Example rules: Greetings not received in time lead to negative emotions rule "GreetingsNotReceivedInTime" when $startScene:EnterScene(scene.name=="greetings") (not(GreetingsReceived(this after[0ms,20000ms] $startScene )) then scene");
controller.print("greeting not received in the first 20 seconds after the start of the OOCNotHappenedEvent nhe=new OOCNotHappenedEvent(); rule "DesirableProspectedEventNotHappened"
when don(nhe,DesirableEvent.class);
$d:OOCNotHappenedEvent(this isA ProspectedRelevantEvent, this isA DesirableEvent) insert(nhe); $agent:Emotion(this isA Agent) controller.print("dummy event marked as not happened desirable prospected event"); then not happened desirable event"); controller.respond("why youcontroller.print("captured did not say hello!"); $agent.setDisappointment($agent.getDisappointment()+1); controller.print("increased Disappointment"); controller.setDisappointment($agent.getDisappointment()); end don(nhe,ProspectedRelevantEvent.class);
end
Empathic opportunities are given and can be taken or ignored
SALVE architecture
SALVE architecture
SALVE architecture
SALVE architecture
Conclusion and future work 1/2 The proposed solution: ••puts social practice at the heart of the deliberative process of an agent; ••allows for a dynamic activation of categories, depending on the current social practice, the pursued plan, the on-going activity, and finally, at the lowest level the agent’s identity; ••allows for a great flexibility in the conversation while at the same time simplifying the formalization of the chatbot KB; ••ensures to the player a greater freedom in sentences expression, and the possibility to experiment dynamic scenarios and different roles; ••Lets the player actively create a conversation rather than choose moves
Conclusion and future work 2/2 Future work: ••finalize the implementation of the serious game according to a proper learning design approach; ••Improve the social practices representations; ••create a tool to support the designer ••validate the proposed approach