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


Перевод текстов 3.0: поиск по словарю

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

Запросить URL-адрес

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

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

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

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

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

Параметр запроса Description
api-version Обязательный параметр.
Версия API, запрошенная клиентом. Значением должно быть 3.0
от Обязательный параметр.
Определяет язык оригинального текста. Исходный язык должен быть одним из поддерживаемых языков, включенных в область dictionary.
до Обязательный параметр.
Определяет язык выходного текста. Целевой язык должен быть одним из поддерживаемых языков, включенных в область dictionary.

Заголовки запроса:

Заголовки Description
Заголовки проверки подлинности Обязательный заголовок запроса.
См. раздел Аутентификация.
Тип контента Обязательный заголовок запроса.
Указывает тип содержимого для полезных данных. Возможные значения: application/json.
content-length: 0 Необязательно.
Длина текста запроса.
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. Строка, связывающая этот термин с тегом части речи.

    Имя тега Description
    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. Целое число, представляющее собой количество доступных примеров для данной пары переводов. Фактические примеры должны быть получены с помощью отдельного вызова примеров поиска. Номер предназначен главным образом для облегчения отображения в UX. Например, пользовательский интерфейс может добавить гиперссылку на обратный перевод, если число примеров больше нуля. Затем обратный перевод отображается как обычный текст, если нет примеров. Фактическое количество примеров, возвращаемых вызовом примеров подстановки, может быть меньше 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":[]
    }
]