If you want to enhance the value of your App by adding a natural language interface to automate interactions with your end-users. You can integrate and communicate the common apps include virtual agents and chat bots on any channel or device. You can train Watson Conversation service through an easy-to-use web application, designed so you can quickly build natural conversation flows between your apps and users, and deploy scalable, cost effective solutions.
You can make your users directly interact with your app through the user interface that you implement. e.g. A simple chat window or a mobile app, or even a robot with a voice interface.
Watson Conversation combines a number of cognitive techniques to help you build and train a bot – defining intents and entities and crafting dialog to simulate conversation. The system can then be further refined with supplementary technologies to make the system more human-like or to give it a higher chance of returning the right answer. Watson Conversation allows you to deploy a range of bots via many channels, from simple, narrowly focused Bots to much more sophisticated, full-blown virtual agents across mobile devices, messaging platforms like Slack, or even through a physical robot.
Let’s do further understand about the Watson Conversation Service.
So, how this whole System work, let’s see an architecture diagram here;
And where you can use it? There can be following excited uses of Watson Conversation Services;
- With your Web Portals or Mobile Apps and respond to your customers’ queries and FAQs.
- Build social media and other messaging platform chatbots that interact instantly with your channel users.
- Also, allow your users and customers to interact with your apps using natural language virtual agents for the better user experience.
What do you need to build and play with Watson Conversation?
Well, all you need to understand the intents, entities and crafted conversation with Watson Conversation and that’s it. : – )
How it works;
The application sends the user input to the Conversation service.
- The application connects to a workspace, which is a container for your dialog flow and training data.
- The service interprets the user input, directs the flow of the conversation and gathers information that it needs.
- You can connect additional Watson services to analyze user input, such as Tone Analyzer or Speech to Text.
The application can interact with your back-end systems based on the user’s intent and additional information. For example, answer question, open tickets, update account information or place orders. There is no limit to what you can do.
How to Integrate
You can integrate it with your app with following two ways;
- Configure a workspace. With the easy-to-use graphical environment, you set up the dialog flow and training data for your application.
- Develop your application. You code your application to connect to the Conversation workspace through API calls. You then integrate your app with other systems that you need, including back-end systems and third-party services such as chat services or social media.
So, Let’s do play with Watson Conversation and understand the key features.
Simply do Login to your Bluemix, go to the Dashboard and click upon Create App;
It will take you to the Bluemix Catalog.
Now Simply Click on Watson in the Services section from the left and select Conversation Service;
Now, simply give the required credentials and click on Create;
Bluemix will create the app for you and take you to your app service dashboard in few moments.
Here you’ll get all details about your Conversation Service;
Now simply click upon the Launch tool, it will take you to your Watson Conversation Workspace Dashboard;
The actual natural language processing for the conversation service happens inside the workspace.
A point to be noted, a single conversation service instance can contain multiple workspaces.
A workspace contains the following types of relics:
- Intents: The input you can expect from your user, or all possible inputs or questions which user can ask. An intent represents the purpose of a user’s input, such as a question about business locations or a bill payment. You define an intent for each type of user request you want your application to support.
Each intent contains all type of related inputs and prefixed with the ‘#’ character.
The actual training is done with intents. Here you train your service or bot with all type of possible inputs or questions which you can expect by your users. So, you have to give lots of examples of user input.
In the user interface, the name of an intent is always prefixed with the # character.
- Entities; An entity represents a term or object that is relevant to your intents and that provides a specific context for an intent. For example, an entity might represent a city where the user wants to find a business location, or the amount of a bill payment.
In the user interface, the name of an entity is always prefixed with the @ character.
To train the workspace to recognize your entities, you list the possible values for each entity and synonyms that users might enter.
- Dialog; A dialog is a branching conversation flow that defines how your application responds when it recognizes the defined intents and entities.
You use the dialog builder to create conversations with users, providing responses based on the intents and entities that you recognize in their input.
As you add information, the workspace trains itself, so you don’t have to do anything to initiate the training.