This documentation supports the 20.08 version of BMC Helix Chatbot.
To view the documentation for the previous version, select 20.02 from the Product version menu.

Updating the search dialog node in IBM Watson Assistant Skills

As an administrator, you can publish the chatbot response to a user query as answered or unanswered by setting the context variables in the BMC – Search dialog node in IBM Watson Assistant Skills. Before setting the context variables, you must understand how IBM Watson Assistant Skills publishes the conversation event and how BMC Helix Chatbot out-of-the-box workspace determines answered or unanswered intents.  

How IBM Watson Assistant Conversation Event is published

When customers ask a query to a chatbot, the chatbot receives the user input and the IBM Watson Assistant Skills travels through the dialog tree from the first dialog node in the tree to the last dialog node. Each dialog node of the tree has a condition. 

As it travels down the tree, if a dialog node matches the condition, it triggers that dialog node and the conversation event is published with the matched intent. 

It then moves along the triggered node to check the user input against any child node conditions. As it checks the child nodes, it moves again from the first child node to the last. When the IBM Watson Assistant Skills reaches the end of a branch, or cannot find a condition that evaluates to true from the current set of child nodes it is evaluating, it jumps back out to the base of the tree. 

If no dialog node in the tree matches the condition, then the IBM Watson Assistant Skills triggers the anything_else/Do not understand node. The assistant publishes the conversation event with Irrelevant intent as no intents are matched.  

For more information, see  IBM Watson dialog flow Open link

How does BMC Helix Chatbot out-of-the-box workspace determine answered and unanswered intent

The BMC Helix Chatbot out-of-the-box workspace has the Search node above the Do not understand or anything_else node in the dialog tree. When the chatbot receives a user input and no intents are matched, IBM Watson Assistant Skills triggers the Search node before hitting the Do not understand or anything_else node. When no intent is matched, it publishes the intent as irrelevant and the question is shown as unanswered in the report. 

BMC Helix Chatbot out-of-the-box workspace determines the intent as irrelevant/unanswered in the following conditions:

  • When the Search node returns no matching intent. 
  • When the Search node returns a knowledge article, however, the user rates the knowledge article as not useful.
  • When the Do not understand or anything_else node is triggered.

To publish the intent as unanswered, you must set the bmc_user_question_unanswered context variable in the BMC - Search dialog node. You must update the BMC – Search node with the context variable, if you are using:

  • the out-of-the-box workspace
  • your own custom dialog

Note

  • If you are using BMC Helix Chatbot 20.02.0 out-of-the-box workspace, the bmc_user_question_unanswered context variable will be already present. 
  • If you are using BMC Helix Chatbot 19.11.0 out-of-the-box workspace, you must set the bmc_user_question_unanswered context variable.


To set the bmc_user_question_unanswered context variable

  1. Log in to your IBM Cloud account. 
  2. Navigate toIBM Watson Assistant Skills that is configured with BMC Helix Chatbot.
  3. Take a back up of Skills.
  4. Click Dialogs, select the BMC – Search node, and update the following child nodes:

    1. In the $responseStatus == Success node, locate the child node option = no, and set the context variable bmc_user_question_unanswered to "$userQuestionForMessage".

      If you open the JSON editor, the code will look like the following text:

      {
        "output": {
          "text": {
            "values": [
              ""
            ],
            "selection_policy": "sequential"
          }
        },
        "context": {
          "summary": "$userQuestion",
          "bmc_user_question_unanswered": "$userQuestionForMessage"
        }
      }

    2. In the $responseStatus == "Not Found" node, set the context variable bmc_user_question_unanswered to <? $userQuestion != null ? $userQuestion : $userQuestion_deleted ?>. 

      If you open the JSON editor, the code will look like the following text: 

      {
        "output": {
          "text": {
            "values": [
              "I couldn't find anything related to your issue. Do you want me to a file ticket for you?"
            ],
            "selection_policy": "sequential"
          }
        },
        "context": {
          "userQuestion_deleted": "<? context.remove('userQuestion') ?>",
          "bmc_user_question_unanswered": "<? $userQuestion != null ? $userQuestion : $userQuestion_deleted ?>"
        }
      }
      }

Customizing the published intent as answered

Optionally, you can customize the published intent as answered. To publish the intent as answered, you must add the bmc_custom_intent_matched context variable in your BMC - Search dialog node. Adding the bmc_custom_intent_matched context variable overrides the default behavior of publishing the intent. 

(Optional) To set the bmc_custom_intent_matched context variable

  1. Log in to your IBM Cloud account. 
  2. Navigate to the IBM Watson AssistantSkills that is configured with the BMC Helix Chatbot.
  3. Click Dialogs.

  4. To override the default behaviour of publishing intent, navigate to the node which you want customize.

  5. Add the bmc_custom_intent_matched context variable. You can set the following values:

    ValueDescription
    "bmc_custom_intent_matched" : ""When the bmc_custom_intent_matched context variable is defined as null or an empty string, no intent is published. This value can be used when intent is matched but you do not want to publish.
    "bmc_custom_intent_matched" : <customized intent name>When the bmc_custom_intent_matched context variable is defined as <customized intent name>, it is published as answered.

Related topics 

Viewing BMC Helix Chatbot reporting dashboard

Configuring IBM Watson Assistant to work with BMC Helix Chatbot

Was this page helpful? Yes No Submitting... Thank you

Comments