我想我是想用一种比提供的更直接的方式来导航SpaCy的解析树。在
例如,如果我有这样的句子:“他是天才”或“狗是绿色的”,我希望能够将对象保存到变量(“天才”和“绿色”)。在
在令牌.子级提供了直接的语法依赖项,因此,对于第一个例子,“was”的子元素是“he”和“genius”,然后“a”是“genius”的子元素。如果我只想要整个组成部分“a genius”,这就没有多大帮助了。我不知道如何从令牌.子级或者有更好的方法。在
我能找出如何匹配“is”和“was”的用法令牌.text(这是我想做的一部分),但我不知道如何利用提供的有关儿童的信息来返回整个组成部分“天才”。在
import spacy
nlp = spacy.load('en_core_web_sm')
sent = nlp("He was a genius.")
for token in sent:
print(token.text, token.tag_, token.dep_, [child for child in token.children])
He PRP nsubj[]
是VBD根[他,天才,。]
一个DT det[]
天才NN属性[a]
。点刺[]
你可以用令牌.子树(请参见the docs)获取依赖树中给定节点的所有依赖项。在
例如,要获取所有名词短语:
输出:
^{pr2}$相关问题 更多 >
编程相关推荐