Filtern von Antworten mit Metadaten

QnA Maker ermöglicht es Ihnen, Ihren Frage-Antwort-Paaren Metadaten in Form von Schlüssel-Wert-Paaren hinzuzufügen. Mit diesen Informationen können Sie Ergebnisse nach Benutzerabfragen filtern und zusätzliche Informationen speichern, die in Folgekonversationen verwendet werden können.

Hinweis

Der QnA Maker-Dienst wird am 31. März 2025 außer Betrieb gesetzt. Eine neuere Version der Funktionalität „Fragen und Antworten“ ist jetzt als Teil von Azure KI Language verfügbar. Antworten auf Fragen innerhalb des Sprachdiensts finden Sie unter Fragen und Antworten. Ab dem 1. Oktober 2022 können Sie keine neuen QnA Maker-Ressourcen mehr erstellen. Informationen zum Migrieren vorhandener QnA Maker-Wissensdatenbanken für Fragen und Antworten finden Sie im Migrationsleitfaden.

Speichern von Fragen und Antworten mit einer QnA-Entität

Zunächst müssen Sie wissen, wie QnA Maker die Frage-Antwort-Daten speichert. Die folgende Abbildung zeigt eine QnA-Entität:

Illustration einer QnA-Entität

Jede QnA-Entität hat eine eindeutige und dauerhafte ID. Sie können die ID verwenden, um bestimmte QnA-Entitäten zu aktualisieren.

Verwenden von Metadaten zum Filtern von Antworten nach benutzerdefinierten Metadatentags

Durch das Hinzufügen von Metadaten können Sie die Antworten nach diesen Metadatentags filtern. Fügen Sie die Metadatenspalte aus dem Menü Ansichtsoptionen hinzu. Fügen Sie Ihrer Wissensdatenbank Metadaten hinzu, indem Sie auf das Metadatensymbol + klicken, um ein Metadatenpaar hinzuzufügen. Dieses Paar besteht aus einem Schlüssel und einen Wert.

Screenshot: Hinzufügen von Metadaten

Filtern von Ergebnissen mit „strictFilters“ nach Metadatentags

Betrachten Sie die Benutzerfrage „When does this hotel close?“ (Wann schließt dieses Hotel?); die Absicht zielt auf das Restaurant „Paradise“ ab.

Da nur Ergebnisse für das Restaurant „Paradise“ erforderlich sind, können Sie im GenerateAnswer-Aufruf einen Filter für die Metadaten zum Restaurantnamen festlegen. Dies wird im folgenden Beispiel veranschaulicht:

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

Nach Quelle filtern

Wenn Ihre Wissensdatenbank mehrere Inhaltsquellen enthält und Sie die Ergebnisse auf eine bestimmte Gruppe von Quellen beschränken möchten, verwenden Sie dazu das reservierte Schlüsselwort source_name_metadata, wie unten gezeigt.

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

Standardmäßig logisches UND

Fügen Sie zum Kombinieren mehrerer Metadatenfilter in der Abfrage die zusätzlichen Metadatenfilter dem Array der strictFilters-Eigenschaft hinzu. Standardmäßig werden die Werte logisch kombiniert (UND). Für eine logische Kombination müssen alle Filter mit den F&A-Paaren übereinstimmen, damit das Paar in der Antwort zurückgegeben wird.

Dies entspricht der Verwendung der strictFiltersCompoundOperationType-Eigenschaft mit dem Wert AND.

Logisches ODER mit der strictFiltersCompoundOperationType-Eigenschaft

Wenn Sie mehrere Metadatenfilter kombinieren, aber nur einer oder einige der Filter übereinstimmen müssen, verwenden Sie die strictFiltersCompoundOperationType-Eigenschaft mit dem Wert OR.

Dadurch kann Ihre Wissensdatenbank Antworten zurückgeben, wenn einer der Filter übereinstimmt, Es werden aber keine Antworten zurückgegeben, die keine Metadaten enthalten.

{
    "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"
}

Metadatenbeispiele in Schnellstarts

Weitere Informationen zu Metadaten finden Sie im Schnellstart zum QnA Maker Portal über Metadaten:

Verwenden von Frage und Antwortergebnis zum Beibehalten des Unterhaltungskontexts

Die Antwort auf den GenerateAnswer-Aufruf enthält die entsprechenden Metadateninformationen des übereinstimmenden Frage-Antwort-Paars. Sie können diese Informationen in Ihrer Clientanwendung verwenden, um den Kontext der vorherigen Unterhaltung für die Verwendung in späteren Unterhaltungen zu speichern.

{
    "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"
                }
            ]
        }
    ]
}

Nächste Schritte