Memprediksi ekstraksi entity

Memprediksi ekstraksi entity teks.

Jelajahi lebih lanjut

Untuk dokumentasi mendetail yang menyertakan contoh kode ini, lihat artikel berikut:

Contoh kode

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

// languageEntityExtractionPredict does a prediction for text entity extraction.
func languageEntityExtractionPredict(w io.Writer, projectID string, location string, modelID string, content string) error {
	// projectID := "my-project-id"
	// location := "us-central1"
	// modelID := "TEN123456789..."
	// content := "text to extract entities"

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

	req := &automlpb.PredictRequest{
		Name: fmt.Sprintf("projects/%s/locations/%s/models/%s", projectID, location, modelID),
		Payload: &automlpb.ExamplePayload{
			Payload: &automlpb.ExamplePayload_TextSnippet{
				TextSnippet: &automlpb.TextSnippet{
					Content:  content,
					MimeType: "text/plain", // Types: "text/plain", "text/html"
				},
			},
		},
	}

	resp, err := client.Predict(ctx, req)
	if err != nil {
		return fmt.Errorf("Predict: %w", err)
	}

	for _, payload := range resp.GetPayload() {
		fmt.Fprintf(w, "Text extract entity types: %v\n", payload.GetDisplayName())
		fmt.Fprintf(w, "Text score: %v\n", payload.GetTextExtraction().GetScore())
		textSegment := payload.GetTextExtraction().GetTextSegment()
		fmt.Fprintf(w, "Text extract entity content: %v\n", textSegment.GetContent())
		fmt.Fprintf(w, "Text start offset: %v\n", textSegment.GetStartOffset())
		fmt.Fprintf(w, "Text end offset: %v\n", textSegment.GetEndOffset())
	}

	return nil
}

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.cloud.automl.v1.AnnotationPayload;
import com.google.cloud.automl.v1.ExamplePayload;
import com.google.cloud.automl.v1.ModelName;
import com.google.cloud.automl.v1.PredictRequest;
import com.google.cloud.automl.v1.PredictResponse;
import com.google.cloud.automl.v1.PredictionServiceClient;
import com.google.cloud.automl.v1.TextSegment;
import com.google.cloud.automl.v1.TextSnippet;
import java.io.IOException;

class LanguageEntityExtractionPredict {

  static void predict() throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "YOUR_PROJECT_ID";
    String modelId = "YOUR_MODEL_ID";
    String content = "text to predict";
    predict(projectId, modelId, content);
  }

  static void predict(String projectId, String modelId, String content) 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 (PredictionServiceClient client = PredictionServiceClient.create()) {
      // Get the full path of the model.
      ModelName name = ModelName.of(projectId, "us-central1", modelId);

      // For available mime types, see:
      // https://cloud.google.com/automl/docs/reference/rest/v1/projects.locations.models/predict#textsnippet
      TextSnippet textSnippet =
          TextSnippet.newBuilder()
              .setContent(content)
              .setMimeType("text/plain") // Types: text/plain, text/html
              .build();
      ExamplePayload payload = ExamplePayload.newBuilder().setTextSnippet(textSnippet).build();
      PredictRequest predictRequest =
          PredictRequest.newBuilder().setName(name.toString()).setPayload(payload).build();

      PredictResponse response = client.predict(predictRequest);

      for (AnnotationPayload annotationPayload : response.getPayloadList()) {
        System.out.format("Text Extract Entity Type: %s\n", annotationPayload.getDisplayName());
        System.out.format("Text score: %.2f\n", annotationPayload.getTextExtraction().getScore());
        TextSegment textSegment = annotationPayload.getTextExtraction().getTextSegment();
        System.out.format("Text Extract Entity Content: %s\n", textSegment.getContent());
        System.out.format("Text Start Offset: %s\n", textSegment.getStartOffset());
        System.out.format("Text End Offset: %s\n\n", textSegment.getEndOffset());
      }
    }
  }
}

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 modelId = 'YOUR_MODEL_ID';
// const content = 'text to predict'

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

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

async function predict() {
  // Construct request
  const request = {
    name: client.modelPath(projectId, location, modelId),
    payload: {
      textSnippet: {
        content: content,
        mimeType: 'text/plain', // Types: 'test/plain', 'text/html'
      },
    },
  };

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

  for (const annotationPayload of response.payload) {
    console.log(
      `Text Extract Entity Types: ${annotationPayload.displayName}`
    );
    console.log(`Text Score: ${annotationPayload.textExtraction.score}`);
    const textSegment = annotationPayload.textExtraction.textSegment;
    console.log(`Text Extract Entity Content: ${textSegment.content}`);
    console.log(`Text Start Offset: ${textSegment.startOffset}`);
    console.log(`Text End Offset: ${textSegment.endOffset}`);
  }
}

predict();

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"
# model_id = "YOUR_MODEL_ID"
# content = "text to predict"

prediction_client = automl.PredictionServiceClient()

# Get the full path of the model.
model_full_id = automl.AutoMlClient.model_path(project_id, "us-central1", model_id)

# Supported mime_types: 'text/plain', 'text/html'
# https://cloud.google.com/automl/docs/reference/rpc/google.cloud.automl.v1#textsnippet
text_snippet = automl.TextSnippet(content=content, mime_type="text/plain")
payload = automl.ExamplePayload(text_snippet=text_snippet)

response = prediction_client.predict(name=model_full_id, payload=payload)

for annotation_payload in response.payload:
    print(f"Text Extract Entity Types: {annotation_payload.display_name}")
    print(f"Text Score: {annotation_payload.text_extraction.score}")
    text_segment = annotation_payload.text_extraction.text_segment
    print(f"Text Extract Entity Content: {text_segment.content}")
    print(f"Text Start Offset: {text_segment.start_offset}")
    print(f"Text End Offset: {text_segment.end_offset}")

Langkah selanjutnya

Untuk menelusuri dan memfilter contoh kode untuk produk Google Cloud lainnya, lihat browser contoh Google Cloud.