Como criar e gerenciar conjuntos de dados

Um conjunto de dados inclui amostras representativas do tipo de conteúdo que você quer traduzir, como pares de frases correspondentes nos idiomas de origem e chegada. O conjunto de dados serve como entrada para treinar um modelo.

Veja a seguir as principais etapas para criar um conjunto de dados:

  1. Criar um conjunto de dados e identificar os idiomas de origem e de chegada.
  2. Importar pares de frases para o conjunto de dados.

Um projeto pode ter vários conjuntos de dados, cada um usado para treinar um modelo separado. É possível ver uma lista dos conjuntos de dados disponíveis e excluir aqueles que não forem mais necessários.

Como criar um conjunto de dados

A primeira etapa na criação de um modelo personalizado é criar um conjunto de dados vazio que vai armazenar os dados de treinamento do modelo. Ao criar o conjunto, você identifica os idiomas de origem e chegada do modelo. Para mais informações sobre os idiomas e as variantes compatíveis, consulte Compatibilidade de idiomas para modelos personalizados.

IU da Web

A IU do AutoML Translation permite criar um novo conjunto de dados e importar itens para ele usando a mesma página.

  1. Acesse a IU do AutoML Translation.

  2. Selecione o projeto em que você ativou o AutoML Translation na lista suspensa, na parte superior direita da barra de título.

  3. Na guia Conjuntos de dados, clique em Criar conjunto de dados.

    Página de conjuntos de dados com um conjunto

  4. Na caixa de diálogo Criar conjunto de dados, faça o seguinte:

    • Insira o nome do conjunto de dados.
    • Selecione os idiomas de origem e chegada nas listas suspensas. Quando você escolhe um idioma em Traduzir de, os idiomas disponíveis em Traduzir para são exibidos.

    • Clique em Criar. A guia Importar é aberta.

REST

Enviar a solicitação de criação do conjunto de dados

Veja a seguir como enviar uma solicitação POST para o método project.locations.datasets/create. O exemplo usa o token de acesso de uma conta de serviço configurada para o projeto com a Google Cloud CLI.

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

  • project-id: pelo código do projeto do Google Cloud Platform
  • dataset-name: pelo nome do novo conjunto de dados
  • source-language-code: pelo idioma do qual você quer traduzir, como um código ISO 639-1, como "en"
  • target-language-code: pelo idioma do qual você quer traduzir, como um código ISO 639-1, como "es"

Método HTTP e URL:

POST https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/datasets

Corpo JSON da solicitação:

{
    "displayName": "dataset-name",
    "translationDatasetMetadata": {
       "sourceLanguageCode": "source-language-code",
       "targetLanguageCode": "target-language-code"
     }
}

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

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/project-number/locations/us-central1/operations/operation-id",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata",
    "createTime": "2019-10-01T22:13:48.155710Z",
    "updateTime": "2019-10-01T22:13:48.155710Z",
    "createDatasetDetails": {}
  }
}

Ver os resultados

Para ver os resultados da sua solicitação, você precisa enviar uma solicitação GET para o recurso operations. Veja a seguir como fazer isso.

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

  • operation-name: pelo nome da operação conforme retornado na resposta à chamada original para a API
  • project-id: pelo código do projeto do Google Cloud Platform

Método HTTP e URL:

GET https://automl.googleapis.com/v1/operation-name

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

Você receberá uma resposta JSON semelhante a esta:

{
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata",
    "createTime": "2019-10-01T22:13:48.155710Z",
    "updateTime": "2019-10-01T22:13:52.321072Z",
    ...
  },
  "done": true,
  "response": {
    "@type": "resource-type",
    "name": "resource-name"
  }
}

Go

Para saber como instalar e usar a biblioteca de cliente da AutoML Translation, consulte Bibliotecas de cliente da AutoML Translation. Para mais informações, consulte a documentação de referência da API AutoML Translation em Go.

Para autenticar no AutoML Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

import (
	"context"
	"fmt"
	"io"

	automl "cloud.google.com/go/automl/apiv1"
	"cloud.google.com/go/automl/apiv1/automlpb"
)

// translateCreateDataset creates a dataset for translate.
func translateCreateDataset(w io.Writer, projectID string, location string, datasetName string, sourceLanguageCode string, targetLanguageCode string) error {
	// projectID := "my-project-id"
	// location := "us-central1"
	// datasetName := "dataset_display_name"

	// Supported languages:
	//   https://cloud.google.com/translate/automl/docs/languages
	// sourceLanguageCode := "en"
	// targetLanguageCode := "ja"

	ctx := context.Background()
	client, err := automl.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("NewClient: %w", err)
	}
	defer client.Close()

	req := &automlpb.CreateDatasetRequest{
		Parent: fmt.Sprintf("projects/%s/locations/%s", projectID, location),
		Dataset: &automlpb.Dataset{
			DisplayName: datasetName,
			DatasetMetadata: &automlpb.Dataset_TranslationDatasetMetadata{
				TranslationDatasetMetadata: &automlpb.TranslationDatasetMetadata{
					SourceLanguageCode: sourceLanguageCode,
					TargetLanguageCode: targetLanguageCode,
				},
			},
		},
	}

	op, err := client.CreateDataset(ctx, req)
	if err != nil {
		return fmt.Errorf("CreateDataset: %w", err)
	}
	fmt.Fprintf(w, "Processing operation name: %q\n", op.Name())

	dataset, err := op.Wait(ctx)
	if err != nil {
		return fmt.Errorf("Wait: %w", err)
	}

	fmt.Fprintf(w, "Dataset name: %v\n", dataset.GetName())

	return nil
}

Java

Para saber como instalar e usar a biblioteca de cliente da AutoML Translation, consulte Bibliotecas de cliente da AutoML Translation. Para mais informações, consulte a documentação de referência da API AutoML Translation em Java.

Para autenticar no AutoML Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

import com.google.api.gax.longrunning.OperationFuture;
import com.google.cloud.automl.v1.AutoMlClient;
import com.google.cloud.automl.v1.Dataset;
import com.google.cloud.automl.v1.LocationName;
import com.google.cloud.automl.v1.OperationMetadata;
import com.google.cloud.automl.v1.TranslationDatasetMetadata;
import java.io.IOException;
import java.util.concurrent.ExecutionException;

class TranslateCreateDataset {

  public static void main(String[] args)
      throws IOException, ExecutionException, InterruptedException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "YOUR_PROJECT_ID";
    String displayName = "YOUR_DATASET_NAME";
    createDataset(projectId, displayName);
  }

  // Create a dataset
  static void createDataset(String projectId, String displayName)
      throws IOException, ExecutionException, InterruptedException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (AutoMlClient client = AutoMlClient.create()) {
      // A resource that represents Google Cloud Platform location.
      LocationName projectLocation = LocationName.of(projectId, "us-central1");

      // Specify the source and target language.
      TranslationDatasetMetadata translationDatasetMetadata =
          TranslationDatasetMetadata.newBuilder()
              .setSourceLanguageCode("en")
              .setTargetLanguageCode("ja")
              .build();
      Dataset dataset =
          Dataset.newBuilder()
              .setDisplayName(displayName)
              .setTranslationDatasetMetadata(translationDatasetMetadata)
              .build();
      OperationFuture<Dataset, OperationMetadata> future =
          client.createDatasetAsync(projectLocation, dataset);

      Dataset createdDataset = future.get();

      // Display the dataset information.
      System.out.format("Dataset name: %s\n", createdDataset.getName());
      // To get the dataset id, you have to parse it out of the `name` field. As dataset Ids are
      // required for other methods.
      // Name Form: `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`
      String[] names = createdDataset.getName().split("/");
      String datasetId = names[names.length - 1];
      System.out.format("Dataset id: %s\n", datasetId);
    }
  }
}

Node.js

Para saber como instalar e usar a biblioteca de cliente da AutoML Translation, consulte Bibliotecas de cliente da AutoML Translation. Para mais informações, consulte a documentação de referência da API AutoML Translation em Node.js.

Para autenticar no AutoML Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'us-central1';
// const displayName = 'YOUR_DISPLAY_NAME';

// Imports the Google Cloud AutoML library
const {AutoMlClient} = require('@google-cloud/automl').v1;

// Instantiates a client
const client = new AutoMlClient();

async function createDataset() {
  // Construct request
  const request = {
    parent: client.locationPath(projectId, location),
    dataset: {
      displayName: displayName,
      translationDatasetMetadata: {
        sourceLanguageCode: 'en',
        targetLanguageCode: 'ja',
      },
    },
  };

  // Create dataset
  const [operation] = await client.createDataset(request);

  // Wait for operation to complete.
  const [response] = await operation.promise();

  console.log(`Dataset name: ${response.name}`);
  console.log(`
    Dataset id: ${
      response.name
        .split('/')
        [response.name.split('/').length - 1].split('\n')[0]
    }`);
}

createDataset();

Python

Para saber como instalar e usar a biblioteca de cliente da AutoML Translation, consulte Bibliotecas de cliente da AutoML Translation. Para mais informações, consulte a documentação de referência da API AutoML Translation em Python.

Para autenticar no AutoML Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

from google.cloud import automl

# TODO(developer): Uncomment and set the following variables
# project_id = "YOUR_PROJECT_ID"
# display_name = "YOUR_DATASET_NAME"

client = automl.AutoMlClient()

# A resource that represents Google Cloud Platform location.
project_location = f"projects/{project_id}/locations/us-central1"
# For a list of supported languages, see:
# https://cloud.google.com/translate/automl/docs/languages
dataset_metadata = automl.TranslationDatasetMetadata(
    source_language_code="en", target_language_code="ja"
)
dataset = automl.Dataset(
    display_name=display_name,
    translation_dataset_metadata=dataset_metadata,
)

# Create a dataset with the dataset metadata in the region.
response = client.create_dataset(parent=project_location, dataset=dataset)

created_dataset = response.result()

# Display the dataset information
print(f"Dataset name: {created_dataset.name}")
print("Dataset id: {}".format(created_dataset.name.split("/")[-1]))

Outras linguagens

C#: Siga as Instruções de configuração do C# na página das bibliotecas de cliente e acesse a Documentação de referência do AutoML Translation para .NET.

PHP : Siga as Instruções de configuração do PHP na página das bibliotecas de cliente e acesse Documentação de referência do AutoML Translation para PHP.

Ruby Siga as Instruções de configuração do Ruby na página das bibliotecas de cliente e acesse Documentação de referência do AutoML Translation para Ruby.

Importar itens para um conjunto de dados

Depois de criar um conjunto de dados, você poderá importar pares de frases de treinamento para ele. Para mais detalhes sobre como preparar os dados de treinamento, consulte Como preparar dados de treinamento.

IU da Web

A IU do AutoML Translation permite criar um novo conjunto de dados e importar itens para ele usando a mesma página. Consulte Como criar um conjunto de dados. As etapas abaixo importam itens para um conjunto de dados existente.

Depois de criar a pasta do conjunto de dados, faça upload dos seus dados.

  1. Faça upload dos pares de frases que serão usados para treinar o modelo.

    Na guia Importar, é possível fazer upload de arquivos TSV ou TMX do seu computador local ou do Cloud Storage. No caso de arquivos importados localmente, depois de selecioná-los, clique em Procurar. Uma lista de pastas será exibida. Selecione a pasta para onde você quer que os arquivos sejam enviados. Esse diretório hospedado no Cloud Storage é necessário para garantir o armazenamento dos dados.

    Marque a caixa de seleção para Use arquivos separados para treinamento, validação e testes (avançado) se quiser fazer upload de arquivos diferentes contendo os pares de frases. Essa opção é recomendada caso seu conjunto de dados tenha mais de 100.000 pares de frases. Você precisa alocar no máximo 10.000 pares de frases para conjuntos de validação e testes. Caso contrário, o AutoML Translation retornará um erro.

    Guia &quot;Importar&quot;

  2. Clique em Continuar.

    Você retornou à página Conjuntos de dados. Seu conjunto de dados mostra uma animação de andamento enquanto seus documentos são importados. Quando o conjunto for enviado, você receberá uma mensagem no endereço de e-mail usado para se inscrever no programa.

  3. Revise o conjunto de dados.

    Depois que seus dados forem importados, selecione o conjunto na guia Conjuntos de dados para ver os detalhes dele. A guia Frase é ativada e mostra o nome do conjunto de dados. Os pares de frases são listados. Cada par recebe o status de "treinamento", "validação" ou "testes", indicando em qual etapa do processamento ele será usado.

REST

Use o método projects.locations.datasets.importData para importar itens para um conjunto de dados.

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

  • dataset-name: pelo nome do conjunto de dados, conforme retornado pela API quando você o criou
  • bucket-name: pelo intervalo do Cloud Storage que contém o CSV de entrada que descreve o conjunto de dados
  • csv-file-name: o nome do arquivo CSV de entrada que descreve o conjunto de dados
  • project-id: pelo código do projeto do Google Cloud Platform

Método HTTP e URL:

POST https://automl.googleapis.com/v1/dataset-name:importData

Corpo JSON da solicitação:

{
  "inputConfig": {
    "gcsSource": {
      "inputUris": "gs://bucket-name/csv-file-name"
    }
  }
}

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

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/project-number/locations/us-central1/operations/operation-id",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.automl.v1beta1.OperationMetadata",
    "createTime": "2018-04-27T01:28:36.128120Z",
    "updateTime": "2018-04-27T01:28:36.128150Z",
    "cancellable": true
  }
}

Go

Para saber como instalar e usar a biblioteca de cliente da AutoML Translation, consulte Bibliotecas de cliente da AutoML Translation. Para mais informações, consulte a documentação de referência da API AutoML Translation em Go.

Para autenticar no AutoML Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

import (
	"context"
	"fmt"
	"io"

	automl "cloud.google.com/go/automl/apiv1"
	"cloud.google.com/go/automl/apiv1/automlpb"
)

// importDataIntoDataset imports data into a dataset.
func importDataIntoDataset(w io.Writer, projectID string, location string, datasetID string, inputURI string) error {
	// projectID := "my-project-id"
	// location := "us-central1"
	// datasetID := "TRL123456789..."
	// inputURI := "gs://BUCKET_ID/path_to_training_data.csv"

	ctx := context.Background()
	client, err := automl.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("NewClient: %w", err)
	}
	defer client.Close()

	req := &automlpb.ImportDataRequest{
		Name: fmt.Sprintf("projects/%s/locations/%s/datasets/%s", projectID, location, datasetID),
		InputConfig: &automlpb.InputConfig{
			Source: &automlpb.InputConfig_GcsSource{
				GcsSource: &automlpb.GcsSource{
					InputUris: []string{inputURI},
				},
			},
		},
	}

	op, err := client.ImportData(ctx, req)
	if err != nil {
		return fmt.Errorf("ImportData: %w", err)
	}
	fmt.Fprintf(w, "Processing operation name: %q\n", op.Name())

	if err := op.Wait(ctx); err != nil {
		return fmt.Errorf("Wait: %w", err)
	}

	fmt.Fprintf(w, "Data imported.\n")

	return nil
}

Java

Para saber como instalar e usar a biblioteca de cliente da AutoML Translation, consulte Bibliotecas de cliente da AutoML Translation. Para mais informações, consulte a documentação de referência da API AutoML Translation em Java.

Para autenticar no AutoML Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

import com.google.api.gax.longrunning.OperationFuture;
import com.google.cloud.automl.v1.AutoMlClient;
import com.google.cloud.automl.v1.DatasetName;
import com.google.cloud.automl.v1.GcsSource;
import com.google.cloud.automl.v1.InputConfig;
import com.google.cloud.automl.v1.OperationMetadata;
import com.google.protobuf.Empty;
import java.io.IOException;
import java.util.Arrays;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;

class ImportDataset {

  public static void main(String[] args)
      throws IOException, ExecutionException, InterruptedException, TimeoutException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "YOUR_PROJECT_ID";
    String datasetId = "YOUR_DATASET_ID";
    String path = "gs://BUCKET_ID/path_to_training_data.csv";
    importDataset(projectId, datasetId, path);
  }

  // Import a dataset
  static void importDataset(String projectId, String datasetId, String path)
      throws IOException, ExecutionException, InterruptedException, TimeoutException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (AutoMlClient client = AutoMlClient.create()) {
      // Get the complete path of the dataset.
      DatasetName datasetFullId = DatasetName.of(projectId, "us-central1", datasetId);

      // Get multiple Google Cloud Storage URIs to import data from
      GcsSource gcsSource =
          GcsSource.newBuilder().addAllInputUris(Arrays.asList(path.split(","))).build();

      // Import data from the input URI
      InputConfig inputConfig = InputConfig.newBuilder().setGcsSource(gcsSource).build();
      System.out.println("Processing import...");

      // Start the import job
      OperationFuture<Empty, OperationMetadata> operation =
          client.importDataAsync(datasetFullId, inputConfig);

      System.out.format("Operation name: %s%n", operation.getName());

      // If you want to wait for the operation to finish, adjust the timeout appropriately. The
      // operation will still run if you choose not to wait for it to complete. You can check the
      // status of your operation using the operation's name.
      Empty response = operation.get(45, TimeUnit.MINUTES);
      System.out.format("Dataset imported. %s%n", response);
    } catch (TimeoutException e) {
      System.out.println("The operation's polling period was not long enough.");
      System.out.println("You can use the Operation's name to get the current status.");
      System.out.println("The import job is still running and will complete as expected.");
      throw e;
    }
  }
}

Node.js

Para saber como instalar e usar a biblioteca de cliente da AutoML Translation, consulte Bibliotecas de cliente da AutoML Translation. Para mais informações, consulte a documentação de referência da API AutoML Translation em Node.js.

Para autenticar no AutoML Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'us-central1';
// const datasetId = 'YOUR_DISPLAY_ID';
// const path = 'gs://BUCKET_ID/path_to_training_data.csv';

// Imports the Google Cloud AutoML library
const {AutoMlClient} = require('@google-cloud/automl').v1;

// Instantiates a client
const client = new AutoMlClient();

async function importDataset() {
  // Construct request
  const request = {
    name: client.datasetPath(projectId, location, datasetId),
    inputConfig: {
      gcsSource: {
        inputUris: path.split(','),
      },
    },
  };

  // Import dataset
  console.log('Proccessing import');
  const [operation] = await client.importData(request);

  // Wait for operation to complete.
  const [response] = await operation.promise();
  console.log(`Dataset imported: ${response}`);
}

importDataset();

Python

Para saber como instalar e usar a biblioteca de cliente da AutoML Translation, consulte Bibliotecas de cliente da AutoML Translation. Para mais informações, consulte a documentação de referência da API AutoML Translation em Python.

Para autenticar no AutoML Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

from google.cloud import automl

# TODO(developer): Uncomment and set the following variables
# project_id = "YOUR_PROJECT_ID"
# dataset_id = "YOUR_DATASET_ID"
# path = "gs://YOUR_BUCKET_ID/path/to/data.csv"

client = automl.AutoMlClient()
# Get the full path of the dataset.
dataset_full_id = client.dataset_path(project_id, "us-central1", dataset_id)
# Get the multiple Google Cloud Storage URIs
input_uris = path.split(",")
gcs_source = automl.GcsSource(input_uris=input_uris)
input_config = automl.InputConfig(gcs_source=gcs_source)
# Import data from the input URI
response = client.import_data(name=dataset_full_id, input_config=input_config)

print("Processing import...")
print(f"Data imported. {response.result()}")

Outras linguagens

C#: Siga as Instruções de configuração do C# na página das bibliotecas de cliente e acesse a Documentação de referência do AutoML Translation para .NET.

PHP : Siga as Instruções de configuração do PHP na página das bibliotecas de cliente e acesse Documentação de referência do AutoML Translation para PHP.

Ruby Siga as Instruções de configuração do Ruby na página das bibliotecas de cliente e acesse Documentação de referência do AutoML Translation para Ruby.

Depois de criar e preencher o conjunto de dados, estará tudo pronto para você treinar o modelo. Consulte Como criar e gerenciar modelos.

Gerenciar conjuntos de dados

Como listar conjuntos de dados

Um projeto pode incluir vários conjuntos de dados. Esta seção descreve como recuperar uma lista dos conjuntos de dados disponíveis para um projeto.

IU da Web

Para ver uma lista dos conjuntos de dados disponíveis usando a IU do AutoML Translation, clique em Conjuntos de dados na parte superior esquerda do menu de navegação.

Página de conjuntos de dados com um conjunto

Para ver os conjuntos de dados de outro projeto, selecione o projeto na lista suspensa na parte superior direita da barra de título.

REST

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

  • project-id: pelo código do projeto do Google Cloud Platform

Método HTTP e URL:

GET https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/datasets

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

Você receberá uma resposta JSON semelhante a esta:

{
  "datasets": [
    {
      "name": "projects/project-number/locations/us-central1/datasets/dataset-id",
      "displayName": "dataset-display-name",
      "createTime": "2019-10-01T22:47:38.347689Z",
      "etag": "AB3BwFpPWn6klFqJ867nz98aXr_JHcfYFQBMYTf7rcO-JMi8Ez4iDSNrRW4Vv501i488",
      "translationDatasetMetadata": {
        "sourceLanguageCode": "source-language",
        "targetLanguageCode": "target-language"
      }
    },
    ...
  ]
}

Go

Para saber como instalar e usar a biblioteca de cliente da AutoML Translation, consulte Bibliotecas de cliente da AutoML Translation. Para mais informações, consulte a documentação de referência da API AutoML Translation em Go.

Para autenticar no AutoML Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

import (
	"context"
	"fmt"
	"io"

	automl "cloud.google.com/go/automl/apiv1"
	"cloud.google.com/go/automl/apiv1/automlpb"
	"google.golang.org/api/iterator"
)

// listDatasets lists existing datasets.
func listDatasets(w io.Writer, projectID string, location string) error {
	// projectID := "my-project-id"
	// location := "us-central1"

	ctx := context.Background()
	client, err := automl.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("NewClient: %w", err)
	}
	defer client.Close()

	req := &automlpb.ListDatasetsRequest{
		Parent: fmt.Sprintf("projects/%s/locations/%s", projectID, location),
	}

	it := client.ListDatasets(ctx, req)

	// Iterate over all results
	for {
		dataset, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			return fmt.Errorf("ListGlossaries.Next: %w", err)
		}

		fmt.Fprintf(w, "Dataset name: %v\n", dataset.GetName())
		fmt.Fprintf(w, "Dataset display name: %v\n", dataset.GetDisplayName())
		fmt.Fprintf(w, "Dataset create time:\n")
		fmt.Fprintf(w, "\tseconds: %v\n", dataset.GetCreateTime().GetSeconds())
		fmt.Fprintf(w, "\tnanos: %v\n", dataset.GetCreateTime().GetNanos())

		// Translate
		if metadata := dataset.GetTranslationDatasetMetadata(); metadata != nil {
			fmt.Fprintf(w, "Translation dataset metadata:\n")
			fmt.Fprintf(w, "\tsource_language_code: %v\n", metadata.GetSourceLanguageCode())
			fmt.Fprintf(w, "\ttarget_language_code: %v\n", metadata.GetTargetLanguageCode())
		}

	}

	return nil
}

Java

Para saber como instalar e usar a biblioteca de cliente da AutoML Translation, consulte Bibliotecas de cliente da AutoML Translation. Para mais informações, consulte a documentação de referência da API AutoML Translation em Java.

Para autenticar no AutoML Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

import com.google.cloud.automl.v1.AutoMlClient;
import com.google.cloud.automl.v1.Dataset;
import com.google.cloud.automl.v1.ListDatasetsRequest;
import com.google.cloud.automl.v1.LocationName;
import java.io.IOException;

class ListDatasets {

  static void listDatasets() throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "YOUR_PROJECT_ID";
    listDatasets(projectId);
  }

  // List the datasets
  static void listDatasets(String projectId) throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (AutoMlClient client = AutoMlClient.create()) {
      // A resource that represents Google Cloud Platform location.
      LocationName projectLocation = LocationName.of(projectId, "us-central1");
      ListDatasetsRequest request =
          ListDatasetsRequest.newBuilder().setParent(projectLocation.toString()).build();

      // List all the datasets available in the region by applying filter.
      System.out.println("List of datasets:");
      for (Dataset dataset : client.listDatasets(request).iterateAll()) {
        // Display the dataset information
        System.out.format("\nDataset name: %s\n", dataset.getName());
        // To get the dataset id, you have to parse it out of the `name` field. As dataset Ids are
        // required for other methods.
        // Name Form: `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`
        String[] names = dataset.getName().split("/");
        String retrievedDatasetId = names[names.length - 1];
        System.out.format("Dataset id: %s\n", retrievedDatasetId);
        System.out.format("Dataset display name: %s\n", dataset.getDisplayName());
        System.out.println("Dataset create time:");
        System.out.format("\tseconds: %s\n", dataset.getCreateTime().getSeconds());
        System.out.format("\tnanos: %s\n", dataset.getCreateTime().getNanos());
        System.out.println("Translation dataset metadata:");
        System.out.format(
            "\tSource language code: %s\n",
            dataset.getTranslationDatasetMetadata().getSourceLanguageCode());
        System.out.format(
            "\tTarget language code: %s\n",
            dataset.getTranslationDatasetMetadata().getTargetLanguageCode());
      }
    }
  }
}

Node.js

Para saber como instalar e usar a biblioteca de cliente da AutoML Translation, consulte Bibliotecas de cliente da AutoML Translation. Para mais informações, consulte a documentação de referência da API AutoML Translation em Node.js.

Para autenticar no AutoML Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'us-central1';

// Imports the Google Cloud AutoML library
const {AutoMlClient} = require('@google-cloud/automl').v1;

// Instantiates a client
const client = new AutoMlClient();

async function listDatasets() {
  // Construct request
  const request = {
    parent: client.locationPath(projectId, location),
    filter: 'translation_dataset_metadata:*',
  };

  const [response] = await client.listDatasets(request);

  console.log('List of datasets:');
  for (const dataset of response) {
    console.log(`Dataset name: ${dataset.name}`);
    console.log(
      `Dataset id: ${
        dataset.name.split('/')[dataset.name.split('/').length - 1]
      }`
    );
    console.log(`Dataset display name: ${dataset.displayName}`);
    console.log('Dataset create time');
    console.log(`\tseconds ${dataset.createTime.seconds}`);
    console.log(`\tnanos ${dataset.createTime.nanos / 1e9}`);
    if (dataset.translationDatasetMetadata !== undefined) {
      console.log('Translation dataset metadata:');
      console.log(
        `\tSource language code: ${dataset.translationDatasetMetadata.sourceLanguageCode}`
      );
      console.log(
        `\tTarget language code: ${dataset.translationDatasetMetadata.targetLanguageCode}`
      );
    }
  }
}

listDatasets();

Python

Para saber como instalar e usar a biblioteca de cliente da AutoML Translation, consulte Bibliotecas de cliente da AutoML Translation. Para mais informações, consulte a documentação de referência da API AutoML Translation em Python.

Para autenticar no AutoML Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

from google.cloud import automl

# TODO(developer): Uncomment and set the following variables
# project_id = "YOUR_PROJECT_ID"

client = automl.AutoMlClient()
# A resource that represents Google Cloud Platform location.
project_location = f"projects/{project_id}/locations/us-central1"

# List all the datasets available in the region.
request = automl.ListDatasetsRequest(parent=project_location, filter="")
response = client.list_datasets(request=request)

print("List of datasets:")
for dataset in response:
    print(f"Dataset name: {dataset.name}")
    print("Dataset id: {}".format(dataset.name.split("/")[-1]))
    print(f"Dataset display name: {dataset.display_name}")
    print(f"Dataset create time: {dataset.create_time}")
    print("Translation dataset metadata:")
    print(
        "\tsource_language_code: {}".format(
            dataset.translation_dataset_metadata.source_language_code
        )
    )
    print(
        "\ttarget_language_code: {}".format(
            dataset.translation_dataset_metadata.target_language_code
        )
    )

Outras linguagens

C#: Siga as Instruções de configuração do C# na página das bibliotecas de cliente e acesse a Documentação de referência do AutoML Translation para .NET.

PHP : Siga as Instruções de configuração do PHP na página das bibliotecas de cliente e acesse Documentação de referência do AutoML Translation para PHP.

Ruby Siga as Instruções de configuração do Ruby na página das bibliotecas de cliente e acesse Documentação de referência do AutoML Translation para Ruby.

Excluir um conjunto de dados

IU da Web

  1. Na IU do AutoML Translation, clique em Conjuntos de dados na parte superior esquerda do menu de navegação para exibir a lista de conjuntos de dados disponíveis.

    Página de conjuntos de dados com um conjunto

  2. Clique no menu de três pontos à direita da linha que você quer excluir e selecione Excluir.

  3. Clique em Confirmar na caixa de diálogo de confirmação.

REST

  • Substitua dataset-name pelo nome completo do conjunto de dados, a partir da resposta quando você o criou. O nome completo tem este formato: projects/{project-id}/locations/us-central1/datasets/{dataset-id}

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

  • dataset-name: pelo nome do conjunto de dados que você quer excluir, no formato project/project-id/locations/us-central1/datasets/dataset-id

Método HTTP e URL:

DELETE https://automl.googleapis.com/v1/dataset-name

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

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/project-number/locations/us-central1/operations/operation-id",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata",
    "createTime": "2019-10-02T16:43:03.923442Z",
    "updateTime": "2019-10-02T16:43:03.923442Z",
    "deleteDetails": {}
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.protobuf.Empty"
  }
}

Go

Para saber como instalar e usar a biblioteca de cliente da AutoML Translation, consulte Bibliotecas de cliente da AutoML Translation. Para mais informações, consulte a documentação de referência da API AutoML Translation em Go.

Para autenticar no AutoML Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

import (
	"context"
	"fmt"
	"io"

	automl "cloud.google.com/go/automl/apiv1"
	"cloud.google.com/go/automl/apiv1/automlpb"
)

// deleteDataset deletes a dataset.
func deleteDataset(w io.Writer, projectID string, location string, datasetID string) error {
	// projectID := "my-project-id"
	// location := "us-central1"
	// datasetID := "TRL123456789..."

	ctx := context.Background()
	client, err := automl.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("NewClient: %w", err)
	}
	defer client.Close()

	req := &automlpb.DeleteDatasetRequest{
		Name: fmt.Sprintf("projects/%s/locations/%s/datasets/%s", projectID, location, datasetID),
	}

	op, err := client.DeleteDataset(ctx, req)
	if err != nil {
		return fmt.Errorf("DeleteDataset: %w", err)
	}
	fmt.Fprintf(w, "Processing operation name: %q\n", op.Name())

	if err := op.Wait(ctx); err != nil {
		return fmt.Errorf("Wait: %w", err)
	}

	fmt.Fprintf(w, "Dataset deleted.\n")

	return nil
}

Java

Para saber como instalar e usar a biblioteca de cliente da AutoML Translation, consulte Bibliotecas de cliente da AutoML Translation. Para mais informações, consulte a documentação de referência da API AutoML Translation em Java.

Para autenticar no AutoML Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

import com.google.cloud.automl.v1.AutoMlClient;
import com.google.cloud.automl.v1.DatasetName;
import com.google.protobuf.Empty;
import java.io.IOException;
import java.util.concurrent.ExecutionException;

class DeleteDataset {

  static void deleteDataset() throws IOException, ExecutionException, InterruptedException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "YOUR_PROJECT_ID";
    String datasetId = "YOUR_DATASET_ID";
    deleteDataset(projectId, datasetId);
  }

  // Delete a dataset
  static void deleteDataset(String projectId, String datasetId)
      throws IOException, ExecutionException, InterruptedException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (AutoMlClient client = AutoMlClient.create()) {
      // Get the full path of the dataset.
      DatasetName datasetFullId = DatasetName.of(projectId, "us-central1", datasetId);
      Empty response = client.deleteDatasetAsync(datasetFullId).get();
      System.out.format("Dataset deleted. %s\n", response);
    }
  }
}

Node.js

Para saber como instalar e usar a biblioteca de cliente da AutoML Translation, consulte Bibliotecas de cliente da AutoML Translation. Para mais informações, consulte a documentação de referência da API AutoML Translation em Node.js.

Para autenticar no AutoML Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'us-central1';
// const datasetId = 'YOUR_DATASET_ID';

// Imports the Google Cloud AutoML library
const {AutoMlClient} = require('@google-cloud/automl').v1;

// Instantiates a client
const client = new AutoMlClient();

async function deleteDataset() {
  // Construct request
  const request = {
    name: client.datasetPath(projectId, location, datasetId),
  };

  const [operation] = await client.deleteDataset(request);

  // Wait for operation to complete.
  const [response] = await operation.promise();
  console.log(`Dataset deleted: ${response}`);
}

deleteDataset();

Python

Para saber como instalar e usar a biblioteca de cliente da AutoML Translation, consulte Bibliotecas de cliente da AutoML Translation. Para mais informações, consulte a documentação de referência da API AutoML Translation em Python.

Para autenticar no AutoML Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

from google.cloud import automl

# TODO(developer): Uncomment and set the following variables
# project_id = "YOUR_PROJECT_ID"
# dataset_id = "YOUR_DATASET_ID"

client = automl.AutoMlClient()
# Get the full path of the dataset
dataset_full_id = client.dataset_path(project_id, "us-central1", dataset_id)
response = client.delete_dataset(name=dataset_full_id)

print(f"Dataset deleted. {response.result()}")

Outras linguagens

C#: Siga as Instruções de configuração do C# na página das bibliotecas de cliente e acesse a Documentação de referência do AutoML Translation para .NET.

PHP : Siga as Instruções de configuração do PHP na página das bibliotecas de cliente e acesse Documentação de referência do AutoML Translation para PHP.

Ruby Siga as Instruções de configuração do Ruby na página das bibliotecas de cliente e acesse Documentação de referência do AutoML Translation para Ruby.

Problemas de importação

Quando você cria um conjunto de dados, o AutoML Translation pode remover pares de frases se forem muito longos ou se os pares forem exatamente iguais nos idiomas de origem e de destino.

Para pares de frases muito longos, recomendamos que você divida as frases para aproximadamente 200 palavras ou menos e recrie o conjunto de dados para incluir os pares descartados. Ao processar seus dados, o AutoML Translation usa um processo interno para tokenizar os dados de entrada, o que pode aumentar o tamanho das frases. Esses dados tokenizados são usados pelo AutoML Translation para medir o tamanho dos dados. Portanto, o limite de 200 palavras é uma estimativa do tamanho máximo.

Para pares de frases que são iguais nos idiomas de origem e de chegada, é possível removê-los do conjunto de dados. Se você quiser manter essas frases não traduzidas, use um recurso de glossário para criar um dicionário personalizado que defina como o AutoML Translation lida com termos específicos.