

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 医療会話の文字起こし
<a name="transcribe-medical-conversation"></a>

 Amazon Transcribe Medical を使用すると、バッチ文字起こしジョブまたはリアルタイムストリームを使用して、臨床医と患者の医療会話を文字起こしできます。バッチ文字起こしジョブを使用すると、音声ファイルを変換することができます。 Amazon Transcribe Medical が可能な限り高い精度で文字起こし結果を生成するようにするには、文字起こしジョブまたはストリームで臨床医の医療専門分野を指定する必要があります。

臨床医と患者の訪問は、以下の医療専門分野で文字起こしすることができます。
+ 心臓病学: ストリーミング文字起こしのみ利用可能
+ 神経学: ストリーミング文字起こしでのみ利用可能
+ 腫瘍学: ストリーミング文字起こしでのみ利用可能
+ プライマリケア: 次のタイプの医療行為が含まれます。
  + 家庭医療
  + 内科
  + 産婦人科 (OB-GYN)
  + 小児科
+ 泌尿器学: ストリーミング文字起こしでのみ利用可能

医療用カスタム語彙を使用すると、文字起こしの精度を向上することができます。医療用カスタム語彙の詳細については、「[医療用カスタム語彙による文字起こしの精度の向上](vocabulary-med.md)」を参照してください。

デフォルトでは、 Amazon Transcribe Medical は信頼度が最も高い文字起こしを返します。代替文字起こしを返すように設定する場合は、「[代替文字起こしの生成](alternative-med-transcriptions.md)」を参照してください。

文字起こし出力で数値と医学的測定値がどのように表示されるかについては、「[文字起こし番号](how-numbers-med.md)」と「[医療用語と測定値の文字起こし](how-measurements-med.md)」をご覧ください。

**Topics**
+ [医療に関する会話の音声ファイルの文字起こし](batch-medical-conversation.md)
+ [リアルタイムストリームで医療に関する会話の文字起こし](streaming-medical-conversation.md)
+ [スピーカーパーティショニングを有効にする](conversation-diarization-med.md)
+ [マルチチャネルの音声文字起こし](conversation-channel-id-med.md)

# 医療に関する会話の音声ファイルの文字起こし
<a name="batch-medical-conversation"></a>

バッチ文字起こしジョブを使用して、医療に関する会話の音声ファイルの文字起こしを行います。これを使用して、臨床医と患者の対話を文字起こしすることができます。[https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html) API または AWS マネジメントコンソールで、バッチ文字起こしジョブを開始できます。

[https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html) API で医療分野の文字起こしジョブを開始する場合、`PRIMARYCARE` を `Specialty` パラメータの値として指定します。

## AWS マネジメントコンソール
<a name="batch-med-conversation-console"></a>

**臨床医と患者の対話の文字起こし (AWS マネジメントコンソール)**

を使用して臨床医と患者の対話を AWS マネジメントコンソール 文字起こしするには、文字起こしジョブを作成し、**音声入力タイプの****会話**を選択します。

1. [AWS マネジメントコンソール](https://console.aws.amazon.com/transcribe/) にサインインします。

1. ナビゲーションペインの Amazon Transcribe Medical で、**文字起こしジョブ**を選択します。

1. [**ジョブの作成**] を選択します。

1. **ジョブ詳細を指定** ページ内の **ジョブ設定** で次の指定を行います。

   1. **名前**: 文字起こしジョブの名前です。

   1. **音声入力タイプ** – **会話**

1. 残りのフィールドでは、音声ファイル Amazon S3 の場所と、文字起こしジョブの出力を保存する場所を指定します。

1. [**次へ**] を選択します。

1. **[作成]** を選択します。

## API
<a name="batch-med-conversation-api"></a>

**バッチ文字起こしジョブ (API) を使用した医療に関する会話の文字起こしをするには**
+ [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html) API では、以下のものを指定します。

  1. `MedicalTranscriptionJobName` の場合、 AWS アカウントで一意の名前を指定します。

  1. `LanguageCode` として、音声ファイルで話されている言語と語彙フィルターの言語に対応する言語コードを指定します。

  1. `MediaFileUri` オブジェクトの `Media` パラメータの場合、文字起こしを行う音声ファイルの名前を指定します。

  1. `Specialty` の場合、音声ファイルで話す臨床医の専門分野を `PRIMARYCARE` に指定します。

  1. `Type` の場合、`CONVERSATION` を指定します。

  1. `OutputBucketName` の場合、文字起こし結果を保存する Amazon S3 バケットを指定します。

  以下は、 を使用して`PRIMARYCARE`専門分野の臨床医と患者の医療会話を AWS SDK for Python (Boto3) 文字起こしするリクエストの例です。

  ```
  from __future__ import print_function
  import time
  import boto3
  transcribe = boto3.client('transcribe', 'us-west-2')
  job_name = "my-first-med-transcription-job"
  job_uri = "s3://amzn-s3-demo-bucket/my-input-files/my-audio-file.flac"
  transcribe.start_medical_transcription_job(
        MedicalTranscriptionJobName = job_name,
        Media = {
          'MediaFileUri': job_uri
        },
        OutputBucketName = 'amzn-s3-demo-bucket',
        OutputKey = 'output-files/',
        LanguageCode = 'en-US',
        Specialty = 'PRIMARYCARE',
        Type = 'CONVERSATION'
    )
  
  while True:
      status = transcribe.get_medical_transcription_job(MedicalTranscriptionJobName = job_name)
      if status['MedicalTranscriptionJob']['TranscriptionJobStatus'] in ['COMPLETED', 'FAILED']:
          break
      print("Not ready yet...")
      time.sleep(5)
  print(status)
  ```

次のコード例は、臨床医と患者の会話の文字起こし結果を示しています。

```
{
    "jobName": "conversation-medical-transcription-job",
    "accountId": "111122223333",
    "results": {
        "transcripts": [
            {
                "transcript": "... come for a follow up visit today..."
            }
        ],
        "items": [
            {
            ...
                "start_time": "4.85",
                "end_time": "5.12",
                "alternatives": [
                    {
                        "confidence": "1.0",
                        "content": "come"
                    }
                ],
                "type": "pronunciation"
            },
            {
                "start_time": "5.12",
                "end_time": "5.29",
                "alternatives": [
                    {
                        "confidence": "1.0",
                        "content": "for"
                    }
                ],
                "type": "pronunciation"
            },
            {
                "start_time": "5.29",
                "end_time": "5.33",
                "alternatives": [
                    {
                        "confidence": "0.9955",
                        "content": "a"
                    }
                ],
                "type": "pronunciation"
            },
            {
                "start_time": "5.33",
                "end_time": "5.66",
                "alternatives": [
                    {
                        "confidence": "0.9754",
                        "content": "follow"
                    }
                ],
                "type": "pronunciation"
            },
            {
                "start_time": "5.66",
                "end_time": "5.75",
                "alternatives": [
                    {
                        "confidence": "0.9754",
                        "content": "up"
                    }
                ],
                "type": "pronunciation"
            },
            {
                "start_time": "5.75",
                "end_time": "6.02",
                "alternatives": [
                    {
                        "confidence": "1.0",
                        "content": "visit"
                    }
                ]
                ...
    },
    "status": "COMPLETED"
}
```

## AWS CLI
<a name="batch-med-conversation-cli"></a>

**バッチ文字起こしジョブ (AWS CLI) を使用した医療会話の文字起こし**
+ 以下のコードを実行します。

  ```
                      
  aws transcribe start-medical-transcription-job \
  --region us-west-2 \
  --cli-input-json file://example-start-command.json
  ```

  以下のコードは、`example-start-command.json` の内容を示しています。

  ```
  {
        "MedicalTranscriptionJobName": "my-first-med-transcription-job",        
        "Media": {
            "MediaFileUri": "s3://amzn-s3-demo-bucket/my-input-files/my-audio-file.flac"
        },
        "OutputBucketName": "amzn-s3-demo-bucket",
        "OutputKey": "my-output-files/", 
        "LanguageCode": "en-US",
        "Specialty": "PRIMARYCARE",
        "Type": "CONVERSATION"
    }
  ```

# リアルタイムストリームで医療に関する会話の文字起こし
<a name="streaming-medical-conversation"></a>

医療に関する会話の音声ストリームは、HTTP/2 または [WebSocket](https://tools.ietf.org/html/rfc6455) プロトコルで文字起こしを行うことができます。WebSocket プロトコルを使用してストリーミングを開始する方法については、[WebSocket ストリームの設定](streaming-setting-up.md#streaming-websocket) を参照してください。[https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html) API を使用して HTTP/2 ストリーミングを開始します。

次の専門分野でストリーミングを文字起こしを行うことができます。
+ 心臓病学
+ 神経学
+ 腫瘍学
+ プライマリケア
+ 泌尿器科

各医療専門分野には、多くのタイプの処置と予定が含まれています。したがって、臨床医は、さまざまな種類のメモを指示します。次の例をガイダンスとして使用して、WebSocket リクエストの `specialty` URL パラメータまたは `Specialty` APIの [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html) パラメータの値を指定します。
+ 電気生理学または心エコー検査の相談については、`CARDIOLOGY` を選択します。
+ 医学腫瘍学、外科腫瘍学、または放射線腫瘍学の相談については、`ONCOLOGY` を選択します。
+ 一過性脳虚血発作または脳血管発作のいずれかで脳卒中を起こした患者に診察を提供する医師の場合は、`NEUROLOGY` を選択します。
+ 尿失禁に関する相談については、`UROLOGY` を選択します。
+ 年次検診または緊急ケア訪問の場合は、`PRIMARYCARE` を選択します。
+ ホスピタリストの訪問の場合は、`PRIMARYCARE` を選択します。
+ 出産、卵管結紮法、IUD 挿入、または中絶に関する相談については、`PRIMARYCARE` を選択します。

## AWS マネジメントコンソール
<a name="streaming-medical-conversation-console"></a>

**ストリーミングの医療に関する会話を文字起こしする (AWS マネジメントコンソール)**

を使用して臨床医と患者の対話 AWS マネジメントコンソール をリアルタイムストリームで文字起こしするには、医療会話を文字起こししし、ストリームを開始し、マイクで話し始めるオプションを選択します。

1. [AWS マネジメントコンソール](https://console.aws.amazon.com/transcribe/) にサインインします。

1. ナビゲーションペインの Amazon Transcribe Medical で、**リアルタイム文字起こし**を選択します。

1. **会話** を選択します。

1. **医療専門分野** の場合、臨床医の専門分野を選択します。

1. [**ストリーミングの開始**] を選択します。

1. マイクに向かって話してください。

## HTTP/2 ストリーミングでの医療会話の文字起こし
<a name="http2-med-conversation-streaming"></a>

HTTP/2 リクエストのパラメータのための構文を次に示します。

医療関係の会話の HTTP/2 ストリーミングを文字起こしする場合、[https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html) API を使用し、以下を指定します。
+ `LanguageCode` - 言語コードです。有効値は `en-US` です。
+ `MediaEncoding` - 音声入力に使用されるエンコーディングです。有効な値は、`pcm`、`ogg-opus`、`flac` です。
+ `Specialty` - 医療専門家の専門分野です。
+ `Type` – `CONVERSATION`

リアルタイムストリーム内の特定の文字起こし精度を向上させるには、カスタム語彙を使用します。カスタム語彙を有効にするには、使用するカスタム語彙の名前に `VocabularyName` パラメータの値を設定します。詳細については、「[医療用カスタム語彙による文字起こしの精度の向上](vocabulary-med.md)」を参照してください。

別のスピーカーからの音声にラベルを付ける場合、`ShowSpeakerLabel` のパラメータ `true` を設定します。詳細については、「[スピーカーパーティショニングを有効にする](conversation-diarization-med.md)」を参照してください。

医療関係の会話を文字起こしするための HTTP/2 ストリーミングの設定の詳細については、[HTTP/2 ストリームの設定](streaming-setting-up.md#streaming-http2) を参照してください。

## WebSocket ストリーミングでの医療会話の文字起こし
<a name="transcribe-medical-conversation-websocket"></a>

WebSocket リクエストを使用して、医療会話の文字起こしができます。WebSocket リクエストを行う場合、署名付き URL を作成します。この URL には、アプリケーションと Amazon Transcribe Medical の間の音声ストリームをセットアップするために必要な情報が含まれています。WebSocket リクエストの作成の詳細については、「[WebSocket ストリームの設定](streaming-setting-up.md#streaming-websocket)」を参照してください。

署名付き URL を作成するには、次のテンプレートを使用します。

```
GET wss://transcribestreaming.us-west-2.amazonaws.com:8443/medical-stream-transcription-websocket
?language-code=languageCode
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIAIOSFODNN7EXAMPLE%2F20220208%2Fus-west-2%2Ftranscribe%2Faws4_request
&X-Amz-Date=20220208T235959Z
&X-Amz-Expires=300
&X-Amz-Security-Token=security-token
&X-Amz-Signature=Signature Version 4 signature 
&X-Amz-SignedHeaders=host
&media-encoding=flac
&sample-rate=16000
&session-id=sessionId
&specialty=medicalSpecialty
&type=CONVERSATION
&vocabulary-name=vocabularyName
&show-speaker-label=boolean
```

リアルタイムストリーム内の特定の文字起こし精度を向上させるには、カスタム語彙を使用します。カスタム語彙を有効にするには、使用するカスタム語彙の名前に `vocabulary-name` の値を設定します。詳細については、「[医療用カスタム語彙による文字起こしの精度の向上](vocabulary-med.md)」を参照してください。

別のスピーカーからの音声にラベルを付けるには、`show-speaker-label` へのパラメータ `true` を設定します。詳細については、「[スピーカーパーティショニングを有効にする](conversation-diarization-med.md)」を参照してください。

署名付き URL の作成方法の詳細については、「[WebSocket ストリームの設定](streaming-setting-up.md#streaming-websocket)」を参照してください。

# スピーカーパーティショニングを有効にする
<a name="conversation-diarization-med"></a>

 Amazon Transcribe Medical でスピーカーパーティショニングを有効にするには、*スピーカーダイアライゼーション*を使用します。これにより、患者が何を言ったのか、臨床医が文字起こし出力で何を言ったかを確認できます。

スピーカーダイアライゼーションを有効にすると、 Amazon Transcribe Medical は各スピーカーの*発話*に各スピーカーの一意の識別子をラベル付けします。*発話*とは発言の単位であり、通常は無音で他の発話と区切られます。バッチ文字起こしでは、臨床医からの発話は `spk_0` のラベルを受け取ることができ、患者の発話は `spk_1` のラベルを受け取ることができます。

ある話者からの発話が別の話者からの発話と重なる場合、 Amazon Transcribe Medical は、開始時刻順で文字起こしを指示します。入力音声で発話が被っても文字起こし出力では被りません。

バッチ文字起こしジョブ、またはリアルタイムストリームを使用して音声ファイルを文字起こしする場合、話者ダイアライゼーションを有効にできます。

**Topics**
+ [バッチ文字起こしで、スピーカーパーティショニングを有効にする](conversation-diarization-batch-med.md)
+ [リアルタイムストリ―ムでスピーカーパーティショニングを有効にする](conversation-diarization-streaming-med.md)

# バッチ文字起こしで、スピーカーパーティショニングを有効にする
<a name="conversation-diarization-batch-med"></a>

[https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html) API または AWS マネジメントコンソールでバッチ文字起こしジョブをスピーカーパーティショニングを有効にできます。これにより、臨床医と患者の会話で話者ごとにテキストをパーティション化し、文字起こし出力で誰が何を言ったかを判断できます。

## AWS マネジメントコンソール
<a name="conversation-diarization-batch-med-console"></a>

を使用して文字起こ AWS マネジメントコンソール しジョブでスピーカーダイアライゼーションを有効にするには、音声識別を有効にしてからスピーカーパーティショニングを有効にします。

1. [AWS マネジメントコンソール](https://console.aws.amazon.com/transcribe/) にサインインします。

1. ナビゲーションペインの Amazon Transcribe Medical で、**文字起こしジョブ**を選択します。

1. **[ジョブの作成]** を選択します。

1. [**ジョブの詳細を指定する**] ページで、文字起こしジョブに関する情報を入力します。

1. [**次へ**] を選択します。

1. [**音声識別**] を有効にします。

1. **音声識別タイプ** では、[**スピーカーパーティショニング**] を選択します。

1. **話者の最大数** では、音声ファイルで話していると思われる話者の最大数を指定します。

1. **[作成]** を選択します。

## API
<a name="conversation-diarization-batch-med-api"></a>

**バッチ文字起こしジョブ (API) を使用して、スピーカーパーティショニングを有効にする**
+ [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html) API では、以下のものを指定します。

  1. `MedicalTranscriptionJobName` の場合、 AWS アカウントで一意の名前を指定します。

  1. `LanguageCode` の場合、音声ファイル内で話されている言語に対応する言語コードです。

  1. `MediaFileUri` オブジェクトの `Media` パラメータの場合、文字起こしを行う音声ファイルの名前を指定します。

  1. `Specialty` の場合、音声ファイルで話す臨床医の専門分野を指定します。

  1. `Type` の場合、`CONVERSATION` を指定します。

  1. には`OutputBucketName`、文字起こし結果を保存する Amazon S3 バケットを指定します。

  1. `Settings` オブジェクトの場合、以下を指定します。

     1. `ShowSpeakerLabels` – `true`.

     1. `MaxSpeakerLabels` - オーディオ内で話していると思われるスピーカーの数を示す 2 ～ 10 の整数です。

次のリクエストでは、 を使用して AWS SDK for Python (Boto3) 、スピーカーパーティショニングを有効にしたプライマリケア臨床医患者ダイアログのバッチ文字起こしジョブを開始します。

```
from __future__ import print_function
import time
import boto3
transcribe = boto3.client('transcribe', 'us-west-2')
job_name = "my-first-transcription-job"
job_uri = "s3://amzn-s3-demo-bucket/my-input-files/my-media-file.flac"
transcribe.start_medical_transcription_job(
    MedicalTranscriptionJobName = job_name,
    Media={
        'MediaFileUri': job_uri
    },
    OutputBucketName = 'amzn-s3-demo-bucket',
    OutputKey = 'my-output-files/', 
    LanguageCode = 'en-US',
    Specialty = 'PRIMARYCARE',
    Type = 'CONVERSATION',
    OutputBucketName = 'amzn-s3-demo-bucket',
Settings = {'ShowSpeakerLabels': True,
         'MaxSpeakerLabels': 2
         }
         )
while True:
    status = transcribe.get_medical_transcription_job(MedicalTranscriptionJobName = job_name)
    if status['MedicalTranscriptionJob']['TranscriptionJobStatus'] in ['COMPLETED', 'FAILED']:
        break
    print("Not ready yet...")
    time.sleep(5)
print(status)
```

次の例のコードは、スピーカーパーティショニングを有効にした文字起こしジョブの文字起こし結果を示しています。

```
{
    "jobName": "job ID",
    "accountId": "111122223333",
    "results": {
        "transcripts": [
            {
                "transcript": "Professional answer."
            }
        ],
        "speaker_labels": {
            "speakers": 1,
            "segments": [
                {
                    "start_time": "0.000000",
                    "speaker_label": "spk_0",
                    "end_time": "1.430",
                    "items": [
                        {
                            "start_time": "0.100",
                            "speaker_label": "spk_0",
                            "end_time": "0.690"
                        },
                        {
                            "start_time": "0.690",
                            "speaker_label": "spk_0",
                            "end_time": "1.210"
                        }
                    ]
                }
            ]
        },
        "items": [
            {
                "start_time": "0.100",
                "end_time": "0.690",
                "alternatives": [
                    {
                        "confidence": "0.8162",
                        "content": "Professional"
                    }
                ],
                "type": "pronunciation"
            },
            {
                "start_time": "0.690",
                "end_time": "1.210",
                "alternatives": [
                    {
                        "confidence": "0.9939",
                        "content": "answer"
                    }
                ],
                "type": "pronunciation"
            },
            {
                "alternatives": [
                    {
                        "content": "."
                    }
                ],
                "type": "punctuation"
            }
        ]
    },
    "status": "COMPLETED"
}
```

## AWS CLI
<a name="diarization-batch-cli"></a>

**プライマリケアを実践している臨床医と患者との間の会話の音声ファイルを文字起こしする (AWS CLI)**
+ 以下のコードを実行します。

  ```
                      
  aws transcribe start-transcription-job \
  --region us-west-2 \
  --cli-input-json file://example-start-command.json
  ```

  以下のコードは、`example-start-command.json` の内容を示しています。

  ```
  {
      "MedicalTranscriptionJobName": "my-first-med-transcription-job",       
       "Media": {
            "MediaFileUri": "s3://amzn-s3-demo-bucket/my-input-files/my-audio-file.flac"
        },
        "OutputBucketName": "amzn-s3-demo-bucket",
        "OutputKey": "my-output-files/", 
        "LanguageCode": "en-US",
        "Specialty": "PRIMARYCARE",
        "Type": "CONVERSATION",
        "Settings":{
            "ShowSpeakerLabels": true,
            "MaxSpeakerLabels": 2
          }
  }
  ```

# リアルタイムストリ―ムでスピーカーパーティショニングを有効にする
<a name="conversation-diarization-streaming-med"></a>

リアルタイムストリームでスピーカーをパーティション化し、音声にラベルを付けるには、 AWS マネジメントコンソール または ストリーミングリクエストを使用します。スピーカーパーティショニングは、ストリーミング内のスピーカーが 2～5 人の場合に最も効果的です。 Amazon Transcribe Medical はストリーム内で 5 人以上のスピーカーをパーティション分割できますが、その数を超えるとパーティションの精度が低下します。

HTTP/2 リクエストを開始する場合、[https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html) API を使用します。WebSocket リクエストを開始する場合、署名付き URL を使用します。URL には、アプリケーションと Amazon Transcribe Medical 間の双方向通信を設定するために必要な情報が含まれています。

## マイクで話されている音声のスピーカーパーティショニングを有効にする (AWS マネジメントコンソール)
<a name="conversation-diarization-console"></a>

を使用して AWS マネジメントコンソール 、臨床医と患者の会話のリアルタイムストリーム、またはマイクにリアルタイムで話されるディクテーションを開始できます。

1. [AWS マネジメントコンソール](https://console.aws.amazon.com/transcribe/) にサインインします。

1. ナビゲーションペインで、 Amazon Transcribe Medical で**リアルタイム文字起こ**しを選択します。

1. **音声入力タイプ**の場合、文字起こしする医療音声の種類を選択します。

1. [**追加設定**] では、[**スピーカーパーティショニング**] を選択します。

1. [**ストリーミングを開始**] を選択して、リアルタイム音声の文字起こしを開始します。

1. マイクに向かって話してください。

## HTTP/2 ストリーム内のスピーカーパーティショニングを有効にする
<a name="conversation-diarization-med-http2"></a>

医療に関する関係の会話の HTTP/2 ストリーム内のスピーカーパーティショニングを有効にする場合、[https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html) API を選択し、以下を指定します。
+ `LanguageCode` の場合、ストリーム内の言語に対応する言語コードを指定します。有効値は `en-US` です。
+ `MediaSampleHertz` の場合、音声のサンプルレートを指定します。
+ `Specialty` の場合、提供者の専門分野を指定します。
+ `ShowSpeakerLabel` – `true`

医療に関する会話を文字起こしするための HTTP/2 ストリームの設定の詳細については、「[HTTP/2 ストリームの設定](streaming-setting-up.md#streaming-http2)」を参照してください。

## WebSocket リクエスト内のスピーカーパーティショニングを有効にする
<a name="conversation-diarization-med-websocket"></a>

API によって WebSocket ストリーミング内のスピーカーをパーティション化する場合、次の形式を使用して WebSocket リクエストをスタートするための署名付き URL を作成し、`show-speaker-label` を `true` と特定します。

```
GET wss://transcribestreaming.us-west-2.amazonaws.com:8443/medical-stream-transcription-websocket
?language-code=languageCode
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIAIOSFODNN7EXAMPLE%2F20220208%2Fus-west-2%2Ftranscribe%2Faws4_request
&X-Amz-Date=20220208T235959Z
&X-Amz-Expires=300
&X-Amz-Security-Token=security-token
&X-Amz-Signature=Signature Version 4 signature 
&X-Amz-SignedHeaders=host
&media-encoding=flac
&sample-rate=16000
&session-id=sessionId
&specialty=medicalSpecialty
&type=CONVERSATION
&vocabulary-name=vocabularyName
&show-speaker-label=boolean
```

次のコードは、ストリーミングリクエストの切り捨てられたレスポンス例を示しています。

```
{
  "Transcript": {
    "Results": [
      {
        "Alternatives": [
          {
            "Items": [
              {
                "Confidence": 0.97,
                "Content": "From",
                "EndTime": 18.98,
                "Speaker": "0",
                "StartTime": 18.74,
                "Type": "pronunciation",
                "VocabularyFilterMatch": false
              },
              {
                "Confidence": 1,
                "Content": "the",
                "EndTime": 19.31,
                "Speaker": "0",
                "StartTime": 19,
                "Type": "pronunciation",
                "VocabularyFilterMatch": false
              },
              {
                "Confidence": 1,
                "Content": "last",
                "EndTime": 19.86,
                "Speaker": "0",
                "StartTime": 19.32,
                "Type": "pronunciation",
                "VocabularyFilterMatch": false
              },
             ...
              {
                "Confidence": 1,
                "Content": "chronic",
                "EndTime": 22.55,
                "Speaker": "0",
                "StartTime": 21.97,
                "Type": "pronunciation",
                "VocabularyFilterMatch": false
              },
              ...
                "Confidence": 1,
                "Content": "fatigue",
                "EndTime": 24.42,
                "Speaker": "0",
                "StartTime": 23.95,
                "Type": "pronunciation",
                "VocabularyFilterMatch": false
              },
              {
                "EndTime": 25.22,
                "StartTime": 25.22,
                "Type": "speaker-change",
                "VocabularyFilterMatch": false
              },
              {
                "Confidence": 0.99,
                "Content": "True",
                "EndTime": 25.63,
                "Speaker": "1",
                "StartTime": 25.22,
                "Type": "pronunciation",
                "VocabularyFilterMatch": false
              },
              {
                "Content": ".",
                "EndTime": 25.63,
                "StartTime": 25.63,
                "Type": "punctuation",
                "VocabularyFilterMatch": false
              }
            ],
            "Transcript": "From the last note she still has mild sleep deprivation and chronic fatigue True."
          }
        ],
        "EndTime": 25.63,
        "IsPartial": false,
        "ResultId": "XXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX",
        "StartTime": 18.74
      }
    ]
  }
}
```

Amazon Transcribe Medical は、スピーカーの変更や音声の一時停止など、自然な音声セグメントに基づいて着信音声ストリームを切断します。セグメント全体の文字起こしが行われるまで、各レスポンスにさらに多くの文字起こしスピーチが含まれるように、文字起こしは徐々にアプリケーションに返されます。前のコードは、完全に書き起こされたスピーチセグメントの切り捨てられた例です。スピーカーのラベル付けは、完全に書き起こされたセグメントに対してのみ表示されます。

次のリストは、ストリーミング文字起こし出力におけるオブジェクトとパラメータの組織を示しています。

**`Transcript`**  
各音声セグメントには、それぞれ独自の `Transcript` オブジェクトがあります。

**`Results`**  
各 `Transcript` オブジェクトには独自の `Results` オブジェクトがあります。このオブジェクトには `isPartial` フィールドが含まれます。その値が `false` の場合、でてくる結果はスピーチセグメント全体に対するものです。

**`Alternatives`**  
各 `Results` オブジェクトには `Alternatives` オブジェクトがあります。

**`Items`**  
各 `Alternatives` オブジェクトには独自の `Items` オブジェクトがあり、それには文字起こし出力の各単語および句読点に関する情報が含まれます。スピーカーパーティショニングを有効にすると、各単語には完全に文字起こしされた音声セグメントの`Speaker`ラベルが付けられます。 Amazon Transcribe Medical はこのラベルを使用して、ストリーム内の各スピーカーに一意の整数を割り当てます。`speaker-change` の値を持つ `Type` パラメータは、ある人が話すのを停止し、別の人が始めようとしていることを示します。

**`Transcript`**  
各項目の オブジェクトには、文字起こしされた音声セグメントが `Transcript` フィールドの値として含まれます。

WebSocket リクエストの詳細については、[WebSocket ストリームの設定](streaming-setting-up.md#streaming-websocket) を参照してください。

# マルチチャネルの音声文字起こし
<a name="conversation-channel-id-med"></a>

複数のチャネルを持つオーディオファイルまたはストリームがある場合は、*チャネル識別*を使用して、それらの各チャネルの音声を文字起こしできます。 Amazon Transcribe Medical は、各チャネルの音声を個別に文字起こしします。各チャネルの個別のトランプスクリプトを単一の文字起こし出力に結合します。

チャネル識別を使用して、音声内の個別のチャネルを特定し、各チャネルの音声の文字起こしを行います。発信者およびエージェントのシナリオなどの状況でこれを有効にします。これを使用して、薬物安全モニタリングを実行するコンタクトセンターからの録音またはストリーミング内のエージェントと発信者を区別します。

バッチ処理とリアルタイムストリームの両方でチャネル識別を有効にできます。次のリストは、メソッドごとに有効にする方法を説明しています。
+ バッチ文字起こし – AWS マネジメントコンソール および [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html) API
+ ストリーミング文字起こし - WebSocket ストリーミングと [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html) API

## マルチチャネルの音声ファイルの文字起こし
<a name="conversation-channel-id-med-batch"></a>

オーディオファイルを文字起こしすると、 Amazon Transcribe Medical は各チャネルの*項目*のリストを返します。アイテムは、文字起こしされた単語または句読点です。各単語には、開始時刻と終了時刻があります。あるチャネルの人が別のチャネルで話しかけると、各チャネルのアイテムの開始時間と終了時刻が重なり、個人が互いに話しかけ合っています。

デフォルトでは、2 つのチャネルで音声ファイルを文字起こしできます。2 つ以上のチャネルを持つファイルを文字起こしする必要がある場合は、クォータの引き上げをリクエストできます。クォータ増加の要求の詳細については、「[AWS のサービス クォータ](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)」を参照してください。

バッチ文字起こしジョブでマルチチャネルオーディオを文字起こしするには、 AWS マネジメントコンソール または [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html) API を使用します。

### AWS マネジメントコンソール
<a name="channel-id-batch-med-console"></a>

を使用してバッチ文字起こ AWS マネジメントコンソール しジョブでチャネル識別を有効にするには、音声識別を有効にしてから、チャネル識別を有効にします。チャネル識別は、 のオーディオ識別のサブセットです AWS マネジメントコンソール。

1. [AWS マネジメントコンソール](https://console.aws.amazon.com/transcribe/) にサインインします。

1. ナビゲーションペインの Amazon Transcribe Medical で、**文字起こしジョブ**を選択します。

1. **[ジョブの作成]** を選択します。

1. [**ジョブの詳細を指定する**] ページで、文字起こしジョブに関する情報を入力します。

1. [**次へ**] を選択します。

1. [**音声識別**] を有効にします。

1. **音声識別タイプ** では、[**チャネルの識別**] を選択します。

1. **[作成]** を選択します。

### API
<a name="channel-id-batch-med-api"></a>

**マルチチャネルの音声ファイルの文字起こし (API)**
+ [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html) API では、以下のものを指定します。

  1. `TranscriptionJobName` の場合、 AWS アカウントで一意の名前を指定します。

  1. `LanguageCode` の場合、音声ファイル内で話されている言語に対応する言語コードを指定します。有効値は `en-US` です。

  1. `MediaFileUri` オブジェクトの `Media` パラメータの場合、文字起こしを行うメディアファイルの名前を指定します。

  1. `Settings` オブジェクトの場合、`ChannelIdentification` を `true` にセットします。

以下は、 AWS SDK for Python (Boto3)を使ったリクエストの例です。

```
from __future__ import print_function
import time
import boto3
transcribe = boto3.client('transcribe', 'us-west-2')
job_name = "my-first-transcription-job"
job_name = "my-first-med-transcription-job"
job_uri = "s3://amzn-s3-demo-bucket/my-input-files/my-media-file.flac"
transcribe.start_medical_transcription_job(
      MedicalTranscriptionJobName = job_name,
      Media = {
        'MediaFileUri': job_uri
      },
      OutputBucketName = 'amzn-s3-demo-bucket',
      OutputKey = 'output-files/',
      LanguageCode = 'en-US',
      Specialty = 'PRIMARYCARE',
      Type = 'CONVERSATION',
      Settings = {
        'ChannelIdentification': True
      }
)
while True:
    status = transcribe.get_transcription_job(MedicalTranscriptionJobName = job_name)
    if status['MedicalTranscriptionJob']['TranscriptionJobStatus'] in ['COMPLETED', 'FAILED']:
        break
    print("Not ready yet...")
    time.sleep(5)
print(status)
```

### AWS CLI
<a name="channel-id-med-cli"></a>

**バッチ文字起こしジョブを使用して、マルチチャネル音声ファイルの文字起こしをする (AWS CLI)**
+ 以下のコードを実行します。

  ```
                      
  aws transcribe start-medical-transcription-job \
  --region us-west-2 \
  --cli-input-json file://example-start-command.json
  ```

  以下は `example-start-command.json` のコードです。

  ```
  {
        "MedicalTranscriptionJobName": "my-first-med-transcription-job",        
        "Media": {
            "MediaFileUri": "s3://amzn-s3-demo-bucket/my-input-files/my-audio-file.flac"
        },
        "OutputBucketName": "amzn-s3-demo-bucket",
        "OutputKey": "my-output-files/", 
        "LanguageCode": "en-US",
        "Specialty": "PRIMARYCARE",
        "Type": "CONVERSATION",
  
          "Settings":{
            "ChannelIdentification": true
          }
  }
  ```

次のコードは、2 つのチャネルで会話がある音声ファイルの文字起こし出力を示しています。

```
{
  "jobName": "job id",
  "accountId": "111122223333",
  "results": {
    "transcripts": [
      {
        "transcript": "When you try ... It seems to ..."
      }
    ],
    "channel_labels": {
      "channels": [
        {
          "channel_label": "ch_0",
          "items": [
            {
              "start_time": "12.282",
              "end_time": "12.592",
              "alternatives": [
                {
                  "confidence": "1.0000",
                  "content": "When"
                }
              ],
              "type": "pronunciation"
            },
            {
              "start_time": "12.592",
              "end_time": "12.692",
              "alternatives": [
                {
                  "confidence": "0.8787",
                  "content": "you"
                }
              ],
              "type": "pronunciation"
            },
            {
              "start_time": "12.702",
              "end_time": "13.252",
              "alternatives": [
                {
                  "confidence": "0.8318",
                  "content": "try"
                }
              ],
              "type": "pronunciation"
            },
            ...
         ]
      },
      {
          "channel_label": "ch_1",
          "items": [
            {
              "start_time": "12.379",
              "end_time": "12.589",
              "alternatives": [
                {
                  "confidence": "0.5645",
                  "content": "It"
                }
              ],
              "type": "pronunciation"
            },
            {
              "start_time": "12.599",
              "end_time": "12.659",
              "alternatives": [
                {
                  "confidence": "0.2907",
                  "content": "seems"
                }
              ],
              "type": "pronunciation"
            },
            {
              "start_time": "12.669",
              "end_time": "13.029",
              "alternatives": [
                {
                  "confidence": "0.2497",
                  "content": "to"
                }
              ],
              "type": "pronunciation"
            },
            ...
        ]
    }
}
```

## マルチチャネルの音声ストリームの文字起こし
<a name="conversation-channel-id-med-stream"></a>

HTTP/2 ストリーミングまたは WebSocket ストリーミングで、別々のチャネルから音声を文字起こしするには、[https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html) API を使用します。

デフォルトでは、2 つのチャネルでストリーミングを文字起こしできます。2 つ以上のチャネルを持つストリーミングを文字起こしする必要がある場合、クォータの引き上げをリクエストできます。クォータ増加の要求の詳細については、「[AWS の Service Quotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)」を参照してください。

### HTTP/2 ストリームでのマルチチャネル音声の文字起こし
<a name="conversation-channel-id-http2"></a>

HTTP/2 ストリームでのマルチチャネル音声を文字起こしする場合、[StartMedicalStreamTranscription](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html) API を使用し、以下を指定します。
+ `LanguageCode` - 音声の言語コードです。有効値は `en-US` です。
+ `MediaEncoding` - 音声のエンコーディングです。有効値は、`ogg-opus`、`flac`、`pcm` です。
+ `EnableChannelIdentification` – `true`
+ `NumberOfChannels` - ストリーミング音声のチャネル数です。

医療関係の会話を文字起こしするための HTTP/2 ストリーミングの設定の詳細については、[HTTP/2 ストリームの設定](streaming-setting-up.md#streaming-http2) を参照してください。

### WebSocket ストリーム内のマルチチャネル音声の文字起こし
<a name="channel-id-med-websocket"></a>

WebSocket ストリーム内でスピーカーをパーティション化する場合、次の形式を使用して署名付き URL を作成し、WebSocket リクエストを開始します。`enable-channel-identification` を `true` に、ストリームのチャネル数を `number-of-channels` に指定します。署名付き URI には、アプリケーションと Amazon Transcribe Medical 間の双方向通信を設定するために必要な情報が含まれています。

```
GET wss://transcribestreaming.us-west-2.amazonaws.com:8443/medical-stream-transcription-websocket
?language-code=languageCode
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIAIOSFODNN7EXAMPLE%2F20220208%2Fus-west-2%2Ftranscribe%2Faws4_request
&X-Amz-Date=20220208T235959Z
&X-Amz-Expires=300
&X-Amz-Security-Token=security-token
&X-Amz-Signature=Signature Version 4 signature
&X-Amz-SignedHeaders=host
&media-encoding=flac
&sample-rate=16000
&session-id=sessionId
&enable-channel-identification=true
&number-of-channels=2
```

パラメータ定義は [API リファレンス](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Reference.html)にあります。すべての AWS API オペレーションに共通のパラメータは、[「共通パラメータ](https://docs.aws.amazon.com/transcribe/latest/APIReference/CommonParameters.html)」セクションに記載されています。

WebSocket リクエストの詳細については、「[WebSocket ストリームの設定](streaming-setting-up.md#streaming-websocket)」を参照してください。

### マルチチャネルストリーミング出力
<a name="streaming-med-output"></a>

ストリーミング文字起こし出力は、HTTP/2 リクエストと WebSocket リクエストと同じです。以下に出力例を示します。

```
{
    "resultId": "XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX",
    "startTime": 0.11,
    "endTime": 0.66,
    "isPartial": false,
    "alternatives": [
        {
            "transcript": "Left.",
            "items": [
                {
                    "startTime": 0.11,
                    "endTime": 0.45,
                    "type": "pronunciation",
                    "content": "Left",
                    "vocabularyFilterMatch": false
                },
                {
                    "startTime": 0.45,
                    "endTime": 0.45,
                    "type": "punctuation",
                    "content": ".",
                    "vocabularyFilterMatch": false
                }
            ]
        }
    ],
    "channelId": "ch_0"
}
```

各音声セグメントには、音声が属するチャネルを示す `channelId` フラグがあります。