0
votes

I started developing a chatbot using watson, I found it surprising and simple to deploy. But I was left with some doubts on how to do it and if it is possible (I saw in some chatbot).

An example is, using the conversation I can define #intentions, @ties and dialogs. But how would the process of giving options work? For example, I asked the question "What's the best beer?" and he would respond to something like "There are a lot of beers, but a list with 5 for you" and so they list themselves in the list. and that I could click and follow with the dialogue and so on. I've seen this in some chatbot, but I have not seen how to do that sort of thing with watson.

Another thing is, is it possible to interact with a Back End? Ex: "Overdue accounts", and my back would consult the bank and return the overdue accounts.

I was pretty confused about this topic. And finally, Watson is the best option to develop a chatbot?

2

2 Answers

1
votes

The Watson conversation tool is used to create the dialogue flow of the content and is not designed yet for deploying with other options such as buttons, videos etc straight from within the tool.

In order to do this, you require an "orchestration" layer which is usually an app.js with code in that will enable you to use buttons, call other services, interact with backend systems etc.

An example kit can be found here which will support many facebook buttons and options but the logic is the same for whichever front end you use. The kit includes facebook buttons, carousel, share button and images. Also included are some additional Watson services such as visual recognition and tone analyzer, which demonstrate interacting with another service.

Facebook bot actions

Simple HTML Front end with buttons

In order to present the options to the user, you simply place the code required to display a button in the dialog output. e.g "Choose your option"option1

Recently launched also are the IBM Cloud Functions for making service backend calls https://developer.ibm.com/recipes/tutorials/watson-conversation-ibm-cloud-functions-to-do-a-longtail-chatbot/

0
votes

Just complemeting what @ReeceMed said... Watson is just one API endpoint, so you app can do a lot of things with some custom codes.

About your first doubt, you need to create one #intentBeer with examples of how to ask for beer, best beers:

  • "What's the best beer?"
  • "Can you please recommend the best beer here?"
  • "I want to buy the best beer here!"
  • "I'd like to request the best beer, please"

I really recommend to you give the maximum of examples in your mind or request for another person's how they ask for something similar. And see this project example, conversation simple, building in Node.js with Watson Conversation from IBM Developers.

And in the Dialog, you will create one Node that will recognize the #intentBeer

if bot recognizes #intentBeer response: Oh! The best beer here is: - X <br> - Y <br> - Z <br>

So, if you're using a web example, you can add HTML tags in the Watson response, like this answer that I answer a few months ago.

And for do something, like "Overdue accounts" example, you can see this answer. Basically, you need to access the context variable or the action object in the return of your post /message, and in your back-end, you'll do something with a custom code.