사용자 정의 모델 작성 및 관리
사용자 정의 모델 관련 작업의 첫 번째 단계는 사용자 정의를 작성하는 것입니다. 사용자 정의가 있으면 메타데이터 및 항목을 조회하거나 업데이트하고 삭제하여(더 이상 필요하지 않은 경우) 모델을 관리할 수 있습니다. 시작하기 전에 사용자 정의 모델에 대한 다음과 같은 일반 사용 정보를 검토하십시오.
사용자 정의에 대한 사용 참고사항
사용자 정의 인터페이스 관련 작업을 수행할 때 다음 가이드라인을 고려하십시오.
사용자 정의 모델의 소유권
사용자 정의 모델은 인증 정보를 사용하여 사용자 정의 음성 모델을 작성하는 Text to Speech 서비스의 인스턴스에서 소유합니다. 임의의 방법으로 사용자 정의 모델 관련 작업을 수행하려면 사용자 정의 인터페이스의 메소드를 사용하여 해당 서비스 인스턴스의 인증 정보를 사용해야 합니다.
Text to Speech 서비스의 동일한 인스턴스를 위해 가져오는 모든 인증 정보는 해당 서비스 인스턴스에 대해 작성된 모든 사용자 정의 모델에 대한 액세스 권한을 공유합니다. 사용자 정의 모델에 대한 액세스 권한을 제한하려면 서비스의 개별 인스턴스를 작성하고 해당 서비스 인스턴스에 대한 인증 정보만 사용하여 모델을 작성하고 모델 관련 작업을 수행하십시오. 기타 서비스 인스턴스에 대한 인증 정보는 사용자 정의 모델에 영향을 줄 수 없습니다.
인증 정보의 소유권을 공유하여 얻을 수 있는 이점은 인증 정보 세트를 취소할 수 있는 것입니다(예: 인증 정보 세트가 손상되는 경우). 그러면 동일한 서비스 인스턴스에 대한 새 인증 정보를 작성하고 계속해서 기존 인증 정보의 소유권을 유지하고 기존 인증 정보로 작성된 사용자 정의 모델에 액세스할 수 있습니다.
정보 보안
서비스를 통해 고객 ID를 사용자 정의 모델에 대해 추가되거나 업데이트되는 데이터와 연관시킬 수 있습니다. 다음 메소드로 X-Watson-Metadata 헤더를 전달하여 고객 ID를 사용자 정의 단어와 연관시킬 수 있습니다. 필요한 경우 DELETE /v1/user_data 메소드를 사용하여 고객 ID와 연관된 데이터를 삭제할 수 있습니다.
POST /v1/customizations/{customization_id}POST /v1/customizations/{customization_id}/wordsPUT /v1/customizations/{customization_id}/words/{word}
또한 Text to Speech 콘솔에서 IBM Cloud 서비스의 인스턴스를 삭제할 경우 해당 서비스와 연관된 모든 데이터도 자동으로 삭제됩니다. 여기에는 모든 사용자 정의 모델 및 단어/변환 쌍이 포함됩니다. 이 데이터는 고객 ID가 데이터와 연관되어 있는지 여부와 관계 없이 자동으로 제거됩니다.
자세한 정보는 정보 보안을 참조하십시오.
요청 로깅 및 데이터 개인정보 보호
IBM Cloud
서비스가 사용자 정의 인터페이스에 대한 호출의 요청 로깅을 처리하는 방법은 요청에 따라 다릅니다.
- 사용자 정의 모델을 빌드하는 데 사용되는 서비스는 데이터(단어 및 변환)를 로그하지 않습니다. 사용자 정의 인터페이스를 사용하여 사용자 정의 모델에서 단어 및 변환을 관리하는 경우
X-Watson-Learning-Opt-Out요청 헤더를 설정할 필요가 없습니다. 훈련 데이터는 서비스의 기본 모델을 개선하는 데 사용되지 않습니다. - 서비스는 사용자 정의 모델이 합성 요청에서 사용될 때 데이터를 로깅합니다. 계정 수준에서 요청 로깅을 해제하거나,
X-Watson-Learning-Opt-Out요청 헤더를true로 설정하여 요청 로깅을 해제할 수 있습니다.
자세한 정보는 요청 로깅을 참조하십시오.
사용자 정의 모델 작성
새 사용자 정의 모델을 작성하려면 POST /v1/customizations 메소드를 사용하십시오. 처음 새 사용자 모델을 작성할 때 새 모델은 항상 비어 있습니다. 다른 메소드를 사용하여 해당 모델을 단어/변환 쌍으로 채워야 합니다. 새 사용자 정의 모델은 인증 정보를 사용하여 해당 모델을 작성하는 서비스 인스턴스가 소유합니다. 자세한 정보는 사용자 정의 모델의 소유권을
참조하십시오.
POST /v1/customizations 요청의 본문을 사용하여 다음 속성을 JSON 오브젝트로 전달하십시오.
name(필수 문자열)- 새 사용자 정의 모델의 사용자 정의 이름입니다. 사용자 지정 모델의 언어와 일치하고 모델의 도메인을 설명하는 현지화된 이름을 사용하십시오(예:
Medical custom model또는Legal custom model).- 이름에는 최대 256자를 입력할 수 있습니다.
- 이름에 백슬래시, 슬래시, 콜론, 등호, 앰퍼샌드, 물음표를 사용하지 마십시오.
- 소유하고 있는 모든 사용자 지정 모델 중에서 고유한 이름을 사용합니다.
language(선택적 문자열)- 사용자 정의 모델의 언어의 ID입니다. 기본값은
en-US(미국 영어)입니다. 사용자 정의 모델은 지정된 언어로 사용 가능한 모든 음성과 함께 사용할 수 있습니다. 예를 들어,en-US언어에 맞게 작성된 사용자 정의 모델은 미국 영어 음성으로 사용될 수 있습니다. 그러나en-GB음성으로는 사용할 수 없습니다. description(선택적 문자열)- 새 사용자 지정 모델에 대한 권장 설명입니다.
- 사용자 정의 모델의 언어와 일치하는 현지화된 설명을 사용하십시오.
- 설명에는 최대 128자까지 입력할 수 있습니다.
다음 예제는 Test 이라는 새 미국 영어 사용자 지정 모델을 만드는 예제입니다. 필수 Content-Type 헤더는 입력 유형을 application/json 으로 식별합니다.
IBM Cloud
curl -X POST -u "apikey:{apikey}" \
--header "Content-Type: application/json" \
--data "{\"name\":\"Test\", \"language\":\"en-US\", \"description\":\"Customization test\"}" \
"{url}/v1/customizations"
IBM Cloud Pak for Data IBM Software Hub
curl -X POST \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--data "{\"name\":\"Test\", \"language\":\"en-US\", \"description\":\"Customization test\"}" \
"{url}/v1/customizations"
메소드는 새 모델의 GUID(Globally Unique Identifier)가 포함된 JSON 오브젝트를 리턴합니다. 모델에 액세스하기 위해 GUID는 모델 및 단어의 조회, 수정 및 사용과 같은 호출에서 customization_id 매개변수로 사용됩니다.
{
"customization_id": "64f4807f-a5f1-5867-924f-7bba1a84fe97"
}
사용자 정의 모델 조회
기존 사용자 정의 모델에 대한 정보를 조회하려면 GET /v1/customizations/{customization_id} 메소드를 사용하십시오. 이는 메타데이터 및 단어/변환 쌍과 포함된 사용자 정의 프롬프트를 포함하여 모델에 관한 모든 정보를 볼 수 있는 가장 직접적인 방법입니다.
IBM Cloud
curl -X GET -u "apikey:{apikey}" \
"{url}/v1/customizations/{customization_id}"
IBM Cloud Pak for Data IBM Software Hub
curl -X GET \
--header "Authorization: Bearer {token}" \
"{url}/v1/customizations/{customization_id}"
메소드는 다음 양식의 JSON 오브젝트로 결과를 리턴합니다.
{
"customization_id": "64f4807f-a5f1-5867-924f-7bba1a84fe97",
"owner": "297cfd08-330a-22ba-93ce-1a73f454dd98",
"created": "2016-07-15T18:12:31.743Z",
"name": "Test",
"language": "en-US",
"description": "Customization test",
"last_modified": "2016-07-15T18:12:31.743Z",
"words": [],
"prompts": []
}
모델이 작성되었을 때 입력된 정보 외에도 출력에는 모델 소유자의 인증 정보, 모델의 언어 및 모델이 작성되고 마지막으로 수정된 시간이 포함됩니다. 모델이 작성 이후에 수정되지 않았으므로 예에서 두 가지 시간이 동일합니다.
출력에는 모델의 사용자 정의 단어가 나열된 words 배열과 모델의 사용자 정의 프롬프트가 나열된 prompts 배열도 포함됩니다. 모델이 아직 업데이트되지 않았기 때문에 예제의 배열이 비어 있습니다.
모든 사용자 정의 모델 조회
소유하는 모든 사용자 정의 모델에 대한 정보를 보려면 GET /v1/customizations 메소드를 참조하십시오.
IBM Cloud
curl -X GET -u "apikey:{apikey}" \
"{url}/v1/customizations"
IBM Cloud Pak for Data IBM Software Hub
curl -X GET \
--header "Authorization: Bearer {token}" \
"{url}/v1/customizations"
메소드는 요청자가 소유하는 사용자 정의 모델마다 오브젝트를 포함하는 JSON 배열을 리턴합니다. 소유자의 인증 정보는 owner 필드에 표시됩니다.
{
"customizations": [
{
"customization_id": "64f4807f-a5f1-5867-924f-7bba1a84fe97",
"owner": "297cfd08-330a-22ba-93ce-1a73f454dd98",
"created": "2016-07-15T19:15:17.926Z",
"name": "Test",
"language": "en-US",
"description": "Customization test",
"last_modified": "2016-07-15T19:15:17.926Z"
},
{
"customization_id": "63f5807f-a4f2-5766-914e-7abb1a84fe97",
"owner": "297cfd08-330a-22ba-93ce-1a73f454dd98",
"created": "2016-07-15T18:12:31.743Z",
"name": "Test Two",
"language": "en-US",
"description": "Second customization test",
"last_modified": "2016-07-15T18:23:50.912Z"
}
]
}
첫 번째 모델의 created 및 last_modified 시간은 아직 업데이트되지 않았기 때문에 동일합니다. 두 번째 모델의 시간이 다르며 초기 작성 이후에 시간이 변경되었음을 표시합니다. 정보에는 모델에 대해 정의된 사용자 정의 항목이 포함되지 않습니다.
사용자 정의 모델 업데이트
사용자 정의 모델에 대한 정보를 업데이트하려면 POST /v1/customizations/{customization_id} 메소드를 사용하십시오. JSON 오브젝트로 업데이트를 지정합니다. 이름 및 설명의 수정 외에도 이 메소드를 사용하여 모델에서 단어/변환 쌍을 추가하거나 업데이트할 수도 있습니다. 모델의 언어가 작성되면 변경할 수 없습니다.
다음 예에서는 사용자 정의 모델의 이름 및 설명을 업데이트합니다. 비어 있는 JSON 배열은 모델의 항목이 변경되지 않았음을 나타내는 words 매개변수와 함께 전송됩니다.
IBM Cloud
curl -X POST -u "apikey:{apikey}" \
--header "Content-Type: application/json" \
--data "{\"name\":\"Test Update\", \"description\":\"Customization test update\", \"words\":[]}" \
"{url}/v1/customizations/{customization_id}"
IBM Cloud Pak for Data IBM Software Hub
curl -X POST \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--data "{\"name\":\"Test Update\", \"description\":\"Customization test update\", \"words\":[]}" \
"{url}/v1/customizations/{customization_id}"
모델에서 단어 업데이트에 대한 자세한 정보는 사용자 정의 모델에 여러 단어 추가를 참조하십시오.
사용자 정의 모델 삭제
더 이상 필요하지 않은 사용자 정의 모델을 삭제하려면 DELETE /v1/customizations/{customization_id} 메소드를 사용하십시오. 삭제는 영구적이므로 모델이 더 이상 필요하지 않은 경우에만 이 메소드를 사용하십시오.
IBM Cloud
curl -X DELETE -u "apikey:{apikey}" \
"{url}/v1/customizations/{customization_id}"
IBM Cloud Pak for Data IBM Software Hub
curl -X DELETE \
--header "Authorization: Bearer {token}" \
"{url}/v1/customizations/{customization_id}"