Datasets erstellen und verwalten

Ein Dataset enthält repräsentative Beispiele für den zu übersetzenden Inhaltstyp in Form von übereinstimmenden Satzpaaren in den Quell- und Zielsprachen. Das Dataset dient als Eingabe zum Trainieren eines Modells.

Die wesentlichen Schritte zum Erstellen eines Datasets sind folgende:

  1. Erstellen eines Datasets und Bestimmen der Quell- und Zielsprachen.
  2. Importieren von Satzpaaren in das Dataset.

Ein Projekt kann mehrere Datasets enthalten, die jeweils zum Trainieren eines separaten Modells verwendet werden. Sie können eine Liste der verfügbaren Datasets abrufen und nicht mehr benötigte Datasets löschen.

Dataset erstellen

Der erste Schritt zum Erstellen eines benutzerdefinierten Modells besteht darin, ein leeres Dataset zu erstellen, das mit den Trainingsdaten für das Modell gefüllt wird. Beim Erstellen eines Datasets werden die Quell- und Zielsprachen für das Modell bestimmt. Weitere Informationen zu den unterstützten Sprachen und Varianten finden Sie unter Sprachunterstützung für benutzerdefinierte Modelle.

Web-UI

Mit der AutoML Translation-Benutzeroberfläche können Sie ein neues Dataset erstellen und Elemente von derselben Seite in dieses Dataset importieren.

  1. Rufen Sie die AutoML Translation-UI auf.

  2. Wählen Sie aus der Drop-down-Liste rechts oben in der Titelleiste das Projekt aus, für das Sie AutoML Translation aktiviert haben.

  3. Klicken Sie auf dem Tab Datasets auf Dataset erstellen.

    "Datasets"-Seite mit einem Dataset

  4. Führen Sie im Dialogfeld Dataset erstellen die folgenden Aufgaben aus:

    • Geben Sie einen Namen für das Dataset ein.
    • Wählen Sie aus den Drop-down-Listen die Ausgangs- und Zielsprachen aus. Wenn Sie unter Ausgangssprache eine Sprache auswählen, werden die verfügbaren Sprachen für Zielsprache angezeigt.

    • Klicken Sie auf Erstellen. Der Tab Importieren wird angezeigt.

REST

Anfrage zum Erstellen eines Datasets senden

Im Folgenden wird gezeigt, wie eine POST-Anfrage an die Methode project.locations.datasets/create gesendet wird. Im Beispiel wird das Zugriffstoken für ein Dienstkonto verwendet, das mit der Google Cloud CLI für das Projekt eingerichtet wurde.

Ersetzen Sie dabei folgende Werte für die Anfragedaten:

  • project-id: Ihre Google Cloud Platform-Projekt-ID
  • dataset-name: der Name Ihres neuen Datasets
  • source-language-code: Die Sprache, aus der übersetzt werden soll, als ISO 639-1-Code wie z. B. "en"
  • target-language-code: Die Sprache, in die übersetzt werden soll, als ISO 639-1-Code wie z. B. "es"

HTTP-Methode und URL:

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

JSON-Text anfordern:

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

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

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

Ergebnisse abrufen

Damit Sie die Ergebnisse Ihrer Anfrage erhalten, müssen Sie eine GET-Anfrage an die Ressource operations senden. Im Folgenden wird gezeigt, wie eine solche Anfrage gesendet wird.

Ersetzen Sie dabei folgende Werte für die Anfragedaten:

  • operation-name: der Name des Vorgangs, wie er in der Antwort auf den ursprünglichen Aufruf der API zurückgegeben wurde
  • project-id: Ihre Google Cloud Platform-Projekt-ID

HTTP-Methode und URL:

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

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

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

Informationen zum Installieren und Verwenden der Clientbibliothek für AutoML Translation finden Sie unter AutoML Translation-Clientbibliotheken. Weitere Informationen finden Sie in der AutoML Translation Go API-Referenzdokumentation.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei AutoML Translation zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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

Informationen zum Installieren und Verwenden der Clientbibliothek für AutoML Translation finden Sie unter AutoML Translation-Clientbibliotheken. Weitere Informationen finden Sie in der AutoML Translation Java API-Referenzdokumentation.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei AutoML Translation zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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

Informationen zum Installieren und Verwenden der Clientbibliothek für AutoML Translation finden Sie unter AutoML Translation-Clientbibliotheken. Weitere Informationen finden Sie in der AutoML Translation Node.js API-Referenzdokumentation.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei AutoML Translation zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

/**
 * 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

Informationen zum Installieren und Verwenden der Clientbibliothek für AutoML Translation finden Sie unter AutoML Translation-Clientbibliotheken. Weitere Informationen finden Sie in der AutoML Translation Python API-Referenzdokumentation.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei AutoML Translation zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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]))

Weitere Sprachen

C#: Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite der Clientbibliotheken und rufen Sie dann die AutoML Translation-Referenzdokumentation für .NET auf.

PHP: Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite der Clientbibliotheken und rufen Sie dann die AutoML Translation-Referenzdokumentation für PHP auf.

Ruby: Folgen Sie der Anleitung zur Einrichtung von Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die AutoML Translation-Referenzdokumentation für Ruby auf.

Elemente in ein Dataset importieren

Nachdem Sie ein Dataset erstellt haben, können Sie Satzpaare zum Trainieren importieren. Details zum Vorbereiten von Trainingsdaten finden Sie unter Trainingsdaten vorbereiten.

Web-UI

Mit der AutoML Translation-UI können Sie ein neues Dataset erstellen und Elemente von derselben Seite in dieses Dataset importieren (siehe Dataset erstellen). In den folgenden Schritten werden Elemente in ein vorhandenes Dataset importiert.

Nachdem Sie den Dataset-Ordner erstellt haben, laden Sie Ihre Daten hoch.

  1. Laden Sie die Satzpaare hoch, die Sie zum Trainieren des Modells verwenden möchten.

    Auf dem Tab Importieren können Sie TSV- oder TMX-Dateien von Ihrem lokalen Computer oder aus Cloud Storage hochladen. Klicken Sie bei lokal importierten Dateien nach der Auswahl der Datei auf Durchsuchen. Daraufhin erscheint eine Liste der Ordner. Wählen Sie den Ordner aus, in den Ihre Datei hochgeladen werden soll. Dieses in Cloud Storage gehostete Verzeichnis ist erforderlich, um den Datenzugriff zu gewährleisten.

    Klicken Sie das Kästchen für Unterschiedliche Dateien für Training, Validierung und Test (erweitert) verwenden an, wenn Sie separate Dateien mit den Satzpaaren hochladen möchten. Diese Option wird empfohlen, wenn Ihr Dataset mehr als 100.000 Satzpaare enthält. Sie müssen mindestens 10.000 Satzpaare für Validierungs- und Testsets zuweisen. Andernfalls gibt AutoML Translation einen Fehler zurück.

    Tab &quot;Importieren&quot;

  2. Klicken Sie auf Weiter.

    Sie werden zur Seite Datasets zurückgeleitet. Ihr Dataset zeigt während des Imports Ihrer Dokumente den Status "In Bearbeitung" an. Wenn Ihr Dataset hochgeladen wurde, erhalten Sie eine Nachricht an die E-Mail-Adresse, mit der Sie sich für das Programm registriert haben.

  3. Prüfen Sie das Dataset.

    Nachdem Ihre Daten importiert wurden, wählen Sie das Dataset auf dem Tab Datasets aus, um die Dataset-Details aufzurufen. Die Tab Satz ist aktiviert und zeigt den Namen des Datasets an. Die Satzpaare werden aufgelistet. Jedem Paar wird "Training", "Validierung" oder "Test" zugewiesen. Das gibt an, in welcher Phase der Verarbeitung das Paar verwendet wird.

REST

Verwenden Sie die projects.locations.datasets.importData-Methode, um Elemente in ein Dataset zu importieren.

Ersetzen Sie dabei folgende Werte für die Anfragedaten:

  • dataset-name: Der Name des Datasets, wie er von der API beim Erstellen des Datasets zurückgegeben wurde
  • bucket-name: Der Cloud Storage-Bucket, der die Eingabe-CSV-Datei enthält, die Ihr Dataset beschreibt
  • csv-file-name: der Name der CSV-Eingabedatei, die Ihr Dataset beschreibt
  • project-id: Ihre Google Cloud Platform-Projekt-ID

HTTP-Methode und URL:

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

JSON-Text anfordern:

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

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

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

Informationen zum Installieren und Verwenden der Clientbibliothek für AutoML Translation finden Sie unter AutoML Translation-Clientbibliotheken. Weitere Informationen finden Sie in der AutoML Translation Go API-Referenzdokumentation.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei AutoML Translation zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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

Informationen zum Installieren und Verwenden der Clientbibliothek für AutoML Translation finden Sie unter AutoML Translation-Clientbibliotheken. Weitere Informationen finden Sie in der AutoML Translation Java API-Referenzdokumentation.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei AutoML Translation zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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

Informationen zum Installieren und Verwenden der Clientbibliothek für AutoML Translation finden Sie unter AutoML Translation-Clientbibliotheken. Weitere Informationen finden Sie in der AutoML Translation Node.js API-Referenzdokumentation.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei AutoML Translation zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

/**
 * 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

Informationen zum Installieren und Verwenden der Clientbibliothek für AutoML Translation finden Sie unter AutoML Translation-Clientbibliotheken. Weitere Informationen finden Sie in der AutoML Translation Python API-Referenzdokumentation.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei AutoML Translation zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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()}")

Weitere Sprachen

C#: Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite der Clientbibliotheken und rufen Sie dann die AutoML Translation-Referenzdokumentation für .NET auf.

PHP: Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite der Clientbibliotheken und rufen Sie dann die AutoML Translation-Referenzdokumentation für PHP auf.

Ruby: Folgen Sie der Anleitung zur Einrichtung von Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die AutoML Translation-Referenzdokumentation für Ruby auf.

Sobald Sie das Dataset erstellt und gefüllt haben, können Sie das Modell trainieren (siehe Modelle erstellen und verwalten).

Datasets verwalten

Datasets auflisten

Ein Projekt kann zahlreiche Datasets enthalten. In diesem Abschnitt wird beschrieben, wie Sie eine Liste der verfügbaren Datasets für ein Projekt abrufen.

Web-UI

Zur Anzeige einer Liste der verfügbaren Datasets mithilfe der AutoML Translation-UI klicken Sie links oben im Navigationsmenü auf den Link Datasets.

&quot;Datasets&quot;-Seite mit einem Dataset

Wenn Sie die Datasets für ein anderes Projekt anzeigen möchten, wählen Sie das Projekt in der Drop-down-Liste oben rechts in der Titelleiste aus.

REST

Ersetzen Sie dabei folgende Werte für die Anfragedaten:

  • project-id: Ihre Google Cloud Platform-Projekt-ID

HTTP-Methode und URL:

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

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

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

Informationen zum Installieren und Verwenden der Clientbibliothek für AutoML Translation finden Sie unter AutoML Translation-Clientbibliotheken. Weitere Informationen finden Sie in der AutoML Translation Go API-Referenzdokumentation.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei AutoML Translation zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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

Informationen zum Installieren und Verwenden der Clientbibliothek für AutoML Translation finden Sie unter AutoML Translation-Clientbibliotheken. Weitere Informationen finden Sie in der AutoML Translation Java API-Referenzdokumentation.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei AutoML Translation zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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

Informationen zum Installieren und Verwenden der Clientbibliothek für AutoML Translation finden Sie unter AutoML Translation-Clientbibliotheken. Weitere Informationen finden Sie in der AutoML Translation Node.js API-Referenzdokumentation.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei AutoML Translation zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

/**
 * 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

Informationen zum Installieren und Verwenden der Clientbibliothek für AutoML Translation finden Sie unter AutoML Translation-Clientbibliotheken. Weitere Informationen finden Sie in der AutoML Translation Python API-Referenzdokumentation.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei AutoML Translation zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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
        )
    )

Weitere Sprachen

C#: Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite der Clientbibliotheken und rufen Sie dann die AutoML Translation-Referenzdokumentation für .NET auf.

PHP: Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite der Clientbibliotheken und rufen Sie dann die AutoML Translation-Referenzdokumentation für PHP auf.

Ruby: Folgen Sie der Anleitung zur Einrichtung von Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die AutoML Translation-Referenzdokumentation für Ruby auf.

Dataset löschen

Web-UI

  1. Klicken Sie in der AutoML Translation-UI links oben im Navigationsmenü auf den Link Datasets, um die Liste der verfügbaren Datasets aufzurufen.

    &quot;Datasets&quot;-Seite mit einem Dataset

  2. Klicken Sie auf das Dreipunkt-Menü ganz rechts in der Zeile, die Sie löschen möchten, und wählen Sie Löschen aus.

  3. Klicken Sie im Bestätigungsdialogfeld auf Bestätigen.

REST

  • Ersetzen Sie dataset-name durch den vollständigen Namen Ihres Datasets aus der Antwort, die Sie beim Erstellen des Datasets erhalten haben. Der vollständige Name hat folgendes Format: projects/{project-id}/locations/us-central1/datasets/{dataset-id}

Ersetzen Sie dabei folgende Werte für die Anfragedaten:

  • dataset-name: Name des zu löschenden Datasets im Format project/project-id/locations/us-central1/datasets/dataset-id

HTTP-Methode und URL:

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

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

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

Informationen zum Installieren und Verwenden der Clientbibliothek für AutoML Translation finden Sie unter AutoML Translation-Clientbibliotheken. Weitere Informationen finden Sie in der AutoML Translation Go API-Referenzdokumentation.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei AutoML Translation zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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

Informationen zum Installieren und Verwenden der Clientbibliothek für AutoML Translation finden Sie unter AutoML Translation-Clientbibliotheken. Weitere Informationen finden Sie in der AutoML Translation Java API-Referenzdokumentation.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei AutoML Translation zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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

Informationen zum Installieren und Verwenden der Clientbibliothek für AutoML Translation finden Sie unter AutoML Translation-Clientbibliotheken. Weitere Informationen finden Sie in der AutoML Translation Node.js API-Referenzdokumentation.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei AutoML Translation zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

/**
 * 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

Informationen zum Installieren und Verwenden der Clientbibliothek für AutoML Translation finden Sie unter AutoML Translation-Clientbibliotheken. Weitere Informationen finden Sie in der AutoML Translation Python API-Referenzdokumentation.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei AutoML Translation zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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()}")

Weitere Sprachen

C#: Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite der Clientbibliotheken und rufen Sie dann die AutoML Translation-Referenzdokumentation für .NET auf.

PHP: Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite der Clientbibliotheken und rufen Sie dann die AutoML Translation-Referenzdokumentation für PHP auf.

Ruby: Folgen Sie der Anleitung zur Einrichtung von Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die AutoML Translation-Referenzdokumentation für Ruby auf.

Importprobleme

Beim Erstellen eines Datasets kann AutoML Translation Satzpaare verlieren, wenn sie zu lang sind oder die Paare in der Ausgangs- und Zielsprache identisch sind.

Bei zu langen Satzpaaren empfehlen wir, Sätze in maximal 200 Wörtern aufzuteilen und das Dataset neu zu erstellen, um die verworfenen Paare aufzunehmen. Bei der Verarbeitung Ihrer Daten verwendet AutoML Translation einen internen Prozess, um Ihre Eingabedaten in Token umzuwandeln, was die Größe Ihrer Sätze erhöhen kann. Diese tokenisierten Daten werden von AutoML Translation zur Messung der Datengröße verwendet. Daher ist das Limit von 200 Wörtern eine Schätzung für die maximale Länge.

Satzpaare, die in der Quell- und Zielsprache identisch sind, können aus dem Dataset entfernt werden. Wenn Sie diese Sätze nicht übersetzen möchten, verwenden Sie eine Glossarressource, um ein benutzerdefiniertes Wörterbuch zu erstellen, das definiert, wie AutoML Translation bestimmte Begriffe verarbeitet.