En demandant à l'utilisateur une liste de choix, il permet à l'utilisateur de sélectionner une option dans la liste ou d'entrer un texte valeur. Je sais que le plus pratique est de sélectionner parmi les choix donnés par onglet ou cliquez dessus, mais si l'utilisateur veut sélectionner la même option en le tapant manuellement, alors la structure du bot renvoie des valeurs incorrectes.Problème avec Prompts.choice: correspondance de chaîne non pertinente si l'utilisateur fournit un choix en tant que texte au lieu de le sélectionner dans la liste des choix fournis
Il est bizarre, mais ce que je Mémorable est que s'il y a un numéro dans le texte saisi et il ne correspond pas tout à fait les choix à condition qu'il sélectionne l'option à cette position. Par exemple, j'ai entré cockpit 4
s'attendant à ce qu'il corresponde à la 3ème option de la liste, mais il retourne effectivement la 4ème option. Je considère cela comme un bug car son comportement n'est pas documenté et ne fonctionne pas comme prévu.
J'ai également créé un exemple d'application de démonstration pour montrer ce problème et comme la capture d'écran ci-dessus provient de la même application, vous pouvez essayer l'exemple que j'ai mentionné.
projet Télécharger de lien ci-dessous: https://1drv.ms/f/s!AkRT15xJsa0UdY-Y5FPJ8QvY1aU
L'utilisateur doit entrer le texte complet de l'option de choix pour qu'il soit reconnu correctement. Dans votre exemple, vous n'avez pas entré le texte d'option complet qui serait "Cockpit 4 au niveau 2". Étant donné que vous n'avez entré qu'une réponse partielle, comprenant un nombre, le système de reconnaissance a interprété votre saisie comme une sélection basée sur le nombre. Par exemple, vous avez choisi le choix n ° 4. – nilsw
J'ai essayé les deux approches ci-dessous: 1. désactiver la reconnaissance des ordinaux 2. améliorer le score fourni par PromptRecognizers.findTopEntity (PromptRecognizers.recognizeChoices (énoncé, choix, options)); La deuxième approche est directe alors que pour la première approche, je n'ai trouvé aucun moyen de définir une propriété comme 'recognoOrdinals'. FYI J'utilise Prompts.choice et semble avoir besoin de l'utilisateur PromptChoice à la place et implémente ses gestionnaires de reconnaissance. Corrigez-moi si je me trompe. –