是否可以忽略或停止在Microsoft LUIS中以单引号标识内部实体(单/双)?

时间:2019-03-19 16:24:59

标签: c# azure luis

我正在使用MS LUIS构建聊天机器人。 当文件名出现问题时,它会将文件名上的名称,日期,数字检测为真实实体,而不是真实实体。文件名显然在引号内。 LUIS仍将其作为实体。

有没有办法告诉LUIS停止将引号内的单词识别为实体。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

不幸的是,LUIS会绑定所有可能的实体,并且不能有选择地删除它们-它们只能从应用程序中完全删除。

但是,您可以通过几种不同的方式在代码中处理此问题:

忽略实体

当结果从LUIS返回时,您可以有选择地查看实体。伪代码可能类似于

// If turnContext.activity.Text doesn't contain "", do something with entities

选择性地将文本发送到LUIS以进行识别

如果您根本不希望LUIS处理文件名,则也可以在代码中忽略它们。代码类似于:

var recognizerResult = {};
if (!turnContext.activity.Text.contains("/"))
{
    recognizerResult = await _services.LuisServices[LuisKey].RecognizeAsync(turnContext, cancellationToken);
}

在用户界面中忽略它

将切换开关从实体视图切换到右上角,直到令牌视图

enter image description here

enter image description here

添加一个新的称为文件路径的RegEx实体,该实体使其他实体黯淡无光

实体正则表达式:^(.*/)([^/]*)$

之前:

enter image description here

之后(注意:我仅对“ /”而不是“ \”进行正则表达式):

enter image description here