Progettare bot di knowledge base

SI APPLICA A: SDK v4

È possibile progettare un bot di knowledge base che copre praticamente qualsiasi argomento. Indipendentemente dal caso d'uso per il quale è progettato un bot di conoscenza, l'obiettivo di base è sempre lo stesso: trovare e restituire le informazioni richieste dall'utente eseguendo una ricerca in un corpo di dati.

Ad esempio, un bot di informazioni potrebbe rispondere a domande sugli eventi, ad esempio "Quali eventi bot ci sono in questa conferenza?", "Quando è il prossimo show Reggae?", o "Chi è Tame Impala?" Un altro potrebbe rispondere a domande correlate all'IT, ad esempio "Ricerca per categorie aggiornare il sistema operativo?" o "Dove si passa per reimpostare la password?". Un altro potrebbe rispondere a domande sui contatti, ad esempio "Chi è John Doe?" o "Che cos'è l'indirizzo di posta elettronica di Jane Doe?".

Questo articolo illustra alcune delle funzionalità di intelligenza artificiale che è possibile aggiungere a un bot, ad esempio per consentire a un utente di cercare informazioni, porre domande o interagire con le informazioni. Per i servizi di Intelligenza artificiale di Azure supportati da Bot Framework SDK, vedere Comprensione del linguaggio naturale.

Suggerimento

I servizi di intelligenza artificiale di Azure incorporano tecnologie in continua evoluzione. Questo articolo descrive le funzionalità più recenti e precedenti.

Informazioni sui punteggi di attendibilità

Alcune funzionalità consentono a un bot di restituire informazioni da una Knowledge Base o da un modello linguistico in modo che corrisponda a una domanda o a una query dell'utente.

Ad esempio, se l'utente chiede a un bot di conoscenze musicali informazioni su "impala" (invece del nome completo della band "Tame Impala"), il bot può rispondere con informazioni che probabilmente sono rilevanti per tale input. Analogamente, le funzionalità di comprensione del linguaggio possono usare un modello linguistico per estrarre la finalità probabile dall'input dell'utente. Ad esempio, se l'utente chiede a un bot dell'agente di viaggio di prenotare una stanza per tre giorni, il bot potrebbe estrarre una finalità di "riservare una stanza" e completare la raccolta dei dettagli.

Sia il riconoscimento della ricerca che della finalità restituiscono un punteggio di attendibilità, che indica il livello di attendibilità del motore ha che un determinato risultato è corretto. Usare i punteggi di attendibilità per ordinare i risultati o rispondere in modo diverso, in base alla fiducia complessiva nella risposta.

Nota

Quando si usa una combinazione di diversi tipi di servizio o di funzionalità, gli input di test con ognuno degli strumenti per determinare il punteggio di soglia per ognuno dei modelli. I servizi e le funzionalità usano criteri di punteggio diversi, quindi i punteggi generati in questi strumenti non sono direttamente confrontabili. Ad esempio, il servizio QnA Maker usava un intervallo di confidenza compreso tra 0 e 100, mentre la funzionalità di risposta alle domande usa un intervallo compreso tra 0,0 e 1,0.

  • Se la fiducia è elevata, il bot potrebbe rispondere con "Ecco l'evento che meglio corrisponde alla ricerca" o "Posso aiutarti a prenotare una stanza" e presentare la risposta principale o iniziare a porre domande di completamento.
  • Se la probabilità è bassa, il bot potrebbe rispondere con "Hmm... si sta cercando uno di questi eventi?" o "Posso aiutarti con le cose seguenti:" e presentare un elenco di possibili risposte o opzioni.

Per filtrare gli argomenti

È possibile progettare bot di knowledge base per aiutare un utente a restringere e perfezionare una ricerca. All'interno di una conversazione, il bot può porre domande chiare, presentare opzioni e convalidare i risultati, in modo che la ricerca di base non possa.

Ad esempio, un bot di eventi può scoprire il tipo di evento a cui l'utente è interessato facendo una serie di domande. Considerare lo scambio seguente:

  1. Utente, "eventi".
  2. Bot: "A cosa si è interessati? Musica, Commedia, Film...".
  3. Utente, "Musica".
  4. Bot: "Che tipo di musica sei interessato? Any, Rock/Pop, Hip-hop/Rap, ...".
  5. Utente, "Rock/Pop".
  6. Bot: "Che giorno vorresti vedere Rock/Pop? Venerdì, Sabato, Domenica, Qualsiasi".
  7. Utente, "Saturday".
  8. Bot: "Ecco le mostre Rock/Pop per Saturday:", con un elenco delle mostra trovate.

Elaborando l'input dell'utente in ogni passaggio e presentando le opzioni pertinenti, il bot guida l'utente alle informazioni che stanno cercando. Una volta recapitate queste informazioni, il bot può anche fornire indicazioni su modi più efficienti per trovare informazioni simili in futuro.

A proposito, è anche possibile digitare semplicemente "Rock friday" o cercare un evento per nome.

Per informazioni sui servizi di Azure correlati, vedere l'articolo Relativo al concetto di comprensione del linguaggio naturale.

Per rispondere alle domande

È possibile progettare bot di knowledge base per rispondere alle domande frequenti. I servizi che supportano le funzionalità di domande e risposte spesso consentono all'utente o al bot di:

  • Gestire ed eseguire il training di una Knowledge Base.
  • Importare informazioni in una Knowledge Base, ad esempio da un file di dati o da una pagina Web.
  • Indovinare la risposta migliore è mappata alla domanda dell'utente.
  • Porre domande di completamento dell'utente per trovare la risposta che sta cercando.

Per informazioni sui servizi di Azure correlati, vedere Domande e risposte nell'articolo Concetti di comprensione del linguaggio naturale.

Per interpretare la finalità

Alcuni bot di conoscenza richiedono funzionalità di elaborazione del linguaggio naturale (NLP) in modo che possano analizzare i messaggi di un utente per determinare la finalità dell'utente e altre informazioni importanti.

In un bot di riproduzione musicale, ad esempio, un utente potrebbe inviare "Suona reggae", "Suona Bob Marley" o "Suona One Love". È possibile eseguire il training di un modello linguistico per eseguire il mapping di ognuno di questi messaggi alla finalità "play Musica", senza essere sottoposto a training con ogni artista, genere e nome della canzone.

Il modello linguistico potrebbe non capire se la cosa da riprodurre, l'entità, è un genere, un artista o una canzone. Tuttavia, il bot può cercare tale entità usando queste informazioni e procedere da questa posizione.

Per informazioni sui servizi di Azure correlati, vedere Language Understanding nell'articolo Concetti di comprensione del linguaggio naturale.

Per integrare più funzionalità

Ogni funzionalità NLP è uno strumento potente a sé stante. Tuttavia, il bot può combinare queste funzionalità e altre funzionalità per offrire agli utenti un'esperienza più fluida e naturale. Usare i punteggi di attendibilità per determinare quale funzionalità è più adatta al messaggio dell'utente e porre domande di completamento se la corrispondenza migliore è ambigua.

Ad esempio, un bot di questo tipo può consentire all'utente di:

  • Trova uno spettacolo a cui sono interessati a partecipare.
  • Ottenere informazioni sull'artista, la sede e l'evento.
  • Acquistare un ticket o iscriversi per ottenere notifiche di eventi futuri.

Per informazioni sui servizi di Azure correlati, vedere Usare più funzionalità insieme nell'articolo Concetti di comprensione del linguaggio naturale.

Esplorare gli esempi

Il repository di esempi di Bot Framework include alcuni bot di esempio che illustrano le funzionalità di comprensione del linguaggio:

Esempio Nome esempio Descrizione
11 QnA Maker (semplice) Rispondere alle domande come una serie di conversazioni a turno singolo usando QnA Maker.
13 Bot principale Interpretare la finalità dell'utente usando LUIS.
14 NLP con dispatch Inviare messaggi utente a LUIS o QnA Maker usando Orchestrator.
49 QnA Maker (avanzato) Rispondere alle domande usando funzionalità di apprendimento a più turni e attive in QnA Maker.

Nota

Azure AI QnA Maker verrà ritirato il 31 marzo 2025. A partire dal 1° ottobre 2022, non potrai creare nuove risorse o Knowledge Base di QnA Maker. Una versione più recente della funzionalità di domande e risposte è ora disponibile come parte del linguaggio di intelligenza artificiale di Azure.

La risposta alle domande personalizzate, una funzionalità del linguaggio di intelligenza artificiale di Azure, è la versione aggiornata del servizio QnA Maker. Per altre informazioni sul supporto di domande e risposte in Bot Framework SDK, vedere Comprensione del linguaggio naturale.

Nota

Language Understanding (LUIS) verrà ritirato il 1° ottobre 2025. A partire dal 1° aprile 2023, non sarà possibile creare nuove risorse LUIS. Una versione più recente di Language Understanding è ora disponibile come parte del linguaggio di intelligenza artificiale di Azure.

CLU (Conversational Language Understanding), una funzionalità del linguaggio di intelligenza artificiale di Azure, è la versione aggiornata di LUIS. Per altre informazioni sul supporto per la comprensione del linguaggio in Bot Framework SDK, vedere Comprensione del linguaggio naturale.

I repository Azure SDK per .NET e Azure SDK per Python includono anche alcuni esempi:

Funzionalità Esempi README
Risposta alle domande C#, Python
Comprensione del linguaggio di conversazione, flusso di lavoro di orchestrazione C#, Python