Custom Speech용 학습 및 테스트 데이터 세트 업로드
음성 인식의 정확도를 테스트하거나 사용자 지정 모델을 학습하는 경우 오디오 또는 텍스트 데이터가 필요합니다. 모델 테스트 또는 학습에 지원되는 데이터 형식에 대한 자세한 내용은 데이터 세트 학습 및 테스트를 참조하세요.
팁
온라인 대화 기록 편집기를 사용하여 레이블이 지정된 오디오 데이터 세트를 만들고 편집할 수도 있습니다.
데이터 세트 업로드
Speech Studio에서 사용자 고유의 데이터 세트를 업로드하려면 다음 단계를 수행합니다.
Speech Studio에 로그인합니다.
Custom Speech> 프로젝트 이름 >음성 데이터 세트>데이터 업로드를 선택합니다.
학습 데이터 또는 테스트 데이터 탭을 선택합니다.
데이터 세트 형식을 선택한 후, 다음을 선택합니다.
데이터 세트 위치를 지정한 후, 다음을 선택합니다. 로컬 파일을 선택하거나 Azure Blob URL과 같은 원격 위치를 입력할 수 있습니다. 원격 위치를 선택하고 신뢰할 수 있는 Azure 서비스 보안 메커니즘을 사용하지 않는 경우, 원격 위치는 간단한 익명 GET 요청으로 검색할 수 있는 URL이어야 합니다. 예를 들어 SAS URL 또는 공개적으로 액세스할 수 있는 URL입니다. 추가 권한을 부여해야 하거나 사용자 상호 작용이 필요한 URL은 지원되지 않습니다.
참고 항목
Azure Blob URL을 사용하는 경우 신뢰할 수 있는 Azure 서비스 보안 메커니즘을 사용하여 데이터 세트 파일의 최대 보안을 보장할 수 있습니다. 데이터 세트 파일의 일반 스토리지 계정 URL 및 Batch 대화 내용 기록에 대해 동일한 기술을 사용합니다. 자세한 내용은 여기를 참조하세요.
데이터 세트 이름 및 설명을 입력한 후, 다음을 선택합니다.
설정을 검토한 다음, 저장 후 닫기를 선택합니다.
데이터 세트를 업로드한 후 사용자 지정 모델 학습 페이지로 이동하여 사용자 지정 모델을 학습시킵니다.
Speech CLI 및 음성 텍스트 변환 REST API를 사용하면 Speech Studio와 달리 업로드할 때 테스트용 또는 학습용 데이터 세트인지 여부를 선택하지 않습니다. 모델을 학습시키거나 테스트를 실행할 때 데이터 세트를 사용하는 방법을 지정합니다.
데이터 세트가 테스트용인지 학습용인지 여부를 지정하지 않지만 데이터 세트 종류는 지정해야 합니다. 데이터 세트 종류는 만들어지는 데이터 세트 형식을 결정하는 데 사용됩니다. 경우에 따라 데이터 세트 종류는 테스트 또는 학습에만 사용되지만 이에 대한 종속성을 사용하면 안 됩니다. Speech CLI 및 REST API kind
값은 다음 표에서 설명한 대로 Speech Studio의 옵션에 해당합니다.
CLI 및 API 종류 | Speech Studio 옵션 |
---|---|
음향 | 학습 데이터: 오디오 + 휴먼 레이블 대화 기록 테스트 데이터: 대화 기록(자동 오디오 합성) 테스트 데이터: 오디오 + 휴먼 레이블 대화 기록 |
AudioFiles | 테스트 데이터: 오디오 |
언어 | 학습 데이터: 일반 텍스트 |
LanguageMarkdown | 학습 데이터: markdown 형식의 구조적 텍스트 |
발음 | 학습 데이터: 발음 |
OutputFormatting | 학습 데이터: 출력 형식 |
Important
Speech CLI 또는 REST API를 사용하여 데이터 파일을 직접 업로드하지는 않습니다. 먼저 Speech CLI 또는 REST API에서 액세스할 수 있는 URL에 학습 또는 테스트 데이터 세트 파일을 저장합니다. 데이터 파일을 업로드한 후 Speech CLI 또는 REST API를 사용하여 사용자 지정 음성 테스트 또는 학습을 위한 데이터 세트를 만들 수 있습니다.
데이터 세트를 만들고 기존 프로젝트에 연결하려면 spx csr dataset create
명령을 사용합니다. 다음 지침에 따라 요청 매개 변수를 생성합니다.
project
매개 변수를 기존 프로젝트의 ID로 설정합니다. Speech Studio에서도 데이터 세트를 확인, 관리할 수 있도록 이 매개 변수를 사용하는 것이 좋습니다.spx csr project list
명령을 실행하여 사용 가능한 프로젝트를 가져올 수 있습니다.필수
kind
매개 변수를 설정합니다. 학습 데이터 세트 종류에 사용할 수 있는 값 집합은 Acoustic, AudioFiles, Language, LanguageMarkdown 및 Pronunciation입니다.필수
contentUrl
매개 변수를 설정합니다. 이 매개 변수는 데이터 세트의 위치입니다. 신뢰할 수 있는 Azure 서비스 보안 메커니즘을 사용하지 않는 경우(다음 참고 참조)contentUrl
매개 변수는 간단한 익명 GET 요청으로 검색할 수 있는 URL이어야 합니다. 예를 들어 SAS URL 또는 공개적으로 액세스할 수 있는 URL입니다. 추가 권한을 부여해야 하거나 사용자 상호 작용이 필요한 URL은 지원되지 않습니다.참고 항목
Azure Blob URL을 사용하는 경우 신뢰할 수 있는 Azure 서비스 보안 메커니즘을 사용하여 데이터 세트 파일의 최대 보안을 보장할 수 있습니다. 데이터 세트 파일의 일반 스토리지 계정 URL 및 Batch 대화 내용 기록에 대해 동일한 기술을 사용합니다. 자세한 내용은 여기를 참조하세요.
필수
language
매개 변수를 설정합니다. 데이터 세트 로캘은 프로젝트의 로캘과 일치해야 합니다. 로캘은 나중에 변경할 수 없습니다. Speech CLIlanguage
매개 변수는 JSON 요청 및 응답의locale
속성에 해당합니다.필수
name
매개 변수를 설정합니다. 이 매개 변수는 Speech Studio에 표시되는 이름입니다. Speech CLIname
매개 변수는 JSON 요청 및 응답의displayName
속성에 해당합니다.
다음은 데이터 세트를 만들고 기존 프로젝트에 연결하는 Speech CLI 명령 예제는 다음과 같습니다.
spx csr dataset create --api-version v3.2 --kind "Acoustic" --name "My Acoustic Dataset" --description "My Acoustic Dataset Description" --project YourProjectId --content YourContentUrl --language "en-US"
응답 본문은 다음 형식으로 표시되어야 합니다.
{
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23",
"kind": "Acoustic",
"links": {
"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23/files"
},
"project": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
},
"properties": {
"textNormalizationKind": "Default",
"acceptedLineCount": 2,
"rejectedLineCount": 0,
"duration": "PT59S"
},
"lastActionDateTime": "2024-07-14T17:36:30Z",
"status": "Succeeded",
"createdDateTime": "2024-07-14T17:36:14Z",
"locale": "en-US",
"displayName": "My Acoustic Dataset",
"description": "My Acoustic Dataset Description",
"customProperties": {
"PortalAPIVersion": "3"
}
}
응답 본문의 최상위 self
속성은 데이터 세트의 URI입니다. 이 URI를 사용하여 데이터 세트의 프로젝트 및 파일에 대한 세부 정보를 가져옵니다. 또한 이 URI를 사용하여 데이터 세트를 업데이트하거나 삭제합니다.
데이터 세트와 관련된 Speech CLI 도움말을 보려면 다음 명령을 실행합니다.
spx help csr dataset
Speech CLI 및 음성 텍스트 변환 REST API를 사용하면 Speech Studio와 달리 업로드할 때 테스트용 또는 학습용 데이터 세트인지 여부를 선택하지 않습니다. 모델을 학습시키거나 테스트를 실행할 때 데이터 세트를 사용하는 방법을 지정합니다.
데이터 세트가 테스트용인지 학습용인지 여부를 지정하지 않지만 데이터 세트 종류는 지정해야 합니다. 데이터 세트 종류는 만들어지는 데이터 세트 형식을 결정하는 데 사용됩니다. 경우에 따라 데이터 세트 종류는 테스트 또는 학습에만 사용되지만 이에 대한 종속성을 사용하면 안 됩니다. Speech CLI 및 REST API kind
값은 다음 표에서 설명한 대로 Speech Studio의 옵션에 해당합니다.
CLI 및 API 종류 | Speech Studio 옵션 |
---|---|
음향 | 학습 데이터: 오디오 + 휴먼 레이블 대화 기록 테스트 데이터: 대화 기록(자동 오디오 합성) 테스트 데이터: 오디오 + 휴먼 레이블 대화 기록 |
AudioFiles | 테스트 데이터: 오디오 |
언어 | 학습 데이터: 일반 텍스트 |
LanguageMarkdown | 학습 데이터: markdown 형식의 구조적 텍스트 |
발음 | 학습 데이터: 발음 |
OutputFormatting | 학습 데이터: 출력 형식 |
Important
Speech CLI 또는 REST API를 사용하여 데이터 파일을 직접 업로드하지는 않습니다. 먼저 Speech CLI 또는 REST API에서 액세스할 수 있는 URL에 학습 또는 테스트 데이터 세트 파일을 저장합니다. 데이터 파일을 업로드한 후 Speech CLI 또는 REST API를 사용하여 사용자 지정 음성 테스트 또는 학습을 위한 데이터 세트를 만들 수 있습니다.
데이터 세트를 만들고 기존 프로젝트에 연결하려면 음성 텍스트 변환 REST API의 Datasets_Create 작업을 사용합니다. 다음 지침에 따라 요청 본문을 생성합니다.
project
속성을 기존 프로젝트의 URI로 설정합니다. Speech Studio에서도 데이터 세트를 확인, 관리할 수 있도록 이 속성을 사용하는 것이 좋습니다. Projects_List 요청을 수행하여 사용 가능한 프로젝트를 가져올 수 있습니다.필수
kind
속성을 설정합니다. 학습 데이터 세트 종류에 사용할 수 있는 값 집합은 Acoustic, AudioFiles, Language, LanguageMarkdown 및 Pronunciation입니다.필수
contentUrl
속성을 설정합니다. 이 속성은 데이터 세트의 위치입니다. 신뢰할 수 있는 Azure 서비스 보안 메커니즘을 사용하지 않는 경우(다음 참고 참조)contentUrl
매개 변수는 간단한 익명 GET 요청으로 검색할 수 있는 URL이어야 합니다. 예를 들어 SAS URL 또는 공개적으로 액세스할 수 있는 URL입니다. 추가 권한을 부여해야 하거나 사용자 상호 작용이 필요한 URL은 지원되지 않습니다.참고 항목
Azure Blob URL을 사용하는 경우 신뢰할 수 있는 Azure 서비스 보안 메커니즘을 사용하여 데이터 세트 파일의 최대 보안을 보장할 수 있습니다. 데이터 세트 파일의 일반 스토리지 계정 URL 및 Batch 대화 내용 기록에 대해 동일한 기술을 사용합니다. 자세한 내용은 여기를 참조하세요.
필수
locale
속성을 설정합니다. 데이터 세트 로캘은 프로젝트의 로캘과 일치해야 합니다. 로캘은 나중에 변경할 수 없습니다.필수
displayName
속성을 설정합니다. 이 속성은 Speech Studio에 표시되는 이름입니다.
다음 예제와 같이 URI를 사용하여 HTTP POST 요청을 만듭니다. YourSubscriptionKey
를 Speech 리소스 키로 바꾸고, YourServiceRegion
을 Speech 리소스 영역으로 바꾸고, 앞에서 설명한 대로 요청 본문 속성을 설정합니다.
curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
"kind": "Acoustic",
"displayName": "My Acoustic Dataset",
"description": "My Acoustic Dataset Description",
"project": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
},
"contentUrl": "https://contoso.com/mydatasetlocation",
"locale": "en-US",
}' "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/datasets"
응답 본문은 다음 형식으로 표시되어야 합니다.
{
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23",
"kind": "Acoustic",
"links": {
"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23/files"
},
"project": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
},
"properties": {
"textNormalizationKind": "Default",
"acceptedLineCount": 2,
"rejectedLineCount": 0,
"duration": "PT59S"
},
"lastActionDateTime": "2024-07-14T17:36:30Z",
"status": "Succeeded",
"createdDateTime": "2024-07-14T17:36:14Z",
"locale": "en-US",
"displayName": "My Acoustic Dataset",
"description": "My Acoustic Dataset Description",
"customProperties": {
"PortalAPIVersion": "3"
}
}
응답 본문의 최상위 self
속성은 데이터 세트의 URI입니다. 이 URI를 사용하여 데이터 세트의 프로젝트 및 파일에 대한 세부 정보를 가져옵니다. 또한 이 URI를 사용하여 데이터 세트를 업데이트하거나 삭제합니다.
Important
REST API 또는 Speech CLI를 이용해 사용자 지정 모델을 학습하고 테스트하기 위해 데이터 세트를 Custom Speech 프로젝트에 연결할 필요는 없습니다. 그러나 데이터 세트가 프로젝트에 연결되지 않으면 Speech Studio에서 해당 데이터 세트를 학습 또는 테스트용으로 선택할 수 없습니다.