vania-janet/multiturn-rag-retrieval-data huggingface dataset:
: Previously, if you included a response type of Search skill in a list of response types for a dialog node, the search results were displayed last despite its placement in the list. This behavior was changed to show the search results in the appropriate order, namely in the sequence in which the search skill response type is listed for the dialog node.





 10 March 2020 

Contextual entity support is generally available
: You can add contextual entities to English-language dialog skills. For more information about contextual entities, see [Creating entities](https://cloud.ibm.com/docs/assistant?topic=assistant-entitiesentities-annotations-overview).

French language support added for autocorrection
: Autocorrection helps your assistant understand what your customers want. It corrects misspellings in the input that customers submit before the input is evaluated. With more precise input, your assistant can more easily recognize entity mentions and understand the customer's intent. See [Correcting user input](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-runtime-spell-check) for more details.

The new system entities are used by new skills
: For new English, Brazilian Portuguese, Czech, Dutch, French, German, Italian, and Spanish dialog skills, the new system entities are enabled automatically. If you decide to turn on a system entity and add it to your dialog, it's the new and improved version of the system entity that is used. For more information, see [New system entities](https://cloud.ibm.com/docs/assistant?topic=assistant-system-entities).





 6 March 2020 

Transfer a web chat conversation to a human agent
: Delight your customers with 360-degree support by integrating your web chat with a third-party service desk solution. When a customer asks to speak to a person, you can connect them to an agent through a service desk solution, such as Zendesk or Salesforce. Service desk support is a beta feature.
If you are familiar with the built-in Entities enrichment, you know that the enrichment can recognize terms that match generalized categories, such as Person and Location. With the entity extractor, you control what constitutes terms or phrases that are meaningful.

The following image shows the terms that an enrichment that recognizes family members entity type mentions might extract from text. The example illustrates how family member mentions and other entity mentions (that are recognized by the built-in Entities enrichment) both might be predicted.

Zoom

![Shows an excerpt from Pride and Prejudice with family member (daughter, sisters, mother) mentions and entity (Mr. Bennett, Mr. Bingley, Netherfield, Longbourn) mentions labeled.](https://cloud.ibm.com/docs-content/v1/content/f16b1f78a92498247223b337bd9303c2758b9ba8/discovery-data/images/pp3-both-annotations.png)

Figure 1. Labeled entity examples

This excerpt comes from Chapter 3 of Pride and Prejudice by Jane Austen.





 Before you begin 

Find or create a collection with documents that have various examples of the entity types that you want Discovery to learn about. To teach the extractor, you must label examples of entity types. You can only label examples if your collection contains valid examples. Try to find documents that have many and varying terms that function as examples of every entity type that you want to define.





 Adding an entity extractor 

To add an entity extractor, complete the following steps:



1. Open the project where you want to create the entity extractor.

The project must have at least one collection with documents that are representative of your domain data.
2. From the Improvement tools panel of the Improve and customize page, expand Teach domain concepts, and then click Extract entities.
3. Click New.

If you want to create an entity extractor that is based on the entity type system from a IBM Watson® Knowledge Studio corpus, click the arrow, and then choose Import a Knowledge Studio corpus.
This documentation is for the classic Watson Assistant experience. To see the documentation for the new Watson Assistant, please go [here](https://cloud.ibm.com/docs/watson-assistant).



 Handling SMS with Twilio interactions 

Learn about common actions you can use to manage the flow of conversations that your assistant has with customers by using SMS text messaging.

Before you add customizations to your dialog that support SMS messaging interactions, you must set up the SMS with Twilio integration. For more information, see [Integrating with SMS with Twilio](https://cloud.ibm.com/docs/assistant?topic=assistant-deploy-sms).

You can perform the following types of actions:



* [Sending multimedia content over text](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-sms-actionsdialog-sms-actions-mms)
* [Customizing lists in a text message](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-sms-actionsdialog-sms-actions-lists)
* [Sending a text message during a phone conversation](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-voice-actionsdialog-voice-actions-sms)



For command reference documentation, see [SMS with Twilio integration commands reference](https://cloud.ibm.com/docs/assistant?topic=assistant-commands-sms).



 Adding SMS-based actions to your dialog 

When calling messaging-specific actions from a dialog, follow these guidelines:



* Define the action within the context object, not the output object of the dialog node JSON snippet.
* Define only one action or one sequence per conversation turn.
* Do not jump from a dialog node with an action configured for it to another dialog node with an action configured for it.



To enable text messaging-specific actions, you must add a JSON code block to the dialog node where you want the action to trigger.

To add a JSON code block to a dialog node, complete the following steps:



1.
If you save the required forecast variables, such as location and day, in slots, then if a user asks a follow-up question with new variable values, you can overwrite the slot values with the new values provided, and give a response that reflects the new information. (For more information about how to call an external service from a dialog, see [Making programmatic calls from a dialog node](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-webhooks)).

![Shows someone asking for a weather forecast, and then following up with a question about weather for a different location and time.](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/follow-up.png)

Using slots produces a more natural dialog flow between the user and your assistant, and is easier for you to manage than trying to collect the information by using many separate nodes.





 Adding slots 



1. Identify the units of information that you want to collect. For example, to order a pizza for someone, you might want to collect the following information:



* Delivery time
* Size



2. If you have not started to create a dialog, follow the instructions in [Creating a dialog](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-overview) to create one.
3. From the dialog node edit view, click Customize, and then set the Slots switch to On.

For more information about the Prompt for everything checkbox, see [Asking for everything at once](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-slotsdialog-slots-prompt-for-everything).
4. Add a slot for each unit of required information.

For each slot, specify these details:



* Check for: Identify the type of information you want to extract from the user's response to the slot prompt. In most cases, you check for entity values.
All phrases corresponding to an intent are created as example phrases for the new action. This can provide a helpful starting point when you are ready to start building actions in the new experience.



1. Download the intents that you want to migrate to actions from the classic Watson Assistant experience. For more information, see [Downloading intents](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-migrate-intents-entitiesmigrate-intents-download). The format for each line in the file is as follows:

<phrase>,<intent>

where <phrase> is the text of a user example phrase, and <intent> is the name of the intent. For example:

Tell me the current weather conditions.,weather_conditions
Is it raining?,weather_conditions
What's the temperature?,weather_conditions
Where is your nearest location?,find_location
Do you have a store in Raleigh?,find_location
2. From the main actions page, click the Upload icon ![Upload icon](https://cloud.ibm.com/docs-content/v1/content/icons/upload.svg).
3. Select the intents file that you downloaded.

The file is validated and uploaded, and the system trains itself on the new data.

The intents in column 2 are created as new actions, and the phrases in column 1 are created as example phrases for the corresponding action. For example, if you upload the example from step 1, two new actions are created for the weather_conditions and find_location intents. The underscores (_) in the intent names are replaced with spaces, for example, the weather_conditions intent becomes the weather conditions action.

In this example, the weather_conditions action will have three example phrases: Tell me the current weather conditions., Is it raining?, and What's the temperature?. The find_location action will have two example phrases: Where is your nearest location? and Do you have a store in Raleigh?.
If you do not want the assistant to answer certain types of user queries, then you can add rules to specify other actions for the assistant to take per dialog branch. For example, you might want to start incorporating the assistant into the Intercom team more conservatively, allowing the assistant only to suggest responses as it transfers user messages to other teammates for them to answer. Over time, after the assistant proves itself, you can give it more responsibility.

To configure how you want the assistant to handle specific dialog branches, define rules.



1. From the Intercom integration page, in the Enable your assistant to monitor an inbox section, switch monitoring On.
2. In Settings, click Manage rules.

If you do not define rules, the assistant is configured to monitor the Unassigned inbox and automatically answer user inquiries that it is confident it can address.
3. From the Monitor Intercom inbox field, choose the Intercom inbox that you want the assistant to monitor.
4. Click New rule to define a unique interaction pattern for a specific dialog branch.
5. From the Choose node drop-down list, choose the node for the branch you want to configure.

Remember, branches are identified by their node name. If you did not specify a node name, then the node's ID is displayed instead.
6. Pick the type of action that you want the assistant to perform when this dialog node is triggered. The action type options are these:



* Do nothing: The assistant is not involved in the response; the user's message remains in the inbox for someone else to address.
* Send to team or teammate: The assistant evaluates the user input to determine its goal, and then transfers it to the appropriate teammate.
* Suggest to team or teammate: The assistant provides the teammate with suggestions for how to respond by sharing notes with the human agent through the internal Intercom app.



* If the user input triggers a dialog branch, meaning a root dialog node with child nodes that represents a comprehensive interaction, then the assistant indicates that it is capable of addressing the request, and offers to do so.
Click the Annotation Tasks tab and open the task that you want to evaluate.
3. Confirm that at least two annotation sets are in In conflict status.
4. Click Check Overlapping Documents for Conflicts. The documents that are in conflict are listed.
5. If you want to ignore the conflicts in an overlapping document and promote the annotations to ground truth without adjudicating them, click Accept.
6. To start resolving conflicts in an overlapping document, click Check for Conflicts.
7. If there are three or more candidates for adjudication, including annotation sets that were annotated through human annotation and the current ground truth, select the two candidates that you want to adjudicate and click Check for Conflicts. If only two candidates exist, the adjudication tool starts automatically.

The adjudication tool shows how many mention, relation, and coreference chain conflicts exist. You must resolve mention conflicts before you move on to resolve conflicts between relations and coreference chains.
8. Click to highlight a sentence that contains conflicts. To make it easier to focus on unresolved conflicts, you might want to clear the Resolved check box and ensure that the Unresolved check box is selected.
9. Click individual annotations and then click Accept or Reject. To undo a decision that you just made, press Ctrl+Z.

You can also click more than one annotation, and then click to accept or reject all of the selected annotations. If you decide that you want to deselect an annotation that you selected, clear your selections by clicking blank space between sentences or by pressing the Esc key.

If annotation guidelines were previously connected to the project, and you want help with choosing the correct annotation to apply, click View Guidelines. Depending on the access permissions set up on the site where the guidelines are hosted, you might be able to update the guidelines after you open them, for example, to add clarifications and examples.
10. To apply a different entity type to a mention, reject the current annotation, select the mention, such as Barack Obama, and then select the correct entity type, such as Person.
11.
The benefit of this approach is that it's easier to anticipate the path of a conversation and follow it later if there are not multiple jump-tos sprinkled throughout the flow.
* Slots: In a dialog, you add slots to a dialog node to call out a set of values that you want to collect from the user, and that you will take and store in any order. In actions, every step in the action acts like a slot. If the user provides information that address step 10 when answering the question to step 1, both step 1 and step 10 are filled. In fact, if you want step 10 to ask the question explicitly, you must select the Always ask for this option on step 10.



Want to get started with actions, but need features that are available from a dialog? Use both. Dialog is your primary conversation with users, but you can call an action from your dialog to perform a discrete task. For more information, see [Calling an actions from a dialog](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-dialog-call-action).
If the top intent has a low confidence score (less than 0.2), the top intent is included in the intents array that is returned by the API, but any nodes that condition on the intent are not triggered. If you want to detect the case when no intents with good confidence scores were detected, use the irrelevant special condition in your dialog node. See [Special conditions](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-overviewdialog-overview-special-conditions) for more information.

As intent confidence scores change, your dialogs might need restructuring. For example, if a dialog node uses an intent in its condition, and the intent's confidence score starts to consistently drop below 0.2, the dialog node stops being processed. If the confidence score changes, the behavior of the dialog can also change.





 Intent limits 

The number of intents and examples you can create depends on your Watson Assistant plan type:



Plan details

 Plan Intents per skill Examples per skill 

 Enterprise 2,000 25,000 
 Premium (legacy) 2,000 25,000 
 Plus 2,000 25,000 
 Lite, Trial 100 25,000 







 Editing intents 

You can click any intent in the list to open it for editing. You can make the following changes:



* Rename the intent.
* Delete the intent.
* Add, edit, or delete examples.
* Move an example to a different intent.



You can tab from the intent name to each example.



1. To move or delete an example, click the checkbox that is associated with it, and then click Move or Delete.

![Screen capture showing how to move or delete an example](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/move_example.png)







 Searching intents 

Use the Search feature to find user examples, intent names, and descriptions.



1. From the Intents page, click the Search icon.

!
: On the Preview page, you can now upload an image of your organization's website as a background. For more information, see [Previewing and sharing your assistant](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-preview-share).





 16 September 2022 

Session ID information on Analyze page
: Session ID information for conversations is now displayed on the Conversations tab of the Analyze page. You can also filter customer conversation data by the session ID. From the Conversations tab of the Analyze page, use the Keyword filter to search by session ID. For more information, see [Filtering conversations](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-analytics-conversationsanalytics-conversations-filtering).

The ability to filter on session ID has limited support for conversations that occurred before this feature release. For all conversations that occurred before 16 September 2022, you can filter only by a single session ID at a time.





 9 September 2022 

New operators available for building conditions
: Several new operators are available for building conditions in your actions. The options response type now has the is any of and is none of operators available. For more information, see [Operators](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-step-conditionsoperators).

Copy actions to other assistants
: You can copy an action from one assistant to another. When you copy an action, references to other actions, variables, and saved responses are also copied. For more information, see [Copying an action to another assistant](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-copy-action).

Filter variables and saved responses by name
: You can now find variables and saved responses more easily. On the Actions page, you can filter variables you created or saved responses you added. Click the search icon, then enter a search string. Your list of variable or saved responses filters to match what you enter.





 1 September 2022 

Conditioning on days of the week
: You can now condition a step on days of the week.
Starting the conversation 

As you start building your assistant, one of the first things you should consider is how it will start each new conversation with a user. This might be as simple as saying hello, or it might involve asking some questions to gather data the assistant needs before it can do anything else. Starting a new conversation is handled by the Greet customer action, which is automatically created (with a default greeting) when you create an assistant.

The Greet customer action is triggered in situations where your assistant initiates the conversation and then waits for input from the user. Depending on how users connect to your assistant, the Greeting action might not be triggered. (For more information, see [When the greeting action is triggered](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-start-conversationgreeting-triggered).)



 Customizing the greeting 

The Greet customer action is automatically provided for any assistant. To customize this action:



1. In the left-hand navigation pane of the actions editor, click Actions to expand the list.
2. Click Set by assistant to see a list of built-in actions that are automatically provided when you create an assistant.
3. Click Greet customer to edit the greeting action.

Notice that for this action, you cannot specify the customer input that starts the action. That's because the greeting action is automatically sent when the assistant starts the conversation, before any user input is received.
4. Under Conversation steps, click the first step. In the Assistant says field, edit the default text to specify the greeting text you want to use. For example, if you want your assistant to use a more casual tone, you might specify the text Hi! What can I do for you?
5. To see your new greeting in action, click Preview. In the Preview pane, you should see your customized greeting appear.



![Preview of customized greeting](https://cloud.ibm.com/docs-content/v1/content/ca9232b3702768f24bb897f48f10778fcda28718/watson-assistant/images/greeting-preview.png)
Typically, the type of data collection you add to Discovery and access from your assistant contains information that is owned by your company. This proprietary information can include FAQs, sales collateral, technical manuals, or papers written by subject matter experts. Mine this dense collection of proprietary information to find answers to customer questions quickly.

The following diagram illustrates how user input is processed when both a dialog skill and a search skill are added to an assistant.

![Diagram that shows how some user input is answered by dialog and other questions are answered by search.](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/search-skill-diagram.png)

For a step-by-step tutorial, read [Help your chatbot get answers from existing content](https://cloud.ibm.com/docs/discovery-data?topic=discovery-data-tutorial-convo) in the [Watson Discovery documentation](https://cloud.ibm.com/docs/discovery-data?topic=discovery-data-about).





 Before you begin 



1. Before you begin, you must set up a Discovery instance.

You can do this at no cost by using a Plus plan, which offers a free 30-day trial. However, to create a Plus plan instance of the service, you must have a paid account (where you provide credit card details).
2. Create a Plus plan Discovery service instance.

Go to the [Discovery](https://cloud.ibm.com/catalog/services/watson-discovery) page in the IBM Cloud catalog and create a Plus plan service instance.



If you decide not to continue using the Plus plan and don't want to pay for it, delete the Plus plan service instance before the 30-day trial period ends.





 Create the search skill 



1. From the assistant where you want to add the skill, click Add search skill.

You can only add a search skill if you are a user with a paid plan.
2. Take one of the following actions: