Реализация распознавания специализированной лексики (медицинской, юридической, технической)
Стандартные STT-модели обучены на общем корпусе. Специфические термины — «диоксид кремния», «апелляционное определение», «микроконтроллер STM32F407» — часто распознаются некорректно, что делает транскрипт непригодным без постредактирования.
Методы адаптации
1. Custom Vocabulary / Boosting — самый быстрый подход, не требует переобучения:
# Google STT — адаптивные фразы
from google.cloud import speech
speech_context = speech.SpeechContext(
phrases=[
"мерцательная аритмия",
"фибрилляция желудочков",
"атриовентрикулярная блокада",
"ЭКГ",
"QRS-комплекс"
],
boost=15.0 # от 1 до 20
)
config = speech.RecognitionConfig(
speech_contexts=[speech_context],
language_code="ru-RU"
)
2. Post-correction через словарь — находим фонетически похожие слова и заменяем:
from fuzzywuzzy import fuzz
DOMAIN_TERMS = {
"дексаметозон": "дексаметазон",
"миокарда инфаркт": "инфаркт миокарда",
"гипотиреоз": "гипотиреоз",
}
def correct_medical_terms(text: str, threshold: int = 80) -> str:
words = text.split()
for i, word in enumerate(words):
for wrong, correct in DOMAIN_TERMS.items():
if fuzz.ratio(word.lower(), wrong) >= threshold:
words[i] = correct
return " ".join(words)
3. Fine-tuning Whisper — для серьёзной доменной адаптации (см. сервис дообучения Whisper).
Медицинский домен
Whisper показывает WER ~25% на медицинских диктовках без адаптации. Специализированные решения:
- AWS Medical Transcribe: WER ~12%, HIPAA-совместимость
- Nuance DAX: лучшее качество, но только для США
- Fine-tuned Whisper на медицинских данных: WER 8–15%
Юридический домен
Ключевые задачи: точное воспроизведение имён, дат, номеров дел, юридических формулировок. Рекомендация — словарь из ~2 000 типовых терминов + custom vocabulary в облачном STT.
Сроки: словарный подход — 2–3 дня. Fine-tuning — 2–4 недели с учётом сбора данных.







