Modello personalizzato di riassunto V1 per la chat

Il modello personalizzato Agent Assist Summarization per la funzionalità ti consente di fornire ai tuoi agenti i riepiloghi delle conversazioni al termine di ogni conversazione, sfruttando un modello addestrato esclusivamente su dati specifici del cliente. Questa operazione è diversa dalla personalizzazione tramite un modello linguistico di grandi dimensioni, come descritto nella sezione Riassunto con sezioni personalizzate. I riassunti aiutano gli agenti a creare le note relative alle conversazioni e a comprendere la cronologia delle comunicazioni con gli utenti finali. Ad esempio, un output di riepilogo di una conversazione potrebbe avere il seguente aspetto:

Puoi anche importare un modello di sintesi di Agent Assist personalizzato da utilizzare con le conversazioni di CCAI Insights.

Prima di iniziare

  1. Assicurati che i dati siano nel formato richiesto. Hai anche la possibilità di utilizzare un set di dati di esempio o di testare la funzionalità utilizzando il modello di sintesi demo, senza bisogno di un set di dati.

Addestramento ed esecuzione di un modello di sintesi mediante l'API

Crea un set di dati conversazione e importa le trascrizioni

Chiama il metodo create sulla risorsa ConversationDataset per creare un set di dati di conversazione. Includi il percorso del bucket Cloud Storage contenente i dati della trascrizione per importarli nel nuovo set di dati conversazionale.

Esempio di richiesta:

{
  "displayName": "CONVERSATION_DATASET_NAME",
  "inputConfig": {
    "gcsSource": {
      "uris": ["gs://PATH_NAME/*"]
    }
  }
}

La risposta contiene un ID set di dati di conversazione. Risposta di esempio:

{
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.dialogflow.v2beta1.ConversationDataset",
    "name": "projects/PROJECT_ID/locations/global/conversationDatasets/CONVERSATION_DATASET_ID",
    "displayName": "CONVERSATION_DATASET_NAME",
    "createTime": "2022-06-16T23:13:22.627380457Z"
  }
}

Creare un modello di conversazione

Chiama il metodo create sulla risorsa ConversationModel per creare un modello di conversazione di riassunto. Ogni progetto avrà fino a 120 ore nodo per l'addestramento ogni mese e potrà eseguire un job di addestramento contemporaneamente.

Campi obbligatori:

  • datasets: fornisci un singolo set di dati contenente i dati della trascrizione che hai utilizzato per addestrare il modello.
  • summarizationModelMetadata: imposta un oggetto vuoto o compila il campo per eseguire l'override del valore predefinito.

Esempio di richiesta:

{
  "displayName": "CONVERSATION_DATASET_NAME",
  "datasets": [{
    "dataset": "projects/PROJECT_ID/locations/global/conversationDatasets/CONVERSATION_DATASET_ID"
  }],
  "summarizationModelMetadata": {
    "trainingModelType": "SUMMARIZATION_MODEL"
  },
  "languageCode": "en-US"
}

La risposta è un'operazione a lungo termine, che puoi eseguire il polling utilizzando GetOperation API per verificare il completamento. L'addestramento può richiedere diverse ore. La risposta restituisce lo stato e l'ID modello.

Risposta di esempio:

{
  "name": "projects/PROJECT_ID/locations/global/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.dialogflow.v2beta1.CreateConversationModelOperationMetadata",
    "conversationModel": "projects/PROJECT_ID/locations/global/conversationModels/MODEL_ID",
    "state": "TRAINING",
    "createTime": "2022-06-16T23:27:50Z"
  }
}

Valutare un modello di conversazione

Al termine dell'addestramento del modello, chiama l'API ListConversationModelEvaluations per verificare la qualità del modello.

In ListConversationModelEvaluationsRequest, specifica il nome del modello da controllare.

{
  "parent": "projects/cloud-contact-center-quality/locations/global/conversationModels/d3f2ca9f3e2c571a"
}

Il ListConversationModelEvaluationsResponse include un punteggio Rouge-L per la valutazione del riepilogo automatico.

{
  "conversationModelEvaluations": [{
    "name": "projects/cloud-contact-center-quality/locations/global/conversationModels/d3f2ca9f3e2c571a/evaluations/c10ac25411a23fe1",
    "displayName": "Training Auto Generated Evaluation",
    "createTime": "2022-06-04T03:38:35.151096Z",
    "evaluationConfig": {
    },
    "summarizationMetrics": {
      "rougel": 0.4474459
    }
  }]
}

Eseguire il deployment di un modello di conversazione

Al termine dell'addestramento del modello, puoi eseguirlo utilizzando l'API DeployConversationModel.

In DeployConversationModelRequest, specifica il name del modello da eseguire. La risposta è un'operazione a lungo termine, che puoi eseguire il polling utilizzando GetOperation API per verificare il completamento.

Configurare un profilo di conversazione

Un profilo di conversazione configura un insieme di parametri che controllano i suggerimenti fatti a un agente durante una conversazione. I passaggi che seguono creano un ConversationProfile con un HumanAgentAssistantConfig oggetto.

Creare un profilo di conversazione

Per creare un profilo di conversazione, chiama il metodo create sulla risorsa ConversationProfile. Fornisci un nome per il nuovo profilo di conversazione, l'ID progetto Google Cloude l'ID modello. In CreateConversationProfileRequest, specifica il modello di conversazione da utilizzare e la funzionalità di suggerimento da attivareCONVERSATION_SUMMARIZATION.

Di seguito è riportato un esempio di JSON:

{
  "displayName": "CONVERSATION_PROFILE_NAME",
  "humanAgentAssistantConfig": {
    "humanAgentSuggestionConfig": {
      "featureConfigs": [{
        "suggestionFeature": {
          "type": "CONVERSATION_SUMMARIZATION"
        },
        "conversationModelConfig": {
          "model": "projects/PROJECT_ID/locations/global/conversationModels/MODEL_ID",
        }
      }]
    }
  },
  "languageCode": "en-US"
}

La risposta è un oggetto ConversationProfile contenente il profilo della conversazione name:

{
  "name": "projects/PROJECT_ID/locations/global/conversationProfiles/CONVERSATION_PROFILE_ID",
  "displayName": "CONVERSATION_PROFILE_NAME",
  "automatedAgentConfig": {
  },
  "humanAgentAssistantConfig": {
    "notificationConfig": {
    },
    "humanAgentSuggestionConfig": {
      "featureConfigs": [{
        "suggestionFeature": {
          "type": "CONVERSATION_SUMMARIZATION"
        },
        "conversationModelConfig": {
        }
      }]
    },
    "messageAnalysisConfig": {
    }
  },
  "languageCode": "en-US",
  "createTime": "2022-06-06T21:06:46.841816Z",
  "updateTime": "2022-06-06T21:06:46.841816Z",
  "projectNumber": "344549229138"
}

Gestire le conversazioni in fase di esecuzione

Quando inizia un dialogo tra un utente finale e un agente umano, viene creata una conversazione. Le sezioni seguenti illustrano la procedura.

Creare una conversazione

Per creare una conversazione, chiama il metodo create sulla risorsa Conversation.

La risposta contiene il nuovo ID conversazione.

Crea un partecipante utente finale

Per creare un partecipante utente finale, chiama il metodo create sulla risorsa Participant. Fornisci l'ID conversazione e END_USER per il campo role.

Il segmento di percorso dopo participants contiene il nuovo ID partecipante utente finale.

Crea un partecipante agente umano

Per creare un partecipante agente umano, chiama il metodo create sulla risorsa Participant. Fornisci l'ID conversazione e HUMAN_AGENT per il campo role.

Il segmento di percorso dopo participants contiene il nuovo ID partecipante agente umano.

Analizza messaggio

Opzione 1: durante una conversazione

Per aggiungere e analizzare un messaggio di un agente umano per la conversazione, chiama il metodo analyzeContent nella risorsa Participant. Fornisci l'ID conversazione e l'ID partecipante agente umano.

Per aggiungere e analizzare un messaggio dell'utente finale per la conversazione, chiama il metodo analyzeContent nella risorsa Participant. Fornisci l'ID conversazione e l'ID partecipante utente finale.

Non effettuare chiamate duplicate al metodo analyzeContent se è stato chiamato per altre funzionalità di Dialogflow.

Opzione 2: dopo una conversazione

Puoi utilizzare questa opzione se non utilizzi il metodo analyzeContent durante la conversazione. In alternativa, puoi utilizzare il metodo batchCreate nella risorsa messages per importare i messaggi storici della conversazione.

Ricevere un suggerimento

Puoi ricevere un suggerimento in qualsiasi momento per l'ultimo messaggio di ciascun partecipante.

Opzione 1. suggestConversationSummary

Chiama il metodo suggestConversationSummary sulla risorsa conversations.suggestions. Fornisci l'ID conversazione e l'ID messaggio più recente di uno dei partecipanti.

Opzione 2. generateStatelessSummary

Chiama il metodo generateStatelessSummary. Fornisci il Messages della conversazione e l'ID messaggio più recente di uno dei partecipanti.

Ecco un esempio di richiesta JSON per generateStatelessSummary:

{
  "statelessConversation": {
    "messages": [{
      "content": "Hello, how can I help you today?",
      "languageCode": "en-US",
      "participantRole": "HUMAN_AGENT"
    }, {
      "content": "I would like to cancel my plan.",
      "languageCode": "en-US",
      "participantRole": "END_USER"
    }, {
      "content": "Okay, I have canceled your plan. Is there anything else that I can do to help you?",
      "languageCode": "en-US",
      "participantRole": "HUMAN_AGENT"
    }, {
      "content": "No, thank you.",
      "languageCode": "en-US",
      "participantRole": "END_USER"
    }, {
      "content": "Okay, have a great day!",
      "languageCode": "en-US",
      "participantRole": "HUMAN_AGENT"
    }],
    "parent": "projects/PROJECT_ID/locations/global"
  },
  "conversationProfile": {
    "humanAgentAssistantConfig": {
      "humanAgentSuggestionConfig": {
        "featureConfigs": [{
          "suggestionFeature": {
            "type": "CONVERSATION_SUMMARIZATION"
          },
          "conversationModelConfig": {
            "model": "projects/PROJECT_ID/locations/global/conversationModels/MODEL_ID"
          }
        }]
      }
    },
    "languageCode": "en-US"
  }
}

La risposta contiene Summarization suggerimenti.

Completare la conversazione

Per completare la conversazione, chiama il metodo complete sulla risorsa conversations. Fornisci l'ID conversazione.