Addestrare un modello di suggerimenti per la conoscenza personalizzato

Agent Assist offre due opzioni di modellazione per i suggerimenti di knowledge base: un modello di base (impostazione predefinita) e un modello personalizzato. Questa guida illustra la procedura di addestramento di un modello personalizzato utilizzando un set di dati, quindi il deployment del modello e il test delle sue prestazioni.

Panoramica

Agent Assist ha due funzionalità di suggerimento di knowledge base: Suggerimenti di articoli (che suggerisce documenti), e Assistenza per le domande frequenti (che suggerisce risposte alle domande degli utenti finali ). Quando implementi queste funzionalità, Agent Assist utilizza per impostazione predefinita un modello di suggerimento di base preaddestrato. Il modello di base utilizza la tecnologia di recupero delle informazioni e non richiede di completare un passaggio di addestramento del modello esplicito. L'opzione del modello personalizzato utilizza la tecnologia NLU (Natural Language Understanding) allo stato dell'arte. Richiede di caricare le trascrizioni delle conversazioni e di completare un passaggio di addestramento del modello esplicito per creare un modello NLU personalizzato. In media, i modelli personalizzati forniscono suggerimenti di qualità migliore rispetto al modello di base.

Prima di iniziare

Completa i seguenti passaggi prima di iniziare questa guida:

  1. Abilita l'API Dialogflow per il tuo Google Cloud progetto.

Crea una knowledge base e addestra un modello personalizzato

Per ricevere suggerimenti da Agent Assist, devi creare una knowledge base, caricare i documenti nella knowledge base e configurare un conversation profile.

I passaggi seguenti descrivono queste azioni utilizzando chiamate API dirette, utilizzando la funzionalità Suggerimenti di articoli come esempio. Se preferisci, puoi creare una knowledge base e aggiungere documenti utilizzando la console Agent Assist.

Crea una knowledge base

Prima di poter iniziare a caricare i documenti, devi prima creare una knowledge base in cui inserirli. Per creare una knowledge base, chiama il metodo create sul tipo KnowledgeBase.

REST

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • PROJECT_ID: il tuo ID progetto GCP
  • KNOWLEDGE_BASE_DISPLAY_NAME: il nome della knowledge base che vuoi

Metodo HTTP e URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/knowledgeBases

Corpo JSON della richiesta:

{
  "displayName": "KNOWLEDGE_BASE_DISPLAY_NAME"
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "name": "projects/PROJECT_ID/knowledgeBases/NDA4MTM4NzE2MjMwNDUxMjAwMA",
  "displayName": "KNOWLEDGE_BASE_DISPLAY_NAME"
}

Il segmento di percorso dopo knowledgeBases contiene il nuovo ID della knowledge base.

Python

Per eseguire l'autenticazione in Agent Assist, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

def create_knowledge_base(project_id, display_name):
    """Creates a Knowledge base.

    Args:
        project_id: The GCP project linked with the agent.
        display_name: The display name of the Knowledge base."""
    from google.cloud import dialogflow_v2beta1 as dialogflow

    client = dialogflow.KnowledgeBasesClient()
    project_path = client.common_project_path(project_id)

    knowledge_base = dialogflow.KnowledgeBase(display_name=display_name)

    response = client.create_knowledge_base(
        parent=project_path, knowledge_base=knowledge_base
    )

    print("Knowledge Base created:\n")
    print("Display Name: {}\n".format(response.display_name))
    print("Name: {}\n".format(response.name))

Crea un documento pertinente

Ora puoi aggiungere documenti alla knowledge base. Per creare un documento nella knowledge base, chiama il metodo create sul tipo Document. Imposta KnowledgeType su ARTICLE_SUGGESTION. Questo esempio utilizza un file HTML con informazioni sull'ordine di reso caricato in un bucket Cloud Storage condiviso pubblicamente. Quando configuri i suggerimenti di articoli nel tuo sistema, i documenti devono essere in uno dei seguenti formati. Per saperne di più sulle best practice per i documenti, consulta la documentazione sui documenti pertinenti per maggiori informazioni.

Formati dei documenti pertinenti:

  • Un file archiviato in un bucket Cloud Storage. Puoi specificare il percorso quando chiami l'API.
  • I contenuti di testo di un documento, che puoi inviare in una richiesta API.
  • Un URL pubblico.

REST

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • PROJECT_ID: il tuo ID progetto GCP
  • KNOWLEDGE_BASE_ID: l'ID della knowledge base restituito dalla richiesta precedente
  • DOCUMENT_DISPLAY_NAME: il nome del documento pertinente che vuoi

Metodo HTTP e URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/knowledgeBases/KNOWLEDGE_BASE_ID/documents

Corpo JSON della richiesta:

{
  "displayName": "DOCUMENT_DISPLAY_NAME",
  "mimeType": "text/html",
  "knowledgeTypes": "ARTICLE_SUGGESTION",
  "contentUri": "gs://agent-assist-public-examples/public_article_suggestion_example_returns.html"
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "name": "projects/PROJECT_ID/operations/ks-add_document-MzA5NTY2MTc5Mzg2Mzc5NDY4OA"
}

La risposta è un'operazione a lunga esecuzione, che puoi eseguire tramite polling per verificarne il completamento.

Python

Per eseguire l'autenticazione in Agent Assist, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

def create_document(
    project_id, knowledge_base_id, display_name, mime_type, knowledge_type, content_uri
):
    """Creates a Document.

    Args:
        project_id: The GCP project linked with the agent.
        knowledge_base_id: Id of the Knowledge base.
        display_name: The display name of the Document.
        mime_type: The mime_type of the Document. e.g. text/csv, text/html,
            text/plain, text/pdf etc.
        knowledge_type: The Knowledge type of the Document. e.g. FAQ,
            EXTRACTIVE_QA.
        content_uri: Uri of the document, e.g. gs://path/mydoc.csv,
            http://mypage.com/faq.html."""
    from google.cloud import dialogflow_v2beta1 as dialogflow

    client = dialogflow.DocumentsClient()
    knowledge_base_path = dialogflow.KnowledgeBasesClient.knowledge_base_path(
        project_id, knowledge_base_id
    )

    document = dialogflow.Document(
        display_name=display_name, mime_type=mime_type, content_uri=content_uri
    )

    document.knowledge_types.append(
        getattr(dialogflow.Document.KnowledgeType, knowledge_type)
    )

    response = client.create_document(parent=knowledge_base_path, document=document)
    print("Waiting for results...")
    document = response.result(timeout=120)
    print("Created Document:")
    print(" - Display Name: {}".format(document.display_name))
    print(" - Knowledge ID: {}".format(document.name))
    print(" - MIME Type: {}".format(document.mime_type))
    print(" - Knowledge Types:")
    for knowledge_type in document.knowledge_types:
        print("    - {}".format(KNOWLEDGE_TYPES[knowledge_type]))
    print(" - Source: {}\n".format(document.content_uri))

Crea ed esegui il deployment di un nuovo modello personalizzato

  1. Vai all'interfaccia utente di Agent Assist e fai clic sull'opzione di menu Modelli sul margine sinistro della pagina.

  2. Il menu Modelli mostra tutti i tuoi modelli. Per creare un nuovo modello, fai clic sul pulsante +Crea nuovo in alto a destra.

  3. In Tipo di modello seleziona Suggerimenti di articoli. Inserisci un nome univoco per il nuovo modello nel campo Nome. Infine, seleziona i nomi delle knowledge base che vuoi utilizzare per addestrare il modello. Quando fai clic su questo campo, viene visualizzato un menu contenente un elenco di tutti i set di dati già creati.

  4. Un modello di suggerimento di knowledge base viene addestrato utilizzando i set di dati di conversazione, proprio come un modello di Risposta rapida. Anziché mostrare suggerimenti di parole agli agenti come la funzionalità Risposta rapida, i modelli di suggerimento di knowledge base mostreranno articoli o risposte alle domande frequenti.

    Seleziona tutti i set di dati di conversazione che vuoi utilizzare per addestrare il modello. Fai clic su Crea per creare il nuovo modello.

  5. Il nuovo modello viene visualizzato nell'elenco dei modelli nella pagina Modelli. Lo stato del nuovo modello verrà visualizzato come In attesa e poi Creazione fino a quando il modello non sarà addestrato. L'addestramento richiede un giorno o più, a seconda delle risorse di computing. Per eseguire il deployment del modello addestrato, fai clic sull'icona composta da tre punti verticali associata al modello all'estrema destra della pagina e fai clic su Esegui il deployment.

Testa il modello di assistenza knowledge base personalizzato utilizzando il simulatore di Agent Assist

Il simulatore di Agent Assist ti consente di visualizzare l'anteprima delle prestazioni del modello prima di implementarlo. Il simulatore può essere utilizzato con qualsiasi funzionalità di Agent Assist. I passaggi seguenti illustrano la procedura di test del modello di assistenza knowledge base personalizzato utilizzando il simulatore.

  1. Prima di poter eseguire il simulatore, devi creare uno o più profili di conversazione. Un profilo di conversazione rappresenta un modello di assistenza knowledge base addestrato e di cui è stato eseguito il deployment. A differenza dei modelli di Risposta rapida, i modelli di assistenza knowledge base non hanno una lista consentita associata.

    Per creare un profilo di conversazione, fai clic su Profili di conversazione nel menu principale a sinistra della pagina.

  2. Viene visualizzato un elenco dei profili di conversazione esistenti. Se vuoi utilizzare un profilo preesistente, puoi saltare al passaggio 4 più avanti. In caso contrario, crea un nuovo profilo di conversazione facendo clic sul pulsante +Crea nuovo a destra della pagina.

  3. Nel menu visualizzato, inserisci un nome univoco per il profilo di conversazione nella casella Nome visualizzato. Seleziona Articoli o Domande frequenti (a seconda del tipo di modello che hai addestrato) dalla casella Tipo di suggerimento. Ti viene anche chiesto di inserire i valori Soglia di confidenza e Suggerimenti massimi. Suggerimenti massimi è il numero di articoli di risposta o risposte alle domande frequenti restituite e la soglia di confidenza si riferisce al livello di confidenza del modello che ogni risposta sia pertinente alla richiesta dell'agente. Un valore di affidabilità più alto aumenta la probabilità che vengano restituite risposte pertinenti, ma può comportare la restituzione di un numero inferiore o nullo di risposte se nessuna opzione disponibile soddisfa il valore di soglia elevato. Per una maggiore accuratezza e una minore copertura, consigliamo una soglia di confidenza di 0,8; per una minore accuratezza e una maggiore copertura, consigliamo una soglia di confidenza di 0,2.

    Scegli il Metodo di recupero (in linea o Pub/Sub), se attivare o meno l'analisi del sentiment e se utilizzare o meno un agente virtuale Dialogflow. Fai clic sul pulsante Crea per creare il profilo di conversazione.

  4. Il profilo di conversazione viene visualizzato nell'elenco dei profili nella pagina principale Profili di conversazione. Per utilizzare il simulatore, fai clic sui tre punti verticali all'estrema destra del nome del profilo di conversazione che vuoi testare e fai clic su Utilizza simulatore.

  5. La finestra visualizzata fornisce caselle di input per le risposte dei clienti e degli agenti. Puoi utilizzare queste caselle per testare le funzionalità di Agent Assist selezionate durante la configurazione del profilo di conversazione. Per modificare la combinazione di funzionalità da testare, fai clic sul pulsante Opzioni in alto a destra e scegli le funzionalità dal menu Configura visualizzazione visualizzato.

  6. Fai clic sul pulsante Fine in alto a destra per tornare alla pagina principale dei profili di conversazione.