Filtrare le risposte con i metadati

QnA Maker consente di aggiungere metadati sotto forma di coppie di chiave e valore per i set di domande/risposte. Queste informazioni possono essere usate per filtrare i risultati per le query utente e per archiviare informazioni aggiuntive utilizzabili nelle conversazioni di follow-up.

Nota

Il servizio QnA Maker sarà ritirato il 31 marzo 2025. Una versione più recente della funzionalità di domande e risposte è ora disponibile come parte di Lingua di Azure AI. Per le funzionalità di risposta alla domanda all'interno del servizio di linguaggio vedere Risposta alla domanda. A partire dal 1° ottobre 2022 non è più possibile creare nuove risorse di QnA Maker. Per informazioni sulla migrazione delle knowledge base di QnA Maker esistenti alla funzionalità di risposta alla domanda vedere la guida alla migrazione.

Archiviare domande e risposte con un'entità QnA

Prima di tutto, è importante comprendere come i dati di domanda e risposta vengono archiviati da QnA Maker. La figura seguente mostra un'entità di tipo Domande e risposte:

Illustrazione di un'entità QnA

Ogni entità di tipo Domande e risposte ha un ID univoco e persistente. L'ID può essere usato per aggiornare un'entità di tipo Domande e risposte specifica.

Usare i metadati per filtrare le risposte in base ai tag di metadati personalizzati

L'aggiunta di metadati consente di filtrare le risposte in base a questi tag di metadati. Aggiungere la colonna dei metadati dal menu Visualizza opzioni. Aggiungere metadati alla knowledge base selezionando l'icona dei metadati + per aggiungere una coppia di metadati. Questa coppia è costituita da una chiave e da un valore.

Schermata di aggiunta dei metadati

Filtrare i risultati con strictFilters per i tag dei metadati

Si consideri la domanda dell'utente "Quando chiude questo hotel?", dove l'intento è implicito per il ristorante "Paradise".

Poiché sono richiesti i risultati solo per il ristorante "Paradise", è possibile impostare un filtro nella chiamata a GenerateAnswer sui metadati relativi al nome del ristorante, come indicato di seguito. Nell'esempio riportato di seguito viene illustrata questa situazione.

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

Filtra per origine

Se nella knowledge base sono presenti più origini di contenuto e si vuole limitare i risultati a un determinato set di origini, è possibile usare la parola chiave riservata source_name_metadata, come illustrato di seguito.

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

AND logico per impostazione predefinita

Per combinare diversi filtri di metadati nella query, aggiungere i filtri di metadati aggiuntivi alla matrice della proprietà strictFilters. Per impostazione predefinita, i valori vengono combinati logicamente (AND). Una combinazione logica richiede che tutti i filtri corrispondano alle coppie QnA affinché la coppia venga restituita nella risposta.

Equivale a usare la proprietà strictFiltersCompoundOperationType con il valore di AND.

OR logico tramite la proprietà strictFiltersCompoundOperationType

Quando si combinano diversi filtri di metadati, se si è interessati solo a uno o ad alcuni filtri corrispondenti, usare la proprietà strictFiltersCompoundOperationType con il valore di OR.

Ciò consente alla knowledge base di restituire risposte quando sono presenti dei filtri con corrispondenze che non restituiscono risposte senza metadati.

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

Esempi di metadati nelle guide introduttive

Altre informazioni sui metadati sono disponibili nell’avvio rapido al portale di QnA Maker per i metadati:

Usare i risultati di domande e risposte per mantenere il contesto della conversazione

La risposta a GenerateAnswer contiene le informazioni sui metadati corrispondenti del set di domande e risposte corrispondente. È possibile usare queste informazioni nell'applicazione client per archiviare il contesto della conversazione precedente da usare nelle conversazioni successive.

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

Passaggi successivi