Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# @提到触发错误的路易斯意图_C#_Botframework_Azure Language Understanding_Microsoft Teams - Fatal编程技术网

C# @提到触发错误的路易斯意图

C# @提到触发错误的路易斯意图,c#,botframework,azure-language-understanding,microsoft-teams,C#,Botframework,Azure Language Understanding,Microsoft Teams,我目前正在使用Microsoft bot框架开发Microsoft Team bot。它在网络聊天、机器人仿真器和一对一的团队合作中都能很好地工作。然而,一旦我们在团队中把它侧面加载到我们的特定团队中,我们就会得到不想要的行为。我们的一些意图被错误地触发了,或者根本不起作用了,现在我们不得不提到机器人来与它对话。例如,当用户说“@提及hello”时,触发的是StopVM意图,而不是我们的问候意图。当尝试使用“@提及hello”或“提及hello”(其中提及是我们的机器人名称)来尝试短语时,在网络

我目前正在使用Microsoft bot框架开发Microsoft Team bot。它在网络聊天、机器人仿真器和一对一的团队合作中都能很好地工作。然而,一旦我们在团队中把它侧面加载到我们的特定团队中,我们就会得到不想要的行为。我们的一些意图被错误地触发了,或者根本不起作用了,现在我们不得不提到机器人来与它对话。例如,当用户说“@提及hello”时,触发的是StopVM意图,而不是我们的问候意图。当尝试使用“@提及hello”或“提及hello”(其中提及是我们的机器人名称)来尝试短语时,在网络聊天或机器人模拟器中,它会正确触发问候意图。然而,在团队中的1对1聊天中,当我们再次提到机器人时,这再次赋予了StopVM意图

有没有办法解释我们的路易斯模型中提到的@?或者,我们是否有办法在发送给我们的路易斯之前,使用正则表达式删除@提及

但还有另一个问题,当我们当前不希望看到时,响应bot通过表单流也会向表单字段发送@ention或ention


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

路易斯·雷格克斯实体不用于剥离东西;它们用于识别实体

创建一个正则表达式来识别@提及,方法是创建一个正则表达式类型的新实体,称为ATTINCE,或者如中所述的BotOrPerson,然后只在您的话语中包含@提及。然后,您的模型将根据它们的特性识别它们

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


(@wajeed msft-您的建议无效,因为LUIS在机器人看到用户输入之前就看到了。)

请阅读并接受建议。如果您提供代码并简单地告诉我们问题所在,我们可能会提供帮助。请检查文档。您是否尝试过regex实体?下面是关于LUIS在bot之前看到用户输入的评论,这取决于bot的实现:在bot的代码端调用LUIS之前删除提及是可能的,如果不明显的话!很高兴知道。要做到这一点,至少有两种解决方案:在调用LUIS之前可以覆盖bot的活动文本,或者可以在不使用LuisDialog的情况下调用LUIS,在这种情况下,可以在调用之前自定义传递给LUIS的值