GH GambleHub

Голосові інтерфейси та асистенти

1) Що таке VUI і коли він потрібен

Голосовий інтерфейс (VUI) - спосіб взаємодії через мовлення: асистенти в додатку/браузері, розумні колонки, IVR/телефонія, голос в авто і ТБ.
Підходить для: рук-зайнятих сценаріїв (водіння, кухня), швидких команд («включи»..., «подзвони»...), доступності, навігації по складних меню.
Не підходить для: точного візуального вибору (каталоги, таблиці), довгого введення структурованих даних без екрану.

2) Модель діалогу: інтенти, сутності та контекст

Інтент (мета): що хоче користувач: «Створити _ платіж», «Перевірити _ баланс».
Слоти/сутності: параметри мети: сума, валюта, адресат, дата.
Контекст/діалог-стейт: що вже відомо, що уточнюємо, де розгалуженим.
Правила підтвердження: що підтверджуємо явно (гроші, персональні дані).

Приклад схеми інтента (псевдо-JSON):
json
{
"intent": "MakeDeposit",
"slots": {
"amount": {"type": "number", "required": true, "confirm": "sensitive"},
"currency": {"type": "currency", "required": true, "default": "UAH"},
"method": {"type": "payment_method", "required": false}
}
}

3) Патерни діалогу

1. Команда однією фразою: «Поповни рахунок на 500 гривень Apple Pay». → підтвердження → дію.
2. Уточнюючий діалог: «Кому перекласти?» → «На яку суму?» → підтвердження.
3. Покроковий майстер: складні сценарії з перевіркою даних і зворотним кроком.
4. Розпізнавання наміру + NLU-перефраз: підтримка варіативних формулювань.
5. Швидкі довідки: «Які ліміти на виведення?» - коротка відповідь + «Показати на екрані».

4) Формулювання: голос і тон

Голос бренду: впевнений, спокійний, доброзичливий; без зменшувальних і «жартів» у критичних кроках (платежі, безпека).

Макс. довжина репліки асистента: 1-2 пропозиції; довгі відповіді - розбивати і пропонувати «Продовжити?»

Питання - конкретні: «На яку суму поповнити?» замість «Що робимо далі?»

5) Підтвердження, безпека та етика

Жорстке підтвердження чутливих дій: проговорювати ключові параметри ("Поповнити на 500 гривень карткою... 4581? »)

Подвійне підтвердження для незворотних операцій.
Без озвучування повних персональних даних.
Можливість скасування/відкату: «Скасування», «Стоп», «Скасувати останній крок».

6) Помилки і нерозуміння

Типи збоїв і відповіді:
  • ASR-помилка (не розчув): "Не розчула суму. Повторіть, будь ласка"
  • NLU-незрозуміло: "Я не зрозуміла запит. Можу поповнити рахунок або показати баланс. Що виберете?"
  • Немає даних/обмеження: "Цей метод недоступний у вашому регіоні. Назвати інші варіанти?"
  • Мережа/сервіс: "Зараз немає зв'язку з платіжним сервісом. Повторити через хвилину?"

Правило: максимум 2 спроби перепитування → запропонувати альтернативу (на екран/людину).

7) Швидкість і бардж-ін (перебивання)

Латентність TTFB: цільова <300-500 мс; якщо довше - короткий «ем-мм» -сигнал/earcon.
Barge-in: користувач може перебити асистента в будь-який момент; обробляємо переривання коректно.
Стрімінг відповіді: починаємо говорити раніше, ніж готовий весь текст, але без обриву сенсу.

8) TTS/ASR и SSML: Як говорити «людяно»

Вимова чисел/валют/дат: локальні формати («п'ятсот гривень», «15 листопада»).
Паузи та наголоси: SSML `<break time="300ms"/>`, `<emphasis level="moderate">`.
Читання абревіатур/кодів: `<say-as interpret-as="characters">IBAN</say-as>`.
Швидкість і тембр: не швидше 0. 9 × базовою, щоб було розбірливо.

Приклад SSML:
xml
<speak>
Top up on <say-as interpret-as = "cardinal"> 500 </say-as>
<sub alias = "hryvnia"> UAH </sub>?
<break time="300ms"/>
Please confirm.
</speak>

9) Мультимодальність: голос + екран

Візуальні підказки: картка підтвердження, список методів, прогрес.

Hand-off на екран: "Я відправила варіанти на екран. Виберіть метод"

Синхронізація стану: голос ініціює, екран завершує (і навпаки).

10) Багатомовність і локалізація

Автовизначення мови по сесії/налаштуванню, а не по одній фразі.
Глосарій термінів: єдина термінологія для RU/UA/TR/EN.
Регіональні формати чисел/валют/дат, вимова імен/топонімів.
Перемикання у діалоговому вікні: «Перейти на українську» - явна команда.

11) Доступність (A11y) у голосі

Підтвердження дій - чітке і коротке.
Повтор за запитом: «Повторити» озвучує останню репліку.
Гучність/швидкість: «Говори повільніше/тихіше/голосніше».
Для слабочуючих: субтитри/транскрипт на екрані, вібро-сигнали.
Для порушень мовлення: альтернативні способи введення (кнопка, пресети).

12) Конфіденційність, логування та комплаєнс

Wake-word і індикатор запису: явний стан «слухаю».
Локальна обробка, якщо можливо; інакше - мінімізація даних.
Маскування чутливих фрагментів в логах (PAN, IBAN, адреса) і авто-редакція аудіо.
Терміни зберігання і право на видалення за запитом; параметри «Не зберігати історію».
Вікові обмеження/батьківський контроль (дитячі голоси/команди).

Прозорість: "Я записую цю команду, щоб поліпшити розпізнавання. Можна відключити в налаштуваннях"

13) Персона асистента

Ім'я/персона: коротка біографія, область компетенцій, що вміє/не вміє.
Тон щодо ситуацій: звичайний (доброзичливий), критичний (нейтральний), навчальний (підтримуючий).
Межі: «Я не даю фінансових порад, але можу показати довідку».

14) Метрики якості VUI

Intent recognition rate (точність NLU).
Slot fill rate и avg. turns to fill.
ASR WER/CER (помилка розпізнавання слів/символів).
Task Success / Completion rate и Time-to-Complete.
Escalation rate (на оператора/екран).
Barge-in usage и Latency p95.
User Satisfaction/CSAT після сценарію.
Abandonment на кроці.

15) Тестування і QA голосу

Набори тестових фраз: синоніми, розмовні форми, акценти, помилки.
Шуми оточення: вулиця/авто/кухня, різні мікрофони.
Діалог-реплеї: відтворювані сценарії, golden-set для регресії.
Wizard-of-Oz на ранніх етапах.
Юридичні сценарії: як асистент реагує на потенційно небезпечні запити.

16) Інтеграція з продуктом (iGaming-кейси)

Баланс/депозит/висновок: "Який баланс? ", "Поповнити на 200 UAH"..., "Статус виведення".
Бонуси/місії: "Які бонуси доступні? ", "Активуй тижневий кешбек".
Відповідальна гра: «Установи ліміт депозиту 1000 UAH на тиждень».

Статус систем: «Чи є зараз техроботи?»

17) Анти-патерни

Довгі монологи асистента без можливості перебити.
Неявні підтвердження грошових операцій.
Безальтернативне «не зрозуміла» без підказки варіантів.
Надлишкові звуки/джингли, що заважають сприйняттю.
Спроба «голосом» вирішувати завдання, де потрібен детальний візуальний вибір.

18) Шаблони промтів і відповідей

Уточнення слота (сума):
  • Асистент: «На яку суму поповнити рахунок?»
  • Користувач: «П'ятсот».
  • Асистент: "Поповнити на 500 гривень? Підтвердіть, будь ласка"
Підтвердження чутливої дії:
  • "Підтвердіть поповнення на 500 гривень карткою... 4581. Сказати «підтверджую» або «скасування»
Нерозуміння + напрямна підказка:
  • "Я не розчула метод оплати. Можу запропонувати: Apple Pay, карта, криптогаманець. Що виберете?"
Ескалація на екран:
  • "Відправила доступні методи на екран. Виберіть і скажіть "готово", щоб продовжити"

19) Приклади SSML-патернів

Числа/валюта і пауза:
xml
<speak>
Your current balance is
<say-as interpret-as="cardinal">1250</say-as>
<sub alias = "hryvnia"> UAH </sub>.
<break time="250ms"/>
Shall we continue?
</speak>
Акцент на важливому слові:
xml
<speak>
<emphasis level = "moderate "> Caution </emphasis>: Verification is required for output.
</speak>
Вимова абревіатури:
xml
<speak>
Recharge with <say-as interpret-as = "characters"> IBAN </say-as>?
</speak>

20) Чек-листи

Діалог/контент перед релізом

  • На кожен інтент - список синонімів/варіантів фраз.
  • На кожен обов'язковий слот - одне чітке питання.
  • Чутливі дії - з явним підтвердженням.
  • Є коротка альтернатива «на екран «/« оператор ».
  • Репліки ≤ 2 пропозицій; довгі - з "Продовжити? ».

Техніка та якість

  • Підтриманий barge-in і повернення в діалог після перебивання.
  • Латентність p95 в нормі; є earcons при затримці.
  • SSML налаштований: паузи, числа, наголоси.
  • Логи знеособлені/замасковані; управління історією є.
  • Багатомовність і локальні формати перевірені.

A11y та безпека

  • «Повторити/Говори повільніше/Голосніше» працюють.
  • Не озвучуються повні персональні/платіжні дані.
  • Є скасування/відкат дії голосом.
  • Вікові та регіональні обмеження перевірені.

21) Каркас специфікації діалогу (шаблон)

Мета сценарію: (наприклад, «Депозит ≤ 90 сек»)

Інтенти та синоніми: список прикладів фраз.
Слоти: `amount` (req, confirm), `currency` (default=UAH), `method` (enum).
Правила підтверджень: для яких значень/порогів потрібен повтор.
Варіанти помилок: ASR, NLU, немає сервісу - тексти + гілки.
Мультимодальні виходи: які картки/екрани показуємо.
Логи і приватність: що і як маскуємо, TTL зберігання.

Підсумкова шпаргалка

Спочатку інтенти/слоти/правила підтверджень, потім тексти.
Говоріть коротко, дозволяйте перебивати і скасовувати.
Налаштуйте SSML, локальні формати та тон за контекстом.
Тримайте приватність і логування під контролем.
Вимірюйте Intent/Slot/ASR-метрики, Task Success і латентність.
Завжди майте альтернативу на екран і шлях до людини.

Contact

Зв’яжіться з нами

Звертайтеся з будь-яких питань або за підтримкою.Ми завжди готові допомогти!

Telegram
@Gamble_GC
Розпочати інтеграцію

Email — обов’язковий. Telegram або WhatsApp — за бажанням.

Ваше ім’я необов’язково
Email необов’язково
Тема необов’язково
Повідомлення необов’язково
Telegram необов’язково
@
Якщо ви вкажете Telegram — ми відповімо й там, додатково до Email.
WhatsApp необов’язково
Формат: +код країни та номер (наприклад, +380XXXXXXXXX).

Натискаючи кнопку, ви погоджуєтесь на обробку даних.