我正在尝试创建一个聊天机器人来帮助用户搜索摩托车。
我是API.AI新手,已经设置了我的实体及其同义词、意图和用户表达式,以及对实体的引用(@engineSize,@make,@bikeType)。
我的问题是,当我试图添加所需的操作和提示符,然后尝试保存意图时,我得到以下消息:“以下实体相互引用并形成一个无限循环:engineSize。”
一开始,我以为我在用户表达式中错误地使用了引用。除一个表达式外,我删除了所有引用,该表达式使用了所有三个实体。
我不知道我做错了什么。任何帮助都将不胜感激,谢谢!详情请参阅下面的Pix。
编辑:我修复了一个问题,试图传递一个模板表达式为例。但是,我仍然收到相同的错误消息。我将替换和更新我的图像链接,以包括编辑。
发布于 2017-05-01 05:43:10
有趣的是,很难找到这篇文章的答案,因为问题在于如何定义我的实体。
在实体定义中,我包含了对实体本身的@ref。ie bikeType实体包含@bikeType作为其定义之一。
这与用户表达式是正确的。只要用户表达式被标记为模板(整个行在最左边用'@‘表示,而不是大的“),就不会出现问题。
发布于 2017-05-01 03:33:05
为了清晰起见,编辑了以获取根问题
在提供的用户输入示例中,您应该提供一般示例,然后突出显示属于实体的任何文本,以映射实体在用户查询中出现的位置。
在您的示例中,您输入了实际的实体引用“@ engineSize”作为属于engineSize实体的示例,创建了一个自引用。
适当提供的用户示例如下所示:

另外,请注意,如果您只是使用实体来存储通用信息,如数字、地址、时间等,通常为这些类别使用预先构建的系统实体比创建自定义实体(例如@sys.number-整数)更有意义。
看起来您需要对实体有一个更好的理解,我推荐文档:https://docs.api.ai/docs/concept-entities。
https://stackoverflow.com/questions/43713340
复制相似问题