为什么我的自定义 spaCy 实体类型会被检测到?

Why does my custom spaCy entity type get detected?

我正在写一个 spaCy program for which I want to define a custom named entity tag. Following the example here,我在管道中添加了一个名为 MY_NEW_LABEL 的标签。

import spacy

nlp = spacy.load("en_core_web_lg")

ner = nlp.get_pipe("ner")
new_label = "MY_NEW_LABEL"
ner.add_label(new_label)

documents_path = "my_document.txt"
document = nlp(open(documents_path).read())
print([e for e in document.ents if e.label_ == new_label])

当我 运行 上述程序时,它会打印出标有 MY_NEW_LABEL 的实体列表。我不明白这是怎么可能的,因为我从来没有对标签做任何事情。

显然我误解了如何使用自定义实体标签,但我无法从文档中弄清楚为什么会发生这种情况。谁能告诉我为什么我的程序没有打印出空列表?

这是意外行为。我打开它作为 spaCy issue 1697: Custom Entity Labels Are Erroneously Detected.