命名集合預先建構元件

這個預先建構的元件會擷取名字、姓氏和選填的中間名,以及任何空格、連字號或單引號。

限制

除了常見的預先建構元件限制外,這個預先建構元件還有下列限制:

  • 這個元件不支援名稱含有空格、單引號和連字號以外的特殊字元。

其他功能

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

對話範例

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

全名

使用者在第一輪對話中提供全名,代理程式成功接受。

使用者輸入內容 代理回覆
你的全名是?請告訴我你的名字、姓氏和中間名 (如有)。
Sundar Pichai
確認你的名字是 Sundar,姓氏是 Pichai。請問我是否正確拼出你的全名?
是
你有中間名嗎?
否
謝謝 Sundar。

全名 (分開填寫)

使用者第一次嘗試時無法提供全名。使用者接著在不同回合中提供名字、姓氏和中間名,代理程式成功接受。

使用者輸入內容 代理回覆
你的全名是?請告訴我你的名字、姓氏和中間名 (如有)。
nice
抱歉,我沒聽清楚。讓我們重新開始擷取名稱。
擷取名稱前,請先確認名稱中是否含有連字號、額外空格或單引號。
否
請先輸入你的名字。
你的名字是什麼?
Lawrence
Lawrence。請問你的名字是否正確?
是
你的姓氏是什麼?
頁面
頁面。請問你的姓氏是否正確?
是
你有中間名嗎?
是
你的中間名是什麼?
Edward
愛德華。你的中間名是否正確?
是
謝謝 Lawrence。

特殊字元

使用者第一次嘗試時無法提供全名。使用者接著在不同回合中提供名字、姓氏和中間名,並使用特殊字元;代理程式成功接受。

使用者輸入內容 代理回覆
你的全名是?請告訴我你的名字、姓氏和中間名 (如有)。
nice
抱歉,我沒聽清楚。讓我們重新開始擷取名稱。
擷取名稱前,請先確認名稱中是否含有連字號、額外空格或單引號。
是
好的,你的名字、中間名或姓氏是否含有這些特殊字元?
名字
請告訴我您名字的第一部分,也就是特殊字元前的部分。
Evan
Evan,我是否正確拼出第一部分?
是
請告訴我下一個字元:空格、單引號或連字號。
連字號鍵
「連字號」。我是否正確擷取了你名字第一部分後方的名稱分隔符?
是
請在連字號後方拼出名字的下一部分。請只說出字母,例如 J-O-H-N。
Juan
James. 告訴我是否正確、是否為結尾,或是接下來的內容:空格、單引號或連字號。
我完成了
你的姓氏是什麼?
Mady
Mady。請問你的姓氏是否正確?
是
你有中間名嗎?
否
謝謝你,Evan-James。

未輸入

如果使用者連續三次未輸入任何內容,元件就會結束流程。

使用者輸入內容 代理回覆
你的全名是?請告訴我你的名字、姓氏和中間名 (如有)。
[No-input]
抱歉,我聽不到你說話,你的全名是?
[No-input]
嗯,我還是聽不到你的聲音。請試著提高音量或前往較安靜的地方。
[No-input]
抱歉,我不太瞭解你的意思。

命名慣例

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

功能 格式 範例
Flow [元件名稱] 命名集合
元件專屬意圖 prebuilt_components_[component_name]_[intent_name] prebuilt_components_name_collection_special_characters_decider
實體類型 prebuilt_components_[component_name]_[entity_type_name] prebuilt_components_name_collection_first_name
參數 [param_name] user_provided_first_name

輸出參數

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

參數名稱 說明 輸出格式
name_collection_first_name 這個參數會傳回元件擷取的使用者提供名字 字串
name_collection_last_name 這個參數會傳回元件擷取的使用者姓氏 字串
name_collection_middle_name 這個參數會傳回元件擷取的使用者提供中間名。如果系統未收集中間名,參數會是空字串 字串

基本設定

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

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

完成

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