Welcome to Build Your Own Chatbot! My name is Antonio Cangiano and I’m a Software
Developer and Technical Evangelist at IBM. In this course, you’ll learn how to build
chatbots that rely on Natural Language Processing, without having to write any code.
You may have heard a lot of chatter, pun fully intended, around them. And that’s for a
good reason. Chatbots are increasingly transforming the
way we interact with software. They provide a great business opportunity for both small
and large companies. But first, what are chatbots?
Chatbots can be defined as software agents that converse through a chat interface. Now,
what that means is that they’re software programs that are able to have a conversation,
which provides some kind of value to the end user.
The user can interact with the chatbot by typing in their end of the conversation, or
simply by using their voice, depending on the type of chatbot provided.
Virtual assistants like Apple Siri or Amazon Alexa are two examples of popular chatbots
interacting via voice rather than text. Typically, the chatbot will greet the user
and then invite them to ask some kind of question. When the user replies, the chatbot will parse
the input and figure out what’s the intention of the user’s question. Finally, it will
respond in some form of consequential or logical manner, either providing information or asking
for further details before ultimately answering the question.
Great chatbots can keep up this back and forth in a natural way, within the scope of what
the chatbot is designed to do. They make the user feel understood and helped. They create
a certain rapport with the user, without pretending to be human.
Very often chatbots offer some form of virtual assistance to the user. They provide maybe
customer or sales support, often collecting information from the user to provide some
form of service. For example, Kayak offers a chatbot that will
ask the user trip-relevant questions in order to simplify the process of booking their travel
arrangements. Spotify’s chatbot makes it very easy to
find songs and share them with your friends on social media.
Harper Collins’ Epic Reads is a chatbot, a very fun one actually, that recommends
books from their catalog depending on your favorite authors, books, or maybe just the
current mood you’re in. And the Starbucks’ chatbot even allows you
to order your favorite latte directly through a chat.
Aside from assistant-type chatbots, there are other type of chatbots, too, such as social
bots that interact with users on Twitter, entertainment bots whose main goal is to provide
amusement to the user, those developed for research purposes, and unfortunately even
spam chatbots such as fake users interacting with real ones on dating sites.
The first historic chatbots in the late sixties and early seventies, were in fact mostly an
exercise in coming up with seemingly intelligent and human-like chatbots with relatively simple
technology. In this course, we’ll develop the type of
chatbot that provides information to customers, as they tend to be quite useful for most businesses.
Our chatbot will also use text, rather than audio, to converse with our users.
Since no code is involved, you don’t need to be a programmer to follow along as we go
about creating our chatbot together. Of course, if you are a programmer, you’ll be able
to take the chatbot further on your own by improving it and integrating it with other
services and APIs. Before we proceed further, it’s worth noting
that sometimes you might hear the word “bot” rather than chatbot in this course or elsewhere
online. Depending on the context, it’s acceptable to use bot in lieu of chatbot to mean the
same thing. Nevertheless, the term bot is more generic
and there are software programs that independently perform a certain operation on our behalf
without being chatbots. For example, a trader bot might monitor the market for certain conditions
and then perform automated stock trading transactions based on that information. That’s not a
chatbot, since no chatting is taking place. So, the conversational element is what makes
a bot a chatbot. There are many other terms that refer to chatbots,
such as chatterbot, chatterbox, talkbot, virtual assistant, virtual agent, Conversational Agent, embodied
agent, and even Artificial Conversational Entity or its acronym, ACE. And believe it
or not that’s not even an exhaustive list. Since this is a fast-growing field, new terminologies
are always introduced. But I like to keep things simple, so I will generally stick to
chatbot and occasionally bot in this course.