Partager via


Guide pratique pour utiliser la détection de langue

La fonctionnalité Détection de langue peut évaluer du texte et retourner un identificateur de langue qui indique la langue dans laquelle un document a été écrit.

La détection de la langue est utile pour les magasins de contenu qui collectent du texte arbitraire dont la langue est inconnue. 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 compris entre 0 et 1 qui reflète la confiance du modèle.

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.

Options de développement

Pour utiliser la détection la détection de langage, vous envoyez du texte brut non structuré à des fins d’analyse et gérez la sortie de l’API dans votre application. L’analyse est effectuée telle quelle, sans aucune personnalisation supplémentaire du modèle utilisé sur vos données. Il existe trois façons d’utiliser la détection de langue :

Option de développement Description
Language studio Language Studio est une plateforme web qui vous permet d’essayer la liaison d’entités avec des exemples de texte sans compte Azure et vos propres données lorsque vous vous inscrivez. Pour plus d’informations, consultez le site web Language Studio ou le démarrage rapide de Language Studio.
API REST ou bibliothèque de client (SDK Azure) Intégrez la détection de langage dans vos applications à l’aide de l’API REST ou de la bibliothèque de client disponible dans différents langages. Pour en savoir plus, consultez le guide de démarrage rapide de la détection du langage.
Conteneur Docker Utilisez le conteneur Docker disponible pour déployer cette fonctionnalité localement. Ces conteneurs Docker vous donnent la possibilité de rapprocher le service plus près de vos données, ce qui peut être souhaitable pour des raisons de conformité, de sécurité ou opérationnelles.

Déterminer le mode de traitement des données (facultatif)

Spécifier le modèle de détection de langue

Par défaut, la détection de langue utilise le dernier modèle d’IA disponible sur votre texte. Vous pouvez également configurer vos demandes d’API pour utiliser une version de modèle spécifique.

Langues d’entrée

Lorsque vous soumettez des documents à évaluer, la détection de langue tente de déterminer si le texte a été écrit dans l’une des langues prises en charge.

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. La réponse pour les langues qui ne peuvent pas être détectées est unknown.

Envoi de données

Conseil

Vous pouvez utiliser un conteneur Docker pour la détection de langue, afin de pouvoir utiliser l’API localement.

L’analyse est effectuée à la réception de la demande. L’utilisation de la fonctionnalité de détection de langue de façon synchrone est sans état. Aucune donnée n’est stockée dans votre compte, et les résultats sont retournés immédiatement dans la réponse.

Lors de l’utilisation de cette fonctionnalité de manière asynchrone, les résultats de l’API sont disponibles pendant 24 heures à partir du moment où la requête a été ingérée, et sont indiqués dans la réponse. Après cette période, les résultats sont purgés et ne sont plus disponibles pour récupération.

Obtention des résultats de la détection de langue

Lorsque vous recevez des résultats de la détection de langue, vous pouvez diffuser les résultats dans une application ou enregistrer la sortie dans un fichier sur le système local.

La détection de langue retourne une langue prédominante pour chaque document soumis, ainsi que son nom au format ISO 639-1, un nom convivial, un score de confiance, le nom de l’alphabet et le code de l’alphabet selon la norme ISO 15924. Un score positif de 1 indique le niveau de confiance possible le plus haut de l’analyse.

Contenu ambigu

Dans certains cas, il peut être difficile de lever toute ambiguïté sur les langues en fonction de l’entrée. Vous pouvez utiliser le paramètre countryHint pour spécifier un code de pays/région ISO 3166-1 alpha-2. Par défaut, l’API utilise « US » comme indicateur de pays par défaut. Pour supprimer ce comportement, vous pouvez réinitialiser ce paramètre en définissant cette valeur sur une chaîne vide countryHint = "".

Par exemple, « communication » est commun à l’anglais et au français ; si le contexte dans lequel il est utilisé est limité, la réponse sera basée sur l’indicateur de pays/région « US ». Si l’origine du texte est connue et qu’il provient de France, cette information peut être fournie par l’indicateur.

Remarque

Le contenu ambigu peut entraîner une baisse des scores de confiance. Le countryHint dans la réponse s’applique uniquement si le score de confiance est inférieur à 0,8.

Input

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

Avec le deuxième document, le modèle de détection de langue a un contexte supplémentaire pour rendre un meilleur jugement, car il contient la propriété countryHint dans l’entrée ci-dessus. Ceci retourne la sortie suivante.

Sortie

{
    "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":"2022-10-01"
}

Si l’analyseur ne parvient pas à analyser l’entrée, il retourne (Unknown). Cela se produit par exemple si vous envoyez une chaîne de texte composée uniquement de nombres.

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

Contenu en plusieurs langues

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. Le score reflète la puissance 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 compte les caractères dans chaque segment afin de déterminer la langue prédominante.

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

Sortie

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.

{
    "kind": "LanguageDetectionResults",
    "results": {
        "documents": [
            {
                "id": "1",
                "detectedLanguage": {
                    "name": "Spanish",
                    "iso6391Name": "es",
                    "confidenceScore": 0.97,
                    "script": "Latin",
                    "scriptCode": "Latn"
                },
                "warnings": []
            }
        ],
        "errors": [],
        "modelVersion": "2023-12-01"
    }
}

Nom de l’alphabet et code de l’alphabet

Remarque

  • La détection de l’alphabet est actuellement limitée à certaines langues.
  • La détection de l’alphabet est disponible uniquement pour l’entrée textuelle supérieure à 12 caractères.

La détection de langue offre la capacité à détecter plusieurs alphabets par langue conformément à la norme ISO 15924. Plus précisément, la détection de langue retourne deux propriétés liées à l’alphabet :

  • script : nom convivial de l’alphabet identifié
  • scriptCode : code ISO 15924 de l’alphabet identifié

La sortie de l’API inclut la valeur de la propriété scriptCode pour les documents d’une longueur égale à au moins 12 caractères, et correspond à la liste des langues et alphabets pris en charge. La détection de l’alphabet est conçue pour profiter aux utilisateurs dont la langue peut être translittérée ou rédigée dans plusieurs alphabets, comme le kazakh ou l’hindi.

Auparavant, la détection de langue était conçue pour détecter la langue des documents dans une grande variété de langues, dialectes et variantes régionales, mais elle était limitée par la « romanisation ». La romanisation fait référence à la conversion de texte d’un système d’écriture vers l’alphabet latin, et elle est nécessaire pour détecter de nombreuses langues indo-européennes. Toutefois, il existe d’autres langues écrites dans plusieurs alphabets, comme le kazakh, qui peuvent être écrites avec les alphabets cyrillique, perso-arabe et latin. Il existe également d’autres cas dans lesquels les utilisateurs peuvent choisir ou être obligé de translittérer leur langue dans plusieurs alphabets, par exemple le hindi translittéré en alphabet latin, en raison de la disponibilité limitée des claviers qui prennent en charge l’alphabet Devanagari.

Par conséquent, la prise en charge étendue de la détection de langue pour la détection de l’alphabet se comporte comme suit :

Input

{ 
    "kind": "LanguageDetection", 
    "parameters": { 
        "modelVersion": "latest" 
    }, 
    "analysisInput": { 
        "documents": [ 
            { 
                "id": "1", 
                "text": "आप कहाँ जा रहे हैं?" 
            }, 
            { 
                "id": "2", 
                "text": "Туған жерім менің - Қазақстаным" 
            } 
        ] 
    } 
} 

Sortie

La sortie résultante se compose de langue prédominante, ainsi que d’un nom d’alphabet, d’un code d’alphabet et d’un score de confiance.

{ 
    "kind": "LanguageDetectionResults", 
    "results": { 
        "documents": [ 
            { 
                "id": "1", 
                "detectedLanguage": { 
                    "name": "Hindi", 
                    "iso6391Name": "hi", 
                    "confidenceScore": 1.0, 
                    "script": "Devanagari", 
                    "scriptCode": "Deva" 
                }, 
                "warnings": [] 
            }, 
            { 
                "id": "2", 
                "detectedLanguage": { 
                    "name": "Kazakh", 
                    "iso6391Name": "kk", 
                    "confidenceScore": 1.0, 
                    "script": "Cyrillic",  
                    "scriptCode": "Cyrl" 
                }, 
                "warnings": [] 
            } 
        ], 
        "errors": [], 
        "modelVersion": "2023-12-01" 
    } 
}

Limites du service et des données

Pour connaître la taille et le nombre de demandes que vous pouvez envoyer par minute et seconde, consultez l’article Limites de service.

Voir aussi