上傳對話資料

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

本頁面將逐步說明如何使用公開資料集,以及如何格式化自有資料並上傳至 Cloud Storage。您必須以 JSON 格式的文字檔提供對話資料。

智慧回覆資料格式

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

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

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

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

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

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

如果您是直接呼叫 API,而非使用主控台,可以在下列位置找到模型和允許清單:

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

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

  • 「Can you find me an expensive place to stay that is located in the east?」(幫我找東邊的高價住宿地點)
  • 「請幫我找一間供應泰式料理的高檔餐廳。」
  • 「你好,我需要在劍橋北部找一間提供免費 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 值區中。

如要建立註解,請將預期的 keyvalue 字串新增至資料集中與每項對話相關聯的 annotation 欄位。為獲得最佳結果,註解訓練資料應符合下列規範:

  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 { } (選用步驟) 對話的中繼資料。
項目 Entry [ ] 這是必要旗標,依時間順序排列的對話訊息。

ConversationInfo

對話的中繼資料。

欄位 類型 說明
類別 類別 [ ] (選用步驟) 對話資料的自訂類別。

類別

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

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

項目

單一對話訊息的資料。

欄位 類型 說明
文字 字串 這是必要旗標,這則對話訊息的文字。所有文字都應正確使用大寫字母。如果文字中的所有字母都是大寫或小寫,模型品質可能會受到顯著影響。如果這個欄位留空,系統會傳回錯誤。
user_id 整數 (選用步驟) 用於識別對話參與者的號碼。每位參與者都應擁有單一 user_id,如果參與多場對話,則應重複使用。
角色 字串 這是必要旗標,對話參與者角色。可為「AGENT」或「CUSTOMER」。
start_timestamp_usec 整數 如果對話僅用於常見問題輔助、文章建議和摘要,則為選填;否則為必填。以微秒為單位的時間戳記,代表這輪對話的開始時間。

範例

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

{
  "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 值區中提供對話資料。建立 bucket 時:

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

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