Concevoir des bots de connaissances

S’APPLIQUE À : SDK v4

Vous pouvez concevoir un bot de connaissances qui couvre pratiquement n’importe quel sujet. Quel que soit le cas d’utilisation pour lequel un bot de connaissances est conçu, son objectif de base est toujours le même : trouver et retourner les informations que l’utilisateur a demandées en effectuant une recherche dans un corpus de données.

Par exemple, un bot de connaissances peut répondre à des questions sur des événements comme « Quels sont les événements de bot présents à cette conférence ? », « Quand a lieu le prochain concert de reggae ? », ou « Qui est Tame Impala ? ». Un autre bot peut répondre à des questions informatiques telles que « Comment faire pour mettre à jour mon système d’exploitation ? » ou alors « Où puis-je réinitialiser mon mot de passe ? ». Un autre encore peut répondre aux questions sur des contacts telles que « Qui est Jean Dupont ? » ou « Quelle est l’adresse e-mail de Mme Untel ? ».

Le présent article traite de certaines des fonctionnalités d’IA que vous pouvez ajouter à un bot, notamment pour permettre à un utilisateur de rechercher des informations, de poser des questions ou d’échanger des informations. Pour savoir quelles fonctionnalités des services Azure AI sont prises en charge par le Kit de développement logiciel (SDK) Bot Framework, reportez-vous à La compréhension du langage naturel.

Conseil

Azure AI Services intègre des technologies évolutives. Le présent article décrit les fonctionnalités plus récentes et les plus anciennes.

À propos des scores de confiance

Certaines fonctionnalités permettent à un bot de renvoyer des informations à partir d’une base de connaissances ou d’un modèle de langage pour répondre à une question ou à une requête de l’utilisateur.

Par exemple, si l’utilisateur demande à un bot de connaissances musicales des informations sur « impala » (au lieu du nom complet du groupe « Tame Impala »), le bot peut répondre avec des informations susceptibles d’être pertinentes pour cette entrée. De même, les fonctionnalités de compréhension du langage peuvent utiliser un modèle de langage pour extraire l’intention probable de l’entrée utilisateur. Par exemple, si l’utilisateur demande à un bot d’agence de voyages de « réserver une chambre pour trois jours », le bot peut extraire l’information « réserver une salle » et traiter les détails ensuite.

La reconnaissance des recherches et de l’intention renvoie un score de confiance, qui indique le niveau de confiance du moteur dans l’exactitude d’un résultat donné. Utilisez les scores de confiance pour ordonner les résultats ou pour répondre différemment, en fonction de la confiance globale dans votre réponse.

Remarque

Lorsque vous utilisez une combinaison de différents types de services ou de fonctionnalités, testez les entrées avec chacun des outils afin de déterminer le score seuil pour chacun de vos modèles. Les services et fonctionnalités utilisent différents critères de scoring, de sorte que les scores générés dans ces outils ne sont pas directement comparables. Par exemple, le service QnA Maker utilise une plage de confiance de 0 à 100, tandis que la fonction de réponse aux questions utilise une plage de 0,0 à 1,0.

  • Si le niveau de confiance est élevé, votre bot peut répondre « Voici l’événement qui correspond le mieux à votre recherche » ou « Je peux réserver une chambre pour vous » et présenter la meilleure réponse ou commencer à poser des questions de suivi.
  • Si le niveau de confiance est faible, le bot peut répondre « Hmm... cherchiez-vous l’un de ces événements ? » ou « Je peux faire les choses suivantes pour vous : » et présenter une liste de réponses ou d’options possibles.

Filtrer les sujets

Vous pouvez concevoir des bots de connaissance pour aider un utilisateur à restreindre et à affiner une recherche. Au cours d’une conversation, le bot peut poser des questions de clarification, présenter des options et valider des résultats, ce que vous ne pouvez pas faire avec une recherche classique.

Par exemple, un bot spécialisé dans les événements peut découvrir le type d’événement qui intéresse l’utilisateur en lui posant une série de questions. Penchez-vous sur les échanges suivants :

  1. Utilisateurs, « événements ».
  2. Bot, « qu’est-ce qui vous intéresse ? Musique, Comédie, Film, etc. »
  3. Utilisateur : « Musique ».
  4. Bot, « quels types de musique vous intéressent ? Faites votre choix : Rock/Pop, Hip-hop/Rap, etc. ».
  5. Utilisateur : « Rock/Pop ».
  6. Bot : « Quand voulez-vous écouter de la musique Rock/Pop ? Vendredi, samedi, dimanche, n’importe quel jour ».
  7. Utilisateur : « samedi ».
  8. Bot : « Voici les spectacles Rock/Pop pour samedi : » avec une liste des spectacles trouvés.

En traitant l’entrée de l’utilisateur à chaque étape et en présentant les options appropriées, le bot guide l’utilisateur vers les informations qu’il recherche. Outre ces informations, le bot peut également fournir des conseils sur la façon de trouver plus efficacement des informations similaires à l’avenir.

Vous pouvez également saisir « Rock vendredi » ou rechercher un événement en saisissant son nom.

Pour en savoir plus sur les services Azure associés, reportez-vous à Recherche dans l’article sur le concept de compréhension du langage naturel.

Questions auxquelles répondre

Vous pouvez concevoir des bots de connaissances pour répondre aux questions fréquentes. Grâce aux services qui prennent en charge les fonctionnalités de questions et réponses, vous ou votre bot pouvez souvent :

  • Gérer et entraîner une base de connaissances.
  • Importer des informations dans une base de connaissances, par exemple à partir d’un fichier de données ou d’une page web.
  • Deviner quelle réponse correspond le mieux à la question de l’utilisateur.
  • Poser des questions de suivi à l’utilisateur pour l’aider à trouver la réponse qu’il cherche.

Pour en savoir plus sur les services Azure associés, reportez-vous à questions et réponses dans l’article sur le concept de compréhension du langage naturel.

Interpréter l’intention

Certains bots de connaissances nécessitent des fonctionnalités de traitement du langage naturel (NLP) pour analyser les messages d’un utilisateur afin de déterminer son intention et d’autres informations importantes.

Par exemple, dans un bot de lecture de musique, un utilisateur peut entrer le message « Jouer du reggae », « Jouer Bob Marley » ou « Jouer One Love ». Vous pouvez entraîner un modèle de langage à associer chacun de ces messages à l’intention « playMusic », sans être formé à chaque artiste, genre et nom de chanson.

Votre modèle de langage peut ne pas pouvoir déterminer si l’objet ou l’entité à lire est un genre, un artiste ou une chanson. Cependant, votre bot peut rechercher cette entité à l’aide de ces informations, et continuer.

Pour en savoir plus sur les services Azure associés, reportez-vous à Compréhension du langage dans l’article sur le concept de compréhension du langage naturel.

Intégrer plusieurs fonctionnalités

Chaque fonctionnalité NLP est un outil puissant et autonome. Cependant, votre bot peut combiner ces fonctionnalités et d’autres pour offrir à vos utilisateurs une expérience plus fluide et naturelle. Utilisez les scores de confiance pour déterminer quelle fonctionnalité correspond le mieux au message de l’utilisateur, et posez des questions de suivi si la meilleure correspondance est ambiguë.

Par exemple, un tel bot peut faire les tâches suivantes pour l’utilisateur :

  • Trouver un spectacle qui l’intéresse.
  • Obtenir des informations sur l’artiste, le lieu et l’événement.
  • Acheter un ticket ou s’inscrire pour des notifications sur les événements futurs.

Pour en savoir plus sur les services Azure associés, reportez-vous à Utiliser plusieurs fonctionnalités ensemble dans l’article sur le concept de compréhension du langage naturel.

Explorer les exemples

Le référentiel des exemples du Bot Framework contient quelques exemples de bots qui démontrent les fonctionnalités de compréhension du langage :

Exemple Nom d’exemple Description
11 QnA Maker (simple) Répondez aux questions dans une conversation monotour en utilisant QnA Maker.
13 Bot cœur Interpréter l’intention de l’utilisateur à l’aide de LUIS.
14 NLP avec dispatch Distribuez des messages utilisateur à LUIS ou QnA Maker à l’aide d’Orchestrator.
49 QnA Maker (avancé) Répondre aux questions à l’aide de fonctionnalités d’apprentissage multitour et actif dans QnA Maker.

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, reportez-vous à 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 courant (CLU), une fonctionnalité d’Azure AI Language, est la version mise à jour de LUIS. Pour en savoir plus sur la prise en charge de la compréhension du langage dans le Kit de développement logiciel (SDK) Bot Framework, reportez-vous à Compréhension du langage naturel.

Le Kit de développement logiciel (SDK) Azure pour .NET et le Kit de développement logiciel (SDK) Azure pour les référentiels Python ont également quelques exemples :

Fonctionnalité Exemples README
Réponses aux questions C#, Python
Levée de fonds et engagement, flux de travail d’orchestration C#, Python