Перейти к основному содержимому

$dialer.setAsrConfig

Метод переопределяет настройки провайдера ASR телефонного канала, через который проходит текущий звонок.

Новые настройки распространяются только на текущую сессию и не влияют на глобальные настройки канала. Они используются, пока не будут переопределены еще раз или пока звонок не завершится.

Синтаксис

Метод принимает в качестве аргумента объект с новыми настройками ASR. Передавать каждый раз все настройки провайдера не нужно — достаточно указать те, которые вы хотите переопределить.

// Настройки для провайдера Google
$dialer.setAsrConfig({
lang: "tr-TR",
model: "command_and_search"
});
предупреждение
  • Если вы укажете в объекте поля, которые провайдер не поддерживает, они будут проигнорированы.
  • Если вы передадите в метод не объект (например, строку), в сценарии возникнет ошибка.

Метод возвращает объект с новыми настройками провайдера. Вы можете узнать текущие настройки во время звонка с помощью метода $dialer.getAsrConfig.

Настройки провайдеров

Google

  • lang
    • Язык, на котором распознается речь.
  • model
    • Языковая модель для распознавания речи.

Яндекс

  • lang
    • Язык, на котором распознается речь.
  • model
    • Языковая модель для распознавания речи.
  • numbersAsWords
    • Если параметр включен, то обозначения чисел указываются в распознанном тексте в словесной, а не цифровой записи (например, тринадцать вместо 13).
  • sensitivityReduction
    • Включенный параметр уменьшает чувствительность распознавания к фоновому шуму.

Azure

  • language
    • Язык, на котором распознается речь.
  • outputFormat
    • Формат вывода данных.
  • profanityOption
    • Параметр определяет, что делать с обсценной лексикой в распознанном тексте: фильтровать, маскировать или оставлять как есть.
  • enableDictation
    • Параметр включает распознавание речи под диктовку. В этом режиме слова, обозначающие знаки препинания и другие элементы разметки, распознаются как спецсимволы (например, запятая как,).

АСМ Решения

  • model
    • Языковая модель для распознавания речи.
  • sampleRate
    • Частота дискретизации.

Сбер

  • language
    • Язык, на котором распознается речь.
  • model
    • Языковая модель для распознавания речи.

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, наполнение классификатора, тексты ответов бота. Подробнее о том, как учесть это при разработке, вы можете узнать в пошаговом сценарии многоязычного бота.