Apprendimento attivo

La funzionalità dei suggerimenti di apprendimento attivo consente di migliorare la qualità della knowledge base suggerendo domande alternative, basate sugli invii dell'utente, alla coppia di domanda e risposta. L'utente revisiona tali suggerimenti, aggiungendoli alle domande esistenti o rifiutandoli.

La knowledge base non viene modificata automaticamente. Per rendere effettiva qualsiasi modifica, è necessario accettare i suggerimenti. Questi suggerimenti aggiungono domande, ma non modificano o rimuovono le domande esistenti.

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 risposta alla domanda, vedere la guida alla migrazione.

Che cos'è l'apprendimento attivo?

QnA Maker impara nuove variazioni delle domande con feedback implicito ed esplicito.

  • Feedback implicito - Il classificatore riconosce quando una domanda dell'utente ha più risposte con punteggi molto simili e la considera come un feedback. Non è necessario intervenire manualmente.
  • Feedback esplicito - Quando più risposte con una piccola variazione nei punteggi vengono restituite dalla knowledge base, l'applicazione client chiede all'utente quale domanda è la domanda corretta. Il feedback esplicito dell'utente viene inviato a QnA Maker con l'API Train.

Entrambi i metodi forniscono al classificatore query analoghe che vengono raggruppate in un cluster.

Funzionamento dell'apprendimento attivo

L'apprendimento attivo è attivato in base ai punteggi di alcune tra le domande principali restituite da QnA Maker. Se le differenze di punteggio tra le coppie di domanda e risposta corrispondenti alla query rientrano in un intervallo ristretto, la query viene considerata un possibile suggerimento (come domanda alternativa) per ognuna delle coppie di domanda e risposta possibili. Dopo aver accettato la domanda suggerita per una coppia di domanda e risposta specifica, viene rifiutata per le altre coppie. È necessario ricordarsi di salvare ed eseguire il training dopo aver accettato i suggerimenti.

L'apprendimento attivo fornisce i migliori suggerimenti possibili nei casi in cui gli endpoint ricevono una quantità e una varietà ragionevole di query di utilizzo. Quando cinque o più query simili vengono raggruppate in un cluster, ogni 30 minuti, QnA Maker suggerisce le domande basate sull'utente nella finestra di progettazione della knowledge base da accettare o rifiutare. Tutti i suggerimenti sono raggruppati per somiglianza e vengono visualizzati i primi suggerimenti per le domande alternative in base alla frequenza delle determinate query degli utenti finali.

Dopo aver suggerito domande nel portale di QnA Maker, è necessario esaminare e accettare o rifiutare tali suggerimenti. Non esiste un'API per gestire i suggerimenti.

Funzionamento del feedback implicito di QnA Maker

Il feedback implicito di QnA Maker usa un algoritmo per determinare la prossimità dei punteggi e quindi invia suggerimenti di apprendimento attivo. L'algoritmo usato per determinare la prossimità non è un calcolo semplice. Gli intervalli negli esempi precedenti non sono fissi ma devono essere usati come una guida solo per comprendere l'impatto dell'algoritmo.

Quando il punteggio di una domanda è altamente attendibile, ad esempio all'80%, l'intervallo dei punteggi che sono considerati per l'apprendimento attivo è ampio, entro il 10% circa. Se il punteggio di attendibilità si riduce, ad esempio al 40%, anche l'intervallo dei punteggi si riduce, entro il 4% circa.

Nella risposta JSON seguente da una query a GenerateAnswer di QnA Maker, i punteggi per A, B e C sono vicini e vengono considerati come suggerimenti.

{
  "activeLearningEnabled": true,
  "answers": [
    {
      "questions": [
        "Q1"
      ],
      "answer": "A1",
      "score": 80,
      "id": 15,
      "source": "Editorial",
      "metadata": [
        {
          "name": "topic",
          "value": "value"
        }
      ]
    },
    {
      "questions": [
        "Q2"
      ],
      "answer": "A2",
      "score": 78,
      "id": 16,
      "source": "Editorial",
      "metadata": [
        {
          "name": "topic",
          "value": "value"
        }
      ]
    },
    {
      "questions": [
        "Q3"
      ],
      "answer": "A3",
      "score": 75,
      "id": 17,
      "source": "Editorial",
      "metadata": [
        {
          "name": "topic",
          "value": "value"
        }
      ]
    },
    {
      "questions": [
        "Q4"
      ],
      "answer": "A4",
      "score": 50,
      "id": 18,
      "source": "Editorial",
      "metadata": [
        {
          "name": "topic",
          "value": "value"
        }
      ]
    }
  ]
}

QnA Maker non saprà quale risposta è la migliore. Usare l'elenco di suggerimenti del portale di QnA Maker per selezionare la risposta migliore ed eseguire di nuovo il training.

Come fornire feedback esplicito con l'API Train

QnA Maker ha bisogno di feedback esplicito su quale delle risposte è stata la migliore. Spetta all'utente determinare la risposta migliore in uno dei modi seguenti:

  • Feedback dell'utente, selezionando una delle risposte.
  • Logica di business, ad esempio stabilendo un intervallo di punteggi accettabile.
  • Una combinazione di feedback dell'utente e logica di business.

Usare l'API Train per inviare la risposta corretta selezionata dall'utente a QnA Maker.

Aggiornare la versione di runtime per usare l'apprendimento attivo

L'apprendimento attivo è supportato nella versione del runtime 4.4.0 e versioni successive. Se la knowledge base è stata creata in una versione precedente, aggiornare il runtime per usare questa funzionalità.

Attivare l'apprendimento attivo per domande alternative

L'apprendimento attivo è disattivato per impostazione predefinita. Attivarlo per visualizzare le domande suggerite. Dopo aver attivato l'apprendimento attivo, è necessario inviare informazioni dall'app client a QnA Maker. Per altre informazioni, vedere Flusso architetturale per l'uso delle API GenerateAnswer e Train da un bot.

  1. Selezionare Pubblica per pubblicare la knowledge base. Le query di apprendimento attivo vengono raccolte solo dall'endpoint di previsione dell'API GenerateAnswer. Le query nel riquadro Test nel portale di QnA Maker non influiscono sull'apprendimento attivo.

  2. Per attivare l'apprendimento attivo nel portale di QnA Maker, passare all'angolo in alto a destra, selezionare il proprio Nome e passare a Impostazioni servizio.

    Attivare le alternative alle domande suggerite dell'apprendimento attivo dalla pagina Impostazioni servizio. Selezionare il nome utente nel menu in alto a destra, quindi selezionare Impostazioni servizio.

  3. Trovare il servizio QnA Maker, quindi attivare Active Learning (Apprendimento attivo).

    Nella pagina delle Impostazioni servizio, attivare o disattivare la funzione Apprendimento attivo. Se non è possibile attivare o disattivare la funzione, potrebbe essere necessario aggiornare il servizio.

    Nota

    La versione esatta dell'immagine precedente viene mostrata solo come esempio. La versione effettivamente disponibile potrebbe essere diversa.

    Dopo aver attivato l'apprendimento attivo, la knowledge base suggerisce nuove domande a intervalli regolari in base alle domande inviate dall'utente. È possibile disabilitare l'apprendimento attivo selezionando nuovamente l'impostazione.

Esaminare le domande alternative suggerite

Esaminare le domande suggerite alternative nella pagina Modifica di ogni knowledge base.

Passaggi successivi