Agent Assist Summarization 功能的自訂模型可讓您在每次對話結束後,為服務專員提供對話摘要,並運用專為特定客戶資料訓練的模型。這與透過大型語言模型進行的自訂不同,詳情請參閱「提供自訂章節的摘要」。摘要可協助服務專員建立對話記錄,並瞭解使用者的通訊記錄。舉例來說,對話的摘要輸出內容可能如下:
您也可以匯入自訂 Agent Assist 摘要模型,搭配 CCAI Insights 對話使用。
事前準備
使用 API 訓練及部署摘要模型
建立對話資料集並匯入轉錄稿
在 ConversationDataset
資源上呼叫 create
方法,即可建立對話資料集。加入含有轉錄稿資料的 Cloud Storage 值區路徑,將資料匯入新的對話資料集。
要求範例:
{ "displayName": "CONVERSATION_DATASET_NAME", "inputConfig": { "gcsSource": { "uris": ["gs://PATH_NAME/*"] } } }
回應會包含對話資料集 ID。回應範例:
{ "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" } }
建立對話模型
在 ConversationModel
資源上呼叫 create
方法,建立摘要對話模型。每個專案每月最多可使用 120 個節點時數進行訓練,且可同時執行一項訓練工作。
必填欄位:
datasets
:提供單一資料集,其中包含用於訓練模型的轉錄稿資料。summarizationModelMetadata
:設為空物件,或填入欄位以覆寫預設值。
要求範例:
{ "displayName": "CONVERSATION_DATASET_NAME", "datasets": [{ "dataset": "projects/PROJECT_ID/locations/global/conversationDatasets/CONVERSATION_DATASET_ID" }], "summarizationModelMetadata": { "trainingModelType": "SUMMARIZATION_MODEL" }, "languageCode": "en-US" }
回應是長時間執行的作業,您可以使用 GetOperation API
輪詢作業,檢查是否完成。訓練作業可能需要數小時的時間才能完成。回應會傳回狀態和模型 ID。
回應範例:
{ "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" } }
評估對話模型
模型訓練完成後,請呼叫 ListConversationModelEvaluations
API 檢查模型品質。
在 ListConversationModelEvaluationsRequest
中,指定要檢查的模型名稱。
{ "parent": "projects/cloud-contact-center-quality/locations/global/conversationModels/d3f2ca9f3e2c571a" }
ListConversationModelEvaluationsResponse
包含 Rouge-L 分數,可評估自動摘要功能。
{ "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 } }] }
部署對話模型
模型訓練完成後,您可以使用 DeployConversationModel
API 部署模型。
在 DeployConversationModelRequest
中,指定要部署的模型 name
。回應是長時間執行的作業,您可以使用 GetOperation API
輪詢作業,檢查是否完成。
設定對話設定檔
對話設定檔會設定一組參數,控制對話期間向代理程式提供的建議。下列步驟會建立具有 HumanAgentAssistantConfig
物件的 ConversationProfile
。
建立對話設定檔
如要建立對話設定檔,請在 ConversationProfile
資源上呼叫 create
方法。提供新對話設定檔的名稱、專案 ID 和模型 ID。 Google Cloud在 CreateConversationProfileRequest
中,指定要使用的對話模型和建議功能 CONVERSATION_SUMMARIZATION
。
以下是 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" }
回覆是包含對話設定檔 name
的 ConversationProfile
物件:
{ "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" }
在執行階段處理對話
當使用者與真人服務專員開始對話時,您會建立對話。以下各節將逐步說明這個程序。
建立對話
如要建立對話,請在 Conversation
資源上呼叫 create
方法。
回應會包含新的對話 ID。
建立使用者參與者
如要建立使用者參與者,請在 Participant
資源上呼叫 create
方法。在 role
欄位中提供對話 ID 和 END_USER
。
participants
後方的路徑區段包含了新的參與者 ID。
建立真人服務專員參與者
如要建立真人客服參與者,請呼叫 Participant
資源上的 create
方法。在 role
欄位中提供對話 ID 和 HUMAN_AGENT
。
participants
後方的路徑區段包含了您新的人工服務專員參與者 ID。
分析訊息
方法 1:在對話期間
如要為對話新增及分析真人客服訊息,請在 Participant
資源上呼叫 analyzeContent
方法。提供對話 ID 和真人服務專員參與者 ID。
如要為對話新增及分析使用者訊息,請在 Participant
資源上呼叫 analyzeContent
方法。提供對話 ID 和使用者參與者 ID。
如果已為其他 Dialogflow 功能呼叫 analyzeContent
方法,請勿重複呼叫。
方法 2:對話結束後
如果您在對話期間未使用 analyzeContent
方法,就可以使用這個選項。您可以改為使用 messages
資源的 batchCreate
方法,擷取對話的歷來訊息。
取得建議
您隨時可以取得任一參與者最新訊息的建議。
選項 1. suggestConversationSummary
呼叫 conversations.suggestions
資源的 suggestConversationSummary
方法。提供對話 ID 和任一參與者的最新訊息 ID。
選項 2. generateStatelessSummary
呼叫 generateStatelessSummary
方法。提供對話的 Messages
,以及任一參與者的最新訊息 ID。
以下是 generateStatelessSummary
的 JSON 要求範例:
{ "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" } }
回覆會包含 Summarization
建議。
完成對話
如要完成對話,請呼叫 conversations
資源上的 complete
方法。提供對話 ID。