实体检测 - 实体与英文单词冲突

entity detection - entities clashing with english words

我有几个像下面这样的句子

在上面的句子中,我要找的实体分别是ISISME。这些实体包括 ISMEANAM,这些实体在构建英语句子时很常见。我正在使用 LUIS 进行实体检测并将实体维护为列表实体。问题是,尽管 LUIS 能够检测到实体(ISANAM),但它会在像

这样的普通句子中检测到它们

在上面的句子中,我们没有任何实体,但是实体IS被拾取了。

我们如何检测仅当实体被实际提及而不是句子结构的一部分时才检测到实体。

注意几点:

正如您所说,正确解析句子将为您提供 PoS 标签,这将帮助您获得正确的答案。不幸的是,您展示的示例语法很差,因此即使是最好的解析器也可能会遇到困难。

您是否有足够的精选数据来训练神经网络? LSTM 可能设法充分了解这些句子中实际使用的语法,从而成功完成 NER。

在您给出的示例中,要查找的名称都是单个标记。如果这是典型的,它将使工作更容易。

下面的评论说没有足够的数据来训练神经网络。举的几个例子很老套。是否可以使用前一个和下一个标记作为预测变量来训练朴素贝叶斯分类器?

您可能已经发现 non-machine-learned entities 不适合您的情况,因为它们没有考虑上下文。我想你有几个选择。

选项 1:简单实体

我刚刚通过将你的三个话语添加到一个名为 "Sales org" 的意图中进行测试,然后创建一个名为 "Scope." 的 simple entity 我在它们的末尾标记了 IS、IS 和 ME话语作为范围实体。然后,当我测试 "give me sales org for fpc 12234 for is?"

时,LUIS 能够正确地将 "is" 识别为实体,而不是 "me"

调用 LUIS 后,您的机器人代码可以验证已识别的实体,以确保它在可接受值列表中。

选项 2:角色

如果您仍想使用列表实体,您仍然可以让 LUIS 为您提供 contextual information about the entity by using roles

我刚刚通过使用您的四个值 IS、ME、AN 和 AM 创建一个名为 "ScopeName" 的实体进行了测试。然后我为该实体创建了两个角色:"scope" 和 "falsePositive." 然后我在 "Sales org" 语句中标记了实体,如下所示:

如果你这样做,当 IS、ME、AN 和 AM 位于句子中你不希望它们被识别的部分时,LUIS 仍会识别它们,但你会知道要忽略它们他们在您的机器人代码中,因为他们将被分配 "falsePositive" 角色。