Партнёр юридической фирмы наговаривает в микрофон: «...руководствуясь статьей 421 Гражданского кодекса, mutatis mutandis...». На экране появляется: «...руководствуясь статьей 421 гражданского кодекса мута тесму тандес...». Документ идёт в мусорку, а партнёр возвращается к ручной клавиатурной набивке. Мы в Morana Labs годами разворачиваем индустриальный ИИ, edge-вычисления и high-load инференс на железе заказчика, и я постоянно вижу одну и ту же картину: бизнес покупается на красивые бенчмарки базовых моделей, а потом эти модели разбиваются о суровую реальность доменной лексики.
Почему общий WER — это метрика для инвесторов
«Зачем вы городите on-prem, если облачные API дают WER 4%? Зачем дообучать Whisper под домен русский, если large-v3 и так всё понимает?» — стандартное возражение человека, который ни разу не катил ASR распознавание речи юридические термины дообучение в реальный прод.
Отвечаю. Общий WER (Word Error Rate) в юридическом тексте не значит ничего. Ошибка не размазана по документу равномерно. Если нейросеть идеально распознала все предлоги и вводные слова, но ошиблась в номере паспорта, сумме сделки или ФИО контрагента, ваш доменный WER на сущностях (Entity-WER) равен 100%. Вы не можете отдать диктовку договоров нейросети on-prem и надеяться, что она угадает специфическую латынь или реквизиты. Нам не нужен «в среднем правильный» текст. Нам нужен текст, который не стыдно приобщить к делу.
ASR для юр-домена on-prem: дообучаем Whisper под договоры, статьи и ФИО — пайплайн, конфиги и доменный WER до/после
«Хорошо, давайте дообучим. Но для ASR нужны тысячи часов аудио, у нас столько нет и собирать их дорого».
Вы застряли в 2018 году. Нам не нужно учить акустическую модель с нуля. Базовый Whisper уже прекрасно знает фонетику русского языка. Чтобы заставить его понимать канцелярит, достаточно 10–50 часов чистого диктанта (реальные записи консультаций и надиктовки), предварительно обезличенных от реальных ПДн.
Вместо полного fine-tune, который гарантированно приведёт к катастрофическому забыванию разговорной речи, мы используем LoRA (Low-Rank Adaptation). Если описывать конфиги техническим языком: мы замораживаем энкодер, обучаем только матрицы проекций (Q и V) в механизме внимания декодера. Ставим ранг адаптации 32, альфу 64, агрессивный dropout на уровне 0.1 и очень низкий learning rate с долгим warmup. Этого хватает, чтобы модель сместила вероятностное распределение в сторону легального сленга, не потеряв способность понимать обычные слова.
Восстановление пунктуации ASR и хардкорный ITN
«А не проще ли просто написать в промпте Whisper, чтобы он ставил точки и писал числа цифрами?»
Нет, не проще. Whisper галлюцинирует под капотом, и попытка заставить его делать сложную нормализацию текста приводит к тому, что он начинает выдумывать целые абзацы. Правильная архитектура — это конвейер:
- Biasing и кастомный словарь: редкая лексика (фамилии судей, специфика конкретной компании) подаётся в декодер как подсказка (prompting) или инжектится на этапе лучевого поиска. Это решает проблему распознавания речи, когда встречается редкая лексика.
- Inverse Text Normalization (ITN): детерминированный парсер на регулярках и конечных автоматах, который превращает «двенадцать процентов годовых» в «12% годовых», а «статья сто двадцать пять» в «ст. 125». Без этого юристы откажутся пользоваться системой в первый же день.
- Восстановление пунктуации и капитализации: голый аудио-транскрипт прогоняется через отдельную легковесную NLP-модель (обычно дообученный RuBERT), которая расставляет запятые, точки и делает ФИО и аббревиатуры с большой буквы.
On-prem, 152-ФЗ и критерии приёмки без иллюзий
«Зачем тащить это на свои сервера? Облако дешевле и масштабируется».
Адвокатская тайна и 152-ФЗ передают вам привет. Диктовка договоров, содержащих персональные данные и коммерческую тайну, в чужой контур — это прямой путь к отзыву лицензии и искам. ASR в легал-техе обязана жить on-prem. Данные не имеют права покидать периметр компании. Точка.
Как выглядит честный бенчмарк такой системы? Общий WER после внедрения всего пайплайна падает с 8% до 6%. Кажется, что разница копеечная. Но если замерить Entity-WER по числам, статьям кодексов и именам, то он обрушается с 45% до 3-5%. Именно эта цифра должна стоять как метрика приёмки и стоп-критерий в вашем ТЗ.
И главное: финальная архитектура всегда подразумевает юриста в контуре (human-in-the-loop). Нейросеть генерирует драфт, человек его валидирует. Ответственность за договор всегда несёт подписант, а не железка в серверной. Если вам нужен рабочий on-prem контур, который понимает ваши документы и работает в закрытом контуре без выхода в интернет — Morana Labs делает такие системы под ключ. Остальным советую перестать верить в магию базовых моделей и начать считать метрики там, где они действительно влияют на юридическую силу документа.