Nlp 在LUIS应用程序中使用后续问题的正确方法

Nlp 在LUIS应用程序中使用后续问题的正确方法,nlp,botframework,microsoft-cognitive,azure-language-understanding,Nlp,Botframework,Microsoft Cognitive,Azure Language Understanding,我正在开发一个带有botframework和NLP服务LUIS的聊天机器人 如果您希望应用程序/聊天机器人根据前一个应用程序/聊天机器人的上下文回答后续问题,有人能在此解释一下什么是正确的方法吗 让我举个例子: [me]: I want to buy a Ford car [bot]: Here are the list of different cars we have.... [me]: what about a red one? [bot]: sure! I added the red c

我正在开发一个带有botframework和NLP服务LUIS的聊天机器人

如果您希望应用程序/聊天机器人根据前一个应用程序/聊天机器人的上下文回答后续问题,有人能在此解释一下什么是正确的方法吗

让我举个例子:

[me]: I want to buy a Ford car
[bot]: Here are the list of different cars we have....
[me]: what about a red one?
[bot]: sure! I added the red color to your car
[me]: I also want bluetooth
.....
正如你所看到的,如果你不知道对话的背景,那么关于颜色、蓝牙或汽车可能具备的任何其他品质的问题都毫无意义

这应该通过botframework上的瀑布式方法来实现,还是应该通过LUIS的话语来实现?我们如何才能做到这一点?我相信这必须通过路易斯来完成,但我不确定正确的方法

编辑以澄清:

我理解这可以通过实现所述的bindingActions来实现,但这意味着我必须对每个不同的用例进行编码(在这种情况下,我必须为颜色、门、电机类型等编码一个bindAction),我想要的是机器人回答自发的问题


下面的答案让我想到了如何实现瀑布式对话框,在对话框的第二步中,将问题发送到具有不同答案的QnAmaker服务。

您使用瀑布式是正确的-我假设您使用的是Node.js SDK,在这种情况下,请查看文档,了解如何实现瀑布来管理对话框

如果您使用的是.NETSDK,那么您将使用

您的LUIS服务应该只返回一个“意图”,即用户希望为您的用例购买一辆汽车,然后,您需要通过bot中的对话框引导对话流。对于“跟进”问题,您当前的对话框需要解决,或者您可以实现一个全局消息处理程序

这展示了.NET的示例,但您可以对node.js bot应用相同的逻辑。在这篇文章中,LUIS用于根据返回的意图将用户引导到不同的对话框


希望这有帮助,祝你好运

谢谢你,马修!我不知道如何在不编码每个可能的用例的情况下解决后续问题。为此,我可以试着打电话给QnAMaker服务,提供问题和答案,并将问题发送到该服务,否则我不知道如何解决每个不同的问题。