Addestrare un modello di suggerimenti per la conoscenza personalizzato

Agent Assist offre due opzioni di modellazione per i suggerimenti per la conoscenza: un modello di base (predefinito) 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 offre due funzionalità di suggerimento di conoscenze: Suggerimento articoli (che suggerisce documenti) e Assistenza FAQ (che suggerisce risposte alle domande degli utenti finali). Quando implementi queste funzionalità, Agent Assist utilizza un modello di suggerimenti di base preaddestrato per impostazione predefinita. Il modello di base utilizza la tecnologia di recupero delle informazioni e non richiede di completare un passaggio esplicito di addestramento del modello. L'opzione del modello personalizzato utilizza una tecnologia NLU (Natural Language Understanding) all'avanguardia. Richiede il caricamento delle trascrizioni delle conversazioni e il completamento di un passaggio di addestramento esplicito del modello per creare un modello NLU personalizzato. In media, i modelli personalizzati forniscono suggerimenti di qualità migliore rispetto al modello di base.

Prima di iniziare

Prima di iniziare questa guida, completa le seguenti operazioni:

  1. Abilita l'API Dialogflow per il tuo progettoGoogle Cloud .

Creare una knowledge base e addestrare un modello personalizzato

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

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

Creazione di 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 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))

Creare un documento della knowledge base

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 le informazioni sull'ordine di reso che è stato caricato in un bucket Cloud Storage condiviso pubblicamente. Quando configuri il suggerimento 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 relativa ai documenti della knowledge base.

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 di conoscenza desiderato

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 il polling per verificare 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 nel margine più a sinistra 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 Suggerimento di articoli. Inserisci un nome univoco per il nuovo modello nel campo Nome. Infine, seleziona il nome o i nomi delle knowledge basea 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 conoscenze viene addestrato utilizzando set di dati di conversazione, lo stesso di un modello di Risposta rapida. Invece di mostrare suggerimenti di parole agli agenti come la funzionalità Risposta rapida, i modelli di suggerimenti della knowledge base mostreranno articoli o risposte alle domande frequenti.

    Seleziona tutti i set di dati delle conversazioni 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 finché il modello non viene 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 con tre puntini verticali associata al modello all'estrema destra della pagina e poi su Esegui il deployment.

Testare il modello di assistenza knowledge base personalizzata 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 conversazionali. Un profilo di conversazione rappresenta un modello di assistenza basato sulla conoscenza addestrato e implementato. A differenza dei modelli di Risposta rapida, i modelli di assistenza non hanno una lista consentita associata.

    Per creare un profilo di conversazione, fai clic su Profili di conversazione nel menu principale sul lato sinistro della pagina.

  2. Viene visualizzato un elenco dei profili conversazione esistenti. Se vuoi utilizzare un profilo preesistente, puoi passare direttamente al passaggio 4. Altrimenti, crea un nuovo profilo conversazione facendo clic sul pulsante +Crea nuovo sul lato destro della pagina.

  3. Nel menu visualizzato, inserisci un nome univoco per il profilo 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 di Soglia di affidabilità e Suggerimenti massimi. Il numero massimo di suggerimenti è il numero di articoli di risposta o risposte alle domande frequenti restituite, mentre la soglia di affidabilità si riferisce al livello di affidabilità del modello che ogni risposta è pertinente alla richiesta dell'agente. Un valore di affidabilità più elevato aumenta la probabilità di restituire 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 copertura inferiore, consigliamo una soglia di confidenza di 0,8; per una accuratezza inferiore e una copertura maggiore, consigliamo una soglia di confidenza di 0,2.

    Scegli il metodo di recupero (inline 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 conversazione.

  4. Il tuo profilo di conversazione ora viene visualizzato nell'elenco dei profili nella pagina principale Profili di conversazione. Per utilizzare il simulatore, fai clic sui tre puntini verticali all'estrema destra del nome del profilo conversazione che vuoi testare e fai clic su Usa 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 che hai selezionato durante la configurazione del profilo di conversazione. Per modificare la combinazione di funzionalità in fase di test, 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 delle conversazioni.