如何在 spacy 中获得 'dobj'

How to get a 'dobj' in spacy

在下面的推文中,spacy dependency tagger 指出破坏 (VB) 是医疗保健市场 (NN) 的一个领域。由于这两个术语相互关联,我想将它们提取为一个短语。有什么方法可以导航解析树以便我可以提取单词的 dobj 吗?如果我执行以下操作,我将获得市场但不是 'heathcare market'

from spacy.en import English
from spacy.symbols import nsubj, VERB,dobj

nlp = English()
doc = nlp('Juniper Research: AI start-ups set to disrupt healthcare market, with 0 million to be spent on CAD Systems by 2022')

for possible_subject in doc:
if possible_subject.dep == dobj:
    print(possible_subject.text)

您可以使用名词块按如下方式执行此操作

for np in doc.noun_chunks:
    if np.root.dep == dobj:
        print(np.root.text)
        print(np.text)