разные намерения попасть на модель Луиса и команды для одного и того же предложения, как это решить? - PullRequest
2 голосов
/ 09 января 2020

Я развернул бота в команде Microsoft и бота с помощью luis, когда один и тот же вопрос задавался обоим командам microsoft и боту модели luis. * в модели Луиса

Предложение "Могу ли я выбрать старую дату в проекте?"

Имеет намерение "добавить" и сущность "дата", но

когда это предложение вводится в модель Луиса, оно дает правильное намерение и сущность даты,

Но когда его спрашивают, то же самое предложение для бота, который используется в командах, дает неправильный вывод, почему это произошло? как это решить?

1 Ответ

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

Я думаю, у меня была похожая проблема совсем недавно. Не могли бы вы отладить ваше приложение и взглянуть на свойство Activity.Text, прежде чем оно будет передано LUIS. Если ваш бот находится в Командном канале (в отличие от чата 1-1 непосредственно с ботом), вам нужно @mention бот, чтобы вызвать его. Тем не менее, также добавляет строку «BotName» в Activity.Text и отбрасывает ваше понимание LUIS.

Вы можете проверить это, перейдя в модель LUIS, перейдя к Создайте «раздел в верхнем меню (где вы определяете свои сущности и т. Д. c.), А затем перейдите в левое меню к« Просмотр высказываний конечной точки ». Там вы, вероятно, увидите бота «могу ли я выбрать старую дату в проекте» и ТАКЖЕ «DemoBot могу ли я выбрать старую дату в проекте».

Итак, есть два способа решить эту проблему (я могу подумать, как минимум):

  1. Вы можете обучить свою модель LUIS тому, с чем намереваетесь иметь дело, на странице «Просмотр высказываний конечной точки»
  2. Вы можете редактировать текст в Ваш бот перед отправкой в ​​LUIS, чтобы удалить "" упоминание, примерно так:

    string atMentionBot = $ "DemoBot";

    if (turnContext.Activity.Text.StartsWith ( atMentionBot, StringComparison.OrdinalIgnoreCase)) turnContext.Activity.Text = turnContext.Activity.Text.Substring (atMentionBot.Length);

    (я не уверен, какой язык вы используете для своего бота - это C# образец конечно)

...