Exemple : Détecter la langue avec Analyse de texteExample: Detect language with Text Analytics

La fonctionnalité Détection de langue de l’API REST Analyse de texte évalue le texte en entrée pour chaque document et retourne les identificateurs de langue avec un score qui indique la puissance de l’analyse.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.

Cette capacité est utile pour les magasins de contenu qui collectent du texte arbitraire dont la langue est inconnue.This capability is useful for content stores that collect arbitrary text, where language is unknown. Vous pouvez analyser les résultats de cette analyse pour déterminer la langue utilisée dans le document d’entrée.You can parse the results of this analysis to determine which language is used in the input document. La réponse retourne également un score qui reflète la confiance du modèle.The response also returns a score that reflects the confidence of the model. La valeur du score est comprise entre 0 et 1.The score value is between 0 and 1.

La fonctionnalité Détection de langue peut détecter une grande variété de langues, de variantes, de dialectes, et certaines langues régionales ou de culture.The Language Detection feature can detect a wide range of languages, variants, dialects, and some regional or cultural languages. La liste exacte des langues pour cette fonctionnalité n’est pas publiée.The exact list of languages for this feature isn't published.

Si vous avez du contenu exprimé dans une langue moins fréquemment utilisée, vous pouvez essayer la fonctionnalité Détection de langue pour voir si elle retourne un code.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. La réponse pour les langues qui ne peuvent pas être détectées est unknown.The response for languages that can't be detected is unknown.

Conseil

Analyse de texte fournit également une image conteneur Docker basée sur Linux pour la détection de la langue. Vous pouvez ainsi installer et exécuter le conteneur Analyse de texte à proximité de vos données.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.

PréparationPreparation

Vous devez disposer des documents JSON dans ce format : ID et texte.You must have JSON documents in this format: ID and text.

La taille du document doit être inférieure à 5 120 caractères par document.The document size must be under 5,120 characters per document. Vous pouvez avoir jusqu’à 1000 éléments (ID) par collection.You can have up to 1,000 items (IDs) per collection. La collection est soumise dans le corps de la demande.The collection is submitted in the body of the request. Voici un exemple de contenu que vous pouvez soumettre pour détection de la langue :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": "Этот документ на английском языке."
            }
        ]
    }

Étape 1 : Structurer la requêteStep 1: Structure the request

Pour plus d’informations sur la définition de la requête, consultez Appeler l’API Analyse de texte.For more information on request definition, see Call the Text Analytics API. Les points suivants sont réaffirmés pour des raisons pratiques :The following points are restated for convenience:

  • Créez une requête POST.Create a POST request. Pour passer en revue la documentation de l’API pour cette requête, consultez API Détection de langue.To review the API documentation for this request, see the Language Detection API.

  • Définissez le point de terminaison HTTP pour la détection de la langue.Set the HTTP endpoint for language detection. Utilisez une ressource Analyse de texte sur Azure ou un conteneur Analyse de texte instancié.Use either a Text Analytics resource on Azure or an instantiated Text Analytics container. Vous devez inclure /text/analytics/v2.1/languages dans l’URL.You must include /text/analytics/v2.1/languages in the URL. Par exemple : https://<your-custom-subdomain>.cognitiveservices.azure.com/text/analytics/v2.1/languages.For example: https://<your-custom-subdomain>.cognitiveservices.azure.com/text/analytics/v2.1/languages.

  • Définissez un en-tête de requête pour inclure la clé d’accès des opérations Analyse de texte.Set a request header to include the access key for Text Analytics operations.

  • Dans le corps de la demande, fournissez la collection de documents JSON que vous avez préparée pour cette analyse.In the request body, provide the JSON documents collection you prepared for this analysis.

Conseil

Utilisez Postman ou ouvrez la console de test d’API dans la documentation pour structurer une demande et la publier dans le service.Use Postman or open the API testing console in the documentation to structure a request and POST it to the service.

Étape 2 : Publier la requêteStep 2: POST the request

L’analyse est effectuée à la réception de la demande.Analysis is performed upon receipt of the request. Pour connaître la taille et le nombre de requêtes que vous pouvez envoyer par minute et seconde, consultez la section Limites de données dans la vue d’ensemble.For information on the size and number of requests you can send per minute and second, see the data limits section in the overview.

Rappelez-vous que le service est sans état.Recall that the service is stateless. Aucune donnée n’est stockée dans votre compte.No data is stored in your account. Les résultats sont retournés immédiatement dans la réponse.Results are returned immediately in the response.

Étape 3 : View the resultsStep 3: View the results

Toutes les requêtes POST retournent une réponse au format JSON avec les ID et les propriétés détectées.All POST requests return a JSON-formatted response with the IDs and detected properties.

La sortie est retournée immédiatement.Output is returned immediately. Vous pouvez diffuser les résultats vers une application qui accepte JSON ou enregistrer la sortie dans un fichier sur le système local.You can stream the results to an application that accepts JSON or save the output to a file on the local system. Ensuite, importez la sortie dans une application que vous pouvez utiliser pour trier, rechercher et manipuler les données.Then, import the output into an application that you can use to sort, search, and manipulate the data.

Les résultats de l’exemple de demande doivent ressembler au code JSON suivant.Results for the example request should look like the following JSON. Notez qu’il s’agit d’un document unique contenant plusieurs éléments.Notice that it's one document with multiple items. La sortie est en anglais.Output is in English. Les identificateurs de langue incluent un nom convivial et un code de langue au format ISO 639-1.Language identifiers include a friendly name and a language code in ISO 639-1 format.

Un score positif de 1,0 exprime le niveau de confiance possible le plus haut de l’analyse.A positive score of 1.0 expresses the highest possible confidence level of the analysis.

    {
        "documents": [
            {
                "id": "1",
                "detectedLanguages": [
                    {
                        "name": "English",
                        "iso6391Name": "en",
                        "score": 1
                    }
                ]
            },
            {
                "id": "2",
                "detectedLanguages": [
                    {
                        "name": "Spanish",
                        "iso6391Name": "es",
                        "score": 1
                    }
                ]
            },
            {
                "id": "3",
                "detectedLanguages": [
                    {
                        "name": "French",
                        "iso6391Name": "fr",
                        "score": 1
                    }
                ]
            },
            {
                "id": "4",
                "detectedLanguages": [
                    {
                        "name": "Chinese_Simplified",
                        "iso6391Name": "zh_chs",
                        "score": 1
                    }
                ]
            },
            {
                "id": "5",
                "detectedLanguages": [
                    {
                        "name": "Russian",
                        "iso6391Name": "ru",
                        "score": 1
                    }
                ]
            }
        ],
        "errors": []
    }

Contenu ambiguAmbiguous content

Dans certains cas, il peut être difficile de lever toute ambiguïté sur les langues en fonction de l’entrée.In some cases it may be hard to disambiguate languages based on the input. Vous pouvez utiliser le paramètre countryHint pour spécifier un code de pays à 2 lettres.You can use the countryHint parameter to specify a 2-letter country code. L’API utilise « US » comme countryHint par défaut. Pour modifier ce comportement, vous pouvez réinitialiser ce paramètre en définissant cette valeur sur une chaîne vide countryHint = "".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 = "" .

Par exemple, « impossible » est commun à l’anglais et au français et le contexte dans lequel il est utilisé est limité, la réponse sera basée sur l’indicateur de pays « 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 hint. Si l’origine du texte est connue et qu’il provient de France, cette information peut être fournie par l’indicateur.If the origin of the text is known to be coming from France that can be given as a hint.

InputInput

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

Le service a maintenant un contexte supplémentaire pour prendre de meilleures décisions :The service now has additional context to make a better judgment:

SortieOutput

    {
        "documents": [
            {
                "id": "1",
                "detectedLanguages": [
                    {
                        "name": "English",
                        "iso6391Name": "en",
                        "score": 1
                    }
                ]
            },
            {
                "id": "2",
                "detectedLanguages": [
                    {
                        "name": "French",
                        "iso6391Name": "fr",
                        "score": 1
                    }
                ]
            }
        ],
        "errors": []
    }

Si l’analyseur ne parvient pas à analyser l’entrée, il retourne (Unknown).If the analyzer can't parse the input, it returns (Unknown). C’est le cas, par exemple, si vous soumettez un bloc de texte composé uniquement de chiffres arabes.An example is if you submit a text block that consists solely of Arabic numerals.

    {
        "id": "5",
        "detectedLanguages": [
            {
                "name": "(Unknown)",
                "iso6391Name": "(Unknown)",
                "score": "NaN"
            }
        ]
    }

Contenu en plusieurs languesMixed-language content

Un contenu en plusieurs langues dans un document retourne la langue la plus représentée dans le contenu, mais avec un score positif inférieur.Mixed-language content within the same document returns the language with the largest representation in the content, but with a lower positive rating. Le score reflète la puissance marginale de cette évaluation.The rating reflects the marginal strength of the assessment. Dans l’exemple suivant, l’entrée est un mélange d’anglais, d’espagnol et de français.In the following example, input is a blend of English, Spanish, and French. L’analyseur compte les caractères dans chaque segment afin de déterminer la langue prédominante.The analyzer counts characters in each segment to determine the predominant language.

InputInput

    {
      "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?"
        }
      ]
    }

SortieOutput

Le résultat obtenu se compose de la langue prédominante, avec un score inférieur à 1,0, qui indique un faible niveau de confiance.The resulting output consists of the predominant language, with a score of less than 1.0, which indicates a weaker level of confidence.

    {
      "documents": [
        {
          "id": "1",
          "detectedLanguages": [
            {
              "name": "Spanish",
              "iso6391Name": "es",
              "score": 0.9375
            }
          ]
        }
      ],
      "errors": []
    }

RésuméSummary

Dans cet article, vous avez vu les concepts et le flux de travail de détection de langue à l’aide de l’API Analyse de texte dans Azure Cognitive Services.In this article, you learned concepts and workflow for language detection by using Text Analytics in Azure Cognitive Services. Les points suivants ont été décrits et illustrés :The following points were explained and demonstrated:

  • Détection de langue est disponible pour une grande variété de langues, de variantes, de dialectes, et certaines langues régionales ou de culture.Language detection is available for a wide range of languages, variants, dialects, and some regional or cultural languages.
  • Les documents JSON figurant dans le corps de la demande incluent un ID et un texte.JSON documents in the request body include an ID and text.
  • La requête POST s’effectue sur un point de terminaison /languages, à l’aide d’une clé d’accès et d’un point de terminaison personnalisés valides pour votre abonnement.The POST request is to a /languages endpoint by using a personalized access key and an endpoint that's valid for your subscription.
  • La sortie de réponse se compose d’identificateurs de langue pour chaque ID de document.Response output consists of language identifiers for each document ID. La sortie peut être diffusée vers n’importe quelle application qui accepte JSON,The output can be streamed to any app that accepts JSON. par exemple Excel et Power BI, pour n’en citer que quelques-unes.Example apps include Excel and Power BI, to name a few.

Voir aussiSee also

Vue d’ensemble Analyse de texte Questions fréquentes (FAQ)Text Analytics overview Frequently asked questions (FAQ)
Page produit d’Analyse de texteText Analytics product page

Étapes suivantesNext steps