Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Suivez ces meilleures pratiques pour améliorer votre projet, puis fournir des résultats plus pertinents à l’application cliente ou aux utilisateurs finaux du bot de conversation.
Extraction
Le service de réponses aux questions personnalisées améliore en permanence les algorithmes qui extraient les paires question/réponse de contenu et étend la liste des formats HTML et de fichier pris en charge. En général, les pages FAQ doivent être autonomes et ne pas être combinées avec d’autres informations. Les manuels de produits doivent avoir des titres clairs et, si possible, une page d’index.
Créer de bonnes questions et réponses
Nous avons utilisé la liste suivante de paires question/réponse comme représentation d’un projet pour mettre en évidence les bonnes pratiques de création de projets pour les réponses aux questions personnalisées.
Question | Réponse |
---|---|
Je veux acheter une voiture. | Il existe trois options pour acheter une voiture. |
Je veux acheter une licence logicielle. | Il est possible d’acquérir une licence logicielle en ligne gratuitement. |
Quel est le prix d’une action Microsoft ? | 200 $ US. |
Comment acheter des services Microsoft ? | Il est possible d’acheter des services Microsoft en ligne. |
Je veux vendre une voiture. | Envoyez des photos et les papiers du véhicule. |
Comment puis-je accéder à une carte d’identification ? | Faites votre demande par le biais du portail d’entreprise pour obtenir une carte d’identification. |
Quand devez-vous ajouter d’autres questions aux paires question/réponse ?
Le service de réponses aux questions personnalisées utilise un ranker basé sur un transformateur qui traite les requêtes utilisateur qui sont sémantiquement similaires à la question du projet. Par exemple, considérez la paire question/réponse suivante :
Question : Quel est le prix d’une action Microsoft ?Réponse : 200 $ US.
Le service peut retourner la réponse attendue pour des requêtes sémantiquement similaires comme :
« Combien coûte une action Microsoft ? » « Quelle est la valeur d’une action Microsoft ? » « Quel est le coût d’une action Microsoft ? » « Quelle est la valeur marchande d’une action Microsoft ? » « Quelle est la valeur marchande d’un titre Microsoft ? »
Pourtant, il est important de comprendre que le score de confiance avec lequel le système retourne la bonne réponse varie en fonction de la requête d’entrée et de sa différence par rapport à la paire question/réponse d’origine.
Certains scénarios nécessitent que le client ajoute une autre question. Quand il est déjà vérifié que, pour une requête particulière, la bonne réponse n’est pas retournée, bien qu’elle soit présente dans le projet, nous vous conseillons d’ajouter cette requête sous la forme d’une question alternative à la paire question/réponse prévue.
Quel est le nombre optimal de questions alternatives par paire question/réponse ?
Les utilisateurs peuvent ajouter autant de questions alternatives qu’ils le souhaitent, mais seuls les 5 premières seront prises en compte pour le classement de base. Toutefois, le reste sera utile pour les scénarios de correspondance exacte. Nous vous recommandons également de conserver les différentes intentions/questions alternatives distinctes en haut pour améliorer la pertinence et le score.
La compréhension sémantique dans les réponses aux questions personnalisées doit permettre de prendre en charge des questions alternatives similaires.
Le retour sur investissement commence à diminuer une fois que vous avez dépassé 10 questions. Même si vous ajoutez plus de 10 questions alternatives, essayez de faire en sorte que les 10 premières questions soient aussi sémantiquement dissemblables que possible, afin que tous les types d’intentions soient capturés pour la réponse par ces 10 questions. Pour le projet mentionné au début de cette section, dans la paire question/réponse n° 1, il n’est pas nécessaire d’ajouter des questions alternatives comme « Comment puis-je acheter une voiture ? », « Je voudrais acheter une voiture ». Tandis que l’ajout de questions alternatives comme « Comment acheter une voiture », « Quelles sont les options d’achat d’un véhicule ? » peut s’avérer utile.
Quand ajouter des synonymes à un projet ?
Les réponses aux questions personnalisées offrent la possibilité d’utiliser des synonymes au niveau du projet, contrairement à QnA Maker où les synonymes sont partagés entre les projets pour l’ensemble du service.
Pour une plus grande pertinence, vous avez besoin de fournir une liste d’acronymes que l’utilisateur final envisage d’utiliser de manière interchangeable. La liste suivante indique les acronymes acceptables :
MSFT
: MicrosoftID
: identificationETA
: heure d’arrivée estimée
En dehors des acronymes, si vous pensez que vos mots sont similaires dans le contexte d’un domaine particulier et que les modèles de langue générique ne les considèrent pas comme similaires, il est préférable de les ajouter en tant que synonymes. Par exemple, si un constructeur automobile produisant un modèle de voiture X reçoit des requêtes telles que « Le système audio de ma voiture ne fonctionne pas » et que le projet contient des questions sur la « réparation du système audio de la voiture X », nous devons ajouter « X » et « voiture » comme synonymes.
Le modèle basé sur un transformateur gère déjà la plupart des cas de synonymes courants, par exemple : Purchase – Buy
, Sell - Auction
, Price – Value
. Par exemple, considérez la paire question/réponse suivante : Question : « Quel est le prix d’une action Microsoft ? » Réponse : « 200 $ US ».
Si nous recevons des requêtes utilisateur comme « valeur en bourse de Microsoft », « valeur d’une action Microsoft », « valeur d’un titre Microsoft », « valeur en bourse », et bien plus encore., vous devez être en mesure d’obtenir la bonne réponse, même si ces requêtes comportent des mots comme « action », « titre » et « bourse », qui ne sont pas présents dans le projet à l’origine.
Les caractères spéciaux ne sont pas autorisés dans les synonymes.
Comment les caractères minuscules/majuscules sont-ils traités ?
Les réponses aux questions prennent en compte la casse, mais de manière suffisamment intelligente pour comprendre quand elle doit être ignorée. Vous n’allez pas voir de différences notables à cause d’une casse incorrecte.
Comment les paires question/réponse sont-elles classées par ordre de priorité pour les questions multitours ?
Quand un projet a des relations hiérarchiques (ajoutées manuellement ou par extraction) et que la réponse précédente était une réponse liée à d’autres paires question/réponse, pour la requête suivante, nous accordons une légère préférence à toutes les paires enfants, frères et petits enfants, dans cet ordre. Avec toute requête, l’API REST de réponses aux questions personnalisées attend un objet context
avec la propriété previousQnAId
, qui indique la dernière réponse principale. Sur la base de ce précédent QnAID
, tous les QnAs
associés sont optimisés.
Comment les accents sont-ils traités ?
Les accents sont pris en charge pour toutes les principales langues européennes. Si la requête contient un accent incorrect, le score de confiance peut différer légèrement, mais le service retourne quand même la réponse pertinente et gère les erreurs mineures en exploitant la recherche approximative.
Comment la ponctuation est-elle traitée dans une requête utilisateur ?
La ponctuation est ignorée dans une requête utilisateur avant son envoi à la pile de classement. Idéalement, elle ne doit pas avoir d’impact sur les scores de pertinence. La ponctuation ignorée est la suivante : ,?:;\"'(){}[]-+。./!*؟
Échanges de conversation (chit-chat)
Ajoutez facilement des échanges à votre bot afin de rendre ses conversations plus naturelles et engageantes. Vous pouvez aisément ajouter des sources de données d’échanges de conversation pour des personnalités prédéfinies lors de la création de votre projet, et les modifier à tout moment. Découvrez comment ajouter des échanges de conversation à votre base de connaissances.
Les échanges sont pris en charge dans de nombreuses langues.
Choix d’une personnalité
Les échanges de conversation sont pris en charge pour plusieurs personnalités prédéfinies :
Personnalité | Fichier de jeu données des réponses aux questions personnalisées |
---|---|
Professional | qna_chitchat_professional.tsv |
Convivial | qna_chitchat_friendly.tsv |
Comique | qna_chitchat_witty.tsv |
Attentif | qna_chitchat_caring.tsv |
Enthousiaste | qna_chitchat_enthusiastic.tsv |
Les réponses vont du formel à l’informel, en passant par l’irrévérencieux. Vous devez sélectionner la personnalité qui correspond le plus au ton souhaité pour votre bot. Vous pouvez afficher les jeux de données, en choisir un qui sert de base pour votre bot, puis personnaliser les réponses.
Modifier les questions propres au bot
Il existe certaines questions propres au bot qui font partie du jeu de données d’échanges de conversation et qui ont été remplies avec des réponses génériques. Modifiez ces réponses pour qu’elles reflètent mieux les caractéristiques de votre bot.
Nous recommandons de rendre plus spécifiques les paires de questions-réponses du chit-chat qui suivent :
- qui êtes-vous ?
- que pouvez-vous faire ?
- Quel âge avez-vous ?
- Qui vous a créé ?
- Hello
Ajout d’échanges de conversation personnalisés avec une balise de métadonnées
Si vous ajoutez vos propres paires de questions-réponses chit-chat, assurez-vous d’ajouter les métadonnées afin que ces réponses soient envoyées. La paire nom/valeur des métadonnées est editorial:chitchat
.
Recherche de réponses
L’API REST de réponses aux questions personnalisées utilise à la fois les questions et les réponses pour rechercher les meilleures réponses à la requête de l’utilisateur.
Recherche de questions uniquement lorsque la réponse n’est pas pertinente
Utilisez le paramètre RankerType=QuestionOnly
si vous ne voulez pas rechercher des réponses.
Voici un exemple : le projet est un catalogue d’acronymes sous la forme de questions, avec leur forme complète en tant que réponse. La valeur de la réponse ne facilite pas la recherche de la réponse appropriée.
Classement/scoring
Veillez à tirer le meilleur parti des fonctionnalités de classement prises en charge. Ces fonctionnalités augmentent la probabilité de retourner une réponse pertinente à une requête utilisateur.
Choix d’un seuil
Le score de confiance par défaut utilisé comme seuil est de 0, mais vous pouvez le changer pour votre projet, en fonction de vos besoins. Chaque projet étant différente, vous devez procéder à des test et choisir le seuil qui convient le mieux à votre projet.
Sélection du type d’outil de classement
Par défaut, le service de réponses aux questions personnalisées recherche dans les questions et les réponses. Pour rechercher dans les questions uniquement afin de générer une réponse, utilisez le paramètre RankerType=QuestionOnly
dans le corps POST de la requête de l’ApI REST.
Ajouter des questions alternatives
Les questions alternatives augmentent la probabilité de trouver une correspondance avec une requête utilisateur. Les questions alternatives sont utiles quand il existe plusieurs manières de poser une question. C’est notamment le cas pour les variantes syntaxiques et lexicales.
Requête d’origine | Autres requêtes | Change |
---|---|---|
Un stationnement est-il disponible ? | Vous avez un parking ? | Variante syntaxique |
Salut | Bonjour Ça va ? |
Variante lexicale ou argot |
Utiliser des balises de métadonnées pour filtrer les questions et les réponses
Les métadonnées ajoutent à une application cliente la possibilité de savoir qu’elle ne doit pas récupérer toutes les réponses, mais réduire les résultats d’une requête utilisateur en fonction des balises de métadonnées. La réponse du projet peut varier en fonction de la balise de métadonnées, même si la requête est la même. Par exemple, dans le cas d’une chaîne de restaurants, la question « Où se trouve le parking ? » peut donner une réponse différente en fonction du lieu du restaurant (ici, les métadonnées sont Location: Seattle et Location: Redmond.)
Utiliser des synonymes
Les synonymes en langue anglaise sont pris en charge. Utilisez des variantes de mots (sans respect de la casse) afin d’ajouter des synonymes à des mots clés qui prennent différentes formes.
Mot d’origine | Synonymes |
---|---|
buy | purchase net-banking net banking |
Utiliser des mots distincts pour différencier les questions
L’algorithme de classement qui met en correspondance une requête d’utilisateur avec une question du projet retourne de meilleurs résultats si chaque question répond à un besoin différent. La répétition du même mot défini entre les questions réduit la probabilité de sélection de la réponse appropriée pour une requête utilisateur qui contient ces mots.
Par exemple, vous pouvez avoir deux entités de questions-réponses distinctes avec les questions suivantes :
Questions |
---|
où est l’emplacement de stationnement |
où est l’emplacement du distributeur automatique de billets |
Ces deux entités de questions-réponses employant des mots très similaires, elles pourraient générer des scores très similaires pour de nombreuses requêtes d’utilisateur utilisant la tournure de phrase « où est l’emplacement de <x>
». Essayez plutôt de les distinguer clairement avec des requêtes du type « où est le parking » et « où est le distributeur automatique de billets », en évitant des mots comme « emplacement » susceptibles de figurer dans de nombreuses questions du projet.
Travailler en collaboration
Le service de réponses aux questions personnalisées permet aux utilisateurs de collaborer sur un projet. Les utilisateurs doivent avoir accès au groupe de ressources Azure associé pour accéder aux projets. Certaines organisations souhaiteront sans doute externaliser la modification et la maintenance des projets tout en pouvant toujours protéger l’accès à leurs ressources Azure. Pour ce faire, vous configurez deux ressources de langue identiques avec des projets de réponses aux questions personnalisées identiques dans différents abonnements et vous en sélectionnez une pour le cycle de test de modification. Une fois le test terminé, le contenu du projet est exporté et transféré avec un processus d'importation/exportation vers la ressource de langue de l’approbateur qui déploiera enfin le projet et mettra à jour le point de terminaison.
Apprentissage actif
L’apprentissage actif est le plus à même de suggérer d’autres questions quand il dispose d’un large éventail qualitatif et quantitatif de requêtes utilisateur. Il est important d’autoriser les requêtes utilisateur des applications clientes à participer à la boucle de commentaires sur l’apprentissage actif sans censure. Une fois que vous avez suggéré les questions dans Language Studio, vous pouvez passer en revue et accepter ou refuser ces suggestions.