文本翻译认知技能

文本翻译技能对文本进行评估,并针对每个记录返回已翻译为指定目标语言的文本。 此技能使用 Azure AI 服务中提供的文本翻译 API v3.0

此功能适用于你预期自己的文档可能不会全部采用一种语言的情况,在这种情况下,你可能会在编制索引以方便搜索之前通过翻译将文本标准化为单一语言。 这也适用于本地化用例,即,你可能需要将同一文本的副本以多种语言发布。

文本翻译 API v3.0 是一种非区域认知服务,这意味着你的数据不一定与 Azure AI 搜索或附加的认知服务资源位于同一区域。

注意

此技能绑定到 Azure AI 服务,并且对于每天每个索引器超过 20 个文档的事务,需要使用可计费资源。 执行内置技能将按现有的 Azure AI 服务标准预付费套餐价格收费。

使用此技能时,即使源语言和目标语言相同,源中的所有文档都会被处理并收取翻译费用。 此行为对于同一文档中的多语言支持很有用,但它可能导致不必要的处理。 为避免不需要处理的文档产生意外的计费费用,请在运行技能之前将它们移出数据源容器。

@odata.type

Microsoft.Skills.Text.TranslationSkill

数据限制

记录的最大大小应为 50,000 个字符,通过 String.Length 进行测量。 如果在将数据发送到文本翻译技能之前需要将其拆分,请考虑使用文本拆分技能。 如果你使用文本拆分技能,请将页面长度设置为 5000 以获得最佳性能。

技能参数

参数区分大小写。

输入 说明
defaultToLanguageCode (必需)将文档翻译为未显式指定“目标”语言的文档时所需的语言代码。
请参阅支持的语言的完整列表
defaultFromLanguageCode (可选)将文档从未显式指定“源”语言的文档进行翻译时所需的语言代码。 如果未指定 defaultFromLanguageCode,则会使用文本翻译 API 提供的自动语言检测功能来确定“源”语言。
请参阅支持的语言的完整列表
suggestedFrom (可选)从未指定 fromLanguageCodedefaultFromLanguageCode 的文档进行翻译或自动语言检测不成功的文档进行翻译时所需的语言代码。 如果未指定 suggestedFrom 语言,则会将英语 (en) 用作 suggestedFrom 语言。
请参阅支持的语言的完整列表

技能输入

输入名称 说明
text 要翻译的文本。
toLanguageCode 一个表示文本翻译目标语言的字符串。 如果未指定此输入,则使用 defaultToLanguageCode 来翻译文本。
请参阅支持的语言的完整列表
fromLanguageCode 一个表示文本的当前语言的字符串。 如果此参数未指定,则会使用 defaultFromLanguageCode(在未提供 defaultFromLanguageCode 的情况下,则会使用自动语言检测功能)来翻译文本。
请参阅支持的语言的完整列表

技能输出

输出名称 说明
translatedText 进行从 translatedFromLanguageCode 到 translatedToLanguageCode 的文本翻译时获得的字符串结果。
translatedToLanguageCode 一个表示文本翻译目标语言代码的字符串。 适用于需要翻译为多种语言且需要能够跟踪哪些文本是哪种语言的情况。
translatedFromLanguageCode 一个表示文本翻译源语言代码的字符串。 适用于已选择启用自动语言检测选项的情况,因为这种情况下的输出会提供该检测的结果。

示例定义

 {
    "@odata.type": "#Microsoft.Skills.Text.TranslationSkill",
    "defaultToLanguageCode": "fr",
    "suggestedFrom": "en",
    "context": "/document",
    "inputs": [
      {
        "name": "text",
        "source": "/document/text"
      }
    ],
    "outputs": [
      {
        "name": "translatedText",
        "targetName": "translatedText"
      },
      {
        "name": "translatedFromLanguageCode",
        "targetName": "translatedFromLanguageCode"
      },
      {
        "name": "translatedToLanguageCode",
        "targetName": "translatedToLanguageCode"
      }
    ]
  }

示例输入

{
  "values": [
    {
      "recordId": "1",
      "data":
        {
          "text": "We hold these truths to be self-evident, that all men are created equal."
        }
    },
    {
      "recordId": "2",
      "data":
        {
          "text": "Estamos muy felices de estar con ustedes."
        }
    }
  ]
}

示例输出

{
  "values": [
    {
      "recordId": "1",
      "data":
        {
          "translatedText": "Nous tenons ces vérités pour évidentes, que tous les hommes sont créés égaux.",
          "translatedFromLanguageCode": "en",
          "translatedToLanguageCode": "fr"
        }
    },
    {
      "recordId": "2",
      "data":
        {
          "translatedText": "Nous sommes très heureux d'être avec vous.",
          "translatedFromLanguageCode": "es",
          "translatedToLanguageCode": "fr"
        }
    }
  ]
}

错误和警告

如果为“源”语言或“目标”语言提供的语言代码不受支持,则会生成错误且文本不会进行翻译。 如果你的文本为空,则不会生成警告。 如果文本大于 50,000 个字符,则只会翻译前 50,000 个字符,并会发出警告。

另请参阅