实体检测 - 实体与英文单词冲突
entity detection - entities clashing with english words
我有几个像下面这样的句子
what is the sales org for fpc 1234 for IS?
give me sales org for fpc 12234 for IS?
give me sales org for fpc 12234 with scope ME?
在上面的句子中,我要找的实体分别是IS
、IS
和ME
。这些实体包括 IS
、ME
、AN
、AM
,这些实体在构建英语句子时很常见。我正在使用 LUIS
进行实体检测并将实体维护为列表实体。问题是,尽管 LUIS
能够检测到实体(IS
、AN
、AM
),但它会在像
这样的普通句子中检测到它们
what is the sales org for fpc 1234
在上面的句子中,我们没有任何实体,但是实体IS
被拾取了。
我们如何检测仅当实体被实际提及而不是句子结构的一部分时才检测到实体。
注意几点:
- 实体列表真的很长训练实体而不是使用实体
- 我们不能通过硬编码来两次找到一个实体的出现,因为它可能会像这里这样失败:
give me sales org for fpc 12234 for IS?
ME,IS
不会出现两次,不能用于创建规则。
- 问题不在于
LUIS
,而在于一般的实体提取。我也在看 POS
标记,但这需要实体以大写字母出现才能将其标识为名词,但情况可能并非总是如此。
- 也刚刚尝试了使用 Spacy 的 POS 标记。以下是结果。
- 哪个销售组织为 TO 扩展到 fpc 1234? - TO 被归类为介词(实际上是。)
- 范围为 IS 的 fpc 1234 的销售组织是什么? - 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" 角色。
我有几个像下面这样的句子
what is the sales org for fpc 1234 for IS?
give me sales org for fpc 12234 for IS?
give me sales org for fpc 12234 with scope ME?
在上面的句子中,我要找的实体分别是IS
、IS
和ME
。这些实体包括 IS
、ME
、AN
、AM
,这些实体在构建英语句子时很常见。我正在使用 LUIS
进行实体检测并将实体维护为列表实体。问题是,尽管 LUIS
能够检测到实体(IS
、AN
、AM
),但它会在像
what is the sales org for fpc 1234
在上面的句子中,我们没有任何实体,但是实体IS
被拾取了。
我们如何检测仅当实体被实际提及而不是句子结构的一部分时才检测到实体。
注意几点:
- 实体列表真的很长训练实体而不是使用实体
- 我们不能通过硬编码来两次找到一个实体的出现,因为它可能会像这里这样失败:
give me sales org for fpc 12234 for IS?
ME,IS
不会出现两次,不能用于创建规则。
- 问题不在于
LUIS
,而在于一般的实体提取。我也在看POS
标记,但这需要实体以大写字母出现才能将其标识为名词,但情况可能并非总是如此。- 也刚刚尝试了使用 Spacy 的 POS 标记。以下是结果。
- 哪个销售组织为 TO 扩展到 fpc 1234? - TO 被归类为介词(实际上是。)
- 范围为 IS 的 fpc 1234 的销售组织是什么? - 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" 角色。