실시간 스트림에서 화자 파티셔닝 활성화
화자를 분할하고 실시간 스트림에서 화자의 음성에 레이블을 지정하려면 AWS Management 콘솔 또는 스트리밍 요청을 사용하세요. 화자 파티셔닝은 스트림에서 2~5명의 화자에게 가장 적합합니다. Amazon Transcribe Medical은 스트림에서 6명 이상의 화자를 분할할 수 있지만 이 수를 초과하면 파티션의 정확도가 떨어집니다.
HTTP/2 요청을 시작하려면 StartMedicalStreamTranscription API를 사용하세요. WebSocket 요청을 시작하려면 미리 서명된 URI를 사용하세요. URI에는 애플리케이션과 Amazon Transcribe Medical 간에 양방향 통신을 설정하는 데 필요한 정보가 포함되어 있습니다.
AWS Management 콘솔을 사용하여 의사와 환자의 대화를 실시간으로 스트리밍하거나 마이크에 대고 실시간으로 구술을 시작할 수 있습니다.
-
에 로그인합니다..AWS Management 콘솔
-
탐색 창의 Amazon Transcribe Medical에서 실시간 트랜스크립션을 선택합니다.
-
오디오 입력 유형에서 트랜스크립션할 의료 음성 유형을 선택합니다.
-
추가 설정에서 화자 파티셔닝을 선택합니다.
-
스트리밍 시작을 선택하여 실시간 오디오 트랜스크립션을 시작합니다.
-
마이크에 대고 말합니다.
의료 대화의 HTTP/2 스트림에서 화자 파티셔닝을 활성화하려면 StartMedicalStreamTranscription API를 사용하고 다음을 지정하세요.
-
LanguageCode에는 오디오 파일에서 사용하는 언어에 해당하는 언어 코드를 지정합니다. 유효한 값은en-US입니다. -
MediaSampleHertz에서 오디오의 샘플 속도를 지정합니다. -
Specialty에서 제공자의 전문 의료 분야를 지정합니다. -
ShowSpeakerLabel–true
의료 대화를 트랜스크립션하기 위한 HTTP/2 스트림 설정에 대한 자세한 내용은 HTTP/2 스트림 설정 섹션을 참조하세요.
API를 사용하여 WebSocket 스트림에서 화자를 분할하려면 다음 형식을 사용하여 미리 서명된 URL을 만들고 WebSocket 요청을 시작하여 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-
각 Items 객체에는
Transcript필드의 값으로 트랜스크립션된 음성 세그먼트가 포함되어 있습니다.
WebSocket 요청에 대한 자세한 내용은 WebSocket 스트림 설정 섹션을 참조하세요.