Hello,
We have added some FAQs in the knowledge graph of our bot.
For all of the questions we have added an alternate question.
For some of the faqs, when we type the alternate question we are able to trigger the faq answer but in cases even when we type the whole alternate question exactly the bot doesnt trigger the response.
For example if the main question is “error code xyz-234” and the alternate question is “xyz-234”.
Now even when we enter “xyz-234” into the bot, the bot doesn’t trigger the answer for some faqs while for some it does.
Can you please tell why this is happening ?
Is the word xyz-234 tagged in that alternate question?
The KG employs a two phrase strategy in finding a question.
First it finds all the words from the user’s utterance that are tags in one or more questions, and using those tags it filters out and keeps the questions that have at least 50% (the default and is configurable) of their tags matched. That is only the questions that have a higher than average chance of being matched are allowed to proceed to the next stage.
The second stage is a similarity check on that refined set of questions to determine the best matching one.
Therefore if important words in a question are not tagged then that question will not get through the first stage and therefore will never be considered as an answer.
There is a “goldilocks” style to KG question tagging - too many tags and it is harder to reach that 50% threshold match with the utterance, too few (or none) and the question is rarely considered.
Hello,
Here you can see the screenshot of our primary question along with the alternate question and their tags as well.
We have followed the same patter for all of our faqs.
For some of them we are able to trigger the response through the alternate question and for some of them we are not.
Let’s take that alternate question…
It has 4 terms/tags defined: “e file”, “1040”, “alabama”, “AL40-050”.
Default settings use a 50% path threshold, so for this alternate question to even be considered as potential match then 2 of its 4 tags must be present in the user’s utterance.
But that is impossible with a one word utterance.
It look like none of those terms are of type Organizer (they would have a grey mark on them). Those types of terms do not count in the threshold matching calculation.
Note the primary question has 6 unique tags, so there needs at least three of them in the user’s utterance. That’s not too bad. I would add “efile” as a synonym to the “e file” term though rather than enter it as a distinct item here.
Another thing I would look into is making the AL40-050 tag mandatory for this question, presuming that you have similar FAQs for other errors. That can be done by either adding another level to the ontology or doing it on the specific tag in each appropriate question. This will avoid some ambiguity problems when the user is vague, e.g. “I have an error with my Alabama 1040”.
Hi Andy,
Thanks for the explanation.
That makes some stuff quite clear.
Can you explain one thing more to me here please ?
So if what I am understanding correctly, here this FAQ gets triggered through the alternate question because out of the four tags available, it consists of two of them which are r0000 and r0000-905-01 ?
Am I correct ?
Yes, but that is a aspect of the tokenization. The KG knows, via the training, to be on the lookout for “R0000” in the user’s utterance, and ignoring the punctuation, then that is true.
You can see what is going on, at least to a degree, through the JSON view under the faq.demystify
section in the NL Analysis in Utterance Testing. The tags/terms are called “entities”