【Microsoft Azure 的1024种玩法】七十三.通过调用Azure Cognitive Services Translator API 快速将单个句子从简体中文翻译为英文
【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实现了将单个句子从简体中文翻译为英文