不同的意图在路易斯模型和团队上为同一个句子,如何解决?



我已经在微软团队和机器人上使用luis部署了机器人,当微软团队和路易斯模型机器人提出相同的问题时,给出了不同的意图。

在团队中

在路易斯模型上

句子"我可以在项目中选择旧日期吗?

它具有"添加"意图和"日期"实体,但

在 LUIS 模型上键入该句子时,它会给出正确的添加意图和日期实体,

但是,当向团队中部署的机器人询问相同的句子时,会给出错误的输出,为什么会发生这种情况? 如何解决?

我想我最近遇到了类似的问题。能否在应用中进行调试,并在将 Activity.Text 属性移交给 LUIS 之前查看该属性。如果机器人位于团队频道内(而不是直接与机器人进行 1-1 聊天(,则需要@mention机器人才能调用它。但是,这也会将"BotName"字符串添加到 Activity.Text 中,这会破坏对 LUIS 的理解。

可以通过以下方法进行检查:进入 LUIS 模型,转到顶部菜单上的"生成"部分(在其中定义实体等(,然后在左侧菜单转到"查看终结点语句"。在那里,您可能会看到机器人"我可以在项目中选择旧日期吗"和"DemoBot 我可以在项目中选择旧日期吗"。

因此,有两种方法可以解决此问题(我至少可以想到(:

  1. 可以在"查看终结点言语"页上针对要处理的意向训练 LUIS 模型
  2. 在将机器人发送到 LUIS 之前,可以编辑机器人中的文本,以删除"提及,如下所示:

    字符串在提及机器人 = $"演示机器人";

    if (turnContext.Activity.Text.StartsWith(atMentionBot, StringComparison.OrdinalIgnoreCase(( turnContext.Activity.Text = turnContext.Activity.Text.Substring(atMentionBot.Length(;

    (我不确定你为机器人使用什么语言 - 这当然是一个 C# 示例(

最新更新