Память переводов для документов: только проверенное человеком
Память переводов должна становиться лучше по мере наполнения. Памяти, куда пишет машина, часто становятся хуже — и делают это незаметно: одна неверная запись попала внутрь, и с этого момента возвращается уверенным совпадением, иногда точным, а точное совпадение ревьюеру не приходит в голову оспаривать.
Мы поменяли политику после того, как это случилось с нами на таможенной декларации — случилось конкретно и поучительно. Ниже: правило, к которому мы пришли (в TM не попадает ничего, пока это не вычитал человек), чего оно стоит в первый день и почему к третьему месяцу выходит дешевле.
Что память, куда пишет машина, делает сама с собой
Механизм — обратная связь без демпфирования.
Машинный перевод выдаёт сегмент. Пайплайн автоматически сохраняет его в TM: сохранять дёшево, а сегмент может пригодиться. Позже приходит похожий сегмент, совпадает с сохранённым по какому-то нечёткому порогу — и сохранённый перевод применяется, возможно молча, если совпадение достаточно высокое.
Каждый шаг разумен. Итог: ошибка, сделанная однажды, становится ошибкой, совершаемой систематически, а ревьюеру, который видит «совпадение 95% из TM», инструмент сообщает, что это когда-то одобрил человек.
На документах отказ хуже, чем на маркетинге, по одной причине: документы повторяются. Шестнадцать деклараций от одного отправителя разделяют бо́льшую часть шаблонного текста. Память, выучившая одну неверную формулировку, применит её ко всем шестнадцати.
Инцидент, купивший нам это правило
У нас это была китайская таможенная декларация, а сегмент — спецификация товара, те самые строки через вертикальную черту, которыми эти бланки пользуются:
исходник: 0|0|家用|按摩|无品牌|无型号|无编号
совпало: 0|0|家用|电热|...
Нечёткое совпадение 0.83 с автосохранённой, никем не проверенной записью TM. Строки отличаются одним полем из семи: 按摩 — это массаж, 电热 — электрический нагрев. Всё вокруг — нули, «бытовой», «без бренда / без модели / без артикула» — идентично, поэтому счёт и оказался высоким.
Применённый перевод сообщал, что товар с электрическим нагревом. Это были массажёры.
Эту историю стоит рассказывать именно потому, что извлечение было верным. Модель прочитала страницу безупречно. На шаге перевода ничто ничего не поняло неправильно. Неверные слова пришли из памяти, наполненной более ранним машинным переводом, которого никто не проверял, — а до нас дошла жалоба «подставляет не те слова», которая звучит как дефект извлечения и им не является.
Правило и три его части
1. В TM не попадает ничего, пока это не вычитал человек. Оба пути автосохранения закрыты. Память наполняется только из пути продвижения после человеческой вычитки и из явного подтверждения готового документа.
2. Автоподстановка начинается с 0.95. Ниже и до 0.70 совпадение применяется, но помечается на review, а не принимается молча. Ниже 0.70 — свежий машинный перевод: слабое совпадение на сегменте документа это обязательство, а не экономия.
3. Поиск фильтрует по признаку вычитки. Эту часть легче всего забыть. Закрыть путь записи бесполезно, если путь чтения по-прежнему возвращает строки, записанные до смены политики, — поэтому запрос точного совпадения требует признака, а исторические строки были удалены.
Про удаление стоит сказать честно: односторонняя миграция, стёршая все непроверенные строки. Вторая миграция подчистила ещё около тридцати четырёх, протёкших через путь сохранения, который мы пропустили с первого раза. Изящной версии тут нет. Если вы решили, что память содержит только вычитанное, существующее невычитанное придётся убрать.
Чего это стоит
Размен настоящий, и его стоит проговорить прямо — продавцы этого не делают:
Первый день: память пуста. Каждый сегмент — свежий машинный перевод. Дороже на документ, дольше, никакого рычага от повторов.
Наполняется медленно. Внутрь попадает только вычитанное, поэтому память растёт со скоростью человеческой вычитки, а не машинного перевода.
Часть экономии не придёт никогда. Контент, который никто не вычитывает, в память не попадёт, как бы часто он ни повторялся.
Против этого одна выгода: за каждым совпадением стоит человек. Ревьюер, глядящий на подсказку из TM, смотрит на то, что кто-то одобрил, — а это ровно то, что метка «из TM» всегда подразумевала и в машинно наполняемой памяти молча не означала.
Для документов с юридическими последствиями размен кажется нам очевидным. Для массового контента, где ошибки дёшевы, — возможно, нет.
Что сказали числа потом
Два замера определили, как мы это эксплуатируем.
Переиспользование между компаниями реально: 39,8%. Мы предполагали, что документная TM будет преимущественно поклиентской — что декларации одного отправителя помогут только ему. На деле почти две пятых переиспользования пересекли границы компаний, и это закрыло проектный вопрос о том, разводить ли памяти по клиентам. Не стали.
Переиспользуются не те части, о которых подумаешь. Секции record-типа — структурные, повторяющиеся строки — переиспользуются больше, чем шаблонная проза. Это противоположно интуиции, будто ценность несут заголовки и стандартные формулировки, и это аргумент держать структурные сегменты в памяти, а не отфильтровывать их как шум.
Импорт существующей памяти
Если у вас уже есть TM — из прошлого инструмента или клиентский TMX, — у политики возникает очевидное напряжение: эту память вычитывали не вы.
Наш ответ: импорт ложится непроверенным. Сегменты сохраняются и доступны поиску, в подстановке не участвуют, а человек продвигает те, которым доверяет, тем же путём подтверждения, что и всё остальное.
Это не столько компромисс, сколько последовательное применение политики. TMX из неизвестного источника — ровно тот невычитанный контент, который правило и существует чтобы не пускать в подстановку, а «его кто-то когда-то проверял» файл подтвердить не может. Импорт, вычитка, подтверждение — именно в таком порядке.
Как мигрировать существующий пайплайн
Четыре шага, и именно в этом порядке — иначе остаётся щель:
- Закрыть пути записи. Все. Ищите каждое место, сохраняющее в TM, а не только очевидное: мы нашли второй уже после первой чистки, и он успел протечь строками.
- Отфильтровать путь чтения по признаку вычитки, чтобы исторические записи перестали применяться, пока вы решаете, что с ними делать.
- Удалить или изолировать непроверенные строки. Удалить проще; изоляция позволяет вычитать ценные позже.
- Поднять порог автоподстановки и добавить под ним ярус review. Это та часть, которая ограничивает ущерб от всего, что просочится в будущем.
Шаги 1 и 2 вместе и останавливают кровотечение. Шаг 3 — уборка, шаг 4 — страховка.
Главное
- Память, куда пишет машина, деградирует, причём незаметно: одна неверная запись возвращается навсегда уверенным совпадением с меткой, подразумевающей человеческое одобрение.
- Документы делают это хуже, потому что повторяются. Одна неверная формулировка расходится по всем похожим бланкам от того же источника.
- Наш инцидент — совпадение 0.83 с разницей в одном поле из семи: «массаж» стал «электрическим нагревом» в таможенной декларации, из памяти, которую никто не проверял, при полностью верном извлечении.
- Закрыть путь записи недостаточно: поиск тоже обязан фильтровать по признаку, а исторические невычитанные строки — уйти.
- Цена реальна и берётся вперёд: пустая память, больше свежего MT, медленный рост. Выгода в том, что за каждым совпадением стоит человек.
FAQ
Почему не дать машине наполнять память переводов?
Потому что однажды сохранённая ошибка дальше применяется систематически, а метка TM подразумевает, что её одобрил человек. На документах эффект накапливается: похожие бланки повторяются, и одна неверная формулировка расходится по всем, кто с ней нечётко совпал.
С какого порога совпадение можно подставлять автоматически?
У нас 0.95 для молчаливой подстановки, 0.70–0.95 — применить, но пометить, ниже — свежий машинный перевод. Наш инцидент был совпадением 0.83: при прежнем пороге 0.85 оно применялось без review, при нынешней политике было бы помечено.
Разве память «только вычитанное» не бесполезна поначалу?
Да, и в этом цена. Память стартует пустой, большинство сегментов получают свежий машинный перевод, и наполняется она со скоростью человеческой вычитки. Мы принимаем это на документах, где ошибка дорога; на массовом контенте с дешёвыми ошибками размен может быть обратным.
Что делать с импортированным TMX?
Класть непроверенным. Сегменты доступны поиску и не участвуют в подстановке, пока человек не подтвердит их обычным путём. Файл из неизвестного источника — ровно тот невычитанный контент, который политика и существует чтобы не пускать.
Стоит ли разводить память переводов по клиентам?
Мы намерили 39,8% переиспользования, пересекающего границы компаний, и это стало аргументом против. Заодно полезно знать: структурные секции record-типа переиспользуются больше шаблонной прозы, так что не отфильтровывайте их как шум.
Заключение
Аргумент в пользу памяти «только вычитанное» не в том, что машинный перевод плох. Он в том, что память переводов — это утверждение: каждое совпадение сообщает ревьюеру, что такая формулировка уже применялась и была принята. Память, куда пишет машина, делает это утверждение без того, чтобы кто-нибудь проверил.
Цена платится в первый день, а выгода накапливается тихо — форма, которую трудно продать внутри компании. Нам её сделал лёгкой конкретный инцидент: декларация, сообщавшая «электрический нагрев» там, где документ говорил «массаж», выпущенная пайплайном, в котором каждый отдельный компонент работал верно.
Если хотите перевод документов, где в памяти лежит только одобренное человеком, — попробуйте KTTC.
