QnA Maker дает неверные результаты на похожие вопросы - PullRequest
3 голосов
/ 09 января 2020

Я создал чат-бота, который отвечает на вопросы, связанные с целями в области устойчивого развития (SDG), используя сервис QnA Maker. Как часть этого, основная функциональность бота заключается в том, чтобы отвечать на различные SDG, такие как SDG 1, SDG 2 .... SDG 17.

Как я могу получить точные прогнозы от QnA Создатель в этом сценарии, где вопросы так похожи, как и в настоящее время, QnA Maker всегда возвращает ответ о том, что такое SDG 1, когда я задаю вопросы, например, что такое SDG 16, 15, 14 и т. Д. c, хотя база знаний имеет точно такие же вопросы

Ответы [ 2 ]

2 голосов
/ 10 января 2020

Я не удивлен. Если рассматривать только символы этих вопросов, если ваш QnA KB обучен распознавать «Что такое SDG 1» и делает, с высокой степенью уверенности, то «Что такое SDG 1x» будет распознаваться просто на основе процент совпадающих символов. Производителю QnA:

«Что такое SDG 1x» ALL выглядит как «Что такое SDG 1». Вам нужно go в свою QnA KB и обучить его так, чтобы вопросы типа «Что такое SDG 19» имели 100% -ную достоверность. Вы можете проверить это, посмотрев на элемент «inspect» функции «test»:

QnA Maker Identical Questions

Как видно из моего изображения «One» был возможным ответом на этот вопрос, но «Один» - это то, что я имею в качестве ответа на вопрос «Что такое ЦУР 1». (игнорировать другой ответ, я делаю много испытаний на этой КБ). Если вы go проводите проверку таким образом и видите, что выбран неправильный ответ, вы можете просто выбрать правильный, а затем переобучить свою КБ.

Я сделал это, повторил неправильный ответ, затем переобучился, пока не получил свой КБ (несмотря на то, что уже получил идеальный ответ), чтобы ответить со 100% уверенностью с неправильным ответом (показано ниже):

Forced retrain to wrong answer in KB

Вам придется сделать что-то похожее, но с правильным ответом.

Это не только вопрос, но есть также много других подобных вопросов, таких как повестка дня sdg 11, каков мандат sdg 11 et c. для каждого sdg, который в настоящее время QnA Maker прогнозирует как sdg 1

Идея, что один вопрос -> один ответ - это хороший вопрос, но вам придется работать немного больше, если все вопросы выглядят одинаково. Кроме того, если вы думаете, что это произойдет при работе с клиентами, вы можете написать код в свой бот, чтобы вернуть первые 3 или 5 ответов, и попросить вашего бота ответить на вопрос типа «Я не уверен, что понял, Вы имели в виду «1» или «17» или «19»? », затем пользователь должен выбрать, какой из них он имел в виду.

1 голос
/ 23 января 2020

Проблема была решена с помощью параметра "Top" из QnAMakerOptions Class при вызове GetAnswersAsyn c метода . Я сохранил значение параметра "Top" равным 20.

Если в базе знаний есть очень похожие вопросы, Azure Поиск не возвращает соответствующие пары QnA в списке результатов по умолчанию. Эти результаты повторно оцениваются окончательным ранжером QnA Maker, если используется параметр "top".

...