Exemple : Comment détecter la langue avec l’Analyse de texteExample: How to detect language with Text Analytics

La fonctionnalité Détection de langue de l’API é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 API evaluates text input and for each document and returns language identifiers with a score indicating 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 (valeur comprise entre 0 et 1).The response also returns a score which reflects the confidence of the model (a value between 0 and 1).

Nous ne publions pas la liste exacte des langues pour cette fonctionnalité, mais elle peut détecter une grande variété de langues, de variantes, de dialectes, et de certaines langues régionales/de culture.We don't publish the exact list of languages for this feature, but it can detect a wide range of languages, variants, dialects, and some regional/cultural languages.

Si vous avez du contenu exprimé dans une langue moins fréquemment utilisée, vous pouvez essayer 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 Language Detection 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 cannot 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, texteYou must have JSON documents in this format: ID, text

La taille des documents doit être inférieure à 5 120 caractères par document et vous pouvez avoir jusqu’à 1 000 éléments (ID) par collection.Document size must be under 5,120 characters per document, and 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 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

Vous trouverez plus d’informations sur la définition d’une demande dans Guide pratique pour appeler l’API Analyse de texte.Details on request definition can be found in How to 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 demande POST.Create a POST request. Passez en revue la documentation de l’API pour cette requête : API Détection de langueReview the API documentation for this request: Language Detection API

  • Définissez le point de terminaison HTTP pour la détection de la langue à l’aide d’une ressource Analyse de texte sur Azure ou d’un conteneur Analyse de texte instancié.Set the HTTP endpoint for language detection, using either a Text Analytics resource on Azure or an instantiated Text Analytics container. Il doit inclure la ressource /languages : https://westus.api.cognitive.microsoft.com/text/analytics/v2.1/languagesIt must include the /languages resource: https://westus.api.cognitive.microsoft.com/text/analytics/v2.1/languages

  • Définissez un en-tête de demande pour inclure la clé d’accès pour les opérations d’Analyse de texte.Set a request header to include the access key for Text Analytics operations. Pour plus d’informations, consultez Guide pratique pour rechercher des points de terminaison et des clés d’accès.For more information, see How to find endpoints and access keys.

  • 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. Consultez la section Limites de données dans la vue d’ensemble pour plus d’informations sur la taille et le nombre de demandes que vous pouvez envoyer par minute et seconde.See the data limits section in the overview for information on the size and number of requests you can send per minute and second.

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 : Afficher les résultatsStep 3: View results

Toutes les demandes 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 en continu les résultats dans une application qui accepte le code JSON ou enregistrer la sortie dans un fichier sur le système local, puis l’importer dans une application qui vous permet de trier, rechercher et manipuler les données.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.

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 is 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
                }
            ]
        }
    ],

Contenu ambiguAmbiguous content

Si l’analyseur ne peut pas analyser l’entrée (supposons, par exemple, que vous avez soumis un bloc de texte composé uniquement de chiffres arabes), il retourne (Unknown).If the analyzer cannot parse the input (for example, assume you submitted a text block consisting solely of Arabic numerals), it returns (Unknown).

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

Contenu de langues mixtesMixed language content

Un contenu de langues mixtes dans un document retourne la langue la plus représentée dans le contenu, mais avec une évaluation positive inférieure, reflétant la puissance marginale de cette évaluation.Mixed language content within the same document returns the language with the largest representation in the content, but with a lower positive rating, reflecting the marginal strength of that 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, indiquant un faible niveau de confiance.Resulting output consists of the predominant language, with a score of less than 1.0, indicating 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 Cognitive Services.In this article, you learned concepts and workflow for language detection using Text Analytics in Cognitive Services. Voici un rappel rapide des points principaux précédemment expliqués et illustrés :The following are a quick reminder of the main points previously explained and demonstrated:

  • Détection de langue est disponible pour une grande variété de langues, de variantes, de dialectes, et de certaines langues régionales/de culture.Language detection is available for a wide range of languages, variants, dialects, and some regional/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 demande 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.POST request is to a /languages endpoint, using a personalized access key and an endpoint that is valid for your subscription.
  • La sortie de réponse, qui se compose d’identificateurs de langues pour chaque ID de document, peut être diffusée vers n’importe quelle application qui accepte JSON, y compris Excel et Power BI, pour n’en citer que quelques-unes.Response output, which consists of language identifiers for each document ID, can be streamed to any app that accepts JSON, including Excel and Power BI, to name a few.

Voir aussiSee also

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

Étapes suivantesNext steps