公有云迁移研究——AWS Translate

大纲

  • 1 什么是Translate
  • 2 Aws Translate是怎么运作的
  • 3 Aws Translate和Google Translate的区别
  • 4 迁移任务
    • 4.1 迁移原因
  • 5 Aws Translate的Go demo
  • 6 迁移中遇到的问题
    • 6.1 账号和权限问题:
    • 6.2 小语种

1 什么是Translate

  • Translate是一种文本翻译服务,它使用先进的机器学习技术来提供高质量的按需翻译。

2 Aws Translate是怎么运作的

  • Amazon Translate服务基于为语言翻译训练的神经网络。这使您能够在源语言(被翻译文本的原始语言)和目标语言(文本被翻译成的语言)之间进行翻译。
  • 使用Amazon Translate时,您需要提供源文本,并获取输出文本,
    1 源文本— 您要翻译的文本。您以 UTF-8 格式提供源文本。
    2 输出文本— Amazon Translate已翻译成目标语言的文本。输出文本也是UTF-8格式。根据源语言和目标语言,输出文本中的字符数可能多于输入文本中的字符数。
  • 翻译模型有两个组件,编码器和解码器。编码器一次一个单词地读取源句子, 并构建一个捕捉其含义的语义表示。解码器使用语义表示在目标语言中一次生成一个单词的翻译。
  • Amazon Translate使用注意力机制来理解上下文。这有助于它确定源文本中的哪些词与生成下一个目标词最相关。注意机制使解码器能够专注于源语句中最相关的部分。这可确保解码器正确翻译歧义词或短语。

3 Aws Translate和Google Translate的区别

特征Google TranslateAws Translate
免费试用支持支持
付款计划月免50W字+百万字费用月免200W字+按使用量付费
支持的语言数量10871
机器翻译集成支持支持
在线工具支持支持
团队协作不好
翻译记忆库不支持支持
加密云存储不支持支持
网站翻译小部件支持不支持
上下文编辑不支持支持
自动语言检查支持支持

4 迁移任务

我们本次的迁移任务是将原有集成了Google Translate服务,迁移到Aws Translate服务上。

4.1 迁移原因

  1. 降低在翻译上的费用,Aws的月免字数更多。
  2. 需要对翻译内容进行存储。
  3. 一个良好的团队写作。

5 Aws Translate的Go demo

package mainimport ("context""flag""fmt""github.com/aws/aws-sdk-go-v2/aws""github.com/aws/aws-sdk-go-v2/config""github.com/aws/aws-sdk-go-v2/credentials""github.com/aws/aws-sdk-go-v2/service/translate""log"
)func main() {cfg, err := config.LoadDefaultConfig(context.TODO(), config.WithRegion("us-east-1"), config.WithCredentialsProvider(credentials.NewStaticCredentialsProvider("xxxxxxx", "xxxxxxxxxxxxx", "")))if err != nil {log.Fatal(err, 1)}sourceText := flag.String("text", "hello world", "source text")sourceLC := flag.String("slc", "en", "source language code [en|ja|fr]...")targetLC := flag.String("tlc", "zh-c", "target language code [en|ja|fr]...")client := translate.NewFromConfig(cfg)result, err := client.TranslateText(context.TODO(), &translate.TranslateTextInput{SourceLanguageCode: aws.String(*sourceLC),TargetLanguageCode: aws.String(*targetLC),Text:               aws.String(*sourceText)})if err != nil {log.Fatal(err, 2)}fmt.Print(*result.TranslatedText)
}

6 迁移中遇到的问题

6.1 账号和权限问题:

我们在做迁移的时候需要在我们的服务器上安装aws cli

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

在服务上设置Aws账号

aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLES
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/PxRfiCYEXAMSPLEKEYSS
Default region name [None]: us-west-2
Default output format [None]: json

通过IAM对该用户设置Translate的角色赋予该用户使用Translate的权限
在这里插入图片描述
我们要遵循最小权限的策略
在这里插入图片描述
将这些设置好了,我们的demo就可以成功的翻译想翻译的文本了。

6.2 小语种

目前Aws支持71种语言,但是还是有很多语言没有被支持,我们可以选择该地区所在国家的官方语言来做翻译。目前Aws Global Service也在对更多的语言做支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/200263.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常用到的设计模式(1)

单例模式 所谓单例模式,就是确保一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式又分为饿汉式单例和懒汉式单例。 饿汉式 第一次引用该类的时候就创建对象实例,而不管实际是否需要创建。 public class Test {private static …

linux 编译安装libzmq

准备工作 sudo apt-get install autoconf automake libtool 下载源码 git clone https://github.com/zeromq/libzmq.git 编译 cd libzmq ./autogen.sh ./configure && make check sudo make install sudo ldconfig测试 cd tests ./test_msg_init结果:…

xcode opencv

1、导入报错 Undefined symbols: linker command failed with exit code 1 (use -v to see invocation) 直接添加如下图内容即可

<JavaEE> synchronized关键字和锁机制 -- 锁的特点、锁的使用、锁竞争和死锁、死锁的解决方法

目录 一、synchronized 关键字简介 二、synchronized 的特点 -- 互斥 三、synchronized 的特点 -- 可重入 四、synchronized 的使用示例 4.1 修饰代码块 - 锁任意实例 4.2 修饰代码块 - 锁当前实例 4.3 修饰普通方法 - 锁方法所在实例 4.4 修饰代码块 - 锁指定类对象 …

【从零开始学习JVM | 第二篇】字节码文件的组成

前言: 字节码作为JAVA跨平台的主要原因,熟练的掌握JAVA字节码文件的组成可以帮助我们解决项目的各种问题,并且在面试中,关于字节码部分的内容却是一大考点和难点,因此我们在这里穿插讲解一下字节码文件的组成。 目录 …

16、观察者模式(Observer Pattern)

观察者(Observer Pattern) 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。主要解决一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合&…

关于回收套接字和释放上下文的顺序

关于回收套接字和释放上下文的顺序 回收套接字和释放上下文的顺序是为了确保正确的资源管理和避免悬空指针或内存泄漏等问题。顺序如下: 套接字的回收:在网络编程中,使用套接字进行通信后,应该及时关闭套接字以释放系统资源。这可…

你好!哈希表【JAVA】

1.初识🎶🎶🎶 它基本上是由一个数组和一个哈希函数组成的。哈希函数将每个键映射到数组的特定索引位置,这个位置被称为哈希码。当我们需要查找一个键时,哈希函数会计算其哈希码并立即返回结果,因此我们可以…

【OpenGauss源码学习 —— (RowToVec)算子】

VecToRow 算子 概述ExecInitRowToVec 函数ExecRowToVec 函数VectorizeOneTuple 函数 ExecEndRowToVec 函数总结 声明:本文的部分内容参考了他人的文章。在编写过程中,我们尊重他人的知识产权和学术成果,力求遵循合理使用原则,并在…

github首次将文件合到远端分支,发现名字不是master,而是main

暂存区和本地仓库的信息都存储在.git目录中其中 其中,暂存区和本地仓库的信息都存储在.git目录中 在自己的github上实践 1、刚开始,git clone gitgithub.com:lingze8678/my_github.git到本地 2、在克隆后的代码中加入一个pdf文件 3、在git bash中操作…

【Python函数】匿名函数

定义&#xff1a; 短小的回调函数好处&#xff1a; 省去定义函数的步骤&#xff0c;更加简洁 生命周期&#xff1a; 使用时定义-调用完返回函数本身以及内存位置<function <lambda> at xxxx> 语法&#xff1a;lambda [ar1[,arg2]]: expression arguments是参数expr…

CentOS增加虚拟内存 (Linux增加内存)

前言 因为囊中羞涩不敢言&#xff0c;所以内存只有2G&#xff0c;项目在运行的时候&#xff0c;占用的内存已经报表&#xff0c;所以有的时候就会出现宕机的情况发生&#xff0c;后面发现可以通过使用增加虚拟内存空间&#xff0c;来增加内存容量。 下面进入正题&#xff0c;讲…

Selenium+Python自动化测试之验证码处理

两种方式&#xff1a; 验证码识别技术 (很难达到100%) 添加Cookie &#xff08;*****五星推荐&#xff09; 方式一&#xff1a;验证码识别技术 逻辑方式&#xff1a; 1&#xff1a;打开验证码所在页面&#xff0c;截图。获取验证码元素坐标&#xff0c;剪切出验证码图片&…

【MATLAB】辛几何模态分解分解+FFT+HHT组合算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 辛几何模态分解&#xff08;CEEMDAN&#xff09;是一种处理非线性和非平稳信号的适应性信号分解方法。通过在信号中加入白噪声&#xff0c;并多次进行经验模态分解&#xff08;EMD&#…

深度学习TensorFlow2基础知识学习前半部分

目录 测试TensorFlow是否支持GPU&#xff1a; 自动求导&#xff1a; 数据预处理 之 统一数组维度 定义变量和常量 训练模型的时候设备变量的设置 生成随机数据 交叉熵损失CE和均方误差函数MSE 全连接Dense层 维度变换reshape 增加或减小维度 数组合并 广播机制&#…

clickhouse的向量化执行

背景 clickhouse快的很大一部分原因来源于数据的向量化执行&#xff0c;本文就来看一下向量化执行和正常标量执行的区别 SIMD的向量化执行 从上图可知&#xff0c;clickhouse通过SIMD指令可以做到一个cpu周期操作两个向量的运算操作&#xff0c;比起普通的cpu指令效率提高了N…

第一百十九回 如何Text组件中的文字自动换行

文章目录 1. 概念介绍2. 实现方法2.1 基本用法2.2 特殊用法3. 示例代码4. 内容总结我们在上一章回中介绍了"分享三个使用TextField的细节"相关的内容,本章回中将 介绍如何让Text组件中的文字自动换行.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在本章…

Understanding Computer Hardware

文章目录 I. Input Devices1. Keyboard&#xff08;1&#xff09;Layout&#xff08;2&#xff09;Key Types&#xff08;3&#xff09;Functionality&#xff08;4&#xff09;Connectivity&#xff08;5&#xff09;Ergonomics&#xff08;6&#xff09;Multimedia Keys&…

【计算机组成体系结构】主存储器的基本组成

一、半导体元器件存储二进制0/1的原理 一个存储器逻辑上分为MAR&#xff0c;MDR和存储体&#xff0c;这三块在时序逻辑电路的控制下相互配合工作。 而存储体有多个存储单元构成&#xff0c;每个存储单元又由每个存储元构成。一个存储元可以存放一位的二进制的0/1。 一个存储元…

OWASP安全练习靶场juice shop-更新中

Juice Shop是用Node.js&#xff0c;Express和Angular编写的。这是第一个 完全用 JavaScript 编写的应用程序&#xff0c;列在 OWASP VWA 目录中。 该应用程序包含大量不同的黑客挑战 用户应该利用底层的困难 漏洞。黑客攻击进度在记分板上跟踪。 找到这个记分牌实际上是&#…