从匹配器中排除结果
Exclude a result from a matcher
我正在尝试指定一个可以排除 某些结果的模式。
鉴于此文本: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 States
和 Puerto Rico
。
有没有一种方法可以编写专门过滤掉 exclude
d GPE
s 的模式?
Puerto Rico
匹配,因为 Puerto
引理不是 exclude
(很明显)。
因此,过滤掉 Puerto
的一种方法是实际搜索既不是 eclude
也不是 GPE
.
的内容
一个有效的模式是
[
{'LEMMA': {'NOT_IN': ['exclude']},
'ENT_TYPE': {'NOT_IN': ['GPE']}},
{'ENT_TYPE': 'GPE', 'OP': '+'}
]
我正在尝试指定一个可以排除 某些结果的模式。
鉴于此文本: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 States
和 Puerto Rico
。
有没有一种方法可以编写专门过滤掉 exclude
d GPE
s 的模式?
Puerto Rico
匹配,因为 Puerto
引理不是 exclude
(很明显)。
因此,过滤掉 Puerto
的一种方法是实际搜索既不是 eclude
也不是 GPE
.
一个有效的模式是
[
{'LEMMA': {'NOT_IN': ['exclude']},
'ENT_TYPE': {'NOT_IN': ['GPE']}},
{'ENT_TYPE': 'GPE', 'OP': '+'}
]