ibm-cloud - Watson Assistant Chatbot 将用户输入保存在 Slots 中
问题描述
我正在使用 Watson Assistant Chatbot..我想通过启用插槽和系统实体(如 @sys-number)来保存用户输入的变量。我可以通过选择检查 @sys-number 来保存数字,或者通过选择保存日期检查@sys-date ...但对于文本/字符,我找不到@sys-text或@sys-char ..
我在检查@sys-number 时尝试保存文本,但答案没有保存到变量中,并且问题在聊天机器人控制台中不断重复。
那么,我如何使用 Slots 来保存用户输入的文本,我的意思是我应该在“检查”中输入什么?谢谢,
解决方案
无论您的语言和上下文如何,数字始终是数字。日期也总是日期。
然而,“文本”可能意味着许多不同的东西,它们取决于上下文。这就是为什么您需要为上下文中的每个含义创建一个单独的实体。
对于 IBM Watson Assistant,没有理由检测“任何文本”,除非该文本在您的上下文中意味着什么。
假设您要检测“智能手机”一词。对于 Assistant,如果它与任何实体无关,则没有理由检测此词。
因此,您需要创建一个实体(例如“ @Product ”),然后给它一个名为“ smartphone ”的值。然后,每当用户在您的聊天机器人中键入“智能手机”时,助手将能够识别“ @Product:smartphone ”。
在您的插槽中,在“检查”字段中,您可以输入“ @Product ”。这意味着如果聊天机器人没有检测到任何@Product(例如“智能手机”),它应该重复该问题,直到找到有效的产品。
推荐阅读
- c# - 如何正确处理 Socket/Thread 列表中的 Socket Client 断开连接?
- amazon-web-services - Lambda updateFunctionCode 慢得离谱
- android - 处理 BackHandler
- javascript - JavaScript return 语句意外
- java - 在不循环的情况下查找 5 个正整数(一个输入)的总和
- reactjs - 反应原生日期从 int 转换为日期
- r - 生存::survreg 用户定义的 Beta 分布
- python - ValueError: Argument must be a dense tensor: [['1', '2', '3'], ['1']] - 得到形状 [2],但想要 [2, 3]
- html - 如何从 UILabel 中的 html 链接中删除下划线?
- wpf - 将 UIElement 传递给 CommandParameter