$dialer.setAsrConfig
Метод переопределяет настройки провайдера ASR телефонного канала, через который проходит текущий звонок.
Новые настройки распространяются только на текущую сессию и не влияют на глобальные настройки канала. Они используются, пока не будут переопределены еще раз или пока звонок не завершится.
Синтаксис
Метод принимает в качестве аргумента объект с новыми настройками ASR. Передавать каждый раз все настройки провайдера не нужно — достаточно указать те, которые вы хотите переопределить.
// Настройки для провайдера Google
$dialer.setAsrConfig({
lang: "tr-TR",
model: "command_and_search"
});
- Если вы укажете в объекте поля, которые провайдер не поддерживает, они будут проигнорированы.
- Если вы передадите в метод не объект (например, строку), в сценарии возникнет ошибка.
Метод возвращает объект с новыми настройками провайдера.
Вы можете узнать текущие настройки во время звонка с помощью метода $dialer.getAsrConfig
.
Настройки провайдеров
Google
Яндекс
lang
- Язык, на котором распознается речь.
model
- Языковая модель для распознавания речи.
numbersAsWords
- Если параметр включен, то обозначения чисел указываются в распознанном тексте в словесной, а не цифровой записи (например, тринадцать вместо 13).
sensitivityReduction
- Включенный параметр уменьшает чувствительность распознавания к фоновому шуму.
Azure
language
- Язык, на котором распознается речь.
outputFormat
- Формат вывода данных.
profanityOption
- Параметр определяет, что делать с обсценной лексикой в распознанном тексте: фильтровать, маскировать или оставлять как есть.
enableDictation
- Параметр включает распознавание речи под диктовку. В этом режиме слова, обозначающие знаки препинания и другие элементы разметки, распознаются как спецсимволы (например, запятая как,).
АСМ Решения
model
- Языковая модель для распознавания речи.
sampleRate
- Частота дискретизации.
Сбер
3iTech
lang
- Язык, на котором распознается речь.
model
- Языковая модель для распознавания речи.
Использование в сценарии
Большинство провайдеров позволяют изменить язык и модель распознавания речи.
Если вы разрабатываете сценарий телефонного бота, который должен поддерживать диалог с пользователями на разных языках.
используйте метод $dialer.setAsrConfig
, чтобы динамически менять распознаваемый язык.
state: SpeakEnglish
q!: * говори* [по] английск* *
script:
var provider = $dialer.getAsrProvider(); # Получение имени текущего провайдера
if (provider === "google") {
$dialer.setAsrConfig({ lang: "en-US" });
} else {
# Для других провайдеров переопределяемые поля и значения могут быть другими
}
a: How can I help you?
Обратите внимание, что выше приведен пример, а не окончательная реализация смены языка. В настоящем сценарии бота с поддержкой нескольких языков также требуется:
- Изменять язык не только распознавания, но и синтеза речи.
Для этого используйте метод
$dialer.setTtsConfig
. - Изменять язык NLU, наполнение классификатора, тексты ответов бота. Подробнее о том, как учесть это при разработке, вы можете узнать в пошаговом сценарии многоязычного бота.