Vorgehensweise: Stimmungsanalyse und Opinion MiningHow to: Sentiment analysis and Opinion Mining

Das Standpunktanalysefeature der Textanalyse-API bietet zwei Möglichkeiten zur Erkennung von positiver und negativer Stimmung.The Text Analytics API's Sentiment Analysis feature provides two ways for detecting positive and negative sentiment. Wenn Sie eine Standpunktanalyseanforderung senden, gibt die API Stimmungsbezeichnungen (z. B. „negativ“, „neutral“ und „positiv“) und Zuverlässigkeitsbewertungen auf Satz- und Dokumentebene zurück.If you send a Sentiment Analysis request, the API will return sentiment labels (such as "negative", "neutral" and "positive") and confidence scores at the sentence and document-level. Der Endpunkt der Standpunktanalyse kann auch zum Senden von Opinion Mining-Anforderungen verwendet werden. Dieses Feature liefert detaillierte Informationen zu den Meinungen in Bezug auf im Text enthaltene Aspekte (beispielsweise Attribute von Produkten oder Dienstleistungen).You can also send Opinion Mining requests using the Sentiment Analysis endpoint, which provides granular information about the opinions related to aspects (such as the attributes of products or services) in text.

Die von der API verwendeten KI-Modelle werden vom Dienst bereitgestellt. Sie müssen lediglich Inhalte für die Analyse senden.The AI models used by the API are provided by the service, you just have to send content for analysis.

Versionen und Features der StandpunktanalyseSentiment Analysis versions and features

FunktionFeature Standpunktanalyse v3Sentiment Analysis v3 Standpunktanalyse v3.1 (Vorschauversion)Sentiment Analysis v3.1 (Preview)
Methoden für Einzel- und BatchabfragenMethods for single, and batch requests XX XX
Bewertungen und Bezeichnungen der StandpunktanalyseSentiment Analysis scores and labeling XX XX
Linux-basierte Docker-ContainerLinux-based Docker container XX
Opinion MiningOpinion Mining XX

StandpunktanalyseSentiment Analysis

In Version 3.x wendet die Standpunktanalyse Stimmungsbezeichnungen auf Texte an, die auf Satz- und Dokumentebene zurückgegeben werden, und gibt jeweils eine Zuverlässigkeitsbewertung an.Sentiment Analysis in version 3.x applies sentiment labels to text, which are returned at a sentence and document level, with a confidence score for each.

Die Bezeichnungen sind positiv, negativ und neutral.The labels are positive, negative, and neutral. Auf Dokumentebene kann auch die Stimmungsbezeichnung gemischt zurückgegeben werden.At the document level, the mixed sentiment label also can be returned. Die Stimmung des Dokuments wird unten bestimmt:The sentiment of the document is determined below:

Stimmung von SätzenSentence sentiment Zurückgegebene DokumentbezeichnungReturned document label
Mindestens ein positive-Satz ist im Dokument enthalten.At least one positive sentence is in the document. Die restlichen Sätze sind neutral.The rest of the sentences are neutral. positive
Mindestens ein negative-Satz ist im Dokument enthalten.At least one negative sentence is in the document. Die restlichen Sätze sind neutral.The rest of the sentences are neutral. negative
Mindestens ein negative- und mindestens ein positive-Satz ist im Dokument enthalten.At least one negative sentence and at least one positive sentence are in the document. mixed
Alle Sätze im Dokument sind neutral.All sentences in the document are neutral. neutral

Zuverlässigkeitsbewertungen liegen zwischen 1 und 0.Confidence scores range from 1 to 0. Werte, die näher an 1 liegen, weisen auf eine höhere Zuverlässigkeit der Bezeichnungsklassifizierung hin, während niedrigere Bewertungen eine geringere Zuverlässigkeit bedeuten.Scores closer to 1 indicate a higher confidence in the label's classification, while lower scores indicate lower confidence. Für jedes Dokument oder jeden Satz werden die vorhergesagten Bewertungen, die den Bezeichnungen zugeordnet sind (positiv, negativ und neutral), bis zu 1 hinzugefügt.For each document or each sentence, the predicted scores associated with the labels (positive, negative and neutral) add up to 1. Weitere Informationen finden Sie unter dem Hinweis zur Transparenz der Textanalyse.For more information, see the Text Analytics transparency note.

Opinion MiningOpinion Mining

Opinion Mining ist ein Feature der Standpunktanalyse ab Version 3.1 Preview.Opinion Mining is a feature of Sentiment Analysis, starting in the preview of version 3.1. Dieses Feature wird in der Verarbeitung natürlicher Sprache (Natural Language Processing, NLP) auch als aspektbasierte Standpunktanalyse bezeichnet und bietet feiner abgestufte Informationen zu den Meinungen in Bezug auf Aspekte (z. B. Attribute von Produkten oder Dienstleistungen) in Texten.Also known as Aspect-based Sentiment Analysis in Natural Language Processing (NLP), this feature provides more granular information about the opinions related to aspects (such as the attributes of products or services) in text.

Wenn ein Kunde für ein Hotel beispielsweise Feedback wie „Das Zimmer war toll, aber das Personal war unfreundlich.“ hinterlässt, werden vom Opinion Mining Aspekte im Text sowie die zugehörigen Meinungen und Stimmungen ermittelt.For example, if a customer leaves feedback about a hotel such as "The room was great, but the staff was unfriendly.", Opinion Mining will locate aspects in the text, and their associated opinions and sentiments. Von der Standpunktanalyse wird unter Umständen nur eine negative Stimmung gemeldet.Sentiment Analysis might only report a negative sentiment.

Diagramm: Opinion Mining-Beispiel

Wenn Sie Opinion Mining in Ihre Ergebnisse einbeziehen möchten, müssen Sie das Flag opinionMining=true in eine Stimmungsanalyseanforderung einschließen.To get Opinion Mining in your results, you must include the opinionMining=true flag in a request for sentiment analysis. Die Opinion Mining-Ergebnisse werden in die Antwort der Stimmungsanalyse eingeschlossen.The Opinion Mining results will be included in the sentiment analysis response. Opinion Mining ist eine Standpunktanalyse-Erweiterung und in Ihrem aktuellen Tarif enthalten.Opinion mining is an extension of Sentiment Analysis and is included in your current pricing tier.

Senden einer REST-API-AnforderungSending a REST API request

VorbereitungPreparation

Die Standpunktanalyse liefert bessere Ergebnisse, wenn Sie ihr kleinere Textmengen zuführen.Sentiment analysis produces a higher-quality result when you give it smaller amounts of text to work on. Bei der Schlüsselbegriffserkennung verhält es sich genau umgekehrt: Sie funktioniert besser, wenn sie für große Textblöcke durchgeführt wird.This is opposite from key phrase extraction, which performs better on larger blocks of text. Um für beide Vorgänge optimale Ergebnisse zu erzielen, empfiehlt es sich ggf., die Eingaben entsprechend umzustrukturieren.To get the best results from both operations, consider restructuring the inputs accordingly.

Sie benötigen JSON-Dokumente im folgenden Format: ID, Text und Sprache.You must have JSON documents in this format: ID, text, and language. Die Standpunktanalyse unterstützt eine Vielzahl von Sprachen – weitere befinden sich in der Vorschau.Sentiment Analysis supports a wide range of languages, with more in preview. Weitere Informationen finden Sie unter Unterstützte Sprachen.For more information, see Supported languages.

Ein Dokument darf maximal 5.120 Zeichen enthalten.Document size must be under 5,120 characters per document. Die maximal zulässige Anzahl von Dokumenten in einer Sammlung finden Sie im Artikel Datengrenzwerte und Ratenbegrenzungen für die Textanalyse-API unter „Konzepte“.For the maximum number of documents permitted in a collection, see the data limits article under Concepts. Die Sammlung wird im Hauptteil der Anforderung übermittelt.The collection is submitted in the body of the request.

Strukturieren der AnforderungStructure the request

Erstellen Sie eine POST-Anforderung.Create a POST request. Um eine Anforderung schnell zu strukturieren und zu senden, können Sie in den folgenden Verweislinks Postman oder die API-Testkonsole verwenden.You can use Postman or the API testing console in the following reference links to quickly structure and send one.

AnforderungsendpunkteRequest endpoints

Legen Sie den HTTPS-Endpunkt für die Standpunktanalyse entweder mithilfe einer Textanalyseressource in Azure oder mithilfe eines instanziierten Textanalysecontainers fest.Set the HTTPS endpoint for sentiment analysis by using either a Text Analytics resource on Azure or an instantiated Text Analytics container. Sie müssen die richtige URL für die Version einschließen, die Sie verwenden möchten.You must include the correct URL for the version you want to use. Beispiel:For example:

Hinweis

Den Schlüssel und den Endpunkt für Ihre Textanalyseressource finden Sie im Azure-Portal.You can find your key and endpoint for your Text Analytics resource on the Azure portal. Sie befinden sich auf der Seite Schnellstart der Ressource unter Ressourcenverwaltung.They will be located on the resource's Quick start page, under resource management.

StandpunktanalyseSentiment Analysis

https://<your-custom-subdomain>.cognitiveservices.azure.com/text/analytics/v3.1-preview.3/sentiment

Opinion MiningOpinion Mining

Um Opinion Mining-Ergebnisse zu erhalten, muss der Parameter opinionMining=true eingeschlossen werden.To get Opinion Mining results, you must include the opinionMining=true parameter. Beispiel:For example:

https://<your-custom-subdomain>.cognitiveservices.azure.com/text/analytics/v3.1-preview.3/sentiment?opinionMining=true

Dieser Parameter ist standardmäßig auf false festgelegt.This parameter is set to false by default.

Legen Sie einen Anforderungsheader fest, um Ihren Textanalyse-API-Schlüssel einzubeziehen.Set a request header to include your Text Analytics API key. Geben Sie im Anforderungstext die JSON-Dokumentsammlung an, die Sie für diese Analyse vorbereitet haben.In the request body, provide the JSON documents collection you prepared for this analysis.

Beispielanforderung für Standpunktanalyse und Opinion MiningExample request for Sentiment Analysis and Opinion Mining

Das folgende Beispiel zeigt Inhalte, die Sie ggf. für die Standpunktanalyse übermitteln können:The following is an example of content you might submit for sentiment analysis. Das Anforderungsformat ist für v3.0 und v3.1-preview identisch.The request format is the same for both v3.0 and v3.1-preview.

{
  "documents": [
    {
      "language": "en",
      "id": "1",
      "text": "The restaurant had great food and our waiter was friendly."
    }
  ]
}

Übermitteln der AnforderungPost the request

Die Analyse erfolgt, wenn die Anforderung eingeht.Analysis is performed upon receipt of the request. Informationen zur Größe und Anzahl von Anforderungen, die Sie pro Minute und Sekunde senden können, finden Sie in der Übersicht im Abschnitt Datengrenzwerte.For information on the size and number of requests you can send per minute and second, see the data limits section in the overview.

Die Textanalyse-API ist zustandslos.The Text Analytics API is stateless. Auf Ihrem Konto werden keine Daten gespeichert, und die Ergebnisse werden sofort in der Antwort zurückgegeben.No data is stored in your account, and results are returned immediately in the response.

Zeigen Sie die Ergebnisse anView the results

Die Ausgabe wird umgehend zurückgegeben.Output is returned immediately. Sie können die Ergebnisse an eine Anwendung streamen, die JSON akzeptiert, oder die Ausgabe in einer Datei im lokalen System speichern.You can stream the results to an application that accepts JSON or save the output to a file on the local system. Importieren Sie dann die Ausgabe in eine Anwendung, mit der Sie die Daten sortieren, durchsuchen und bearbeiten können.Then, import the output into an application that you can use to sort, search, and manipulate the data. Aufgrund der Unterstützung von Emojis und mehreren Sprachen enthält der Antworttext unter Umständen Textversätze.Due to multilingual and emoji support, the response may contain text offsets. Weitere Informationen finden Sie unter Textversätze in der Ausgabe der Textanalyse-API.See how to process offsets for more information.

Beispielantwort für Standpunktanalyse und Opinion MiningSentiment Analysis and Opinion Mining example response

Wichtig

Der folgende JSON-Code ist ein Beispiel für die Verwendung von Opinion Mining mit der Standpunktanalyse (in der API-Version 3.1).The following is a JSON example for using Opinion Mining with Sentiment Analysis, offered in v3.1 of the API. Wenn Sie kein Opinion Mining anfordern, ist die API-Antwort mit der Antwort auf der Registerkarte Version 3.0 identisch.If you don't request Opinion mining, the API response will be the same as the Version 3.0 tab.

Von Version 3.1 der Standpunktanalyse können Antwortobjekte für die Standpunktanalyse und für das Opinion Mining zurückgegeben werden.Sentiment Analysis v3.1 can return response objects for both Sentiment Analysis and Opinion Mining.

Die Standpunktanalyse gibt eine Stimmungsbezeichnung und eine Zuverlässigkeitsbewertung für das gesamte Dokument und jeden Satz darin zurück.Sentiment analysis returns a sentiment label and confidence score for the entire document, and each sentence within it. Werte, die näher an 1 liegen, weisen auf eine höhere Zuverlässigkeit der Bezeichnungsklassifizierung hin, während niedrigere Bewertungen eine geringere Zuverlässigkeit bedeuten.Scores closer to 1 indicate a higher confidence in the label's classification, while lower scores indicate lower confidence. Ein Dokument kann mehrere Sätze enthalten, und die Zuverlässigkeitsbewertungen in jedem Dokument oder Satz ergeben addiert 1.A document can have multiple sentences, and the confidence scores within each document or sentence add up to 1.

Beim Opinion Mining werden Aspekte im Text sowie die zugehörigen Meinungen und Stimmungen ermittelt.Opinion Mining will locate aspects in the text, and their associated opinions and sentiments. In der nachstehenden Antwort weist der Satz Im Restaurant gab es großartiges Essen, und der Kellner war freundlich zwei Aspekte auf: Essen und Kellner.In the below response, the sentence The restaurant had great food and our waiter was friendly has two aspects: food and waiter. Die relations-Eigenschaft jedes Aspekts enthält einen ref-Wert mit dem URI-Verweis auf die zugeordneten Objekte documents, sentences und opinions.Each aspect's relations property contains a ref value with the URI-reference to the associated documents, sentences, and opinions objects.

{
    "documents": [
        {
            "id": "1",
            "sentiment": "positive",
            "confidenceScores": {
                "positive": 1.0,
                "neutral": 0.0,
                "negative": 0.0
            },
            "sentences": [
                {
                    "sentiment": "positive",
                    "confidenceScores": {
                        "positive": 1.0,
                        "neutral": 0.0,
                        "negative": 0.0
                    },
                    "offset": 0,
                    "length": 58,
                    "text": "The restaurant had great food and our waiter was friendly.",
                    "aspects": [
                        {
                            "sentiment": "positive",
                            "confidenceScores": {
                                "positive": 1.0,
                                "negative": 0.0
                            },
                            "offset": 25,
                            "length": 4,
                            "text": "food",
                            "relations": [
                                {
                                    "relationType": "opinion",
                                    "ref": "#/documents/0/sentences/0/opinions/0"
                                }
                            ]
                        },
                        {
                            "sentiment": "positive",
                            "confidenceScores": {
                                "positive": 1.0,
                                "negative": 0.0
                            },
                            "offset": 38,
                            "length": 6,
                            "text": "waiter",
                            "relations": [
                                {
                                    "relationType": "opinion",
                                    "ref": "#/documents/0/sentences/0/opinions/1"
                                }
                            ]
                        }
                    ],
                    "opinions": [
                        {
                            "sentiment": "positive",
                            "confidenceScores": {
                                "positive": 1.0,
                                "negative": 0.0
                            },
                            "offset": 19,
                            "length": 5,
                            "text": "great",
                            "isNegated": false
                        },
                        {
                            "sentiment": "positive",
                            "confidenceScores": {
                                "positive": 1.0,
                                "negative": 0.0
                            },
                            "offset": 49,
                            "length": 8,
                            "text": "friendly",
                            "isNegated": false
                        }
                    ]
                }
            ],
            "warnings": []
        }
    ],
    "errors": [],
    "modelVersion": "2020-04-01"
}

ZusammenfassungSummary

In diesem Artikel haben Sie sich mit Konzepten und dem Workflow für die Standpunktanalyse unter Verwendung der Textanalyse-API vertraut gemacht.In this article, you learned concepts and workflow for sentiment analysis using the Text Analytics API. Zusammenfassung:In summary:

  • Standpunktanalyse und Opinion Mining sind für ausgewählte Sprachen verfügbar.Sentiment Analysis and Opinion Mining is available for select languages.
  • JSON-Dokumente im Anforderungstext umfassen eine ID, Text und einen Sprachcode.JSON documents in the request body include an ID, text, and language code.
  • Die POST-Anforderung wird an einen Endpunkt vom Typ /sentiment gesendet. Dabei werden ein personalisierter Zugriffsschlüssel und ein Endpunkt verwendet, der für Ihr Abonnement gültig ist.The POST request is to a /sentiment endpoint by using a personalized access key and an endpoint that's valid for your subscription.
  • Verwenden Sie opinionMining=true in Standpunktanalyseanforderungen, um Opinion Mining-Ergebnisse zu erhalten.Use opinionMining=true in Sentient Analysis requests to get Opinion Mining results.
  • Bei der Antwortausgabe handelt es sich um eine Stimmungspunktzahl für die jeweilige Dokument-ID. Sie kann an eine beliebige JSON-fähige App gestreamt werden.Response output, which consists of a sentiment score for each document ID, can be streamed to any app that accepts JSON. Beispielsweise Excel und Power BI.For example, Excel and Power BI.

Weitere InformationenSee also