1. Übersicht
In diesem Codelab konzentrieren Sie sich auf die Verwendung der Natural Language API mit C#. Sie lernen, wie Sie eine Sentiment-, Entitäts- und Syntaxanalyse durchführen.
Die Natural Language API von Google Cloud stellt Entwicklern Technologien für das Verständnis natürlicher Sprache bereit. Dazu gehören beispielsweise die Sentimentanalyse, Entitätsanalyse und Syntaxanalyse.
Lerninhalte
- Cloud Shell verwenden
- Natural Language API aktivieren
- API-Anfragen authentifizieren
- Google Cloud-Clientbibliothek für C# installieren
- Sentimentanalyse durchführen
- Entitätsanalyse durchführen
- Syntaxanalyse durchführen
Voraussetzungen
Umfrage
Wie werden Sie diese Anleitung verwenden?
Wie würden Sie Ihre Erfahrung mit C# bewerten?
Wie würden Sie Ihre Erfahrungen mit der Verwendung von Google Cloud Platform-Diensten bewerten?
2. Einrichtung und Anforderungen
Umgebung zum selbstbestimmten Lernen einrichten
- Melden Sie sich in der Google Cloud Console an und erstellen Sie ein neues Projekt oder verwenden Sie ein vorhandenes. Wenn Sie noch kein Gmail- oder Google Workspace-Konto haben, müssen Sie eines erstellen.



- Der Projektname ist der Anzeigename für die Teilnehmer dieses Projekts. Es handelt sich um einen String, der nicht von Google APIs verwendet wird. Sie können sie jederzeit aktualisieren.
- Die Projekt-ID ist für alle Google Cloud-Projekte eindeutig und unveränderlich (kann nach dem Festlegen nicht mehr geändert werden). In der Cloud Console wird automatisch ein eindeutiger String generiert. Normalerweise ist es nicht wichtig, wie dieser String aussieht. In den meisten Codelabs müssen Sie auf Ihre Projekt-ID verweisen (in der Regel als
PROJECT_IDangegeben). Wenn Ihnen die generierte ID nicht gefällt, können Sie eine andere zufällige ID generieren. Alternativ können Sie es mit einem eigenen Namen versuchen und sehen, ob er verfügbar ist. Sie kann nach diesem Schritt nicht mehr geändert werden und bleibt für die Dauer des Projekts bestehen. - Zur Information: Es gibt einen dritten Wert, die Projektnummer, die von einigen APIs verwendet wird. Weitere Informationen zu diesen drei Werten
- Als Nächstes müssen Sie die Abrechnung in der Cloud Console aktivieren, um Cloud-Ressourcen/-APIs zu verwenden. Die Durchführung dieses Codelabs kostet wenig oder gar nichts. Wenn Sie Ressourcen herunterfahren möchten, um Kosten zu vermeiden, die über diese Anleitung hinausgehen, können Sie die erstellten Ressourcen oder das Projekt löschen. Neue Google Cloud-Nutzer können am kostenlosen Testzeitraum mit einem Guthaben von 300$ teilnehmen.
Cloud Shell starten
Während Sie Google Cloud von Ihrem Laptop aus per Fernzugriff nutzen können, wird in diesem Codelab Google Cloud Shell verwendet, eine Befehlszeilenumgebung, die in der Cloud ausgeführt wird.
Cloud Shell aktivieren
- Klicken Sie in der Cloud Console auf Cloud Shell aktivieren
.

Wenn Sie die Cloud Shell zum ersten Mal starten, wird ein Fenster mit einer Beschreibung eingeblendet. Klicken Sie in diesem Fall einfach auf Weiter.

Das Herstellen der Verbindung mit der Cloud Shell sollte nur wenige Augenblicke dauern.

Auf dieser virtuellen Maschine sind alle erforderlichen Entwicklungstools installiert. Sie bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft in Google Cloud, was die Netzwerkleistung und Authentifizierung erheblich verbessert. Die meisten, wenn nicht sogar alle Aufgaben in diesem Codelab können mit einem Browser erledigt werden.
Sobald die Verbindung mit der Cloud Shell hergestellt ist, sehen Sie, dass Sie authentifiziert sind und für das Projekt Ihre Projekt-ID eingestellt ist.
- Führen Sie in der Cloud Shell den folgenden Befehl aus, um zu prüfen, ob Sie authentifiziert sind:
gcloud auth list
Befehlsausgabe
Credentialed Accounts
ACTIVE ACCOUNT
* <my_account>@<my_domain.com>
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- Führen Sie den folgenden Befehl in Cloud Shell aus, um zu bestätigen, dass der gcloud-Befehl Ihr Projekt kennt:
gcloud config list project
Befehlsausgabe
[core] project = <PROJECT_ID>
Ist dies nicht der Fall, können Sie die Einstellung mit diesem Befehl vornehmen:
gcloud config set project <PROJECT_ID>
Befehlsausgabe
Updated property [core/project].
3. Natural Language API aktivieren
Bevor Sie die Natural Language API verwenden können, müssen Sie sie aktivieren. Mit Cloud Shell können Sie die API mit dem folgenden Befehl aktivieren:
gcloud services enable language.googleapis.com
4. Google Cloud Natural Language API-Clientbibliothek für C# installieren
Erstellen Sie zuerst eine einfache C#-Konsolenanwendung, mit der Sie Natural Language API-Beispiele ausführen:
dotnet new console -n NaturalLanguageApiDemo
Die Anwendung sollte erstellt und die Abhängigkeiten aufgelöst worden sein:
The template "Console Application" was created successfully.
Processing post-creation actions...
...
Restore succeeded.
Rufen Sie als Nächstes den Ordner NaturalLanguageApiDemo auf:
cd NaturalLanguageApiDemo/
Fügen Sie dem Projekt das NuGet-Paket Google.Cloud.Language.V1 hinzu:
dotnet add package Google.Cloud.Language.V1
info : Adding PackageReference for package 'Google.Cloud.Language.V1' into project '/home/atameldev/NaturalLanguageApiDemo/NaturalLanguageApiDemo.csproj'.
log : Restoring packages for /home/atameldev/NaturalLanguageApiDemo/NaturalLanguageApiDemo.csproj...
...
info : PackageReference for package 'Google.Cloud.Language.V1' version '1.1.0' added to file '/home/atameldev/NaturalLanguageApiDemo/NaturalLanguageApiDemo.csproj'.
Jetzt können Sie die Natural Language API verwenden.
5. Sentimentanalyse
In diesem Abschnitt führen Sie eine Sentimentanalyse für einen String durch und ermitteln mit der Natural Language API den Score und die Magnitude.
Der Score-Wert der Stimmung liegt zwischen -1,0 (negativ) und 1,0 (positiv) und entspricht der allgemeinen Stimmung der angegebenen Informationen.
Der Magnitude-Wert der Stimmung liegt zwischen 0,0 und +infinity und gibt die allgemeine Stärke der Stimmung anhand der angegebenen Informationen an. Je mehr Informationen angegeben werden, desto höher ist die Magnitude.
Öffnen Sie den Code-Editor oben rechts in Cloud Shell:

Rufen Sie die Datei Program.cs im Ordner NaturalLanguageApiDemo auf und ersetzen Sie den Code durch Folgendes:
using System;
using Google.Cloud.Language.V1;
namespace NaturalLanguageApiDemo
{
class Program
{
static void Main(string[] args)
{
var text = "Yukihiro Matsumoto is great!";
var client = LanguageServiceClient.Create();
var response = client.AnalyzeSentiment(Document.FromPlainText(text));
var sentiment = response.DocumentSentiment;
Console.WriteLine($"Score: {sentiment.Score}");
Console.WriteLine($"Magnitude: {sentiment.Magnitude}");
}
}
}
Nehmen Sie sich ein bis zwei Minuten Zeit, um sich den Code anzusehen und zu verstehen, wie das Code-Snippet verwendet wird, um eine Stimmungsanalyse für den String Yukihiro Matsumoto is great! durchzuführen.
Führen Sie die App in Cloud Shell aus:
dotnet run
Es sollte folgende Ausgabe angezeigt werden:
Score: 0.9
Magnitude: 0.9
Zusammenfassung
In diesem Schritt haben Sie eine Sentimentanalyse für einen Textstring durchgeführt und den Score und die Magnitude ausgegeben. Weitere Informationen zur Sentimentanalyse
6. Entitätsanalyse
Bei der Entitätsanalyse werden die angegebenen Informationen auf Entitäten untersucht, indem nach Eigennamen wie Personen des öffentlichen Lebens, Sehenswürdigkeiten usw. gesucht wird. Anschließend werden Informationen zu diesen Entitäten zurückgegeben.
Für die Entitätsanalyse rufen Sie die Datei Program.cs im Ordner NaturalLanguageApiDemo auf und ersetzen Sie den Code durch Folgendes:
using System;
using Google.Cloud.Language.V1;
namespace NaturalLanguageApiDemo
{
class Program
{
static void Main(string[] args)
{
var text = "Yukihiro Matsumoto is great!";
var client = LanguageServiceClient.Create();
var response = client.AnalyzeEntitySentiment(Document.FromPlainText(text));
foreach (var entity in response.Entities)
{
Console.WriteLine($"Entity: \"{entity.Name}\" ({entity.Type})");
if (entity.Metadata.ContainsKey("wikipedia_url"))
{
Console.WriteLine($"URL: {entity.Metadata["wikipedia_url"]}");
}
}
}
}
}
Nehmen Sie sich ein bis zwei Minuten Zeit, um sich den Code anzusehen und zu sehen, wie das Code-Snippet verwendet wird, um eine Entitätsanalyse für den String "Yukihiro Matsumoto is great!" durchzuführen.
Führen Sie die App in Cloud Shell aus:
dotnet run
Es sollte folgende Ausgabe angezeigt werden:
Entity: "Yukihiro Matsumoto" (Person)
URL: https://en.wikipedia.org/wiki/Yukihiro_Matsumoto
Zusammenfassung
In diesem Schritt haben Sie eine Entitätsanalyse für einen Textstring durchgeführt und die zugehörigen Entitäten ausgegeben. Weitere Informationen zur Entitätsanalyse
7. Syntaxanalyse
Bei der Syntaxanalyse werden linguistische Informationen extrahiert. Dazu wird der angegebene Text in eine Reihe von Sätzen und Tokens (im Allgemeinen Wortgrenzen) unterteilt und eine weitere Analyse dieser Tokens durchgeführt.
In diesem Beispiel wird die Anzahl der Sätze und Tokens ausgegeben und die Wortart für jedes Token angegeben.
Für die Syntaxanalyse rufen Sie die Datei Program.cs im Ordner NaturalLanguageApiDemo auf und ersetzen Sie den Code durch Folgendes:
using System;
using Google.Cloud.Language.V1;
using static Google.Cloud.Language.V1.AnnotateTextRequest.Types;
namespace NaturalLanguageApiDemo
{
class Program
{
static void Main(string[] args)
{
var text = "Yukihiro Matsumoto is great!";
var client = LanguageServiceClient.Create();
var response = client.AnnotateText(Document.FromPlainText(text),
new Features { ExtractSyntax = true });
var sentences = response.Sentences;
var tokens = response.Tokens;
Console.WriteLine($"Sentences: {sentences.Count}");
Console.WriteLine($"Tokens: {tokens.Count}");
foreach (var token in tokens)
{
Console.WriteLine($"{token.PartOfSpeech.Tag} {token.Text.Content}");
}
}
}
}
Nehmen Sie sich ein bis zwei Minuten Zeit, um sich den Code anzusehen und zu verstehen, wie das Code-Snippet verwendet wird, um eine Syntaxanalyse für den String "Yukihiro Matsumoto is great!" durchzuführen.
Führen Sie die App in Cloud Shell aus:
dotnet run
Es sollte folgende Ausgabe angezeigt werden:
Sentences: 1
Tokens: 5
Noun Yukihiro
Noun Matsumoto
Verb is
Adj great
Punct !
Unten sehen Sie eine visuelle Darstellung.

Zusammenfassung
In diesem Schritt haben Sie eine Syntaxanalyse für einen einfachen Textstring durchgeführt und die Anzahl der Sätze, die Anzahl der Tokens und die linguistischen Informationen für jedes Token ausgegeben. Weitere Informationen zur Syntaxanalyse
8. Glückwunsch!
Sie haben gelernt, wie Sie die Natural Language API mit C# verwenden, um verschiedene Arten von Analysen für Informationen durchzuführen.
Bereinigen
So vermeiden Sie, dass Ihr Google Cloud Platform-Konto für die in diesem Schnellstart verwendeten Ressourcen belastet wird:
- Rufen Sie die Cloud Platform Console auf.
- Wählen Sie das Projekt aus, das Sie beenden möchten, und klicken Sie oben auf „Löschen“. Das Projekt wird dann zum Löschen geplant.
Weitere Informationen
- Google Cloud Natural Language API: https://cloud.google.com/natural-language/docs/
- C#/.NET auf der Google Cloud Platform: https://cloud.google.com/dotnet/
- Google Cloud .NET-Client: https://googlecloudplatform.github.io/google-cloud-dotnet/
Lizenz
Dieser Text ist mit einer Creative Commons Attribution 2.0 Generic License lizenziert.