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
- 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.