• Home
  • Blog
  • About Me
  • Home
  • Blog
  • About Me
AI  ·  Power Platform  ·  Power Virtual Agents

Build Watson Assistant ChatBot

By Joe Gill  Published On 18th December 2019

I was recently demonstrating Power Virtual Agent to somebody who was suitably impressed with how easy it is to create a chat bot without any technical skills. Unfortunately when I explained that Power Virtual Agent costs $1,000 per month for 2,000 sessions they were suitably unimpressed. They asked me if I could suggest an alternative. So I decided to take a look IBM’s Watson Assistant to see how it compares as its pricing is very competitive at $.0025 per API call.

I knew nothing about Watson Assistant before I started and I must admit I was pleasently surprised as how easy it use it to create a chat bot. Just like Power Virtual Agent it has an easy to use NoCode graphical designer allowing somebody without any tech skills to create a chat bot.

biuld a ibm watson chatbot

Create Intent with Watson’s use Natural Language Processing (NLP)

Watson Assistant create bots in a slightly different manner to Power Virtual Agent. It has the concept of intents that the are used to determine the purpose of the users input. These are like triggers phrases in Virtual Agent Topics. Watson’s use Natural Language Processing (NLP) on the intents to determine what the user’s intention.

Create Intent with Watson's use Natural Language Processing (NLP)

About Intent

Each intent is prefixed by a # and consists of a set of phrases. Intents can be imported and exported separately from the conversation flows.

ibm watson assistant

Dialogs in Watson

Dialogs in Watson are the conversational flows and Watson has a visual designer for creating Dialogs. It has branches that link the processing in that branch to an intent.

Dialogs in Watson

Nodes

Within each branch there are nodes that can be used to respond to the user and to accept input. The designer is not as visually appealing as Power Virtual Agent however you use multiple logical operators like OR conditions on a node line.

nodes for creating Watson Assistant ChatBot

Entities in Watson

Power Virtual Agent recently introduced the concept of entities which have existed in Watson Assistant for a while. Entities in Watson are objects that relevant to the users conversation so for example if wanted to buy a product you would create a @product entities for your dialog. Watson has out of the box system entities like @sys-date which can also be used in your bot.

Entities in Watson

Extracting entities

from the users input seems to be one of the strengths of Watson Assistant. So if the user entered “I want an appointment on Friday” Watson could populate the @sys-date entity and but not be able to determine the required time of the appointment and populate the @sys-time entity. The Dialog can then test if the @sys-time is populated and prompt the users accordingly.

extracting entities in Watson

Watson Assistant allow you to move your intents and dialogs across environments by exporting and importing them as a Json files. At this point in time Power Virtual Agent does not have support for moving Topics across environments.

In conclusion I must admit I would consider using Watson Assistant if I need to create a chat bot. I think the designer and range of channels supported in Power Virtual Agent is superior however Watson Assistant is significantly cheaper and Natural Language Processing (NLP)  engine does seem to be better.

There are other factors to consider when selecting a bot platform such as integration and authentication but I am not going to cover those in this post. I did try to call a Power Automate Flow from my Watson Assistant bot by using a Web Hook but got a 400 error and I am currently trying to figure this out.


Create Powerapps Nav Bar Component for Canvas App
Previous Article
Proactive Slot Filling in Power Virtual Agents
Next Article