为集合预构建组件命名

预构建组件会捕获名字、姓氏和可选的中间名字,以及任何空格、连字符或撇号。

限制

除了常见的预构建组件限制之外,此预构建组件还存在以下限制:

  • 此组件不支持除空格、引号和连字符以外的特殊字符。

其他功能

此预构建组件还提供以下其他功能:

对话框示例

以下示例对话框演示了此预构建组件处理的常见场景。示例对话框演示了通过电话调用组件时的行为,这会触发默认欢迎 intent 并在对话开始时发出第一个客服人员回复。

全名

最终用户在第一轮对话中提供全名;客服人员成功接受。

用户输入 客服人员回复
您的全名是什么?请告诉我您的名字、姓氏和中间名(如果有)。
Sundar Pichai
确认一下,您的名字是 Sundar,姓氏是 Pichai。您的全名拼写正确吗?
您有中间名字吗?
谢谢,Sundar。

分部分显示的完整姓名

最终用户在首次尝试时无法提供全名。然后,最终用户分别提供其名字、姓氏和中间名字;客服人员成功接受了该信息。

用户输入 客服人员回复
您的全名是什么?请告诉我您的名字、姓氏和中间名(如果有)。
nice
抱歉,我没听清楚。我们再来录制您的名字。
在录制名字之前,能否请您确认您的名字中是否有连字符、多余的空格或撇号?
我们先来获取您的名字。
您叫什么名字?
Lawrence
Lawrence。我拼写您的名字对吗?
您姓什么?
页面
页面。我拼写的姓氏对吗?
您有中间名字吗?
您的中间名字是什么?
Edward
Edward。您的中间名字拼写正确吗?
谢谢,Lawrence。

特殊字符

最终用户在首次尝试时无法提供全名。然后,最终用户在单独的转换中分别提供其名字、姓氏和中间名字,其中包含特殊字符;客服人员成功接受。

用户输入 客服人员回复
您的全名是什么?请告诉我您的名字、姓氏和中间名(如果有)。
nice
抱歉,我没听清楚。我们再来录制您的名字。
在录制名字之前,能否请您确认您的名字中是否有连字符、多余的空格或撇号?
是的,我有
Got it.这些特殊字符是否出现在您的名字、中间名字或姓氏中?
名字
请告诉我您名字中不含特殊字符的第一个部分。
Evan
Evan。我拼写第一个部分的名字对吗?
请告诉我下一个字符:空格、撇号还是连字符号。
连字符
“hyphen”。我是否正确捕获了名字第一个部分后面的名字分隔符?
请拼写名字中英文连字符后面的部分。只读出字母,例如 J-O-H-N。
华健
James。请告诉我是否有误,是否已结束,或者下一步是空格、撇号还是连字符。
我已完成
您姓什么?
Mady
Mady。我拼写的姓氏对吗?
您有中间名字吗?
谢谢,Evan-James。

无输入

最终用户连续 3 次未提供输入后,组件会退出流程。

用户输入 客服人员回复
您的全名是什么?请告诉我您的名字、姓氏和中间名(如果有)。
[No-input]
抱歉,我听不到您的声音。您的全名是什么?
[No-input]
抱歉,我还是听不到您的声音。请尝试说话更大声或移到更安静的地方。
[No-input]
抱歉,我没听懂您的回答。

命名规则

此预构建组件使用以下命名惯例:

功能 格式 示例
流程 [组件名称] 名称集合
特定于组件的 intent 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. 导入预构建组件

完成

您的代理现在应该已设置完毕,可以进行测试了。