Welcome to the second module of Build Your Own Chatbot!
In this module, we’ll discuss key concepts around Watson Conversation, the primary service
that we’ll use to build our flower shop chatbot.
To better understand what Watson Conversation brings to the table, let’s first examine
what we would need to do in order to create a chatbot from scratch without leveraging
Watson Conversation.
When the user enters some text, our program would need to figure out what the user is
asking for.
For example, we could write the program so that when the user enters “hello”, our
chatbot will assume that the user’s intent is to greet us and reply “hi there” back
to the user.
But what if the user says “hi” instead of “hello”.
Ok, we can add “hi” to the list of possible inputs that match the greeting intent.
Now another user comes along, and they write “hey”.
Ok, let’s add “hey” to the list as well, and so on.
As you can imagine, the list of possible greetings would grow quite quickly.
The problem with this naïve approach, aside from requiring you to have certain programming
skills, is that the chatbot would have no cognitive capabilities.
More specifically, its Natural Language Processing (NLP) abilities would be very limited.
If we are struggling with handling a simple greeting interaction, can you imagine how
hairy it would get when dealing with complex user queries?
Watson Conversation not only offers the ability to design a chatbot from start to finish without
writing any code, but it also injects cognitive capabilities into the mix.
In the example above, we would have trained Watson Conversation with a few examples, like
“hello”, “hi” and “hey” - and what to reply to that greeting.
And Watson Conversation would automatically know that, “hola” or “aloha” are also
greetings.
And this is not limited to simple cases either.
Watson Conversation is exceptionally good at parsing the user input and figuring out
what the user intention is, based on basic training we provided it with.
So, Watson Conversation’s key value lies in its natural language processing capabilities.
It’s worth noting that English is not the only language Watson can understand.
When you create a chatbot, you’re able to choose the language.
And English is simply the default.
As of today, Watson Conversation supports Arabic, German, Spanish, French, Italian,
Japanese, Korean, Portuguese, Dutch, and both traditional and simplified Chinese.
It would even be possible to set up a more complex chatbot that detects the user’s
language and then proceeds to interact in that particular language.
Although that would mean implementing the same chatbot in various languages or alternatively,
if the translation doesn’t have to be perfect, using an automated translation service like
Watson Language Translator.
For this course we will, of course, stick to English.
Watson Conversation is available through the IBM Bluemix catalog.
And Bluemix is a playground of sorts for developers, which includes other services and APIs.
So, developers following along with this course, might decide to take chatbot building further
by integrating other types of services as well.
For example, integrating a Watson Conversation Chatbot with the Tone Analyzer Watson service
would enable a developer to adjust the chatbot responses based on the user’s tone.
Your chatbot might, for example, refer the user to a live agent should frustration be
detected in their tone.
You might also be able to integrate the chatbot with databases and other Bluemix services.
Back to the Watson portion of the Bluemix catalog, there is quite a lot on offer, including
text-to-speech, translation, personality insight, visual recognition, and so on.
And new services are added as they become available to the public.
How to accomplish this type of integration is beyond the scope of this course, which
is meant to be suitable for non-developers, but it’s worth looking at the Bluemix catalog
for other services and products if you are a developer or a very technical user.
I don’t want to overload you with definitions, but there are a few key Watson Conversation
terms that you need to become familiar with.
In the rest of this course, we’ll cover them by focusing on examples rather than synthetic
definitions.
Discussing these examples will allow us to start thinking about some of the design decisions
we need to make to shape our flower chatbot.
In the next few videos of this module, we are going to focus on the three key components
of Watson Conversation: Intents, Entities, and Dialog.