Генератор синонимов и орфографических ошибок для ЛУИСА

#azure-language-understanding #synonym #luis.ai #misspelling

Вопрос:

Я работаю над чат — ботом, который использует LUIS, и в моем проекте много сущностей. Поскольку ЛУИС не выявляет орфографические ошибки и синонимы , мы работаем над их добавлением вручную. Но поскольку это требует больших усилий вручную, я хотел бы знать, существует ли какой-либо разумный способ создания синонимов и орфографических ошибок для списка объектов, которые я добавил в свой LUIS.

Кто-нибудь может дать мне знать, если у вас есть какие-либо идеи по этому поводу? Помощь здесь очень ценится.

Ответ №1:

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

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

 const { LuisRecognizer } = require('botbuilder-ai');

// Then within the constructor...
        const dispatchRecognizer = new LuisRecognizer({
            applicationId: process.env.LuisAppId,
            endpointKey: process.env.LuisAPIKey,
            endpoint: `https://${ process.env.LuisAPIHostName }`
        }, {
            includeAllIntents: true,
            includeInstanceData: true,
            spellCheck: true,
            bingSpellCheckSubscriptionKey: process.env.bingAPIKey
        }, true);
 

Если вы используете v3 распознавателя LUIS, я считаю, что вам нужно отдельно выполнить вызов API и вернуть результат проверки орфографии для использования в вашем вызове LUIS.