Solicitar tradução adaptativa

Ao solicitar uma tradução adaptativa, você fornece o texto a ser traduzido e exemplos de traduções que o Cloud Translation usa para personalizar as respostas.

Para solicitações de tradução programática, é possível incluir traduções de exemplo em um conjunto de dados ou como parte de uma solicitação de tradução. Ao usar um conjunto de dados, O Cloud Translation seleciona automaticamente cinco frases de referência mais semelhante à frase de origem para personalizar as traduções. Se você incluir frases de referência na sua solicitação de tradução, o Cloud Translation usará todos um deles para personalizar a tradução.

Antes de começar

Para usar a tradução adaptável, ative a API Cloud Translation no projeto e configure a autenticação. Para mais informações, consulte a Configuração do Cloud Translation.

Além disso, confira se os idiomas de origem e de destino são compatíveis com a tradução adaptativa.

Requisitos e sugestões de dados

Se você criar um conjunto de dados ou usar o console do Google Cloud, forneça exemplos de traduções em um arquivo TSV ou TMX. Os exemplos precisam ser pares de sentenças nos idiomas de origem e de destino. Recomendamos que você forneça exemplos que abordem o vocabulário, o uso e as peculiaridades gramaticais do seu domínio. Para mais dicas, consulte Preparação de dados na documentação do AutoML Translation.

Os dados precisam incluir entre 5 pares de frases e 10.000 pares se você usar o console e no máximo 30.000 se usar a API. Um par de segmentos pode ter no máximo 512 caracteres (total).

Limitações

  • Só é possível traduzir textos simples.
  • É possível traduzir para apenas um idioma de destino por vez.
  • A tradução adaptável tem limites no número de caracteres de entrada e saída. Para ver mais informações, consulte os limites de tradução adaptativa na página "Cotas".

Solicitar traduções

Console

Ao usar o console do Google Cloud, selecione o arquivo que inclui suas traduções de exemplo e, em seguida, solicite as traduções. O Cloud Translation não armazena os dados importados. Caso prefira trabalhar com conjuntos de dados persistentes, use a API.

  1. Acesse o console do AutoML Translation.

    Acesse a página Tradução adaptável

  2. Selecione um arquivo local ou um arquivo no Cloud Storage que contenha as traduções de exemplo.

    Depois que você seleciona um arquivo, o Cloud Translation define os campos Idioma de origem e Idioma de destino com base nos seus dados. Por exemplo, se você importar um conjunto de dados do inglês para o português, o console permitirá que você traduza apenas frases do inglês para o português.

  3. Digite o texto no campo "Idioma de origem".

    A tradução adaptativa tem limites quanto ao número de caracteres de entrada e saída. Para ver mais informações, consulte os limites de tradução adaptativa na página "Cotas".

  4. Para ajustar os parâmetros, use os controles deslizantes ou os campos de texto para definir os valores:

    • Temperatura: controla o grau de aleatoriedade na seleção do token Para temperaturas mais baixas, espere uma resposta verdadeira ou correta. Para temperaturas mais altas, espere resultados mais diversos ou inesperados.
    • Número de exemplos: define o número de exemplos a serem usados dos dados de origem para solicitar o LLM.
  5. Selecione Comparar com o modelo de NMT para incluir traduções do modelo de NMT padrão do Google com a saída de tradução adaptável.

  6. Clique em Traduzir.

    Em alguns instantes, o Cloud Translation retorna uma resposta no campo de idioma de destino. O Cloud Translation não retorna nenhum texto além do limite de caracteres de saída.

API

Usar a API para solicitar traduções adaptáveis incluindo uma frase de referência ou especificando um conjunto de dados.

Traduções adaptáveis com pares de frases de referência

Para incluir exemplos de traduções nas suas solicitações de tradução, inclua o exemplo de pares de sentenças de origem e destino no referenceSentencePairs que faz parte do objeto referenceSentenceConfig. Para saber mais, consulte o método adaptiveMtTranslate. Você pode incluir até cinco pares de frases.

REST

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_NUMBER_OR_ID: o ID numérico ou alfanumérico do projeto do Google Cloud
  • LOCATION: a região onde sua solicitação de tradução é processada. como us-central1.
  • REFERENCE_SOURCE: uma frase no idioma de origem que está parte de um par de frases de referência.
  • REFERENCE_TARGET: uma frase no idioma de chegada que está parte de um par de frases de referência.
  • SOURCE_LANGUAGE: o código do idioma do texto de origem.
  • TARGET_LANGUAGE: o código de idioma do o idioma para o qual o texto de origem deve ser traduzido.
  • SOURCE_TEXT: O texto que será traduzido.

Método HTTP e URL:

POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:adaptiveMtTranslate

Corpo JSON da solicitação:

{
  "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"]
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "translations": [
    {
      "translatedText": "TRANSLATED_TEXT"
    }
  ],
  "languageCode": "TARGET_LANGUAGE"
}

Java

Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido do Cloud Translation: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Cloud Translation em Java.

Para autenticar no Cloud Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento 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 testar esta amostra, siga as instruções de configuração do Node.js no Guia de início rápido do Cloud Translation: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Cloud Translation em Node.js.

Para autenticar no Cloud Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento 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 testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido do Cloud Translation: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Cloud Translation em Python.

Para autenticar no Cloud Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento 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)

Traduções adaptáveis com um conjunto de dados

Para usar um conjunto de dados com traduções, crie um conjunto de dados e importe a frase pares primeiro. Se você já tem um conjunto de dados, é possível solicitar traduções com ele. O conjunto de dados permanece no projeto até que você o exclua ele.

  1. Crie um conjunto de dados no qual importar suas traduções de exemplo.

    Os idiomas de origem e de destino precisam corresponder aos idiomas que você pretende usar nas traduções. Para mais informações, consulte o método adaptiveMtDataset.create.

    REST

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • PROJECT_NUMBER_OR_ID: o ID numérico ou alfanumérico do projeto do Google Cloud
    • LOCATION: a região em que o conjunto de dados de origem está localizado, como us-central1.
    • DATASET_ID: um identificador exclusivo para o conjunto de dados.
    • DISPLAY_NAME: um nome descritivo para o conjunto de dados.
    • SOURCE_LANGUAGE: o código do idioma do texto de entrada. Para acessar os códigos de idioma compatíveis, consulte Idiomas compatíveis.
    • TARGET_LANGUAGE: o idioma de chegada para o qual traduzir o texto de entrada. Para acessar os códigos de idioma compatíveis, consulte Idiomas compatíveis.

    Método HTTP e URL:

    POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets

    Corpo JSON da solicitação:

    {
      "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 a solicitação, expanda uma destas opções:

    Você receberá uma resposta JSON semelhante a esta:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID",
      "displayName": "DISPLAY_NAME",
      "sourceLanguageCode": "SOURCE_LANGUAGE",
      "targetLanguageCode": "TARGET_LANGUAGE"
    }
    

    Java

    Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido do Cloud Translation: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Cloud Translation em Java.

    Para autenticar no Cloud Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento 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 testar esta amostra, siga as instruções de configuração do Node.js no Guia de início rápido do Cloud Translation: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Cloud Translation em Node.js.

    Para autenticar no Cloud Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento 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 testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido do Cloud Translation: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Cloud Translation em Python.

    Para autenticar no Cloud Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento 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)
    

  2. Depois de criar um conjunto de dados, preencha-o com exemplos de traduções de um arquivo TSV ou TMX.

    É possível importar dados de vários arquivos para um único conjunto de dados. Para mais informações, consulte o método adaptiveMtDatasets.importAdaptiveMtFile.

    REST

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • PROJECT_NUMBER_OR_ID: o ID numérico ou alfanumérico do projeto do Google Cloud
    • LOCATION: a região em que o conjunto de dados está localizado, como us-central1.
    • DATASET_ID: o identificador exclusivo do conjunto de dados para onde os dados serão importados.
    • GCS_FILE_PATH: o caminho para o arquivo de dados de origem no Cloud Storage, como gs://example/data.tsv.

    Método HTTP e URL:

    POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID:importAdaptiveMtFile

    Corpo JSON da solicitação:

    {
      "gcs_input_source": {
        "input_uri": "GCS_FILE_PATH"
      }
    }
    

    Para enviar a solicitação, expanda uma destas opções:

    Você receberá uma resposta JSON semelhante a esta:

    {
      "adaptiveMtFile": {
        "name": "DATASET_NAME",
        "displayName": "FILE_NAME",
        "entryCount": TOTAL_ENTRIES
      }
    }
    

    Java

    Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido do Cloud Translation: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Cloud Translation em Java.

    Para autenticar no Cloud Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento 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 testar esta amostra, siga as instruções de configuração do Node.js no Guia de início rápido do Cloud Translation: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Cloud Translation em Node.js.

    Para autenticar no Cloud Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento 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 testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido do Cloud Translation: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Cloud Translation em Python.

    Para autenticar no Cloud Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento 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)
    

  3. Solicite uma tradução adaptativa fornecendo o texto de origem a ser traduzido e o conjunto de dados que o Cloud Translation usa para personalizar tradução.

    O Cloud Translation usa os idiomas de origem e de destino do conjunto de dados para determinar quais idiomas serão usados na tradução. Para exemplo, um conjunto de dados de en para es converte texto do inglês para o espanhol. Para saber mais, consulte o método adaptiveMtTranslate.

    REST

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • PROJECT_NUMBER_OR_ID: o ID numérico ou alfanumérico do projeto do Google Cloud
    • LOCATION: a região em que o conjunto de dados de origem está localizado, como us-central1.
    • DATASET_NAME: o nome do conjunto de dados que o Cloud Translation usa para personalizar as traduções, formatado como projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID. É possível acessar os nomes dos conjuntos de dados ao listar todos os conjuntos de dados do projeto.
    • SOURCE_TEXT: O texto que será traduzido.

    Método HTTP e URL:

    POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:adaptiveMtTranslate

    Corpo JSON da solicitação:

    {
      "dataset": "DATASET_NAME",
      "content": ["SOURCE_TEXT"]
    }
    

    Para enviar a solicitação, expanda uma destas opções:

    Você receberá uma resposta JSON semelhante a esta:

    {
      "translations": [
        {
          "translatedText": "TRANSLATED_TEXT"
        }
      ],
      "languageCode": "TARGET_LANGUAGE"
    }
    

    Java

    Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido do Cloud Translation: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Cloud Translation em Java.

    Para autenticar no Cloud Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento 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 testar esta amostra, siga as instruções de configuração do Node.js no Guia de início rápido do Cloud Translation: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Cloud Translation em Node.js.

    Para autenticar no Cloud Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento 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 testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido do Cloud Translation: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Cloud Translation em Python.

    Para autenticar no Cloud Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento 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)
    

A seguir