首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Watson Conversation 对话原理以及高级应用-6

Watson Conversation 对话原理以及高级应用-6

本帖最后由 look_w 于 2018-3-17 11:57 编辑

slot_in_focus 属性始终计算为布尔值(true 或 false)。 只包含在一个你想要一个布尔结果的条件下。                例如,不要在检查实体类型的槽位条件中使用它,然后保存实体值。
在"NOT FOUND"提示中,再次询问信息,并重置先前保存的上下文变量。
图 15. 示例
  • Avoid number confusion                        用户提供的一些值可以被识别为多个实体类型。
您可能会有两个插槽存储相同类型的值,例如到达日期和离开日期。 将逻辑建立到您的插槽条件中,以将这些相似的值彼此区分开来。
此外,该服务可以在单个用户输入中识别多个实体类型。 例如,当用户提供货币时,它被识别为@ sys-currency 和@ sys-number                实体类型。 在"尝试出来"窗格中进行一些测试,以了解系统如何解释不同的用户输入,并将逻辑构建到您的条件中,以防止可能的误解。
TIP: 在插槽功能唯一的逻辑中,当在单个用户输入中识别两个实体时,使用具有较大跨度的实体。 例如,如果用户输入 5 月 2                日,即使对话服务同时识别文本中的@ sys-date(05022017)和@ sys-number(2)实体,只有具有较长跨度的实体(@                sys-date) 注册并应用于插槽(如果适用)。
  • Prevent a Found response from displaying when it's not                        needed
如果您为多个插槽指定了找到的响应,则如果用户一次提供多个插槽的值,则将显示至少一个插槽的"找到"响应。                你可能想要找到所有的发现响应,或者没有一个返回。
为了防止只显示一个 Found 响应,您可以向 Found 响应添加一个条件,以防止在填充了多个插槽值时显示该响应。 例如,使用 JSON                编辑器将以下条件添加到具有 Found 响应的最后一个插槽:
图 16. 示例
如果同时提供$ size 和$ time 上下文变量,则此条件可防止显示响应。
  • Handle requests to exit the process                        添加至少一个可以在用户想要退出节点时识别它的节点级处理程序。
例如,在收集信息以安排宠物美容约会的节点中,您可以添加一个节点级别的处理程序,该节点级别的处理程序可以在#cancel                意图上进行处理,该方法可以识别话语,例如"忘记了,我改变了主意"。
例如,在收集信息以安排宠物美容约会的节点中,您可以添加一个节点级别的处理程序,该节点级别的处理程序可以在#cancel                意图上进行处理,该方法可以识别话语,例如"忘记了,我改变了主意"。
1. 在处理程序的 JSON 编辑器中,使用虚拟值填充所有插槽上下文变量,以防止节点继续请求任何缺少的值。                在处理程序响应中,添加一个消息,如"好的,我们会停在那里,不会安排预约"。
2. 在节点级响应中,添加一个条件,该条件在一个时隙上下文变量中检查一个虚拟值。 如果找到,请显示最终消息,如"如果您稍后决定预约,我来帮助"。                如果没有找到,它将显示该节点的标准摘要消息,例如"I am making a grooming appointment for your                $animal at $time on $date."。
3. 考虑在此节点级处理程序之前评估的条件中使用的逻辑,以便您可以在其中构建不同的条件。 当接收到用户输入时,将按以下顺序评估条件:
  • 当前插槽级别如果找到条件。
  • 节点级处理器按照它们列出的顺序。
  • 当前插槽级别如果未找到条件。
例如,你养育除猫之外的所有动物。 对于动物插槽,您可能会试图使用以下插槽条件来防止猫被保存在动物插槽中:
图 17. 示例
并且为了让用户知道您不接受猫,您可以在"动物"插槽的"未找到"条件中指定以下值:
图 18. 示例
虽然逻辑上,如果您还定义了一个节点级别的退出请求处理程序,那么 - 给定条件评估的顺序 - 此"未找到"条件可能永远不会被触发。                相反,您可以使用此槽位条件:
图 19. 示例
并且为了处理可能的 cat 响应,将此值添加到"找到"条件:
图 20. 示例
在找到条件的 JSON 编辑器中,重置$animal 上下文变量的值,因为它现在被设置为 cat 而不应该是。
图 21. 示例
以下是一个 JSON 定义了比萨饼示例的节点级处理程序的示例:
图 22. 示例
实战:创建一个 pizz                购买店创建一个 pizza_shop 的 workspace。
图 23. 创建一个                    workspace
创建一个"订单"意图。
图 24. 创建一个意图
创建一个 pizza 大小和 pizza 类型的实体。
图 25. 创建一个实体
创建一个对话。
图 26. 创建一个对话

现在测试你的 conversation,点击
图 27. 对话示例 1
图 28. 对话示例 2
图 29. 对话示例 3
返回列表