Получить несколько вопросов, соответствующих ключевому слову поиска, в 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)))
{
}

Редактировать:

Вышеописанный подход сработал для меня, он может продвигать вопросы и показывать ответ на выбранный вопрос.

Другие вопросы по тегам