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

Розпізнавання мовлення ламається на галузевих термінах, іменах і абревіатурах — співробітники переперевіряють розшифровки вручну. Ми налаштовуємо кастомний словник STT під ключ: збираємо термінологію, задаємо правила замін і передаємо готові регламенти. Ручне виправлення розшифровок скорочується в рази.
Часті запитання

Кастомний словник STT: де ламається розпізнавання

Розпізнавання мовлення помиляється нерівномірно: на побутових фразах якість розшифрування залишається високою, а на вузькоспеціальній термінології просідає передбачувано.

Моделі на кшталт Whisper навчені на загальному мовленні, тому за неоднозначності обирають частотніший варіант — прізвище «Курило» перетворюється на «курила», абревіатура читається по літерах, а артикул деталі в накладній стає випадковим набором цифр.

Системно ламаються три класи сутностей. Власні назви й топоніми: прізвища працівників, назви філій, рідкісні прив'язки. Абревіатури — вони звучать як злите слово, якого немає в загальному словнику.

І складені терміни: юридичні формулювання, найменування за класифікаторами, медичні та технічні назви, де помилка виникає на стику слів, і модель починає «здогадуватися» за звучанням.

Загальні налаштування цього не лікують. Поріг упевненості й авторедагування лише маскують проблему, підміняючи рідкісне слово частим, а мовна модель загального корпусу ваш домен не знає і за одним записом не вивчить.

Правки в готовому тексті не масштабуються: наступний файл приходить із тими самими помилками, а спотворені сутності вирушають у пошук по архіву, звіти та вижимки — частка коректно розпізнаних сутностей залишається низькою.

Вирішується це на рівні декодування: кастомний словник STT підказує системі очікувані слова та їхню вимову до розбору запису, а не після.

Далі розбираємо, як це закривається — звідки брати словник, як описувати вимови й як вимірювати, що помилки розпізнавання мовлення справді зникли.

Ефект від підлаштування: менше помилок на термінах та іменах

Перший замір робимо до будь-яких правок: розшифровуємо 30–50 хвилин реальних записів і вручну позначаємо розбіжності. База рахується на тій самій моделі, що піде в роботу, — зазвичай це Whisper або її донавчена гілка, — інакше порівняння «до і після» нічого не доводить.

Рахуємо не загальну точність, а частку помилок саме на словах домену: термінах, абревіатурах, назвах продуктів і прізвищах.

Після підключення кастомного словника повторюємо той самий замір на тому самому наборі записів і на нових. Дивимося не середню цифру, а розкид за дикторами та умовами запису — він показує, де словник працює, а де тягне зайве.

  • Частка помилок на профільній лексиці падає у 2–4 рази; окремо перевіряємо терміни, які раніше розпізнавалися неправильно завжди.
  • Обсяг ручних правок після розшифрування скорочується в рази, на типових записах усередині домену сягає нуля.
  • Стійкість до дикторів: термін правильно розпізнається у 8–10 різних голосів, включно з жіночими й низькими чоловічими, без підлаштування під одного спікера.
  • Стійкість до умов: перевіряємо запис із телефона, гарнітури, з переговорної — просідання не має виходити за кілька відсотків.
  • Хибні спрацювання: словник не перетягує схожі загальновживані слова — контролюємо на наборі без домену.
  • Регресія під час оновлення моделі: перезамір після кожного оновлення, інакше точність тихо відкочується назад.

Способи підлаштування розпізнавання: порівняння підходів

Підлаштування під лексику замовника вирішується п'ятьма способами — від зовнішніх правил до адаптації моделі на записах домену. Розрізняються вони точкою втручання: акустика, мовна модель або готовий текст, — звідси різні строк, оборотність і ризик регресу на звичайному мовленні.

У проєктах ми комбінуємо два-три шари: підлаштування мовної моделі домену, словник замін для абревіатур і постобробку для артикулів та одиниць вимірювання.

Рішення ухвалюємо за часткою помилок на профільних термінах, а не за загальною метрикою — виграш на лексиці легко просідає розпізнавання побутового мовлення.

Спосіб Коли підходить Обмеження
Словник замін усталені абревіатури, назви, артикули не рятує, якщо модель чує слово інакше; хибні спрацювання на десятках правил
Фонетичні підказки рідкісні імена, топоніми, нестандартна вимова потрібен розбір вимови, плутанина на омофонах
Адаптація на корпусі записів багато розмічених годин, стабільний домен потрібні дані й розмітка, ризик перенавчання, довгий цикл перевірки
Постобробка розшифрування формати, пунктуація, нормалізація чисел і дат не відновлює те, що модель не розчула
Підлаштування мовної моделі домену галузева лексика загалом потрібен текстовий корпус, акустику не змінює

Вибір фіксуємо за замірами на сліпій вибірці записів замовника: частка помилок на термінах, число хибних замін, час на додавання слова. Починаємо з оборотних шарів; адаптацію на корпусі підключаємо, коли залишаються помилки, які правилами не закрити.

Етапи впровадження: від збору термінів до передачі

Правка словника без замірів перетворюється на перебір здогадів: термін додали, частка помилок не змінилася. Тому йдемо зворотним порядком — спочатку рахуємо, де ламається розпізнавання, потім чіпаємо лексику.

Кроки та перевірки

  1. Аудит помилок розпізнавання. Розмічаємо розшифрування реальних каналів за типами: незнайомий термін, абревіатура, латиниця всередині фрази, омонімія. На виході — таблиця частот за класами.
  2. Збір термінології замовника. Інтерв'ю з носіями домену, вивантаження з довідників. Для кожного терміна — вимова, допустимі варіанти, межі застосовності.
  3. Тестова вибірка записів. Відкладаємо розмічений набір, який не бере участі в налаштуванні: різні диктори, канали, шум. Інакше підгонку під приклади не відрізнити від покращення.
  4. Схема підлаштування словника. Вирішуємо, куди вносити термін — словник вимов, заміна на виході, мовна модель — і з якою вагою.
  5. Налаштування та перевірка словника. Після кожної ітерації проганяємо відкладені записи: дивимося загальну частку помилок і нові хибні спрацювання.
  6. Передача рішення. Віддаємо конфігурацію словника, регламент правок, розмітку та звіти, навчаємо команду додавати терміни без регресій.

Після передачі словник живе у вашому контурі: правки за регламентом, метрики відтворювані, відкат до попередньої версії займає хвилини.

Артефакти впровадження: словники термінів, правила замін, регламенти

Після впровадження у замовника залишається не «модель у чорному ящику», а комплект артефактів, з яким можна працювати без нас: правки вносяться своїми силами, поведінка системи відтворювана, а спірні розпізнавання розбираються за документом, а не з пам'яті розробника.

  • Конфігурація словника — файл, підключуваний до рушія розпізнавання: ваги термінів, регістр, словоформи, допустимі варіанти написання. Одна правка змінює видачу по всьому потоку записів.
  • Перелік термінів — узгоджений з бізнесом список: продуктові назви, позначення внутрішніх систем, посади, латиниця, яку диктують уголос.
  • Правила замін і вимови — таблиця «як чується → як пишемо», омофони та усталені спотворення конкретних дикторів; застосовується поверх розпізнавання і не псує вихідну стенограму.
  • Контрольний набір записів — фрагменти аудіо з еталонним розшифруванням, включно з шумними доріжками та швидким мовленням. Прогін по ньому показує, що правка не зламала решту.
  • Скрипти перевірки та метрики — розрахунок частки помилок за термінами і звіт до та після зміни словника.
  • Документація — як додати термін, які поля обов'язкові, що робити при конфлікті правил.
  • Регламент оновлення — хто ініціює правку, хто підтверджує, коли зміна вирушає в роботу і як відкочується.

Комплект переводить підтримку словника з разового налаштування в керований процес: новий термін проходить перевірку на контрольному наборі й доходить до робочого контуру без нашої участі.

Кейс: як зник клас помилок на вузькоспеціальних термінах

Задача надійшла від проєктного інституту: технічні ради та приймання записуються, а розшифрування досі готували вручну. У мовленні — абревіатури, марки обладнання, номери нормативів і прізвища підрядників.

Базова відкрита модель Whisper впевнено розбирала загальну мову, але спотикалася саме на цій лексиці.

Спочатку зафіксували точку відліку: контрольний набір записів із ручною розміткою термінів. Частка помилок на профільній лексиці — 17–19%, редактор витрачав близько 40 хвилин на кожну годину аудіо, а готовий текст години запису з'являвся лише надвечір.

Словник збирали не «на слух»: вивантажили частотні терміни з корпусу, додали вимовні варіанти — латиницю й кирилицю, відмінювання, злите та роздільне написання, абревіатури, які диктують по літерах.

Окремо налаштували ваги термінів, щоб рідкісна, але важлива назва не витіснялася частим загальним словом, і додали нормалізацію після розпізнавання: єдиний глосарій замість трьох написань однієї марки.

Після підлаштування частка помилок на профільній лексиці впала до 3%, ручні правки скоротилися приблизно вчетверо, година запису перетворюється на готове розшифрування за 40 хвилин замість чотирьох годин.

Перевіряли й зворотне — що на загальній мові якість не просіла: словник розширює модель, а не замінює її примусовими підстановками.

Клас помилок зі спотвореними назвами обладнання та нормативів зник, редактор править зміст, а не вгадує терміни. Словник живе далі: нові слова потрапляють до нього з правок редактора, а регресійний набір не дає покращенням на одній темі ламати решту.

Чим підлаштування розпізнавання відрізняється від донавчання моделі?

Це два різних класи робіт, і плутати їх дорого. Підлаштування лексики змінює лише шар розпізнавання слів: до словника додаються терміни, абревіатури, назви продуктів, задаються ваги й правила нормалізації. Ваги акустичної моделі не чіпаються — результат передбачуваний і оборотний.

Донавчання змінює саму модель на розміченому корпусі мовлення. Воно виправдане там, де розходиться не лексика, а вимова: сильний акцент, вузька предметна область з усталеним жаргоном, запис через конкретний мікрофон або канал зв'язку.

Підхід Коли підходить Обмеження
Кастомний словник STT і ваги Нові терміни, абревіатури, імена — слово відоме, вимова стандартна Не рятує, якщо слово звучить нерозбірливо
Правила замін і нормалізація Постобробка: єдиний формат чисел, дат, артикулів Працює поверх розпізнавання, звук не покращує
Донавчання моделі Акцент, шумний канал, усталений жаргон, багато однотипного мовлення Потрібен розмічений корпус, можлива деградація на попередніх темах

Підтримка вирішує вибір. Словник — це конфігурація: правки вносить профільний фахівець, зміни версіонуються, відкат займає одну ревізію, перевірка йде за набором еталонних фраз.

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

Практичне правило: спочатку закриваємо задачу словником і вагами і лише якщо частка помилок на еталонній вибірці не падає — переходимо до донавчання. Рішення залишається керованим, а володіння ним — передбачуваним.

Технічні сумніви: обсяг робіт, строки, підтримка

Заперечення щодо підлаштування словника розпізнавання повторюються з проєкту в проєкт: незрозумілий обсяг робіт, строки впровадження, якість вихідних записів і те, що буде після запуску. Нижче — відповіді з порядком дій, замірами та межами, за якими результат не гарантуємо.

Скільки реально роботи в підлаштуванні словника?

Обсяг задає не розмір словника, а структура домену. За 200–300 однотипних термінів основний час іде на вимовні варіанти, а не на розмітку, а абревіатури, латиниця та складені назви додають роботу з нормалізацією тексту.

Скільки чекати результат?

Починаємо з прогону на частині архіву: замір частки помилок до і після, розбір термінів, які все ще губляться. Далі обробляємо решту корпусу. Строк залежить від обсягу та якості записів, а не від кількості слів у словнику.

А якщо записи шумні?

Якість вихідників задає стелю: на перекритій мові та телефонному каналі словник витягне термінологію, але не відновить втрачене. Тому спочатку оцінюємо записи і за потреби ставимо передобробку — шумозаглушення та розділення мовленнєвих фрагментів.

Чи перезбирати все при кожній правці термінології і що з підтримкою?

Ні: словник і мовна модель відокремлені від акустичної частини. Додавання терміна або правка вимови — це оновлення словника й прогін на контрольному наборі, без повного перенавчання; акустика чіпається лише при зміні домену або каналу зв'язку.

Після запуску працюємо за заявками: регресійний набір записів, версіонування словника, замір частки помилок і відкат, якщо стало гірше.

Обговоримо задачу: що надіслати для оцінки та плану робіт

Щоб повернутися з оцінкою та планом робіт, а не з уточнювальними питаннями, нам достатньо одного набору вихідних даних. Чим точніше описано домен, тим менше ітерацій піде на узгодження схеми рішення.

  • Аудіо з реального каналу. 30–60 хвилин записів за кожним джерелом: телефонія, мікрофон, відеодзвінок — з типовим шумом, кількома дикторами та акцентами.
  • Еталонні розшифрування. 10–20 хвилин вивірених текстів із позначками спірних місць — за ними рахуємо базову частку помилок і бачимо, де словник дасть основний приріст.
  • Список термінів. Назви продуктів, абревіатури, посади, ПІБ, топоніми — з варіантами вимови та тим, як вони мають виглядати у видачі.
  • Правила нормалізації. Регістр, пунктуація, числа, одиниці вимірювання, латиниця й кирилиця в одному слові, оформлення повторів і слів-заповнювачів.
  • Схема потоку. Звідки надходить аудіо і в якому форматі, де зберігається, куди йде текст, чи потрібна розмітка за мовцями.
  • Обмеження. Вимоги до затримки видачі, де дозволено обробляти дані, допустима частка ручної правки.
  • Приклади помилок. 20–50 реальних фраз, які розпізнаються неправильно зараз — цього достатньо, щоб оцінити обсяг роботи зі словником.

Надсилати все одразу не обов'язково: почнемо з аудіо та списку термінів, решту уточнимо по ходу. Опишіть задачу — повернемося з оцінкою, схемою рішення та планом робіт.

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

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

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142