Beispiel: Erkennen von Schlüsselbegriffen mithilfe der TextanalyseExample: How to extract key phrases using Text Analytics

Die Schlüsselbegriffserkennungs-API bewertet unstrukturierten Text und gibt für jedes JSON-Dokument eine Liste mit Schlüsselbegriffen zurück.The Key Phrase Extraction API evaluates unstructured text, and for each JSON document, returns a list of key phrases.

Diese Funktion ist nützlich, wenn Sie die wichtigsten Punkte in einer Sammlung von Dokumenten schnell identifizieren müssen.This capability is useful if you need to quickly identify the main points in a collection of documents. Wenn der eingegebene Text beispielsweise „Das Essen war köstlich, und es gab hervorragendes Personal“ lautet, gibt der Dienst die Kernpunkte „Essen“ und „hervorragendes Personal“ zurück.For example, given input text "The food was delicious and there were wonderful staff", the service returns the main talking points: "food" and "wonderful staff".

Weitere Informationen finden Sie unter Unterstützte Sprachen.For more information, see Supported languages.

Tipp

VorbereitungPreparation

Die Schlüsselbegriffserkennung funktioniert am besten, wenn Sie ihr größere Texte zur Verarbeitung übergeben.Key phrase extraction works best when you give it bigger amounts of text to work on. Dies steht im Gegensatz zur Standpunktanalyse, die mit kleineren Texten besser funktioniert.This is opposite from sentiment analysis, which performs better on smaller amounts 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, Sprache.You must have JSON documents in this format: ID, text, language

Die Dokumentgröße darf 5.120 Zeichen pro Dokument nicht übersteigen, und pro Sammlung sind bis zu 1.000 Elemente (IDs) zulässig.Document size must be 5,120 or fewer characters per document, and you can have up to 1,000 items (IDs) per collection. Die Sammlung wird im Hauptteil der Anforderung übermittelt.The collection is submitted in the body of the request. Das folgende Beispiel ist eine Abbildung von Inhalten, die Sie zur Schlüsselbegriffserkennung übermitteln könnten.The following example is an illustration of content you might submit for key phrase extraction.

Unter Aufrufen der Textanalyse-REST-API erhalten Sie weitere Informationen zu Anforderungen und Antwortobjekten.See How to call the Text Analytics API for more information on request and response objects.

Beispiel eines synchronen AnforderungsobjektsExample synchronous request object

    {
        "documents": [
            {
                "language": "en",
                "id": "1",
                "text": "We love this trail and make the trip every year. The views are breathtaking and well worth the hike!"
            },
            {
                "language": "en",
                "id": "2",
                "text": "Poorly marked trails! I thought we were goners. Worst hike ever."
            },
            {
                "language": "en",
                "id": "3",
                "text": "Everyone in my family liked the trail but thought it was too challenging for the less athletic among us. Not necessarily recommended for small children."
            },
            {
                "language": "en",
                "id": "4",
                "text": "It was foggy so we missed the spectacular views, but the trail was ok. Worth checking out if you are in the area."
            },
            {
                "language": "en",
                "id": "5",
                "text": "This is my favorite trail. It has beautiful views and many places to stop and rest"
            }
        ]
    }

Beispiel eines asynchronen AnforderungsobjektsExample asynchronous request object

Ab v3.1-preview.3 können Sie NER-Anforderungen mithilfe des /analyze-Endpunkts asynchron senden.Starting in v3.1-preview.3, You can send NER requests asynchronously using the /analyze endpoint.

{
    "displayName": "My Job",
    "analysisInput": {
        "documents": [
            {
                "id": "doc1",
                "text": "It's incredibly sunny outside! I'm so happy"
            },
            {
                "id": "doc2",
                "text": "Pike place market is my favorite Seattle attraction."
            }
        ]
    },
    "tasks": {
        "keyPhraseExtractionTasks": [{
            "parameters": {
                "model-version": "latest"
            }
        }],
    }
}

Schritt 1: Strukturieren der AnforderungStep 1: Structure the request

Weitere Informationen zur Anforderungsdefinition finden Sie unter Aufrufen der Textanalyse-API.For information about request definition, see How to call the Text Analytics API. Der Einfachheit halber sind hier noch einmal einige Punkte aufgeführt:The following points are restated for convenience:

  • Erstellen Sie eine Anforderung vom Typ POST.Create a POST request. Lesen Sie die API-Dokumentation für diese Anforderung: Schlüsselbegriffs-API:Review the API documentation for this request: Key Phrases API.

  • Legen Sie den HTTP-Endpunkt für die Schlüsselbegriffsextraktion entweder mithilfe einer Textanalyseressource in Azure oder mithilfe eines instanziierten Textanalysecontainers fest.Set the HTTP endpoint for key phrase extraction by using either a Text Analytics resource on Azure or an instantiated Text Analytics container. Wenn Sie die API synchron verwenden, müssen Sie /text/analytics/v3.0/keyPhrases in der URL einschließen.if you're using the API synchronously, you must include /text/analytics/v3.0/keyPhrases in the URL. Beispiel: https://<your-custom-subdomain>.api.cognitiveservices.azure.com/text/analytics/v3.0/keyPhrases.For example: https://<your-custom-subdomain>.api.cognitiveservices.azure.com/text/analytics/v3.0/keyPhrases.

  • Legen Sie einen Anforderungsheader fest, der den Zugriffsschlüssel für Textanalysevorgänge enthält.Set a request header to include the access key for Text Analytics operations.

  • 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.

Tipp

Verwenden Sie Postman, oder öffnen Sie die API-Testkonsole in der Dokumentation, um eine Anforderung zu strukturieren und mittels POST an den Dienst zu übermitteln.Use Postman or open the API testing console in the documentation to structure a request and POST it to the service.

Schritt 2: Übermitteln der AnforderungStep 2: Post 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 about the size and number of requests you can send per minute or per second, see the data limits section in the overview.

Vergessen Sie nicht, dass der Dienst zustandslos ist.Recall that the service is stateless. In Ihrem Konto werden keine Daten gespeichert.No data is stored in your account. Die Ergebnisse werden direkt in der Antwort zurückgegeben.Results are returned immediately in the response.

Schritt 3: Anzeigen der ErgebnisseStep 3: View results

Alle POST-Anforderungen geben eine Antwort im JSON-Format mit den IDs und erkannten Eigenschaften zurück.All POST requests return a JSON formatted response with the IDs and detected properties. Die Reihenfolge der zurückgegebenen Schlüsselbegriffe wird vom Modell intern bestimmt.The order of the returned key phrases is determined internally, by the model.

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 auf dem lokalen System speichern und sie anschließend in eine Anwendung importieren, in der Sie die Daten sortieren, durchsuchen und bearbeiten können.You can stream the results to an application that accepts JSON or save the output to a file on the local system, and then import it into an application that allows you to sort, search, and manipulate the data.

Ein Beispiel für die Ausgabe zur Schlüsselbegriffserkennung vom Endpunkt „v3.1-preview.2“ wird hier gezeigt:An example of the output for key phrase extraction from the v3.1-preview.2 endpoint is shown here:

Synchrone ErgebnisseSynchronous result

    {
       "documents":[
          {
             "id":"1",
             "keyPhrases":[
                "year",
                "trail",
                "trip",
                "views",
                "hike"
             ],
             "warnings":[]
          },
          {
             "id":"2",
             "keyPhrases":[
                "marked trails",
                "Worst hike",
                "goners"
             ],
             "warnings":[]
          },
          {
             "id":"3",
             "keyPhrases":[
                "trail",
                "small children",
                "family"
             ],
             "warnings":[]
          },
          {
             "id":"4",
             "keyPhrases":[
                "spectacular views",
                "trail",
                "Worth",
                "area"
             ],
             "warnings":[]
          },
          {
             "id":"5",
             "keyPhrases":[
                "places",
                "beautiful views",
                "favorite trail",
                "rest"
             ],
             "warnings":[]
          }
       ],
       "errors":[],
       "modelVersion":"2020-07-01"
    }

Wie bereits erwähnt, sucht das Analysetool nach unbedeutenden Wörter, verwirft sie und behält einzelne Begriffe oder Ausdrücke bei, die offenbar Subjekt oder Objekt eines Satzes sind.As noted, the analyzer finds and discards non-essential words, and it keeps single terms or phrases that appear to be the subject or object of a sentence.

Asynchrone ErgebnisseAsynchronous result

Wenn Sie den /analyze-Endpunkt für asynchrone Vorgänge verwenden, erhalten Sie eine Antwort, die die Aufgaben enthält, die Sie an die API gesendet haben.If you use the /analyze endpoint for asynchronous operation, you will get a response containing the tasks you sent to the API.

{
  "displayName": "My Analyze Job",
  "jobId": "dbec96a8-ea22-4ad1-8c99-280b211eb59e_637408224000000000",
  "lastUpdateDateTime": "2020-11-13T04:01:14Z",
  "createdDateTime": "2020-11-13T04:01:13Z",
  "expirationDateTime": "2020-11-14T04:01:13Z",
  "status": "running",
  "errors": [],
  "tasks": {
      "details": {
          "name": "My Analyze Job",
          "lastUpdateDateTime": "2020-11-13T04:01:14Z"
      },
      "completed": 1,
      "failed": 0,
      "inProgress": 2,
      "total": 3,
      "keyPhraseExtractionTasks": [
          {
              "name": "My Analyze Job",
              "lastUpdateDateTime": "2020-11-13T04:01:14.3763516Z",
              "results": {
                  "inTerminalState": true,
                  "documents": [
                      {
                          "id": "doc1",
                          "keyPhrases": [
                              "sunny outside"
                          ],
                          "warnings": []
                      },
                      {
                          "id": "doc2",
                          "keyPhrases": [
                              "favorite Seattle attraction",
                              "Pike place market"
                          ],
                          "warnings": []
                      }
                  ],
                  "errors": [],
                  "modelVersion": "2020-07-01"
              }
          }
      ]
  }
}

ZusammenfassungSummary

In diesem Artikel haben Sie sich mit Konzepten und dem Workflow für die Extraktion von Schlüsselbegriffen unter Verwendung der Textanalyse in Cognitive Services vertraut gemacht.In this article, you learned concepts and workflow for key phrase extraction by using Text Analytics in Cognitive Services. Zusammenfassung:In summary:

  • Die Schlüsselbegriffserkennungs-API ist für ausgewählte Sprachen verfügbar.Key phrase extraction API is available for selected 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 /keyphrases oder /analyze gesendet. Dabei werden ein personalisierter Zugriffsschlüssel und ein Endpunkt verwendet, der für Ihr Abonnement gültig ist.POST request is to a /keyphrases or /analyze endpoint, using a personalized access key and an endpoint that is valid for your subscription.
  • Bei der Antwortausgabe handelt es sich um Schlüsselwörter und -begriffe für die jeweilige Dokument-ID. Sie kann an eine beliebige JSON-fähige App gestreamt werden – beispielsweise an Microsoft Office Excel oder Power BI.Response output, which consists of key words and phrases for each document ID, can be streamed to any app that accepts JSON, including Microsoft Office Excel and Power BI, to name a few.

Weitere InformationenSee also

Übersicht über die Textanalyse Häufig gestellte Fragen (FAQ)Text Analytics overview Frequently asked questions (FAQ)
Textanalysen (Produktseite)Text Analytics product page

Nächste SchritteNext steps