Spécifier des options de traduction
La fonction Translate de l’API prend en charge de nombreux paramètres qui déterminent la sortie.
Alignement des mots
En anglais ou en français écrit (en écriture latine), des espaces sont utilisés pour séparer les mots. Mais dans certaines langues, ce n'est pas forcément le cas.
Par exemple, la traduction de « Smart Services » de l'anglais (en) vers le chinois simplifié (zh) donne le résultat « 智能服务 », et il est difficile de comprendre la relation entre les caractères du texte source et les caractères correspondants de la traduction. Pour résoudre ce problème, vous pouvez spécifier le paramètre includeAlignment avec la valeur true dans votre appel pour obtenir le résultat suivant :
[
{
"translations":[
{
"text":"智能服务",
"to":"zh-Hans",
"alignment":{
"proj":"0:4-0:1 6:13-2:3"
}
}
]
}
]
Ces résultats indiquent que les caractères 0 à 4 de la source correspondent aux caractères 0 à 1 de la traduction, tandis que les caractères 6 à 13 de la source correspondent aux caractères 2 à 3 de la traduction.
Longueur des phrases
Il est parfois utile de connaître la longueur d'une traduction, par exemple pour déterminer la meilleure façon de l'afficher dans une interface utilisateur. Vous pouvez obtenir cette information en définissant le paramètre includeSentenceLength sur true.
Par exemple, si vous spécifiez ce paramètre au moment de la traduction du texte « Hello world » de l’anglais (en) vers le français (fr), voici ce que vous obtenez :
[
{
"translations":[
{
"text":"Salut tout le monde",
"to":"fr",
"sentLen":{"srcSentLen":[12],"transSentLen":[20]}
}
]
}
]
Filtrage des grossièretés
Il arrive qu'un texte contienne des grossièretés que vous pouvez masquer ou omettre dans la traduction. Vous pouvez traiter les grossièretés en spécifiant le paramètre profanityAction pour lequel trois valeurs sont disponibles :
- NoAction (Aucune action) : les grossièretés sont traduites avec le reste du texte.
- Deleted (Supprimé) : les grossièretés sont omises dans la traduction.
- Marked (Marqué) : les grossièretés sont signalées via la technique indiquée dans le paramètre profanityMarker (si elle est fournie). La valeur par défaut de ce paramètre est Asterisk (Astérisque), qui remplace les grossièretés par des caractères « * ». Vous pouvez également définir le paramètre profanityMarker sur la valeur Tag (balise), qui place les grossièretés dans des balises XML.
Par exemple, si vous traduisez le texte « JSON is ▇▇▇▇ great! » (le mot masqué est une grossièreté) de l’anglais (en) vers l’allemand (de) avec le paramètre profanityAction ayant la valeur Marked et le paramètre profanityMarker ayant la valeur Asterisk, voici ce que vous obtenez :
[
{
"translations":[
{
"text":"JSON ist *** erstaunlich.",
"to":"de"
}
]
}
]
Remarque
Pour en savoir plus sur les options de traduction, notamment celles qui ne sont pas décrites ici, consultez la documentation de l’API Azure AI Traducteur.