What is IBM Watson?Emil Rauhe
IBM Watson is basically a very powerful super computer that combines AI (Artificial Intelligence) with some very complex analytical software algorithms in order to make an optimal question-search-answer machine.
It is named after IBM’s founder, Thomas J. Watson, and not as some may think, the famous detective Sherlock Holmes’ loyal companion, Dr. Watson, whom he always answered: “Elementary, my dear Watson.”
With the aim of answering a question Watson searches in many millions of documents in order to find thousands of possible answers. During the search Watson gathers similarities from the different documents and uses a score-algorithm to rate each article’s quality and relevance. Based on this score it ranks all its relevant answers on a prioritised list.
Due to today’s powerful computers Watson can analyse large volumes of unstructured data, that actually constitute around 80% of all existing information today. Watson knows that not all data is created in the same way, and it is capable of distinguishing between different kinds of information.
Let us help with your Chat bot!
A chat bot can answer your customers questions, and increase your sales.
We are experts in IBM Watson Chat bots and can help your to develop your own chat bot.Contact us
Where Does Watson Live?
IBM Watson is a part of IBM’s comprehensive cloud solution, ibm.com/cloud, that consists of a number of tools.
It is very easy to connect to the cloud – it only requires a name and an email and then you have access. IBM even offers a free trial period so you can test the tools. If you want to subscribe after the free trial period, then IBM has both a pay-per-use option and a fixed monthly subscription.
Today Watson can also be installed on a company’s own server, because even though IBM guarantees data security on their platform, then companies today often have very strict data polices and prefer to keep their data in-house.
Which Languages Does Watson Speak?
Watson’s DNA is of course communication and luckily IBM has taken into account that Watson must be able to communicate in different languages. Read more about which languages Watson supports and how you incorporate your own language in Watson here: (https://cloud.ibm.com/docs/assistant?topic=assistant-language-support)
Watson’s Technical Aspects!
Technically a Watson chat bot consists of four components, where the overall component is named a “Watson Assistant”, and it is the actual ‘body’ in a Watson chat bot.
A Watson Assistant can then consist of two different skills – a “Dialogue Skill” and a “Search Skill”.
A “Dialogue skill” is the part of a Watson Assistant that entails all the functionality, meaning the “question tree” which is in charge of reading and understanding what the user writes in the chat bot, and it makes sure the user gets a relevant answer.
A “Dialogue Skill” then again consists of three components: Intents, Entities, and Dialogues.
A Watson chat bot is not able to answer questions about everything, but it is always designed to only answer questions within a specific topic. It is typically information regarding the website the chat bot is integrated into.
Therefore, you begin with defining what kinds of questions, you want the chat bot to be able to answer and in a Watson chat bot you call those questions Intents.
A user can ask a question in many different ways in order to get a specific reply, and thus an intent must consist of as many different ways to ask the same question as possible.
For example if the chat bot is on a shop’s website, and one of the answers, you want to give your customers, is about the address of the shop, or addresses if the shop has more than one branch. An intent could then, for example, be defined in the following ways, where IBM always recommends to list at least five different:
- Where is your shop located?
- Where is your store located?
- Where is your company located?
- Where do you live?
- Where can I find you?
- What is your address?
- Where are you located?
The more examples you feed Watson with to the specific intent, the greater the chance that Watson will answer the user correctly.
And if a chat bot has to be able to answer a lot of different questions, then it requires that you create and define numerous intents!
An Intent always has a name/identifier which is defined by always beginning with a ”#”. The above seven questions could therefore be defined by the intent: #address.
A Watson chat bot’s entities can be compared to a sort of variables, but where the chat bot cannot exist without its intents, then it is not required that it contains entities!
You typically use entities to define synonyms for different words or concepts in the chat bot and in the above address example it would be appropriate to be able to indicate synonyms for the concept shop, store, company etc., because you can use a lot of different words for it, for example also bazaar, outlet, warehouse, and studio.
An Entity in a Watson chat bot is defined by beginning with an ”@”, so in this case you would define an Entity with the name @shop with the following list of words:
In doing so you can make do with defining the three first questions in our above intent with:
“Where is your @shop located”, and you can simplify and minimise the number of your intents significantly.
The third and last component in a Watson chat bot is called a Dialogue and the chat bot itself consists of a row of dialogues, that each in itself has the responsibility for processing the user’s various questions and communicate with the user.
A Dialogue is also called a Node in Watson’s “question tree” and the first dialogue in a Watson chat bot is always called “WELCOME” and is the first node.
A Watson chat bot consists of several Dialogues which are listed in sequence and each dialogue processes its own question from the user. Each dialogue is therefore tied to an Intent which of course is the element that contains the actual dialogue.
Each Dialogue is defined by a unique name and has a space to the name of the prior dialogue. Hence, all dialogues are defined in a specific order and is carried out sequentially in succession.
When a user asks the chat bot a question, then the dialogues are run through afresh one by one, until one of them, due to the matching intent, will answer the user in a satisfactory manner – subsequently the dialogue is disconnected.
The last dialogue is always called “ANYTHING_ELSE” and if none of the other dialogues have been able to answer the user’s question, then it will be the “ANYTHING_ELSE”-dialogue that answers: “I didn’t understand. Please try rephrasing your question!”
The whole “question tree” can be represented in JSON and is generated by an external system. Hence, the JSON code can for example be generated directly from a data base. This will make it easier to maintain the logic in the chat bot and to be able to quickly optimise continuously in order to accommodate the need for new Intents, Entities, and Dialogues.
LHCom are experts in chat bots and IBM Watson. We can help you in building your next chat bot for your website.
Contact us and lets talk about your project.