Inhaltsklassifizierung

Die Inhaltsklassifizierung analysiert ein Dokument und gibt eine Liste der Inhaltskategorien zurück, die für den im Dokument gefundenen Text gelten. Rufen Sie zum Klassifizieren des Inhalts in einem Dokument die Methode classifyText auf.

Eine vollständige Liste der für die Methode classifyText zurückgegebenen Inhaltskategorien finden Sie hier.

Sie können das Modell für die Methode classifyText auswählen. Legen Sie dazu das optionale Feld classificationModelOptions fest:

In diesem Abschnitt werden verschiedene Möglichkeiten zum Klassifizieren des Inhalts in einem Dokument gezeigt. Für jedes Dokument muss eine separate Anfrage gesendet werden.

Inhaltsklassifizierung

Hier ist ein Beispiel für die Klassifizierung von Inhalten in Form eines Strings:

Protokoll

Zum Klassifizieren von Inhalten in einem Dokument senden Sie eine POST-Anfrage an die REST-Methode documents:classifyText und geben den entsprechenden Anfragetext an, wie im folgenden Beispiel gezeigt.

Im Beispiel wird mithilfe des Befehls gcloud auth application-default print-access-token ein Zugriffstoken für ein Dienstkonto abgerufen, das für das Projekt mit dem gcloud CLI der Google Cloud Platform eingerichtet wurde. Eine Anleitung zum Installieren des gcloud-CLI und zum Einrichten eines Projekts mit einem Dienstkonto finden Sie in der Kurzanleitung.

curl -X POST \
     -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
     -H "Content-Type: application/json; charset=utf-8" \
     --data "{
  'document':{
    'type':'PLAIN_TEXT',
    '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.'
  },
  'classificationModelOptions': {
    'v2Model': {
      'contentCategoriesVersion': 'V2',
    }
  }
}" "https://language.googleapis.com/v1/documents:classifyText"

Go

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

Richten Sie für die Authentifizierung bei Natural Language Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


func classifyText(ctx context.Context, client *language.Client, text string) (*languagepb.ClassifyTextResponse, error) {
	return client.ClassifyText(ctx, &languagepb.ClassifyTextRequest{
		Document: &languagepb.Document{
			Source: &languagepb.Document_Content{
				Content: text,
			},
			Type: languagepb.Document_PLAIN_TEXT,
		},
		ClassificationModelOptions: &languagepb.ClassificationModelOptions{
			ModelType: &languagepb.ClassificationModelOptions_V2Model_{
				V2Model: &languagepb.ClassificationModelOptions_V2Model{
					ContentCategoriesVersion: languagepb.ClassificationModelOptions_V2Model_V2,
				},
			},
		},
	})
}

Java

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

Richten Sie für die Authentifizierung bei Natural Language Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

// Instantiate the Language client com.google.cloud.language.v2.LanguageServiceClient
try (LanguageServiceClient language = LanguageServiceClient.create()) {
  // Set content to the text string
  Document doc = Document.newBuilder().setContent(text).setType(Type.PLAIN_TEXT).build();
  ClassifyTextRequest request = ClassifyTextRequest.newBuilder().setDocument(doc).build();
  // Detect categories in the given text
  ClassifyTextResponse response = language.classifyText(request);

  for (ClassificationCategory category : response.getCategoriesList()) {
    System.out.printf(
        "Category name : %s, Confidence : %.3f\n",
        category.getName(), category.getConfidence());
  }
}

Node.js

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

Richten Sie für die Authentifizierung bei Natural Language Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

// Imports the Google Cloud client library
const language = require('@google-cloud/language');

// Creates a client
const client = new language.LanguageServiceClient();

/**
 * TODO(developer): Uncomment the following line to run this code.
 */
// const text = 'Your text to analyze, e.g. Hello, world!';

// Prepares a document, representing the provided text
const document = {
  content: text,
  type: 'PLAIN_TEXT',
};

const classificationModelOptions = {
  v2Model: {
    contentCategoriesVersion: 'V2',
  },
};

// Classifies text in the document
const [classification] = await client.classifyText({
  document,
  classificationModelOptions,
});
console.log('Categories:');
classification.categories.forEach(category => {
  console.log(`Name: ${category.name}, Confidence: ${category.confidence}`);
});

Python

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

Richten Sie für die Authentifizierung bei Natural Language Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

from google.cloud import language_v1

def sample_classify_text(text_content):
    """
    Classifying Content in a String

    Args:
      text_content The text content to analyze.
    """

    client = language_v1.LanguageServiceClient()

    # text_content = "That actor on TV makes movies in Hollywood and also stars in a variety of popular new TV shows."

    # Available types: PLAIN_TEXT, HTML
    type_ = language_v1.Document.Type.PLAIN_TEXT

    # Optional. If not specified, the language is automatically detected.
    # For list of supported languages:
    # https://cloud.google.com/natural-language/docs/languages
    language = "en"
    document = {"content": text_content, "type_": type_, "language": language}

    content_categories_version = (
        language_v1.ClassificationModelOptions.V2Model.ContentCategoriesVersion.V2
    )
    response = client.classify_text(
        request={
            "document": document,
            "classification_model_options": {
                "v2_model": {"content_categories_version": content_categories_version}
            },
        }
    )
    # Loop through classified categories returned from the API
    for category in response.categories:
        # Get the name of the category representing the document.
        # See the predefined taxonomy of categories:
        # https://cloud.google.com/natural-language/docs/categories
        print(f"Category name: {category.name}")
        # Get the confidence. Number representing how certain the classifier
        # is that this category represents the provided text.
        print(f"Confidence: {category.confidence}")

Weitere Sprachen

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

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

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

Inhalte in Cloud Storage klassifizieren

Hier ist ein Beispiel für die Klassifizierung von Inhalten, die in einer Textdatei in Cloud Storage gespeichert sind:

Protokoll

Zum Klassifizieren von Inhalten in einem Dokument, das in Cloud Storage gespeichert ist, senden Sie eine POST-Anfrage an die REST-Methode documents:classifyText und geben dabei den entsprechenden Anfragetext mit dem Pfad zum Dokument an. Beispiel:

curl -X POST \
     -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
     -H "Content-Type: application/json; charset=utf-8" \
     --data "{
  'document':{
    'type':'PLAIN_TEXT',
    'gcsContentUri':'gs://<bucket-name>/<object-name>'
  }
  'classificationModelOptions': {
    'v1Model': {
    }
  }
}" "https://language.googleapis.com/v1/documents:classifyText"

Go

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

Richten Sie für die Authentifizierung bei Natural Language Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


func classifyTextFromGCS(ctx context.Context, gcsURI string) (*languagepb.ClassifyTextResponse, error) {
	return client.ClassifyText(ctx, &languagepb.ClassifyTextRequest{
		Document: &languagepb.Document{
			Source: &languagepb.Document_GcsContentUri{
				GcsContentUri: gcsURI,
			},
			Type: languagepb.Document_PLAIN_TEXT,
		},
	})
}

Java

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

Richten Sie für die Authentifizierung bei Natural Language Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

// Instantiate the Language client com.google.cloud.language.v2.LanguageServiceClient
try (LanguageServiceClient language = LanguageServiceClient.create()) {
  // Set the GCS content URI path
  Document doc =
      Document.newBuilder().setGcsContentUri(gcsUri).setType(Type.PLAIN_TEXT).build();
  ClassifyTextRequest request = ClassifyTextRequest.newBuilder().setDocument(doc).build();
  // Detect categories in the given file
  ClassifyTextResponse response = language.classifyText(request);

  for (ClassificationCategory category : response.getCategoriesList()) {
    System.out.printf(
        "Category name : %s, Confidence : %.3f\n",
        category.getName(), category.getConfidence());
  }
}

Node.js

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

Richten Sie für die Authentifizierung bei Natural Language Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

// Imports the Google Cloud client library.
const language = require('@google-cloud/language');

// Creates a client.
const client = new language.LanguageServiceClient();

/**
 * TODO(developer): Uncomment the following lines to run this code
 */
// const bucketName = 'Your bucket name, e.g. my-bucket';
// const fileName = 'Your file name, e.g. my-file.txt';

// Prepares a document, representing a text file in Cloud Storage
const document = {
  gcsContentUri: `gs://${bucketName}/${fileName}`,
  type: 'PLAIN_TEXT',
};

// Classifies text in the document
const [classification] = await client.classifyText({document});

console.log('Categories:');
classification.categories.forEach(category => {
  console.log(`Name: ${category.name}, Confidence: ${category.confidence}`);
});

Python

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

Richten Sie für die Authentifizierung bei Natural Language Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

from google.cloud import language_v1

def sample_classify_text(gcs_content_uri):
    """
    Classifying Content in text file stored in Cloud Storage

    Args:
      gcs_content_uri Google Cloud Storage URI where the file content is located.
      e.g. gs://[Your Bucket]/[Path to File]
      The text file must include at least 20 words.
    """

    client = language_v1.LanguageServiceClient()

    # gcs_content_uri = 'gs://cloud-samples-data/language/classify-entertainment.txt'

    # Available types: PLAIN_TEXT, HTML
    type_ = language_v1.Document.Type.PLAIN_TEXT

    # Optional. If not specified, the language is automatically detected.
    # For list of supported languages:
    # https://cloud.google.com/natural-language/docs/languages
    language = "en"
    document = {
        "gcs_content_uri": gcs_content_uri,
        "type_": type_,
        "language": language,
    }

    response = client.classify_text(request={"document": document})
    # Loop through classified categories returned from the API
    for category in response.categories:
        # Get the name of the category representing the document.
        # See the predefined taxonomy of categories:
        # https://cloud.google.com/natural-language/docs/categories
        print(f"Category name: {category.name}")
        # Get the confidence. Number representing how certain the classifier
        # is that this category represents the provided text.
        print(f"Confidence: {category.confidence}")

Weitere Sprachen

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

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

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