发布于: Oct 10, 2022

AI 人工智能语音系统在日常生活中运用到的领域越来越多,比如各类企业与组织正越来越多地在自身业务当中引入视频与音频内容,包括广告、客户服务、媒体后期制作、员工培训与教育等等。而随着此类活动所产生的多媒体内容数量的激增,企业开始对视频与音频转录能力提出更高要求,希望借此快速组织文件、实现文本查询并改善听力障碍者(截至目前,全球存在听力障碍的人群已达 4.66 亿)或语言学习者(全球英语学习者多达 15 亿)的使用体验。

传统语音到文本转录方法往往只能以手动方式进行,相关人工成本极高且执行速度缓慢。由机器学习(ML)技术支持的 Amazon Transcribe 是一项语音到文本服务,能够为商业用例及开发人员提供一种高质量、低成本、速度快的解决方案。在面对法律、金融、建筑、高等教育乃至工程学等领域的特定术语时,用户还可以配合自定义词汇表以提高转录质量。要使用这项功能,我们需要创建特定领域的术语清单,并在运行转录作业的过程中引用这份词汇表文件。

在本文中,我们将共同了解如何使用 Amazon Augmented AI(Amazon A2I Amazon Transcribe 生成的低置信度预测结果发送给工作人员以供审核,借此快速生成特定领域的术语清单。我们在本轮演练中测量了转录作业的单词错误率WER)与正确转录的术语数量,借此演示如何使用自定义词汇表改善Amazon Transcribe对于特定领域术语的转录效果。

要完成本次演练,请使用 Amazon A2I Sample Jupyter Notebook GitHub repo上的 A2I-Video-Transcription-with-Amazon-Transcribe.ipynb 笔记本。

技术术语转录错误示例。在这段字幕中,“an EC2 instance”被错误转录为“Annecy two instance”

使用 Amazon A2I 构建 Amazon Transcribe 自定义词汇表并对视频进行重新转录之后,可以看到技术术语“an EC2 instance”得到正确识别。

本轮演练着重于转录视频内容。您可以执行以下操作以修改我们提供的代码,从而实现对音频文件(例如MP3文件)的转录:

  • 将音频文件上传至您的 Amazon Simple Storage Service(Amazon S3)存储桶,并使用这些文件替换原本的视频文件。
  • 修改本演练当中工作人员任务模板中的按钮文本与说明内容,引导工作人员收听并转录音频片段。

下面来看本轮演练的基本工作流程,具体步骤包括:

  1. 执行初步转录。我们转录的是关于 Amazon SageMaker 的视频,其中多次提及机器学习与 Amazon Web Services 技术术语。在直接使用 Amazon Transcribe 进行转录时,您可能发现其中某些技术术语会出现转录错误。我们会生成置信度得分分布,借此查看 Amazon Transcribe 无法正确转录的术语数量。
  2. 使用 Amazon A2I 创建人工审核工作流。在识别出置信度得分较低的单词后,大家可以将其发送给审核人员,通过 Amazon A2I 进行审核与转录。您可以将自己设定为内部 Amazon A2I 工作团队的工作人员,并将人工检查任务发送给自己,借此预览工作人员 UI 以及用于检查视频片段的工具。
  3. 使用 A2I 结果创建自定义词汇表。您可以解析这些从 Amazon A2I 处收集到的人工转录结果,提取特定领域术语,并使用这些术语创建自定义词汇表。
  4. 使用自定义词汇表改进转录效果。在生成自定义词汇表之后,您可以再次调用 Amazon Transcribe 以获取更好的转录结果。通过单词错误率(WER)这一行业标准,大家可以准确评估添加词汇表前后的转录效果差异。

在开始本轮演练之前,大家需要做好以下准备:

  • 一个 Amazon Web Services 账户
  • 一个 S3 存储桶。在笔记本中的BUCKET处为该存储桶命名。存储桶必须与 Amazon SageMaker 笔记本实例位于同一区域。
  • 具备必要权限的 Amazon Web Services 身份与访问管理(Amazon Web Services Identity and Access Management,简称 IAM)执行角色。Notebook会自动使用您用于创建笔记本实例的角色(请参阅此列表中的下一条目)。向此IAM角色中添加以下权限:
  •  
    • 添加托管策略 AmazonAugmentedAIFullAccess  AmazonTranscribeFullAccess
    • 在创建角色时,我们需要指定 Amazon S3 权限。大家可以允许该角色访问 Amazon S3 中的所有资源,也可以指定其访问特定存储桶。总之,请确保您的 IAM 角色有权访问本轮演练中所涉及的 S3 存储桶,且该存储桶必须与您的笔记本实例位于同一区域。
  • 一个活动的 Amazon SageMaker 笔记本实例。关于更多详细信息,请参阅创建笔记本实例。打开您的笔记本实例,并上传笔记本A2I-Video-Transcription-with-Amazon-Transcribe.ipynb
  • 内部工作团队。所谓工作团队,是一组负责审核转录文档的人员。您可以指定内部员工组建工作团队,也可以选择由 Amazon Mechanical Turk 指派的雇员或者供应商人员提供审核服务。无论选择哪种方式,您都可以通过 Amazon A2I 将任务发送给工作人员。在本文中,我们使用内部员工创建工作团队,并将您自己添加到团队中以预览 Amazon A2I工作流程。关于更多操作说明,请参阅创建内部工作团队。请注意记录此工作团队的 ARN,我们需要在演练中的 Jupyter notebook 当中使用。

要了解本用例,我们还建议您做好以下准备:

  • Amazon Transcribe Amazon Web Services 服务、自定义词汇表等功能,以及 Amazon A2I 所使用的 核心组件及工作流 等拥有基本了解。
  • 本文中的笔记本使用 Amazon Web Services SDK for Python (Boto3)与各项服务进行交互。
  • 熟悉 Python NumPy
  • 基本了解 Amazon S3

 

在完成以上准备工作之后,即可在 Amazon SageMaker Jupyter notebook 实例上部署这套解决方案了。请使用笔记本中的完整代码进行操作。

首先,我们需要根据 Setup 代码单元设置 Amazon Web Services 资源与依赖项,并将其中提供的示例 MP4 视频文件上传至您的 S3 存储桶。在本用例中,我们将对 Amazon Web Services 官方视频列表中的 Amazon SageMaker 介绍视频(亦可通过 YouTube 查看)进行分析。笔记本将逐步转录并查看 Amazon A2I Amazon SageMaker Jupyter Notebook 实例的处理过程。在步骤 3 与步骤 4 中,我们将对包含四段视频的大型数据集进行结果分析。下表所示,为本笔记本当中所使用的视频及使用方式。

视频编号 视频标题
1 Fully-Managed Notebook Instances with Amazon SageMaker – a Deep Dive
2 Built-in Machine Learning Algorithms with Amazon SageMaker – a Deep Dive
3 Bring Your Own Custom ML Models with Amazon SageMaker
4 Train Your ML Models Accurately with Amazon SageMaker
在步骤 4 中,我们将视频 1 与视频 3 称为示例视频,并使用这两段视频构建自定义词汇表。视频 2 与视频 4 则为非样本视频,代表我们的工作流从未见过的视频,用于测试转录方法在新视频中正确识别技术术语的实际能力。
当然,您也可以通过笔记本下载其他视频,或者使用您自己的视频内容。

相关文章