Hi @nehamsheikh,
For any question, there could be n number of alternatives in which any question can be asked to the bot by the user.
It is not expected from any developer to add each alternative question as FAQ and cover all the alternatives manually.
Hence, we have designed a Knowledge graph with nodes, tags, and synonyms which would make the work easier for the developer to cover all the possible matches.
For example, consider an FAQ “What is the country name?”
The parent node is “Country details” and the child node is “name”.
Now, the primary question will be “What is the country name?”.
The alternate questions could be “Where do you live?” , “Where do you belong to?” etc.
There could be various combinations of these words formed into different questions with the same ultimate meaning.
As mentioned above, adding all the alternatives is a tedious job and doesn’t actually depict the intelligence of the bot.
Here, the knowledge graph displays its abilities to handle the various alternate question with the training from the nodes, tags, and synonyms.
Whenever a question is asked to the bot and if there is no intent matched with it, then the node names in the KG will be checked and matched with the keywords in the question.
If there is a node name match, then it would check its child nodes, tags, and synonyms and as per the score, the best possible FAQ will be matched and response will be given to the user.
This way, you can add a very few completely different alternative questions in the FAQ and provide tags, synonyms and node names appropriately such that any untrained question can also be matched.
The performance and intelligence of the KG depends on the way we train it with the appropriate node names, tags, and synonyms,
Please refer the following link:
https://developer.kore.ai/docs/bots/bot-builder/optimizing-bots/knowledge-graph/
Hope this helps!!
Let us know if you need any further clarification on the above.
Regards,
Yoga Ramya.