Введение
Язык разметки синтеза речи (Speech Synthesis Markup Language) (SSML) — стандартизированный язык разметки на основе XML для управления синтезом речи. В контакт-центре SSML помогает сделать автоматические голосовые сообщения более естественными, выразительными и профессиональными. Теги позволяют задавать произношение, темп, высоту и громкость голоса, чтобы динамические данные — даты, денежные суммы и номера — звучали четко и правильно.
Предварительные условия
Для использования SSML настройте в контакт-центре учетную запись интеграции синтеза речи Google Cloud или IBM Watson.
Хотя SSML стандартизирован, рекомендуется ознакомиться с документацией вашего поставщика TTS:
Пример SSML в голосовом сценарии
Рассмотрим сценарий, в котором клиент звонит, чтобы подтвердить предстоящую запись на обслуживание. Дату записи и номер для обратного звонка нужно произнести естественно и понятно.
Создайте сценарий
Создайте новый голосовой сценарий или откройте существующий. В рабочем сценарии сведения о предстоящем визите клиента обычно получают с помощью блока Fetch URL, блока DB Executeили интеграции с CRM.
В следующем примере используются два блока Set Variable:
- Дата записи — «2024-09-10»; она хранится в переменной
appointment_date.
- Номер, который нужно сообщить клиенту, — «18005551212»; он хранится в переменной
callback_number.
Используйте SSML в блоке Play Prompt
Добавьте в сценарий блок Воспроизвести голосовое сообщение (Play Prompt) в том месте, где клиенту нужно сообщить сведения о записи. Внутри блока Воспроизвести голосовое сообщение (Play Prompt) используйте переменные в сообщении, добавив сегмент Голосовые вызовы.
Your appointment date of $(appointment_date) is confirmed. If you would like to contact the provider directly, please call $(callback_number).

Задайте формат даты
По умолчанию движок TTS может неправильно произнести дату из переменной. Например, значение «2024-09-10» в $(appointment_date), скорее всего, будет прочитано по символам: «two zero two four dash zero nine dash one zero», то есть «два ноль два четыре дефис ноль девять дефис один ноль».
Чтобы дата звучала естественно, используйте тег <say-as> с interpret-as="date". Он указывает движку произнести значение как дату: «{порядковое число дня} {месяц} {год}». Атрибут format должен соответствовать расположению года (y), месяца (m) и дня (d) в значении переменной. Части даты могут разделяться знаками препинания и/или пробелами; указывать эти разделители в атрибуте format не нужно.
<say-as interpret-as="date" format="yyyymmdd">$(appointment_date)</say-as>
Задайте формат номера телефона
Аналогично номер телефона, записанный непрерывной строкой цифр, может быть произнесен неправильно.
Для правильного чтения номера используйте тег <say-as> с interpret-as="telephone". Движок произнесет номер так, чтобы слушателю было удобно понять и записать его.
<say-as interpret-as="telephone">$(callback_number)</say-as>
Обновите сообщение и выберите голос TTS
Добавьте описанные теги форматирования в текст блока Play Prompt. Чтобы движок TTS обработал разметку, заключите сообщение целиком в теги <speak>.
Итоговый текст должен выглядеть следующим образом:
<speak> Your appointment date of <say-as interpret-as="date" format="yyyy-mm-dd">$(appointment_date)</say-as> is confirmed. If you would like to contact the provider directly, please call <say-as interpret-as="telephone">$(callback_number)</say-as>. </speak>

Для работы тегов SSML блок должен использовать совместимый движок TTS. Откройте вкладку Язык в настройках блока. В параметре Default TTS Voice (голос TTS по умолчанию)выберите нужный голос своей интеграции, например Google Cloud TTS или IBM Watson.

Другие распространенные способы использования SSML
Возможности SSML не ограничиваются форматированием дат и чисел. Полный перечень поддерживаемых тегов приведен в документации вашего поставщика TTS. Следующий пример показывает распространенные задачи контакт-центра: произнесение по символам, смысловое выделение и управление скоростью речи.
<speak>
<!-- Spelling out Reference Numbers -->
Your confirmation code is <say-as interpret-as="characters">XYZ09</say-as>.
<!-- Adding Emphasis -->
Please be aware that this change is <emphasis level="strong">permanent</emphasis>.
<break time="500ms"/>
<!-- Adjusting Speech Rate -->
<prosody rate="slow">Please write down the following security PIN: 5 9 2 1.</prosody>
<!-- Playing Pre-recorded Audio -->
<audio src="https://www.example.com/sounds/brand_jingle.mp3">
(Brand Jingle)
</audio>
<!-- Reading Currency Correctly -->
Your total due is <say-as interpret-as="currency">$45.50</say-as>.
<!-- Structuring with Paragraphs and Sentences -->
<p>
<s>First, verify the green light is on.</s>
<s>Then, press the reset button.</s>
</p>
</speak>
|
