Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
© 2022 ООО «Яндекс.Облако»
Yandex Translate
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Перевод текста
    • Повышение точности перевода
    • Определение языка текста
    • Получение списка поддерживаемых языков
  • Концепции
    • Обзор
    • Дообучение моделей
    • Поддерживаемые языки
    • Глоссарии
    • Поддержка глоссариев
  • Справочник API
    • Аутентификация в API
    • gRPC
      • Обзор
      • TranslationService
    • REST
      • v2
        • Обработка ошибок
        • Диагностика ошибок
        • Обзор
        • Translation
          • Обзор
          • detectLanguage
          • listLanguages
          • translate
      • v1 (DEPRECATED)
        • Обзор
        • Перевод текста
        • Определение языка текста
        • Список поддерживаемых языков
        • Формат ответа
  • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
    • Действующие правила
    • Архив
      • Правила до 1 января 2019 года
  • Вопросы и ответы
  1. Пошаговые инструкции
  2. Определение языка текста

Определение языка текста

Статья создана
Yandex.Cloud
  • Перед началом
  • Распознать язык фразы
  • Указать наиболее вероятные языки

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

Перед началом

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

Аккаунт пользователя на Яндексе
Сервисный аккаунт
Федеративный аккаунт
  1. На странице биллинга убедитесь, что платежный аккаунт находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его.
  2. Получите IAM-токен, необходимый для аутентификации.
  3. Получите идентификатор любого каталога, на который у вашего аккаунта есть роль editor или выше.
  1. Выберите способ аутентификации:

    • Получите IAM-токен, используемый в примерах.

    • Создайте API-ключ. Передайте API-ключ в заголовке Authorization в следующем формате:

      Authorization: Api-Key <API-ключ>
      
  2. Назначьте сервисному аккаунту роль editor или выше на каталог, в котором он был создан.

    Не указывайте в запросах идентификатор каталога — сервис использует каталог, в котором был создан сервисный аккаунт.

  1. Аутентифицируйтесь в CLI от имени федеративного пользователя.

  2. С помощью CLI получите IAM-токен, необходимый для аутентификации:

    yc iam create-token
    
  3. Получите идентификатор любого каталога, на который у вашего аккаунта есть роль editor или выше.

Распознать язык фразы

В этом примере мы определим, на каком языке написана фраза Hello, world.

Чтобы определить, на каком языке написан текст, передайте его в теле запроса detectLanguage:

$ export FOLDER_ID=b1gvmob95yysaplct532
$ export IAM_TOKEN=CggaATEVAgA...
$ export TEXT="Hello, world"
$ curl -X POST \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer ${IAM_TOKEN}" \
    -d "{\"folderId\": \"${FOLDER_ID}\", \"text\": \"${TEXT}\"}" \
    "https://translate.api.cloud.yandex.net/translate/v2/detect"

В ответе сервис вернет код языка, на котором написан текст. Код языка указывается в формате ISO 639-1:

{
    "languageCode": "en"
}

Указать наиболее вероятные языки

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

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

{
    "folderId": "b1gvmob95yysaplct532",
    "languageCodeHints":["ru", "de"],
    "text": "hand"
}

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

$ export IAM_TOKEN=CggaATEVAgA...
$ curl -X POST \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer ${IAM_TOKEN}" \
    -d '@body.json' \
    "https://translate.api.cloud.yandex.net/translate/v2/detect"

{
    "languageCode": "de"
}

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

Language / Region
© 2022 ООО «Яндекс.Облако»
В этой статье:
  • Перед началом
  • Распознать язык фразы
  • Указать наиболее вероятные языки