Détecter la langue

Effectué

L’API de détection de langue Azure évalue l’entrée de texte et, pour chaque document envoyé, retourne des identificateurs de langue avec un score indiquant la force de l’analyse.

Cette fonctionnalité est utile pour les magasins de contenu qui collectent du texte arbitraire, où la langue est inconnue. Un autre scénario peut impliquer un bot de conversation. Si un utilisateur démarre une session avec le bot de conversation, la détection de langue peut être utilisée pour déterminer la langue utilisée et vous permettre de configurer vos réponses de bot dans la langue appropriée.

Vous pouvez analyser les résultats de cette analyse pour déterminer la langue utilisée dans le document d’entrée. La réponse retourne également un score, qui reflète la confiance du modèle (valeur comprise entre 0 et 1).

La détection de langue peut fonctionner avec des documents ou des expressions uniques. Il est important de noter que la taille du document doit être inférieure à 5 120 caractères. La limite de taille est définie par document et chaque collection est limitée à 1 000 éléments (ID). Un exemple de charge utile JSON correctement mise en forme que vous pouvez soumettre au service dans le corps de la demande est affiché ici, y compris une collection de documents, chacune contenant un ID unique et le texte à analyser. Si vous le souhaitez, vous pouvez fournir un countryHint pour améliorer les performances de prédiction.

{
    "kind": "LanguageDetection",
    "parameters": {
        "modelVersion": "latest"
    },
    "analysisInput":{
        "documents":[
              {
                "id": "1",
                "text": "Hello world",
                "countryHint": "US"
              },
              {
                "id": "2",
                "text": "Bonjour tout le monde"
              }
        ]
    }
}

Le service retourne une réponse JSON qui contient un résultat pour chaque document du corps de la demande, y compris le langage prédit et une valeur indiquant le niveau de confiance de la prédiction. Le niveau de confiance est une valeur comprise entre 0 et 1, avec des valeurs plus proches de 1 étant un niveau de confiance supérieur. Voici un exemple de réponse JSON standard qui correspond à la requête JSON ci-dessus.

{   "kind": "LanguageDetectionResults",
    "results": {
        "documents": [
          {
            "detectedLanguage": {
              "confidenceScore": 1,
              "iso6391Name": "en",
              "name": "English"
            },
            "id": "1",
            "warnings": []
          },
          {
            "detectedLanguage": {
              "confidenceScore": 1,
              "iso6391Name": "fr",
              "name": "French"
            },
            "id": "2",
            "warnings": []
          }
        ],
        "errors": [],
        "modelVersion": "2022-10-01"
    }
}

Dans notre exemple, toutes les langues montrent une confiance de 1, principalement parce que le texte est relativement simple et facile à identifier.

Si vous transmettez un document qui contient du contenu multilingue, le service se comporte un peu différemment. Le contenu de langue mixte dans le même document retourne la langue avec la plus grande représentation dans le contenu, mais avec une évaluation positive inférieure, reflétant la force marginale de cette évaluation. Dans l’exemple suivant, l’entrée est un mélange d’anglais, d’espagnol et de français. L’analyseur utilise l’analyse statistique du texte pour déterminer la langue prédominante .

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

L’exemple suivant montre une réponse pour cet exemple multi-langage.

{
    "documents": [
        {
            "id": "1",
            "detectedLanguage": {
                "name": "Spanish",
                "iso6391Name": "es",
                "confidenceScore": 0.9375
            },
            "warnings": []
        }
    ],
    "errors": [],
    "modelVersion": "2022-10-01"
}

La dernière condition à prendre en compte est lorsqu’il y a ambiguïté quant au contenu de la langue. Le scénario peut se produire si vous envoyez du contenu textuel que l’analyseur n’est pas en mesure d’analyser, par exemple en raison de problèmes d’encodage de caractères lors de la conversion du texte en variable de chaîne. Par conséquent, la réponse pour le nom de la langue et le code ISO indiquent (inconnu) et la valeur du score est retournée en tant que 0. L’exemple suivant montre comment la réponse ressemblerait.

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