Traducir texto con la traducción adaptable
Cuando solicitas una traducción adaptativa, proporcionas el texto que quieres traducir y ejemplos de traducciones que Cloud Translation usa para personalizar sus respuestas.
En las solicitudes de traducción programáticas, puedes incluir traducciones de ejemplo en un conjunto de datos o como parte de tu solicitud de traducción. Cuando usas un conjunto de datos, Cloud Translation selecciona automáticamente cinco frases de referencia que son las más similares a tu frase de origen para personalizar las traducciones. Si incluyes frases de referencia en tu solicitud de traducción, Cloud Translation las usará todas para personalizar la traducción.
Antes de empezar
Para usar la traducción adaptativa, debes habilitar la API Cloud Translation en tu proyecto y configurar la autenticación. Para obtener más información, consulta la sección Configuración de Cloud Translation.
Además, comprueba que los idiomas de origen y de destino sean compatibles con la traducción adaptativa.
Requisitos y sugerencias de datos
Si creas un conjunto de datos o usas la Google Cloud consola, debes proporcionar traducciones de ejemplo en un archivo TSV o TMX. Los ejemplos deben ser pares de frases en los idiomas de origen y de destino que quieras usar. Te recomendamos que proporciones ejemplos que abarquen el vocabulario, el uso y las peculiaridades gramaticales de tu dominio. Para ver más consejos, consulta Preparación de datos en la documentación de AutoML Translation.
Sus datos deben incluir al menos 5 pares de frases y no más de 10.000 pares si usa la consola, o 30.000 pares si usa la API. Un par de segmentos puede tener como máximo 512 caracteres (en total).
Limitaciones
- Solo puedes traducir a un idioma de destino a la vez.
- La traducción adaptativa tiene límites en el número de caracteres de entrada y salida. Para obtener más información, consulta los límites de traducción adaptativa en la página Cuotas.
Solicitar traducciones
En el caso de las traducciones, la entrada puede ser texto sin formato o HTML. Cloud Translation no traduce las etiquetas HTML de la entrada, solo el texto que aparece entre las etiquetas. El resultado conserva las etiquetas HTML (sin traducir) y el texto traducido entre las etiquetas en la medida de lo posible debido a las diferencias entre los idiomas de origen y de destino.
Consola
Cuando uses la Google Cloud consola, selecciona un archivo que incluya tus traducciones de ejemplo y, a continuación, solicita las traducciones. Cloud Translation no almacena los datos que importas. Si prefieres trabajar con conjuntos de datos persistentes, usa la API.
Ve a la consola de AutoML Translation.
Selecciona un archivo local o un archivo de Cloud Storage que contenga tus traducciones de ejemplo.
Después de seleccionar un archivo, Cloud Translation define los campos Idioma de origen e Idioma de destino en función de los datos. Por ejemplo, si importas un conjunto de datos del inglés al portugués, la consola te permite traducir solo las frases en inglés al portugués.
Introduce texto en el campo del idioma de origen.
La traducción adaptativa tiene límites en el número de caracteres de entrada y salida. Para obtener más información, consulta los límites de traducción adaptativa en la página Cuotas.
Para ajustar los parámetros, usa los controles deslizantes o los campos de texto para definir los valores:
- Temperatura: controla el grado de aleatoriedad en la selección de tokens. Si la temperatura es más baja, se espera una respuesta verdadera o correcta. Si la temperatura es más alta, los resultados serán más diversos o inesperados.
- Número de ejemplos: define el número de ejemplos que se usarán de tus datos de origen para hacer peticiones al LLM.
Selecciona Comparar con el modelo de NMT para incluir las traducciones del modelo de NMT de Google predeterminado junto con el resultado de la traducción adaptativa.
Haz clic en Traducir.
En unos instantes, Cloud Translation devuelve una respuesta en el campo del idioma de destino. Cloud Translation no devuelve ningún texto que supere el límite de caracteres de salida.
API
Usa la API para solicitar traducciones adaptativas incluyendo pares de frases de referencia o especificando un conjunto de datos.
- Traducciones adaptativas con pares de frases de referencia
- Traducciones adaptativas con un conjunto de datos
Traducciones adaptables con pares de oraciones de referencia
Para incluir traducciones de ejemplo en tus solicitudes de traducción, incluye los pares de frases de origen y de destino de ejemplo en el campo referenceSentencePairs
, que forma parte del objeto referenceSentenceConfig
. Para obtener más información, consulta el método adaptiveMtTranslate.
Puedes incluir hasta cinco pares de frases.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_NUMBER_OR_ID: el ID numérico o alfanumérico de tu Google Cloud proyecto
- LOCATION: la región en la que se gestiona tu solicitud de traducción, como
us-central1
. - REFERENCE_SOURCE: frase en el idioma de origen que forma parte de un par de frases de referencia.
- REFERENCE_TARGET: frase en el idioma de destino que forma parte de un par de frases de referencia.
- SOURCE_LANGUAGE: el código de idioma del texto de origen.
- TARGET_LANGUAGE: el código de idioma del idioma al que se va a traducir el texto de origen.
- SOURCE_TEXT: el texto que se va a traducir.
- MIME_TYPE (Opcional): El formato del texto de origen, como
text/html
otext/plain
. De forma predeterminada, el tipo MIME estext/plain
.
Método HTTP y URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:adaptiveMtTranslate
Cuerpo JSON de la solicitud:
{ "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"], "mimeType": "MIME_TYPE" }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "translations": [ { "translatedText": "TRANSLATED_TEXT" } ], "languageCode": "TARGET_LANGUAGE" }
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
/** 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
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
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
Antes de probar este ejemplo, sigue las Python instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Python Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
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)
Traducciones adaptables con un conjunto de datos
Para usar un conjunto de datos con traducciones, primero debes crear un conjunto de datos e importar pares de frases. Si ya tiene un conjunto de datos, puede solicitar traducciones adaptativas con él. El conjunto de datos permanece en tu proyecto hasta que lo elimines.
Crea un conjunto de datos en el que importar las traducciones de ejemplo.
Los idiomas de origen y de destino deben coincidir con los idiomas que quieras usar en tus traducciones. Para obtener más información, consulta el método adaptiveMtDataset.create.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_NUMBER_OR_ID: el ID numérico o alfanumérico de tu Google Cloud proyecto
- LOCATION: la región en la que se encuentra el conjunto de datos de origen, como
us-central1
. - DATASET_ID: identificador único de tu conjunto de datos.
- DISPLAY_NAME: un nombre descriptivo para el conjunto de datos.
- SOURCE_LANGUAGE: código de idioma del texto de entrada. Para ver los códigos de idioma admitidos, consulta Idiomas admitidos.
- TARGET_LANGUAGE: el idioma de destino al que se traducirá el texto de entrada. Para ver los códigos de idioma admitidos, consulta Idiomas admitidos.
Método HTTP y URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets
Cuerpo JSON de la solicitud:
{ "name": "projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID, "display_name": "DISPLAY_NAME", "source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE" }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID", "displayName": "DISPLAY_NAME", "sourceLanguageCode": "SOURCE_LANGUAGE", "targetLanguageCode": "TARGET_LANGUAGE" }
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
/** 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
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
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
Antes de probar este ejemplo, sigue las Python instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Python Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
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)
Después de crear un conjunto de datos, rellénalo con traducciones de ejemplo de un archivo TSV o TMX.
Puedes importar datos de varios archivos en un solo conjunto de datos. Para obtener más información, consulta el método adaptiveMtDatasets.importAdaptiveMtFile.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_NUMBER_OR_ID: el ID numérico o alfanumérico de tu Google Cloud proyecto
- LOCATION: la región en la que se encuentra tu conjunto de datos, como
us-central1
. - DATASET_ID: identificador único del conjunto de datos en el que se van a importar los datos.
- GCS_FILE_PATH: ruta al archivo de datos de origen en
Cloud Storage, como
gs://example/data.tsv
.
Método HTTP y URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID:importAdaptiveMtFile
Cuerpo JSON de la solicitud:
{ "gcs_input_source": { "input_uri": "GCS_FILE_PATH" } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "adaptiveMtFile": { "name": "DATASET_NAME", "displayName": "FILE_NAME", "entryCount": TOTAL_ENTRIES } }
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
/** 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
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
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
Antes de probar este ejemplo, sigue las Python instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Python Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
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)
Solicita una traducción adaptativa proporcionando el texto de origen que quieres traducir y el conjunto de datos que Cloud Translation utiliza para personalizar la traducción.
Cloud Translation usa los idiomas de origen y de destino del conjunto de datos para determinar qué idiomas debe usar en la traducción. Por ejemplo, un conjunto de datos de
en
aes
traduce texto del inglés al español. Para obtener más información, consulta el método adaptiveMtTranslate.REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_NUMBER_OR_ID: el ID numérico o alfanumérico de tu Google Cloud proyecto
- LOCATION: la región en la que se encuentra el conjunto de datos de origen, como
us-central1
. - DATASET_NAME: nombre del conjunto de datos que usa Cloud Translation para personalizar tus traducciones, con el formato
projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID
. Para obtener los nombres de los conjuntos de datos, consulta todos los conjuntos de datos de tu proyecto. - SOURCE_TEXT: el texto que se va a traducir.
- MIME_TYPE (Opcional): El formato del texto de origen, como
text/html
otext/plain
. De forma predeterminada, el tipo MIME estext/plain
.
Método HTTP y URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:adaptiveMtTranslate
Cuerpo JSON de la solicitud:
{ "dataset": "DATASET_NAME", "content": ["SOURCE_TEXT"], "mimeType": "MIME_TYPE" }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "translations": [ { "translatedText": "TRANSLATED_TEXT" } ], "languageCode": "TARGET_LANGUAGE" }
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
/** 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
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
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
Antes de probar este ejemplo, sigue las Python instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Python Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
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)