IBM Cloud Docs
Getting started with dialog

Getting started with dialog

In this short tutorial, we help you use a dialog to build your first conversation.

A dialog uses natural language processing and machine learning technologies to understand user questions and requests, and respond to them with answers that are authored by you.

Add intents from a content catalog

The Intents page is where you start to train your assistant. In this tutorial, you add training data that was built by IBM to your skill. Prebuilt intents are available from the content catalog. You give your assistant access to the General content catalog so your dialog can greet users and end conversations with them.

  1. Click Content Catalog.

  2. Find General in the list, and then click Add content.

    Shows the Content Catalog and highlights the Add to skill button for the General catalog.
    Content Catalog

  3. 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.

    Shows the intents that are displayed in the Intents tab after the General catalog is added.
    Intents

You successfully started to build your training data by adding prebuilt content from IBM.

Build a dialog

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.

Adding a start node

  1. 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.

    A new dialog with two built-in nodes
    New dialog with built-in nodes

  2. Click the Welcome node to open it in the edit view.

  3. Replace the default response with the text Welcome to the tutorial!.

    Editing the welcome node response
    Welcome node

  4. Click Close to close the edit view.

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 responds with the welcome message that you add to the response section of this first node.

Testing the start node

You can test your dialog at any time to verify the dialog.

  • Click Try it to open the Try it out pane. You should see your welcome message.

Adding nodes to handle intents

Now add nodes between the Welcome node and the Anything else node that handle our intents.

  1. Click Add node.

  2. In the node name field, type Greet customers.

  3. In the If assistant recognizes field of this node, start to type #General_Greetings. Then, select the #General_Greetings option.

  4. Add the response text, Good day to you!

    Editing the general greeting node.
    Greeting node

  5. Click Close to close the edit view.

  6. Click Add node to create a peer node.

  7. Name the peer node Say goodbye and specify #General_Ending in the If assistant recognizes field.

  8. Add OK. See you later. as the response text.

    Editing the general ending node.
    Ending node

  9. Click Close to close the edit view.

Testing intent recognition

You built a simple dialog to recognize and respond to both greeting and ending inputs. Let's see how well it works.

  1. Click Try it to open the "Try it out" pane.

  2. 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.

  3. Try the following input:

    • bye
    • howdy
    • see ya
    • good morning
    • sayonara

    Testing the dialog in the Try it out pane
    Testing in Try it out

    watsonx Assistant 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.

Result of building a dialog

That's it. You created a simple conversation with two intents and a dialog to recognize them.

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 websites 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.