Partage via


Filtrer les réponses à l’aide de métadonnées

Avec QnA Maker, vous pouvez ajouter des métadonnées, sous la forme de paires clé-valeur, à vos paires question/réponse. Vous pouvez ensuite utilise ces informations pour filtrer des résultats de requêtes d’utilisateurs et pour stocker des informations supplémentaires utilisables dans des conversations de suivi.

Notes

Le service QnA Maker sera mis hors service le 31 mars 2025. Une version plus récente de la fonctionnalité de questions et réponses est désormais disponible dans le cadre d’Azure AI Language. Pour obtenir des réponses aux questions au sein du service de langage, consultez Réponses aux questions. À partir du 1er octobre 2022 vous ne pourrez plus créer de nouvelles ressources QnA Maker. Pour plus d’informations sur la migration de bases de connaissances QnA Maker existantes vers Réponses aux questions, consultez le Guide de migration.

Stocker des questions et réponses avec une entité QnA

Il est important de bien comprendre de quelle façon QnA Maker stocke les données des questions et réponses. L’illustration suivante représente une entité QnA :

Illustration d’une entité QnA

Chaque entité QnA a un ID unique et persistant. Vous pouvez utiliser l’ID pour mettre à jour une entité QnA particulière.

Utiliser des métadonnées pour filtrer les réponses sur des balises de métadonnées personnalisées

L’ajout de métadonnées permet de filtrer les réponses sur ces balises de métadonnées. Ajoutez la colonne de métadonnées à partir du menu Options d’affichage. Ajoutez des métadonnées à votre Vase de connaissances en sélectionnant l’icône + des métadonnées pour ajouter une paire de métadonnées. Cette paire se compose d’une clé et une valeur.

Capture d’écran de l’ajout de métadonnées

Filtrer les résultats avec strictFilters pour les balises de métadonnées

Imaginez que la question de l’utilisateur soit « Quand ferme cet hôtel ? », où l’intention a implicitement trait au restaurant « Paradise ».

Étant donné que les résultats sont requis uniquement pour le restaurant « Paradise », vous pouvez définir un filtre dans l’appel GenerateAnswer sur les métadonnées du nom du restaurant. L’exemple suivant illustre cela :

{
    "question": "When does this hotel close?",
    "top": 1,
    "strictFilters": [ { "name": "restaurant", "value": "paradise"}]
}

Filtrer par source

Si votre base de connaissances contient plusieurs sources de contenu et que vous souhaitez limiter les résultats à un ensemble de sources particulier, vous pouvez le faire à l’aide du mot clé réservé source_name_metadata, comme indiqué ci-dessous.

"strictFilters": [
    {
        "name": "category",
        "value": "api"
    },
   {
        "name": "source_name_metadata",
        "value": "boby_brown_docx"
    },
   {
        "name": "source_name_metadata",
        "value": "chitchat.tsv"
   }
]

AND logique par défaut

Pour combiner plusieurs filtres de métadonnées dans la requête, ajoutez les filtres de métadonnées supplémentaires au tableau de la propriété strictFilters. Par défaut, les valeurs sont combinées logiquement (AND). Une combinaison logique exige que tous les filtres correspondent aux paires de question/réponse pour que la paire soit retournée dans la réponse.

Cela équivaut à utiliser la propriété strictFiltersCompoundOperationType avec la valeur AND.

OR logique en utilisant la propriété strictFiltersCompoundOperationType

Quand plusieurs filtres de métadonnées sont combinés, si vous êtes seulement intéressé par la correspondance d’un ou quelques filtres, utilisez la propriété strictFiltersCompoundOperationType avec la valeur OR.

Votre base de connaissances retourne alors des réponses quand un filtre correspond, mais ne retourne pas de réponses dépourvues de métadonnées.

{
    "question": "When do facilities in this hotel close?",
    "top": 1,
    "strictFilters": [
      { "name": "type","value": "restaurant"},
      { "name": "type", "value": "bar"},
      { "name": "type", "value": "poolbar"}
    ],
    "strictFiltersCompoundOperationType": "OR"
}

Exemples de métadonnées dans les guides de démarrage rapide

Apprenez-en plus sur les métadonnées dans le guide de démarrage rapide du portail QnA Maker pour les métadonnées :

Utilisez les résultats de questions et réponses pour conserver le contexte de la conversation

La réponse à GenerateAnswer contient les informations de métadonnées correspondantes de la paire question/réponse trouvée. Vous pouvez utiliser ces informations pour stocker le contexte de la conversation précédente en vue d’une utilisation dans des conversations ultérieures.

{
    "answers": [
        {
            "questions": [
                "What is the closing time?"
            ],
            "answer": "10.30 PM",
            "score": 100,
            "id": 1,
            "source": "Editorial",
            "metadata": [
                {
                    "name": "restaurant",
                    "value": "paradise"
                },
                {
                    "name": "location",
                    "value": "secunderabad"
                }
            ]
        }
    ]
}

Étapes suivantes