Получить несколько вопросов, соответствующих ключевому слову поиска, в QnA Maker - PullRequest
0 голосов
/ 14 мая 2018

У меня есть бот, который использует 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

Если пользователь вводит точный вопрос инажмите Enter, ответ будет ответ, который соответствует вопросу.Но если пользователь наберет flexible working, в этом случае ответ будет только первым ответом QnA.Так что в этом случае я хотел бы получить оба вопроса и отбросить их пользователю в качестве выбора вопросов для выбора.

Я попытался переопределить RespondFromQnAMakerResultAsync, а также проверил API-интерфейсы создателя QnA .К сожалению, я не нашел способа сделать это.

Пожалуйста, помогите?Дайте мне знать, если я смогу перефразировать или уточнить это.

1 Ответ

0 голосов
/ 14 мая 2018

в случае, если мое ключевое слово поиска используется в нескольких вопросах, создатель QnA просто получает первую подходящую пару QnA

Вы можете попытаться указать параметр top для 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)))
{
}

Edit:

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

enter image description here

...