Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Yandex Translate
  • Начало работы
    • Все инструкции
    • Перевод текста
    • Повышение точности перевода
    • Определение языка текста
    • Получение списка поддерживаемых языков
    • Настройка доступа с помощью API-ключа
  • Управление доступом
  • Правила тарификации

В этой статье:

  • Перед началом работы
  • Указать язык исходного текста
  • Указать собственный глоссарий для перевода
  • Экранировать текст
  • Проверить опечатки
  1. Пошаговые инструкции
  2. Повышение точности перевода

Повышение точности перевода

Статья создана
Yandex Cloud
Обновлена 2 апреля 2025 г.
  • Перед началом работы
  • Указать язык исходного текста
  • Указать собственный глоссарий для перевода
  • Экранировать текст
  • Проверить опечатки

Чтобы повысить точность перевода:

  • Укажите язык исходного текста. Некоторые слова пишутся одинаково в разных языках, но имеют разное значение. Если модель неправильно определит язык исходного текста, то и перевод будет другим.
  • Укажите собственный глоссарий для перевода. Слово может переводиться по-разному. Например oil переводится как масло или нефть. С помощью глоссария вы сможете указать, как правильно переводить слово или словосочетание. Подробнее о глоссариях.

Перед началом работыПеред началом работы

Чтобы воспользоваться примерами, установите cURL.

Примеры ниже разработаны для выполнения в операционных системах MacOS и Linux. Чтобы выполнить их в системе Windows, ознакомьтесь с особенностями работы с Bash в Microsoft Windows.

Для аутентификации от имени сервисного аккаунта вы можете использовать API-ключ или IAM-токен, для аутентификации от имени пользовательского аккаунта — только IAM-токен.

Получите данные вашего аккаунта для аутентификации в API Translate:

API-ключ
IAM-токен
  1. Если у вас еще нет сервисного аккаунта, создайте его.

  2. Назначьте сервисному аккаунту роль ai.translate.user на каталог.

  3. Получите идентификатор каталога, в котором создан ваш сервисный аккаунт. Идентификатор каталога должен передаваться в теле каждого запроса в поле folderId.

  4. Создайте API-ключ с областью действия yc.ai.translate.execute.

    Передавайте полученный ключ в заголовке Authorization каждого запроса в формате:

    Authorization: Api-Key <API-ключ>
    
  1. Получите идентификатор любого каталога, на который у вашего аккаунта есть роль ai.translate.user или выше. Идентификатор каталога должен передаваться в теле каждого запроса в поле folderId.

  2. Получите IAM-токен для аккаунта на Яндексе, федеративного аккаунта или сервисного аккаунта.

    Передавайте полученный токен в заголовке Authorization каждого запроса в формате:

    Authorization: Bearer <IAM-токен>
    

Указать язык исходного текстаУказать язык исходного текста

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

Чтобы избежать ошибки, укажите в поле sourceLanguageCode язык, с которого необходимо перевести текст:

cURL
{
    "folderId": "<идентификатор_каталога>",
    "texts": ["angel"],
    "targetLanguageCode": "ru",
    "sourceLanguageCode": "de"
}

Где:

  • folderId — идентификатор каталога, полученный перед началом работы.
  • texts — текст для перевода в виде списка из строк.
  • targetLanguageCode — язык, на который переводится текст. Вы можете узнать код языка вместе со списком поддерживаемых языков.
  • sourceLanguageCode — язык, с которого переводится текст.

Сохраните тело запроса в файле, например в body.json, и передайте файл с помощью метода translate:

export API_KEY=<API-ключ>
curl \
  --request POST \
  --header "Content-Type: application/json" \
  --header "Authorization: Api-Key ${API_KEY}" \
  --data '@<путь_до_файла_json>' \
  "https://translate.api.cloud.yandex.net/translate/v2/translate"

Где API_KEY — API-ключ, полученный перед началом работы. Если для аутентификации вы используете IAM-токен, измените заголовок Authorization на "Authorization: Bearer <IAM-токен>".

В ответе будет перевод с корректно распознанного языка:

{
    "translations": [
        {
            "text": "удочка"
        }
    ]
}

Указать собственный глоссарий для переводаУказать собственный глоссарий для перевода

Слово может переводиться по-разному. Например, oil переводится как масло или нефть. Чтобы повысить точность перевода, используйте глоссарий со своим набором терминов и фраз, и однозначным переводом для них.

Глоссарий укажите в поле glossaryConfig. Сейчас глоссарий можно передать только в виде массива текстовых пар.

В поле sourceLanguageCode укажите язык, с которого необходимо перевести текст. Это поле обязательно при использовании глоссариев:

cURL
{
    "sourceLanguageCode": "tr",
    "targetLanguageCode": "ru",
    "texts": [
        "cırtlı çocuk spor ayakkabı"
    ],
    "folderId": "<идентификатор_каталога>",
    "glossaryConfig": {
        "glossaryData": {
            "glossaryPairs": [
                {
                    "sourceText": "spor ayakkabı",
                    "translatedText": "кроссовки"
                }
            ]
        }
    }
}

Где:

  • sourceLanguageCode — язык, с которого переводится текст. Вы можете узнать код языка вместе со списком поддерживаемых языков.
  • targetLanguageCode — язык, на который переводится текст.
  • texts — текст для перевода в виде списка из строк.
  • folderId — идентификатор каталога, полученный перед началом работы.

Сохраните тело запроса в файле, например в body.json, и передайте файл с помощью метода translate:

export API_KEY=<API-ключ>
curl \
  --request POST \
  --header "Content-Type: application/json" \
  --header "Authorization: Api-Key ${API_KEY}" \
  --data '@<путь_до_файла_json>' \
  "https://translate.api.cloud.yandex.net/translate/v2/translate"

Где API_KEY — API-ключ, полученный перед началом работы. Если для аутентификации вы используете IAM-токен, измените заголовок Authorization на "Authorization: Bearer <IAM-токен>".

В ответе будет перевод с использованием терминов из глоссария:

{
    "translations": [
        {
            "text": "Детские кроссовки с липучкой"
        }
    ]
}

Без использования глоссария перевод будет таким:

{
    "translations": [
        {
            "text": "детская спортивная обувь с липучкой"
        }
    ]
}

Экранировать текстЭкранировать текст

Чтобы определенные фрагменты текста не переводились, в теле запроса укажите формат текста HTML и экранируйте не требующие перевода фрагменты тегом <span> с атрибутом translate=no. Например:

cURL
{
    "format": "HTML",
    "texts": [
        "The e-mail has been changed. The new password is **<span translate=no>**%\$Qvd14aa2NMc**</span>**"
    ]
}

Где:

  • format — формат текста.
  • texts — текст для перевода в виде списка из строк.

В ответе текст внутри тега <span> останется без перевода:

{
    "translations": [
        {
            "text": "L'e-mail a été modifié. Le nouveau mot de passe est **<span translate="no">**%\$Qvd14aa2NMc**</span>**"
        }
    ]
}

Проверить опечаткиПроверить опечатки

Слова с опечатками могут быть переведены неправильно или транслитерированы. Например, слово hellas переводится как эллада. Это же слово, написанное с ошибкой — helas, будет переводиться как хелас. Чтобы проверить правильность написания слов, используйте параметр speller:

cURL
{
  "sourceLanguageCode": "en"
  "targetLanguageCode": "ru",
  "texts": [
    "helas"
    ],
  "folderId": "<идентификатор_каталога>",
  "speller": true
}

Где:

  • sourceLanguageCode — язык оригинала. Вы можете узнать код языка вместе со списком поддерживаемых языков.
  • targetLanguageCode — целевой язык перевода.
  • texts — текст для перевода в виде списка строк.
  • folderId — идентификатор каталога, полученный перед началом работы.
  • speller — параметр, который включает проверку орфографии.

Сохраните тело запроса в файле, например в body.json, и передайте файл с помощью метода translate:

export API_KEY=<API-ключ>
curl \
  --request POST \
  --header "Content-Type: application/json" \
  --header "Authorization: Api-Key ${API_KEY}" \
  --data '@<путь_до_файла_json>' \
  "https://translate.api.cloud.yandex.net/translate/v2/translate"

Где API_KEY — API-ключ, полученный перед началом работы. Если для аутентификации вы используете IAM-токен, измените заголовок Authorization на "Authorization: Bearer <IAM-токен>".

В ответе будет перевод слова, проверенного на наличие ошибок:

{
    "translations": [
        {
            "text": "эллада"
        }
    ]
}

Без проверки ошибок в слове ("speller": false) перевод будет таким:

{
    "translations": [
        {
            "text": "хелас"
        }
    ]
}

Была ли статья полезна?

Предыдущая
Перевод текста
Следующая
Определение языка текста
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»