Mit der Cloud Natural Language API können Sie Entitäten aus Text extrahieren, Text klassifizieren, d. h. Kategorien zuordnen, sowie Stimmungs- und Syntaxanalysen machen.
In diesem Lab erfahren Sie, wie Sie mit der Natural Language API verschiedene Arten von Entitäten, Stimmung und Syntax analysieren können.
Ziele
Aufgaben in diesem Lab:
Eine Natural Language API-Anfrage erstellen und die API mit „curl“ aufrufen
Mit der Natural Language API Entitäten extrahieren und eine Sentimentanalyse eines Textes machen
Einen Text mit der Natural Language API sprachlich analysieren
Eine Natural Language API-Anfrage in einer anderen Sprache erstellen
Einrichtung und Anforderungen
Vor dem Klick auf „Start Lab“ (Lab starten)
Lesen Sie diese Anleitung. Labs sind zeitlich begrenzt und können nicht pausiert werden. Der Timer beginnt zu laufen, wenn Sie auf Lab starten klicken, und zeigt Ihnen, wie lange Google Cloud-Ressourcen für das Lab verfügbar sind.
In diesem praxisorientierten Lab können Sie die Lab-Aktivitäten in einer echten Cloud-Umgebung durchführen – nicht in einer Simulations- oder Demo-Umgebung. Dazu erhalten Sie neue, temporäre Anmeldedaten, mit denen Sie für die Dauer des Labs auf Google Cloud zugreifen können.
Für dieses Lab benötigen Sie Folgendes:
Einen Standardbrowser (empfohlen wird Chrome)
Hinweis: Nutzen Sie den privaten oder Inkognitomodus (empfohlen), um dieses Lab durchzuführen. So wird verhindert, dass es zu Konflikten zwischen Ihrem persönlichen Konto und dem Teilnehmerkonto kommt und zusätzliche Gebühren für Ihr persönliches Konto erhoben werden.
Zeit für die Durchführung des Labs – denken Sie daran, dass Sie ein begonnenes Lab nicht unterbrechen können.
Hinweis: Verwenden Sie für dieses Lab nur das Teilnehmerkonto. Wenn Sie ein anderes Google Cloud-Konto verwenden, fallen dafür möglicherweise Kosten an.
Lab starten und bei der Google Cloud Console anmelden
Klicken Sie auf Lab starten. Wenn Sie für das Lab bezahlen müssen, wird ein Dialogfeld geöffnet, in dem Sie Ihre Zahlungsmethode auswählen können.
Auf der linken Seite befindet sich der Bereich „Details zum Lab“ mit diesen Informationen:
Schaltfläche „Google Cloud Console öffnen“
Restzeit
Temporäre Anmeldedaten für das Lab
Ggf. weitere Informationen für dieses Lab
Klicken Sie auf Google Cloud Console öffnen (oder klicken Sie mit der rechten Maustaste und wählen Sie Link in Inkognitofenster öffnen aus, wenn Sie Chrome verwenden).
Im Lab werden Ressourcen aktiviert. Anschließend wird ein weiterer Tab mit der Seite „Anmelden“ geöffnet.
Tipp: Ordnen Sie die Tabs nebeneinander in separaten Fenstern an.
Hinweis: Wird das Dialogfeld Konto auswählen angezeigt, klicken Sie auf Anderes Konto verwenden.
Kopieren Sie bei Bedarf den folgenden Nutzernamen und fügen Sie ihn in das Dialogfeld Anmelden ein.
{{{user_0.username | "Username"}}}
Sie finden den Nutzernamen auch im Bereich „Details zum Lab“.
Klicken Sie auf Weiter.
Kopieren Sie das folgende Passwort und fügen Sie es in das Dialogfeld Willkommen ein.
{{{user_0.password | "Password"}}}
Sie finden das Passwort auch im Bereich „Details zum Lab“.
Klicken Sie auf Weiter.
Wichtig: Sie müssen die für das Lab bereitgestellten Anmeldedaten verwenden. Nutzen Sie nicht die Anmeldedaten Ihres Google Cloud-Kontos.
Hinweis: Wenn Sie Ihr eigenes Google Cloud-Konto für dieses Lab nutzen, können zusätzliche Kosten anfallen.
Klicken Sie sich durch die nachfolgenden Seiten:
Akzeptieren Sie die Nutzungsbedingungen.
Fügen Sie keine Wiederherstellungsoptionen oder Zwei-Faktor-Authentifizierung hinzu (da dies nur ein temporäres Konto ist).
Melden Sie sich nicht für kostenlose Testversionen an.
Nach wenigen Augenblicken wird die Google Cloud Console in diesem Tab geöffnet.
Hinweis: Wenn Sie auf Google Cloud-Produkte und ‑Dienste zugreifen möchten, klicken Sie auf das Navigationsmenü oder geben Sie den Namen des Produkts oder Dienstes in das Feld Suchen ein.
Aufgabe 1: API-Schlüssel erstellen
Da Sie mit curl eine Anfrage an die Natural Language API senden, müssen Sie einen API-Schlüssel generieren, um die Anfrage-URL zu übergeben.
Öffnen Sie zum Erstellen eines API-Schlüssels in der Cloud Console das Navigationsmenü und wählen Sie APIs und Dienste > Anmeldedaten aus.
Klicken Sie auf Anmeldedaten erstellen und wählen Sie den API-Schlüssel aus.
Kopieren Sie den generierten API-Schlüssel und klicken Sie auf Schließen.
Klicken Sie auf Fortschritt prüfen.
API-Schlüssel erstellen
Für die nächsten Schritte müssen Sie über SSH eine Verbindung mit der für Sie bereitgestellten Instanz herstellen.
Klicken Sie im Navigationsmenü auf „Compute Engine“. Die bereitgestellte Linux-Instanz linux-instance sollte in der Liste VM-Instanzen aufgeführt sein.
Klicken Sie auf die Schaltfläche SSH. Sie werden zu einer interaktiven Shell weitergeleitet.
Geben Sie in der Befehlszeile Folgendes ein. Achten Sie darauf, für <YOUR_API_KEY> den gerade kopierten Schlüssel einzusetzen:
export API_KEY=<YOUR_API_KEY>
Aufgabe 2: Anfrage zur Entitätsanalyse senden
Die erste Natural Language API-Methode, die Sie verwenden, ist analyzeEntities. Damit kann die API Entitäten (wie Personen, Orte und Ereignisse) aus Text extrahieren. Für die Entitätenanalyse der API verwenden wir folgenden Satz:
Joanne Rowling, who writes under the pen names J. K. Rowling and Robert Galbraith, is a British novelist and screenwriter who wrote the Harry Potter fantasy series.
Sie legen die Anfrage für die Natural Language API in der Datei request.json fest.
Verwenden Sie den Codeeditor nano, um die Datei request.json zu erstellen:
nano request.json
Geben Sie in request.json den folgenden Code ein oder fügen Sie ihn ein:
{
"document":{
"type":"PLAIN_TEXT",
"content":"Joanne Rowling, who writes under the pen names J. K. Rowling and Robert Galbraith, is a British novelist and screenwriter who wrote the Harry Potter fantasy series."
},
"encodingType":"UTF8"
}
Drücken Sie STRG + X, um nano zu beenden, dann auf Y, um die Datei zu speichern, und abschließend zur Bestätigung die Eingabetaste.
In der Anfrage teilen Sie der Natural Language API Informationen zu dem von Ihnen gesendeten Text mit. Unterstützt werden die Typwerte PLAIN_TEXT und HTML. Unter "content" übergeben Sie den Text, der zur Analyse an die Natural Language API gesendet werden soll.
Die Natural Language API unterstützt auch das Senden von Dateien aus Cloud Storage zur Textverarbeitung. Wenn Sie eine Datei aus Cloud Storage senden möchten, ersetzen Sie content durch gcsContentUri und verwenden Sie den Wert des URI der Textdatei in Cloud Storage.
encodingType: Teilt der API mit, welche Art von Textcodierung bei der Verarbeitung des Textes verwendet werden soll. Die API berechnet damit die Position bestimmter Entitäten im Text.
Klicken Sie auf Fortschritt prüfen.
Anfrage für eine Entitätenanalyse senden
Aufgabe 3: Die Natural Language API aufrufen
Mit dem folgenden curl-Befehl können Sie nun den Anfragetext zusammen mit der zuvor gespeicherten Umgebungsvariablen mit dem API-Schlüssel an die Natural Language API übergeben. Platzieren Sie dabei alle Elemente in der gleichen Befehlszeile:
Zu jeder Entität in der Antwort erhalten Sie den Entitätstyp (type), die zugehörige Wikipedia-URL (falls vorhanden), die Salienz (salience) und die Indizes darüber, wo diese Entität im Text zu finden ist. Die Salienz ist eine Zahl im Bereich [0,1], die sich auf die Zentralität der Entität im gesamten Dokumenttext bezieht.
Die Natural Language API kann außerdem dieselbe Entität auf unterschiedliche Weisen erkennen. Sehen Sie sich die Liste mentions in der Antwort an: Die API erkennt, dass sich "Joanne Rowling", "Rowling", "novelist" und "Robert Galbriath" auf dieselbe Person beziehen.
Klicken Sie auf Fortschritt prüfen.
Antwort der Entitätenanalyse überprüfen
Aufgabe 4: Sentimentanalyse mit der Natural Language API
Mit der Natural Language API können Sie nicht nur Entitäten extrahieren, sondern auch eine Sentimentanalyse für einen Textblock machen. Die JSON-Anfrage enthält in diesem Fall dieselben Parameter wie die obige Anfrage, jedoch ändern Sie jetzt den Text, indem Sie Elemente aufnehmen, die auf eine intensivere Stimmung hindeuten.
Ersetzen Sie den Code in request.json mithilfe von nano durch den folgenden. Unter content können Sie einen eigenen Text eingeben:
{
"document":{
"type":"PLAIN_TEXT",
"content":"Harry Potter is the best book. I think everyone should read it."
},
"encodingType": "UTF8"
}
Drücken Sie STRG + X, um nano zu beenden, dann auf Y, um die Datei zu speichern, und abschließend zur Bestätigung die Eingabetaste.
Als Nächstes senden Sie die Anfrage an den Endpunkt analyzeSentiment der API:
{
"documentSentiment": {
"magnitude": 1.9,
"score": 0.9
},
"language": "en",
"sentences": [
{
"text": {
"content": "Harry Potter is the best book.",
"beginOffset": 0
},
"sentiment": {
"magnitude": 0.9,
"score": 0.9
}
},
{
"text": {
"content": "I think everyone should read it.",
"beginOffset": 31
},
"sentiment": {
"magnitude": 0.9,
"score": 0.9
}
}
]
}
Hinweis: Es ist vollkommen normal, falls Ihre Ergebnisse geringfügig von der Beispielausgabe abweichen.
Sie sehen, dass die Antwort zwei Arten von "sentiment"-Werten enthält: einen für das gesamte Dokument und einen für jeden einzelnen Satz. Die Sentimentanalyse gibt zwei Werte zurück:
score – eine Zahl zwischen -1,0 und 1,0, die angibt, wie positiv oder negativ die Aussage ist.
magnitude – eine Zahl im Bereich 0 bis unendlich, die das Gewicht der zum Ausdruck gebrachten Stimmung angibt, unabhängig davon, ob die Aussage positiv oder negativ ist.
Längere Textblöcke mit stark gewichteten Aussagen haben höhere "magnitude"-Werte. Der Wert für den ersten Satz ist positiv (0,7), während der Wert für den zweiten Satz neutral ist (0,1).
Aufgabe 5: Sentimentanalyse pro Entität
Die Natural Language API liefert nicht nur Informationen über die Stimmung im gesamten Textdokument, sondern kann die Stimmung auch nach Entitäten im Text aufschlüsseln. Sehen Sie sich diesen Beispielsatz an:
I liked the sushi but the service was terrible.
In diesem Fall liefert eine Sentimentanalyse für den gesamten Satz, so wie sie oben durchgeführt wurde, keine aussagekräftigen Ergebnisse. Wenn dies eine Restaurantbewertung wäre und es Hunderte von Bewertungen für dasselbe Restaurant gäbe, würden Sie wissen wollen, was genau den Kunden gefallen hat und was nicht. Glücklicherweise verfügt die Natural Language API über die Methode analyzeEntitySentiment, mit der Sie die Stimmung für jede Entität im Text ermitteln können. Jetzt können Sie sich ansehen, wie das funktioniert.
Fügen Sie den folgenden Satz mithilfe von nano in request.json ein:
{
"document":{
"type":"PLAIN_TEXT",
"content":"I liked the sushi but the service was terrible."
},
"encodingType": "UTF8"
}
Drücken Sie STRG + X, um nano zu beenden, dann auf Y, um die Datei zu speichern, und abschließend zur Bestätigung die Eingabetaste.
Rufen Sie dann den Endpunkt analyzeEntitySentiment mit dem folgenden „curl“-Befehl auf:
Sie sehen, dass der zurückgegebene Wert für „sushi“ die neutrale Punktzahl 0 beträgt, der für „service“ hingegen -0,7. Nicht schlecht, oder? Sie stellen auch fest, dass für jede Entität zwei "sentiment"-Objekte ausgegeben werden. Wenn einer dieser Begriffe mehr als einmal vorkommen würde, würde die API bei jeder Erwähnung einen anderen Wert für „sentiment“ und „magnitude“ sowie einen aggregierten „sentiment“-Wert für die Entität ausgeben.
Hinweis: Es ist vollkommen normal, falls Ihre Ergebnisse geringfügig von der Beispielausgabe abweichen.
Aufgabe 6: Syntax und Wortarten analysieren
Mit der Syntaxanalyse, einer weiteren Methode der Natural Language API, können Sie noch mehr sprachliche Details zu einem Text erhalten. analyzeSyntax extrahiert linguistische Informationen und unterteilt den vorliegenden Text in eine Reihe von Sätzen und Tokens (im Allgemeinen Wortgrenzen) für eine weitere Analyse dieser Tokens. Für jedes Wort im Text ermittelt die API die Wortart (z. B. Substantiv, Verb, Adjektiv) und in welcher Beziehung es zu anderen Wörtern im Satz steht (Ist es das Vollverb? Ein Attribut?).
Probieren Sie es mit einem einfachen Satz aus. Die JSON-Anfrage ähnelt den vorherigen Anfragen, enthält jedoch einen zusätzlichen Funktionsschlüssel. So wird der API vermittelt, dass Sie eine Syntaxannotation machen möchten.
Ersetzen Sie den Code in request.json mithilfe von nano durch Folgendes:
{
"document":{
"type":"PLAIN_TEXT",
"content": "Joanne Rowling is a British novelist, screenwriter and film producer."
},
"encodingType": "UTF8"
}
Drücken Sie STRG + X, um nano zu beenden, dann auf Y, um die Datei zu speichern, und abschließend zur Bestätigung die Eingabetaste.
Rufen Sie dann die Methode analyzeSyntax der API auf:
Eine Aufschlüsselung der Antwort ergibt Folgendes:
partOfSpeech können Sie entnehmen, dass "Joanne" ein Substantiv ist.
dependencyEdge enthält Daten, mit denen Sie einen Abhängigkeitsparsebaum des Textes erstellen können. Dabei handelt es sich um ein Diagramm, in dem dargestellt wird, in welcher Beziehung Wörter in einem Satz zueinander stehen. Ein Abhängigkeitsparsebaum für den obigen Satz würde folgendermaßen aussehen:
Hinweis: Sie können im Browser eigene Abhängigkeitsparsebäume erstellen. Dazu verwenden Sie die Natural Language-Demo aus der Anleitung zur Natural Language API
headTokenIndex ist der Index des Tokens, das auf „Joanne“ verweist. Sie können sich jedes Token im Satz als Wort in einem Array vorstellen.
headTokenIndex mit dem Wert „1“ für „Joanne“ bezieht sich auf „Rowling“, mit dem es im Baum verbunden ist. Das Label NN (kurz für „noun compound modifier“) beschreibt die Rolle des Wortes im Satz. „Joanne“ bestimmt „Rowling“, das Subjekt des Satzes, näher.
lemma ist die kanonische Form des Wortes. Zum Beispiel haben die Wörter laufen, läuft, lief und laufend alle das Lemma laufen. Der "lemma"-Wert ist hilfreich, um zu ermitteln, wie häufig ein Wort in einem langen Textabschnitt vorkommt.
Aufgabe 7: Mehrsprachige Verarbeitung natürlicher Sprache
Die Natural Language API unterstützt auch weitere Sprachen neben Englisch (eine vollständige Liste finden Sie in der Anleitung zur Sprachenunterstützung).
Ersetzen Sie den Code in request.json durch einen Satz auf Japanisch:
Die Wikipedia-URLs verweisen sogar auf die japanischen Wikipedia-Seiten.
Das war's! Sie haben das Lab erfolgreich abgeschlossen.
Sie haben gelernt, wie Sie mit der Cloud Natural Language API eine Textanalyse machen, indem Sie Entitäten extrahieren, die Stimmung analysieren und Syntaxannotationen platzieren. In dieser Übung haben Sie eine Natural Language API-Anfrage erstellt und die API mit curl aufgerufen, Entitäten extrahiert und mit der Natural Language API eine Sentimentanalyse und eine linguistische Analyse von Text vorgenommen sowie eine Natural Language API-Anfrage in einer anderen Sprache gestellt.
Weitere Informationen
Natural Language API-Anleitungen in der Dokumentation
Google Cloud-Schulungen und -Zertifizierungen
In unseren Schulungen erfahren Sie alles zum optimalen Einsatz unserer Google Cloud-Technologien und können sich entsprechend zertifizieren lassen. Unsere Kurse vermitteln technische Fähigkeiten und Best Practices, damit Sie möglichst schnell mit Google Cloud loslegen und Ihr Wissen fortlaufend erweitern können. Wir bieten On-Demand-, Präsenz- und virtuelle Schulungen für Anfänger wie Fortgeschrittene an, die Sie individuell in Ihrem eigenen Zeitplan absolvieren können. Mit unseren Zertifizierungen weisen Sie nach, dass Sie Experte im Bereich Google Cloud-Technologien sind.
Anleitung zuletzt am 14. Februar 2024 aktualisiert
Labs erstellen ein Google Cloud-Projekt und Ressourcen für einen bestimmten Zeitraum
Labs haben ein Zeitlimit und keine Pausenfunktion. Wenn Sie das Lab beenden, müssen Sie von vorne beginnen.
Klicken Sie links oben auf dem Bildschirm auf Lab starten, um zu beginnen
Privates Surfen verwenden
Kopieren Sie den bereitgestellten Nutzernamen und das Passwort für das Lab
Klicken Sie im privaten Modus auf Konsole öffnen
In der Konsole anmelden
Melden Sie sich mit Ihren Lab-Anmeldedaten an. Wenn Sie andere Anmeldedaten verwenden, kann dies zu Fehlern führen oder es fallen Kosten an.
Akzeptieren Sie die Nutzungsbedingungen und überspringen Sie die Seite zur Wiederherstellung der Ressourcen
Klicken Sie erst auf Lab beenden, wenn Sie das Lab abgeschlossen haben oder es neu starten möchten. Andernfalls werden Ihre bisherige Arbeit und das Projekt gelöscht.
Diese Inhalte sind derzeit nicht verfügbar
Bei Verfügbarkeit des Labs benachrichtigen wir Sie per E-Mail
Sehr gut!
Bei Verfügbarkeit kontaktieren wir Sie per E-Mail
Es ist immer nur ein Lab möglich
Bestätigen Sie, dass Sie alle vorhandenen Labs beenden und dieses Lab starten möchten
Privates Surfen für das Lab verwenden
Nutzen Sie den privaten oder Inkognitomodus, um dieses Lab durchzuführen. So wird verhindert, dass es zu Konflikten zwischen Ihrem persönlichen Konto und dem Teilnehmerkonto kommt und zusätzliche Gebühren für Ihr persönliches Konto erhoben werden.
In diesem Lab erfahren Sie, wie Sie mit der Cloud Natural Language API Entitäten aus Texten extrahieren, Textinhalte klassifizieren, d. h. Kategorien zuordnen, sowie Sentiment- und Syntaxanalysen machen.