你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

翻译器 3.0:字典查找

为单词和一些惯用短语提供替代翻译。 每条转换都包含语性和回译列表。 回译可让用户在语境中理解该转换。 字典示例作包括每个翻译对的示例用法。

请求的 URL

POST 请求发送到:

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

请参阅虚拟网络支持,以了解翻译器服务选择的网络和专用终结点配置与支持。

请求参数

查询字符串上传递的请求参数如下:

查询参数 DESCRIPTION
API版本 (api-version) 必需参数。
客户端所请求的 API 的版本。 值必须是 3.0
必需参数。
指定输入文本的语言。 源语言必须是 范围内 dictionary 支持的语言之一。
必需参数。
指定输出文本的语言。 目标语言必须是 范围中包含的dictionary之一。

请求标头包括:

标头 DESCRIPTION
身份验证标头 必需的请求标头
请参阅身份验证
内容类型(Content-Type) 必需的请求标头
指定有效负载的内容类型。 可能的值为:application/json
内容长度 可选
请求正文的长度。
X-ClientTraceId 可选
客户端生成的 GUID,用于唯一标识请求。 如果在查询字符串中使用名为 ClientTraceId 的查询参数包括了跟踪 ID,则可以省略此标头。

请求主体

请求的正文是一个 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 其他

    作为实现说明,这些标记是英语端的一部分语音标记,然后为每个源/目标对采用最频繁的标记。 因此,如果人们经常用英语将西班牙语单词翻译成另一个部分语音标记,标签 cab 最终会出错(关于西班牙语单词)。

  • 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":[]
    }
]