我的句子如下:
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
被拾取。
仅当实体被实际寻址而不是句子构造的一部分时,我们如何检测它们。
需要注意的几点:
答案 0 :(得分:1)
正如您所说,对句子的正确解析将为您提供PoS标签,这将帮助您获得正确的答案。不幸的是,您显示的示例语法不佳,因此即使最好的解析器也可能会遇到困难。
您是否有足够的策划数据来训练神经网络? LSTM可能设法充分了解这些句子中实际使用的语法,从而成功完成NER。
在您给出的示例中,要查找的名称都是单个标记。如果这是典型的做法,它将使工作变得更容易。
下面的评论说没有足够的数据来训练神经网络。给出的几个例子非常刻板。是否可以使用上一个和下一个标记作为预测因子来训练Naive Bayes分类器?
答案 1 :(得分:1)
您可能已经发现non-machine-learned entities在您的情况下并不理想,因为它们没有考虑到上下文。我想您有几个选择。
我刚刚通过将您的三种话语添加到名为“ Sales org”的意图中,然后创建一个名为“ Scope”的simple entity进行了测试。我在这些话语的末尾将IS,IS和ME标记为Scope实体。当我测试“将fpc 12234的销售组织交给我吗?”时,LUIS能够正确地将“ is”标识为实体,而不是“ me”。
调用LUIS后,您的漫游器代码即可验证可识别的实体,以确保其在可接受值的列表内。
如果您仍想使用列表实体,则仍可以使用contextual information使LUIS为您提供关于实体的roles。
我刚刚通过创建一个名为“ ScopeName”的实体进行了测试,并使用了四个值IS,ME,AN和AM。然后,我为该实体创建了两个角色:“作用域”和“ falsePositive”。然后,我在“销售组织”话语中标记了实体,如下所示:
如果您这样做,LUIS仍会在它们不希望被识别的句子部分中识别IS,ME,AN和AM,但是您会知道在其中忽略它们您的漫游器代码,因为它们将被分配为“ falsePositive”角色。