我们在对话期间收集一些用户输入。最后,我们要求用户确认:“你想用参数 x、y 和 z 启动 XYZ 吗?”
我们希望为用户提供回答“不,我希望 x 成为参数 f”之类的可能性。因此,纠正了他之前的输入。
是否有使用 Java ASK-SDK 的最佳实践?
研究刚刚表明亚马逊推荐这种支持: https://developer.amazon.com/de/docs/alexa-design/adaptable.html#accept-corrections
但是,没有示例代码。
最佳答案
您可以为“不”创建自定义话语,并立即重新提示,以便用户能够进行更正。因此,不要进行槽确认,而是通过处理程序进行确认,然后重新提示用户(如果您使用 session 属性和对话框)以强制他们确认或更正其输入。
按照您的示例,如果用户说“不,我希望 x 成为参数 f”,则“否”部分是您要处理的第一个话语。当需要确认输入时,您需要验证它们是否位于对话框的一部分,这样您就可以避免因触发该 intent 而得到不同的“否”。 执行此操作后,您将重新提示用户,以便“我希望 x 成为参数 f”触发您的其他 intent 。
如果您这样做,您将能够通过回收现有的 intent/话语来处理大量输入更正。
关于java - 意向确认时如何处理用户更正?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57291080/