Membuat set data dan mengimpor data

Sebuah set data adalah yang berisi sampel perwakilan dari jenis konten yang ingin Anda klasifikasikan, yang dilabeli dengan label kategori yang Anda inginkan untuk model kustom anda. Set data berfungsi sebagai input untuk melatih sebuah model.

Langkah-langkah utama untuk membangun set data adalah:

  1. Buat resource set data.
  2. Impor data pelatihan ke dalam set data.
  3. Beri label pada dokumen atau identifikasi entitas.

Untuk klasifikasi dan analisis sentimen, langkah 2 dan 3 sering kali digabungkan: Anda dapat mengimpor dokumen dengan labelnya yang sudah ditetapkan.

Membuat set data

Langkah pertama dalam membuat sebuah model kustom adalah dengan membuat set data kosong yang akan menyimpan data pelatihan untuk model tersebut. Set data yang baru dibuat tidak berisi data apa pun sampai Anda mengimpor dokumen ke dalamnya.

UI Web

Untuk membuat set data:

  1. Buka AutoML Natural Language UI dan pilih Get started di kotak yang sesuai dengan jenis model yang ingin Anda latih.

    Halaman Datasets akan muncul, yang menampilkan status set data yang dibuat sebelumnya untuk project saat ini.

    Untuk menambahkan set data ke project lain, pilih project dari menu drop-down di kanan atas kolom judul.

  2. Klik tombol Set Data Baru pada kolom judul.

  3. Masukkan nama untuk set data dan tentukan Lokasi geografis untuk menyimpan set data.

    Lihat Lokasi untuk informasi selengkapnya.

  4. Pilih tujuan model Anda, yang menentukan jenis analisis yang akan dilakukan dengan model yang Anda latih menggunakan set data ini.

    • Klasifikasi label tunggal menetapkan label tunggal ke setiap dokumen yang diklasifikasikan
    • Klasifikasi multi-label memungkinkan dokumen diberi beberapa label
    • Ekstraksi entity mengidentifikasi entity dalam dokumen
    • Analisis sentimen menganalisis sikap dalam dokumen
  5. Klik Create dataset.

    Halaman Import untuk set data baru akan muncul. Lihat Mengimpor data ke set data.

Contoh kode

Classification

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • project-id: project ID Anda
  • location-id: lokasi untuk resource, us-central1 untuk Lokasi global, atau eu untuk Uni Eropa

Metode HTTP dan URL:

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

Meminta isi JSON:

{
  "displayName": "test_dataset",
  "textClassificationDatasetMetadata": {
    "classificationType": "MULTICLASS"
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/434039606874/locations/us-central1/datasets/356587829854924648",
  "displayName": "test_dataset",
  "createTime": "2018-04-26T18:02:59.825060Z",
  "textClassificationDatasetMetadata": {
    "classificationType": "MULTICLASS"
  }
}

Python

Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python AutoML Natural Language.

Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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"
# Specify the classification type
# Types:
# MultiLabel: Multiple labels are allowed for one example.
# MultiClass: At most one label is allowed per example.
metadata = automl.TextClassificationDatasetMetadata(
    classification_type=automl.ClassificationType.MULTICLASS
)
dataset = automl.Dataset(
    display_name=display_name,
    text_classification_dataset_metadata=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]))

Java

Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java AutoML Natural Language.

Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

import com.google.api.gax.longrunning.OperationFuture;
import com.google.cloud.automl.v1.AutoMlClient;
import com.google.cloud.automl.v1.ClassificationType;
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.TextClassificationDatasetMetadata;
import java.io.IOException;
import java.util.concurrent.ExecutionException;

class LanguageTextClassificationCreateDataset {

  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 classification type
      // Types:
      // MultiLabel: Multiple labels are allowed for one example.
      // MultiClass: At most one label is allowed per example.
      ClassificationType classificationType = ClassificationType.MULTILABEL;

      // Specify the text classification type for the dataset.
      TextClassificationDatasetMetadata metadata =
          TextClassificationDatasetMetadata.newBuilder()
              .setClassificationType(classificationType)
              .build();
      Dataset dataset =
          Dataset.newBuilder()
              .setDisplayName(displayName)
              .setTextClassificationDatasetMetadata(metadata)
              .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

Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js AutoML Natural Language.

Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

/**
 * 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,
      textClassificationDatasetMetadata: {
        classificationType: 'MULTICLASS',
      },
    },
  };

  // 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();

Go

Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Go AutoML Natural Language.

Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

import (
	"context"
	"fmt"
	"io"

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

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

	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_TextClassificationDatasetMetadata{
				TextClassificationDatasetMetadata: &automlpb.TextClassificationDatasetMetadata{
					// Specify the classification type:
					// - MULTILABEL: Multiple labels are allowed for one example.
					// - MULTICLASS: At most one label is allowed per example.
					ClassificationType: automlpb.ClassificationType_MULTICLASS,
				},
			},
		},
	}

	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
}

Bahasa tambahan

C#: Ikuti Petunjuk penyiapan C# di halaman library klien lalu buka Dokumentasi referensi AutoML Natural Language untuk .NET.

PHP: Ikuti petunjuk penyiapan PHP di halaman library klien lalu buka Dokumentasi referensi AutoML Natural Language untuk PHP.

Ruby: Ikuti petunjuk penyiapan Ruby di halaman library klien, lalu buka Dokumentasi referensi AutoML Natural Language untuk Ruby.

Ekstraksi entity

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • project-id: project ID Anda
  • location-id: lokasi untuk resource, us-central1 untuk Lokasi global, atau eu untuk Uni Eropa

Metode HTTP dan URL:

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

Meminta isi JSON:

{
  "displayName": "test_dataset",
  "textExtractionDatasetMetadata": {
   }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  name: "projects/000000000000/locations/us-central1/datasets/TEN5582774688079151104"
  display_name: "test_dataset"
  create_time {
     seconds: 1539886451
     nanos: 757650000
   }
   text_extraction_dataset_metadata {
   }
}

Python

Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python AutoML Natural Language.

Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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"
metadata = automl.TextExtractionDatasetMetadata()
dataset = automl.Dataset(
    display_name=display_name, text_extraction_dataset_metadata=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]))

Java

Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java AutoML Natural Language.

Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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.TextExtractionDatasetMetadata;
import java.io.IOException;
import java.util.concurrent.ExecutionException;

class LanguageEntityExtractionCreateDataset {

  static void createDataset() 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");

      TextExtractionDatasetMetadata metadata = TextExtractionDatasetMetadata.newBuilder().build();
      Dataset dataset =
          Dataset.newBuilder()
              .setDisplayName(displayName)
              .setTextExtractionDatasetMetadata(metadata)
              .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

Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js AutoML Natural Language.

Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

/**
 * 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,
      textExtractionDatasetMetadata: {},
    },
  };

  // 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();

Go

Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Go AutoML Natural Language.

Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

import (
	"context"
	"fmt"
	"io"

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

// languageEntityExtractionCreateDataset creates a dataset for text entity extraction.
func languageEntityExtractionCreateDataset(w io.Writer, projectID string, location string, datasetName string) error {
	// projectID := "my-project-id"
	// location := "us-central1"
	// datasetName := "dataset_display_name"

	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_TextExtractionDatasetMetadata{
				TextExtractionDatasetMetadata: &automlpb.TextExtractionDatasetMetadata{},
			},
		},
	}

	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
}

Bahasa tambahan

C#: Ikuti Petunjuk penyiapan C# di halaman library klien lalu buka Dokumentasi referensi AutoML Natural Language untuk .NET.

PHP: Ikuti petunjuk penyiapan PHP di halaman library klien lalu buka Dokumentasi referensi AutoML Natural Language untuk PHP.

Ruby: Ikuti petunjuk penyiapan Ruby di halaman library klien, lalu buka Dokumentasi referensi AutoML Natural Language untuk Ruby.

Analisis sentimen

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • project-id: project ID Anda
  • location-id: lokasi untuk resource, us-central1 untuk Lokasi global, atau eu untuk Uni Eropa

Metode HTTP dan URL:

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

Meminta isi JSON:

{
  "displayName": "test_dataset",
  "textSentimentDatasetMetadata": {
    "sentimentMax": 4
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  name: "projects/000000000000/locations/us-central1/datasets/TST8962998974766436002"
  display_name: "test_dataset_name"
  create_time {
    seconds: 1538855662
    nanos: 51542000
  }
  text_sentiment_dataset_metadata {
    sentiment_max: 7
  }
}

Python

Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python AutoML Natural Language.

Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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"

# Each dataset requires a sentiment score with a defined sentiment_max
# value, for more information on TextSentimentDatasetMetadata, see:
# https://cloud.google.com/natural-language/automl/docs/prepare#sentiment-analysis
# https://cloud.google.com/automl/docs/reference/rpc/google.cloud.automl.v1#textsentimentdatasetmetadata
metadata = automl.TextSentimentDatasetMetadata(
    sentiment_max=4
)  # Possible max sentiment score: 1-10

dataset = automl.Dataset(
    display_name=display_name, text_sentiment_dataset_metadata=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]))

Java

Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java AutoML Natural Language.

Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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.TextSentimentDatasetMetadata;
import java.io.IOException;
import java.util.concurrent.ExecutionException;

class LanguageSentimentAnalysisCreateDataset {

  static void createDataset() 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 text classification type for the dataset.
      TextSentimentDatasetMetadata metadata =
          TextSentimentDatasetMetadata.newBuilder()
              .setSentimentMax(4) // Possible max sentiment score: 1-10
              .build();
      Dataset dataset =
          Dataset.newBuilder()
              .setDisplayName(displayName)
              .setTextSentimentDatasetMetadata(metadata)
              .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

Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js AutoML Natural Language.

Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

/**
 * 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,
      textSentimentDatasetMetadata: {
        sentimentMax: 4, // Possible max sentiment score: 1-10
      },
    },
  };

  // 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();

Go

Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Go AutoML Natural Language.

Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

import (
	"context"
	"fmt"
	"io"

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

// languageSentimentAnalysisCreateDataset creates a dataset for text sentiment analysis.
func languageSentimentAnalysisCreateDataset(w io.Writer, projectID string, location string, datasetName string) error {
	// projectID := "my-project-id"
	// location := "us-central1"
	// datasetName := "dataset_display_name"

	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_TextSentimentDatasetMetadata{
				TextSentimentDatasetMetadata: &automlpb.TextSentimentDatasetMetadata{
					SentimentMax: 4, // Possible max sentiment score: 1-10
				},
			},
		},
	}

	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
}

Bahasa tambahan

C#: Ikuti Petunjuk penyiapan C# di halaman library klien lalu buka Dokumentasi referensi AutoML Natural Language untuk .NET.

PHP: Ikuti petunjuk penyiapan PHP di halaman library klien lalu buka Dokumentasi referensi AutoML Natural Language untuk PHP.

Ruby: Ikuti petunjuk penyiapan Ruby di halaman library klien, lalu buka Dokumentasi referensi AutoML Natural Language untuk Ruby.

Mengimpor data pelatihan ke dalam set data

Setelah membuat set data, Anda dapat mengimpor URI dan label dokumen untuk dokumen dari file CSV yang disimpan di bucket Cloud Storage. Untuk detail cara menyiapkan data dan membuat file CSV untuk diimpor, lihat Menyiapkan data pelatihan Anda.

Anda dapat mengimpor dokumen ke set data kosong atau mengimpor dokumen tambahan ke dalam set data yang ada.

UI Web

Untuk mengimpor dokumen ke dalam set data:

  1. Pilih set data tempat Anda ingin mengimpor dokumen dari halaman Datasets.

  2. Pada tab Import, tentukan tempat dokumen pelatihan dapat ditemukan.

    Anda dapat:

    • Upload file .csv yang berisi dokumen pelatihan dan label kategori yang terkait dari komputer lokal Anda atau dari Cloud Storage.

    • Upload kumpulan file .txt, .pdf, .tif, atau .zip yang berisi dokumen pelatihan dari komputer lokal Anda.

  3. Pilih file yang akan diimpor dan jalur Cloud Storage untuk dokumen yang diimpor.

  4. Klik Import.

Contoh kode

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • project-id: project ID Anda
  • location-id: lokasi untuk resource, us-central1 untuk Lokasi global, atau eu untuk Uni Eropa
  • dataset-id: ID set data Anda
  • bucket-name: bucket Cloud Storage Anda
  • csv-file-name: file data pelatihan CSV Anda

Metode HTTP dan URL:

POST https://automl.googleapis.com/v1/projects/project-id/locations/location-id/datasets/dataset-id:importData

Meminta isi JSON:

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

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat output yang serupa dengan berikut ini: Anda dapat menggunakan ID operasi untuk mendapatkan status tugas. Untuk contohnya, lihat Mendapatkan status operasi.

{
  "name": "projects/434039606874/locations/us-central1/operations/1979469554520650937",
  "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
  }
}

Python

Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python AutoML Natural Language.

Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Java

Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java AutoML Natural Language.

Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js AutoML Natural Language.

Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

/**
 * 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();

Go

Untuk mempelajari cara menginstal dan menggunakan library klien untuk AutoML Natural Language, lihat library klien AutoML Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Go AutoML Natural Language.

Untuk mengautentikasi AutoML Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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
}

Bahasa tambahan

C#: Ikuti Petunjuk penyiapan C# di halaman library klien lalu buka Dokumentasi referensi AutoML Natural Language untuk .NET.

PHP: Ikuti petunjuk penyiapan PHP di halaman library klien lalu buka Dokumentasi referensi AutoML Natural Language untuk PHP.

Ruby: Ikuti petunjuk penyiapan Ruby di halaman library klien, lalu buka Dokumentasi referensi AutoML Natural Language untuk Ruby.

Pelabelan dokumen pelatihan

Agar berguna untuk melatih model, setiap dokumen dalam set data perlu diberi label dengan cara yang Anda inginkan untuk memberikan label pada dokumen yang serupa oleh AutoML Natural Language. Kualitas data pelatihan Anda sangat memengaruhi efektivitas model yang Anda buat, termasuk juga kualitas prediksi yang ditampilkan dari model tersebut. AutoML Natural Language mengabaikan dokumen tidak berlabel selama pelatihan.

Anda dapat memberikan label untuk dokumen pelatihan dengan tiga cara:

  • Sertakan label di file .csv Anda (hanya untuk klasifikasi dan analisis sentimen)
  • Melabeli dokumen Anda di UI AutoML Natural Language
  • Meminta pelabelan dari pemberi label manusia menggunakan Layanan Pelabelan Data AI Platform

AutoML API tidak menyertakan metode untuk pelabelan.

Untuk mengetahui detail tentang pelabelan dokumen dalam file .csv, lihat Mempersiapkan data pelatihan.

Pelabelan untuk klasifikasi dan analisis sentimen

Untuk memberi label pada dokumen di AutoML Natural Language UI, pilih set data dari halaman listingan set data untuk melihat detailnya. Nama tampilan set data yang dipilih akan muncul di kolom judul, dan halaman tersebut mencantumkan setiap dokumen dalam set data bersama dengan labelnya saat ini. Menu navigasi di sebelah kiri meringkas jumlah dokumen berlabel dan tidak berlabel, serta memungkinkan Anda memfilter daftar dokumen berdasarkan label atau nilai sentimen.

Halaman item teks

Halaman item teks

Untuk menetapkan label atau nilai sentimen ke dokumen yang tidak berlabel atau mengubah label dokumen, pilih dokumen yang ingin diperbarui dan label atau nilai yang ingin Anda tetapkan. Ada dua cara untuk memperbarui label dokumen:

  • Centang kotak di samping dokumen yang ingin Anda perbarui, lalu pilih label untuk diterapkan dari menu drop-down Label yang muncul di bagian atas daftar dokumen.

  • Klik baris dokumen yang ingin Anda perbarui, lalu pilih label atau nilai yang ingin diterapkan dari daftar yang muncul di halaman Detail teks.

Mengidentifikasi entity untuk ekstraksi entity

Sebelum melatih model kustom, Anda perlu menganotasi dokumen pelatihan dalam set data. Anda dapat menganotasi dokumen pelatihan sebelum mengimpornya, atau menambahkan anotasi di UI AutoML Natural Language.

Untuk memberi anotasi pada AutoML Natural Language UI, pilih set data dari halaman listingan set data untuk melihat detailnya. Nama tampilan set data yang dipilih akan muncul di kolom judul, dan halaman mencantumkan setiap dokumen dalam set data bersama dengan anotasi di dalamnya. Menu navigasi di sebelah kiri meringkas label dan frekuensi setiap label muncul. Anda juga dapat memfilter daftar dokumen berdasarkan label.

Daftar anotasi

Untuk menambahkan atau menghapus anotasi dalam dokumen, klik dua kali dokumen yang ingin Anda perbarui. Halaman Edit menampilkan teks lengkap dari dokumen yang dipilih, dengan semua anotasi sebelumnya ditandai.

Editor entity

Untuk dokumen pelatihan PDF atau dokumen yang diimpor dengan informasi tata letak, halaman Edit memiliki dua tab: Teks biasa dan Teks terstruktur. Tab Teks biasa menampilkan konten mentah dokumen pelatihan tanpa pemformatan. Tab Teks terstruktur membuat ulang tata letak dasar dokumen pelatihan. (Tab Teks biasa juga memiliki link ke file PDF asli.)

Editor teks terstruktur

Untuk menambahkan anotasi baru, tandai teks yang merepresentasikan entity, pilih label dari kotak dialog Annotate, lalu klik Save. Saat Anda menambahkan anotasi di tab Teks terstruktur, AutoML Natural Language akan mencatat posisi anotasi pada halaman sebagai faktor yang dipertimbangkan selama pelatihan.

Tambahkan anotasi

Untuk menghapus anotasi, cari teks dalam daftar label di sebelah kanan lalu klik ikon tong sampah di sebelahnya.