Is there a way to create intents and entities without the IBM Watson Conversation toolkit? - ibm-cloud

I want to train the Watson Conversation service without using the toolkit? I want the chatbot to be trained by code.
I want to develop a system from which the administrator of a web page can edit or create intents and entities, so that in this way I do not have to be the one to edit if something is wanted to change. IBM Watson Virtual Agent is something similar to what I want to create

You can create your own tooling or integration into conversation using the Workspace API.
https://www.ibm.com/watson/developercloud/conversation/api/v1/#workspaces

Related

Connect IBM Watson Assistant chatbot to Db2

I currently have a Watson chatbot set up and also have a DB2 database with some tables set up.
Could someone please assist me in how to develop a code in the IBM Cloud function to connect both the chatbot and DB2 services, as well as how the code in the Dialog nodes needs to be to either read or write to the tables in DB2?
This IBM Cloud solution tutorial shows how to build a Db2-driven chatbot with IBM Watson Assistant and IBM Cloud Functions for the app code. The related GitHub repository has working code for serverless actions that either insert a new record into Db2 on Cloud or retrieve data based on criteria entered within the chat.
The file eventFetchDate.js would search for a specific event record within a given date range. You can use any supported programming language. The most important part is to pack the result into the structure expected by Watson Assistant. The workspace file has the full set of dialog nodes and demonstrates how to interact with the user and Db2.

Dialogues without the IBM Cloud UI of the Watson Conversation service

I would like a way to build a dialogue through classes. For example, I could create and instantiate a class called dialog and a class named node. When instantiating the Dialog class, I could have a method that would add nodes to the dialog. So I would build a whole dialog programmatically without having to use the Conversation Tool or API/Watson conversation service, in other words without use the front-end web of IBM Cloud for dialogues. Is it possible? What are all the possibilities of working with Watson Conversation Service?
Watson Assistant (WA) has a "Workspace" API which allows you to programmatically build/edit your workspace.
You can either add some components directly, or build the whole workspace locally and then push it to WA.
The documentation starts here.
https://www.ibm.com/watson/developercloud/assistant/api/v1/curl.html?curl#workspaces-api
There are also a number of SDKs which will allow you to do this through code, reducing the need to build from scratch.
https://github.com/watson-developer-cloud

Create a chatbot for stock market using IBM Watson

I would like to create stock bot which can have basic conversation and give me stock price in conversation.
To get stock price i am using yahoo finance api.
For basic conversation i am using
IBM watson conversation api
I have also used
IBM NLU (natural language understanding) Api
to verify different company names asked in different manner but i am not getting expected result.
For example if i search
"What is price of INFY?"
then it should give me correct answer and should filtered out as my action should be to pass INFY in yahoo finance api. This should also work if i change format of question asked.
Below is the flow chart setup which i made on node-red panel of bluemix (IBM).
Could you help me to find out exact api's and flow which could help me achieve my goal.
This is a pretty big one, but at least some first impression comments...
Watson Conversation Service is already integrated with NLU component - the intents and entities TAB. The company names could be extracted from the input text with the use of entities and entities synonyms. Drawback here is that the user needs to list all the possible variants of how the company name can look like, but on the other hand, the entities specification can be imported in the Conversation through a csv file.
In general the integration of Watson Conversation service and some 3rd party services needs to be done outside the Conversation service - as it as of now - does not explicitly support calling of 3rd party APIs, so the node.js solution here seems a sound one. What you need to specify is how the integration of WCS and 3rd party services will look like. The general pipeline could look like:
user inputs text to the system
text goes to Watson Conversation Service
the intent and company name is extracted in WCS
WCS sends text output + sets a special variable in the node output field such as "stocks" : "Google" that will tell the node.js component that sits after the conversation service to find out and include stocks market value of Google inside the output text
Now - back to your solution - it might make sense to have also a dedicated NLC service that will be used only to extract the companies name in the system. However I would use this only if it would turn out that e.g. entities in WCS service are not robust enough to capture the companies properly (my feeling here is that for this particular use case the entities with synonyms might work ok).

Get Watson Conversation Workspaces

I am using Watson Conversation services on Bluemix. We have multiple Conversation workspaces within the service to enable better segmentation of the problem space.
I need to load information on the set of available workspaces within the Conversation service (e.g. name, workspace ID) to allow me to target the appropriate Conversation API endpoint. I've been trying to find a Watson or Bluemix API to allow me to retrieve the information directly but have not had any success.
Does anyone know if it is possible to retrieve this information programmatically and if there are any best practices for doing so?
We don't have an exposed endpoint for this capability at this point. It is something being discussed internally, however.
The API for managing Conversation workspaces is now available. It is possible to list workspaces, to create/update/delete a workspace and to download an entire workspace. The API is supported by the Watson SDKs.
Using the new API, I wrote a small tool for managing Conversation workspaces. The tool shows the API in action. The source is available on GitHub to demonstrate how the API can be of use.

Watson conversation - How to deploy?

I've created and trained a basic dialog and it's now ready to be used in my web site.
I can't found any docs to deploy and use the application.
Can anyone help me ?
You need to build a front end application that allows users to interact with the conversation service.
There are some generated SDK's for various programming languages that can help you in doing this.