對話資料可做為轉錄稿 (智慧回覆),以及轉錄稿加上註解資料 (摘要)。您也可以選擇使用 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 值區中。
如要建立註解,請將預期的 key
和 value
字串新增至資料集中與每項對話相關聯的 annotation
欄位。為獲得最佳結果,註解訓練資料應符合下列規範:
- 建議訓練註解數量下限為 1,000 個。強制執行的最低數量為 100。
- 訓練資料不得包含個人識別資訊。
- 註解不得包含性別、種族或年齡等資訊。
- 註解不得使用不雅或粗俗用語。
- 註解不得包含任何無法從對應的對話轉錄稿推斷的資訊。
- 每則註解最多可包含 3 個部分。你可以選擇自己的章節名稱。
- 註解應使用正確的拼字和文法。
以下範例顯示附帶註解的對話轉錄稿格式:
{ "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 並上傳檔案。