對話資料會以轉錄稿 (智慧回覆) 和轉錄稿加上註解資料 (摘要) 的形式接受。您可以選擇使用 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
欄位中,新增預期的 key
和 value
字串。為獲得最佳結果,註解訓練資料應遵循下列指南:
- 建議的訓練註解數量下限為 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 { } | (非必要) 對話的中繼資料。 |
項目 | 輸入 [ ] | 這是必要旗標,依時間順序排列的對話訊息。 |
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 快速入門操作說明建立值區並上傳檔案。