QnA бот отвечает только при использовании точных фраз в Azure и Teams Chat - PullRequest
0 голосов
/ 03 мая 2018

Я создал бота в Microsoft QnA Maker и уже некоторое время тестирую пары QnA в Maker. Бот может распознать пары QnA, которые я создал, даже если в вопросе используются другие слова. Однако после ознакомления с ботом и его тестирования в тестовом чате Azure и в чате команд я обнаружил, что бот отвечает только соответствующим образом при использовании точной формулировки вопроса.

У бота есть пара QnA, где вопрос "привет". В QnA Maker Test, если я отправлю ему варианты этого вопроса, такие как «привет вики» или «привет там», тогда бот распознает пару и отвечает соответствующим ответом. При тестировании в Azure и командах бот ТОЛЬКО отвечает, если я говорю «привет». Если я говорю какие-либо варианты, он просто отвечает «Нет хорошего совпадения в FAQ».

У моего бота никогда не было проблем с ответами на вопросы, которые содержат другие слова, но они не являются ТОЧНЫМ вопросом при тестировании в QnA Maker. Это кажется только придирчивым при тестировании в Azure и в командах. Я переиздал бота несколько раз и убедился, что идентификатор базы знаний и ключ подписки верны. Какие у меня есть варианты?

Снимок экрана тестового чата Azure

1 Ответ

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

Вот что проверить. Если вы используете стартовый код для Bot Service, вы, вероятно, наследуете Dialog от QnAMakerDialog. Конструктор принимает несколько параметров, в том числе сообщение, которое возвращается, когда нет хорошего совпадения, и минимальный доверительный интервал для того, когда нужно возвращать текст с плохим соответствием. Например, вот конструктор для моего класса, который наследуется от QnAMakerDialog:

 public BasicQnAMakerDialog() : base(new QnAMakerService(new QnAMakerAttribute(Utils.GetAppSetting("QnASubscriptionKey"), Utils.GetAppSetting("QnAKnowledgebaseId"), "No good match in FAQ.", 0.5)))
        {}

Обратите внимание, что текст "Нет хорошего совпадения" на самом деле установлен на "Нет хорошего совпадения в FAQ", а минимальный показатель достоверности равен 0,5.

Если вы зарегистрируетесь в тестовом чате QnAMaker, вы должны увидеть показатель доверия, возвращенный вместе с сообщением. Вы можете попытаться понизить минимальный показатель достоверности, чтобы избежать получения сообщения о несоответствии.

Улучшение вашего бота

Вы можете добавить альтернативные фразы к вопросам в QnAMaker для своего бота, затем переобучить и опубликовать модель. Вымойте, промойте, повторите. Вы также можете попробовать записывать вопросы, где QnAMaker возвращает показатель достоверности ниже порогового значения. Это даст вам отправную точку для вопросов, которые задают ваши пользователи, когда у вашего бота нет хорошего ответа.

В зависимости от вашей области знаний, вы также можете попробовать поискать в Интернете и подвести итоги верхнего результата, а затем вернуть его пользователю вместо простого «Не найдено подходящего соответствия». Это то, что делает Сири, когда она высыхает, что похоже на случай почти со всем, что я спрашиваю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...