亚马逊翻译 是一种神经机器翻译服务,可提供快速、高质量、经济实惠且可定制的语言翻译。 Amazon Translate 现在支持形式定制。此功能允许您自定义翻译输出的正式程度。截至撰写本文时,正式定制功能可用于六种目标语言:法语、德语、印地语、意大利语、日语和西班牙语。您可以自定义翻译输出的形式以满足您的沟通需求。
您可以通过三个选项来控制输出的正式程度:
- 默认 – 让神经机器翻译不受影响地运行,从而无法控制形式
- 正式 – 在保险和医疗保健行业很有用,您可能更喜欢更正式的翻译
- 非正式的 – 对于喜欢非正式翻译的游戏和社交媒体客户很有用
商业实时翻译操作可进行形式定制 AWS区域 可以使用 Amazon Translate 的地方。在这篇文章中,我们将引导您了解如何使用形式定制功能 并安全地获得定制的翻译输出。
解决方案概述
要在翻译输出中获取正式或非正式的单词和短语,当您通过实时请求运行翻译时,您可以在 Amazon Translate 控制台的其他设置下切换正式按钮。以下部分介绍了通过 Amazon Translate 控制台使用形式自定义, AWS命令行界面 (AWS CLI) 或 Amazon Translate SDK (Python Boto3)。
亚马逊翻译控制台
为了演示实时翻译的形式定制,我们使用示例文本“早上好,今天过得怎么样? “ 用英语讲:
- 在Amazon Translate控制台上,选择 英语 (en) 源语言.
- 西班牙语 (S) 目标语言.
- 在框中输入引用的文本 源语言 文本域。
- 在 其他设置 部分,启用 礼节,然后选择 非正式的 在下拉菜单上。
翻译后的输出是“布宜诺斯艾利斯,你怎么了? ” 这是西班牙语中的随意说法。
- 现在,选择 正式 在下拉菜单中 礼节 菜单。
翻译后的输出更改为“布宜诺斯艾利斯,你怎么了? ” 这是西班牙语中更正式的说法。
您可以按照上述步骤将目标语言更改为其他支持的语言,并注意非正式翻译和正式翻译之间的差异。让我们尝试更多示例文本。
在下面的例子中,我们翻译“所以你怎么看? ”从英语到德语。第一个屏幕截图显示了非正式翻译。
下面的截图显示了正式的翻译。
在另一个例子中,我们翻译“我可以帮你吗? ”从英语到日语。第一个屏幕截图显示了非正式翻译。
下面的截图显示了正式的翻译。
命令行界面
translate-text
AWS CLI 命令 --settings Formality=FORMAL | INFORMAL
正确翻译翻译文本中的单词和短语。
以下 AWS CLI 命令针对 Unix、Linux 和 macOS 进行了格式化。 对于 Windows,请替换反斜杠 () 每行末尾的 Unix 连续字符,带有插入符号 (
^
).
在下面的代码中,我们翻译“你怎么样? ” 从英语到印地语,使用 FORMAL
环境:
aws translate translate-text --text "How are you?" --source-language-code "en" --target-language-code "hi" --settings Formality=FORMAL
您会收到类似以下代码段的响应:
{ "TranslatedText": "आप कैसे हो?", "SourceLanguageCode": "en", "TargetLanguageCode": "hi", "AppliedSettings": { "Formality": "FORMAL" }
}
以下代码将相同的文本翻译成非正式的印地语:
aws translate translate-text --text "How are you?" --source-language-code "en" --target-language-code "hi" --settings Formality=INFORMAL
您会收到类似以下代码段的响应:
{ "TranslatedText": "तुम कैसे हो?", "SourceLanguageCode": "en", "TargetLanguageCode": "hi", "AppliedSettings": { "Formality": "INFORMAL" }
}
Amazon Translate 开发工具包 (Python Boto3)
以下 Python Boto3 代码使用两种形式设置的实时翻译调用来翻译“你怎么样? ”从英语到印地语。
import boto3
import json translate = boto3.client(service_name='translate', region_name='us-west-2') result = translate.translate_text(Text="How are you?", SourceLanguageCode="en", TargetLanguageCode="hi", Settings={"Formality": "INFORMAL"})
print('TranslatedText: ' + result.get('TranslatedText'))
print('SourceLanguageCode: ' + result.get('SourceLanguageCode'))
print('TargetLanguageCode: ' + result.get('TargetLanguageCode'))
print('AppliedSettings: ' + json.dumps(result.get('AppliedSettings'))) print('') result = translate.translate_text(Text="How are you?", SourceLanguageCode="en", TargetLanguageCode="hi", Settings={"Formality":"FORMAL"})
print('TranslatedText: ' + result.get('TranslatedText'))
print('SourceLanguageCode: ' + result.get('SourceLanguageCode'))
print('TargetLanguageCode: ' + result.get('TargetLanguageCode'))
print('AppliedSettings: ' + json.dumps(result.get('AppliedSettings')))
结论
您可以使用 Amazon Translate 中的正式定制功能来控制机器翻译文本的正式级别,以满足您的应用程序上下文和业务要求。您可以通过多种方式使用 Amazon Translate 自定义翻译,包括 习惯术语, 亵渎掩饰及 主动自定义翻译.
作者简介
西瓦·拉贾曼尼(Siva Rajamani) 是AWS的波士顿企业解决方案架构师。 他喜欢与客户紧密合作,并支持他们的数字化转型和AWS采纳之旅。 他关注的核心领域是无服务器,应用程序集成和安全性。 在工作之余,他喜欢户外活动和观看纪录片。
苏丹舒·马尔霍特拉 是 AWS 的波士顿企业解决方案架构师。 他是一位技术爱好者,乐于帮助客户找到应对复杂业务挑战的创新解决方案。 他关注的核心领域是 DevOps、机器学习和安全。 当他不与客户一起进行云之旅时,他喜欢阅读、远足和探索新美食。
沃森·斯里瓦桑 是AWS的自然语言处理服务Amazon Translate的高级产品经理。 在周末,您会发现他探索太平洋西北地区的户外活动。