Проблема масштабного перевода

Перевод целой книги через веб-интерфейсы нейросетей — крайне трудоемкий процесс. Даже если модель способна принять большой объем текста, она ограничена в длине одного ответа. Кроме того, при работе с огромными массивами данных внимание модели падает, что приводит к пропуску целых абзацев.

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

Этап разведки и подготовки

Перед началом перевода система выполняет предварительную проверку: определяет язык, кодировку и структуру файла. Поскольку универсального парсера для форматов вроде epub не существует, нейросеть определяет типы контента (заголовки, цитаты, проза) по их тегам и стилям.

Ключевым этапом является «разведка». Модель просматривает всю книгу целиком, чтобы составить описание мира, список персонажей и глоссарий. В справочник записываются возраст, пол, манера речи героев и их взаимоотношения. Если персонаж меняется в ходе сюжета, система фиксирует оба состояния. Это позволяет избежать ситуации, когда одно и то же имя или термин переводятся по-разному в разных главах.

Последовательный перевод и контекст

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

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

Разделение ролей: переводчик и редактор

В системе реализован принцип разделения труда. Сначала работает модель-переводчик, а затем — модель-редактор. Редактор не видит оригинального текста на английском, что помогает избежать калькирования иностранных конструкций. В распоряжении редактора есть только переведенный текст и описание мира.

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

Контроль качества и безопасность

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

Также в конвейере реализована защита от «инъекций» — попыток внедрения команд внутри текста книги (например, требований раскрыть приватные ключи). Система сканирует текст на наличие таких обращений и останавливает процесс для ручной проверки пользователем.

Что это значит

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