我正在尝试创建一个集成了LUIS的机器人,其目的是搜索食谱和产品,但我很难理解一些概念。
首先,我对谈话流程有疑问。假设用户要求提供配方,但没有指定他想要过滤的产品。机器人将检查此话语中是否有任何实体(产品),如果没有,它将回复询问特定产品。如下所示:
用户:“我想看食谱”
Bot:“请指明成分”
用户:“香蕉”
这是我发现第一个问题的地方。机器人如何能够理解用户的最后一个话语(香蕉)是针对食谱意图而不是产品意图?
为了尝试解决这个问题,我训练了LUIS指导这些实体转到无意图。我还创建了一个标志,允许我检测哪个是用户经历的最后一个Intent。由此我可以将机器人重定向到正确的意图。
我觉得必须有比这更好的解决方案。我在这里错过了什么吗?有没有办法跟踪使用的意图的历史?我也尝试过使用context.Wait,但我相信该方法不会接收(或返回)LuisResult,这使我以后无法检测用户消息中是否有任何实体。
我的第二个问题是,如果用户可以发送不会输入任何意图的消息,并且只是针对某种方法?
答案 0 :(得分:0)
pattern
如果你在luis对话框中留下这样的方法,那么任何没有映射函数的意图都会转到这个函数。意图“aa”和“bb”将转到AaaIntentSpecified,任何其他意图如“cc”,“dd”......将转到IntentNotSpecified。