通过 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 实现了将单个句子从简体中文翻译为英文

在这里插入图片描述

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...