

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon Transcribe 的工作原理
<a name="how-it-works"></a>

Amazon Transcribe 使用机器学习模型将语音转换为文本。

除了转录的文本外，转录还包含有关转录内容的数据，包括每个单词或标点符号的置信度分数和时间戳。要查看输出示例，请参阅[数据输入和输出](how-input.md#how-output)部分。有关可应用于转录的特征的完整列表，请参阅[特征摘要](feature-matrix.md)。

转录方法可以分为两大类：
+ **批量转录**：转录已上传到 Amazon S3 存储桶中的媒体文件。您可以使用 [AWS CLI](getting-started-cli.md)、[AWS 管理控制台](getting-started-console.md) 和各种 [AWS SDK](getting-started-sdk.md)进行批量转录。
+ **流式转录**：实时转录媒体流。您可以使用 [AWS 管理控制台](getting-started-console.md)、[HTTP/2](streaming-setting-up.md#streaming-http2)、[WebSocket](streaming-setting-up.md#streaming-websocket) 和各种 [AWS SDK](getting-started-sdk.md) 来进行流式转录。

请注意，批量转录和流式转录的特征和语言支持有所不同。有关更多信息，请参阅[Amazon Transcribe features](feature-matrix.md)和[支持的语言](supported-languages.md)。

**Topics**
+ [数据输入和输出](how-input.md)
+ [转录数值和标点符号](how-numbers.md)

**帮助您入门的 API 操作**  
批量转录：[https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html)  
流式转录：[https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartStreamTranscription.html)、StartStreamTranscriptionWebSocket

# 数据输入和输出
<a name="how-input"></a>

Amazon Transcribe 将音频数据作为 Amazon S3 存储桶或媒体流中的媒体文件，然后将其转换为文本数据。

如果您要转录存储在 Amazon S3 存储桶中的媒体文件，则将执行**批量转录**。如果您要转录媒体流，则将执行**流式转录**。这两个过程有不同的规则和要求。

对于批量转录，如果您不需要并发处理所有转录作业，请使用[作业队列](job-queueing.md)。这样，Amazon Transcribe 就可以保持跟踪您的转录作业，并在时隙可用时对其进行处理。

**注意**  
Amazon Transcribe 可能会临时存储您的内容以持续改进其分析模型的质量。要了解更多信息，请参阅 [Amazon Transcribe 常见问题](https://aws.amazon.com/transcribe/faqs/)。要请求删除可能已由 Amazon Transcribe 存储的内容，请向 [支持](https://aws.amazon.com/contact-us/) 提交一个案例。

**Topics**
+ [媒体格式](#how-input-audio)
+ [音频声道](#how-input-channels)
+ [采样率](#how-input-sample-rates)
+ [输出](#how-output)

## 媒体格式
<a name="how-input-audio"></a>

批量转录和流式转录支持的媒体类型有所不同，但建议两者都使用无损格式。有关详细信息，请参见下表：


|  | 批处理 | 流式处理 | 
| --- | --- | --- | 
| 支持的格式 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/transcribe/latest/dg/how-input.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/transcribe/latest/dg/how-input.html)  | 
| 建议的格式 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/transcribe/latest/dg/how-input.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/transcribe/latest/dg/how-input.html)  | 

为了获得最佳效果，请使用无损格式，如 FLAC 或采用 PCM 16 位编码的 WAV。

**注意**  
并非所有语言都支持流式转录。有关详细信息，请参阅[支持的语言表](supported-languages.md)中的“数据输入”列。

## 音频声道
<a name="how-input-channels"></a>

Amazon Transcribe 支持单声道和双声道媒体。目前不支持包含两个以上声道的媒体。

如果您的音频在一个声道上包含多个发言者，并且您想在转录输出中对每个发言者进行划分和标记，则可以使用[发言者划分（分类）](diarization.md)。

如果您的音频在两个独立声道上都有语音，则可以使用[声道识别](channel-id.md)在转录中分别转录每个声道。

这两个选项都会生成一个转录文件。

**注意**  
如果您未启用[发言者划分](diarization.md)或[声道识别](channel-id.md)，则您的转录文本将作为一个连续的部分提供。

## 采样率
<a name="how-input-sample-rates"></a>

对于批量转录作业，您可以选择提供采样率，尽管此参数是可选参数。如果您在请求中包含该值，请确保您提供的值与音频中的实际采样率相匹配。如果您提供的采样率与您的音频不匹配，则您的作业可能会失败。

对于流式转录，您必须在请求中包含采样率。与批量转录作业一样，请确保您提供的值与音频中的实际采样率相匹配。

低保真音频（例如电话录音）的采样率通常使用 8000 Hz。对于高保真音频，Amazon Transcribe 支持介于 16000 Hz 和 48000 Hz 之间的值。

## 输出
<a name="how-output"></a>

转录输出采用 JSON 格式。转录的第一部分包含转录本身（段落形式），然后是关于每个单词和标点符号的其它数据。提供的数据取决于您在请求中包含的特征。您的转录至少包含每个单词的开始时间、结束时间和置信度分数。[以下部分](#how-it-works-output)显示了基本转录请求的输出示例，其中不包含任何其它选项或特征。

所有**批量转录**都存储在 Amazon S3 存储桶中。您可以选择将转录保存在自己的 Amazon S3 存储桶中，也可以让 Amazon Transcribe 使用安全的默认存储桶。要了解有关创建和使用 Amazon S3 存储桶的更多信息，请参阅[使用存储桶](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html)。

如果您希望将转录存储在您拥有的 Amazon S3 存储桶中，请在转录请求中指定该存储桶的 URI。在开始批量转录作业之前，请务必为 Amazon Transcribe 授予此存储桶的写入权限。如果您指定自己的存储桶，则您的转录将保留在该存储桶中，直到您将其删除。

如果您未指定 Amazon S3 存储桶，则 Amazon Transcribe 将使用安全的服务托管存储桶，并为您提供一个临时 URI，供您用来下载转录。请注意，临时 URI 的有效期为 15 分钟。如果您在使用所提供的 URI 时遇到 `AccessDenied` 错误，请发送 `GetTranscriptionJob` 请求为您的转录获取新的临时 URI。

如果您选择默认存储桶，则转录会在作业到期（90 天）时删除。如果您想在到期日期之后继续保留转录，则必须进行下载。

**流式转录**通过与音频流相同的方法返回。

**提示**  
如果您想将 JSON 输出转换为 Word 格式的逐向转录，请参阅这个 [GitHub 示例（适用于 Python3）](https://github.com/aws-samples/amazon-transcribe-output-word-document)。此脚本适用于通话后分析转录和标准批量转录，并启用了分类功能。

### 示例输出
<a name="how-it-works-output"></a>

转录以段落形式提供完整的转录，然后是逐字明细，提供关于每个单词和标点符号的数据。这包括开始时间、结束时间、置信度分数和类型（`pronunciation` 或 `punctuation`）。

以下示例来自一个简单的批量转录作业，其中不包含任何[其它特征](feature-matrix.md)。在转录请求中每额外应用一项特征，您就可以在转录输出文件中获得额外的数据。

基本批量转录分为两个主要部分：

1. `transcripts`: 将整个转录包含在一个文本块中。

1. `items`：包含 `transcripts` 部分中每个单词和标点符号的信息。

1. `audio_segments`：音频片段是指录音的特定部分，该部分包含连贯的口语内容，且只有极少的停顿或中断。该片段用于捕获自然的语音流，并以起始时间和结束时间的形式记录在 `audio_segments` 中。音频片段中的 `items` 元素是一系列标识符，这些标识符对应于该片段中的各个项目。

您在转录请求每额外包含一项特征，都将会在您的转录中产生额外的信息。

```
{
    "jobName": "my-first-transcription-job",
    "accountId": "111122223333",
    "results": {
        "transcripts": [
            {
                "transcript": "Welcome to Amazon Transcribe."
            }
        ],
        "items": [
            {
                "id": 0,
                "start_time": "0.64",
                "end_time": "1.09",
                "alternatives": [
                    {
                        "confidence": "1.0",
                        "content": "Welcome"
                    }
                ],
                "type": "pronunciation"
            },
            {
                "id": 1,
                "start_time": "1.09",
                "end_time": "1.21",
                "alternatives": [
                    {
                        "confidence": "1.0",
                        "content": "to"
                    }
                ],
                "type": "pronunciation"
            },
            {
                "id": 2,
                "start_time": "1.21",
                "end_time": "1.74",
                "alternatives": [
                    {
                        "confidence": "1.0",
                        "content": "Amazon"
                    }
                ],
                "type": "pronunciation"
            },
            {
                "id": 3,
                "start_time": "1.74",
                "end_time": "2.56",
                "alternatives": [
                    {
                        "confidence": "1.0",
                        "content": "Transcribe"
                    }
                ],
                "type": "pronunciation"
            },
            {
                "id": 4,
                "alternatives": [
                    {
                        "confidence": "0.0",
                        "content": "."
                    }
                ],
                "type": "punctuation"
            }
        ],
        "audio_segments": [
            {
                "id": 0,
                "transcript": "Welcome to Amazon Transcribe.",
                "start_time": "0.64",
                "end_time": "2.56",
                "items": [
                    0,
                    1,
                    2,
                    3,
                    4
                ]
            }
        ]
    },
    "status": "COMPLETED"
}
```

# 转录数值和标点符号
<a name="how-numbers"></a>

Amazon Transcribe 自动为所有支持的语言添加标点符号，并针对在书写系统中区分大小写的语言适当大写单词。

对于大多数语言，数值则会转录成各自语言的单词形式。但是，对于支持转录数字的语言，Amazon Transcribe 会根据使用数字的上下文以不同的方式对其进行处理。

例如，如果发言者说“*Meet me at eight-thirty AM on June first at one-hundred Main Street with three-dollars-and-fifty-cents and one-point-five chocolate bars*”，则会将其转录为：
+ 支持数字转录的语言：Meet me at 8:30 a.m. on June 1st at 100 Main Street with \$13.50 and 1.5 chocolate bars
+ 所有其它语言：Meet me at eight thirty a m on June first at one hundred Main Street with three dollars and fifty cents and one point five chocolate bars

要查看支持数字转录的语言，请参阅[支持的语言和特定语言的特征](supported-languages.md)。