Spacy:添加由多个单词组成的地址(位置)的特殊情况



我想从用户提供的不同句子中提取位置(例如,当用户输入"纽约新奥尔良"时,我得到了两个地点"one_answers"新奥尔良")。由于Spacy提供了在其令牌中添加特殊情况的非常方便的可能性,因此我试图在不同的位置向它们添加特殊情况(如此处的文档中所述)。只要位置仅由一个单词组成,一切都很好。但是,一旦这些位置由两个或更多单词组成(作为"纽约"的上述示例,"新奥尔良"等等),特殊情况不再正确处理。
我猜这是由于特殊情况仅在上处理之后的事实,该文本被拆分为令牌(如下所述,文本在每个空白空间上分配)。这意味着Spacy将文本分开,说"纽约新奥尔良"将其纳入令牌" New" York" New" Orleans",后来无法与任何代币的特殊案例相匹配。

那么,我的问题如下:有没有办法可以添加由两个单词组成的特殊情况,以使它们正确地将它们置于spacy?为了遵循这个例子,"纽约新奥尔良"被认为是两个地点"纽约"one_answers"新奥尔良" - 鉴于我确实为他们添加了一个特殊案例。
还是可以实现另一个最佳实践(我可能错过了)?

我使用 spacy的实体识别?您可以在识别实体识别时过滤标签等于GPE

import spacy
nlp = spacy.load('en')
doc = nlp("New York New Orleans")
for ent in doc.ents:
    print((ent.label_, ent.text))

输出为

('GPE', 'New York')
('GPE', 'New Orleans')