Генерація природної мови в колл-центрі 3CX
Введення
Часто нам потрібно відтворити аудіо-інформацію, яка не була записана заздалегідь, і витягується з джерела даних динамічно ім'я особи, назва міста, статус замовлення і т. п. Особливо ця можливість затребувана в колл-центрах і порталах самообслуговування. Для цього краще всього використовувати технологію TTS (перетворення тексту в мову), оскільки вона динамічно створює потрібні аудіофайли, а голосове додаток, що працює на сервері 3CX, програє їх абоненту. Для генерації звуків використовується певний веб-сервіс, після чого створюється локальний WAV файл. Коли розмова з абонентом завершився, файл видаляється для звільнення місця на диску. Для даної можливості в 3CX слід зареєструвати аккаунт на Amazon Web Services.
3CX використовує веб-сервіс TTS Amazon Polly. Після вивчення різних TTS сервісів, ми з'ясували, що Amazon Polly володіє відмінною якістю генерації, хорошим охопленням мов, безліччю різних голосів і дуже доступною ціною. Також він безкоштовний протягом першого року використання! З іншого боку, в майбутньому ми плануємо додати підтримку TTS і від інших світових виробників.
Зверніть увагу - для роботи TTS генерації необхідно використовувати 3CX v15.5 SP2 і вище.
Середовище розробки 3CX Call Flow Designer отримала новий тип аудіо-повідомлень Text to Speech Audio Prompt. Ви можете вибрати його в будь-якому місці, де потрібно програти повідомлення, наприклад, в компонентах Prompt Playback, Menu, User Input та інших. У цій статті ми розповімо, як створити обліковий запис Amazon Web Services, включити Amazon Polly і почати використовувати компонент Text to Speech Audio Prompt для генерації природної мови у вашому колл-центрі.
Для вашої зручності, демо-проект цього голосового додатки поставляється разом з дистрибутивом 3CX CFD і знаходиться в папці Documents\3CX Call Flow Designer Demos. Зверніть увагу - середовище розробки 3CX CFD поставляється безкоштовно. Але голосові програми будуть виконуватися тільки на 3CX Pro.
Створення акаунт Amazon Web Services (AWS)
Перед початком роботи з CFD додатком, створіть акаунт Amazon Web Services. Для цього ознайомтеся з керівництвом від Amazon.
Створення службового користувача Identity and Access Management (IAM)
Після створення AWS, зареєструйте користувача, облікові дані якого наше голосове додаток використовує для доступу до AWS. Дотримуйтесь керівництву від Amazon. Виберіть тип доступу Programmatic access. При налаштування прав доступу, виберіть Attach existing policies directly, потім знайдіть і позначте AmazonPollyFullAccess.
Потім перейдіть в параметри користувача в розділ Security credentials і натисніть Create access key. Зафіксуйте Access key ID Secret access key - ці дані будуть потрібні при налагодженні TTS сервісу в голосовому додатку.
Увага! Ознайомтеся з обмеженнями TTS Amazon Polly. Ці обмеження не повинні створювати проблем у більшості CFD додатків, однак майте їх огляду.
Створення проекту
Для створення проекту CFD перейдіть в File → New → Project, вкажіть папку розміщення проекту і його ім'я, наприклад, TextToSpeechDemo.
Виділіть проект в розділі Project Explorer. Розглянемо параметри проекту (розділ Properties), які необхідно вказати для роботи TTS:
- AmazonClientID - Access key ID, згенерований вище.
- AmazonClientSecret - Secret access key, згенерований вище.
- AmazonRegion - виберіть географічний регіон AWS, найближчий до розташування сервера 3CX.
Додавання компонента Prompt Playback
Як було сказано раніше, зазвичай TTS використовується для генерації мовлення з тексту, отриманого з бази даних або веб-сервісу. Але для спрощення нашого прикладу ми підготуємо коротку фразу, додамо до неї змінну з нашого голосового програми і перетворимо все це мова. Ми визначимо змінну AccountBalance та встановимо її значення в 100. Потім підготуємо фразу: "Баланс вашого рахунку 100 доларів".
Для додавання компонента Prompt Playback:
- Перемістіть компонент Prompt Playback у вікно розробки програми (Main callflow). Виберіть компонент і в розділі властивостей перейменуйте його в playPrompt.
- Там же відкрийте Prompt Collection Editor, натиснувши кнопку біля властивості Prompts.
- Натисніть Add для додавання нового в повідомленні в колекцію і змініть тип повідомлення Text to Speech Audio Prompt.
- Виберіть голос, який ви хочете використовувати. Список голосів відсортований по мові. Голоси, доступні для Amazon Polly, перераховані тут. Якщо Amazon випустить новий голос, не представлений у списку, ви можете почати використовувати його, вказавши ідентифікатор стовпця Name/ID. Якщо ви хочете, щоб певний голос завжди був встановлений у додатку за умовчанням, виберіть його в меню 3CX CFD Tools > Options > Component Templates > Text To Speech. Для нашого прикладу будемо використовувати голос Joanna (English - US, Female).
- Виберіть тип тексту: Text і SSML (Speech Synthesis Markup Language). Як правило, ви будете використовувати Text. При цьому значення властивості Text - звичайний набір символів (plain text), і TTS сервіс буде синтезувати його як є. Якщо ви вкажете тип SSML, значення властивості Text - XML файл у відповідності зі специфікацією SSML. SSML дозволяє задавати різні параметри мовлення: вимова, гучність, швидкість. Для додаткової інформації див. керівництво Using SSML. У нашому прикладі використовується тип Text.
- Вкажіть вираз для опції Text. Залежно від типу тексту, вибраного в попередньому кроці, вираз має повернути простий текст для синтезу або XML дані, відповідно до SSML специфікацією. Для нашого прикладу використаємо наступне вираз:
Компіляція та встановлення програми на сервер 3CX
Голосове додаток готове! Тепер його слід скомпілювати і завантажити на сервер 3CX. Для цього:- Перейдіть в меню Build > Build All, і CFD створить файл PredictiveDialerDemo.tcxvoiceapp.
- Перейдіть в інтерфейс управління 3CX, в розділ Черги дзвінків. Створіть нову Чергу викликів, вкажіть назву і додатковий номер Черги, а потім встановіть опцію Голосові програми і завантажте скомпільований файл.
- Збережіть зміни в черзі. Виконайте виклик на додатковий номер Черги, щоб протестувати програму. Зверніть увагу - при самому першому дзвонику в додаток, TTS генерація може бути виконана з затримкою в декілька секунд. Це пов'язано з процесом аутентифікації і відбувається тільки один раз.
Висновок
Зазвичай в синтезованої мови використовується кілька статичних повідомлень, наприклад, привітання для користувачів або вибір опції меню, і кілька динамічних - наприклад, баланс рахунку. Бажано використовувати TTS сервіс Polly тільки для змінюваних даних - це дозволить уникнути додаткових витрат на синтез повторюваних фраз. З іншого боку, необхідно, щоб всі були вимовлені фрази однаковим голосом. Для цього краще всього створити готові голосові файли для статичних фраз через консоль Amazon Polly і завантажити їх як WAV файли в голосове додаток. Використовуйте ці файли у звичайних повідомленнях Audio File Prompt замість повторюваної динамічної генерації.
В консолі Amazon Polly виберіть вашу мову, регіон, бажаний голос, введіть потрібний текст і натисніть Download MP3. Зверніть увагу, 3CX використовує звуковий формат WAV, Моно, 8.000 Гц, 16 біт. Тому після завантаження файлу сконвертируйте його в підтримуваний формат, як вказано тут.
- Комплекти обладнання Poly Studio Room Kits є готовими рішеннями для підготовки вашого конференц-залу до відеоконференцій у системі Microsoft Teams Rooms. Poly пропонує рішення для кімнат переговорів та конференц-залів різного розміру. Ви зможете підібрати потрібне рішення в залежності від розміру конференц-залу. При цьому у всього обладнання буде однаковий інтерфейс управління та найголовніше - висока якість відео та звуку та фірмові технології Poly.
- В огляді порівнюються 4 моделі камер компанії Kandao. Всі вони забезпечують круговий огляд 360 градусів, мають вбудовані динаміки та мікрофони, але відрізняються додатковими можливостями та відповідно ціною. Розглянуті такі моделі – Kandao Meeting 360, Kandao Meeting Pro, Kandao Meeting Ultra Standart та Kandao Meeting Ultra.