Vérification orthographique à l’aide de l’API Vérification orthographique Bing
La vérification orthographique Bing effectue des case activée orthographiques contextuelles pour le texte, en fournissant des suggestions inline pour les mots mal orthographiés. Cet article explique comment utiliser l’API REST Vérification orthographique Bing pour corriger les erreurs d’orthographe dans une Xamarin.Forms application.
Vue d’ensemble
L’API REST Vérification orthographique Bing a deux modes d’exploitation et un mode doit être spécifié lors de l’envoi d’une requête à l’API :
Spell
corrige le texte court (jusqu’à 9 mots) sans aucune modification de casse.Proof
corrige le texte long, fournit des corrections de casse et une ponctuation de base, et supprime les corrections agressives.
Remarque
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Une clé API doit être obtenue pour utiliser l’API Vérification orthographique Bing. Cette opération peut être obtenue à l’adresse Try Cognitive Services
Pour obtenir la liste des langues prises en charge par l’API Vérification orthographique Bing, consultez les langues prises en charge. Pour plus d’informations sur l’API Vérification orthographique Bing, consultez la documentation vérification orthographique Bing.
Authentification
Chaque requête adressée à l’API Vérification orthographique Bing nécessite une clé API qui doit être spécifiée comme valeur de l’en-tête Ocp-Apim-Subscription-Key
. L’exemple de code suivant montre comment ajouter la clé API à l’en-tête Ocp-Apim-Subscription-Key
d’une requête :
public BingSpellCheckService()
{
httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", Constants.BingSpellCheckApiKey);
}
L’échec de la transmission d’une clé API valide à l’API Vérification orthographique Bing génère une erreur de réponse 401.
Exécution de la vérification orthographique
Le case activée d’orthographe peut être obtenu en effectuant une requête GET ou POST à l’API à l’adresse SpellCheck
https://api.cognitive.microsoft.com/bing/v7.0/SpellCheck
. Lors de l’exécution d’une requête GET, le texte à écrire case activée est envoyé en tant que paramètre de requête. Lorsque vous effectuez une requête POST, le texte à écrire case activée est envoyé dans le corps de la requête. Les requêtes GET sont limitées à l’orthographe case activée 1500 caractères en raison de la limitation de longueur de chaîne de paramètre de requête. Par conséquent, les requêtes POST doivent généralement être effectuées, sauf si des chaînes courtes sont orthographiques case activée ed.
Dans l’exemple d’application, la SpellCheckTextAsync
méthode appelle le processus d’orthographe case activée ing :
public async Task<SpellCheckResult> SpellCheckTextAsync(string text)
{
string requestUri = GenerateRequestUri(Constants.BingSpellCheckEndpoint, text, SpellCheckMode.Spell);
var response = await SendRequestAsync(requestUri);
var spellCheckResults = JsonConvert.DeserializeObject<SpellCheckResult>(response);
return spellCheckResults;
}
La SpellCheckTextAsync
méthode génère un URI de requête, puis envoie la requête à l’API SpellCheck
, qui retourne une réponse JSON contenant le résultat. La réponse JSON est désérialisée, avec le résultat retourné à la méthode appelante pour l’affichage.
Configuration de la vérification orthographique
Le processus de case activée orthographique peut être configuré en spécifiant les paramètres de requête HTTP :
string GenerateRequestUri(string spellCheckEndpoint, string text, SpellCheckMode mode)
{
string requestUri = spellCheckEndpoint;
requestUri += string.Format("?text={0}", text); // text to spell check
requestUri += string.Format("&mode={0}", mode.ToString().ToLower()); // spellcheck mode - proof or spell
return requestUri;
}
Cette méthode définit le texte à case activée orthographié et le mode case activée orthographique.
Pour plus d’informations sur l’API REST Vérification orthographique Bing, consultez la référence de l’API Vérification orthographique v7.
Envoi de la requête
La SendRequestAsync
méthode effectue la requête GET à l’API REST Vérification orthographique Bing et retourne la réponse :
async Task<string> SendRequestAsync(string url)
{
var response = await httpClient.GetAsync(url);
return await response.Content.ReadAsStringAsync();
}
Cette méthode envoie la requête GET à l’APISpellCheck
, avec l’URL de requête spécifiant le texte à traduire et le mode case activée orthographique. La réponse est ensuite lue et retournée à la méthode appelante.
L’API envoie le SpellCheck
code d’état HTTP 200 (OK) dans la réponse, à condition que la demande soit valide, ce qui indique que la demande a réussi et que les informations demandées sont dans la réponse. Pour obtenir la liste des objets de réponse, consultez Les objets Response.
Traitement de la réponse
La réponse de l’API est retournée au format JSON. Les données JSON suivantes affichent le message de réponse pour le texte Go shappin tommorow
mal orthographié :
{
"_type":"SpellCheck",
"flaggedTokens":[
{
"offset":3,
"token":"shappin",
"type":"UnknownToken",
"suggestions":[
{
"suggestion":"shopping",
"score":1
}
]
},
{
"offset":11,
"token":"tommorow",
"type":"UnknownToken",
"suggestions":[
{
"suggestion":"tomorrow",
"score":1
}
]
}
],
"correctionType":"High"
}
Le flaggedTokens
tableau contient un tableau de mots dans le texte qui ont été marqués comme n’étant pas orthographiés correctement ou qui sont grammaticalement incorrects. Le tableau est vide si aucune erreur d’orthographe ou de grammaire n’est trouvée. Les balises dans le tableau sont les suivantes :
offset
: décalage de base zéro entre le début de la chaîne de texte et le mot marqué.token
: mot dans la chaîne de texte qui n’est pas orthographié correctement ou est grammaticalement incorrect.type
: type de l’erreur qui a provoqué l’indicateur du mot. Il existe deux valeurs possibles :RepeatedToken
etUnknownToken
.suggestions
: tableau de mots qui corrigeront l’erreur d’orthographe ou de grammaire. Le tableau est constitué d’unsuggestion
et d’unscore
, qui indique le niveau de confiance que la correction suggérée est correcte.
Dans l’exemple d’application, la réponse JSON est désérialisée dans une SpellCheckResult
instance, avec le résultat retourné à la méthode appelante pour l’affichage. L’exemple de code suivant montre comment l’instance SpellCheckResult
est traitée pour l’affichage :
var spellCheckResult = await bingSpellCheckService.SpellCheckTextAsync(TodoItem.Name);
foreach (var flaggedToken in spellCheckResult.FlaggedTokens)
{
TodoItem.Name = TodoItem.Name.Replace(flaggedToken.Token, flaggedToken.Suggestions.FirstOrDefault().Suggestion);
}
Ce code itère dans la FlaggedTokens
collection et remplace les mots mal orthographiés ou grammaticalement incorrects dans le texte source par la première suggestion. Les captures d’écran suivantes s’affichent avant et après l’case activée orthographique :
Remarque
L’exemple ci-dessus utilise Replace
pour simplifier, mais sur une grande quantité de texte, il peut remplacer le jeton incorrect. L’API fournit la offset
valeur qui doit être utilisée dans les applications de production pour identifier l’emplacement approprié dans le texte source pour effectuer une mise à jour.
Résumé
Cet article a expliqué comment utiliser l’API REST Vérification orthographique Bing pour corriger les erreurs d’orthographe dans une Xamarin.Forms application. La vérification orthographique Bing effectue des case activée orthographiques contextuelles pour le texte, en fournissant des suggestions inline pour les mots mal orthographiés.