我使用spacy的en_core_web_trf和doc.noun_chunks来获取名词短语。之前,它运行得很好,我可以正确地获取名词短语。但最近,自2021年12月中旬左右(我猜测)以来,我使用相同的方法、相同的脚本,但无法正确获取名词短语。例如,在以下脚本中:
我得到了以下结果:
但是,根据依赖图(见下文),文本中的
有没有人有关于如何修复它的提示?谢谢!
import spacy
from spacy import displacy
nlp = spacy.load("en_core_web_trf")
test_sen = "a label on a box that ensures that the status of a parcel can be traced uniquely "
doc = nlp(test_sen)
# ---------------------get initial noun chunks---------------------
for chunks in doc.noun_chunks:
print(chunks)
# displacy.serve(doc, style='dep')
我得到了以下结果:
a label
a box
that
the status
a parcel
但是,根据依赖图(见下文),文本中的
that
(第一个)不应该是名词短语,但它被打印为名词短语。此外,根据这里的名词短语描述,它说Doc.noun_chunks:生成基本名词短语 Span 对象
。在任何情况下,that
都不应该是所谓的名词短语
,但它在这里被识别为名词短语,并且它给我的后续处理带来了很多麻烦。有没有人有关于如何修复它的提示?谢谢!
[chunks for chunks in doc.noun_chunks]
,我得到的输出是[一个标签,一个盒子,状态,一个包裹]
,没有that
。 - Wiktor Stribiżew