Как изменить BING SpellCheck LuisService во время выполнения? - PullRequest
0 голосов
/ 13 декабря 2018

Я пытаюсь включить BING SpellChecker в мое LUIS-приложение.Он работает нормально, но я хотел бы изменить bool SpellChecker моего текущего LuisService во время выполнения.Идея: использовать проверку орфографии только в том случае, если LUIS получает намерение 'NONE' с исходным запросом и повторяет его с измененным запросом.

Поэтому мне нужно изменить переменную во время выполнения и опубликовать новый запрос,Это возможно?

Это мой конструктор LuisDialog:

public BasicLuisDialog() : base(new LuisService(new LuisModelAttribute(
        LUIS_appId,
        LUIS_apiKey,
        domain: LUIS_hostRegion
        )
    {
        Verbose = true,
        BingSpellCheckSubscriptionKey = BING_key,
        SpellCheck = true
    }))
    {
    }

Спасибо и наилучшие пожелания Bahneby

1 Ответ

0 голосов
/ 08 января 2019

Итак, глядя на документ Programmatic LUIS API , на самом деле не похоже, что есть способ редактировать вашу модель LUIS программным способом, чтобы включить / исключить проверку орфографии Bing.


Однако, как говорится, возможно, вы могли бы заняться разработкой своей программы для фактического вызова проверки орфографии Bing с вашего бота вместо того, чтобы LUIS позаботился об этом.

Psuedocode будет:

  1. Получить высказывание из текста сообщения, которое пользователь отправляет вашему боту ( без проверки орфографии )
  2. Отправить высказывание в LUIS
  3. Если результат LUIS показывает, что намерение равно Нет => в методе, который обрабатывает Нет намерения, примите сообщение и «отфильтруйте» его через BingAPI проверки правописания
  4. Вызовите LUIS снова из обработчика намерений None, , используя проверенное произнесение высказывание , полученное из API проверки правописания Bing

И вы можете проверить примеры того, как сделать вызов API проверки правописания Bing, из их документации здесь на разных языках.


РЕДАКТИРОВАТЬ:Просто заметил, что конечная точка вызывается на портале LUIS ai, если вы включитепроверка пелла

Для шагов 3 и 4 в псевдокоде выше вы, вероятно, можете просто объединить их, отредактировав конечную точку, которую ваш бот вызывает во втором вызове LUIS из обработчика намерений None внутри вашего бота.

Просто измените параметр url spellCheck=true (и при исходном вызове в LUIS вы можете задать spellCheck = false`)

Пример URL-адреса конечной точки:

https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/LUIS_APP_ID?spellCheck=true&bing-spell-check-subscription-key=%7BYOUR_BING_KEY_HERE%7D&verbose=true&timezoneOffset=-360&subscription-key=LUIS_SUBSCRIPTION_KEY&q=

...