copyright | lastupdated | subcollection | content-type | account-plan | completion-time | ||
---|---|---|---|---|---|---|---|
|
2021-05-27 |
assistant |
tutorial |
lite |
10m |
{:shortdesc: .shortdesc} {:new_window: target="_blank"} {:external: target="_blank" .external} {:deprecated: .deprecated} {:important: .important} {:note: .note} {:tip: .tip} {:pre: .pre} {:codeblock: .codeblock} {:screen: .screen} {:javascript: .ph data-hd-programlang='javascript'} {:java: .ph data-hd-programlang='java'} {:python: .ph data-hd-programlang='python'} {:swift: .ph data-hd-programlang='swift'} {:hide-dashboard: .hide-dashboard} {:download: .download} {:video: .video} {:step: data-tutorial-type='step'}
{: #gs-dialog} {: toc-content-type="tutorial"} {: toc-completion-time="10m"}
In this short tutorial, we help you use a dialog skill to build your first conversation. {: shortdesc}
A dialog skill uses Watson natural language processing and machine learning technologies to understand user questions and requests, and respond to them with answers that are authored by you.
{: #gs-dialog-prerequisites} {: hide-dashboard}
This tutorial is a continuation of the Getting started with Watson Assistant tutorial. Be sure to complete it before you continue. See Getting started with Watson Assistant.
If available in your location, a tour begins that you can step through to learn about the product. Follow the tour; it provides a great overview of the product. Otherwise, you can complete the following steps.
{: #gs-dialog-add-catalog} {: step}
The Intents page is where you start to train your assistant. In this tutorial, you will add training data that was built by IBM to your skill. Prebuilt intents are available from the content catalog. You will give your assistant access to the General content catalog so your dialog can greet users, and end conversations with them.
-
Make sure your My first skill is open.
-
Click Content Catalog from the Skills menu.
-
Find General in the list, and then click Add to skill.
-
Open the Intents tab to review the intents and associated example utterances that were added to your training data. You can recognize them because each intent name begins with the prefix
#General_
. You will add the#General_Greetings
and#General_Ending
intents to your dialog in the next step.
You successfully started to build your training data by adding prebuilt content from {{site.data.keyword.IBM_notm}}.
{: #gs-dialog-build-dialog} {: step}
A dialog defines the flow of your conversation in the form of a logic tree. It matches intents (what users say) to responses (what your virtual assistant says back). Each node of the tree has a condition that triggers it, based on user input.
We'll create a simple dialog that handles greeting and ending intents, each with a single node.
-
From the Skills menu, click Dialog.
The following two dialog nodes are created for you automatically:
- Welcome: Contains a greeting that is displayed to your users when they first engage with the assistant.
- Anything else: Contains phrases that are used to reply to users when their input is not recognized.
-
Click the Welcome node to open it in the edit view.
-
Replace the default response with the text,
Welcome to the Watson Assistant tutorial!
.
You created a dialog node that is triggered by the welcome
condition. (welcome
is a special condition that functions like an intent, but does not begin with a #
.) It is triggered when a new conversation starts. Your node specifies that when a new conversation starts, the system should respond with the welcome message that you add to the response section of this first node.
You can test your dialog at any time to verify the dialog. Let's test it now.
Now let's add nodes between the Welcome
node and the Anything else
node that handle our intents.
-
Click Add node.
-
In the node name field, type
Greet customers
. -
In the If assistant recognizes field of this node, start to type
#General_Greetings
. Then, select the#General_Greetings
option. -
Add the response text,
Good day to you!
-
Click Add node to create a peer node.
-
Name the peer node
Say goodbye
and specify#General_Ending
in the If assistant recognizes field. -
Add
OK. See you later.
as the response text.
You built a simple dialog to recognize and respond to both greeting and ending inputs. Let's see how well it works.
-
Click the icon to open the "Try it out" pane. There's that reassuring welcome message.
-
In the text field, type
Hello
and then press Enter. The output indicates that the#General_Greetings
intent was recognized, and the appropriate response (Good day to you.
) is displayed. -
Try the following input:
bye
howdy
see ya
good morning
sayonara
{{site.data.keyword.watson}} can recognize your intents even when your input doesn't exactly match the examples that you included. The dialog uses intents to identify the purpose of the user's input regardless of the precise wording used, and then responds in the way you specify.
That's it. You created a simple conversation with two intents and a dialog to recognize them.
{: #gs-dialog-integrate-assistant} {: step}
Now that you have an assistant that can participate in a simple conversational exchange, test it.
-
Click the Assistants icon to open a list of your assistants.
-
Find the My first assistant assistant, and open it.
-
Test your assistant with Preview.
-
Copy the URL from Share this link and use it in a new tab. You can start submitting message to see how your assistant responds.
With a Lite plan, you can use the service for free. With other plans, you are charged for messages that you submit from the preview link. You can review metrics about the test user conversations from the Analytics page. You are not charged for messages that you submit from the "Try it out" pane, and the exchanges you have there are not logged. {: note}
-
Type
hello
into the text field, and watch your assistant respond.You can share the URL with others who might want to try out your assistant.
-
After testing, close the web page. Click the X to close the preview link integration page.
{: #gs-dialog-next-steps}
This tutorial is built around a simple example. For a real application, you need to define some more interesting intents, some entities, and a more complex dialog that uses them both. When you have a polished version of the assistant, you can integrate it with web sites or channels, such as Slack, that your customers already use. As traffic increases between the assistant and your customers, you can use the tools that are provided in the Analytics page to analyze real conversations, and identify areas for improvement.
-
Complete follow-on tutorials that build more advanced dialogs:
- Add more dialog nodes to design complex conversational exchanges. See Building a complex dialog.
- Learn techniques for getting customers to share information that the assistant needs before it can provide a useful response. See Adding a node with slots.
-
Check out more sample apps to get ideas.