【问题标题】:@mention triggering wrong LUIS intent@提及触发错误的 LUIS 意图
【发布时间】:2018-09-10 09:44:33
【问题描述】:

我目前正在使用 Microsoft Bot Framework 开发 Microsoft Teams 机器人。它在网络聊天、机器人模拟器和一对一的网络聊天中工作得非常好,我们需要它在 Teams 中工作。但是,一旦我们将其旁加载到 Teams 中的特定团队中,我们就会出现不良行为。我们的一些意图被错误地触发或根本不再工作,因为我们不得不@提及机器人与它交谈。例如,当用户说“@mention hello”时,触发的是 StopVM 意图,而不是我们的 Greeting 意图。当尝试使用“@mention hello”或“mention hello”(其中提及是我们的机器人名称)尝试使用短语时,在网络聊天或机器人模拟器中它会正确触发问候意图。然而,在团队的一对一聊天中,当我们再次@提到机器人时,这再次给出了 StopVM 的意图。

有没有办法解释我们的 LUIS 模型中的 @提及?或者也许我们可以使用 REGEX 在发送到我们的 LUIS 之前删除 @提及?

但是还有另一个问题是,当我们目前不期望这样做时,响应机器人通过我们的表单流也会向表单字段发送@mention 或提及。

我想总体问题是我们如何解释用户回复中的@提及?

【问题讨论】:

标签: c# botframework azure-language-understanding microsoft-teams


【解决方案1】:

LUIS 正则表达式实体不用于剥离事物;它们用于识别实体。

创建一个正则表达式来识别@mentions,方法是创建一个称为AtMention 或可能是BotOrPerson 的正则表达式类型的新实体,如article mentioned above 中所述,然后只需在您的话语中包含@mentions。然后,您的模型将识别它们的本质。

AtMention/BotOrPerson 实体可以在您的模型中没有意义,或者如果它们存在,您可以做一些不同的事情 - 例如,如果话语@提及机器人以外的其他人,它可能会触发特殊行为。

(@wajeed-msft - 你的建议不起作用,因为 LUIS 在机器人之前看到用户的输入。)

【讨论】:

  • 关于 LUIS 在机器人之前看到用户输入的评论,这取决于机器人的实现:可以在机器人代码端调用 LUIS 之前删除提及
  • 如果有可能,那就不明显了!很高兴知道。
  • 要做到这一点,至少有两种解决方案:可以在调用 LUIS 之前覆盖机器人的活动文本,或者可以在不作为 LuisDialog 的情况下调用 LUIS,在这种情况下,可以自定义传递给 LUIS 的值之前
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-29
  • 2018-05-20
相关资源
最近更新 更多