Antwoorden filteren met metagegevens

Met QnA Maker kunt u metagegevens, in de vorm van sleutel- en waardeparen, toevoegen aan uw paren van vragen en antwoorden. U kunt deze informatie vervolgens gebruiken om resultaten te filteren op gebruikersquery's en om aanvullende informatie op te slaan die kan worden gebruikt in vervolggesprekken.

Notitie

De QnA Maker-service wordt op 31 maart 2025 buiten gebruik gesteld. Er is nu een nieuwere versie van de vraag- en antwoordmogelijkheid beschikbaar als onderdeel van Azure AI Language. Zie Vragen beantwoorden voor mogelijkheden voor het beantwoorden van vragen binnen de Taalservice. Vanaf 1 oktober 2022 kunt u geen nieuwe QnA Maker-resources meer maken. Raadpleeg de migratiehandleiding voor informatie over het migreren van bestaande QnA Maker-knowledge bases om vragen te beantwoorden.

Vragen en antwoorden opslaan met een QnA-entiteit

Het is belangrijk om te begrijpen hoe QnA Maker de vraag- en antwoordgegevens opslaat. In de volgende afbeelding ziet u een QnA-entiteit:

Afbeelding van een QnA-entiteit

Elke QnA-entiteit heeft een unieke en permanente id. U kunt de id gebruiken om updates aan te brengen voor een bepaalde QnA-entiteit.

Metagegevens gebruiken om antwoorden te filteren op aangepaste metagegevenstags

Door metagegevens toe te voegen, kunt u de antwoorden filteren op deze metagegevenstags. Voeg de kolom met metagegevens toe vanuit het menu Weergaveopties . Voeg metagegevens toe aan uw Knowledge Base door het metagegevenspictogram + te selecteren om een metagegevenspaar toe te voegen. Dit paar bestaat uit één sleutel en één waarde.

Schermopname van het toevoegen van metagegevens

Resultaten filteren met strictFilters voor metagegevenstags

Houd rekening met de gebruikersvraag 'Wanneer sluit dit hotel?', waarbij de intentie wordt geïmpliceerd voor het restaurant 'Paradise'.

Omdat resultaten alleen vereist zijn voor het restaurant 'Paradise', kunt u een filter instellen in de aanroep GenerateAnswer op de metagegevens 'Restaurantnaam'. In het volgende voorbeeld ziet u dit:

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

Filteren op bron

Als u meerdere inhoudsbronnen in uw Knowledge Base hebt en u de resultaten wilt beperken tot een bepaalde set bronnen, kunt u dat doen met behulp van het gereserveerde trefwoordsource_name_metadata, zoals hieronder wordt weergegeven.

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

Logische AND standaard

Als u verschillende metagegevensfilters in de query wilt combineren, voegt u de extra metagegevensfilters toe aan de matrix van de strictFilters eigenschap. Standaard worden de waarden logisch gecombineerd (AND). Een logische combinatie vereist dat alle filters overeenkomen met de QnA-paren om het paar te kunnen retourneren in het antwoord.

Dit is gelijk aan het gebruik van de strictFiltersCompoundOperationType eigenschap met de waarde van AND.

Logische OF met behulp van de eigenschap strictFiltersCompoundOperationType

Wanneer u meerdere metagegevensfilters combineert, gebruikt strictFiltersCompoundOperationType u de eigenschap met de waarde van OR.

Hierdoor kan uw Knowledge Base antwoorden retourneren wanneer een filter overeenkomt, maar geen antwoorden zonder metagegevens retourneert.

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

Voorbeelden van metagegevens in quickstarts

Meer informatie over metagegevens vindt u in de quickstart voor de QnA Maker-portal voor metagegevens:

Vraag- en antwoordresultaten gebruiken om de gesprekscontext te behouden

Het antwoord op de GenerateAnswer bevat de bijbehorende metagegevensinformatie van het overeenkomende vraag- en antwoordpaar. U kunt deze informatie in uw clienttoepassing gebruiken om de context van het vorige gesprek op te slaan voor gebruik in latere gesprekken.

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

Volgende stappen