聊天室摘要 V1 自訂模型

Agent Assist 摘要產生器自訂模型功能可讓您在每次對話結束後,利用專門針對客戶資料訓練的模型,為服務專員提供對話摘要。這與透過大型語言模型進行自訂的方式不同,詳情請參閱「含有自訂部分的摘要」一文。摘要可協助客服專員建立對話記錄,並瞭解使用者與客服團隊的通訊記錄。舉例來說,對話的摘要輸出內容可能會類似以下內容:

您也可以匯入自訂 Agent Assist 摘要模型,搭配 CCAI Insights 對話使用。

事前準備

  1. 確認資料採用規定格式。您也可以使用樣本資料集,或使用示範摘要模型測試這項功能,無須使用資料集。

使用 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 方法。請為新對話方塊設定名稱、 Google Cloud專案 ID 和模型 ID。在 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"
}

回應是包含對話方針 nameConversationProfile 物件:

{
  "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。

如果 analyzeContent 方法已用於其他 Dialogflow 功能,請勿重複呼叫該方法。

方法 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。