spaCy匹配模式中的量词

时间:2018-10-22 12:10:50

标签: python nlp spacy

在尝试使用spaCy的Rule Based Matcher class进行自定义实体检测时,我很难组合令牌属性和运算符。我们可以创建以下模式:

pattern = [{"DEP": "obj", "POS": "NOUN"}]

,它与带有“ obj”依赖项标记和“ noun” pos标记的令牌匹配。但是,现在我也想从此模式中排除属于PERSON实体的令牌。 SpaCy允许使用诸如“!”之类的量词。完全匹配该模式0次:

pattern = [{"IS_DIGIT": True, "OP": "!"}]

这将匹配所有非数字的令牌。问题是,如何将此类量词仅应用于子模式之一?假设我要匹配所有具有 obj 依赖项标签,为名词但不是 PERSON实体的令牌。我认为如果将量词应用于先前的子模式,则该模式将如下所示:

pattern = [{"DEP": "obj", "POS": "NOUN", "ENTITY_TYPE": "PERSON", "OP": "!"}]

但是这不能按预期工作。也许量词适用于整个模式,所以它基本上使所有子模式都无效了。

问题是,我将如何使用部分量词创建这种模式?

非常感谢!

0 个答案:

没有答案