LUIS通常用作具有多个QnA的调度程序,或与QnA并行使用或作为(If else)重定向到QnA。正如以下链接中所述:
Look use-cases mention in the answer
我想将知识从LUIS转移到QnA:
LUIS:从话语中提取实体和意图等内容,但在上述大多数场景中,我们传输的只是话语,而不是来自LUIS的意图和实体的信息。
QnA元数据:元数据过滤器(键值对),以便在我们之后查询qna基础时提升一些答案。
这是我的问题:
人们想要以某种方式集成LUIS和QnAMaker非常普遍,例如here和here。有关于如何做here的官方文档。但是,您想要做的事情似乎与通常的实现略有不同。
如果我可以解释一下,听起来你正在尝试使用LUIS来提升QnAMaker的智能。这既不可能也不必要。这是不可能的,因为LUIS和QnAMaker设计有简单的接口,接收单个消息作为输入,也就是说QnAMaker不能与LUIS的意图和实体一起使用。没有必要,因为QnAMaker已经设计得像它的功能一样好。如果有一种方法可以使用LUIS的算法使其更智能,那么该功能将被内置,您不必自己实现。请记住,这两个都是Microsoft AI服务,所以我不希望有一个超出另一个范围的秘密。
我发现QnA Maker在有重叠部分的问题上存在很多问题。
例如。与定义问题相同类型的问题:
QnA Maker相对愚蠢 - 它基于搜索引擎而不是实际理解语言。例如,它无法找出问题的关键概念。
因此,重要的是减少重叠并在问题中具有更多的独特性。
我想出的解决方案是将类似的问题聚类并将它们建模为LUIS中的Intents。答案可以在QnA Maker中。例如。 DefinitionQuestion
意图在LUIS中实体提取:
然后使用机器人中的逻辑,您可以将所有定义(而不是整个问题)放在QnA Maker中,并将它们标记为定义。当LUIS识别出定义意图时,您可以使用带有questiontype:definition
标记的严格过滤器提取X实体并查询QnA Maker for X.