LUIS 应用中后续问题的正确方法
Correct approach with follow-up questions in a LUIS app
我正在使用 botframework 和 NLP 服务 LUIS 开发聊天机器人。
如果你想让app/chatbot根据前一个问题的上下文回答后续问题,谁能在这里解释一下正确的方法是什么?
让我举个例子:
[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 语句完成?我们怎样才能做到这一点?我相信它必须通过 LUIS 完成,但我不确定正确的方法。
编辑澄清:
我知道这可以按照 here 所述实现 bindingActions 来完成,但这意味着我必须为每个不同的用例编写代码(在这种情况下,我必须为颜色编写一个 bindAction,一个为 #门,一个用于电机类型等),我想要的是机器人来回答自发的问题。
下面的答案让我开始考虑实施瀑布式对话,并在对话的第二步将问题路由到具有不同答案的 QnAmaker 服务。
您使用瀑布是正确的 - 我假设您正在使用 Node.js SDK 进行开发,在这种情况下,请查看文档 here 以了解如何实施瀑布以管理你的对话。
如果您使用的是 .NET SDK,则可以使用 form flow。
您的 LUIS 服务应该 return 一个 'intent' 用户希望为您的用例购买汽车,之后,您需要通过机器人中的对话引导对话流.对于 'follow up' 个问题,您当前的对话需要解决,或者您可以实施全局消息处理程序。
此 article 展示了 .NET 示例,但您可以对 node.js 机器人应用相同的逻辑。在那篇文章中,LUIS 用于根据 returned 意图将用户引导至不同的对话框。
希望对您有所帮助,祝您好运!
我正在使用 botframework 和 NLP 服务 LUIS 开发聊天机器人。
如果你想让app/chatbot根据前一个问题的上下文回答后续问题,谁能在这里解释一下正确的方法是什么?
让我举个例子:
[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 语句完成?我们怎样才能做到这一点?我相信它必须通过 LUIS 完成,但我不确定正确的方法。
编辑澄清:
我知道这可以按照 here 所述实现 bindingActions 来完成,但这意味着我必须为每个不同的用例编写代码(在这种情况下,我必须为颜色编写一个 bindAction,一个为 #门,一个用于电机类型等),我想要的是机器人来回答自发的问题。
下面的答案让我开始考虑实施瀑布式对话,并在对话的第二步将问题路由到具有不同答案的 QnAmaker 服务。
您使用瀑布是正确的 - 我假设您正在使用 Node.js SDK 进行开发,在这种情况下,请查看文档 here 以了解如何实施瀑布以管理你的对话。
如果您使用的是 .NET SDK,则可以使用 form flow。
您的 LUIS 服务应该 return 一个 'intent' 用户希望为您的用例购买汽车,之后,您需要通过机器人中的对话引导对话流.对于 'follow up' 个问题,您当前的对话需要解决,或者您可以实施全局消息处理程序。
此 article 展示了 .NET 示例,但您可以对 node.js 机器人应用相同的逻辑。在那篇文章中,LUIS 用于根据 returned 意图将用户引导至不同的对话框。
希望对您有所帮助,祝您好运!