Beispiel: Sprachenerkennung mithilfe der TextanalyseExample: Detect language with Text Analytics

Das Feature für die Sprachenerkennung der Azure-Textanalyse-REST-API wertet Texteingaben für jedes Dokument aus und gibt Sprachen-IDs mit einer Punktzahl zurück, die die Stärke der Analyse angibt.The Language Detection feature of the Azure Text Analytics REST API evaluates text input for each document and returns language identifiers with a score that indicates the strength of the analysis.

Diese Funktion ist hilfreich für Inhaltsspeicher, die willkürliche Texte mit unbekannter Sprache sammeln.This capability is useful for content stores that collect arbitrary text, where language is unknown. Sie können die Analyseergebnisse analysieren, um die Sprache des Eingabedokuments zu bestimmen.You can parse the results of this analysis to determine which language is used in the input document. Die Antwort gibt außerdem eine Punktzahl zurück, die die Zuverlässigkeit des Modells widerspiegelt.The response also returns a score that reflects the confidence of the model. Der Wert liegt zwischen 0 und 1.The score value is between 0 and 1.

Mit dem Feature für die Sprachenerkennung können eine Vielzahl von Sprachen, Varianten und Dialekten sowie einige Regional- und Kultursprachen erkannt werden.The Language Detection feature can detect a wide range of languages, variants, dialects, and some regional or cultural languages. Für dieses Feature wird keine genaue Liste mit Sprachen veröffentlicht.The exact list of languages for this feature isn't published.

Bei Inhalten in einer seltener verwendeten Sprache können Sie das Feature für die Sprachenerkennung ausprobieren, um zu sehen, ob es einen Code zurückgibt.If you have content expressed in a less frequently used language, you can try the Language Detection feature to see if it returns a code. Die Antwort bei Sprachen, die nicht erkannt werden können, lautet unknown.The response for languages that can't be detected is unknown.

Tipp

Die Textanalyse bietet darüber hinaus ein Linux-basiertes Docker-Containerimage für die Spracherkennung, damit Sie den Textanalysecontainer nah bei Ihren Daten installieren und ausführen können.Text Analytics also provides a Linux-based Docker container image for language detection, so you can install and run the Text Analytics container close to your data.

VorbereitungPreparation

Sie benötigen JSON-Dokumente im folgenden Format: ID und Text.You must have JSON documents in this format: ID and text.

Ein Dokument darf maximal 5.119 Zeichen enthalten.The document size must be under 5,120 characters per document. Pro Sammlung können bis zu 1.000 Elemente (IDs) vorhanden sein.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 zeigt Inhalte, die Sie für die Sprachenerkennung übermitteln können:The following sample is an example of content you might submit for language detection:

{
    "documents": [
        {
            "id": "1",
            "text": "This document is in English."
        },
        {
            "id": "2",
            "text": "Este documento está en inglés."
        },
        {
            "id": "3",
            "text": "Ce document est en anglais."
        },
        {
            "id": "4",
            "text": "本文件为英文"
        },
        {
            "id": "5",
            "text": "Этот документ на английском языке."
        }
    ]
}

Schritt 1: Strukturieren der AnforderungStep 1: Structure the request

Weitere Informationen zur Anforderungsdefinition finden Sie unter Aufrufen der Textanalyse-REST-API.For more information on request definition, see 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 POST-Anforderung.Create a POST request. Die API-Dokumentation für diese Anforderung finden Sie hier.To review the API documentation for this request, see the Language Detection API.

  • Legen Sie den HTTP-Endpunkt für die Sprachenerkennung fest.Set the HTTP endpoint for language detection. Verwenden Sie entweder eine Textanalyseressource in Azure oder einen instanziierten Textanalysecontainer.Use either a Text Analytics resource on Azure or an instantiated Text Analytics container. Sie müssen /text/analytics/v3.0/languages in die URL einschließen.You must include /text/analytics/v3.0/languages in the URL. Beispiel: https://<your-custom-subdomain>.cognitiveservices.azure.com/text/analytics/v3.0/languages.For example: https://<your-custom-subdomain>.cognitiveservices.azure.com/text/analytics/v3.0/languages.

  • 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: Senden der Anforderung per POSTStep 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 on the size and number of requests you can send per minute and 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: Zeigen Sie die Ergebnisse anStep 3: View the 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 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.

Ergebnisse für die Beispielanforderung sollten wie im folgenden JSON-Code aussehen.Results for the example request should look like the following JSON. Beachten Sie, dass es sich hierbei um ein einzelnes Dokument mit mehreren Elementen handelt.Notice that it's one document with multiple items. Die Ausgabe erfolgt in englischer Sprache.Output is in English. Sprachen-IDs enthalten einen Anzeigenamen und einen Sprachcode im Format ISO 639-1.Language identifiers include a friendly name and a language code in ISO 639-1 format.

Das positive Ergebnis 1,0 steht für die höchstmögliche Zuverlässigkeit der Analyse.A positive score of 1.0 expresses the highest possible confidence level of the analysis.

{
    "documents":[
        {
            "detectedLanguage":{
                "confidenceScore":0.99,
                "iso6391Name":"en",
                "name":"English"
            },
            "id":"1",
            "warnings":[
                
            ]
        },
        {
            "detectedLanguage":{
                "confidenceScore":1.0,
                "iso6391Name":"es",
                "name":"Spanish"
            },
            "id":"2",
            "warnings":[
                
            ]
        },
        {
            "detectedLanguage":{
                "confidenceScore":1.0,
                "iso6391Name":"fr",
                "name":"French"
            },
            "id":"3",
            "warnings":[
                
            ]
        },
        {
            "detectedLanguage":{
                "confidenceScore":1.0,
                "iso6391Name":"zh_chs",
                "name":"Chinese_Simplified"
            },
            "id":"4",
            "warnings":[
                
            ]
        },
        {
            "detectedLanguage":{
                "confidenceScore":1.0,
                "iso6391Name":"ru",
                "name":"Russian"
            },
            "id":"5",
            "warnings":[
                
            ]
        }
    ],
    "errors":[
        
    ],
    "modelVersion":"2020-09-01"
}

Mehrdeutige InhalteAmbiguous content

In einigen Fällen ist es unter Umständen schwierig, die Sprachen basierend auf den Eingaben eindeutig zu bestimmen.In some cases it may be hard to disambiguate languages based on the input. Mithilfe des Parameters countryHint können Sie einen zweistelligen Länder-/Regionscode angeben.You can use the countryHint parameter to specify a 2-letter country/region code. Die API verwendet standardmäßig „US“ als Wert für „countryHint“. Wenn Sie dieses Verhalten entfernen möchten, können Sie diesen Parameter zurücksetzen, indem Sie seinen Wert auf eine leere Zeichenfolge (countryHint = "") festlegen.By default the API is using the "US" as the default countryHint, to remove this behavior you can reset this parameter by setting this value to empty string countryHint = "" .

„Impossible“ ist beispielsweise sowohl im Englischen als auch im Französischen gebräuchlich, und bei unzureichendem Kontext basiert die Antwort auf dem Länder-/Regionshinweis „US“.For example, "Impossible" is common to both English and French and if given with limited context the response will be based on the "US" country/region hint. Sollte bekannt sein, dass der Text aus Frankreich stammt, kann ein entsprechender Hinweis angegeben werden.If the origin of the text is known to be coming from France that can be given as a hint.

Input (Eingabe)Input

{
    "documents": [
        {
            "id": "1",
            "text": "impossible"
        },
        {
            "id": "2",
            "text": "impossible",
            "countryHint": "fr"
        }
    ]
}

Der Dienst verfügt nun über zusätzlichen Kontext und kann eine bessere Beurteilung abgeben:The service now has additional context to make a better judgment:

AusgabeOutput

{
    "documents":[
        {
            "detectedLanguage":{
                "confidenceScore":0.62,
                "iso6391Name":"en",
                "name":"English"
            },
            "id":"1",
            "warnings":[
                
            ]
        },
        {
            "detectedLanguage":{
                "confidenceScore":1.0,
                "iso6391Name":"fr",
                "name":"French"
            },
            "id":"2",
            "warnings":[
                
            ]
        }
    ],
    "errors":[
        
    ],
    "modelVersion":"2020-09-01"
}

Wenn das Analysetool die Eingabe nicht analysieren kann, wird (Unknown) zurückgegeben.If the analyzer can't parse the input, it returns (Unknown). Beispiel: Sie übermitteln einen Textblock, der ausschließlich aus arabischen Zahlen besteht.An example is if you submit a text block that consists solely of Arabic numerals.

{
    "documents":[
        {
            "detectedLanguage":{
                "confidenceScore":0.0,
                "iso6391Name":"(Unknown)",
                "name":"(Unknown)"
            },
            "id":"1",
            "warnings":[
                
            ]
        }
    ],
    "errors":[
        
    ],
    "modelVersion":"2020-09-01"
}

Inhalt in verschiedenen SprachenMixed-language content

Wenn in einem Dokument Inhalte in verschiedenen Sprachen enthalten sind, wird die Sprache zurückgegeben, die in den Inhalten überwiegt – allerdings mit einer niedrigeren positiven Bewertung.Mixed-language content within the same document returns the language with the largest representation in the content, but with a lower positive rating. Die Bewertung spiegelt die marginale Stärke dieser Bewertung wider.The rating reflects the marginal strength of the assessment. Im folgenden Beispiel enthält die Eingabe eine Mischung aus Englisch, Spanisch und Französisch.In the following example, input is a blend of English, Spanish, and French. Das Analysetool zählt die Zeichen der einzelnen Segmente, um die vorherrschende Sprache zu bestimmen.The analyzer counts characters in each segment to determine the predominant language.

Input (Eingabe)Input

{
    "documents": [
        {
            "id": "1",
            "text": "Hello, I would like to take a class at your University. ¿Se ofrecen clases en español? Es mi primera lengua y más fácil para escribir. Que diriez-vous des cours en français?"
        }
    ]
}

AusgabeOutput

Die resultierende Ausgabe enthält die vorherrschende Sprache mit einer Punktzahl von weniger als 1,0, wodurch eine niedrigere Zuverlässigkeit angegeben wird.The resulting output consists of the predominant language, with a score of less than 1.0, which indicates a weaker level of confidence.

{
    "documents":[
        {
            "detectedLanguage":{
                "confidenceScore":0.94,
                "iso6391Name":"es",
                "name":"Spanish"
            },
            "id":"1",
            "warnings":[
                
            ]
        }
    ],
    "errors":[
        
    ],
    "modelVersion":"2020-09-01"
}

ZusammenfassungSummary

In diesem Artikel haben Sie sich mit Konzepten und mit dem Workflow für die Sprachenerkennung unter Verwendung der Textanalyse in Azure Cognitive Services vertraut gemacht.In this article, you learned concepts and workflow for language detection by using Text Analytics in Azure Cognitive Services. Die folgenden Punkte wurden erläutert und veranschaulicht:The following points were explained and demonstrated:

  • Die Sprachenerkennung ist für eine Vielzahl von Sprachen, Varianten und Dialekten sowie einige Regional- und Kultursprachen verfügbar.Language detection is available for a wide range of languages, variants, dialects, and some regional or cultural languages.
  • JSON-Dokumente im Anforderungstext umfassen eine ID und Text.JSON documents in the request body include an ID and text.
  • Die POST-Anforderung wird an einen Endpunkt vom Typ /languages 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 /languages endpoint by using a personalized access key and an endpoint that's valid for your subscription.
  • Die Antwortausgabe besteht aus Sprachen-IDs für die jeweilige Dokument-ID.Response output consists of language identifiers for each document ID. Die Ausgabe kann an eine beliebige JSON-fähige App gestreamt werden.The output can be streamed to any app that accepts JSON. Zu den Beispiel-Apps zählen Excel und Power BI, um nur einige zu nennen.Example apps include Excel and Power BI, to name a few.

Weitere InformationenSee also