命名集合預先建構元件

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

限制

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

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

其他功能

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

對話方塊範例

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

全名

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

使用者輸入內容 代理回覆
你的全名是?請告訴我你的名字、姓氏和中間名 (如有)。
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. 匯入預先建構的元件

完成

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