繁体   English   中英

如何在实现第一个意图后触发第二个意图?

[英]How cann I trigger second intent after fulfilment of the first intent?

我正在 lex 中创建一个接受聊天机器人的食品订单。 在我第一次吃蔬菜开胃菜的意图结束后,我希望机器人自动要求订购非蔬菜开胃菜。 我查找了在线文档,据我了解我必须使用 elicitintent 但我不知道如何使用。

确切的返回格式取决于您使用的 Lex 版本。 Lex V1 和 Lex V2 具有不同的返回格式。

有 2 种dialogAction类型可以为您带来新的意图: elicitIntentelicitSlot

AWS 文档说: elicitIntent - 下一步是确定用户想要实现的意图。 我没有在 Lex V2 中使用它,但在 Lex V1 中,它并不总是按照我想要链接意图的方式工作。 根据我的经验,它会监听用户的下一个输入并从中推断出意图。 如果您想像您的情况一样链接特定意图,这并没有多大帮助。

您可以使用elicitSlot来触发您的下一个意图。

在 Lex V1 中,您需要在返回正文中包含如下内容:

dialogAction: {
        type: 'ElicitSlot',
        intentName: intentName, // Name of intent to be invoked
        slotToElicit: slotName // Name of the slot you want to invoke in the intent
    }

V2 中的返回格式略有不同,但我相信过程几乎相同。

如果您找到了为此目的使用elicitIntent的方法,请告诉我。 我对它的理解可能不正确,所以我很感激这些信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM