Testing NLU/Keyword topics

  • Release version: Xanadu
  • Updated November 15, 2024
  • 5 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Testing NLU/Keyword topics

    This content explains how to preview, test, and debug Natural Language Understanding (NLU) and Keyword topics within ServiceNow’s Virtual Agent Designer. It guides customers on using the chat test window to validate conversations and ensure their topics perform as intended before deployment.

    Show full answer Show less

    Testing Environment and Options

    • Use the default web (Service Portal) chat client or test in third-party messaging apps like Now Assist panel, Microsoft Teams, or Slack if configured.
    • Select the Test option in the topic header or test active (published) topics via the discovery type toggle.
    • Warnings and incomplete badges alert you to missing or incorrect information in the topic flow, with hyperlinks to fix issues.

    Chat Test Window Features

    The chat test window includes several tabs to help analyze and refine your topic:

    • Analyze Test Phrases: Displays intent matching and entity recognition results based on test utterances, showing prediction scores and slot-filling details.
    • Variables: Lists all variables used during the conversation, including input, script, live agent, and slot-filled variables, helping track data flow.
    • Context: Allows specifying context variables that influence intent detection or chat routing, such as selecting a portal name.
    • Logs: Shows processing and error messages, including script outputs, useful for debugging complex topic logic.

    Best Practices for Testing and Refinement

    • Adjust utterances or entities in Virtual Agent Designer if intent matching is inaccurate, then retrain and retest the NLU model.
    • Use context variables thoughtfully to tailor conversation flow and live agent handoffs.
    • Review logs to troubleshoot and optimize scripted elements in your topics.
    • Close the test window when finished and apply insights gained to improve topic accuracy and user experience.

    Additional Tools

    • Train and test NLU models directly in Virtual Agent Designer using the NLU Intent tab without switching tools.
    • Leverage the ServiceNow Automated Test Framework integration to create automated tests for your Virtual Agent topic flows, ensuring stability after updates.

    Use the chat test window to preview, test, and debug Natural Language Understanding (NLU)/Keyword topics.

    As you work on a topic in Virtual Agent Designer, you can run your conversation in a chat test window. The default test window is the web (Service Portal) chat client.

    If you're using the Virtual Agent integrations with third-party messaging apps, elements in your conversation might appear differently in third-party messaging applications. Test your conversations in any third-party applications where you want to deploy Virtual Agent.

    If the Now Assist panel, Microsoft Teams application, or Slack application is configured for your environment, preview options for those channels are displayed in the Test button list. Select Preview in Now Assist panel or Preview in Microsoft Teams in the list to test your topic in those environments.

    Testing your NLU/Keyword topic in the chat test window

    Note:
    Note:
    An updated Virtual Agent Designer user interface is available when you install Now Assist in Virtual Agent and turn on the Now Assist Topics skill. This content assumes that you have activated this skill and can see the list view. If this skill is not enabled, you will see the legacy UI and topics page. For more information, see Virtual Agent Designer legacy topics page.
    Figure 1. Example NLU/Keyword test options
    NLU/Keyword testing options are available on both the Virtual Agent Designer canvas and the home page.
    To run your topic in the chat test window, select the Test option in the topic header bar. Alternatively, you can test active (published) topics by setting the discovery type toggle switch to NLU/Keyword, then selecting Test active topics.
    Note:
    If your topic is missing any necessary information, an incomplete badge appears in the corner of the flow diagram pane. A yellow or red warning badge also appears next to each node. The incomplete badge lists the total number of issues, while the local warning badges show how many are found in each node. Selecting Test when there are issues present opens an Issues window at the bottom, which counts up and details all the issues needing correction. These details include a full description and a hyperlink to each incomplete item.
    The chat test window opens in the chat widget and displays adjoining tabs that provide details about your topic as you test it. You can use these tabs:
    • Analyze Test Phrases - The results for intent matching and entity recognition appear based on what you entered in the conversation.
    • Variables - List of all the variables used in the conversation, such as input and live agent variables.
    • Context - Options for specifying the context (using context variables) in which a topic is run.
    • Logs - A list of the processing performed.
    Figure 2. Example Natural Language Understanding (NLU) chat test window and test tabs
    Conversation test tabs shown in the chat test window, with Analyze test phrases, Variables, Context, and Logs options highlighted.

    By default, the Include Topic Discovery option is enabled. This option automatically performs topic discovery and generates prediction results for NLU topics using test phrases that you enter in the test window. The conversation begins with the Virtual Agent greeting and the button for the menu of available topics.

    If you're using the Test Active Topics option or sub-options from the Topics page, topic discovery is enabled, so it's not listed as an option. Testing active topics behaves the same as testing from a topic except that test cases can't be created.

    Analyze test phrases tab

    For NLU enabled topics, the Analyze test phrases tab provides an analysis of the possible intents that match the test phrase (utterance) that you entered in the chat test window. The tab lists the prediction results, which include matched intents and their prediction scores, along with any entity recognition and slot-filling results. The top match is listed first. The predicted intents depend on the prediction confidence threshold set in the NLU service.

    Figure 3. Example Analyze test phrases tab for NLU/Keyword topics
    Analyze test phrases tab, showing test phrase results for multiple intent matches.

    If an utterance doesn't match a current intent, you can add or change utterances in Virtual Agent Designer. For more information, see Modify NLU utterances and entities for a Virtual Agent topic.

    Make changes, train the model again, and then retest until you're satisfied with the results. When the topic is ready, you can publish both the topic and the model from Virtual Agent Designer.

    Variables tab

    The Variables tab displays a list of all the variables used in the conversation and the associated values captured as the conversation progresses, so that you can follow along. A conversation can have these variable types:
    • Input variables
    • Script variables
    • Live agent variables
    • Variables passed between a calling topic and topic block
    • "Nodeless" NLU entities declared as a slot-filled variable for the topic
    The list is separated into sections by type of variable. The following example shows the Input variables section. Notice that for the static list control, both the display label and value are captured for the selected choice.
    Figure 4. Example list of input variables
    Variables tab that shows the input variables and values, next to a screen capture of the conversation flow.

    The following example shows the Input variables section for the grouped list control. This variable information appears similar to the static list control, but the variables are separated by each group of the grouped choice.

    Figure 5. Example list of grouped choice variables
    Variables tab separated by group, with the node and Group name highlighted.

    Context tab

    Use the Context tab to specify a different context for the chat. Choose a context variable from the list. These variables contain contextual information that can be used to determine topic intent or control how chats are routed to live agents. For example, you could select portal from the list of variables and enter the portal name IT Express. The Context tab is unavailable when creating test cases.

    For more information about defining context variables, see Configure context variables for storing chat-related information. For more information about live agent variables that are included with Virtual Agent, see Live agent chat context variables.

    Figure 6. Example Context tab
    Context tab with the context portal value of IT Express.

    Logs tab

    The Logs tab displays the processing and error messages that are recorded while running your conversation. If you're using scripts in Virtual Agent Designer, use gs.log, gs.print, and gs.warn statements in your scripts to output information in this log.

    Figure 7. Example Logs tab
    Logs tab that contains processing information about the topic.

    Next steps

    When you're done testing your topic, close the test chat window. If needed, you can use the test information to fine-tune your conversation. For example, if the results on the Analyze test phrases tab return multiple possible matches for your utterance, you could update the utterances for your intent and NLU model on the NLU Intent tab for your topic.