Реализация автоматического транскрибирования судебных заседаний

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Реализация автоматического транскрибирования судебных заседаний
Сложная
от 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

Реализация автоматического транскрибирования судебных заседаний

Транскрибация судебных заседаний — высокоответственная задача с требованиями к точности >98% (WER <2%). Специфика: множество говорящих, перебивания, юридическая лексика, процессуальные формулы, имена собственные. Транскрипт является процессуальным документом.

Требования к системе

  • WER <5% на юридической лексике (после постобработки)
  • Точная атрибуция реплик (председатель, прокурор, адвокат, свидетель, ответчик)
  • Временны́е метки для каждой реплики
  • Автоматическая нормализация числительных, дат, статей закона
  • Защищённое хранение (данные не покидают контур)

On-premise архитектура

# Полностью локальное развёртывание без облака
class CourtTranscriptionSystem:
    def __init__(self):
        # Whisper large-v3 дообученный на юридических данных
        self.stt = WhisperModel(
            "/models/whisper-legal-ru",
            device="cuda",
            compute_type="int8_float16"
        )
        # Диаризация — обязательно
        self.diarizer = Pipeline.from_pretrained(
            "pyannote/speaker-diarization-3.1"
        )
        # Нормализатор юридических текстов
        self.normalizer = LegalTextNormalizer()

    async def transcribe_session(self, audio_path: str, participants: dict) -> dict:
        """
        participants: {"SPEAKER_00": "Председатель Иванова И.И.", ...}
        """
        # 1. Транскрибируем с word timestamps
        segments, _ = self.stt.transcribe(
            audio_path,
            word_timestamps=True,
            language="ru",
            vad_filter=True,
            initial_prompt="Судебное заседание. Председатель суда, прокурор, адвокат, подсудимый."
        )

        # 2. Диаризация
        diarization = self.diarizer(audio_path)

        # 3. Сопоставляем с участниками
        labeled_transcript = self._label_speakers(
            list(segments), diarization, participants
        )

        # 4. Нормализация: "сто пятьдесят вторая статья" → "ст. 152"
        for segment in labeled_transcript:
            segment["text"] = self.normalizer.normalize(segment["text"])

        return {
            "session_date": datetime.now().isoformat(),
            "transcript": labeled_transcript,
            "metadata": {
                "audio_duration": self._get_duration(audio_path),
                "speaker_count": len(participants)
            }
        }

Специализированный словарь для суда

LEGAL_VOCABULARY = [
    "апелляционное определение",
    "постановление о прекращении дела",
    "кассационная жалоба",
    "статья двести шестьдесят четвёртая",
    "часть первая статьи",
    "Уголовно-процессуальный кодекс",
    "Гражданский процессуальный кодекс",
    # ... несколько тысяч терминов
]

Экспорт в форматы

  • DOCX с таблицей: время | говорящий | текст
  • XML для систем электронного документооборота судов
  • PDF с подписью и хэшем для целостности

Постредактирование

Система предназначена для поддержки секретаря, а не замены: выдаёт черновик с >90% точностью, секретарь исправляет и удостоверяет.

Сроки реализации

  • Базовая система: 4–6 недель
  • С дообучением на юридических данных: +4–6 недель
  • Сертификация и интеграция в ГАС «Правосудие»: отдельный проект