Clasificar el contenido

La vida útil máxima de un modelo personalizado es de seis meses. Debes crear y entrenar un modelo nuevo para continuar clasificando contenido después de ese período.

IU web

  1. Abre la IU de AutoML Natural Language y haz clic en el ícono de la bombilla en la barra de navegación izquierda para mostrar los modelos disponibles.

    Para ver los modelos de un proyecto diferente, selecciónalo de la lista desplegable en la parte superior derecha de la barra de título.

  2. Haz clic en la fila del modelo que deseas usar para clasificar tu contenido.

  3. Haz clic en la pestaña Predecir que está debajo de la barra de título.

  4. Ingresa el contenido que deseas clasificar en el cuadro de texto y haz clic en Predecir.

La IU de AutoML Natural Language no muestra predicciones de confianza baja.

Línea de comandos

Luego de que tu modelo haya sido entrenado con éxito mediante la API de AutoML, puedes llamar al método predict para clasificar contenido con el modelo.

  • Reemplaza model-name con el nombre completo de tu modelo, según la respuesta que obtuviste cuando creaste el modelo. El nombre completo tiene el formato: projects/{project-id}/locations/us-central1/models/{model-id}
curl -X POST \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "Content-Type: application/json" \
  https://automl.googleapis.com/v1beta1/model-name:predict \
  -d '{
        "payload" : {
          "textSnippet": {
               "content": "Google, headquartered in Mountain View, unveiled the new Android
                 phone at the Consumer Electronic Show.  Sundar Pichai said in his keynote
                 that users love their new Android phones.",
                "mime_type": "text/plain"
           },
        }
      }'

Deberías ver un resultado similar al siguiente. Puedes usar el valor del campo score para determinar la etiqueta que se aplica al documento. Valores más altos indican mayor confianza de que la etiqueta se aplica al documento.

{
  "payload": [
    {
      "displayName": "Technology",
      "classification": {
        "score": 0.8989502
      }
    },
    {
      "displayName": "Automobiles",
      "classification": {
        "score": 0.10098731
      }
    }
  ]
}

Python

Antes de que puedas ejecutar este ejemplo de código, debes instalar las bibliotecas cliente de Python.

  • El parámetro model_full_id es el nombre completo de tu modelo. Por ejemplo: projects/434039606874/locations/us-central1/models/3745331181667467569.
# TODO(developer): Uncomment and set the following variables
# project_id = 'PROJECT_ID_HERE'
# compute_region = 'COMPUTE_REGION_HERE'
# model_id = 'MODEL_ID_HERE'
# file_path = '/local/path/to/file'

from google.cloud import automl_v1beta1 as automl

automl_client = automl.AutoMlClient()

# Create client for prediction service.
prediction_client = automl.PredictionServiceClient()

# Get the full path of the model.
model_full_id = automl_client.model_path(
    project_id, compute_region, model_id
)

# Read the file content for prediction.
with open(file_path, "rb") as content_file:
    snippet = content_file.read()

# Set the payload by giving the content and type of the file.
payload = {"text_snippet": {"content": snippet, "mime_type": "text/plain"}}

# params is additional domain-specific parameters.
# currently there is no additional parameters supported.
params = {}
response = prediction_client.predict(model_full_id, payload, params)
print("Prediction results:")
for result in response.payload:
    print("Predicted class name: {}".format(result.display_name))
    print("Predicted class score: {}".format(result.classification.score))

Java

/**
 * Demonstrates using the AutoML client to classify the text content
 *
 * @param projectId the Id of the project.
 * @param computeRegion the Region name.
 * @param modelId the Id of the model which will be used for text classification.
 * @param filePath the Local text file path of the content to be classified.
 * @throws IOException on Input/Output errors.
 */
public static void predict(
    String projectId, String computeRegion, String modelId, String filePath) throws IOException {

  // Create client for prediction service.
  PredictionServiceClient predictionClient = PredictionServiceClient.create();

  // Get full path of model
  ModelName name = ModelName.of(projectId, computeRegion, modelId);

  // Read the file content for prediction.
  String content = new String(Files.readAllBytes(Paths.get(filePath)));

  // Set the payload by giving the content and type of the file.
  TextSnippet textSnippet =
      TextSnippet.newBuilder().setContent(content).setMimeType("text/plain").build();
  ExamplePayload payload = ExamplePayload.newBuilder().setTextSnippet(textSnippet).build();

  // params is additional domain-specific parameters.
  // currently there is no additional parameters supported.
  Map<String, String> params = new HashMap<String, String>();
  PredictResponse response = predictionClient.predict(name, payload, params);

  System.out.println("Prediction results:");
  for (AnnotationPayload annotationPayload : response.getPayloadList()) {
    System.out.println("Predicted Class name :" + annotationPayload.getDisplayName());
    System.out.println(
        "Predicted Class Score :" + annotationPayload.getClassification().getScore());
  }
}

Node.js

  const automl = require(`@google-cloud/automl`);
  const fs = require(`fs`);

  // Create client for prediction service.
  const client = new automl.v1beta1.PredictionServiceClient();

  /**
   * TODO(developer): Uncomment the following line before running the sample.
   */
  // const projectId = `The GCLOUD_PROJECT string, e.g. "my-gcloud-project"`;
  // const computeRegion = `region-name, e.g. "us-central1"`;
  // const modelId = `id of the model, e.g. “ICN12345”`;
  // const filePath = `local text file path of content to be classified, e.g. "./resources/test.txt"`;

  // Get the full path of the model.
  const modelFullId = client.modelPath(projectId, computeRegion, modelId);

  // Read the file content for prediction.
  const snippet = fs.readFileSync(filePath, `utf8`);

  // Set the payload by giving the content and type of the file.
  const payload = {
    textSnippet: {
      content: snippet,
      mimeType: `text/plain`,
    },
  };

  // Params is additional domain-specific parameters.
  // Currently there is no additional parameters supported.
  const [response] = await client.predict({
    name: modelFullId,
    payload: payload,
    params: {},
  });
  console.log(`Prediction results:`);
  response[0].payload.forEach(result => {
    console.log(`Predicted class name: ${result.displayName}`);
    console.log(`Predicted class score: ${result.classification.score}`);
  });

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

AutoML Natural Language
¿Necesitas ayuda? Visita nuestra página de asistencia.