2017-08-11 5 views
0

J'ai récemment commencé à jouer avec la bibliothèque Spacy de Python. Je voulais l'utiliser pour trouver le sujet d'une phrase. J'ai utilisé la méthode détaillée dans this post, mais elle ne trouve pas le sujet entier.Can Spacy peut-il être utilisé pour trouver un sujet de phrase contenant plusieurs mots?

Par exemple:

doc = nlp(u"Mr Bob Bobson enjoyed hunting and fishing") 
sub_toks = [tok for tok in doc if (tok.dep_ == "nsubj")] 
print(sub_toks) 

Résultats dans

[Bobson] 

Cependant, le résultat que je veux est

[Mr Bob Bobson] 

Répondre

0

Vous voulez que le tok.subtreeAPI docs.

np = doc[tok.left_edge.i : tok.right_edge.i + 1]