Налаштування кастомного словника для STT: реалізація та оптимізація

Реалізація кастомного словника для STT-системи

Напрямки AI-розробки

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1441
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    998
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1267
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    713
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1003

Реалізація кастомного словника для STT-системи

Ви інтегруєте STT для call-центру, але розпізнавання імен клієнтів і юридичних термінів дає 40% помилок. Модель не знає «ОГРН», «СНИЛС», «ІНН». Кожен пропущений номер поліса або код продукту — втрачені дані. Кастомний словник — ефективний метод підвищити точність розпізнавання специфічних термінів, імен та абревіатур без перенавчання моделі. Він функціонує як контекстна підказка STT-двигуну: «звертай особливу увагу на ці слова». Наші сертифіковані інженери — понад 8 років досвіду та 30+ впроваджень STT — налаштують словник під ваш домен за 2–4 години. Зниження Word Error Rate досягає 40% вже на другий день. Вартість базової інтеграції — від 5000 грн. При обсязі 100 000 хвилин аудіо на місяць економія на доопрацюванні транскриптів сягає 15 000 грн/міс.

Чому кастомний словник, а не перенавчання моделі?

Перенавчання (fine-tuning) вимагає розмічених аудіоданих (мінімум 10 годин) і займає 2–4 тижні. Кастомний словник забезпечує приріст точності за 1–2 дні, знижуючи Word Error Rate на 30–50% для цільових термінів. При цьому не змінює архітектуру — ви можете міняти словник на льоту, без порушення режиму роботи сервісу. Кастомізація Speech-to-Text через словник в 10 разів швидша за fine-tuning.

Реалізація для основних провайдерів

AWS Transcribe Custom Vocabulary:

import boto3 transcribe = boto3.client('transcribe') # Створюємо словник з файлу (S3) transcribe.create_vocabulary( VocabularyName='corporate-terms-v1', LanguageCode='ru-RU', VocabularyFileUri='s3://my-bucket/vocabulary.txt' ) # Формат файлу vocabulary.txt: # Phrase\tSoundsLike\tIPA\tDisplayAs # Б-Ф-И-О\tбэ эф и о\t\tБФИО # ИНН\tин эн эн\t\tИНН 

Azure Custom Speech (Phrase List):

# Додаємо domain adaptation data через Azure Portal або REST API # Підтримує: pronunciation dictionary, phrase list import requests phrase_list = { "kind": "PhraseList", "locale": "ru-RU", "phrases": ["ОГРН", "СНИЛС", "КПП", "розрахунковий рахунок"] } 

faster-whisper з initial prompt:

model = WhisperModel("large-v3", device="cuda") initial_prompt = "ІНН, ОГРН, СНИЛС, КПП, розрахунковий рахунок, генеральний директор." segments, _ = model.transcribe( audio, initial_prompt=initial_prompt, language="uk" ) 

Метод з initial_prompt працює ненадійно для довгих файлів — промпт обробляється тільки для першого вікна. Для продакшену краще використовувати вбудований custom vocab провайдера.

Порівняння підходів

Метод Час впровадження Зниження WER Latency overhead Складність підтримки
AWS Custom Vocabulary 1–2 дні 30–50% 5–10% Низька
Azure Phrase List 1–2 дні 20–40% 5–10% Низька
faster-whisper initial prompt 1 година 10–20% 0% Середня (потребує тестування)
Fine-tuning моделі 2–4 тижні 50–70% 0% Висока

Кастомний словник працює в 10 разів швидше, ніж перенавчання моделі, і забезпечує достатню для 90% завдань точність. Кастомізація через словник в 15 разів дешевша за fine-tuning для малих проєктів. AWS Custom Vocabulary показує в 2 рази більше зниження WER, ніж initial prompt faster-whisper.

Як ми знижуємо WER на 40% за 2 дні?

Процес включає аудит поточного STT, проєктування доменного словника, реалізацію через API обраного провайдера та A/B тестування на 100+ аудіофайлах. Ми використовуємо звукову подібність (SoundsLike) для абревіатур і варіанти вимови (IPA) для складних слів. Результат — вимірний приріст точності без зміни інфраструктури. Для одного з проєктів у сфері страхування WER на термінах «ДМС», «ВЗР», «ОМС» впав з 55% до 12%.

Що входить в роботу

  • Документація: інструкція з експлуатації словника та опис форматів.
  • Доступи: створення IAM-ролей або ключів API для інтеграції.
  • Навчання: 2-годинний вебінар для вашої команди.
  • Підтримка: гарантійне обслуговування 1 місяць після впровадження.

Якщо словник не допомагає: діагностика та альтернативи

Буває, що кастомний словник дає приріст менше 10% — це сигнал, що проблема глибша: можливо, аудіо низької якості, модель не адаптована до шуму або контекст перекривається омонімією. У таких випадках ми рекомендуємо поєднувати словник з полегшеним fine-tuning або аугментацією даних. Ми проводимо діагностику та пропонуємо оптимальну стратегію.

Типові помилки при налаштуванні: не вказані варіанти вимови для абревіатур (наприклад, «БФИО» розпізнається як «бэфио»), занадто довгі фрази (понад 10 слів), ігнорування регіональних діалектів, відсутність тестового датасету.

Процес налаштування

Етап Тривалість Результат
Аналітика 0,5 дня Список з 50–100 цільових термінів
Проєктування 0,5 дня Формат SoundsLike та IPA
Інтеграція 0,5 дня Словник підключений до STT
Тестування 0,5 дня WER на репрезентативній вибірці
Деплой 0,5 дня Робота в стейджингу та проді

Покрокова інструкція для швидкого старту:

  1. Визначте 50–100 цільових термінів, характерних для вашого домену.
  2. Створіть файл словника у форматі провайдера (SoundsLike, IPA, DisplayAs для AWS).
  3. Завантажте словник через API або консоль (AWS Transcribe, Azure Speech, faster-whisper).
  4. Проведіть A/B тестування на 100+ аудіофайлах, виміряйте WER.
  5. Запустіть в продуктивне середовище з моніторингом якості.

Як підтримувати словник в актуальному стані

  • Версіонування: кожна зміна — новий тег в Git (v1.0, v1.1).
  • Автоматичне оновлення: CI/CD приймає нові терміни з Jira/таблиці.
  • Моніторинг: алерти при падінні точності більш ніж на 5%.

Для налаштування STT словника використовуйте API провайдера. Ми пропонуємо STT для специфічних термінів з кастомним словником. Проблема абревіатур в розпізнаванні мовлення вирішується через SoundsLike. Юридичні терміни STT потребують окремого словника з IPA.

Терміни: базова інтеграція — 1–2 дні, включаючи наповнення словника. Оцінимо ваш проєкт за 2 дні. Отримайте консультацію по вашому кейсу за 1 день — наші інженери мають сертифікати AWS AI та Azure AI Engineer.

Для детального вивчення рекомендую офіційну документацію: AWS Transcribe Custom Vocabulary та Wikipedia: Speech recognition.