Perhaps it will help to understand how the Knowledge Graph selects an answer.
The KG works through a two step process:
- Identify a set of candidate questions
- From those candidate questions, select the one that is most similar to the utterance
That first step revolves around extracting the important words from the user’s utterance and selecting the specific questions which reference a good proportion of those important words.
The second step is just a similarity computation between the question and the user’s utterance.
So the training is focused on building a hierarchy of important words, or terms, followed by placing each question in an appropriate path in that hierarchy. The terms in that path are the likeliest indicator of a match and will aid in the disambiguation across similar questions. By default the engine shortlists questions where 50% of its terms are found in the user’s utterance.
Individual questions can augment this path through additional tags to cover situations where that 50% coverage wouldn’t be hit otherwise.
For example, consider the question “What is the capital of France”. The most important words in that are “capital” and “France”, you could add “what” to that mix if there are other questions like “Where is the capital of France”. Now you can manually add those words as tags to the question, but if you have lots of questions about European capitals then it makes sense to save some effort and create and a node in the ontology labeled “capital” and then every question under that node will automatically have that word in its path.
This is what the message from the Inspection tool is telling you. You have questions with lots of words in them, but none of those words are defined as terms (either as ontology nodes or local tags) and so it will not be possible for KG to shortlist those questions.