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

Проектуємо та впроваджуємо системи штучного інтелекту: від прототипу до production-ready рішення. Наша команда поєднує експертизу в машинному навчанні, дата-інжинірингу та MLOps, щоб AI працював не в лабораторії, а в реальному бізнесі.
Показано 1 з 1Усі 1566 послуг
Реалізація фільтрації нецензурної лексики у STT
Простий
~1 день
Часті запитання

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

Етапи розробки AI-рішення

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

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

Реалізація фільтрації нецензурної лексики в STT Фільтрація нецензурної лексики у транскрипціях необхідна для публічних платформ, корпоративних систем та сервісів, що працюють з дітьми. Реалізується на кількох рівнях: у STT-движку та/або на рівні post-processing. ### Вбудовані фільтри STT-провайдерів Google STT:```python

config = speech.RecognitionConfig( profanity_filter=True, # заменяет нецензурные слова на *** language_code="ru-RU" ) **AWS Transcribe**:python transcribe.start_transcription_job( VocabularyFilterName='profanity-filter-ru', VocabularyFilterMethod='mask', # 'mask' | 'remove' | 'tag' ) **Azure Speech**:python speech_config.set_profanity(speechsdk.ProfanityOption.Masked) ### Post-processing фільтр Для двигунів без вбудованого фільтра або для більш тонкого контролю:python import re

PROFANITY_LIST_RU = [...] # список слов в нормализованной форме

def filter_profanity(text: str, replacement: str = "***") -> str: """Фильтр с учётом морфологии через нормализацию""" import pymorphy3 morph = pymorphy3.MorphAnalyzer()

words = text.split()
result = []
for word in words:
    # Нормализуем слово (приводим к начальной форме)
    parsed = morph.parse(word)
    normal_form = parsed[0].normal_form if parsed else word.lower()
    if normal_form in PROFANITY_LIST_RU:
        result.append(replacement)
    else:
        result.append(word)
return " ".join(result)