Condividi tramite


Filtrare le risposte con i metadati

QnA Maker consente di aggiungere metadati, sotto forma di coppie chiave e valore, alle coppie di domande e risposte. È quindi possibile usare queste informazioni per filtrare i risultati alle query utente e archiviare informazioni aggiuntive che possono essere usate nelle conversazioni di completamento.

Nota

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

Archiviare domande e risposte con un'entità QnA

È importante comprendere in che modo QnA Maker archivia i dati relativi a domande e risposte. 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. È possibile usare l'ID per eseguire aggiornamenti a una determinata entità QnA.

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 Opzioni visualizzazione . Aggiungere metadati al knowledge base selezionando l'icona dei metadati per aggiungere una coppia di metadati+. Questa coppia è costituita da una chiave e da un valore.

Screenshot dell'aggiunta di metadati

Filtrare i risultati con strictFilters per i tag dei metadati

Si consideri la domanda dell'utente "Quando si chiude questo hotel?", dove la finalità è implicita per il ristorante "Paradise".

Poiché i risultati sono necessari solo per il ristorante "Paradise", è possibile impostare un filtro nella chiamata GenerateAnswer sui metadati "Nome ristorante". L'esempio seguente mostra quanto segue:

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

Filtrare in base all'origine

Nel caso di più origini di contenuto nel knowledge base e si desidera limitare i risultati a un determinato set di origini, è possibile farlo usando la parola chiave source_name_metadata riservata, 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 strictFilters proprietà . 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 strictFiltersCompoundOperationType proprietà 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 strictFiltersCompoundOperationType proprietà con il valore di OR.

Ciò consente al knowledge base di restituire risposte quando qualsiasi filtro corrisponde, ma non restituisce 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 nella guida introduttiva del 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 di metadati corrispondenti della coppia di domande e risposte corrispondenti. È 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