spaCy 中没有完全识别连词?

Conjuncts are not identified completely in spaCy?

我想在 spaCy 依赖解析中使用 .conjuncts 来识别所有的连词。

但是,我发现了一个问题:并不是所有的连词都被识别出来。

例如,在下面的句子模板中:

A....B....C.... D....

如果ADconj依赖关系; CD 也有 conj 关系。但是,ABC没有conj关系; DBC 没有 conj 关系。

在这种情况下,CD之间的conj关系可以通过使用.displacyBUT在图形依赖关系中显示,而使用.conjuncts列出所有的连词对(chunk和conjunct),C的连词(元组)为空()()的连词(元组) D 为空 ().

获取连词的代码:

prev_end=0
for chunk in doc.noun_chunks:
    span = doc[prev_end: chunk.end]
    conj_ = span.conjuncts
    prev_end = chunk.end 

--有谁知道原因吗?

--是spaCy库的BUG还是其他原因?

提前致谢!

这在 the forum 上得到了详细回答,但这里的问题是您没有使用名词块,您使用的是包含名词块的句子划分。

当您在跨度上调用 .conjuncts 时,您将获得跨度根的合取词。在一个名词块中,头部名词是词根,但在你的跨度中有时会包含动词,所以连词可能是该动词的连词,而不是名词块的头部。