预测文本分类。
深入探索
如需查看包含此代码示例的详细文档,请参阅以下内容:
代码示例
Go
import (
"context"
"fmt"
"io"
automl "cloud.google.com/go/automl/apiv1"
"cloud.google.com/go/automl/apiv1/automlpb"
)
// languageTextClassificationPredict does a prediction for text classification.
func languageTextClassificationPredict(w io.Writer, projectID string, location string, modelID string, content string) error {
// projectID := "my-project-id"
// location := "us-central1"
// modelID := "TCN123456789..."
// content := "text to classify"
ctx := context.Background()
client, err := automl.NewPredictionClient(ctx)
if err != nil {
return fmt.Errorf("NewPredictionClient: %v", 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: %v", err)
}
for _, payload := range resp.GetPayload() {
fmt.Fprintf(w, "Predicted class name: %v\n", payload.GetDisplayName())
fmt.Fprintf(w, "Predicted class score: %v\n", payload.GetClassification().GetScore())
}
return nil
}
Java
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.TextSnippet;
import java.io.IOException;
class LanguageTextClassificationPredict {
public static void main(String[] args) 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("Predicted class name: %s\n", annotationPayload.getDisplayName());
System.out.format(
"Predicted sentiment score: %.2f\n\n",
annotationPayload.getClassification().getScore());
}
}
}
}
Node.js
/**
* 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: 'text/plain', 'text/html'
},
},
};
const [response] = await client.predict(request);
for (const annotationPayload of response.payload) {
console.log(`Predicted class name: ${annotationPayload.displayName}`);
console.log(
`Predicted class score: ${annotationPayload.classification.score}`
);
}
}
predict();
Python
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(u"Predicted class name: {}".format(annotation_payload.display_name))
print(
u"Predicted class score: {}".format(annotation_payload.classification.score)
)
后续步骤
如需搜索和过滤其他 Google Cloud 产品的代码示例,请参阅 Google Cloud 示例浏览器。