Реализация кастомного словаря для STT-системы

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Реализация кастомного словаря для STT-системы
Простая
от 1 рабочего дня до 3 рабочих дней
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1240
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1167
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    867
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1084
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    563
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    829

Реализация кастомного словаря для STT-системы

Кастомный словарь — самый быстрый способ улучшить распознавание специфических терминов, имён и аббревиатур без переобучения модели. Работает как подсказка STT-движку: «обращай особое внимание на эти слова».

Реализация для основных провайдеров

AWS Transcribe Custom Vocabulary:

import boto3

transcribe = boto3.client('transcribe')

# Создаём словарь из файла (S3)
transcribe.create_vocabulary(
    VocabularyName='corporate-terms-v1',
    LanguageCode='ru-RU',
    VocabularyFileUri='s3://my-bucket/vocabulary.txt'
)

# Формат файла vocabulary.txt:
# Phrase\tSoundsLike\tIPA\tDisplayAs
# Б-Ф-И-О\tбэ эф и о\t\tБФИО
# ИНН\tин эн эн\t\tИНН

Azure Custom Speech:

# Добавляем domain adaptation data через Azure Portal или REST API
# Поддерживает: pronunciation dictionary, phrase list
import requests

phrase_list = {
    "kind": "PhraseList",
    "locale": "ru-RU",
    "phrases": ["ОГРН", "СНИЛС", "КПП", "расчётный счёт"]
}

faster-whisper с подсказками через initial prompt:

model = WhisperModel("large-v3", device="cuda")

# Начальный промпт помогает модели ориентироваться на нужную лексику
initial_prompt = "ИНН, ОГРН, СНИЛС, КПП, расчётный счёт, генеральный директор."

segments, _ = model.transcribe(
    audio,
    initial_prompt=initial_prompt,
    language="ru"
)

Метод с initial_prompt работает ненадёжно для длинных файлов — промпт обрабатывается только для первого окна.

Поддержание словаря

  • Версионирование словарей (v1, v2...)
  • Автоматическое обновление при появлении новых терминов
  • A/B тестирование версий на репрезентативном аудио

Сроки: 1–2 дня для базовой интеграции, включая наполнение словаря.