【Microsoft Azure 的1024种玩法】七十三.通过调用Azure Cognitive Services Translator API 快速将单个句子从简体中文翻译为英文

【简介】

Azure Cognitive Services Translato 是一种基于云的神经网络机器翻译服务,同时也是 REST API 的 Azure 认知服务系列的一部分。
本篇文章将会主要分享的内容为“如何通过调用Azure Cognitive Services Translator API 快速将单个句子从简体中文翻译为英文”

【操作步骤】

一.在VS Code 初始化项目环境

1.使用如下命令初始化创建的项目

npm init -y

具体操作,如下图所示

在这里插入图片描述
2.初始化完毕以后,如下图所示,会生成一个名为“package.json"的文件
在这里插入图片描述3.新建一个main.js的文件用于配置调用API接口
在这里插入图片描述

4.使用npm安装Request依赖库
在这里插入图片描述

二.通过Nodejs调用Azure Cognitive Services Translator 的文本翻译API

1.如下所示为Azure Cognitive Services Translator 的文本翻译API请求参数说明

参数 说明
api-version 客户端所请求的 API 的版本。 值必须是 3.0。
to 指定输出文本的语言。 目标语言必须是 translation 范围中包含的支持的语言之一。 例如,若要翻译为德语,请使用 to=de。

2.我们在VScode中编写如下代码来调用Azure Cognitive Services Translator 文本翻译 API,其中请求正文为下图中的 {"Text":}部分,我们可以在其后面定义我们要转换的文本内容

const request = require('request')
let dataString = '[ { "Text": "我爱你" },{"Text":"欢迎使用Azure翻译"} ]'
let headers = {
    'Ocp-Apim-Subscription-Key': '22db94816ab3433baa6475f515c37eaf',
    'Ocp-Apim-Subscription-Region': 'eastus',
    'Content-Type': 'application/json'
}
let options = {
    url: 'https://api.cognitive.microsofttranslator.com/translate',
    method: 'POST',
    headers: headers,
    body: dataString,
    qs: {
        'api-version': '3.0',
        'to': 'de'
    }
}
const toLanguages = () => {
    request(options, function (error, response, body) {
        console.log(body)
    })
}

// 翻译api实例;qs中的to参数为转换为的语言,api-version必须为3.0;此接口可以自动检测传入语言,不需要指定源语言类型
toLanguages()

在这里插入图片描述

3.调用API 代码编写完毕以后,我们通过执行“node+定义的js文件名”的方式来调用Azure Cognitive Services Translator 的API即可获取

node main.js 

在这里插入图片描述

4.如下返回相应的主要内容

[{"detectedLanguage":{"language":"zh-Hans","score":1.0},"translations":[{"text":"I love you","to":"en"}]},
{"detectedLanguage":{"language":"zh-Hans","score":0.86},"translations":[{"text":"Welcome to Azure Translator","to":"en"}]}]

成功的响应是一个 JSON 数组,其中的每个结果对应于输入数组中的一个字符串。 结果对象包括以下属性:

1.detectedLanguage:一个对象,它通过以下属性描述检测到的语言:
1)language:一个字符串,表示检测到的语言的代码。
2)score:一个浮点值,表示结果的置信度。 分数介于 0 和 1 之间,较低的分数表示较低的置信度。

2.translations:翻译结果的数组。 数组的大小与通过 to 查询参数指定的目标语言的数目匹配。 数组中的每个元素包括:

1)to:一个字符串,表示目标语言的语言代码。

2)text:一个字符串,提供翻译的文本。

3.transliteration:一个对象,在 toScript 参数指定的脚本中提供翻译的文本。

1)script:一个字符串,指定目标脚本。

2)text:一个字符串,在目标脚本中提供翻译的文本。

根据如上对API返回的主要内容所述,我们已经成功调用Azure Cognitive Services Translator API实现了将单个句子从简体中文翻译为英文

在这里插入图片描述