Modifier des données d’énoncé avant ou pendant la prédiction

Important

LUIS sera mis hors service le 1er octobre 2025 et à partir du 1er avril 2023, vous ne pourrez plus créer de nouvelles ressources LUIS. Nous vous recommandons de migrer vos applications LUIS vers la compréhension du langage courant pour tirer parti de la prise en charge continue des produits et des fonctionnalités multilingues.

LUIS fournit des méthodes pour manipuler l’énoncé avant ou pendant la prédiction. Celles-ci incluent la correction de l’orthographe et la résolution des problèmes de fuseau horaire pour l’entité datetimeV2 prédéfinie.

Corriger les erreurs d’orthographe dans l’énoncé

Runtime V3

Prétraitez le texte en procédant à la correction orthographique avant d’envoyer l’énoncé à LUIS. Utilisez les exemples d’énoncés avec la bonne orthographe pour vous assurer d’obtenir les bonnes prédictions.

Utilisez la Vérification orthographique Bing pour corriger le texte avant de l’envoyer à LUIS.

Avant le runtime v3

LUIS utilise l’API Vérification orthographique Bing V7 pour corriger les fautes d’orthographe dans l’énoncé. LUIS a besoin de la clé associée à ce service. Créez la clé, puis ajoutez la clé en tant que paramètre de chaîne de requête au point de terminaison.

Le point de terminaison nécessite deux paramètres pour que les corrections orthographiques fonctionnent :

Paramètre Valeur
spellCheck boolean
bing-spell-check-subscription-key Clé de point de terminaison d’API Vérification orthographique v7

Lorsque l’API Vérification orthographique Bing V7 détecte une erreur, l’énoncé d’origine et l’énoncé corrigé sont retournés avec des prédictions à partir du point de terminaison.

{
  "query": "Book a flite to London?",
  "alteredQuery": "Book a flight to London?",
  "topScoringIntent": {
    "intent": "BookFlight",
    "score": 0.780123
  },
  "entities": []
}

Liste des mots autorisés

L’API Vérification orthographique Bing utilisée dans LUIS ne prend pas en charge la liste des mots à ignorer durant les modifications résultant de la vérification orthographique. Si vous avez besoin d’autoriser une liste de mots ou d’acronymes, traitez l’énoncé dans l’application cliente avant de l’envoyer à LUIS pour la prédiction d’intention.

Changer le fuseau horaire de l’entité datetimeV2 prédéfinie

Quans une application LUIS utilise l’entité datetimeV2 prédéfinie, une valeur datetime peut être retournée dans la réponse de prédiction. Le fuseau horaire de la requête est utilisé pour déterminer la valeur datetime correcte à retourner. Si la requête provient d’un bot ou d’une autre application centralisée avant d’accéder à LUIS, corrigez le fuseau horaire que LUIS utilise.

API de prédiction V3 pour modifier le fuseau horaire

Dans la v3, le paramètre datetimeReference détermine le décalage de fuseaux horaires.

API de prédiction v2 pour modifier le fuseau horaire

Le fuseau horaire est corrigé par l'ajout du fuseau horaire de l'utilisateur au point de terminaison à l'aide du paramètre timezoneOffset basé sur la version de l'API. La valeur du paramètre doit être un nombre positif ou négatif, en minutes, pour modifier l'heure.

Exemple de prévision V2 à l'heure d'été

Si vous souhaitez que l'entité datetimeV2 prédéfinie retournée soit ajustée à l'heure d'été, vous devez utiliser le paramètre querystring avec une valeur +/- en minutes pour la requête du point de terminaison.

Ajouter 60 minutes :

https://{region}.api.cognitive.microsoft.com/luis/v2.0/apps/{appId}?q=Turn the lights on?timezoneOffset=60&verbose={boolean}&spellCheck={boolean}&staging={boolean}&bing-spell-check-subscription-key={string}&log={boolean}

Supprimer 60 minutes :

https://{region}.api.cognitive.microsoft.com/luis/v2.0/apps/{appId}?q=Turn the lights on?timezoneOffset=-60&verbose={boolean}&spellCheck={boolean}&staging={boolean}&bing-spell-check-subscription-key={string}&log={boolean}

Le code C# de la prédiction V2 détermine la valeur correcte du paramètre

Le code C# suivant utilise la méthode FindSystemTimeZoneById de la classe TimeZoneInfo pour déterminer la valeur de décalage qui convient en fonction de l'heure du système :

// Get CST zone id
TimeZoneInfo targetZone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");

// Get local machine's value of Now
DateTime utcDatetime = DateTime.UtcNow;

// Get Central Standard Time value of Now
DateTime cstDatetime = TimeZoneInfo.ConvertTimeFromUtc(utcDatetime, targetZone);

// Find timezoneOffset/datetimeReference
int offset = (int)((cstDatetime - utcDatetime).TotalMinutes);

Étapes suivantes

Corriger les erreurs d’orthographe avec ce tutoriel