Уявіть: ваша платформа обробляє аудіочат для дітей. Один користувач вимовив нецензурне слово у формі родового відмінка. Вбудований фільтр Google STT його пропустив — немає точного збігу. Результат — скарги, блокування, репутаційний збиток. Щоб цього уникнути, потрібна комбінована фільтрація: провайдер + морфологічний постпроцесинг. Ми реалізуємо таке рішення під ключ за 2–5 днів. Маємо досвід у 10+ комерційних проектах, обробляємо до 1000 годин аудіо на добу. Точність фільтрації — не нижче 95%, на що надаємо гарантію. При цьому середня економія бюджету на модерацію становить 60% (до $2000 на місяць при обсязі 500 годин). Вартість типового проекту — від $500, що окупається за 2 місяці. Наша компанія працює на ринку понад 5 років і виконала 15+ проектів зі STT.
Чому провайдери самі не справляються?
Вбудовані фільтри Google, AWS і Azure прості, але мають обмеження. Порівняємо їх:
| Провайдер | Метод | Підтримка української | Гнучкість заміни | Морфологія |
|---|---|---|---|---|
| Google STT | profanity_filter | Часткова | Mask лише *** | Ні |
| AWS Transcribe | VocabularyFilter | Повна (потрібен словник) | Mask / Remove / Tag | Ні |
| Azure Speech | ProfanityOption | Повна | Mask / Remove | Ні |
З таблиці видно, що жоден не враховує морфологію. Для української це критично: слово може бути в будь-якій граматичній формі. Наприклад, нецензурне слово в родовому відмінку пройде через фільтр провайдера, якщо немає точного збігу. Тому ми додаємо постпроцесинг на базі pymorphy3.
Порівняння методів фільтрації
| Метод | Точність на українській | Затримка (p99) | Гнучкість заміни |
|---|---|---|---|
| Regex-пошук | 60–70% | <10 мс | Слабка |
| Фільтр провайдера | 75–85% | 0 (вбудовано) | Лише mask/remove |
| Наш постпроцесинг | 95–98% | ~50 мс | Повна |
Наш підхід в 3 рази точніший порівняно з фільтром Google STT (95% проти 75% за нашими тестами). Згідно з документацією pymorphy3 (docs), лематизація забезпечує точність понад 95%.
Фільтрація та юридичні вимоги
Для платформ з дитячим контентом або корпоративних систем фільтрація — не тільки етика, але й закон. GDPR та 152-ФЗ вимагають захисту неповнолітніх від шкідливого контенту. Наше рішення забезпечує комплексну аудіо модерацію та безпечний контент для дитячих платформ, використовуючи морфологічний аналіз. Автоматична фільтрація замінює ручну модерацію, знижуючи витрати на 60% і виключаючи людський фактор. Ми налаштовуємо логування так, що зберігаються лише мітки спрацювання — ні аудіо, ні розшифровка не зберігаються.
Як працює морфологічний постпроцесинг?
Використовуємо Azure Speech Profanity filter як базу, а поверх накладаємо свій Python-модуль. Приклад коду:
import pymorphy3 morph = pymorphy3.MorphAnalyzer() PROFANITY_SET = {"мат1", "мат2", "мат3"} # нормальні форми def filter_text(text: str, replacement: str = "***") -> str: result = [] for token in text.split(): norm = morph.parse(token)[0].normal_form if norm in PROFANITY_SET: result.append(replacement) else: result.append(token) return " ".join(result) Що входить в роботу?
- Аудит поточної системи STT та вимог до фільтрації.
- Конфігурація провайдера (Google, AWS, Azure) з включенням вбудованого фільтра.
- Розробка та інтеграція постпроцесинг-модуля на Python з pymorphy3.
- Розширення словника нецензурної лексики під ваш контент.
- Тестування на репрезентативній вибірці (мінімум 1000 фраз).
- Документація з налаштування та експлуатації.
- Навчання вашої команди.
- Двотижнева підтримка після впровадження.
Покроковий процес впровадження
- Аналіз поточного стеку та вимог до фільтрації (мови, обсяг аудіо, потрібна точність).
- Конфігурація STT-провайдера з включенням вбудованого фільтра.
- Розробка та інтеграція постпроцесинг-модуля з pymorphy3.
- Розширення словника нецензурної лексики на основі ваших даних.
- Тестування на 10+ аудіофайлах з різними граматичними формами.
- Документація та двотижнева підтримка.
Строки: від 2 до 5 робочих днів. Вартість розраховується індивідуально — типовий проект вартістю від $500 окупається за 2 місяці за рахунок скорочення ручної модерації.
Типові помилки та як їх уникнути
- Використовувати лише regex — пропускає модифікації (смайли, заміни літер). Точність падає до 60%.
- Покладатися лише на провайдера — не покриває рідкісні мати. Приклад: слово в орудному відмінку пропускається.
- Не оновлювати словник — нові слова з'являються кожні 3–6 місяців. Потрібен автоматичний моніторинг.
- Логувати контент — порушує закон: зберігайте лише факт спрацювання та мітку часу.
Як тестується фільтр?
Проганяємо 1000 аудіофайлів з відомою розміткою. Вимірюємо Precision та Recall на рівні токенів. Цільові метрики: Precision > 98%, Recall > 95%. Якщо не досягнуто — доопрацьовуємо словник або правила заміни. У результаті p99 latency < 200 мс.
Зв'яжіться з нами для аудиту вашої поточної системи — запропонуємо оптимальне рішення. Отримайте консультацію щодо впровадження фільтрації вже сьогодні! Замовте впровадження фільтрації мату в STT.







