Вопросы для разбора:
- Общие подходы к интеграции с сервисами распознавания и синтеза речи.
- Поддерживаемые на текущий момент интеграции.
- Принцип построения сценариев автоматического обслуживания.
- Контроль расходов на использование внешних сервисов.
- Детектор ответов CPD. Назначение, принцип работы, использование в сценариях.
Выполняя задания темы будет опробован сервис распознавания и синтеза речи Yandex SpeechKit, а также получен опыт создания интерактивных сценариев, взаимодействующих с абонентом голосом.
Задание 9.3. Интерактив
Интерактив
Будет получен опыт создания сценария простейшего голосового бота, взаимодействующего с абонентом.
1. Создайте новый сценарий "dialog" и настройте его на номер 512.
2. Реализуйте в нем диалог по следующему сценарию:
– Добрый день/вечер (в зависимости от времени дня). Как вас зовут? – Иван Егорович – Иван Егорович, текущее время 10 часов 20 минут (актуальное время).
* Может быть у вас получится подключить бота и построить более сложный диалог, опираясь на вопросы абонента?
В качестве ИИ движка для генерации ответов абоненту можно использовать внешние сервисы.
Задание 9.2. TTS и ASR длинных аудио
ASR длинных аудио и TTS
Будет опробован сервис распознавания длинных аудио с помощью отдельного компонента по работе с длинными аудио. Также будет опробован сервис синтеза речи по тексту.
1. Создайте новый сценарий "record_asr" и настройте его на номер 511.
2. Запишите в сценарии длинный файл с помощью компонента "Запись".
- Начитайте туда известное вам стихотворение с выражением, длительностью более 2 минут.
- Настройте прерывание записи по тишине.
3. Полученный файл отправьте на распознавание.
4. Внесите параметры яндекс облака в настройки домена (раздел storage)
Если у вас еще не подключено S3-хранилище в яндекс-облаке, то создайте учетную запись в яндекс-облаке. Если уже есть, то используйте его настройки.
5. Результат распознавания:
- выведите в уведомление
- воспроизведите с помощью синтеза.
Задание 9.1. ASR с прерыванием
ASR. Выбор варианта абонентом. Прерывание.
Разбирается основной кейс, когда абоненту воспроизводится информация, которую он может прервать с помощью DTMF, либо голосом, начав сразу формировать свой ответ на заданный ему вопрос.
1. Создать новый сценарий "query_asr" и настройте его на номер 510.
2. Реализовать блок из вопроса абоненту, который может выбрать вариант с помощью DTMF, ответить голосом, в том числе и прервав воспроизведение.
3. Использовать компонент ASR.
Если нет готового аккаунта, то
- создайте новый на яндексе;
- настройте параметры подключения в параметрах домена (раздел speechkit).
4. В зависимости от выбора абонента выполнить различные действия. (Например, озвучить его выбор)
5. Протестируйте звонком. Выбор варианта осуществляйте
- DTMF после окончания аудиофайла,
- DTMF во время звучания аудиофайла,
- голосом после окончания аудиофайла,
- голосом во время звучания аудиофайла.
При необходимости запишите аудиофайлы с запросом у абонента на странице яндекс-speechkit и преобразуйте их в wav или mp3 с помощью audacity или консольного ffmpeg.
Какие сложности возникли?