Реализация автоматического определения языка речи (Language Detection)

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Реализация автоматического определения языка речи (Language Detection)
Средняя
от 1 рабочего дня до 3 рабочих дней
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1218
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    853
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1047
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    825

Реализация автоматического определения языка речи (Language Detection)

Автоматическое определение языка — обязательный компонент мультиязычных систем. Позволяет маршрутизировать аудио к нужной STT-модели или оператору без ручного указания языка.

Подходы к language detection

Whisper-based — наиболее точный, использует первые 30 секунд аудио:

from faster_whisper import WhisperModel

model = WhisperModel("small", device="cuda")  # small достаточно для LID

def detect_language(audio_path: str) -> tuple[str, float]:
    _, info = model.transcribe(audio_path, language=None, task="transcribe")
    return info.language, info.language_probability

langid / langdetect — быстрее, но работает с текстом (нужен предварительный грубый STT).

Lightweight audio-based classifiers:

# speechbrain — специализированная LID-модель
from speechbrain.pretrained import EncoderClassifier

classifier = EncoderClassifier.from_hparams(
    source="speechbrain/lang-id-voxlingua107-ecapa",
    savedir="tmp_langid"
)

signal = classifier.load_audio("speech.wav")
prediction = classifier.classify_batch(signal)
lang_id = prediction[3][0]  # ISO 639-1
confidence = float(prediction[1].exp())

VoxLingua107 распознаёт 107 языков с точностью 93.3% на 1-секундных фрагментах.

Практические пороги

При confidence < 0.7 лучше попросить пользователя выбрать язык вручную или запустить более тяжёлую модель. Для систем с ограниченным набором языков точность существенно выше.

Сроки

Интеграция готового классификатора: 1 день. Кастомная модель под специфический набор языков: 1–2 недели.