적응형 번역 요청
적응형 번역을 요청할 때는 번역할 텍스트와 함께 Cloud Translation이 응답을 맞춤설정하는 데 사용하는 번역 예시를 제공합니다.
프로그래매틱 번역 요청의 경우 데이터 세트에 또는 번역 요청의 일부로 번역 예시를 포함할 수 있습니다. 데이터 세트를 사용할 때 Cloud Translation은 소스 언어 문장과 가장 비슷한 5개의 참조 문장을 자동으로 선택하여 번역을 맞춤 조정합니다. 번역 요청에 참조 문장을 포함하면 Cloud Translation은 이 참조 문장을 모두 사용하여 번역을 맞춤 조정합니다.
시작하기 전에
적응형 번역을 사용하려면 프로젝트에서 Cloud Translation API를 사용 설정하고 인증을 설정해야 합니다. 자세한 내용은 Cloud Translation 설정을 참조하세요.
또한 소스 및 타겟 언어가 적응형 번역에서 지원되는지 확인하세요.
데이터 요구사항 및 권장사항
데이터 세트를 만들거나 Google Cloud 콘솔을 사용하는 경우 TSV 또는 TMX 파일로 번역 예시를 제공해야 합니다. 예시는 원하는 소스 언어와 타겟 언어의 문장 쌍이어야 합니다. 해당 분야의 어휘, 용례, 문법적 특이성을 반영하는 예시를 제공하는 것이 좋습니다. 더 많은 팁은 AutoML Translation 문서에서 데이터 준비를 참조하세요.
데이터는 최소 5개의 문장 쌍을 포함해야 하며 콘솔을 사용할 경우 10,000쌍 이하, API를 사용할 경우 30,000쌍 이하여야 합니다. 세그먼트 쌍의 최대 길이는 총 512자입니다.
제한사항
- 일반 텍스트만 번역할 수 있습니다.
- 한 번에 하나의 타겟 언어로만 번역할 수 있습니다.
- 적응형 번역에는 입력 및 출력 문자 수에 제한이 있습니다. 자세한 내용은 할당량 페이지의 적응형 번역 한도를 참조하세요.
번역 요청
Console
Google Cloud 콘솔을 사용할 때는 번역 예시가 포함된 파일을 선택한 후 번역을 요청합니다. Cloud Translation은 가져온 데이터를 저장하지 않습니다. 영구 데이터 세트 작업을 더 선호하는 경우 API를 사용합니다.
AutoML Translation 콘솔로 이동합니다.
번역 예시를 포함하는 로컬 파일 또는 Cloud Storage의 파일을 선택합니다.
파일을 선택하면 Cloud Translation이 데이터를 기반으로 소스 언어 및 타겟 언어 필드를 설정합니다. 예를 들어, 영어를 포르투갈어 데이터 세트로 가져오는 경우 콘솔을 사용하면 영어 문장만 포르투갈어로 번역할 수 있습니다.
소스 언어 필드에 텍스트를 입력합니다.
적응형 번역에는 입력 및 출력 문자 수에 제한이 있습니다. 자세한 내용은 할당량 페이지의 적응형 번역 한도를 참조하세요.
매개변수를 조정하려면 슬라이더 또는 텍스트 필드를 사용하여 값을 설정합니다.
- 강도 - 토큰 선택의 무작위성 수준을 제어합니다. 강도가 낮을수록 참 또는 정답이 예상됩니다. 강도가 높을수록 보다 다양하거나 예기치 않은 결과가 발생할 수 있습니다.
- 예시 수 - LLM을 표시하기 위해 소스 데이터에서 사용할 예시 수를 설정합니다.
적응형 번역 출력과 함께 기본 Google NMT 모델의 번역을 포함하려면 NMT 모델과 비교를 선택합니다.
번역을 클릭합니다.
잠시 후 Cloud Translation이 타겟 언어 필드에 응답을 반환합니다. Cloud Translation은 출력 글자 수 제한을 초과하는 텍스트를 반환하지 않습니다.
API
API를 사용하여 참조 문장 쌍을 포함하거나 데이터 세트를 지정하여 적응형 번역을 요청합니다.
참조 문장 쌍을 사용한 적응형 번역
번역 요청에 번역 예시를 포함하려면 referenceSentenceConfig
객체의 일부인 referenceSentencePairs
필드에 소스 언어 문장과 타겟 언어 문장 쌍의 예시를 포함하세요. 자세한 내용은 adaptiveMtTranslate 메서드를 참조하세요.
최대 5개의 문장 쌍을 포함할 수 있습니다.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_NUMBER_OR_ID: Google Cloud 프로젝트의 숫자 또는 영숫자 ID
- LOCATION: 번역 요청이 처리되는 리전(예:
us-central1
) - REFERENCE_SOURCE: 참조 문장 쌍에 속하는 소스 언어의 문장
- REFERENCE_TARGET: 참조 문장 쌍에 속하는 타겟 언어 문장
- SOURCE_LANGUAGE: 소스 텍스트의 언어 코드
- TARGET_LANGUAGE: 소스 텍스트를 번역할 타겟 언어의 언어 코드
- SOURCE_TEXT: 번역할 텍스트
HTTP 메서드 및 URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:adaptiveMtTranslate
JSON 요청 본문:
{ "referenceSentenceConfig": { "referenceSentencePairLists": [ { "referenceSentencePairs": [{ "sourceSentence": REFERENCE_SOURCE_1_1, "targetSentence": REFERENCE_TARGET_1_1 }, { "sourceSentence": REFERENCE_SOURCE_1_2, "targetSentence": REFERENCE_SOURCE_1_2 }] } ], "sourceLanguageCode": SOURCE_LANGUAGE, "targetLanguageCode": TARGET_LANGUAGE } "content": ["SOURCE_TEXT"] }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "translations": [ { "translatedText": "TRANSLATED_TEXT" } ], "languageCode": "TARGET_LANGUAGE" }
Java
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Java API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
/** Translates using AdaptiveMt. */ private static void adaptiveMtTranslate( TranslationServiceClient translationServiceClient, String projectId, String sourceLang, String targetLang, Pair<String, String> referencePairs) { ReferenceSentencePairList refList = ReferenceSentencePairList.newBuilder(); for (Pair<String, String> referencePair: referencePairs) { ReferenceSentencePair refPair = ReferenceSentencePair.newBuilder() .setSourceSentence(referencePair.getKey()) .setTargetSentence(referencePair.getValue()); refList.addReferenceSentencePair(refPair); } AdaptiveMtTranslateRequest request = AdaptiveMtTranslateRequest.newBuilder() .setParent(LocationName.of(projectId, "us-central1").toString()) .setSourceLanguageCode(sourceLang) .setTargetLanguageCOde(targetLang) .addReferenceSentencePairLists(refList) .build(); AdaptiveMtTranslateResponse response = translationServiceClient.adaptiveMtTranslate(request); System.out.println("Translating using AdaptiveMt"); System.out.println(response); }
Node.js
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Node.js API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
async function translate() { const request = { parent: `projects/${projectId}/locations/${location}`, referenceSentenceConfig: { referenceSentencePairLists: [ { referenceSentencePairs: [{ sourceSentence: 'Sample reference source 1' targetSentence: 'Sample reference target 1' }, { sourceSentence: 'Sample reference source 2' targetSentence: 'Sample reference target 2' }] } ], sourceLanguageCode: 'en' targetLanguageCode: 'ja' }, content: ['Sample translate query'] } const [response] = await translationClient.adaptiveMtTranslate(request) console.log('Translating') console.log(response) }
Python
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Python API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
def adaptive_mt_translate(): # Create a client client = translate.TranslationServiceClient() # Initialize the request request = translate.AdaptiveMtTranslateRequest( parent="projects/PROJECT_ID/locations/LOCATION", reference_sentence_config=[ "reference_sentence_pair_lists": [ "reference_sentence_pairs": { "source_sentence": 'REFERENCE_SOURCE_1_1' "target_sentence": 'REFERENCE_TARGET_1_1' }, "reference_sentence_pairs": { "source_sentence": 'REFERENCE_SOURCE_1_2' "target_sentence": 'REFERENCE_TARGET_1_2' } ], "source_language_code": 'SOURCE_LANGUAGE' "target_language_code": 'TARGET_LANGUAGE' ], content=["SOURCE_TEXT"] ) # Make the request response = client.adaptive_mt_translate(request) # Handle the response print(response)
데이터 세트를 사용한 적응형 번역
번역에 데이터 세트를 사용하려면 먼저 데이터 세트를 만들고 문장 쌍을 가져옵니다. 데이터 세트가 이미 있는 경우 이를 사용하여 적응형 번역을 요청할 수 있습니다. 데이터 세트는 삭제할 때까지 프로젝트에 유지됩니다.
번역 예시를 가져올 데이터 세트를 만듭니다.
소스 및 타겟 언어는 번역에 사용할 언어와 일치해야 합니다. 자세한 내용은 adaptiveMtDataset.create 메서드를 참조하세요.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_NUMBER_OR_ID: Google Cloud 프로젝트의 숫자 또는 영숫자 ID
- LOCATION: 소스 데이터 세트가 있는 리전(예:
us-central1
) - DATASET_ID: 데이터 세트의 고유 식별자
- DISPLAY_NAME: 데이터 세트를 설명하는 이름
- SOURCE_LANGUAGE: 소스 텍스트의 언어 코드. 지원되는 언어 코드는 지원되는 언어를 참조하세요.
- TARGET_LANGUAGE: 소스 텍스트를 번역할 타겟 언어. 지원되는 언어 코드는 지원되는 언어를 참조하세요.
HTTP 메서드 및 URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets
JSON 요청 본문:
{ "name": "projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID, "display_name": "DISPLAY_NAME", "source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE" }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID", "displayName": "DISPLAY_NAME", "sourceLanguageCode": "SOURCE_LANGUAGE", "targetLanguageCode": "TARGET_LANGUAGE" }
Java
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Java API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
/** Creates an AdaptiveMtDataset. */ private static void createAdaptiveMtDataset( TranslationServiceClient translationServiceClient, String projectName, String datasetName) { String adaptiveMtDatasetName = String.format( "projects/%s/locations/LOCATION/adaptiveMtDatasets/%s", projectName, datasetName); AdaptiveMtDataset adaptiveMtDataset = AdaptiveMtDataset.newBuilder() .setName(adaptiveMtDatasetName) .setDisplayName("DATASET_DISPLAY_NAME") .setSourceLanguageCode("SOURCE_LANGUAGE_CODE") .setTargetLanguageCode("TARGET_LANGUAGE_CODE") .build(); CreateAdaptiveMtDatasetRequest request = CreateAdaptiveMtDatasetRequest.newBuilder() .setParent(LocationName.of("PROJECT_NAME", "LOCATION").toString()) .setAdaptiveMtDataset(adaptiveMtDataset) .build(); AdaptiveMtDataset dataset = translationServiceClient.createAdaptiveMtDataset(request); System.out.println("Created dataset"); System.out.println(dataset); }
Node.js
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Node.js API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
async function createAdaptiveMtDataset() { // Construct request const request = { parent: `projects/${projectId}/locations/${location}`, adaptiveMtDataset: { name: `projects/${projectId}/locations/${location}/adaptiveMtDatasets/${ adaptiveMtDatasetName}`, displayName: 'DATASET_DISPLAY_NAME', sourceLanguageCode: 'SOURCE_LANGUAGE_CODE', targetLanguageCode: 'TARGET_LANGUAGE_CODE', } }; // Run request const [response] = await translationClient.createAdaptiveMtDataset(request); console.log('Created') console.log(response) }
Python
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Python API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
def create_adaptive_mt_dataset(): # Create a client client = translate.TranslationServiceClient() # Initialize request argument(s) adaptive_mt_dataset = translate.AdaptiveMtDataset() adaptive_mt_dataset.name = "projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID" adaptive_mt_dataset.display_name = "DATASET_DISPLAY_NAME" adaptive_mt_dataset.source_language_code = "SOURCE_LANGUAGE_CODE" adaptive_mt_dataset.target_language_code = "TARGET_LANGUAGE_CODE" request = translate.CreateAdaptiveMtDatasetRequest( parent="projects/PROJECT_ID/locations/LOCATION", adaptive_mt_dataset=adaptive_mt_dataset, ) # Make the request response = client.create_adaptive_mt_dataset(request=request) # Handle the response print(response)
데이터 세트를 만든 후에는 TSV 또는 TMX 파일의 변역 예시로 데이터를 채웁니다.
여러 파일의 데이터를 단일 데이터 세트로 가져올 수 있습니다. 자세한 내용은 adaptiveMtDatasets.importAdaptiveMtFile 메서드를 참조하세요.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_NUMBER_OR_ID: Google Cloud 프로젝트의 숫자 또는 영숫자 ID
- LOCATION: 데이터 세트가 있는 리전입니다(예:
us-central1
). - DATASET_ID: 데이터를 가져올 데이터 세트의 고유 식별자입니다.
- GCS_FILE_PATH: Cloud Storage에서 소스 데이터 파일의 경로입니다(예:
gs://example/data.tsv
).
HTTP 메서드 및 URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID:importAdaptiveMtFile
JSON 요청 본문:
{ "gcs_input_source": { "input_uri": "GCS_FILE_PATH" } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "adaptiveMtFile": { "name": "DATASET_NAME", "displayName": "FILE_NAME", "entryCount": TOTAL_ENTRIES } }
Java
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Java API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
/** Imports an AdaptiveMtFile. */ private static String importAdaptiveMtFile( TranslationServiceClient translationServiceClient, String projectId, String datasetId, String gcsUri) { String adaptiveMtDatasetName = String.format( "projects/%s/locations/LOCATION/adaptiveMtDatasets/%s", projectId, datasetId); ImportAdaptiveMtFileRequest importAdaptiveMtFileRequest = ImportAdaptiveMtFileRequest.newBuilder() .setParent(adaptiveMtDatasetName) .setGcsInputSource(GcsInputSource.newBuilder().setInputUri(gcsUri).build()) .build(); ImportAdaptiveMtFileResponse response = translationServiceClient.importAdaptiveMtFile(importAdaptiveMtFileRequest); System.out.println("Importing file"); System.out.println(response); return response.getAdaptiveMtFile().getName(); }
Node.js
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Node.js API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
async function importAdaptiveMtFile() { const request = { parent: `projects/${projectId}/locations/${location}/adaptiveMtDatasets/${ adaptiveMtDatasetName}`, gcsInputSource: {inputUri: gcs_file_uri} } const [response] = await translationClient.importAdaptiveMtFile(request) console.log('Importing file') console.log(response) }
Python
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Python API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
def import_adaptive_mt_file(): # Create a client client = translate.TranslationServiceClient() gcs_input_source = translate.GcsInputSource() gcs_input_source.input_uri = "gs://SOURCE_LOCATION/FILE.tsv" # Initialize the request request = translate.ImportAdaptiveMtFileRequest( parent="projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID", gcs_input_source=gcs_input_source ) # Make the request response = client.import_adaptive_mt_file(request) # Handle the response print(response)
번역할 소스 텍스트와 Cloud Translation에서 번역을 맞춤설정하는 데 사용하는 데이터 세트를 제공하여 적응형 번역을 요청합니다.
Cloud Translation은 데이터 세트의 소스 언어와 타겟 언어를 사용하여 번역에 사용할 언어를 결정합니다. 예를 들어
en
-es
데이터 세트는 텍스트를 영어에서 스페인어로 번역합니다. 자세한 내용은 adaptiveMtTranslate 메서드를 참조하세요.REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_NUMBER_OR_ID: Google Cloud 프로젝트의 숫자 또는 영숫자 ID
- LOCATION: 소스 데이터 세트가 있는 리전(예:
us-central1
) - DATASET_NAME: Cloud Translation이 번역을 맞춤설정하는 데 사용하는 데이터 세트의 이름으로,
projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID
형식입니다. 프로젝트의 모든 데이터세트를 나열하여 데이터 세트 이름을 가져올 수 있습니다. - SOURCE_TEXT: 번역할 텍스트
HTTP 메서드 및 URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:adaptiveMtTranslate
JSON 요청 본문:
{ "dataset": "DATASET_NAME", "content": ["SOURCE_TEXT"] }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "translations": [ { "translatedText": "TRANSLATED_TEXT" } ], "languageCode": "TARGET_LANGUAGE" }
Java
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Java API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
/** Translates using AdaptiveMt. */ private static void adaptiveMtTranslate( TranslationServiceClient translationServiceClient, String projectId, String datasetId) { String adaptiveMtDatasetName = String.format( "projects/%s/locations/LOCATION/adaptiveMtDatasets/%s", projectId, datasetId); AdaptiveMtTranslateRequest request = AdaptiveMtTranslateRequest.newBuilder() .setParent(LocationName.of(projectId, "us-central1").toString()) .setDataset(adaptiveMtDatasetName) .addContent("Sample translation text") .build(); AdaptiveMtTranslateResponse response = translationServiceClient.adaptiveMtTranslate(request); System.out.println("Translating using AdaptiveMt"); System.out.println(response); }
Node.js
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Node.js API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
async function translate() { const request = { parent: `projects/${projectId}/locations/${location}`, dataset: `projects/${projectId}/locations/${location}/adaptiveMtDatasets/${ adaptiveMtDatasetName}`, content: ['Sample translate query'] } const [response] = await translationClient.adaptiveMtTranslate(request) console.log('Translating') console.log(response) }
Python
이 샘플을 사용해 보기 전에 Cloud Translation 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Cloud Translation Python API 참고 문서를 확인하세요.
Cloud Translation에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
def adaptive_mt_translate(): # Create a client client = translate.TranslationServiceClient() # Initialize the request request = translate.AdaptiveMtTranslateRequest( parent="projects/PROJECT_ID/locations/LOCATION", dataset="projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID", content=["Sample translation request"] ) # Make the request response = client.adaptive_mt_translate(request) # Handle the response print(response)
다음 단계
- 데이터 세트 관리(API만 해당)