— A Workshop Led by Carrie Sijia Wang —
In this artist-led workshop, participants will learn to use simple coding to build their own chatbots. The aim of this workshop is to explore the different roles Artificial Intelligence plays in human society in the process of creating and personalizing chatbots.
A computer, program, algorithm or artificial intelligence which communicates with a person or another participant of the communication can be called a chatbot. The aim is usually to make users feel that they are conversing with a living person.
We will be using the iPad like a computer, the USB hub, and the mouse.
We will use the p5,js web editor and Rivescript to program and share the chatbots. Both are open source tools that are free to use.
A web editor for p5.js, a JavaScript library with the goal of making coding accessible to artists, designers, educators, and beginners. Sign up for an account here: https://editor.p5js.org/signup
A simple scripting language for chatbots with a friendly, easy to learn syntax. Learn more about RiveScript here: https://www.rivescript.com/docs/tutorial
Important: In RiveScript, triggers are ALWAYS lowercased & without punctuations.
Simple Trigger and Response:
+ trigger (what the user says)
– response (what the chatbot says)
– alternative response (the program will randomly select from the responses)
Keyword Triggers:
+ [*] keyword [*]
Alternative Triggers:
+ (trigger one|trigger two| trigger three)
Catchall Trigger:
+ *
– catchall response
Wildcard:
+ my name is *
– Hi <star>! How are you?
Remember User Variable:
+ my name is *
– <set username=<formal>>Hello, <get username>.
Short Discussion: use % to check the bot’s previous response to determine how the bot respond to the user’s next trigger. For example:
+ hello
– What’s your name?
+ [my name is|i am] *
% what is your name
– Nice to meet you, <star>.
Topics: logical groupings of triggers. When the user’s in a topic, they can only match triggers within the topic. For example:
+ i hate you
– You’re really mean! I’m not talking again until you apologize.{topic=sorry}
> topic sorry
+ [*] sorry [*]
– It’s OK, I’ll forgive you!{topic=random}
+ *
– Nope, not until you apologize.
– Say you’re sorry!
– Apologize!
< topic