Поделиться через


Переводчик 3.0: поиск словаря

Предоставляет альтернативные переводы для слова и несколько идиоматических фраз. Каждый перевод содержит части речи и список обратных переводов. Обратные переводы позволяют пользователю понять перевод в контексте. Операция "Пример словаря" включает пример использования каждой пары перевода.

URL-адрес запроса

Отправьте запрос POST на следующий адрес.

https://api.cognitive.microsofttranslator.com/dictionary/lookup?api-version=3.0

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

Параметры запроса

В таблице ниже приведены параметры, которые передаются в строке запроса.

Параметр запроса Описание
версия API Обязательный параметр.
Версия API, запрошенная клиентом. Значением должно быть 3.0
от / из / с (context-dependent) Обязательный параметр.
Задает язык входного текста. Исходный язык должен быть одним из поддерживаемых языков , dictionary включенных в область.
Кому Обязательный параметр.
Задает язык выходного текста. Целевой язык должен быть одним из поддерживаемых языков , dictionary включенных в область.

К заголовкам запроса относятся:

Заголовки Описание
Заголовки проверки подлинности Обязательный заголовок запроса.
См. раздел Аутентификация.
Тип контента Обязательный заголовок запроса.
Указывает тип контента полезных данных. Возможные значения: application/json.
Длина содержимого Необязательно.
Длина текста запроса.
X-ClientTraceId Необязательно.
Идентификатор GUID, созданный клиентом, однозначно идентифицирует запрос. Этот заголовок можно опустить, если в строку запроса включен идентификатор трассировки с помощью параметра запроса с именем ClientTraceId.

Основное содержание запроса

Текст запроса — это массив JSON. Каждый элемент массива представляет собой объект JSON со строковым свойством Text, которое представляет термин для поиска.

[
    {"Text":"fly"}
]

Действительны следующие ограничения.

  • Массив может содержать не более 10 элементов.
  • Текстовое значение элемента массива не может превышать 100 символов, включая пробелы.

Основная часть ответа

Успешный ответ — это массив JSON с одним результатом для каждой строки в входном массиве. Результирующий объект содержит следующие свойства:

  • normalizedSource: строка, предоставляющая нормализованную форму исходного термина. Например, если запрос задан JOHN, нормализованная форма имеет значение john. Содержимое этого поля становится входными данными для примеров подстановки.

  • displaySource: строка, предоставляющая исходный термин в форме, подходящей для отображения конечным пользователем. Например, если входные данные заданыJOHN, отображаемая форма отражает обычное правописание имени: John

  • translations: список переводов для исходного термина. Каждый элемент списка является объектом со следующими свойствами:

  • normalizedTarget: строка, предоставляющая нормализованную форму этого термина на целевом языке. Это значение должно использоваться в качестве входных данных для поиска примеров.

  • displayTarget: строка, предоставляющая термин на целевом языке и в форме, которая лучше всего подходит для отображения конечным пользователем. Как правило, это свойство отличается только от normalizedTarget точки зрения заглавности. Например, правильное существительное, как Juan и normalizedTarget = "juan"displayTarget = "Juan".

  • posTag: строка, связанная с этим термином, с тегом части речи.

    Имя тега Описание
    ADJ Прилагательные
    ADV Наречия
    CONJ Союзы
    DET Определители
    MODAL Глаголы
    NOUN Существительные
    PREP Предлоги
    PRON Местоимения
    VERB Глаголы
    OTHER Другое

    Как обратите внимание на реализацию, эти теги являются частью речи, помеченными на английском языке, а затем принимают наиболее частый тег для каждой пары источника или целевого объекта. Таким образом, если люди часто переводят испанское слово на другой тег части речи на английском языке, теги в конечном итоге ошибаются (с учетом испанского слова).

  • confidence: значение от 0.0 до 1.0, представляющее "достоверность" (или более точное "вероятность в обучающих данных") этой пары перевода. Сумма оценки достоверности для одного исходного слова может или не может суммировать до 1,0.

  • prefixWord: строка, предоставляющая слово для отображения в виде префикса перевода. В настоящее время это свойство является гендерным определением существительных на языках с определением пола. Например, префикс испанского слова mosca , laтак как mosca является женским существительным на испанском языке. Это значение зависит только от перевода, а не от источника. Если префикс отсутствует, это пустая строка.

  • backTranslations: список "обратных переводов" целевого объекта. Например, исходные слова, на которые может быть переведен целевой объект. Список гарантированно содержит запрошенное исходное слово (например, если исходное слово fly, которое ищется, то fly включается в backTranslations список). Тем не менее, он не гарантируется быть в первой позиции, и часто не является. Каждый элемент backTranslations списка является объектом, описанным следующими свойствами:

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

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

    • numExamples: целое число, представляющее количество примеров, доступных для этой пары переводов. Фактические примеры должны быть получены с помощью отдельного вызова примеров подстановки. Число в основном предназначено для упрощения отображения в пользовательском интерфейсе. Например, пользовательский интерфейс может добавить гиперссылку на обратный перевод, если число примеров больше нуля. Затем обратный перевод отображается как обычный текст, если нет примеров. Фактическое количество примеров, возвращаемых вызовом примеров подстановки , может быть меньше numExamples, чем, так как больше фильтров можно применить к лету, чтобы удалить "плохие" примеры.

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

      Замечание

      Если в словаре не существует термин, ответ равен 200 (ОК), но translations список является пустым списком.

Примеры

В этом примере показано, как найти альтернативные переводы на испанском языке английского термина fly .

curl -X POST "https://api.cognitive.microsofttranslator.com/dictionary/lookup?api-version=3.0&from=en&to=es" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json" -d "[{'Text':'fly'}]"

Текст ответа (сокращен для ясности) — это:

[
    {
        "normalizedSource":"fly",
        "displaySource":"fly",
        "translations":[
            {
                "normalizedTarget":"volar",
                "displayTarget":"volar",
                "posTag":"VERB",
                "confidence":0.4081,
                "prefixWord":"",
                "backTranslations":[
                    {"normalizedText":"fly","displayText":"fly","numExamples":15,"frequencyCount":4637},
                    {"normalizedText":"flying","displayText":"flying","numExamples":15,"frequencyCount":1365},
                    {"normalizedText":"blow","displayText":"blow","numExamples":15,"frequencyCount":503},
                    {"normalizedText":"flight","displayText":"flight","numExamples":15,"frequencyCount":135}
                ]
            },
            {
                "normalizedTarget":"mosca",
                "displayTarget":"mosca",
                "posTag":"NOUN",
                "confidence":0.2668,
                "prefixWord":"",
                "backTranslations":[
                    {"normalizedText":"fly","displayText":"fly","numExamples":15,"frequencyCount":1697},
                    {"normalizedText":"flyweight","displayText":"flyweight","numExamples":0,"frequencyCount":48},
                    {"normalizedText":"flies","displayText":"flies","numExamples":9,"frequencyCount":34}
                ]
            },
            //
            // ...list abbreviated for documentation clarity
            //
        ]
    }
]

В этом примере показано, что происходит, когда термин, который ищется, не существует для допустимой пары словарей.

curl -X POST "https://api.cognitive.microsofttranslator.com/dictionary/lookup?api-version=3.0&from=en&to=es" -H "X-ClientTraceId: 875030C7-5380-40B8-8A03-63DACCF69C11" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json" -d "[{'Text':'fly123456'}]"

Так как термин не найден в словаре, текст ответа содержит пустой translations список.

[
    {
        "normalizedSource":"fly123456",
        "displaySource":"fly123456",
        "translations":[]
    }
]