ДокументацияЦеныИсследованияEnterpriseКарьера
Вакансии
ВойтиЗарегистрироватьсяЗаказать демо
Все статьи

Retrieval Augmented Localization сокращает число терминологических ошибок LLM на 17–45%

В реальной локализации переводят изолированные абзацы и строки. CI/CD-конвейер сравнивает текущую версию с предыдущей и заново переводит только то, что изменилось, — строку интерфейса, тултип, отредактированный абзац. Каждый запрос поступает в LLM изолированно — без окружающей страницы, без полного контекста документа, без какого-либо сигнала о том, что перед ней: юридический текст ЕС или маркетинговый copy. Если во время инференса не подать предметный контекст, каждый такой запрос становится новой точкой риска для дрейфа терминологии.

Retrieval Augmented Localization (RAL) устраняет этот разрыв, дополняя каждый запрос на перевод терминами из глоссария, правилами тональности бренда и инструкциями для конкретной локали прямо во время инференса — по тому же retrieve-inject-паттерну, который лежит в основе Retrieval Augmented Generation (RAG). В контролируемой оценке с участием пяти провайдеров LLM и пяти европейских языков RAL сократила число терминологических ошибок на 16.6–44.6%.

Ключевые выводы:

  • RAL сократила число терминологических ошибок на 16.6–44.6% у всех пяти протестированных провайдеров LLM
  • Интегральные оценки качества (GEMBA-DA) не смогли уловить эти различия: дельта составила 0.0007–0.0178, тогда как MQM зафиксировала на тысячи ошибок меньше
  • Больше всего выиграли модели с более слабой базовой точностью по терминологии: Mistral (-44.6%) и Deepseek (-42.1%) против Anthropic (-24.4%) и Google (-16.6%)
  • Португальский дал наибольшее улучшение среди локалей, французский — наименьшее: чем сильнее предметная терминология расходится с обучающими данными, тем больше помогает RAL

Проблема изоляции#

Единица реальной локализации невелика: абзац, строка, дифф. Редко больше 200 слов. Часто меньше 50. JSON-файл локали состоит из отдельных ключей, и в каждом — фраза или предложение. Страница в CMS собирается из блоков, каждый из которых переводится отдельно.

Когда модель встречает слово "provider" в изолированном английском абзаце, ей приходится решать: это португальское "fornecedor" (общеупотребительный вариант) или "prestador" (официальный юридический термин ЕС)? Без предметного контекста она выбирает первый. Если умножить это на каждый доменно-специфичный термин в каждой локали, дрейф терминологии становится нормой.

Мы поставили себе цель точно измерить, насколько велик этот разрыв, и проверить, закрывает ли его добавление глоссарного контекста во время инференса.

Первая попытка не показала ничего#

В нашем первом эксперименте использовалось 37 терминов глоссария на каждую языковую пару, а переводы оценивались на уровне статьи — каждая статья объёмом 200–700 слов рассматривалась как единое целое. Результат: GEMBA-DA — интегральный промпт оценки качества, победивший на WMT23, — показал 0.952 для raw и 0.952 для configured. Разметка ошибок MQM дала оценки 0.985–0.999 для каждого перевода. Никакого сигнала. Никакой разницы. По всем метрикам вывод raw и вывод с дополнением глоссарием выглядели одинаково.

Мы уже почти опубликовали нулевой результат. Но затем разобрались, почему так вышло.

Проблем было две. Во-первых, 37 терминов в глоссарии оказалось слишком мало: во многих тестовых абзацах вообще не было совпадений с глоссарием, поэтому у настроенного движка локализации не возникало преимущества. Во-вторых, оценка на уровне статьи математически сжимает различия в качестве до уровня шума. Оценки MQM вычисляются как 1 - penalty / wordCount. Одна серьёзная терминологическая ошибка в статье на 500 слов: 1 - 5/500 = 0.99. Та же ошибка в абзаце на 50 слов: 1 - 5/50 = 0.90. Ошибка одна и та же. Оценка — нет. На уровне статьи любые реальные различия в качестве исчезают выше 0.98.

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

Мы сменили оптику#

Во второй итерации мы внесли четыре изменения.

Во-первых, мы расширили глоссарий с 37 до 72 терминов на каждую языковую пару — их извлекли из обучающего набора статей, отдельного от тестового набора, использованного для оценки. Во-вторых, мы перешли к оценке на уровне абзаца (50–200 слов), чтобы она соответствовала реальной единице продакшен-перевода. В-третьих, мы добавили в промпт MQM эталонные переводы, выполненные людьми, чтобы судьи могли напрямую сверять терминологию. В-четвёртых, мы сократили число судей с шести до четырёх. Deepseek и QWEN отмечали всего 1–3 ошибки на абзац против 5–15 у более строгих судей — они были слишком снисходительны и не добавляли полезного сигнала.

Сигнал проявился сразу.

Дизайн исследования#

Датасет. Нам нужен был текст с максимально высокой плотностью терминологии, чтобы стресс-тестировать добавление глоссария в максимально требовательных условиях. Идеально подошёл Закон ЕС об ИИ (Regulation 2024/1689): формальный нормативный текст, где почти в каждом абзаце есть термины с конкретными, официально закреплёнными переводами. EUR-Lex публикует официальные переводы, выполненные людьми, на все пять целевых языков, что позволяет оценивать качество абзац за абзацем по эталону. 15 статей, перевод с английского на немецкий, французский, испанский, португальский и итальянский.

Движки. Для каждого провайдера тестировались две конфигурации движка локализации: raw-движок (сама LLM — без глоссария, без retrieval, только знания, полученные на этапе обучения) и RAL-augmented-движок (та же модель, но с предметным глоссарием, профилем тональности бренда и инструкциями для конкретной локали, которые применяются во время инференса). Всего получилось десять движков, причём во всех RAL-augmented-движках использовалась одна и та же конфигурация.

ПровайдерМодельRaw-движокRAL-движок
Anthropicclaude-opus-4.6только модельглоссарий + тональность бренда + инструкции
OpenAIgpt-5.4только модельглоссарий + тональность бренда + инструкции
Googlegemini-3.1-pro-previewтолько модельглоссарий + тональность бренда + инструкции
Mistralmistral-large-2512только модельглоссарий + тональность бренда + инструкции
Deepseekdeepseek-v3.2только модельглоссарий + тональность бренда + инструкции

QWEN изначально входил в выборку, но в финальный набор не попал: переводы получались медленными и ненадёжными — по той же причине модель исключили и из состава судей.

Конфигурация RAL. Каждый дополненный движок содержал 72 термина глоссария на каждую языковую пару (70 пользовательских переводов и 2 непереводимых элемента), профиль тональности бренда (формальный нормативный регистр ЕС) и 13 инструкций для конкретной локали. Термины глоссария извлекались из обучающего набора статей, отдельного от тестового набора, использованного для оценки. Примеры записей: EN "provider" → PT "prestador" (не "fornecedor"); EN "high-risk AI system" → PT "sistema de IA de risco elevado" (не "sistema de IA de alto risco"). Во время инференса извлекаются и передаются модели только те термины, которые соответствуют текущему абзацу, — размер глоссария не раздувает контекстное окно. Движки были настроены в Lingo.dev как stateful движки локализации — с постоянным контекстом, который применяется к каждому запросу.

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

СудьяМодель
Anthropicclaude-sonnet-4.6
OpenAIgpt-4.1
Googlegemini-2.5-flash
Mistralmistral-large-2512

GEMBA-MQM. MQM (Multidimensional Quality Metrics) — это стандартный фреймворк для оценки качества перевода, который обычно используют обученные аннотаторы. GEMBA-MQM, победивший на WMT23 метод оценки, заменяет аннотаторов LLM, но следует тому же протоколу MQM: судья читает перевод и фиксирует каждую ошибку, присваивая ей категорию и степень серьёзности.

Категории ошибок: точность, беглость, стиль, терминология. Веса серьёзности соответствуют официальному стандарту MQM: minor = 1, major = 5, critical = 25.

Оценка MQM для одного абзаца: max(0, 1 - weighted penalty / word count). Абзац из 50 слов с одной серьёзной терминологической ошибкой получает 1 - 5/50 = 0.90. Идеальный абзац получает 1.0. Количество ошибок в таблицах результатов суммируется по всем четырём судьям и всем абзацам для конкретного провайдера и локали.

Одно изменение по сравнению со стандартным промптом GEMBA-MQM: мы добавили эталонный перевод, выполненный человеком. По своей конструкции GEMBA-MQM не использует эталон — судья оценивает качество, не видя «правильного» ответа. Мы добавили эталоны, потому что EUR-Lex публикует официальные переводы Закона ЕС об ИИ на все пять целевых языков, и это даёт судьям ground truth для сравнения терминологии.

GEMBA-DA. Интегральная оценка качества по шкале 0–1 с использованием промпта GEMBA-DA (тоже победившего на WMT23). В отличие от MQM, она выдаёт одну итоговую оценку без разметки ошибок. Мы включили её как sanity check — и, как показывают результаты, она не способна выявлять различия на уровне терминологии.

Deepseek исключили из панели судей из-за чрезмерно мягкого оценивания (1–3 ошибки на абзац против 5–15 у более строгих судей). Усреднение по четырём судьям сглаживает индивидуальные смещения, а относительное улучшение raw-vs-RAL остаётся стабильным у каждого судьи.

Размер выборки. 535 парных наблюдений на уровне абзацев на одного провайдера (107 абзацев × 5 локалей). Всего более 42 000 индивидуальных оценок качества (535 абзацев × 5 провайдеров × 2 конфигурации × 8 оценок каждая).

Число терминологических ошибок снижается на 16.6–44.6%#

ПровайдерОшибки в rawОшибки в RALСнижение
Mistral3,3361,847-44.6%
Deepseek3,6722,127-42.1%
OpenAI2,2761,508-33.7%
Anthropic1,5591,179-24.4%
Google1,9011,586-16.6%

Количество терминологических ошибок по MQM на материале 15 статей, 5 локалей и оценок 4 судей.

Масштаб улучшения обратно зависел от исходного уровня качества. Mistral и Deepseek — с самым высоким числом ошибок в raw-режиме — показали снижение на 42.1–44.6%. Anthropic и Google, в обучении которых уже лучше отражена юридическая терминология ЕС, выиграли меньше. Картина ясна: RAL компенсирует то, чего модель изначально не знает.

При этом GEMBA-DA — интегральная оценка — показала дельту всего 0.0007–0.0178 между raw и RAL у всех провайдеров. Те же самые переводы, в которых MQM зафиксировала на 16.6–44.6% больше терминологических ошибок, получили почти одинаковые интегральные оценки. В этом и заключается разрыв измерения: интегральная оценка при любом уровне гранулярности не видит различий в качестве на уровне терминологии.

Общее число ошибок (по всем категориям MQM) тоже снизилось у всех пяти провайдеров — меньше, но стабильно:

ПровайдерИтого без RALИтого с RALИзменение
Deepseek10,4239,014-13.5%
Mistral8,8467,812-11.7%
OpenAI7,5637,155-5.4%
Google7,7937,545-3.2%
Anthropic6,2326,039-3.1%

Разница между снижением терминологических ошибок (16.6-44.6%) и общим снижением ошибок (3.1-13.5%) во многом объясняется стилем. LLM-судьи склонны помечать текст как "неестественный", если он расходится с предпочтениями, заложенными в их обучающих данных, даже когда это расхождение приближает перевод к официальному эталону. Это известное ограничение называется bias self-preference. Терминология и точность привязаны к эталону; у стиля такой опоры нет — только собственное представление судьи о том, что звучит естественно.

Статистическая значимость#

Снижение терминологических ошибок для каждого провайдера проверялось с помощью парного критерия знаковых рангов Уилкоксона (односторонний тест, с поправкой Холма—Бонферрони для пяти провайдеров). Количество терминологических ошибок в каждом абзаце суммировалось по оценкам четырёх судей, после чего данные сопоставлялись попарно по абзацам (один и тот же исходный текст, те же судьи, без RAL vs с RAL).

ПровайдерПарные абзацыСреднее снижение на абзац95% ДИd Коэнаp (с поправкой)
Mistral5322.80[2.42, 3.21]0.60< 0.001
Deepseek5262.94[2.45, 3.44]0.50< 0.001
OpenAI5351.44[1.12, 1.77]0.37< 0.001
Anthropic5330.71[0.50, 0.93]0.28< 0.001
Google5330.59[0.34, 0.85]0.20< 0.001

Все пять провайдеров показывают статистически значимое снижение терминологических ошибок (p < 0.001 после поправки Холма—Бонферрони на множественные сравнения), а 95% доверительные интервалы во всех случаях исключают ноль. Размер эффекта варьируется от умеренно высокого (Mistral, d = 0.60) до небольшого (Google, d = 0.20), что подтверждает общую закономерность: модели с более слабым базовым покрытием терминологии сильнее выигрывают от RAL.

Где RAL даёт наибольший эффект#

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

Кейс: OpenAI и португальский

В исходном переводе OpenAI текст EU AI Act переводился на португальский с использованием "alto risco" 71 раз (разговорный вариант "high risk"), "fornecedores" 39 раз и "fornecedor" 36 раз. В официальных переводах EUR-Lex используются "risco elevado" и "prestadores". С RAL количество терминологических ошибок в португальском у OpenAI снизилось с 648 до 266 — на 59%.

Эта закономерность универсальна: чем дальше предметная терминология локали от распределения, на котором обучалась LLM, тем больше пользы даёт RAL.

Как это работает#

Механизм прост. Во время инференса движок разбивает входной текст на n-граммы и строит для них эмбеддинги. Затем он выполняет поиск по косинусному сходству в векторном индексе глоссария, чтобы найти совпадающие термины. Найденные термины подставляются в контекстное окно LLM вместе с исходным текстом. Модель не гадает, выбрать "fornecedor" или "prestador", — она видит правильное соответствие в контексте и использует его. По своей структуре это полностью соответствует RAG: embed, retrieve, inject, generate.

Рейтинг провайдеров по качеству без RAL#

Без RAL — только исходный вывод модели:

МестоПровайдерСредний MQM
1Anthropic0.955
2OpenAI0.942
3Google0.938
4Mistral0.915
5Deepseek0.883

Разрыв в 0.072 между Anthropic и Deepseek соответствует примерно 3-4 дополнительным ошибкам на 100 слов текста. RAL сократил этот разрыв: Mistral с RAL (в среднем 0.940) приблизился к исходному качеству Google (0.938). Модель с кратно более низкой стоимостью за токен, усиленная глоссарием из 72 терминов, достигла той же терминологической точности, что и более дорогая модель без глоссария.

Что это значит для продакшена#

Разрыв между сырым выводом LLM и локализацией, готовой к продакшену, — это проблема контекста. И со временем она только усугубляется. После десяти релизов без RAL в продукте одновременно сосуществуют три разных неверных перевода слова "provider".

RAL разрывает этот сценарий. Глоссарий сохраняется и применяется к каждому запросу вне зависимости от того, что изменилось. Глоссарий из 72 терминов, который в нашем исследовании сократил количество ошибок на 16.6-44.6%, — это не разовый выигрыш. Это слой согласованности для каждого запроса на перевод на всём протяжении жизни продукта.

Для команд, которые выпускают переводы с помощью LLM, из этого следуют два вывода. Во-первых, интегральные метрики качества не выявляют проблемы на уровне терминологии. GEMBA-DA — метод-победитель WMT23 — оценил исходные переводы и переводы с RAL с разницей всего 0.0007-0.0178. При этом MQM зафиксировал на 16.6-44.6% меньше терминологических ошибок. Если вы оцениваете качество страницы одним итоговым баллом, вы видите не всю картину.

Во-вторых, решение проще, чем кажется. Предметный глоссарий, добавленный во время инференса, сократил количество терминологических ошибок у каждого провайдера, которого мы тестировали. Улучшилась даже модель с лучшим качеством перевода (Anthropic, MQM 0.955). А модель с самым высоким базовым уровнем ошибок (Deepseek, MQM 0.883) улучшилась сильнее всех.

RAL для локализации — то же, что RAG для генерации: инженерный слой между моделью и продакшеном.

Следующие шаги#

Представляем Lingo.dev v1.0
Платформа для localization engineering, построенная вокруг RAL
Движки локализации
Настраивайте модели, глоссарии и тональность бренда для каждой локали

Платформа

API локализацииAPI асинхронных задачДвижки локализацииОпределение языкаLingo.dev Platform MCPЦены

Инструменты разработчика

Lingo React MCPLingo CLILingo GitHub ActionLingo React Compiler
Альфа

Ресурсы

ДокументацияLabsРуководстваЖурнал измененийЯзыкиLLM-модели

Компания

БлогИсследованияЗаказать демоКлиентыКарьера
Вакансии
humans.txt

Сообщество

GitHubDiscordTwitterLinkedIn
Штаб-квартира в Сан-Франциско, команда — по всему миру
SOC 2 Type II·CCPA·GDPR
Нас поддерживают Y Combinator
Combinator
& Initialized Capital
Initialized Capital
& наши клиенты
Конфиденциальность·Условия·Файлы cookie·security.txt

© 2026 Lingo.dev (Replexica, Inc).

Все системы работают нормально
ВойтиЗарегистрироватьсяЗаказать демо
Veronica PrilutskayaVeronica Prilutskaya, Директор по продукту и соучредитель·Опубликовано 5 месяцев назад·10 минут чтения