上傳對話資料

對話資料會以轉錄稿 (智慧回覆) 和轉錄稿加上註解資料 (摘要) 的形式接受。您可以選擇使用 Agent Assist 提供的對話資料和示範模型,測試功能或整合,而無須提供自己的資料。如要在執行階段使用智慧回覆和摘要功能,您必須提供自己的對話資料。

本頁將引導您完成使用公開資料集的必要步驟,以及如何設定自己的資料格式,以便上傳至 Cloud Storage。您必須以 JSON 格式的文字檔案提供對話資料。

智慧回覆資料格式

智慧回覆可搭配任何 Agent Assist 功能使用,也可以做為獨立功能使用。如要實作智慧回覆功能,您必須向 Agent Assist 提供對話資料。

Agent Assist 提供可用於訓練模型的對話資料範例,以及示範模型和許可清單。您可以使用這些資源建立對話方塊,並測試功能,而無需提供自己的資料。如果您提供自己的資料,資料格式必須符合指定格式

使用智慧回覆範例對話資料

對話範例資料集是從外部來源擷取,並儲存在 Google Cloud Storage 值區中。資料包含以工作為導向的對話,涵蓋六個領域:「預訂」、「餐廳」、「飯店」、「景點」、「計程車」和「火車」。如要使用這個資料集訓練自己的模型,請按照使用 Agent Assist 主控台建立對話資料集的步驟操作。在「Conversation data」欄位中輸入 gs://smart_messaging_integration_test_data/*.json,即可使用測試資料集。如果您是直接呼叫 API (而非使用主控台),可以將 API 指向上述的 Cloud Storage 儲存桶,藉此建立對話資料集。

使用智慧回覆模型和許可清單的示範

如要使用控制台測試智慧回覆功能的示範模型和許可清單 (不需要資料集),請前往 Agent Assist 控制台,然後點選智慧回覆功能下方的「開始使用」按鈕。控制台教學課程提供使用您自己的資料、提供的資料或示範模型的選項。

如果您直接呼叫 API (而非使用控制台),則可在下列位置找到模型和許可清單:

  • 模型:projects/ccai-shared-external/conversationModels/c671dd72c5e4656f
  • 許可清單:projects/ccai-shared-external/knowledgeBases/smart_messaging_kb/documents/NzU1MDYzOTkxNzU0MjQwODE5Mg

如要測試功能,建議您先使用下列使用者訊息觸發回應:

  • 「請幫我找一間位於東區的昂貴住宿地點。」
  • 「我想要找一家供應泰式料理的昂貴餐廳。」
  • 「嗨,我需要位於劍橋北部的飯店,並提供免費 Wi-Fi。」

摘要資料格式

摘要功能可與任何 Agent Assist 功能搭配使用,也可以做為獨立功能使用。如要實作摘要功能,您必須向 Agent Assist 提供內含註解的對話資料。註解是相關對話轉錄稿的摘要。註解可用於訓練模型,讓您在與使用者進行每一次對話後,為服務專員產生摘要。

使用摘要對話資料和示範模型的範例

Agent Assist 也會提供註解對話資料的範例,方便您訓練模型。如果您想在自行設定資料集格式前,先測試摘要功能,建議您選擇這個選項。測試資料集位於以下 Cloud Storage 值區:gs://summarization_integration_test_data/data。如果您使用的是範例資料,可以使用控制台API訓練摘要模型。在資料集 URI 欄位中輸入 gs://summarization_integration_test_data/data/*,即可使用範例資料集。

如要測試示範摘要模型 (不需要資料集),請前往 Agent Assist 控制台,然後按一下摘要功能下方的「開始使用」按鈕。控制台教學課程提供多種選項,讓您使用自己的資料、提供的資料或示範模型。

設定註解格式

Agent Assist 摘要自訂模型會使用對話資料集進行訓練。對話資料集包含您上傳的轉錄稿和註解資料。

開始上傳資料前,請務必確認每份對話記錄都採用 JSON 格式,且含有相關聯的註解,並儲存在 Google Cloud Storage 值區中。

如要建立註解,請在資料集中與每個對話相關聯的 annotation 欄位中,新增預期的 keyvalue 字串。為獲得最佳結果,註解訓練資料應遵循下列指南:

  1. 建議的訓練註解數量下限為 1,000 個。強制執行的最低數量為 100。
  2. 訓練資料不得包含個人識別資訊。
  3. 註解不得包含任何性別、種族或年齡相關資訊。
  4. 註解不得使用有害或粗俗的語言。
  5. 註解不應包含任何無法從對應的對話轉錄中推斷的資訊。
  6. 每個註解最多可包含 3 個部分。您可以自行選擇各個部分的名稱。
  7. 註解的拼字和文法應正確無誤。

以下範例說明對話記錄的格式,以及相關註解:

{
  "entries": [
    {
      "text": "How can I help?",
      "role": "AGENT"
    },
    {
      "text": "I cannot login",
      "role": "CUSTOMER"
    },
    {
      "text": "Ok, let me confirm. Are you experiencing issues accessing your account",
      "role": "AGENT"
    },
    {
      "text": "Yes",
      "role": "CUSTOMER"
    },
    {
      "text": "Got it. Do you still have access to the registered email for the account",
      "role": "AGENT"
    },
    {
      "text": "Yes",
      "role": "AGENT"
    },
    {
      "text": "I have sent an email with reset steps. You can follow the instructions in the email to reset your login password",
      "role": "AGENT"
    },
    {
      "text": "That's nice",
      "role": "CUSTOMER"
    },
    {
      "text": "Is there anything else I can help",
      "role": "AGENT"
    },
    {
      "text": "No that's all",
      "role": "CUSTOMER"
    },
    {
      "text": "Thanks for calling. You have a nice day",
      "role": "AGENT"
    }
  ],
  "conversation_info": {
    "annotations": [
      {
        "annotation": {
          "conversation_summarization_suggestion": {
            "text_sections": [
              {
                "key": "Situation",
                "value": "Customer was unable to login to account"
              },
              {
                "key": "Action",
                "value": "Agent sent an email with password reset instructions"
              },
              {
                "key": "Outcome",
                "value": "Problem was resolved"
              }
            ]
          }
        }
      }
    ]
  }
}

對話轉錄資料

文字對話資料必須以 JSON 格式的檔案提供,每個檔案都包含單一對話的資料。以下說明必要的 JSON 格式。

對話

對話資料的頂層物件。

欄位 類型 說明
conversation_info ConversationInfo { } (非必要) 對話的中繼資料。
項目 輸入 [ ] 這是必要旗標,依時間順序排列的對話訊息。

ConversationInfo

對話的中繼資料。

欄位 類型 說明
類別 類別 [ ] (非必要) 對話資料的自訂類別。

類別

對話資料類別。如果您在對話資料中提供類別,系統會使用這些類別來識別對話中的主題。如果您未提供類別,系統會自動根據內容為對話分類。

欄位 類型 說明
display_name 字串 這是必要旗標,類別的顯示名稱。

項目

單一對話訊息的資料。

欄位 類型 說明
文字 字串 這是必要旗標,對話訊息的文字。所有文字都應使用正確的大寫字母,如果文字中的所有字母都採用大寫或小寫,模型品質可能會受到嚴重影響。如果這個欄位留空,系統會傳回錯誤。
user_id 整數 (非必要) 用於識別對話參與者的號碼。每位參與者都應有一個 user_id,如果他們參與多個對話,就會重複使用。
角色 字串 這是必要旗標,對話參與者角色。可為下列其中之一:「AGENT」、「CUSTOMER」。
start_timestamp_usec 整數 如果對話僅用於 FAQ 協助、文章建議和摘要,則為選用屬性;否則為必填屬性。這個對話輪次開始的時間戳記,以微秒為單位。

範例

以下是對話資料檔案的範例。

{
  "conversation_info":{
    "categories":[
      {
        "display_name":"Category 1"
      }
    ]
  },
  "entries": [
    {
      "start_timestamp_usec": 1000000,
      "text": "Hello, I'm calling in regards to ...",
      "role": "CUSTOMER",
      "user_id": 1
    },
    {
      "start_timestamp_usec": 5000000,
      "text": "Yes, I can answer your question ...",
      "role": "AGENT",
      "user_id": 2
    },
    ...
  ]
}

將對話內容上傳至 Cloud Storage

您必須在 Google Cloud Platform 專案內的 Cloud Storage 值區中提供對話資料。建立值區時:

  • 請務必選取用於 Dialogflow 的 Google Cloud Platform 專案。
  • 使用 Standard Storage 級別
  • 值區位置設為離您所在位置最近的位置。提供對話資料時,您需要使用位置 ID (例如 us-west1),因此請記下您選擇的 ID。
  • 提供對話資料時,也需要提供值區名稱。

請按照Cloud Storage 快速入門操作說明建立值區並上傳檔案。