Все материалы
Речевые системы4 мин чтения

Распознанный текст должен уметь меняться

Потоковая расшифровка речи не является готовым документом. Поздние слова меняют смысл ранних, а безусловная очистка способна удалить важное условие.

Read in English

Первые слова часто оказываются не теми

Человек начинает фразу, останавливается и исправляет себя: "переведите пять... нет, пятьдесят тысяч". Потоковая система распознавания речи уже отправила первую сумму в историю разговора. Если последующие слова просто дописываются справа, агент может построить действие на устаревшем варианте.

Обычно расшифровку считают неизменяемым журналом. Это удобно для хранения и плохо соответствует устройству разговорной речи. Обрыв, самокоррекция и позднее уточнение меняют смысл уже распознанного участка. Значит, рабочее состояние должно допускать ограниченную правку, сохраняя исходную запись для аудита.

Первый признак проблемы виден даже в привычной метрике ошибок. Работа Transcription Policy as a Latent Variable разделяет две задачи. В буквальном режиме система сохраняет повторы, паузы, обрывы и слова-паразиты. В смысловом режиме она записывает то, что человек в итоге хотел сказать.

Если модель и эталон используют разные режимы, до 60% измеренной доли ошибочных слов объясняется не акустикой, а правилами записи. Явный маркер режима поднял качество обнаружения речевых сбоев на немецком с 10% до 79%, хотя обучение проводилось только на английском. Один эталонный текст не может одновременно быть точным журналом и отредактированным контекстом для модели.

Править нужно небольшой активный участок

AgenticASR представляет потоковую расшифровку как состояние, которое можно пересматривать. Система хранит ограниченный активный участок и переписывает его, когда новые слова показывают, что начало было ложным, брошенным или исправленным. Далекая история остается закрытой для изменений.

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

Ограничение здесь принципиально. Если окно слишком короткое, исправление не достанет до ошибочного фрагмента. Если оно слишком длинное, система получает право незаметно переписывать уже использованные факты. Для рабочего голосового агента одной текущей версии мало. Нужно хранить исходные гипотезы, изменения, время и причину каждой правки.

На момент публикации авторы обещали открыть код и набор испытаний, но готового воспроизводимого выпуска еще не было. Поэтому архитектура выглядит убедительнее заявленных итоговых цифр: ее стоит проверять на собственных разговорах с перебиваниями и самокоррекциями.

Доменные исправления должны уметь воздерживаться

Другая проблема возникает после акустического распознавания. Название продукта, фамилия или внутренний термин могут систематически записываться неверно. Простой языковой корректор легко исправляет редкое слово, но так же легко портит правильную фразу.

Voice Memory добавляет к замороженной системе распознавания проверяемый файл memory.md. В нем хранятся доменные правила исправления. Для каждой реплики корректор выбирает: применить подходящее правило или оставить исходный лучший вариант. Отдельный оптимизатор меняет память асинхронно и принимает изменение только после улучшения на контрольной выборке.

В экспериментах взвешенная доля ошибочных слов снизилась с 8,36% до 7,52% без ухудшения отдельных наборов данных. Доля исправлений, которые портили правильные слова, упала с 64% до 35%. Последняя цифра показывает цену задачи: даже после улучшения корректор иногда вредит, поэтому право ничего не менять является частью качества.

Файл памяти дает еще одно практическое свойство. Правило можно связать с источником, версией и областью действия, затем удалить без полного дообучения акустической модели.

Агрессивная очистка уничтожает информацию

Желание превратить устную речь в гладкий письменный текст создает новый класс ошибок. HIVE моделирует искажения голосового и клавиатурного ввода и проверяет, как они влияют на модели, выполняющие инструкции.

Хуже всего действовали не слова-паразиты и паузы, а удаления и перестройка исходных слов. Дополнительный бюджет рассуждения почти компенсировал опечатки, но не восстанавливал потерянные части разговорной фразы. Для сильно сжатой речи результат иногда становился еще хуже.

Модель может догадаться о пропущенном предлоге. Она не может надежно восстановить удаленное отрицание, сумму или условие согласия. Поэтому "очищенный" текст нельзя делать единственным представлением разговора.

Три версии вместо одной строки

Практический голосовой контур должен хранить три связанных объекта.

Первый - исходная потоковая расшифровка с временными отметками и вариантами распознавания. Она нужна для расследования и повторной обработки.

Второй - пересматриваемое состояние текущей реплики. В нем видны отмененные фрагменты, самокоррекции и действующая версия намерения. Именно его читает диалоговый агент.

Третий - осторожно нормализованный текст для поиска и аналитики. Каждое доменное исправление имеет правило, происхождение и возможность отката. Если уверенности нет, остается исходный вариант.

Оценивать такой контур одной долей ошибочных слов недостаточно. Нужны отдельные случаи с отрицаниями, числами, именами, обрывами и поздними исправлениями. Конечная проверка должна смотреть, какое действие совершил агент: какую сумму записал, какой адрес подтвердил и какое условие применил.

Есть еще одна граница: исправление текста не должно само исправлять уже совершенное внешнее действие. Если агент успел отправить платеж или изменить карточку клиента, новая версия расшифровки обязана вызвать отдельную процедуру отмены либо передачу человеку. Иначе журнал покажет правильную итоговую фразу, а система останется в состоянии, созданном ошибочной ранней гипотезой. В испытаниях поэтому нужно искусственно задерживать речь, ответы инструментов и подтверждения, чтобы воспроизвести гонку между уточнением человека и действием агента.

Неизменяемым должен быть журнал звука и изменений. Текущий смысл разговора, наоборот, обязан уметь обновляться.

Автор / руководитель исследованийДмитрий / R&D Club

Принесите задачу, у которой нет очевидного пути реализации.

hello@rnd.club ↗