I've been working on watson conversation for sometime.Mainly conversation service responds for inputs given by the user depending on the way we train and it does that based on the intents,entities and dialog flow we define.
Internally it would look for some keywords that we define in intents and if it matches it would respond with the text that we give in dialog flow.
Even same kind of logic I can put in my application saying if has these few particular keywords,I can respond with this particular text and go to next stage and look for some words so on.
But what is that special intelligence that we have in this watson conversation service,to use this?
Can someone tell me this who has good knowledge on watson
But what is that special intelligence that we have in this watson conversation service,to use this?
I take it this is the crux of your question?
First thing to realise that the Intents component uses machine learning, it is not a rule based engine. This gives you huge advantages.
You need a fraction of training examples that you would versus a rule based engine. To give a real world example. The was a service called "Watson Dialog" (now discontinued). This was an NLP rule based engine.
In Conversation I created an intent with 20 example questions from real world end users. To get the same level of accuracy in Dialog required over 7,000 permutations of examples (even with pattern matching used).
Also because Conversation is machine learning, it can give good responses to questions it has never seen before. In a rule/word lookup system if it sees a question it has never been trained on, it can never answer it. It can also understand when a question is not related to the topic, when keyword trapping in a rule based engine would try to answer.
Of course this is all dependant on correctly training the intents.
The Entities component on the other hand used to be keyword matching, there is some added intelligence there (and more coming).
The Dialog component, you are correct. You can certainly create your own code to do simple logic flows (again more coming on this). There are points regarding this.
"Watson" is about democratising AI. It's target audience is non-AI developers and subject matter experts (SME). So it is designed to make it as easy as possible for SMEs, while make it easy to extend for developers).
Separating your dialog logic out of conversation and into your code, makes it considerably harder to maintain. You are causing a tight coupling with your code. So if you want to use a different language, channel then it means you have to update/convert your code.