Получить несколько вопросов, соответствующих ключевому слову поиска, в QnA Maker
У меня есть бот, который использует LUIS и QnA Maker.
Теперь я могу отправлять запросы и получать ответ в моем боте на основе поискового ключевого слова. Но если мое ключевое слово для поиска используется в нескольких вопросах, QnA Maker просто извлекает первую подходящую пару QnA.
Рассмотрим ниже пару QnA:
What is flexible working? Flexibility to work from home
How to avail flexible working? Get in touch with manager
Если пользователь вводит точный вопрос и нажимает клавишу ввода, ответом будет ответ, который соответствует вопросу. Но если пользователь вводит flexible working
в этом случае ответом будет только первый ответ QnA. Так что в этом случае я хотел бы получить оба вопроса и отбросить их пользователю в качестве выбора вопросов на выбор.
Я пытался переопределить RespondFromQnAMakerResultAsync
а также проверил API создателя QnA. К сожалению, я не нашел способа сделать это.
Любая помощь по этому вопросу, пожалуйста? Дайте мне знать, если я могу перефразировать или уточнить больше по этому вопросу.
1 ответ
в случае, если мое ключевое слово поиска используется в нескольких вопросах, создатель QnA просто извлекает первую подходящую пару QnA
Вы можете попытаться указать верхний параметр для QnAMakerAttribute
, который контролирует количество ответов для возврата.
Определение QnAMakerAttribute
:
public QnAMakerAttribute(string subscriptionKey, string knowledgebaseId, string defaultMessage = null, double scoreThreshold = 0.3, int top = 1);
В вашем QnaDialog вы можете указать его так:
public QnaDialog() : base(new QnAMakerService(new QnAMakerAttribute("{subscriptionKey_here}", "{knowledgebaseId_here}", "Sorry, I couldn't find an answer for that", 0.5, 5)))
{
}
Редактировать:
Вышеописанный подход сработал для меня, он может продвигать вопросы и показывать ответ на выбранный вопрос.