问题描述
我正在尝试指定一种可以排除某些结果的模式。
鉴于此文本: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
的模式?
解决方法
Puerto Rico
匹配,因为 Puerto
引理不是 exclude
(显然)。
因此,过滤掉 Puerto
的一种方法是实际搜索既不是 eclude
也不是 GPE
的内容。
有效的模式是
[
{'LEMMA': {'NOT_IN': ['exclude']},'ENT_TYPE': {'NOT_IN': ['GPE']}},{'ENT_TYPE': 'GPE','OP': '+'}
]