How to troubleshoot when the response is incorrect

Updated on October 14, 2021

Follow the steps to troubleshoot and narrow down where to look at when you are not getting the intended response

Section-1 Summary Table  #

What could be wrong when I get the wrong answer? 

Triggers Intent Prediction Content Configuration (Answer) Entities Conditions operator  How do you know? What to do 
Wrong     After typing “/debug” – Predicted Intent is empty. Go to “Editor”, click on “Triggers” to check if it is set up properly.  Refer to section- 3 Check the configuration in the Triggers.    
 Wrong    The given answer is clearly from another intent (question) Go to the FAQ tab to check for conflicting examples. Reclassify the conflicted examples and if required, realign with other department team members. Refer to section-4 Check the FAQ, if the responded answer is not pointing to the correct Intent    
  Wrong   The answer is correct, but it is the version from another institution/department/app source. Check if the version condition is set up correctly. It can also be possible that the correct Entity is not being detected (see below for Wrong Entity)  Refer to section-5 Check the Content Node in the Editor
   Wrong  It can result in a seemingly wrong trigger and different version of the answer given.  In “/debug”, the wrong Entity is being detected. Check the spellings of the word, whether it is already available in the Entity List.  If not, add it in.  Check if the same word also exists in other entities.  Refer to section-6 Check the Entities  
    Wrong It is hardest to track. It usually comes together with entities set up. If all the above is correct, it might be possible that there is some improvement required in the Conditions operator. Check if the right operator is being used.   Refer to section -7 Check the Conditions  operator 

Section-2 How to use /debug command  #

Use “/debug” to know the response details from the chatbot. 

In the response of “/debug” the chatbot shares below details, the details provide direction for troubleshooting the issue. 

  • App Source- responded answer is configured for the Institution/Department/ Other App Source 
  • Predicted Intent- linked Intent with responded answer 
  • userQueryTopic- classification of Department/ Institutions 
  • Context- the previous content(s) that have been answered to the user 
  • Entities- Are there any entities which trigger this response 

Section-3 Check the configuration in the Trigger #

  1. Go to Editor’s Trigger tab. 
  2. Search the Trigger with keywords of the response or content node 
  3. Look for configured Trigger for below setups. 
    1. Condition setup 
    2. Keywords 
    3. Context 
    4. Action- review the configured Content Node here for the Trigger response.  
    5. If required, add Positive test.  
  4. Save the changes before testing. 
  5. Always add App Source if you are adding a trigger for any institution/department/App Source. 

Click here to get more details on how to set up Triggers.

Section-4 Check the FAQ if the responded answer is not pointing to the correct Intent.   #

  1. Go to the FAQ, and search the Intent. 
  2. Open the Answer tab and review whether the Content Node is correct. 
  3. If configured Content Node is not correctly linked,  In “Actions” (“goto”) link the correct content node name, and save the changes.
  4. If configured Content Node is correctly linked,  go to the Example tab, try to look through the training examples and review whether the Intent is wrongly trained with examples.
  5. If the example is wrongly trained. 
    1. Move the example to the correct Intent. 
  6. If the example has not been trained in any of the existing Intent
    1. Review whether example can be trained in existing Intents
    2. If it is a new topic and commonly asked question, create a new intent and add more training examples. 
    3. If it is not a commonly asked question, add it to the KIV list or ignore it for now. 
  7. Check conflict between Intents.  
    1. If there are Intents which have conflict, search the examples which are conflicting in the Intents.
    2. Look for the examples in the conflicting Intents -if the Intents have any similar types of examples, clean-up similar examples by moving the example(s) to the correct Intent(s) 
  8. If required, train the Intents with more real-life examples (queries from the end-users)  
  9. Save the changes
  10. Train and publish new changes before testing in the Widget 

Click here to get more details on how to manage FAQ.

Section-5 Check the Content Node in the Editor #

  1. Go to the Editor, and search for the answer with keywords in the search bar.
  2. Look for the answer whether the configured answer is correct,
  3. If the answer is not correct, edit the answer and save it.
  4. If required, verify all the Content node versions by checking whether configured App Source is correct. Also, check that the default answer has been configured. 
  5. If required, verify configured Conditions in the Content node,  whether the conditions are set correctly (see section-7
  6. If required, verify the configured Entities in the Content node. 

Click here to get more details on how to edit a Content Node.

Section-6 Check the Entities  #

  1. Go to the Entities menu. 
  2. Verify whether the Synonym available in the user question is added to the Entity List 
  3. Add more Synonyms if required. 
  4. Check for duplication of the Entity List and the Synonyms – as it may lead to conflicts. 

Click here to get more details on how to use Entities. 

Section-7 Check the Conditions operator, if all above setup is correct (Section 3, 4, 5 & 6)  #

  1. Check if there are App Source or chat entry point conditions are set properly.  
  2. If there is no condition is set up for the answer, it implies that the particular answer is the default universal response for the linked Intent. 
  3. For Conditions, which operator to choose?  
  • “=” is the most precise operator. It signifies that out of complete list only selected value matches within the Entity.  E.g. clinical services = blood test.  
  • “Includes”operator is used when a list includes the selected value, like left-hand side includes right-hand side. 
  • “Included in” operator is used when adding one or a few values within the Entity to detect.  “included inis also used as an OR mechanism.  E.g. the public holidays Included in 2020-05-01, 2020-05-07, 2020-05-25, 2020-07-31 – this means that any of the dates are considered public holidays. 
  • exists and not existsoperators.  
    • exists operator is used when the selected entire Entity (including all the values inside) is required as a condition.  
    • “not exists” operator is used when the selected entire Entity (including all the values inside) is not required as a condition.  
Did we help you?

Learn more about KeyReply

To see our Conversational AI in action, sign-up for a guided walk-through and see how our platform can be tailored for your organization’s needs