2017-09-12 2 views
0

Dans le texte suivant spacy dependency tagger états qui perturbent (VB) est un dobj du marché de la santé (NN). Comme ces deux termes sont liés, je voudrais les extraire en une phrase. Est-il possible de naviguer dans l'arbre d'analyse pour extraire le dobj d'un mot? Si je fais le folllowing je reçois marché, mais pas « marché heathcare »Comment obtenir un 'dobj' dans spacy

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 $800 million to be spent on CAD Systems by 2022') 

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

Répondre

0

Vous pouvez le faire comme ci-dessous en utilisant des morceaux de noms

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