使用特定领域和特定语言的自定义 PlatoBlockchain 数据智能构建多语言文档翻译工作流程。 垂直搜索。 哎。

构建具有特定领域和特定语言定制的多语言文档翻译工作流程

在数字世界中,以本地语言提供信息并不新鲜,但它可能是一项乏味且昂贵的任务。 机器学习 (ML) 和自然语言处理 (NLP) 的进步使这项任务变得更加容易且成本更低。

我们看到机器学习在多语言数据和文档处理工作负载中的采用越来越多。 企业和政府客户正在迁移其手动翻译工作负载,以利用自动化机器学习翻译服务。 亚马逊翻译是一个 神经机器翻译 该服务可在数千种语言对之间提供快速、高质量且经济实惠的语言翻译,可用于同步(实时)或异步翻译任务。 有关可用翻译对的完整列表,请参阅 支持的语言和语言代码.

迁移和现代化翻译工作负载的客户需要能够为其业务领域定制翻译。 翻译工作负载可能还需要适应区域语言方言或用法的能力。 例如,“老年人”的西班牙语翻译是 anciano(a),但在波多黎各,首选单词 envejeciente。

在这篇文章中,我们演示如何整合 Amazon Translate 的主动自定义翻译 (ACT) 功能。 我们提出了一个解决方案,用于创建具有特定于领域和语言的自定义的多语言文档翻译工作流程,您可以根据需要进行审查和增强,以不断改进结果并取悦最终用户。

解决方案概述

ACT 生成自定义翻译输出,无需构建和维护自定义翻译模型。 使用 ACT,Amazon Translate 将使用您喜欢的翻译示例作为并行数据来定制您的翻译结果,从而消除构建和训练新机器学习模型所需的时间和成本。

本文介绍的解决方案解释了如何使用以下方法创建人机交互工作流程 亚马逊增强AI (Amazon A2I)不断改进定制翻译。 Amazon A2I 提供了一种将人工监督集成到 ML 工作流程中的简单方法,无需 ML 经验。 Amazon A2I 可以轻松地将人类判断和 AI 集成到任何 ML 应用程序中,无论该应用程序是在 AWS 还是其他平台上运行。

有关更多信息,请参阅 使用Amazon Translate和Amazon Augmented AI设计人工审查工作流 帖子。

下图显示了该解决方案的命令流和数据流。 命令流显示工作流中事件的逻辑顺序。 数据流指示解决方案中的各个组件如何创建或使用数据。

使用特定领域和特定语言的自定义 PlatoBlockchain 数据智能构建多语言文档翻译工作流程。 垂直搜索。 哎。

以下序列图显示了解决方案中的两个独立流程:翻译工作流程 (A) 和更新并行数据的流程 (B)。

翻译工作流程由 亚马逊CloudWatch 启动翻译作业调用程序的预定事件 AWS Lambda 功能。 此函数在 Amazon Translate 中创建异步翻译作业,传递要翻译的文档和并行数据的位置以自定义翻译。 翻译作业读取并行数据,执行翻译,并将翻译结果写回 Amazon S3 桶。 截至撰写本文时,只有异步翻译作业可以使用并行数据。

翻译作业完成后,会生成一个事件,触发翻译作业完成处理程序 Lambda 函数。 此函数创建一个人工工作流程循环 - 工作流程的 Amazon A2I 部分的主要组件。

人工审阅者评估翻译并接受或修改翻译。 任何更正都会用于更新翻译的文档,并添加到自定义词典中。 当审核完成时,会生成另一个事件来触发工作流程完成处理程序功能。 此函数将最新翻译的文档写回 Amazon S3。 定制数据用于更新 Amazon DynamoDB 包含源文本和翻译文本对的表。

为了闭合循环,我们必须将 DynamoDB 中存储的自定义数据合并回 Amazon S3 中存储的并行数据中。 为了实现这一目标,我们使用计划的 CloudWatch 事件来触发 Parallel Data Refresher 功能,该功能从 DynamoDB 表中读取数据,将其重新格式化为并行数据,并更新 S3 存储桶,存储并行数据。

使用 AWS CloudFormation 部署解决方案

启动提供的 AWS CloudFormation 用于在您的帐户中部署解决方案的模板。 此堆栈仅适用于 us-east-1 区域。 如果您想在其他Region部署此解决方案,请参考以下内容 GitHub回购.

  1. 启动堆栈:
    使用特定领域和特定语言的自定义 PlatoBlockchain 数据智能构建多语言文档翻译工作流程。 垂直搜索。 哎。
  2. 按照说明填充必要的参数。 如果您是第一次运行此堆栈, 社交网络电子邮件 是唯一必需的参数。
  3. 点击 评论 页面,在 公司能力 部分,选中复选框并选择 创建堆栈.

使用特定领域和特定语言的自定义 PlatoBlockchain 数据智能构建多语言文档翻译工作流程。 垂直搜索。 哎。

该堆栈创建以下关键组件:

  • 定制数据 – DynamoDB 表(translate_parallel_data)来维护定制数据。 您将现有的自定义数据迁移到此表。 该表用于不断添加和更新自定义。
  • 并行数据复习 – Lambda 函数,用于将 DynamoDB 表中的自定义数据转换为并行数据格式(CSV、TSV 或 TMX)并将其存储在 Amazon S3 中。 它使用 Amazon S3 中的新并行数据文件创建和更新并行数据。
  • 翻译工作调用者 – 用于使用并行数据启动 Amazon Translate 批处理作业的 Lambda 函数。
  • 翻译作业完成处理程序 – 当 Amazon Translate 批处理作业完成时,将触发此 Lambda 函数。 该函数为每个文档创建一个人工循环(我们将来将对此进行改进,仅针对所处理的选定百分比的文档创建人工循环)。 它使用原始文档和翻译文档来创建人工循环。
  • 亚马逊A2I定制模板 – 此模板用于呈现翻译对以供人工审核。 该模板有 地址 每个翻译片段的选项。 用户可以选择此选项来添加对自定义数据的更正。 新的自定义数据将在下一批翻译作业中使用。
  • 工作流程完成处理程序 – 当人工工作流程完成时,将触发此 Lambda 函数。 该功能通过更正更新已翻译的文档并检查并行数据更新。 新的并行数据已添加到 DynamoDB 表中。
  • 亚马逊 A2I 私人团队 – Amazon A2I 私人团队由一名人类工作人员使用提供的电子邮件创建。 成功创建私人团队后,将通过电子邮件发送初始凭据。 您可以使用此电子邮件和凭证登录 Amazon A2I 工作人员门户。

测试解决方案

sample_text.txt 文件将在堆栈创建的 S3 存储桶的输入前缀下创建。 我们使用该文件进行测试。 它包含以下内容:

Life insurance companies have the freedom to charge different premiums based on risk
factors that predict mortality. Purchasing a life insurance policy often entails a health 
status check or medical exam, and asking for vaccination status is not banned.

Health insurers are a different story. A slew of state and federal regulations in the 
last three decades have heavily restricted their ability to use health factors in issuing 
or pricing polices. The use of health status in any group health insurance policy is 
prohibited by law. The Affordable Care Act, passed in 2014, prevents insurers from pricing 
plans according to health – with one exception: smoking status.

要测试解决方案,请完成以下步骤:

  1. 手动调用翻译作业调用程序功能,或等待 CloudWatch 根据您指定的 cron 计划触发它。
    此函数会触发 Amazon Translate 批处理作业。 您可以在 Amazon Translate 控制台上观察作业的进度。
    使用特定领域和特定语言的自定义 PlatoBlockchain 数据智能构建多语言文档翻译工作流程。 垂直搜索。 哎。此批处理作业大约需要 30 分钟才能完成。 当它完成时, TextTranslationJob 状态更改事件触发翻译作业完成处理程序功能。 此函数为每个翻译文档创建一个人工循环。
  2. 导航到 亚马逊 A2I 员工队伍 页面上发布服务提醒。
  3. 选择 私做 标签。
    使用特定领域和特定语言的自定义 PlatoBlockchain 数据智能构建多语言文档翻译工作流程。 垂直搜索。 哎。
  4. 选择以下链接登录 Amazon A2I 工作人员门户 标记门户登录 URL.
  5. 选择任务 Human review task 在职位列表中。
  6. 开始工作.
    使用特定领域和特定语言的自定义 PlatoBlockchain 数据智能构建多语言文档翻译工作流程。 垂直搜索。 哎。
    您可以看到显示以下页面。
    使用特定领域和特定语言的自定义 PlatoBlockchain 数据智能构建多语言文档翻译工作流程。 垂直搜索。 哎。
  7. 按照说明进行特定于域和语言的更正。
    在上面的屏幕截图中,“法律禁止在任何团体健康保险保单中使用健康状况”这一短语已被翻译为“La ley prohíbe el uso del estado de salud en cualquier póliza de seguro médico de grupo”。 虽然翻译是准确的,但短语已重新排列。
  8. 让我们将其修改为“El uso del estado de salud en cualquier póliza de seguro de salud grupal está prohibido por ley”,使其成为更直接地反映原始措辞的翻译。
  9. 选择 地址 将其添加到字典中。
  10. 完成后,选择 提交.
    使用特定领域和特定语言的自定义 PlatoBlockchain 数据智能构建多语言文档翻译工作流程。 垂直搜索。 哎。

这将触发工作流完成处理程序功能,并且自定义数据将在 DynamoDB 表中更新。 该函数还将更正的翻译存储在后期编辑前缀下。

您可以观察到添加的自定义内容 translate_parallel_data DynamoDB 控制台上的表。

使用特定领域和特定语言的自定义 PlatoBlockchain 数据智能构建多语言文档翻译工作流程。 垂直搜索。 哎。

命令流程

并行数据刷新功能每小时由 CloudWatch 计划事件触发。 该函数检查是否有新的更新 translate_parallel_data 表,在 Amazon S3 下创建一个新的并行数据 TMX 文件 parallel_data 前缀,并更新 Amazon Translate 并行数据组件。 如果您不想等待预定事件触发,可以手动触发此功能。

您可以在 Amazon Translate 控制台上观察正在更新的并行数据。

使用特定领域和特定语言的自定义 PlatoBlockchain 数据智能构建多语言文档翻译工作流程。 垂直搜索。 哎。

完成后,作业状态应该是 现有的 和价值 更新记录 应反映您添加的自定义数量(在本例中为 1)。

使用特定领域和特定语言的自定义 PlatoBlockchain 数据智能构建多语言文档翻译工作流程。 垂直搜索。 哎。

现在我们可以使用更新的数据再次运行翻译作业。 再次触发翻译作业调用程序功能以观察在第二次迭代中添加到翻译中的自定义内容。 Amazon Translate 现在使用提供的并行数据来自定义翻译。

使用特定领域和特定语言的自定义 PlatoBlockchain 数据智能构建多语言文档翻译工作流程。 垂直搜索。 哎。

您可以在标签门户中观察翻译输出的变化。 我们看到应用的是自定义翻译,而不是默认翻译。

使用特定领域和特定语言的自定义 PlatoBlockchain 数据智能构建多语言文档翻译工作流程。 垂直搜索。 哎。

此工作流程有助于创建良性循环,以使用 Amazon A2I 和 Amazon Translate 自定义功能不断改进翻译输出。

价格

使用 Amazon Translate 和 Amazon A2I,您可以根据您处理的文本字符数以及每个人工审阅的对象按需付费。 在本示例中,我们使用 DynamoDB 按需模式。 DynamoDB 会针对在表上执行的读取和写入操作收取费用。 请参阅定价页面 亚马逊翻译, 亚马逊A2IAmazon DynamoDB 实际费用。

清理

当您完成此解决方案的试验后,请使用 AWS CloudFormation 控制台删除本示例中部署的所有资源来清理您的资源。 这可以帮助您避免帐户中的持续费用。

结论

您可以使用本文中介绍的解决方案来构建多语言翻译工作流程,该工作流程逐步使用和增强特定于领域的自定义,以持续改进翻译结果。 我们提供了一种简单的机制,可将您现有的定制资产与 Amazon Translate 和 Amazon A2I 等托管 AI 服务集成,为您的应用程序构建强大的翻译服务。 Amazon Translate 可以帮助您扩展此解决方案以支持超过 5,550 个开箱即用的翻译对。 Amazon A2I 可以帮助您轻松与内部语言专家集成,或利用外部员工来扩展解决方案。

有关亚马逊翻译的更多信息,请访问 亚马逊翻译资源 查找视频资源和博客文章,并参考 AWS 翻译常见问题。 请在评论部分或项目的问题部分与我们分享您的想法 Github存储库.


作者简介

使用特定领域和特定语言的自定义 PlatoBlockchain 数据智能构建多语言文档翻译工作流程。 垂直搜索。 哎。沙迪亚巴拉克里希南 是 AWS 专业服务团队的高级客户交付架构师,专门从事数据/机器学习解决方案。 他与美国联邦金融客户合作。 他热衷于构建务实的解决方案来解决客户的业务问题。 闲暇时,他喜欢和家人一起看电影和徒步旅行。

使用特定领域和特定语言的自定义 PlatoBlockchain 数据智能构建多语言文档翻译工作流程。 垂直搜索。 哎。保罗·W·乔尔曼 是 AWS 专业服务领域的高级客户交付架构师,专门从事应用程序迁移并与美国联邦金融客户合作。 Paul 喜欢创造技术解决方案、与家人一起旅行以及在 Shenandoah 国家公园徒步旅行,只要徒步旅行在当地的精酿啤酒厂结束即可。

时间戳记:

更多来自 AWS机器学习