Несовместимый ответ между ботом Azure QnAMaker Web App и Cognitive Service - PullRequest
0 голосов
/ 22 мая 2018

У меня есть разногласия с ответами на мои вопросы (на испанском языке), выполненными для службы ботов Azure Web App, которая запрашивает экземпляр QnAMaker, и запросов, непосредственно выполняемых для конкретной службы QnAMaker для этого экземпляра.

Для этого конкретного случая я задал те же вопросы в веб-чате бота и в тестовом чате QnAMaker.В нескольких ответах, полученных веб-чатом бота, я получаю сообщение по умолчанию (например, если вопрос не соответствует ответу), в то время как в ответах, полученных в тестовом чате QnAMaker, я получаю соответствующий ответ в Базе знаний.

Найдите ниже скриншоты с результатами в обоих чатах:

Ответы веб-чата бота: Снимок экрана чата бота 01 Снимок экрана чата бота 02

QnAMakerОтветы на тестовый чат: Снимок экрана чата QnAMaker 01 Снимок экрана чата QnAMaker 01

Была проверена вся конфигурация для интеграции службы QnAMaker с ботом, и она выглядит нормально.Даже QnaThreshold, используемый для выполнения запросов в настройках приложения бота, был установлен на 0,04 (соответствие 4%), чтобы гарантировать, что результаты не будут отфильтрованы.

Полагаю, проблема в разнице конфигурации модуля бота, который создаетзапрос POST к службе QnAMaker.

Может ли кто-нибудь помочь мне исправить это, чтобы убедиться, что запрос, выполняемый ботом, совпадает с запросом, выполняемым тестовым чатом QnAMaker, и получает одинаковые результаты через оба чата.

Спасибо

Ответы [ 3 ]

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

Я вижу, что вопросы, которые вы задаете, не совсем такие, как "donde comprar entradas" <> "donde compro entradas", это может объяснить некоторые различия.

Затем, я думаю, что тестовый чат QnA Makerиспользует некоторую промежуточную среду, тогда как Azure Bot Chat использует последнюю опубликованную версию базы знаний.

Вы уверены, что опубликовали свои последние изменения?

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

Вопрос уже решен.Проблема была вызвана типом данных переменных параметров приложения.Эти значения являются строками, закодированными в IBM852 в объект process.env, и когда Javascript преобразует их в типы с плавающей запятой или целые числа, сгенерированные значения не являются правильными.Применение соответствующих функций преобразования, таких как parseFloat () или parseInt (), перед использованием переменных параметров приложения в app.js решит проблему.

Спасибо Tyrel Roesler, инженер поддержки веб-приложений из Microsoft, за помощь в обнаружениипроблема.

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

Альтернативные вопросы могут повысить вероятность совпадения с запросом пользователя.Вы можете попытаться добавить эту фразу в качестве альтернативного вопроса к существующей паре QnA.

QnaThreshold, используемый для выполнения запросов в настройках приложения бота, был установлен на 0,04

Чтобы устранить проблему, вы можете попытаться установить ScoreThreshold на 0, затем переопределите RespondFromQnAMakerResultAsync и проверьте фактический QnAMakerResult, возвращенный службой QnAMaker.

...