英數字元集合預先建構元件

英數字元集合預先建構元件會向使用者收集英數字元序列。可接受的最小和最大長度可透過輸入參數設定。

這個元件會在每個對話回合中擷取使用者的字元區塊,並將這些區塊串連起來,形成最終序列。您可以透過輸入參數,設定每個區塊可接受的最小和最大長度。

序列擷取作業會持續進行,直到使用者輸入與預先建構的 components_confirmation_done 意圖相符的內容,表示序列已完成為止。

語音字母

這個元件支援使用語音字母,例如 NATO 語音字母。

使用者輸入內容 擷取的序列
alpha bravo charlie 123 abc123
A B Cat 1 2 3 ABC123
A 代表 Apple,B 代表 Banana,C 代表 Chili,115 ABC115

其他功能

這個預先建構的元件提供下列額外功能:

對話範例

下列範例對話方塊展示了這個預先建構元件處理的常見情境。範例對話會示範透過電話呼叫元件時的行為,這會觸發預設歡迎意圖,並在對話開始時提供代理程式的第一個回應。

單一區塊

使用者在一個區塊中提供英數序列,並說出「我完成了」;代理程式成功接受該序列。

使用者輸入內容 代理回覆
請先說出英數字元序列的前 1 到 8 個字元。完成後,說出「我完成了」即可結束收集作業。你也可以隨時說出「播放」,查看目前收集到的序列。
fvfd3433
好的。我收到 fvfd3433,這是正確的嗎?
是
好的,請告訴我序列中的下 1 到 8 個字元。
我沒問題了
感謝確認!我最後得到的英數字元序列是 fvfd3433,這樣是否正確?
是
太棒了,我已收集英數字元序號。

多個區塊

使用者以 2 個區塊提供英數序列,代理程式成功接受。

使用者輸入內容 代理回覆
請先說出英數字元序列的前 1 到 8 個字元。完成後,說出「我完成了」即可結束收集作業。你也可以隨時說出「播放」,查看目前收集到的序列。
fvfd3433
好的。我收到 fvfd3433,這是正確的嗎?
是
好的,請告訴我序列中的下 1 到 8 個字元。
gh67
好的。我收到 gh67,對嗎?
是
好的,請告訴我序列中的下 1 到 8 個字元。
我沒問題了
感謝確認!我最後取得的英數字元序列是 fvfd3433gh67,這樣是否正確?
是
太棒了,我已收集英數字元序號。

重試成功

使用者提供英數序列,代理會再次提示使用者確認。使用者對確認訊息說「否」,並再次提供英數序列;服務專員成功接受。

使用者輸入內容 代理回覆
請先說出英數字元序列的前 1 到 8 個字元。完成後,說出「我完成了」即可結束收集作業。你也可以隨時說出「播放」,查看目前收集到的序列。
fvfd3433
好的。我收到 fd3433,對嗎?
否
很抱歉,請再次提供前 1 到 8 個字元。
fvfd3433
好的。我收到 fvfd3433,這是正確的嗎?
是
好的,請告訴我序列中的下 1 到 8 個字元。
我沒問題了
感謝確認!我最後得到的英數字元序列是 fvfd3433,這樣是否正確?
是
太棒了,我已收集英數字元序號。

重試失敗

使用者無法在三次嘗試內提供 1 到 8 個半形英數字元序列,元件會結束流程。

使用者輸入內容 代理回覆
請先說出英數字元序列的前 1 到 8 個字元。完成後,說出「我完成了」即可結束收集作業。你也可以隨時說出「播放」,查看目前收集到的序列。
123N
好的。我得到 123M,這樣對嗎?
否
很抱歉,請再次提供前 1 到 8 個字元。
123N
好的。我得到 123M,這樣對嗎?
否
很抱歉,請再次提供前 1 到 8 個字元。

請用開頭為每個字母的單字,拼出你的序號。舉例來說,如果序號是 AB123,請說出「Apple Baby 123」。
123 Nest
好的。我收到 123N,對嗎?
否
很抱歉,我嘗試太多次,但無法收集英數字元序列。

語音字母

使用者提供英數序列,代理會再次提示使用者確認。使用者連續兩次對確認問題回答「否」,系統會啟用語音轉換功能,使用者再次提供英數字元序列,服務專員成功接受。

使用者輸入內容 代理回覆
請先說出英數字元序列的前 1 到 8 個字元。完成後,說出「我完成了」即可結束收集作業。你也可以隨時說出「播放」,查看目前收集到的序列。
123N
好的。我得到 123M,這樣對嗎?
否
很抱歉,請再次提供前 1 到 8 個字元。
123N
好的。我得到 123M,這樣對嗎?
否
很抱歉,請再次提供前 1 到 8 個字元。

請用開頭為每個字母的單字,拼出你的序號。舉例來說,如果序號是 AB123,請說出「Apple Baby 123」。
123 N,N 代表 Nancy
好的。我收到 123N,對嗎?
是
好的。請告訴我序列中的下 1 到 8 個字元。
西元前 567 年
好的。我收到 567BC,對嗎?
這樣就完成了。
感謝確認!我最後得到的英數字元序列是 123N56BC。對嗎?
沒錯
太棒了,我已收集英數字元序號。

序列長度無效

使用者提供的英數字元序列長度超出預先定義的最小值和最大值。代理提示使用者重新開始,但使用者拒絕,因此元件會結束流程。

使用者輸入內容 代理回覆
請先說出英數字元序列的前 1 到 8 個字元。完成後,說出「我完成了」即可結束收集作業。你也可以隨時說出「播放」,查看目前收集到的序列。
1.23 億
好的。我得到 123M,這樣對嗎?
完成
很抱歉,您提供的英數字元序列長度不符規定 (5 到 30 個字元)。要重新開始嗎?
否
很抱歉,我嘗試太多次,但無法收集英數字元序列。

命名慣例

這個預先建構的元件採用下列命名慣例:

功能 格式 範例
Flow [元件名稱] 英數字元集合
元件專屬意圖 prebuilt_components_[component_name]_[intent_name] prebuilt_components_alphanumeric_collection_support_continue
參數 [param_name] alphanumeric_max_length

輸入參數

輸入參數是用來設定元件特定行為的參數。流程中的一或多個條件會使用這些參數,判斷元件的行為。如要設定流程範圍參數,請按照下方說明,在元件的開始頁面進行設定。以工作階段為範圍的參數可透過呼叫流程或這個元件的開始頁面設定。

如要設定每次擷取和最終收集序列可接受的長度下限和上限,請在流程的開始頁面修改參數預設值。

這個預先建構的元件接受下列輸入參數:

參數名稱 說明 輸入格式
$flow.alphanumeric_min_length 最終英數字元序列的長度下限。預設值為 1。 整數
$flow.alphanumeric_max_length 最終英數字元序列的長度上限。預設值為 30。 整數
$flow.lower_limit 使用者每回合可提供的區塊長度下限。預設值為 1。 整數
$flow.upper_limit 使用者每回合可提供的區塊長度上限。預設值為 8。 整數

如要設定這個元件的輸入參數,請展開查看操作說明。

  1. 開啟 Dialogflow CX 控制台。
  2. 選擇 Google Cloud 雲端專案。
  3. 選取代理程式。
  4. 選取「Build」(建構) 分頁標籤。
  5. 在「流程」部分中,按一下匯入的元件。
  6. 按一下「頁面」部分中的「開始頁面」。
  7. 在「開始頁面」中,按一下「true」路徑。
  8. 在「Route」視窗中,視需要編輯「Parameter Presets」值。
  9. 按一下「儲存」。

輸出參數

輸出參數是工作階段參數,離開元件後仍會保持有效狀態。這些參數包含元件收集的重要資訊。這個預先建構的元件會提供下列輸出參數的值:

參數名稱 說明 輸出格式
alphanumeric_collection_alphanumeric_sequence 這個參數會傳回元件擷取的英數字元序列 字串

基本設定

如要設定這個預先建構的元件,請按照下列步驟操作:

  1. 匯入預先建構的元件。

完成

代理程式現在應已設定完成,可以開始測試。