Полная остановка, добавленная распознаванием речи в конце произнесенного предложения, не соответствует действию - PullRequest
0 голосов
/ 10 января 2020

Я разработал Virtual Assistant и использую WebChat для тестирования его с помощью Cognitive Speech Services. У меня есть проблема: некоторые ответы от бота включают предлагаемые действия, например,

"Choose a color"
"RED" "BLUE" "GREEN"

При вводе или нажатии выбранного цвета все в порядке. Если я использую речь с микрофоном, в конце предложения добавляется «полная остановка», то есть «СИНИЙ». Таким образом, LUIS не распознает ответ и повторно задает вопрос.

Каков наилучший способ заставить его правильно распознавать? Есть ли способ отключить добавление конечной полной остановки речевым движком? Или есть лучшее решение? (например, нормализация пунктуации в LUIS, чтобы она игнорировала это или что-то еще?)

1 Ответ

0 голосов
/ 10 января 2020

Вы захотите отменить действие любой пунктуации после того, как она была получена вашим ботом, но до того, как она будет отправлена ​​и обработана LUIS. Вы можете использовать следующее регулярное выражение, чтобы удалить ненужные символы (выберите символы, которые вы хотите удалить ... Я включил много) и заменить оставшиеся пробелы, например, так:

let text = turnContext.context .activity.text; let scrubbedText = text.replace (/[.,/#!$%\^&*;:ndomtially=-_ `~ ()] / g," "); const finalString = scrubbedText.replace (/ \ s {2,} / g, "");

Затем обновите файл activity.text с очищенным текстом и отправьте его в LUIS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...