从匹配器中排除结果

问题描述

我正在尝试指定一种可以排除某些结果的模式。 鉴于此文本:The Territory for the Titles shall be the United States,its territories and possessions,excluding Puerto Rico 我正在寻找一种仅提取 the United States方法GPE 也是如此,并且不会被排除。

我试着写一个[{'LemmA': 'exclude','OP': '!'},{'ENT_TYPE': 'GPE','OP': '+'}] 这样的模式,在我看来,它的意思应该是“匹配仅当除了引理 exclude 后跟一个或多个 GPE s.

但在我对 spacy 3(以及 Rule-based Matcher Explorer)的测试中,匹配器仍然匹配 be the United StatesPuerto Rico

有没有办法编写专门过滤掉 excluded GPE 的模式?

解决方法

Puerto Rico 匹配,因为 Puerto 引理不是 exclude(显然)。 因此,过滤掉 Puerto 的一种方法是实际搜索既不是 eclude 也不是 GPE 的内容。

有效的模式是

[
    {'LEMMA': {'NOT_IN': ['exclude']},'ENT_TYPE': {'NOT_IN': ['GPE']}},{'ENT_TYPE': 'GPE','OP': '+'}
]

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...