#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.