Partager via


Modules de reconnaissance dans les dialogues adaptatifs

S’APPLIQUE À : SDK v4

Les modules de reconnaissance de langue permettent à votre bot d’interpréter les entrées utilisateur. Les dialogues adaptatifs et les modules de reconnaissance de langue interprètent ensemble l’intention de l’utilisateur et réagissent de manière fluide à l’entrée utilisateur. Le présent article décrit les modules de reconnaissance intégrés dans le kit de développement logiciel (SDK) Bot Framework et certaines de leurs propriétés clés.

Pour en savoir plus sur l’utilisation du module de reconnaissance, reportez-vous à la compréhension du langage dans la documentation Bot Framework Composer.

Ensemble de modules de reconnaissance d’entraînement croisé

L’ensemble de modules de reconnaissance d’entraînement croisé compare les résultats de reconnaissance de plusieurs modules de reconnaissance pour déterminer un gagnant. Sur la base d’une collection de modules de reconnaissance donnée, le module de reconnaissance d’entraînement croisé :

  • Effectue la promotion du résultat de reconnaissance de l’un des modules de reconnaissance si tous les autres diffèrent la reconnaissance à un module de reconnaissance unique. Pour différer la reconnaissance, un module de reconnaissance peut retourner l’intention None ou un DeferToRecognizer_recognizerId explicite en tant qu’intention.
  • Déclencher un événement OnChooseIntent pour autoriser votre code à choisir le résultat de reconnaissance à utiliser. Les résultats de chaque module de reconnaissance sont retournés via la propriété turn.recognized.candidates. Cela vous permet de choisir le résultat le plus approprié.

Module de reconnaissance par défaut

Remarque

Azure AI QnA Maker sera mis hors service le 31 mars 2025. À partir du 1er octobre 2022, vous ne pourrez plus créer de nouvelles ressources ou bases de connaissances QnA Maker. Une version plus récente de la fonctionnalité de questions et réponses est désormais disponible dans le cadre d’Azure AI Language.

La réponse aux questions personnalisées, une fonctionnalité d'Azure AI Language, est la version mise à jour du service QnA Maker. Pour plus d'informations sur la prise en charge des questions et réponses dans le kit de développement logiciel (SDK) Bot Framework, consultez Compréhension du langage naturel.

Remarque

Compréhension du langage (LUIS) sera mis hors service le 1er octobre 2025. À compter du 1er avril 2023, vous ne pourrez pas créer de nouvelles ressources LUIS. Une version plus récente de Compréhension du langage est désormais disponible dans le cadre d'Azure AI Language.

Compréhension du langage conversationnel (CLU), une fonctionnalité d'Azure AI Language, est la version mise à jour de LUIS. Pour plus d'informations sur la prise en charge de compréhension du langage dans le kit de développement logiciel (SDK) Bot Framework, consultez Compréhension du langage naturel.

Le module de reconnaissance par défaut a été créé pour remplacer les modules de reconnaissance suivants :

  • Module de reconnaissance LUIS : pour extraire des intentions et des entités à partir de l’énoncé d’un utilisateur en fonction du service LUIS (compréhension du langage) défini.
  • Module de reconnaissance QnA Maker : pour extraire les intentions de l’énoncé d’un utilisateur en fonction du service QnA Maker défini.
  • Ensemble de modules de reconnaissance d’entraînement croisé : pour comparer les résultats de reconnaissance de plusieurs modules de reconnaissance pour déterminer un gagnant.

Module de reconnaissance LUIS

Language Understanding (LUIS) est un service API cloud qui applique une intelligence Machine Learning personnalisée au texte en langage naturel des conversations d’un utilisateur afin d’en prédire le sens général et d’en extraire des informations détaillées pertinentes. Le module de reconnaissance LUIS vous permet d’extraire des intentions et des entités d’un énoncé d’utilisateur en fonction de l’application LUIS définie, que vous entraînez à l’avance.

Conseil

Pour en savoir plus sur l’incorporation de la compréhension du langage dans votre bot à l’aide de LUIS, reportez-vous à :

Module de reconnaissance multilingue

Lorsque vous créez un bot multilingue sophistiqué, vous avez généralement un module de reconnaissance pour chaque langue et local. Le module de reconnaissance multilingue vous permet de spécifier facilement le module de reconnaissance à utiliser en fonction de la propriété locale de l’activité entrante d’un utilisateur.

Pour en savoir plus, reportez-vous à l’article de support multilingue dans la documentation Composer.

Module de reconnaissance Orchestrator

Orchestrator est une solution de compréhension du langage optimisée pour les applications IA de conversations. Il remplace bot Framework Dispatcher. Le module de reconnaissance Orchestrator vous permet d’extraire une intention à partir de l’énoncé d’un utilisateur, qui peut être utilisé pour acheminer vers une compétence ou un module de reconnaissance approprié, tel que LUIS ou QnA Maker.

Conseil

Pour en savoir plus sur l’incorporation de la compréhension du langage dans votre bot à l’aide de Orchestrator, reportez-vous à :

Module de reconnaissance QnA Maker

QnAMaker.ai appartient à Azure AI Services et permet de créer des paires de questions-réponses enrichies à partir de contenu existant (documents, URL, fichiers PDF, etc.). Vous pouvez utiliser le module de reconnaissance QnA Maker pour l’intégration au service.

Remarque

Le module de reconnaissance QnA Maker émet un événement QnAMatch que vous pouvez gérer à l’aide d’un déclencheur OnQnAMatch. La réponse QnA Maker entière est disponible dans la propriété answer.

Ensemble de modules de reconnaissance

Parfois, vous pouvez être amené à exécuter plusieurs modules de reconnaissance à chaque tour de la conversation. L’ensemble de modules de reconnaissance effectue précisément cette opération. Tous les modules de reconnaissance sont exécutés à chaque tour de la conversation, et le résultat est l’union de tous les résultats de reconnaissance.

Module de reconnaissance d’expression régulière (regex)

Le module de reconnaissance RegEx utilise des expressions régulières pour extraire des données d’intention et d’entité d’un énoncé.

Le module de reconnaissance regex se compose principalement des éléments suivants :

  • Intents. L’objet Intents contient une liste d’objets IntentPattern et ces objets IntentPattern se composent d’une propriété Intent qui est le nom de l’intention, et d’une propriété Pattern qui contient une expression régulière utilisée pour analyser l’énoncé afin de déterminer l’intention.
  • Entities. L’objet Entities contient une liste d’objets EntityRecognizer. Le SDK Bot Framework définit plusieurs classes EntityRecognizer pour vous aider à déterminer les entités contenues dans l’énoncé d’un utilisateur :
    • AgeEntityRecognizer
    • ConfirmationEntityRecognizer
    • CurrencyEntityRecognizer
    • DateTimeEntityRecognizer
    • DimensionEntityRecognizer
    • EmailEntityRecognizer
    • EntityRecognizer
    • EntityRecognizerSet
    • GuidEntityRecognizer
    • HashtagEntityRecognizer
    • IpEntityRecognizer
    • MentionEntityRecognizer
    • NumberEntityRecognizer
    • NumberRangeEntityRecognizer
    • OrdinalEntityRecognizer
    • PercentageEntityRecognizer
    • PhoneNumberEntityRecognizer
    • RegExEntityRecognizer
    • TemperatureEntityRecognizer
    • TextEntity
    • TextEntityRecognizer
    • UrlEntityRecognizer

Conseil

  • Le module de reconnaissance Regex émet une intention « None » quand l’énoncé d’entrée ne correspond à aucune intention définie. Vous pouvez créer un déclencheur OnIntent avec Intent = "None" pour gérer ce scénario.
  • Le module de reconnaissance Regex est utile pour les tests et le prototypage rapide. Pour des bots plus sophistiqués, nous recommandons d’utiliser le module de reconnaissance de compréhension du langage (LUIS).
  • La référence rapide du langage des expressions régulières pourra s’avérer utile.

Informations supplémentaires