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 a 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?
Okay, we can add hi to the list of possible inputs that match the greeting intent.
Now, another user comes along and they write, hey.
Okay, let's add hey to the list as well and so on.
As you can imagine, the list of possible greetings will 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 candidate capabilities.
More specifically, its natural language processing abilities will be very limited.
And if we're struggling with handling a simple greeting interaction,
can you imagine how hairy he will 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,
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 the 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 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 their 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 their Bluemix is a playground assort 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 a tone analyzer Watson service,
would enable a developer to adjust a chatbot responses based on the user's tone.
Your chatbot might, for example,
refer the user to a live agent should the frustration be detected in their tone.
You may also be able to integrate the chatbot with
the 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're 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're going to focus on the three key components of Watson Conversation:
intents, entities, and dialog.