是否可以通过 SpaCy (Python) 检索有关更高级别依赖项的信息?

Is it possible to retrieve information about higher-level dependencies whith SpaCy (Python)?

我正在使用 SpaCy,我的问题是我不知道如何检索有关二级依赖项的信息。我想知道量词(例如 'every'、'all'、'some')是处于主语还是宾语位置;但是,如果我要求每个标记的依赖关系,则分配给量词的依赖关系是 'DET' (确定符):

doc = nlp("Mary loves every man")
for token in doc:
    print(token.text, token.dep_)

Mary nsubj 
loves ROOT
every DET
man dobj

我会对二级依赖感兴趣,也就是说,我想知道 'every' 是否是一个对象的限定符(在本例中,'every' 是解析为 'dobj') 或主题的 'man' 的限定符。

如果您有任何其他解决问题的想法,即使它们不涉及 SpaCy,每个信息都会非常有帮助。我尝试用另一种方式解决问题here,但不是很成功。

非常感谢您的帮助!!!

要分析依赖树,需要同时查看依赖关系(token.dep_)和头部(token token.head with token index token.head.i)。

doc = nlp("Mary loves every man")
for token in doc:
    print(token.text, token.dep_, token.head.text, token.head.i)

输出:

Mary nsubj loves 1
loves ROOT loves 1
every det man 3
man dobj loves 1

Spacy 也有一个内置的依赖树可视化工具:

spacy.displacy.serve(doc)