Реалізація фільтрації нецензурної лексики в STT під ключ

Уявіть: ваша платформа обробляє аудіочат для дітей. Один користувач вимовив нецензурне слово у формі родового відмінка. Вбудований фільтр Google 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

Уявіть: ваша платформа обробляє аудіочат для дітей. Один користувач вимовив нецензурне слово у формі родового відмінка. Вбудований фільтр 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 фраз).
  • Документація з налаштування та експлуатації.
  • Навчання вашої команди.
  • Двотижнева підтримка після впровадження.

Покроковий процес впровадження

  1. Аналіз поточного стеку та вимог до фільтрації (мови, обсяг аудіо, потрібна точність).
  2. Конфігурація STT-провайдера з включенням вбудованого фільтра.
  3. Розробка та інтеграція постпроцесинг-модуля з pymorphy3.
  4. Розширення словника нецензурної лексики на основі ваших даних.
  5. Тестування на 10+ аудіофайлах з різними граматичними формами.
  6. Документація та двотижнева підтримка.

Строки: від 2 до 5 робочих днів. Вартість розраховується індивідуально — типовий проект вартістю від $500 окупається за 2 місяці за рахунок скорочення ручної модерації.

Типові помилки та як їх уникнути

  • Використовувати лише regex — пропускає модифікації (смайли, заміни літер). Точність падає до 60%.
  • Покладатися лише на провайдера — не покриває рідкісні мати. Приклад: слово в орудному відмінку пропускається.
  • Не оновлювати словник — нові слова з'являються кожні 3–6 місяців. Потрібен автоматичний моніторинг.
  • Логувати контент — порушує закон: зберігайте лише факт спрацювання та мітку часу.

Як тестується фільтр?

Проганяємо 1000 аудіофайлів з відомою розміткою. Вимірюємо Precision та Recall на рівні токенів. Цільові метрики: Precision > 98%, Recall > 95%. Якщо не досягнуто — доопрацьовуємо словник або правила заміни. У результаті p99 latency < 200 мс.

Зв'яжіться з нами для аудиту вашої поточної системи — запропонуємо оптимальне рішення. Отримайте консультацію щодо впровадження фільтрації вже сьогодні! Замовте впровадження фільтрації мату в STT.