Are there reserved words/characters/phrases in QnA Maker and how to escape them

86 Views Asked by At

I have an operational QnA Maker that works without issue for almost all terms. However, I've noticed that certain terms do not generate chatbot responses even though the terms exist in the KB.

Specifically, the terms below can be added into the KB's Q and A fields (I've confirmed that the terms are actually in the KB). However, the chatbot will return the message "No good match found in KB." when queried for the terms. The terms are:

• that me, is that me, that's me, that is me

• ?

• standalone emojis (e.g. ❤️)

Emojis aside, I can see how these terms might be reserved. Is there any way to escape them in the QnA Maker KB? Other suggestions?

1

There are 1 best solutions below

0
Kringle On

Time for another palm slap...

WRT the terms "that me, is that me, that's me, that is me", these are all STOPWORDS.

From https://github.com/Azure-Samples/azure-search-sample-data/blob/master/STOPWORDS.md,

When text is indexed into Azure Cognitive Search, it is processed by analyzers so it can be efficiently stored in a search index. During this lexical analysis process, language analyzers will remove stopwords specific to that language. This is true of both the Lucene and Microsoft analyzers available.

If I understand correctly then, by creating a Q&A pair, one part of which contains only stop words which are then being stripped out, I am creating a null Q&A pair.

For reference, a full list of STOPWORDS is available at the github link above.